| < draft-ietf-smime-compression-06.txt | draft-ietf-smime-compression-07.txt > | |||
|---|---|---|---|---|
| A new Request for Comments is now available in online RFC libraries. | ||||
| Internet Draft Editor: Peter Gutmann | RFC 3274 | |||
| draft-ietf-smime-compression-06.txt University of Auckland | ||||
| August 30, 2001 | ||||
| Expires February 2002 | ||||
| Compressed Data Content Type for CMS | ||||
| 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 | Title: Compressed Data Content Type for | |||
| http://www.ietf.org/ietf/1id-abstracts.txt | Cryptographic Message Syntax (CMS) | |||
| Author(s): P. Gutmann | ||||
| Status: Standards Track | ||||
| Date: June 2002 | ||||
| Mailbox: pgut001@cs.auckland.ac.nz | ||||
| Pages: 6 | ||||
| Characters: 11276 | ||||
| Updates/Obsoletes/SeeAlso: None | ||||
| The list of Internet-Draft Shadow Directories can be accessed at | I-D Tag: draft-ietf-smime-compression-07.txt | |||
| http://www.ietf.org/shadow.html. | ||||
| Abstract | URL: ftp://ftp.rfc-editor.org/in-notes/rfc3274.txt | |||
| The Cryptographic Message Syntax data format doesn't currently contain | This document defines a format for using compressed data as a | |||
| any provisions for compressing data before processing it. Compressing | Cryptographic Message Syntax (CMS) content type. Compressing data | |||
| data before transmission provides a number of advantages including the | before transmission provides a number of advantages, including the | |||
| elimination of data redundancy which could help an attacker, speeding | elimination of data redundancy which could help an attacker, speeding | |||
| up processing by reducing the amount of data to be processed by later | up processing by reducing the amount of data to be processed by later | |||
| steps such as signing or encryption, and reducing overall message size. | steps (such as signing or encryption), and reducing overall message | |||
| Although there have been proposals for adding compression at other | size. Although there have been proposals for adding compression at | |||
| levels (for example at the MIME or SSL level) these don't address the | other levels (for example at the MIME or SSL level), these don't | |||
| problem of compression of CMS content unless the compression is | address the problem of compression of CMS content unless the | |||
| supplied by an external means (for example by intermixing MIME and | compression is supplied by an external means (for example by | |||
| CMS). This document defines a format for using compressed data as a | intermixing MIME and CMS). | |||
| CMS content type. | ||||
| 1. Introduction | ||||
| This document describes a compressed data content type for CMS. This | ||||
| is implemented as a new ContentInfo type and is an extension to the | ||||
| types currently defined in CMS [RFC2630]. Future implementations of | ||||
| CMS should include this extension. | ||||
| The format of the messages are described in ASN.1 [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) 9 } | ||||
| 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 MUST be 0. Details of the | ||||
| CMSVersion type are discussed in CMS [RFC2630], section 10.2.5. | ||||
| compressionAlgorithm is a compression algorithm identifier, as | ||||
| defined in section 2. | ||||
| 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 indicate | ||||
| their ability to process compressed content types. Details of | ||||
| SMIMECapabilities are discussed in MSG [RFC2633], section 2.5.2 | ||||
| A compression SMIMECapability consists of the AlgorithmIdentifier for | ||||
| the supported compression algorithm, in the case of the algorithm | ||||
| specified in this document this is id-alg-zlibCompression as specified | ||||
| in section 2. Alternatively, the use of compression may be handled by | ||||
| prior arrangement (for example as part of an interoperability profile). | ||||
| The SMIMECapability SEQUENCE representing the ability to process | ||||
| content compressed with the algorithm identified by id-alg- | ||||
| zlibCompression MUST be DER-encoded as the following hexadecimal | ||||
| string: | ||||
| 30 0D 06 0B 2A 86 48 86 F7 0D 01 09 10 03 08 | ||||
| (but see also the implementation note in section 2.1). | ||||
| 2. Compression Types | ||||
| CMS implementations SHOULD include ZLIB [RFC1950] [RFC1951], 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-zlibCompress OBJECT IDENTIFIER ::= { iso(1) member-body(2) | ||||
| us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 8 } | ||||
| This algorithm has no parameters. The parameters field SHOULD be | ||||
| encoded as omitted, but MAY be encoded as NULL (see the implemenation | ||||
| note in section 2.1). | ||||
| 2.1. Implementation notes | ||||
| ZLIB allows for a number of compression levels ranging from good but | ||||
| slow compression to less good but fast compression. The compression | ||||
| level is always compatible with the decompression algorithm, so there | ||||
| is no need to specify the compression level as an algorithm parameter. | ||||
| There are two possible encodings for the ZLIB null parameters field | ||||
| which arise from the fact that when the 1988 syntax for | ||||
| AlgorithmIdentifier was translated into the 1997 syntax, the OPTIONAL | ||||
| associated with the AlgorithmIdentifier parameters got lost. Later it | ||||
| was recovered via a defect report, but by then everyone thought that | ||||
| algorithm parameters were mandatory. Because of this some | ||||
| implementations will encode null parameters as an ASN.1 NULL element | ||||
| and some will omit them entirely (see for example section 12 of CMS | ||||
| [RFC2630]). Although the correct encoding is to omit the parameters | ||||
| field, implementations may encounter encodings which use an ASN.1 NULL | ||||
| element for the parameters. | ||||
| 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. | ||||
| 4. IANA Considerations | ||||
| The CompressedData content type and compression algorithms are | ||||
| identified by object identifiers (OIDs). OIDs were assigned from an | ||||
| arc contributed to the S/MIME Working Group by the RSA Security. | ||||
| Should additional compression algorithms be introduced, the advocates | ||||
| for such algorithms are expected to assign the necessary OIDs from | ||||
| their own arcs. No action by the IANA is necessary for this document | ||||
| or any anticipated updates. | ||||
| Author Address | ||||
| Peter Gutmann | ||||
| University of Auckland | ||||
| Private Bag 92019 | ||||
| Auckland, New Zealand | ||||
| pgut001@cs.auckland.ac.nz | ||||
| References | ||||
| ASN1 CCITT Recommendation X.208: Specification of Abstract Syntax | ||||
| Notation One (ASN.1), 1988. | ||||
| 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. | ||||
| RFC2630 Cryptographic Message Syntax, R.Housley, June 1999. | ||||
| RFC2633 S/MIME Version 3 Message Specification, B.Ramsdell, June | ||||
| 1999. | ||||
| Appendix A: ASN.1 Module | ||||
| CompressedDataContent | ||||
| { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) | ||||
| smime(16) modules(0) compress(11) } | ||||
| DEFINITIONS IMPLICIT TAGS ::= | ||||
| BEGIN | ||||
| IMPORTS | ||||
| CMSVersion, EncapsulatedContentInfo FROM CryptographicMessageSyntax | ||||
| { iso(1) member-body(2) us(840) rsadsi(113549) | ||||
| pkcs(1) pkcs-9(9) smime(16) modules(0) cms(1) } | ||||
| AlgorithmIdentifier FROM AuthenticationFramework | ||||
| { joint-iso-itu-t ds(5) module(1) authenticationFramework(7) 3 }; | ||||
| CompressedData ::= SEQUENCE { | ||||
| version CMSVersion, -- Always set to 0 | ||||
| compressionAlgorithm CompressionAlgorithmIdentifier, | ||||
| encapContentInfo EncapsulatedContentInfo | ||||
| } | ||||
| CompressionAlgorithmIdentifier ::= AlgorithmIdentifier | ||||
| id-alg-zlibCompress OBJECT IDENTIFIER ::= { iso(1) member-body(2) | ||||
| us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 8 } | ||||
| This document is a product of the S/MIME Mail Security Working Group | ||||
| of the IETF. | ||||
| id-ct-compressedData OBJECT IDENTIFIER ::= { iso(1) member-body(2) | This is now a Proposed Standard Protocol. | |||
| us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 9 } | ||||
| END | This document specifies an Internet standards track protocol for | |||
| the Internet community, and requests discussion and suggestions | ||||
| for improvements. Please refer to the current edition of the | ||||
| "Internet Official Protocol Standards" (STD 1) for the | ||||
| standardization state and status of this protocol. Distribution | ||||
| of this memo is unlimited. | ||||
| Full Copyright Statement | This announcement is sent to the IETF list and the RFC-DIST list. | |||
| Requests to be added to or deleted from the IETF distribution list | ||||
| should be sent to IETF-REQUEST@IETF.ORG. Requests to be | ||||
| added to or deleted from the RFC-DIST distribution list should | ||||
| be sent to RFC-DIST-REQUEST@RFC-EDITOR.ORG. | ||||
| Copyright (C) The Internet Society 2001. All Rights Reserved. | Details on obtaining RFCs via FTP or EMAIL may be obtained by sending | |||
| an EMAIL message to rfc-info@RFC-EDITOR.ORG with the message body | ||||
| help: ways_to_get_rfcs. For example: | ||||
| This document and translations of it may be copied and furnished to | To: rfc-info@RFC-EDITOR.ORG | |||
| others, and derivative works that comment on or otherwise explain it or | Subject: getting rfcs | |||
| 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 | help: ways_to_get_rfcs | |||
| revoked by the Internet Society or its successors or assigns. | ||||
| This document and the information contained herein is provided on an | Requests for special distribution should be addressed to either the | |||
| "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | author of the RFC in question, or to RFC-Manager@RFC-EDITOR.ORG. Unless | |||
| TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT | specifically noted otherwise on the RFC itself, all RFCs are for | |||
| NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL | unlimited distribution.echo | |||
| NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR | Submissions for Requests for Comments should be sent to | |||
| FITNESS FOR A PARTICULAR PURPOSE. | RFC-EDITOR@RFC-EDITOR.ORG. Please consult RFC 2223, Instructions to RFC | |||
| Authors, for further information. | ||||
| End of changes. 15 change blocks. | ||||
| 220 lines changed or deleted | 42 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||