draft-ietf-curdle-rc4-die-die-die-02.txt   draft-ietf-curdle-rc4-die-die-die-03.txt 
Internet Engineering Task Force (IETF) L. Camara Internet Engineering Task Force (IETF) L. Camara
Internet-Draft August 8, 2017 Internet-Draft December 9, 2017
Obsoletes: 4345 Obsoletes: 4345
Updates: 3501, 4253, 6649, 6733 Updates: 3501, 4253, 6649, 6733
Intended Status: Best Current Practice Intended Status: Best Current Practice
Expires: February 9, 2018 Expires: June 12, 2018
Deprecating RC4 in all IETF Protocols Depreciating RC4 in all IETF Protocols
draft-ietf-curdle-rc4-die-die-die-02 draft-ietf-curdle-rc4-die-die-die-03
[[RFC-Editor: Please replace all instances of xxxx in this document with [[RFC-Editor: Please replace all instances of xxxx in this document with
the RFC number of draft-ietf-curdle-des-des-des-die-die-die.]] the RFC number of draft-ietf-curdle-des-des-des-die-die-die.]]
[[RFC-Editor: please replace the second character of my surname by [[RFC-Editor: please replace the second character of my surname by
U+00E2 when publishing as RFC in the header and in all pages. U+00E2 when publishing as RFC in the header and in all pages.
Non-ASCII characters are allowed in RFCs as per RFC 7997.]] Non-ASCII characters are allowed in RFCs as per RFC 7997.]]
Abstract Abstract
skipping to change at page 1, line 44 skipping to change at page 1, line 44
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 January 4, 2018. This Internet-Draft will expire on June 12, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 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
skipping to change at page 2, line 36 skipping to change at page 2, line 36
10. Acknowlegdements . . . . . . . . . . . . . . . . . . . . . . . 5 10. Acknowlegdements . . . . . . . . . . . . . . . . . . . . . . . 5
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
11.1. Normative References . . . . . . . . . . . . . . . . . . . . 6 11.1. Normative References . . . . . . . . . . . . . . . . . . . . 6
11.2. Informative References . . . . . . . . . . . . . . . . . . . 6 11.2. Informative References . . . . . . . . . . . . . . . . . . . 6
12. Author's Address . . . . . . . . . . . . . . . . . . . . . . . 7 12. Author's Address . . . . . . . . . . . . . . . . . . . . . . . 7
Appendix A. Changelog . . . . . . . . . . . . . . . . . . . . . . 8 Appendix A. Changelog . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction 1. Introduction
RC4 is extremely weak [RFC6649] [RFC7457] [RFCxxxx] and this document RC4 is extremely weak [RFC6649] [RFC7457] [RFCxxxx] and this document
deprecates its use in all IETF protocols, including Kerberos and depreciates its use in all IETF protocols, including Kerberos and
Secure Shell (SSH). The reasons for obsoleting RFC 4345 are discussed Secure Shell (SSH). The reasons for obsoleting RFC 4345 are
in Section 2. The updates to RFC 3501, RFC 4253, RFC 6649 and RFC discussed in Section 2. The updates to RFC 3501, RFC 4253, RFC 6649
RFC 6733 and the reasons for doing them are specified in sections 3, and RFC 6733 and the reasons for doing them are specified in sections
4, 5 and 6, respectively. 3, 4, 5 and 6, respectively.
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 document are to be interpreted as described in
BCP 14 [RFC2119, RFC8174]. BCP 14 [RFC2119, RFC8174].
2. Why obsolete RFC 4345 2. Why obsolete RFC 4345
RFC 4345 defines the "arcfour-128" and "arcfour-256" modes for Secure RFC 4345 defines the "arcfour-128" and "arcfour-256" modes for Secure
Shell (SSH), and is moved to Historic as RC4 is extremely Shell (SSH), and is moved to Historic as RC4 is extremely
weak [RFC6649, RFC7457, RFCxxxx] and there is research that is at weak [RFC6649, RFC7457, RFCxxxx] and there is research that is at
least 5 years old that totally breaks all practical usage of least 5 years old that totally breaks all practical usage of
RC4 [RFC6649]. RC4 [RFC6649].
3. Updates to RFC 3501 3. Updates to RFC 3501
The second paragraph of [RFC3501] required that implementations of The second paragraph of [RFC3501] required that implementations of
IMAP clients and servers implement a RC4 cipher suite in TLS IMAP clients and servers implement a RC4 cipher suite in TLS
(contradicts [RFC7465]) and recommends implementing a weak cipher (contradicts [RFC7465]) and recommends implementing a weak cipher
suite (3DES is used in the suite). Unfortunately, at the time of suite (3DES is used in the suite). Unfortunately, at the time of
writing of RFC 3501, AES cipher suites were extremely new (the first writing of RFC 3501, AES cipher suites were extremely new (the first
AES cipher suites were defined in RFC 3268, published in June 2002), AES cipher suites were defined in RFC 3268, published in June 2002),
less than 1 year old and the strongest choice they have come up with less than 1 year old and the strongest choice they have come up with
at the time was TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA. at the time was TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA.
As the document is over 14 years old, the second paragraph of As the document is over 14 years old, the second paragraph of
Section 11.1 of [RFC3501] is replaced with the following paragraph: Section 11.1 of [RFC3501] is replaced with the following paragraph:
""" """
IMAP client and server implementations were formerly required to IMAP client and server implementations were formerly required to
implement TLS_RSA_WITH_RC4_128_MD5 {TLS}, an extremely weak cipher implement TLS_RSA_WITH_RC4_128_MD5 {TLS}, an extremely weak cipher
suite [RFC6151] [RFC6649] [RFC7457] [RFCxxxx] [RFCyyyy] that TLS suite [RFC6151] [RFC6649] [RFC7457] [RFCxxxx] [RFCyyyy] that TLS
clients MUST NOT implement per [RFC7465]. Compatibility requirements clients MUST NOT implement per [RFC7465]. Compatibility requirements
were removed in the grounds of security, and all clients and servers were removed in the grounds of security, and all clients and servers
SHOULD comply to [RFC7525]. SHOULD comply to [RFC7525].
""" """
The TLS reference in [RFC3501] should be replaced with a reference to The TLS reference in [RFC3501] should be replaced with a reference to
RFC 5246, and references to RFC 6151, RFC 6649, RFC 7457, RFC 7465, RFC 5246, and references to RFC 6151, RFC 6649, RFC 7457, RFC 7465,
RFC xxxx and this document (as RFC yyyy) should be added. RFC xxxx and this document (as RFC yyyy) should be added.
4. Updates to RFC 4253 4. Updates to RFC 4253
RFC 4253 is updated to note the deprecation of arcfour and 3des-cbc. RFC 4253 is updated to note the deprecation of arcfour and 3des-cbc.
This document changes "OPTIONAL" to "NOT RECOMMENDED" for arcfour and This document changes "OPTIONAL" to "NOT RECOMMENDED" for arcfour and
"REQUIRED" to "OPTIONAL" for 3des-cbc in the table of "REQUIRED" to "OPTIONAL" for 3des-cbc in the table of
Section 6.3 of [RFC4253] as 3DES is weak and maintaining the Section 6.3 of [RFC4253] as 3DES is weak and maintaining the
requirement will compromise systems. [RFC4253] was published in 2006, requirement will compromise systems. [RFC4253] was published in
11 years ago, and states that """At some future time, it is expected 2006, 11 years ago, and states that """At some future time, it is
that another algorithm, one with better strength, will become so expected that another algorithm, one with better strength, will
prevalent and ubiquitous that the use of "3des-cbc" will be become so prevalent and ubiquitous that the use of "3des-cbc" will be
deprecated by another STANDARDS ACTION.""" deprecated by another STANDARDS ACTION."""
The "future time" referred to by [RFC4253] is set to 2017, the The "future time" referred to by [RFC4253] is set to 2017, the
"STANDARDS ACTION" is set to the publication of this document and "STANDARDS ACTION" is set to the publication of this document and
the "algorithm" is set to the Advanced Encryption Standard (AES), as the "algorithm" is set to the Advanced Encryption Standard (AES), as
AES is ubiquitous in Kerberos implementations (see Section 11). AES is ubiquitous in Kerberos implementations (see Section 11).
The last sentence of the paragraph on RC4 (called "arcfour" The last sentence of the paragraph on RC4 (called "arcfour"
in [RFC4253]) in Section 6.3 of [RFC4253] should read: "Arcfour (and in [RFC4253]) in Section 6.3 of [RFC4253] should read: "Arcfour (and
RC4) are extremely weak [RFC6649] [RFC7457] [RFCxxxx] [RFCyyyy] and RC4) are extremely weak [RFC6649] [RFC7457] [RFCxxxx] [RFCyyyy] and
therefore their use is NOT RECOMMENDED." therefore their use is NOT RECOMMENDED."
References to RFC 6649, RFC 7457, RFC xxxx and this document (the References to RFC 6649, RFC 7457, RFC xxxx and this document (the
reference to this document is RFCyyyy in the above paragraph) should reference to this document is RFCyyyy in the above paragraph) should
be added to Section 6.3 of [RFC4253]. be added to Section 6.3 of [RFC4253].
5. Updates to RFC 6649 5. Updates to RFC 6649
RFC 6649, also known as BCP 179, deprecates DES, RC4-HMAC-EXP and RFC 6649, also known as BCP 179, depreciates DES, RC4-HMAC-EXP and
other weak cryptography in Kerberos. It is updated to note the other weak cryptography in Kerberos. It is updated to note the
deprecation of rc4-hmac and the deprecation of RC4 in all IETF deprecation of rc4-hmac and the deprecation of RC4 in all IETF
protocols. protocols.
The security considerations of [RFC6649] (Section 6 of [RFC6649]) The security considerations of [RFC6649] (Section 6 of [RFC6649])
read, in their last paragraph: read, in their last paragraph:
""" """
The security considerations of [RFC4757] continue to apply to The security considerations of [RFC4757] continue to apply to
RC4-HMAC, including the known weaknesses of RC4 and MD4, and this RC4-HMAC, including the known weaknesses of RC4 and MD4, and this
document does not change the Informational status of [RFC4757] for document does not change the Informational status of [RFC4757] for
skipping to change at page 4, line 43 skipping to change at page 4, line 43
Section 13.1 of [RFC6733] required that clients implement two RC4 Section 13.1 of [RFC6733] required that clients implement two RC4
cipher suites and a 3DES cipher suite (but recommends implementing an cipher suites and a 3DES cipher suite (but recommends implementing an
AES cipher suite). AES cipher suite).
RFC 6733 was published in October 2012, and all paragraphs but the RFC 6733 was published in October 2012, and all paragraphs but the
last of Section 13.1 of [RFC6733] are to be replaced with: last of Section 13.1 of [RFC6733] are to be replaced with:
""" """
Diameter nodes were formerly required to implement insecure RC4 Diameter nodes were formerly required to implement insecure RC4
cipher suites and weak 3DES cipher suites. RC4 MUST NOT be used cipher suites and weak 3DES cipher suites. RC4 MUST NOT be used
because it is prohibited by RFC 7465. because it is prohibited by RFC 7465.
Diameter nodes MUST comply to [RFC7525]. Diameter nodes MUST comply to [RFC7525].
TLS_RSA_WITH_AES_128_CBC_SHA was not chosen to be absolutely required TLS_RSA_WITH_AES_128_CBC_SHA was not chosen to be absolutely required
as Diameter nodes may require all connections to use forward secrecy as Diameter nodes may require all connections to use forward secrecy
by only implementing cipher suites with forward secrecy. by only implementing cipher suites with forward secrecy.
TLS_RSA_WITH_AES_128_CBC_SHA is not a forward secrecy cipher suite TLS_RSA_WITH_AES_128_CBC_SHA is not a forward secrecy cipher suite
because all connections can be decrypted once the private RSA key is because all connections can be decrypted once the private RSA key is
known by an attacker. known by an attacker.
skipping to change at page 5, line 26 skipping to change at page 5, line 26
(for example, using "NOT RECOMMENDED" or "SHOULD NOT"). (for example, using "NOT RECOMMENDED" or "SHOULD NOT").
8. IANA Considerations 8. IANA Considerations
IANA may need to take action as the status for RC4 and 3DES IANA may need to take action as the status for RC4 and 3DES
algorithms for Secure Shell (SSH) is changed by this document algorithms for Secure Shell (SSH) is changed by this document
(see Section 6, that updates [RFC4253]). (see Section 6, that updates [RFC4253]).
9. Security Considerations 9. Security Considerations
This document deprecates RC4, that is obsolete cryptography, and This document depreciates RC4, that is obsolete cryptography, and
several attacks that render it useless have been published [RFC6649]. several attacks that render it useless have been published [RFC6649].
Refer to Section 5 of [RFCxxxx] for further security considerations. Refer to Section 5 of [RFCxxxx] for further security considerations.
10. Acknowledgements 10. Acknowledgements
[[RFC-Editor: When possible, add native names according to the [[RFC-Editor: When possible, add native names according to the
conventions of RFC 7997.]] conventions of RFC 7997.]]
Thanks to the following people: Thanks to the following people:
* Sean Turner and Lily Chen for writing RFC 6151, that contains * Sean Turner and Lily Chen for writing RFC 6151, that contains
updated security considerations for MD5 and HMAC-MD5. updated security considerations for MD5 and HMAC-MD5.
* Love Hornquist Astrand and Tom Yu for writing RFC 6649, that * Love Hornquist Astrand and Tom Yu for writing RFC 6649, that
deprecates weak cryptographic algorithms in Kerberos. depreciates weak cryptographic algorithms in Kerberos.
* Yaron Sheffer, Ralph Holz and Peter Saint-Andre for writing * Yaron Sheffer, Ralph Holz and Peter Saint-Andre for writing
RFC 7457, that summarises known attacks against Transport Layer RFC 7457, that summarises known attacks against Transport Layer
Security (TLS), and RFC 7525, that provides recommendations for Security (TLS), and RFC 7525, that provides recommendations for
the use of TLS and Datagram Transport Layer Security (DTLS). the use of TLS and Datagram Transport Layer Security (DTLS).
* Andrei Popov for writing RFC 7465, that prohibits RC4 cipher * Andrei Popov for writing RFC 7465, that prohibits RC4 cipher
suites in Transport Layer Security (TLS). suites in Transport Layer Security (TLS).
* Julien Elie for sending me an email about the requirements to * Julien Elie for sending me an email about the requirements to
implement RC4 cipher suites in RFC 3501 and RFC 6733. implement RC4 cipher suites in RFC 3501 and RFC 6733.
Also thanks to SSL Labs for capping server grades to B (RC4 only used
with older protocols) and C (RC4 used with modern protocols) when
servers support RC4, and flagging cipher suites and clients using RC4
with a red colour (for INSECURE and RC4). You can test any server at
<https://www.ssllabs.com/ssltest/>.
Refer to the acknowledgements section of RFC 6649, RFC 7457 and Refer to the acknowledgements section of RFC 6649, RFC 7457 and
RFC xxxx for further acknowledgements. RFC xxxx for further acknowledgements.
11. References 11. References
11.1. Normative References 11.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.
skipping to change at page 6, line 34 skipping to change at page 6, line 28
[RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre,
"Recommendations for Secure Use of Transport Layer "Recommendations for Secure Use of Transport Layer
Security (TLS) and Datagram Transport Layer Security Security (TLS) and Datagram Transport Layer Security
(DTLS)", BCP 195, RFC 7525, May 2015. (DTLS)", BCP 195, RFC 7525, May 2015.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in
RFC 2119 Key Words", BCP 14, RFC 8174, May 2017. RFC 2119 Key Words", BCP 14, RFC 8174, May 2017.
[RFCxxxx] Kaduk, B., and M. Short, "Deprecate 3DES and RC4 in [RFCxxxx] Kaduk, B., and M. Short, "Deprecate 3DES and RC4 in
Kerberos", draft-ietf-curdle-des-des-des-die-die-die-04, Kerberos", draft-ietf-curdle-des-des-des-die-die-die-05,
Work in Progress. Work in Progress.
11.2. Informative References 11.2. Informative References
[RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - Version [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - Version
4rev1", RFC 3501, March 2003. 4rev1", RFC 3501, March 2003.
[RFC4253] Ylonen, T., and C. Lonvick, Ed., "The Secure Shell (SSH) [RFC4253] Ylonen, T., and C. Lonvick, Ed., "The Secure Shell (SSH)
Transport Layer Protocol", RFC 4253, January 2006. Transport Layer Protocol", RFC 4253, January 2006.
skipping to change at page 8, line 9 skipping to change at page 8, line 9
12. Author's Address 12. Author's Address
Luis Camara Luis Camara
EMail: <luis.camara@live.com.pt> EMail: <luis.camara@live.com.pt>
Appendix A. Changelog Appendix A. Changelog
[[RFC-Editor: please remove this section when publishing.]] [[RFC-Editor: please remove this section when publishing.]]
WG draft (draft-ietf-curdle-rc4-die-die-die): WG draft:
02 - addressed Todd Short's concerns. 03 - Style changes, removed SSL Labs paragraph in the
acknowledgements section and updated RFCxxxx reference to v05.
Now British English is used in all parts of the document,
except quotations.
01 - massive simplification: removed informational updates, removed 02 - Addressed Todd Short's concerns.
01 - Massive simplification: removed informational updates, removed
all Pre-5378 Material, retracted all "Obsoletes:" except for all Pre-5378 Material, retracted all "Obsoletes:" except for
RFC 4345, removed Appendix A and renamed changelog to Appendix A. RFC 4345, removed Appendix A and renamed changelog to Appendix A.
00 - dummy update to get the draft into the curdle WG. 00 - Dummy update to get the draft into the curdle WG.
Individual draft (draft-luis140219-curdle-rc4-die-die-die): Individual draft:
02 - changed title to "Deprecating RC4 in all IETF Protocols", changed 02 - Changed title to "Deprecating RC4 in all IETF Protocols", changed
the header of all pages to "Deprecating RC4 in all Protocols", the header of all pages to "Deprecating RC4 in all Protocols",
updated RFC 3501 and RFC 6733, simplified the reference to updated RFC 3501 and RFC 6733, simplified the reference to
draft-ietf-curdle-des-des-des-die-die-die to a simple "Work in draft-ietf-curdle-des-des-des-die-die-die to a simple "Work in
Progress" reference and fixed typos. Progress" reference and fixed typos.
01 - explained reasons for updating RFC 7905 and added an informative 01 - Explained reasons for updating RFC 7905 and added an informative
reference to RFC 4757 to take away a missing reference warning. reference to RFC 4757 to take away a missing reference warning.
00 - first version. [RFCxxxx] is a reference to 00 - First version. [RFCxxxx] is a reference to
draft-ietf-curdle-des-des-des-die-die-die. The quote in draft-ietf-curdle-des-des-des-die-die-die. The quote in
Section 11 is from version 03 of this draft (posted 2017-06-15) Section 11 is from version 03 of this draft (posted 2017-06-15)
 End of changes. 22 change blocks. 
36 lines changed or deleted 35 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/