RFC 7465 / START HERE
No RC4 in TLS, before the details
RC4 is the name of a stream cipher. TLS means Transport Layer Security.
TLS protects network connections using cryptographic algorithms. A cipher suite names the algorithms for a connection. RFC7465 removes every RC4 cipher suite: clients must not offer them and servers must not choose them.
The idea in one picture
Client removes RC4
Server rejects RC4
No RC4-only session
A simplified picture of the idea; the chapters explain the actual mechanisms.
Why it exists
RC4 keystreams have statistical biases that can reveal repeatedly encrypted plaintext, the original data. This publication sets a clear prohibition instead of trying to make RC4 acceptable by moving it down a preference list.
A familiar example
An old client might offer only RC4 to a server. The server must end that handshake; it may send a fatal insufficient_security alert. No encrypted RC4 session is established. Removing RC4 also does not make obsolete TLS1.0 or1.1 acceptable: RFC8996 prohibits those versions.
Helpful background
You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.
What you’ll learn next
Begin with chapter one, or choose a topic.
- Understand the cipher being removedTLS means Transport Layer Security. A cipher suite identifies cryptographic algorithms used in a connection. RC4 is a stream cipher: it combines plaintext (the original data) with a generated keystream.→
- Remove RC4 before ClientHelloClientHello is the TLS client’s initial offer. A conforming client MUST NOT include any RC4 cipher suite in it. This is not merely a low preference.→
- Reject RC4 at the server tooA nonconforming or old client may still offer RC4. The server MUST NOT select an RC4 suite even when the peer offers or prefers it. This chapter uses a separate nonconforming client example.→
- Stop an RC4-only handshakeIf the client only offers RC4 suites, the server MUST terminate the handshake. It MAY send the insufficient_security fatal alert. These are different requirement levels.→
- Keep version policy and cipher policy separateThe RC4 prohibition applies to all TLS versions. RFC8996 later updates this publication by removing old TLS versions from use; a non-RC4 cipher does not rescue an obsolete version.→
This introduction explains RFC 7465 (2015). Read the original RFC ↗