令和4年度春 午後Ⅱ問① クライアント証明書の検証
ykさん
(No.1)
令和4年度春 午後Ⅱ問① 設問3(1)、(2)の証明書に関する問題について質問です。
(1)の解答は「秘密鍵は本人しか持っていない」(2)の解答は「CAのルート証明書」となっています。
いずれも秘密鍵での検証を行う処理についての設問です。
■質問
・(1)の「身元を一意に特定(問題文抜粋)」に利用する秘密鍵とは、利用者のPCがそれぞれ独自に持っている秘密鍵であり、(2)の証明書の検証に利用する秘密鍵ではないということでしょうか。その場合、秘密鍵は事前にPCへの登録作業が必要となるのでしょうか。
・(2)の設問での証明書の検証とは、PCに登録されているクライアント証明書が、認証局が発行した正規の証明書であることの確認をすることだと思います。
解答は「CAのルート証明書」となっていますが、そうなるとPCには、CAの秘密鍵が必要ですよね。CAの秘密鍵はPCが持てるものなんでしょうか。
質問は以上です。(1)、(2)で同じことをしているように感じ混乱しています。
ご回答いただけると幸いです。
(1)の解答は「秘密鍵は本人しか持っていない」(2)の解答は「CAのルート証明書」となっています。
いずれも秘密鍵での検証を行う処理についての設問です。
■質問
・(1)の「身元を一意に特定(問題文抜粋)」に利用する秘密鍵とは、利用者のPCがそれぞれ独自に持っている秘密鍵であり、(2)の証明書の検証に利用する秘密鍵ではないということでしょうか。その場合、秘密鍵は事前にPCへの登録作業が必要となるのでしょうか。
・(2)の設問での証明書の検証とは、PCに登録されているクライアント証明書が、認証局が発行した正規の証明書であることの確認をすることだと思います。
解答は「CAのルート証明書」となっていますが、そうなるとPCには、CAの秘密鍵が必要ですよね。CAの秘密鍵はPCが持てるものなんでしょうか。
質問は以上です。(1)、(2)で同じことをしているように感じ混乱しています。
ご回答いただけると幸いです。
2025.02.10 20:06
boyonboyonさん
(No.2)
>いずれも秘密鍵での検証を行う処理についての設問です。
のところですが、検証に使うのは公開鍵です。
手短かに言えば、
③(1)はクライアントの公開鍵を使ってクライアントの身元特定
④(2)はCAの公開鍵を使ってCAの身元確認
でしょうか。
2025.02.11 23:01
納豆のたれさん
(No.3)
「証明書の検証に使うのは公開鍵」というのは正しいですが....
クライアント証明書の検証はルート証明書(つまりCAの公開鍵)で行います。
クライアント証明書が改ざんされていないということは、証明書に含まれるクライアントの属性や公開鍵も改ざんされていないと判断できます。
この問題では少しひねって(無理やり)秘密鍵というキーワードを使わせて回答させているので少しややこしい。
クライアントの公開鍵を使ってクライアントの身元特定というのは無理があると思います。
パブリックなCAの身元確認はOSベンダが行います。
信用できると判断されたCAが発行したルート証明書は、OSの証明書ストアにOSベンダがインストールしておくので、ブラウザなどはルート証明書を信用することになります。
SSL-VPN装置も同じはずです。
つまり、身元確認ができているCAの公開鍵(ルート証明書)がインストールされているのです。
> ③(1)はクライアントの公開鍵を使ってクライアントの身元特定
クライアント証明書の検証はルート証明書(つまりCAの公開鍵)で行います。
クライアント証明書が改ざんされていないということは、証明書に含まれるクライアントの属性や公開鍵も改ざんされていないと判断できます。
この問題では少しひねって(無理やり)秘密鍵というキーワードを使わせて回答させているので少しややこしい。
クライアントの公開鍵を使ってクライアントの身元特定というのは無理があると思います。
> ④(2)はCAの公開鍵を使ってCAの身元確認
パブリックなCAの身元確認はOSベンダが行います。
信用できると判断されたCAが発行したルート証明書は、OSの証明書ストアにOSベンダがインストールしておくので、ブラウザなどはルート証明書を信用することになります。
SSL-VPN装置も同じはずです。
つまり、身元確認ができているCAの公開鍵(ルート証明書)がインストールされているのです。
2025.02.12 02:03
boyonboyonさん
(No.4)
>納豆のたれさん
こんにちは、丁寧な解説ありがとうございます。
③④の処理についてさらにご教授いただければ、幸いです。
自分では、
③はクライアント証明書とクライアントの署名(クライアントの秘密鍵を使用)をサーバに送りサーバサイドで署名の検証(クライアントの公開鍵で復号)をしクライアントの身元特定と考えていました。
④は、クライアント証明書のCAの署名の検証(CAの公開鍵を使用、CAのルート証明書を使うのでさらに上位はなし)をしているのだと思いました。
如何でしょうか。
2025.02.12 18:17
納豆のたれさん
(No.5)
③について
クライアントの署名を送るというのは何に対する署名を想定していますか?
クライアント証明書には社員番号が含まれているので、社員番号で社員を特定しているのでしょう。
④について
「クライアント証明書のCAの署名の検証」と「CAの身元確認」とはちがいますよね。
同じことだと思っていますか?
クライアントの署名を送るというのは何に対する署名を想定していますか?
クライアント証明書には社員番号が含まれているので、社員番号で社員を特定しているのでしょう。
④について
「クライアント証明書のCAの署名の検証」と「CAの身元確認」とはちがいますよね。
同じことだと思っていますか?
2025.02.12 20:46
boyonboyonさん
(No.6)
返信ありがとうございます。
あらためて、問題文・設問・納豆のたれさんの解説を読み直してみました。
③については、「クライアント証明書を基にして接続元の身元特定を行う。」
と書いてあり、さらに次の文で社員番号を利用者IDとしてクライアント証明書に含めるとありますので、確かに署名云々は関係ないですね。
利用者IDで特定しているみたいです。検証は④ですから。
設問の「送信元の身元を一意に特定できる理由」は、公開鍵に対応する秘密鍵は一意に決まる。それは、本人しか持っていない。
だから、解答の「クライアント証明書の公開鍵に対する秘密鍵は本人しか所有していないから」になるのかと思いました。
④については、
「CAの身元確認」は、言葉選びが全然なっていないですね。
この問題、秘密鍵を手順の中で使っていると思い込んでしまったのが間違いの元だったようです。
勉強になりました。色々教えていただきありがとうございました。
スレ主さん、スレッドを勝手に使わせていただいたようになってしまいすみませんでした。
スレ主さんの疑問は解消されたでしょうか?
あらためて、問題文・設問・納豆のたれさんの解説を読み直してみました。
③については、「クライアント証明書を基にして接続元の身元特定を行う。」
と書いてあり、さらに次の文で社員番号を利用者IDとしてクライアント証明書に含めるとありますので、確かに署名云々は関係ないですね。
利用者IDで特定しているみたいです。検証は④ですから。
設問の「送信元の身元を一意に特定できる理由」は、公開鍵に対応する秘密鍵は一意に決まる。それは、本人しか持っていない。
だから、解答の「クライアント証明書の公開鍵に対する秘密鍵は本人しか所有していないから」になるのかと思いました。
④については、
「CAの身元確認」は、言葉選びが全然なっていないですね。
この問題、秘密鍵を手順の中で使っていると思い込んでしまったのが間違いの元だったようです。
勉強になりました。色々教えていただきありがとうございました。
スレ主さん、スレッドを勝手に使わせていただいたようになってしまいすみませんでした。
スレ主さんの疑問は解消されたでしょうか?
2025.02.13 01:32
ykさん
(No.7)
返信が遅くなり申し訳ありません。
疑問が解消しました。
コメントくださった方、ありがとうございました。
疑問が解消しました。
コメントくださった方、ありがとうございました。
2025.03.02 18:15
返信投稿用フォーム
スパム防止のためにスレッド作成日から40日経過したスレッドへの投稿はできません。