Network Working Group                                        R. Housley
Internet Draft                                           Vigil Security
expires in six months                                         July 2004



                 Protecting Multiple Contents with the
                   Cryptographic Message Syntax (CMS)


                <draft-housley-contentcollection-01.txt>



Status of this Memo


   By submitting this Internet-Draft, I certify that any applicable
   patent or other IPR claims of which I am aware have been disclosed,
   and any of which I become aware will be disclosed, in accordance with
   RFC 3667.


   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."


   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.


   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.


   This Internet-Draft will expire on 21 December 2004.


Abstract


   This document describes a convention for using the Cryptographic
   Message Syntax (CMS) to protect more than one content.


1  Introduction


   This document describes a convention for using the Cryptographic
   Message Syntax (CMS) [CMS] to more than one content.  The content
   collection content type is used to transfer one or more contents,
   each identified by a content type.


   When CMS is used with MIME [MSG], there is no need to use this




Housley                                                         [Page 1]


INTERNET DRAFT                                                 July 2004



   specification.  In this processing environment, MIME multipart [MIME]
   provides a straightforward and widely deployed mechanism for carrying
   more than one content, each associated with a MIME type.


   CMS is not always used with MIME.  Sometimes CMS is used in an
   exclusively ASN.1 [ASN1] environment.  In this case, the content
   collection content type is used to gather more than one content, each
   with an object identifier to provide the content type.


1.1  Example


   This section provides one simple example to motivate the need for the
   content collection content type.


   Consider an art collector that wants to sell one of his pieces, an
   ancient Greek urn, called an amphora.  The collector wants to compose
   a digitally signed offer for sale.  It includes three parts.  The
   first part contains the owner's offer for sale, including the asking
   price.  The second part contains a high-quality image of the amphora.
   The final part contains an appraisal from a well-respected ceramics
   expert.  The final part is digitally signed by the expert.  Figure 1
   illustrates the structure, and the CMS SignedData content type is
   used for the two digital signatures.


1.2  Terminology


   In this document, the key words MUST, MUST NOT, REQUIRED, SHOULD,
   SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL are to be interpreted as
   described in [STDWORDS].























Housley                                                         [Page 2]


INTERNET DRAFT                                                 July 2004



   +---------------------------------------------------------+
   |                                                         |
   | ContentInfo                                             |
   |                                                         |
   | +-----------------------------------------------------+ |
   | |                                                     | |
   | | SignedData                                          | |
   | |                                                     | |
   | | +-------------------------------------------------+ | |
   | | |                                                 | | |
   | | | ContentCollection                               | | |
   | | |                                                 | | |
   | | | +-----------+ +-----------+ +-----------------+ | | |
   | | | |           | |           | |                 | | | |
   | | | | Owner's   | | Image     | | SignedData      | | | |
   | | | | Offer to  | | of the    | |                 | | | |
   | | | | Sell the  | | Amphora   | | +-------------+ | | | |
   | | | | Amphora   | |           | | |             | | | | |
   | | | |           | |           | | | Appraisal   | | | | |
   | | | |           | |           | | | of Ceramics | | | | |
   | | | |           | |           | | | Expert      | | | | |
   | | | |           | |           | | |             | | | | |
   | | | |           | |           | | +-------------+ | | | |
   | | | |           | |           | |                 | | | |
   | | | +-----------+ +-----------+ +-----------------+ | | |
   | | |                                                 | | |
   | | +-------------------------------------------------+ | |
   | |                                                     | |
   | +-----------------------------------------------------+ |
   |                                                         |
   +---------------------------------------------------------+



   Figure 1.  Sample use of the ContentCollection Content Type.



2  Content Collection Content Type


   The content collection content type is used to transfer one or more
   contents, each identified by a content type.  The syntax accommodates
   contents with varying levels of protection.  For example, a content
   collection could include CMS protection content types as well as
   unprotected content types.  A content collection is expected to be
   encapsulated in one or more CMS protecting content types, but this is
   not required by this specification.







Housley                                                         [Page 3]


INTERNET DRAFT                                                 July 2004



   The following object identifier names the content collection content
   type:


      id-ct-contentCollection OBJECT IDENTIFIER ::= {
              iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
              pkcs9(9) smime(16) ct(1) 19 }


   The content collection content has the following syntax:


      ContentCollection ::= SEQUENCE OF ContentInfo


   The ContentCollection contains a sequence of ContentInfo, one for
   each content in the collection.  The ContentInfo structure is defined
   in CMS.  The contentType object identifier within the ContentInfo
   indicates the type of the associated content.  Implementations of
   this specification SHOULD be prepared to handle object identifiers
   for the SignedData, EncryptedData, EnvelopedData, and
   AuthenticatedData content types as specified in [CMS].
   Implementations of this specification SHOULD also be prepared to
   handle the object identifier for the CompressedData content type as
   specified in [COMPRESS].


3  References


   This section provides normative and informative references.


3.1  Normative References


   ASN1       CCITT.  Recommendation X.208: Specification of Abstract
              Syntax Notation One (ASN.1).  1988.


   COMPRESS   Gutmann, P.  Compressed Data Content Type for
              Cryptographic Message Syntax (CMS).  RFC 3274.
              June 2002.


   CMS        Housley, R.  Cryptographic Message Syntax.  RFC 3852.
              July 2004.


   STDWORDS   Bradner, S.  Key Words for Use in RFCs to Indicate
              Requirement Levels.  RFC 2119.  March 1997.


3.2  Informative References


   MIME       Freed, N., and N. Borenstein.  Multipurpose Internet Mail
              Extensions (MIME) Part One: Format of Internet Message Bodies.
              RFC 2045, November 1996.






Housley                                                         [Page 4]


INTERNET DRAFT                                                 July 2004



4  Security Considerations


   This specification does not introduce any new security considerations
   beyond those already discussed in [CMS].


5  Author Address


   Russell Housley
   Vigil Security, LLC
   918 Spring Knoll Drive
   Herndon, VA 20170
   USA


   housley@vigilsec.com


Appendix A:  ASN.1 Module


   The ASN.1 module contained in this appendix defines the structures
   that are needed to implement this specification.  It is expected to
   be used in conjunction with the ASN.1 modules in [CMS] and
   [COMPRESS].



   ContentCollectionModule
     { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
       pkcs-9(9) smime(16) modules(0) 26 }


   DEFINITIONS IMPLICIT TAGS ::=
   BEGIN


   IMPORTS
     ContentInfo
       FROM CryptographicMessageSyntax -- [CMS]
         { iso(1) member-body(2) us(840) rsadsi(113549)
           pkcs(1) pkcs-9(9) smime(16) modules(0) cms-2001(14) };



   -- Content Collection Content Type and Object Identifier


   id-ct-contentCollection OBJECT IDENTIFIER ::= {
           iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
           pkcs9(9) smime(16) ct(1) 19 }


   ContentCollection ::= SEQUENCE OF ContentInfo


   END






Housley                                                         [Page 5]


INTERNET DRAFT                                                 July 2004



Full Copyright Statement


   Copyright (C) The Internet Society (2004).  All Rights Reserved.


   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  In addition, the
   ASN.1 module presented in Appendix A may be used in whole or in part
   without inclusion of the copyright notice.  However, this document
   itself may not be modified in any way, such as by removing the
   copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process shall be
   followed, or as required to translate it into languages other than
   English.


   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.  This
   document and the information contained herein is provided on an "AS
   IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
   FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL
   NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY
   OR FITNESS FOR A PARTICULAR PURPOSE.























Housley                                                         [Page 6]