インターネットのセキュリティ(2) ~ SSL/TLSとは ~

ンターネット上では、基本的にデータは暗号化されずにやり取りされており、特に電子メールは盗聴される危険にさらされています。

こうしたインターネットのオープン性は発展を促しましたが、技術が進歩しても安全性に対する懸念は絶えることがありません。インターネットが普及し、オンラインで商品やサービスを売買することが盛んになってくると、それが重い足かせとなってきました。

特に日本では現金払いの習慣が根強く、オンラインで注文はしても、料金は代引きや振込によって支払うケースが多いそうです。また、一昔前ではクレジットカードの番号をFAXで送るということも行われていました。これでは、とても効率的ではありませんし、インターネットの利便性を享受できているとは言えません。

そこで、このような事態に対処するために、クレジットカード等の重大な個人情報を安全にやり取りできる仕組みが開発されてきました。それが、

SSL(エス エス エル)

と呼ばれる暗号通信技術です。SSLは「Secure Socket Layer」の略で、セキュリティ機能付きのHTTPプロトコルとも言えます。

暗号通信といえば、電子メールのセキュリティ 編で解説のとおり、現在の主流は公開鍵暗号化方式と認証局(CA)によって実現されるPKIです。

SSLも、公開鍵暗号化方式を利用し、PKIによって実現される仕組みですが、同項で解説のとおり、共通鍵暗号化方式も併用する、

ハイブリッド暗号方式

の暗号通信技術になります。したがって、本項は、公開鍵暗号化方式、共通鍵暗号化方式、PKIの知識を前提として進めますので、不安な方は、電子メールのセキュリティ 編を今一度学習してください。

さて、SSLを具体的に解説すると、WWWサーバとブラウザの通信に用いられるHTTPプロトコルに、データを暗号化するセキュリティ機能、ユーザー認証機能を追加したプロトコルになります。

OSI参照モデルではセッション層に位置し、そのため下位層であるTCP/IPプロトコルを利用するすべてのアプリケーション層、プレゼンテーション層(HTTPFTPPOPなど)からも利用することができます。 (OSI参照モデルについては、プロトコルとは を参照してください)

したがって、HTTP以外のプロトコルにも適用可能ですが、実際にはHTTPの暗号化に最もよく利用されています。

SSLが利用されているウェブページでは、URIが「http」ではなく、下図のように「https」に変化し、さらに「鍵」マークが表示されます。「https」は「HyperText Transfer Protocol over Secure Socket Layer」の略になります。

SSLが利用されているページのURIの表示イメージ

上図は、有名なCAである日本ベリサイン社のウェブサイトのURIです。Internet Explorer7および8では、SSLが利用されている場合、さらにバーが緑色に着色されます。(色が変化するのはEV SSL証明書の場合です。詳しくは後述します)

SSL通信の流れは、下図のようになります。

SSL通信の流れイメージ

まず、ウェブサイトの運営者は、自身のWWWサーバを証明する電子証明書を作成します。この電子証明書は、電子証明書とPKI でも解説のとおり、自分で作成(自己署名証明書)することも可能ですが、それでは全く信頼性がないので、CAに発行してもらいます。

このWWWサーバを証明する電子証明書を、

サーバ証明書(または、SSLサーバ証明書)

と言います。サーバ証明書によって、WWWサーバのドメイン(ウェブサイトのドメイン)や運営者の正当性を証明し、証明書に含まれるかたちでWWWサーバの「公開鍵」を配布します。

クライアント(ユーザー)は、SSLが利用されているページにアクセスすると、このサーバ証明書を受け取り、証明書の改ざんとなりすましの検証をします。

この時の検証は、サーバ証明書に付けられているCAのデジタル署名を、ユーザーのパソコンに事前にインストールされているそのCAのルート証明書(自己署名証明書)の公開鍵で検証します。

検証が正しければ、そのサーバ証明書はCAから発行された正当な証明書であることが立証され、それが証明しているWWWサーバ(ウェブサイト)を信頼することができます。(検証のプロセスについて詳しくは、電子証明書とPKI を参照してください)

次に、クライアントは、乱数をもとに共通鍵を作成します。(SSLに対応したブラウザの機能で自動的に作成されます)そして、

サーバ証明書から取り出した公開鍵で、共通鍵自体を暗号化して送信

します。WWWサーバは暗号化された共通鍵を受け取り、自身の秘密鍵で復号化します。そして、以降の通信は双方が「共通鍵」を用いて通信し合います。これがSSL通信における公開鍵と共通鍵のハイブリッド暗号方式になります。

厳密には、共通鍵を送信するのではなく、共通鍵のもとである「乱数」を暗号化して送信し、WWWサーバ側でもそれをもとに共通鍵を作成して、双方が同じ共通鍵で通信するのですが、要旨は同じであり共通鍵を送信するという解釈で問題ないと思います。

共通鍵を使うメリットは、公開鍵暗号化方式とは でも解説のとおり、処理速度が速いためです。公開鍵暗号化方式で通信すると処理が複雑なため、非常に速度が遅くなります。

また、共通鍵暗号化方式を使うもうひとつの理由は、WWWサーバ側がユーザーの公開鍵を持ち得ないためです。ユーザーの公開鍵がなければデータを送り返すことができません。ユーザーの公開鍵を手にするには、ユーザーに電子証明書を購入してもらう等の処理が必要になってしまいます。

つまり、ハイブリッド通信を行うことで、ユーザーに負担をかけることなく、尚且つ安全で高速に暗号化通信が行えるというわけです。

SSL通信を行うには、WWWサーバとブラウザの両方がSSLに対応している必要がありますが、現在のモダンブラウザであれば、基本的にすべて対応しています。また、サーバ証明書を発行しているほとんどのCAのルート証明書も事前にインストールされています。

このように、SSLにおいても、信頼性のある第三者証明としての「電子証明書」が重要になってきます。電子証明書の信頼性が崩れれば、なりすましの可能性を否定できなくなり、ひいてはその通信が安全ではなくなるからです。

現在では、サーバ証明書について、一般のサーバ証明書よりもさらに厳格な審査によって発行された証明書である、

EV SSL証明書(イー ブイ エス エス エル)

を利用するウェブサイトが増えてきました。EV SSL証明書の「EV」は「Extended Validation」の略になります。

従来のサーバ証明書では、業界で統一された標準規格が存在しなかったため、それぞれのCAが独自の認証方法を採用していました。

そのため、中にはウェブサイトや運営者の実態を十分検証することなくサーバ証明書を発行してしまうこともあり、正式なサーバ証明書を持つフィッシングサイト(有名なサイトを模倣した詐欺サイト)まで出現するという事態になりました。

そこで、「CAブラウザフォーラム」という業界団体が2005年から、「より厳密で統一された審査基準に基づく証明書」の必要性を訴え、統一したガイドラインを策定したのです。それにしたがって、従来よりも厳格に審査されて発行されるサーバ証明書が「EV SSL証明書」になります。

具体的には、サイト運営者の実態確認を厳格にし、企業であれば登記を確認したり、経営者や担当者の身元は間違いがないか等を細かく審査します。

EV SSL証明書を取得しているウェブサイトを訪れると、上図のように、URIバーが青色もしくは緑色に着色されるので、一目で判断することができます。(旧バージョンのブラウザでは着色に対応していないものがあります)

また、証明書を実際に見たい場合は、SSLを利用しているサイトの「鍵」マークをクリックすると、サーバ証明書の内容を見ることができます。下図は、ベリサイン社のウェブサイトです。

サーバ証明書の内容表示のイメージ

このように、EV SSL証明書はそのサイトが信用できるかどうかの良い判断材料となるため、意識の高いサイト運営者はEV SSL証明書を取得して、サイトの信頼性と安全性をアピールしています。

また、SSLの後継仕様として、

TLS(ティー エル エス)

が発表されましたが、SSLという名称が広く普及していることもあり、TLSも含めてSSLと呼ばれることが多いです。TLSは「Transport Layer Security」の略になります。

現在、主に使わているSSLは2.0(バージョン2)と3.0(バージョン3)で、3.0をもとにTLSが策定されました。Internet Explorerでは、「ツール」→「インターネットオプション」→「詳細設定」で利用可能なバージョンを設定することができます。

ただし、SSL2.0はセキュリティ上の脆弱性が指摘されており、推奨されていません。

Internet Explorerの「詳細設定」画面のイメージ

このように、SSLによってインターネットにおいて安全で効率的な機密情報のやり取りができるようになり、SSLは、オンラインショッピングやオンラインバンキングなどはもちろん、お問い合せ等のフォームメールにも広く利用されています。

更新履歴

2009年8月14日
ページを公開。
2009年8月14日
ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
2014年5月22日
内容修正。
2018年2月1日
ページをSSL化によりHTTPSに対応。

参考文献・ウェブサイト

当ページの作成にあたり、以下の文献およびウェブサイトを参考にさせていただきました。

文献
図解入門 インターネットのしくみ
SSLの仕組み|トラスティワークス
http://www.itservice-a.com/about_ssl/