(57)【要約】      （修正有）【課題】データベースに格納されたデータが盗まれても、認証方法を変更することなく認証システムの運用を続行する。【解決手段】認証システムは認証情報生成装置１００と認証装置からなる。認証情報生成装置１００の認証キー生成部１０３は、認証ＩＤと検索ＳＱＬ生成部１０２によって生成された検索ＳＱＬ文とで構成される認証キーを生成する。認証情報生成部１０４は前記認証キーに含まれる認証ＩＤと、前記検索ＳＱＬ文による検索データベース１０１の検索により取得される検索結果情報とで構成される認証情報を生成する。認証装置は、認証情報生成部１０４によって生成された認証情報を保持しており、その認証情報に含まれる検索結果情報と、認証のために入力された認証キー１０５に含まれる認証ＩＤと検索ＳＱＬ文による検索データベース１０１の検索により取得される検索情報とが完全一致するか否かを判別し、完全一致する場合には認証成功と判定する。【選択図】図１
2013222213.tif 000002
【特許請求の範囲】
【請求項１】
認証情報生成装置と、認証装置と、検索データベースとで構成される認証システムであって、
前記認証情報生成装置が、
前記検索データベースを対象とする検索ＳＱＬ文を生成する検索ＳＱＬ生成手段と、
一意に割り当てられる認証ＩＤと前記検索ＳＱＬ生成手段によって生成された検索ＳＱＬ文とで構成される認証キーを生成する認証キー生成手段と、
前記認証キーに含まれる認証ＩＤと、前記検索ＳＱＬ生成手段によって生成された前記検索ＳＱＬ文による前記検索データベースの検索により取得される検索結果情報とで構成される認証情報を生成する認証情報生成手段と、
を備え、
前記認証装置が、
前記認証情報生成装置の認証情報生成手段によって生成された認証情報を記憶する認証情報記憶手段と、
前記認証キーに含まれる検索ＳＱＬ文で前記検索データベースを検索し、検索の結果である検索情報を取得する検索手段と、
前記認証情報記憶手段によって記憶されている認証情報に含まれる検索結果情報と前記検索手段によって取得された検索情報とが完全一致するか否かを判別し、完全一致する場合には認証成功と判定し、完全一致しない場合には認証失敗と判定する認証手段と、
を備える、
ことを特徴とする認証システム。
【請求項２】
前記検索ＳＱＬ生成手段が、前記検索ＳＱＬ文にバインド変数を付与し、
前記認証情報生成手段が、前記検索ＳＱＬ文のバインド変数の個数とバインド変数の値とを含む前記認証情報を生成し、
前記検索手段が、前記認証情報に含まれるバインド変数の個数とバインド変数の値を前記検索ＳＱＬ文に結合し、前記検索データベースを検索する、
ことを特徴とする請求項１に記載の認証システム。
【請求項３】
前記検索ＳＱＬ生成手段が、
前記検索データベースに格納されたテーブルの中から検索に使用するテーブルを無作為に選択する検索テーブル選択手段と、
前記検索テーブル選択手段によって選択されたテーブルの構成列の中から検索に使用する列を無作為に選択する検索列選択手段と、
前記検索列選択手段によって選択されたテーブルの構成列の中から検索条件に使用する列を無作為に選択し、前記検索データベースで実現可能な検索条件の前記ＳＱＬ文を生成する検索条件生成手段と、
を含むことを特徴とする請求項１または２に記載の認証システム。
【請求項４】
前記認証情報記憶手段が、前記認証情報に含まれる情報をリストで保持することを特徴とする請求項１ないし３のいずれか１項に記載の認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相手認証（本人認証）を行う認証システムに関する。
【背景技術】
【０００２】
近年の情報通信技術の発展により、人間が行う物理的な認証方法であるサーティフィケーションのみならず、コンピュータを介した論理的な認証方法であるオーセンティケーションが普及している。
サーティフィケーションは、例えば、会員契約時の本人確認として運転免許証やパスポートなどで本人を認証する方法である。一方、オーセンティケーションは、例えば、ＡＴＭでの取引において、キャッシュカードと暗証番号によって本人を認証する方法や、エンドユーザが銀行に出向くことなくインターネット上で振込を行うことができるオンラインバンキング上で、ユーザＩＤとパスワードを入力することにより本人を認証する方法である。オーセンティケーションは、今や我々の社会に欠かせない技術となっており、上述のオンラインバンキングの認証技術など、ユーザの利便性を追求していく上で必要不可欠な認証技術の需要が非常に高まっている。
【０００３】
コンピュータを利用する認証には主に、人間を対象とした相手認証（本人認証）や、メッセージの同一性を保証するメッセージ認証、ある事象の発生時刻を保証する時刻認証などが挙げられる。これらの認証のうち、もっともエンドユーザに密接な認証である相手認証について着目すると、被認証者と対応づけるための認証データ（ＩＤ及びパスワード、公開鍵や秘密鍵）が存在し、これらの認証データを適切に管理することでなりすましや盗聴を防止している。通常、認証データはデータベースなどで管理され、特許文献１と特許文献２に記載されているように、本人認証の際にデータベースから認証データを取得し本人を特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１８１３５４号公報
【特許文献２】特開２０１１−２２７８４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
インターネットの発展と普及に伴いユーザの利便性は大きく向上したが、その半面、認証技術の向上が非常に重要な課題となっている。近年は、個人情報の漏洩事故が後をたたないが、認証方法などの認証情報そのものが盗聴されるリスクも懸念される。認証機能を有するシステムにおいて、仮に、データベースに格納された認証情報が盗聴された場合、従来の認証方法を変更するなどの措置をとる必要があるが、対策に要するコストと時間は非常に大きく、システムの長期休止に追い込まれることも考えられる。そのため、データベースに格納された認証情報が盗まれても、認証方法を変更することなくシステムの運用が続行できるような可用性の高いシステムが求められる。
【０００６】
本発明の目的は、データベースに格納されたデータが盗まれても、認証方法を変更することなく運用を続行することができる認証システムを提供することである。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明の認証システムは、
認証情報生成装置と、認証装置と、検索データベースとで構成される認証システムであって、
前記認証情報生成装置が、
前記検索データベースを対象とする検索ＳＱＬ文を生成する検索ＳＱＬ生成手段と、
一意に割り当てられる認証ＩＤと前記検索ＳＱＬ生成手段によって生成された検索ＳＱＬ文とで構成される認証キーを生成する認証キー生成手段と、
前記認証キーに含まれる認証ＩＤと、前記検索ＳＱＬ生成手段によって生成された前記検索ＳＱＬ文による前記検索データベースの検索により取得される検索結果情報とで構成される認証情報を生成する認証情報生成手段と、
を備え、
前記認証装置が、
前記認証情報生成装置の認証情報生成手段によって生成された認証情報を記憶する認証情報記憶手段と、
前記認証キーに含まれる検索ＳＱＬ文で前記検索データベースを検索し、検索の結果である検索情報を取得する検索手段と、
前記認証情報記憶手段によって記憶されている認証情報に含まれる検索結果情報と前記検索手段によって取得された検索情報とが完全一致するか否かを判別し、完全一致する場合には認証成功と判定し、完全一致しない場合には認証失敗と判定する認証手段と、
を備える、
ことを特徴とする。
【０００８】
好ましくは、本発明の認証システムは、
前記検索ＳＱＬ生成手段が、前記検索ＳＱＬ文にバインド変数を付与し、
前記認証情報生成手段が、前記検索ＳＱＬ文のバインド変数の個数とバインド変数の値とを含む前記認証情報を生成し、
前記検索手段が、前記認証情報に含まれるバインド変数の個数とバインド変数の値を前記検索ＳＱＬ文に結合し、前記検索データベースを検索する、
ことを特徴とする。
【０００９】
また、本発明の認証システムは、
前記検索ＳＱＬ生成手段が、
前記検索データベースに格納されたテーブルの中から検索に使用するテーブルを無作為に選択する検索テーブル選択手段と、
前記検索テーブル選択手段によって選択されたテーブルの構成列の中から検索に使用する列を無作為に選択する検索列選択手段と、
前記検索列選択手段によって選択されたテーブルの構成列の中から検索条件に使用する列を無作為に選択し、前記検索データベースで実現可能な検索条件の前記ＳＱＬ文を生成する検索条件生成手段と、
を含むことを特徴とする。
【００１０】
また、本発明の認証システムは、
前記認証情報記憶手段が、前記認証情報に含まれる情報をリストで保持することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、データベースに格納されたデータが盗まれても、認証方法を変更することなく認証システムの運用を続行することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る認証情報生成装置の構成の一例を示す図である。
【図２】検索データベースの構成の一例を示す図である。
【図３】認証キーの構成の一例を示す図である。
【図４】検索ＳＱＬ生成部の構成の一例を示す図である。
【図５】認証情報の構成の一例を示す図である。
【図６】認証装置の構成の一例を示す図である。
【図７】認証装置によるデータ認証の一例を示す図である。
【図８】認証情報生成装置における処理の流れの一例を示す図である。
【図９】認証装置における処理の流れの一例を示す図である。
【図１０】ＩＣカードによる本人認証においてＳＱＬ検索による認証システムを採用した場合のシステム構成の一例を示す図である。
【図１１】ＩＣカードによる本人認証においてＳＱＬ検索による認証システムを採用した場合の認証処理の流れの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係る認証システムについて図面を参照しながら詳細に説明する。なお、実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。
【００１４】
本発明の実施形態に係る認証システムは、図１の認証情報生成装置と図６の認証装置とで構成される。
図１は、認証情報生成装置１００の構成の一例を示す。
認証情報生成装置１００は、検索データベース１０１と、検索ＳＱＬ生成部１０２と、認証キー生成部１０３と、認証情報生成部１０４とで構成される。
検索データベース１０１は、任意のデータを格納する。
検索ＳＱＬ生成部１０２は、検索データベース１０１を対象とする検索ＳＱＬ文を生成する。
認証キー生成部１０３は、認証キー１０５と公開鍵９０４を生成する。認証キー１０５は、認証キー１０５を一意に識別するための認証ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）と、検索ＳＱＬ生成部１０２によって生成された検索ＳＱＬ文とで構成される。公開鍵９０４は、認証キー１０５を秘密鍵として使用する場合に、認証キー１０５とペアになる被認証者の公開鍵である。
認証情報生成部１０４は、検索ＳＱＬ生成部１０２によって生成された検索ＳＱＬ文で検索データベース１０１を検索し、認証情報１０６を生成する。認証情報は、認証キー１０５を構成するものと同一の認証ＩＤと、検索ＳＱＬ文による検索結果情報とで構成される。また、検索ＳＱＬ生成部１０２によって生成された検索ＳＱＬ文にバインド変数が採用されている場合には、認証情報は、バインド変数の個数と値とを含む。
上述した検索ＳＱＬ生成部１０２と認証キー生成部１０３と認証情報生成部１０４との各部の機能は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成されるメモリと、ハーディスク等で構成される記憶装置とを備えるコンピュータ等において、ＣＰＵがメモリに記憶された認証情報生成プログラムを実行することによって実現される。
検索データベース１０１と認証情報１０６は、そのコンピュータ等の記憶装置に格納される。
【００１５】
図２は、検索データベース１０１の構成の一例を示す。
検索データベース１０１は、例えば、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  ＳｅｒｖｅｒやＯｒａｃｌｅ  Ｄａｔａｂａｓｅなどの一般的に普及しているリレーショナルデータベースであり、単一または複数のテーブル２０１を有する。テーブル２０１にはあらかじめレコード２０２が格納されているものとし、レコード２０２の件数や値は自由に設定してよい。また、テーブル２０１に定義する列の個数、列のデータ型、文字列データ型の定義長、インデックス定義などの列の属性２０３についても自由に設定してよい。
【００１６】
図３は、認証キー１０５の構成の一例を示す。
認証キー１０５は、例えば、ＩＣカードのようにユーザ単位に配布される秘密鍵に相当するキーである。それぞれの認証キー１０５には、認証キー１０５毎に一意に割り当てられる認証ＩＤ３０１と、検索データベース１０１から検索結果情報を取得するための検索ＳＱＬ文３０２が格納されている。ここで、検索する列の値、検索するテーブルの個数、検索の条件などの検索ＳＱＬ文３０２の構成については特に制限しない。また、検索条件の条件値にバインド変数３０３を採用してもよい。なお、検索ＳＱＬ文３０２は、必ずしも認証ＩＤ３０１毎に一意である必要はないが、認証キー１０５の認証方法の独立性が低下しセキュリティリスクが高まる恐れがあるため、可能な限り検索ＳＱＬ文３０２が重複しない認証キー１０５を作成することを推奨する。
【００１７】
図４は、検索ＳＱＬ生成部１０２の構成の一例を示す。
検索ＳＱＬ文生成部１０２は、検索テーブル選択部４０１と、検索列選択部４０２と、検索条件生成部４０３とで構成される。
検索テーブル選択部４０１は、検索データベース１０１に格納されたテーブルの中から検索に使用するテーブルを無作為に選択する。
検索列選択部４０２は、検索テーブル選択部４０１で選択されたテーブルの構成列の中から検索に使用する列を無作為に選択する。
検索条件生成部４０３は、検索列選択部４０２によって選択されたテーブルの構成列の中から検索条件に使用する列を無作為に選択し、検索データベース１０１で実現可能な検索条件の検索ＳＱＬ文３０２を生成する。
【００１８】
図５は、認証情報１０６の構成の一例を示す。
認証情報１０４は、複数の認証ＩＤ３０１を含む。更に、認証情報１０４は、認証ＩＤ３０１毎に、バインド変数の個数５０１および値５０２と、検索結果情報５０３とを含む。
認証ＩＤ３０１は、認証キー１０５に格納されたものと同じである。
バインド変数の個数５０１および値５０２は、認証ＩＤ３０１に対応する検索ＳＱＬ文３０２のバインド変数３０３の個数および値である。
検索結果情報５０３は、検索ＳＱＬ文３０２で検索データベース１０１を検索した結果である。
認証情報１０６に含まれる各情報は、記憶装置内にリストで保持される。リストは、例えば、検索データベース１０１のようなリレーショナルデータベースに格納してもよいし、バイナリ形式のファイルなどに格納してもよい。なお、リストの内容を暗号化することでセキュリティ性を高めることを推奨する。この場合の暗号化方法については、特に制限しない。
【００１９】
図６は、認証装置６００の構成の一例を示す。
認証装置６００は、検索データベース１０１と、検索部６０１と、認証部６０２と、認証情報１０６とで構成される。
検索部６０１は、認証キー１０５が入力されると、認証キー１０５に含まれる検索ＳＱＬ文３０２を用いて検索データベース１０１を検索し、検索の結果である検索情報を取得する。ここで、検索部６０１は、検索ＳＱＬ文３０２にバインド変数が採用されている場合は、認証情報１０６に含まれるバインド変数３０３の個数５０２および値５０３を検索ＳＱＬ文３０２に結合し実行する。
認証部６０２は、認証キー１０５に含まれる認証ＩＤに対応する認証情報１０６を記憶装置から読み出す。認証部６０２は、検索部６０１によって取得された検索情報と、読み出された認証情報１０６に格納されている検索結果情報５０３とが完全一致する場合には認証成功と判定し、完全一致しない場合には認証失敗と判定する。
上述した検索部６０１と認証部６０２との各部の機能は、ＣＰＵと、ＲＡＭ等で構成されるメモリと、ハーディスク等で構成される記憶装置とを備えるコンピュータ等において、ＣＰＵがメモリに記憶された認証プログラムを実行することによって実現される。
検索データベース１０１と認証情報１０６は、そのコンピュータ等の記憶装置に格納される。
【００２０】
図７は、認証装置６００によるデータ認証の一例を示す。
データ７０１の暗号化および復号化は、公開鍵暗号方式を適用するものとし、データ７０１の暗号化には被認証者の公開鍵７０２、暗号化データ７０３の復号化には認証キー（秘密鍵）１０５を使用する。ここで、被認証者の公開鍵７０２は、認証キー（秘密鍵）１０５とペアになる公開鍵である。被認証者の公開鍵７０２は、認証キー生成部１０３が生成するものとし、認証キー（秘密鍵）１０５を生成するときに同時に生成する。
被認証者は、認証キー（秘密鍵）１０５を認証装置６００に入力する。認証装置６００は、認証キー１０５と認証情報１０６とに基づいて被認証者の正当性を認証する。認証装置６００は、認証成功と判定した場合には、暗号化データ７０３を復号し、データ７０１を出力する。
【００２１】
図８は、認証情報生成装置１００における処理の流れの一例を示す。
まず、検索ＳＱＬ生成部１０２は、未割り当ての認証ＩＤ３０１を選択し（Ｓ１０１）、検索ＳＱＬ文３０２を生成する（Ｓ１０２）。次に、認証キー生成部１０３は、選択した認証ＩＤ３０１と生成した検索ＳＱＬ文３０２を認証キー１０５に格納する（Ｓ１０３）。次に、認証キー生成部１０３は、認証キー（秘密鍵）１０５とペアになる公開鍵９０４を生成する（Ｓ１０４）。
そして、認証情報生成部１０４は、生成した検索ＳＱＬ文３０２を実行し、検索データベース１０１から検索結果情報５０３を取得する（Ｓ１０５）。認証情報生成部１０４は、検索ＳＱＬ文３０２の検索条件にバインド変数３０３を適用する場合、検索条件生成部４０３で決定したバインド変数３０３の個数５０１および値５０２を検索ＳＱＬ文３０２から取得する（Ｓ１０６）。最後に、認証情報生成部１０４は、認証キー１０５に格納された認証ＩＤ３０１と同一のＩＤと、バインド変数３０３の個数５０１および値５０２と、索結果情報５０３とを含む認証情報１０６を作成し、記憶装置に格納する（Ｓ１０７）。
なお、検索ＳＱＬ文３０２は認証キー１０５にのみ保持するものとし、認証情報１０６は検索ＳＱＬ文３０２を含まない。
【００２２】
図９は、認証装置６００における処理の流れの一例を示す。
認証装置６００は、まず、被認証者の公開鍵７０２によりデータ７０１を暗号化する（Ｓ２０１）。暗号化された暗号化データ７０３は認証装置６００内に保持してもよいし、認証装置６００とは別の場所に格納してもよい。
検索部６０１は、認証キー１０５に格納されている検索ＳＱＬ文３０２にバインド変数が適用されている場合は、認証キー１０５に格納されている認証ＩＤ３０１と同一の認証ＩＤを記憶装置に格納されている認証情報１０６から検索し、認証ＩＤ３０１に対応するバインド変数３０３の個数５０１および値５０２を認証情報１０６から取得する（Ｓ２０２）。そして、検索部６０１は、認証キー１０５に格納された検索ＳＱＬ文３０２を実行し検索データベース１０１から検索情報を取得する（Ｓ２０３）。ここで、検索ＳＱＬ文３０２にバインド変数が適用されている場合、検索部６０１は、認証情報１０６から取得したバインド変数３０３の個数５０１および値５０２を検索ＳＱＬ文３０２に結合し実行する。
次に、認証部６０２は、認証ＩＤ３０１に対応する検索結果情報５０３を認証情報１０６から取得する（Ｓ２０４）。最後に、取得した検索情報と認証情報１０６に含まれる検索結果情報５０３とが完全に一致しているか否かを判別する（Ｓ２０５）。完全一致している場合（Ｓ２０５：Ｙｅｓ）は、認証成功と判別し、暗号化データ７０３を復号し、データ７０１を出力する（Ｓ２０６）。完全一致していない場合（Ｓ２０５：Ｎｏ）は、暗号化データ７０３を復号せず、認証が失敗した旨のメッセージをコンピュータのディスプレイ等に表示する（Ｓ２０７）。
【００２３】
上述の認証方法は、例えば、ＩＣカードによる本人認証に応用できる。以下、ＩＣカードによる本人認証においてＳＱＬ検索による認証システムを採用した場合の例を説明する。
図１０は、ＩＣカードによる本人認証においてＳＱＬ検索による認証システムを採用した場合のシステム構成の一例を示す。
本システムは、認証情報生成装置１００を含むサーバ９０３と、認証装置６００を含む端末９０５と、認証キー１０５を格納したＩＣカード９０８とで構成される。サーバ９０３と端末９０５とは図示しないネットワークに通信可能に接続されている。
本システムでは被認証者の認証キー（秘密鍵）１０５はＩＣカード９０８の内部情報として管理する。サーバ９０３内の認証情報生成装置１００で作成された認証情報１０６は、予め安全な手段で端末９０５に渡され、端末９０５内の認証装置６００に保持されている。
サーバ９０３は、被認証者の本人認証情報９０１を共通鍵９０２により暗号化し、暗号化された本人認証情報９０７を作成するとともに、共通鍵９０２を被認証者の公開鍵９０４を用いて暗号化し、暗号化された共通鍵９０６を作成する。ここで、被認証者の公開鍵９０４は、認証キー（秘密鍵）１０５とペアになる公開鍵である。被認証者の公開鍵９０４は、サーバ９０３に格納された認証情報生成装置１００内の認証キー生成部１０３が生成するものとし、認証キー（秘密鍵）１０５を生成するときに同時に生成する。
そして、サーバ９０３は、暗号化された本人認証情報９０７と暗号化された共通鍵９０６を端末９０５に送信する。
端末９０５は、ＩＣカード９０８から認証キー（秘密鍵）１０５を読出し、認証装置６００によってＩＣカード９０８の正当性を認証する。ＩＣカード９０８の認証が成功すると、端末９０５は、認証キー（秘密鍵）１０５を用いて暗号化された共通鍵９０６を復号して共通鍵９０２を得る。そして、端末９０５は、共通鍵９０２を用いて暗号化された本人認証情報９０７を復号し、被認証者の本人認証情報９０１を得る。端末９０５は、被認証者の本人認証情報９０１を用いて被認証者の本人認証を行う。
【００２４】
図１１は、ＩＣカードによる本人認証においてＳＱＬ検索による認証システムを採用した場合の認証処理の流れの一例を示す。
まず、ＩＣカードの作成および配布について説明する。サーバ９０３に導入された認証情報生成装置１００は、図８に示した手順と同様の手順で認証キー（秘密鍵）１０５と公開鍵９０４を生成する（Ｓ３０１）。ここで、公開鍵９０４は、認証キー（秘密鍵）１０５とペアになる被認証者の公開鍵である。サーバ９０３は、この認証キー１０５（秘密鍵）を被認証者の秘密鍵としてＩＣカード９０８に格納する（Ｓ３０２）。なお、ＩＣカード９０８は、被認証者に配布される。サーバ９０３は、認証キー１０５と同時に生成した認証情報１０６を安全な手段で端末９０５に渡す。端末９０５の認証装置６００は、受信した認証情報１０６を保持する（Ｓ３０３）。
次に、ＩＣカードを使用した本人認証の流れについて説明する。サーバ９０３は、一時的に使用する共通鍵９０２を生成し（Ｓ３０４）、被認証者の本人認証情報９０１を共通鍵９０２で暗号化する（Ｓ３０５）。サーバ９０３は、暗号化に使用した共通鍵９０２を被認証者の公開鍵９０４で暗号化する（Ｓ３０６）。ここで、サーバ９０３は暗号化された被認証者の本人認証情報９０７と暗号化された共通鍵９０６を端末９０５に送信する（Ｓ３０７）。
端末９０５は、ＩＣカード９０８の正当性を認証（Ｓ３０８）し、認証が成功すると、暗号化された共通鍵９０６をＩＣカード９０８に格納された被認証者の認証キー（秘密鍵）１０５で復号する（Ｓ３０９）。次に、端末９０５は、暗号化された被認証者の本人認証情報９０７を復号された共通鍵９０２で復号する（Ｓ３１０）。そして、端末９０５は、復号された被認証者の本人認証情報９０１により、本人認証を行う。
【００２５】
なお、上述した実施形態では、認証情報生成装置１００と認証装置６００が同一の検索データベース１０１を有するとしたが、例えば、認証情報生成装置１００と認証装置６００とがネットワークに接続されており、認証装置６００は検索データベース１０１を有しておらず、認証情報生成装置１００のみが検索データベース１０１を有しており、認証装置６００の検索部６０１は、ネットワークを介して認証情報生成装置１００の検索データベース１０１にアクセスし、検索するとしてもよい。また、例えば、認証情報生成装置１００と認証装置６００の両方とも検索データベース１０１を有しておらず、独立した検索データベース１０１がネットワークに接続されており、認証情報生成装置１００の認証情報生成部１０４と認証装置６００の検索部６０１とがネットワークを介して検索データベース１０１にアクセスし、検索するとしてもよい。
【００２６】
以上説明したように、本発明では、保存されている認証情報を最終的な認証に活用するのではなく、検索データベースに格納されたデータを検索して得られる検索結果情報を最終的な認証に活用する。検索に使用する検索ＳＱＬ文は認証キーにのみ格納される。このため、本発明によれば、データベースに格納されたデータが盗まれても、認証方法を変更することなく認証システムの運用を続行することができる。
【符号の説明】
【００２７】
１００…認証情報生成装置、１０１…検索データベース、１０２…検索ＳＱＬ生成部、１０３…認証キー生成部、１０４…認証情報生成部、１０５…認証キー、１０６…認証情報、２０１…テーブル、２０２…レコード、２０３…列の属性、３０１…認証ＩＤ、３０２…検索ＳＱＬ文、３０３…バインド変数、４０１…検索テーブル選択部、４０２…検索列選択部、４０３…検索条件生成部、５０１…バインド変数の個数、５０２…バインド変数の値、５０３…検索結果情報、６００…認証装置、６０１…検索部、６０２…認証部、７０１…データ、７０２…被認証者の公開鍵、７０３…暗号化データ、９０１…被認証者の本人認証情報、９０２…共通鍵、９０３…サーバ、９０４…被認証者の公開鍵、９０５…端末、９０６…暗号化された共通鍵、９０７…暗号化された被認証者の本人認証情報、９０８…ＩＣカード
【図１】
2013222213.tif 000003
【図２】
2013222213.tif 000004
【図３】
2013222213.tif 000005
【図４】
2013222213.tif 000006
【図５】
2013222213.tif 000007
【図６】
2013222213.tif 000008
【図７】
2013222213.tif 000009
【図８】
2013222213.tif 000010
【図９】
2013222213.tif 000011
【図１０】
2013222213.tif 000012
【図１１】
2013222213.tif 000013