Devsway

日々の記録とか記憶とか。


はじめに


なんかchromeがSSL化していないサイトは警告だすとか聞いてSSL化でもしようかな?って思いました。


翌々考えたらSSLって聞いたことしかないレベルでした。。😅


SSLとは


http通信を暗号化してセキュアにしたやつだよ。


一応ブラウザとサーバー間の間をセキュアに暗号化して通信するやつらしい!

(プロパイダとかも見られないし、会社の中のプロキシサーバーの担当者も見られないってことか・・・😝)



仕組み


仕組みの肝はブラウザとサーバー相互に同一の「共通鍵」を発生させる

ってことです。


そしてその共通鍵を使ってお互いに鍵をかけて送り、鍵を空けて開封、読み込みを繰り返します。


じゃあどうやるのか・・・?




  1. ブラウザがサーバーにSSL通信をリクエストする

  2. サーバーがブラウザにSSLサーバー証明書を送付する

  3. ブラウザが受け取った証明書の公開鍵を使って共通鍵を暗号化し、サーバーに送付する (公開鍵はブラウザ側で作った共通鍵を暗号化できる)

  4. サーバーが受け取った共通鍵を、秘密鍵を使って復号する(つまりサーバーが秘密鍵を持っている!!秘密鍵は公開鍵を開けることができます!)

  5. ブラウザ&サーバーは最終的に・・・一致した共通鍵を使って送受信するデータを暗号化、復号して暗号化通信を成立させる


あれ?証明書ってなに?なぜ必要なの?



サーバとクライアント(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/




カテゴリー

オレオレIT用語辞典