TLSによる通信の強制と鍵交換
TLSによる通信の強制とは、Webサイトへの接続をHTTPSに限定し、平文の通信が行われないようにすることを指す。HSTSはこれをブラウザ側から実現する仕組みであり、鍵交換では通信ごとの鍵を後から漏えいの影響を受けないよう共有する前方秘匿性が重要になる。試験ではHSTSの動作、常時SSL/TLSの効果、DTLSの特徴、前方秘匿性の意味などが問われる。
常時SSL/TLSのセキュリティ上の効果
全ページをTLSで保護する常時SSL/TLSは、ブラウザとWebサイトの間の通信を暗号化し、中間者攻撃による通信データの漏えいや改ざんを防ぐ。 あわせて、サーバ証明書によって接続先が正しいサーバかを確認できるため、偽のWebサイトを見分けやすくなる。
一方で、SQLインジェクションへの対策として入力をエスケープする処理や、ブルートフォース攻撃に対してアカウントをロックする仕組みは、TLSを常時利用することで得られる効果ではない。これらは入力処理や認証の仕組みによる別の対策であり、常時SSL/TLSの効果と混同しないように整理しておく必要がある。
HSTSの仕組みと登録の条件
HSTSは、Webサイトがブラウザに対して、指定した期間そのサイトへのすべての接続をHTTPSに限定するよう指示する仕組みである。 ブラウザは、ポリシーを登録済みのホストへのHTTP要求を、HTTPSに切り替えてから送信する。 指定期間のあいだ、そのサイトへの接続はHTTPSによって行われる。
ポリシーは、HTTPSで配信されたHSTSヘッダーを受け取ったときに登録されるものであり、最初の平文HTTP応答でポリシーを登録することはできない。 初回アクセスを守るには、ブラウザにあらかじめ対象を登録しておくプリロードの方法があることも理解しておく必要がある。
HSTSと混同されやすい機能もある。EV SSL証明書によるアドレス表示の違い、圧縮による秘密情報の秘匿、TLSセッション再開による短縮されたハンドシェイクは、いずれもHSTSの動作ではない。 また、HSTSは同一オリジンポリシーとは別の仕組みであり、Cookieの送信条件を定めるSecure属性とも役割が異なる。
この節の続き
- 前方秘匿性と鍵交換
- DTLSによるUDP上の暗号化
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む