draft-ietf-smime-compression-02.txt   draft-ietf-smime-compression-03.txt 
Internet Draft Editor: Peter Gutmann Internet Draft Editor: Peter Gutmann
draft-ietf-smime-compression-02.txt University of Auckland draft-ietf-smime-compression-03.txt University of Auckland
October 25, 2000 November 21, 2000
Expires April 2001 Expires May 2001
Compressed Data Content Type for S/MIME Compressed Data Content Type for S/MIME
Status of this memo Status of this memo
This document is an Internet-Draft and is in full conformance with all This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC2026. provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Task Internet-Drafts are working documents of the Internet Engineering Task
Force (IETF), its areas, and its working groups. Note that other Force (IETF), its areas, and its working groups. Note that other
skipping to change at line 30 skipping to change at line 30
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
The Cryptographic Message Syntax data format doesn't currently The Cryptographic Message Syntax data format doesn't currently contain
contain any provisions for compressing data before processing it. any provisions for compressing data before processing it. Compressing
Compressing data before transmission provides a number of advantages data before transmission provides a number of advantages including the
including the elimination of data redundancy which could help an elimination of data redundancy which could help an attacker, speeding
attacker, speeding up processing by reducing the amount of data to be up processing by reducing the amount of data to be processed by later
processed by later steps such as signing or encryption, and reducing steps such as signing or encryption, and reducing overall message
overall message size. Although there have been proposals for adding size. Although there have been proposals for adding compression at
compression at other levels (for example at the MIME or SSL level) other levels (for example at the MIME or SSL level) these don't
these don't address the problem of compression of CMS content unless address the problem of compression of CMS content unless the
the compression is supplied by an external means (for example by compression is supplied by an external means (for example by
intermixing MIME and CMS). This document defines a format for using intermixing MIME and CMS). This document defines a format for using
compressed data as a CMS content type. compressed data as a CMS content type.
1. Introduction 1. Introduction
This document describes a compressed data content encryption type for This document describes a compressed data content type for S/MIME.
S/MIME. This is implemented as a new ContentInfo type and is an This is implemented as a new ContentInfo type and is an extension to
extension to the types currently defined in CMS [RFC 2630]. Future the types currently defined in CMS [RFC2630]. Future implementations
implementations of CMS SHOULD include this extension. of CMS SHOULD include this extension.
The format of the messages are described in ASN.1 [ASN1]. The format of the messages are described in ASN.1 [ASN1].
The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT",
"RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in [RFC2119]. interpreted as described in [RFC2119].
1.1 Compressed Data Content Type 1.1 Compressed Data Content Type
The compressed-data content type consists of content of any type The compressed-data content type consists of content of any type
skipping to change at line 76 skipping to change at line 76
CompressedData: CompressedData:
CompressedData ::= SEQUENCE { CompressedData ::= SEQUENCE {
version CMSVersion, version CMSVersion,
compressionAlgorithm CompressionAlgorithmIdentifier, compressionAlgorithm CompressionAlgorithmIdentifier,
encapContentInfo EncapsulatedContentInfo encapContentInfo EncapsulatedContentInfo
} }
The fields of type CompressedData have the following meanings: The fields of type CompressedData have the following meanings:
version is the syntax version number. It shall be 0. version is the syntax version number. It MUST be 0. Details of
the CMSVersion type are discussed in CMS [RFC2630], section
10.2.5.
compressionAlgorithm is a compression algorithm identifier, as compressionAlgorithm is a compression algorithm identifier, as
defined in section 2. defined in section 2.
encapContentInfo is the content which is compressed. encapContentInfo is the content which is compressed. Details of
the EncapsulatedContentInfo type are discussed in CMS [RFC2630],
section 5.2.
Implementations SHOULD use the SMIMECapabilities attribute to Implementations SHOULD use the SMIMECapabilities attribute to indicate
indicate their ability to process compressed content types. A their ability to process compressed content types. A compression
compression SMIMECapability consists of the AlgorithmIdentifier for SMIMECapability consists of the AlgorithmIdentifier for the supported
the supported compression algorithm, in the case of the algorithm compression algorithm, in the case of the algorithm specified in this
specified in this document this is id-alg-zlibCompression with document this is id-alg-zlibCompression with parameters NULL.
parameters NULL. Alternatively, the use of compression may be handled Alternatively, the use of compression may be handled by prior
by prior arrangement (for example as part of an interoperability arrangement (for example as part of an interoperability profile).
profile).
2. Compression Types 2. Compression Types
CMS implementations should include ZLIB [RFC 1950] [RFC 1951], which CMS implementations SHOULD include ZLIB [RFC1950] [RFC1951], which is
is free of any intellectual property restrictions and has a freely- free of any intellectual property restrictions and has a freely-
available, portable and efficient reference implementation. The available, portable and efficient reference implementation. The
following object identifier identifies ZLIB: following object identifier identifies ZLIB:
id-alg-zlibCompress OBJECT IDENTIFIER ::= { iso(1) member-body(2) id-alg-zlibCompress OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 8 } us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 8 }
The parameters for this algorithm are NULL. The parameters for this algorithm are NULL.
3. Security Considerations 3. Security Considerations
skipping to change at line 121 skipping to change at line 124
Author Address Author Address
Peter Gutmann Peter Gutmann
University of Auckland University of Auckland
Private Bag 92019 Private Bag 92019
Auckland, New Zealand Auckland, New Zealand
pgut001@cs.auckland.ac.nz pgut001@cs.auckland.ac.nz
References References
ASN1 Recommendation X.680: Specification of Abstract Syntax ASN1 CCITT Recommendation X.208: Specification of Abstract Syntax
Notation One (ASN.1), 1994. Notation One (ASN.1), 1988.
RFC2119 Key Words for Use in RFC's to Indicate Requirement Levels, RFC2119 Key Words for Use in RFC's to Indicate Requirement Levels,
S.Bradner, March 1997. S.Bradner, March 1997.
RFC1950 ZLIB Compressed Data Format Specification version 3.3, RFC1950 ZLIB Compressed Data Format Specification version 3.3,
P.Deutsch and J-L Gailly, May 1996. P.Deutsch and J-L Gailly, May 1996.
RFC1951 DEFLATE Compressed Data Format Specification version 1.3, RFC1951 DEFLATE Compressed Data Format Specification version 1.3,
P.Deutsch, May 1996. P.Deutsch, May 1996.
skipping to change at line 167 skipping to change at line 170
CompressionAlgorithmIdentifer ::= AlgorithmIdentifier CompressionAlgorithmIdentifer ::= AlgorithmIdentifier
END END
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society 2000. All Rights Reserved. Copyright (C) The Internet Society 2000. All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published and
and distributed, in whole or in part, without restriction of any distributed, in whole or in part, without restriction of any kind,
kind, provided that the above copyright notice and this paragraph are provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of developing
developing Internet standards in which case the procedures for Internet standards in which case the procedures for copyrights defined
copyrights defined in the Internet Standards process must be in the Internet Standards process must be followed, or as required to
followed, or as required to translate it into languages other than translate it into languages other than English.
English.
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/