A TLS termination proxy (or SSL termination proxy, or SSL offloading) is a proxy server that acts as an intermediary point between client and server applications. It is used to terminate and/or establish TLS (or DTLS) tunnels by decrypting and/or encrypting communications. This differs from TLS pass-through proxies, which forward encrypted (D)TLS traffic between clients and servers without terminating the tunnel.
TLS termination proxies can be used to:
TLS termination proxies can provide three connectivity patterns:
Combining a TLS Encrypting proxy in front of a client with a TLS Offloading proxy in front of a server can allow (D)TLS encryption and authentication for protocols and applications that do not otherwise support it, with the two proxies maintaining a secure (D)TLS tunnel over untrusted network segments between client and server.
A proxy used by clients as an intermediary gateway for all outbound connections is typically called a Forward proxy, while a proxy used by servers as an intermediary gateway for all inbound connections is typically called a Reverse proxy. Forward TLS bridging proxies that allow an intrusion detection system to analyse all client traffic are typically marketed as "SSL Forward Proxy".
TLS Offloading and TLS Bridging proxies typically need to authenticate themselves to clients with a digital certificate using either PKIX or DANE authentication. Usually, the server operator supplies its reverse proxy with a valid certificate for use during the (D)TLS handshake with clients. A forward proxy operator, however, must create their own private CA, install it into the trust store of all clients, and have the proxy generate a new certificate signed by the private CA in real time for each server that a client attempts to connect to.
When network traffic between a client and server is routed via a proxy, it can operate in transparent mode by using the client's IP address instead of its own when connecting to the server, and using the server's IP address when responding to the client. If a Transparent TLS Bridging Proxy possesses a valid server certificate, neither the client nor the server would be able to detect the proxy's presence. An adversary who has compromised the private key of the server's digital certificate, or who can use a compromised or coerced PKIX CA to issue a new valid certificate for the server, could perform a man-in-the-middle attack by routing TLS traffic between the client and server through a Transparent TLS Bridging Proxy. This would grant the adversary the ability to copy decrypted communications (including logon credentials) and modify the content of communications on the fly without detection.