(57)【要約】【課題】  登録情報の漏えいによる、第三者のなりすましを防ぐことを目的とする。【解決手段】  端末装置と認証装置とを含む認証システムであって、前記認証装置は、前記端末装置から、認証時に利用される認証情報を受信する受信部と、前記認証情報と鍵情報とを用いて登録情報を生成する暗号化部と、前記登録情報を記憶する記憶部と、前記認証の対象となる入力情報を取得した場合、該入力情報と前記登録情報と前記鍵情報とに基づき、前記認証を実行する制御部と、前記認証の結果を、前記端末装置へ送信する送信部とを有し、前記端末装置は、前記認証を要求する認証要求を送信する送信部と、前記認証の結果を受信する受信部とを有する。【選択図】  図２
2014230156.tif 000002
【特許請求の範囲】
【請求項１】
端末装置と認証装置とを含む認証システムであって、
前記認証装置は、
前記端末装置から、認証時に利用される認証情報を受信する受信部と、
前記認証情報と鍵情報とを用いて登録情報を生成する暗号化部と、
前記登録情報を記憶する記憶部と、
前記認証の対象となる入力情報を取得した場合、該入力情報と前記登録情報と前記鍵情報とに基づき、前記認証を実行する制御部と、
前記認証の結果を、前記端末装置へ送信する送信部とを有し、
前記端末装置は、
前記認証を要求する認証要求を送信する送信部と、
前記認証の結果を受信する受信部とを有することを特徴とする認証システム。
【請求項２】
前記暗号化部は、前記認証情報を前記鍵情報で暗号化することで前記登録情報を生成するとともに、同様の鍵情報で同様の暗号化を２度行うことで、１度目の暗号化が解除される性質を有する演算方法を利用することを特徴とする請求項１記載の認証システム。
【請求項３】
前記端末装置は、
前記登録情報を登録する登録処理において入力される認証用情報を取得するとともに、および前記認証処理において入力される被認証情報を取得する取得部と、
前記認証用情報を他の鍵情報で暗号化した前記認証情報を生成するとともに、前記被認証情報を該他の鍵情報で暗号化した前記入力情報を生成する暗号化部とを有し、
前記送信部は、前記登録処理において、前記認証情報を含む登録要求を前記認証装置へ送信するとともに、前記認証処理において、前記入力情報を含む前記認証要求を該認証装置へ送信することを特徴とする請求項１または請求項２に記載の認証システム。
【請求項４】
前記制御部は、
前記入力情報と前記登録情報との比較結果を演算する演算部と、
前記比較結果と前記鍵情報とに基づき、前記認証を実行する認証部とを含むことを特徴とする請求項１乃至請求項３のいずれか一項に記載の認証システム。
【請求項５】
前記認証情報は、前記認証用情報と前記他の鍵情報との排他的論理和の演算結果であって、
前記入力情報は、前記被認証情報と前記他の鍵情報との排他的論理和の演算結果であって、
前記登録情報は、前記認証情報と前記鍵情報との排他的論理和の演算結果であって、
前記比較結果は、前記入力情報と前記登録情報との排他的論理和演算の結果であって、
前記認証部は、前記比較結果と前記鍵情報との排他的論理和演算の結果に基づき、前記認証を実行することを特徴とする請求項４に記載の認証システム。
【請求項６】
前記認証装置は、
前記受信部と前記暗号化部と前記認証部と前記送信部とを有する判定装置と、該判定装置とは隔離配置された、前記記憶部と前記演算部とを有する管理装置とを含むことを特徴とする請求項５に記載の認証システム。
【請求項７】
認証装置が、
認証の対象となる入力情報を取得した場合、端末装置から取得した認証情報および鍵情報から生成された登録情報を記憶する記憶部から、該登録情報を取得し、
前記入力情報と前記登録情報と前記鍵情報とに基づき、前記認証を実行し、
前記認証の結果を、前記端末装置へ送信する処理を実行することを特徴とする認証方法。
【請求項８】
認証装置に、
認証の対象となる入力情報を取得した場合、端末装置から取得した認証情報および鍵情報から生成された登録情報を記憶する記憶部から、該登録情報を取得し、
前記認証の結果を、前記端末装置へ送信する処理を実行させることを特徴とする認証プログラム。
【請求項９】
端末装置から取得した認証情報および鍵情報から生成された登録情報を記憶する記憶部と、
前記認証の対象となる入力情報を取得した場合、該入力情報と前記登録情報と前記鍵情報とに基づき、前記認証を実行する制御部と、
前記認証の結果を、前記端末装置へ送信する送信部とを有することを特徴とする認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザを認証するための技術に関する。
【背景技術】
【０００２】
ネットワークを用いてユーザを認証するための認証技術がある。パスワード情報や生体情報などの認証時に照合対象となる情報があらかじめ登録され、認証時には、登録された情報と入力情報とが比較される。そして、比較結果に基づき、認証の成功または失敗が判定される。このような認証技術は、例えば、銀行システムにおける認証機能、電子商取引や電子決済の際の認証機能などに、利用されている。
【０００３】
また、照合対象となる情報や入力情報が暗号化されている場合もある。例えば、生体認証システムにおいて、暗号化された生体データが登録情報として登録される。生体認証システムは、別途測定された生体データを暗号化した被認証情報と、登録情報との類似度を用いて、生体データを秘匿したまま認証を行う（例えば、特許文献１や非特許文献１）。
【０００４】
具体的には、登録時には、生体認証システムにおける端末は、生体情報が含まれる画像から虹彩コードを取得し、乱数と虹彩コードの排他的論理和を演算する。そして、端末は計算結果をサーバへ送信するとともに、サーバは受信した計算結果を登録情報として、データベースに登録する。
【０００５】
次に、認証を行う際には、端末は、画像から虹彩コードを取得し、登録時と同様の乱数と虹彩コードとの排他的論理和を演算する。そして、端末は、計算結果である被認証情報をサーバへ送信するとともに、サーバは、被認証情報と登録情報との排他的論理和を演算する。演算結果は、乱数の効果が除外された、登録時の画像における虹彩コードと、認証時の画像における虹彩コードとのハミングベクトルを示す。したがって、サーバは、生体データを復号することなく、認証の成功または失敗を判定することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１３０３８４号公報
【非特許文献】
【０００７】
【非特許文献１】太田陽基ら、プライバシーを保護する虹彩認証方式の提案（Ｐｒｏｐｏｓａｌ  ｏｆ  ａｎ  ｉｒｉｓ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｓｃｈｅｍｅ  ｐｒｏｔｅｃｔｉｎｇ  ｐｒｉｖａｃｙ）、コンピュータセキュリティシンポジウム２００３、２００３年１０月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記生体認証システムにおいては、サーバにて管理されている登録情報が漏えいした場合、第三者によるなりすましが行われてしまう。具体的には、第三者は、取得した登録情報を、認証時に、サーバへ送信する。すると、サーバは、登録された登録情報と、被認証情報として受信した登録情報との排他的論理和を演算する。このとき、演算結果であるハミングベクトルは「０」となる。よって、認証は成功と判定されるため、第三者は、取得した登録情報を利用して、なりすましを行うことができる。
【０００９】
そこで、一つの側面では、本発明は、登録情報の漏えいによる、第三者のなりすましを防ぐことを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決する為に、ひとつの実施態様では、端末装置と認証装置とを含む認証システムにおいて、前記認証装置は、前記端末装置から、認証時に利用される認証情報を受信する受信部と、前記認証情報と鍵情報とを用いて登録情報を生成する暗号化部と、前記登録情報を記憶する記憶部と、前記認証の対象となる入力情報を取得した場合、該入力情報と前記登録情報と前記鍵情報とに基づき、前記認証を実行する制御部と、前記認証の結果を、前記端末装置へ送信する送信部とを有し、前記端末装置は、前記認証を要求する認証要求を送信する送信部と、前記認証の結果を受信する受信部とを有する。
【発明の効果】
【００１１】
本発明の一観点によれば、登録情報の漏えいによる、第三者のなりすましを防ぐことが可能になる。
【図面の簡単な説明】
【００１２】
【図１】図１は、第一の実施例に関する認証システムにおける、登録処理を説明するための図である。
【図２】図２は、第一の実施例に関する認証システムにおける、認証処理を説明するための図である。
【図３】図３は、第一の実施例の変形例における、登録処理を説明するための図である。
【図４】図４は、第一の実施例の変形例における、認証処理を説明するための図である。
【図５】図５は、第一の実施例に関する端末装置および認証装置の機能ブロック図である。
【図６】図６は、登録情報管理テーブルのデータ構成例を示す図である。
【図７】図７は、第一の実施例に関する端末装置の処理フローチャートである。
【図８】図８は、第一の実施例に関する認証装置の処理フローチャートである。
【図９】図９は、第二の実施例に関する認証システムにおける、登録処理を説明するための図である。
【図１０】図１０は、第二の実施例に関する認証システムにおける、認証処理を説明するための図である。
【図１１】図１１は、第二の実施例に関する管理装置および判定装置の機能ブロック図である。
【図１２】図１２は、第二の実施例に関する判定装置の処理フローチャートである。
【図１３】図１３は、第二の実施例に関する管理装置の処理フローチャートである。
【図１４】図１４は、第三の実施例に関する認証システムにおける、登録処理を説明するための図である。
【図１５】図１５は、第三の実施例に関する認証システムにおける、認証処理を説明するための図である。
【図１６】図１６は、第三の実施例に関する中継装置の機能ブロック図である。
【図１７】図１７は、第三の実施例に関する中継装置の処理フローチャートである。
【図１８】図１８は、第四の実施例に関する認証システムにおける、登録処理を説明するための図である。
【図１９】図１９は、第四の実施例に関する認証システムにおける、認証処理を説明するための図である。
【図２０】図２０は、第四の実施例に関する端末装置の処理フローチャートである。
【図２１】図２１は、第四の実施例に関する判定装置の処理フローチャートである。
【図２２】図２２は、第四の実施例に関する管理装置の処理フローチャートである。
【図２３】図２３は、本発明に関する各装置のハードウェア構成例である。
【発明を実施するための形態】
【００１３】
以下詳細な本発明の実施例に関して説明する。なお、以下の各実施例は、処理の内容を矛盾させない範囲で適宜組み合わせることが可能である。以下、図面に基づいて各実施例について説明する。
【００１４】
［第一の実施例］
図１は、第一の実施例に関する認証システムにおける、登録処理を説明するための図である。まず、本実施例における認証システムについて、説明する。認証システムは、端末装置１と認証装置２とを含む。なお、端末装置１と認証装置２とは、ネットワークＮを介して接続されている。ネットワークＮは、例えば、インターネットである。
【００１５】
端末装置１は、認証装置２へ認証を要求するコンピュータである。また、認証装置２は、端末装置１の要求に応じて、認証を実行するコンピュータである。また、認証装置２は、各種処理を実行するサーバ２１と認証に必要な情報を記憶するデータベース２２とを含む。
【００１６】
次に、登録処理について説明する。登録処理とは、後の認証において照合対象となる情報を登録するための処理である。まず、端末装置１は、登録対象となるユーザのユーザＩＤ「Ａ」と、登録対象となる認証用情報「ｍＡ」との入力を受け付ける。
【００１７】
ユーザＩＤは、ユーザを識別するための情報である。また、認証用情報は、後の認証時にユーザを認証するために利用される情報であって、例えばパスワード情報や生体情報である。例えば、生体情報は、虹彩情報、指紋情報、静脈情報である。なお、端末装置２は、各種認証用情報の入力を受け付けるためのインターフェースを有する。
【００１８】
次に、端末装置１は、ユーザＩＤ「Ａ」と認証情報「ｍＡ」とを、認証装置２へ送信する。なお、認証情報は、登録処理において、認証装置２に入力される情報であって、認証用情報に関する情報を含む情報である。なお、本実施例においては、認証情報は、認証用情報そのものである。つまり、本実施例においては、認証情報は、暗号化された認証用情報ではない。
【００１９】
認証装置２は、ユーザＩＤ「Ａ」と認証情報「ｍＡ」とを受信する。そして、認証装置２は、鍵情報「Ｋ」を用いて認証情報「ｍＡ」を暗号化することで、登録情報「ＥＫ（ｍＡ）」を生成する。そして、データベース２２は、ユーザＩＤ「Ａ」と登録情報「ＥＫ（ｍＡ）」とを対応付けて記憶する。
【００２０】
なお、登録情報は、認証装置２が有する鍵情報により、端末装置１から受信した認証情報を暗号化した情報である。ただし、本実施例における暗号化には、同じ鍵情報を用いた同様の演算を２度行うことで、鍵情報を用いた１度目の演算の効果を排除可能な演算が適用される。
【００２１】
例えば、暗号化は、鍵情報Ｋに基づき生成された乱数と、認証情報「ｍＡ」との排他的論理和により行われる。また、暗号化は、鍵情報Ｋと認証情報「ｍＡ」との排他的論理和により行われてもよい。このように、排他的論理和を用いた暗号化を採用した場合、登録処理および後述の認証処理において、各装置における処理計算量を小さくすることができる。また、暗号化によるデータ量の増大を防ぐことができる。
【００２２】
図２は、第一の実施例に関する認証システムにおける、認証処理を説明するための図である。端末装置１は、認証対象となるユーザのユーザＩＤ「Ａ」と、認証対象となる被認証情報「ｍＡ’」との入力を受け付ける。被認証情報は、正規のユーザのみが保持する情報であって、例えばパスワード情報や生体情報である。ただし、被認証情報は、認証用情報と同じ種類であって、同様のフォーマットである。
【００２３】
そして、端末装置１は、ユーザＩＤ「Ａ」と入力情報「ｍＡ’」とを、認証装置２へ送信する。入力情報は、認証処理において、認証装置２に入力される情報であって、被認証情報に関する情報を含む情報である。なお、本実施例においては、入力情報は、被認証情報そのものである。
【００２４】
認証装置２は、ユーザＩＤ「Ａ」に対応する登録情報「ＥＫ（ｍＡ）」を読み出し、入力情報「ｍＡ’」と登録情報「ＥＫ（ｍＡ）」との比較結果を演算する。このとき、比較結果は、暗号化と同様の演算手法により得られる。例えば、認証装置２は、入力情報「ｍＡ’」と登録情報「ＥＫ（ｍＡ）」との排他的論理和を演算する。
【００２５】
さらに、認証装置２は、比較結果と鍵情報「Ｋ」とを用いて認証を行う。そして、認証装置２は、認証結果を端末装置１へ送信する。例えば、認証装置２は、排他的論理和の演算結果を鍵情報「Ｋ」で復号することで、認証用情報と被認証情報とのハミングベクトルを得る。ハミングベクトルは、認証用情報と被認証情報との類似度を示す情報である。例えば、ハミングベクトルの中で「１」を示すビットが少ないほど、認証用情報と被認証情報との類似度は高いことを示す。
【００２６】
本実施例においては、入力情報「ｍＡ’」と登録情報「ＥＫ（ｍＡ）」との排他的論理和は、被認証情報「ｍＡ’」と認証用情報「ｍＡ」との排他的論理和を、鍵情報「Ｋ」で暗号化したものに相当する。被認証情報「ｍＡ’」と認証用情報「ｍＡ」との排他的論理和は、認証用情報「ｍＡ」と被認証情報「ｍＡ’」とのハミングベクトルを示す。よって、入力情報「ｍＡ’」と登録情報「ＥＫ（ｍＡ）」との排他的論理和を、鍵情報Ｋで復号することで、ハミングベクトルが得られる。そして、認証装置２は、ハミングベクトルにおいて「１」を示すビット数と、閾値「Ｔ」とを比較することで、認証の成功または失敗を判定することができる。例えば、ハミングベクトルにおいて「１」を示すビット数が閾値「Ｔ」以上であるときに、認証は失敗と判断される。
【００２７】
第一の実施例においては、データベース２２に登録された登録情報「ＥＫ（ｍＡ）」が漏えいしたとしても、第三者はなりすましを行うことはできない。具体的には、認証時に、端末装置１と認証装置２との通信経路において、第三者が、入力情報を、不正に入手した登録情報「ＥＫ（ｍＡ）」に置換したとする。このとき、認証装置２には、ユーザＩＤ「Ａ」と入力情報「ＥＫ（ｍＡ）」が入力される。
【００２８】
その後、認証装置２は、ユーザ「Ａ」の登録情報「ＥＫ（ｍＡ）」と、入力情報「ＥＫ（ｍＡ）」との比較結果を演算する。なお、比較結果は、登録情報「ＥＫ（ｍＡ）」と、入力情報「ＥＫ（ｍＡ）」とが一致することを示す。
【００２９】
しかし、本実施例においては、認証装置２は、さらに、鍵情報「Ｋ」を比較結果に作用させたうえで、認証を行う。したがって、鍵情報「Ｋ」を用いた演算がさらに実行されることによって、比較結果が、登録情報「ＥＫ（ｍＡ）」と、入力情報「ＥＫ（ｍＡ）」とが一致することを示していたとしても、第三者による認証を失敗とすることができる。
【００３０】
ここで、鍵情報「Ｋ」は、認証において利用される閾値「Ｔ」に基づき決定されることが望ましい。例えば、鍵情報「Ｋ」において「１」を示すビットがＴ個以上、または、鍵情報「Ｋ」に基づき生成される乱数において「１」を示すビットがＴ個以上となるように、鍵情報「Ｋ」が生成される。なお、閾値「Ｔ」は、認証用情報および被認証情報のデータ量や、必要とされる認証強度に基づき、適宜設定される。
【００３１】
次に、第一の実施例の変形例について、説明する。図３は、第一の実施例の変形例における、登録処理を説明するための図である。変形例における認証システムは、端末装置１’と認証装置２’とを含む。
【００３２】
ここで、変形例は、端末装置１’と認証装置２’との通信において、認証用情報及び被認証情報が暗号化された状態で通信されることで、よりセキュリティを向上させる。つまり、端末装置１’は、暗号化を行う機能を有する。なお、図１および図２における端末装置１は暗号化を実施しないが、セキュアな通信経路を利用することで、認証用情報及び被認証情報に対して一定の秘匿性を与えることができる。例えば、通信される情報は、Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ（ＳＳＬ）により、暗号化される。
【００３３】
また、変形例においては、暗号化には、ユーザごとに異なる鍵が利用されるとする。例えば、ユーザＩＤ「Ａ」に対応する鍵情報「ＫＡ」が利用される。ただし、複数のユーザに対して共通の鍵情報が利用されてもよい。なお、以下、端末装置１’において利用される、ユーザＩＤ「Ａ」に対応する鍵情報は「ＫＡ１」、認証装置２’において利用される、ユーザＩＤ「Ａ」に対応する鍵情報は「ＫＡ２」とする。
【００３４】
例えば、あらかじめ、端末装置１’や認証装置２’が各ユーザＩＤと鍵情報とを対応付けて記憶する。また、端末装置１’や認証装置２’がユーザＩＤや補助情報に基づき、ユーザごとの鍵情報ＫＡを生成してもよい。補助情報は、鍵情報の生成のために利用される情報である。また、補助情報は、秘匿された情報であることが望ましい。例えば、鍵情報の生成には、Ｐａｓｓｗｏｒｄ  Ｂａｓｅ  Ｋｅｙ  Ｄｅｒｉｖａｔｉｏｎ  Ｆｕｎｃｔｉｏｎが利用される。
【００３５】
ただし、登録処理において、あるユーザＡに対して生成される鍵情報「ＫＡ１」と、認証処理において同一のユーザＡに対して生成される鍵情報「ＫＡ１」は、同一の鍵情報である。また、登録処理において、あるユーザＡに対して生成される鍵情報「ＫＡ２」と、認証処理において同一のユーザＡに対して生成される鍵情報「ＫＡ２」は、同一の鍵情報である。
【００３６】
次に、端末装置１’が利用する鍵情報「ＫＡ１」と、認証装置２’が利用する鍵情報「ＫＡ２」とは、異なる鍵情報である。つまり、端末装置１’において、認証用情報及び被認証情報が鍵情報「ＫＡ１」により暗号化されるが、認証装置２’は、鍵情報「ＫＡ１」を有さないため、認証用情報及び被認証情報を復号することはできない。したがって、生体情報などの認証用情報は、認証装置２’に対して秘匿化されることとなる。生体情報は、パスワード情報と異なり、変更することができない情報であるため、生体情報に対するセキュリティがより強化される。
【００３７】
まず、図３において、端末装置１’は、ユーザＩＤ「Ａ」と、認証用情報「ｍＡ」の入力を受け付ける。そして、端末装置１’は、ユーザＩＤ「Ａ」に対応する鍵「ＫＡ１」を用いて、認証用情報「ｍＡ」を暗号化することで、認証情報「ＥＫＡ１（ｍＡ）」を生成する。そして、端末装置１’は、ユーザＩＤ「Ａ」と認証情報「ＥＫＡ１（ｍＡ）」とを、認証装置２’へ送信する。先の実施例と異なり、認証情報は、認証用情報そのものではなく、鍵「ＫＡ１」により暗号化された認証用情報である。
【００３８】
次に、認証装置２’は、ユーザＩＤ「Ａ」と認証情報「ＥＫＡ１（ｍＡ）」とを受信する。そして、認証装置２’は、鍵情報「ＫＡ２」を用いて認証情報「ＥＫＡ１（ｍＡ）」を暗号化することで、登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」を生成する。そして、データベース２２’は、ユーザＩＤ「Ａ」と登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」とを対応付けて記憶する。
【００３９】
図４は、第一の実施例の変形例における、認証処理を説明するための図である。端末装置１’は、認証対象となるユーザのユーザＩＤ「Ａ」と、被認証情報「ｍＡ’」との入力を受け付ける。端末装置１’は、ユーザＩＤ「Ａ」に対応する鍵ＫＡ１を用いて、被認証情報「ｍＡ’」を暗号化することで、入力情報「ＥＫＡ１（ｍＡ’）」を生成する。そして、端末装置１’は、ユーザＩＤ「Ａ」と入力情報「ＥＫＡ１（ｍＡ’）」とを、認証装置２’へ送信する。先の実施例と異なり、入力情報は、被認証情報そのものではなく、鍵「ＫＡ１」により暗号化された被認証情報である。
【００４０】
認証装置２’は、ユーザＩＤ「Ａ」と入力情報「ＥＫＡ１（ｍＡ’）」とを受信すると、ユーザＩＤ「Ａ」に対応する登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」を読み出すとともに、入力情報「ＥＫＡ１（ｍＡ’）」と登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」との比較結果を演算する。例えば、認証装置２’は、入力情報「ＥＫＡ１（ｍＡ’）」と登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」との排他的論理和を算出する。さらに、認証装置２’は、比較結果と鍵情報「ＫＡ２」とを用いて認証を行う。そして、認証装置２’は、認証結果を端末装置１へ送信する。
【００４１】
ここで、入力情報「ＥＫＡ１（ｍＡ’）」と登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」との排他的論理和の演算結果は、鍵情報「ＫＡ１」による暗号化の効果が排除され、認証用情報「ｍＡ」と被認証情報「ｍＡ’」との排他的論理和（ハミングベクトル）が、鍵情報「ＫＡ２」により、暗号化された情報に相当する。認証装置２’は、鍵情報「ＫＡ２」により比較結果を復号することで、ハミングベクトルを得ることができる。なお、端末装置１’および認証装置２’により実行される暗号化は、排他的論理和に限られず、先に述べたとおり、同様の鍵情報で２度同様の演算を行うことで、暗号化の効果を排除可能な方法であればよい。
【００４２】
以上のように、変形例は、登録情報の漏えいに伴うなりすましを防止するとともに、認証用情報や被認証情報に対するセキュリティをより向上させることができる。特に、認証用情報や被認証情報が生体情報である場合には、パスワード等と異なり、変更できない。したがって、生体情報に対するセキュリティを強化することが望まれる。
【００４３】
次に、第一の実施例に関する端末装置と認証装置の機能的構成について、説明する。図５は、第一の実施例に関する端末装置および認証装置の機能ブロック図である。なお、図５における端末装置１００は第一の実施例の変形例における端末装置１’に対応するが、端末装置１００は端末装置１であってもよい。認証装置２００は第一の実施例の変形例における認証装置２’に対応するが、認証装置２００は端末装置２であってもよい。
【００４４】
端末装置１００は、受信部１０１、送信部１０２、取得部１０３、制御部１０４、記憶部１０６を有する。受信部１０１は、認証装置２００から情報を受信する処理部である。例えば、認証処理においては、受信部１０１は、認証装置２００から、認証結果を受信する。
【００４５】
送信部１０２は、認証装置２００へ情報を送信する処理部である。例えば、送信部１０２は、登録処理においては、登録要求を認証装置２００へ送信する。登録要求は、ユーザＩＤと、認証情報とを含む情報であって、認証装置２００へ登録情報の登録を要求するための情報である。また、送信部１０２は、認証処理においては、認証要求を認証装置２００へ送信する。認証要求は、ユーザＩＤと、入力情報とを含む情報であって、認証装置２００へ認証を要求するための情報である。
【００４６】
取得部１０３は、認証用情報および被認証情報を取得する処理部である。取得部１０３は、画像を撮影する撮像装置や、パスワード等の入力を受け付ける入力装置から、画像やパスワード入力を取得する。例えば、認証用情報が生体情報である場合には、カメラからユーザの一部を撮影した画像を取得するとともに、特徴点に関する情報を、画像から抽出することで、認証用情報が取得される。
【００４７】
制御部１０４は、端末装置１００の動作を制御する処理部である。例えば、制御部１０４は、登録処理および認証処理を実行する。また、制御部１０４は、例えば、暗号化部１０５を含む。なお、取得部１０３は、制御部１０４の一部であってもよい。
【００４８】
暗号化部１０５は、暗号化処理を実行する処理部である。例えば、暗号化部１０５は、登録処理において、認証用情報を暗号化して、認証情報を生成する。また、暗号化部１０５は、認証処理において、被認証情報を暗号化して、入力情報を生成する。なお、暗号化には、ユーザごとの鍵情報であって、端末装置１００が管理する鍵情報が利用される。本実施例においては、ユーザごとの鍵情報は、端末装置１００の記憶部１０６に記憶される。よって、暗号化部１０５は、記憶部１０６から取得した鍵情報を利用して、暗号化を行う。
【００４９】
記憶部１０６は、登録処理および認証処理に必要な情報を記憶する。例えば、記憶部１０６は、ユーザＩＤ「Ａ」に対応付けて、鍵情報「ＫＡ１」を記憶する。
【００５０】
また、暗号化部１０５は、ユーザごとの鍵情報を生成してもよい。そして、暗号化部１０５は、生成した鍵情報を利用して、暗号化処理を実行してもよい。例えば、鍵情報の生成において、Ｐａｓｓｗｏｒｄ  Ｂａｓｅ  Ｋｅｙ  Ｄｅｒｉｖａｔｉｏｎ  Ｆｕｎｃｔｉｏｎを用いることができる。
【００５１】
次に、認証装置２００は、受信部２０１、送信部２０２、制御部２０３、記憶部２０７を有する。受信部２０１は、端末装置１００から情報を受信する処理部である。例えば、受信部２０１は、登録要求や、認証要求を、端末装置１００から受信する。
【００５２】
送信部２０２は、端末装置へ情報を送信する処理部である。例えば、送信部２０２は、認証結果を端末装置１００へ送信する。
【００５３】
制御部２０３は、認証装置２００の動作を制御する処理部である。例えば、制御部２０３は、登録処理および認証処理を実行する。また、制御部２０３は、暗号化部２０４、演算部２０５、認証部２０６を含む。
【００５４】
暗号化部２０４は、暗号化処理を実行する処理部である。例えば、暗号化部２０４は、登録処理において、認証情報を暗号化して、登録情報を生成する。なお、暗号化には、ユーザごとの鍵情報が利用される。本実施例においては、ユーザごとの鍵情報は、ユーザＩＤと対応付けられて、記憶部２０７に記憶される。よって、暗号化部２０４は、記憶部２０７から取得した鍵情報を利用して、暗号化を行う。なお、暗号化部２０４は、ユーザごとの鍵情報として、例えば、乱数生成器から取得した乱数を利用する。また、生成した鍵情報は、ユーザＩＤと対応付けて、記憶部２０７に記憶される。
【００５５】
演算部２０５は、登録情報と入力情報との比較結果を演算する処理部である。例えば、演算部２０５は、登録情報と入力情報との排他的論理和を演算する。
【００５６】
認証部２０６は、比較結果および鍵情報に基づき、認証を実行する処理部である。例えば、認証部２０６は、比較結果を鍵情報で復号することで、認証用情報と被認証情報とのハミングベクトルを得る。そして、認証部２０６は、ハミングベクトルにおいて「１」を示すビット数と閾値「Ｔ」とを比較し、認証結果を生成する。
【００５７】
記憶部２０７は、登録処理および認証処理に必要な情報を記憶する。例えば、記憶部２０７は、ユーザＩＤ「Ａ」に対応付けて、登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」を記憶する。さらに、記憶部２０７は、ユーザＩＤ「Ａ」に対応付けて、鍵情報「ＫＡ２」を記憶してもよい。
【００５８】
図６は、登録情報管理テーブルのデータ構成例を示す図である。なお、登録情報管理テーブルは、記憶部２０７に記憶される。
【００５９】
登録情報管理テーブルは、ユーザＩＤ２０７１と、登録情報２０７２とを対応付けて記憶する。ユーザＩＤは、ユーザを識別する情報である。登録情報は、端末装置１００から受信した認証情報を、自装置の鍵情報を用いて暗号化した情報である。
【００６０】
次に、各装置における処理について説明する。図７は、第一の実施例に関する端末装置の処理フローチャートである。
【００６１】
端末装置１００の制御部１０４は、登録処理を実行するか否かを判定する（Ｏｐ．１）。例えば、ユーザにより登録処理の開始命令が入力された場合には、制御部１０４は登録処理を実行することを判定する。一方、ユーザにより登録処理の開始命令が入力されない場合には、制御部１０４は登録処理を実行しないことを判定する。つまり、制御部１０４は、認証処理を実行することを判定する。
【００６２】
登録処理を実行する場合（Ｏｐ．１Ｙｅｓ）、取得部１０３は、ユーザＩＤを取得する（Ｏｐ．２）。なお、ユーザＩＤは、ユーザによる入力や、ＩＣチップ内蔵のカードから情報を読み取ることで、取得される。次に、取得部１０３は、認証用情報を取得する（Ｏｐ．３）。なお、例えば、カメラを制御することで、ユーザの体の一部を撮影したり、ＩＣチップ内臓のカードから認証用情報を読み取ることで、認証用情報は、取得される。Ｏｐ．２およびＯｐ．３の順序は入れ替え可能である。
【００６３】
次に、暗号化部１０５は、認証情報を生成する（Ｏｐ．４）。例えば、暗号化部１０５は、認証用情報と鍵情報の排他的論理和を演算する。例えば、鍵情報に基づき生成された乱数と、認証用情報との排他的論理和を演算する。なお、乱数生成に利用した初期ベクトルは、認証処理における暗号化でも利用される。
【００６４】
送信部１０２は、制御部１０４の制御の下、認証装置２００へ登録要求を送信する（Ｏｐ．５）。そして、端末装置１００は、登録処理を終了する。
【００６５】
一方、端末装置が登録処理を実行しないと判定した場合（Ｏｐ．１Ｎｏ）、端末装置は、認証処理を実行する。なお、認証処理を実行する前に、認証処理を実行するか否かを判定してから認証処理に入ってもよい。この場合、認証処理を実行しないと判定した場合には、Ｏｐ．１へ戻る。まず、取得部１０３は、ユーザＩＤを取得する（Ｏｐ．６）。そして、取得部１０３は、認証用情報を取得する処理（Ｏｐ．３）と同様の手法で、被認証情報を取得する（Ｏｐ．７）。なお、Ｏｐ．６およびＯｐ．７の順序は入れ替え可能である。
【００６６】
次に、暗号化部１０５は、入力情報を生成する（Ｏｐ．８）。例えば、暗号化部１０５は、被認証情報と鍵情報の排他的論理和を演算する。例えば、鍵情報に基づき生成された乱数と、被認証情報との排他的論理和を演算する。なお、認証情報の生成における暗号化方法と、入力情報の生成における暗号化情報は、同様の手法が用いられる。さらに、鍵情報も同一の情報が利用される。また、乱数生成に利用した初期ベクトルは、先の登録処理における暗号化に利用された初期ベクトルと同一である。
【００６７】
送信部１０２は、制御部１０４の制御の下、認証装置２００へ認証要求を送信する（Ｏｐ．９）。そして、認証結果を、認証装置２００から受信したかを判定する（Ｏｐ．１０）。認証結果を受信するまで待機し（Ｏｐ．１０Ｎｏ）、受信した場合は（Ｏｐ．１０Ｙｅｓ）、制御部１０４は、表示装置へ認証結果を表示する（Ｏｐ．１１）。そして、端末装置１００は、認証処理を終了する。
【００６８】
次に、図８は、第一の実施例に関する認証装置の処理フローチャートである。制御部２０３は、登録要求を受信したか否かを判定する（Ｏｐ．２０）。例えば、受信部２０１が受信した情報に、登録要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【００６９】
登録要求を受信した場合（Ｏｐ．２０Ｙｅｓ）、暗号化部２０４は、登録情報を生成する（Ｏｐ．２１）。例えば、暗号化部２０４は、登録情報に含まれるユーザＩＤを取得し、ユーザＩＤに対応する鍵情報を取得する。そして、暗号化部２０４は、鍵情報を用いて、認証情報を暗号化することで、登録情報を生成する。
【００７０】
暗号化部２０４は、記憶部２０７へ、ユーザＩＤと対応付けて、登録情報を記憶する（Ｏｐ．２２）。そして、認証装置２００は、登録処理を終了する。
【００７１】
一方、登録要求を受信しない場合（Ｏｐ．２０Ｎｏ）、制御部２０３は、認証要求を受信したか否かを判定する（Ｏｐ．２３）。例えば、受信部２０１が受信した情報に、認証要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【００７２】
認証要求を受信していない場合は（Ｏｐ．２３Ｎｏ）、処理を終了する。一方、認証要求を受信した場合は（Ｏｐ．２３Ｙｅｓ）、演算部２０５は、認証要求に含まれるユーザＩＤに対応する登録情報を、記憶部２０７から取得する（Ｏｐ．２４）。
【００７３】
そして、認証要求に含まれる入力情報と、登録情報との比較結果を演算する（Ｏｐ．２５）。例えば、入力情報と、登録情報との排他的論理和が演算される。なお、演算結果は、認証用情報と被認証情報とのハミングベクトルが、登録情報の生成（Ｏｐ．２１）で利用された鍵情報により暗号化された情報に相当する。
【００７４】
次に、認証部２０６は、登録情報の生成（Ｏｐ．２１）で利用された鍵情報を用いて、比較結果を復号する（Ｏｐ．２６）。認証部２０６は、復号結果と、閾値とに基づき、認証の成功または失敗を判定する（Ｏｐ．２７）。
【００７５】
認証が成功である場合（Ｏｐ．２７Ｙｅｓ）、送信部２０２は、認証結果「成功」を、端末装置１００へ送信する（Ｏｐ．２８）。一方、認証が失敗である場合（Ｏｐ．２７Ｎｏ）、送信部２０２は、認証結果「失敗」を、端末装置１００へ送信する（Ｏｐ．２９）。そして、認証装置２００は、認証処理を終了する。
【００７６】
以上のように、本実施例による認証システムは、登録情報が漏えいした場合であっても、第三者によるなりすましを防ぐことができる。また、変形例によれば、認証装置２００において、認証用情報や被認証情報が暗号化されていない状態で取り扱われることはない。よって、認証用情報や被認証情報に対するセキュリティを確保することができる。さらに、端末装置１００が利用する鍵情報と、認証装置２００が利用する鍵情報とが異なることで、認証装置２００に対して、認証用情報や被認証情報を秘匿することができる。
【００７７】
［第二の実施例］
図９は、第二の実施例に関する認証システムにおける、登録処理を説明するための図である。第二の実施例における認証システムは、端末装置３と管理装置４と判定装置５を含む。なお、端末装置３と管理装置４と判定装置５とは、ネットワークＮを介して接続されている。また、管理装置４と判定装置５は、専用のネットワークで接続されてもよい。なお、一つの管理装置４に対して、複数の判定装置５が接続する構成であってもよい。
【００７８】
端末装置３は、管理装置４へ認証を要求するコンピュータである。また、端末装置３は、第一の実施例の変形例同様、ユーザごとの鍵情報ＫＡ１を管理する。管理装置４は、登録情報を管理するコンピュータである。つまり、管理装置４は、登録情報を記憶する。管理装置４は、処理を実行するサーバ４１と登録情報を記憶するデータベース４２とを含む。
【００７９】
判定装置５は、認証の成功または失敗を判定するコンピュータである。判定装置５は、鍵情報「ＫＡ２」を管理するとともに、登録情報と入力情報との比較結果と、鍵情報「ＫＡ２」に基づき認証を行う。なお、第一の実施例同様、鍵情報「ＫＡ１」と鍵情報「ＫＡ２」とは異なる鍵情報であって、ユーザＩＤ「Ａ」に対応する鍵情報である。
【００８０】
本実施例の登録処理においては、端末装置３は、ユーザＩＤ「Ａ」と、認証用情報「ｍＡ」の入力を受け付ける。そして、端末装置３は、ユーザＩＤ「Ａ」に対応する鍵「ＫＡ１」を用いて、認証用情報「ｍＡ」を暗号化することで、認証情報「ＥＫＡ１（ｍＡ）」を生成する。そして、端末装置３は、ユーザＩＤ「Ａ」と認証情報「ＥＫＡ１（ｍＡ）」とを、判定装置５へ送信する。
【００８１】
次に、判定装置５は、ユーザＩＤ「Ａ」と認証情報「ＥＫＡ１（ｍＡ）」とを受信する。そして、判定装置５は、鍵情報「ＫＡ２」を用いて認証情報「ＥＫＡ１（ｍＡ）」を暗号化することで、登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」を生成する。そして、ユーザＩＤ「Ａ」と登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」を、管理装置４へ送信する。
【００８２】
管理装置４は、判定装置５から受信したユーザＩＤ「Ａ」と登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」とを対応付けて、データベース４２へ記憶する。
【００８３】
図１０は、第二の実施例に関する認証システムにおける、認証処理を説明するための図である。端末装置３は、認証対象となるユーザのユーザＩＤ「Ａ」と、被認証情報「ｍＡ’」との入力を受け付ける。端末装置３は、ユーザＩＤ「Ａ」に対応する鍵「ＫＡ１」を用いて、被認証情報「ｍＡ’」を暗号化することで、入力情報「ＥＫＡ１（ｍＡ’）」を生成する。そして、端末装置３は、ユーザＩＤ「Ａ」と入力情報「ＥＫＡ１（ｍＡ’）」とを、管理装置４へ送信する。
【００８４】
管理装置４は、ユーザＩＤ「Ａ」と入力情報「ＥＫＡ１（ｍＡ’）」とを受信すると、ユーザＩＤ「Ａ」に対応する登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」を読み出すとともに、入力情報「ＥＫＡ１（ｍＡ’）」と登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」との比較結果を演算する。本実施例においては、入力情報「ＥＫＡ１（ｍＡ’）」と登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」との排他的論理和を演算することで、比較結果「ＥＫＡ２（ＨＶ）」を得る。なお、ＨＶは、認証用情報「ｍＡ」と被認証用情報「ｍＡ’」との排他的論理和であるハミングベクトルを示す。つまり、比較結果「ＥＫＡ２（ＨＶ）」は、認証用情報と被認証情報とのハミングベクトルを、鍵情報「ＫＡ２」で暗号化した情報に相当する。
【００８５】
次に、管理装置４は、ユーザＩＤ「Ａ」と比較結果「ＥＫＡ２（ＨＶ）」とを、判定装置５へ送信する。判定装置５は、ユーザＩＤ「Ａ」に対応する鍵情報「ＫＡ２」と、比較結果「ＥＫＡ２（ＨＶ）」とを用いて、認証を実行する。例えば、判定装置５は、鍵情報「ＫＡ２」で比較結果「ＥＫＡ２（ＨＶ）」を復号することで、ハミングベクトルを得る。そして、判定装置５は、ハミングベクトルにおいて「１」を示すビット数と閾値「Ｔ」との比較によって、認証の成功または失敗を判定する。判定装置５は、認証結果を端末装置３へ送信する。
【００８６】
以上のように、管理装置４は、第一の実施例における演算部２０５および記憶部２０７の機能を有する。一方、判定装置５は、第一の実施例における暗号化部２０４および認証部２０６の機能を有する。よって、第二の実施例においては、端末装置３は、登録処理の際には、判定装置５と通信を行い、認証処理の際には、管理装置４と通信を行う。なお、管理装置４と判定装置５をまとめて、第一の実施例と同様に、認証装置と称する場合もある。
【００８７】
また、本実施例においては、登録情報を管理する管理装置４と、鍵情報を管理する判定装置５とが別の装置である。つまり、登録情報と鍵情報を別の主体が管理することで、登録情報を鍵情報とがともに流出する危険性を低減する。よって、第二の実施例は、登録情報の漏えいに伴うなりすましを、より強固に防ぐことができる。
【００８８】
次に、第二の実施例に関する管理装置と判定装置の機能的構成について、説明する。図１１は、第二の実施例に関する管理装置および判定装置の機能ブロック図である。図１１における管理装置４００は図９および図１０における管理装置４に対応する。図１１における判定装置５００は図９および図１０における判定装置５に対応する。
【００８９】
なお、端末装置３は、図５に示す端末装置１００と同様の機能的構成である。ただし、登録処理における登録要求は判定装置５００へ送信されるように、制御部１０４により制御される。また、認証処理における認証要求は、管理装置４００へ送信されるように、制御部１０４により制御される。
【００９０】
管理装置４００は、受信部４０１、送信部４０２、制御部４０３、記憶部４０５を有する。受信部４０１は、端末装置３または、判定装置５００から情報を受信する。例えば、受信部４０１は、判定装置５００から登録情報を受信する。なお、登録情報は、判定装置５００により生成される。また、受信部４０１は、端末装置３から認証要求を受信する。
【００９１】
送信部４０２は、判定装置５００へ情報を送信する。例えば、送信部４０２は、入力情報と登録情報との比較結果を判定装置５００へ送信する。
【００９２】
制御部４０３は、管理装置４００の動作を制御する処理部である。例えば、制御部４０３は、登録処理および認証処理を実行する。例えば、登録処理において、制御部４０３は、判定装置５００から受信した登録情報を、ユーザＩＤと対応付けて記憶部４０５へ格納する。また、制御部４０３は、演算部４０４を含む。
【００９３】
演算部４０４は、登録情報と入力情報との比較結果を演算する処理部である。例えば、演算部４０４は、記憶部４０５から取得した登録情報と、認証要求に含まれる入力情報との排他的論理和を演算する。なお、比較結果は、送信部４０２により、判定装置５００へ送信される。
【００９４】
記憶部４０５は、登録処理および認証処理に必要な情報を記憶する。例えば、記憶部４０５は、ユーザＩＤ「Ａ」に対応付けて、登録情報「ＥＫＡ２（ＥＫＡ１（ｍＡ））」を記憶する。例えば、記憶部４０５は、図６に示す登録情報管理テーブルを保持する。
【００９５】
判定装置５００は、受信部５０１、送信部５０２、制御部５０３、記憶部５０６を有する。受信部５０１は、端末装置３または、管理装置４００から情報を受信する。例えば、受信部５０１は、端末装置３から登録要求を受信する。また、受信部５０１は、管理装置４００から、登録情報と入力情報との比較結果を受信する。
【００９６】
送信部５０２は、端末装置３または、管理装置４００へ情報を送信する。例えば、送信部５０２は、登録情報を管理装置４００へ送信する。また、送信部５０２は、認証結果を、端末装置３へ送信する。
【００９７】
制御部５０３は、判定装置５００の動作を制御する処理部である。例えば、制御部５０３は、登録処理および認証処理を実行する。また、制御部５０３は、暗号化部５０４、認証部５０５を含む。
【００９８】
暗号化部５０４は、暗号化処理を実行する処理部である。例えば、暗号化部５０４は、登録処理において、認証情報を暗号化して、登録情報を生成する。なお、暗号化には、ユーザごとの鍵情報が利用される。
【００９９】
認証部５０５は、比較結果および鍵情報に基づき、認証を実行する処理部である。例えば、認証部５０５は、比較結果を鍵情報で復号することで、認証用情報と被認証情報とのハミングベクトルを得る。そして、認証部５０５は、ハミングベクトルにおいて「１」を示すビット数と閾値「Ｔ」とを比較し、認証結果を生成する。
【０１００】
記憶部５０６は、登録処理および認証処理に必要な情報を記憶する。例えば、記憶部５０６は、ユーザＩＤ「Ａ」に対応付けて、鍵情報「ＫＡ２」を記憶してもよい。
【０１０１】
次に、第二の実施例における各種装置による処理の流れについて説明する。端末装置３による処理の流れは、第一の実施例と同様である。図１２は、第二の実施例に関する判定装置の処理フローチャートである。
【０１０２】
制御部５０３は、端末装置３から登録要求を受信したか否かを判定する（Ｏｐ．３０）。例えば、受信部５０１が受信した情報に、登録要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１０３】
登録要求を受信した場合（Ｏｐ．３０Ｙｅｓ）、暗号化部５０４は、登録情報を生成する（Ｏｐ．３１）。例えば、暗号化部５０４は、登録要求に含まれるユーザＩＤを取得し、ユーザＩＤに対応する鍵情報を、記憶部５０６から取得する。そして、暗号化部５０４は、鍵情報を用いて、登録要求に含まれる認証情報を暗号化する。
【０１０４】
送信部５０２は、管理装置４００へ、ユーザＩＤと対応付けて、登録情報を送信する（Ｏｐ．３２）。そして、判定装置５００は、登録処理を終了する。
【０１０５】
一方、登録要求を受信しない場合（Ｏｐ．３０Ｎｏ）、制御部５０３は、管理装置４００から、入力情報と登録情報との比較結果を受信したか否かを判定する（Ｏｐ．３３）。例えば、受信部５０１が受信した情報に、比較結果であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１０６】
比較結果を受信していない場合は（Ｏｐ．３３Ｎｏ）、処理を終了する。一方、比較結果を受信した場合は（Ｏｐ．３３Ｙｅｓ）、認証部５０５は、登録情報の生成（Ｏｐ．３１）で利用された鍵情報を用いて、比較結果を復号する（Ｏｐ．３４）。認証部５０５は、復号結果と、閾値「Ｔ」とに基づき、認証の成功または失敗を判定する（Ｏｐ．３５）。
【０１０７】
認証が成功である場合（Ｏｐ．３５Ｙｅｓ）、送信部５０２は、認証結果「成功」を、端末装置３へ送信する（Ｏｐ．３６）。一方、認証が失敗である場合（Ｏｐ．３５Ｎｏ）、送信部５０２は、認証結果「失敗」を、端末装置３へ送信する（Ｏｐ．３７）。そして、判定装置５００は、認証処理を終了する。
【０１０８】
次に、図１３は、第二の実施例に関する管理装置の処理フローチャートである。
【０１０９】
まず、制御部４０３は、判定装置５００から登録情報を受信したか否かを判定する（Ｏｐ．４０）。例えば、受信部４０１が受信した情報に、登録情報であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１１０】
登録情報を受信した場合（Ｏｐ．４０Ｙｅｓ）、制御部４０３は、登録情報とユーザＩＤとを対応付けて、記憶部４０５に格納する（Ｏｐ．４１）。そして、管理装置４００は、認証処理を終了する。
【０１１１】
一方、登録情報を受信しない場合（Ｏｐ．４０Ｎｏ）、制御部４０３は、端末装置３から認証要求を受信したかを判定する（Ｏｐ．４２）。例えば、受信部４０１が受信した情報に、認証要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１１２】
認証要求を受信していない場合は（Ｏｐ．４２Ｎｏ）、処理を終了する。一方、認証要求を受信した場合は（Ｏｐ．４２Ｙｅｓ）、演算部４０４は、認証要求に含まれるユーザＩＤに対応する登録情報を、記憶部４０５から取得する（Ｏｐ．４３）。
【０１１３】
そして、演算部４０４は、認証要求に含まれる入力情報と、登録情報との比較結果を演算する（Ｏｐ．４４）。例えば、入力情報と、登録情報との排他的論理和が演算される。なお、演算結果は、認証用情報と被認証情報とのハミングベクトルが、判定装置５００における登録情報の生成（Ｏｐ．３１）で利用された鍵情報により暗号化された情報に相当する。
【０１１４】
次に、送信部４０２は、比較結果を、ユーザＩＤとともに、判定装置５００へ送信する（Ｏｐ．４５）。そして、管理装置４００は、認証処理を終了する。
【０１１５】
以上のように、第二の実施例によれば、登録情報の漏えいによる第三者のなりすましを防止することができる。さらに、第二の実施例によれば、管理装置４００が登録情報を管理し、判定装置５００が鍵情報を管理することで、なりすましを、より強固に防止することができる。
【０１１６】
［第三の実施例］
第一の実施例の変形例および第二の実施例では、例として、ユーザＩＤ「Ａ」に関して登録処理を行う際、端末側で鍵情報ＫＡ１により暗号化が行われるとともに、認証装置２００または判定装置５００により鍵情報「ＫＡ２」により暗号化が行われることを説明した。つまり、第一の実施例の変形例および第二の実施例では、登録情報は、異なる２つの鍵情報により２重に暗号化された認証用情報となる。
【０１１７】
ここで、第三の実施例は、３以上のＭ重に暗号化された認証用情報を登録情報として利用する。以降説明するように、Ｍ個の鍵情報を、各々異なる装置が管理することで、登録情報と鍵情報が同時に盗まれるリスクをさらに低減することができる。なお、以下、Ｍが「３」の場合を例に説明する。
【０１１８】
図１４は、第三の実施例に関する認証システムにおける、登録処理を説明するための図である。第三の実施例における認証システムは、端末装置６と管理装置７と判定装置８と、さらに中継装置９を含む。なお、端末装置３と管理装置７と判定装置８と中継装置９とは、ネットワークＮを介して接続されている。また、管理装置７と判定装置８と中継装置９は、専用のネットワークで接続されてもよい。なお、管理装置７と判定装置８と中継装置９をまとめて、第一の実施例と同様に、認証装置と称する場合もある。
【０１１９】
端末装置６は、中継装置９を介して、管理装置４へ認証を要求するコンピュータである。また、端末装置６は、第一の実施例の変形例および第二の実施例同様、ユーザごとの鍵情報「ＫＡ１」を管理する。管理装置７は、第二の実施例同様、登録情報を管理するコンピュータである。つまり、管理装置７は、登録情報を記憶する。管理装置７は、サーバ７１とデータベース７２とを含む。
【０１２０】
判定装置８は、認証の成功または失敗を判定するコンピュータである。つまり、判定装置８は、鍵情報「ＫＡ２」を管理するとともに、登録情報と入力情報との比較結果、および鍵情報「ＫＡ２」に基づき認証を行う。なお、鍵情報「ＫＡ１」と鍵情報「ＫＡ２」とは異なる鍵情報である。
【０１２１】
中継装置９は、端末装置６と、管理装置７または判定装置８との間の通信を中継するコンピュータである。さらに、中継装置９は、鍵情報「ＫＡ３」を管理する。なお、鍵情報「ＫＡ３」は、ユーザＩＤ「Ａ」に対応する鍵情報であって、ユーザごとに異なる鍵情報である。さらに、鍵情報「ＫＡ３」は、鍵情報「ＫＡ１」および鍵情報「ＫＡ２」とは異なる鍵情報である。中継装置９は、登録処理および認証処理の際、端末装置６から受信した情報を、自身が管理する鍵情報「ＫＡ３」で暗号化する。
【０１２２】
まず、本実施例の登録処理においては、端末装置６は、ユーザＩＤ「Ａ」と、認証用情報「ｍＡ」の入力を受け付ける。そして、端末装置６は、ユーザＩＤ「Ａ」に対応する鍵「ＫＡ１」を用いて、認証用情報「ｍＡ」を暗号化することで、第一認証情報「ＥＫＡ１（ｍＡ）」を生成する。そして、端末装置３は、ユーザＩＤ「Ａ」と第一認証情報「ＥＫＡ１（ｍＡ）」とを、中継装置９へ送信する。
【０１２３】
次に、中継装置９は、ユーザＩＤ「Ａ」と第一認証情報「ＥＫＡ１（ｍＡ）」とを受信する。そして、中継装置９は、鍵情報「ＫＡ３」を用いて第一認証情報「ＥＫＡ１（ｍＡ）」を暗号化することで、第二認証情報「ＥＫＡ３（ＥＫＡ１（ｍＡ））」を生成する。そして、ユーザＩＤ「Ａ」と第二認証情報「ＥＫＡ３（ＥＫＡ１（ｍＡ））」を、判定装置８へ送信する。
【０１２４】
判定装置８は、ユーザＩＤ「Ａ」と第二認証情報「ＥＫＡ３（ＥＫＡ１（ｍＡ））」とを受信する。そして、判定装置８は、鍵情報「ＫＡ２」を用いて第二認証情報「ＥＫＡ３（ＥＫＡ１（ｍＡ））」を暗号化することで、登録情報「ＥＫＡ２（ＥＫＡ３（ＥＫＡ１（ｍＡ）））」を生成する。そして、ユーザＩＤ「Ａ」と登録情報「ＥＫＡ２（ＥＫＡ３（ＥＫＡ１（ｍＡ）））」を、管理装置７へ送信する。
【０１２５】
管理装置７は、判定装置８から受信したユーザＩＤ「Ａ」と登録情報「ＥＫＡ２（ＥＫＡ３（ＥＫＡ１（ｍＡ）））」とを対応付けて、データベース７２へ記憶する。
【０１２６】
ここで、第一認証情報は、認証用情報が端末装置６によって暗号化された情報である。第二認証情報は、第一認証情報が中継装置９によって暗号化された情報である。登録情報は、第二認証情報が判定装置８によって暗号化された情報であって、先の実施例同様、管理装置７が認証処理のために記憶する情報である。
【０１２７】
次に、図１５は、第三の実施例に関する認証システムにおける、認証処理を説明するための図である。端末装置６は、認証対象となるユーザのユーザＩＤ「Ａ」と、被認証情報「ｍＡ’」との入力を受け付ける。端末装置６は、ユーザＩＤ「Ａ」に対応する鍵情報「ＫＡ１」を用いて、被認証情報「ｍＡ’」を暗号化することで、第一入力情報「ＥＫＡ１（ｍＡ’）」を生成する。そして、端末装置６は、ユーザＩＤ「Ａ」と第一入力情報「ＥＫＡ１（ｍＡ’）」とを、中継装置９へ送信する。
【０１２８】
中継装置９は、ユーザＩＤ「Ａ」と、第一入力情報「ＥＫＡ１（ｍＡ’）」とを受信する。端末装置６は、ユーザＩＤ「Ａ」に対応する鍵情報「ＫＡ３」を用いて、第一入力情報「ＥＫＡ１（ｍＡ’）」を暗号化することで、第二入力情報「ＥＫＡ３（ＥＫＡ１（ｍＡ’））」を生成する。そして、端末装置６は、ユーザＩＤ「Ａ」と第二入力情報「ＥＫＡ３（ＥＫＡ１（ｍＡ’））」とを、管理装置７へ送信する。
【０１２９】
管理装置７は、ユーザＩＤ「Ａ」に対応する登録情報「ＥＫＡ２（ＥＫＡ３（ＥＫＡ１（ｍＡ）））」を読み出し、第二入力情報「ＥＫＡ３（ＥＫＡ１（ｍＡ’））」と登録情報「ＥＫＡ２（ＥＫＡ３（ＥＫＡ１（ｍＡ）））」との比較結果「ＥＫＡ２（ＨＶ）」を演算する。例えば、管理装置７は、第二入力情報「ＥＫＡ３（ＥＫＡ１（ｍＡ’））」と登録情報「ＥＫＡ２（ＥＫＡ３（ＥＫＡ１（ｍＡ）））」との排他的論理和を演算する。演算結果は、認証用情報「ｍＡ」と被認証情報「ｍＡ’」との排他的論理和であるハミングベクトルＨＶを、鍵情報「ＫＡ２」で暗号化した情報に相当する。
【０１３０】
そして、管理装置７は、ユーザＩＤ「Ａ」と比較結果「ＥＫＡ２（ＨＶ）」とを、判定装置８へ送信する。判定装置８は、ユーザＩＤ「Ａ」に対応する鍵情報「ＫＡ２」と、比較結果「ＥＫＡ２（ＨＶ）」とを用いて、認証を実行する。判定装置８は、認証結果を端末装置６へ送信する。なお、判定結果は、中継装置９を経由してもよいし、直接端末装置６へ送られてもよい。
【０１３１】
第一入力情報は、被認証情報が端末装置６によって暗号化された情報である。第二入力情報は、第一入力情報が中継装置９によって暗号化された情報である。比較結果は、第二入力情報と登録情報との比較結果を示す情報であって、先の実施例同様、認証用情報と被認証情報との類似度を示す情報が、判定装置８が管理する鍵により暗号化された情報に相当する。
【０１３２】
以上のように、中継装置９を経由して、端末装置６と、判定装置８または管理装置７とは、通信を行う。中継装置９は、登録処理において、自身が管理する鍵情報を利用して暗号化を行うため、最終的に管理装置７に登録される登録情報は、３重に暗号化された状態となる。つまり、第三の実施例は、先の実施例同様、登録情報が漏えいした場合に第三者のなりすましを防ぐとともに、さらに、鍵情報を管理する主体を追加することで、鍵情報が漏えいした場合のなりすましのリスクをさらに低減することができる。
【０１３３】
次に、中継装置９の機能的構成について説明する。図１６は、第三の実施例に関する中継装置の機能ブロック図である。図１６における中継装置９００は図１４および図１５における中継装置９に対応する。なお、端末装置６、管理装置７、判定装置８は、第二の実施例と同様の機能的構成である。ただし、各装置における受信部や送信部が通信する相手が、図１４および図１５で説明したとおり、第二の実施例とは異なる。
【０１３４】
中継装置９００は、受信部９０１、送信部９０２、制御部９０３、記憶部９０５を有する。受信部９０１は、端末装置６から情報を受信する処理部である。例えば、受信部９０１は、端末装置６から第一登録要求や、第一認証要求を受信する。第一登録要求は、登録処理時に端末装置６が生成する情報であって、登録対象となるユーザのユーザＩＤや、第一認証情報を含む情報である。また、第一認証要求は、認証処理時に端末装置６が生成する情報であって、認証対象となるユーザのユーザＩＤや、第一入力情報を含む情報である。
【０１３５】
送信部９０２は、管理装置７や判定装置８へ情報を送信する処理部である。例えば、送信部９０２は、判定装置８へ第二登録要求を送信する。また、送信部９０２は、管理装置７へ第二認証要求を送信する。第二登録要求は、中継装置９が端末装置６から第一登録要求を受信したことを契機に生成される情報であって、登録対象となるユーザのユーザＩＤや、第二認証情報を含む情報である。第二認証要求は、中継装置９が端末装置６から第一認証要求を受信したことを契機に生成される情報であって、認証対象となるユーザのユーザＩＤや、第二入力情報を含む情報である。
【０１３６】
制御部９０３は、中継装置９００の動作を制御する処理部である。例えば、制御部９０３は、登録処理および認証処理を実行する。また、制御部９０３は、暗号化部９０４を含む。
【０１３７】
暗号化部９０４は、暗号化処理を実行する処理部である。例えば、暗号化部９０４は、登録処理において、第一認証情報を暗号化して、第二認証情報を生成する。暗号化部９０４は、認証処理において、第一入力情報を暗号化して、第二入力情報を生成する。なお、暗号化には、ユーザごとの鍵情報が利用される。先の実施例同様、ユーザごとの鍵情報は、予め記憶部９０５に格納されていてもよいし、随時生成されてもよい。
【０１３８】
記憶部９０５は、登録処理および認証処理に必要な情報を記憶する。例えば、記憶部９０５は、ユーザＩＤ「Ａ」に対応付けて、鍵情報「ＫＡ３」を記憶してもよい。
【０１３９】
次に、第三の実施例における中継装置９００の処理の流れについて説明する。なお、端末装置６、管理装置７、判定装置８による処理の流れは、第二の実施例と同様である。ただし、機能的構成と同様、各装置における受信部や送信部が通信する相手が、図１４および図１５で説明したとおり、第二の実施例とは異なる。図１７は、第三の実施例に関する中継装置の処理フローチャートである。
【０１４０】
まず、制御部９０３は、端末装置６から第一登録要求を受信したか否かを判定する（Ｏｐ．５０）。例えば、受信部９０１が受信した情報に、第一登録要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１４１】
第一登録要求を受信した場合（Ｏｐ．５０Ｙｅｓ）、暗号化部９０４は、第二認証情報を生成する（Ｏｐ．５１）。例えば、暗号化部９０４は、第一登録要求に含まれるユーザＩＤを取得し、ユーザＩＤに対応する鍵情報を、記憶部９０５から取得する。そして、暗号化部９０４は、鍵情報を用いて、第一登録要求に含まれる第一認証情報を暗号化する。
【０１４２】
送信部９０２は、判定装置８へ、ユーザＩＤと対応付けて、第二認証情報を送信する（Ｏｐ．５２）。そして、中継装置９００は、登録処理を終了する。
【０１４３】
第一登録要求を受信していない場合（Ｏｐ．５０Ｎｏ）、制御部９０３は、第一認証要求を受信したか否かを判定する（Ｏｐ．５３）。例えば、受信部９０１が受信した情報に、第一認証要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１４４】
第一認証要求を受信していない場合は（Ｏｐ．５３Ｎｏ）、中継装置９００は処理を終了する。一方、第一認証要求を受信した場合（Ｏｐ．５３Ｙｅｓ）、暗号化部９０４は、第二入力情報を生成する（Ｏｐ．５４）。例えば、暗号化部９０４は、第一認証要求に含まれるユーザＩＤを取得し、ユーザＩＤに対応する鍵情報を、記憶部９０５から取得する。そして、暗号化部９０４は、鍵情報を用いて、第一認証要求に含まれる第一入力情報を暗号化する。
【０１４５】
送信部９０２は、管理装置７へ、ユーザＩＤと対応付けて、第二認証要求を送信する（Ｏｐ．５５）。そして、中継装置９００は、登録処理を終了する。
【０１４６】
以上のように、中継装置９００が、登録処理の過程で暗号処理を実行することで、最終的に管理装置７に登録される登録情報は、Ｍ重に暗号化される（Ｍは３以上）。登録情報の生成の過程で、暗号化に利用される鍵情報は、各々異なる装置が管理するため、より一層、なりすましのリスクを低減することができる。なお、認証処理の過程でも、中継装置９００が暗号化を実行することで、先の実施例と同様の方法で、Ｍ重に暗号化された登録情報を利用した認証が実現される。
【０１４７】
［第四の実施例］
第四の実施例は、登録情報を管理装置に登録する際に、先の実施例とは異なる手法を利用する。詳細は後述するが、端末装置は、認証用情報から、第一認証用情報および第二認証用情報を生成する。一方が判定装置へ送信され、他方は管理装置へ送信される。そして、管理装置は、自身が受信した情報と、判定装置を経由して得られた情報とから、登録情報を生成する。
【０１４８】
図１８は、第四の実施例に関する認証システムにおける、登録処理を説明するための図である。第四の実施例における認証システムは、端末装置３’と管理装置４’と判定装置５’を含む。なお、端末装置３’と管理装置４’と判定装置５’とは、ネットワークＮを介して接続されている。また、管理装置４’と判定装置５’は、専用のネットワークで接続されてもよい。なお、管理装置４’と判定装置５’とをまとめて、第一の実施例同様、認証装置と称する場合もある。
【０１４９】
端末装置３’は、管理装置４’へ認証を要求するコンピュータである。また、端末装置３’は、第二の実施例同様、ユーザごとの鍵情報「ＫＡ１」を管理する。管理装置４’は、登録情報を管理するコンピュータである。つまり、管理装置４’は、登録情報を記憶する。管理装置４’は、処理を実行するサーバ４１’と登録情報を記憶するデータベース４２’とを含む。
【０１５０】
判定装置５’は、認証の成功または失敗を判定するコンピュータである。判定装置５’は、第二の実施例と同様に鍵情報「ＫＡ２」を管理するとともに、さらに、端末装置３’が管理する鍵情報「ＫＡ１」も管理する。また、判定装置５’は、登録情報と入力情報との比較結果に基づき認証を行う。なお、鍵情報「ＫＡ１」と鍵情報「ＫＡ２」とは異なる鍵情報である。
【０１５１】
なお、判定装置５’は、鍵情報「ＫＡ１」と鍵情報「ＫＡ２」との排他的論理和演算の結果を、鍵情報「ＫＡ３」として保持してもよい。そして、判定装置５’は、以下説明する、鍵情報「ＫＡ１」および鍵情報「ＫＡ２」の２つの鍵情報を作用させる処理において、一つの鍵情報「ＫＡ３」を作用させてもよい。
【０１５２】
ここで、判定装置５’が鍵情報「ＫＡ１」も有するため、端末装置３’により暗号化された情報は、判定装置５’により復号可能となる。したがって、例えば、認証用情報「ｍＡ」が鍵情報「ＫＡ１」により暗号化された情報が、判定装置５’による取得されると、認証用情報「ｍＡ」が判定装置５’に入手される。
【０１５３】
そこで、本実施例では、登録処理において、端末装置３’は、認証用情報「ｍＡ」そのものではなく、第一認証用情報を生成して、判定装置５’へ送信する。つまり、判定装置５’は、認証用情報「ｍＡ」そのものを入手することはできない。
【０１５４】
以下、詳細を説明する。本実施例の登録処理においては、端末装置３’は、ユーザＩＤ「Ａ」と、認証用情報「ｍＡ」の入力を受け付ける。そして、端末装置３’は、第一認証用情報「ｍＡ１」と第二認証用情報「ｍＡ２」とを生成する。ここでは、第一認証用情報「ｍＡ１」と第二認証用情報「ｍＡ２」との排他的論理和が認証用情報「ｍＡ」となるように、端末装置３’は、第一認証用情報「ｍＡ１」と第二認証用情報「ｍＡ２」とを生成する。
【０１５５】
例えば、端末装置３’は、まず、乱数「ｍ」を生成する。そして、端末装置３’は、乱数「ｍ」を第一認証用情報「ｍＡ１」とする。さらに、端末装置３’は、第一認証用情報「ｍＡ１」と認証用情報「ｍＡ」の排他的論理和を、第二認証用情報「ｍＡ２」とする。なお、第二認証用情報「ｍＡ２」が乱数「ｍ」であって、第二認証用情報「ｍＡ２」と認証用情報「ｍＡ」の排他的論理和が、第一認証用情報「ｍＡ１」であってもよい。
【０１５６】
端末装置３’はユーザＩＤ「Ａ」に対応する鍵情報「ＫＡ１」を用いて、第一認証用情報「ｍＡ１」を暗号化することで、部分認証情報「ＥＫＡ１（ｍＡ１）」を生成する。そして、端末装置３’は、ユーザＩＤ「Ａ」と部分認証情報「ＥＫＡ１（ｍＡ１）」とを、判定装置５’へ送信する。部分認証情報は、端末装置３’から判定装置５’へ送信される情報であって、第一認証用情報が、端末装置３’と判定装置５’で共有された鍵情報「ＫＡ１」によって暗号化された情報である。
【０１５７】
また、端末装置３’は、ユーザＩＤ「Ａ」と第二認証用情報「ｍＡ２」とを、管理装置４’へ送信する。なお、端末装置３’と管理装置４’との通信は、セキュアな通信路であることが望ましい。例えば、Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ（ＳＳＬ）により、第二認証用情報「ｍＡ２」は暗号化された状態で通信されることが望ましい。
【０１５８】
次に、判定装置５’は、ユーザＩＤ「Ａ」と部分認証情報「ＥＫＡ１（ｍＡ１）」とを受信する。そして、判定装置５’は、鍵情報「ＫＡ１」および鍵情報「ＫＡ２」を用いて、部分認証情報「ＥＫＡ１（ｍＡ１）」を、部分登録情報「ＥＫＡ２（ｍＡ１）」へ変換する。つまり、鍵情報「ＫＡ１」による暗号化から、鍵情報「ＫＡ２」による暗号化へ変換する。
【０１５９】
具体的には、部分認証情報「ＥＫＡ１（ｍＡ１）」と鍵情報「ＫＡ１」と鍵情報「ＫＡ２」との排他的論理和を演算することで、部分登録情報「ＥＫＡ２（ｍＡ１）」を得る。部分登録情報は、判定装置５’から管理装置４’へ送信される情報であって、第一認証用情報を判定装置５’が管理する鍵情報により暗号化した情報である。そして、ユーザＩＤ「Ａ」と部分登録情報「ＥＫＡ２（ｍＡ１）」を、管理装置４’へ送信する。
【０１６０】
管理装置４’は、端末装置３’から、ユーザＩＤ「Ａ」と第二認証用情報「ｍＡ２」とを受信する。さらに、管理装置４’は、判定装置５’からユーザＩＤ「Ａ」と部分登録情報「ＥＫＡ２（ｍＡ１）」とを受信する。管理装置４’は、第二認証用情報「ｍＡ２」と部分登録情報「ＥＫＡ２（ｍＡ１）」との排他的論理和を演算することで、登録情報「ＥＫＡ２（ｍＡ）」を生成する。
【０１６１】
なお、第一認証用情報「ｍＡ１」と第二認証用情報「ｍＡ２」との排他的論理和は、認証用情報「ｍＡ」となるため、第二認証用情報「ｍＡ２」と部分登録情報「ＥＫＡ２（ｍＡ１）」との排他的論理和の演算結果は、認証用情報「ｍＡ」を鍵情報「ＫＡ２」で暗号化した情報に相当する。そして、管理装置４’は、ユーザＩＤ「Ａ」と登録情報「ＥＫＡ２（ｍＡ）」とを対応付けて、データベース４２’へ記憶する。
【０１６２】
図１９は、第四の実施例に関する認証システムにおける、認証処理を説明するための図である。端末装置３’は、認証対象となるユーザのユーザＩＤ「Ａ」と、被認証情報「ｍＡ’」との入力を受け付ける。端末装置３’は、ユーザＩＤ「Ａ」に対応する鍵「ＫＡ１」を用いて、被認証情報「ｍＡ’」を暗号化することで、入力情報「ＥＫＡ１（ｍＡ’）」を生成する。そして、端末装置３’は、ユーザＩＤ「Ａ」と入力情報「ＥＫＡ１（ｍＡ’）」とを、管理装置４’へ送信する。
【０１６３】
管理装置４’は、ユーザＩＤ「Ａ」に対応する登録情報「ＥＫＡ２（ｍＡ）」を読み出し、入力情報「ＥＫＡ１（ｍＡ’）」と登録情報「ＥＫＡ２（ｍＡ））」との比較結果「ＥＫＡ２（ＥＫＡ１（ＨＶ））」を演算する。例えば、管理装置４’は、入力情報「ＥＫＡ１（ｍＡ’）」と登録情報「ＥＫＡ２（ｍＡ）」との排他的論理和を演算する。演算結果は、認証用情報と被認証情報との排他的論理和の演算結果であるハミングベクトルＨＶを、鍵情報「ＫＡ１」および鍵情報「ＫＡ２」で暗号化した情報に相当する。
【０１６４】
そして、管理装置４’は、ユーザＩＤ「Ａ」と比較結果「ＥＫＡ２（ＥＫＡ１（ＨＶ））」とを、判定装置５’へ送信する。判定装置５’は、ユーザＩＤ「Ａ」に対応する鍵情報「ＫＡ１」と鍵情報「ＫＡ２」と比較結果「ＥＫＡ２（ＥＫＡ１（ＨＶ））」とを用いて、認証を実行する。例えば、判定装置５’は、鍵情報「ＫＡ１」および鍵情報「ＫＡ２」で比較結果「ＥＫＡ２（ＥＫＡ１（ＨＶ））」を復号することで、ハミングベクトルＨＶを得る。そして、判定装置５’は、ハミングベクトルＨＶにおいて「１」を示すビット数と閾値との比較によって、認証の成功または失敗を判定する。判定装置５’は、認証結果を端末装置３’へ送信する。
【０１６５】
以上のように、管理装置４’は、部分登録情報と、第二認証用情報とから登録情報を生成する。したがって、認証用情報そのものを判定装置５’が入手できない形態で、登録情報の管理装置４’への他の登録方法が実現される。
【０１６６】
なお、鍵情報「ＫＡ１」と鍵情報「ＫＡ２」との排他的論理和における「１」を示すビット数が、認証の成功または失敗を判定する際の閾値「Ｔ」以上となるように、鍵情報「ＫＡ１」および鍵情報「ＫＡ２」は生成される。
【０１６７】
登録情報「ＥＫＡ２（ｍＡ）」が漏えいした場合に、第三者は、認証処理において、登録情報「ＥＫＡ２（ｍＡ）」を、入力情報として、管理装置４’へ送信する。この際、登録情報「ＥＫＡ２（ｍＡ）」と入力情報「ＥＫＡ２（ｍＡ）」との比較結果「ＥＫＡ２（ＥＫＡ１（ＨＶ））」は、「０」が並んだデータ列となる。
【０１６８】
本実施例では、判定装置５’は、認証に先だって、比較結果「ＥＫＡ２（ＥＫＡ１（ＨＶ））」と鍵情報「ＫＡ１」と鍵情報「ＫＡ２」との排他的論理和を演算する。そこで、なりすましを防ぐために、演算結果において「１」を示すビット列が閾値「Ｔ」以上である必要がある。したがって、予め、鍵情報「ＫＡ１」と鍵情報「ＫＡ２」との排他的論理和における「１」を示すビット数が、閾値「Ｔ」以上となるように、鍵情報「ＫＡ１」および鍵情報「ＫＡ２」は生成される。
【０１６９】
次に、第四の実施例に関する各装置の機能的構成について説明する。端末装置３’は、図５に示す端末装置１００と同様の機能的構成を有する。ただし、端末装置３’における制御部１０４は、第一認証用情報および第二認証用情報の生成を行う。
【０１７０】
管理装置４’は、図１１に示す管理装置４００と同様の機能的構成を有する。ただし、制御部４０３は、部分登録情報と第二認証用情報とに基づき、登録情報を生成する。
【０１７１】
判定装置５’は、図１１に示す判定装置５００と同様の機能的構成を有する。ただし、暗号化部５０４は、登録処理において、第一認証用情報に対して、鍵情報「ＫＡ１」および鍵情報「ＫＡ２」を適用することで、部分登録情報を生成する。また、認証部５０５は、認証処理において、鍵情報「ＫＡ１」および鍵情報「ＫＡ２」を利用して、認証を行う。
【０１７２】
次に、第四の実施例に関する各装置の処理フローについて説明する。図２０は、第四の実施例に関する端末装置の処理フローチャートである。
【０１７３】
制御部１０４は、登録処理を実行するか否かを判定する（Ｏｐ．６０）。例えば、ユーザにより登録処理の開始命令が入力された場合には、制御部１０４は登録処理を実行することを判定する。一方、ユーザにより認証処理の開始命令が入力されない場合には、制御部１０４は登録処理を実行しないことを判定する。
【０１７４】
登録処理を実行する場合（Ｏｐ．６０Ｙｅｓ）、取得部１０３は、ユーザＩＤを取得する（Ｏｐ．６１）。なお、ユーザの入力や、ＩＣチップ内蔵のカードから情報を読み取ることで、ユーザＩＤは取得される。そして、取得部１０３は、認証用情報を取得する（Ｏｐ．６２）。なお、例えば、ユーザの体の一部を撮影したり、ＩＣチップ内臓のカードから情報を読み取ることで、認証用情報は取得される。Ｏｐ．６１およびＯｐ．６２の順序は入れ替え可能である。
【０１７５】
次に、制御部１０４は、第一認証用情報および第二認証用情報を生成する（Ｏｐ．６３）。第一認証用情報と第二認証用情報との排他的論理和が認証用情報となるように、第一認証用情報および第二認証用情報は生成される。
【０１７６】
次に、暗号化部１０５は、部分認証情報を生成する（Ｏｐ．６４）。例えば、暗号化部１０５は、第一認証用情報と鍵情報の排他的論理和を演算する。例えば、鍵情報に基づき生成された乱数と、認証用情報との排他的論理和を演算してもよい。
【０１７７】
送信部１０２は、制御部１０４の制御の下、判定装置５’へ登録要求を送信する（Ｏｐ．６５）。なお、登録要求は、ユーザＩＤと部分認証情報を含む。送信部１０２は、制御部１０４の制御の下、管理装置４’へ登録仮要求を送信する（Ｏｐ．６６）。なお、登録仮要求は、ユーザＩＤと第二認証用情報を含む。そして、端末装置１００は、登録処理を終了する。
【０１７８】
一方、制御部１０４が登録処理を実行しないと判定した場合（Ｏｐ．６０Ｎｏ）、端末装置１００は、認証処理を実行する。なお、第一の実施例と同様に、端末装置１００は、認証処理を実行するか否かを判定してもよい。まず、取得部１０３は、ユーザＩＤを取得する（Ｏｐ．６７）。そして、取得部１０３は、被認証情報を取得する（Ｏｐ．６８）。なお、Ｏｐ．６７およびＯｐ．６８の順序は入れ替え可能である。
【０１７９】
次に、暗号化部１０５は、入力情報を生成する（Ｏｐ．６９）。例えば、暗号化部１０５は、被認証情報と鍵情報の排他的論理和を演算する。例えば、鍵情報に基づき生成された乱数と、被認証情報との排他的論理和を演算する。なお、認証情報の生成における暗号化方法と、入力情報の生成における暗号化方法は、同様の手法が用いられる。さらに、認証情報の生成における暗号化方法と、入力情報の生成における暗号化方法には、同一の鍵情報が利用される。
【０１８０】
送信部１０２は、制御部１０４の制御の下、管理装置４’へ認証要求を送信する（Ｏｐ．７０）。認証要求は、ユーザＩＤと入力情報を含む。そして、制御部１０４は、認証結果を、判定装置５’から受信したかを判定する（Ｏｐ．７１）。認証結果を受信するまで待機し（Ｏｐ．７１Ｎｏ）、受信した場合は（Ｏｐ．７１Ｙｅｓ）、制御部１０４は、表示装置へ認証結果を表示する（Ｏｐ．７２）。そして、端末装置１００は、認証処理を終了する。
【０１８１】
次に、図２１は、第四の実施例に関する判定装置の処理フローチャートである。制御部５０３は、端末装置３’から登録要求を受信したか否かを判定する（Ｏｐ．８０）。例えば、受信部５０１が受信した情報に、登録要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１８２】
登録要求を受信した場合（Ｏｐ．８０Ｙｅｓ）、暗号化部５０４は、部分登録情報を生成する（Ｏｐ．８１）。例えば、暗号化部５０４は、登録要求に含まれるユーザＩＤ「Ａ」を取得し、ユーザＩＤ「Ａ」に対応する鍵情報「ＫＡ１」および鍵情報「ＫＡ２」を、記憶部５０６から取得する。なお、鍵情報「ＫＡ１」は、端末装置３’と共有された鍵情報である。そして、暗号化部５０４は、２つの鍵情報を用いて、登録要求に含まれる部分認証情報の暗号化を、鍵情報「ＫＡ１」による暗号化から鍵情報「ＫＡ２」による暗号化へ変換する。
【０１８３】
送信部５０２は、管理装置４’へ、ユーザＩＤと対応付けて、部分登録情報を送信する（Ｏｐ．８２）。そして、判定装置５００は、登録処理を終了する。
【０１８４】
一方、登録要求を受信しない場合（Ｏｐ．８０Ｎｏ）、制御部５０３は、管理装置４’から、入力情報と登録情報との比較結果を受信したか否かを判定する（Ｏｐ．８３）。例えば、受信部５０１が受信した情報に、比較結果であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１８５】
比較結果を受信していない場合は（Ｏｐ．８３Ｎｏ）、処理を終了する。一方、比較結果を受信した場合は（Ｏｐ．８３Ｙｅｓ）、認証部５０５は、部分登録情報の生成（Ｏｐ．８１）で利用された２つの鍵情報を用いて、比較結果を復号する（Ｏｐ．８４）。認証部５０５は、復号結果と、閾値「Ｔ」とに基づき、認証の成功または失敗を判定する（Ｏｐ．８５）。
【０１８６】
認証が成功である場合（Ｏｐ．８５Ｙｅｓ）、送信部５０２は、認証結果「成功」を、端末装置３’へ送信する（Ｏｐ．８６）。一方、認証が失敗である場合（Ｏｐ．８５Ｎｏ）、送信部５０２は、認証結果「失敗」を、端末装置３’へ送信する（Ｏｐ．８７）。そして、判定装置５００は、認証処理を終了する。
【０１８７】
次に、図２２は、第四の実施例に関する管理装置の処理フローチャートである。
【０１８８】
まず、制御部４０３は、判定装置５’から登録仮要求を受信したか否かを判定する（Ｏｐ．９０）。例えば、受信部４０１が受信した情報に、登録仮要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１８９】
登録仮要求を受信した場合（Ｏｐ．９０Ｙｅｓ）、制御部４０３は、判定装置５’から、登録部分情報を受信したか否かを判定する（Ｏｐ．９１）。登録部分情報を受信するまで待機し（Ｏｐ．９１Ｎｏ）、登録情報を受信した場合（Ｏｐ．９１Ｙｅｓ）、制御部４０３は、登録情報を生成する（Ｏｐ．９２）。例えば、制御部４０３は、部分登録情報と、登録仮要求に含まれる第二認証用情報との排他的論理和を演算する。そして、生成した登録情報とユーザＩＤとを対応付けて、記憶部４０５に格納する（Ｏｐ．９３）。そして、管理装置４００は、認証処理を終了する。
【０１９０】
一方、登録仮要求を受信しない場合（Ｏｐ．９０Ｎｏ）、制御部４０３は、端末装置３’から認証要求を受信したかを判定する（Ｏｐ．９４）。例えば、受信部４０１が受信した情報に、認証要求であることを示すフラグ情報が付与されているか否かに基づき、判定が行われる。
【０１９１】
認証要求を受信していない場合は（Ｏｐ．９４Ｎｏ）、処理を終了する。一方、認証要求を受信した場合は（Ｏｐ．９４Ｙｅｓ）、演算部４０４は、認証要求に含まれるユーザＩＤに対応する登録情報を、記憶部４０５から取得する（Ｏｐ．９５）。
【０１９２】
そして、演算部４０４は、認証要求に含まれる入力情報と、登録情報との比較結果を演算する（Ｏｐ．９６）。例えば、入力情報と、登録情報との排他的論理和が演算される。なお、演算結果は、認証用情報と被認証情報とのハミングベクトルが、判定装置４’における部分登録情報の生成（Ｏｐ．９１）で利用された２つの鍵情報により暗号化された情報に相当する。
【０１９３】
次に、送信部４０２は、比較結果を、ユーザＩＤとともに、判定装置５’へ送信する（Ｏｐ．９７）。そして、管理装置４００は、認証処理を終了する。
【０１９４】
以上のように、第四の実施例によれば、登録情報の登録を、判定装置４’に認証用情報を秘匿したまま、他の実施例と異なる方法で実現することができる。
【０１９５】
［ハードウェア構成例］
次に図２３は、本発明に関する各装置のハードウェア構成例である。なお、第一の実施例、第二の実施例、第三の実施例、第四の実施例の各々に関する端末装置、認証装置、管理装置、判定装置は、各々コンピュータにより実現される。よって、図２３は、各実施例における端末装置、認証装置、管理装置、判定装置の各々として機能するコンピュータ１０００のハードウェア構成を示す。
【０１９６】
コンピュータ１０００は、各実施例に係る登録処理および認証処理を実行し、各実施例における端末装置、認証装置、管理装置、判定装置の各々として機能する。コンピュータ１０００はＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）１００１、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１００２、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）１００３、通信装置１００４、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）１００５、入力装置１００６、表示装置１００７、媒体読取装置１００８を有しており、各部はバス１００９を介して相互に接続されている。そしてＣＰＵ１００１による管理下で相互にデータの送受を行うことができる。
【０１９７】
各実施例のフローチャートに示した登録処理または認証処理が記述された認証プログラムは、コンピュータ１０００が読み取り可能な記録媒体に記録される。コンピュータ１０００が読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。
【０１９８】
光ディスクには、Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ（ＤＶＤ）、ＤＶＤ−ＲＡＭ、Ｃｏｍｐａｃｔ  Ｄｉｓｃ  −  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＣＤ−ＲＯＭ）、Ｃｏｍｐａｃｔ  Ｄｉｓｃ  −  Ｒｅｃｏｒｄａｂｌｅ／ＲｅＷｒｉｔａｂｌｅ（ＣＤ−Ｒ／ＲＷ）などがある。光磁気記録媒体には、Ｍａｇｎｅｔｏ  −  ＯＰｔｉｃａｌ  ｄｉｓｋ（ＭＯ）などがある。認証プログラムを流通させる場合には、例えば、認証プログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売されることが考えられる。
【０１９９】
そして各実施例に係る登録処理および認証処理が記述された認証プログラムを実行するコンピュータ１０００の媒体読取装置１００８が、認証プログラムを記録した記録媒体から、該プログラムを読み出す。ＣＰＵ１００１は、読み出された認証プログラムをＨＤＤ１００５若しくはＲＯＭ１００２、ＲＡＭ１００３に格納する。
【０２００】
ＣＰＵ１００１は、各実施例に関わる装置全体の動作制御を司る中央処理装置である。そして、ＣＰＵ１００１が、各実施例に関わる認証プログラムをＨＤＤ１００５から読み出して実行する。ＣＰＵ１００１は、各装置における制御部として機能するようになる。先に述べたとおり、プログラムはＣＰＵ１００１とアクセス可能なＲＯＭ１００２またはＲＡＭ１００３に格納されていても良い。
【０２０１】
つぎに、通信装置１００４は、ＣＰＵ１００１の制御の下、各装置における受信部または送信部として機能する。
【０２０２】
ＨＤＤ１００５は、ＣＰＵ１００１の管理下で、各装置における記憶部として機能する。つまり、ＨＤＤ１００５は、登録処理および認証処理に必要な情報を記憶する。プログラム同様、登録処理および認証処理に必要な情報はＣＰＵ１００１とアクセス可能なＲＯＭ１００２またはＲＡＭ１００３に格納されても良い。さらに、処理の過程で生成される各種情報は、例えば、ＲＡＭ１００３に格納される。つまり、ＲＡＭ１００３が記憶部として機能する場合もある。
【０２０３】
入力装置１００６は、各種入力を受け付ける。入力装置１００６は、例えばキーボードやマウスである。表示装置１００７は、各種情報を表示する。表示装置１００７は、例えばディスプレイである。
【符号の説明】
【０２０４】
１、１’、３、３’、６、１００        端末装置
１０１    受信部
１０２    送信部
１０３    取得部
１０４    制御部
１０５    暗号化部
１０６    記憶部
２、２’、２００        認証装置
２０１    受信部
２０２    送信部
２０３    制御部
２０４    暗号化部
２０５    演算部
２０６    認証部
２０７    記憶部
４、４’、７、４００        管理装置
４０１    受信部
４０２    送信部
４０３    制御部
４０４    演算部
４０５    記憶部
５、５’、８、５００        判定装置
５０１    受信部
５０２    送信部
５０３    制御部
５０４    暗号化部
５０５    認証部
５０６    記憶部
９、９００        中継装置
９０１    受信部
９０２    送信部
９０３    制御部
９０４    暗号化部
９０５    記憶部
１０００    コンピュータ
１００１    ＣＰＵ
１００２    ＲＯＭ
１００３    ＲＡＭ
１００４    通信装置
１００５    ＨＤＤ
１００６    入力装置
１００７    表示装置
１００８    媒体読取装置
１００９    バス
【図１】
2014230156.tif 000003
【図２】
2014230156.tif 000004
【図３】
2014230156.tif 000005
【図４】
2014230156.tif 000006
【図５】
2014230156.tif 000007
【図６】
2014230156.tif 000008
【図７】
2014230156.tif 000009
【図８】
2014230156.tif 000010
【図９】
2014230156.tif 000011
【図１０】
2014230156.tif 000012
【図１１】
2014230156.tif 000013
【図１２】
2014230156.tif 000014
【図１３】
2014230156.tif 000015
【図１４】
2014230156.tif 000016
【図１５】
2014230156.tif 000017
【図１６】
2014230156.tif 000018
【図１７】
2014230156.tif 000019
【図１８】
2014230156.tif 000020
【図１９】
2014230156.tif 000021
【図２０】
2014230156.tif 000022
【図２１】
2014230156.tif 000023
【図２２】
2014230156.tif 000024
【図２３】
2014230156.tif 000025