Internet Draft Editor: Peter Gutmann draft-ietf-smime-compression-00.txt University of Auckland October 18, 1999 Expires April 2000 Compressed Data Content Type for S/MIME Status of this memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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. Abstract The Cryptographic Message Syntax data format doesn't currently contain any provisions for compressing data before processing it. Compressing data before transmission provides a number of advantages including the elimination of data redundancy which could help an attacker, speeding up processing by reducing the amount of data to be processed by later steps such as signing or encryption, and reducing overall message size. This document defines a format for using compressed data as a CMS content type. This draft is being discussed on the "ietf-smime" mailing list. To join the list, send a message to with the single word "subscribe" in the body of the message. Also, there is a Web site for the mailing list at . 1. Introduction This document describes a compressed data content encryption type for S/MIME. This is implemented as a new ContentInfo type and is an extension to the types currently defined in CMS [CMS]. Future implementations of CMS SHOULD include this extension. The format of the messages are described in ASN.1:1994 [ASN1]. The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 1.1 Compressed Data Content Type The compressed-data content type consists of content of any type compressed using a specified algorithm. The following object identifier identifies the compressed-data content type: id-ct-compressedData OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 3 } The compressed-data content type shall have ASN.1 type CompressedData: CompressedData ::= SEQUENCE { version CMSVersion, compressionAlgorithm CompressionAlgorithmIdentifier, encapContentInfo EncapsulatedContentInfo } The fields of type CompressedData have the following meanings: version is the syntax version number. It shall be 0. compressionAlgorithm is a compression algorithm identifier, as defined in section 2. encapContentInfo is the content which is compressed. Implementations SHOULD use the SMIMECapabilities attribute to indicate their ability to process compressed content types. A compression SMIMECapability consists of the AlgorithmIdentifier for the supported compression algorithm, in the case of the algorithm specified in this document this is is-alg-zlib with parameters NULL. Alternatively, the use of compression may be handled by prior arrangement (for example as part of an interoperability profile). 2. Compression Types CMS implementations should include ZLIB [RFC 1950] [RFC 1951], which is free of any intellectual property restrictions and has a freely-available, portable and efficient reference implementation. The following object identifier identifies ZLIB: id-alg-zlib OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 8 } The parameters for this algorithm are NULL. 3. Security Considerations This RFC is not concerned with security, except for the fact that compressing data before encryption can enhance the security provided by other processing steps by reducing the quantity of known plaintext available to an attacker. Author Address Peter Gutmann University of Auckland Private Bag 92019 Auckland, New Zealand pgut001@cs.auckland.ac.nz References ASN1 Recommendation X.680: Specification of Abstract Syntax Notation One (ASN.1), 1994. CMS Cryptographic Message Syntax, draft-ietf-smime-cms-11.txt, Russ Housley, April 1999. RFC2119 Key Words for Use in RFC's to Indicate Requirement Levels, S.Bradner, March 1997. RFC1950 ZLIB Compressed Data Format Specification version 3.3, P.Deutsch and J-L Gailly, May 1996. RFC1951 DEFLATE Compressed Data Format Specification version 1.3, P.Deutsch, May 1996. Appendix A: ASN.1 Module PasswordRecipientInfo { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) modules(0) compression(n+1) } DEFINITIONS IMPLICIT TAGS ::= BEGIN CompressedData ::= SEQUENCE { version CMSVersion, -- Always set to 0 compressionAlgorithm CompressionAlgorithmIdentifier, encapContentInfo EncapsulatedContentInfo } CompressionAlgorithmIdentifer ALGORITHM-IDENTIFIER ::= { { SYNTAX NULL IDENTIFIED BY id-alg-ZLIB }, ... } END Full Copyright Statement Copyright (C) The Internet Society 1999. 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. 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 must 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.