<SSLの仕組み。~よく分からなくなってしまう皆様へ~>
今回のテーマいかがでしょうか?
情報処理安全確保支援士試験、CISSP試験共に必ず知識としては必要なSSLですが、その通信の仕組みや、存在意義をついつい忘れてしまうのではないでしょうか・・・
私は良くこんがらがってしまいます( ;∀;)
そのため、今回は自分の備忘録も含めて「SSL」について重要なポイントを紹介していこうと思います!!
(※分かりやすくするためTLSではなくSSLで統一致します。)
まずは、基本から
・SSLとは?
→僕らのようなWebサイトをみる人(=クライアント)とWebサイトを公開する人(=サーバ)の間を暗号化することで安全な通信ができるようにする技術。
簡単にいえばこうなります。ここまでは皆さんも、うんうんって感じだと思います。
では次は僕が一番忘れてしまいそうになる、SSL通信の仕組みについてです(^^)/
・SSLの通信の仕組みは?
①クライアントとサーバが「SSLのどのバージョンで会話する?」と話し合う
②バージョンが決まるとサーバが自分のサーバ証明書(=公開鍵もこの中に含)をクライアントに送る
③クライアントはサーバ証明書を疑いはじめる。「これ本当に但しサーバの証明書なの?」
④疑いを検証するため、予めブラウザに登録されている認証局の公開鍵でサーバ証明書を復号してみる(=下記の認証局の秘密鍵で暗号化されたものを公開鍵で検証する)
ここでポイント!
→サーバ証明書は「サーバの公開鍵+ハッシュ関数+認証局の秘密鍵」でできている!
⑤上記の④でサーバ証明書がちゃんと復号できれば、やっと安心できるのでサーバ証明書にくっついているサーバの公開鍵を取り出す
⑥効率的な通信をするために、クライアント側で共通鍵をつくる。※ここは実際には少々複雑なプロセスを踏むが、割愛します!
⑦共通鍵はこの後、サーバとの通信を暗号化するための大事な情報なので、サーバの公開鍵で暗号化した上で、大切にサーバに送付してあげる
⑧クライアントもサーバも共通鍵を手に入れたので、通信の際は暗号化のために共通鍵を使用しあう。
ここでポイント!
→SSLでの主役は「共通鍵」です。公開鍵は最初だけ使われる前座のような役割です😿
今回は以上となります!少しでも参考になれば幸いです(^_-)-☆