はじめに
「SSLインターセプトって、HTTPS通信をどのように確認する仕組みなの?」
「暗号化されている通信の内容を検査しても問題ないの?」と気になっていませんか。
社内ネットワークのセキュリティ対策を担当し、SSLインターセプトの導入や設定について調べても、暗号化や証明書などの言葉が出てくると、通信をどこで復号して検査するのか分からず迷ってしまうこともありますよね。
この記事では、SSLインターセプトの仕組みや必要とされる理由、HTTPS通信を検査する流れ、利用時に確認したい点まで分かります。
SSLインターセプトとは?

SSLインターセプトは、HTTPSで暗号化された通信の内容を確認するために、通信の途中でデータを復号して検査する仕組みです。
ここでは、SSLインターセプトの基本的な仕組みと、復号・検査・再暗号化される流れ、通常のHTTPS通信との関係を順に説明します。
SSLインターセプトは暗号化通信を復号して検査する仕組み
SSLインターセプトは、端末とWebサーバーの間でHTTPS通信を一度復号し、内容を検査する仕組みです。
暗号化されたままでは確認できない通信内容を検査し、問題がなければ再び暗号化して送信先へ転送します。
SSLインターセプトで通信が復号・検査・再暗号化される流れ
端末から送信されたHTTPS通信は、中継装置で復号して内容を検査し、問題がなければ再び暗号化してWebサーバーへ送信します。
Webサーバーから端末へ返される通信も同じ流れで処理され、再暗号化したうえで端末へ転送されます。
SSLインターセプトとHTTPS通信の関係
通常のHTTPS通信は、端末とWebサーバーの間を暗号化して通信内容を保護します。
SSLインターセプトでは、端末と中継装置、中継装置とWebサーバーの間でそれぞれ暗号化通信を確立するため、通信経路を暗号化しながら中継装置で内容を検査できます。
SSLインターセプトが必要とされる理由
HTTPS通信ではデータが暗号化されるため、通常の通信監視だけでは送受信される内容を確認できません。
ここでは、通信内容の確認、マルウェアや不正通信の検知、情報漏えいなどのセキュリティリスクを抑えるという3つの観点から、SSLインターセプトが必要とされる理由を説明します。
暗号化された通信の中身を確認するため
HTTPS通信はデータが暗号化されるため、通常の監視では送受信される内容まで確認できません。
SSLインターセプトを使って通信を途中で復号することで、暗号化されていたデータの内容を確認できます。
マルウェアや不正な通信を検知するため
マルウェアがHTTPS通信を利用すると、通信内容が暗号化され、不正なデータの送受信を確認しにくくなります。
SSLインターセプトで通信を復号して検査することで、HTTPS通信に含まれるマルウェアや不正な通信を検知しやすくなります。
情報漏えいやセキュリティリスクを抑えるため
HTTPS通信で社外へデータが送信される場合、暗号化されたままでは送信内容を確認できません。
SSLインターセプトで通信を復号して検査することで、許可していない情報の送信を検知し、情報漏えいなどのリスクを抑えられます。
SSLインターセプトで何を検査できるのか
SSLインターセプトを利用すると、暗号化されたHTTPS通信を復号し、通常は確認できない通信内容を検査できます。
ここでは、SSLインターセプトで確認・検査できる内容を3つに分けて説明します。
HTTPS通信の中身を確認して脅威を検知できる
SSLインターセプトでは、HTTPS通信を途中で復号し、暗号化されていた通信内容を確認できます。
送受信されるデータを検査することで、暗号化されたままでは見つけにくい脅威も検知しやすくなります。
マルウェアや不正なファイルなどを検査できる
HTTPS通信を復号することで、通信経由で送受信されるファイルも検査できます。
マルウェアや不正なファイルが含まれていないか確認できるため、HTTPSを利用した不正なデータの送受信を検知しやすくなります。
暗号化通信に隠れた危険な通信を把握できる
SSLインターセプトで通信を復号すると、暗号化によって見えなかった通信内容まで確認できます。
マルウェアへの接続や不審なデータの送受信など、通常の監視では把握しにくい危険な通信の発見につながります。
SSLインターセプトの仕組みで重要な証明書とルートCA
SSLインターセプトでは、インターセプト装置がクライアントとのHTTPS通信を成立させるために証明書を生成します。
ここでは、証明書が生成される仕組みから、ルートCAによる信頼の成立、信頼設定が正しくない場合に警告が表示される理由まで説明します。
インターセプト装置がクライアントとの間で証明書を生成する
SSLインターセプトでは、クライアントからのHTTPS通信を受け取った装置が、接続先に対応する証明書を生成して提示します。
クライアントはその証明書を検証し、問題がなければインターセプト装置とのHTTPS通信を確立します。
クライアントがルートCAを信頼することで通信を成立させる
インターセプト装置が生成する証明書は、装置側のCAによって署名されます。
クライアントに対応するルートCAを信頼済みとして登録しておくことで、生成された証明書を検証し、HTTPS通信を成立させることができます。
証明書がどのようにつながって信頼されるのか分かりにくい場合は、中間証明書や証明書チェーンの確認方法も参考にしてみてください。
▶SSLの中間証明書を確認する方法は?証明書チェーンの見方と設定方法を解説
証明書の信頼設定が正しくないと警告が表示される
クライアントがインターセプト装置のルートCAを信頼していないと、生成された証明書を正しく検証できません。
そのため、ブラウザに証明書の警告が表示されたり、アプリでHTTPS通信が拒否されたりする場合があります。
SSLインターセプトを導入するときの注意点
SSLインターセプトを導入すると、暗号化された通信を復号・検査・再暗号化するため、通信速度や装置の処理能力に影響する場合があります。
ここでは、復号処理による負荷、復号できない通信、個人情報や機密情報を扱う際の3つの注意点を説明します。
復号処理によって通信や装置に負荷がかかる
SSLインターセプトでは、HTTPS通信を復号して検査し、再び暗号化する処理が必要です。
処理する通信量が増えるほど装置への負荷も大きくなり、処理能力を超えると通信速度の低下や遅延につながる場合があります。
すべての通信を一律に復号できるとは限らない
SSLインターセプトを導入しても、すべてのHTTPS通信を同じように復号できるとは限りません。
サービスやアプリの仕様によっては証明書の置き換えが受け入れられず、通信エラーが発生する場合があります。
アプリ側で証明書が固定されている場合に、なぜSSLインターセプトで通信エラーが起こるのか確認したい方は、SSL Pinningの仕組みも確認しておきましょう。
▶AndroidのSSL Pinningとは?仕組みや実装方法・証明書更新時の注意点を解説
個人情報や機密情報を扱う通信への配慮が必要
HTTPS通信を復号すると、個人情報や機密情報もインターセプト装置で処理される場合があります。
そのため、検査する通信と復号しない通信を分け、復号したデータをどのように扱うかも事前に確認しておくことが大切です。
SSLインターセプトとSSLパススルーの違い
SSLインターセプトとSSLパススルーは、暗号化された通信を途中で復号するかどうかが異なります。
ここでは、それぞれの仕組みと、セキュリティ検査を重視する場合にSSLインターセプトが使われる理由を説明します。
SSLインターセプトは通信内容を検査できる
SSLインターセプトでは、HTTPSで暗号化された通信を途中で復号し、送受信されるデータの内容を検査します。
検査後は再び暗号化して送信するため、暗号化された通信に含まれる脅威まで確認できます。
SSLパススルーは暗号化したまま通信を通過させる
SSLパススルーでは、HTTPS通信を途中で復号せず、暗号化された状態のまま送信先へ通過させます。
そのため、中継する装置では通信内容を確認せず、クライアントとWebサーバー間の暗号化を維持できます。
セキュリティ検査を重視する場合はSSLインターセプトを使う
HTTPS通信の内容まで検査して脅威を検知したい場合は、SSLインターセプトが適しています。
一方、通信内容を復号せず、そのまま通過させたい場合はSSLパススルーを選びます。
まとめ
SSLインターセプトを活用すると、HTTPS通信を復号して、暗号化されたままでは見つけにくい脅威まで検査できます。
ただし、装置への負荷や証明書の設定、個人情報の取り扱いなども考える必要があります。
導入するときはすべての通信を一律に復号するのではなく、検査が必要な範囲を整理し、サービスへの影響を確認しながら設定を進めましょう。











