次の記述は、クライアントがサーバからサーバの (X.509に基づく) 電子証明書を受け取ったときに、その電子証明書が正しいことを確認するためにクライアント側で行う手続きの一部である。 に入る語句の組合せとして最も適切なものはどれか。
サーバの電子証明書の中の A と、サーバの電子証明書の中のサーバの公開鍵を B をハッシュ関数にかけた値とが同一であることを確認する。
┌──────────────────┬─────┐
│ A │ B │
┌─┼──────────────────┼─────┤
│@│署名値 │除いた部分│
├─┼──────────────────┼─────┤
│A│署名値を認証局の公開鍵で復号化した値│含む部分 │
├─┼──────────────────┼─────┤
│B│署名値を認証局の公開鍵で復号化した値│除いた部分│
├─┼──────────────────┼─────┤
│C│署名値を認証局の秘密鍵で復号化した値│含む部分 │
├─┼──────────────────┼─────┤
│D│署名値を認証局の秘密鍵で復号化した値│除いた部分│
└─┴──────────────────┴─────┘
A
ハッシュ関数は、ある入力値から唯一に決まる固定値を生成する関数のことである。固定値から入力値を求めることはできない。
一連の手続きの順序は以下の通り。
サーバの秘密鍵と公開鍵、認証局の秘密鍵と公開鍵が登場するので混同しないようにする。
(1) サーバは秘密鍵と公開鍵を生成する。
(2) サーバは「秘密鍵で暗号化した平文」と「サーバの公開鍵」からハッシュ値を求める。
(3) サーバはハッシュ値を認証局から取得した秘密鍵で暗号化し、署名値とする。
(4) サーバは署名値と暗号化した平文とサーバの公開鍵を電子証明書として送信する。
(5) クライアントは受け取った電子証明書の中の署名値を認証局の公開鍵で復号化し、ハッシュ値 (これがA) を得る。
(6) さらにクライアントは、サーバの電子証明書の中のサーバの公開鍵を含む部分 (=秘密鍵で暗号化した平文とサーバの公開鍵) をハッシュ関数にかけてハッシュ値 (これがB) を求める。
V−17 | 目次 | V−19 |