[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

The Cypherpunks Mail Project



To: [email protected], [email protected] Subject: MIME-PEM Interaction
Reply-To: [email protected]
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" Date: Mon, 16 Nov 1992 16:41:22 -0800
From: Marshall Rose <[email protected]> Sender: [email protected]

------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii" 

Friends, at the request of the participants at the SAAG meeting this afternoon, I am posting a draft regarding the interaction of MIME and PEM. I believe that this draft will be presented by Ned Freed at the PEM meeting on Wednesday (which, regrettably, I will be unable to attend due to a conflict.)

Although Steve, Ned and I think that the draft is fairly complete, there are likely some issues which remain to be resolved or at least given greater exposition. As such, your comments are most certainly welcome! 

/mtr

------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii" Content-Description: mime-pem.txt





draft	MIME-PEM Interaction	Nov 92


MIME-PEM Interaction

Mon Nov 16 15:51:54 1992


Steve Crocker
Trusted Information Systems
[email protected]


Ned Freed
Innosoft International, Inc.
[email protected]


Marshall T. Rose
Dover Beach Consulting, Inc.
[email protected]






1. 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 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 a "work in progress". 


2. Abstract

This memo defines a framework for interaction between MIME and PEM services.








Expires May 16, 1993	[Page 1]





draft	MIME-PEM Interaction	Nov 92


3. Introduction

In the Internet community, an electronic mail message has two parts: the headers and the body. The headers form a collection of field/value pairs structured according to RFC 822 [1], whilst the body, if structured, is defined according to Multipurpose Internet Mail Extensions (MIME) [2]. 

Privacy Enhanced Mail (PEM) [3-6] allows encryption and authentication services to be applied to an electronic mail message.

This memo defines a framework whereby the services provided by MIME and PEM are used in a complementary fashion. 

In order to provide for MIME-PEM interaction, two content types, "multipart/pem" and "application/pem", are defined. Then, the relationship between MIME and PEM is described in terms of two functions: message composition and message delivery.






























Expires May 16, 1993	[Page 2]





draft	MIME-PEM Interaction	Nov 92


4. Definiton of new Content Types


4.1. Definition of the multipart/pem Content Type 

(1) MIME type name: multipart

(2) MIME subtype name: pem

(3) Required parameters: boundary, privacy 

(4) Optional parameters: none

(5) Encoding considerations: always 7bit 

(6) Security Considerations: see [3]


This subtype of multipart always contains two body parts: the first is an arbitrary content; and, the second is an application/pem content which describes the privacy- enhancements which resulted in the first body part. 

The value of the first body part corresponds to <pemtext> as defined in [3]. Note that if <pemtext> is represented using the base64 encoding, then a a Content-Transfer-Encoding: header is present which indicates use of the base64 content encoding. Otherwise, if a Content-Transfer-Encoding: header is present, it indicates use of the 7bit content encoding. 

The syntax and semantics of the boundary parameter is defined in [2].

The syntax of the privacy parameter, using the ABNF notation of [1], is:

privacy-value ::= "ENCRYPTED"
/ "MIC-ONLY"
/ "MIC-CLEAR"

with each value conveying the intent as specified in [3]. 









Expires May 16, 1993	[Page 3]





draft	MIME-PEM Interaction	Nov 92


4.2. Definition of the application/pem Content Type 

(1) MIME type name: application

(2) MIME subtype name: pem

(3) Required parameters: none

(4) Optional parameters: none

(5) Encoding considerations: always 7bit 

(6) Security Considerations: see [3]


The syntax of this content type corresponds to the <pemhdr> production defined in [3].

































Expires May 16, 1993	[Page 4]





draft	MIME-PEM Interaction	Nov 92


5. Message Composition

When a user composes a message, it is the responsibility of the user agent to use the Content-Type: header. This allows the receiving user agent to unambiguously interpret the body and process it accordingly.

This memo introduces a new header field, "Content-Privacy", which is used to indicate that the message should undergo privacy-enhancement prior to submission. The syntax of this header field corresponds to the <privacy-value> production defined above.


5.1. Pre-Submission Algorithm

Prior to submission, the user agent applies this algorithm: 

(1) If the content does not contain the Content-Privacy: 
header, then the user agent sees if the content is either multipart or message. If so, it then recursively applies this algorithm to the encapsulated body parts; if not, it terminates processing for this content.

(2) If the content does contain the Content-Privacy: header, 
the content is transformed from local form to its canonical form. Note that if a Content-Transfer- Encoding: header is present, then the content encoding is reversed as a part of this process.

(3) If the canonical form of the content uses octet values 
outside of the NVT ASCII repertoire, and if the value of the Content-Privacy: header is MIC-CLEAR, then this inconsistency is reported to the user and the algorithm aborts.

(4) Otherwise, the privacy-enhancement indicated by the 
Content-Privacy: header is performed, constructing a new content. The Content- headers, other than Content- Transfer-Encoding: and Content-Privacy:, are taken from the original content, if any.

(5) If the value of the Content-Privacy: header is not MIC- 
CLEAR, then the base64 content encoding is applied and a Content-Transfer-Encoding: header is added to the new 





Expires May 16, 1993	[Page 5]





draft	MIME-PEM Interaction	Nov 92


content.

(6) Finally, a multipart/pem content is constructed, whcih 
contains the new content and a corresponding application/pem content. The multipart/pem content replaces the original content.












































Expires May 16, 1993	[Page 6]





draft	MIME-PEM Interaction	Nov 92


6. Message Delivery

When a user receives a message containing an multipart/pem content, the user agent may transform the content back into its original content type. This operation, the post-delivery algorithm, is performed by reversing the steps performed during the pre-submission algorithm.

When the original content is reconstituted into canonical form, it may use octet values outside of the NVT ASCII repertoire. If the user agent replaces the multipart/pem content with the original content, then it must select an appropriate transfer encoding and include the appropriate Content-Transfer-Encoding: header.


Upon successful completion of the post-delivery algorithm for each content, the user agent adds a new header field, "Content-Annotation", which is used to indicate the privacy- enhancements that were in effect when the content was submitted. The syntax of this header field, using the ABNF notation of [1], is:

content-annotation ::= "Content-Annotation" ":" 
annotation-value

annotation-value ::= <privacy-value> ";" <date-time> 

with <privacy-value> corresponding to the privacy-enhancements that was in effect during submission, and <date-time>, defined in [1], indicates the date and time that the privacy- enhancements were verified by the receiving user agent. 

NOTE
It must be strongly emphasized that the user's level of trust in the value of the Content-Annotation: header should be no higher than the user's level of trust in the message store employed by the user agent. 












Expires May 16, 1993	[Page 7]





draft	MIME-PEM Interaction	Nov 92


7. An Example

For example, suppose the following message was being readied for submission:

Date: Thu, 12 Nov 1992 21:43:40 -0800
From: [email protected]
To:	[email protected]
Subject: example #1
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii Content-Privacy: mic-clear

Hi Ned. See how much nicer this works!

After applying pre-submission algorithm, the message submitted for delivery would appear as:

Date: Thu, 12 Nov 1992 21:43:40 -0800
From: [email protected]
To:	[email protected]
Subject: example #1
MIME-Version: 1.0
Content-Type: multipart/pem; boundary="next-part"; 
privacy=mic-clear

Content-Type: text/plain; charset=us-ascii 

Hi Ned. See how much nicer this works!

--next-part
Content-Type: application/pem

Proc-Type: 4,MIC-CLEAR
Content-Domain: RFC822
Originator-ID-Asymmetric: ...
MIC-Info: RSA-MD5,RSA, ...

--next-part--











Expires May 16, 1993	[Page 8]





draft	MIME-PEM Interaction	Nov 92


After applying the post-delivery algorithm, the resulting message would appear as:

Date: Thu, 12 Nov 1992 21:43:40 -0800
From: [email protected]
To:	[email protected]
Subject: example #1
MIME-Version:	1.0
Content-Type:	text/plain; charset=us-ascii
Content-Annotation: mic-clear;
Thu, 12 Nov 1992 22:13:40 -0800
(integrity verified)

Hi Ned. See how much nicer this works!

Of course, as the message being submitted was only plain text, the Content-Type: header could be ommitted. In that case, after applying the pre-submission algorithm, the message submitted for delivery would appear as:

Date: Thu, 12 Nov 1992 21:43:40 -0800
From: [email protected]
To:	[email protected]
Subject: example #1
MIME-Version: 1.0
Content-Type: multipart/pem; boundary="next-part"; 
privacy=mic-clear

Hi Ned. See how much nicer this works!

--next-part
Content-Type: application/pem

Proc-Type: 4,MIC-CLEAR
Content-Domain: RFC822
Originator-ID-Asymmetric: ...
MIC-Info: RSA-MD5,RSA, ...

--next-part--











Expires May 16, 1993	[Page 9]





draft	MIME-PEM Interaction	Nov 92


8. Observations

The use of the pre-submission and post-delivery algorithms exhibit several properties:

(1) It allows privacy-enhancement of an arbitrary content, 
not just an RFC 822 message.

(2) For a multipart or message content, it allows the user to 
decide whether the structure of the content should receive privacy-enhancement.

(3) It allows a message to contain several privacy enhanced 
contents, thereby removing the requirement for PEM software to be able to generate or interpret a single content which intermixes both unenhanced and enhanced components.

(4) It minimizes confusion when viewing a MIC-CLEAR content 
without a PEM-capable user agent.

(5) It minimizes confusing when viewing a MIC-ONLY content 
with a MIME-capable user agent that is not PEM-capable. 


9. Acknowledgements

David H. Crocker suggested the use of a multipart structure for MIME-PEM interaction.





















Expires May 16, 1993	[Page 10]





draft	MIME-PEM Interaction	Nov 92


10. References

[1] D.H. Crocker. Standard for the Format of ARPA Internet 
Text Messages. Request for Comments 822, (August, 1982). 

[2] N. Borenstein, N. Freed, Multipurpose Internet Mail 
Extensions. Request for Comments 1341, (June, 1992). 

[3] J. Linn, Privacy Enhancement for Internet Electronic 
Mail -- Part I: Message Encryption and Authentication Procedures. Internet-Draft, (July 23, 1992). 

[4] S. Kent, Privacy Enhancement for Internet Electronic 
Mail -- Part II: Certificate-Based Key Management. Internet-Draft, (August 6, 1992).

[5] D. Balenson, Privacy Enhancement for Internet Electronic 
Mail -- Part III: Algorithms, Modes, and Identifiers. Internet-Draft, (September 3, 1992).

[6] B. Kaliski, Privacy Enhancement for Internet Electronic 
Mail -- Part IV: Key Certification and Related Services Internet-Draft, (September 1, 1992).



























Expires May 16, 1993	[Page 11]





draft	MIME-PEM Interaction	Nov 92


Table of Contents


1 Status of this Memo ................................... 1 2 Abstract .............................................. 1 3 Introduction .......................................... 2 4 Definiton of new Content Types ........................ 3 4.1 Definition of the multipart/pem Content Type ........ 3 4.2 Definition of the application/pem Content Type ...... 4 5 Message Composition ................................... 5 5.1 Pre-Submission Algorithm ............................ 5 6 Message Delivery ...................................... 7 7 An Example ............................................ 8 8 Observations .......................................... 10 9 Acknowledgements ...................................... 10 10 References ........................................... 11 


































Expires May 16, 1993	[Page 12]


------- =_aaaaaaaaaa0--

[ sorry for the double spacing - my mailer's acting up and I'm too
tired to fight with it anymore.  What we need MORE than encrypted mailers
is mailers that do the standard stuff right...  The one on the WELL sux!]