(57)【要約】【課題】生体認証における生体データ漏えい時の不正利用を防止すること。【解決手段】ＡＴＭ１と認証サーバ２間で生体認証を行う生体認証システムであって、認証サーバ２は、ＡＴＭ１から認証要求を受け付けると、ＡＴＭ１の利用者の生体データに埋め込むための認証コードと、該生体データに対し認証コードを埋め込む位置を指示するコードマップ情報と、を生成してＡＴＭ１へ送信する。ＡＴＭ１は、認証サーバ２から送信されたコードマップ情報に指示された位置に基づいて、取得したＡＴＭ１の利用者の生体データに対し認証コードを埋め込んでコード埋込データを生成して認証サーバ２へ送信する。そして、認証サーバ２は、生成したコード埋込データから、生成したコードマップ情報に指示された位置に基づいて認証コードを取出し、コード埋込データから認証コードを取り出した生体データと、予め認証サーバ２に格納されている利用者の生体データとを照合する。【選択図】図１０
2020013203.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末と、認証サーバ間とで生体認証を行う生体認証システムであって、
前記認証サーバは、
前記クライアント端末から認証要求を受け付けると、前記クライアント端末の利用者の生体データに埋め込むための認証コードを生成する認証コード生成部と、
前記生体データに対し前記認証コードを埋め込む位置を指示するコードマップ情報を生成するコードマップ情報生成部と、
前記生成した認証コードおよびコードマップ情報を前記クライアント端末へ送信する認証サーバ送受信部と、を備え、
前記クライアント端末は、
生体センサを通じて前記クライアント端末の利用者の生体データを取得する生体データ取得部と、
前記認証サーバから送信されたコードマップ情報に指示された位置に基づいて、取得した前記利用者の生体データに対し前記認証コードを埋め込んでコード埋込データを生成する埋込データ生成部と、
前記生成したコード埋込データを前記認証サーバへ送信するクライアント端末送受信部と、を備え、
前記認証サーバは、
前記生成したコード埋込データから、前記生成したコードマップ情報に指示された位置に基づいて前記認証コードを取出す認証コード取出し部と、
前記認証コード取出し部により前記コード埋込データから前記認証コードを取り出した前記生体データと、予め前記認証サーバに格納されている前記利用者の生体データとを照合する生体データ照合部と、
を備えることを特徴とする生体認証システム。
【請求項２】
前記認証サーバは、
前記生体データ照合部による前記生体データの照合前に、前記認証コード生成部が生成した認証コードと、前記認証コード取出し部が取り出した認証コードと、が一致するか否か検証する認証コード検証部をさらに備えることを特徴とする請求項１に記載の生体認証システム。
【請求項３】
前記クライアント端末は、
前記利用者の生体データを絞り込むための絞込情報を受け付ける絞込情報受付部をさらに備え、
前記認証サーバの前記生体データ照合部は、前記生体データの照合を行う前に、前記受け付けた絞込情報に基づき予め前記認証サーバに格納されている前記利用者の絞込情報に基づいて前記生体データの絞込を行う
ことを特徴とする請求項１または２に記載の生体認証システム。
【請求項４】
前記認証コード生成部は、前記認証コード生成時に認証コード有効期限を生成し、
前記認証サーバは、
前記認証コード取出し部により取り出された前記認証コードが有効期限切れとなっていないか検証する有効期限検証部、をさらに備える
ことを特徴とする請求項１〜３のうち何れか１項に記載の生体認証システム。
【請求項５】
クライアント端末からの認証要求に応じて生体認証を行う認証サーバであって、
前記認証サーバは、
前記クライアント端末から認証要求を受け付けると、前記クライアント端末の利用者の生体データに埋め込むための認証コードを生成する認証コード生成部と、
前記生体データに対し前記認証コードを埋め込む位置を指示するコードマップ情報を生成するコードマップ情報生成部と、
前記生成した認証コードおよびコードマップ情報を前記クライアント端末へ送信する認証サーバ送受信部と、
前記クライアント端末により、前記コードマップ情報に指示された位置に基づいて利用者から取得された生体データに対し前記認証コードを埋め込んで生成されたコード埋込データから、前記生成したコードマップ情報に指示された位置に基づいて前記認証コードを取出す認証コード取出し部と、
前記認証コード取出し部により前記コード埋込データから前記認証コードを取り出した前記生体データと、予め格納されている前記利用者の生体データとを照合する生体データ照合部と、
を備えることを特徴とする認証サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体認証システムおよび認証サーバに関する。
【背景技術】
【０００２】
従来、金融機関などに広く普及して用いられているＡＴＭ（Automatic Teller Machine）などの自動取引装置や金融機関の窓口端末において、本人確認のため生体センサで読み取った生体データに基づき生体認証を行っている。
【０００３】
たとえば、利用者の生体データを取得し、取得した生体データとサーバのデータベースに格納した生体データとを比較して生体認証を行うＡＴＭの発明が提案されている（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２３４４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、生体センサ等により取得した利用者の生体データがネットワーク等を通じてＡＴＭとサーバ間で送受信された場合には、悪意の第三者によるネットワークの盗聴により生体データが漏えいする場合も考えられる。生体データは通常暗号化されてから通信されるが、万が一、生体データが漏えいして生体データにかけていた暗号が解読され復号されると生体データが不正利用される可能性がある。
【０００６】
本発明は、上述課題に鑑み、生体認証における生体データ漏えい時の不正利用を防止すること目的とする。
【課題を解決するための手段】
【０００７】
上述目的を達成するために、本発明は、クライアント端末と、認証サーバ間とで生体認証を行う生体認証システムであって、前記認証サーバは、前記クライアント端末から認証要求を受け付けると、前記クライアント端末の利用者の生体データに埋め込むための認証コードを生成する認証コード生成部と、前記生体データに対し前記認証コードを埋め込む位置を指示するコードマップ情報を生成するコードマップ情報生成部と、前記生成した認証コードおよびコードマップ情報を前記クライアント端末へ送信する認証サーバ送受信部と、を備え、前記クライアント端末は、生体センサを通じて前記クライアント端末の利用者の生体データを取得する生体データ取得部と、前記認証サーバから送信されたコードマップ情報に指示された位置に基づいて、取得した前記利用者の生体データに対し前記認証コードを埋め込んでコード埋込データを生成する埋込データ生成部と、前記生成したコード埋込データを前記認証サーバへ送信するクライアント端末送受信部と、を備え、前記認証サーバは、前記生成したコード埋込データから、前記生成したコードマップ情報に指示された位置に基づいて前記認証コードを取出す認証コード取出し部と、前記認証コード取出し部により前記コード埋込データから前記認証コードを取り出した前記生体データと、予め前記認証サーバに格納されている前記利用者の生体データとを照合する生体データ照合部と、を備えることを特徴とする。
【０００８】
また、本発明は、クライアント端末からの認証要求に応じて生体認証を行う認証サーバであって、前記認証サーバは、前記クライアント端末から認証要求を受け付けると、前記クライアント端末の利用者の生体データに埋め込むための認証コードを生成する認証コード生成部と、前記生体データに対し前記認証コードを埋め込む位置を指示するコードマップ情報を生成するコードマップ情報生成部と、前記生成した認証コードおよびコードマップ情報を前記クライアント端末へ送信する認証サーバ送受信部と、前記クライアント端末により、前記コードマップ情報に指示された位置に基づいて利用者から取得された生体データに対し前記認証コードを埋め込んで生成されたコード埋込データから、前記生成したコードマップ情報に指示された位置に基づいて前記認証コードを取出す認証コード取出し部と、前記認証コード取出し部により前記コード埋込データから前記認証コードを取り出した前記生体データと、予め格納されている前記利用者の生体データとを照合する生体データ照合部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、生体認証における生体データ漏えい時の不正利用を防止することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態にかかる生体認証システム１００の一例を示す図である。
【図２】ＡＴＭ１のハードウェア構成の一例を示すブロック図である。
【図３】認証サーバ２のハードウェア構成の一例を示すブロック図である。
【図４】認証サーバ２の記憶部２１に格納されている各種テーブルの一例を示す図である。
【図５】ホストサーバ３のハードウェア構成の一例を示すブロック図である。
【図６】本実施形態に係る生体認証システム１００を構成するＡＴＭ１、認証サーバ２の機能構成の一例を示す図である。
【図７】認証サーバ２が処理する各種情報の一例を示す図である。
【図８】コードマップ情報に基づいて、生体データに認証コードを埋め込んでコード埋込データを生成する一例を示す図である。
【図９】コードマップ情報に基づいて、コード埋込データから認証コードを取り出して生体データを復号する一例を示す図である。
【図１０】ＡＴＭ１と認証サーバ２とが実行する生体認証処理の一例を示すシーケンスチャートである。
【図１１】認証コード生成処理の一例を示すフローチャートである。
【図１２】コードマップ情報生成処理の一例を示すフローチャートである。
【図１３】ＡＴＭ１とホストサーバ３とが実行する取引処理の一例を示すシーケンスチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、詳細に説明する。
【００１２】
図１は、本実施形態にかかる生体認証システム１００の一例を示す図である。図１に示すように、生体認証システム１００は、ＡＴＭ１、認証サーバ２、ホストサーバ３を有する。これらの各部は専用線やＶＰＮ（Virtual  Private  Network）などの閉域網のネットワークＮを介して、互いが通信可能に接続される。生体認証システム１００は、図１に示していない他の装置やサーバを備えていてもよい。
【００１３】
ＡＴＭ１は、生体データを用いて、入金、出金、振込や残高照会などの各種取引を実行する装置である。このＡＴＭ１は、現金自動預払機とも呼ばれる。なお、ＡＴＭ１は認証サーバ２との間で生体認証を行うクライアント端末の一例である。以下の説明においては、認証サーバ２との間で生体認証を行うクライアント端末を代表してＡＴＭ１を用いて説明を行う。なお、本実施形態においては、ＡＴＭ１は、クライアント端末の一例として説明しているがこれに限られるものではない。たとえば、生体認証を必要とする端末であればよく、金融機関で用いられる店舗の窓口端末、可搬可能な渉外端末や、流通店舗で用いられるＰＯＳ、可搬可能なモバイルＰＯＳ、キオスク端末等であってもよい。なお、本実施形態においては、ＡＴＭ１は、ＭＳデータやＩＣチップを備えるカードは特に必要としない。
【００１４】
図２は、ＡＴＭ１のハードウェア構成の一例を示すブロック図である。ＡＴＭ１は、ＡＴＭ制御部１０、記憶部１１、表示部１２、入力部１３、生体センサ１４、紙幣処理部１５、硬貨処理部１６、および通信部１７を有する。また、ＡＴＭ１は、図２に示していない他の回路構成を備えていてもよい。
【００１５】
ＡＴＭ制御部１０は、ＡＴＭ１全体を統括的に制御するもので、プログラムを読込んで制御処理を実行するＣＰＵ（Central  Processing  Unit）（不図示）を有する。記憶部１１は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、ＨＤＤ（Hard  Disk  Drive）などを有する。記憶部１１は、ＡＴＭ制御部１０が実行するプログラム、表示画面データ、その他各種データを記憶する。また、記憶部１１は、ＡＴＭ制御部１０がプログラムを実行する際の作業領域を提供する。
【００１６】
表示部１２は、たとえばＬＣＤ（Liquid  Crystal  Display）であって、ＡＴＭ制御部１０の指示により、ＡＴＭ１の利用者に対して操作画面、表示画面、メニュー画面あるいは操作指示用のガイド画面などを表示する。入力部１３は、表示部１２と一体化したタッチパネルで、利用者により、取引の種類の選択、振込先、振込元、振込金額、暗証番号、入金・出金の金額などが入力され、入力された情報はＡＴＭ制御部１０に通知される。
【００１７】
生体センサ１４は、ＡＴＭ制御部１０の制御のもと、生体認証を行う利用者の生体情報を読み取り、生体データを生成する。ＡＴＭ制御部１０は、生体センサ１４により生成された生体データに基づいて認証処理を行う。本実施形態においては、生体センサ１４は、利用者の手のひら静脈により生体データを生成する手のひら静脈センサにより構成される。生体センサ１４は、たとえば、ＡＴＭ１筐体の表示部１２近傍などに設けられている。上述の実施形態においては、生体センサ１４は、手のひら静脈センサにより構成されているがこの限りではなく、たとえば、顔認証センサ、虹彩認証センサ、指紋認証センサ等であってもよい。
【００１８】
紙幣処理部１５は、紙幣を一時的に格納する一時保留部と、紙幣の真偽などを鑑別する紙幣鑑別部と、紙幣を種類別に格納する紙幣スタッカと、紙幣入出口のシャッタ解放後に取り忘れた紙幣を保管する紙幣取り忘れボックスと、紙幣入出口と一時保留部と紙幣鑑別部や紙幣スタッカおよび紙幣取り忘れボックス間で紙幣を搬送する搬送路などを有する。紙幣処理部１５は、紙幣スタッカ内の紙幣の量を検知する紙幣量センサを有し、紙幣処理部１５は、紙幣量センサにより紙幣スタッカ内の紙幣の量を検知してＡＴＭ制御部１０に通知する。
【００１９】
硬貨処理部１６は、硬貨の真偽などを鑑別する硬貨鑑別部と、硬貨を種類別に格納する硬貨スタッカと、硬貨入出口のシャッタ解放後に取り忘れた硬貨を保管する硬貨取り忘れボックスと、硬貨入出口と硬貨鑑別部や硬貨スタッカおよび硬貨取り忘れボックス間で硬貨を搬送する搬送路などを有する。硬貨処理部１６は、硬貨スタッカ内の硬貨の量を検知する硬貨量センサを有し、硬貨処理部１６は、硬貨量センサにより硬貨スタッカ内の硬貨の量を検知してＡＴＭ制御部１０に通知する。
【００２０】
出金処理時には、紙幣処理部１５および硬貨処理部１６は、ＡＴＭ制御部１０からの指示により、必要な紙幣や硬貨を計数して紙幣スタッカや硬貨スタッカから取出し、紙幣入出口や硬貨入出口まで搬送し、搬送後に紙幣入出口や硬貨入出口のシャッタを開放する。紙幣取り忘れボックスおよび硬貨取り忘れボックスを合わせて媒体保管庫とも呼ぶ。通信部１７は、ネットワークＮを通じてＡＴＭ１と認証サーバ２またはホストサーバ３間のデータ（電文）の授受を行う。
【００２１】
図３は、認証サーバ２のハードウェア構成の一例を示すブロック図である。認証サーバ２は、認証サーバ制御部２０、記憶部２１、表示部２２、入力部２３および通信部２４を有する。また、認証サーバ２は、図３に示していない他の回路構成を備えていてもよい。
【００２２】
認証サーバ制御部２０は、認証サーバ２全体を統括的に制御するもので、プログラムを読込んで制御処理を実行するＣＰＵを有する。記憶部２１は、ＲＡＭ、ＲＯＭ、ＨＤＤなどを有する。記憶部２１は、認証サーバ制御部２０が実行するプログラム、表示画面データ、その他各種データを記憶する。また、記憶部２１は、認証サーバ制御部２０がプログラムを実行する際の作業領域を提供する。また、記憶部２１は、認証コード管理テーブル２１１、生体データ管理テーブル２１２、認証コード用メモリ領域２１３、コードマップ情報用メモリ領域２１４を有する。認証コード管理テーブル２１１、生体データ管理テーブル２１２、認証コード用メモリ領域２１３、コードマップ情報用メモリ領域２１４については後述する。また、記憶部２１は、図３に示していない他のデータ等を備えていてもよい。
【００２３】
表示部２２は、例えばＬＣＤ等のディスプレイであり、認証サーバ制御部２０の制御のもとで表示画面の表示を行う。入力部２３は、例えばキーボード、マウス等の入力インターフェースであり、認証サーバ２の操作者の操作入力を受け付ける。通信部２４は、認証サーバ制御部２０の制御のもと、生体認証システムの閉域網を介した通信を行う。
【００２４】
図４は、認証サーバ２の記憶部２１に格納されている各種テーブルの一例を示す図である。図４（Ａ）は、認証コード管理テーブル２１１の一例を示す図である。
【００２５】
認証コード管理テーブル２１１には、認証コード管理番号ごとに、コードマップ情報、認証コード、認証コード有効期限の情報が格納されている。
【００２６】
認証コード管理番号は、各生体認証処理を一意に識別できるユニークな番号により構成される。本実施形態においては、認証コード管理番号は、ＡＴＭ１の店番と、ＡＴＭ１の装置番号の情報により構成される。店番は、ＡＴＭ１が配置されている金融機関の支店を特定する番号である。装置番号は、支店内に配置されているＡＴＭ１を特定する番号である。各ＡＴＭ１は、店番と固有の装置番号の情報を有する。たとえば、店番が「００１」で、装置番号が「００１」のＡＴＭ１の認証コード管理番号は、「００１００１」となる。
【００２７】
コードマップ情報は、生体データに対し認証コードを埋め込む位置を指示する情報である。コードマップ情報は、コードマップ情報生成処理においてランダムに生成される。認証コードは、生体データに対し埋め込むためのダミーデータの情報である。認証コードのダミーデータは認証コード生成処理においてランダムに生成される。コードマップ情報を生成する方法および認証コードを生成する方法については後述する。認証コード有効期限は、各認証コードが有効な期限を示す情報である。認証コード有効期限は、たとえば、YYYY/MM/DD hh:mm:ssの形式で認証コード生成時に生成される。たとえば、認証コード生成時より１０分後の日時が認証コード有効期限として生成される。認証コード管理番号に紐付いたコードマップ情報、認証コード、認証コード有効期限の情報は、一つの生体認証処理が終了すると消去される。認証コード管理テーブル２１１は、図４（Ａ）に示していない他の項目を備えていてもよい。
【００２８】
図４（Ｂ）は、生体データ管理テーブル２１２の一例を示す図である。生体データ管理テーブル２１２には、認証処理の絞込情報ごとに、生体データ、口座情報が格納されている。認証処理の絞込情報は、生体データと口座番号とを紐付けて一意に識別できるユニークな番号により構成される。たとえば、認証処理の絞込情報は利用者に紐付く情報であればよく、たとえば、利用者の生年月日や電話番号などである。
【００２９】
生体データは、予め生体センサ１４等を用いて取得した、口座情報に対応する利用者の生体情報である。口座情報は、生体データに対応する利用者の銀行カードの口座番号、科目、店番等を含む利用者の銀行口座の情報である。生体データ管理テーブル２１２は、図４（Ｂ）に示していない他の項目を備えていてもよい。
【００３０】
図５は、ホストサーバ３のハードウェア構成の一例を示すブロック図である。図５に示すように、ホストサーバ３は、ホストサーバ制御部３０、記憶部３１、表示部３２、入力部３３、および通信部３４を有する。また、ホストサーバ３は、図５に示していない他の回路要素を備えていてもよい。
【００３１】
ホストサーバ制御部３０は、ＣＰＵなどであり、記憶部３１のＲＯＭやＨＤＤなどに記憶されたプログラムを記憶部３１のＲＡＭに展開して順次実行することで、ホストサーバ３全体の動作を制御する。記憶部３１は、ＲＡＭ、ＲＯＭ、ＨＤＤなどであり、ホストサーバ制御部３０が実行するプログラム、各種設定情報などを記憶する。また、記憶部３１には、勘定系金融取引に必要な口座情報、顧客情報等を格納した各種テーブルを格納する。
【００３２】
表示部３２は、たとえばＬＣＤなどのディスプレイであり、ホストサーバ制御部３０の制御のもとで各種情報を画面表示する。入力部３３は、たとえばキーボード、マウスなどの入力インターフェースであり、ホストサーバ３の操作者の操作入力を受け付ける。通信部３４は、ホストサーバ制御部３０の制御のもと、生体認証システムの閉域網を介した通信を行う。ホストサーバ３は、通信部３４による通信を行うことで、生体認証システムのＡＴＭ１との間でデータの送受信を行う。
【００３３】
次に、本実施形態に係る生体認証システム１００を構成するＡＴＭ１、認証サーバ２の機能構成について説明する。なお、ホストサーバ３の機能構成については、公知のホストサーバと同様の機能構成であるため説明を省略する。図６は、本実施形態に係る生体認証システム１００を構成するＡＴＭ１、認証サーバ２の機能構成の一例を示す図である。ＡＴＭ１のＡＴＭ制御部１０は、生体データ取得部１０１と、絞込情報受付部１０２と、クライアント端末送受信部１０３と、埋込データ生成部１０４と、を少なくとも有する。
【００３４】
認証サーバ２の認証サーバ制御部２０は、認証コード生成部２０１と、コードマップ情報生成部２０２と、認証サーバ送受信部２０３と、認証コード取出し部２０４と、認証コード検証部２０５と、有効期限検証部２０６と、生体データ照合部２０７と、を少なくとも有する。生体認証システム１００は、図６に示していない他の機能構成を備えていてもよい。
【００３５】
生体データ取得部１０１は、利用者の認証要求を受け付けると、生体センサ１４を通じてＡＴＭ１の利用者の生体データを取得する。生体データのデータ形式については後述する。絞込情報受付部１０２は、利用者の入力部１３に対する入力操作を通じて利用者の生体データを絞り込むための絞込情報を受け付ける。本実施形態においては、絞込情報は利用者の生年月日の情報であるがこれに限られず、利用者の電話番号であってもよい。
【００３６】
クライアント端末送受信部１０３は、利用者の認証要求を受け付けると、認証コード管理番号を含む認証要求電文を認証サーバ２へ送信する。たとえば、認証コード管理番号は、認証要求を行うＡＴＭ１、すなわち、認証要求電文を送信するＡＴＭ１を一意に識別できるデータである。本実施形態においては、認証コード管理番号は、ＡＴＭ１の店番とＡＴＭ１の装置番号とにより構成される。
【００３７】
埋込データ生成部１０４は、認証要求電文に対する認証応答電文を受信すると、認証応答電文に含まれるコードマップ情報に基づいて、生体データ取得部１０１が取得した生体データに認証コードを埋め込んで認証コードが埋め込まれた生体データ（以下、「コード埋込データ」と称する）を生成する。コードマップ情報に基づいて、生体データに認証コードを埋め込んでコード埋込データを生成する方法については後述する。
【００３８】
クライアント端末送受信部１０３は、ＡＴＭ１の店番とＡＴＭ１の装置番号とにより生成した認証コード管理番号、絞込情報受付部１０２が受け付けた絞込情報および埋込データ生成部１０４が生成したコード埋込データを含む照合要求電文を認証サーバ２へ送信する。
【００３９】
認証コード生成部２０１は、ＡＴＭ１から送信された認証要求電文を受信すると、生体データに埋め込むための認証コードを生成する。また、認証コード生成部２０１は、認証コード有効期限を生成する。
【００４０】
認証コード生成部２０１は、生成した認証コードおよび認証コード有効期限の情報を図４（Ａ）の認証コード管理テーブル２１１に格納する。認証コードを生成する方法については後述する。
【００４１】
コードマップ情報生成部２０２は、ＡＴＭ１から送信された認証要求電文を受信すると、生体データに対し認証コード生成部２０１が生成した認証コードを埋め込む位置を指示するコードマップ情報を生成する。コードマップ情報生成部２０２は、生成したコードマップ情報を図４（Ａ）の認証コード管理テーブル２１１に格納する。コードマップ情報を生成する方法については後述する。
【００４２】
認証サーバ送受信部２０３は、認証コード生成部２０１が生成した認証コードおよびコードマップ情報生成部２０２が生成したコードマップ情報を含む認証応答電文をＡＴＭ１へ送信する。認証コード取出し部２０４は、コードマップ情報生成部２０２が生成したコードマップ情報に基づいて、ＡＴＭ１から送信された照合要求電文に含まれるコード埋込データから認証コードを取出して生体データを復号する。コード埋込データから認証コードを取り出して生体データを復号する方法については後述する。
【００４３】
認証コード検証部２０５は、認証コード生成部２０１が生成した認証コードと、認証コード取出し部２０４が取り出した認証コードと、が一致するか否か検証する。認証コード生成部２０１が生成した認証コードと、認証コード取出し部２０４が取り出した認証コードと、が一致しない場合には、悪意の第三者によるなりすましや盗聴が行われていることが検証できる。
【００４４】
有効期限検証部２０６は、ＡＴＭ１から送信された認証要求電文に含まれる認証コードが有効期限切れとなっていないか検証する。具体的には、有効期限検証部２０６は、認証要求電文に含まれる認証コードが図４（Ａ）の認証コード管理テーブル２１１に格納されている認証コード有効期限を徒過していないか検証する。検証の結果、認証コード有効期限を徒過している場合には、悪意の第三者による盗聴が行われていることが疑われる。
【００４５】
認証コード検証部２０５により認証コードが一致したことおよび有効期限検証部２０６により認証コードが有効期限切れとなっていないことを検証した場合には、生体データ照合部２０７は、生体データの照合を行う。具体的には、生体データ照合部２０７は、ＡＴＭ１から送信された照合要求電文に含まれるコード埋込データから認証コードを取出した生体データと、図４（Ｂ）の生体データ管理テーブル２１２に格納されている生体データと、を照合する。この場合、生体データ照合部２０７は、生体データとの照合を行う前に、照合要求電文に含まれる絞込情報に基づき図４（Ｂ）の生体データ管理テーブル２１２に格納されている生体データの絞込を行う。生体データ同士の照合前に、生体データの絞込を行うことにより、照合精度の向上および照合速度の向上を図ることができる。
【００４６】
そして、生体データ照合部２０７は、ＡＴＭ１から送信された照合要求電文に含まれるコード埋込データから認証コードを取出して復号した生体データと、絞込情報に基づき絞り込んだ生体データと、を照合する。認証コードを取出して復号した生体データと、絞込情報に基づき絞り込んだ生体データと、が一致する場合には照合結果はＯＫとなる。これに対し、認証コードを取出して復号した生体データと、絞込情報に基づき絞り込んだ生体データと、が一致しない場合には照合結果はＮＧとなる。
【００４７】
認証サーバ送受信部２０３は、生体データ照合部２０７の照合結果を含む照合応答電文をＡＴＭ１へ送信する。なお、生体データ照合部２０７の照合結果がＯＫの場合には、認証サーバ送受信部２０３は、照合した生体データに対応する口座情報と照合結果とを含む照合応答電文をＡＴＭ１へ送信する。
【００４８】
認証サーバ２が処理する各種情報について説明する。図７は、認証サーバ２が処理する各種情報の一例を示す図である。図７（Ａ）は、コードマップ情報の一例を示す図である。コードマップ情報は、生体データに対し認証コードを埋め込む位置（１０進数）を指示する情報である。コードマップ情報は、２Ｂｙｔｅ単位で１つの埋め込む位置を表す。図７（Ａ）の例では、コードマップ情報は、（Ｎ−１，Ｎ）Ｂｙｔｅで、Ｘ番目の認証コードを埋め込む位置を表す。たとえば、（１，２）Ｂｙｔｅで、１番目の認証コードを生体データの２番目（２Ｂｙｔｅ目）に埋め込むことを表す。同様に、（３，４）Ｂｙｔｅで２番目の認証コードを生体データ４番目（４Ｂｙｔｅ目）に埋め込むことを表す。上述の実施形態においては、コードマップ情報は、２Ｂｙｔｅ単位で１つの埋め込む位置を表しているがこの限りではない。たとえば、１Ｂｙｔｅ単位で１つの埋め込む位置を表してもよく、複数Ｂｙｔｅ単位で１つの埋め込む位置を表してもよい。また、コードマップ情報は可変長単位で埋め込む位置を表してもよい。
【００４９】
図７（Ｂ）は、認証コードの一例を示す図である。認証コードは、生体データに埋め込むダミーデータの一種である。認証コードは、生体データに埋め込むデータ（１６進数）を定義した情報である。認証コードは１Ｂｙｔｅ単位で１つの埋め込みデータを表す。図７（Ｂ）の例では、１番目（１Ｂｙｔｅ目）の埋め込みデータとして「Ｆ１」、２番目（２Ｂｙｔｅ目）の埋め込みデータとして「Ｅ２」が定義されている。
【００５０】
図７（Ｃ）は、生体データの一例を示す図である。本実施形態においては、生体データは、手のひら静脈の画像情報の特徴データである。生体データは、複数Ｂｙｔｅで１つの生体データを表す。上述の実施形態においては、生体データは、手のひら静脈の画像情報としているがこの限りではなく、たとえば、顔、虹彩、指紋等、ＡＴＭ１の利用者の識別に用いることができるものであればよく。これらまたはこれらの組み合わせに限定されない。
【００５１】
次に、ＡＴＭ１の埋込データ生成部１０４がコードマップ情報に基づいて、生体データに認証コードを埋め込んでコード埋込データを生成する例について説明する。図８は、コードマップ情報に基づいて、生体データに認証コードを埋め込んでコード埋込データを生成する一例を示す図である。
【００５２】
埋込データ生成部１０４は、認証応答電文を受信すると、認証応答電文に含まれるコードマップ情報に基づいて、生体データ取得部１０１が取得した生体データに認証コードを埋め込む。たとえば、埋込データ生成部１０４は、図８のコードマップ情報の（１，２）Ｂｙｔｅ目に定義されている認証コードの１番目の位置の値「２」を取得する。そして、埋込データ生成部１０４は、取得した認証コードの１番目の値「Ｆ１」を生体データの「２」番目（２Ｂｙｔｅ目）に埋め込む。同様に、埋込データ生成部１０４は、図８のコードマップ情報の（Ｎ−１，Ｎ）Ｂｙｔｅ目に定義されている認証コードのＸ番目の位置の値「Ｄ７」を取得する。そして、埋込データ生成部１０４は、取得した認証コードのＸ番目の値「Ｄ７」を生体データの「１６」番目（１６Ｂｙｔｅ目）に埋め込む。この処理を連続して行うことで、埋込データ生成部１０４は、生体データに認証コードを埋め込んでコード埋込データを生成する。図８のコード埋込データには、コードマップ情報に定義したランダムな位置に、ランダムに生成された認証コードとして、たとえば、「Ｆ１」「Ｅ２」「Ａ８」「Ｂ５」「Ｄ７」が埋め込まれているため、コード埋込データが悪意の第三者による盗聴により盗まれた場合であっても、生体データとしてそのまま使用することができない。これにより、万が一生体データが漏えいした場合であっても不正利用されることを未然に防ぐことができる。
【００５３】
次に、認証サーバ２の認証コード取出し部２０４がコードマップ情報に基づいて、コード埋込データから認証コードを取り出して生体データを復号する例について説明する。図９は、コードマップ情報に基づいて、コード埋込データから認証コードを取り出して生体データを復号する一例を示す図である。
【００５４】
認証コード取出し部２０４は、照合要求電文を受信すると、図４（Ａ）の認証コード管理テーブル２１１に格納されているコードマップ情報のうち、照合要求電文に含まれる認証コード管理番号に対応するコードマップ情報を取得する。認証コード取出し部２０４は、取得したコードマップ情報に基づいて、照合要求電文に含まれるコード埋込データから認証コードを取り出す。たとえば、認証コード取出し部２０４は、図９のコードマップ情報の（１，２）Ｂｙｔｅ目に定義されている認証コードの１番目の位置の値「２」を取得する。そして、認証コード取出し部２０４は、取得した認証コードの２番目の位置の値「Ｆ１」を１番目の認証コードの値として取り出す。同様に、認証コード取出し部２０４は、図９のコードマップ情報の（Ｎ−１，Ｎ）Ｂｙｔｅ目に定義されている認証コードのＸ番目の位置の値「１６」を取得する。そして、認証コード取出し部２０４は、取得した認証コードの１６番目の値「Ｄ７」をＸ番目の認証コードの値として取り出す。この処理を連続して行うことで、認証コード取出し部２０４は、コード埋込データから認証コードを取り出して、生体データを復号する。
【００５５】
次に、ＡＴＭ１とホストサーバ３とが実行する生体認証処理の流れを、図１０を用いて説明する。図１０は、ＡＴＭ１とホストサーバ３とが実行する生体認証処理の一例を示すシーケンスチャートである。
【００５６】
はじめに、ＡＴＭ１のＡＴＭ制御部１０は、生体認証による取引を行うか、銀行カードによる通常の取引を行うかを選択する認証方法選択画面（図示せず）を表示部１２に表示する（ステップＳ１１）。利用者の操作に基づき生体認証による取引が選択された場合には、生体データ取得部１０１は、利用者の生体データを取得する（ステップＳ１２）。なお、利用者の操作に基づき生体認証以外の通常の認証による取引が選択された場合には、ＡＴＭ制御部１０は、ホストサーバ３との間で通常取引処理を実行する。通常取引処理については公知であるため説明を省略する。
【００５７】
絞込情報受付部１０２は、ＡＴＭ１の利用者の入力操作に基づき、利用者の絞込情報として利用者の生年月日の情報を取得する（ステップＳ１３）。クライアント端末送受信部１０３は、ＡＴＭ１の店番とＡＴＭ１の装置番号とにより構成される認証コード管理番号を含む認証要求電文を認証サーバ２へ送信する（ステップＳ１４）。認証要求電文を受信した認証サーバ２の認証コード生成部２０１は、認証コード生成処理を行う（ステップＳ１５）。認証コード生成処理の詳細については、後述する。また、認証サーバ２のコードマップ情報生成部２０２は、コードマップ情報生成処理を行う（ステップＳ１６）。コードマップ情報生成処理の詳細については、後述する。
【００５８】
認証サーバ送受信部２０３は、認証コード生成部２０１が生成した認証コードと、コードマップ情報生成部２０２が生成したコードマップ情報と、ＡＴＭ１から送信された認証要求電文に含まれる認証コード管理番号とを含む認証応答電文をＡＴＭ１へ送信する（ステップＳ１７）。
【００５９】
ＡＴＭ１の埋込データ生成部１０４は、認証応答電文に含まれるコードマップ情報に指示された埋め込み位置に基づいて、ステップＳ１２で取得した生体データに認証コードを埋め込み、コード埋込データを生成する（ステップＳ１８）。クライアント端末送受信部１０３は、ステップＳ１８で生成したコード埋込データ、ＡＴＭ１の店番とＡＴＭ１の装置番号とにより構成される認証コード管理番号、ステップＳ１３で受け付けた絞込情報を含む照合要求電文を認証サーバ２へ送信する（ステップＳ１９）。
【００６０】
認証コード取出し部２０４は、図４（Ａ）の認証コード管理テーブル２１１に格納されているコードマップ情報のうち、照合要求電文に含まれる認証コード管理番号に対応するコードマップ情報を取得する。そして、認証コード取出し部２０４は、取得したコードマップ情報に基づいて、照合要求電文に含まれるコード埋込データから認証コードを取り出す（ステップＳ２０）。
【００６１】
認証コード検証部２０５は、認証コード生成部２０１が生成してＡＴＭ１へ送信した認証コードと、認証コード取出し部２０４が取り出した認証コードと、が一致するか検証する（ステップＳ２１）。有効期限検証部２０６は、ＡＴＭ１から送信された照合要求電文から取り出した認証コードが有効期限切れとなっていないか検証する（ステップＳ２２）。具体的には、有効期限検証部２０６は、図４（Ａ）の認証コード管理テーブル２１１に格納されている認証コード有効期限のうち、照合要求電文に含まれる認証コード管理番号に対応する認証コード有効期限を徒過していないか検証する。
【００６２】
生体データ照合部２０７は、図４（Ｂ）の生体データ管理テーブル２１２に格納されている生体データのうち、照合要求電文に含まれる絞込情報と一致する絞込情報を有する生体データを絞り込む。そして、生体データ照合部２０７は、ＡＴＭ１から送信された照合要求電文に含まれるコード埋込データから認証コードを取出して復号した生体データと、絞込情報に基づき絞り込んだ生体データと、を照合する（ステップＳ２３）。
【００６３】
認証サーバ送受信部２０３は、生体データ照合部２０７の照合結果を含む照合応答電文をＡＴＭ１へ送信する（ステップＳ２４）。生体データ照合部２０７の照合結果がＯＫの場合には、認証サーバ送受信部２０３は、図４（Ｂ）の生体データ管理テーブル２１２を参照し、ステップＳ２３で照合した生体データに対応する口座情報と照合結果とを含む照合応答電文をＡＴＭ１へ送信する。
【００６４】
ＡＴＭ制御部１０は、照合応答電文を受信すると、照合結果がＯＫか否かを判定する（ステップＳ２５）。照合結果がＯＫの場合（ステップＳ２５のＹＥＳ）には、ＡＴＭ制御部１０は、通常取引処理を行う。通常取引処理については後述する。照合結果がＮＧでの場合（ステップＳ２５のＮＯ）には、ＡＴＭ制御部１０は、取引を中断する（ステップＳ２６）。そして、再びステップＳ１１の処理に戻る。
【００６５】
次に、認証コード生成部２０１が実行する認証コード生成処理の流れを説明する。図１１は、認証コード生成処理の一例を示すフローチャートである。図１１では、認証コードを８Ｂｙｔｅで運用する場合の例について説明する。
【００６６】
認証コード生成部２０１は、８Ｂｙｔｅの認証コード用メモリ領域２１３を確保する（ステップＳ４１）。認証コード生成部２０１は、０ｘ０１〜０ｘＦＦ（１６進数）の範囲で１Ｂｙｔｅの乱数を生成する（ステップＳ４２）。認証コード生成部２０１は、ステップＳ４２で生成した１Ｂｙｔｅの乱数をステップＳ４１で確保した認証コード用メモリ領域２１３に格納する（ステップＳ４３）。この場合、認証コード生成部２０１は、生成した乱数を認証コード用メモリ領域２１３の下位のＢｙｔｅから格納する。
【００６７】
認証コード生成部２０１は、ステップＳ４１で確保した８Ｂｙｔｅの認証コード用メモリ領域サイズに到達したか否かを判定する（ステップＳ４４）。この処理では、認証コード生成部２０１は、ステップＳ４１で確保した８Ｂｙｔｅの認証コード用メモリ領域２１３の全てに乱数が格納されたか否かを判定する。ステップＳ４１で確保した８Ｂｙｔｅの認証コード用メモリ領域サイズに到達していない場合（ステップＳ４４のＮＯ）には、処理はステップＳ４２に戻り、８Ｂｙｔｅ分の認証コードが生成されるまで認証コード生成部２０１は、ステップＳ４２〜ステップＳ４４の処理を繰り返し実行する。
【００６８】
ステップＳ４１で確保した８Ｂｙｔｅの認証コード用メモリ領域サイズに到達した場合（ステップＳ４４のＹＥＳ）には、認証コード生成部２０１は、認証コード用メモリ領域２１３に格納した乱数を認証コードとして生成する（ステップＳ４５）。認証コード生成部２０１は、生成した認証コードを図４（Ａ）の認証コード管理テーブル２１１に格納する。この処理が終了すると、認証コード生成処理は終了となる。
【００６９】
次に、コードマップ情報生成部２０２が実行するコードマップ情報生成処理の流れを説明する。図１２は、コードマップ情報生成処理の一例を示すフローチャートである。図１２では、８Ｂｙｔｅの認証コード用のコードマップ情報を生成する例について説明する。コードマップ情報生成部２０２は、１６Ｂｙｔｅ（８Ｂｙｔｅ×２）のコードマップ情報用メモリ領域２１４を確保する（ステップＳ５１）。
【００７０】
コードマップ情報生成部２０２は、コードマップ情報用変数（ｃｍａｐ）を初期化（ｃｍａｐ＝０）する（ステップ５２）。コードマップ情報生成部２０２は、カウンタ変数（ｃｎｔ）を初期化（ｃｎｔ＝０）する（ステップＳ５３）。コードマップ情報生成部２０２は、１〜６４（１０進数）の範囲で乱数を生成する（ステップＳ５４）。
【００７１】
コードマップ情報生成部２０２は、コードマップ情報用変数（ｃｍａｐ）に、ステップＳ４２で生成した乱数を加算する（ステップＳ５５）。コードマップ情報生成部２０２は、ステップＳ５５で加算した２Ｂｙｔｅのコードマップ情報用変数（ｃｍａｐ）をステップＳ５１で確保したコードマップ情報用メモリ領域２１４に格納する（ステップＳ５６）。この場合、コードマップ情報生成部２０２は、２Ｂｙｔｅのコードマップ情報用変数（ｃｍａｐ）をコードマップ情報用メモリ領域２１４の上位のＢｙｔｅから２Ｂｙｔｅずつ格納する。たとえば、コードマップ用メモリ領域が１６Ｂｙｔｅである場合、コードマップ情報生成部２０２は、２Ｂｙｔｅのコードマップ情報用変数（ｃｍａｐ）をコードマップ情報用メモリ領域２１４の（１６−ｃｎｔ×２）Ｂｙｔｅ目から下位のＢｙｔｅに向かって順に格納する。
【００７２】
コードマップ情報生成部２０２は、ステップＳ５１で確保した１６Ｂｙｔｅのコードマップ用メモリ領域サイズに到達したか否かを判定する（ステップＳ５７）。この処理では、コードマップ情報生成部２０２は、ステップＳ５１で確保した１６Ｂｙｔｅのコードマップ用メモリ領域の全てに２Ｂｙｔｅのコードマップ情報用変数（ｃｍａｐ）が格納されたか否かを判定する。
【００７３】
ステップＳ５１で確保した１６Ｂｙｔｅのコードマップ用メモリ領域サイズに到達していない場合（ステップＳ５７のＮＯ）には、コードマップ情報生成部２０２は、カウンタ変数（ｃｎｔ）をインクリメントして（ステップＳ５８）、処理はステップＳ５４に戻る。そして、１６Ｂｙｔｅ分のコードマップ情報用変数（ｃｍａｐ）が生成されるまでコードマップ情報生成部２０２は、ステップＳ５４〜ステップＳ５７の処理を繰り返し実行する。
【００７４】
ステップＳ５１で確保した１６Ｂｙｔｅのコードマップ用メモリ領域サイズに到達した場合（ステップＳ５７のＹＥＳ）には、コードマップ情報生成部２０２は、コードマップ情報用メモリ領域２１４に格納したコードマップ情報用変数（ｃｍａｐ）をコードマップ情報として生成する（ステップＳ５９）。コードマップ情報生成部２０２は、生成したコードマップ情報を図４（Ａ）の認証コード管理テーブル２１１に格納する。この処理が終了すると、コードマップ情報生成処理は終了となる。
【００７５】
次に、ＡＴＭ１とホストサーバ３とが実行する取引処理の流れを、図１３を用いて説明する。図１３は、ＡＴＭ１とホストサーバ３とが実行する取引処理の一例を示すシーケンスチャートである。取引処理は、生体認証処理の照合結果がＯＫ（図１０のステップＳ２５のＹＥＳ）の場合に行われる処理である。
【００７６】
照合結果がＯＫの場合、ＡＴＭ１のＡＴＭ制御部１０は、表示部１２に暗証番号入力画面を表示し、利用者による暗証番号の入力操作を受け付ける（ステップＳ６１）。ＡＴＭ１のＡＴＭ制御部１０は、表示部１２に取引金額入力画面を表示し、利用者による取引金額の入力操作を受け付ける（ステップＳ６２）。
【００７７】
クライアント端末送受信部１０３は、図１０のステップ２４で送信された照合応答電文に含まれる口座情報、ステップＳ６１で受け付けた暗証番号、ステップＳ６２で受け付けた取引金額の情報を含む取引要求電文をホストサーバ３へ送信する（ステップＳ６３）。
【００７８】
ホストサーバ３のホストサーバ制御部３０は、取引要求電文に含まれる口座情報、暗証番号、取引金額の情報に基づき、銀行カードによる通常の取引と同様の照合処理を行う（ステップＳ６４）。通常の照合処理については、公知の勘定系ホストサーバによる照合処理と同様であるため説明を省略する。ホストサーバ制御部３０は、照合結果を取引応答電文に含めてＡＴＭ１へ送信する（ステップＳ６５）。
【００７９】
ＡＴＭ制御部１０は、取引応答電文に含まれる照合結果がＯＫか否か判定する（ステップＳ６６）。取引応答電文に含まれる照合結果がＯＫの場合（ステップＳ６６のＹＥＳ）には、ＡＴＭ制御部１０は、出金処理を行い（ステップＳ６７）、通常取引処理を終了する。取引応答電文に含まれる照合結果がＮＧ（ステップＳ６６のＮＯ）の場合には、ＡＴＭ制御部１０は、通常取引処理を中断する（ステップＳ６８）。
【００８０】
本実施形態によれば、ＡＴＭ１は、認証サーバから送信されたコードマップ情報に指示された位置に基づいて、利用者の生体データに対し認証コードを埋め込んで生成されたコード埋込データを生成する。そして、認証サーバ２は、ＡＴＭ１から送信されたコード埋込データから、生成したコードマップ情報に指示された位置に基づいて認証コードを取出した生体データと、生体データ管理テーブル２１２に格納された生体データとを照合して生体認証を行う。このため、コード埋込データが悪意の第三者による盗聴により盗まれた場合であっても、生体データとしてそのまま使用することができない。また、生体認証を行っている認証サーバ２自身は、生体データの照合を行うことができる。これにより、万が一生体データが漏えいした場合であっても不正利用されることを未然に防ぐことができる。
【００８１】
なお、本発明は上述した実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用が可能であることはもちろんである。
【符号の説明】
【００８２】
１  ＡＴＭ
２  認証サーバ
３  ホストサーバ
１０  ＡＴＭ制御部
１１  記憶部
１２  表示部
１３  入力部
１４  生体センサ
１５  紙幣処理部
１６  硬貨処理部
１７  通信部
２０  認証サーバ制御部
２１  記憶部
２２  表示部
２３  入力部
２４  通信部
３０  ホストサーバ制御部
３１  記憶部
３２  表示部
３３  入力部
３４  通信部
１００  生体認証システム
１０１  生体データ取得部
１０２  絞込情報受付部
１０３  クライアント端末送受信部
１０４  埋込データ生成部
２０１  認証コード生成部
２０２  コードマップ情報生成部
２０３  認証サーバ送受信部
２０４  認証コード取出し部
２０５  認証コード検証部
２０６  有効期限検証部
２０７  生体データ照合部
２１１  認証コード管理テーブル
２１２  生体データ管理テーブル
２１３  認証コード用メモリ領域
２１４  コードマップ情報用メモリ領域
Ｎ  ネットワーク
【図１】
2020013203.tif 000003
【図２】
2020013203.tif 000004
【図３】
2020013203.tif 000005
【図４】
2020013203.tif 000006
【図５】
2020013203.tif 000007
【図６】
2020013203.tif 000008
【図７】
2020013203.tif 000009
【図８】
2020013203.tif 000010
【図９】
2020013203.tif 000011
【図１０】
2020013203.tif 000012
【図１１】
2020013203.tif 000013
【図１２】
2020013203.tif 000014
【図１３】
2020013203.tif 000015