Gnus development mailing list
 help / color / mirror / Atom feed
From: Shenghuo ZHU <zsh@cs.rochester.edu>
Subject: Re: MIME Security with PGP (RFC2015)
Date: 27 Jun 2000 18:43:20 -0400	[thread overview]
Message-ID: <2nsntyd9tj.fsf@tiger.jia.vnet> (raw)
In-Reply-To: Simon Josefsson's message of "27 Jun 2000 18:01:47 +0200"

[-- Attachment #1: Type: text/plain, Size: 1351 bytes --]

Simon Josefsson <simon@josefsson.org> writes:

> Shenghuo ZHU <zsh@cs.rochester.edu> writes:
> 
> > I wrote rfc2015.el, which is supposed to fill the gap between Gnus 5.8
> > and mailcrypt.  Because it is not finished, I just put it in contrib
> > directory.
> 
> Are there fundamental technical problems to why it isn't finished?
> 
> I've successfully sent S/MIME signed mail with Gnus (and several
> manual steps) using postprocess=smime-sign.
> 
> Before actually implementing this, it would be nice to hear what the
> reasons was for not finishing PGP/MIME.

Signing or decrypting work fine. But the technical problems and
non-technical reasons are:

1. Unable to do verifying, because mm-dissect-buffer does not keep the
header info (micalg value and the header of the signed text).

2. Have to input recipient's email address more than once when
encrypting.  It could be solved by adding email address into the tag
somehow.

3. mm-use-ultra-safe-encoding should be set, though gnupgp or
mailcrypt may handle the leading "From".

4. Florian Weimer is also working on a similar project. (see the
attached message I sent to gnus-rfc2015 mailing list).

5. Lars worries about crypto export regulation issues.

6. I am busy recently :-(.

If we implemented both protocols, I think we should rename it to
rfc1847.el instead of rfc2015.el.

Shenghuo


[-- Attachment #2: Type: message/rfc822, Size: 5026 bytes --]

From: Shenghuo ZHU <zsh@cs.rochester.edu>
To: gnus-rfc2015@mercury.rus.uni-stuttgart.de
Subject: Re: MIME Security with PGP (RFC2015)
Date: 02 Jun 2000 02:25:33 -0400
Message-ID: <2nvgzsy4yq.fsf@tiger.jia.vnet>

>>>>> "Florian" == Florian Weimer <fw@deneb.cygnus.argh.org> writes:

Florian> Shenghuo ZHU <zsh@cs.rochester.edu> writes:

>> I wrote rfc2015.el, which is supposed to fill the gap between Gnus
>> 5.8 and mailcrypt.  Because it is not finished, I just put it in
>> contrib directory.

Florian> A few months ago, Lars suggested to keep MIME-PGP support
Florian> separate because of crypto export regulation issues.

I think the implementation of RFC 2015 is not related to crypto export
regulation issues, because we are not implementing PGP itself.  In my
opinion, RFC 2015 is more related to MIME than to the PGP algorithm.
Therefore, it should be integrated with Gnus.  The current
implementations largely depend on mml.el. I worry about the
consistency issue, if the support and Gnus are maintained separately.

Moreover, RFC 1847 provides a general document for security MIME.
Gnus should be extended to support protocols other than PGP, if the
sign, encrypt, verify and decrypt functions are provided.

>> To sign something, say
>> 
>> <!#part type="text/plain" disposition=inline postprocess=pgp-sign>
>> The text to sign.
>> <!#/part>

Florian> My package uses a somewhat different approach:

Florian> <!#multipart type=signed>
Florian> This is a signed multipart.
Florian> <!#part type="text/plain" filename="~/some-file" disposition=attachment description="signed attachment">
Florian> <!#/multipart>

Do we really need so many tags here?

Florian> This is achieved by hooking into
Florian> "mml-generate-multipart-alist".  To be honest, I think
Florian> "mml-generate-mime-preprocess-function" and
Florian> "mml-generate-mime-postprocess-function" are unnecessary.  At
Florian> least you can't use them to generate RFC 2015 messages.
Florian> There are special requirements regarding quoted-printable
Florian> encoding of parts inside "multipart/signed" or
Florian> "multipart/encrypted", and I don't think you can set the
Florian> appropriate variable ("mm-use-ultra-safe-encoding") during
Florian> MML-to-MIME translation using your hooks.

I missed this part, but gpg fixes the leading "From" in non-detached
sign.  Anyway, mm-use-ultra-safe-encoding can be introduced somehow.

Florian> My code is available at:

Florian>         http://cert.uni-stuttgart.de/people/fw/gpg-mime.el

Florian> At the moment, it's very alpha, and it's likely that it
Florian> doesn't work. :-/ Of course, it only does the easy part,
Florian> i.e. creating "multipart/signed" and "multipart/encrypted",
Florian> not the other way round.

Florian> It requires some packages found in the same directory.  At
Florian> the moment, it is GnuPG-specific, but you should be able to
Florian> use other (Open)PGP implementations if you customize the
Florian> settings in gpg.el.  Mailcrypt wasn't used because of some
Florian> security problems and the unwillingness of the maintainer to
Florian> respond to suggestions regarding detached signatures.

I hope the implementation can be easily extended for other RFC1847-
compliant protocols.  Therefore, we should not expect too much from
the backend's support.

Florian> Now to the hard part, signature verification and decryption.
Florian> For verification, I think we need a hook into
Florian> "mm-dissect-multipart", which verifies the signature (at this
Florian> place, all the necessary information is still present) and
Florian> generates a suitable MML handle.  After that, the part can be
Florian> displayed using a user-defined display function (by
Florian> specifying it in "gnus-mime-multipart-functions").

Maybe this is a good idea.

The other way is that we can modify Gnus so that mime handles keep all
the necessary information.  The messages are verified before
displayed.  The user could customize "mm-automatic-display" to verify
messages automatically or explicitly.

Florian> Decryption should only occur if explicitly requested by the
Florian> user.  No hook into "mm-dissect-multipart" is required for
Florian> it; we can decrypt and call "mm-dissect-buffer" on the
Florian> plaintext on user request.

That is exactly what I did in my implementation.

Florian> (Maybe we should continue this discussion on the gnus-rfc2015
Florian> list?  I've subscribed you.)

Thank you.

Shenghuo

  parent reply	other threads:[~2000-06-27 22:43 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-05-27  4:06 Shenghuo ZHU
2000-05-28 13:22 ` Florian Weimer
2000-06-27 16:01 ` Simon Josefsson
2000-06-27 16:47   ` Simon Josefsson
2000-06-27 22:43   ` Shenghuo ZHU [this message]
2000-06-28  7:56     ` Kai Großjohann
2000-06-28 18:09       ` Bruce Stephens
2000-06-29  4:57       ` Florian Weimer
2000-06-29  8:31         ` Kai Großjohann
2000-06-29  4:56     ` Florian Weimer
2000-06-29 14:54       ` Stainless Steel Rat
2000-06-30 16:51     ` Simon Josefsson
2000-06-30 23:20       ` Raja R Harinath
2000-07-01 12:29         ` Simon Josefsson
2000-07-01 16:01       ` Shenghuo ZHU
2000-07-03 11:08         ` Simon Josefsson
2000-07-03 18:03           ` Florian Weimer
2000-07-03 18:56             ` Simon Josefsson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2nsntyd9tj.fsf@tiger.jia.vnet \
    --to=zsh@cs.rochester.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).