SSL handshake offloading is a process in which the SSL/TLS handshake is offloaded from a web server to special hardware or a software appliance. The aim is to relieve the web server of the CPU-intensive SSL/TLS encryption and to improve the efficiency of the SSL/TLS handshake.
With the traditional SSL/TLS connection between a web browser and a web server, the SSL/TLS handshake takes place on the server. Encryption algorithms are negotiated, certificates are checked and keys for secure data transmission are exchanged. Depending on server load and encryption strength, this process can take a few seconds and the server cannot process any other requests during this time.
With SSL handshake offloading, the SSL/TLS handshake can be offloaded to specialized hardware or a special software appliance. This performs the handshake and then sends the encrypted data to the web server. In the meantime, the web server can devote itself to other requests and is therefore faster and more efficient.
SSL handshake offloading can be performed either at the hardware level through a dedicated SSL offloading card, or at the software level through SSL offloading software. Some modern web servers like Nginx and Apache also offer built-in SSL/TLS acceleration options.