SSLとTLSの違いを簡単解説します
1、SSLとTLSは広い意味では同じ
「SSLって何ですか?」と問われれば、少しでもインターネットを勉強したことのある方ならすぐに「インターネット通信を暗号化する仕組みのこと」と答えるかと思います。その通りです。
しかしながら、「(SSLと並んでよく見かける)TLSって一体何ですか?」と問われると答えるのに困ってしまう方は多いのではないでしょうか。TLSとはSSLの後継であり、より新しい次世代の通信規格(暗号化プロトコル)のことです。
SSLもTLSも基本的には同じで、下記3つの仕組みにより、安全な通信を実現しています。
- 【暗号化】通信の暗号化(盗聴を防ぐ)
- 【確認】サーバの正当性の確認(成りすましを防ぐ)
- 【認証】メッセージ認証(改ざんを防ぐ)
2、SSLとは
SSLは「Secure Sockets Layer」の略です。主に「Webブラウザとサーバ間で情報を安全にやりとりするための仕組み」として米ネットスケープ社が開発を行い、1994年に公開されました。
その後、脆弱性が見つかるたびに新しいバージョンのリリースが繰り返されました。SSL最後の3.0は20年以上に渡って使われ続けましたが、2014年にGoogleのセキュリティチームによってSSL3.0を解読する攻撃(プードル攻撃)が発見されました。
これにより、2015年6月にSSL3.0は事実上廃止され、使用禁止となりました。SSL3.0の長い歴史に幕が降りたのです。
3、TLSとは
TLSは「Transport Layer Security」の略です。広く「情報を安全にやりとりするための仕組み」として開発されました。1996年5月に、米ネットスケープ社からインターネット技術の標準化を推進する団体であるIETF(Internet Engineering Task Force)に管理が移され、そこで新たに「TLS」と名づけられました。
とはいえ、TLS1.0はその前身であるSSL3.0とほとんど違いがないことや、TLS導入以降もSSLは並行して形上長く使われ続けて一般に馴染んでいたことがとても大きかったです。
そのため、実質的にSSLがTLSに移った1999年以降はもちろんのこと、SSLが完全に廃止された2015年以降も「SSL」や「SSL/TLS」などと表記されることが現在に至っても多くあるのです。
4、HTTPSとは
まずHTTPとは「Hyper Text Transfer Protocol」の略です。これはもうシンプルに「Web通信をする仕組み」を意味します。ところがこのHTTPには情報を安全にやり取りするための仕組みがありません。そこで出てくるのがSSL/TLS。
「HTTP」で行うWeb通信に「SSL/TLS」という安全な仕組みを加えることで表記は統合されて「HTTPS(https)」に。ここに現在も重宝されている「Webで安全に情報をやり取りできる仕組み」が出来上がったのです。
5、SSL・TLSのリリース歴史
インターネットの暗号化通信は下記のようにSSLからTLSへと、重大な脆弱性が見つかるたびに新しくリリースされてきました。
【▼SSL・TLSがリリースされた歴史】
- 「SSL1.0」・・・1994年、公開前に重大な脆弱性発見のためリリースなし。
- 「SSL2.0」・・・1994年にリリース。2011年に廃止。
- 「SSL3.0」・・・1995年後半にリリース。2015年に廃止。
- 「TLS1.0」・・・これまでのSSLを根本から見直して1999年1月に新しくリリース。2020年に廃止予定。
- 「TLS1.1」・・・2006年にリリース。TLS同様、2020年に廃止予定。
- 「TLS1.2」・・・2008年にリリース。
- 「TLS1.3」・・・2018年8月にリリースされて2020年現在に至る。
1999年1月に公開された「TLS1.0」は、根本から設定が見直されたとよく言われはしますが、その実前身である「SSL3.0」とほとんど同じです。そして1999年以降は、依然呼び慣れた「SSL」と呼ばれつつも実質的には「TLS」へ完全に移行されました。
そして2006年に「TLS1.1」、2008年には「TLS1.2」をリリース。そして2018年8月に「TLS1.3」がリリースされて現在に至ります。つまり2020年現在の主流はとっくに「TLS」なのです。
とはいえ、一般的にはSSLよりも馴染みのないのが「TLS」なので、未だ「SSL」もしくは「SSL/TLS」と言った記述がされているだけなのです。
また、SSLの最終バージョン3.0はとっくに廃止されているため、現在は「SSL」とは呼びつつもその意味は「TLS」を指しているとお考え下さい。
1999年のTLS導入から20年以上経ってもなおTLSは馴染まれないのですから、もう今後はずっと実際は「TLS」であるのに「SSL」と呼ばれ続けるかもしれませんね。
6、まとめ
SSLとTLSの違いは、SSL3.0とTLS1.0がほとんど違いがないことを考えても仕組み自体はほぼ同じと思っていただいて大丈夫です。ただ、現在は昔同様に「SSL」や「SSL/TLS」などと呼んでも実際にはそのどちらも「TLS」を指しています(SSL自体は2015年に廃止されているため)。
また、SSLはアメリカネットスケープ社により開発されましたが、その後管理会社が移ることとなり、TLSになってからは同じくアメリカのIETF(Internet Engineering Task Force)が仕組みを管理することとなりました。
結論を簡潔にまとめると要するに、SSLとTLSは仕組みを管理していた会社が違うだけで、その仕組み自体はほぼ同じということです。