メインコンテンツへ
セキュリティ

TLS相互認証(クライアント証明書認証)を用いたHTTPS通信のフローで、サーバがクライアントの身元を確認するために行う処理として正しいものはどれか。

ア.クライアントから送られたパスワードをサーバのデータベースと照合する
イ.クライアントのMACアドレスをDHCPサーバに問い合わせて本人確認を行う
ウ.クライアントのIPアドレスをホワイトリストと照合してアクセスを許可する
エ.クライアントが送信したデジタル証明書をサーバが取得し、信頼できるCAの署名を検証してクライアントの公開鍵を確認する正解

解説

クライアント証明書認証は「マイナンバーカードを見せる」ようなもの。カード(証明書)を発行したのが信頼できる機関(CA)かを確認し、偽造でないことを署名で証明する!

なぜ エ が正解か

TLS相互認証フロー: ①サーバ→クライアントに「証明書をくれ」と要求。②クライアントがデジタル証明書(CA署名済み)を送付。③サーバがCAの公開鍵で署名を検証→証明書が正規CAによって発行されたことを確認。④証明書に含まれるクライアント公開鍵を取得。⑤クライアントに秘密鍵で署名させた乱数を検証→本当にその秘密鍵を持っていることを確認。これでなりすまし不可能な双方向認証が完成。

なぜ ア は間違いか

パスワード照合はBasic認証やフォーム認証の方法。TLSクライアント証明書認証ではパスワードは使わない。

なぜ イ は間違いか

MACアドレスはL2レイヤの識別子で同一ネットワークセグメント内でしか有効でない。インターネット越しのTLS認証には使用不可。

なぜ ウ は間違いか

IPアドレスホワイトリストはネットワーク層のアクセス制御。TLSの相互認証(アプリケーション層)とは別の機構であり、証明書ベースの身元確認ではない。

出典: AI生成問題(学習用)