暗号技術の基礎と応用

TLSの証明書の検証では、署名のチェーンと有効期間を確かめるだけでなく、接続しようとしたホスト名が証明書のSAN(サブジェクト代替名)に含まれるかも確かめる。この確認が欠かせない理由として、正しいものはどれか。

  1. A攻撃者も、自分が持つ別のドメイン名については、信頼される認証局から正規の証明書を取得できるから
  2. Bホスト名を確かめないと、通信の暗号化そのものが行われなくなるから
  3. Cホスト名が一致しない証明書は、署名のチェーンが必ず途中で切れているので、そもそも検証に通らないから
答えと解説を見る

正解:A. 攻撃者も、自分が持つ別のドメイン名については、信頼される認証局から正規の証明書を取得できるから

証明書の署名が正しく期限内でも、それが「どのドメイン名のための証明書か」を確かめなければ意味がありません。攻撃者は、自分の持つドメイン名については、そのドメインを管理していることを示すだけで正規の証明書を取得できます。そのため、ホスト名を確かめないクライアントは、その証明書を出す偽のサーバを本物と見なしてしまいます。独自にTLSを使うプログラムで、ホスト名の検証を無効にしたまま使う誤りは、よく知られた脆弱性の原因です。

  • A. 正しい。チェーンが正しいことと、接続先のための証明書であることは、別々に確かめる必要があります。
  • B. ホスト名を確かめなくても暗号化は行われます。ただし、相手が偽物でも気付けず、その偽物との間で暗号化することになります。
  • C. 攻撃者が取得した正規の証明書は、チェーンも正しくたどれます。だからこそ、ホスト名の確認が必要です。
この分野を解く 分野ページへ

暗号技術の基礎と応用の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

暗号技術の基礎と応用のほかの問題

  1. 証明書の透明性(Certificate Transparency、CT)の仕組みの説明として、正しいものはどれか。
  2. TLS 1.3(RFC 8446)で、TLS 1.2から変わった点として正しいものはどれか。
  3. TLS 1.3の暗号スイート TLS_AES_128_GCM_SHA256 が指定するものの組み合わせとして、正しいものはどれか。
  4. TLS 1.3の0-RTT(以前の接続で得た事前共有鍵を使い、最初のメッセージと一緒に「アーリーデータ」を送る方法)の注意点として、正しいものはどれか。
  5. 相互TLS(mTLS)の説明として、正しいものはどれか。

この分野の比較