平成24年度秋期 応用情報技術者試験 午前 問33
SSLによるクライアントとWebサーバ間の通信手順(1)〜(5)において,a,bに入る適切な語句の組合せはどれか。ここで,記述した手順は,一部簡略化している。(1)クライアントからのSSLによる接続要求に対し,Webサーバはサーバ証明書をクライアントに送付する。(2)クライアントは,保持している a を用いてこのサーバ証明書の正当性を確認する。(3)クライアントは,共通鍵生成用のデータを作成し,サーバ証明書に添付された b を用いてこの共通鍵生成用データを暗号化し,Webサーバに送付する。(4)暗号化された共通鍵生成用データを受け取ったWebサーバは,自らの秘密鍵を用いてこれを復号する。(5)クライアントとWebサーバの両者は,同一の共通鍵生成用データによって共通鍵を作成し,これ以降の両者間の通信は,この共通鍵による暗号化通信を行う。

- ア a:クライアントの公開鍵,b:Webサーバの秘密鍵
- イ a:クライアントの秘密鍵,b:Webサーバの公開鍵
- ウ a:認証局の公開鍵,b:Webサーバの公開鍵
- エ a:認証局の公開鍵,b:Webサーバの秘密鍵
解答・解説を見る
正解:ウ
AI解説
SSLのハンドシェイクでは、まずサーバ証明書の正当性を、証明書に署名した認証局(CA)の公開鍵(aの部分)で検証する。次に共通鍵生成用データ(プリマスタシークレット)を、証明書に含まれるWebサーバの公開鍵(bの部分)で暗号化して送り、サーバだけが自らの秘密鍵で復号できる。よってウの組合せが正しい。 ア: 証明書の検証にクライアントの公開鍵は使わない。またサーバの秘密鍵で暗号化しては誰でも公開鍵で復号でき、秘匿にならない。 イ: クライアントの秘密鍵では認証局の署名を検証できない。aは認証局の公開鍵でなければならない。 ウ: 正しい。a=認証局の公開鍵で証明書の署名を検証し、b=Webサーバの公開鍵で共通鍵生成用データを暗号化する。 エ: bがWebサーバの秘密鍵では、秘密鍵は本人しか持たないため、クライアントが暗号化に使うことができない。 💡 「証明書の検証=CAの公開鍵」「秘匿のための暗号化=相手(受信者)の公開鍵」という公開鍵の使い分けが判断基準。SSL/TLSは公開鍵暗号で鍵を共有し、以降は高速な共通鍵暗号で通信するハイブリッド方式である。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。