SSLもTLSもインターネット上での通信を安全にする目的で策定されたプロトコルを指す用語です。それぞれ、Secure Socket LayerとTransport Layer Securityの略です。
歴史的経緯
SSLはネットスケープコミュニケーションズ社が設計し同社のブラウザーに実装しました。SSLについてはいくつか脆弱性が発見され、バージョンを上げて安全面での改定を続けましたがPOODLE攻撃による脆弱性発見に伴い、最後の仕様であるSSL3.0も2015年にInternet Engineering Task Force(IETF)によって廃止されました。これ以降、SSLは使うべきでないとされています。
SSLが廃止されるより前の1996年に、IETFによりTLSの仕様策定が開始されました。TLSも次々に発見された新たな攻撃方法に対する対策を入れた改定が続き、現在広く使われているTLS1.2は2008年に制定されました。現時点の最新規格はTLS1.3であり、2018年8月に公開されました。
SSLとTLSは名前は異なりますが目的と役割は同一であり、両者はしばしば同一の意味としてつかわれることがあります。wolfSSLも社名と製品名に”SSL”を今も使っています。
仕様面での違い
SSLもTLSも通信経路上(通常TCP/IP)のデータを暗号化してやり取りする手段を提供するものですが、大きく
- 通信相手を認証する
- 通信データを暗号化する方法と鍵を取り決める
- 通信データを暗号化・複合化する
の3つの処理を行っています。この機能に関してはTLSの最初のバージョンTLS1.0とSSLの最後のバージョンSSL3.0の仕様の差は僅かだったといわれています。したがってこの境界を知るよりも現在のTLS1.3は仕様上どのように変更されているのかを知ることの方が意義があります。
TLS1.3はそれまでと何が違うの?
以下の様な仕様上の変更が加えられました:
- 暗号化アルゴリズムの整理と暗号化スイート表記法の変更
- ハンドシェークの整理によるパケット往復数の削減・高速化
- ハンドシェーク途中からの暗号化
暗号化スイートはそれまで何百という定義が存在しました。この中から使われなくなったアルゴリズムを取り除いたり、必須なアルゴリズムに限定するなどの整理と暗号化スイート表記法の整理を行い、5種類に削減されました。鍵交換アルゴリズムは一時鍵ディフィー・ヘルマンだけが残りました。ハンドシェーク時のパケット往復は最短1往復で済みます。またハンドシェークの途中から暗号化が行われます。その他にもセッション再開などが仕様として追加されています。TLS1.3では安全面の向上と通信の高速化を両立させる仕様になっています。
結論
SSLとTLSの両者はクライアントとサーバーで行われるハンドシェークを指す言葉としては今だ同じ意味として使われ続けています。しかし、仕様を指す言葉としてのSSLは今や過去の仕様であり実際の製品では使われることはありません。2020年現在ではTLS1.1を使うサーバーですら代表的なブラウザーからセキュリティ警告を受けるようになりました。SSLとTLSの違いは、やがて歴史を振り返る時にしか問われることはなくなるでしょう。皆さんは、TLS1.3と今の主流であるTLS1.2の違いを気にかけるようにして下さい。
関連ページ:
https://wolfssl.jp/wordpress/wolfblog/2017/06/16/tls1-2-tls1-3/
https://wolfssl.jp/wordpress/product-wolfssl-tls1-3/
ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。