TCP-AO for BGP: What it is and what is does

TCP-AO for BGP: What it is and what is does

Most engineers don’t think about securing TCP itself. We rely on the applications riding on top of the network.  When you run routing protocols or long-lived control sessions across untrusted or shared infrastructure, TCP becomes part of your attack surface whether you planned for it or not.

That is where TCP Authentication Option (TCP-AO) comes in. It is defined in RFC 5925 and exists to protect TCP sessions from spoofing and reset attacks. If you have ever used TCP MD5 signatures on BGP sessions, TCP-AO is the modern replacement.

Why TCP-AO Exists
TCP MD5, defined in RFC 2385, was widely deployed for BGP.  But it came with limitations. It lacked key rotation, had limited algorithm flexibility, and exhibited awkward behavior when you needed to change anything without dropping sessions.

TCP-AO fixes some of these shortcomings. It introduces stronger cryptographic options, supports multiple keys, and allows key rollover without tearing down sessions.  The short version is simple. TCP-AO exists because MD5 was good enough for early internet scale, but not for modern operational and security requirements.

What TCP-AO Does
TCP-AO adds a cryptographic signature to each TCP segment. Both ends of the session share keys and validate every packet. If a packet arrives without a valid signature, it is dropped.

This protects against a few specific issues that matter in real networks:

  • Spoofed TCP resets that try to tear down sessions
  • Injection of fake data into a live session
  • Off-path attackers guessing sequence numbers

It does not encrypt traffic. That is not the goal. TCP-AO is about integrity and authenticity, not confidentiality. If you need encryption, you are still looking at IPsec or application-level TLS.

Where It Gets Used
If you are running external sessions across IX fabrics, transport networks, or anything you do not fully control, you already know the risk profile. A long-lived TCP session with predictable behavior is a target.

TCP-AO fits cleanly into that space. It gives you:

  • Better key management than MD5
  • Stronger hashing algorithms
  • The ability to rotate keys without dropping sessions

It also shows up in other control-plane protocols that rely on TCP. That includes things like LDP in MPLS environments or custom control channels between systems. Anywhere you have a persistent TCP session that matters to the control plane, TCP-AO is worth evaluating.

Can we use it today?
TCP-AO is not everywhere yet. Many platforms still lean on MD5 because it is simple and widely supported. You will find uneven vendor support and, in some cases, incomplete implementations. Many networks do not even use MD% due to limitations.  They rely on access lists and firewall rules to limit connections on port 179.

How to Think About It
TCP-AO does not change how packets flow or how routes converge. If you are running critical TCP-based control sessions across shared or external infrastructure, you should at least understand where TCP-AO fits. Even if you are not deploying it everywhere today, it is part of the direction the industry is moving.

j2networks family of sites
https://j2sw.com
https://startawisp.info
https://indycolo.net
#packetsdownrange #routethelight