電子メールのセキュリティ(5) ~ 認証局(CA)とPKI

開鍵暗号通信によって安全に情報をやり取りするための基盤が「PKI」であり、その中心にあるのが信頼の砦となる認証局(CA)であることを前項で学習しました。

しかし、実際のところ認証局は多数存在し、そして技術的には誰でも電子証明書を発行することが可能です。

知識があれば自己署名証明書を自作することができるのです。当然、認証局が発行したものではないので信頼性はまったくありません。こうした自作の自己署名証明書は「オレオレ証明書」と呼ばれ、悪用されるケースがあります。

例えば、オレオレ証明書を送り付け、これを信頼できる証明機関としてストアにインストールしてしまうと、接続先のサイトを偽装した「フィッシング詐欺」などの餌食になってしまいます。(ウェブサイトの暗号通信については、SSL/TLSとは で詳しく学習します)

また、電子証明書は様式が同じであるため、目視で見分けるのは困難です。最新のブラウザでは、インストールされていないルート証明書が必要となるサイトにアクセスする際には警告が表示されるようになっていますが、電子証明書(オレオレ証明書)のインストールを求められたら、そのまま疑わずにインストールしてしまう人が少なくないのです。

ブラウザの警告メッセージのイメージ

こうした警告は、オレオレ証明書の場合だけではなく、電子証明書の有効期限切れや偽サイトなど、さまざまな状況で表示されます。何度も表示されて煩わしいこともありますが、警告を無視せずに必ず安全なサイトかどうか確認する必要があります。

もうおわかりのとおり、オレオレ証明書はオレオレ詐欺がその名の由来になっていますが、電子証明書であることには変わりないので、暗号通信を行うことが可能です。そのため、オレオレ証明書も悪用ではなく正規に利用される場合があります。

それはインターネットに接続しない社内ネットワークでの暗号通信やユーザー認証に利用されるケースです。後述しますが、これは自分たちが自分たちの責任で通信するために使われます。

前項では、パソコンに事前にインストールされていることが信頼できる根拠になると学習しました。この事前にインストールされている状態のことを「プレインストール」と言います。では、プレインストールされていない自己署名証明書を受け取った場合には、何をもって信用すればよいでしょうか?

そのためには、もう少し認証局の仕組みと役割を理解しておく必要があります。

認証局には「ルート認証局」と「中間認証局」があることも学習しましたが、また別の見方で分類することができます。

パブリック認証局

これまで学習してきた公的な認証局のことです。

厳しい審査によって認定を受けた認証局で、発行するルート証明書には、プレインストールされているものも多くあります。

ただし、すべての認証局のルート証明書を組み込んでおくことは不可能なため、組み込まれているルート証明書の多くは、グローバルに展開する世界的な認証局のものになっています。基本的には、ウェブ上のHTTPS通信で利用されるサーバ証明書を発行する認証局のルート証明書がプレインストールされています。(詳しくは、SSL/TLSとは で学習します)

日本国内においては、電子署名法に基づく基準によって認定を受けている認証局が該当します。

電子メールなど申請者の用途にあわせたクライアント証明書を発行する一般的な民間の認証局と、後述する行政への届出等をペーパーレス化する目的で運用されている政府系の認証局があります。これらの日本国内で展開される認証局のルート証明書はプレインストールされていない場合が多いです。

また、代理店(代行)も多いので、この中から適切な認証局を選択するのはなかなか難しくなっています。

パブリック認証局の特徴としては、

証明書の発行に費用がかかる

というのが大きな特徴です。

当然のことでなのですが、価格帯は認証局によって差があります。暗号方式としては同じなので、価格の高い電子証明書のほうが暗号の強度が高いというわけではありません。

有効期限の長短や用途の幅広さ、ファイル(データ)タイプかICカードタイプか、サポート体制、またサーバ証明書の場合はそのウェブサイトを作成している企業の所在地なども厳重に確認して証明するタイプのものがあるなど、暗号化だけでなく付加価値をつけている電子証明書があります。

特にウェブサイトで利用するサーバ証明書の場合は、アクセス時に誰でもそのサイトが使用している電子証明書を確認することができます。有名な認証局の電子証明書を利用することでブランド力を高めるねらいもあります。

個人が電子メールで電子証明書を利用した場合には、どんな電子証明書でも暗号化の強度に優劣はありませんが、有名で高価な電子証明書であればさらに安心材料やステータスになるといったところです。

こうしたパブリック認証局は、役割に応じてさらに分類することができます。

ルート認証局と中間認証局

認証局も階層構造になっていると学習しましたが、最上位のルート認証局と下位の中間認証局に分かれます。下位認証局は上位認証局のデジタル署名によって証明されます。

ルート認証局については前項で学習のとおりで、中間認証局の役割や必要性については後述します。

登録局・発行局・検証局

これは認証局内の役割に応じた構成分類です。基本的にこの3つの部門で認証局は成り立っています。

文字どおりの意味ですが、「登録局」は申請者の受付や本人確認をする部門、「発行局」は電子証明書を発行する部門、そして「検証局」は電子証明書が有効なものかどうかを管理する部門です。

この中で「検証局」以外はイメージが簡単だと思います。「検証局」という名称からは業務内容がイメージしにくですが、とでも重要な部門になっています。

発行されている電子証明書を失効させる

という役割を担っています。

これは、クレジットカードの暗証番号が漏れたケースと同じで、秘密鍵の流出などの理由で有効期限前に電子証明書を失効させるという意味です。

失効させた電子証明書はリストにして公開します。これによって、電子証明書を受け取ったメーラーやブラウザは、ウェブ上でリストを参照(またはダウンロード)して有効性を確認することができます。つまり、受け取った電子証明書のシリアル番号がリストに記載されていなければ有効(記載されていれば無効)ということになります。

このリストは「CRL(シーアールエル)」と呼ばれています。「Certificate Revocation List」の略で「証明書失効リスト」とも呼ばれます。CRLには、失効した電子証明書のシリアル番号、失効日時などが記載されています。

前項で学習した「証明書」画面の「詳細」タブの「CRL配布ポイント」で、公開されているCRLのURLを確認することができます。実際にURLを入力するとCRLをダウンロードすることができます。

「証明書」画面の「詳細」タブのイメージ

電子証明書を受け取ると、デジタル署名を検証すると同時に、CRLを参照して電子証明書の有効性も確認します。

このように、認証局には3つの役割(部門)があることを知っておきましょう。

プライベート認証局

公的に認定された認証局ではなく、個人が独自に運営する認証局のことです。つまり、先述した「オレオレ証明書」を作成して、自分自身が認証局となって電子証明書を発行するということです。

悪用する目的ではなく、プライベート認証局が利用される場面としては、インターネットに接続しない社内LANなどのプライベートネットワークで利用する場合があります。閉じたネットワークで限られたユーザーだけが利用する環境であれば、プライベート認証局でも信頼することができます。

通常、パブリック認証局からクライアント証明書を発行してもらった場合、1ライセンス1万円程度として、100ライセンスで100万円近いコストがかかります。

閉じたネットワークでは通信先が明らかであり、プライベート認証局でも問題はありません。したがって、ここまで費用をかけてパブリック認証局から電子証明書を発行してもらう必要性はないかもしれません。

そう判断された場合には、認証局を自作してオレオレ証明書(ルート証明書)を作成し、ネットワーク内の全クライアントにオレオレ証明書をインストール後、クライアント証明書を発行することで、パブリックと同じ運用が可能となります。

ただし、インターネットに接続してしまうと、プライベート認証局の信用はまったくないため、悪意のある詐欺と疑われる可能性があります。現在ではインターネットに接続しない完全クローズのネットワークはあまりありません。そのため、基本的にはプライベート認証局の運用はご法度となります。

プライベート認証局を利用するメリットは、当然費用がかからないということです。プライベート認証局で発行された電子証明書であっても同じRSAアルゴリズムであり、暗号の強度はかわりません。無料で暗号通信やデジタル署名のメリットを享受することができます。

では次に、認証局を信頼できる根拠として何があるのか考えてみましょう。

プレインストールされていない自己署名証明書(ルート証明書)を受け取った場合、その証明書や認証局は、何をもって信頼することができるでしょうか?

どんな認証局であれ、ルート証明書をインストールしてしまうと、その認証局が発行したクライアント証明書をすべて信用してしまうことになり、悪意のある相手からの詐欺であった場合は、すべての通信が筒抜けになってしまいます。

すなわち、認証局が正当なパブリック認証局であることを確認できなければ、すべての信用は崩壊します。実際に信頼できない認証局(ルート証明書)として公表された認証局もあるのです。

中間認証局の場合はルート認証局のデジタル署名によって正当性を確認することができますが、最上位のルート認証局は自己署名証明書しか発行することができません。

これは自分で自分を証明しているものであり、それだけで信頼できるものではありませんでした。そのため、厳重な審査をクリアした認証局のルート証明書は「プレインストールされること」が信頼の根拠となっています。つまり、こうしたルート証明書は、Microsoftやブラウザメーカーに認められていることを示しており、信頼できない理由はありません。

しかし、実際にプレインストールされているルート証明書のほとんどは外国の認証局であり、後述する日本の認証局のものはほとんどインストールされていないのが現状です。

インストールされていない認証局の場合は、

知名度、認証局運用規定(CPS)、外部監査、証明書の受け取り方

といった総合的な判断で信頼することになります。

まず、簡単な指標となるのが認証局の「知名度」です。

まったく聞いたことのない認証局であれば注意すべきですし、電子証明書の「発行者」で検索して認証局のサイトが表示されるか確認するようにしましょう。

次に「認証局運用規定」です。

これは「CPS」とも呼ばれています。CPSは「Certification Practices Statement」の略で、認証局の運用について細かく規定した文書になります。X.509のように統一されてはいませんが、基本的には同じ構成で書かれています。

また、証明書ポリシー(CP:Certificate Policy)と合わせて「CPCPS」と同列に表記されることもあります。証明書ポリシー(CP)とは、電子証明書を発行する際の基準を定めたもので、発行する証明書の種類、用途、申請手続などの証明書に関する事項を規定した文書のことです。

CPで発行する電子証明書について規定し、CPSCPにもとづいた認証局の運用について規定しています。多くの認証局ではCPSが公開されているので、実際に見てみることをおすすめします。

ただし、非常にボリュームが多く、それを読んだらすぐに信頼できる内容になっているとは言えません。あくまでこうした規定をきちんと整備しているということが判断材料となります。

次の「外部監査」については、外部の第三者機関によって監査を受けている認証局かどうかということです。

多くのパブリック認証局はさらに外部の監査機関による監査を受けています。上場企業がさまざまな監査を受けているのと同じです。CPSに監査についても盛り込まれているので、確認してみてください。

そして重要になるのが「受け取り方」です。

これは、ルート証明書をどのように受け取るかということで、郵送によってCD等のメディアで受け取るのか、専用サイトからダウンロードするのか、メールで送付されるのか、いろいろなケースがあり得ます。

通常、個人が申請するクライアント証明書は、本人限定受取郵便などの厳重な受け渡しが行われますが、ルート証明書は多くの認証局でウェブサイトから簡単にダウンロードできるようになっています。ルート証明書の性質として、広く普及させる必要があるからです。そのため、そのサイトが本当に正しい認証局のサイトなのか確認することが必要です。

実際に、あるメーカーのパソコンに危険性な証明書がプレインストールされているとして、一斉に削除を行ったという事例があります。こうなるとプレインストールされている証明書すら信頼することも難しくなってしまいますが、いずれにしても、ルート証明書がどのような役割を担い、どのような意味で利用されるのかを知っておくことが重要です。

したがって、

ルート証明書を信頼できる決定的な何かがあるわけではない

ということになります。

結局のところ自己責任であり、自分で責任を持つしかありません。

また、こうしたCPCPSなどの認証局が公開する情報が格納されている場所(URL)を、

リポジトリ

と言います。

リポジトリで、CPCPSの他にも証明書失効リスト(CRL)やルート証明書のフィンガープリント(拇印)、操作マニュアルなどを参照することができるので、十分に資料を確認するようにしましょう。

では、ルート認証局が信頼できたら、そのルート認証局がデジタル署名によって証明している「中間認証局」の役割について理解していきたいと思います。

これまで、認証局は階層構造になっていると学習してきました。

ルート認証局の下位には中間認証局が存在します。中間認証局はルート認証局のデジタル署名によって保証されているため、それだけで信頼することができます。

前項で学習のとおり「証明書」画面の「中間証明機関」ストアのタブに、中間認証局の中間CA証明書がインストールされています。

「中間証明機関」ストアのイメージ

中間認証局の場合「発行先」がその中間認証局の名称、「発行者」が上位のルート認証局になります。

中間CA証明書のイメージ

階層構造は「証明のパス」タブで確認することができます。

「証明書」画面の「証明のパス」タブのイメージ

では、なぜこうした中間認証局が必要になるのというと、

ルート証明書への影響を制限するため

になります。

ルート認証局だけが存在しているとすると、発行したルート証明書に欠陥があった場合や秘密鍵が漏えいした場合、その影響は、そのルート認証局が発行した証明書すべてに及ぶことになります。

つまり、すべての電子証明書が利用停止になります。ルート証明書というのはそれほど重要なもので、ルート証明書の秘密鍵の保管は万全のセキュリティを施す必要があります。

そこで、ルート認証局の下に中間認証局を置き、中間認証局にも電子証明書を発行させることでリスクを軽減しています。中間認証局が発行するクライアント証明書には中間認証局のデジタル署名が付与されますが、仮に中間認証局の秘密鍵が漏えいした場合でも、ルート認証局には被害が及びません。

中間認証局による階層システムは、主にHTTPS通信で利用されています。攻撃リスクの高いサーバ証明書は、中間認証局が発行する電子証明書を利用しています。中間認証局を間に挟むことによってセキュリティ上の対策にもなっています。(詳しくは、SSL/TLSとは で学習します)

さて、これで認証局の仕組みについてすべて学習しました。

認証局の存在によってPKIは完全な基盤となるのです。2001年の電子署名法の施行によって、デジタル署名がある電子申請や商取引、契約などが法的にも効力を持つようになりました。

これを受けて、政府が認証局を運営する、

GPKI(ジーピーケーアイ)

の運用が開始されています。

GPKIは「政府認証基盤」とも呼ばれ、Gは「Government=政府」の意味です。政府(各府省庁)をはじめとして、公的機関に申請、届出する書類は数多くあります。これらを電子申請できるように整備された認証局です。身近な例として確定申告などがあります。

GPKIでは、各府省庁が認証局を設立し、それぞれの分野の申請等に利用する電子証明書を発行するイメージですが、少々仕組みがややこしくなっています。

どういうことかというと、政府が認証局を運営してしまうと、民間認証局の運営を妨げることになってしまうため、政府の認証局は、申請者への電子証明書を発行するのではなく「官職証明書」を発行する機関となっています。

電子証明書には変わりありませんが、これは申請者に対して発行されるものではなく、申請を受理する行政の担当者(処分権者という)に対して発行する証明書になります。

したがって、

申請者ではなく受理側(処分権者)を証明する電子証明書(官職証明書)を発行している

ということです。

こうした官職証明書を発行する認証局を、

政府共用認証局

と言います。

そして、民間人である申請者が扱う電子証明書は民間の認証局が発行します。こうしてバランスを取りながらGPKIが運用されていますが、政府共用認証局の証明は誰がするのかという問題が当然残ることになります。

政府が運営しているので信頼できると言えばそれまでですが、政府共用認証局は複数存在します。統廃合が進んですべての府省庁で認証局が設立されているわけではありませんが、政府共用認証局はそれぞれが「相互認証」することによって信頼性を高めています。

いくら政府が運営している認証局とはいえ、前述のとおりルート証明書がパソコンにプレインストールされているわけではありません。世界から見ると信頼された認証局とは言えないのです。そのため、相互に認証し合うという方法が用いられています。

では、どのように相互認証するのかというと、それぞれが個別に認証し合うわけではなく、

ブリッジ認証局

という仲介専門の認証局を介して相互認証を行います。

ブリッジ認証局を仲介することによって個別に相互認証する手間を省いています。この相互認証の輪は、政府共用認証局だけでなくブリッジ認証局を通して民間の認証局にも広がっています。

さらに、政府共用認証局とブリッジ認証局の仕組みは地方公共団体にも広がっており、LGPKI(地方公共団体組織認証基盤)として都道府県レベルでの申請にも対応しています。

LGPKIのLは「Local」の略です。LGPKIでは地方公共団体認証局は「職責証明書」を発行します。

GPKI(政府認証基盤)のイメージ図

相互認証は、ブリッジ認証局が発行する「相互認証証明書」という電子証明書によって保証されています。こうして相互認証の輪が広がることによって日本中で電子申請が可能となっています。

また現在、この他にも公的なPKIが運営されています。

例えば、保健医療福祉分野のPKIとして「HPKI=Healthcare PKI」、大学間連携を実現するためPKIとして「UPKI=University PKI」、マイナンバーカードを利用して本人確認を行う公的個人認証サービス「JPKI=Japanese PKI」があります。

更新履歴

2008年11月24日
ページを公開。
2009年6月3日
ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
2018年1月30日
ページをSSL化によりHTTPSに対応。
2023年3月31日
内容修正。

参考文献・ウェブサイト

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

情報セキュリティ入門:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060214/229302/?ST=security
電子証明書とPKI入門
http://www.verisign.co.jp/basic/pki/index.html
オレオレ証明書を使いたがる人を例を用いて説得する
https://qiita.com/Sheile/items/dc91128e8918fc823562
政府認証基盤(GPKI)について
https://www.gpki.go.jp/documents/gpki.html