またまた、よく使っているけどあまりちゃんと理解していないシリーズです。
今回はSSLとTLSって何が違うのか?について調べてまとめました。
ざっくりした結論
どちらも通信を暗号化するもので、SSLの種々の脆弱性に対応していく中で、名称がTLSに変化していった。
そもそもSSLとTLSって…?
ホームページにアクセスすると、「保護されていない通信」のような警告が出ることがあると思います。
その場合に、そのホームページはHTTPSに対応しておらず、接続が暗号化されていないので、「保護されていない通信」となります。
このHTTPSで暗号化した通信を行うために、SSL/TLSが重要になります。
歴史
元々は、SSL2.0というのが初期バージョンとして公開されたようですが、脆弱性がありSSL3.0が公開されました。
そのSSL3.0を元にSSL3.0の脆弱性を解消したのがTLS1.0で、以降TLSが利用されるようです。
現在はTLS1.3が最新バージョンとなるようです。
TLSが動作するイメージ
ブラウザとサーバが、お互い本人であることを確認して握手してから通信を始めるというのが雑な解釈です笑
図はBingのImageCreatorに書いてもらいました。
握手する際に、通信で利用する共通の鍵を交換することで、その後の通信を暗号化していくようなイメージです。
ちなみに、TLS1.3ではお互い本人であることを確認するタイミング(証明書の交換)で、既に暗号化された通信で行うことで安全に本人確認もしているようです。
この本人確認のタイミングで暗号化された通信を行うにはDH法を利用して、秘密情報を交換することで行なっているようです。
DH法の詳細な計算方法はWikiを見ていただきたいのですが、賢いこと考えますよね…
感想
名前が変わっていっただけで、やりたいことは同じということがわかって良かったです。
ただ、暗号化の話を読むにつれ、数学に強い人はやっぱりすごいなと感心するばかりですね。
賢い人が生み出したものを有難く使わせてもらうことにします。