EICS proposal
Adrian 'Dagurashibanipal' von Bidder
avbidder@fortytwo.ch
Mon Feb 3 21:09:02 2003
--=-Ba1NMCFaYRs+QDBJjOnG
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
On Mon, 2003-02-03 at 17:25, greg@turnstep.com wrote:
> I've been wrestling around with the problem of representing external=20
> information inside of a signed email message, and would like=20
> feedback on a possible solution.
I've been thinking along the same lines, and I would solve it like this:
Use PGP/MIME, and repeat email headers in the signed part of the
message.
Example message:
From: Alice Nice <alice@example.com>
To: lover@example.com
Subject: I love you
Message-Id: <1234@example.com>
Mime-Version: 1.0
Content-Type: multipart/signed;
micalg=3Dpgp-sha1;
protocol=3D"application/pgp-signature";
boundary=3D"-----boundary-----";
extension=3Dheader-protection
-------boundary-----
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Protected-Headers: To, From, Subject
P-To: lover@example.com
P-From: Alice Nice <alice@example.com>
P-Subject: I love you
=20
I really do.
=20
-------boundary-----
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
...
-----END PGP SIGNATURE-----
-------boundary-------
Sample message, with encryption:
From: Alice Nice <alice@example.com>
To: lover@example.com
Subject: I love you
Message-Id: <1234@example.com>
Mime-Version: 1.0
Content-Type: multipart/encrypted;=20
protocol=3D"application/pgp-encrypted";
boundary=3D"-----boundary-----";
extension=3Dheader-protection
-------boundary-----
Content-Type: application/pgp-encrypted
Version: 1
-------boundary-----
Content-Type: application/octet-stream
-----BEGIN PGP MESSAGE-----
...
-----END PGP MESSAGE-----
-------boundary-------
with the encrypted message being:=20
Content-Type: multipart/signed;
micalg=3Dpgp-sha1;
protocol=3D"application/pgp-signature";
boundary=3D"-----boundary2-----"
-------boundary2-----
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Protected-Headers: To, From, Subject
P-To: lover@example.com
P-From: Alice Nice <alice@example.com>
P-Subject: I love you
I really do.
-------boundary2-----
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
...
-----END PGP SIGNATURE-----
(of course, the header values are not encrypted. There might be some
hacks to protect optional headers like Subject or Reply-To, but since my
proposal is designed to allow clients without header protection support
to continue working, I don't recommend doing that).
PGP/MIME [1] nicely deals with attachments, so there's no need to worry
about that. Including the full headers instead of just a checksum allows
to completely ignore the unprotected headers and just replace them by
the protected ones (I'd recommend this because header mangling
(different linebreaks, ...) seems to happen occasionally.)
I started writing this up in a nice RFC-style document and intended to
cross-post (or at least multi-post) it to the
mutt/sylpheed/kmail/evolution/name-your-own-mailer and openpgp mailing
list to get it going, but I don't have time to do that right now. (btw,
the rfc document actually is based on rfc1847 and so should also work
with S/MIME - but that's a world I absolutely don't know).
If anybody wants to take this up, I can post the draft I've created so
far.
cheers
-- vbi
[1]
Insert standard rant about why PGP/MIME is superior to inline PGP. It
really is, I won't discuss this here. Yes, it's not without issues, such
as lacking support in some mailers.
--=20
featured product: GNU Privacy Guard - http://gnupg.org
--=-Ba1NMCFaYRs+QDBJjOnG
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: get my key from http://fortytwo.ch/gpg/92082481
iKcEABECAGcFAj4+zIRgGmh0dHA6Ly9mb3J0eXR3by5jaC9sZWdhbC9ncGcvZW1h
aWwuMjAwMjA4MjI/dmVyc2lvbj0xLjMmbWQ1c3VtPTE0Y2E2MTZmMTQ2ODJhODJj
YjljYzI1YzliMzRhMTBkAAoJEIukMYvlp/fW1tIAnj08n0Hkd6S13S7tTaHKpD6O
8CjlAJ4/qjy0ARSCHuxeePpPoOJONpx4FQ==
=pwaa
-----END PGP SIGNATURE-----
Signature policy: http://fortytwo.ch/legal/gpg/email.20020822?version=1.3&md5sum=14ca616f14682a82cb9cc25c9b34a10d
--=-Ba1NMCFaYRs+QDBJjOnG--