基礎からわかる!パソコン入門・再入門 / 無料パソコン教室・基礎知識・Word・Excel・PowerPoint

電子メールのセキュリティ(4) ~ 電子証明書とPKI

号通信において防止しなければならない要素は、盗聴・改ざん・なりすまし・否認の4つであり、さらに具体的には、前述した8つの疑問を解決しなければなりません。

なかでも、「なりすまし」を防止しなければ、他の要素もすべて防ぐことができなくなります。そこで、前項では「デジタル署名」を用いて「なりすまし」を防ぐことができるかを検証しました。

しかし、デジタル署名だけでは「なりすまし」を完全に防ぐことができません。それは、

公開鍵がその人本人のものである根拠がない

ためであり、公開鍵暗号化方式の前提が、鍵の作成者は「受信者」本人に間違いないという前提で成り立っているからです。したがって、

公開鍵のなりすまし

が行われてしまうと、公開鍵暗号化通信そのものが崩壊してしまいます。ただ、逆を言えば、公開鍵の作成者を証明することができれば問題は解決できると言えます。

そこで考えられた方法が、

信頼できる第三者によって、公開鍵の作成者を証明する

という方法です。信頼できる第三者となる「公的な機関」によって、その公開鍵は誰が作成したのかということを証明するのです。

つまり、信頼できる第三者がその公開鍵にお墨付きを与えれば、その公開鍵は他人が「なりすまし」たものではなく、本人のもので間違いないという証明になるわけです。

例えば、公開鍵で暗号文を送る場合、またデジタル署名を公開鍵で復号化する場合、どちらも、その公開鍵が通信相手のものであるという根拠はありません。悪意ある第三者が「なりすまし」を行っていた場合には、すべてが崩壊してしまいます。

そこで、使おうとする公開鍵が、通信相手本人のものであるか確証が持てない場合は、第三者機関にその公開鍵の作成者が誰であるのか証明してもらえばよいのです。ここでも、「あなた」が「Aさん」にメールを送る(Aさんの公開鍵で)場合を考えてみましょう。

第三者による公開鍵の証明イメージ

このように、「あなた」が第三者を信頼すれば、「Aさん」の公開鍵は本人のものと間違いないという確証を得ることができます。したがって、この第三者は信頼できる公的な存在でなければなりません。詳しくは後述しますが、この証明する第三者は、実は誰でも可能なのです。

さて、通常の通信では、上記のように暗号通信のたびにその機関(第三者)に申請したり、問い合せしていたのでは、時間も手間もかかります。そこで、第三者機関は、

公開鍵の証明書を発行する

ことでその手間を省いています。公開鍵の証明は、この証明書を確認する(または確認してもらう)ことで公開鍵の認証をします。この発行してもらう証明書のことを、

電子証明書(またはデジタル証明書、デジタルID)

と言います。信頼のおける第三者が発行した電子証明書によって自分の公開鍵を自分のものであると証明することができるのです。

公開鍵を印鑑(デジタル署名は印影)だとすると、電子証明書は「印鑑証明」になります。その印がその人本人のものか確証が持てない場合は、印鑑証明を確認すれば認証することができます。その印鑑証明は役所が発行するものなので疑いようがありません。

それと同じで、この電子証明書も公的な機関が発行します。(実は誰でも証明書を発行することができますが、それについては後述します)この第三者機関のことを、

認証局(CA

と言います。CA(シー エー)は「Certificate Authority」の略になります。

電子証明書は、認証局(CA)に申請して発行してもらいます。認証局(CA)は、政府や自治体が運営する認証局や民間企業の認証局など多数存在します。また、認証局(CA)はその役割に応じて階層別に分けられています。(詳しくは次項で解説します)

まず、電子証明書とは具体的にどういうものかを知らなければなりません。電子証明書は、公開鍵の証明書であり、印鑑の印鑑証明に当たるものです。そこには、何が書かれているのでしょうか?

電子証明書の様式(フォーマット)は規格が決まっていて、その規格は、

X.509(エックス ゴ マル キュー)

という仕様です。実際に電子証明書の本物を見てみましょう。

Windosメールは、「ツール」→「オプション」→「セキュリティ」タブ →「デジタルID」で、Outlook Expressは、「ツール」→「オプション」→「セキュリティ」タブ →「デジタルID」で確認できます。

また、Internet Explorerでも確認することができます。Internet Explorerでは、「ツール」→「インターネットオプション」→「コンテンツ」タブ →「証明書」です。

電子証明書を発行してもらった覚えがないのに、どうしてブラウザやメーラーで確認できるのかというと、有名なCAの電子証明書は元から事前にインストールされているからです。

そもそも、電子証明書がインストールされているとはどういうことか疑問だと思いますが、それについては後述します。下図が、電子証明書の詳細な内容を表示したウィンドウ図です。

電子証明書イメージ

電子証明書イメージ

上図は、ベリサイン社という有名なCAの電子証明書になります。スクロールバーを下にもっていくと、画面には収まっていませんが、まだ項目がいくつかあります。

電子証明書のフォーマット
フィールド 値の説明
バージョン 電子証明書のバージョン情報
シリアル番号 電子証明書の識別番号
署名アルゴリズム 証明書にCAが付けたデジタル署名のアルゴリズム。アルゴリズムとは、処理の手順を意味する。
発行者 発行したCAの名称
有効期間の開始 証明書の有効期限(開始)
有効期間の終了 証明書の有効期限(終了)
サブジェクト 公開鍵の所有者
公開キー 申請者の公開鍵とその種類
拇印アルゴリズム CAのメッセージダイジェストのアルゴリズムで、ハッシュ関数の種類こと。拇印とはメッセージダイジェストのことで、指紋と同様に、同じものはほぼ存在しないため、「フィンガープリント」とも呼ばれる。
拇印 CAのメッセージダイジェスト(ハッシュ値を16進数で表現)

上表がすべてではありませんが、基本的なものは上表の項目です。まず、「署名アルゴリズム」のところで、「CAのデジタル署名」とあるのに疑問を持たれたと思います。デジタル署名とは、前項で解説したとおりのデジタル署名のことです。つまり、

CAは、電子証明書にデジタル署名をする

のです。デジタル署名だけでは公開鍵がその人本人のものであることが証明できないため、第三者にその公開鍵を証明してもらうために発行してもらうのが電子証明書です。その電子証明書に、さらに、その第三者がデジタル署名をするということです。なぜなら、

その電子証明書は、CAが発行したものであるという根拠が必要になる

からです。CAは、デジタル署名によって電子証明書の「なりすまし」や「改ざん」を防止しているのです。

しかし、デジタル署名は、それだけでは何も証明することができない(完全に防止できない)ものでした。前項の攻略例で示したように、「CAの公開鍵のなりすまし」をされてしまう可能性はないのでしょうか?

つまり、CAのデジタル署名を認証する時に用いるCAの公開鍵は、一体誰が証明するのでしょうか? このことについても後述しますので、ひとまず、次に行きます。

次に、その「署名アルゴリズム」と同じような「拇印アルゴリズム」というのに疑問を持たれたと思います。両者の違いは何かというと、まず拇印は、ハッシュ関数により抽出したメッセージダイジェストのことです。何から拇印を作成するのかというと、X.509の仕様で書かれた電子証明書にハッシュ関数を当てはめて抽出します。ここまでが「拇印」になります。

「署名」は、秘密鍵を用いて、さらにそこから拇印(メッセージダイジェスト)を暗号化したものになります。したがって、拇印アルゴリズム、つまりハッシュ関数が「sha1」という種類のアルゴリズムで、署名アルゴリズムが暗号方式を足して、「sha1RSA」という具合になります。

つまり、メッセージダイジェストを作成する時は「sha1」というハッシュ関数を用い、それの暗号化にはRSA方式を用いているという意味になります。

では次に、電子証明書を入手する流れをみてみましょう。電子証明書はどうやって手に入れるのでしょうか? 先ほど、有名なCAの電子証明書は事前にインストールされていると解説しましたが、実は、その電子証明書(上図の電子証明書)は、多少性質の異なる電子証明書なのです。

なぜなら、電子証明書とは「公開鍵の持ち主は自分である」ことを証明してくれるものですが、元からインストールされている電子証明書は、自分の公開鍵を証明するためのものではないからです。(そもそも鍵を作成していません)

したがって、自分の公開鍵を証明してくれる電子証明書を入手するには、CAに申請して作成してもらわなければなりません。

まず、専用のソフトウェアなどで秘密鍵と公開鍵のペアを作成します。(実際は、電子証明書の申し込み後、CAで秘密鍵と公開鍵を作成してくれる場合の方が多いです。その場合、自分の秘密鍵はそのCAのサイトからダウンロードするか、郵送等により入手します)

次に、身分証明書(戸籍謄本など)と共に、自分の公開鍵をCAに送ります。審査後、CAのデジタル署名付きで「公開鍵」と「電子証明書」が返送されてきます。

この時、上図の電子証明書(X.509)にも「公開キー」とあるように、

公開鍵は、電子証明書に含まれるかたちで返送される

ことになります。つまり、「X.509の仕様に基づく証明書」「公開鍵」「CAのデジタル署名」を併せたものが電子証明書なのです。したがって、電子証明書を入手して送付するということは、公開鍵を送付することにもなるのです。

このことは何気ないことですが、とても重要なポイントになります。なぜなら、電子証明書の形式でない公開鍵を受け取らない ようにすれば安全性が高まるからです。

電子証明書の発行イメージ

電子証明書が届いたら、CAのデジタル署名を検証して改ざんがないことを確かめます。この時の認証に使うCAの公開鍵は誰が証明するのかというと、

CAが自分で自分の公開鍵を証明する

ことになります。なぜなら、他に証明してくれるさらなる第三者が存在しないからです。したがって、自分自身で証明するしかありません。このCAの証明書のことを、

自己署名証明書

と言います。公開鍵は電子証明書に含まれるかたちで取り扱われるので、自己署名証明書からCAの公開鍵を入手することができます。CAも、公開鍵を電子証明書のかたちで公開しているのです。

つまり、CAは自分の他に自分の公開鍵を証明してくれる第三者が存在しないので、自分で自分を証明(自己証明)するしかないわけです。CAは階層構造になっていて、他のCAに証明してもらう場合もありますが、それも元をたどっていくと自分で自分を証明しなければならなくなります。このため自己署名証明書は、「ルート証明書」とも呼ばれます。(厳密には意味合いが異なりますが、詳しくは次項で解説します)

「ルート」とは、階層構造とは で解説のとおり「根」の意味です。つまり、根っこ(ルート)となるCAは、自分で自分を証明するしかありません。

さて、このCAの「自己署名証明書(ルート証明書)」をどこから手に入れるのかというと、先ほどの、有名なCAの電子証明書は事前にインストールされているというのを思い出してください。

上図にある、有名なCA「ベリサイン社」の電子証明書は、まさしく自己署名証明書になります。事前にインストールされているのは、自己署名証明書(ルート証明書)なのです。

このように、たいていのCAの公開鍵は、自己署名証明書のかたちで事前にお持ちのパソコンの中にインストールされています。

信頼されたルート証明機関のイメージ

したがって、発行された電子証明書に付けられているCAのデジタル署名を、パソコンにインストールされているCAの自己署名証明書の公開鍵で認証し、ダイジェストが一致すれば、「改ざん」も「なりすまし」も行われていないことになります。

さて、電子証明書を入手したら、いよいよ本題の相手との通信について検証したいと思います。ここでも、前例と同じように、「あなた」と「Aさん」が通信を行う場合を例にします。今回は、電子証明書を入手した「あなた」が、「Aさん」にデジタル署名付きの暗号文を送信します。

電子証明書とデジタル署名による通信イメージ

「あなた」は、本文とデジタル署名とCAから発行された電子証明書の3つを「Aさん」に送ります。

受けとった「Aさん」は、まず、電子証明書が改ざんされておらず、本当にCAが発行したものなのかを認証する必要があります。この電子証明書が信用できる正しいものと確信できなければ、公開鍵を信用することができなくなります。ひいては、通信相手である「あなた」を「Aさん」は信用できません。

そこでまず、「Aさん」は、「あなた」が送付した電子証明書(CAのデジタル署名)を検証します。

電子証明書の疑問イメージ

「あなた」の電子証明書に付けられたCAのデジタル署名を検証するには、その署名を復号化する「CAの公開鍵」が必要になります。

CAの公開鍵は、先ほど解説したとおり、自己署名証明書を入手することで手に入れることができます。自己署名証明書はたいてい事前にパソコンにインストールされているので、「Aさん」は、その自己署名証明書からCAの公開鍵を取り出します。(「取り出す」という表現は、あくまでわかりやすくするための表現です)

そして、入手したCAの公開鍵で、「あなた」が送付した電子証明書に付けられているCAのデジタル署名を検証します。多少複雑ですが、ポイントは、

CAの公開鍵は、通信相手から受け取るのではなく、CAから受け取る(たいていは事前にインストールされているが)

ことで安全性を高めているということです。つまり、「あなた」が電子証明書と一緒にCAの公開鍵を送付したのでは、どちらもなりすましの可能性がありますが、CAの公開鍵を「Aさん」はCAから受け取ることで、「あなた」から「Aさん」への通信経路の途中で、改ざんやなりすましが行われていないことが認証できるのです。

電子証明書と自己署名証明書の流れイメージ

もっとも、たいていの自己署名証明書は事前にパソコンにインストールされているので、それが改ざんされていたり、なりすましによって差し替えられているというのはまず考えられません。

したがって、その公開鍵で送られてきた電子証明書のデジタル署名が正しく認証されれば、その電子証明書は、そのCAが発行した証明書に間違いないということができます。

また仮に、自己署名証明書が改ざんやなりすましをされていたとしても、「あなた」の電子証明書のCAのデジタル署名を正しく認証することができないため、それを検知することができます。

こうして、「あなた」の電子証明書がCAが発行したもので間違いないということが確認できたら、その証明書が証明している「あなた」の公開鍵は、「あなた」のもので間違いないことも確認できます。

そして、最後に「あなた」のデジタル署名を認証して問題がなければ、「あなた」のメールは、途中で「なりすまし」も「改ざん」もされていないことになります。(デジタル署名を付けるということは、「あなた」の秘密鍵で暗号化するので、「盗聴」される可能性はあります)

以上が、前項のデジタル署名に電子証明書を加えた暗号通信の流れになります。多少難解でしたが、順を追って考えると必ず理解できます。もう一度、簡単におさらいしてみましょう。

あなたの流れ

CAに電子証明書(あなたの公開鍵の証明書)の発行を申請する。

電子証明書を入手。(電子証明書には「あなた」の公開鍵、CAのデジタル署名が含まれる)

「Aさん」にメールを送信。

メールの中身イメージ

「Aさん」の流れ

「あなた」の電子証明書はCAが発行した本物かどうか、CAのデジタル署名を検証する。

CAのデジタル署名を検証するために、CAの公開鍵を入手する。

CAの公開鍵は、事前にインストールされているCAの自己署名(ルート)証明書に含まれている。

CAの公開鍵で、電子証明書のCAのデジタル署名を検証する。

問題なければ(メッセージダイジェストが一致すれば)、「あなた」の電子証明書はCAが発行したもので間違いなく、改ざんもされていないことが確定する。

また、その電子証明書が保証している「あなた」の公開鍵(電子証明書に含まれる)は、「あなた」のもので間違いないことが確定する。

その公開鍵で「あなた」のデジタル署名が正しく認証できれば、メールの送信者が「あなた」に間違いなく、改ざんされていないことが確定する。

「あなた」の公開鍵で本当の暗号文を送る。

以上のような流れになります。

さて、これまで解説してきたように、公開鍵暗号化方式だけでもデジタル署名だけでも完璧に安全な通信を行うことができず、脅威に対抗することはできません。

しかし、誰からも信頼される第三者である認証局(CA)に公開鍵を保証してもらうことで安全な通信を行うことができるようになります。

公開鍵暗号化方式による暗号通信は、様々な技術や仕組みを組み合わせて、またそれらの要素が互いに作用しあうことによって、はじめて安全な通信が可能になるのです。

こうした公開鍵暗号化方式をとりまく技術や仕組みの総称を、

PKI(ピー ケー アイ)

と言います。PKIは「Public Key Infrastructure」の略になります。つまり、PKIとは公開鍵暗号による通信を行ううえでの「インフラ(基盤・環境)」のことです。

では、このPKIによって8つの疑問はすべて解決できるでしょうか? しかし、その前にもうひとつ解決しなければならない疑問があります。それは、

信用できるCAの基準は何か、CAが信用できると信じる根拠は何か

ということです。実際、電子証明書は誰でも作成することができます。事前にインストールされていない電子証明書を受け取った場合、何をもってそのCAを信用するのでしょうか?

PKIのキモはCAの存在です。事項では、CAについてもう少し詳しく解説し、その後、8つの疑問について考察したいと思います。

ページトップへ戻る


関連情報&オススメ

『ニューズウィーク』は『タイム』とともに世界的に購読されているアメリカのニュース雑誌です。日本に関する記事は少ないですが、世界的な視点で編集されており、国際社会の様々な価値観を知ることができます。

様々な意見を取り上げ、いい意味で画一的でないので、私は、毎週読んでいくうちに「自分自身の考え」を持てるようになりました。国際情勢や経済、地域紛争などについて、自分がその歴史や背景、登場人物を認識していて意見できるくらいの知識を得ることができるようになったと思います。

読み始めた当初は、ほとんどのことが理解できないくらい難しい内容に感じました。たとえば、円高や金利などの経済の仕組みや国際社会の地政学的な背景などの基礎知識がなかったからです。しかし、「毎週全部の記事を読む」「わからないことはネットで調べる」と自分に決め、一年間読み続けたらなんとか理解できるようになり、記事を読むのが本当に楽しくなりました。

また、日本のメディアにはない視点に立って書かれている記事が多いので、感心させられることや考えさせられることも多々あります。例えば、日本では「クジラ食文化」は断固として守らなければならないという視点で記事が書かれますが、「クジラを食することを文化としてる日本人はどれだけいるのか」という視点から記事が掘り下げられていきます。

そこには、画一的な報道からでは見えない「気づき」があります。多角的な視点を持つことで、ニュースの裏に透けて見える矛盾や戦略を感じとる皮膚感覚が身についてきたように思います。

さらに、各国の元閣僚や大物財界人、ビッグスターの寄稿も多く、デービット・ベッカムが札幌でPKを決めたときの気持ちをつづったコラム(その前回のワールドカップで退場になった因縁のアルゼンチン戦)で、「もう、大丈夫だと思った」という言葉は今でも印象に残っています。

先進国の世界的不況や中東の動乱、そして東日本大震災における援助や報道など、世界の中で、国際社会と複雑に絡み合う時代に生きていることを教えてくれます。ひとつ上の目線と価値観を与えてくれた雑誌です。

決して安くはありませんが、1年購読は18,520円(一冊定価460円)です。

ページトップへ戻る

更新履歴

2008年11月24日
ページを公開。
2009年5月27日
ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
2014年5月20日
内容修正。

ページトップへ戻る

参考文献・ウェブサイト

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

情報セキュリティ入門:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060214/229302/?ST=security
電子証明書とPKI入門
http://www.verisign.co.jp/basic/pki/index.html

ページトップへ戻る