WebのTLS通信における暗号化される範囲と暗号化されない範囲
NSA(アメリカ国家安全保障局)による大規模ネットワーク傍受の暴露に端を発した通信暗号化の流れですが、HTTP/2でのChrome/Firefoxによる「httpスキームのサポート対象外の表明」を見ても分かるように、世界はその歩みを着々と進めています。
あまり遠くない将来、すべての通信は暗号化されているのが当たり前の世界になっていることは想像に難くありません。
本記事では、Webの暗号化においてもっとも普及しているプロトコルであるTLSについてその暗号化範囲とそこから見えることについて紹介します。
TLSの暗号化範囲
では早速TLSの暗号化範囲です。httpsで始まるURLのWebページにアクセスすると、TLSを用いた暗号化がされてWebサーバにパケットが向かっていきますが、そのパケットには以下のような情報が含まれています(これが全てではありません、また通信の途中にミドルボックスなどを経由すると変化する情報もあります)。
そして、上のパケットへの返答としてのパケットには以下のような情報が含まれています。
- Webサーバ/自端末のIPアドレス/ポート番号(=上記1、2)
- HTTPレスポンス
- Webコンテンツ
このうち、TLSで暗号化されるのは3、4、6、7のみです。
Webサーバと自端末のIPアドレス/ポート番号は暗号化されません。
下図の上半分がそれを表しています。
出展:
セキュリティ基準「PCI DSS」 - 伝送データを暗号化しなければならない:ITpro
TLSの暗号化範囲を踏まえて言えること
つまり、宛先のWebサーバのIPアドレスは暗号化されず、傍受された場合には盗まれる可能性があるということです。DNSなどでIPアドレスからURLを逆引きするとURLもわかってしまうかも知れません。もちろんポート番号もわかってしまうので宛先がWebサーバであることもわかってしまいます。
あなたが受け取っているコンテンツ内容はTLSによって暗号化されているため、どんなコンテンツを見ているかが盗まれることはありませんが、「どこに」アクセスしているのかは盗まれているかもしれません。
特に、街なかにある、暗号化されていないWi-Fiアクセスポイントに接続して通信するようなときには、何が暗号化されていて何が暗号化されていないか、をなるべく意識して使った方がよさそうです。