SSL (Secure Sockets Layer)、またはより正確には改善を加えられた TLS (Transport Layer Security) は、Web アプリケーションを安全に配信するための重要なコンポーネントです。TLS の方が正確かもしれませんが、特に Web サイトの保護に必要な証明書としては、SSL と省略される場合が多いようです。認証 (Web サイトからクライアントへ、オプションでクライアントから Web サイトへ) を提供し、暗号化を使用してクライアントとサイト間のトラフィックを保護します。
この保護を実施するには、各クライアントセッションのセットアップに伴う計算オーバーヘッドが大きく、サーバー側で行おうとすると負荷が大きくなります。SSL 処理をロードバランサーにオフロードすると、このオーバーヘッドが Web サーバーから取り除かれ、リソースが Web アプリケーション関連のタスクに解放されます。
ロードバランサーは、SSL オフロードに最適で、Web サーバーリソースを解放するだけでなく、ロードバランサーでトラフィックを検査し、セキュリティおよびトラフィック管理ポリシーを適用できます。多くのハードウェアロードバランサーには、SSL トランザクションを高速で行い、通信を保護するために使用される秘密鍵を保護するように最適化された専用の暗号化プロセッサが含まれています。
すべての Kemp LoadMaster 製品には、サーバーから SSL 処理をオフロードし、認証および Web アプリケーションファイアウォールで追加の保護を提供する機能が含まれています。SSL オフロード用に最適化されたソフトウェアに加えて、SSL 処理を高速化するための暗号化プロセッサが含まれたハードウェアモデルもあります。
SSL は、認証に RSA アルゴリズムを使用し、クライアントと Web サイト間の安全なキー交換を行います。このアルゴリズムは、Web サーバーまたはロードバランサーに安全に格納される秘密鍵と、すべてのクライアントが利用できる公開鍵の2つの鍵を使用する数学的なトラップドアです。クライアントが秘密鍵の信頼性を検証できるように、公開鍵はデジタル証明書にラップされます。
秘密鍵で暗号化されたものはすべて公開鍵で復号化でき、その逆も同様です。Web サーバーはその ID を証明し (秘密鍵で暗号化し、クライアントは公開鍵で復号化して検証します)、クライアントはサーバーと安全に通信できます (クライアントは公開鍵で暗号化し、サーバーは秘密鍵で復号化します)。この、2つの鍵によるアプローチは、非対称暗号化として知られています。
計算オーバーヘッドがあるので、すべてのクライアント/サーバー通信に RSA アルゴリズムを使用することは実用的ではありません。そのため、RSA アルゴリズムは、AES などのより効率的な対称アルゴリズムのためのワンタイムキー (またはセッションキー) が交換される、初期セッションセットアップ中にのみ使用されます。アクセラレーション (高速化) とオフロードが必要なのは、クライアントとサーバー間のこの最初のハンドシェイクのときです。
SSL 処理をロードバランサーにオフロードすることのもう 1 つの重要な利点は、コントロールと管理のための一元化されたポイントが提供されることです。証明書と秘密鍵は、複数のサーバーではなく1カ所で管理でき、ポリシーも1カ所で適用および管理できます。そのため、管理オーバーヘッドが削減されてシンプルになり、セキュリティ管理をアプリケーション所有者の役割から分離することもできます。