Difference between revisions of "RFC8758"

From RFC-Wiki
Line 13: Line 13:
  
 
This document deprecates RC4 in Secure Shell (SSH).  Therefore, this
 
This document deprecates RC4 in Secure Shell (SSH).  Therefore, this
document formally moves [[RFC4345|RFC 4345]] to Historic status.
+
document formally moves RFC 4345 to Historic status.
  
 
'''Status of This Memo'''
 
'''Status of This Memo'''
Line 23: Line 23:
 
received public review and has been approved for publication by the
 
received public review and has been approved for publication by the
 
Internet Engineering Steering Group (IESG).  Further information on
 
Internet Engineering Steering Group (IESG).  Further information on
BCPs is available in Section 2 of [[RFC7841|RFC 7841]].
+
BCPs is available in Section 2 of RFC 7841.
  
 
Information about the current status of this document, any errata,
 
Information about the current status of this document, any errata,
Line 34: Line 34:
 
document authors.  All rights reserved.
 
document authors.  All rights reserved.
  
This document is subject to [[BCP78|BCP 78]] and the IETF Trust's Legal
+
This document is subject to BCP 78 and the IETF Trust's Legal
 
Provisions Relating to IETF Documents
 
Provisions Relating to IETF Documents
 
(https://trustee.ietf.org/license-info) in effect on the date of
 
(https://trustee.ietf.org/license-info) in effect on the date of
Line 46: Line 46:
 
1.  Introduction
 
1.  Introduction
 
   1.1.  Requirements Language
 
   1.1.  Requirements Language
2.  Updates to [[RFC4253|RFC 4253]]
+
2.  Updates to RFC 4253
 
3.  IANA Considerations
 
3.  IANA Considerations
 
4.  Security Considerations
 
4.  Security Considerations
Line 58: Line 58:
  
 
The usage of RC4 suites (also designated as "arcfour") for SSH is
 
The usage of RC4 suites (also designated as "arcfour") for SSH is
specified in [[RFC4253]] and [[RFC4345]].  [[RFC4253]] specifies the
+
specified in [[[RFC4253]]] and [[[RFC4345]]].  [[[RFC4253]]] specifies the
allocation of the "arcfour" cipher for SSH.  [[RFC4345]] specifies and
+
allocation of the "arcfour" cipher for SSH.  [[[RFC4345]]] specifies and
 
allocates the "arcfour128" and "arcfour256" ciphers for SSH.  RC4
 
allocates the "arcfour128" and "arcfour256" ciphers for SSH.  RC4
encryption has known weaknesses [[RFC7465]] [[RFC8429]]; therefore, this
+
encryption has known weaknesses [[[RFC7465]]] [[[RFC8429]]]; therefore, this
 
document starts the deprecation process for their use in Secure Shell
 
document starts the deprecation process for their use in Secure Shell
(SSH) [[RFC4253]].  Accordingly, [[RFC4253]] is updated to note the
+
(SSH) [[[RFC4253]]].  Accordingly, [[[RFC4253]]] is updated to note the
deprecation of the RC4 ciphers, and [[RFC4345]] is moved to Historic
+
deprecation of the RC4 ciphers, and [[[RFC4345]]] is moved to Historic
 
status, as all ciphers it specifies MUST NOT be used.
 
status, as all ciphers it specifies MUST NOT be used.
  
Line 72: Line 72:
 
"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
[[BCP14|BCP 14]] [[RFC2119]] [[RFC8174]] when, and only when, they appear in all
+
BCP 14 [[[RFC2119]]] [[[RFC8174]]] when, and only when, they appear in all
 
capitals, as shown here.
 
capitals, as shown here.
  
== Updates to [[RFC4253|RFC 4253]] ==
+
== Updates to RFC 4253 ==
  
[[RFC4253]] is updated to prohibit arcfour's use in SSH.  [[RFC4253]],
+
[[[RFC4253]]] is updated to prohibit arcfour's use in SSH.  [[[RFC4253]]],
 
Section 6.3 allocates the "arcfour" cipher by defining a list of
 
Section 6.3 allocates the "arcfour" cipher by defining a list of
 
defined ciphers in which the "arcfour" cipher appears as optional, as
 
defined ciphers in which the "arcfour" cipher appears as optional, as
Line 90: Line 90:
  
 
This document updates the status of the "arcfour" ciphers in the list
 
This document updates the status of the "arcfour" ciphers in the list
found in [[RFC4253]], Section 6.3 by moving it from OPTIONAL to MUST
+
found in [[[RFC4253]]], Section 6.3 by moving it from OPTIONAL to MUST
 
NOT.
 
NOT.
  
Line 100: Line 100:
 
                               Table 2
 
                               Table 2
  
[[RFC4253]] defines the "arcfour" ciphers with the following text:
+
[[[RFC4253]]] defines the "arcfour" ciphers with the following text:
  
 
|  The "arcfour" cipher is the Arcfour stream cipher with 128-bit
 
|  The "arcfour" cipher is the Arcfour stream cipher with 128-bit
Line 107: Line 107:
 
|  keys, and should be used with caution.
 
|  keys, and should be used with caution.
  
This document updates [[RFC4253]], Section 6.3 by replacing the text
+
This document updates [[[RFC4253]]], Section 6.3 by replacing the text
 
above with the following text:
 
above with the following text:
  
 
|  The "arcfour" cipher is the Arcfour stream cipher with 128-bit
 
|  The "arcfour" cipher is the Arcfour stream cipher with 128-bit
 
|  keys.  The Arcfour cipher is compatible with the RC4 cipher
 
|  keys.  The Arcfour cipher is compatible with the RC4 cipher
|  [SCHNEIER].  Arcfour (and RC4) has known weaknesses [[RFC7465]]
+
|  [SCHNEIER].  Arcfour (and RC4) has known weaknesses [[[RFC7465]]]
|  [[RFC8429]] and MUST NOT be used.
+
[[[RFC8429]]] and MUST NOT be used.
  
 
== IANA Considerations ==
 
== IANA Considerations ==
Line 125: Line 125:
 
         | Encryption Algorithm Name | Reference | Note    |
 
         | Encryption Algorithm Name | Reference | Note    |
 
         +===========================+===========+==========+
 
         +===========================+===========+==========+
         | arcfour                  | [[RFC8758|RFC 8758]] | HISTORIC |
+
         | arcfour                  | RFC 8758  | HISTORIC |
 
         +---------------------------+-----------+----------+
 
         +---------------------------+-----------+----------+
         | arcfour128                | [[RFC8758|RFC 8758]] | HISTORIC |
+
         | arcfour128                | RFC 8758  | HISTORIC |
 
         +---------------------------+-----------+----------+
 
         +---------------------------+-----------+----------+
         | arcfour256                | [[RFC8758|RFC 8758]] | HISTORIC |
+
         | arcfour256                | RFC 8758  | HISTORIC |
 
         +---------------------------+-----------+----------+
 
         +---------------------------+-----------+----------+
  
Line 143: Line 143:
 
=== Normative References ===
 
=== 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", [[BCP14|BCP 14]], [[RFC2119|RFC 2119]],
+
           Requirement Levels", BCP 14, RFC 2119,
 
           DOI 10.17487/RFC2119, March 1997,
 
           DOI 10.17487/RFC2119, March 1997,
 
           <https://www.rfc-editor.org/info/rfc2119>.
 
           <https://www.rfc-editor.org/info/rfc2119>.
  
[[RFC8174]]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+
[[[RFC8174]]]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
           2119 Key Words", [[BCP14|BCP 14]], [[RFC8174|RFC 8174]], DOI 10.17487/RFC8174,
+
           2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
 
           May 2017, <https://www.rfc-editor.org/info/rfc8174>.
 
           May 2017, <https://www.rfc-editor.org/info/rfc8174>.
  
Line 157: Line 157:
 
           <https://www.iana.org/assignments/ssh-parameters>.
 
           <https://www.iana.org/assignments/ssh-parameters>.
  
[[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", [[RFC4253|RFC 4253]], DOI 10.17487/RFC4253,
+
           Transport Layer Protocol", RFC 4253, DOI 10.17487/RFC4253,
 
           January 2006, <https://www.rfc-editor.org/info/rfc4253>.
 
           January 2006, <https://www.rfc-editor.org/info/rfc4253>.
  
[[RFC4345]]  Harris, B., "Improved Arcfour Modes for the Secure Shell
+
[[[RFC4345]]]  Harris, B., "Improved Arcfour Modes for the Secure Shell
           (SSH) Transport Layer Protocol", [[RFC4345|RFC 4345]],
+
           (SSH) Transport Layer Protocol", RFC 4345,
 
           DOI 10.17487/RFC4345, January 2006,
 
           DOI 10.17487/RFC4345, January 2006,
 
           <https://www.rfc-editor.org/info/rfc4345>.
 
           <https://www.rfc-editor.org/info/rfc4345>.
  
[[RFC7465]]  Popov, A., "Prohibiting RC4 Cipher Suites", [[RFC7465|RFC 7465]],
+
[[[RFC7465]]]  Popov, A., "Prohibiting RC4 Cipher Suites", RFC 7465,
 
           DOI 10.17487/RFC7465, February 2015,
 
           DOI 10.17487/RFC7465, February 2015,
 
           <https://www.rfc-editor.org/info/rfc7465>.
 
           <https://www.rfc-editor.org/info/rfc7465>.
  
[[RFC8429]]  Kaduk, B. and M. Short, "Deprecate Triple-DES (3DES) and
+
[[[RFC8429]]]  Kaduk, B. and M. Short, "Deprecate Triple-DES (3DES) and
           RC4 in Kerberos", [[BCP218|BCP 218]], [[RFC8429|RFC 8429]], DOI 10.17487/RFC8429,
+
           RC4 in Kerberos", BCP 218, RFC 8429, DOI 10.17487/RFC8429,
 
           October 2018, <https://www.rfc-editor.org/info/rfc8429>.
 
           October 2018, <https://www.rfc-editor.org/info/rfc8429>.
  

Revision as of 09:53, 25 October 2020



Internet Engineering Task Force (IETF) L. Velvindron Request for Comments: 8758 cyberstorm.mu BCP: 227 April 2020 Updates: 4253 Category: Best Current Practice ISSN: 2070-1721

             Deprecating RC4 in Secure Shell (SSH)

Abstract

This document deprecates RC4 in Secure Shell (SSH). Therefore, this document formally moves RFC 4345 to Historic status.

Status of This Memo

This memo documents an Internet Best Current Practice.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on BCPs is available in Section 2 of RFC 7841.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8758.

Copyright Notice

Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

1. Introduction

 1.1.  Requirements Language

2. Updates to RFC 4253 3. IANA Considerations 4. Security Considerations 5. References

 5.1.  Normative References
 5.2.  Informative References

Acknowledgements Author's Address

Introduction

The usage of RC4 suites (also designated as "arcfour") for SSH is specified in [[[RFC4253]]] and [[[RFC4345]]]. [[[RFC4253]]] specifies the allocation of the "arcfour" cipher for SSH. [[[RFC4345]]] specifies and allocates the "arcfour128" and "arcfour256" ciphers for SSH. RC4 encryption has known weaknesses [[[RFC7465]]] [[[RFC8429]]]; therefore, this document starts the deprecation process for their use in Secure Shell (SSH) [[[RFC4253]]]. Accordingly, [[[RFC4253]]] is updated to note the deprecation of the RC4 ciphers, and [[[RFC4345]]] is moved to Historic status, as all ciphers it specifies MUST NOT be used.

Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [[[RFC2119]]] [[[RFC8174]]] when, and only when, they appear in all capitals, as shown here.

Updates to RFC 4253

[[[RFC4253]]] is updated to prohibit arcfour's use in SSH. [[[RFC4253]]], Section 6.3 allocates the "arcfour" cipher by defining a list of defined ciphers in which the "arcfour" cipher appears as optional, as shown in Table 1.

+---------+----------+----------------------------------------------+ | arcfour | OPTIONAL | the ARCFOUR stream cipher | | | | with a 128-bit key | +---------+----------+----------------------------------------------+

                              Table 1

This document updates the status of the "arcfour" ciphers in the list found in [[[RFC4253]]], Section 6.3 by moving it from OPTIONAL to MUST NOT.

+---------+----------+----------------------------------------------+ | arcfour | MUST NOT | the ARCFOUR stream cipher | | | | with a 128-bit key | +---------+----------+----------------------------------------------+

                              Table 2

[[[RFC4253]]] defines the "arcfour" ciphers with the following text:

| The "arcfour" cipher is the Arcfour stream cipher with 128-bit | keys. The Arcfour cipher is believed to be compatible with the | RC4 cipher [SCHNEIER]. Arcfour (and RC4) has problems with weak | keys, and should be used with caution.

This document updates [[[RFC4253]]], Section 6.3 by replacing the text above with the following text:

| The "arcfour" cipher is the Arcfour stream cipher with 128-bit | keys. The Arcfour cipher is compatible with the RC4 cipher | [SCHNEIER]. Arcfour (and RC4) has known weaknesses [[[RFC7465]]] | [[[RFC8429]]] and MUST NOT be used.

IANA Considerations

The IANA has updated the "Encryption Algorithm Names" subregistry in the "Secure Shell (SSH) Protocol Parameters" registry [IANA]. The registration procedure is IETF review, which is achieved by this document. The registry has been updated as follows:

       +---------------------------+-----------+----------+
       | Encryption Algorithm Name | Reference | Note     |
       +===========================+===========+==========+
       | arcfour                   | RFC 8758  | HISTORIC |
       +---------------------------+-----------+----------+
       | arcfour128                | RFC 8758  | HISTORIC |
       +---------------------------+-----------+----------+
       | arcfour256                | RFC 8758  | HISTORIC |
       +---------------------------+-----------+----------+
                             Table 3

Security Considerations

This document only prohibits the use of RC4 in SSH; it introduces no new security considerations.

References

Normative References

[[[RFC2119]]] Bradner, S., "Key words for use in RFCs to Indicate

          Requirement Levels", BCP 14, RFC 2119,
          DOI 10.17487/RFC2119, March 1997,
          <https://www.rfc-editor.org/info/rfc2119>.

[[[RFC8174]]] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC

          2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
          May 2017, <https://www.rfc-editor.org/info/rfc8174>.

Informative References

[IANA] "Secure Shell (SSH) Protocol Parameters",

          <https://www.iana.org/assignments/ssh-parameters>.

[[[RFC4253]]] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH)

          Transport Layer Protocol", RFC 4253, DOI 10.17487/RFC4253,
          January 2006, <https://www.rfc-editor.org/info/rfc4253>.

[[[RFC4345]]] Harris, B., "Improved Arcfour Modes for the Secure Shell

          (SSH) Transport Layer Protocol", RFC 4345,
          DOI 10.17487/RFC4345, January 2006,
          <https://www.rfc-editor.org/info/rfc4345>.

[[[RFC7465]]] Popov, A., "Prohibiting RC4 Cipher Suites", RFC 7465,

          DOI 10.17487/RFC7465, February 2015,
          <https://www.rfc-editor.org/info/rfc7465>.

[[[RFC8429]]] Kaduk, B. and M. Short, "Deprecate Triple-DES (3DES) and

          RC4 in Kerberos", BCP 218, RFC 8429, DOI 10.17487/RFC8429,
          October 2018, <https://www.rfc-editor.org/info/rfc8429>.

[SCHNEIER] Schneier, B., "Applied Cryptography Second Edition:

          Protocols, Algorithms, and Source in Code in C", John
          Wiley and Sons New York, NY, 1996.

Acknowledgements

The author would like to thank Eric Rescorla, Daniel Migault, and Rich Salz.

Author's Address

Loganaden Velvindron cyberstorm.mu Mauritius

Email: [email protected]