SSL証明書には種類がある

2018年5月24日

保護された接続は暗号化されているので安全、保護されていない接続は暗号化されていない。わかりやすい話です。ところで、証明書はどこから来るのでしょう?SSLとTLSの違いは?デジタル証明書とセキュリティは、どんな関係があるのでしょうか?

今回の記事では、このような質問にいくつか答えていこうと思います。手始めに、ブラウザーのアドレスバーに表示される「http」と「https」の意味をみていきましょう。

データ転送に使われるHTTPとHTTPS

Webサイトのコンテンツを読んだりデータを入力したりするとき、コンピューターと、サイトをホストしているサーバーとの間では情報がやりとりされます。このやりとりを管理するのが、HTTP(HyperText Transfer Protocol)と呼ばれるデータ転送プロトコルです。

HTTPには、HTTPS(HyperText Transfer Protocol Secure)と呼ばれる拡張版もあります。HTTPSでは、クライアントとサーバーの間で転送される情報が暗号化されます。つまり、やりとりされる情報を利用できるのはクライアントとサーバーだけで、第三者(たとえばWi-Fiプロバイダーや管理者)は利用できません。

クライアントからサーバーに送られるデータは、独自の暗号化プロトコルを使って暗号化されます。通信暗号化の目的で初めて使われたプロトコルは、SSL(Secure Sockets Layer)でした。SSLプロトコルには複数のバージョンがありましたが、いずれも何らかの段階でセキュリティ上の問題にぶつかりました。次に現れたSSLの改良バージョンは、TLS(Transport Layer Security)という名称に変更されました。TLSは現在も使用されています。しかし、SSLという名称が浸透しているため、TLSのことを「SSL」と呼ぶこともよくあります。

Webサイトで暗号化を使用するには、暗号化メカニズムがプロトコルに準拠していること、そして信頼に値するものであることを裏付けるための証明書(デジタル署名とも言う)が必要です。このような証明書を持っているWebサイトは、URLの冒頭が「http」ではなく「https」と表示されます。また、ブラウザーによりますが、ブラウザーのアドレスバーには緑色の小さな錠アイコン(または盾)が表示され、それに加えて「保護された通信」という言葉や会社名が表示されます。今この記事を表示しているブラウザーのウィンドウで、実際に確認してみてください。

SSL証明書の取得方法

証明書の入手方法には2通りあります。一つは、Webマスターが証明書を発行して署名し、暗号鍵を生成する方法。このような証明書は、自己署名証明書と呼ばれます。自己署名証明書を使ったサイトにアクセスしようとすると、「この証明書は信頼できません」という内容の警告メッセージが表示されます。

このようなサイトでは、ブラウザーウィンドウのアドレスバーに、斜線で打ち消された錠アイコンや赤い盾、「保護されていません」という文字が表示されたり、「https」の文字が緑色ではなく赤色で表示されたりします。また、「https」が斜線で打ち消され、赤く強調表示されることもあります。どのように表示されるかは、ブラウザーやブラウザーのバージョンによって異なります。

お勧めの方法は、信頼された証明機関(CA)が署名した証明書を購入することです。CAは、Webサイト所有者の申請書類やドメインの所有権をチェックします。結局のところ、証明書があるということは、そのWebサイトが、特定の地域で登録された合法的企業のものであることを示すのです。

数あるCAの中でも、一流と呼べるものは数えるほどしかありません。ブラウザー開発者がCAを信頼する度合いや、証明書を持つWebサイトをブラウザーで表示する場合の形態を決定するのは、CAの評判です。また、証明書の価格は種類や有効期間によって異なりますが、CAの評判も価格に影響します。

SSL証明書の種類

CAが署名した証明書には、信頼性、入手者とその方法、価格に応じて、次の3種類があります。

ドメイン認証証明書

ドメイン認証(DV)証明書を入手するには、個人または法人が、対象となるドメインを所有していること、またはそのドメイン上でサイトを管理していることを証明する必要があります。この証明書があれば、安全な接続を確立できるようになります。ただし、証明書を所有する組織に関する情報は含まれません。また、書類を提出する必要がないため、DV証明書の取得にかかるのは数分程度です。DV証明書を持つWebサイトの場合、ブラウザーのアドレスバーには、灰色または緑色の錠アイコンとともに「保護された通信」という言葉が表示され、URLの冒頭には「https」と表示されます。

企業認証証明書

ドメイン認証証明書よりも1つ高いレベルに位置付けられるのが、企業認証(OV)証明書です。これは、ドメインへの接続が保護されていることを証明するだけでなく、そのドメインが証明書に明示された組織に実際に所属していることを示します。申請書類の確認と証明書の発行には、数日かかります。OV証明書を持つWebサイトの場合、ブラウザーのアドレスバーには、灰色または緑色の錠アイコンとともに「保護された通信」という言葉が表示され、URLの冒頭には「https」と表示されます。

Extended Validation証明書

最後に、最上位レベルの証明書、Extended Validation(EV)証明書について説明します。OV証明書と同様に、必要な申請書類をすべて提出した法人だけが、この証明書を取得できます。EV証明書を取得した組織のWebサイトの場合、ブラウザーのアドレスバーには緑色の錠アイコンが表示され、組織の名称と所在地が緑色で表示されます。

EV証明書は、ブラウザーからの信頼が最も高い証明書で、一番高額でもあります。組織名または「保護された通信」をクリックすると、証明書に関する情報(発行者、発行日、有効期間)を確認できます。確認のための方法や確認できる情報の詳細は、やはりブラウザーによって異なります。

証明書の問題

オンラインセキュリティとユーザーデータの保護は、GoogleやMozillaのような大手ブラウザー開発会社が自社ポリシーに組み込むような基本原理です。たとえばGoogleは、2017年秋、HTTP接続を使用しているページにアクセスすると「保護されていません」という表示が出るようにすると発表しました(英語記事)。

Googleのこの動きはきわめて影響力が強く、HTTP接続を使用するWebサイトは、信頼できる証明書を購入せざるを得なくなりました。これに伴ってCAサービスの需要が急増し、多くの証明機関が申請書の確認を急いだため、品質管理に悪影響が及びました。

結果として現在、あまり信頼できないWebサイトにも信頼できる証明書が発行されてしまっている可能性があります。Googleの調査(英語記事)では、評判の良い大手CAの一つが、適切な評価を行わないまま3万件を超える証明書を発行したことが明らかになりました。Googleは、そのCAが認証制度全体を徹底的に見直し、新しい標準を導入するまでの間、そのCAが発行した証明書を信頼しない意向であると発表しました。

こうした対応にもかかわらず、証明書とその所有者が正真正銘の本物であることを完全に証明することはできません。外見上、すべてのセキュリティ要件を満たしているEV証明書の場合でさえ、緑色の文字を無条件に信じることはできません。

たとえば、フィッシング詐欺を働こうとする者が、有名企業とよく似た名前で企業登録し、自社WebサイトのEV証明書を入手できてしまうのです。フィッシングサイトのアドレスバーに、なんとなく覚えのある企業名が緑色で表示されたら、信頼できそうに見えます。したがって、どのようなWebページにアクセスするときでも、むやみに信用せず、注意を払うようにしたいものです。HTTP接続を使用するWebサイトの安全性については、こちらの記事でも詳しく説明しています。その記事の最後にある「騙されないようにするには」セクションも、ぜひ参考にしてください。