draft-ietf-uta-tls-bcp-03.txt | draft-ietf-uta-tls-bcp-04.txt | |||
---|---|---|---|---|
UTA Y. Sheffer | UTA Y. Sheffer | |||
Internet-Draft Porticor | Internet-Draft Porticor | |||
Intended status: Best Current Practice R. Holz | Intended status: Best Current Practice R. Holz | |||
Expires: March 25, 2015 TUM | Expires: April 3, 2015 TUM | |||
P. Saint-Andre | P. Saint-Andre | |||
&yet | &yet | |||
September 21, 2014 | September 30, 2014 | |||
Recommendations for Secure Use of TLS and DTLS | Recommendations for Secure Use of TLS and DTLS | |||
draft-ietf-uta-tls-bcp-03 | draft-ietf-uta-tls-bcp-04 | |||
Abstract | Abstract | |||
Transport Layer Security (TLS) and Datagram Transport Security Layer | Transport Layer Security (TLS) and Datagram Transport Security Layer | |||
(DTLS) are widely used to protect data exchanged over application | (DTLS) are widely used to protect data exchanged over application | |||
protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP. Over the | protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP. Over the | |||
last few years, several serious attacks on TLS have emerged, | last few years, several serious attacks on TLS have emerged, | |||
including attacks on its most commonly used cipher suites and modes | including attacks on its most commonly used cipher suites and modes | |||
of operation. This document provides recommendations for improving | of operation. This document provides recommendations for improving | |||
the security of both software implementations and deployed services | the security of deployed services that use TLS and DTLS. The | |||
that use TLS and DTLS. | recommendations are applicable to the majority of use cases. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 March 25, 2015. | This Internet-Draft will expire on April 3, 2015. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2014 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 | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Intended Audience . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Intended Audience and Applicability Statement . . . . . . . . 4 | |||
2.1. Security Services . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Security Services . . . . . . . . . . . . . . . . . . . . 4 | |||
2.2. Examples . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.2. Examples . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Conventions used in this document . . . . . . . . . . . . . . 4 | 3. Conventions used in this document . . . . . . . . . . . . . . 5 | |||
4. General Recommendations . . . . . . . . . . . . . . . . . . . 5 | 4. General Recommendations . . . . . . . . . . . . . . . . . . . 5 | |||
4.1. Protocol Versions . . . . . . . . . . . . . . . . . . . . 5 | 4.1. Protocol Versions . . . . . . . . . . . . . . . . . . . . 5 | |||
4.2. Applicability to DTLS . . . . . . . . . . . . . . . . . . 5 | 4.2. Applicability to DTLS . . . . . . . . . . . . . . . . . . 6 | |||
4.3. Fallback to SSL . . . . . . . . . . . . . . . . . . . . . 6 | 4.3. Fallback to SSL . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.4. Strict TLS . . . . . . . . . . . . . . . . . . . . . . . 6 | 4.4. Strict TLS . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.5. Compression . . . . . . . . . . . . . . . . . . . . . . . 6 | 4.5. Compression . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
4.6. TLS Session Resumption . . . . . . . . . . . . . . . . . 7 | 4.6. TLS Session Resumption . . . . . . . . . . . . . . . . . 7 | |||
4.7. TLS Renegotiation . . . . . . . . . . . . . . . . . . . . 7 | 4.7. TLS Renegotiation . . . . . . . . . . . . . . . . . . . . 7 | |||
4.8. Server Name Indication . . . . . . . . . . . . . . . . . 7 | 4.8. Server Name Indication . . . . . . . . . . . . . . . . . 8 | |||
5. Recommendations: Cipher Suites . . . . . . . . . . . . . . . 7 | 5. Recommendations: Cipher Suites . . . . . . . . . . . . . . . 8 | |||
5.1. General Guidelines . . . . . . . . . . . . . . . . . . . 8 | 5.1. General Guidelines . . . . . . . . . . . . . . . . . . . 8 | |||
5.2. Recommended Cipher Suites . . . . . . . . . . . . . . . . 9 | 5.2. Recommended Cipher Suites . . . . . . . . . . . . . . . . 9 | |||
5.3. Cipher Suite Negotiation Details . . . . . . . . . . . . 9 | 5.3. Cipher Suite Negotiation Details . . . . . . . . . . . . 10 | |||
5.4. Public Key Length . . . . . . . . . . . . . . . . . . . . 10 | 5.4. Public Key Length . . . . . . . . . . . . . . . . . . . . 10 | |||
5.5. Modular vs. Elliptic Curve DH Cipher Suites . . . . . . . 10 | 5.5. Modular vs. Elliptic Curve DH Cipher Suites . . . . . . . 11 | |||
5.6. Truncated HMAC . . . . . . . . . . . . . . . . . . . . . 11 | 5.6. Truncated HMAC . . . . . . . . . . . . . . . . . . . . . 11 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
7.1. Host Name Validation . . . . . . . . . . . . . . . . . . 11 | 7.1. Host Name Validation . . . . . . . . . . . . . . . . . . 12 | |||
7.2. AES-GCM . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 7.2. AES-GCM . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
7.3. Forward Secrecy . . . . . . . . . . . . . . . . . . . . . 12 | 7.3. Forward Secrecy . . . . . . . . . . . . . . . . . . . . . 12 | |||
7.4. Diffie Hellman Exponent Reuse . . . . . . . . . . . . . . 13 | 7.4. Diffie Hellman Exponent Reuse . . . . . . . . . . . . . . 13 | |||
7.5. Certificate Revocation . . . . . . . . . . . . . . . . . 13 | 7.5. Certificate Revocation . . . . . . . . . . . . . . . . . 14 | |||
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 14 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 15 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 15 | 9.2. Informative References . . . . . . . . . . . . . . . . . 15 | |||
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 17 | Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 18 | |||
A.1. draft-ietf-uta-tls-bcp-03 . . . . . . . . . . . . . . . . 17 | A.1. draft-ietf-uta-tls-bcp-04 . . . . . . . . . . . . . . . . 18 | |||
A.2. draft-ietf-uta-tls-bcp-02 . . . . . . . . . . . . . . . . 17 | A.2. draft-ietf-uta-tls-bcp-03 . . . . . . . . . . . . . . . . 18 | |||
A.3. draft-ietf-tls-bcp-01 . . . . . . . . . . . . . . . . . . 18 | A.3. draft-ietf-uta-tls-bcp-02 . . . . . . . . . . . . . . . . 18 | |||
A.4. draft-ietf-tls-bcp-00 . . . . . . . . . . . . . . . . . . 18 | A.4. draft-ietf-tls-bcp-01 . . . . . . . . . . . . . . . . . . 18 | |||
A.5. draft-sheffer-tls-bcp-02 . . . . . . . . . . . . . . . . 18 | A.5. draft-ietf-tls-bcp-00 . . . . . . . . . . . . . . . . . . 19 | |||
A.6. draft-sheffer-tls-bcp-01 . . . . . . . . . . . . . . . . 18 | A.6. draft-sheffer-tls-bcp-02 . . . . . . . . . . . . . . . . 19 | |||
A.7. draft-sheffer-tls-bcp-00 . . . . . . . . . . . . . . . . 19 | A.7. draft-sheffer-tls-bcp-01 . . . . . . . . . . . . . . . . 19 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 | A.8. draft-sheffer-tls-bcp-00 . . . . . . . . . . . . . . . . 20 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 | ||||
1. Introduction | 1. Introduction | |||
Transport Layer Security (TLS) and Datagram Transport Security Layer | Transport Layer Security (TLS) and Datagram Transport Security Layer | |||
(DTLS) are widely used to protect data exchanged over application | (DTLS) are widely used to protect data exchanged over application | |||
protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP. Over the | protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP. Over the | |||
last few years, several serious attacks on TLS have emerged, | last few years, several serious attacks on TLS have emerged, | |||
including attacks on its most commonly used cipher suites and modes | including attacks on its most commonly used cipher suites and modes | |||
of operation. For instance, both AES-CBC and RC4, which together | of operation. For instance, both AES-CBC and RC4, which together | |||
comprise most current usage, have been attacked in the context of | comprise most current usage, have been attacked in the context of | |||
TLS. A companion document [I-D.ietf-uta-tls-attacks] provides | TLS. A companion document [I-D.ietf-uta-tls-attacks] provides | |||
detailed information about these attacks. | detailed information about these attacks. | |||
Because of these attacks, those who implement and deploy TLS and DTLS | Because of these attacks, those who implement and deploy TLS and DTLS | |||
need updated guidance on how TLS can be used securely. Note that | need updated guidance on how TLS can be used securely. Note that | |||
this document provides guidance for deployed services, as well as | this document provides guidance for deployed services, as well as | |||
software implementations. In fact, this document calls for the | software implementations, assuming the implementer expects his or her | |||
deployment of algorithms that are widely implemented but not yet | code to be deployed in environments defined in the following section. | |||
widely deployed. Concerning deployment, this document targets a wide | In fact, this document calls for the deployment of algorithms that | |||
audience, namely all deployers who wish to add authentication, | are widely implemented but not yet widely deployed. Concerning | |||
confidentiality and data integrity to their communications. This | deployment, this document targets a wide audience, namely all | |||
document does not address the rare deployment scenarios where one of | deployers who wish to add confidentiality and data integrity | |||
these three properties is not desired. | protection to their communications. In many (but not all) cases | |||
authentication is also desired. This document does not address the | ||||
rare deployment scenarios where no confidentiality is desired. | ||||
The recommendations herein take into consideration the security of | The recommendations herein take into consideration the security of | |||
various mechanisms, their technical maturity and interoperability, | various mechanisms, their technical maturity and interoperability, | |||
and their prevalence in implementations at the time of writing. | and their prevalence in implementations at the time of writing. | |||
Unless noted otherwise, these recommendations apply to both TLS and | Unless noted otherwise, these recommendations apply to both TLS and | |||
DTLS. TLS 1.3, when it is standardized and deployed in the field, | DTLS. TLS 1.3, when it is standardized and deployed in the field, | |||
should resolve the current vulnerabilities while providing | should resolve the current vulnerabilities while providing | |||
significantly better functionality, and will very likely obsolete | significantly better functionality, and will very likely obsolete | |||
this document. | this document. | |||
skipping to change at page 4, line 5 | skipping to change at page 4, line 5 | |||
specified audience. Individual specifications may have stricter | specified audience. Individual specifications may have stricter | |||
requirements related to one or more aspects of the protocol, based on | requirements related to one or more aspects of the protocol, based on | |||
their particular circumstances. When that is the case, implementers | their particular circumstances. When that is the case, implementers | |||
MUST adhere to those stricter requirements. | MUST adhere to those stricter requirements. | |||
Community knowledge about the strength of various algorithms and | Community knowledge about the strength of various algorithms and | |||
feasible attacks can change quickly, and experience shows that a | feasible attacks can change quickly, and experience shows that a | |||
security BCP is a point-in-time statement. Readers are advised to | security BCP is a point-in-time statement. Readers are advised to | |||
seek out any errata or updates that apply to this document. | seek out any errata or updates that apply to this document. | |||
2. Intended Audience | 2. Intended Audience and Applicability Statement | |||
In the following, we specify which audience this document addresses | In the following, we specify which audience this document addresses | |||
concerning deployment. Most deployers are very likely part of this | concerning deployment. This document applies only to environments | |||
audience, but very specialized use cases of TLS that are outside of | where confidentiality is required. It recommends algorithms and | |||
the intended audience can exist. | configuration options that make secrecy of the data-in-transit | |||
mandatory. While this includes the majority of the TLS use cases, | ||||
there are some notable exceptions. | ||||
This document assumes that data integrity protection is always one of | ||||
the goals of a deployment. In cases when integrity is not required, | ||||
it does not make sense to employ TLS in the first place. There are | ||||
attacks against confidentiality-only protection that utilize the lack | ||||
of integrity to also break confidentiality (see e.g. [DegabrieleP07] | ||||
in the context of IPsec). Thus, even when using opportunistic | ||||
encryption, it is essential to provide cryptographic data integrity | ||||
protection | ||||
2.1. Security Services | 2.1. Security Services | |||
This document provides recommendations for an audience that wishes to | This document provides recommendations for an audience that wishes to | |||
secure their communication with TLS to achieve the following: | secure their communication with TLS to achieve the following: | |||
o Authentication: this means that an end-point of the TLS | ||||
communication is authenticated as the intended entity to | ||||
communicate with. TLS allows to authenticate one or both end- | ||||
points in the communication. | ||||
o Confidentiality: all (payload) communication is encrypted with the | o Confidentiality: all (payload) communication is encrypted with the | |||
goal that no party should be able to decrypt it except the | goal that no party should be able to decrypt it except the | |||
intended receiver. | intended receiver. | |||
o Data integrity: any changes made to the communication are | o Data integrity: any changes made to the communication are | |||
detectable by the receiver. | detectable by the receiver. | |||
Deployers MUST verify that they do not need one of these three | o Optionally, authentication: this means that an end-point of the | |||
properties if they deviate from the recommendations given in this | TLS communication is authenticated as the intended entity to | |||
communicate with. TLS allows to authenticate one or both end- | ||||
points in the communication. | ||||
Deployers MUST verify that they do not need one of the above security | ||||
services if they deviate from the recommendations given in this | ||||
document. | document. | |||
2.2. Examples | 2.2. Examples | |||
The intended audience covers those services that are most commonly | The intended audience covers those services that are most commonly | |||
used on the Internet, among many others: | used on the Internet. Typically, all communication between clients | |||
and servers requires all three of the above security services. | ||||
o Operators of WWW servers (HTTPS). | o Operators of WWW servers (HTTPS). | |||
o Operators of email servers (SMTPS, IMAPS, POPS). | o Operators of email servers who wish to protect the application- | |||
layer protocols with TLS (e.g., IMAP, POP3, or SMTP between client | ||||
and server). | ||||
o Operators of instant-messaging services (XMPPS, IRCS). | o Operators of instant-messaging services who wish to protect their | |||
application-layer protocols with TLS (e.g. XMPP or IRC between | ||||
client and server). | ||||
An example of an audience not needing confidentiality is the | ||||
following: a monitored network where the authorities in charge of | ||||
that traffic domain require full access to unencrypted (plaintext) | ||||
traffic, and where users collaborate and send their traffic in the | ||||
clear. | ||||
3. Conventions used in this document | 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", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
4. General Recommendations | 4. General Recommendations | |||
This section provides general recommendations on the secure use of | This section provides general recommendations on the secure use of | |||
skipping to change at page 6, line 32 | skipping to change at page 6, line 50 | |||
Combining unprotected and TLS-protected communication opens the way | Combining unprotected and TLS-protected communication opens the way | |||
to SSL Stripping and similar attacks. Therefore: | to SSL Stripping and similar attacks. Therefore: | |||
o In cases where an application protocol allows implementations or | o In cases where an application protocol allows implementations or | |||
deployments a choice between strict TLS configuration and dynamic | deployments a choice between strict TLS configuration and dynamic | |||
upgrade from unencrypted to TLS-protected traffic (such as | upgrade from unencrypted to TLS-protected traffic (such as | |||
STARTTLS), clients and servers SHOULD prefer strict TLS | STARTTLS), clients and servers SHOULD prefer strict TLS | |||
configuration. | configuration. | |||
o Client and server implementations MUST support the HTTP Strict | o HTTP client and server implementations MUST support the HTTP | |||
Transport Security (HSTS) header [RFC6797], in order to allow Web | Strict Transport Security (HSTS) header [RFC6797], in order to | |||
servers to advertise that they are willing to accept TLS-only | allow Web servers to advertise that they are willing to accept | |||
clients. | TLS-only clients. | |||
o When applicable, Web servers SHOULD use HSTS to indicate that they | o When applicable, Web servers SHOULD use HSTS to indicate that they | |||
are willing to accept TLS-only clients. | are willing to accept TLS-only clients. | |||
4.5. Compression | 4.5. Compression | |||
Implementations and deployments SHOULD disable TLS-level compression | Implementations and deployments SHOULD disable TLS-level compression | |||
([RFC5246], Sec. 6.2.2), because it has been subject to security | ([RFC5246], Sec. 6.2.2), because it has been subject to security | |||
attacks. | attacks. | |||
skipping to change at page 12, line 5 | skipping to change at page 12, line 29 | |||
It is noted that the requirements regarding host name validation (and | It is noted that the requirements regarding host name validation (and | |||
in general, binding between the TLS layer and the protocol that runs | in general, binding between the TLS layer and the protocol that runs | |||
above it) vary between different protocols. For HTTPS, these | above it) vary between different protocols. For HTTPS, these | |||
requirements are defined by Sec. 3 of [RFC2818]. | requirements are defined by Sec. 3 of [RFC2818]. | |||
Readers are referred to [RFC6125] for further details regarding | Readers are referred to [RFC6125] for further details regarding | |||
generic host name validation in the TLS context. In addition, the | generic host name validation in the TLS context. In addition, the | |||
RFC contains a long list of example protocols, some of which | RFC contains a long list of example protocols, some of which | |||
implement a policy very different from HTTPS. | implement a policy very different from HTTPS. | |||
With some protocols, the host name is obtained indirectly and in an | If the host name is discovered indirectly and in an insecure manner | |||
insecure manner, e.g. by an insecure DNS query for an MX record. In | (e.g., by an insecure DNS query for an MX or SRV record), it SHOULD | |||
these cases, the host name SHOULD NOT be used as a trusted identity | NOT be used as a reference identifier [RFC6125] even when it matches | |||
even when it matches the presented certificate. | the presented certificate. This proviso does not apply if the host | |||
name is discovered securely (for further discussion, see for example | ||||
[I-D.ietf-dane-srv] and [I-D.ietf-dane-smtp]). | ||||
7.2. AES-GCM | 7.2. AES-GCM | |||
Sec. Section 5.2 above recommends the use of the AES-GCM | Sec. Section 5.2 above recommends the use of the AES-GCM | |||
authenticated encryption algorithm. Please refer to [RFC5246], Sec. | authenticated encryption algorithm. Please refer to [RFC5246], Sec. | |||
11 for general security considerations when using TLS 1.2, and to | 11 for general security considerations when using TLS 1.2, and to | |||
[RFC5288], Sec. 6 for security considerations that apply specifically | [RFC5288], Sec. 6 for security considerations that apply specifically | |||
to AES-GCM when used with TLS. | to AES-GCM when used with TLS. | |||
7.3. Forward Secrecy | 7.3. Forward Secrecy | |||
skipping to change at page 14, line 21 | skipping to change at page 14, line 46 | |||
browser's configuration database cannot scale beyond a small | browser's configuration database cannot scale beyond a small | |||
number of the most heavily used Web servers. | number of the most heavily used Web servers. | |||
The current consensus appears to be that OCSP stapling, combined with | The current consensus appears to be that OCSP stapling, combined with | |||
a "must staple" mechanism similar to HSTS, would finally resolve this | a "must staple" mechanism similar to HSTS, would finally resolve this | |||
problem; in particular when used together with the extension defined | problem; in particular when used together with the extension defined | |||
in [RFC6961]. But such a mechanism has not been standardized yet. | in [RFC6961]. But such a mechanism has not been standardized yet. | |||
8. Acknowledgments | 8. Acknowledgments | |||
We would like to thank Viktor Dukhovni, Stephen Farrell, Simon | We would like to thank Uri Blumenthal, Viktor Dukhovni, Stephen | |||
Josefsson, Watson Ladd, Orit Levin, Johannes Merkle, Bodo Moeller, | Farrell, Simon Josefsson, Watson Ladd, Orit Levin, Johannes Merkle, | |||
Yoav Nir, Kenny Paterson, Patrick Pelletier, Tom Ritter, Rich Salz, | Bodo Moeller, Yoav Nir, Kenny Paterson, Patrick Pelletier, Tom | |||
Aaron Zauner for their review and improvements. Thanks to Brian | Ritter, Rich Salz, Aaron Zauner for their review and improvements. | |||
Smith whose "browser cipher suites" page is a great resource. | Thanks to Brian Smith whose "browser cipher suites" page is a great | |||
Finally, thanks to all others who commented on the TLS, UTA and other | resource. Finally, thanks to all others who commented on the TLS, | |||
lists and are not mentioned here by name. | UTA and other lists and are not mentioned here by name. | |||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[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, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000. | [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000. | |||
skipping to change at page 14, line 49 | skipping to change at page 15, line 25 | |||
Moeller, "Elliptic Curve Cryptography (ECC) Cipher Suites | Moeller, "Elliptic Curve Cryptography (ECC) Cipher Suites | |||
for Transport Layer Security (TLS)", RFC 4492, May 2006. | for Transport Layer Security (TLS)", RFC 4492, May 2006. | |||
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | |||
(TLS) Protocol Version 1.2", RFC 5246, August 2008. | (TLS) Protocol Version 1.2", RFC 5246, August 2008. | |||
[RFC5288] Salowey, J., Choudhury, A., and D. McGrew, "AES Galois | [RFC5288] Salowey, J., Choudhury, A., and D. McGrew, "AES Galois | |||
Counter Mode (GCM) Cipher Suites for TLS", RFC 5288, | Counter Mode (GCM) Cipher Suites for TLS", RFC 5288, | |||
August 2008. | August 2008. | |||
[RFC5289] Rescorla, E., "TLS Elliptic Curve Cipher Suites with | [RFC5289] Rescorla, E., "TLS Elliptic Curve Cipher Suites with SHA- | |||
SHA-256/384 and AES Galois Counter Mode (GCM)", RFC 5289, | 256/384 and AES Galois Counter Mode (GCM)", RFC 5289, | |||
August 2008. | August 2008. | |||
[RFC5746] Rescorla, E., Ray, M., Dispensa, S., and N. Oskov, | [RFC5746] Rescorla, E., Ray, M., Dispensa, S., and N. Oskov, | |||
"Transport Layer Security (TLS) Renegotiation Indication | "Transport Layer Security (TLS) Renegotiation Indication | |||
Extension", RFC 5746, February 2010. | Extension", RFC 5746, February 2010. | |||
[RFC6125] Saint-Andre, P. and J. Hodges, "Representation and | [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and | |||
Verification of Domain-Based Application Service Identity | Verification of Domain-Based Application Service Identity | |||
within Internet Public Key Infrastructure Using X.509 | within Internet Public Key Infrastructure Using X.509 | |||
(PKIX) Certificates in the Context of Transport Layer | (PKIX) Certificates in the Context of Transport Layer | |||
skipping to change at page 15, line 29 | skipping to change at page 16, line 5 | |||
Security Version 1.2", RFC 6347, January 2012. | Security Version 1.2", RFC 6347, January 2012. | |||
9.2. Informative References | 9.2. Informative References | |||
[CAB-Baseline] | [CAB-Baseline] | |||
CA/Browser Forum, , "Baseline Requirements for the | CA/Browser Forum, , "Baseline Requirements for the | |||
Issuance and Management of Publicly-Trusted Certificates | Issuance and Management of Publicly-Trusted Certificates | |||
Version 1.1.6", 2013, <https://www.cabforum.org/ | Version 1.1.6", 2013, <https://www.cabforum.org/ | |||
documents.html>. | documents.html>. | |||
[DegabrieleP07] | ||||
Degabriele, J. and K. Paterson, "Attacking the IPsec | ||||
standards in encryption-only configurations", 2007, | ||||
<http://dx.doi.org/10.1109/SP.2007.8>. | ||||
[Heninger2012] | [Heninger2012] | |||
Heninger, N., Durumeric, Z., Wustrow, E., and J. | Heninger, N., Durumeric, Z., Wustrow, E., and J. | |||
Halderman, "Mining Your Ps and Qs: Detection of Widespread | Halderman, "Mining Your Ps and Qs: Detection of Widespread | |||
Weak Keys in Network Devices", Usenix Security Symposium | Weak Keys in Network Devices", Usenix Security Symposium | |||
2012, 2012. | 2012, 2012. | |||
[I-D.ietf-dane-smtp] | ||||
Finch, T., "Secure SMTP using DNS-Based Authentication of | ||||
Named Entities (DANE) TLSA records.", draft-ietf-dane- | ||||
smtp-01 (work in progress), February 2013. | ||||
[I-D.ietf-dane-srv] | ||||
Finch, T., Miller, M., and P. Saint-Andre, "Using DNS- | ||||
Based Authentication of Named Entities (DANE) TLSA Records | ||||
with SRV Records", draft-ietf-dane-srv-07 (work in | ||||
progress), July 2014. | ||||
[I-D.ietf-tls-prohibiting-rc4] | [I-D.ietf-tls-prohibiting-rc4] | |||
Popov, A., "Prohibiting RC4 Cipher Suites", draft-ietf- | Popov, A., "Prohibiting RC4 Cipher Suites", draft-ietf- | |||
tls-prohibiting-rc4-00 (work in progress), July 2014. | tls-prohibiting-rc4-00 (work in progress), July 2014. | |||
[I-D.ietf-uta-tls-attacks] | [I-D.ietf-uta-tls-attacks] | |||
Sheffer, Y., Holz, R., and P. Saint-Andre, "Summarizing | Sheffer, Y., Holz, R., and P. Saint-Andre, "Summarizing | |||
Current Attacks on TLS and DTLS", draft-ietf-uta-tls- | Current Attacks on TLS and DTLS", draft-ietf-uta-tls- | |||
attacks-01 (work in progress), June 2014. | attacks-04 (work in progress), September 2014. | |||
[Kleinjung2010] | [Kleinjung2010] | |||
Kleinjung, T., "Factorization of a 768-Bit RSA Modulus", | Kleinjung, T., "Factorization of a 768-Bit RSA Modulus", | |||
CRYPTO 10, 2010, <https://eprint.iacr.org/2010/006.pdf>. | CRYPTO 10, 2010, <https://eprint.iacr.org/2010/006.pdf>. | |||
[PatersonRS11] | [PatersonRS11] | |||
Paterson, K., Ristenpart, T., and T. Shrimpton, "Tag size | Paterson, K., Ristenpart, T., and T. Shrimpton, "Tag size | |||
does matter: attacks and proofs for the TLS record | does matter: attacks and proofs for the TLS record | |||
protocol", 2011, | protocol", 2011, | |||
<http://dx.doi.org/10.1007/978-3-642-25385-0_20>. | <http://dx.doi.org/10.1007/978-3-642-25385-0_20>. | |||
skipping to change at page 17, line 15 | skipping to change at page 18, line 9 | |||
[triple-handshake] | [triple-handshake] | |||
Delignat-Lavaud, A., Bhargavan, K., and A. Pironti, | Delignat-Lavaud, A., Bhargavan, K., and A. Pironti, | |||
"Triple Handshakes Considered Harmful: Breaking and Fixing | "Triple Handshakes Considered Harmful: Breaking and Fixing | |||
Authentication over TLS", 2014, <https://secure- | Authentication over TLS", 2014, <https://secure- | |||
resumption.com/>. | resumption.com/>. | |||
Appendix A. Change Log | Appendix A. Change Log | |||
Note to RFC Editor: please remove this section before publication. | Note to RFC Editor: please remove this section before publication. | |||
A.1. draft-ietf-uta-tls-bcp-03 | A.1. draft-ietf-uta-tls-bcp-04 | |||
o Some cleanup, and input from TLS WG discussion on applicability. | ||||
A.2. draft-ietf-uta-tls-bcp-03 | ||||
o Disallow truncated HMAC. | o Disallow truncated HMAC. | |||
o Applicability to DTLS. | o Applicability to DTLS. | |||
o Some more text restructuring. | o Some more text restructuring. | |||
o Host name validation is sometimes irrelevant. | o Host name validation is sometimes irrelevant. | |||
o HSTS: MUST implement, SHOULD deploy. | o HSTS: MUST implement, SHOULD deploy. | |||
o Session identities are not protected, only tickets are. | o Session identities are not protected, only tickets are. | |||
o Clarified the target audience. | o Clarified the target audience. | |||
A.2. draft-ietf-uta-tls-bcp-02 | A.3. draft-ietf-uta-tls-bcp-02 | |||
o Rearranged some sections for clarity and re-styled the text so | o Rearranged some sections for clarity and re-styled the text so | |||
that normative text is followed by rationale where possible. | that normative text is followed by rationale where possible. | |||
o Removed the recommendation to use Brainpool curves. | o Removed the recommendation to use Brainpool curves. | |||
o Triple Handshake mitigation. | o Triple Handshake mitigation. | |||
o MUST NOT negotiate algorithms lower than 112 bits of security. | o MUST NOT negotiate algorithms lower than 112 bits of security. | |||
o MUST implement SNI, but use per local policy. | o MUST implement SNI, but use per local policy. | |||
o Changed SHOULD NOT negotiate or fall back to SSLv3 to MUST NOT. | o Changed SHOULD NOT negotiate or fall back to SSLv3 to MUST NOT. | |||
o Added hostname validation. | o Added hostname validation. | |||
o Non-normative discussion of DH exponent reuse. | o Non-normative discussion of DH exponent reuse. | |||
A.3. draft-ietf-tls-bcp-01 | A.4. draft-ietf-tls-bcp-01 | |||
o Clarified that specific TLS-using protocols may have stricter | o Clarified that specific TLS-using protocols may have stricter | |||
requirements. | requirements. | |||
o Changed TLS 1.0 from MAY to SHOULD NOT. | o Changed TLS 1.0 from MAY to SHOULD NOT. | |||
o Added discussion of "optional TLS" and HSTS. | o Added discussion of "optional TLS" and HSTS. | |||
o Recommended use of the Signature Algorithm and Renegotiation Info | o Recommended use of the Signature Algorithm and Renegotiation Info | |||
extensions. | extensions. | |||
o Use of a strong cipher for a resumption ticket: changed SHOULD to | o Use of a strong cipher for a resumption ticket: changed SHOULD to | |||
MUST. | MUST. | |||
o Added an informational discussion of certificate revocation, but | o Added an informational discussion of certificate revocation, but | |||
no recommendations. | no recommendations. | |||
A.4. draft-ietf-tls-bcp-00 | A.5. draft-ietf-tls-bcp-00 | |||
o Initial WG version, with only updated references. | o Initial WG version, with only updated references. | |||
A.5. draft-sheffer-tls-bcp-02 | A.6. draft-sheffer-tls-bcp-02 | |||
o Reorganized the content to focus on recommendations. | o Reorganized the content to focus on recommendations. | |||
o Moved description of attacks to a separate document (draft- | o Moved description of attacks to a separate document (draft- | |||
sheffer-uta-tls-attacks). | sheffer-uta-tls-attacks). | |||
o Strengthened recommendations regarding session resumption. | o Strengthened recommendations regarding session resumption. | |||
A.6. draft-sheffer-tls-bcp-01 | A.7. draft-sheffer-tls-bcp-01 | |||
o Clarified our motivation in the introduction. | o Clarified our motivation in the introduction. | |||
o Added a section justifying the need for PFS. | o Added a section justifying the need for PFS. | |||
o Added recommendations for RSA and DH parameter lengths. Moved | o Added recommendations for RSA and DH parameter lengths. Moved | |||
from DHE to ECDHE, with a discussion on whether/when DHE is | from DHE to ECDHE, with a discussion on whether/when DHE is | |||
appropriate. | appropriate. | |||
o Recommendation to avoid fallback to SSLv3. | o Recommendation to avoid fallback to SSLv3. | |||
o Initial information about browser support - more still needed! | o Initial information about browser support - more still needed! | |||
o More clarity on compression. | o More clarity on compression. | |||
o Client can offer stronger cipher suites. | o Client can offer stronger cipher suites. | |||
o Discussion of the regular TLS mandatory cipher suite. | o Discussion of the regular TLS mandatory cipher suite. | |||
A.7. draft-sheffer-tls-bcp-00 | A.8. draft-sheffer-tls-bcp-00 | |||
o Initial version. | o Initial version. | |||
Authors' Addresses | Authors' Addresses | |||
Yaron Sheffer | Yaron Sheffer | |||
Porticor | Porticor | |||
29 HaHarash St. | 29 HaHarash St. | |||
Hod HaSharon 4501303 | Hod HaSharon 4501303 | |||
Israel | Israel | |||
End of changes. 38 change blocks. | ||||
74 lines changed or deleted | 121 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |