TLSインスペクション
プロキシやセキュリティ機器が、HTTPSなどのTLSで暗号化された通信をいったん復号して中身を検査し、再び暗号化して中継する仕組み。端末には、検査する機器が証明書を発行するためのルート証明書を、あらかじめ信頼させておく。
イマシルちゃんの解説
HTTPSの通信は暗号化されているから、中にウイルスが隠れていても、途中の見張り番には見えないんだ。
TLSインスペクションは、見張り番がいったん封筒を開けて中身を確かめて、
問題がなければ、もう一度封をして届ける仕組みなんだよ。
ただし、封を開け直すには、パソコンに「この見張り番は信用していいよ」っていう証明を入れておく必要があるんだ!
より深い解説
定義
TLSインスペクション(SSLインスペクション)は、クライアントとサーバの間の機器(プロキシ、SWG、次世代ファイアウォールなど)が、両者の間に入ってTLSの通信を2つに分けて終端し、復号した内容を検査する仕組みである。
PC ──TLS①── 検査する機器(復号・検査) ──TLS②── Webサーバ
仕組み
- PCがWebサーバに接続しようとすると、検査する機器が、代わりにWebサーバとTLS②を確立し、サーバ証明書を検証する
- 検査する機器は、そのWebサーバのドメイン名の証明書をその場で発行し、PCとTLS①を確立する
- PCから見ると、検査する機器が発行した証明書が提示される。この証明書を信頼させるため、PCにはあらかじめ、検査する機器(またはサービス)のルート証明書(CA証明書)を、信頼するルート証明書としてインストールしておく
- 検査する機器は、TLS①とTLS②の間で、データを復号・検査・再暗号化して中継する
ルート証明書をインストールしていないと、PCのブラウザは「この証明書は信頼できない」という警告を表示し、通信できない。
中間者攻撃との違い
技術的には、TLSインスペクションは、正当な管理者が行う中間者攻撃と同じ形をしている。違いは、組織の管理する端末に、組織が認めたルート証明書をあらかじめ信頼させているかどうかである。そのため、ルート証明書と、それに対応する秘密鍵の管理は、非常に重要である。
注意点
| 注意点 | 内容 |
|---|---|
| 検査の対象外の設定 | 金融機関や医療機関のサイトなど、プライバシーに配慮すべき通信は、検査の対象から外すことが多い |
| 証明書のピン留め | アプリケーションが特定の証明書しか受け付けない場合(ピンニング)、検査すると通信できなくなるため、除外する |
| 性能 | 復号と再暗号化の処理が重く、機器の性能が必要 |
| サーバ証明書の検証 | 検査する機器が、Webサーバの証明書を正しく検証しないと、偽のサイトを見抜けなくなる |
何ができるようになるか
TLSインスペクションによって、HTTPSのURLの全体、ダウンロードするファイル、送信する内容を検査できるようになり、マルウェアの検出(パターンマッチング、サンドボックス)や、情報の持ち出しの防止(DLP)が、暗号化された通信にも適用できる。