PKI(Public Key Infrastructure:公開鍵基盤)が実際に利用されるようになってから,既に数年が経過している。PKIを実現するための製品は多数市場に出ており,一部の企業では導入が進んでいる。2001年には「電子署名及び認証業務に関する法律」が施行され,公的個人認証基盤の整備も進んでいる。しかし,個人ユーザーや多くの企業においては,あまり利用されていないのが現状である。例えば,個人で電子証明書を取得して暗号化メールなどを使用しているユーザーはまだまだ少ない。そこで今回の記事では,PKIに不可欠な電子証明書を改めて解説したい。決して難しいものではないので,セキュリティを高める手段の一つとして活用してほしい。

 PKIとは,公開鍵暗号技術を使ってセキュアな環境を実現するために必要な技術をまとめたもの(基盤)である。PKIを利用すれば,ユーザーが持つ「秘密鍵」と「公開鍵」のペアを使って,文書の暗号化や電子署名が可能となる。

 公開鍵暗号では,ユーザーが作成した一対の秘密鍵と公開鍵のうち,秘密鍵を保持し,公開鍵は文字通り公開する。公開鍵から秘密鍵を知ることはきわめて困難とされている。そして,公開鍵で暗号化したものは秘密鍵でのみ復号することができる。つまり,人物Aの公開鍵を使って暗号化した文書は,秘密鍵を持つAだけが復号できる。この性質は文書などの暗号化に利用できる。

 また,秘密鍵で暗号化したものは公開鍵でのみ復号することができる。この性質は電子署名に利用できる。例えば,人物Aの公開鍵で検証できる電子署名は,その公開鍵のペアとなる秘密鍵を持つAだけが施せる。

 ここで問題となるのは,「その公開鍵が本当にAのものか」ということである。誰かが「Aの公開鍵」と偽って公開しているのかもしれない。そこで,「その公開鍵は確かにAのものだ」と証明してくれる第三者が必要となる。それが,電子証明書の発行者(CA,Certificate Authority:認証機関,認証局)であり,その発行者が正当性を認めた公開鍵が「電子証明書」である。電子証明書には公開鍵が含まれていて,それ自体が「その公開鍵はAのもの」と認める証明書となっている。

電子証明書の4つのポイント

 以上のように,PKIにおいては電子証明書(公開鍵/秘密鍵)が信用の源となる。このため,以下の4点が重要となる。

  1. 公開鍵と秘密鍵のペアは厳重な管理下で作成する必要がある。併せて,秘密鍵はユーザーが厳重に保管する必要がある
  2. 公開鍵は,安全なルートで電子証明書の発行者に渡す必要がある
  3. 電子証明書の発行者は高い信頼性を保持しなければならない(ユーザーとしては,信頼できる発行者を選択する)
  4. すべてのユーザーが電子証明書の有効/無効を確認できなければならない

 1 についてはユーザーが注意すべき点である。ただし,現在ではそれほど心配することはない。というのも,秘密鍵の収納媒体としてICカードやUSBキーが使われる場合が多いからだ。これらの媒体では,一度書き込んだ秘密鍵は,たとえユーザー本人であっても,コピーしたり取り出したりすることはできないようになっている。

 秘密鍵は暗号処理(署名生成や暗号文復号)に利用されるが,その処理そのものが媒体内で行われるので,秘密鍵をパソコンなどにコピーする必要はない。ユーザーは,秘密鍵が収納された媒体を,物理的な“鍵”の1本だと思って保管していればよいのである。難しいことを考える必要はない。

 2 については,個人ユーザーの場合にはインターネットを介して発行者に送信する場合がほとんどであろう。ただし,SSL(Secure Sockets Layer)などの安全な方法で送信するので,盗聴や改ざんの恐れは少ない。もしもSSLなどの安全な方法ではなく,通常のHTTPや電子メールで送信することを要求された場合には,別の発行者を利用したほうがよい。

 企業ユーザーの場合には,フロッピなどのメディアに公開鍵を収めて,郵送あるいは手渡しで発行者に渡すことになるだろう。ただしこの場合には,ユーザー側で鍵ペアを作成してから発行者に渡すので手間がかかる。秘密鍵をUSBキーなどに格納するのも企業ユーザーの仕事である。

 ただし,この手間を請け負ってくれるサービスも存在する。多数の社員に電子証明書を渡すことを考えている企業では,そのようなサービスの利用を考えてもよいだろう。具体的には,電子証明書の発行者が鍵ペアを作成し,公開鍵は電子証明書にして,秘密鍵はユーザーが希望する媒体に格納して渡してくれる。

信頼できる発行者を選択する

 3 で述べた発行者の信頼性は,PKIの根幹に関わる問題である。証明書の発行者が信頼できなければ,PKIは崩壊するといっても過言ではない。発行者としては信頼性を保つことが不可欠であり,ユーザーとしては信頼できる発行者を選択することが重要だ。

 「電子署名及び認証業務に関する法律」によって主務大臣(総務大臣,法務大臣,経済産業大臣)からその信頼性を認定された発行者(認証事業者)は,ユーザーに対して業務内容のCP(Certificate Policy)やCPS(Certification Practice Statement)などを公開することが義務付けられている。発行者を選択する際には,「認定されている事業者を選ぶ」「CPやCPSなどの情報をきちんと公開している事業者を選ぶ」――ことが重要である。

 一度発行された証明書も,そのユーザーが利用権限を失ったり,秘密鍵を紛失したりした場合には,有効期間中でも無効にしなければならない。そこで 4 に書いたように,有効か無効かを調べる手段が必要となる。そのための手段として,発行者はCRL(Certificate Revocation List)とよばれるリストを公開している。このリストには,無効になった証明書のシリアル番号と失効日などが記載されている。このリストと照らし合わせれば,利用しようとしている電子証明書(公開鍵)が現在も有効であるかどうかが分かる。実際にはPKIに対応したアプリケーションがCRLとの照合を行うので,ユーザーが意識する必要はほとんどない。

 以上,電子証明書に関して簡単に解説した。本稿を読まれて,電子証明書やPKIに対する理解が少しでも深まれば幸いである。もちろん「PKIを利用すればセキュリティは万全」と言うつもりはない。セキュリティに万能薬は存在しない。しかしながら,セキュリティを高める有効な手段の一つであることには間違いない。ベンダーの立場としてではなく,一ユーザーの立場としても,もっと利用されてもよいと筆者は考えている。


東山 栄一 (HIGASHIYAMA Eiichi) higashiyamaアットマークmxc.nes.nec.co.jp
NECソフト株式会社 コンサルティング事業部


 IT Proセキュリティ・サイトが提供する「今週のSecurity Check [一般編]」は,セキュリティ全般の話題(技術,製品,トレンド,ノウハウ)を取り上げる週刊コラムです。システム・インテグレーションやソフト開発を手がける「NECソフト株式会社」の,セキュリティに精通したスタッフの方を執筆陣に迎え,分かりやすく解説していただきます。