Adaptive Encryption
Introduction
In order to provide security across the WAN, the SSR Networking Platform provides the functionality to encrypt between peered routers. However, for traffic that is already encrypted by the end host, this is redundant. Adaptive Encryption is aimed at identifying the encrypted traffic and providing security for non-encrypted traffic by encrypting it through the SSR.
On a service where most of the traffic is expected to be encrypted, the goal is to identify and encrypt those few sessions that are not. This eliminates the performance overhead of encrypting traffic that is already encrypted.
Adaptive encryption only applies to payload encryption, not metadata encryption.
Overview
When adaptive encryption is enabled and the first packet arrives in the service area, the L4 protocol determines how it is handled.
IPSEC
If the packet has an IPSEC ESP header, the stream is encrypted and the session is installed without additional encryption actions. If the packet matches the IPSEC or IPSEC-NAT session-type, it’s assumed to be IPSEC and treated as IPSEC ESP.
TCP
For TCP streams, TLS is currently the most widely used end-to-end encryption protocol. It is used to encrypt all HTTPS traffic. TLS, and other protocols that ride on top of TCP, are not seen until the 4th packet of the stream. At that point the session has been established and the router has chosen whether or not to encrypt. With Adaptive Encryption enabled, the router assumes that the TCP session is likely to be encrypted. No encryption actions are installed, but a DPI action is enabled. The DPI action looks for TLS headers after the TCP handshake is complete.
If the DPI action sees the TLS handshake, it is disabled and the session carries on, unencrypted by the router. If the DPI action does not see a TLS handshake, all packets are diverted back to the service area and the session modified for encryption. Starting with that packet, all subsequent packets on the session are encrypted over the fabric.
It is important to note that detouring packets to the service-area for session modification is expensive. Using this feature on a service where most of the traffic is unencrypted will double the load on the service-area.