DEC
03
2015

SSLとTLSとは その特長と脆弱性の問題

著者:グローバルサインブログ編集部

このエントリーをはてなブックマークに追加

インターネット上で氏名・住所などの個人情報、クレジットカードや銀行口座などの他の人に知られては困る情報を送受信する場合、データの暗号化が行われます。現代では、SSLやTLSというプロトコルが広く使用され、暗号化通信が行われています。

SSLとTLSとは?

SSL(Secure Sockets Layer)と、TLS(Transport Layer Security)はいずれも、インターネット上でデータを暗号化して送受信するプロトコルです。

私達がSSLやTLSの存在を意識するのは、ブラウザの使用中に「https://~」から始まるURLにアクセスしたときでしょう。これは、「HTTP」と「SSLあるいはTLS」が組み合わせて使用されている状態です。HTTPが平文でデータを送信するのに対して、HTTPSは個人情報やクレジットカードの情報など、第三者に知られてはいけないデータを、SSLやTLSで暗号化して送信しているのです。

SSLもTLSも、一対の機器の間でデータの暗号化通信を行うことができる、トランスポート層のプロトコルです。暗号化通信により、通信を行おうとしている相手ではない機器によるなりすまし、データの盗聴、改ざんなどを防ぐことができるようになります。

OSI参照モデル

SSLプロトコルをOSIのネットワーク階層モデルで表すと、トランスポート層とプレゼンテーション層の間に位置し、上位のアプリケーション層やプレゼンテーション層(HTTP / POP/ FTP / など)から 、暗号化などセキュリティ対策を施した通信が行えます。

OSI参照モデル

SSL/TLSと表記される理由

「SSL/TLS」という表記を目にしたことがある方も多いでしょう。このように表記される理由は、2つのプロトコルが開発され、発展してきた歴史にあります。

インターネットが世界中に普及した理由のひとつに、Netscape Navigatorという高機能ブラウザが開発され普及したことが挙げられます。このブラウザを開発したネットスケープコミュニケーションズ社が、SSLを開発しました。SSL1.0は脆弱性が発見されたため実装された製品はありませんでしたが、改良されたSSL2.0がNetscape Navigator 1.1に実装されたことで、一般のユーザにSSLが広まったといえます。

SSLはバージョン3.0までが開発されましたが、次のバージョンからは名称そのものが「TLS」(Transport Layer Security)に変更されました。この時点で、SSLという名称が広く使われていたために、「SSL/TLS」「TLS/SSL」のように両者を併記する方法が使われたり、「TLSのことも含めてSSLと呼ぶ」という慣習が生まれました。

現在、最新バージョンとして広く普及しているのは、2008年8月に制定されたTLS1.2です。ただし、最新とはいえ開発から7年が経過したバージョンという言い方もできます。 現在は、セキュリティ意識の高まり、HTTP/2などの新しいプロトコルの登場などを背景として、TLS 1.3が提案されています。すぐにリリースされる予定ではありませんが、今後の動向に注目しておきたいところです。

SSL/TLS これまでの歩み

SSL 1.0 リリース前に脆弱性が発見され公開されず
SSL 2.0 1994年リリース
SSL 3.0 1995年リリース
TLS 1.0 1999年リリース
TLS 1.1 2006年リリース
TLS 1.2 2008年リリース
TLS 1.3 ドラフト策定中

SSL/TLSが抱える脆弱性の問題

初めて開発されたSSL1.0に脆弱性が発見されたように、その後開発されたバージョンでも脆弱性が発見されています。SSL2.0は製品に実装された後に脆弱性が発見されたため、多くのWebブラウザでSSL 2.0を無効とする初期設定が行われていますし、WebサイトもSSL 3.0への移行を進めていました。

また、ごく最近まで広く使用されていたSSL3.0も、重大な脆弱性であるPOODLEが発見されたことから、多くの主要ブラウザはSSL3.0を無効とした他、TLS1.0/1.1においても脆弱性があることが分かっています。

Heartbleedというバグは2014年4月7日に発見されたもので、この脆弱性を突かれると、メモリ内の情報が悪意のある第三者に閲覧されてしまったり、そしてSSL暗号化通信の秘密鍵を含めた重大な情報が漏えいする可能性すらあるというものでした。
また1990年代から存在していた脆弱性が、最近になって明らかになった「FREAK」の例もあります。

このように、SSL/TLS通信を行っているからといって「絶対に」データが漏えいしないとは言えず、常に「できるだけ安全性の高い通信を行う」「万が一のデータ漏えい、改ざんなどに備える」ということを、心がけなければなりません。

脆弱性が無いか確認するには?

Qualys SSL Labs社が提供している「SSL Server Test」や、弊社が提供しているツールを利用すれば、SSLサーバ証明書の設定状況の確認、安全性の診断などが無料で行えます。診断結果はA+ 、A……Fまでの8段階のグレードで表示され、「B以下」と診断された場合には、(既存の)脆弱性が見つかったことが分かります。

この診断結果は、あくまで「既存の」脆弱性について診断するものです。まだ発見・言及されていない脆弱性については診断ができませんので、繰り返しチェックを行うことが必要でしょう。

脆弱性問題のあるサイトの場合

SSL 3.0が有効となっている場合、「INSECURE (安全でない)」と表示され、またTLS1.2に対応していない場合は、オレンジ色で「No」と表示されます。

各ブラウザの脆弱性への対応状況

POODLEが発見されたことをきっかけに、SSL3.0の時代は幕を閉じつつあります。旧バージョンのSSL/TLSに脆弱性が見つかった場合、ユーザとしてはできるだけ早く旧バージョンが使えない環境を選んでいく必要があります。

実際に、主なブラウザはSSL3.0を無効に設定しています。

Firefox Ver34からデフォルトでSSL3.0が無効
Internet Explorer 2015年4月以降デフォルトで無効
Google Chrome 今年1月からデフォルトで無効 (Chrome 40)

サーバ管理者の皆さんにお願いしたいこと

サーバ管理者は、SSL/TLSの脆弱性についての最新情報を積極的にチェックしましょう。
日本では「IPA(独立行政法人 情報処理推進機構)」などが脆弱性に関する情報を提供しています。また、認証局はSSL/TLSのセキュリティ上の問題についての最新情報や対処法などを常にお知らせしていますので、認証局からのメールやホームページ上で公開される情報に注意を払っていただきたいと思います。また、各機器、ソフトウェアなどの発売元も、脆弱性への対処法についてホームページ等で公開しています。

具体的には、脆弱なバージョンのSSL/TLSを無効化し、被害を受けることを防ぐ対処が必要となることや、Heartbleedのように、秘密鍵の作り直しや、サーバ証明書の再発行を受けることが必要となる重大な脆弱性が、今後も発見される可能性があります。

SSL/TLSは、インターネットを安全に利用するための技術として、広く利用されるようになりました。しかし、開発者も人間であり、脆弱性が残ったバージョンを公開してしまう可能性もあるのです。私達ユーザとしては「SSL/TLSは安全性の高いプロトコルではあるが、脆弱性をはらんでいる可能性もまだまだある」と考え、脆弱性への対処を積極的に行って、被害を防いでいくことが大切なのです。

このエントリーをはてなブックマークに追加

著者

グローバルサインブログ編集部

GMOグローバルサイン マーケティング部

当ブログの運営・管理を担当。いわゆる「なかのひと」。マーケティング部所属。当社ウェブサイト運営含めいろんなことをやっております。

公式SNS フォローはこちら

RSSフィード

Facebook

Twitter

Youtube

グローバルサイン最新情報をお届け

グローバルサインライブラリー

グローバルサインのSSLサーバ証明書により運営者情報が認証されています。

SSLはグローバルサイン - © 2007-2016 GMO GlobalSign K.K. All rights reserved.