ニュースで「SSL」にセキュリティ上の問題が報告されたため、利用を中止するようアナウンスされたと聞いて驚いています。「SSL」は証明書などでも聞いたことがありますが、「TLS」という言葉は初めて聞きました。SSLとどのように違うのでしょうか。
A
SSL(Secure Socket Layer)もTLS(Transport Layer Security)も、インターネット上で安全な通信を行うためのプロトコルです。
SSL(Secure Socket Layer)もTLS(Transport Layer Security)もプロトコルですが、「SSLサーバ証明書」といった言葉に利用されているため、一般には「SSL」という言葉が広く知られています。ところが、インターネット標準となっているのは「TLS」です。今回報告された問題を踏まえても、SSLを無効化してTLSを利用することが推奨されます。
SSLは元々は、「Netscape Navigator」というWebブラウザを開発していた米Netscape Communications社が、1990年代から開発してきたプロトコルです。それがインターネットの普及とともに、Internet Explorerなど他のWebブラウザでもサポートされるようになりました。そして、SSL 3.0を基に1999年に標準化されたプロトコルがTLS 1.0(RFC2246)という位置づけになります。
SSLやTLSが提供する役割は主に3つあります。インターネット上でクレジットカード番号などの重要な情報を盗聴されないようにする「暗号化」、自分がアクセスしている先の身元を確認し、なりすましを防ぐ「認証」、やり取りしている情報が途中で変更されないようにする「改ざん防止」で、それぞれ用途や環境に応じて異なる暗号アルゴリズムが使われています。
基本的な機能や動作はほとんど同じですが、SSL 3.0よりもTLS 1.0の方が、TLS 1.0よりも1.1や1.2の方が、より強固な暗号アルゴリズムをサポートしている上、さまざまな攻撃手法への対策も盛り込まれて安全性が高まっているため、最新バージョンの利用が推奨されます。
2014年10月、SSL 3.0に一定の条件の下で通信の一部が第三者に漏えいする可能性がある「POODLE」と呼ばれるセキュリティ問題が報告されました。ユーザーとしてできる対策は、Webブラウザの設定を変更し、SSL 3.0を無効化することです。ブラウザを開発しているベンダーの中には、GoogleやMozillaのように、この問題を受けてSSL 3.0のサポート終了に向けた対策が進んでいます。またTLSに関しても、実装方法によっては「POODLE」の影響を受けるとの報告もあります。今後もセキュリティ機関などの発表を注意深く見守る必要があります。