これはSSLだっけ?TLSだっけ?いやどっちでもあるのだっけ?についてのまとめ
はじめに
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」のように併記する
確認方法
以下のサイトで対応状況をチェックすることができます
参考
- SSLとTLSの違いについて|GMOグローバルサイン【公式】 https://jp.globalsign.com/ssl-pki-info/ssl_practices/ssltls_brittle.html
Discussion