チョコミントアイス

PKI等で使われる電子証明書について教えてください。

認証局が発行する電子証明書には、認証局の電子署名が入っているそうですが、その署名はどうやって検証するのでしょうか?検証するためには、認証局の公開鍵すなわち認証局の電子証明書が必要になり、その中には、また別の電子署名があると思いますので、その電子署名を検証しないといけないと思います。
こう考えると、いつまでたっても証明できないような気がしますが...

また、電子証明書の電子署名とは、電子証明書データのハッシュ値を暗号化したものと考えればよいでしょうか?

A 回答 (4件)

PKIを勉強していく上でここに疑問を感じるというのは、的を射ていると思います。

その疑問もっともです。
CAのCAのCA...となっていき、最終的にはルートCAを信用するかしないかです。
最高位に位置するルートCAの署名は、自分で行っています。つまりルートCAの証明書の発行人はそのルートCA自分自身なのです。PKIシステムの苦しい原則があります。
つまり世の中には神様が必要なのです。
その最高位のルートCAを信用するかどうかは、システムの設定です。Windowsの場合はデフォルトで多くの商用CAが勝手に信頼リストに入っています。
よって有名なCAは既にあなたは信頼しているという設定になっています。

この回答への補足

ありがとうございました。
良く分かりましたが、自分が認識しないうちにCAを信頼しているとは少し怖いですね。

追加の質問ですが、
PKIを利用したデータ授受を行うときに、
送るデータの形は、以下の1.2.3.を送り先の
公開鍵で暗号化したデータということでしょうか?
1.平文
2.電子署名
3.電子証明書

そうなると、最初に行うのは相手(送り先)の電子証明書
の取得ということでしょうか?

補足日時:2003/05/27 10:07
    • good
    • 0

> PKIを利用したデータ授受を行うときに、


> 送るデータの形は、以下の1.2.3.を送り先の
> 公開鍵で暗号化したデータということでしょうか?

PKIは「電子証明書を所持している人の認証システム」であり、送りたいデータをどう保護するかはPKIではなく、保護システムの実装の話です。
例えばSSLはPKIを使用したシステムといえますが、SSLのやっていること(暗号化や認証)イコール PKIではありません。それはあくまでもSSLの仕様に過ぎません。

> 1.平文
これは送りたいデータのことだと思いますが、どの暗号システムを使用して暗号化するかは実装依存なので、PKIとは直結しません。
ほとんどの場合、データの暗号化にはAES等共通鍵方式を使用し、PKIで使用する公開鍵は例えば共通暗号のセッションキーの暗号化に使用します。

> 2.電子署名
署名はRSA等のアルゴリズムで行うので、署名自身はPKIと直結しません。電子署名はPKIなしでも有り得ます。
付加された「署名」の持ち主の存在を確認するのがPKIです。
署名の実態は、(多くの場合)「データのダイジェストの暗号化の結果」ですので、これを更に暗号化することはありません。

> 3.電子証明書
これは確かに入手する必要があります。ただし、相手からとは限りません。どこからでもいいのです。例えばCAから。(SSLではサーバからクライアントが受け取りますね)
証明書は公開されているものなので、暗号化はされません。

タイトルとずれるので、別質問にした方がよろしいかと...
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2003/05/27 17:58

例えばSSLであれば、ブラウザにCA局の証明書を組み込むことになります。

(ルート証明書)
IEやNetscape等のブラウザにはベリサインやボルチモアなどのメジャーどころのルート証明書はあらかじめ組み込まれています。

参考URL:http://www.verisign.co.jp/repository/faq/SSL/
    • good
    • 0

認証局の電子証明書は、ブラウザに埋め込まれています。


IEであれば、"ツール"-"インターネットオプション"-"コンテンツ"-"発行元"-"信頼されたルート証明書機関"で、一覧を確認できます。

電子証明書の電子署名とは、証明書データのハッシュ値を、その証明書の持ち主の秘密鍵で暗号化したものと考えて間違いありません。
#検証する側は、証明書データのハッシュ値を自前で計算した値と、電子署名を公開鍵で複合した結果取り出された値とを比較します。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!