(57)【特許請求の範囲】
【請求項１】
暗号化装置から準同型暗号による暗号化情報を受信し、認証を行う認証装置であって、
前記暗号化装置から、利用者の公開鍵を用いて準同型暗号によって暗号化された生体情報と、前記利用者の識別情報と、前記利用者の公開鍵とを受信する受信手段と、
複数の利用者の識別情報と、前記複数の利用者の公開鍵を用いて準同型暗号によって暗号化された前記複数の利用者の生体情報と、前記複数の利用者の公開鍵とを前記複数の利用者の各々の利用者に対応づけて記憶するデータベースから、前記受信手段によって受信された識別情報に基づいて、前記データベースに記憶されている公開鍵と暗号化された生体情報とを検索する検索手段と、
公開鍵と前記公開鍵で暗号化された２つの生体情報とが入力されると認証の成否を示す値が前記公開鍵を用いて暗号化された値を出力する関数に前記利用者の公開鍵と前記暗号化装置から受信した暗号化された生体情報と前記データベースに記憶されている前記暗号化された生体情報とを入力することにより得られた値と、前記認証の成否を示す値が前記利用者の公開鍵を用いて暗号化された値との比較結果に基づいて、前記利用者の認証を行う実行部と、
を備えることを特徴とする認証装置。
【請求項２】
前記暗号化装置から、利用者の公開鍵と前記公開鍵を用いて準同型暗号によって暗号化された前記利用者の生体情報の更新情報と前記利用者の識別情報と更新指示とを受信すると、前記データベースに記憶されている前記利用者の識別情報に対応する暗号化された生体情報と公開鍵とを更新する更新手段を、さらに備えることを特徴とする請求項１に記載の認証装置。
【請求項３】
前記利用者の公開鍵は、前記利用者の識別情報と公開鍵および秘密鍵の組み合わせとを記憶するトークンデバイスから、前記暗号化装置が取得した公開鍵であることを特徴とする請求項１または２に記載の認証装置。
【請求項４】
公開鍵と前記公開鍵を用いて準同型暗号によって暗号化された認証対象となる第１の暗号化情報と前記公開鍵を用いてデータベースに記憶されている準同型暗号によって暗号化された第２の暗号化情報とが入力されると認証の成否を示す値が前記公開鍵を用いて暗号化された値を出力する関数の出力結果と、前記認証の成否を示す値が前記公開鍵を用いて暗号化された値との比較結果に基づいて認証し前記第２の暗号化情報を更新可能な認証装置に対し通信可能な暗号化装置であって、
利用者の識別情報と前記利用者の公開鍵および前記利用者の秘密鍵の組み合わせとを記憶するトークンデバイスから、前記利用者の識別情報と前記利用者の公開鍵とを取得する取得手段と、
前記取得手段によって取得された利用者の公開鍵によって、前記利用者の生体情報を前記準同型暗号によって暗号化する暗号化手段と、
前記利用者の識別情報と前記利用者の公開鍵と前記暗号化手段によって暗号化された生体情報とを前記認証装置に送信する送信手段と、
を備えることを特徴とする暗号化装置。
【請求項５】
電子署名の正当性を検証する署名検証手段と、
前記トークンデバイスに、前記暗号化手段によって前記生体情報を暗号化した秘密鍵および公開鍵の組み合わせとは異なる署名用の秘密鍵および署名用の公開鍵のうち、前記署名用の秘密鍵によっていずれかの値に対する電子署名の生成を指示する署名生成指示手段と、
をさらに備え、
前記取得手段は、
前記トークンデバイスから、前記署名生成指示手段によって生成された前記いずれかの値に対する電子署名を取得し、
前記署名検証手段は、
前記取得手段によって生成されたいずれかの値に対する電子署名を取得するとともに、前記いずれかの値に対する電子署名を前記署名用の公開鍵によって検証することを特徴とする請求項４に記載の暗号化装置。
【請求項６】
公開鍵と前記公開鍵を用いて準同型暗号によって暗号化された認証対象となる第１の暗号化情報と前記公開鍵を用いてデータベースに記憶されている準同型暗号によって暗号化された第２の暗号化情報とが入力されると認証の成否を示す値が前記公開鍵を用いて暗号化された値を出力する関数の出力結果と、前記認証の成否を示す値が前記公開鍵を用いて暗号化された値との比較結果に基づいて認証する認証装置に対し通信可能な暗号化装置に通信可能なトークンデバイスであって、
利用者の識別情報を記憶する記憶手段と、
前記利用者の公開鍵と前記利用者の秘密鍵との組み合わせを生成する生成手段と、
前記暗号化装置から準同型暗号による暗号化を要求されたか否かを判断する判断手段と、
前記判断手段によって準同型暗号による暗号化を要求されたと判断された場合、前記記憶手段によって記憶された識別情報と前記生成手段によって生成された利用者の公開鍵とを前記暗号化装置に送信する送信手段と、
を備えることを特徴とするトークンデバイス。
【請求項７】
暗号化装置から準同型暗号による暗号化情報を受信し、認証装置によって実行される認証方法であって、
前記暗号化装置から、利用者の公開鍵を用いて準同型暗号によって暗号化された生体情報と、前記利用者の識別情報と、前記利用者の公開鍵とを受信するステップと、
複数の利用者の識別情報と、前記複数の利用者の公開鍵を用いて準同型暗号によって暗号化された前記複数の利用者の生体情報と、前記複数の利用者の公開鍵とを前記複数の利用者の各々の利用者に対応づけて記憶するデータベースから、前記受信した識別情報に基づいて、前記データベースに記憶されている公開鍵と暗号化された生体情報とを検索するステップと、
公開鍵と前記公開鍵で暗号化された２つの生体情報とが入力されると認証の成否を示す値が前記公開鍵を用いて暗号化された値を出力する関数に前記利用者の公開鍵と前記暗号化装置から受信した暗号化された生体情報と前記データベースに記憶されている前記暗号化された生体情報とを入力することにより得られた値と、前記認証の成否を示す値が前記利用者の公開鍵を用いて暗号化された値との比較結果に基づいて、前記利用者の認証を行うステップと、
を前記認証装置が実行することを特徴とする認証方法。
【請求項８】
暗号化装置から準同型暗号による暗号化情報を受信し、認証を行う認証装置として機能するコンピュータに、
前記暗号化装置から、利用者の公開鍵を用いて準同型暗号によって暗号化された生体情報と、前記利用者の識別情報と、前記利用者の公開鍵とを受信するステップと、
複数の利用者の識別情報と、前記複数の利用者の公開鍵を用いて準同型暗号によって暗号化された前記複数の利用者の生体情報と、前記複数の利用者の公開鍵とを前記複数の利用者の各々の利用者に対応づけて記憶するデータベースから、前記受信した識別情報に基づいて、前記データベースに記憶されている公開鍵と暗号化された生体情報とを検索するステップと、
公開鍵と前記公開鍵で暗号化された２つの生体情報とが入力されると認証の成否を示す値が前記公開鍵を用いて暗号化された値を出力する関数に前記利用者の公開鍵と前記暗号化装置から受信した暗号化された生体情報と前記データベースに記憶されている前記暗号化された生体情報とを入力することにより得られた値と、前記認証の成否を示す値が前記利用者の公開鍵を用いて暗号化された値との比較結果に基づいて、前記利用者の認証を行うステップと、
を実行させることを特徴とする認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を認証する認証装置、暗号化装置、トークンデバイス、認証方法、および認証プログラムに関する。
【背景技術】
【０００２】
近年、社会において様々なシステムを用いる場合に、利用者が正規のユーザであることを認証する必要がある局面が多い。認証を行う際には、個人ごとに固有の情報である生体認証を利用した方式が普及している。生体認証の対象としては、指紋・静脈・虹彩・顔・音声などである。また、生体情報は、個人に関する機密情報のため、暗号化することが好ましい。このとき、準同型暗号を使用して、暗号化された状態にて、生体情報の一致判定をする技術が開示されている（たとえば、下記特許文献１を参照。）。
【０００３】
特許文献１は、少なくとも２つのデータの類似性の指標を暗号化された状態で計算する方法およびシステムに関するものである。確認方法として、認証装置は、生体情報を示すビットシーケンスＸ＝（ｘ１、・・・、ｘｎ）と、認証を行う際の生体情報を示すビットシーケンスＹ＝（ｙ１、・・・、ｙｎ）に対して、共通の公開鍵ｐｋで暗号化したデータＥｐｋ（Ｘ）、Ｅｐｋ（Ｙ）を用意する。この際Ｅは、下記準同型性を満たす、Ｐａｉｌｌｉｅｒ暗号やＥｌ  Ｇａｍａｌ暗号を用いる。
【０００４】
Ｅ（ｘ＋ｙ）＝Ｅ（ｘ）Ｅ（ｙ）
【０００５】
続けて、認証装置が、ハミング距離ｄＨ（Ｘ、Ｙ）が一定値Ｔ以下かをＥｐｋ（ｄＨ（Ｘ、Ｙ））を準同型性の性質に基づいて式を変形し、さらに、非特許文献１によるセキュア計算によって、生体情報を暗号化した状態で判断する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００８−５２１０２５号公報
【非特許文献】
【０００７】
【非特許文献１】Ｂ．Ｓｃｈｏｅｎｍａｋｅｒｓ，Ｐ．Ｔｕｙｌｓ，“Ｐｒａｃｔｉｃａｌ  ｔｗｏ−ｐａｒｔｙ  ｃｏｍｐｕｔａｔｉｏｎ  ｂａｓｅｄ  ｏｎ  ｔｈｅ  ｃｏｎｄｉｔｉｏｎａｌ  ｇａｔｅ”，ＡＳＩＡＣＲＹＰＴ  ２００４，  ＬＮＣＳ，  Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，  ２００４
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術において、特許文献１の認証システムでは、秘密鍵ｓｋは、システム設計者、運用者によって管理される。したがって、特許文献１の認証システムは、ユーザの関与しないところで秘密鍵ｓｋが漏えいする可能性があるという問題があった。
【０００９】
また、暗号化された生体情報が漏えいした場合、第三者が、その情報を用いて正規のユーザになりすますことが可能である。そこで、生体情報の再登録を行うことで、漏えいした生体情報を無効にする必要がある。しかし、漏えいした生体情報Ｘと、再登録した生体情報Ｘ’によるハミング距離ｄＨ（Ｘ、Ｘ’）は閾値Ｔより小さい。したがって、生体情報の再登録を行っても、漏えいした生体情報Ｘで認証に成功してしまう。このことから、暗号化された生体情報でも、一旦漏えいしてしまうと、その後、なりすましを防ぐことは困難になるという問題があった。
【００１０】
本発明は、上述した従来技術による問題点を解消するため、暗号化された生体情報が漏えいしても、秘密鍵と生体情報を漏えいしない暗号化装置、トークンデバイス、認証システム、暗号化方法、および暗号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、開示の認証装置は、暗号化装置から準同型暗号による暗号化情報を受信し、認証を行う認証装置であって、暗号化装置から、利用者の公開鍵を用いて準同型暗号によって暗号化された生体情報と、利用者の識別情報と、利用者の公開鍵とを受信し、利用者の識別情報と、利用者の公開鍵を用いて準同型暗号によって暗号化された利用者の生体情報と、利用者の公開鍵とを利用者ごとに対応づけて記憶するデータベースから、受信手段によって受信された識別情報に基づいて、データベースに記憶されている公開鍵と暗号化された生体情報とを検索し、検索された公開鍵と暗号化された生体情報と、受信した公開鍵と暗号化された生体情報とを基に利用者の認証を行うことを要件とする。
【発明の効果】
【００１２】
本認証装置、暗号化装置、トークンデバイス、認証方法、および認証プログラムによれば、暗号化された生体情報が漏えいしても、異なる公開鍵による暗号化された生体情報を登録でき、秘密鍵と生体情報を漏えいしないことができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態にかかる認証システム１００を示すブロック図である。
【図２】暗号化装置１０３のハードウェア構成を示すブロック図である。
【図３】認証システム１００の機能的構成を示すブロック図である。
【図４】認証システム１００での公開鍵および秘密鍵の所在を示す説明図である。
【図５】暗号化された生体情報の認証処理の概要を示す説明図である。
【図６】暗号化生体情報テーブル１０８の記憶内容の一例を示す説明図である。
【図７】鍵生成処理のフローチャートである。
【図８】生体情報登録処理のフローチャートである。
【図９】生体情報認証処理のフローチャートである。
【図１０】生体情報認証処理にて暗号化された生体情報がランダム性を持つ場合の処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、本発明にかかる認証装置、暗号化装置、トークンデバイス、認証方法、および認証プログラムの好適な実施の形態を詳細に説明する。
【００１５】
図１は、本実施の形態にかかる認証システム１００を示すブロック図である。認証システム１００は、認証装置１０１と、暗号化装置１０３と、トークンデバイス１０４と、で構成する。サービス１０２は、認証システム１００によって認証成功した際に暗号化装置１０３にアクセスされる。認証装置１０１とサービス１０２と暗号化装置１０３とは、ネットワーク１０５にてそれぞれ接続されている。暗号化装置１０３は、生体情報読取デバイス１０６と、トークン読取デバイス１０７が接続されている。認証装置１０１の内部には、暗号化生体情報テーブル１０８が存在する。
【００１６】
認証システム１００は、利用者がサービス１０２を利用する際の認証処理を司る。アクセスを行った利用者が正規のユーザか否かを確認し、正規のユーザであれば認証し、暗号化装置１０３がサービス１０２に接続する許可をする。
【００１７】
認証装置１０１は、利用者がサービス１０２を利用する際の認証処理を行う。具体的には、たとえば、認証装置１０１は、登録時点の準同型暗号によって暗号化された生体情報と、アクセスを行った利用者の生体情報が一致するか否かを確認する。
【００１８】
サービス１０２は、ソフトウェアの機能を、ネットワーク１０５を経由して提供する。具体的には、たとえば、認証システム１００が銀行が提供するサービスに対する認証システムである場合、暗号化装置１０３は、認証成功後、サービス１０２を構築している銀行のサーバ群に接続する。サーバ群は、利用者に対して、預金の入出金管理、振り込み等を行う機能を、ネットワーク１０５を経由して提供する。
【００１９】
暗号化装置１０３は、利用者の生体情報とトークンデバイス１０４から情報を取得し、生体情報を暗号化して認証装置１０１に送信する。また、認証成功後には、サービス１０２から提供されるソフトウェアの操作を行う。暗号化装置１０３の具体例としては、たとえば、銀行でのＡＴＭ（Ａｕｔｏｍａｔｅｄ  Ｔｅｌｌｅｒ  Ｍａｃｈｉｎｅ）である。
【００２０】
トークンデバイス１０４は、認証処理の助けとなる物理デバイスである。具体的には、情報の記憶、演算を行うための集積回路を組み込んだスマートカードなどである。トークンデバイス１０４の実装は、暗号方式によって様々な形態がある。たとえば、実装の１つとして、トークンデバイス１０４はユーザの識別番号を記録し、認証時にユーザの識別番号を出力する形式であってもよい。
【００２１】
ネットワーク１０５は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどの通信網である。または、セキュリティ強固のために、ネットワーク１０５は、専用回線であってもよい。
【００２２】
生体情報読取デバイス１０６は、利用者の生体情報を、デジタル情報として取り込むためのデバイスである。また、トークン読取デバイス１０７は、トークンデバイス１０４を読み取るためのデバイスである。たとえば、トークンデバイス１０４がスマートカードであればカードリーダとなる。
【００２３】
（暗号化装置１０３のハードウェア構成）
図２は、暗号化装置１０３のハードウェア構成を示すブロック図である。図２において、暗号化装置１０３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、を備えている。また、記憶装置として暗号化装置１０３は、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、を備えている。また、ユーザやその他の機器との入出力装置として暗号化装置１０３は、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、カードリーダ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００２４】
ここで、ＣＰＵ２０１は、暗号化装置の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００２５】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２６】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２７】
Ｉ／Ｆ２０９は、ネットワーク１０５を介して認証装置１０１などの他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク１０５と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２８】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、キーボード２１０は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。マウス２１１はポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２９】
スキャナ２１２は、生体情報読取デバイス１０６の一つの例であり、生体情報を光学的方法、電圧などで読み取り、暗号化装置１０３内にたとえば画像データを取り込む。取り込む生体情報としては、指紋、静脈等である。また、虹彩、顔を生体情報とする場合には、生体情報読取デバイス１０６としてカメラを採用し、画像データとして取り込んでもよい。また、音声を生体情報とする場合には、生体情報読取デバイス１０６としてマイクを採用し、音声データとして取り込んでもよい。
【００３０】
カードリーダ２１３は、トークン読取デバイス１０７の一つの例であり、トークンデバイス１０４がスマートカードであることを想定した際のデバイスである。カードリーダ２１３は、トークンデバイス１０４を読み取り、暗号化装置１０３内にユーザ識別子情報等を取り込む。
【００３１】
（認証システム１００の機能的構成）
次に、認証システム１００の機能的構成について説明する。図３は、認証システム１００の機能的構成を示すブロック図である。暗号化装置１０３は、取得部３０１と、暗号化部３０２と、送信部３０３と、受信部３０７と、生成指示部３０８と、復号指示部３１２と、判断部３１５と、署名生成指示部３１６と、署名検証部３１８と、を含む構成である。トークンデバイス１０４は、生成部３０９、送信部３１０と、取得部３１３と、復号部３１４と、署名生成部３１７と、記憶部３１９と、判断部３２０と、を含む構成である。認証装置１０１は、受信部３０４と、検索部３０５と、実行部３０６と、更新部３１１と、を含む構成である。
【００３２】
暗号化装置１０３での制御部となる機能（取得部３０１〜署名検証部３１８）は、具体的には、たとえば、記憶装置に記憶されたプログラムをＣＰＵ２０１が実行することにより、その機能を実現する。記憶装置とは、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などである。または、Ｉ／Ｆ２０９を経由して他のＣＰＵが実行することにより、その機能を実現してもよい。
【００３３】
同様に、トークンデバイス１０４での制御部となる機能（生成部３０９〜署名生成部３１７、判断部３２０）も、具体的には、たとえば、記憶装置に記憶されたプログラムをトークンデバイス１０４のＣＰＵが実行することにより、その機能を実現する。記憶装置とは、トークンデバイス１０４に内蔵されているＲＯＭ、ＲＡＭ、フラッシュＲＯＭなどである。または、外部の装置が制御部となる機能を実行した後に、トークンデバイス１０４は、実行された結果を格納する状態であってもよい。
【００３４】
同様に、認証装置１０１での制御部となる機能（受信部３０４〜実行部３０６、更新部３１１）も、具体的には、たとえば、記憶装置に記憶されたプログラムを認証装置１０１のＣＰＵが実行することにより、その機能を実現する。記憶装置とは、認証装置１０１に内蔵されているＲＯＭ、ＲＡＭ、磁気ディスク、光ディスクなどである。または、ネットワーク１０５を経由して他のＣＰＵが実行することにより、その機能を実現してもよい。
【００３５】
また、各機能を結ぶ線分の種別として、実線の矢印で示す処理順序は、認証システム１００における認証処理の処理順序を示している。具体的には、取得部３０１、暗号化部３０２、送信部３０３、受信部３０４、検索部３０５、実行部３０６、受信部３０７、判断部３１５までの一連の処理が、認証処理の処理順序となる。また、認証装置１０１は、検索部３０５にて暗号化生体情報テーブル１０８にアクセスする。また認証システム１００は、取得部３０１の処理が実行される際に、トークンデバイス１０４によって記憶部３１９と、判断部３２０の機能を実行する。
【００３６】
同様に、点線の矢印で示す処理順序は、認証システム１００における生体情報の再登録処理の処理順序の一部を示している。具体的には、点線の矢印で示される生成指示部３０８〜送信部３１０、実線の矢印で示される取得部３０１〜検索部３０５、更新部３１１までの一連の処理が、生体情報の再登録処理の処理順序となる。また、認証装置１０１は、更新部３１１にて暗号化生体情報テーブル１０８にアクセスする。
【００３７】
同様に、一点鎖線の矢印で示す処理は、認証システム１００における暗号化された生体情報にランダム性を持つ場合の処理順序を示している。具体的には、実線の矢印で示される取得部３０１〜受信部３０７、一点鎖線の矢印で示される復号指示部３１２〜送信部３１０、取得部３０１、判断部３１５までの一連の処理が、暗号化された生体情報がランダム性を持つ場合の処理順序となる。
【００３８】
同様に、破線の矢印で示す処理順序は、認証システム１００におけるトークンデバイス１０４の検証処理の処理順序の一部を示している。具体的には、破線の矢印で示される署名生成指示部３１６〜送信部３１０、取得部３０１、署名検証部３１８までの一連の処理が、トークンデバイス１０４の検証処理の処理順序となる。
【００３９】
取得部３０１は、利用者の識別情報と公開鍵および秘密鍵の組み合わせとを記憶するトークンデバイス１０４から、識別情報と公開鍵とを取得する機能を有する。また、取得部３０１は、生成指示部３０８によって、公開鍵と秘密鍵の生成を指示した場合に、識別情報と生成された公開鍵を取得してもよい。また、取得部３０１は、復号指示部３１２によって認証結果の復号を指示した場合に、復号された認証結果を取得してもよい。また、取得部３０１は、署名生成指示部３１６によって電子署名の生成を指示した場合に、生成された電子署名を取得してもよい。利用者とは、認証システム１００を利用するユーザである。
【００４０】
具体的には、たとえば、暗号化装置１０３は、利用者の識別情報として、ユーザＵｉのユーザ識別子Ｕｉと、公開鍵ｐｋｉを取得する。なお、取得されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４１】
暗号化部３０２は、取得部３０１によって取得された公開鍵によって、利用者の生体情報を準同型暗号によって暗号化する機能を有する。また、暗号化部３０２は、利用者の生体情報を準同型暗号によってランダム性を持つように暗号化してもよい。準同型暗号の具体例としては、たとえば、Ｐａｉｌｌｉｅｒ暗号やＥｌ  Ｇａｍａｌ暗号である。また、ランダム性を持つような暗号化とは、暗号化アルゴリズム自体にランダム性を持たせることにより、入力が同じ平文に対し、異なる暗号文を出力する暗号化である。ランダム性を持つ暗号化アルゴリズムの具体例は、ＲＳＡ−ＯＡＥＰ（ＲＳＡ  Ｏｐｔｉｍａｌ  Ａｓｙｍｍｅｔｒｉｃ  Ｅｎｃｒｙｐｔｉｏｎ  Ｐａｄｄｉｎｇ）暗号、ＲＳＡＥＳ−ＰＫＣＳ１−ｖ１＿５暗号等である。
【００４２】
具体的には、たとえば、暗号化装置１０３は、スキャナ２１２によって読み取った生体情報Ｍｉを、準同型暗号Ｅを用いて公開鍵ｐｋｉによって暗号化し、Ｅｐｋｉ（Ｍｉ）を得る。なお、暗号化されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４３】
送信部３０３は、識別情報と公開鍵と暗号化部３０２によって暗号化された生体情報とを認証装置１０１に送信する機能を有する。具体的には、たとえば、暗号化装置１０３は、ユーザ識別子Ｕｉと、公開鍵ｐｋｉと、準同型暗号によって暗号化された生体情報Ｅｐｋｉ（Ｍｉ）を、認証装置１０１に送信する。なお、送信されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶されてもよい。
【００４４】
受信部３０４は、暗号化装置１０３から送信された識別情報と公開鍵と準同型暗号によって暗号化された生体情報を受信する機能を有する。具体的には、たとえば、認証装置１０１は、ユーザ識別子Ｕｉと、公開鍵ｐｋｉと、準同型暗号によって暗号化された生体情報Ｅｐｋｉ（Ｍｉ）を受信する。なお、受信されたデータは、認証装置１０１内のＲＡＭ、磁気ディスク、光ディスクなどの記憶領域に記憶される。
【００４５】
検索部３０５は、データベースから、受信部３０４によって受信された識別情報に基づいて、データベースに記憶されている公開鍵と暗号化された生体情報とを検索する機能を有する。データベースとは、利用者の識別情報ごとに、準同型暗号によって暗号化された利用者の生体情報と利用者の生体情報を暗号化した公開鍵とを記憶する暗号化生体情報テーブル１０８である。
【００４６】
具体的には、たとえば、認証装置１０１は、暗号化生体情報テーブル１０８から、受信された識別情報がユーザ識別子Ｕｉである場合に、ユーザＵｉの準同型暗号によって暗号化された生体情報と、生体情報を暗号化した公開鍵を検索する。なお、検索され、発見されたデータは、認証装置１０１内のＲＡＭ、磁気ディスク、光ディスクなどの記憶領域に記憶される。
【００４７】
実行部３０６は、検索部３０５によってデータベース内に受信された識別情報に関連した公開鍵と暗号化された生体情報が検索された場合、受信部３０４によって受信された生体情報と検索された生体情報が一致するかを判断する関数を実行する機能を有する。関数とは、暗号化されていない生体情報の一致を判断する生体認証アルゴリズムｆに対応した、準同型暗号によって暗号化された生体情報の一致を判断する暗号化生体認証アルゴリズムＦのことである。
【００４８】
生体認証アルゴリズムｆの具体例としては、たとえば、ハミング距離が一定の値以下であるか否かを判断するアルゴリズムである。他の具体例としては、ハミング距離で判断する以外にレーベンシュタイン距離にて判断してもよい。また、準同型暗号Ｅが、加法、乗法の両方の演算が可能な完全準同型暗号であれば、生体認証アルゴリズムｆは任意のアルゴリズムを使用できる。
【００４９】
完全準同型暗号とは、すべてのロジック回路による演算に対して準同型性を満たす暗号である（下記参考文献１参照）。
（参考文献１：Ｃｒａｉｇ  Ｇｅｎｔｒｙ  “Ｆｕｌｌｙ  ｈｏｍｏｍｏｒｐｈｉｃ  ｅｎｃｒｙｐｔｉｏｎ  ｕｓｉｎｇ  ｉｄｅａｌ  ｌａｔｔｉｃｅｓ”Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ４１ｓｔ  Ａｎｎｕａｌ  ＡＣＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｔｈｅｏｒｙ  ｏｆ  Ｃｏｍｐｕｔｉｎｇ，  ２００９，  ｐ１６９−１７８）
【００５０】
ここで、鍵ペア：（ｐｋ、ｓｋ）と、平文Ｍの公開鍵ｐｋによる暗号化：Ｃ＝Ｅｐｋ（Ｍ）、暗号文Ｃの秘密鍵ｓｋによる復号：Ｍ＝Ｄｓｋ（Ｃ）とする平文Ｍ１、・・・、Ｍｎを入力とする関数をｆ（Ｍ１、・・・、Ｍｎ）とする。完全準同型暗号は、下記を満たす関数Ｆの存在と、その効率的実行を保証する。
【００５１】
Ｄｓｋ（Ｆ（ｐｋ、Ｅｐｋ（Ｍ１）、・・・、Ｅｐｋ（Ｍｎ）））
＝ｆ（Ｍ１、・・・、Ｍｎ）
【００５２】
また、生体認証アルゴリズムｆの具体例としては、生体情報が指紋情報であれば、指紋の一致を比較するアルゴリズムとして、マニューシャ法、パターンマッチング法、周波数解析法などを適用してもよい。生体情報が指紋以外の生体情報であった場合にも、それぞれの生体情報の特徴にあったアルゴリズムを使用してもよい。
【００５３】
実行部３０６の具体例としては、たとえば、認証装置１０１は、受信部３０４によって暗号化された生体情報Ｅｐｋｉ（Ｍ’ｉ）と公開鍵ｐｋｉを受信しており、検索部３０５によって、登録時点の暗号化された生体情報Ｅｐｋｉ（Ｍｉ）を検索したとする。このとき、認証装置１０１は、実行部３０６によってＦ（ｐｋｉ、Ｅｐｋｉ（Ｍｉ）、Ｅｐｋｉ（Ｍ’ｉ））を実行する。
【００５４】
実行の結果となる認証結果は、認証成功となるＯＫ、または認証失敗となるＮＧがそれぞれ暗号化された値、Ｅｐｋｉ（ＯＫ）、Ｅｐｋｉ（ＮＧ）となる。認証装置１０１は、認証結果をＥｐｋｉ（ＯＫ）と比較し、一致した場合にＯＫとして暗号化装置１０３に送信する。また、暗号化部３０２にて、生体情報にランダム性を持つように暗号化された場合は、認証成功したかはわからないため、暗号化された認証結果を暗号化装置１０３に送信する。暗号化生体認証アルゴリズムＦの出力値となる認証結果は、暗号化装置１０３に送信される。また認証結果は、認証装置１０１内のＲＡＭ、磁気ディスク、光ディスクなどの記憶領域に記憶されてもよい。
【００５５】
受信部３０７は、実行部３０６によって実行された認証結果を受信する機能を有する。具体的には、たとえば、暗号化装置１０３は、ＯＫ、ＮＧなどを受信する。受信後、暗号化装置１０３は、受信した結果を、判断部３１５へ送信する。また、暗号化部３０２にて、生体情報がランダム性を持つように暗号化された場合、暗号化装置１０３は、暗号化された認証結果を復号指示部３１２へ送信する。また、受信されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶されてもよい。
【００５６】
生成指示部３０８は、トークンデバイス１０４に、現在使用している公開鍵および秘密鍵の組み合わせとは異なる公開鍵および秘密鍵の組み合わせの生成を指示する機能を有する。具体的には、たとえば、暗号化装置１０３は、トークンデバイス１０４内に公開鍵および秘密鍵の組み合わせとして公開鍵ｐｋｉ、秘密鍵ｓｋｉがあるときに、前述の鍵の組み合わせとは異なる、新たな公開鍵と秘密鍵を生成するよう指示をする。また、指示内容となる電文データは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶されてもよい。
【００５７】
生成部３０９は、公開鍵と秘密鍵との組み合わせを生成する機能を有する。具体的には、たとえば、トークンデバイス１０４は、公開鍵ｐｋｉ、秘密鍵ｓｋｉを生成する。また、公開鍵ｐｋｉ、秘密鍵ｓｋｉが生成された後に、再度生成する場合、トークンデバイス１０４は、公開鍵ｐｋｉ’、秘密鍵ｓｋｉ’を生成する。なお、生成された公開鍵と秘密鍵は、トークンデバイス１０４内のフラッシュＲＯＭなどの不揮発性の記憶領域に記憶される。
【００５８】
送信部３１０は、判断部３２０によって準同型暗号による暗号化を要求されたと判断された場合、記憶部３１９によって記憶された識別情報と生成部３０９によって生成された公開鍵とを要求元に送信する機能を有する。また、送信部３１０は、復号指示を受けた場合、復号結果を指示元に送信してもよい。具体的には、たとえば、要求元となる暗号化装置１０３が、準同型暗号による暗号化を要求した場合に、トークンデバイス１０４は、ユーザ識別子Ｕｉと公開鍵ｐｋｉを暗号化装置１０３に送信する。なお、送信されたデータは、トークンデバイス１０４内のＲＡＭ、フラッシュＲＯＭなどの記憶領域に記憶されてもよい。
【００５９】
更新部３１１は、検索部３０５によってデータベースに受信された識別情報に関連した公開鍵と暗号化された生体情報とが検索された場合、受信部３０４によって受信された公開鍵と暗号化された生体情報とでデータベースを更新する機能を有する。また、更新部３１１は、暗号化装置から生体情報の更新情報と利用者の識別情報と更新指示を受信した場合、データベースを更新してもよい。
【００６０】
具体的には、たとえば、認証装置１０１は、受信部３０４によって暗号化された生体情報Ｅｐｋｉ（Ｍｉ’）と公開鍵ｐｋｉ’を受信しており、検索部３０５によって、登録時点の暗号化された生体情報Ｅｐｋｉ（Ｍｉ）と公開鍵ｐｋｉを検索したとする。このとき、認証装置１０１は、Ｅｐｋｉ（Ｍｉ’）とｐｋｉ’とで暗号化生体情報テーブル１０８を更新する。なお、認証装置１０１は、更新時に、古いデータとなるＥｐｋｉ（Ｍｉ）と公開鍵ｐｋｉに対して新しいデータとなるＥｐｋｉ（Ｍｉ’）とｐｋｉ’を上書きすることで、古いデータを削除してもよい。
【００６１】
復号指示部３１２は、トークンデバイス１０４に、秘密鍵によって暗号化された認証結果の復号を指示する機能を有する。具体的には、たとえば、暗号化装置１０３は、受信部３０７からＥｐｋｉ（認証結果）を取得し、Ｅｐｋｉ（認証結果）を、復号するようにトークンデバイス１０４に指示をする。なお、指示内容となる電文データは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶されてもよい。
【００６２】
取得部３１３は、復号指示部３１２によって復号指示された場合、復号する対象となるデータを取得する機能を有する。また、取得部３１３は、署名生成指示部３１６によって署名生成指示された場合、電子署名の対象となる値を取得してもよい。具体的には、たとえば、トークンデバイス１０４は、暗号化装置１０３から、Ｅｐｋｉ（認証結果）を復号するように指示を受けた場合に、Ｅｐｋｉ（認証結果）を取得する。なお、取得されたデータは、トークンデバイス１０４内のＲＡＭ、フラッシュＲＯＭなどの記憶領域に記憶される。
【００６３】
復号部３１４は、復号指示部３１２によって復号指示されたデータを復号する機能を有する。具体的には、たとえば、トークンデバイス１０４は、復号するように指示を受けたＥｐｋｉ（認証結果）を、秘密鍵を使用して復号する。なお、復号されたデータは、トークンデバイス１０４内のＲＡＭ、フラッシュＲＯＭなどの記憶領域に記憶される。
【００６４】
判断部３１５は、取得部３０１によって復号された認証結果を取得するとともに、復号された認証結果に基づいて、認証が成功したか否かを判断する機能を有する。また、判断部３１５は、受信部３０７によって暗号化されていない認証結果を取得した場合も、認証結果に基づいて、認証が成功したか否か判断してもよい。
【００６５】
署名生成指示部３１６は、トークンデバイス１０４に、秘密鍵によって任意の値に対する電子署名の生成を指示する機能を有する。具体的には、たとえば、暗号化装置１０３は、任意の値を生成し、生成された値をトークンデバイス１０４に送信する。なお、送信されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００６６】
署名生成部３１７は、任意の値に対する電子署名を生成する機能を有する。具体的には、たとえば、トークンデバイス１０４は、取得部３１３によって取得された任意の値に対して、トークンデバイス１０４内に格納されている秘密鍵を使用して、電子署名を生成する。また、電子署名に使用する鍵ペアは、生体情報の暗号化に使用した鍵ペアとは異なる鍵ペアであってもよい。なお、生成された電子署名は、送信部３１０によって暗号化装置１０３に送信される。なお、送信されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶されてもよい。
【００６７】
署名検証部３１８は、取得部３０１によって生成された任意の値に対する電子署名を取得するとともに、任意の値に対する電子署名の正当性を、公開鍵によって検証する機能を有する。具体的には、たとえば、暗号化装置１０３は、署名生成指示部３１６にて生成した値と、電子署名を公開鍵で復号した値が一致することで、電子署名の正当性を検証する。なお、検証結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００６８】
記憶部３１９は、利用者の識別情報を記憶する機能を有する。具体的には、たとえば、トークンデバイス１０４は、ユーザ識別子Ｕｉを記憶する。なお、ユーザ識別子Ｕｉは、トークンデバイス１０４内のＲＯＭ、フラッシュＲＯＭなどの不揮発性の記憶領域に記憶される。
【００６９】
判断部３２０は、準同型暗号による暗号化を要求されたか否かを判断する機能を有する。具体的には、たとえば、トークンデバイス１０４は、暗号化装置１０３の取得部３０１によって識別情報と公開鍵の取得要求を受けた場合、取得要求となる電文データを読み込む。続けて、トークンデバイス１０４は、電文データのフォーマットに従って電文データに準同型暗号であるという値が設定されていた場合に、準同型暗号であることを判断する。また、認証システム１００が常に準同型暗号による暗号化しか行わない場合は、トークンデバイス１０４は、常に準同型暗号による暗号化として判断してもよい。なお、判断結果は、トークンデバイス１０４内のＲＯＭ、ＲＡＭ、フラッシュＲＯＭなどの記憶領域に記憶される。
【００７０】
図４は、認証システム１００での公開鍵および秘密鍵の所在を示す説明図である。トークンデバイス１０４は、公開鍵４０１と秘密鍵４０２を生成し、準同型暗号による暗号化の要求を受けた際に公開鍵４０１のみ外部に出力する。公開鍵４０１を取得した暗号化装置１０３は、公開鍵４０１によって、生体情報を暗号化し、公開鍵４０１により暗号化された生体情報４０３を得る。生体情報はたとえば、図４で示すように指紋を読み取った画像である。
【００７１】
暗号化を行った後、暗号化装置１０３は、ネットワーク１０５を経由して、公開鍵４０１と公開鍵４０１により暗号化された生体情報４０３を認証装置１０１へ送信する。認証装置１０１は２つの情報を受信して、登録済であり、準同型暗号によって暗号化された生体情報と比較するアルゴリズムを実行する。このように、秘密鍵４０２はトークンデバイス１０４の中にしか存在しないため、秘密鍵４０２が外部に漏れる心配がない。
【００７２】
図５は、暗号化された生体情報の認証処理の概要を示す説明図である。符号５０１にて示すブロック図は、暗号化された生体情報にランダム性を持たせない場合の認証処理の概要を示す。ユーザＵｉの認証処理を行う場合、暗号化装置１０３は、公開鍵４０１にて暗号化を行うと、暗号化されたユーザＵｉの生体情報として、Ｅｐｋｉ（Ｍ’ｉ）を得る。暗号化後、暗号化装置１０３は、暗号化された生体情報を認証装置１０１に送信する。認証装置１０１は、Ｅｐｋｉ（Ｍ’ｉ）を受信し、暗号化生体情報テーブル１０８に記憶されている、登録時点の生体情報と比較をする。比較方法としては、生体認証アルゴリズムｆを実行することで比較をし、その出力値によって一致しているかを判断する。
【００７３】
生体認証アルゴリズムｆは、完全準同型暗号を用いる場合には、任意のアルゴリズムを使用できる。生体認証アルゴリズムｆの具体例としては、たとえば、ハミング距離が所定の閾値以下である場合に、認証成功とするアルゴリズムである。また、アルゴリズムＦは、準同型暗号Ｅにおいて生体認証アルゴリズムｆに対応する暗号化生体認証アルゴリズムとする。
【００７４】
生体認証アルゴリズムｆの他の例としては、完全準同型暗号であれば、生体情報が指紋等の画像データであった場合に、比較を行う２つの画像が入力された際に、それぞれの画像の中で、特徴点を抽出し照合するマニューシャ法としてもよい。また、生体認証アルゴリズムｆは、前述方法以外にも、パターンマッチング法や、周波数解析法等でもよい。指紋以外の生体情報であった場合にも、それぞれの生体情報の特徴にあったアルゴリズムを使用してもよい。認証装置１０１は、実行部３０６によって下記式（１）を実行する。
【００７５】
Ｆ（ｐｋｉ、Ｅｐｋｉ（Ｍｉ）、Ｅｐｋｉ（Ｍ’ｉ））…（１）
【００７６】
完全準同型の性質より、式（１）は、下記式（２）に変形される。
【００７７】
Ｅｐｋｉ（ｆ（Ｍｉ、Ｍ’ｉ））…（２）
【００７８】
生体認証アルゴリズムｆの出力値となる認証結果５０２は、ハミング距離が所定の閾値以下であれば“ＯＫ”、異なれば“ＮＧ”の２つの値のうち、どちらかを出力する。生体認証アルゴリズムｆの出力値は固定となるため、認証装置１０１は、“ＯＫ”を公開鍵ｐｋｉによって暗号化した値Ｅｐｋｉ（ＯＫ）を算出し、式（２）の出力値とＥｐｋｉ（ＯＫ）を比較し、一致した場合に認証成功とする。
【００７９】
このように、暗号化された生体情報にランダム性を持たせない場合の認証処理では、秘密鍵４０２を使用することなく認証することができる。したがって、認証システム１００は、ユーザＵｉが関与しないところで、ユーザＵｉの生体情報Ｍｉが漏えいすることのないシステムとなる。認証システム１００では、ユーザＵｉが秘密鍵４０２の管理を正しく行うことで、第三者がＥｐｋｉ（Ｍｉ）を復号することができず、ユーザＵｉの生体情報Ｍｉが漏えいすることがない。
【００８０】
また、暗号化された生体情報Ｅｐｋｉ（Ｍｉ）が、万一漏えいした場合を想定する。この場合、認証システム１００は、生体情報の再登録処理を行う。トークンデバイス１０４は、新たな鍵ペア（ｐｋｉ’、ｓｋｉ’）を生成する。暗号化装置１０３は、ユーザＵｉの新たな登録時点の生体情報Ｍｉ’を読み取り、新たな公開鍵ｐｋｉ’と、公開鍵ｐｋｉ’による暗号化生体情報Ｅｐｋｉ’（Ｍｉ’）をユーザＵｉのエントリーとして認証装置１０１に送信する。認証装置１０１は、受信した公開鍵ｐｋｉ’と暗号化生体情報Ｅｐｋｉ’（Ｍｉ’）とで暗号化生体情報テーブル１０８を更新する。
【００８１】
既に登録されていたＥｐｋｉ（Ｍｉ）は、削除してもよい。このように、認証システム１００は、一旦登録した生体情報をキャンセルすることができる。生体情報をキャンセルできるシステムを、キャンセラブル生体認証と呼ぶ。一度キャンセルし、再登録した状態では、第三者が、漏えいした古い暗号化生体情報Ｅｐｋｉ（Ｍｉ）を、ユーザＵｉになりすますために使用したとしても、認証装置１０１は、公開鍵ｐｋｉとｐｋｉ’が異なるため、認証結果はＮＧとなる。
【００８２】
また、暗号化された生体情報がランダム性を持つ場合の認証処理では、キャンセラブル生体認証であることに加えて、平文Ｍｉに対して、暗号文を変えることができる。これにより、同じ平文が入力された場合でも、暗号文が毎回異なることにより、同じ平文が入力されているということが第三者に対して漏れることがない。
【００８３】
また、暗号化された生体情報がランダム性を持つ場合の認証処理では、トークンデバイス１０４の復号部３１４にて暗号化された認証結果を復号するが、秘密鍵４０２を暗号化装置１０３に送信し、暗号化装置１０３にて復号を行ってもよい。トークンデバイス１０４にて復号する処理では、Ｅｐｋｉ（認証結果）に対して、適当な値、たとえば“ＯＫ”を返す処理が組み込まれた偽装されたトークンデバイス１０４が第三者によって用意された場合にも、認証ＯＫとなる。しかし、暗号化装置１０３にて復号を行うことにより、トークンデバイス１０４にて復号を行わないようにすることができる。
【００８４】
また、認証システム１００は、トークンデバイス１０４の復号部３１４にて復号する際に、復号を行う前後のいずれかにて、トークンデバイス１０４に電子署名を生成させ、暗号化装置１０３にて署名を検証するという検証処理を行ってもよい。
【００８５】
具体的には、暗号化装置１０３にて任意の値を生成し、トークンデバイス１０４に送信する。トークンデバイス１０４は、生体情報認証処理で使用されている公開鍵４０１、秘密鍵４０２とは異なる署名用の鍵ペアを生成しておき署名を行う。トークンデバイス１０４では、任意の値に対する電子署名の生成を署名用の秘密鍵で行い、暗号化装置１０３に送信する。最後に暗号化装置１０３では、生成された電子署名を署名用の公開鍵にて検証し、トークンデバイス１０４が偽装されていないことが確認できる。任意の値については、生成の度に異なる値を用いることで、より安全に運用できる。前述の検証処理は、図１０にて詳細に記述する。
【００８６】
図６は、暗号化生体情報テーブル１０８の記憶内容の一例を示す説明図である。暗号化生体情報テーブル１０８は、ユーザ識別子、公開鍵、暗号化生体情報という３つのフィールドで構成する。ユーザ識別子フィールドは、ユーザを識別する識別情報であり、暗号化生体情報テーブル１０８のレコードを一意に決める値を格納する。公開鍵フィールドは、トークンデバイス１０４から送信された公開鍵を格納する。暗号化生体情報フィールドは、ユーザ識別子に格納されたユーザの生体情報を、公開鍵フィールドに設定された公開鍵を使用して暗号化した値を格納する。
【００８７】
図７は、鍵生成処理のフローチャートである。鍵生成処理は、トークンデバイス１０４にて実行される。また、外部の装置が鍵生成処理を行い、トークンデバイス１０４内に公開鍵、秘密鍵を格納してもよい。トークンデバイス１０４は、鍵ペア（ｐｋｉ、ｓｋｉ）を生成する（ステップＳ７０１）。鍵ペアとは、公開鍵ｐｋｉと秘密鍵ｓｋｉである。続けて、トークンデバイス１０４は、指定されたユーザ識別子Ｕｉと鍵ペア（ｐｋｉ、ｓｋｉ）を記憶領域に格納する（ステップＳ７０２）。
【００８８】
図８は、生体情報登録処理のフローチャートである。生体情報登録処理は、暗号化装置１０３と、認証装置１０１とで実行される。また、図８〜図１０での破線の矢印は、複数の装置間でのメッセージのやりとりを示す。暗号化装置１０３は、認証装置１０１と登録セッションを確立する（ステップＳ８０１）。具体的な処理としては、暗号化装置１０３は、登録セッション接続要求を認証装置１０１に送信し、認証装置１０１の応答を待つ。登録セッション接続要求を受けた認証装置１０１は、暗号化装置１０３と登録セッションを確立する（ステップＳ８０２）。
【００８９】
登録セッション確立後、暗号化装置１０３は、生体情報Ｍｉをトークン読取デバイス１０７から、ユーザ識別子Ｕｉ、公開鍵ｐｋｉをトークンデバイス１０４から取得する（ステップＳ８０３）。このとき、トークンデバイス１０４は、暗号化装置１０３からの取得要求となる電文データから、準同型暗号による暗号化を行うことを判断し、公開鍵ｐｋｉを送信する。取得後、暗号化装置１０３は、公開鍵を用いて準同型暗号による暗号化情報Ｅｐｋｉ（Ｍｉ）を算出する（ステップＳ８０４）。算出後、暗号化装置１０３は、認証装置１０１へＵｉ、ｐｋｉ、Ｅｐｋｉ（Ｍｉ）を送信する（ステップＳ８０５）。送信後、暗号化装置１０３は、認証装置１０１からの応答があるまで待機する。
【００９０】
次に認証装置１０１は、暗号化装置１０３から識別子Ｕｉ、公開鍵ｐｋｉ、暗号化情報Ｅｐｋｉ（Ｍｉ）を受信する（ステップＳ８０６）。受信した識別子Ｕｉを用いて、認証装置１０１は、暗号化生体情報テーブル１０８のユーザ識別子フィールドがＵｉであるレコードが存在するかを検索する（ステップＳ８０７）。検索されたレコードが存在する場合（ステップＳ８０７：Ｙｅｓ）、認証装置１０１は、上書き可能か否かの問い合わせを暗号化装置１０３に送信する（ステップＳ８０８）。暗号化装置１０３は、上書き可能問い合わせを受け付けたかを確認する（ステップＳ８０９）。
【００９１】
上書き可能問い合わせを受けた場合（ステップＳ８０９：Ｙｅｓ）、暗号化装置１０３は、ユーザの指示を受けた後、上書き可能か否かの指示を認証装置１０１に送信する（ステップＳ８１０）。実際の処理としては、上書き可能問い合わせを受け付けた場合、暗号化装置１０３は、ディスプレイ２０８に上書き可能問い合わせを示す内容を表示し、ユーザに対し、上書きを許可するか否かを問い合わせる。上書き可能か否かの指示を暗号化装置１０３に送信後、または、上書き問い合わせを受け付けていない場合（ステップＳ８０９：Ｎｏ）、暗号化装置１０３は、認証装置１０１からの応答があるまで待機する。
【００９２】
ステップＳ８０８の処理後、認証装置１０１は、上書き可能指示を受け付けたかを確認する（ステップＳ８１１）。上書き可能指示が、更新指示となる。また、暗号化装置１０３は、ステップＳ８０５の処理にて、更新指示を含めて送信してもよい。更新指示が送信内容に含まれていた場合、認証装置１０１は、ステップＳ８０７〜ステップＳ８１２を実行せず、ステップＳ８１３の処理を行ってもよい。
【００９３】
上書き可能指示を受け付けた場合（ステップＳ８１１：Ｙｅｓ）、認証装置１０１は、暗号化生体情報テーブル１０８のユーザ識別子フィールドがＵｉであるレコードに、受信したｐｋｉ、Ｅｐｋｉ（Ｍｉ）を登録する（ステップＳ８１３）。登録終了後、または、上書き可能指示を受け付けていない場合（ステップＳ８１１：Ｎｏ）、認証装置１０１は、暗号化装置１０３との登録セッションを終了する（ステップＳ８１４）。暗号化装置１０３も、認証装置１０１からの登録セッション終了を受け付けて、認証装置１０１との登録セッションを終了する（ステップＳ８１５）。
【００９４】
ステップＳ８０７の処理にて、ユーザ識別子フィールドがＵｉであるレコードが存在しない場合（ステップＳ８０７：Ｎｏ）、認証装置１０１は、暗号化生体情報テーブル１０８に、ユーザ識別子フィールドがＵｉであるレコードを追加する（ステップＳ８１２）。追加後、認証装置１０１は、ステップＳ８１３の処理に移行する。
【００９５】
また、ステップＳ８１１の処理で、上書き可能指示を受け付けていない場合（ステップＳ８１１：Ｎｏ）、認証装置１０１は、ステップＳ８１４の処理に移行する。また、上書き可能指示を受け付けていない場合としては、上書きを許可しない指示であった場合、または、暗号化装置１０３から一定時間応答が返ってこない場合にも、上書き可能指示を受け付けていない場合に該当する。
【００９６】
図９は、生体情報認証処理のフローチャートである。生体情報認証処理も生体情報登録処理と同様に、暗号化装置１０３と、認証装置１０１とで実行される。暗号化装置１０３は、認証装置１０１と認証セッションを確立する（ステップＳ９０１）。具体的な処理としては、暗号化装置１０３は、認証セッション接続要求を認証装置１０１に送信し、認証装置１０１の応答を待つ。認証セッション接続要求を受けた認証装置１０１は、暗号化装置１０３と認証セッションを確立する（ステップＳ９０２）。
【００９７】
認証セッション確立後、暗号化装置１０３は、生体情報Ｍ’ｉをトークン読取デバイス１０７から、ユーザ識別子Ｕｉ、公開鍵ｐｋｉをトークンデバイス１０４から取得する（ステップＳ９０３）。このとき、トークンデバイス１０４は、暗号化装置１０３からの取得要求となる電文データから、準同型暗号による暗号化を行うことを判断し、公開鍵ｐｋｉを送信する。取得後、暗号化装置１０３は、公開鍵を用いて準同型暗号による暗号化情報Ｅｐｋｉ（Ｍ’ｉ）を算出する（ステップＳ９０４）。算出後、暗号化装置１０３は、認証装置１０１へＵｉ、ｐｋｉ、Ｅｐｋｉ（Ｍ’ｉ）を送信する（ステップＳ９０５）。送信後、暗号化装置１０３は、認証装置１０１からの応答があるまで待機する。
【００９８】
次に認証装置１０１は、暗号化装置１０３から識別子Ｕｉ、公開鍵ｐｋｉ、暗号化情報Ｅｐｋｉ（Ｍ’ｉ）を受信する（ステップＳ９０６）。受信した識別子Ｕｉを用いて、認証装置１０１は、暗号化生体情報テーブル１０８のユーザ識別子フィールドがＵｉであるレコードが存在するかを検索する（ステップＳ９０７）。検索されたレコードが存在する場合（ステップＳ９０７：Ｙｅｓ）、認証装置１０１は、存在したレコードを選択する（ステップＳ９０８）。存在しなかった場合（ステップＳ９０７：Ｎｏ）、認証装置１０１は、暗号化装置１０３に“ＮＧ”を送信する（ステップＳ９１３）。
【００９９】
レコードを選択後、認証装置１０１は、受信したｐｋｉと選択したレコードのｐｋｉとが一致するかを確認する（ステップＳ９０９）。一致しない場合（ステップＳ９０９：Ｎｏ）、認証装置１０１は、ステップＳ９１３の処理に移行する。一致する場合（ステップＳ９０９：Ｙｅｓ）、認証装置１０１は、Ｆ（ｐｋｉ、Ｅｐｋｉ（Ｍｉ）、Ｅｐｋｉ（Ｍ’ｉ））を算出する（ステップＳ９１０）。算出後、認証装置１０１は、算出結果がＥｐｋｉ（ＯＫ）に一致するかを確認する（ステップＳ９１１）。一致しなかった場合（ステップＳ９１１：Ｎｏ）、認証装置１０１は、ステップＳ９１３の処理に移行する。一致する場合（ステップＳ９１１：Ｙｅｓ）、認証装置１０１は、暗号化装置１０３に“ＯＫ”を送信する（ステップＳ９１２）。
【０１００】
“ＯＫ”か“ＮＧ”を受け付けた暗号化装置１０３は、受け付けた内容が“ＯＫ”か否かを確認する（ステップＳ９１４）。受け付けた内容が“ＯＫ”の場合（ステップＳ９１４：Ｙｅｓ）、暗号化装置１０３は、ユーザＵｉに、サービス１０２へのアクセスを許可する（ステップＳ９１５）。アクセスを許可した場合、または、受け付けた内容が“ＯＫ”でない場合（ステップＳ９１４：Ｎｏ）、暗号化装置１０３は、認証装置１０１との認証セッションを終了する（ステップＳ９１６）。認証装置１０１も、暗号化装置１０３からの認証セッション終了を受け付けて、暗号化装置１０３との認証セッションを終了する（ステップＳ９１７）。
【０１０１】
図１０は、生体情報認証処理にて暗号化された生体情報にランダム性を持つ場合の処理を示すフローチャートである。図１０にて図示したフローチャートの前段階として、生体情報認証処理で暗号化された生体情報にランダム性を持つ場合、暗号化装置１０３は、ステップＳ９０４の処理にて、平文となる生体情報Ｍ’ｉに対し、ランダム性を持たせて暗号化を行う。続けて、ステップＳ９１１の処理にて、算出結果がＥｐｋｉ（ＯＫ）に一致するかの確認を行わず、算出結果となる暗号化された認証結果を暗号化装置１０３に送信する。
【０１０２】
また、図１０で図示したフローチャートでは、トークンデバイス１０４の検証処理を行っている。ステップＳ１００１〜ステップＳ１００８で示す処理がトークンデバイス１０４の検証処理であり、ステップＳ１００９〜ステップＳ１０１５で示す処理が暗号化された認証結果の復号処理となる。また、図１０での図示したフローチャートは、ステップＳ９１４、ステップＳ９１５と置き換えて実行される。
【０１０３】
暗号化された認証結果を受信後、暗号化装置１０３は、任意の値を生成し、署名対象に設定し（ステップＳ１００１）、署名対象をトークンデバイス１０４に送信する（ステップＳ１００２）。トークンデバイス１０４は、生体情報認証処理で使用されている鍵ペア（ｐｋｉ、ｓｋｉ）とは異なる鍵ペア（ｐｋｉ’’、ｓｋｉ’’）を生成しておき署名を行う。トークンデバイス１０４は、署名対象を受信し（ステップＳ１００３）、秘密鍵ｓｋｉ’’にて電子署名を生成する（ステップＳ１００４）。生成後、トークンデバイス１０４は、生成された電子署名を暗号化装置１０３に送信する（ステップＳ１００５）。送信後、トークンデバイス１０４は、暗号化装置１０３の応答があるまで待機する。
【０１０４】
暗号化装置１０３は、電子署名を受信し（ステップＳ１００６）、受信された電子署名を公開鍵ｐｋｉ’’にて検証する（ステップＳ１００７）。暗号化装置１０３は、電子署名の正当性を検証できたかを確認する（ステップＳ１００８）。正当性を検証できた場合（ステップＳ１００８：Ｙｅｓ）、暗号化装置１０３は、暗号化された認証結果をトークンデバイス１０４に送信する（ステップＳ１００９）。正当性を検証できなかった場合（ステップＳ１００８：Ｎｏ）、暗号化装置１０３は、ユーザＵｉにサービス１０２のアクセスを許可せず、ステップＳ９１６の処理に移行する。
【０１０５】
次に、トークンデバイス１０４は、暗号化装置１０３より送信された、暗号化された認証結果を受信する（ステップＳ１０１０）。受信後、トークンデバイス１０４は、受信された認証結果を秘密鍵ｓｋｉにて復号する（ステップＳ１０１１）。復号後、トークンデバイス１０４は、復号された認証結果を暗号化装置１０３に送信する（ステップＳ１０１２）。
【０１０６】
暗号化装置１０３は、復号された認証結果を受信し（ステップＳ１０１３）、認証結果に基づいて、認証が成功したかを判断する（ステップＳ１０１４）。認証が成功していると判断した場合（ステップＳ１０１４：Ｙｅｓ）、暗号化装置１０３は、ユーザＵｉに、サービス１０２へのアクセスを許可し（ステップＳ１０１５）、ステップＳ９１６の処理に移行する。
【０１０７】
認証が失敗したと判断した場合（ステップＳ１０１４：Ｎｏ）、暗号化装置１０３は、ユーザＵｉにサービス１０２のアクセスを許可せず、ステップＳ９１６の処理に移行する。トークンデバイス１０４からの応答がなくタイムアウトし、認証結果の判断が行えなかった場合も、暗号化装置１０３は、ステップＳ１０１４：Ｎｏに移行する。
【０１０８】
図１０にて図示したフローチャートでは、ステップＳ９１４、ステップＳ９１５と置き換えて実行されていた。しかし、ステップＳ１００１〜ステップＳ１００８で示す検証処理について、たとえば、暗号化装置１０３は、ステップＳ９０３の処理の前に行い、検証処理が失敗した場合、ステップＳ９０３の処理を実行せずに終了してもよい。また、暗号化装置１０３は、ステップＳ１００１〜ステップＳ１００８で示す検証処理を、ステップＳ１０１４：Ｙｅｓの後に行ってもよい。
【０１０９】
以上説明したように、認証装置、認証方法、および認証プログラムは、利用者の公開鍵と識別情報と準同型暗号によって暗号化された生体情報とを受信し、受信した識別情報から、データベースに記憶された公開鍵と暗号化された生体情報を検索する。検索後、認証装置は、検索された生体情報と受信した公開鍵と暗号化された生体情報で認証を行う。これにより、認証装置が準同型暗号による暗号化情報のまま認証でき、秘密鍵を外部に出さずに済む。したがって、秘密鍵が漏えいすることがなく、ひいてはユーザの生体情報が流出することをなくすことができる。
【０１１０】
また、認証装置は、利用者の更新指示を受信した場合、データベースに記憶された利用者の識別情報に対応した暗号化された生体情報と公開鍵とを更新してもよい。これにより、暗号化生体情報が漏えいした場合にも、古い暗号化生体情報をキャンセルし、新しい暗号化生体情報を登録することで、漏えいした暗号化生体情報によるなりすましを防止することができる。
【０１１１】
また、認証装置が記憶する公開鍵は、利用者の識別情報と公開鍵および秘密鍵の組み合わせとを記憶するトークンデバイスから、暗号化装置が取得した公開鍵であってもよい。これにより、認証装置が記憶する公開鍵は、漏えいしない秘密鍵と対になった公開鍵であるため、暗号化された生体情報が復号されることがなく、ユーザの生体情報が流出することをなくすことができる。
【０１１２】
また、暗号化装置は、識別情報と公開鍵を取得し、公開鍵で生体情報を準同型暗号によって暗号化し、認証装置に送信する。これにより、認証装置が準同型暗号による暗号化情報のまま認証でき、秘密鍵を外部に出さずに済む。したがって、秘密鍵が漏えいすることがなく、ひいてはユーザの生体情報が流出することをなくすことができる。
【０１１３】
また、暗号化装置は、トークンデバイスに、公開鍵と秘密鍵を新たに生成し、生成された公開鍵を用いて生体情報を暗号化してもよい。これにより、暗号化された生体情報が流出し、漏えいした場合にも、新しい公開鍵で暗号化された生体情報を再登録することで、漏えいした暗号化生体情報によるなりすましを防止することができる。
【０１１４】
また、暗号化装置は、生体情報を暗号化する際に、ランダム性を持たせた準同型暗号による暗号化を行ってもよい。これにより、ユーザの生体情報が流出することをなくすことができるうえに、認証時に、生体情報が同じであっても、常に異なる暗号文を出力するため、生体情報である平文を特定されるリスクを減らすことができる。また、トークンデバイスに対して電子署名を生成させ、暗号化装置は電子署名を検証してもよい。これにより、トークンデバイスのなりすましを防ぐことができる。
【０１１５】
また、以上説明したトークンデバイスによれば、識別情報を記憶し、公開鍵と秘密鍵との組み合わせを生成し、準同型暗号による暗号化を要求されたと判断された場合に、識別情報と公開鍵を送信する。これにより、準同型暗号による暗号化であれば、秘密鍵を外部に出さずに済み、秘密鍵が漏えいすることがなく、ひいてはユーザの生体情報が流出することをなくすことができる。
【０１１６】
また、本実施の形態では、暗号化装置とトークンデバイスが別の装置になっていたが、暗号化装置とトークンデバイスが一体となった装置であってもよい。具体的には、たとえば、指紋読み取り装置を備えたパーソナル・コンピュータにおいて、鍵ペアを生成し、ハードディスクに公開鍵と秘密鍵の鍵ペアを格納すればよい。
【０１１７】
なお、本実施の形態で説明した暗号化方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本暗号化プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本暗号化プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１１８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１１９】
（付記１）暗号化装置から準同型暗号による暗号化情報を受信し、認証を行う認証装置であって、
前記暗号化装置から、利用者の公開鍵を用いて準同型暗号によって暗号化された生体情報と、前記利用者の識別情報と、前記利用者の公開鍵とを受信する受信手段と、
任意の利用者の識別情報と、前記任意の利用者の公開鍵を用いて準同型暗号によって暗号化された前記任意の利用者の生体情報と、前記任意の利用者の公開鍵とを前記任意の利用者ごとに対応づけて記憶するデータベースから、前記受信手段によって受信された識別情報に基づいて、前記データベースに記憶されている公開鍵と暗号化された生体情報とを検索する検索手段と、
前記検索された公開鍵と暗号化された生体情報と、前記受信した公開鍵と暗号化された生体情報とを基に前記利用者の認証を行う実行部と、
を備えることを特徴とする認証装置。
【０１２０】
（付記２）前記暗号化装置から、利用者の公開鍵と前記公開鍵を用いて準同型暗号によって暗号化された前記利用者の生体情報の更新情報と前記利用者の識別情報と更新指示とを受信すると、前記データベースに記憶されている前記利用者の識別情報に対応する暗号化された生体情報と公開鍵とを更新する更新手段を、さらに備えることを特徴とする付記１に記載の認証装置。
【０１２１】
（付記３）前記利用者の公開鍵は、前記利用者の識別情報と公開鍵および秘密鍵の組み合わせとを記憶するトークンデバイスから、前記暗号化装置が取得した公開鍵であることを特徴とする付記１または２に記載の認証装置。
【０１２２】
（付記４）準同型暗号による暗号化情報を暗号化したまま認証し前記暗号化情報を更新可能な認証装置に対し通信可能な暗号化装置であって、
利用者の識別情報と公開鍵および秘密鍵の組み合わせとを記憶するトークンデバイスから、前記識別情報と前記公開鍵とを取得する取得手段と、
前記取得手段によって取得された公開鍵によって、前記利用者の生体情報を前記準同型暗号によって暗号化する暗号化手段と、
前記識別情報と前記公開鍵と前記暗号化手段によって暗号化された生体情報とを前記認証装置に送信する送信手段と、
を備えることを特徴とする暗号化装置。
【０１２３】
（付記５）前記トークンデバイスに、前記公開鍵および前記秘密鍵の組み合わせとは異なる公開鍵および秘密鍵の組み合わせの生成を指示する生成指示手段をさらに備え、
前記取得手段は、
前記トークンデバイスから、前記識別情報と前記生成指示手段によって生成された公開鍵とを取得することを特徴とする付記４に記載の暗号化装置。
【０１２４】
（付記６）認証結果に基づいて、認証が成功したか否かを判断する判断手段と、
前記認証装置から前記準同型暗号によって暗号化された認証結果を受信する受信手段と、
前記トークンデバイスに、前記秘密鍵によって前記暗号化された認証結果の復号を指示する復号指示手段と、をさらに備え、
前記暗号化手段は、
前記取得手段によって読み取られた公開鍵によって、前記利用者の生体情報が前記準同型暗号のうちランダム性を持つ準同型暗号によって暗号化し、
前記取得手段は、
前記トークンデバイスから、前記復号指示手段によって復号された認証結果を取得し、
前記判断手段は、
前記取得手段によって復号された認証結果を取得するとともに、前記復号された認証結果に基づいて、認証が成功したか否かを判断することを特徴とする付記４または５に記載の暗号化装置。
【０１２５】
（付記７）電子署名の正当性を検証する署名検証手段と、
前記トークンデバイスに、前記暗号化手段によって前記生体情報を暗号化した秘密鍵および公開鍵の組み合わせとは異なる署名用の秘密鍵および署名用の公開鍵のうち、前記署名用の秘密鍵によって任意の値に対する電子署名の生成を指示する署名生成指示手段と、をさらに備え、
前記取得手段は、
前記トークンデバイスから、前記署名生成指示手段によって生成された前記任意の値に対する電子署名を取得し、
前記署名検証手段は、
前記取得手段によって生成された任意の値に対する電子署名を取得するとともに、前記任意の値に対する電子署名を前記署名用の公開鍵によって検証することを特徴とする付記４〜６のいずれか一つに記載の暗号化装置。
【０１２６】
（付記８）利用者の識別情報を記憶する記憶手段と、
公開鍵と秘密鍵との組み合わせを生成する生成手段と、
準同型暗号による暗号化を要求されたか否かを判断する判断手段と、
前記判断手段によって準同型暗号による暗号化を要求されたと判断された場合、前記記憶手段によって記憶された識別情報と前記生成手段によって生成された公開鍵とを要求元に送信する送信手段と、
を備えることを特徴とするトークンデバイス。
【０１２７】
（付記９）暗号化装置から準同型暗号による暗号化情報を受信し、認証装置によって実行される認証方法であって、
前記暗号化装置から、利用者の公開鍵を用いて準同型暗号によって暗号化された生体情報と、前記利用者の識別情報と、前記利用者の公開鍵とを受信するステップと、
任意の利用者の識別情報と、前記任意の利用者の公開鍵を用いて準同型暗号によって暗号化された前記任意の利用者の生体情報と、前記任意の利用者の公開鍵とを前記任意の利用者ごとに対応づけて記憶するデータベースから、前記受信した識別情報に基づいて、前記データベースに記憶されている公開鍵と暗号化された生体情報とを検索するステップと、
前記検索された公開鍵と暗号化された生体情報と、前記受信した公開鍵と暗号化された生体情報とを基に前記利用者の認証を行うステップと、
を前記認証装置が実行することを特徴とする認証方法。
【０１２８】
（付記１０）暗号化装置から準同型暗号による暗号化情報を受信し、認証を行う認証装置として機能するコンピュータに、
前記暗号化装置から、利用者の公開鍵を用いて準同型暗号によって暗号化された生体情報と、前記利用者の識別情報と、前記利用者の公開鍵とを受信するステップと、
任意の利用者の識別情報と、前記任意の利用者の公開鍵を用いて準同型暗号によって暗号化された前記任意の利用者の生体情報と、前記任意の利用者の公開鍵とを前記任意の利用者ごとに対応づけて記憶するデータベースから、前記受信した識別情報に基づいて、前記データベースに記憶されている公開鍵と暗号化された生体情報とを検索するステップと、
前記検索された公開鍵と暗号化された生体情報と、前記受信した公開鍵と暗号化された生体情報とを基に前記利用者の認証を行うステップと、
を実行させることを特徴とする認証プログラム。
【符号の説明】
【０１２９】
１００  認証システム
１０１  認証装置
１０３  暗号化装置
１０４  トークンデバイス
１０８  暗号化生体情報テーブル
３０１  取得部
３０２  暗号化部
３０３  送信部
３０４  受信部
３０５  検索部
３０６  実行部
３０７  受信部
３０８  生成指示部
３０９  生成部
３１０  送信部
３１１  更新部
３１２  復号指示部
３１３  取得部
３１４  復号部
３１５  判断部
３１６  署名生成指示部
３１７  署名生成部
３１８  署名検証部
３１９  記憶部
３２０  判断部
【図１】
0005573293.tif 000002
【図２】
0005573293.tif 000003
【図３】
0005573293.tif 000004
【図４】
0005573293.tif 000005
【図５】
0005573293.tif 000006
【図６】
0005573293.tif 000007
【図７】
0005573293.tif 000008
【図８】
0005573293.tif 000009
【図９】
0005573293.tif 000010
【図１０】
0005573293.tif 000011