牛、豚、鶏、どれか一つ食べられなくなるとしたら?

SSLを勉強しております。
私の今の解釈ではSSLによる電子証明書の交換手順は
以下のようなイメージです。

(1)[データの方向:クライアント → サーバー]
<ClientHello>
 マスターキーのための乱数
 今からの暗号通信に用いる暗号方式のリスト
 などをサーバーに送信。

(2)[データの方向:サーバー → クライアント]
<ServerHello>
 選んだ暗号方式
マスターキーのための乱数
<ServerCertificate>
 サーバーが保持するサーバー証明書
 サーバーが保持するルートCA証明書
<CertificateRequest>
<ServerHelloDone>

 ・
 ・
 ・

次にClientCertificateが送られてきて・・という感じですが、ここまででわからない点があります。
以下に質問を挙げます。
[質問]
手順(2)においてサーバーは電子証明書をクライアントに送るわけですが、参考書を読んでいる限りでは証明書データは暗号化せずにそのまま生データを送るような説明でした。
 もしそうだとすればパケットキャプチャさえすれば証明書をそっくりそのまま盗まれることになりますので考えにくいのですがどうなのでしょうか?
 暗号化されているなら「何の鍵」で暗号化されているのでしょうか?
クライアントの公開鍵は(2)のタイミングではまだ知らないのでクライアントの公開鍵ではないと思いますが。

長くなってすいません。
わかりにくければ補足します。
よろしくお願いします。

A 回答 (2件)

サーバの電子証明書は、SSL通信を行えば入手できますので秘密を保証する必要はありません。



それよりも、
A.証明書が改ざんされていないことを保証すること
B.証明書が認証局で発行されたことを保証すること
が重要です。

Aを満たすためには、送信したいデータを秘密鍵で暗号化すること
Bを満たすためには、認証局が証明書を機密鍵で暗号すること(認証局の公開鍵で複合化できること)

Bでは、送信したいデータが証明書であり、Bが保証されることは、Aも保証したことになります。

次を「SSLとは」参照してください。
http://www-6.ibm.com/jp/software/websphere/devel …

(2)で認証局の機密鍵で暗号化された公開鍵(証明書?)
(4)で認証局の公開鍵で証明書を複合化し、サーバの公開鍵を入手します。
(5)から暗号通信が開始されます。

つまり、(2)でAを満たしており、その暗号化の機密鍵が認証局のものですので、Bを満たしています。
    • good
    • 0
この回答へのお礼

詳しいご回答どうもありがとうございます。
URLも非常に参考になりました。

少し確認したいのですがよろしいでしょうか?

・サーバーが証明書を送る際、サーバーの証明書と
認証局の証明書の2つを送信すると思っていたの
ですが、URLを読む限りではサーバー証明書のみ送信
するようなのですがどうなのでしょうか?
(認証局の証明書を送信してしまうと認証局の公開鍵
がばれてしまうので問題あるとは思いますが)

・SSLではクライアントからは証明書を送信することはないのでしょうか?

何度も申し訳ございませんが、もしお時間ありましたらお願いいたします。

お礼日時:2005/09/28 10:51

A.詳しくは、つぎのHPを参照してください。


http://www.ipa.go.jp/security/pki/071.html
(目次で、さらにPKIに関する説明があります)

B.さらに詳細が必要の場合は、次でRFCを参照してください。
http://www.ipa.go.jp/security/rfc/RFC.html

・サーバーが証明書を送る際、サーバーの証明書と
認証局の証明書の2つを送信すると思っていたの
ですが、URLを読む限りではサーバー証明書のみ送信
するようなのですがどうなのでしょうか?

Aからでは、認証局の証明書をサーバから送信しているようです。

・(認証局の証明書を送信してしまうと認証局の公開鍵
がばれてしまうので問題あるとは思いますが)

公開鍵の機密性は、問題になりません。(誰もが入手できます。入手できるから、公開鍵と呼んでいます。)
公開鍵の改ざんが問題となりますので、送信等する場合は機密鍵で暗号化したデータが送信されます。

・SSLではクライアントからは証明書を送信することはないのでしょうか?

あります。
しかし、一般的には、個人が電子証明書を持っていませんので、普及していません。
(現在、個人認証は、ユーザIDとパスワードで行われていますが、個人の電子証明書が普及すれば電子証明書による個人認証が普及するでしょう。)
なお、企業間の重要なシステムでは、サーバ間の通信で双方で証明書を持ち、双方で証明書を交換し認証を行っているシステムもあると思います。
    • good
    • 0
この回答へのお礼

詳しいご回答どうもありがとうございます。
参考URL非常に参考になりました。
クライアントから証明書を送ることは今のところそこまで多くないパターンですね。

お礼日時:2005/09/29 10:45

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