INTERNET DRAFT Michael Elkins draft-elkins-pem-pgp-00.txt The Aerospace Corporation elkins@aero.org 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 ::=3D "boundary" "=3D" ::=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 ::=3D "boundary" "=3D" ::=3D "protocol" "=3D" "application/pgp-signature" ::=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]