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

第1回 個人認証とは?



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


●連載のはじめに

 本稿は、PKI(公開鍵基盤)を考えるうえで必要となる基礎知識の整理を目的に作成したものである。

 大きく分けて、3つの範囲に区切って構成しており、第1にPKIや情報セキュリティで必ず取り上げられる「個人認証」を解説している。個人認証にはさまざまな方式やテクノロジがあり、個人認証については多くの解説がインターネット上で公開されている。これらのリソースを集大成し、なおかつ筆者のこれまでの経験などに照らし合わせて「個人認証」について解説を行う。

 第2では、PKIにおける信頼とはそもそもどういったものであるのか、また、PKIにおける信頼を基にPKIの提供する信頼モデル並びに信頼モデルの根拠となる公開鍵に基づく信頼について解説を行う。

 第3に、PKIの信頼モデルおよび公開鍵に基づく信頼を誰が保証(Assurance)するのか、すなわち第三者認証局について解説を行う。第三者認証の必要性については、PKIやセキュリティに携わっている方々はその必要性を認識されているはずであるが、もう1度、第三者認証の意味や保証業務の必要性について再考できるよう解説を行うつもりである。

 最後に本稿のタイトルではPKI“再入門”とあるが、本稿ではPKIの技術的な要素については全く触れていない。むしろPKIを使うためではなく、PKIを考えるうえで必要となる概念の解説に注力を行った。

 本稿により多くの方々が、PKI(公開鍵基盤)について再認識していただけると幸いである。

   個人認証を行ううえで必要な知識

 ここでは、セキュリティシステムで用いられる認証について解説する。認証を行う際に必要な属性や属性を利用した認証手段や認証技術について解説し、個人認証を行ううえで必要な知識を取りまとめた。

 

個人認証とは

  コンピュータシステムやセキュリティシステムを利用する際に必ず求められる利用者認証などはわれわれにとって非常に身近に用いられている認証である。ここでは認証の本来の意味について解説を行う。

 認証とは「本人しか持ち得ない属性を元にその属性を確認し本人であることを証明すること」である。

 少し乱暴な表現でいえば「本人の持ち物を確認して、本人であると確認」することになるであろう。当たり前のような話に聞こえるのだが、現実社会(以下、リアルと記す)の場合当たり前のように行われている本人確認の手続きを想定してもらえると分かりやすいはずである。

 リアルでは何かの会員になるために運転免許証やパスポート、保険証などといった自分自身のアイデンティティを証明するためにこれらの個人を証明する何かを提示することにより、「私は私」であることを相手に確認させているのである。

 このように認証とは「自分しか持ち得ない情報などに基づく確認および本人証明」であることが理解できたと思うが、リアルであれば当たり前のように行われている確認および証明手続きが、バーチャル社会(以下、バーチャルと記す)の場合さまざまなメーカからさまざまな方式やテクノロジが提供されていることは周知のとおりである。

 

属性認証とは

 本セクションでは、認証を行う際に必要となる「本人確認情報である属性」と「本人属性と認証の相関関係」を中心に属性認証とは何かを解説する。

 ここで取り上げる属性認証とは、RFC3281(http://www.ietf.org/rfc/rfc3281.txt)に基づく属性証明書(Attribute Certificate)を利用した利用者の属性認証ではないので勘違いをしないでほしい。

 では本題に戻り属性認証とは何かを考えてみよう。属性認証とは「本人であることを証明可能な本人しか持ち得ない情報」である。ここでいう本人しか持ち得ない情報=属性であり、先に述べた本人認証は「本人属性を確認し本人であることを証明すること」であると基本的に同じである(図1)。

図1 本人と属性の関係

 では本人しか持ち得ない情報(=属性)にはどのような物があるか例を挙げながら考えてみよう(図2)。

図2 本人属性の例(良い例)

 図2ではこれまでに取り上げたリアルでの本人確認情報である「免許証」などが属性として定義されている。このほかにも本人しか持ち得ない情報として図3に示すような情報もすべて属性として考えることができる。

 ここで注意してほしいのは図3で示した本人属性は本人を特定できない可能性がある属性も含まれているということである。例えば「飼っている猫=タマ」という属性では本人以外にも多数の方に当てはまる可能性のある属性と考えることができる。そのためこのような属性を本人確認情報として選択することは認証を困難にすることがあることを注意する必要がある。

図3 本人属性の例(悪い例)

 では次にバーチャルにおける個人属性について考えて行くこととする。リアルでは本人確認属性としてこれまでに挙げた属性などにより認証がごく一般的に行われているがバーチャルでは対面確認が事実上不可能なことがほとんどであるため、バーチャルにおける属性として以下の情報が用いられている。

1. 知識属性(=知識認証)
2. 所有物属性(=所有物認証)
3. 生体属性(=生体認証)

●知識属性

 知識属性とは、本人しか知り得ない情報に基づき確認と証明を行うための属性であり通常パスワード属性と呼ばれるものである。現在知識属性として固定パスワード方式と利用時に毎回変わるワンタイムパスワード方式の2つが用いられている。

 知識属性で一番簡単なものが固定パスワード方式による本人確認方式であり、古くから現在にいたるまで広く利用されている。

●所有物属性

 所有物属性とは本人が持つ外部記憶装置やデバイスに基づき確認と証明を行うための属性である。例えばリアルでは社員証やクレジットカードなどがこれに該当する。所有物属性は持ってる人が本人でなくとも認証が成功する可能性が存在するため、社員証には社員の顔写真を印刷したり、クレジットカードであれば使用時に自筆のサインをすることにより本人の所有物であるかどうかの確認を行う。

 所有物属性は外部記憶装置やデバイスに基づく認証属性であるため、バーチャルではデバイス中に固定パスワードやワンタイムパスワード生成機能をあらかじめ入れておき「所有物+知識属性」による本人認証を行うことが一般に行われている。

●生体属性

 
生体属性とは本人の身体的な特徴(つまり本人しか持ち得ない特徴)に基づき確認と証明を行うための属性である。リアルにおいてもビルの入退室管理などで生体属性に基づく認証が行われていることは周知のとおりである。バーチャルでは生体属性を主に所有者、使用者の認証に用いることが盛んに行われており、端末などの不正利用などを防止する目的で使用されている。

 生体属性はリアルおよびバーチャルにおいて以下の属性が用いられることが多い。


 ここに挙げた生体属性の中で、リアルおよびバーチャルで一般的に用いられている属性が「指紋(Finger Print)」であろう。ごく一部の方々を除いて指紋はすべての人間が保有する属性であり、利用方法も簡単であることから先に述べた所有者、利用者認証認証に用いられている。現在ではこの生体属性と所有物属性をミックスした認証方式も利用可能となっており属性の複合化が行われている。

 生体属性はわれわれのだれもが保有する属性であるため認証手段として有効な情報であることはいうまでもないのだが、こと生体属性(特に指紋)について利用者は登録作業を強いられる。このため一部利用者の中にはこの作業を嫌う傾向もあり生体属性の利用には十分配慮する必要がある。

 声紋属性については、携帯電話向けのコンテンツを利用する際に「ボイスポータル」として利用されているようである。以前CTI(Computer Telephony Integration)と呼ばれた技術の応用であるといえよう。

 

電子認証とは

 ここまでは、認証と認証を行うための本人識別情報である属性について解説してきた。これまでに解説した3つの属性のうち、所有物および生体属性については本人確認の手段として極めて有効な属性情報であるが、バーチャルでの本人確認手段として用いるのは困難な面も多い。

 所有物属性によるバーチャルな認証手段もない訳ではないが、インターネットという不特定多数の人間が相互に接続されている環境下において所有物属性によって本人であることを証明する作業は困難を極めるはずである。所有物属性による認証は、主にクローズドなコミュニティ(企業体、ショッピングモール、ポータルサイト、サークルなど)で活用してこそ意味を成すものだと筆者は考えている。

 では不特定多数に対して本人であることをどう証明すればいいかということで「電子認証」について解説を行う。

 インターネット上のリソースを「電子認証」をキーに検索すると検索されたリソースのほとんどが「電子認証=電子証明書による認証」と表記されていることが分かるはずである。これは決して誤りではないが、電子認証の本質を表現できているとは考えにくい。

 電子認証とは、電子認証技術の一種でありこれまでに述べた知識属性に基づく本人認証技術も含まれている。これを整理すると以下のようになる。

 この図から電子認証は、パスワード認証などと同じ認証技術の中の1つであることが分かるだろう。蛇足ではあるが筆者は電子証明書という表現がどうもしっくりこないため「電子証明書」を「公開鍵証明書」と表記することを付け加えておく。

 チャレンジ&レスポンス認証とは、相手に対してランダムな値(これをチャレンジ値という)を送信し、このチャレンジ値を相手が暗号化(これをレスポンス値という)を行い送信元に返します。この返されたレスポンス値と元のランダム値から計算した値を比較することにより相手を確認する認証方式のことをいう。認証の度に違うランダム値を使用することで固定パスワード方式に比べパスワードの盗聴などを防止できる仕様になっている。

 電子認証とは「バーチャル社会において相手(組織)の存在証明と本人性を第三者が証明すること」と定義できる。存在証明と本人確認の手段として暗号技術や署名といったテクノロジや公開鍵証明書を用いる方式が利用されているため、「公開鍵証明書による認証」と表記されることが多々あるが、電子認証の本来の意味は「相手の存在と本人性の第三者による証明」だといえる。

相手の証言だけでは、本人性を証明することにはならない

 では電子認証の意味が把握できたと思うので、電子認証の要件を実現する暗号技術および署名について引き続き考えてみたいと思う。
 
 PKI(公開鍵基盤)の提供する機能に暗号化と署名があることは読者の方々はすでにご存じかと思われるが、見えない相手を認証するための認証方法として署名は非常に有効に利用できる。署名はあるデータに対する指紋(フィンガープリントまたはメッセージダイジェスト)を作成者の私有鍵で暗号化することにより生成される。

署名 = メッセージダイジェスト + 暗号化

 実際に公開鍵証明書を証明書マネージャやOpenSSLなどのツールを用いれば容易に確認することができる。ここで例として、以下のように表示される。

Certificate:
Data:
Version: 3 (0x2)
Serial Number:
a1:20:f4:bd:b8:34:ec:23:42:4b:d3:45:3e:d4:9e:7b
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=JP, O=CACAnet Fukuoka, OU=CA, CN=CACAnet Fukuoka Community CA
OpenSSLによる証明書表示

画像拡大

 このように署名アルゴリズムとして、「sha1WithRSAEncryption」が指定されていることが分かるだろう。これはメッセージダイジェストを作成するアルゴリズムにSHA1を使用し、計算されたメッセージダイジェストをRSAアルゴリズムで暗号化したことを示したものである。このほかにもmd5WithRSAEncryptionなどが用いられることがある。

 では実際に署名による認証がどのように行われるかを見ていくことにしよう。送信者のみが所有する私有鍵(=秘密鍵)で作成されたデータ(=署名)を送ってもらい、受け取った受信者は送信者の公開鍵証明書(=公開鍵)で作成者の署名を検証することにより、送信者しか作成できない署名であることが分かるため、これにより相手を確認することができる。

署名による相手の認証の例

 このように、私有鍵や公開鍵を利用して個人の認証を行うことがお分かりいただけたと思う。次回は、PKIを利用した電子認証の前提となる信頼について解説する。

第2回」へ

Index

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

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

Security&Trust記事一覧


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

注目のテーマ

Security & Trust 記事ランキング

本日 月間