| < draft-ietf-tls-ssl2-must-not-02.txt | draft-ietf-tls-ssl2-must-not-03.txt > | |||
|---|---|---|---|---|
| Network Working Group S. Turner | Network Working Group S. Turner | |||
| Internet Draft IECA | Internet Draft IECA | |||
| Updates: 5246 (once approved) Tim Polk | Updates: 5246, 4346, 2246 (once approved) T. Polk | |||
| Intended Status: Standards Track NIST | Intended Status: Standards Track NIST | |||
| Expires: April 8, 2011 October 8, 2010 | Expires: May 29, 2011 November 29, 2010 | |||
| Prohibiting SSL Version 2.0 | Prohibiting SSL Version 2.0 | |||
| draft-ietf-tls-ssl2-must-not-02.txt | draft-ietf-tls-ssl2-must-not-03.txt | |||
| Abstract | Abstract | |||
| This document requires that when TLS clients and servers establish | This document requires that when TLS clients and servers establish | |||
| connections that they never negotiate the use of Secure Sockets Layer | connections that they never negotiate the use of Secure Sockets Layer | |||
| (SSL) version 2.0. This document updates the backward compatibility | (SSL) version 2.0. This document updates the backward compatibility | |||
| sections found in the Transport Security Layer (TLS) Protocol, RFC | sections found in the Transport Security Layer (TLS). | |||
| 5246. | ||||
| 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. This document may contain material | provisions of BCP 78 and BCP 79. This document may contain material | |||
| from IETF Documents or IETF Contributions published or made publicly | from IETF Documents or IETF Contributions published or made publicly | |||
| available before November 10, 2008. | available before November 10, 2008. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 41 ¶ | |||
| 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." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| This Internet-Draft will expire on April 8, 2009. | This Internet-Draft will expire on May 29, 2009. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2010 IETF Trust and the persons identified as the | Copyright (c) 2010 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. | |||
| 1. Introduction | 1. Introduction | |||
| Many protocols specified in the IETF rely on Transport Layer Security | Many protocols specified in the IETF rely on Transport Layer Security | |||
| (TLS) [TLS] for security services. This is a good thing, but some | (TLS) [TLS1.0][TLS1.1][TLS1.2] for security services. This is a good | |||
| TLS clients and servers also support negotiating the use of SSL | thing, but some TLS clients and servers also support negotiating the | |||
| version 2.0 [SSL2]; however, this version does not provide the | use of Secure Sockets Layer (SSL) version 2.0 [SSL2]; however, this | |||
| expected level of security. SSL version 2.0 has known deficiencies. | version does not provide the expected level of security. SSL version | |||
| This document describes those deficiencies, and it requires TLS | 2.0 has known deficiencies. This document describes those | |||
| clients and servers never negotiate the use of SSL version 2.0. | deficiencies, and it requires TLS clients and servers never negotiate | |||
| the use of SSL version 2.0. | ||||
| This document updates the backward compatibility sections found in | This document updates the backward compatibility sections found in | |||
| the Transport Security Layer (TLS) Protocol [TLS] and earlier | TLS [TLS1.0][TLS1.1][TLS1.2]. | |||
| versions. | ||||
| 1.1. Requirements Terminology | 1.1. Requirements Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
| [RFC2119]. | [RFC2119]. | |||
| 2. SSL 2.0 Deficiencies | 2. SSL 2.0 Deficiencies | |||
| SSL version 2.0 [SSL2] deficiencies include: | SSL version 2.0 [SSL2] deficiencies include: | |||
| o Message authentication uses MD5 [MD5]. Most security-aware users | o Message authentication uses MD5 [MD5]. Most security-aware users | |||
| have already moved away from any use of MD5 | have already moved away from any use of MD5 | |||
| [I-D.turner-md5-seccon-update]. | [I-D.turner-md5-seccon-update]. | |||
| o Handshake messages are not protected. This permits a man-in-the- | o Handshake messages are not protected. This permits a man-in-the- | |||
| middle to trick the client into picking a weaker cipher suite than | middle to trick the client into picking a weaker cipher suite than | |||
| they would normally choose. | they would normally choose. | |||
| o Message integrity and message encryption use the same key, which | o Message integrity and message encryption use the same key, which is | |||
| is a problem if the client and server negotiate a weak encryption | a problem if the client and server negotiate a weak encryption | |||
| algorithm. | algorithm. | |||
| o Sessions can be easily terminated. A man-in-the-middle can easily | o Sessions can be easily terminated. A man-in-the-middle can easily | |||
| insert a TCP FIN to close the session and the peer is unable to | insert a TCP FIN to close the session and the peer is unable to | |||
| determine whether or not it was a legitimate end of the session. | determine whether or not it was a legitimate end of the session. | |||
| 3. Changes to TLS | 3. Changes to TLS | |||
| Because of the deficiencies noted in the previous section: | Because of the deficiencies noted in the previous section: | |||
| o TLS clients MUST NOT negotiate or use SSL 2.0. | o TLS clients MUST NOT negotiate or use SSL 2.0. | |||
| o TLS clients MUST NOT send SSL 2.0 CLIENT-HELLO messages. | o TLS clients MUST NOT send SSL 2.0 CLIENT-HELLO messages. | |||
| o TLS servers MUST NOT negotiate or use SSL 2.0. | o TLS servers MUST NOT negotiate or use SSL 2.0. | |||
| As described in [TLS], TLS servers that do not support SSL 2.0 MAY | As described in TLSv1.2 ([TLS1.2] Appendix E.2), TLS servers that do | |||
| accept version 2.0 CLIENT-HELLO messages as the first message of a | not support SSL 2.0 MAY accept version 2.0 CLIENT-HELLO messages as | |||
| TLS handshake for interoperability with old clients. | the first message of a TLS handshake for interoperability with old | |||
| clients. | ||||
| 4. IANA Considerations | 4. IANA Considerations | |||
| None. | None. | |||
| 5. Security Considerations | 5. Security Considerations | |||
| This entire document is about security considerations. | This entire document is about security considerations. | |||
| 6. Acknowledgements | 6. Acknowledgements | |||
| The idea for this document was inspired by discussions between Peter | The idea for this document was inspired by discussions between Peter | |||
| Saint Andre, Simon Josefsson, and others on the XMPP mailing list. | Saint Andre, Simon Josefsson, and others on the XMPP mailing list. | |||
| We would also like to thank Michael D'Errico, Paul Hoffman, Nikos | We would also like to thank Michael D'Errico, Paul Hoffman, Nikos | |||
| Mavrogiannopoulos, Yngve Pettersen, Marsh Ray, Martin Rex, and Yaron | Mavrogiannopoulos, Tom Petch, Yngve Pettersen, Marsh Ray, Martin Rex, | |||
| Sheffer for their reviews and comments. | and Yaron Sheffer for their reviews and comments. | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.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. | |||
| [TLS] Dierks, T. and E. Rescorla, "The Transport Layer | [TLS1.0] Dierks, T., and C. Allen, "The TLS Protocol Version | |||
| 1.0", RFC 2246, January 1999. | ||||
| [TLS1.1] Dierks, T. and E. Rescorla, "The Transport Layer | ||||
| Security (TLS) Protocol Version 1.1", RFC 4346, | ||||
| April 2006. | ||||
| [TLS1.2] Dierks, T. and E. Rescorla, "The Transport Layer | ||||
| Security (TLS) Protocol Version 1.2", RFC 5246, | Security (TLS) Protocol Version 1.2", RFC 5246, | |||
| August 2008. | August 2008. | |||
| 7.2. Informative References | 7.2. Informative References | |||
| [MD5] Rivest, R., "The MD5 Message-Digest Algorithm", RFC | [MD5] Rivest, R., "The MD5 Message-Digest Algorithm", RFC | |||
| 1321, April 1992. | 1321, April 1992. | |||
| [SSL2] Hickman, Kipp, "The SSL Protocol", Netscape | [SSL2] Hickman, Kipp, "The SSL Protocol", Netscape | |||
| Communications Corp., Feb 9, 1995. | Communications Corp., Feb 9, 1995. | |||
| End of changes. 17 change blocks. | ||||
| 28 lines changed or deleted | 35 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/ | ||||