質問: 公開鍵暗号と共通鍵暗号について、 公開鍵暗号と共通鍵暗号について、 http://dev.sbins.co.jp/cryptography/cryptography02.html や http://mikilab.doshisha.ac.jp/dia/research/report/2005/0909/005/report20050909005.html のレベルでは理解しているつもりです。 また、電子署名が、共通鍵暗号の仕組みで実現されていることもわかります。 他方、 ネット上でパスワードを登録・入力する場合や、 sslが、 公開鍵暗号なのか、共通鍵暗号なのかというレベルで、 どのように実現されているのかがわかりません。 ご存じの方、よろしくお願いします。
回答: >また、電子署名が、共通鍵暗号の仕組みで実現されていることもわかります。 待った。公開鍵暗号方式です。 まず、ネット上でパスワードを登録・入力する場合ですが、 通常のプロトコルhttpであれば、共通鍵暗号になります。 パスワードが共通鍵となります。 で、sslというhttpsプロトコルでは 公開鍵暗号と共通鍵暗号の両方の仕組みを使用しています。 簡単にいえば、最初に共通鍵を公開鍵暗号方式で送って そのあとは、送った共通鍵で通信します。 まずクライアントはサーバー証明書という公開鍵をもらいます。 そのあと、クライアントは共通鍵を作成します。 クライアントで生成した共通鍵をサーバー証明書の公開鍵でもって 暗号化してサーバー側に送ります。 サーバーは暗号化された共通鍵を受け取ります。 この共通鍵はサーバー側の秘密鍵でもって復号化します。 サーバーはこれからやりとりする共通鍵を手に入れました。 あとはウェブサーバーであれば、 この共通鍵でホームページのデータを 暗号化してクライアントに送ってクライアントは復号化します。 このようにして通信します。 というわけでsslの簡単な流れを説明しましたが、 認証局についての説明は省きました。 公開鍵を含んでいるサーバー証明書自体が 認証局の秘密鍵で暗号化されていて ・・・と ややこしいのですが、あとは頑張ってください(笑) 参考url http://www.ibm.com/developerworks/jp/websphere/library/web/web_security/2.html