SSL暗号化通信の仕組みについて簡単に説明します。
SSL通信の目的は「クライアント」と「サーバ」が同じ鍵を持って暗号化と復号化をすることです。
ただし、最初は共通して使える鍵(共通鍵)を持っていません。
鍵交換をして、互いに信頼できる鍵を用意することが必要になります。
鍵交換
あらかじめWebサーバは公開鍵と秘密鍵を用意しておきます。
クライアントからSSL通信の要求があった時(つまりhttpsアクセス時)、サーバは公開鍵をクライアントに送ります。
クライアントは共通鍵を生成し、公開鍵で暗号化してサーバに送ります。
サーバは秘密鍵を使って、共通鍵を取り出します。
このようにすることで、通信経路上の盗聴や改ざんの心配なく、鍵を交換することができます。
しかし、Webサーバが安全かどうかが分かりません。偽装されたサーバかもしれません。
Webサーバが信頼されたサーバかどうかをチェックする仕組みがSSLにはあります。
電子証明書
あらかじめWebサーバは電子証明書というのを作っておきます。
電子証明書は認証機関(CAといいます)にチェックしてもらっておきます。実は電子証明書の中に公開鍵が入っています。
クライアントは電子証明書を受け取ったら、認証機関(CA)にチェックしに行きます。
問題ないと返事がもらえたら、公開鍵を取り出して使います。
このようにすることで、偽装されたかどうかの心配をすることなく、安心してサーバを利用することができます。
Q&A
httpsでアクセスした時、どこのサイトにアクセスしたかを読み取ることができますか。
回答
httpsで通信した場合、URL文字列も暗号化されます。
したがって、通信データからはどこのサイトにアクセスしたか、どのような検索をしたかも読むことはできません。
知恵袋URL
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10164038295
クライアントPCでSSL通信をしようとするとルート認証局の証明書が確認できるのですが、何故インストールされているのですか?
回答
「ルート認証局の証明書」はブラウザが絶対的に信頼するものとしてOSのキーストアという所に保管しておきます。
SSL暗号化通信をしようとWebサーバに通信をしたとき、そのWebサーバが信頼できるかどうかを「ルート認証局の証明書」からリンクをたどってチェックします。
たどれたらOK、たどれなかったら偽装とブラウザは判断します。
知恵袋URL
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11164280396
インターネットをしていてページを開いたら「このwebページのセキュリティ証明書に問題があります」と表示されたが大丈夫なんでしょうか?
回答
上の図でいうところの認証機関のチェックでOKがもらえなかったケースです。
そういったサイトでオンラインバンキングをやっちゃいけないことぐらいは分かるかと思います。
・作ったときは「証明書」をちゃんと作ったけど、更新しっかりやらなかった。
・もともとイントラネット用に作ったため、証明書をちゃんと作らなかった。
原因はいろいろあり得るのですが、ページを見るぐらいなら、大丈夫です。
知恵袋URL
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11162866981
0 件のコメント:
コメントを投稿