| < 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.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||