暗号化されていると何も見えない?HTTPSのパケット構造と可視化に迫る!
本コラムをご覧いただいている皆様は、HTTPS通信の可視化についてどのような課題をお持ちでしょうか。「HTTPSの可視化をしたい」とお考えの方や、「そもそもHTTPSは可視化できるの?」という疑問をお持ちの方も多いのではないでしょうか。NetScout製品をご検討いただくと、こうしたご質問をいただくことも非常に増えており、そこで今回は、NetScout製品におけるHTTPS可視化技術についてご紹介させていただきます。
HTTPSとは
そもそも、HTTP通信とHTTPS通信では、どのような違いがあるかパケット構造を確認してみましょう。下記の図をみるとLayer5~7部分の違いが確認でき、HTTPSではHTTPにTLS技術を適用することで、暗号化を実現することがわかります。なお、ここで注意したいのは、TLS技術はHTTPのすべてを暗号化するわけではないという点です。暗号化されるのは、Layer5~7にあたるHTTP HeaderやHTTP Data等の情報となり、Layer2~4の情報やTLS Headerの情報は暗号化されていません。

HTTPS可視化に使われる技術
ここでは、HTTPS通信の流れに沿って、可視化技術を紹介します。クライアントとサーバ間の通信では、まずTCPの3wayハンドシェイクが行われます。これはHTTP通信と共通ですが、HTTPSではその後にTLSコネクションを確立するためのハンドシェイクが行われます。この一連のハンドシェイクは平文でやり取りされており、NetScout製品ではこのセッション情報をもとにHTTPS通信の一部情報を可視化しています。
SNI情報を活用したHTTPS通信の可視化
TCPの3wayハンドシェイクの際、クライアントがサーバに送信する「ClientHello」には、送信先のドメイン名(SNI)が含まれています。NetScout製品はこのSNI情報を使って、通信がどのアプリケーションに関連しているかを識別します。NetScout製品は、約1000のSaaSサービスのドメイン名を内部で管理しており、SNI情報を参照することで、通信がどのSaaSサービスに対応するかを判別します。このように、NetScout製品はSNI情報を活用し、HTTPS通信の可視化を実現しています。

NetScout製品の可視化イメージ
NetScout製品の管理画面では下記のような統計データが表示され、運用者の通信性能の可視化や障害時の原因特定に活用されています。

