2016 年 10 月 10 日
SSL/TLS 証明書とは何か??
SSL/TLS 証明書とは何か?
Web サイトの運営に際して SSL/TLS サーバー証明書は非常に身近なものである一方、対応しなければならない課題や、知っておかなければならない関連知識が多種多様になっています。
本ページでは「SSL/TLS サーバー証明書とは何か?」について、基礎的な内容を説明します。
目的は、「通信の暗号化」と「Web サイトの認証」の 2 つ
SSL/TLS サーバー証明書で出来ることはその誕生当時から変わっておらず、「通信の暗号化」と「Web サイトの認証」の2つです。
「通信の暗号化」
「通信の暗号化」とは、インターネットが使用できるクライアントとサーバーの間、またはサーバーとサーバーの間の通信を暗号化することを意味します。インターネットが使用できるクライアントの例としては、PC、携帯電話、スマートフォン、タブレット端末の他、ゲーム機やテレビ等、さまざまな端末があります。これらの機器から機器へ送られる機密情報を保護するために暗号化が求められていることから特定のクライアントだけではなく、様々なクライアントが SSL/TLS サーバー証明書に対応しています。
では、なぜ通信を暗号化して、インターネット上でやり取りされる情報を保護する必要があるのでしょうか。
例えば、あなたが欲しい商品が、ネット上のとあるお店にありました。購入には、クレジットカードを使うことにします。あなたのクレジットカード情報は、インターネットという誰もが自由に使える通信網(道路)を経由して、お店に届きます(自分しか使えない通信路として専用線という手段はありますが、一元的な買い物という点で現実的ではないため、ここでは手段としては取り上げません)。
そのため、通信路の中を流れるデータを見ることが出来る人には、あなたのカード情報は見られてしまいます。
現実の世界でいうスリがインターネットにもいたらどうでしょう。つまり、盗聴を働く人です。
実際に盗聴するためのツールの入手は簡単であり、こういうスリは、インターネット上に少なからずいます。さらに、通信路上の話のため、スリにあったかどうかはあなたはわからないでしょう。おそらく、「もしかしたら?」と思うのは、知らない間に自分のカードで色々買い物がされて多額の請求がきたときでしょうか。
誰でも通れる道路を「通るな!」と制限することができないのと同じように、あなたの入力したクレジットカード情報を「見るな!」とは言えないわけです。
そこで、盗聴対策としては「見たところで何を意味しているのかわからなくする」のが有効で、そのために「暗号化」が出番となるわけです。実現方法はさておき、SSL/TLS サーバー証明書を使うことで、クライアントとサーバーの間でやりとりされるデータを暗号化することが出来ます。
「Webサイトの認証」
さて、「通信の暗号化」により、目的地である Web サイトまでの道中は安全になりました。そして、暗号化されたデータは、インターネットの通信を経て、Web サイト(サーバー)に到着したら復号されます。
ところが、Web サイトが、偽物だったらどうなるのでしょうか。
偽物の Web サイトであった場合、カード情報は盗まれて、商品は届かないということになります。さらに、カード情報が悪用されて、身に覚えのない買い物に、支払いの責任だけを負わされることになります。
しかし、その Web サイトが本物か偽物かについて、そう簡単には判別できません。
初めて利用する Web サイトなら、そもそも本物の内容やデザインを知らないでしょう。また、本物の Web サイトを知っていたとしても、フィッシングサイトのような偽物のサイトは本物のデザインに巧妙に似せて作られることが多いため、やはり判別するのは難しいと思います。
ここで、SSL サーバー証明書の「認証」の出番です。
誰がサイトを運営しているのかを証明
サイバートラストのような SSL/TLS サーバー証明書を発行する会社は、「認証局」や「認証事業者」と呼ばれます。認証局というのは、その証明書を使う組織がどういうところか調査(※)したうえで、その組織のリクエストに応じて証明書を発行し、提供します。そして、発行される証明書の中にその組織の情報を含めます。
(※:認証局によって、調べるレベルは異なります。違いについては、「SSL/TLS サーバー証明書の認証レベルとは?」で説明します。)
例えば、サイバートラストが発行する証明書は、使用する組織が実際に存在するか(実在性)について必ず調査します。その組織が「確かに存在する」と確認できた時は、組織名や住所、その証明書が使われる Web サイトの FQDN(例:www.cybertrust.ne.jp)を証明書に含めて発行します。
サーバー証明書の表示例
しかしながら、組織が存在していれば、誰が申し込んできても提供してよいかというと、そうではありません。偽サイトを立てるかもしれない人に証明書を提供してしまうリスクがあるため、申請者がその組織に所属している本物であると確認できた人、あるいは、本物の人から確かに代理申請する権限を与えられている人に限定しなければなりません。
そのため、申請者の存在を確認したうえで証明書を発行する認証局の場合、事前に本物の組織からの申請であるかを確認し、本物または代理人へのみ納品する仕組みを設けています。
このような方法で取得された SSL/TLS サーバー証明書を Web サイトに使用することで、その証明書を見たサイトの訪問者は、「誰が運営しているサイトか、それは自分が取引しようとしている会社であるか」が確認できるようになります。平たく言えば、組織の実在性を確認している証明書であれば、Webサイトの運営者が本物か偽物かの判断の目安になるわけです。
実際のインターネットの利用場面では、「Web サイトの訪問者が訪問するたびに毎回証明書の中身を確認するのか」という疑問はあるかと思います。この点について、証明書やブラウザがどのように課題を解決しているのか、「SSL/TLS サーバー証明書の認証レベルとは?」で説明します。