はじめに
なんかchromeがSSL化していないサイトは警告だすとか聞いてSSL化でもしようかな?って思いました。
翌々考えたらSSLって聞いたことしかないレベルでした。。😅
SSLとは
http通信を暗号化してセキュアにしたやつだよ。
一応ブラウザとサーバー間の間をセキュアに暗号化して通信するやつらしい!
(プロパイダとかも見られないし、会社の中のプロキシサーバーの担当者も見られないってことか・・・😝)
仕組み
仕組みの肝はブラウザとサーバー相互に同一の「共通鍵」を発生させる
ってことです。
そしてその共通鍵を使ってお互いに鍵をかけて送り、鍵を空けて開封、読み込みを繰り返します。
じゃあどうやるのか・・・?
- ブラウザがサーバーにSSL通信をリクエストする
- サーバーがブラウザにSSLサーバー証明書を送付する
- ブラウザが受け取った証明書の公開鍵を使って共通鍵を暗号化し、サーバーに送付する (公開鍵はブラウザ側で作った共通鍵を暗号化できる)
- サーバーが受け取った共通鍵を、秘密鍵を使って復号する(つまりサーバーが秘密鍵を持っている!!秘密鍵は公開鍵を開けることができます!)
- ブラウザ&サーバーは最終的に・・・一致した共通鍵を使って送受信するデータを暗号化、復号して暗号化通信を成立させる
あれ?証明書ってなに?なぜ必要なの?
サーバとクライアント(Webブラウザ等)がSSL通信を開始する時にSSLサーバ証明書を使用します。
サーバからSSLサーバ証明書をを受け取ったクライアントはサーバのFQDNとSSLサーバ証明書に含まれるコモンネームを照合して、一致していることを確認します。SSLサーバ証明書は認証局が発行していることにより、クライアントが通信しようとしているサーバは間違いなくドメイン所有者が運営しているサーバだと認証局が証明しているので、なりすましの防止に役立っています。
なるほどね〜。
ってなりすましってどういう場合だろう。。?
??ちょっとよくわらんかったです。
とりあえず第三者(証明書発行所)を取り込むことでより強固にしてるってことなんだろうな。。
実際の証明書の登録、SSLの設定方法等。。
別の記事でやります!!!😆
TLSとSSLの違い
ほんとはTLSっていうらしい。TLSが現在のプロトコル。
だけどもともとがSSL(Secure Sockets Layer)っていうプロトコルつかってたから
いまでもSSLの呼び方が一般的らしい。
SSLの限界。。【怖い話】
中身のデータを暗号化することはできても問い合わせ先のipアドレスや、暗号化したとはいえ、そのデータの通信量は見ることができます!
なので会社のネットワーク管理者だと「あれこいつ変なところ(ip)にたくさんリクエスト投げてるな・・・」ってことはわかっちゃうみたいです😰
感想
最初はとっつきづらい感じでしたけど、
意外とそんなこともなかったです😁💖
参考
https://ssl.sakura.ad.jp/column/ssl/
最近のコメント