
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
クライアントがサーバからサーバの(X.509に基づく)電子証明書を受け取ったときに、その電子証明書が正しいことを確認するためにクライアント側で行う手続きの一部の、空欄A・Bに入る語句の組合せを選ぶ問題。
電子証明書の署名の検証手順(署名値を認証局の公開鍵で復号し、証明書本体のハッシュ値と比較する)を確認する問題。
① 証明書の検証: 認証局は証明書本体のハッシュ値を秘密鍵で署名する → 受け取った側は、署名値を認証局の公開鍵で復号した値と、証明書本体(公開鍵を含む部分)を自分でハッシュ化した値を比べる
② 検証に使うのは公開鍵なので②③。ハッシュ化するのは署名対象の本体(含む部分)で②
③ ②
電子証明書は、認証局が、証明書の内容(サーバの公開鍵を含む部分)のハッシュ値を計算し、認証局の秘密鍵で署名したもの(署名値)を付けたものである。クライアントは、(A)サーバの電子証明書の署名値を、認証局の公開鍵で復号した値と、(B)サーバの電子証明書の中の、サーバの公開鍵を含む部分(署名対象部分)をハッシュ関数にかけた値とが、同一であることを確認する。同一であれば、証明書が改ざんされておらず、認証局が発行したものであると確認できる。したがって、A=署名値を認証局の公開鍵で復号した値、B=含む部分の②が正しい。
証明書の検証: 署名値を認証局の公開鍵で復号(=ハッシュ値)し、証明書本体(署名対象部分)を自分でハッシュ化した値と比較する。一致すれば正当。
キーワード: 電子証明書、X.509、デジタル署名、認証局、ハッシュ関数、証明書の検証、PKI、情報工学部門