🔑

これはSSLだっけ?TLSだっけ?いやどっちでもあるのだっけ?についてのまとめ

2021/08/10に公開

はじめに

WebサイトのHTTPS化についてお客様に説明する際に、実は「SSL」, 「SSL/TLS」, 「TLS/SSL」, 「TLS」の関係がよく分からなくなることがあったので、一旦整理してみました。

まとめ

  • TLSも含めてSSLと呼ぶ。もしくは、「SSL/TLS」「TLS/SSL」のように併記する
    • どちらもほぼ同じ仕組み
  • なるべく新しいバージョンのTLSを使うべき

なぜSSL/TLSが必要なのか

一つ例をあげます。

自社のWEBサイトを作って、フォームを設置するとユーザからお問い合わせをもらったりすることが期待できます。
ただ、HTTPS化していないなど通信について無策だと、お客様の個人情報が第三者に見られてしまうリスクがあります。(鍵をかけていない自転車のように、欲しい情報の項目とHTTPSが利用されていないことセットで見え見えであれば、狙われる可能性は高いと思っています。)

そこで、見られても被害に発展しないようにSSLを利用して通信を暗号化することで、ある程度安心してお問い合わせをユーザにご利用いただくことができます。

具体的には次の効果を期待できます

  • 通信の暗号化(盗聴を防ぐ)
  • サーバの正当性の確認(なりすましを防ぐ)
  • メッセージ認証(改ざんを防ぐ)

SSLとTLSのバリエーション

まずSSLの歴史について述べます。
1994年にSSL1.0が開発されました。その後バージョンアップが重ねられ、1995年にSSL3.0が開発されました。

  • SSL 1.0
  • SSL 2.0
  • SSL 3.0
    • 1995年〜2015年までの20年近く使われた長期政権
    • 「プードル」問題によって歴史に幕を下ろした

さらに、1999年にはSSL3.0を基にした「TLS」というプロトコルが開発されました。その後バージョンアップが重ねられ、2018年にTLS1.3が開発されました。

  • TLS 1.0
  • TLS 1.1
  • TLS 1.2
  • TLS 1.3

どれを使うべきなのか

なるべく新しいバージョンのTLSを使うべきです。
なぜなら、SSL3.0や一部のTLS1.0/1.1には脆弱性が発見されているためです。またSHA-2に対応していないためです。

脆弱性とは、2014年10月に発見された、POODLE(CVE-2014-3566)というものです。

SHA-2とはハッシュアルゴリズムです。SHA-2は224ビット〜512ビットが利用されます。一方で旧バージョンであるSHA-1では160ビットが利用されます。
ビット数が高いほうがセキュリティ的な強度が高いです。

なぜSSL/TLSとかいう表記が使われるのか

現在ではTLSも含めてSSLと呼ぶためです。

SSL3.0とTLS1.0はほぼ同じ仕様です。
ただ、TLSが登場した1999年の時点では、既にSSLという名称が浸透していました。
そのため、TLSも含めてSSLと呼ぶことが一般化しています、

以上から、次の状況になっています

  • TLSも含めてSSLと呼ぶ
  • もしくは、「SSL/TLS」「TLS/SSL」のように併記する

確認方法

以下のサイトで対応状況をチェックすることができます

参考

Discussion