Use of the RSA-KEM Key Transport Algorithm in the Cryptographic Message Syntax (CMS)
RFC 5990
Internet Engineering Task Force (IETF) J. Randall
Request for Comments: 5990 Randall Consulting
Category: Standards Track B. Kaliski
ISSN: 2070-1721 EMC
J. Brainard
RSA
S. Turner
IECA
September 2010
Use of the RSA-KEM Key Transport Algorithm
in the Cryptographic Message Syntax (CMS)
Abstract
The RSA-KEM Key Transport Algorithm is a one-pass (store-and-forward)
mechanism for transporting keying data to a recipient using the
recipient's RSA public key. ("KEM" stands for "key encapsulation
mechanism".) This document specifies the conventions for using the
RSA-KEM Key Transport Algorithm with the Cryptographic Message Syntax
(CMS). The ASN.1 syntax is aligned with an expected forthcoming
change to American National Standard (ANS) X9.44.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc5990.
Randall, et al. Standards Track [Page 1]
RFC 5990 Use of RSA-KEM in CMS September 2010
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction ....................................................3
1.1. Conventions Used in This Document ..........................4
2. Use in CMS ......................................................4
2.1. Underlying Components ......................................4
2.2. RecipientInfo Conventions ..................................5
2.3. Certificate Conventions ....................................5
2.4. SMIMECapabilities Attribute Conventions ....................6
3. Security Considerations .........................................7
4. IANA Considerations .............................................9
5. Acknowledgements ................................................9
6. References .....................................................10
6.1. Normative References ......................................10
6.2. Informative References ....................................11
Appendix A. RSA-KEM Key Transport Algorithm ......................12
A.1. Underlying Components ....................................12
A.2. Sender's Operations ......................................12
A.3. Recipient's Operations ...................................13
Appendix B. ASN.1 Syntax .........................................15
B.1. RSA-KEM Key Transport Algorithm ..........................16
B.2. Selected Underlying Components ...........................18
B.2.1. Key Derivation Functions ............................18
B.2.2. Symmetric Key-Wrapping Schemes ......................19
B.3. ASN.1 Module .............................................20
B.4. Examples .................................................25
Randall, et al. Standards Track [Page 2]
RFC 5990 Use of RSA-KEM in CMS September 2010
1. Introduction
The RSA-KEM Key Transport Algorithm is a one-pass (store-and-forward)
mechanism for transporting keying data to a recipient using the
recipient's RSA public key.
Most previous key transport algorithms based on the RSA public-key
cryptosystem (e.g., the popular PKCS #1 v1.5 algorithm [PKCS1]) have
the following general form:
Show full document text