Webデザイナーなら知っておくべき サーバ知識相談室

第3回 SSL証明書ビギナー歓迎! httpsから始まるURLの役割と仕組みを0から学ぼう

この記事を読むのに必要な時間:およそ 8.5 分

認証局事業者の身元は誰が証明する?

このたとえ話では,認証局事業者が「imjbank.co.jpは株式会社IMJ銀行が運営するサイトです」というSSL証明書を発行してくれたので,IMJ銀行のWebサイトは運営者の身元を証明できましたとさ。めでたしめでたし,ということになります。

でもちょっと待ってください。サイバートラストやシマンテックといった「認証局事業者」は本物なのでしょうか?

詐欺師AがIMJ銀行になりすまし,協力する詐欺師Bが認証局事業者になりすまして,適当なSSL証明書を自作しただけかもしれません。疑えばきりがありませんが,全然知らないAさんに,全然知らないBさんの身元保証をしてもらっても,いまいち信用できないのと同じ話です。

そこで登場するのが中間CA証明書です(CAはCertificate Authorityの頭文字で,日本語に訳すと認証局事業者です⁠⁠。

認証局事業者にお金を払ってSSL証明書を発行してもらうと,⁠中間CA証明書」という証明書が一緒についてきます。SSL証明書はWebサイト運営者の身元証明書でしたが,中間CA証明書は認証局事業者の身元証明書なのです。

実はSSL証明書による「身元証明」は,⁠最下層のSSL証明書>中間CA証明書>最上位のルート証明書」とピラミッドのように階層化されています。

SSL証明書? 中間CA証明書? ルート証明書? ピラミッドのように階層化? いろいろな名前が出てこんがらがってきました。実例を元に説明したほうが分かりやすいので,株式会社アイ・エム・ジェイのコーポレートサイトを例にして,この身元証明の連鎖を見てみましょう。

身元保証の連鎖をつなぐ中間CA証明書とルート証明書

株式会社アイ・エム・ジェイのコーポレートサイトには,サイバートラストから発行されたSSL証明書と中間CA証明書が設置されています。

ここで,サイバートラストが提供しているSSL証明書の設定確認ツールを使って,SSL証明書を見てみましょう。

サイバートラストの「SSL証明書の設定確認ツール」

画像

SSL証明書の設定確認ツールを開いたら,フォームに「www.imjp.co.jp」と入力し,青いボタン(設定を確認する)を押してみましょう。すると,次のような画面が表示されます。

www.imjp.co.jpのSSL証明書設定が表示された

画像

SSLサーバ証明書と中間CA証明書1,2のそれぞれの赤いボタンを押せば,詳細情報を表示できます。いろいろなことが記載されていますが,要約すれば次の表に挙げたことが書かれています。

SSLサーバ証明書 www.imjp.co.jp の運営者「IMJ Corporation」の身元は「Cybertrust Japan Public CA G3」が保証する
中間CA証明書1 SSLサーバ証明書を発行した「Cybertrust Japan Public CA G3」の身元は「Baltimore CyberTrust Root」が保証する
中間CA証明書2 中間CA証明書1を発行した「Baltimore CyberTrust Root」の身元は「GTE CyberTrust Global Root」が保証する

身元保証の連鎖ですね。株式会社アイ・エム・ジェイを仮にAさんとすると,Aさんの身元をBさんが,Bさんの身元をCさんが,Cさんの身元をDさんが保証しています。

SSL証明書と中間CA証明書はサーバに設置されているため,ブラウザでサイトを開くと,Webページと一緒にパソコンへ届けられます。これでAさん,Bさん,Cさんの身元は保証されましたが,ではDさんこと一番下の中間CA証明書2を発行した「GTE CyberTrust Global Root」の身元を証明する「ルート証明書」はどこにあるのでしょうか。

実は,ルート証明書は皆さんが使っているブラウザに最初から入っているのです。ChromeやFirefox,IEといった各ブラウザには,身元保証の連鎖の頂点にある「ルート証明書」が最初からインストールされています。

Chromeなら,設定(S)>詳細設定を表示...>HTTPS/SSLの「証明書の管理...」をクリック>「信頼されたルート認証機関」のタブをクリックすると,そこにDさんこと「GTE CyberTrust Global Root」の身元を証明する「ルート証明書」があることを確認できます。

Chromeに入っているルート証明書のリスト

画像

ちなみにルート証明書の「発行先」「発行者」を見ると,まったく同じ「GTE CyberTrust Global Root」です。これはDさんの身元はDさん自身が保証し,それをブラウザが信頼したので,ここに最初からルート証明書が入っているという図式です。

このようにSSL証明書と中間CA証明書がWebサーバに置いてあり,そして「ルート証明書」がブラウザに入っているため,株式会社アイ・エム・ジェイのコーポレートサイトは「株式会社アイ・エム・ジェイが運営する本物のサイト」として信頼してもらえるのです。

身元保証連鎖の頂点にあたるルート証明書はブラウザに入っている

画像

SSL証明書ってこんな仕組みになってたんですね。

SSL証明書はどうしてあんなに値段に差があるの?

ではSSL証明書の仕組みが分かったところで,SSL証明書における最もありがちな疑問,⁠どうしてSSL証明書はあんなに値段に差があるの?」についても,少しお話ししておきます。

SSL証明書で検索してみると,シマンテックは219,000円,サイバートラストは75,000円,そしてサイフにやさしいSSL証明書ことRapidSSLは2,600円でした(執筆当時⁠⁠。この価格差は驚きますよね。

なぜこんなに価格差があるのでしょうか。シマンテックはブランド代が含まれるので高いのでしょうか? あるいはRapidSSLが企業努力の塊なのでしょうか? それとも同じ「SSL証明書」という名前でも,RapidSSLのSSL証明書は中身が何か違うのでしょうか?

結論から言うと違います。

SSL証明書の役割は次の2つであることを説明してきました。

  1. Webサイトで送受信する情報を暗号化すること
  2. Webサイト運営者の身元を証明すること

しかし,RapidSSLが発行しているような安いSSL証明書は,Webサイト運営者の身元証明をせず⁠情報の暗号化」だけしか行いません。

「え,それってSSL証明書だって言えるの?」と思うかもしれませんが,言えます。なぜなら,SSLサーバ証明書には実は3つの種類があるからです。

著者プロフィール

堀越良子(ほりこしよしこ)

株式会社アイ・エム・ジェイのインフラエンジニア。ウェブインテグレーションの下支えとなるサーバホスティングサービスの構築と運用を担当している。

モバイルサイトのエンジニア,SIerとソーシャルゲームの広報を経て,2013年より現職。「分からない気持ち」に寄り添える技術者になれるように日々奮闘中。