中間者攻撃①の記事では、通信経路上に攻撃者が入ることが中間者攻撃であることをお伝えしました。
ここでは、HTTPS通信における中間者攻撃について、過去問(H28春SC午後Ⅰ問3)を見てみましょう。
[Sアプリでのサーバ証明書の検証不備による影響の検討〕
 Rさんは、Sアプリでのサーバ証明書の検証に不備がある場合に,どのような攻撃が行われると影響を受けるのかを,A氏に質問した。A氏は,中間者攻撃に用いられる環境の例を図4に示した。
2

 図4では,攻撃者が中間者サーバを含む機器を準備し,その先でインターネットを介してSサイトに接続している。中間者サーバは, Sアプリとの間,及びSサイトとの間で,独立した二つのHTTPS通信を確立し,中継する。
 RさんはA氏に,例えば,表3に示す攻撃者が準備するサーバ証明書のうち,どれを使用すると中間者攻撃が成功するのかを質問した。A氏は,もしSアプリにサーバ証明書の検証不備があると,表4のとおり攻撃が成功すると答えた。
1


さて、表3に関して少し補足します。
スマートフォン側(一般的なブラウザでも同じ)では、サーバの証明書に関して、以下の3つを確認します。
①発行者が不正ではないか
②有効期限内であるか
③証明書のサブジェクトのコモンネームがサーバのFQDNと一致するか
※この点は、この問題文の前半に関連する内容の記載があります。また、ブラウザにおける証明書の有効性確認方法でも解説しています。

証明書番号1にある「スマートフォンに対応している商用認証局」は、ベリサインなどの公的認証局のことです。上記①で確認できます。
表の右側にある「サブジェクトのコモンネーム」は、正規のサーバであるSサーバFQDNと一致するかを確認します。(上記③)

では、この点を踏まえて、この問題を解いてみましょう。
3
設問2(1)表4中の[ e ]~[ g ]に入れるサーバ証明書を,それぞれ表3中から全て選び,証明書番号で答えよ。
項番1は、発行者の検証とサブジェクトのコモンネームの検証に不備があります。つまり、上記①も③もチェックをしないので、1~4の全ての証明書で中間者攻撃が成功してしまいます。
項番2は、サブジェクトのコモンネームの検証をしますので、サブジェクトのコモンネームが正しいSサーバのFQDN(証明書番号3)の攻撃が成功します。
項番2は、発行者の検証(上記の①)だけを実施します。
商用認証局を利用している証明書番号1の攻撃が成功します。
【正解】
e 1,2,3,4
f 3
g 1