〜インターネットセキュリティの切り札〜
連載:PKI再入門

第4回 公開鍵に基づく信頼



久保彰
電子認証局市民ネットワーク福岡
2003/7/31
 連載ロードマップ
第1回 個人認証とは?
第2回 PKIにおける信頼とは
第3回 必須の信頼モデル
第4回 公開鍵に基づく信頼
第5回 第三者認証


 「第3回 信頼関係構築に必須の『信頼モデル』」までは、PKIを理解するうえで必要となる認証や属性の概念とPKIの信頼と信頼モデルについて解説を行ったため、これらの概念については多少なりとも理解できたかと思う。今回からはPKIの信頼を構築するうえで最も重要な「公開鍵の信頼」について解説を行いたい。

 PKIを構築または利用するうえで「公開鍵の信頼」は必須の概念であり、その公開鍵を信頼する(または信頼される)ために必要な第三者認証については次回以降で取り上げていくこととする。

   PKIの基本である「私有鍵」と「公開鍵」

 PKIによる認証基盤では、主体者に私有鍵と公開鍵の鍵ペアを生成させ、主体者の生成した公開鍵を第三者認証者が本人確認などの手続きを経て、主体者と公開鍵の結び付きを保証し、主体者の公開鍵であることを証明するために主体者にPublic key Certificate(PKC:公開鍵証明書)を発行する。筆者が本連載にてデジタル証明書や電子証明書ではなく「公開鍵証明書」と表記しているのはこのためで、主体者と公開鍵の結び付きを証明する書(すなわち「公開鍵」の証明書)ということを理解してほしい。また最近の文書などでは「公開鍵証明書」と表記されることも多くなってきているようだ。余談ではあるが「公開鍵証明書」のプロファイルとして度々登場するRFC3280(Certificate and Certificate Revocation List (CRL) Profile)でもPublic key Certificate(PKC)と表記されている。

 話を元に戻すが、私有鍵と公開鍵は任意の公開鍵暗号アルゴリズムを使用して主体者により生成される。

 公開鍵暗号アルゴリズムとして、素因数分解問題を根拠にしたRSA暗号や離散対数問題を根拠にしたDSA/ECDSA暗号などが利用されている。

 どの方式でも公開鍵暗号の特性として、暗号化と復号の鍵が別であることに注意してほしい。つまり公開鍵(Puk)で暗号化したデータは必ず私有鍵(Pvk)で復号しなければならない。暗号化に私有鍵を使用した場合は公開鍵で復号することはいうまでもない。

 この特性により、「第1回 個人認証とは?」の電子認証のセクションで紹介した署名による認証の機能が提供できるのだ。つまり署名の必須要件として、

  1. 本人のみ作成可能なデータであること
  2. 作成されたデータをだれもが検証できること
の2つがあるが、公開鍵暗号方式による鍵ペア(私有鍵、公開鍵)を使用すれば上記の2つの条件を満たすことができる。

   重要である「公開鍵の信頼」

 これまで説明したとおり鍵ペアを利用した電子認証は非常に有効であり、署名による認証のほかにも、秘匿通信(SSLS/MIMEなど)を行うためのデータの暗号化なども可能となる。

 しかしここで注意してほしいことがある。それはこの鍵ペアについてはだれも信じてくれない可能性があることだ。鍵ペア自体はOpenSSLなどのフリーのツールキットなどを使用することでだれにでも簡単に作成できる。またこれらのツールキットで作成した鍵ペアから証明書発行リクエスト(Certificate Request Syntax:CRS)を作成し、公開鍵証明書を発行することも可能になる。

 しかしこの鍵ペアの根本的な問題として、第三者による証明がない公開鍵証明書を信頼する検証者はいないだろうし、また何も証明しない公開鍵証明書であれば、「Man-in-the-Middle-Attack(マン・イン・ザ・ミドル・アタック )」(図1)などのような悪意のある第三者からの攻撃は防ぐことはできない。その結果として取引内容が暗号化されているにもかかわらずメッセージが解読されていたり、意図しない改ざんが発生したのであれば、利用する認証システムの信頼性にも大きな損害を与えることが容易に想像できる。

 従って、鍵ペアの信頼性を保証することは主体者のみならず信頼者(検証者)にとっても非常に重要な問題になるのだ。

 公開鍵を信頼者にとって信頼できる公開鍵であると証明するためには、信頼できる第三者認証者に主体者の存在と主体者によって生成された公開鍵(Puk)を証明してもらうことが必要になる。公開鍵証明書(PKC)は、主体者と公開鍵(Puk)の結びつきを証明するので、この第三者認証者を信頼者が信頼点とすることで間接信頼を形成可能になる。

図1 通信する二者の間に割り込んで、送信者のパケットを偽装する攻撃「Man-in-the-Middle Attack」

 Man-in-the-Middle-Attackは、AさんとBさんの間の通信に悪意のある第三者(攻撃者)が介在することで発生する。図1のケースでは、BさんからAさんへのメッセージ内容を解読するケースだが、AさんからBさんへのメッセージの解読を行うためには、Bさんの公開鍵と偽って攻撃者自身の公開鍵を送付する必要がある。

 攻撃者が2種類の鍵ペアを生成し、それぞれをAさん、Bさんの公開鍵であると偽ることに成功した場合が、A⇒Bあるいは、B⇒Aの通信内容すべてが解読されることになる。このように攻撃者が本人の公開鍵であると偽ることで、通信内容やメッセージの改ざんなどが発生することが理解できると思う。またこういった攻撃のリスクを軽減するために第三者による公開鍵の証明が重要であるということも理解できたかと思う。

   私有鍵の管理

 公開鍵を信頼するうえで第三者認証者の必要性は理解できたかと思われるが、公開鍵の信頼性は信頼者に対して証明する行為だということが理解できるだろう。これに対し私有鍵についてはどうだろう。私有鍵は自分自身のアイデンティティの素となるデータであり私有鍵を盗難された場合、どのようなリスクが顕在化するかを中心に私有鍵の管理について解説を行おう 。

 私有鍵は主体者のアイデンティティを確立する鍵であるのに対し、公開鍵証明書は信頼者(検証者)に対する主体者のアイデンティティの第三者証明となる。つまり対外的には公開鍵証明書による証明を行い、主体者が主体者自身であることは私有鍵によって証明される(公開鍵証明書で証明された公開鍵の対となる私有鍵の存在により証明可能)。

 従って、私有鍵の管理いかんによっては、私有鍵の漏えいなどにより自分の知らないところで勝手にオンラインによる商品申し込みが署名付きで行われていたり、大事な取引内容が解読されたりなど目に見えるリスクが発生する可能性がある。通信内容の解読に関しては決して目に見えないリスクになるので、暗号化していても何の意味もなさなくなるのだ。

 2001年4月に施行された通称「電子署名法」では私有鍵で作成された電磁的な記録に対して紙に対する署名と同等の効力を認めるということで、署名を行う際の私有鍵の管理については非常に厳重な管理を必要とするようになった。

 法制度により署名の効力がほぼ実印レベルにまで押し上げられたことは、利用者に署名を使ってもらうという観点からは法的な責任が生じてしまいマイナスの要因のように感じられるが、先に述べたように信頼者に対し主体者の証明(信頼性)を行うために公開鍵証明書を第三者認証者は発行しており、主体者自身の証明は私有鍵で行われる。つまり私有鍵を年に何度も盗まれたり、盗まれたことに全く気付かないということでは、主体者としての管理義務を怠っていると取られ、信頼を著しく低下させる行為といってよいだろう。信頼が低下するだけでも実害が発生してしまうが、さらに通信内容が解読されていたことによる守秘義務違反や損害賠償問題などの発生の可能性も皆無ではないといえるだろう。

 では主体者は私有鍵をいかに管理すべきということだが、一般には私有鍵をICカードやUSBトークンといった目に見えるハードウェアデバイスに入れて公開鍵と分離して管理することが推奨されている。しかしこういったハードウェアデバイスの利用はコストや導入教育などの面で普及の妨げになっているのも事実だ。しかし私有鍵を特別なデバイスに入れることで本質的な解決になるのだろうか。どのような管理をしても主体者自身の意識の向上がなくては道具を導入しても結局のところは同じ過ちを繰り返す可能性がある。

図2 私有鍵をUSBトークンやICカードに入れて公開鍵と分離して管理することが推奨されている

 従って、私有鍵を安全に管理するためには、主体者自身の意識の向上や啓発、教育といった作業が必要不可欠になるだろう。主体者の意識が高い場合、安易なパスワード管理や端末管理などを行わないだろうから、全体としてのセキュリティレベルの向上につながる。理想論のように聞こえるかもしれないが、モノによる解決には限度があると筆者は考えている。モノによる解決にはさらなるモノが必要とされ、主体者の危機意識の向上が見られないなどの弊害も生む可能性があることを考慮して導入などを検討することが必要だ。俗にいわれる“技術依存”などは技術にすべて依存することでセキュリティを確保することになる。

 最近になって社員証ICカードやセキュリティトークンといったデバイスをオフィスへの入退室の管理などに使用する会社も増えてきた。そういった会社でもICカードは入退室と電子決済(電子マネー)としての使用のみというケースが多々あり、署名や暗号化のためにはICカードを利用しないというケースもある。

 ここまでの解説をまとめると、私有鍵の管理のポイントは以下のとおりになる。

  1. 主体者への導入教育を繰り返し行い、安易な鍵管理を行わせない
  2. ハードウェアデバイスを利用する場合、利用用途と目的を定めたうえで利用

 このように、主体者としての最低限の責務を果たすだけでよいのだから、私有鍵の管理は恐れるに足らない。しかし、主体者の管理不備は、信頼者や認証者への背任行為であるくらいの認識を持つことも重要だろう。

 次回は、公開鍵の証明を行う認証者の信頼性などについて解説する予定である。

第3回」へ 第5回」へ

Index

 

第1回 個人認証とは?
  第2回 PKIにおける信頼とは?
  第3回 信頼関係構築に必須の「信頼モデル」
第4回 公開鍵に基づく信頼
  第5回 公開鍵との結び付きを証明する第三者認証局

関連記事
5分で絶対に分かるPKI
連載:PKIの基礎講座
連載:電子署名導入指南
特集:PKI運用のアウトソーシングの流れ
特集:電子政府の現状と今後
特集:GPKIで実現する電子政府構想(GPKIとはなにか?)

Security&Trust記事一覧


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間