| < draft-ietf-lamps-rfc5751-bis-07.txt | draft-ietf-lamps-rfc5751-bis-08.txt > | |||
|---|---|---|---|---|
| LAMPS J. Schaad | LAMPS J. Schaad | |||
| Internet-Draft August Cellars | Internet-Draft August Cellars | |||
| Obsoletes: 5751 (if approved) B. Ramsdell | Obsoletes: 5751 (if approved) B. Ramsdell | |||
| Intended status: Standards Track Brute Squad Labs, Inc. | Intended status: Standards Track Brute Squad Labs, Inc. | |||
| Expires: October 15, 2018 S. Turner | Expires: November 3, 2018 S. Turner | |||
| sn3rd | sn3rd | |||
| April 13, 2018 | May 2, 2018 | |||
| Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 | Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 | |||
| Message Specification | Message Specification | |||
| draft-ietf-lamps-rfc5751-bis-07 | draft-ietf-lamps-rfc5751-bis-08 | |||
| Abstract | Abstract | |||
| This document defines Secure/Multipurpose Internet Mail Extensions | This document defines Secure/Multipurpose Internet Mail Extensions | |||
| (S/MIME) version 4.0. S/MIME provides a consistent way to send and | (S/MIME) version 4.0. S/MIME provides a consistent way to send and | |||
| receive secure MIME data. Digital signatures provide authentication, | receive secure MIME data. Digital signatures provide authentication, | |||
| message integrity, and non-repudiation with proof of origin. | message integrity, and non-repudiation with proof of origin. | |||
| Encryption provides data confidentiality. Compression can be used to | Encryption provides data confidentiality. Compression can be used to | |||
| reduce data size. This document obsoletes RFC 5751. | reduce data size. This document obsoletes RFC 5751. | |||
| skipping to change at page 1, line 47 ¶ | skipping to change at page 1, line 47 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on October 15, 2018. | This Internet-Draft will expire on November 3, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 42 ¶ | skipping to change at page 2, line 42 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 1.1. Specification Overview . . . . . . . . . . . . . . . . . 4 | 1.1. Specification Overview . . . . . . . . . . . . . . . . . 4 | |||
| 1.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 5 | 1.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 1.3. Conventions Used in This Document . . . . . . . . . . . . 6 | 1.3. Conventions Used in This Document . . . . . . . . . . . . 6 | |||
| 1.4. Compatibility with Prior Practice of S/MIME . . . . . . . 7 | 1.4. Compatibility with Prior Practice of S/MIME . . . . . . . 7 | |||
| 1.5. Changes from S/MIME v3 to S/MIME v3.1 . . . . . . . . . . 7 | 1.5. Changes from S/MIME v3 to S/MIME v3.1 . . . . . . . . . . 7 | |||
| 1.6. Changes from S/MIME v3.1 to S/MIME v3.2 . . . . . . . . . 8 | 1.6. Changes from S/MIME v3.1 to S/MIME v3.2 . . . . . . . . . 8 | |||
| 1.7. Changes for S/MIME v4.0 . . . . . . . . . . . . . . . . . 9 | 1.7. Changes for S/MIME v4.0 . . . . . . . . . . . . . . . . . 9 | |||
| 2. CMS Options . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 2. CMS Options . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 2.1. DigestAlgorithmIdentifier . . . . . . . . . . . . . . . . 10 | 2.1. DigestAlgorithmIdentifier . . . . . . . . . . . . . . . . 10 | |||
| 2.2. SignatureAlgorithmIdentifier . . . . . . . . . . . . . . 10 | 2.2. SignatureAlgorithmIdentifier . . . . . . . . . . . . . . 10 | |||
| 2.3. KeyEncryptionAlgorithmIdentifier . . . . . . . . . . . . 11 | 2.3. KeyEncryptionAlgorithmIdentifier . . . . . . . . . . . . 11 | |||
| 2.4. General Syntax . . . . . . . . . . . . . . . . . . . . . 12 | 2.4. General Syntax . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 2.4.1. Data Content Type . . . . . . . . . . . . . . . . . . 12 | 2.4.1. Data Content Type . . . . . . . . . . . . . . . . . . 12 | |||
| 2.4.2. SignedData Content Type . . . . . . . . . . . . . . . 12 | 2.4.2. SignedData Content Type . . . . . . . . . . . . . . . 12 | |||
| 2.4.3. EnvelopedData Content Type . . . . . . . . . . . . . 12 | 2.4.3. EnvelopedData Content Type . . . . . . . . . . . . . 12 | |||
| 2.4.4. AuthEnvelopedData Content Type . . . . . . . . . . . 12 | 2.4.4. AuthEnvelopedData Content Type . . . . . . . . . . . 12 | |||
| 2.4.5. CompressedData Content Type . . . . . . . . . . . . . 12 | 2.4.5. CompressedData Content Type . . . . . . . . . . . . . 13 | |||
| 2.5. Attributes and the SignerInfo Type . . . . . . . . . . . 13 | 2.5. Attributes and the SignerInfo Type . . . . . . . . . . . 13 | |||
| 2.5.1. Signing Time Attribute . . . . . . . . . . . . . . . 13 | 2.5.1. Signing Time Attribute . . . . . . . . . . . . . . . 14 | |||
| 2.5.2. SMIME Capabilities Attribute . . . . . . . . . . . . 14 | 2.5.2. SMIME Capabilities Attribute . . . . . . . . . . . . 14 | |||
| 2.5.3. Encryption Key Preference Attribute . . . . . . . . . 15 | 2.5.3. Encryption Key Preference Attribute . . . . . . . . . 16 | |||
| 2.6. SignerIdentifier SignerInfo Type . . . . . . . . . . . . 17 | 2.6. SignerIdentifier SignerInfo Type . . . . . . . . . . . . 17 | |||
| 2.7. ContentEncryptionAlgorithmIdentifier . . . . . . . . . . 17 | 2.7. ContentEncryptionAlgorithmIdentifier . . . . . . . . . . 17 | |||
| 2.7.1. Deciding Which Encryption Method to Use . . . . . . . 17 | 2.7.1. Deciding Which Encryption Method to Use . . . . . . . 17 | |||
| 2.7.2. Choosing Weak Encryption . . . . . . . . . . . . . . 19 | 2.7.2. Choosing Weak Encryption . . . . . . . . . . . . . . 19 | |||
| 2.7.3. Multiple Recipients . . . . . . . . . . . . . . . . . 19 | 2.7.3. Multiple Recipients . . . . . . . . . . . . . . . . . 19 | |||
| 3. Creating S/MIME Messages . . . . . . . . . . . . . . . . . . 19 | 3. Creating S/MIME Messages . . . . . . . . . . . . . . . . . . 19 | |||
| 3.1. Preparing the MIME Entity for Signing, Enveloping, or | 3.1. Preparing the MIME Entity for Signing, Enveloping, or | |||
| Compressing . . . . . . . . . . . . . . . . . . . . . . . 20 | Compressing . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 3.1.1. Canonicalization . . . . . . . . . . . . . . . . . . 21 | 3.1.1. Canonicalization . . . . . . . . . . . . . . . . . . 21 | |||
| 3.1.2. Transfer Encoding . . . . . . . . . . . . . . . . . . 22 | 3.1.2. Transfer Encoding . . . . . . . . . . . . . . . . . . 22 | |||
| 3.1.3. Transfer Encoding for Signing Using multipart/signed 22 | 3.1.3. Transfer Encoding for Signing Using multipart/signed 23 | |||
| 3.1.4. Sample Canonical MIME Entity . . . . . . . . . . . . 23 | 3.1.4. Sample Canonical MIME Entity . . . . . . . . . . . . 23 | |||
| 3.2. The application/pkcs7-mime Media Type . . . . . . . . . . 24 | 3.2. The application/pkcs7-mime Media Type . . . . . . . . . . 24 | |||
| 3.2.1. The name and filename Parameters . . . . . . . . . . 25 | 3.2.1. The name and filename Parameters . . . . . . . . . . 25 | |||
| 3.2.2. The smime-type Parameter . . . . . . . . . . . . . . 26 | 3.2.2. The smime-type Parameter . . . . . . . . . . . . . . 26 | |||
| 3.3. Creating an Enveloped-Only Message . . . . . . . . . . . 27 | 3.3. Creating an Enveloped-Only Message . . . . . . . . . . . 27 | |||
| 3.4. Creating an Authenticated Enveloped-Only Message . . . . 28 | 3.4. Creating an Authenticated Enveloped-Only Message . . . . 28 | |||
| 3.5. Creating a Signed-Only Message . . . . . . . . . . . . . 29 | 3.5. Creating a Signed-Only Message . . . . . . . . . . . . . 29 | |||
| 3.5.1. Choosing a Format for Signed-Only Messages . . . . . 29 | 3.5.1. Choosing a Format for Signed-Only Messages . . . . . 29 | |||
| 3.5.2. Signing Using application/pkcs7-mime with SignedData 30 | 3.5.2. Signing Using application/pkcs7-mime with SignedData 30 | |||
| 3.5.3. Signing Using the multipart/signed Format . . . . . . 31 | 3.5.3. Signing Using the multipart/signed Format . . . . . . 31 | |||
| skipping to change at page 3, line 47 ¶ | skipping to change at page 3, line 47 ¶ | |||
| 4.4. Encryption . . . . . . . . . . . . . . . . . . . . . . . 38 | 4.4. Encryption . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 4.5. Decryption . . . . . . . . . . . . . . . . . . . . . . . 38 | 4.5. Decryption . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 5.1. Media Type for application/pkcs7-mime . . . . . . . . . . 38 | 5.1. Media Type for application/pkcs7-mime . . . . . . . . . . 38 | |||
| 5.2. Media Type for application/pkcs7-signature . . . . . . . 39 | 5.2. Media Type for application/pkcs7-signature . . . . . . . 39 | |||
| 5.3. Register authEnveloped-data smime-type . . . . . . . . . 40 | 5.3. Register authEnveloped-data smime-type . . . . . . . . . 40 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 40 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 40 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 44 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 44 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 44 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 44 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 48 | 7.2. Informative References . . . . . . . . . . . . . . . . . 48 | |||
| Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 51 | Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 52 | |||
| Appendix B. Historic Mail Considerations . . . . . . . . . . . . 53 | Appendix B. Historic Mail Considerations . . . . . . . . . . . . 54 | |||
| B.1. DigestAlgorithmIdentifier . . . . . . . . . . . . . . . . 54 | B.1. DigestAlgorithmIdentifier . . . . . . . . . . . . . . . . 54 | |||
| B.2. Signature Algorithms . . . . . . . . . . . . . . . . . . 54 | B.2. Signature Algorithms . . . . . . . . . . . . . . . . . . 54 | |||
| B.3. ContentEncryptionAlgorithmIdentifier . . . . . . . . . . 56 | B.3. ContentEncryptionAlgorithmIdentifier . . . . . . . . . . 56 | |||
| B.4. KeyEncryptionAlgorithmIdentifier . . . . . . . . . . . . 56 | B.4. KeyEncryptionAlgorithmIdentifier . . . . . . . . . . . . 56 | |||
| Appendix C. Moving S/MIME v2 Message Specification to Historic | Appendix C. Moving S/MIME v2 Message Specification to Historic | |||
| Status . . . . . . . . . . . . . . . . . . . . . . . 56 | Status . . . . . . . . . . . . . . . . . . . . . . . 57 | |||
| Appendix D. Acknowledgments . . . . . . . . . . . . . . . . . . 57 | Appendix D. Acknowledgments . . . . . . . . . . . . . . . . . . 57 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57 | |||
| 1. Introduction | 1. Introduction | |||
| S/MIME (Secure/Multipurpose Internet Mail Extensions) provides a | S/MIME (Secure/Multipurpose Internet Mail Extensions) provides a | |||
| consistent way to send and receive secure MIME data. Based on the | consistent way to send and receive secure MIME data. Based on the | |||
| popular Internet MIME standard, S/MIME provides the following | popular Internet MIME standard, S/MIME provides the following | |||
| cryptographic security services for electronic messaging | cryptographic security services for electronic messaging | |||
| applications: authentication, message integrity and non-repudiation | applications: authentication, message integrity and non-repudiation | |||
| of origin (using digital signatures), and data confidentiality (using | of origin (using digital signatures), and data confidentiality (using | |||
| encryption). As a supplementary service, S/MIME provides for message | encryption). As a supplementary service, S/MIME provides message | |||
| compression. | compression. | |||
| S/MIME can be used by traditional mail user agents (MUAs) to add | S/MIME can be used by traditional mail user agents (MUAs) to add | |||
| cryptographic security services to mail that is sent, and to | cryptographic security services to mail that is sent, and to | |||
| interpret cryptographic security services in mail that is received. | interpret cryptographic security services in mail that is received. | |||
| However, S/MIME is not restricted to mail; it can be used with any | However, S/MIME is not restricted to mail; it can be used with any | |||
| transport mechanism that transports MIME data, such as HTTP or SIP. | transport mechanism that transports MIME data, such as HTTP or SIP. | |||
| As such, S/MIME takes advantage of the object-based features of MIME | As such, S/MIME takes advantage of the object-based features of MIME | |||
| and allows secure messages to be exchanged in mixed-transport | and allows secure messages to be exchanged in mixed-transport | |||
| systems. | systems. | |||
| Further, S/MIME can be used in automated message transfer agents that | Further, S/MIME can be used in automated message transfer agents that | |||
| use cryptographic security services that do not require any human | use cryptographic security services that do not require any human | |||
| intervention, such as the signing of software-generated documents and | intervention, such as the signing of software-generated documents and | |||
| the encryption of FAX messages sent over the Internet. | the encryption of FAX messages sent over the Internet. | |||
| This document defines the version 4.0 of the S/MIME Message | ||||
| specification. As such this document obsoletes version 3.2 of the | ||||
| S/MIME Message specification [RFC5751]. | ||||
| 1.1. Specification Overview | 1.1. Specification Overview | |||
| This document describes a protocol for adding cryptographic signature | This document describes a protocol for adding cryptographic signature | |||
| and encryption services to MIME data. The MIME standard [MIME-SPEC] | and encryption services to MIME data. The MIME standard [MIME-SPEC] | |||
| provides a general structure for the content of Internet messages and | provides a general structure for the content of Internet messages and | |||
| allows extensions for new content-type-based applications. | allows extensions for new content-type-based applications. | |||
| This specification defines how to create a MIME body part that has | This specification defines how to create a MIME body part that has | |||
| been cryptographically enhanced according to the Cryptographic | been cryptographically enhanced according to the Cryptographic | |||
| Message Syntax (CMS) [CMS], which is derived from PKCS #7 [RFC2315]. | Message Syntax (CMS) [CMS], which is derived from PKCS #7 [RFC2315]. | |||
| skipping to change at page 6, line 40 ¶ | skipping to change at page 6, line 44 ¶ | |||
| unauthorized changes to data by ensuring that | unauthorized changes to data by ensuring that | |||
| changes to the data are detectable. [RFC4949] | changes to the data are detectable. [RFC4949] | |||
| Data Confidentiality: The property that data is not disclosed to | Data Confidentiality: The property that data is not disclosed to | |||
| system entities unless they have been authorized | system entities unless they have been authorized | |||
| to know the data. [RFC4949] | to know the data. [RFC4949] | |||
| 1.3. Conventions Used in This Document | 1.3. Conventions Used in This Document | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| document are to be interpreted as described in [RFC2119]. | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| We define the additional requirement levels: | We define the additional requirement levels: | |||
| SHOULD+ This term means the same as SHOULD. However, the authors | SHOULD+ This term means the same as SHOULD. However, the authors | |||
| expect that a requirement marked as SHOULD+ will be | expect that a requirement marked as SHOULD+ will be | |||
| promoted at some future time to be a MUST. | promoted at some future time to be a MUST. | |||
| SHOULD- This term means the same as SHOULD. However, the authors | SHOULD- This term means the same as SHOULD. However, the authors | |||
| expect that a requirement marked as SHOULD- will be demoted | expect that a requirement marked as SHOULD- will be demoted | |||
| to a MAY in a future version of this document. | to a MAY in a future version of this document. | |||
| MUST- This term means the same as MUST. However, the authors | MUST- This term means the same as MUST. However, the authors | |||
| expect that this requirement will no longer be a MUST in a | expect that this requirement will no longer be a MUST in a | |||
| future document. Although its status will be determined at | future document. Although its status will be determined at | |||
| a later time, it is reasonable to expect that if a future | a later time, it is reasonable to expect that if a future | |||
| revision of a document alters the status of a MUST- | revision of a document alters the status of a MUST- | |||
| requirement, it will remain at least a SHOULD or a SHOULD-. | requirement, it will remain at least a SHOULD or a SHOULD-. | |||
| The term RSA in this document almost always refers to the PKCS#1 v1.5 | The term RSA in this document almost always refers to the PKCS#1 v1.5 | |||
| RSA signature or encryption algorithms even when not qualified as | RSA [RFC2313] signature or encryption algorithms even when not | |||
| such. There are a couple of places where it refers to the general | qualified as such. There are a couple of places where it refers to | |||
| RSA cryptographic operation, these can be determined from the context | the general RSA cryptographic operation, these can be determined from | |||
| where it is used. | the context where it is used. | |||
| 1.4. Compatibility with Prior Practice of S/MIME | 1.4. Compatibility with Prior Practice of S/MIME | |||
| S/MIME version 4.0 agents ought to attempt to have the greatest | S/MIME version 4.0 agents ought to attempt to have the greatest | |||
| interoperability possible with agents for prior versions of S/MIME. | interoperability possible with agents for prior versions of S/MIME. | |||
| S/MIME version 2 is described in RFC 2311 through RFC 2315 inclusive | S/MIME version 2 is described in RFC 2311 through RFC 2315 inclusive | |||
| [SMIMEv2], S/MIME version 3 is described in RFC 2630 through RFC 2634 | [SMIMEv2], S/MIME version 3 is described in RFC 2630 through RFC 2634 | |||
| inclusive and RFC 5035 [SMIMEv3], S/MIME version 3.1 is described in | inclusive and RFC 5035 [SMIMEv3], S/MIME version 3.1 is described in | |||
| RFC 3850, RFC 3851, RFC 3852, RFC 2634, and RFC 5035 [SMIMEv3.1], and | RFC 3850, RFC 3851, RFC 3852, RFC 2634, and RFC 5035 [SMIMEv3.1], and | |||
| S/MIME version 3.2 is described in [SMIMEv3.2]. [RFC2311] also has | S/MIME version 3.2 is described in [SMIMEv3.2]. [RFC2311] also has | |||
| historical information about the development of S/MIME. | historical information about the development of S/MIME. | |||
| 1.5. Changes from S/MIME v3 to S/MIME v3.1 | 1.5. Changes from S/MIME v3 to S/MIME v3.1 | |||
| The RSA public key algorithm was changed to a MUST implement key | The RSA public key algorithm was changed to a MUST implement, key | |||
| wrapping algorithm, and the Diffie-Hellman (DH) algorithm changed to | wrap algorithm, and the Diffie-Hellman (DH) algorithm [RFC2631] | |||
| a SHOULD implement. | changed to a SHOULD implement. | |||
| The AES symmetric encryption algorithm has been included as a SHOULD | The AES symmetric encryption algorithm has been included as a SHOULD | |||
| implement. | implement. | |||
| The RSA public key algorithm was changed to a MUST implement | The RSA public key algorithm was changed to a MUST implement | |||
| signature algorithm. | signature algorithm. | |||
| Ambiguous language about the use of "empty" SignedData messages to | Ambiguous language about the use of "empty" SignedData messages to | |||
| transmit certificates was clarified to reflect that transmission of | transmit certificates was clarified to reflect that transmission of | |||
| Certificate Revocation Lists is also allowed. | Certificate Revocation Lists is also allowed. | |||
| skipping to change at page 9, line 36 ¶ | skipping to change at page 9, line 44 ¶ | |||
| 1.7. Changes for S/MIME v4.0 | 1.7. Changes for S/MIME v4.0 | |||
| - Add the use of AuthEnvelopedData, including defining and | - Add the use of AuthEnvelopedData, including defining and | |||
| registering an smime-type value (Section 2.4.4 and Section 3.4). | registering an smime-type value (Section 2.4.4 and Section 3.4). | |||
| - Update the content encryption algorithms (Section 2.7 and | - Update the content encryption algorithms (Section 2.7 and | |||
| Section 2.7.1.2): Add AES-256 GCM, add ChaCha200-Poly1305, remove | Section 2.7.1.2): Add AES-256 GCM, add ChaCha200-Poly1305, remove | |||
| AES-192 CBC, mark tripleDES as historic. | AES-192 CBC, mark tripleDES as historic. | |||
| - Update the set of signature algorithms (Section 2.2): Add EdDSA | - Update the set of signature algorithms (Section 2.2): Add Edwards- | |||
| and ECDSA, mark DSA as historic | curve DSA (EdDSA) and ECDSA, mark DSA as historic | |||
| - Update the set of digest algorithms (Section 2.1): Add SHA-512, | - Update the set of digest algorithms (Section 2.1): Add SHA-512, | |||
| mark SHA-1 as historic. | mark SHA-1 as historic. | |||
| - Update the size of keys to be used for RSA encryption and RSA | - Update the size of keys to be used for RSA encryption and RSA | |||
| signing (Section 4). | signing (Section 4). | |||
| - Create Appendix B which deals with considerations for dealing with | - Create Appendix B which deals with considerations for dealing with | |||
| historic email messages. | historic email messages. | |||
| skipping to change at page 10, line 38 ¶ | skipping to change at page 10, line 47 ¶ | |||
| There are different sets of requirements placed on receiving and | There are different sets of requirements placed on receiving and | |||
| sending agents. By having the different requirements, the maximum | sending agents. By having the different requirements, the maximum | |||
| amount of interoperability is achieved as it allows for specialized | amount of interoperability is achieved as it allows for specialized | |||
| protection of private key material but maximum signature validation. | protection of private key material but maximum signature validation. | |||
| Receiving agents: | Receiving agents: | |||
| - MUST support ECDSA with curve P-256 and SHA-256. | - MUST support ECDSA with curve P-256 and SHA-256. | |||
| - MUST support EdDSA with curve 25519 using PureEdDSA mode. | - MUST support EdDSA with curve 25519 using Pure EdDSA mode | |||
| [I-D.ietf-curdle-cms-eddsa-signatures]. | ||||
| - MUST- support RSA PKCS#1 v1.5 with SHA-256. | - MUST- support RSA PKCS#1 v1.5 with SHA-256. | |||
| - SHOULD support RSASSA-PSS with SHA-256. | - . SHOULD support RSASSA-PSS with SHA-256. | |||
| Sending agents: | Sending agents: | |||
| - MUST support at least one of the following algorithms: ECDSA with | - MUST support at least one of the following algorithms: ECDSA with | |||
| curve P-256 and SHA-256, or EdDSA with curve 25519 using PureEdDSA | curve P-256 and SHA-256, or EdDSA with curve 25519 using PureEdDSA | |||
| mode. | mode. | |||
| - MUST- support RSA PKCS#1 v1.5 with SHA-256. | - MUST- support RSA PKCS#1 v1.5 with SHA-256. | |||
| - SHOULD support RSASSA-PSS with SHA-256. | - SHOULD support RSASSA-PSS with SHA-256. | |||
| Both ECDSA and EdDSA are included in the list of required algorithms | Both ECDSA and EdDSA are included in the list of required algorithms | |||
| for political reasons. NIST is unable to provide the seeds that were | for political reasons. NIST is unable to provide the seeds that were | |||
| used to create their standardized curves, this means that there is a | used to create their standardized curves; this means that there is a | |||
| section of the community which believes that there might be a back | section of the community which believes that there might be a back | |||
| door to these curves. The EdDSA curves were standardized in the IETF | door to these curves. The EdDSA curves were standardized in the IETF | |||
| in a more transparent method. However, there are still significant | in a more transparent method. However, there are still significant | |||
| sections of the industry which need to have NIST approved algorithms. | sections of the industry which need to have NIST approved algorithms. | |||
| For this reason, both sets of curves are represented in the receiving | For this reason, both sets of curves are represented in the receiving | |||
| agent list, but there is only a requirement for curve in the sending | agent list, but there is only a requirement for one curve in the | |||
| agent list. This requirement makes sure that maximum | sending agent list. This requirement makes sure that maximum | |||
| interoperability between receivers and senders will exist. | interoperability between receivers and senders will exist. | |||
| See Section 4.1 for information on key size and algorithm references. | See Section 4.1 for information on key size and algorithm references. | |||
| 2.3. KeyEncryptionAlgorithmIdentifier | 2.3. KeyEncryptionAlgorithmIdentifier | |||
| Receiving and sending agents: | Receiving and sending agents: | |||
| - MUST support ECDH ephemeral-static mode for P-256, as specified in | - MUST support ECDH ephemeral-static mode for P-256, as specified in | |||
| [RFC5753]. | [RFC5753]. | |||
| skipping to change at page 11, line 44 ¶ | skipping to change at page 11, line 52 ¶ | |||
| - SHOULD+ support RSAES-OAEP, as specified in [RFC3560]. | - SHOULD+ support RSAES-OAEP, as specified in [RFC3560]. | |||
| When ECDH ephemeral-static is used, a key wrap algorithm is also | When ECDH ephemeral-static is used, a key wrap algorithm is also | |||
| specified in the KeyEncryptionAlgorithmIdentifier [RFC5652]. The | specified in the KeyEncryptionAlgorithmIdentifier [RFC5652]. The | |||
| underlying encryption functions for the key wrap and content | underlying encryption functions for the key wrap and content | |||
| encryption algorithm ([RFC3370] and [RFC3565]) and the key sizes for | encryption algorithm ([RFC3370] and [RFC3565]) and the key sizes for | |||
| the two algorithms MUST be the same (e.g., AES-128 key wrap algorithm | the two algorithms MUST be the same (e.g., AES-128 key wrap algorithm | |||
| with AES-128 content encryption algorithm). As both 128 and 256 bit | with AES-128 content encryption algorithm). As both 128 and 256 bit | |||
| AES modes are mandatory-to-implement as content encryption algorithms | AES modes are mandatory-to-implement as content encryption algorithms | |||
| (Section 2.7), both the AES-128 and AES-256 key wrap algorithms MUST | (Section 2.7), both the AES-128 and AES-256 key wrap algorithms MUST | |||
| be supported when ECDH ephemeral-static is used. | be supported when ECDH ephemeral-static is used. Recipients MAY | |||
| enforce this, but MUST use the weaker of the two as part of any | ||||
| cryptographic strength computation it might do. | ||||
| Appendix B provides information on algorithms support in older | Appendix B provides information on algorithms support in older | |||
| versions of S/MIME. | versions of S/MIME. | |||
| 2.4. General Syntax | 2.4. General Syntax | |||
| There are several CMS content types. Of these, only the Data, | There are several CMS content types. Of these, only the Data, | |||
| SignedData, EnvelopedData, AuthEnvelopedData, and CompressedData | SignedData, EnvelopedData, AuthEnvelopedData, and CompressedData | |||
| content types are currently used for S/MIME. | content types are currently used for S/MIME. | |||
| skipping to change at page 12, line 37 ¶ | skipping to change at page 12, line 42 ¶ | |||
| Sending agents MUST use the SignedData content type to apply a | Sending agents MUST use the SignedData content type to apply a | |||
| digital signature to a message or, in a degenerate case where there | digital signature to a message or, in a degenerate case where there | |||
| is no signature information, to convey certificates. Applying a | is no signature information, to convey certificates. Applying a | |||
| signature to a message provides authentication, message integrity, | signature to a message provides authentication, message integrity, | |||
| and non-repudiation of origin. | and non-repudiation of origin. | |||
| 2.4.3. EnvelopedData Content Type | 2.4.3. EnvelopedData Content Type | |||
| This content type is used to apply data confidentiality to a message. | This content type is used to apply data confidentiality to a message. | |||
| A sender needs to have access to a public key for each intended | In order to distribute the symmetric key, a sender needs to have | |||
| message recipient to use this service. | access to a public key for each intended message recipient to use | |||
| this service. | ||||
| 2.4.4. AuthEnvelopedData Content Type | 2.4.4. AuthEnvelopedData Content Type | |||
| This content type is used to apply data confidentiality and message | This content type is used to apply data confidentiality and message | |||
| integrity to a message. This content type does not provide | integrity to a message. This content type does not provide | |||
| authentication or non-repudiation. A sender needs to have access to | authentication or non-repudiation. In order to distribute the | |||
| a public key for each intended message recipient to use this service. | symmetric key, a sender needs to have access to a public key for each | |||
| intended message recipient to use this service. | ||||
| 2.4.5. CompressedData Content Type | 2.4.5. CompressedData Content Type | |||
| This content type is used to apply data compression to a message. | This content type is used to apply data compression to a message. | |||
| This content type does not provide authentication, message integrity, | This content type does not provide authentication, message integrity, | |||
| non-repudiation, or data confidentiality, and is only used to reduce | non-repudiation, or data confidentiality, and is only used to reduce | |||
| the message's size. | the message's size. | |||
| See Section 3.7 for further guidance on the use of this type in | See Section 3.7 for further guidance on the use of this type in | |||
| conjunction with other CMS types. | conjunction with other CMS types. | |||
| 2.5. Attributes and the SignerInfo Type | 2.5. Attributes and the SignerInfo Type | |||
| The SignerInfo type allows the inclusion of unsigned and signed | The SignerInfo type allows the inclusion of unsigned and signed | |||
| attributes along with a signature. | attributes along with a signature. These attributes can be required | |||
| for processing of message (i.e. Message Digest), information the | ||||
| signer supplied (i.e. SMIME Capabilities) that should be processed, | ||||
| or attributes which are not relevant in the current situation (i.e. | ||||
| mlExpansionList [RFC2634] for mail viewers). | ||||
| Receiving agents MUST be able to handle zero or one instance of each | Receiving agents MUST be able to handle zero or one instance of each | |||
| of the signed attributes listed here. Sending agents SHOULD generate | of the signed attributes listed here. Sending agents SHOULD generate | |||
| one instance of each of the following signed attributes in each | one instance of each of the following signed attributes in each | |||
| S/MIME message: | S/MIME message: | |||
| - Signing Time (Section 2.5.1 in this document) | - Signing Time (Section 2.5.1 in this document) | |||
| - SMIME Capabilities (Section 2.5.2 in this document) | - SMIME Capabilities (Section 2.5.2 in this document) | |||
| skipping to change at page 13, line 49 ¶ | skipping to change at page 14, line 17 ¶ | |||
| values that they do not recognize in a graceful manner. | values that they do not recognize in a graceful manner. | |||
| Interactive sending agents that include signed attributes that are | Interactive sending agents that include signed attributes that are | |||
| not listed here SHOULD display those attributes to the user, so that | not listed here SHOULD display those attributes to the user, so that | |||
| the user is aware of all of the data being signed. | the user is aware of all of the data being signed. | |||
| 2.5.1. Signing Time Attribute | 2.5.1. Signing Time Attribute | |||
| The signing-time attribute is used to convey the time that a message | The signing-time attribute is used to convey the time that a message | |||
| was signed. The time of signing will most likely be created by a | was signed. The time of signing will most likely be created by a | |||
| message originator and therefore is only as trustworthy as the | signer and therefore is only as trustworthy as that signer. | |||
| originator. | ||||
| Sending agents MUST encode signing time through the year 2049 as | Sending agents MUST encode signing time through the year 2049 as | |||
| UTCTime; signing times in 2050 or later MUST be encoded as | UTCTime; signing times in 2050 or later MUST be encoded as | |||
| GeneralizedTime. When the UTCTime CHOICE is used, S/MIME agents MUST | GeneralizedTime. When the UTCTime CHOICE is used, S/MIME agents MUST | |||
| interpret the year field (YY) as follows: | interpret the year field (YY) as follows: | |||
| If YY is greater than or equal to 50, the year is interpreted as | If YY is greater than or equal to 50, the year is interpreted as | |||
| 19YY; if YY is less than 50, the year is interpreted as 20YY. | 19YY; if YY is less than 50, the year is interpreted as 20YY. | |||
| Receiving agents MUST be able to process signing-time attributes that | Receiving agents MUST be able to process signing-time attributes that | |||
| skipping to change at page 19, line 10 ¶ | skipping to change at page 19, line 25 ¶ | |||
| recipient, | recipient, | |||
| then the sending agent SHOULD use AES-256 GCM because it is a | then the sending agent SHOULD use AES-256 GCM because it is a | |||
| stronger algorithm and is required by S/MIME v4.0. If the sending | stronger algorithm and is required by S/MIME v4.0. If the sending | |||
| agent chooses not to use AES-256 GCM in this step, given the | agent chooses not to use AES-256 GCM in this step, given the | |||
| presumption is that a client implementing AES-GCM would do both | presumption is that a client implementing AES-GCM would do both | |||
| AES-256 and AES-128, it SHOULD use AES-128 CBC. | AES-256 and AES-128, it SHOULD use AES-128 CBC. | |||
| 2.7.2. Choosing Weak Encryption | 2.7.2. Choosing Weak Encryption | |||
| All algorithms that use 112-bit keys are considered by many to be | Algorithms such as RC2 are considered to be weak encryption | |||
| weak encryption. A sending agent that is controlled by a human | algorithms. Algorithms such as TripleDES are not state of the art | |||
| SHOULD allow a human sender to determine the risks of sending data | and are considered to be weaker algorithms than AES. A sending agent | |||
| using a weak encryption algorithm before sending the data, and | that is controlled by a human SHOULD allow a human sender to | |||
| possibly allow the human to use a stronger encryption method such as | determine the risks of sending data using a weaker encryption | |||
| AES GCM or AES CBC. | algorithm before sending the data, and possibly allow the human to | |||
| use a stronger encryption algorithm such as AES GCM or AES CBC even | ||||
| if there is a possibility that the recipient will not be able to | ||||
| process that algorithm. | ||||
| 2.7.3. Multiple Recipients | 2.7.3. Multiple Recipients | |||
| If a sending agent is composing an encrypted message to a group of | If a sending agent is composing an encrypted message to a group of | |||
| recipients where the encryption capabilities of some of the | recipients where the encryption capabilities of some of the | |||
| recipients do not overlap, the sending agent is forced to send more | recipients do not overlap, the sending agent is forced to send more | |||
| than one message. Please note that if the sending agent chooses to | than one message. Please note that if the sending agent chooses to | |||
| send a message encrypted with a strong algorithm, and then send the | send a message encrypted with a strong algorithm, and then send the | |||
| same message encrypted with a weak algorithm, someone watching the | same message encrypted with a weak algorithm, someone watching the | |||
| communications channel could learn the contents of the strongly | communications channel could learn the contents of the strongly | |||
| skipping to change at page 25, line 23 ¶ | skipping to change at page 25, line 29 ¶ | |||
| agent to decode the ASN.1 for the object. The Content-Type header | agent to decode the ASN.1 for the object. The Content-Type header | |||
| field of all application/pkcs7-mime objects SHOULD include the | field of all application/pkcs7-mime objects SHOULD include the | |||
| optional "smime-type" parameter, as described in the following | optional "smime-type" parameter, as described in the following | |||
| sections. | sections. | |||
| 3.2.1. The name and filename Parameters | 3.2.1. The name and filename Parameters | |||
| For the application/pkcs7-mime, sending agents SHOULD emit the | For the application/pkcs7-mime, sending agents SHOULD emit the | |||
| optional "name" parameter to the Content-Type field for compatibility | optional "name" parameter to the Content-Type field for compatibility | |||
| with older systems. Sending agents SHOULD also emit the optional | with older systems. Sending agents SHOULD also emit the optional | |||
| Content-Disposition field [RFC2138] with the "filename" parameter. | Content-Disposition field [RFC2183] with the "filename" parameter. | |||
| If a sending agent emits the above parameters, the value of the | If a sending agent emits the above parameters, the value of the | |||
| parameters SHOULD be a file name with the appropriate extension: | parameters SHOULD be a file name with the appropriate extension: | |||
| Media Type File | Media Type File | |||
| Extension | Extension | |||
| application/pkcs7-mime (SignedData, EnvelopedData, .p7m | application/pkcs7-mime (SignedData, EnvelopedData, .p7m | |||
| AuthEnvelopedData) | AuthEnvelopedData) | |||
| application/pkcs7-mime (degenerate SignedData certificate .p7c | application/pkcs7-mime (degenerate SignedData certificate .p7c | |||
| management message) | management message) | |||
| application/pkcs7-mime (CompressedData) .p7z | application/pkcs7-mime (CompressedData) .p7z | |||
| skipping to change at page 28, line 10 ¶ | skipping to change at page 28, line 10 ¶ | |||
| iJi2lsGPcP2iJ97a4e8kbKQz36zg6Z2i0yx6zYC4mZ7mX7FBs3IWg+f6KgCLx3M1eC | iJi2lsGPcP2iJ97a4e8kbKQz36zg6Z2i0yx6zYC4mZ7mX7FBs3IWg+f6KgCLx3M1eC | |||
| bWx8+MDFbbpXadCDgO8/nUkUNYeNxJtuzubGgzoyEd8Ch4H/dd9gdzTd+taTEgS0ip | bWx8+MDFbbpXadCDgO8/nUkUNYeNxJtuzubGgzoyEd8Ch4H/dd9gdzTd+taTEgS0ip | |||
| dSJuNnkVY4/M652jKKHRLFf02hosdR8wQwYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBA | dSJuNnkVY4/M652jKKHRLFf02hosdR8wQwYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBA | |||
| gtaMXpRwZRNYAgDsiSf8Z9P43LrY4OxUk660cu1lXeCSFOSOpOJ7FuVyU= | gtaMXpRwZRNYAgDsiSf8Z9P43LrY4OxUk660cu1lXeCSFOSOpOJ7FuVyU= | |||
| 3.4. Creating an Authenticated Enveloped-Only Message | 3.4. Creating an Authenticated Enveloped-Only Message | |||
| This section describes the format for enveloping a MIME entity | This section describes the format for enveloping a MIME entity | |||
| without signing it. Authenticated enveloped messages provide | without signing it. Authenticated enveloped messages provide | |||
| confidentiality and data integrity. It is important to note that | confidentiality and data integrity. It is important to note that | |||
| sending authenticated enveloped messages does not provide for | sending authenticated enveloped messages does not provide for proof | |||
| origination when using S/MIME. It is possible for a third party to | of origination when using S/MIME. It is possible for a third party | |||
| replace ciphertext in such a way that the processed message will | to replace ciphertext in such a way that the processed message will | |||
| still be valid, but the meaning can be altered. However this is | still be valid, but the meaning can be altered. However this is | |||
| substantially more difficult than it is for an enveloped-only message | substantially more difficult than it is for an enveloped-only message | |||
| as the algorithm does provide a level of authentication. Any | as the algorithm does provide a level of authentication. Any | |||
| recipient for whom the message is encrypted can replace it without | recipient for whom the message is encrypted can replace it without | |||
| detection. | detection. | |||
| Step 1. The MIME entity to be enveloped is prepared according to | Step 1. The MIME entity to be enveloped is prepared according to | |||
| Section 3.1. | Section 3.1. | |||
| Step 2. The MIME entity and other required data is processed into a | Step 2. The MIME entity and other required data is processed into a | |||
| skipping to change at page 45, line 16 ¶ | skipping to change at page 45, line 16 ¶ | |||
| National Institute of Standards and Technology (NIST), | National Institute of Standards and Technology (NIST), | |||
| "Digital Signature Standard (DSS)", Federal Information | "Digital Signature Standard (DSS)", Federal Information | |||
| Processing Standards Publication 186-4, July 2013. | Processing Standards Publication 186-4, July 2013. | |||
| [I-D.ietf-curdle-cms-ecdh-new-curves] | [I-D.ietf-curdle-cms-ecdh-new-curves] | |||
| Housley, R., "Use of the Elliptic Curve Diffie-Hellman Key | Housley, R., "Use of the Elliptic Curve Diffie-Hellman Key | |||
| Agreement Algorithm with X25519 and X448 in the | Agreement Algorithm with X25519 and X448 in the | |||
| Cryptographic Message Syntax (CMS)", draft-ietf-curdle- | Cryptographic Message Syntax (CMS)", draft-ietf-curdle- | |||
| cms-ecdh-new-curves-10 (work in progress), August 2017. | cms-ecdh-new-curves-10 (work in progress), August 2017. | |||
| [I-D.ietf-curdle-cms-eddsa-signatures] | ||||
| Housley, R., "Use of EdDSA Signatures in the Cryptographic | ||||
| Message Syntax (CMS)", draft-ietf-curdle-cms-eddsa- | ||||
| signatures-08 (work in progress), October 2017. | ||||
| [I-D.ietf-lamps-rfc5750-bis] | [I-D.ietf-lamps-rfc5750-bis] | |||
| Schaad, J., Ramsdell, B., and S. Turner, "Secure/ | Schaad, J., Ramsdell, B., and S. Turner, "Secure/ | |||
| Multipurpose Internet Mail Extensions (S/ MIME) Version | Multipurpose Internet Mail Extensions (S/ MIME) Version | |||
| 4.0 Certificate Handling", draft-ietf-lamps-rfc5750-bis-04 | 4.0 Certificate Handling", draft-ietf-lamps-rfc5750-bis-05 | |||
| (work in progress), April 2017. | (work in progress), April 2018. | |||
| [MIME-SPEC] | [MIME-SPEC] | |||
| "MIME Message Specifications". | "MIME Message Specifications". | |||
| This is the set of documents that define how to use MIME. | This is the set of documents that define how to use MIME. | |||
| This set of documents is [RFC2045], [RFC2046], [RFC2047], | This set of documents is [RFC2045], [RFC2046], [RFC2047], | |||
| [RFC2049], [RFC4288], and [RFC4289]. | [RFC2049], [RFC6838], and [RFC4289]. | |||
| [RFC1847] Galvin, J., Murphy, S., Crocker, S., and N. Freed, | [RFC1847] Galvin, J., Murphy, S., Crocker, S., and N. Freed, | |||
| "Security Multiparts for MIME: Multipart/Signed and | "Security Multiparts for MIME: Multipart/Signed and | |||
| Multipart/Encrypted", RFC 1847, DOI 10.17487/RFC1847, | Multipart/Encrypted", RFC 1847, DOI 10.17487/RFC1847, | |||
| October 1995, <https://www.rfc-editor.org/info/rfc1847>. | October 1995, <https://www.rfc-editor.org/info/rfc1847>. | |||
| [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | |||
| Extensions (MIME) Part One: Format of Internet Message | Extensions (MIME) Part One: Format of Internet Message | |||
| Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, | Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, | |||
| <https://www.rfc-editor.org/info/rfc2045>. | <https://www.rfc-editor.org/info/rfc2045>. | |||
| skipping to change at page 46, line 10 ¶ | skipping to change at page 46, line 15 ¶ | |||
| [RFC2049] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | [RFC2049] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | |||
| Extensions (MIME) Part Five: Conformance Criteria and | Extensions (MIME) Part Five: Conformance Criteria and | |||
| Examples", RFC 2049, DOI 10.17487/RFC2049, November 1996, | Examples", RFC 2049, DOI 10.17487/RFC2049, November 1996, | |||
| <https://www.rfc-editor.org/info/rfc2049>. | <https://www.rfc-editor.org/info/rfc2049>. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC2138] Rigney, C., Rubens, A., Simpson, W., and S. Willens, | [RFC2183] Troost, R., Dorner, S., and K. Moore, Ed., "Communicating | |||
| "Remote Authentication Dial In User Service (RADIUS)", | Presentation Information in Internet Messages: The | |||
| RFC 2138, DOI 10.17487/RFC2138, April 1997, | Content-Disposition Header Field", RFC 2183, | |||
| <https://www.rfc-editor.org/info/rfc2138>. | DOI 10.17487/RFC2183, August 1997, | |||
| <https://www.rfc-editor.org/info/rfc2183>. | ||||
| [RFC2634] Hoffman, P., Ed., "Enhanced Security Services for S/MIME", | [RFC2634] Hoffman, P., Ed., "Enhanced Security Services for S/MIME", | |||
| RFC 2634, DOI 10.17487/RFC2634, June 1999, | RFC 2634, DOI 10.17487/RFC2634, June 1999, | |||
| <https://www.rfc-editor.org/info/rfc2634>. | <https://www.rfc-editor.org/info/rfc2634>. | |||
| [RFC3274] Gutmann, P., "Compressed Data Content Type for | [RFC3274] Gutmann, P., "Compressed Data Content Type for | |||
| Cryptographic Message Syntax (CMS)", RFC 3274, | Cryptographic Message Syntax (CMS)", RFC 3274, | |||
| DOI 10.17487/RFC3274, June 2002, | DOI 10.17487/RFC3274, June 2002, | |||
| <https://www.rfc-editor.org/info/rfc3274>. | <https://www.rfc-editor.org/info/rfc3274>. | |||
| skipping to change at page 46, line 48 ¶ | skipping to change at page 47, line 5 ¶ | |||
| [RFC4056] Schaad, J., "Use of the RSASSA-PSS Signature Algorithm in | [RFC4056] Schaad, J., "Use of the RSASSA-PSS Signature Algorithm in | |||
| Cryptographic Message Syntax (CMS)", RFC 4056, | Cryptographic Message Syntax (CMS)", RFC 4056, | |||
| DOI 10.17487/RFC4056, June 2005, | DOI 10.17487/RFC4056, June 2005, | |||
| <https://www.rfc-editor.org/info/rfc4056>. | <https://www.rfc-editor.org/info/rfc4056>. | |||
| [RFC4086] Eastlake 3rd, D., Schiller, J., and S. Crocker, | [RFC4086] Eastlake 3rd, D., Schiller, J., and S. Crocker, | |||
| "Randomness Requirements for Security", BCP 106, RFC 4086, | "Randomness Requirements for Security", BCP 106, RFC 4086, | |||
| DOI 10.17487/RFC4086, June 2005, | DOI 10.17487/RFC4086, June 2005, | |||
| <https://www.rfc-editor.org/info/rfc4086>. | <https://www.rfc-editor.org/info/rfc4086>. | |||
| [RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and | ||||
| Registration Procedures", RFC 4288, DOI 10.17487/RFC4288, | ||||
| December 2005, <https://www.rfc-editor.org/info/rfc4288>. | ||||
| [RFC4289] Freed, N. and J. Klensin, "Multipurpose Internet Mail | [RFC4289] Freed, N. and J. Klensin, "Multipurpose Internet Mail | |||
| Extensions (MIME) Part Four: Registration Procedures", | Extensions (MIME) Part Four: Registration Procedures", | |||
| BCP 13, RFC 4289, DOI 10.17487/RFC4289, December 2005, | BCP 13, RFC 4289, DOI 10.17487/RFC4289, December 2005, | |||
| <https://www.rfc-editor.org/info/rfc4289>. | <https://www.rfc-editor.org/info/rfc4289>. | |||
| [RFC5035] Schaad, J., "Enhanced Security Services (ESS) Update: | [RFC5035] Schaad, J., "Enhanced Security Services (ESS) Update: | |||
| Adding CertID Algorithm Agility", RFC 5035, | Adding CertID Algorithm Agility", RFC 5035, | |||
| DOI 10.17487/RFC5035, August 2007, | DOI 10.17487/RFC5035, August 2007, | |||
| <https://www.rfc-editor.org/info/rfc5035>. | <https://www.rfc-editor.org/info/rfc5035>. | |||
| skipping to change at page 47, line 38 ¶ | skipping to change at page 47, line 38 ¶ | |||
| [RFC5753] Turner, S. and D. Brown, "Use of Elliptic Curve | [RFC5753] Turner, S. and D. Brown, "Use of Elliptic Curve | |||
| Cryptography (ECC) Algorithms in Cryptographic Message | Cryptography (ECC) Algorithms in Cryptographic Message | |||
| Syntax (CMS)", RFC 5753, DOI 10.17487/RFC5753, January | Syntax (CMS)", RFC 5753, DOI 10.17487/RFC5753, January | |||
| 2010, <https://www.rfc-editor.org/info/rfc5753>. | 2010, <https://www.rfc-editor.org/info/rfc5753>. | |||
| [RFC5754] Turner, S., "Using SHA2 Algorithms with Cryptographic | [RFC5754] Turner, S., "Using SHA2 Algorithms with Cryptographic | |||
| Message Syntax", RFC 5754, DOI 10.17487/RFC5754, January | Message Syntax", RFC 5754, DOI 10.17487/RFC5754, January | |||
| 2010, <https://www.rfc-editor.org/info/rfc5754>. | 2010, <https://www.rfc-editor.org/info/rfc5754>. | |||
| [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type | ||||
| Specifications and Registration Procedures", BCP 13, | ||||
| RFC 6838, DOI 10.17487/RFC6838, January 2013, | ||||
| <https://www.rfc-editor.org/info/rfc6838>. | ||||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | ||||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | ||||
| [SMIMEv4.0] | [SMIMEv4.0] | |||
| "S/MIME version 4.0". | "S/MIME version 4.0". | |||
| This group of documents represents S/MIME version 4.0. | This group of documents represents S/MIME version 4.0. | |||
| This set of documents are [RFC2634], | This set of documents are [RFC2634], | |||
| [I-D.ietf-lamps-rfc5750-bis], [[This Document]], | [I-D.ietf-lamps-rfc5750-bis], [[This Document]], | |||
| [RFC5652], and [RFC5035]. | [RFC5652], and [RFC5035]. | |||
| [X.680] "Information Technology - Abstract Syntax Notation One | [X.680] "Information Technology - Abstract Syntax Notation One | |||
| (ASN.1): Specification of basic notation. ITU-T | (ASN.1): Specification of basic notation. ITU-T | |||
| Recommendation X.680 (2002)", ITU-T X.680, ISO/ | Recommendation X.680 (2002)", ITU-T X.680, ISO/ | |||
| IEC 8824-1:2008, November 2008. | IEC 8824-1:2008, November 2008. | |||
| [X.681] "Information Technology - Abstract Syntax Notation One | [X.681] "Information Technology - Abstract Syntax Notation One | |||
| (ASN.1): Information object specification", ITU-T X.681, | (ASN.1): Information object specification", ITU-T X.681, | |||
| End of changes. 36 change blocks. | ||||
| 58 lines changed or deleted | 87 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/ | ||||