(57)【要約】【課題】  入力情報と暗号化された暗号化認証情報との１対多認証において、１対多認証処理を効率的に行うことを目的とする。【解決手段】  １対多認証システムは、利用者認証に用いられる認証情報を、鍵情報を使用して特定のルールで暗号化した暗号化認証情報を、複数の利用者について、記憶する記憶部と、認証対象として入力された入力情報と、前記記憶部に記憶された複数の暗号化認証情報とを、認証情報が暗号化された状態を維持したまま前記特定のルールに基づいて比較する比較部と、前記比較部による比較結果に基づき、前記鍵情報の特徴に基づいて決定された条件に当てはまる暗号化認証情報を特定する特定部と、前記特定部で特定された暗号化認証情報、前記入力情報および前記鍵情報に基づき、前記認証対象に対する認証の成否を判定する判定部とを有する。【選択図】  図３
2015185990.tif 000002
【特許請求の範囲】
【請求項１】
利用者認証に用いられる認証情報を、鍵情報を使用して特定のルールで暗号化した暗号化認証情報を、複数の利用者について、記憶する記憶部と、
認証対象として入力された入力情報と、前記記憶部に記憶された複数の暗号化認証情報とを、認証情報が暗号化された状態を維持したまま前記特定のルールに基づいて比較する比較部と、
前記比較部による比較結果に基づき、前記鍵情報の特徴に基づいて決定された条件に当てはまる暗号化認証情報を特定する特定部と、
前記特定部で特定された暗号化認証情報、前記入力情報および前記鍵情報に基づき、前記認証対象に対する認証の成否を判定する判定部とを有することを特徴とする１対多認証システム。
【請求項２】
前記特定のルールは、第一の平文が前記鍵情報によって暗号化された第一の暗号化情報と、第二の平文が前記鍵情報により暗号化された第二の暗号化情報とを照合した結果と、前記第一の平文と前記第二の平文との照合結果とが同一となるルールであることを特徴とする請求項１に記載の１対多認証システム。
【請求項３】
前記暗号化認証情報は、前記認証情報を、前記鍵情報を使用してバーナム暗号化することにより生成されることを特徴とする請求項２に記載の１対多認証システム。
【請求項４】
前記特定部により特定された前記暗号化認証情報と前記入力情報との照合結果を、前記鍵情報で復号する復号部をさらに備えることを特徴とする請求項１乃至請求項３のいずれか一項に記載の１対多認証システム。
【請求項５】
前記判定部は、前記復号部により複合により得られる、前記認証情報と前記入力情報との照合結果が示す、該認証情報と該入力情報との差分と閾値とを比較し、該差分が閾値よりも小さい場合に、前記利用者の認証を成功と判定することを特徴とする請求項４に記載の１対多認証システム。
【請求項６】
前記条件は、前記特徴と前記閾値とに基づき設定されることを特徴とする請求項５に記載の１対多認証システム。
【請求項７】
前記条件は、前記特徴を示す値から前記閾値を引いた値から前記特徴を示す値と前記閾値を足した値までの数値範囲により規定されることを特徴とする請求項６に記載の１対多認証システム。
【請求項８】
前記特徴は、前記鍵情報のビット列のうち、１を示すビットの数であることを特徴とする請求項１乃至請求項７のいずれか一項に記載の１対多認証システム。
【請求項９】
コンピュータが、
利用者認証に用いられる認証情報を、鍵情報を使用して特定のルールで暗号化した暗号化認証情報を、複数の利用者について記憶する記憶部を参照し、認証対象として入力された入力情報と、該記憶部に記憶された複数の暗号化認証情報とを、認証情報が暗号化された状態を維持したまま前記特定のルールに基づいて比較し、
比較結果に基づき、前記鍵情報の特徴に基づいて決定された条件に当てはまる暗号化認証情報を特定し、
特定された暗号化認証情報、前記入力情報および前記鍵情報に基づき、前記認証対象に対する認証の成否を判定する処理を実行することを特徴とする認証方法。
【請求項１０】
コンピュータに、
利用者認証に用いられる認証情報を、鍵情報を使用して特定のルールで暗号化した暗号化認証情報を、複数の利用者について記憶する記憶部を参照し、認証対象として入力された入力情報と、該記憶部に記憶された複数の暗号化認証情報とを、認証情報が暗号化された状態を維持したまま前記特定のルールに基づいて比較し、
比較結果に基づき、前記鍵情報の特徴に基づいて決定された条件に当てはまる暗号化認証情報を特定し、
特定された暗号化認証情報、前記入力情報および前記鍵情報に基づき、前記認証対象に対する認証の成否を判定する処理を実行させることを特徴とする認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１対多認証技術に関する。
【背景技術】
【０００２】
ネットワークを用いてユーザを認証するための認証技術がある。認証を実行する認証装置には、パスワード情報や生体情報などの認証時に照合対象となる登録情報があらかじめ登録され、認証時には、登録情報と入力情報とが比較される。そして、比較結果に基づき、認証の成功または失敗が判定される。このような認証技術は、例えば、銀行システムにおける認証機能、電子商取引や電子決済の際の認証機能などに、利用されている。
【０００３】
また、人以外にも機器を認証する技術も知られている。例えば、ＰＵＦ（Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）と呼ばれる機器の複製困難な物理的特性を利用して機器固有の値を出力する関数を用いた機器認証が存在する。
【０００４】
ここで、認証技術には、大きく分けて２つのタイプが存在する。１対１認証と称される技術と、１対多認証（ＩＤレス認証または１対Ｎ認証とも呼ばれる）と称される技術である。１対１認証は、認証時に、例えば、ユーザを識別するユーザＩＤを受け付けることで、事前に登録された登録情報の中から、ユーザＩＤに対応付けられた１つの登録情報を特定する。そして、入力情報と１つの登録情報との照合を行い、照合結果に応じて、認証の成否が判定される。
【０００５】
一方、１対多認証は、ユーザＩＤ等を受け付けることは行われない。よって、認証時には、入力情報と、複数の登録情報とが照合される。１対多認証は、例えば、入力情報と、全ての登録情報とが照合され、もっとも類似する登録情報に基づき、認証の成否が判定される。
【０００６】
例えば、１対多認証を行う認証システムがある（例えば、特許文献１）。当該認証システムは、指紋を用いた本人認証を実行するシステムである。認証システムは、指紋特徴データを登録する時に、基準データと指紋特徴点データとの類似度に基づき、登録する指紋特徴データに分類情報を与える。一方、入力された指紋特徴データの照合時には、入力された指紋特徴データの分類情報を生成し、入力された指紋特徴データの分類情報に基づき、照合の対象とする指紋特徴データを限定あるいは優先順位をつけて検索照合する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２９７５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
例えば、登録時に指紋特徴データを暗号化することにより、セキュリティは向上する。そのように暗号化された指紋特徴データを用いる場合には、上記認証システムは１対多認証を効率的に行うことはできない。
【０００９】
１つの側面では、本発明は、入力情報と暗号化された暗号化認証情報との１対多認証において、１対多認証処理を効率的に行うことを目的とする。
【課題を解決するための手段】
【００１０】
ひとつの実施態様では、１対多認証システムは、利用者認証に用いられる認証情報を、鍵情報を使用して特定のルールで暗号化した暗号化認証情報を、複数の利用者について、記憶する記憶部と、認証対象として入力された入力情報と、前記記憶部に記憶された複数の暗号化認証情報とを、認証情報が暗号化された状態を維持したまま前記特定のルールに基づいて比較する比較部と、前記比較部による比較結果に基づき、前記鍵情報の特徴に基づいて決定された条件に当てはまる暗号化認証情報を特定する特定部と、前記特定部で特定された暗号化認証情報、前記入力情報および前記鍵情報に基づき、前記認証対象に対する認証の成否を判定する判定部とを有する。
【発明の効果】
【００１１】
入力情報と暗号化された認証情報との１対多認証において、１対多認証処理を効率的に行うことが可能になる。
【図面の簡単な説明】
【００１２】
【図１】図１は、第一の実施例に関する認証システムにおける、登録処理を説明するための図である。
【図２】図２は、第一の実施例に関する認証システムにおける、認証処理を説明するための図である。
【図３】図３は、処理コストの削減について説明するための図である。
【図４】図４は、第一の実施例に関する端末装置および認証装置の機能ブロック図である。
【図５】図５は、暗号化認証情報管理テーブルのデータ構成例を示す図である。
【図６】図６は、第一の実施例における端末装置の処理フローチャートである。
【図７】図７は、第一の実施例における認証装置の処理フローチャートである。
【図８】図８は、第一の実施例における照合処理のフローチャートである。
【図９】図９は、第二の実施例に関する認証システムにおける、登録処理を説明するための図である。
【図１０】図１０は、第二の実施例に関する認証システムにおける、認証処理を説明するための図である。
【図１１】図１１は、第二の実施例に関する管理装置および判定装置の機能ブロック図である。
【図１２】図１２は、第二の実施例に関する判定装置の処理フローチャートである。
【図１３】図１３は、第二の実施例に係る照合処理のフローチャートである。
【図１４】図１４は、第二の実施例に関する管理装置の処理フローチャートである。
【図１５】図１５は、第三の実施例に関する認証システムにおける、登録処理を説明するための図である。
【図１６】図１６は、第三の実施例に関する認証システムにおける、認証処理を説明するための図である。
【図１７】図１７は、第三の実施例に関する管理装置および判定装置の機能ブロック図である。
【図１８】図１８は、第三の実施例に関する判定装置の処理フローチャートである。
【図１９】図１９は、第三の実施例に係る照合処理のフローチャートである。
【図２０】図２０は、第三の実施例に関する管理装置の処理フローチャートである。
【図２１】図２１は、マスク値管理テーブルのデータ構成例である。
【図２２】図２２は、各実施例における端末装置、認証装置、管理装置、判定装置のハードウェア構成例である。
【発明を実施するための形態】
【００１３】
以下詳細な本発明の実施例に関して説明する。なお、以下の各実施例は、処理の内容を矛盾させない範囲で適宜組み合わせることが可能である。以下、図面に基づいて各実施例について説明する。
【００１４】
［第一の実施例］
図１および図２は、第一の実施例に係る認証システムを説明するための図である。第一の実施例における認証システムは、端末装置１と認証装置２とを含む。なお、端末装置１と認証装置２とは、ネットワークＮを介して接続されている。ネットワークＮは、例えば、インターネットである。
【００１５】
端末装置１は、認証装置２へ認証を要求するコンピュータである。また、認証装置２は、端末装置１の要求に応じて、１対多認証を実行するコンピュータである。また、認証装置２は、各種処理を実行するサーバ２００と認証に必要な情報を記憶するデータベース２０１とを含む。
【００１６】
図１は、第一の実施例に関する認証システムにおける、登録処理を説明するための図である。なお、登録処理とは、認証情報を登録するための処理である。
【００１７】
端末装置１は、登録対象となるユーザのユーザＩＤ”Ａ”と、登録対象となる認証情報ｍＡとの入力を受け付ける。ユーザＩＤは、ユーザを識別するために、システム的に付与された情報である。また、認証情報は、１対多認証時に、入力情報と照合される情報であって、例えばパスワード情報や生体情報など、ユーザからの入力により生成される情報である。生体情報は、虹彩情報、指紋情報、静脈情報であって、生体を撮影した画像データから特定のアルゴリズムにより抽出される。なお、端末装置１は、各種認証情報を取得するための読取装置を有する。
【００１８】
次に、端末装置１は、ユーザＩＤ”Ａ”と認証情報ｍＡとを、認証装置２へ送信する。なお、本実施例においては、ネットワークＮを介しての通信には、Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ（ＳＳＬ）などの暗号化通信技術が適用されることが望ましい。
【００１９】
認証装置２は、ユーザＩＤ”Ａ”と認証情報ｍＡとを受信する。そして、認証装置２は、鍵情報Ｋを用いて認証情報ｍＡを暗号化することで、暗号化認証情報ＥＫ（ｍＡ）を生成する。なお、鍵情報Ｋは、認証情報ｍＡのビット長以上のビット列を持つ。以下の説明においては、認証情報ｍＡを８ビット、鍵情報Ｋも併せて８ビットとして説明する。
【００２０】
そして、データベース２０１は、ユーザＩＤ”Ａ”と暗号化認証情報ＥＫ（ｍＡ）とを対応付けて記憶する。なお、以下、ユーザごとに区別する必要がある場合を除いて、認証情報は、「ｍｉ」と記載する。
【００２１】
ここで、暗号化認証情報ＥＫ（ｍｉ）について説明する。暗号化認証情報ＥＫ（ｍｉ）は、認証装置２が有する鍵情報Ｋにより、端末装置１から受信した認証情報ｍｉを、特定のルールで暗号化した情報である。なお、以下の条件式１を満たす暗号化であれば、本実施例に適用が可能である。
2015185990.tif 000003
【００２２】
Ｆは、２つの入力情報（平文Ｘおよび平文Ｙ）の照合結果を出力する関数である。また、ＥＫは鍵情報Ｋを用いた暗号化の関数である。条件式１は、２つの入力情報が各々同一の鍵情報によって暗号化された状態で照合を行った場合に、平文同士の照合結果が再現されるような、暗号化であれば、本実施例に適用が可能であることを示している。
【００２３】
以下、Ｆが、２つの入力情報の排他的論理和を演算するための関数であるとする。また、ＥＫは、鍵情報Ｋと入力情報との排他的論理和を演算するための関数や、ＡＥＳ暗号化のＣＴＲモードの関数が適用可能である。なお、鍵情報Ｋそのものではなく、鍵情報Ｋにより生成された乱数が暗号化時の鍵情報として利用されてもよい。乱数は、マスク値ＲＫと称される。
【００２４】
本実施例においては、暗号化はバーナム暗号が採用されるとし、ＥＫは、鍵情報Ｋと入力情報との排他的論理和を演算するための関数であるとして説明する。つまり、暗号化認証情報ＥＫ（ｍＡ）は、認証情報ｍＡと鍵情報Ｋとの排他的論理和により得られる。排他的論理和を用いた暗号化を採用した場合、登録処理および後述の認証処理において、各装置における処理計算量を小さくすることができる。また、暗号化によるデータ量の増大を防ぐことができる。
【００２５】
図２は、第一の実施例に関する認証システムにおける、認証処理を説明するための図である。端末装置１は、認証装置２に対して認証要求を行う。そして、端末装置１は、認証装置２へ、認証対象として入力する入力情報ｍ’を生成するとともに、入力情報ｍ’を認証装置２へ送信する。入力情報ｍ’は、ユーザからの入力により生成される情報であって、例えばパスワード情報や生体情報である。入力情報ｍ’は、認証情報と同様のアルゴリズムによって生成される。
【００２６】
なお、認証処理において、ユーザは端末装置１にユーザＩＤを入力する必要はない。よって、端末装置から認証装置２へ入力情報ｍ’が送信される際に、ユーザＩＤは送信されない。先に述べたとおり、１対１認証の認証処理においては、照合対象の情報を一つに特定するためにユーザＩＤが利用されるが、１対Ｎ認証の認証処理においては、ユーザＩＤを用いて照合対象を限定することはしないため、ユーザＩＤの入力等は不要となる。
【００２７】
認証装置２は、入力情報ｍ’を受信すると、データベース２０１に記憶された複数の暗号化認証情報ＥＫ（ｍｉ）を、順次読み出す。そして、認証装置２は、暗号化認証情報ＥＫ（ｍｉ）と、入力情報ｍ’とを比較する。例えば、認証装置２は、暗号化認証情報ＥＫ（ｍｉ）と、入力情報ｍ’との排他的論理和を行い、比較結果ＥＫ（ＨＶｉ）を取得する。ＨＶｉは、認証情報ｍｉと、入力情報ｍ’との排他的論理和の演算結果であって、認証情報ｍｉと入力情報ｍ’との照合結果を示す。
【００２８】
なお、鍵情報Ｋと認証情報ｍｉとの排他的論理和の演算結果である暗号化認証情報ＥＫ（ｍｉ）と、入力情報ｍ’との排他的論理和の演算結果は、認証情報ｍｉと入力情報ｍ’との排他的論理和の演算結果ＨＶｉと、鍵情報Ｋとの排他的論理和の演算結果と同じである。よって、比較結果は、ＥＫ（ＨＶｉ）と示される。
【００２９】
例えば、認証装置２は、「ＥＫ（ｍＡ）」を読み出し、入力情報ｍ’と暗号化認証情報ＥＫ（ｍＡ）の排他的論理和により、比較結果ＥＫ（ＨＶＡ）を演算する。ここで、比較結果ＥＫ（ＨＶＡ）は、認証情報ｍＡと入力情報ｍ’との照合結果ＨＶＡが、鍵情報Ｋにより暗号化された情報であるため、比較結果ＥＫ（ＨＶＡ）を鍵情報Ｋを用いて復号する事で、認証装置２は、認証情報ｍＡと入力情報ｍ’との照合結果ＨＶＡを取得することができる。
【００３０】
認証装置２が、復号により照合結果ＨＶＡを取得した場合には、認証装置２は、例えば、１を示すビット数が、閾値ｄ以下であるか否かをもって、認証成否を判定する。認証装置２は、認証情報ｍＡと入力情報ｍ’とのビットごとの比較において、認証情報ｍＡと入力情報ｍ’とが異なる値を示す場合に、照合結果ＨＶＡにおいては「１」を設定する。そのため、照合結果ＨＶＡにおいて「１」を示すビット数が閾値ｄ以下であるということは、認証情報ｍＡと入力情報ｍ’との類似度が高いことになる。その場合、入力情報ｍ’は、認証情報ｍＡのユーザに由来する可能性が高いと推測できる。よって、認証装置２は、入力情報ｍ’に対するユーザが事前に登録されているとして、認証成功を判定する。
【００３１】
しかし、上述の方式によれば、すべての登録ユーザ各々の暗号化認証情報ＥＫ（ｍｉ）について比較結果ＥＫ（ＨＶｉ）を算出し、すべての比較結果ＥＫ（ＨＶｉ）を鍵情報Ｋを用いて復号する必要がある。よって、復号に係る処理コストが、登録ユーザの数だけ発生する。そこで、本実施例は、所定の条件に合致する比較結果ＥＫ（ＨＶｉ）についてのみ、鍵情報Ｋを用いて復号する。
【００３２】
図３は、処理コストの削減について説明するための図である。なお、図３には、認証装置２における処理の概要を示す。まず、認証装置２は、暗号化認証情報ＥＫ（ｍｉ）と、入力情報ｍ’との排他的論理和を行い、比較結果ＥＫ（ＨＶｉ）を、登録ユーザごとに算出する。そして、認証装置２は、以下の条件式２を満たす比較結果ＥＫ（ＨＶｉ）についてのみ、鍵情報Ｋを用いた復号処理を行う。なお、条件式２は、鍵情報Ｋの特徴に基づき決定される。さらに、認証の成否の判定に用いられる閾値ｄが０以外である場合には、さらに、認証の成否の判定に用いられる閾値ｄに基づき、条件式２は決定される。
2015185990.tif 000004
【００３３】
ＨＷ（Ｋ）は、鍵情報Ｋの特徴を示す情報であって、鍵情報のビット列のうち「１」を示すビットの数である。例えば、鍵情報Ｋが、１１００００１１である場合には、ＨＷ（Ｋ）は４である。閾値ｄは、認証成否を判定する処理において、判定の閾値として利用される値である。例えば、閾値ｄは認証情報のビット長の５％などに設定されるが、本実施例においては「２」とする。このとき、条件式２によれば、ＨＷ（ＥＫ（ＨＶｉ））が、２より大きくかつ６より小さい場合に、ＨＷ（ＥＫ（ＨＶｉ））は、鍵情報Ｋで復号される。ＨＷ（ＥＫ（ＨＶｉ））は、比較結果ＥＫ（ＨＶｉ）のビット列のうち、「１」を示すビットの数である。
【００３４】
ここで、条件式２の導出について説明する。まず、認証が成功と判定される際の条件は以下の条件式３で表される。
2015185990.tif 000005
【００３５】
なお、ＨＤｉは、入力情報ｍ’と認証情報ｍｉとのハミング距離ＨＤｉを示す。つまり、ＨＤｉは、入力情報ｍ’と認証情報ｍｉとの照合結果ＨＶｉにおいて１を示すビットの数である。条件式３は、ハミング距離ＨＤｉが閾値ｄ以下であれば、認証が成功と判定されることを示している。
【００３６】
次に、ＨＤｉは、比較結果ＥＫ（ＨＶｉ）のビット列のうち、「１」を示すビットの数ＨＷ（ＥＫ（ＨＶｉ））と、鍵情報Ｋのビット列のうち、「１」を示すビットの数ＨＷ（Ｋ）との差分の絶対値よりも必ず大きくなるため、以下の条件式４が成立する。
2015185990.tif 000006
【００３７】
条件式３と条件式４とをまとめると、以下の条件式５が成立するため、条件式５の最左辺および最右辺を展開することで、条件式２が得られる。
2015185990.tif 000007
【００３８】
例えば、暗号化認証情報ＥＫ（ｍＡ）が１１００００１０であって、入力情報ｍ’が０００００１０１である場合には、比較結果ＥＫ（ＨＶＡ）は、１１０００１１１である。このとき、ＨＷ（ＥＫ（ＨＶＡ））は、「５」である。よって、比較結果ＥＫ（ＨＶＡ）は、復号される。一方、例えば、暗号化認証情報ＥＫ（ｍＢ）が１０１１１０１１であって、入力情報ｍ’が同様に０００００１０１である場合には、比較結果ＥＫ（ＨＶＢ）は、１０１１１１１０である。このとき、ＨＷ（ＥＫ（ＨＶＢ））は、「６」である。よって、比較結果ＥＫ（ＨＶＢ）は、復号されない。
【００３９】
このように、複数の比較結果ＥＫ（ＨＶｉ）のうち、条件式２に当てはまるもののみを、鍵情報Ｋにより、復号することで、認証装置２は、照合結果ＨＶｉを取得する。例えば、認証装置２は、比較結果ＥＫ（ＨＶＡ）「１１０００１１１」を鍵情報Ｋ「１１００００１１」で復号することで、照合結果ＨＶＡ「０００００１００」を得る。照合結果ＨＶＡで、１を示すビット数は「１」つなので、閾値ｄ「２」以下である。よって、入力情報ｍ’は、一定以上の類似度を有する認証情報ｍＡが登録されているため、認証成功を判定する。
【００４０】
以上のように、発明者は、鍵情報Ｋにより、認証情報ｍｉと入力情報ｍ’との照合結果ＨＶｉが暗号化されている状態（比較結果ＥＫ（ＨＶｉ））であっても、鍵情報Ｋおよび閾値ｄを考慮することで、比較結果ＥＫ（ＨＶｉ）を復号した状態での認証が成功する可能性があるか否かを判定することができることに気が付いた。よって、条件式２の下での判定を行うことで、認証が成功する可能性がある比較結果ＥＫ（ＨＶｉ）のみを復号対象とすることで、すべての比較結果ＥＫ（ＨＶ）を復号する場合と比較して、認証装置２は、比較結果ＥＫ（ＨＶｉ）の復号処理に要する処理コストを低減することができる。
【００４１】
次に、第一の実施例に関する端末装置と認証装置の機能的構成について、説明する。図４は、第一の実施例に関する端末装置および認証装置の機能ブロック図である。
【００４２】
端末装置１は、受信部１１、送信部１２、制御部１３、記憶部１５、表示部１６を有する。受信部１１は、認証装置２から情報を受信する処理部である。例えば、認証処理においては、受信部１１は、認証装置２から、認証結果を受信する。
【００４３】
送信部１２は、認証装置２へ情報を送信する処理部である。例えば、送信部１２は、登録処理においては、登録要求を認証装置２へ送信する。登録要求は、ユーザＩＤ”ｉ”と、認証情報ｍｉとを含む情報であって、認証装置２へ認証情報ｍｉの登録を要求するための情報である。また、送信部１２は、認証処理においては、認証要求を認証装置２へ送信する。認証要求は、入力情報ｍ’を含む情報であって、認証装置２へ認証を要求するための情報である。
【００４４】
制御部１３は、端末装置１の動作を制御する処理部である。例えば、制御部１３は、登録処理および認証処理を制御する。制御部１３は、例えば、生成部１４を含む。生成部１４は、認証情報ｍｉおよび認証の対象となる入力情報ｍ’を生成する処理部である。
【００４５】
生成部１４は、認証情報ｍｉおよび認証の対象となる入力情報ｍ’を生成する処理部である。例えば、生成部１４は、画像を撮影する撮像装置や、パスワード等の入力を受け付ける入力装置から、画像やパスワード入力を取得する。認証情報ｍｉや入力情報ｍ’が生体情報である場合には、撮像装置からユーザの一部を撮影した画像を取得するとともに、特徴点に関する情報を、画像から抽出することで、生成部１４は、認証情報ｍｉや入力情報ｍ’を生成する。
【００４６】
記憶部１５は、登録処理および認証処理に必要な情報を記憶する。表示部１６は、各種情報を表示する。例えば、認証結果を受信したのちに、表示部１６は、認証結果を表示する。
【００４７】
次に、認証装置２は、受信部２１、送信部２２、制御部２３、記憶部２９を有する。受信部２１は、端末装置１から情報を受信する処理部である。例えば、受信部２１は、登録要求や、認証要求を、端末装置１から受信する。送信部２２は、端末装置へ情報を送信する処理部である。例えば、送信部２２は、認証結果を端末装置１へ送信する。
【００４８】
制御部２３は、認証装置２の動作を制御する処理部である。例えば、制御部２３は、登録処理および認証処理を実行する。また、制御部２３は、暗号化部２４、比較部２５、特定部２６、復号部２７、判定部２８を含む。
【００４９】
暗号化部２４は、暗号化処理を実行する処理部である。例えば、暗号化部２４は、登録処理において、認証情報ｍｉを鍵情報Ｋで暗号化して、暗号化認証情報ＥＫ（ｍｉ）を生成する。そして、暗号化部２４は、暗号化認証情報ＥＫ（ｍｉ）とユーザＩＤ”ｉ”を対応付けて、記憶部２９へ記憶する。
【００５０】
比較部２５は、入力情報ｍ’と、複数の暗号化認証情報ＥＫ（ｍｉ）とを、認証情報ｍｉが暗号化された状態を維持したまま特定のルールに基づいて比較する処理部である。例えば、比較部２５は、暗号化認証情報ＥＫ（ｍｉ）と入力情報ｍ’との比較結果ＥＫ（ＨＶｉ）を、排他的論理和により演算する。
【００５１】
特定部２６は、比較部により算出された比較結果ＥＫ（ＨＶｉ）に基づき、鍵情報Ｋの特徴ＨＷ（Ｋ）に基づいて決定された条件に当てはまる暗号化認証情報ＥＫ（ｍｉ）を特定する処理部である。例えば、特定部２６は、複数の比較結果ＥＫ（ＨＶｉ）のうち、鍵情報Ｋの特徴ＨＷ（Ｋ）に基づいて決定される条件式２に当てはまるような比較結果を特定することで、認証の成否判定において、成功と判定される可能性がある暗号化認証情報ＥＫ（ｍｉ）を特定する。そして、特定部２６は、条件に当てはまる比較結果ＥＫ（ＨＶｉ）を、復号対象として、復号部２７へ入力する。なお、条件に当てはまらない比較結果ＥＫ（ＨＶｉ）は、復号部２７へ入力されない。
【００５２】
次に、復号部２７は、特定部２６により特定された暗号化認証情報ＥＫ（ｍｉ）と入力情報ｍ’との照合結果（比較結果ＥＫ（ＨＶｉ））を、鍵情報Ｋで復号する処理部である。例えば、復号部２７は、比較結果ＥＫ（ＨＶｉ）と鍵情報Ｋとの排他的論理和を演算し、認証情報ｍｉと入力情報ｍ’の照合結果ＨＶｉを得る。
【００５３】
判定部２８は、特定部２６で特定された暗号化認証情報ＥＫ（ｍｉ）、入力情報ｍ’および鍵情報Ｋに基づき、認証の成否を判定する。例えば、特定部２６で特定された暗号化認証情報ＥＫ（ｍｉ）の比較結果ＥＫ（ＨＶｉ）を復号して得られる照合結果ＨＶｉにおいて「１」を示すビットと、閾値ｄとを比較する。なお、照合結果ＨＶｉにおいて「１」を示すビット数は、入力情報ｍ’と認証情報ｍｉのハミング距離ＨＤｉであって、入力情報ｍ’と認証情報ｍｉの差分を示す。
【００５４】
そして、判定部２８は、ハミング距離ＨＤｉが閾値ｄよりも小さい場合に、認証の成功と判定する。そして、判定部２８は、認証結果を生成する。例えば、ハミング距離ＨＤｉが閾値ｄよりも小さい照合結果がある場合に、認証成功を示す認証結果を生成する。一方、判定部２８は、ハミング距離ＨＤｉが閾値ｄよりも小さい照合結果がない場合に、認証失敗を示す認証結果を生成する。
【００５５】
なお、判定部２８は、認証の成否の判定処理を、ハミング距離ＨＤｉが閾値ｄよりも小さい照合結果ＨＶｉが発見された時点で終了してもよい。また、判定部２８は、すべての照合結果について閾値ｄとの比較を行うことで、ハミング距離ＨＤｉが閾値ｄよりも小さく、かつ、ハミング距離ＨＤｉが最小の照合結果を特定してもよい。
【００５６】
記憶部２９は、登録処理および認証処理に必要な情報を記憶する。例えば、記憶部２９は、ユーザＩＤ”Ａ”に対応付けて、暗号化認証情報ＥＫ（ｍＡ）を記憶する。さらに、記憶部２９は、鍵情報Ｋや、鍵情報の特徴ＨＷ（Ｋ）、閾値ｄなどの情報を記憶する。
【００５７】
図５は、暗号化認証情報管理テーブルのデータ構成例を示す図である。なお、暗号化認証情報管理テーブルは、記憶部２９に記憶される。暗号化認証情報管理テーブルは、レコード番号（ｉ）、ユーザＩＤ、暗号化認証情報を対応付けて記憶する。レコード番号（ｉ）は、テーブルのレコードを識別する情報である。
【００５８】
次に、第一の実施例における端末装置１の処理について説明する。図６は、第一の実施例における端末装置の処理フローチャートである。制御部１３は、登録処理を実行するか否かを判定する（Ｏｐ．１）。例えば、ユーザから登録処理を開始する旨の入力があった場合に、肯定の判定を行う。
【００５９】
登録処理を実行する場合には（Ｏｐ．１Ｙｅｓ）、制御部１３は、ユーザＩＤを生成する（Ｏｐ．２）。ここでは、端末装置１側でユーザＩＤを生成するが、制御部１３は、認証装置２側へユーザＩＤの生成を要求してもよい。
【００６０】
さらに、生成部１４は、読取装置から取得した情報をもとに、所定のアルゴリズムで認証情報を生成する（Ｏｐ．３）。そして、制御部１３は、認証情報およびユーザＩＤを含む登録要求を生成する。そして、制御部１３は、送信部１２を制御して、登録要求を認証装置２へ送信する（Ｏｐ．４）。
【００６１】
一方、登録処理を実行しない場合には（Ｏｐ．１Ｎｏ）、生成部１４は、読取装置から取得した情報を基に、認証装置２へ認証対象として入力する入力情報を生成する（Ｏｐ．５）。そして、制御部１３は、認証要求を生成するとともに、送信部１２を制御して、認証要求を認証装置２へ送信する（Ｏｐ．６）。なお、本実施例においては、１対多認証が実行されるため、認証処理において、ユーザは、ユーザＩＤを入力する必要はない。よって、認証要求には、ユーザＩＤは含まれない。
【００６２】
次に、認証要求に対する認証結果を受信したか否かを制御部１３は判断する（Ｏｐ．７）。認証結果を受信するまで待機し（Ｏｐ．７Ｎｏ）、受信部１１が認証結果を受信した場合には（Ｏｐ．７Ｙｅｓ）、制御部１３の制御の下、表示部１６が認証結果を表示する（Ｏｐ．８）。例えば、表示部１６は、認証結果の成功または失敗をユーザへ通知する画面を、表示する。
【００６３】
次に、第一の実施例における認証装置２の処理について説明する。図７は、第一の実施例における認証装置の処理フローチャートである。制御部２３は、受信部２１が登録要求を受信したか否かを判定する（Ｏｐ．１１）。
【００６４】
登録要求を受信した場合には（Ｏｐ．１１Ｙｅｓ）、制御部２３は登録処理を実行する。まず、暗号化部２４が、鍵情報Ｋを用いて、所定のルールで認証情報ｍｉを暗号化することで、暗号化認証情報ＥＫ（ｍｉ）を生成する（Ｏｐ．１２）。なお、認証情報ｍｉは、登録要求に含まれる。例えば、暗号化部２４は、鍵情報Ｋと認証情報ｍｉとの排他的論理和を演算することで、暗号化認証情報ＥＫ（ｍｉ）を生成する。
【００６５】
そして、暗号化部２４は、ユーザＩＤと暗号化認証情報ＥＫ（ｍｉ）を、記憶部２９の暗号化認証情報管理テーブルへ格納する（Ｏｐ．１３）。そして、制御部２３は、一連の登録処理を終了する。
【００６６】
一方、登録要求を受信していない場合には（Ｏｐ．１１Ｎｏ）、制御部２３は、受信部２１が認証要求を受信したか否かを判定する（Ｏｐ．１４）。認証要求を受信していない場合には（Ｏｐ．１４Ｎｏ）、制御部２３は、一連の処理を終了する。一方、認証要求を受信している場合には（Ｏｐ．１４Ｙｅｓ）、制御部２３は、照合処理を実行する（Ｏｐ．１５）。
【００６７】
図８は、第一の実施例における照合処理のフローチャートである。まず、制御部２３は、初期設定を行う（Ｏｐ．２１）。制御部２３は、最小ハミング距離変数ＨＤｍｉｎを、認証情報のビット数（例えば、８）に設定する。なお、最小ハミング距離変数は、入力情報ｍ’と認証情報ｍｉとのハミング距離ＨＤｉのうち、最小のハミング距離を示す変数であって、以降の照合処理を実行する事で更新される。
【００６８】
また、制御部２３は、初期設定において、カウンタ変数ｊを「１」に設定する。なお、カウンタ変数は、暗号化認証情報管理テーブルのレコード番号に対応する。さらに、制御部２３は、暗号化認証情報管理テーブル内のレコード数を、最大カウンタ値Ｎｊとして設定する。そして、認証が成功するユーザのユーザＩＤを管理するための最小ＩＤ変数ＩＤｍｉｎを、対応するユーザＩＤが存在しない値（例えば、−１）に設定する。なお、最小ＩＤ変数ＩＤｍｉｎは、以降の照合処理を実行する事で更新される。
【００６９】
初期設定終了後、制御部２３は、カウンタ変数ｊが最大カウンタ値Ｎｊと一致するか判定する（Ｏｐ．２２）。一致しない場合には（Ｏｐ．２２Ｎｏ）、比較部２５は、カウンタ変数ｊに対応するレコードを参照し、当該レコードに格納されている暗号化認証情報ＥＫ（ｍｉ）を取得するとともに、入力情報ｍ’との比較結果ＥＫ（ＨＶｉ）を算出する（Ｏｐ．２３）。例えば、比較部２５は、暗号化認証情報ＥＫ（ｍｉ）と入力情報ｍ’との排他的論理和を行うことで、比較結果ＥＫ（ＨＶｉ）を算出する。
【００７０】
そして、特定部２６は、比較部２５から出力された比較結果ＥＫ（ＨＶｉ）が、条件式２により規定される条件を満たすか否かを判定する（Ｏｐ．２４）。条件式２を満たす場合（Ｏｐ．２４Ｙｅｓ）、復号部２７は、比較結果ＥＫ（ＨＶｉ）を鍵情報Ｋにより復号する（Ｏｐ．２５）。そして、判定部２８は、復号により得られた照合結果ＨＶｉに基づき、認証情報ｍｉと入力情報ｍ’とのハミング距離ＨＤｉを算出する。そして、判定部２８は、ハミング距離ＨＤｉが最小ハミング距離変数ＨＤｍｉｎよりも小さいか判定する（Ｏｐ．２６）。
【００７１】
ハミング距離ＨＤｉが最小ハミング距離変数ＨＤｍｉｎよりも小さい場合は（Ｏｐ．２６Ｙｅｓ）、判定部２８は、最小ハミング距離変数ＨＤｍｉｎを、ハミング距離ＨＤｉに更新するとともに、最小ＩＤ変数ＩＤｍｉｎを、カウンタ変数ｊに更新する（Ｏｐ．２７）。
【００７２】
Ｏｐ．２７終了後または条件式２を満たさない場合（Ｏｐ．２４Ｎｏ）、または、ハミング距離ＨＤｉが最小ハミング距離変数ＨＤｍｉｎ以上である場合は（Ｏｐ．２６Ｎｏ）、制御部２３は、カウンタ変数ｊをインクリメントする（Ｏｐ．２８）。そして、Ｏｐ．２２へ戻り、処理を繰り返す。つまり、より小さなハミング距離ＨＤｉが見つかった時点で、最小ハミング距離ＨＤｍｉｎは、そのハミング距離ＨＤｉに更新される。さらに、最小ＩＤ変数ＩＤｍｉｎも更新される。
【００７３】
そして、カウンタ変数ｊが、最大カウンタ値Ｎｊと一致した場合には（Ｏｐ．２２Ｙｅｓ）、全ての暗号化認証情報ＥＫ（ｍｉ）について、処理が終了したこととなるため、制御部２３は、照合処理を終了する。
【００７４】
次に、図７に戻り、照合処理（Ｏｐ．１５）が終了したのち、判定部２８は、最小ハミング距離ＨＤｍｉｎが、閾値ｄよりも小さいか否かを判定する（Ｏｐ．１６）。そして、最小ハミング距離ＨＤｍｉｎが、閾値ｄよりも小さい場合（Ｏｐ．１６Ｙｅｓ）、判定部２８は、認証が成功であった旨を示す認証結果を生成する。また、判定部２８は、最小ＩＤ変数ＩＤｍｉｎが示すレコード「ｊ」に格納されているユーザＩＤ「ｉ」を、暗号化認証情報管理テーブルより取得する。そして、送信部２２は、認証が成功であった旨を示す認証結果とユーザＩＤを端末装置１へ送信する（Ｏｐ．１７）。
【００７５】
なお、認証装置２が、ユーザＩＤとユーザ名とを対応付けて管理している場合には、ユーザＩＤに対応するユーザ名も端末装置１へ送信されてもよい。この場合、図６のＯｐ．８において、端末装置１の表示部１６は、認証が成功した旨とともに、認証されたユーザの正誤を問うメッセージを、表示する。例えば、「認証が成功しました。Ａさんですか？」というメッセージが表示される。１対多認証においては、ユーザＩＤの入力が不要となることから、ユーザの入力情報ｍ’と複数の認証情報ｍｉの照合結果により、認証成否が判定される。その結果、ユーザの入力情報ｍ’と当該ユーザ以外の認証情報ｍｉとが類似すると判定され、認証が成功してしまうことがある。よって、ユーザ自身に、ユーザ名を確認させることで、ユーザは自分自身として正しく認証されたのかを確認することができる。
【００７６】
一方、最小ハミング距離ＨＤｍｉｎが、閾値ｄ以上である場合（Ｏｐ．１６Ｎｏ）、判定部２８は、認証が失敗であった旨を示す認証結果を生成する。そして、送信部２２は、認証が失敗であった旨を示す認証結果を端末装置１へ送信する（Ｏｐ．１８）。
【００７７】
以上のように、認証装置２は、条件式２の条件を満たさない暗号化認証情報ＥＫ（ｍｉ）の比較結果ＥＫ（ＨＶｉ）については、復号処理を省略する。一方、条件式２の条件を満たし、認証が成功する可能性がある暗号化認証情報ＥＫ（ｍｉ）の比較結果ＥＫ（ＨＶｉ）については、復号を行う。よって、認証装置２は、認証が成功する可能性のある暗号化認証情報ＥＫ（ｍｉ）が絞り込み対象から除外されることを防ぐ。
【００７８】
［第二の実施例］
図９および図１０は、第二の実施例に係る認証システムを説明するための図である。第二の実施例における認証システムは、端末装置３と管理装置４と判定装置５を含む。なお、端末装置３と管理装置４と判定装置５とは、ネットワークＮを介して接続されている。また、管理装置４と判定装置５は、専用のネットワークで接続されてもよい。なお、一つの管理装置４に対して、複数の判定装置５が接続する構成であってもよい。
【００７９】
端末装置３は、管理装置４へ認証処理を要求するコンピュータである。管理装置４は、暗号化認証情報を管理するコンピュータである。管理装置４は、処理を実行するサーバ４００と暗号化認証情報を記憶するデータベース４０１とを含む。判定装置５は、管理装置４から受信した比較結果ＥＫ（ＨＶｉ）を用いて、認証の成功または失敗を判定するコンピュータである。
【００８０】
図９は、第二の実施例に関する認証システムにおける、登録処理を説明するための図である。登録処理においては、まず、端末装置３は、ユーザＩＤ”Ａ”と、認証情報ｍＡを判定装置５へ送信する。判定装置５は、ユーザＩＤ”Ａ”と認証情報ｍＡとを受信する。そして、判定装置５は、鍵情報Ｋを用いて認証情報ｍＡを暗号化することで、暗号化認証情報ＥＫ（ｍＡ）を生成する。本実施例においては、判定装置５は、鍵情報Ｋと認証情報ｍＡとの排他的論理和により、暗号化認証情報ＥＫ（ｍＡ）を生成する。
【００８１】
そして、ユーザＩＤ”Ａ”と暗号化認証情報ＥＫ（ｍＡ）を、管理装置４へ送信する。管理装置４は、判定装置５から受信したユーザＩＤ”Ａ”と暗号化認証情報ＥＫ（ｍＡ）とを対応付けて、データベース４０１へ記憶する。
【００８２】
図１０は、第二の実施例に関する認証システムにおける、認証処理を説明するための図である。端末装置３は、入力情報ｍ’を生成し、管理装置４へ送信する。管理装置４は、入力情報ｍ’を受信すると、データベース４０１に登録された暗号化認証情報ＥＫ（ｍｉ）各々について、入力情報ｍ’との比較結果ＥＫ（ＨＶｉ）を算出する。本実施例においては、比較結果ＥＫ（ＨＶｉ）は、例えば、入力情報ｍ’と暗号化認証情報ＥＫ（ｍｉ）との排他的論理和によって得られる。なお、ＨＶｉは、認証情報ｍｉと入力情報ｍ’との照合結果を示す。比較結果ＥＫ（ＨＶｉ）は、認証情報ｍｉと入力情報ｍ’との照合結果を、鍵情報Ｋで暗号化した情報に相当する。
【００８３】
次に、管理装置４は、第一の実施例と同様に、条件式２に当てはまる比較結果ＥＫ（ＨＶｉ）を特定し、条件式２に当てはまる比較結果ＥＫ（ＨＶｉ）を、対応するユーザＩＤとともに、判定装置５へ送信する。そして、判定装置５は、受信した比較結果ＥＫ（ＨＶｉ）を、鍵情報Ｋを用いて復号し、認証情報ｍｉと入力情報ｍ’との照合結果ＨＶｉを得る。そして、判定装置５は、照合結果ＨＶｉにおいて「１」を示すビット数と閾値ｄとの比較によって、認証の成功または失敗を判定する。なお、照合結果ＨＶｉにおいて「１」を示すビット数は、認証情報ｍｉと入力情報ｍ’とのハミング距離ＨＤｉである。そして、判定装置５は、認証結果を端末装置３へ送信する。
【００８４】
ここで、管理装置４は、鍵情報Ｋそのものを管理する必要はない。管理装置４は、条件式２を用いた判定に必要な鍵情報Ｋの特徴のみを保持する。例えば、判定装置５は、自身が管理する鍵情報Ｋの特徴ＨＷ（Ｋ）を生成し、認証処理に先駆けて、管理装置４へ送信する。さらに、判定装置５は、認証の成否を判定する閾値ｄについても、管理装置４へ送信する。そして、管理装置４は、鍵情報の特徴ＨＷ（Ｋ）と閾値ｄを、比較結果ＥＫ（ＨＶ）を復号対象とするか否かの判定に利用する。
【００８５】
このように、第二の実施例においては、鍵情報Ｋを管理し、暗号化や復号を実施する主体（判定装置５）と、暗号化認証情報ＥＫ（ｍｉ）を管理する主体（管理装置４）とが分かれている。よって、管理装置４の管理者は、暗号化認証情報ＥＫ（ｍｉ）を復号することができない。つまり、管理者は、認証情報ｍｉを入手することができない。また、判定装置５は、鍵情報Ｋと暗号化認証情報ＥＫ（ｍｉ）とを一緒に管理しないため、鍵情報Ｋと暗号化認証情報ＥＫ（ｍｉ）がともに盗まれ、認証情報ｍｉが悪意の第三者に入手されることを防ぐことができる。
【００８６】
次に、第二の実施例に関する管理装置と判定装置の機能的構成について、説明する。図１１は、第二の実施例に関する管理装置および判定装置の機能ブロック図である。なお、端末装置３は、図４に示す端末装置１と同様の機能的構成である。ただし、登録処理における登録要求は判定装置５へ送信するように、送信部１２は、制御部１３により制御される。また、認証処理における認証要求は、管理装置４へ送信するように、送信部１２は、制御部１３により制御される。
【００８７】
管理装置４は、受信部４１、送信部４２、制御部４３、記憶部４６を有する。受信部４１は、端末装置３または、判定装置５から情報を受信する。例えば、受信部４１は、判定装置５から暗号化認証情報ＥＫ（ｍｉ）およびユーザＩＤを受信する。なお、暗号化認証情報ＥＫ（ｍｉ）は、判定装置５により生成される。また、受信部４１は、端末装置３から、認証対象の入力情報ｍ’を含む認証要求を受信する。
【００８８】
送信部４２は、判定装置５へ情報を送信する。例えば、送信部４２は、制御部４３の制御の下、入力情報ｍ’と暗号化認証情報ＥＫ（ｍｉ）との比較結果ＥＫ（ＨＶｉ）を判定装置５へ送信する。さらに、当該比較結果ＥＫ（ＨＶｉ）に対応するユーザＩＤの情報も併せて送信されてもよい。
【００８９】
制御部４３は、管理装置４の動作を制御する処理部である。例えば、制御部４３は、登録処理および認証処理を実行する。また、制御部４３は、比較部４４および特定部４５を含む。
【００９０】
比較部４４は、認証要求を受信した場合、暗号化認証情報ＥＫ（ｍｉ）と入力情報ｍ’との比較結果ＥＫ（ＨＶｉ）を演算する処理部である。例えば、比較部４４は、記憶部４６から順次暗号化認証情報ＥＫ（ｍｉ）を取得するとともに、認証要求に含まれる入力情報ｍ’と暗号化認証情報ＥＫ（ｍｉ）の排他的論理和を演算することで、比較結果ＥＫ（ＨＶｉ）を得る。なお、すべての比較結果ＥＫ（ＨＶｉ）は、特定部４５に出力される。
【００９１】
特定部４５は、判定装置５により実行される認証の成否判定において、認証が成功する可能性のある暗号化認証情報を特定する。例えば、特定部４５は、第一の実施例における条件式２の条件と、比較結果ＥＫ（ＨＶｉ）を比較する。そして、特定部４５は、条件に合致する比較結果ＥＫ（ＨＶｉ）を、認証が成功する可能性のある暗号化認証情報ＥＫ（ｍｉ）に関わる比較結果であることを特定する。特定部４５は、特定した比較結果ＥＫ（ＨＶｉ）を、送信部４２に出力する。
【００９２】
記憶部４６は、登録処理および認証処理に必要な情報を記憶する。例えば、記憶部４６は、ユーザＩＤ”Ａ”に対応付けて、暗号化認証情報ＥＫ（ｍＡ）を記憶する。例えば、記憶部４６は、図５に示す暗号化認証情報管理テーブルを保持する。さらに、記憶部４６は、鍵情報Ｋの特徴ＨＷ（Ｋ）および認証の成否判定に用いられる閾値ｄを記憶する。
【００９３】
次に、判定装置５は、受信部５１、送信部５２、制御部５３、記憶部５７を有する。受信部５１は、端末装置３または、管理装置４から情報を受信する。例えば、受信部５１は、登録処理において、端末装置３から、認証情報ｍｉおよびユーザＩＤを含む登録要求を受信する。また、受信部５１は、認証処理において、管理装置４から、暗号化認証情報ＥＫ（ｍｉ）と入力情報ｍ’との比較結果ＥＫ（ＨＶｉ）を受信する。
【００９４】
送信部５２は、端末装置３または、管理装置４へ情報を送信する。例えば、送信部５２は、登録処理において、ユーザＩＤおよび暗号化認証情報ＥＫ（ｍｉ）を管理装置４へ送信する。また、送信部５２は、認証処理において、認証結果を、端末装置３へ送信する。
【００９５】
制御部５３は、判定装置５の動作を制御する処理部である。例えば、制御部５３は、登録処理および認証処理を実行する。また、制御部５３は、暗号化部５４、復号部５５、判定部５６を含む。
【００９６】
暗号化部５４は、暗号化処理を実行する処理部である。例えば、暗号化部５４は、登録処理において、認証情報ｍｉを、鍵情報Ｋを用いて特定のルールで暗号化して、暗号化認証情報ＥＫ（ｍｉ）を生成する。なお、第一の実施例同様、条件式１を満たす暗号化が利用される。
【００９７】
復号部５５は、管理装置４から受信した比較結果ＥＫ（ＨＶｉ）を鍵情報Ｋで復号する処理部である。例えば、判定部５６は、比較結果ＥＫ（ＨＶｉ）を鍵情報Ｋで復号することで、認証情報ｍｉと入力情報ｍ’との照合結果ＨＶｉを得る。
【００９８】
判定部５６は、復号部５５による復号で得られた照合結果ＨＶｉを用いて、認証の成否判定を行う。例えば、照合結果ＨＶｉにおいて「１」を示すビット数（ハミング距離ＨＤｉ）と閾値ｄとを比較する。そして、判定部５６は、ハミング距離ＨＤｉが閾値ｄとの比較結果に応じて、認証の成否を判定するとともに、認証結果を生成する。
【００９９】
記憶部５７は、登録処理および認証処理に必要な情報を記憶する。例えば、記憶部５７は、鍵情報Ｋや閾値ｄを記憶する。
【０１００】
次に、第二の実施例における各種装置による処理の流れについて説明する。端末装置３による処理の流れは、第一の実施例と同様である。ただし、端末装置３は、Ｏｐ．６における認証要求を管理装置４に送信し、Ｏｐ．３における登録要求を判定装置５へ送信する。
【０１０１】
図１２は、第二の実施例に関する判定装置の処理フローチャートである。制御部５３は、端末装置３から登録要求を受信したか否かを判定する（Ｏｐ．３０）。例えば、受信部５１が受信した情報に、登録要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１０２】
登録要求を受信した場合（Ｏｐ．３０Ｙｅｓ）、暗号化部５４は、登録要求に含まれる認証情報ｍｉおよび鍵情報Ｋを用いて、暗号化認証情報ＥＫ（ｍｉ）を生成する（Ｏｐ．３１）。送信部５２は、管理装置４へ、ユーザＩＤとともに、暗号化認証情報ＥＫ（ｍｉ）を送信する（Ｏｐ．３２）。そして、判定装置５は、登録処理を終了する。
【０１０３】
一方、登録要求を受信しない場合（Ｏｐ．３０Ｎｏ）、制御部５３は、管理装置４から、入力情報ｍ’と暗号化認証情報ＥＫ（ｍｉ）との比較結果ＥＫ（ＨＶｉ）の送信を開始する旨の開始通知を受信したか否かを判定する（Ｏｐ．３３）。例えば、受信部５１が受信した情報に、開始通知であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。なお、本実施例においては、比較結果ＥＫ（ＨＶｉ）および対応するユーザＩＤを初めて受信したことをもって、開始通知を受信したと判定する。開始通知を受信していない場合は（Ｏｐ．３３Ｎｏ）、処理を終了する。一方、開始通知を受信した場合は（Ｏｐ．３３Ｙｅｓ）、制御部５３は、照合処理を実行する（Ｏｐ．３４）。
【０１０４】
図１３は、第二の実施例に係る照合処理のフローチャートである。制御部５３は、初期設定を行う（Ｏｐ．４０）。制御部５３は、最小ハミング距離変数ＨＤｍｉｎを、認証情報のビット数（例えば、８）に設定する。
【０１０５】
制御部５３は、管理装置４から、比較結果ＥＫ（ＨＶｉ）の送信を終了する旨を示す終了通知を受信したか否かを判定する（Ｏｐ．４１）。終了通知を受信しない場合には（Ｏｐ．４１Ｎｏ）、復号部５５は、比較結果ＥＫ（ＨＶｉ）およびユーザＩＤを取得する（Ｏｐ．４２）。なお、比較結果ＥＫ（ＨＶｉ）は、照合処理とは独立で、管理装置４が比較結果ＥＫ（ＨＶｉ）を送信する都度、受信されるため、復号部５５は、受信した比較結果ＥＫ（ＨＶｉ）を順次処理する。
【０１０６】
次に、復号部５５は、比較結果ＥＫ（ＨＶｉ）を鍵情報Ｋにより復号する（Ｏｐ．４３）。そして、判定部５６は、復号により得られた照合結果ＨＶｉに基づき、認証情報ｍｉと入力情報ｍ’とのハミング距離ＨＤｉを算出する。そして、判定部５６は、ハミング距離ＨＤｉが最小ハミング距離変数ＨＤｍｉｎよりも小さいか判定する（Ｏｐ．４４）。
【０１０７】
ハミング距離ＨＤｉが最小ハミング距離変数ＨＤｍｉｎよりも小さい場合は（Ｏｐ．４４Ｙｅｓ）、判定部５６は、最小ハミング距離変数ＨＤｍｉｎを、ハミング距離ＨＤｉに更新するとともに、最小ＩＤ変数ＩＤｍｉｎを、管理装置４から受信したユーザＩＤに更新する（Ｏｐ．４５）。
【０１０８】
そして、Ｏｐ．４１に戻り、終了通知を受信するまで、処理を繰り返す。一方、終了通知を受信した場合には（Ｏｐ．４１Ｙｅｓ）、制御部５３は、一連の照合処理を終了する。なお、終了通知を受信した時点で、未処理の比較結果ＥＫ（ＨＶｉ）が存在する場合には、制御部５３は、すべての比較結果ＥＫ（ＨＶｉ）を処理したのちに、照合処理を終了する。
【０１０９】
図１２に戻り、照合処理（Ｏｐ．３４）が終了した後、判定部５６は、最小ハミング距離ＨＤｍｉｎが、閾値ｄよりも小さいか否かを判定する（Ｏｐ．３５）。そして、最小ハミング距離ＨＤｍｉｎが、閾値ｄよりも小さい場合（Ｏｐ．３５Ｙｅｓ）、判定部５６は、認証が成功であった旨を示す認証結果を生成する。そして、送信部５２は、認証が成功であった旨を示す認証結果を、最小ＩＤ変数ＩＤｍｉｎに設定されたユーザＩＤとともに、端末装置３へ送信する（Ｏｐ．３６）。
【０１１０】
一方、最小ハミング距離ＨＤｍｉｎが、閾値ｄ以上である場合（Ｏｐ．３５Ｎｏ）、判定部５６は、認証が失敗であった旨を示す認証結果を生成する。そして、送信部５２は、認証が失敗であった旨を示す認証結果を端末装置３へ送信する（Ｏｐ．３７）。
【０１１１】
次に、図１４は、第二の実施例に関する管理装置の処理フローチャートである。制御部４３は、判定装置５から、ユーザＩＤおよび暗号化認証情報ＥＫ（ｍｉ）を受信したか否かを判定する（Ｏｐ．５０）。例えば、受信部４１が受信した情報に、暗号化認証情報であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１１２】
暗号化認証情報を受信した場合（Ｏｐ．５０Ｙｅｓ）、制御部４３は、暗号化認証情報ＥＫ（ｍｉ）とユーザＩＤとを対応付けて、記憶部４６に格納する（Ｏｐ．５１）。そして、管理装置４は、認証処理を終了する。
【０１１３】
一方、暗号化認証情報を受信しない場合（Ｏｐ．５０Ｎｏ）、制御部４３は、端末装置３から認証要求を受信したかを判定する（Ｏｐ．５２）。例えば、受信部４１が受信した情報に、認証要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１１４】
認証要求を受信していない場合は（Ｏｐ．５２Ｎｏ）、制御部４３は、処理を終了する。一方、認証要求を受信した場合は（Ｏｐ．５２Ｙｅｓ）、制御部４３は、初期設定を行う（Ｏｐ．５３）。制御部４３は、初期設定において、カウンタ変数ｊを「１」に設定する。さらに、制御部４３は、暗号化認証情報管理テーブル内のレコード数を、最大カウンタ値Ｎｊとして設定する。
【０１１５】
次に、制御部４３は、カウンタ変数ｊが最大カウンタ値Ｎｊと一致するか判定する（Ｏｐ．５４）。一致しない場合には（Ｏｐ．５４Ｎｏ）、比較部４４は、カウンタ変数ｊに対応するレコードを参照し、当該レコードに格納されている暗号化認証情報ＥＫ（ｍｉ）を取得するとともに、入力情報ｍ’との比較結果ＥＫ（ＨＶｉ）を算出する（Ｏｐ．５５）。例えば、比較部４４は、暗号化認証情報ＥＫ（ｍｉ）と入力情報ｍ’との排他的論理和することで、比較結果ＥＫ（ＨＶｉ）を算出する。
【０１１６】
そして、特定部４５は、比較部４４から出力された比較結果ＥＫ（ＨＶｉ）が、条件式２により規定される条件を満たすか否かを判定する（Ｏｐ．５６）。条件式２を満たす場合（Ｏｐ．５６Ｙｅｓ）、制御部４３の制御の下、送信部４２は、比較結果ＥＫ（ＨＶｉ）と、カウンタ変数ｊに対応するレコードのユーザＩＤとを、判定装置５へ送信する（Ｏｐ．５７）。
【０１１７】
そして、Ｏｐ．５７の終了後、または、比較結果ＥＫ（ＨＶｉ）が、条件式２により規定される条件を満たさない場合（Ｏｐ．５６Ｎｏ）、制御部４３は、カウンタ変数ｊをインクリメントする（Ｏｐ．５８）。そして、Ｏｐ．５４へ戻り、処理を繰り返す。
【０１１８】
一方、カウンタ変数ｊが、最大カウンタ値Ｎｊと一致した場合には（Ｏｐ．５４Ｙｅｓ）、全レコードについて、処理が終了したこととなるため、制御部４３の制御の下、送信部４２は、終了通知を判定装置５へ送信する（Ｏｐ．５９）。そして、管理装置４は、一連の処理を終了する。
【０１１９】
以上のように、第二の実施例によれば、鍵情報Ｋと暗号化認証情報ＥＫ（ｍｉ）とを別々に管理することで、セキュリティを向上させることができる。さらに、判定装置５による復号処理は、管理装置４により復号が必要であると判定された暗号化認証情報ＥＫ（ｍｉ）に係る比較結果ＥＫ（ＨＶｉ）に対してのみ実行される。よって、判定装置５の処理コストを低減することができるとともに、すべての比較結果ＥＫ（ＨＶｉ）を管理装置４から判定装置５へ送信する場合と比較して、装置間の通信量を低減することができる。
【０１２０】
［第三の実施例］
第三の実施例は、復号処理の対象となる比較結果ＥＫ（ＨＶｉ）を絞り込むための条件を更新する。つまり、第三の実施例は、条件式２により設定される下限値および上限値を更新する。
【０１２１】
閾値ｄ以下のハミング距離ＨＤｉを持つ認証情報ｍｉが存在することが検知された場合は、当該ハミング距離ＨＤｉよりも小さなハミング距離ＨＤｉ’を持つ認証情報ｍｉ’が存在するか否かを検索すればよい。よって、条件式２により設定される下限値および上限値を、ハミング距離ＨＤｉに応じて、より厳しい条件に更新する。
【０１２２】
下限値および上限値により規定される条件がより厳しい条件に更新されることで、復号処理の対象とされる比較結果は、さらに限定される。第三の実施例は、復号処理の対象を一層制限する事で、第一の実施例および第二の実施例と比較して、復号に係る処理コストをさらに低減させる。
【０１２３】
図１５および図１６は、第三の実施例に係る認証システムを説明するための図である。図１５および図１６に示す例では、第三の実施例に係る認証システムは、端末装置３、管理装置６および判定装置７を含む。ただし、第三の実施例は、第一の実施例と同様に、端末装置と認証装置とを含むシステムにも適用可能である。
【０１２４】
端末装置３と管理装置６と判定装置７とは、ネットワークＮを介して接続されている。また、管理装置６と判定装置７は、専用のネットワークで接続されてもよい。端末装置３は、第二の実施例に係る端末装置と同様の処理を行うため、説明を割愛する。管理装置６は、第二の実施例に係る管理装置４と同様の処理を行うとともに、判定装置７からの出力に応じて、条件式２に係る下限値および上限値を更新する。判定装置７は、第二の実施例に係る判定装置５と同様の処理を行うとともに、管理装置６に対して、条件式２に係る下限値および上限値の更新を指示する。
【０１２５】
図１５は、第三の実施例に関する認証システムにおける、登録処理を説明するための図である。第三の実施例の登録処理においては、管理装置６は、第二の実施例に係る管理装置４と同様の処理を行う。判定装置７は、第二の実施例に係る判定装置５と同様の処理を行う。
【０１２６】
次に、図１６は、第三の実施例に関する認証システムにおける、認証処理を説明するための図である。第二の実施例と同様に、端末装置３は、入力情報ｍ’を生成し、管理装置６へ送信する。管理装置６は、第二の実施例と同様に、順次、入力情報ｍ’と暗号化認証情報ＥＫ（ｍｉ）との比較結果ＥＫ（ＨＶｉ）を算出する。そして、管理装置６は、比較結果ＥＫ（ＨＶｉ）が条件式２に当てはまる場合に、対応するユーザＩＤとともに、比較結果ＥＫ（ＨＶｉ）を、順次、判定装置７へ送信する。
【０１２７】
一方、判定装置７は、第二の実施例と同様に、順次、受信した比較結果ＥＫ（ＨＶｉ）を鍵情報Ｋを用いて復号する。そして、判定装置７は、認証情報ｍｉと入力情報ｍ’との照合結果ＨＶｉを用いて、認証成否を判定する。つまり、判定装置７は、認証情報ｍｉと入力情報ｍ’とのハミング距離ＨＤｉが閾値ｄ以下であるかを判定する。
【０１２８】
そして、認証情報ｍｉと入力情報ｍ’とのハミング距離ＨＤｉが閾値ｄ以下である場合に、判定装置７は、条件式２に係る上限値および下限値の更新指示を、管理装置６へ送信する。更新指示においては、判定装置７は、ハミング距離ＨＤｉを管理装置６へ、新たな閾値ｄ’として通知する。通知を受けた管理装置６は、新たな閾値ｄ’に対応した上限値および下限値を使って、比較結果ＥＫ（ＨＶｉ）を復号対象とするか否かの判定を行う。
【０１２９】
このように、閾値ｄ’は閾値ｄよりも小さい値となる。よって、下限値「ＨＷ（Ｋ）−ｄ」は、より大きな値「ＨＷ（Ｋ）−ｄ’」に、上限値「ＨＷ（Ｋ）＋ｄ」は、より小さな値「ＨＷ（Ｋ）＋ｄ’」に変更される。つまり、条件式２により規定される条件は、更新指示により、より厳しい条件に更新されることとなる。
【０１３０】
次に、第三の実施例に関する管理装置と判定装置の機能的構成について、説明する。図１７は、第三の実施例に関する管理装置および判定装置の機能ブロック図である。
【０１３１】
管理装置６は、受信部６１、送信部６２、制御部６３、記憶部６６を有する。受信部６１は、受信部４１と同様の処理を行う。送信部６２は、送信部４２と同様の処理を行う。記憶部６６は、記憶部４６と同様の情報を記憶する。
【０１３２】
制御部６３は、管理装置６の動作を制御する処理部である。例えば、制御部６３は、登録処理および認証処理を実行する。また、制御部６３は、比較部６４および特定部６５を含む。
【０１３３】
比較部６４は、比較部４４と同様の処理を行う。特定部６５は、特定部４５と同様の処理を行うとともに、判定装置７から更新指示を受信した場合に、条件式２にかかる条件を更新する。つまり、特定部６５は、新たな閾値ｄ’を用いて、上限値および下限値を更新する。
【０１３４】
次に、判定装置７は、受信部７１、送信部７２、制御部７３、記憶部７７を有する。受信部７１は、受信部５１と同様の処理を行う。送信部７２は、送信部５２と同様の処理を行う。記憶部７７は、記憶部５７と同様の情報を記憶する。
【０１３５】
制御部７３は、判定装置７の動作を制御する処理部である。例えば、制御部７３は、登録処理および認証処理を実行する。また、制御部７３は、暗号化部７４、復号部７５、判定部７６を含む。
【０１３６】
暗号化部７４は、暗号化部５４と同様の処理を行う。復号部７５は、復号部５５と同様の処理を行う。判定部７６は、判定部５６と同様の処理を行うとともに、ハミング距離ＨＤｉが閾値ｄよりも小さい照合結果ＨＶｉを検知した場合に、新たな閾値ｄ’を含む更新指示を生成する。そして、判定部７６は、送信部７２を制御して、管理装置６へ更新指示を送信する。新たな閾値ｄ’は、閾値ｄよりも小さいと判定されたハミング距離ＨＤｉである。
【０１３７】
次に、第三の実施例における各種装置による処理の流れについて説明する。端末装置３による処理の流れは、第二の実施例と同様である。
【０１３８】
図１８は、第三の実施例に関する判定装置の処理フローチャートである。Ｏｐ．６０、Ｏｐ．６１、Ｏｐ．６２、Ｏｐ．６３、Ｏｐ．６６、Ｏｐ．６７は、第二の実施例に係る、Ｏｐ．３０、Ｏｐ．３１、Ｏｐ．３２、Ｏｐ．３３、Ｏｐ．３６、Ｏｐ．３７と同様である。以下、Ｏｐ．６４（図１９）およびＯｐ．６５について、説明する。
【０１３９】
図１９は、第三の実施例に係る照合処理のフローチャートである。制御部７３は、初期設定を行う（Ｏｐ．７０）。制御部７３は、最小ハミング距離変数ＨＤｍｉｎを、認証情報のビット数（例えば、８）に設定する。そして、最小ＩＤ変数ＩＤｍｉｎを、対応するユーザＩＤが存在しない値（例えば、−１）に設定する。
【０１４０】
制御部７３は、管理装置６から、比較結果の送信を終了する旨を示す終了通知を受信したか否かを判定する（Ｏｐ．７１）。終了通知を受信しない場合には（Ｏｐ．７１Ｎｏ）、復号部７５は、比較結果ＥＫ（ＨＶｉ）およびユーザＩＤを取得する（Ｏｐ．７２）。
【０１４１】
次に、復号部７５は、比較結果ＥＫ（ＨＶｉ）を鍵情報Ｋにより復号する（Ｏｐ．７３）。そして、判定部７６は、復号により得られた照合結果ＨＶｉに基づき、認証情報ｍｉと入力情報ｍ’とのハミング距離ＨＤｉを算出する。そして、判定部７６は、ハミング距離ＨＤｉが閾値ｄよりも小さいか判定する（Ｏｐ．７４）。
【０１４２】
ハミング距離ＨＤｉが閾値ｄよりも小さい場合は（Ｏｐ．７４Ｙｅｓ）、判定部７６は、ハミング距離ＨＤｉが最小ハミング距離変数ＨＤｍｉｎよりも小さいか判定する（Ｏｐ．７５）。一方、ハミング距離ＨＤｉが閾値ｄよりも大きい場合は（Ｏｐ．７４Ｎｏ）、制御部７３は、Ｏｐ．７１に戻る。
【０１４３】
ハミング距離ＨＤｉが最小ハミング距離変数ＨＤｍｉｎよりも小さい場合は（Ｏｐ．７５Ｙｅｓ）、判定部７６は、最小ハミング距離変数ＨＤｍｉｎを、ハミング距離ＨＤｉに更新するとともに、最小ＩＤ変数ＩＤｍｉｎを、対応するユーザＩＤに更新する（Ｏｐ．７６）。そして、判定部７５は、閾値ｄを、最小ハミング距離変数ＨＤｍｉｎに更新するとともに、新たな閾値ｄ’（ＨＤｍｉｎ）を含む更新指示を生成する。送信部７２は、更新指示を管理装置６へ送信する（Ｏｐ．７７）。
【０１４４】
ハミング距離ＨＤｉが最小ハミング距離変数ＨＤｍｉｎよりも大きい場合は（Ｏｐ．７５Ｎｏ）、制御部７３は、Ｏｐ．７１に戻り、終了通知を受信するまで、処理を繰り返す。一方、終了通知を受信した場合には（Ｏｐ．７１Ｙｅｓ）、制御部７３は、一連の照合処理を終了する。
【０１４５】
図１８に戻り、照合処理（Ｏｐ．６４）が終了した後、判定部７６は、最小ＩＤ変数ＩＤｍｉｎが、初期設定値から更新されているかを判定する（Ｏｐ．６５）。例えば、判定部７６は、最小ＩＤ変数ＩＤｍｉｎが、−１であるかを判定する。最小ＩＤ変数ＩＤｍｉｎが、初期設定値から更新されている場合（Ｏｐ．６５Ｙｅｓ）、判定部７６は、認証が成功であった旨を示す認証結果を生成する。一方、最小ＩＤ変数ＩＤｍｉｎが、初期設定値から更新されていない場合（Ｏｐ．６５Ｎｏ）、判定部７６は、認証が失敗であった旨を示す認証結果を生成する。
【０１４６】
次に、図２０は、第三の実施例に関する管理装置の処理フローチャートである。Ｏｐ．８０、Ｏｐ．８１、Ｏｐ．８２、Ｏｐ．８３、Ｏｐ．８４、Ｏｐ．８５、Ｏｐ．８６、Ｏｐ．８７、Ｏｐ．９０、Ｏｐ．９１は、各々Ｏｐ．５０、Ｏｐ．５１、Ｏｐ．５２、Ｏｐ．５３、Ｏｐ．５４、Ｏｐ．５５、Ｏｐ．５６、Ｏｐ．５７、Ｏｐ．５８、Ｏｐ．５９と同様である。第三の実施例においては、Ｏｐ．８６またはＯｐ．８７の後に、管理装置６は、Ｏｐ．８８およびＯｐ．８９を実行する。
【０１４７】
特定部６５は、判定装置７から更新指示を受信しているかを判定する（Ｏｐ．８８）。更新指示を受信していない場合は（Ｏｐ．８８Ｎｏ）、制御部６３は、Ｏｐ．９０を実行する。一方、更新指示を受信している場合は（Ｏｐ．８８Ｙｅｓ）、特定部６５は、閾値ｄを新たな閾値ｄ’で更新する（Ｏｐ．８９）。つまり、Ｏｐ．８６で参照される閾値ｄが更新されることで、条件式２の下限値および上限値が、Ｏｐ．８９以降変更される。
【０１４８】
以上のように、管理装置６と判定装置７とがリアルタイムで連携する事で、管理装置６は復号対象とすべきか否かを判定するための条件を、更新することができる。よって、復号対象をさらに限定することができるため、判定装置７における復号処理の処理コストが、さらに低減される。
【０１４９】
［変型例］
ここで、第一の実施例、第二の実施例、および第三の実施例の変形例について、説明する。第一の実施例、第二の実施例、第三の実施例においては、全ユーザが一律の鍵情報Ｋ（またはマスク値ＲＫ）により、暗号化されるとして説明を行った。変型例においては、ユーザごとに、異なる鍵情報Ｋｉ（またはマスク値ＲＫｉ）を利用する。変型例においては、認証情報ｍｉを鍵情報Ｋｉ（またはマスク値ＲＫｉ）により暗号化する事で、暗号化認証情報ＥＫｉ（ｍｉ）を生成する。そして、変型例は、復号においては、ユーザごとの鍵情報Ｋｉ（またはマスク値ＲＫｉ）を利用する。以下、変型例における２つの実施例を説明する。
【０１５０】
［第一の変型例］
第一に、同一の特徴を持つ、異なる鍵情報（またはマスク値）を利用する場合について、説明する。つまり、鍵情報Ｋｉ（またはマスク値ＲＫｉ）のビット列において「１」を示すビットの数が、いずれも同一となる鍵情報を利用する。第一の変型例は、各ユーザＩＤごとに、認証情報ｍｉに適用した鍵情報Ｋｉ（またはマスク値ＲＫｉ）を管理する。このとき、鍵情報Ｋｉの特徴は同一であるため、条件式２に規定された条件を用いて、第一の実施例から第三の実施例同様の処理により、１対多認証が実行される。
【０１５１】
［第二の変型例］
第二の変型例は、ユーザごとに適用される鍵情報（またはマスク値）の特徴が、鍵情報間で異なる場合について、説明する。なお、以下の説明においては、一つの鍵情報Ｋから複数のマスク値ＲＫｉを生成し、各々のユーザの認証情報ｍｉを暗号化することとして説明する。しかし、鍵情報Ｋｉ自体が、ユーザごとに異なる場合でも、同様である。
【０１５２】
第一の実施例から第三の実施例にて用いられる条件式２は、各認証情報の暗号化に用いられる鍵情報Ｋ（またはマスク値ＲＫ）は同一であって、その鍵情報の特徴ＨＷ（Ｋ）も一意であることを利用して、導出された条件式である。そこで、第二の変型例においては、以下の条件式６を用いる。
2015185990.tif 000008
【０１５３】
ＨＷ（ＲＫ）ｍｉｎは、各マスク値のビット列における「１」を示すビットの数の中で、最小の値である。ＨＷ（ＲＫ）ｍａｘは、各マスク値のビット列における「１」を示すビットの数の中で、最大の値である。条件式６は、条件式２をマスク値ＲＫｉごとに適用したときに、最も小さい値を与える「ＨＷ（ＲＫｉ）ｍｉｎ−ｄ」を下限値として採用するとともに、最も大きい値を与える「ＨＷ（ＲＫｉ）ｍａｘ＋ｄ」を上限値として採用することで、導出される。
【０１５４】
図２１は、マスク値管理テーブルのデータ構成例である。なお、第一の実施例に本変型例を適用する場合には、認証装置２がマスク値管理テーブルを記憶する。第二の実施例に本変型例を適用する場合には、判定装置５がマスク値管理テーブルを記憶する。第三の実施例に本変型例を適用する場合には、判定装置７がマスク値管理テーブルを記憶する。以下では、第二の実施例に適用した場合について説明する。
【０１５５】
マスク値管理テーブルは、レコード番号、ユーザＩＤ、マスク値、マスク値の特徴を対応付けて記憶する。例えば、登録要求を端末装置３から受信した場合に、判定装置５は、鍵情報Ｋからマスク値を生成する。そして、判定装置５は、登録要求に含まれる認証情報（例えば、ｍＡ）を、マスク値（例えば、ＲＫ１「１１００１１００」）で暗号化することで、暗号化認証情報ＥＫ１（ｍＡ）を生成する。この時、判定装置５は、登録要求に含まれるユーザＩＤ”Ａ”に対応付けて、マスク値ＲＫ１「１１００１１００」を、マスク値管理テーブルに登録する。
【０１５６】
また、判定装置５は、マスク値の特徴ＨＷ（ＲＫｉ）も併せて、マスク値管理テーブルに登録する。なお、マスク値の特徴ＨＷ（ＲＫｉ）は、マスク値ＲＫｉのビット列において、「１」を示すビットの数である。判定装置５は、管理装置４に、マスク値の特徴ＨＷ（ＲＫｉ）の最大値ＨＷ（ＲＫｉ）ｍａｘおよび最小値ＨＷ（ＲＫｉ）ｍｉｎを送信することで、管理装置４は、条件式６に応じた判定を行うことができる。
【０１５７】
次に、変型例を適用した場合の各種処理フローを説明する。第一の実施例に適用した場合には、図８におけるＯｐ．２４において、条件式６を用いた判定が行われるとともに、Ｏｐ．２５において、ユーザＩＤに対応するマスク値で、比較結果が復号される。
【０１５８】
第二の実施例に変型例を適用した場合には、判定装置５は、Ｏｐ．４３において、ユーザＩＤに対応したマスク値で、比較結果を復号する。さらに、管理装置４は、Ｏｐ．５６において条件式６を用いた判定を行う。
【０１５９】
第三の実施例に変型例を適用した場合には、判定装置７は、Ｏｐ．７３において、ユーザＩＤに対応したマスク値で、比較結果を復号する。さらに、管理装置６は、Ｏｐ．８６において条件式６を用いた判定を行う。
【０１６０】
以上のように、第二の変型例によれば、ユーザごとに異なる鍵情報Ｋｉ（またはマスク値ＲＫｉ）を利用することができる。よって、暗号化認証情報ＥＫ（ｍｉ）の安全性をさらに高めることができる。そして、条件式６を利用することで、ユーザごとに異なる鍵情報Ｋｉを利用した場合であっても、認証の成否判定で認証が成功する可能性のある比較結果ＥＫ（ＨＶｉ）のみを、復号対象とすることで、処理コストを低減することができる。
【０１６１】
［ハードウェア構成例］
第一の実施例、第二の実施例、第三の実施例の各々に関する端末装置、認証装置、管理装置、判定装置は、各々コンピュータにより実現される。図２２は、各実施例における端末装置、認証装置、管理装置、判定装置のハードウェア構成例である。なお、図２２に示す構成を有するコンピュータ１０００が、端末装置、認証装置、管理装置、判定装置として機能する。
【０１６２】
コンピュータ１０００は、各実施例に係る登録処理および認証処理を実行し、各実施例における端末装置、認証装置、管理装置、判定装置の各々として機能する。コンピュータ１０００はＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）１００１、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１００２、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）１００３、通信装置１００４、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）１００５、入力装置１００６、表示装置１００７、媒体読取装置１００８を有しており、各部はバス１００９を介して相互に接続されている。そしてＣＰＵ１００１による管理下で相互にデータの送受を行うことができる。
【０１６３】
各実施例のフローチャートに示した登録処理または認証処理が記述された認証プログラムは、コンピュータ１０００が読み取り可能な記録媒体に記録される。コンピュータ１０００が読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。
【０１６４】
光ディスクには、Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ（ＤＶＤ）、ＤＶＤ−ＲＡＭ、Ｃｏｍｐａｃｔ  Ｄｉｓｃ  −  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＣＤ−ＲＯＭ）、Ｃｏｍｐａｃｔ  Ｄｉｓｃ  −  Ｒｅｃｏｒｄａｂｌｅ／ＲｅＷｒｉｔａｂｌｅ（ＣＤ−Ｒ／ＲＷ）などがある。光磁気記録媒体には、Ｍａｇｎｅｔｏ  −  ＯＰｔｉｃａｌ  ｄｉｓｋ（ＭＯ）などがある。認証プログラムを流通させる場合には、例えば、認証プログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売されることが考えられる。
【０１６５】
そして各実施例に係る登録処理および認証処理が記述された認証プログラムを実行するコンピュータ１０００の媒体読取装置１００８が、認証プログラムを記録した記録媒体から、該プログラムを読み出す。ＣＰＵ１００１は、読み出された認証プログラムをＨＤＤ１００５若しくはＲＯＭ１００２、ＲＡＭ１００３に格納する。
【０１６６】
ＣＰＵ１００１は、各実施例に関わる装置全体の動作制御を司る中央処理装置である。そして、ＣＰＵ１００１が、各実施例に関わる認証プログラムをＨＤＤ１００５から読み出して実行する。ＣＰＵ１００１は、各装置における制御部として機能するようになる。先に述べたとおり、プログラムはＣＰＵ１００１とアクセス可能なＲＯＭ１００２またはＲＡＭ１００３に格納されていても良い。
【０１６７】
つぎに、通信装置１００４は、ＣＰＵ１００１の制御の下、各装置における受信部または送信部として機能する。
【０１６８】
ＨＤＤ１００５は、ＣＰＵ１００１の管理下で、各装置における記憶部として機能する。つまり、ＨＤＤ１００５は、登録処理および認証処理に必要な情報を記憶する。プログラム同様、登録処理および認証処理に必要な情報はＣＰＵ１００１とアクセス可能なＲＯＭ１００２またはＲＡＭ１００３に格納されても良い。さらに、処理の過程で生成される各種情報は、例えば、ＲＡＭ１００３に格納される。つまり、ＲＡＭ１００３が記憶部として機能する場合もある。
【０１６９】
入力装置１００６は、各種入力を受け付ける。入力装置１００６は、例えばキーボードやマウスである。表示装置１００７は、各種情報を表示する。表示装置１００７は、例えばディスプレイである。
【符号の説明】
【０１７０】
１，３      端末装置
２      認証装置
４，６      管理装置
５，７      判定装置
１０００    コンピュータ
１００１    ＣＰＵ
１００２    ＲＯＭ
１００３    ＲＡＭ
１００４    通信装置
１００５    ＨＤＤ
１００６    入力装置
１００７    表示装置
１００８    媒体読取装置
１００９    バス
【図１】
2015185990.tif 000009
【図２】
2015185990.tif 000010
【図３】
2015185990.tif 000011
【図４】
2015185990.tif 000012
【図５】
2015185990.tif 000013
【図６】
2015185990.tif 000014
【図７】
2015185990.tif 000015
【図８】
2015185990.tif 000016
【図９】
2015185990.tif 000017
【図１１】
2015185990.tif 000018
【図１２】
2015185990.tif 000019
【図１３】
2015185990.tif 000020
【図１４】
2015185990.tif 000021
【図１５】
2015185990.tif 000022
【図１６】
2015185990.tif 000023
【図１７】
2015185990.tif 000024
【図１８】
2015185990.tif 000025
【図１９】
2015185990.tif 000026
【図２０】
2015185990.tif 000027
【図２１】
2015185990.tif 000028
【図２２】
2015185990.tif 000029
【図１０】
2015185990.tif 000030