INTERNET DRAFT                                             Michael Elkins
draft-elkins-pem-pgp-00.txt                     The Aerospace Corporation
                                                         [email protected]
                                                          September 1995


             MIME Security with Pretty Good Privacy (PGP)


Status of this Memo

    This document is an Internet-Draft.  Internet-Drafts are working
    documents of the Internet Engineering Task Force (IETF), its areas,
    and its working groups.  Note that other groups may also distribute
    working documents as Internet-Drafts.

    Internet-Drafts are draft documents valid for a maximum of six
    months and may be updated, replaced, or obsoleted by other documents
    at any time.  It is inappropriate to use Internet- Drafts as
    reference material or to cite them other than as ``work in
    progress.''

    To learn the current status of any Internet-Draft, please check the
    ``1id-abstracts.txt'' listing contained in the Internet- Drafts
    Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
    ftp.isi.edu (US West Coast).

Abstract

    This document describes how Pretty Good Privacy (PGP) can be used to
    provide privacy and authentication using the Multipurpose Internet
    Mail Extensions (MIME) security content types described in RFCXXXX
    (draft-ietf-pem-sigenc-03.txt).

1.  Introduction

    This document is based on RFCXXXX [1] which defines security
    mechanisms for MIME messages, and specifically addresses how PGP can
    be used within this framework in order to effect it.  This document
    is styled after RFCXXXX [2], which defines MIME Object Security
    Services (MOSS) for providing security and authentication.  This
    work was prompted by the fact that implementations of MOSS may not
    be availible outside of the U.S. because of export restrictions.
    PGP, on the other hand, is widely availible throughout the world
    (with a few notable exceptions), and is gaining support as the de-
    facto standard for electronic mail privacy.  This document defines
    three new content types form implementing security and privacy with



Elkins                   Expires: February 1996                [Page 1]

INTERNET DRAFT           MIME Security with PGP           September, 1995


    PGP:  application/pgp-encrypted, application/pgp-signature and
    application/pgp-keys.

2.  PGP encrypted data

    Content-Type: multipart/encrypted
    Required parameters: boundary, protocol
    Optional parameters: none

         <boundary> ::=3D "boundary" "=3D" <message boundary>
         <protocol> ::=3D "protocol" "=3D" "application/pgp-encrypted"

    The multipart/encrypted must consist of exactly two parts, as
    described in [1].

    The first MIME body part must have a content type of
    "application/pgp-encrypted".  No other requirements are made of this
    body.

    The second MIME body part contains the actual encrypted data.  It
    must be labeled with a content type  of "application/octet-stream".
    Before encryption with PGP, the data should be properly formed into
    a MIME body (encoded and with headers).  In this way, it is possible
    to nest any type of data within this framework.

    As specified in [1], if the message is ever to be transmitted over
    the Internet SMTP infrastructure, the resulting MIME body is
    constrained to 7 bits.

         Implementor's note:  Since PGP can be made to output either
         8bit or 7bit (via an internal BASE64 encoding controlled by the
         "-a" option) encrypted data, it is completely up to the
         implementor which method to use.  In order to be fully
         compliant, a client must support decoding of both forms when
         displaying data to the user.

3.  PGP signed data

         Content-Type: multipart/signed
         Required parameters: boundary, protocol, micalg
         Optional parameters: none

              <boundary> ::=3D "boundary" "=3D" <MIME multipart boundary>
              <protocol> ::=3D "protocol" "=3D" "application/pgp-signature"
              <micalg> ::=3D "micalg" "=3D" "none"

    The multipart/signed content type must consist of exactly two parts.




Elkins                   Expires: February 1996                [Page 2]

INTERNET DRAFT           MIME Security with PGP           September, 1995


    The first MIME body is the data to be signed.  It may consist of any
    legal MIME data.

    The second body contains the PGP digital signature.  It must be
    labeled with a content type of "application/pgp-signature".  As
    described in [1], the digital signature should be over the complete
    first MIME body of the multipart/signed data, which includes the
    MIME headers for that part.

    It is again important to note that the resulting MIME body is
    contrained to 7 bits if it is to be delivered via SMTP (see [1] for
    details).

4.  Encrypted and Signed Data

    Sometimes it is desirable to to both digitally sign and then encrypt
    a message to be sent.  In [1], it is stated that the data should
    first be signed as a multipart/signature body, and then encrypted to
    form the final multipart/encrypted body.  But PGP also has the
    ability to embed the signature into the encrypted data block.  The
    end result is the same information, so either method is acceptable.

5.  Distribution of PGP public keys

    Content-Type: application/pgp-keys
    Required parameters: none
    Optional parameters: none

    This is the content type which should be used for relaying public
    key blocks.

         Implementor's note:  As with PGP encrypted data, you have the
         option of doing 7bit conversion yourself, or allowing PGP to do
         it (via the "-a" option).  To be fully compliant, a client must
         support both forms when displaying the data to the user.

References


[1]  James Galvin, Gale Murphy, Steve Crocker, Ned Freed.  Security
    Multiparts for MIME: Multipart/Signed and Multipart/Encrypted.
    RFCXXXX (draft-ietf-pem-sigenc-03.txt) 1994

[2]  James Galvin, Gale Murphy, Steve Crocker, Ned Freed.  MIME Object
    Security Services.  RFCXXXX (draft-ietf-pem-mime-08.txt) 1995






Elkins                   Expires: February 1996                [Page 3]