draft-ietf-lamps-rfc5751-bis-08.txt | draft-ietf-lamps-rfc5751-bis-09.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: November 3, 2018 S. Turner | Expires: November 23, 2018 S. Turner | |||
sn3rd | sn3rd | |||
May 2, 2018 | May 22, 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-08 | draft-ietf-lamps-rfc5751-bis-09 | |||
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 November 3, 2018. | This Internet-Draft will expire on November 23, 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 3, line 44 ¶ | skipping to change at page 3, line 44 ¶ | |||
4.1. Key Pair Generation . . . . . . . . . . . . . . . . . . . 37 | 4.1. Key Pair Generation . . . . . . . . . . . . . . . . . . . 37 | |||
4.2. Signature Generation . . . . . . . . . . . . . . . . . . 37 | 4.2. Signature Generation . . . . . . . . . . . . . . . . . . 37 | |||
4.3. Signature Verification . . . . . . . . . . . . . . . . . 37 | 4.3. Signature Verification . . . . . . . . . . . . . . . . . 37 | |||
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 . . . . . . . . . . . . . . . . . . . . . . . . . 45 | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 44 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 45 | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 48 | 7.2. Informative References . . . . . . . . . . . . . . . . . 49 | |||
Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 52 | Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 52 | |||
Appendix B. Historic Mail Considerations . . . . . . . . . . . . 54 | Appendix B. Historic Mail Considerations . . . . . . . . . . . . 54 | |||
B.1. DigestAlgorithmIdentifier . . . . . . . . . . . . . . . . 54 | B.1. DigestAlgorithmIdentifier . . . . . . . . . . . . . . . . 55 | |||
B.2. Signature Algorithms . . . . . . . . . . . . . . . . . . 54 | B.2. Signature Algorithms . . . . . . . . . . . . . . . . . . 55 | |||
B.3. ContentEncryptionAlgorithmIdentifier . . . . . . . . . . 56 | B.3. ContentEncryptionAlgorithmIdentifier . . . . . . . . . . 57 | |||
B.4. KeyEncryptionAlgorithmIdentifier . . . . . . . . . . . . 56 | B.4. KeyEncryptionAlgorithmIdentifier . . . . . . . . . . . . 57 | |||
Appendix C. Moving S/MIME v2 Message Specification to Historic | Appendix C. Moving S/MIME v2 Message Specification to Historic | |||
Status . . . . . . . . . . . . . . . . . . . . . . . 57 | Status . . . . . . . . . . . . . . . . . . . . . . . 57 | |||
Appendix D. Acknowledgments . . . . . . . . . . . . . . . . . . 57 | Appendix D. Acknowledgments . . . . . . . . . . . . . . . . . . 58 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 58 | |||
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 message | encryption). As a supplementary service, S/MIME provides message | |||
skipping to change at page 44, line 28 ¶ | skipping to change at page 44, line 28 ¶ | |||
the message does not provide this information. | the message does not provide this information. | |||
When compression is used with encryption, it has the potential to add | When compression is used with encryption, it has the potential to add | |||
an additional layer of security. However, care needs to be taken | an additional layer of security. However, care needs to be taken | |||
when designing a protocol that relies on this not to create a | when designing a protocol that relies on this not to create a | |||
compression oracle. Compression oracle attacks require an adaptive | compression oracle. Compression oracle attacks require an adaptive | |||
input to the process and attack the unknown content of a message | input to the process and attack the unknown content of a message | |||
based on the length of the compressed output, this means that no | based on the length of the compressed output, this means that no | |||
attack on the encryption key is necessarily required. | attack on the encryption key is necessarily required. | |||
A recent paper on S/MIME and OpenPGP Email security [Efail] has | ||||
pointed out a number of problems with the current S/MIME | ||||
specifications and how people have implemented mail clients. Due to | ||||
the nature of how CBC mode operates, the modes allow for malleability | ||||
of plaintexts. This malleability allows for attackers to make | ||||
changes in the cipher text and, if parts of the plain text are known, | ||||
create arbitrary plaintexts blocks. These changes can be made | ||||
without the weak integrity check in CBC mode being triggered. This | ||||
type of attack can be prevented by the use of an AEAD algorithm with | ||||
a more robust integrity check on the decryption process. It is | ||||
therefore recommended that mail systems migrate to using AES-GCM as | ||||
quickly as possible and that the decrypted content not be acted on | ||||
prior to finishing the integrity check. | ||||
The other attack that is highlighted in [Efail] is an error in how | ||||
mail clients deal with HTML and multipart/mixed messages. Clients | ||||
MUST require that a text/html content type is a complete HTML | ||||
document (per [RFC1866]). Clients SHOULD treat each of the different | ||||
pieces of the multipart/mixed construct as being of different | ||||
origins. Clients MUST treat each encrypted or signed piece of a MIME | ||||
message as being of different origins both from unprotected content | ||||
and from each other. | ||||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
[ASN.1] "Information Technology - Abstract Syntax Notation | [ASN.1] "Information Technology - Abstract Syntax Notation | |||
(ASN.1)". | (ASN.1)". | |||
ASN.1 syntax consists of the following references [X.680], | ASN.1 syntax consists of the following references [X.680], | |||
[X.681], [X.682], and [X.683]. | [X.681], [X.682], and [X.683]. | |||
skipping to change at page 45, line 24 ¶ | skipping to change at page 45, line 49 ¶ | |||
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] | [I-D.ietf-curdle-cms-eddsa-signatures] | |||
Housley, R., "Use of EdDSA Signatures in the Cryptographic | Housley, R., "Use of EdDSA Signatures in the Cryptographic | |||
Message Syntax (CMS)", draft-ietf-curdle-cms-eddsa- | Message Syntax (CMS)", draft-ietf-curdle-cms-eddsa- | |||
signatures-08 (work in progress), October 2017. | 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-05 | 4.0 Certificate Handling", draft-ietf-lamps-rfc5750-bis-06 | |||
(work in progress), April 2018. | (work in progress), May 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], [RFC6838], 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 | |||
skipping to change at page 48, line 32 ¶ | skipping to change at page 49, line 12 ¶ | |||
(ASN.1): Parameterization of ASN.1 specifications", | (ASN.1): Parameterization of ASN.1 specifications", | |||
ITU-T X.683, ISO/IEC 8824-4:2008, November 2008. | ITU-T X.683, ISO/IEC 8824-4:2008, November 2008. | |||
[X.690] "Information Technology - ASN.1 encoding rules: | [X.690] "Information Technology - ASN.1 encoding rules: | |||
Specification of Basic Encoding Rules (BER), Canonical | Specification of Basic Encoding Rules (BER), Canonical | |||
Encoding Rules (CER) and Distinguished Encoding Rules | Encoding Rules (CER) and Distinguished Encoding Rules | |||
(DER).", ITU-T X.690, ISO/IEC 8825-1:2002, July 2002. | (DER).", ITU-T X.690, ISO/IEC 8825-1:2002, July 2002. | |||
7.2. Informative References | 7.2. Informative References | |||
[Efail] Poddebniak, D., Muller, J., Dresen, C., Ising, F., | ||||
Schinzel, S., Friedberger, S., Somorovsky, J., and J. | ||||
Schwenk, "Efail: Breaking S/MIME and OpenPGP Email | ||||
Encryption using Exfiltration Channels", Work in | ||||
Progress , May 2018. | ||||
[FIPS186-2] | [FIPS186-2] | |||
National Institute of Standards and Technology (NIST), | National Institute of Standards and Technology (NIST), | |||
"Digital Signature Standard (DSS) [With Change Notice 1]", | "Digital Signature Standard (DSS) [With Change Notice 1]", | |||
Federal Information Processing Standards | Federal Information Processing Standards | |||
Publication 186-2, January 2000. | Publication 186-2, January 2000. | |||
[RFC1866] Berners-Lee, T. and D. Connolly, "Hypertext Markup | ||||
Language - 2.0", RFC 1866, DOI 10.17487/RFC1866, November | ||||
1995, <https://www.rfc-editor.org/info/rfc1866>. | ||||
[RFC2268] Rivest, R., "A Description of the RC2(r) Encryption | [RFC2268] Rivest, R., "A Description of the RC2(r) Encryption | |||
Algorithm", RFC 2268, DOI 10.17487/RFC2268, March 1998, | Algorithm", RFC 2268, DOI 10.17487/RFC2268, March 1998, | |||
<https://www.rfc-editor.org/info/rfc2268>. | <https://www.rfc-editor.org/info/rfc2268>. | |||
[RFC2311] Dusse, S., Hoffman, P., Ramsdell, B., Lundblade, L., and | [RFC2311] Dusse, S., Hoffman, P., Ramsdell, B., Lundblade, L., and | |||
L. Repka, "S/MIME Version 2 Message Specification", | L. Repka, "S/MIME Version 2 Message Specification", | |||
RFC 2311, DOI 10.17487/RFC2311, March 1998, | RFC 2311, DOI 10.17487/RFC2311, March 1998, | |||
<https://www.rfc-editor.org/info/rfc2311>. | <https://www.rfc-editor.org/info/rfc2311>. | |||
[RFC2312] Dusse, S., Hoffman, P., Ramsdell, B., and J. Weinstein, | [RFC2312] Dusse, S., Hoffman, P., Ramsdell, B., and J. Weinstein, | |||
End of changes. 11 change blocks. | ||||
15 lines changed or deleted | 48 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |