liveBook · Manning

Downgrade attack

As explained in Software Security for Developers

A downgrade attack is an attack that induces a system to use an older or weaker security protocol or algorithm instead of a stronger available option.

A downgrade attack tricks a system into selecting an older, weaker security protocol or algorithm when a stronger option is available. In a TLS handshake, an attacker may push a browser and server toward weaker encryption, risking session or message confidentiality. section 10.1.1 section 6.3.1

The defensive pattern is straightforward:

  • Reject obsolete choices rather than retaining them solely for backward compatibility. section 6.3.1
  • Prefer modern schemes such as OAEP for RSA encryption; its randomized padding prevents predictable ciphertext patterns. section 6.3.1
  • Configure both sides of a secure connection to agree only on approved encryption methods. section 10.1.1
Figure 10.3 The SSL handshake in action: Alice and Bob exchange supported encryption methods, validate identities using certificates, and securely agree on a shared secret used to encrypt all future communication.
figure

The handshake diagram makes the attack surface visible: clients advertise supported methods, and servers select one before certificates and shared-secret protection secure communication. section 10.1.1

How Software Security for Developers covers it

How deep it goes
Explains the failure mode and configuration response, but stops short of protocol-level attack mechanics.
Examples
Uses browser-server TLS negotiation and RSA PKCS#1 v1.5 backward compatibility as concrete failure cases.
What it assumes
Assumes basic awareness of encryption methods, certificates, public keys, and shared secrets while explaining their handshake roles.
What you can do after
Operate/configure applications to reject obsolete encryption schemes and permit only stronger alternatives.
How it connects
Connects TLS and SSL negotiation with RSA, OAEP, PKCS#1 v1.5, certificates, and shared secrets.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Software Security for Developers. The section links point to the parts of the book it draws on.