RFC 8758

Deprecating RC4 in Secure Shell (SSH)

πŸ“… published April 2020, from ietf

RFC 8758: Deprecating RC4 in Secure Shell (SSH) πŸ’–

okay bestie, here's the whole vibe up front 🧚

  • Author: Loganaden Velvindron (cyberstorm.mu) πŸŽ€
  • Category: Best Current Practice (BCP 227) ✨
  • Date: April 2020 🌸
  • Updates: RFC 4253 πŸ’…
  • Obsoletes: nothing listed in the header πŸ™ˆ
  • ISSN: 2070-1721
  • Stream: Internet Engineering Task Force (IETF) πŸ¦‹

Abstract πŸ¦‹

this doc deprecates RC4 in Secure Shell (SSH) πŸ’€. so it also formally moves RFC 4345 to Historic status πŸ“œ

Status of This Memo ✨

this one is an Internet Best Current Practice πŸ’œ. it's a product of the IETF, it represents the consensus of the IETF community 🫢, it got public review, and the Internet Engineering Steering Group (IESG) approved it for publication πŸ‘‘. want more BCP details? check Section 2 of RFC 7841 πŸ”

for info on the current status, any errata, and how to send feedback, go to https://www.rfc-editor.org/info/rfc8758 🌈

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) as they stood on the publication date πŸ“œ. please read those carefully, because they spell out your rights and restrictions πŸ™. code components pulled from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License 🧾

Table of Contents πŸ—‚οΈ

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

1. Introduction ✨

okay so the RC4 suites (also called "arcfour") for SSH are specified in [RFC4253] and [RFC4345] πŸ“. [RFC4253] is where the "arcfour" cipher gets allocated for SSH. [RFC4345] specifies and allocates the "arcfour128" and "arcfour256" ciphers for SSH too 🌸. now, RC4 has known weaknesses [RFC7465] [RFC8429], so this doc kicks off the deprecation process for using it in Secure Shell (SSH) [RFC4253] πŸ’€. that means [RFC4253] gets updated to note that the RC4 ciphers are deprecated, and [RFC4345] moves to Historic status, because every cipher it specifies MUST NOT be used πŸ™…β€β™€οΈ

1.1. 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.

2. Updates to RFC 4253 πŸ”₯

this part is the tea β˜•. [RFC4253] gets updated to prohibit arcfour's use in SSH 🚫. in [RFC4253], Section 6.3, the "arcfour" cipher gets allocated in a list of defined ciphers where it's listed as OPTIONAL, like in Table 1 πŸŽ€

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

                              Table 1

this doc updates the status of the "arcfour" ciphers in that list from [RFC4253], Section 6.3 by moving them from OPTIONAL to MUST NOT πŸ’… (see Table 2)

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

                              Table 2

[RFC4253] originally defined the "arcfour" ciphers with this 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.

and this doc updates [RFC4253], Section 6.3 by swapping that text out for this new version πŸ”„

|  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.

3. IANA Considerations 🧾

okay so IANA updated the "Encryption Algorithm Names" subregistry in the "Secure Shell (SSH) Protocol Parameters" registry [IANA] πŸ—‚οΈ. the registration procedure is IETF review, and this document is what makes that happen ✨. here's how the registry looks now πŸ‘‡

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

                              Table 3

4. Security Considerations πŸ’€

RC4 is getting banished from SSH, bestie 😭. this doc only prohibits its use, and it doesn't introduce any new security considerations πŸ”’ so the only plot twist here is "don't use RC4." periodt πŸ’…

5. References πŸ“š

5.1. 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>.

5.2. 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 wants to thank Eric Rescorla, Daniel Migault, and Rich Salz πŸ’– iykyk 🧚

Author's Address πŸŽ€

Loganaden Velvindron cyberstorm.mu Mauritius

Email: logan@cyberstorm.mu

πŸ“¦ where this page comes from