(57)【要約】【課題】生体認証に関する秘匿すべき情報をより安全に保持することが可能な生体認証装置および生体認証方法を提供すること。【解決手段】本発明に係る生体認証装置は、汎用的な演算処理及び／又は制御処理を行うＣＰＵコアと、生体の少なくとも一部を撮像することで生成される信号に基づき、撮像した生体の画像に対応する生体撮像データを生成するセンサ部と、生体撮像データから生体に固有な情報である生体情報を抽出し、当該生体情報の認証に関する処理を行う認証エンジンと、ＣＰＵコア、センサ部および認証エンジンの少なくともいずれかが行う処理により生成されたデータを格納する第１メモリおよび第２メモリと、ＣＰＵコア、センサ部、認証エンジンおよび第１メモリを相互に連結する第１バスと、センサ部、認証エンジンおよび第２メモリを相互に連結する第２バスと、を備える。【選択図】図１
2011035739.tif 000002
【特許請求の範囲】
【請求項１】
汎用的な演算処理及び／又は制御処理を行うＣＰＵコアと、
生体の少なくとも一部を撮像することで生成される信号に基づき、撮像した生体の画像に対応する生体撮像データを生成するセンサ部と、
前記生体撮像データから前記生体に固有な情報である生体情報を抽出し、当該生体情報の認証に関する処理を行う認証エンジンと、
前記ＣＰＵコア、前記センサ部および前記認証エンジンの少なくともいずれかが行う処理により生成されたデータを格納する第１メモリおよび第２メモリと、
前記ＣＰＵコア、前記センサ部、前記認証エンジンおよび前記第１メモリを相互に連結する第１バスと、
前記センサ部、前記認証エンジンおよび前記第２メモリを相互に連結する第２バスと、
を備える、生体認証装置。
【請求項２】
前記認証エンジンが行う処理により生成された前記生体情報に関するデータは、前記第２バスを介して前記第２メモリに格納される、請求項１に記載の生体認証装置。
【請求項３】
前記情報処理装置は、所定の方式に則ってデータを暗号化または復号する暗号エンジンを更に備え、
前記暗号エンジンは、前記第１バスに連結されている、請求項２に記載の生体認証装置。
【請求項４】
前記暗号エンジンは、更に前記第２バスに連結されており、
前記暗号エンジンが前記生体情報に関するデータに対して暗号化または復号処理を行う場合、前記暗号化または復号処理により生成されるデータは、前記第２バスを介して前記第２メモリに格納される、請求項３に記載の生体認証装置。
【請求項５】
前記第２メモリは、第２揮発性メモリと第２不揮発性メモリとから構成されており、
前記生体情報に関するデータに対して暗号化または復号処理を行う場合に利用される生体情報用暗号鍵は、前記第２不揮発性メモリに格納される、請求項４に記載の生体認証装置。
【請求項６】
前記暗号エンジンは、前記第２バスを介して取得した前記テンプレートを、前記第２バスを介して取得した前記生体情報用暗号鍵で暗号化して暗号化テンプレートとし、前記暗号化テンプレートを、前記第１バスを介して前記第１メモリに格納し、
前記ＣＰＵコアは、前記第１メモリに格納されている前記暗号化テンプレートを、外部に設けられた他の情報処理装置に対して送信する、請求項５に記載の生体認証装置。
【請求項７】
前記ＣＰＵコアは、外部に設けられた他の情報処理装置から取得した、暗号化されたテンプレートである暗号化テンプレートを、前記第１バスを介して前記第１メモリに格納し、
前記暗号エンジンは、前記第１バスを介して取得した前記暗号化テンプレートを、前記第２バスを介して前記第２不揮発性メモリから取得した前記生体情報用暗号鍵で復号し、復号されたテンプレートを、前記第２バスを介して前記第２不揮発性メモリに格納する、請求項５に記載の生体認証装置。
【請求項８】
前記第２メモリは、第２揮発性メモリと第２不揮発性メモリとから構成されており、
前記認証エンジンは、前記生体撮像データに基づいて、認証処理の際に基準となる生体情報であるテンプレートを生成し、前記第２バスを介して前記テンプレートを前記前記第２不揮発性メモリに格納する、請求項２に記載の生体認証装置。
【請求項９】
前記センサ部により生成された前記生体撮像データは、前記第２バスを介して前記第２メモリに格納される、請求項１に記載の生体認証装置。
【請求項１０】
汎用的な演算処理及び／又は制御処理を行うＣＰＵコアと、生体の少なくとも一部を撮像することで生成される信号に基づき、撮像した生体の画像に対応する生体撮像データを生成するセンサ部と、前記生体撮像データから前記生体に固有な情報である生体情報を抽出し、当該生体情報の認証に関する処理を行う認証エンジンと、前記ＣＰＵコア、前記センサ部および前記認証エンジンの少なくともいずれかが行う処理により生成されたデータを格納する第１メモリおよび第２メモリと、前記ＣＰＵコア、前記センサ部、前記認証エンジンおよび前記第１メモリを相互に連結する第１バスと、前記センサ部、前記認証エンジンおよび前記第２メモリを相互に連結する第２バスと、を備える生体認証装置における前記センサ部が、前記生体撮像データを生成し、前記第２バスを介して前記認証エンジンに前記生体撮像データを伝送するステップと、
前記認証エンジンが前記生体撮像データから前記生体情報を抽出し、当該生体情報の認証を行うステップと、
前記認証エンジンが、前記生体情報に関する認証結果を、前記第１バスを介して前記ＣＰＵコアに伝送するステップと、
を含む、生体認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体認証装置および生体認証方法に関する。
【背景技術】
【０００２】
情報処理技術および情報通信技術の発達により、複数の機器どうしを接続してデータの共有交換を行なったり、遠隔地間で協働作業を行なったりする機会が増えてきている。接続し合う機器の組み合わせも、固定的ではなく、多数にまたがる場合が多い。このため、いわゆる「なりすまし」による情報の漏洩や不正利用を防止するべく、ユーザ本人であることを確認するための認証手続が広く採用されるようになってきている。このような認証手続の一例として、近年、セキュリティの確保が容易な生体認証が利用されつつある。この生体認証は、生体に固有な情報である生体情報に基づいて、ユーザ本人であることを確認するための認証手続である。
【０００３】
例えば、以下の特許文献１では、ある特定の情報格納領域へのアクセス権を、生体認証の一種である指紋認証の認証結果に応じて制御する技術が公開されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１４９０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述のような生体情報の認証処理を行う生体認証装置の内部では、生体から採取した生体情報や認証処理の際に基準となる生体情報であるテンプレートが、不揮発性メモリなどに保持されることとなる。これらのデータが外部に漏洩してしまうと、悪意のある第三者がユーザに成りすますことが可能となってしまうため、かかる生体認証装置では、保持しているデータの機密性が重要となる。
【０００６】
従来の生体認証装置では、上述のような秘匿すべき情報が格納されている領域は、生体認証装置の制御を行っているＣＰＵが直接読み書きを行うことができる領域であることが多い。そのため、外部からの攻撃や生体認証装置を制御するプログラムに内在する不具合等により、秘匿すべきデータが、外部へ漏洩してしまう可能性があるという問題があった。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、生体認証に関する秘匿すべき情報をより安全に保持することが可能な生体認証装置および生体認証方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、汎用的な演算処理及び／又は制御処理を行うＣＰＵコアと、生体の少なくとも一部を撮像することで生成される信号に基づき、撮像した生体の画像に対応する生体撮像データを生成するセンサ部と、前記生体撮像データから前記生体に固有な情報である生体情報を抽出し、当該生体情報の認証に関する処理を行う認証エンジンと、前記ＣＰＵコア、前記センサ部および前記認証エンジンの少なくともいずれかが行う処理により生成されたデータを格納する第１メモリおよび第２メモリと、前記ＣＰＵコア、前記センサ部、前記認証エンジンおよび前記第１メモリを相互に連結する第１バスと、前記センサ部、前記認証エンジンおよび前記第２メモリを相互に連結する第２バスと、を備える生体認証装置が提供される。
【０００９】
前記認証エンジンが行う処理により生成された前記生体情報に関するデータは、前記第２バスを介して前記第２メモリに格納されることが好ましい。
【００１０】
前記情報処理装置は、所定の方式に則ってデータを暗号化または復号する暗号エンジンを更に備え、前記暗号エンジンは、前記第１バスに連結されていてもよい。
【００１１】
前記暗号エンジンは、更に前記第２バスに連結されていてもよく、前記暗号エンジンが前記生体情報に関するデータに対して暗号化または復号処理を行う場合、前記暗号化または復号処理により生成されるデータは、前記第２バスを介して前記第２メモリに格納されることが好ましい。
【００１２】
前記第２メモリは、第２揮発性メモリと第２不揮発性メモリとから構成されていてもよく、前記生体情報に関するデータに対して暗号化または復号処理を行う場合に利用される生体情報用暗号鍵は、前記第２不揮発性メモリに格納されることが好ましい。
【００１３】
前記暗号エンジンは、前記第２バスを介して取得した前記テンプレートを、前記第２バスを介して取得した前記生体情報用暗号鍵で暗号化して暗号化テンプレートとし、前記暗号化テンプレートを、前記第１バスを介して前記第１メモリに格納し、前記ＣＰＵコアは、前記第１メモリに格納されている前記暗号化テンプレートを、外部に設けられた他の情報処理装置に対して送信してもよい。
【００１４】
前記ＣＰＵコアは、外部に設けられた他の情報処理装置から取得した、暗号化されたテンプレートである暗号化テンプレートを、前記第１バスを介して前記第１メモリに格納し、前記暗号エンジンは、前記第１バスを介して取得した前記暗号化テンプレートを、前記第２バスを介して前記第２不揮発性メモリから取得した前記生体情報用暗号鍵で復号し、復号されたテンプレートを、前記第２バスを介して前記第２不揮発性メモリに格納してもよい。
【００１５】
前記第２メモリは、第２揮発性メモリと第２不揮発性メモリとから構成されており、前記認証エンジンは、前記生体撮像データに基づいて、認証処理の際に基準となる生体情報であるテンプレートを生成し、前記第２バスを介して前記テンプレートを前記前記第２不揮発性メモリに格納することが好ましい。
【００１６】
前記センサ部により生成された前記生体撮像データは、前記第２バスを介して前記第２メモリに格納されることが好ましい。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、汎用的な演算処理及び／又は制御処理を行うＣＰＵコアと、生体の少なくとも一部を撮像することで生成される信号に基づき、撮像した生体の画像に対応する生体撮像データを生成するセンサ部と、前記生体撮像データから前記生体に固有な情報である生体情報を抽出し、当該生体情報の認証に関する処理を行う認証エンジンと、前記ＣＰＵコア、前記センサ部および前記認証エンジンの少なくともいずれかが行う処理により生成されたデータを格納する第１メモリおよび第２メモリと、前記ＣＰＵコア、前記センサ部、前記認証エンジンおよび前記第１メモリを相互に連結する第１バスと、前記センサ部、前記認証エンジンおよび前記第２メモリを相互に連結する第２バスと、を備える生体認証装置における前記センサ部が、前記生体撮像データを生成し、前記第２バスを介して前記認証エンジンに前記生体撮像データを伝送するステップと、前記認証エンジンが前記生体撮像データから前記生体情報を抽出し、当該生体情報の認証を行うステップと、前記認証エンジンが、前記生体情報に関する認証結果を、前記第１バスを介して前記ＣＰＵコアに伝送するステップと、を含む生体認証方法が提供される。
【発明の効果】
【００１８】
以上説明したように本発明によれば、ＣＰＵコアがアクセス可能なバスとアクセス不可能なバスとを生体認証装置内に設けることで、生体認証に関する秘匿すべき情報をより安全に保持することが可能である。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【図２】同実施形態に係る生体認証装置におけるテンプレートの登録処理について説明するための説明図である。
【図３】同実施形態に係る生体認証装置における生体情報の認証処理について説明するための説明図である。
【図４】同実施形態の第１変形例に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【図５】本発明の第２の実施形態に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【図６】同実施形態に係る生体認証装置におけるテンプレートの登録処理について説明するための説明図である。
【図７】同実施形態に係る生体認証装置における生体情報の認証処理について説明するための説明図である。
【図８】同実施形態に係る生体認証装置におけるテンプレートの暗号化と外部への送信処理を説明するための説明図である。
【図９】同実施形態に係る生体認証装置における暗号化テンプレートの受信と復号処理を説明するための説明図である。
【発明を実施するための形態】
【００２０】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２１】
なお、説明は、以下の順序で行うものとする。
（１）目的
（２）第１の実施形態
（２−１）生体認証装置のハードウェア構成について
（２−２）テンプレートの登録処理について
（２−３）生体情報の認証処理について
（２−４）第１変形例について
（３）第２の実施形態
（３−１）生体認証装置のハードウェア構成について
（３−２）テンプレートの登録処理について
（３−３）生体情報の認証処理について
（３−４）テンプレートの暗号化と外部への送信処理について
（３−５）暗号化テンプレートの受信と復号処理について
（４）まとめ
【００２２】
（目的）
まず、本発明の実施形態に係る生体認証装置および生体認証方法について説明するに先立ち、本発明が目的とするところについて、簡単に説明する。
【００２３】
生体に固有な情報である生体情報を生体認証装置（例えば、セキュリティ・チップ）が採取し、暗号化されたテンプレートを装置内で復号し、採取した生体情報を生体認証装置が有する生体認証機能により認証を行う場合を想定する。
【００２４】
この場合、生体認証装置の動作は、装置内に保持された制御プログラムにより制御され、採取した生体情報や、認証の際に基準となる生体情報であるテンプレートは、決して装置の外部へ出ることなく、認証処理にのみ用いられることとなる。また、これら生体情報およびテンプレートは、明示的な消去処理、または、電源断などにより、生体認証装置内に設けられたメモリ（ＲＡＭなど）から消去される。また、このようなデータの取り扱いについては、認証処理時のみならず、テンプレートの登録処理においても同様である。
【００２５】
従って、上述のような生体認証装置を想定した場合、静的には暗号化されたテンプレートが存在し、動的には採取した生体情報および暗号化されていない生のテンプレートが存在することとなる。従来、生体情報および暗号化されていない生のテンプレートは、セキュリティ・チップ内のメモリにのみ存在するため、安全と言われてきた。
【００２６】
セキュリティ・チップのプログラムがセキュリティ・チップ内のメモリ（ＲＯＭなど）であるならば、プログラムの書き換えができないため問題は少ないといえる。しかしながら、セキュリティ・チップを制御するプログラムが、セキュリティ・チップ内の不揮発性メモリに保持される場合や、セキュリティ・チップ外の不揮発性メモリに保持される場合などもある。
【００２７】
特に、プログラムがセキュリティ・チップの外部に保持される場合、プログラムが漏洩してしまうとセキュリティ・チップ内の動作がわかってしまう。そのため、プログラム自体を暗号化したり、セキュリティ・チップへのバスにスクランブル回路を設け、スクランブルをかけた状態で外部に置いたプログラムを保持したりすることにより、プログラムの解析を防ぐ方法などが取られている。
【００２８】
しかしながら、上述のような対処法を採用したとしても、開発者が意図しない経路から情報が漏洩したり、プログラムに不具合（バグ）が内在したりすることにより、採取した生体情報や暗号化されていないテンプレートが、装置の外部へ漏洩する可能性は存在する。
【００２９】
以下で説明する本発明の各実施形態に係る生体認証装置は、上述のような可能性を防止することを目的としてなされたものである。以下で説明する本発明の各実施形態では、秘匿すべき情報が外部に漏洩することを防止し、秘匿すべき情報をより安全に保持することが可能な生体認証装置のハードウェア構成について、詳細に説明する。
【００３０】
（第１の実施形態）
＜生体認証装置のハードウェア構成について＞
次に、本発明の第１の実施形態に係る生体認証装置のハードウェア構成について、図１を参照しながら詳細に説明する。図１は、本実施形態に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【００３１】
以下、生体認証装置１０が、例えば、生体認証処理用のセキュリティ・チップである場合を例にとって説明を行う。しかしながら、本実施形態に係る生体認証装置１０は、セキュリティ・チップに限定されるわけではなく、生体認証処理を実行可能な耐タンパ性を有するコンピュータやサーバであってもよい。
【００３２】
また、本実施形態に係る生体認証装置１０が行う生体認証は、指紋認証、静脈認証、虹彩認証、顔認証などの任意の生体認証処理であって、ある特定の生体認証処理に限定されるわけではない。
【００３３】
本実施形態に係る生体認証装置１０は、例えば図１に示したように、ＣＰＵコア１０１と、認証エンジン１０３と、第１メモリ１０５と、センサ部１１１と、第１バス１１３と、第２メモリ１１５と、第２バス１２１と、を主に備える。
【００３４】
ＣＰＵコア１０１は、汎用的な演算処理を行う演算処理装置及び／又は汎用的な制御処理を行う制御装置として機能する。ＣＰＵコア１０１は、後述する第１メモリ１０５やハードディスクなどのストレージ装置（図示せず。）等に格納された各種のプログラム（プログラム・コード）に従って、生体認証装置１０内の動作全般またはその一部を制御する。例えば、ＣＰＵコア１０１は、リアルタイムＯＳや生体認証に際して外部（例えば、生体認証装置１０の外部に設けられた外部装置５）と通信を行う場合の通信プロトコル制御などを行っている。
【００３５】
認証エンジン１０３は、生体認証装置１０が有する機能のうち、生体情報に基づく一連の生体認証処理に関する機能に特化したエンジンである。生体情報に基づく一連の生体認証処理に関する機能の一例として、生体を撮像して得られた生体撮像画像から生体情報を抽出する機能、生体情報をテンプレートとして登録する機能、生体情報をテンプレートに基づいて認証する機能等を挙げることができる。
【００３６】
具体的には、認証エンジン１０３は、後述するセンサ部１１１から伝送される生体撮像データ（生体を撮像した生体撮像画像に対応するデータ）に基づき、生体撮像データから生体情報を抽出する。また、認証エンジン１０３は、抽出した生体情報を生体認証の際に基準となる生体情報であるテンプレートとして登録したり、抽出した生体情報を既に登録されているテンプレートに基づいて認証したりする。また、認証エンジン１０３は、生体情報に関する認証結果が確定すると、認証に成功したなどといった認証結果に関する情報を、ＣＰＵコア１０１等に伝送する。
【００３７】
ここで、認証エンジン１０３は、認証結果に関する情報など、生体認証処理に利用されるデータそのものではない情報に対応するデータについては、後述する第１バス１１３を介して伝送する。また、認証エンジン１０３は、生体認証処理に利用される生体情報、テンプレートといった秘匿すべきデータや、生体認証処理の過程で生成される中間データなどを、後述する第２バス１２１を介して伝送する。
【００３８】
認証エンジン１０３は、生体認証処理に関する機能に特化したエンジンであるため、ＣＰＵ１０１に比べてセキュリティホールが生じにくく、生体認証処理において扱われるデータを、より安全に保持することができる。
【００３９】
第１メモリ１０５は、ＣＰＵコア１０１、認証エンジン１０３および後述するセンサ部１０５の少なくともいずれかが行う処理により生成されたデータを格納するメモリである。この第１メモリ１０５は、図１に示したように、第１揮発性メモリ１０７と、第１不揮発性メモリ１０９とを有する。
【００４０】
第１揮発性メモリ１０７には、ＣＰＵコア１０１、認証エンジン１０３または後述するセンサ部１１１により最終的に生成されたデータや、これらの処理部があるデータを生成する際に生成された中間データが格納される。この第１揮発性メモリ１０７に格納された各種のデータは、生体認証装置１０の電源がオフとなったり、ＣＰＵコア１０１、認証エンジン１０３またはセンサ部１１１等からデータの削除を要請されたりした場合に、第１揮発性メモリ１０７の中から削除される。
【００４１】
第１不揮発性メモリ１０９には、ＣＰＵコア１０１が生体認証装置１０における演算処理や制御処理を実行する際に利用するプログラム・コードが格納されている。また、第１不揮発性メモリ１０９には、ＣＰＵコア１０１、認証エンジン１０３または後述するセンサ部１１１により生成され、生体認証装置１０の電源がオフになった際にも保持しておくべきデータが格納されてもよい。
【００４２】
なお、本実施形態に係る第１揮発性メモリ１０７および第１不揮発性メモリ１０９には、生体情報に関するデータ（例えば、生体情報そのものや、生体情報が抽出される際に生成された中間データや、テンプレート等）は、格納されない。従って、認証エンジン１０３が第１揮発性メモリ１０７または第１不揮発性メモリ１０９に格納するデータは、生体情報に関するデータ以外のデータ（例えば、認証結果に関する情報や、認証処理の履歴情報など）である。同様に、センサ部１１１が第１揮発性メモリ１０７または第１不揮発性メモリ１０９に格納するデータは、生体撮像画像に対応するデータ以外のデータ（例えば、生体撮像データを生成した履歴情報など）である。
【００４３】
センサ部１１１は、生体の少なくとも一部を透過した光、または、生体の少なくとも一部により反射した光を受光することで生成される信号に基づき、生体撮像データを生成する撮像素子等を含む。センサ部１１１は、生体撮像データを生成すると、生成した生体撮像データを認証エンジン１０３に伝送する。
【００４４】
ここで、センサ部１１１は、生体撮像データを生成した履歴に関する情報など、生体認証処理に利用されるデータそのものではない情報に対応するデータについては、後述する第１バス１１３を介して伝送する。また、センサ部１１１は、生体認証処理に利用されるデータであり秘匿すべき情報である生体撮像データや、生体撮像データを生成する過程で生成される中間データ等を、後述する第２バス１２１を介して伝送する。
【００４５】
第１バス１１３は、ＣＰＵコア１０１、認証エンジン１０３、第１揮発性メモリ１０７、第１不揮発性メモリ１０９およびセンサ部１１１を相互に連結しており、これらの処理部から送信されるデータを各処理部へと伝送するための伝送路として機能する。
【００４６】
第２メモリ１１５は、認証エンジン１０３およびセンサ部１０５の少なくともいずれかが行う処理により生成されたデータを格納するメモリである。この第２メモリ１１５は、図１に示したように、第２揮発性メモリ１１７と、第２不揮発性メモリ１１９とを有する。
【００４７】
第２揮発性メモリ１１７には、認証エンジン１０３またはセンサ部１１１により最終的に生成されたデータや、これらの処理部があるデータを生成する際に生成された中間データが格納される。この第２揮発性メモリ１１７に格納された各種のデータは、生体認証装置１０の電源がオフとなったり、認証エンジン１０３またはセンサ部１１１等からデータの削除を要請されたりした場合に、第２揮発性メモリ１１７の中から削除される。
【００４８】
第２不揮発性メモリ１１９には、認証エンジン１０３による生体認証処理の際に利用されるテンプレートが格納される。また、第２不揮発性メモリ１１９には、上述のテンプレート以外にも、認証エンジン１０３またはセンサ部１１１により生成され、生体認証装置１０の電源がオフになった際にも保持しておくべきデータが格納されてもよい。
【００４９】
なお、本実施形態に係る第２揮発性メモリ１１７および第２不揮発性メモリ１１９には、生体情報に関するデータ（例えば、生体情報そのものや、生体情報が抽出される際に生成された中間データや、テンプレート等）が格納される。また、第２揮発性メモリ１１７および第２不揮発性メモリ１１９には、これらのデータ以外にも、生体認証装置１０が秘匿すべき様々なデータが格納されてもよい。
【００５０】
第２バス１２１は、認証エンジン１０３、センサ部１１１、第２揮発性メモリ１１７および第２不揮発性メモリ１１９を相互に連結しており、これらの処理部から送信されるデータを各処理部へと伝送するための伝送路として機能する。
【００５１】
以上説明したように、本実施形態に係る生体認証装置１０では、第１バス１１３および第２バス１２１という２種類のバスが設けられており、第１バス１１３に接続されているＣＰＵコア１０１は、第２バス１２１に直接アクセスできないようになっている。また、ＣＰＵコア１０１は、認証エンジン１０３およびセンサ部１１１に対して、処理の開始要請や、処理結果の問い合わせなどといった、間接的な処理のみが許可される。他方、認証エンジン１０３およびセンサ部１１１は、生体認証処理で利用されるデータを、第２バス１２１を介して伝送するように設定されている。
【００５２】
これにより、ＣＰＵコア１０１は、生体情報、テンプレート、認証処理の過程において生成される中間データ等が伝送される第２バス１２１から独立して存在することとなり、ＣＰＵコア１０１は、これらのデータに直接関与することができない。その結果、本実施形態に係る生体認証装置１０では、生体認証装置１０というセキュアな領域からなる装置の内部に、第２バス１２１によって相互に連結された、よりセキュアな領域が存在することとなる。
【００５３】
その結果、本実施形態に係る生体認証装置１０では、ＣＰＵコア１０１の動作を制御するプログラムの不具合や、悪意を持ったプログラムの改変などが生じたとしても、ＣＰＵコア１０１は秘匿すべきデータにアクセスできない。その結果、秘匿すべきデータは、外部に漏洩することなくセキュアに生体認証装置１０内に保持される。
【００５４】
以上、本実施形態に係る生体認証装置１０の機能を実現可能なハードウェア構成の一例を示した。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【００５５】
続いて、本実施形態に係る生体認証装置１０で実施される各種の処理について、装置内で伝送されるデータの流れに着目しながら詳細に説明する。
【００５６】
＜テンプレートの登録処理について＞
まず、図２を参照しながら、本実施形態に係る生体認証装置１０で実施されるテンプレートの登録処理について、詳細に説明する。図２は、本実施形態に係るテンプレートの登録処理について説明するための説明図である。図２では、装置内で伝送されるデータの流れを、点線で示している。
【００５７】
テンプレートの登録処理を行う場合、生体認証装置１０のＣＰＵコア１０１は、まず、センサ部１１１に対して、第１バス１１３を介して生体撮像データの生成要請を伝送する（ステップＳ１０１）。センサ部１１１は、ＣＰＵコア１０１から伝送された生成要請を受けて、生体撮像データの生成を開始し、生成した生体撮像データＩを、第２バス１２１を介して認証エンジン１０３に伝送する（ステップＳ１０３）。ここで、センサ部１１１は、生体撮像データＩを生成する際に、何らかの中間データを生成して記録する場合には、第２バス１２１を介して、第２揮発性メモリ１１７に対して生成した中間データを格納する。
【００５８】
認証エンジン１０３は、センサ部１１１から生体撮像データＩが伝送されると、生体撮像データＩに対して所定の処理を施して、生体撮像データＩから生体情報を抽出し、テンプレートＴとする。ここで、抽出された生体情報には、生体における指紋、静脈、虹彩等のパターンに関する情報だけでなく、これらのパターンに関連する特徴量に関する情報等が含まれていても良い。また、認証エンジン１０３は、生体情報を抽出する際に生成される何らかの中間データを記録する場合には、第２バス１２１を介して、第２揮発性メモリ１１７に対して生成した中間データを格納する。認証エンジン１０３は、生成したテンプレートＴを、第２バス１２１を介して第２不揮発性メモリ１１９に格納する（ステップＳ１０５）。これにより、生体認証装置１０の第２不揮発性メモリ１１９に対して、テンプレートの登録が行われることとなる。
【００５９】
図２に示したように、本実施形態に係る生体認証装置１０では、生体撮像データＩおよびテンプレートＴといった秘匿すべきデータが第２バス１２１を介して伝送され、ＣＰＵコア１０１が参照可能な第１バス１１３へは伝送されることがない。従って、本実施形態に係る生体認証装置１０では、より安全にテンプレートの登録処理を実行することができる。
【００６０】
＜生体情報の認証処理について＞
次に、図３を参照しながら、本実施形態に係る生体認証装置１０で実施される生体情報の認証処理について、詳細に説明する。図３は、本実施形態に係る生体情報の認証処理について説明するための説明図である。図３では、装置内で伝送されるデータの流れを、点線で示している。
【００６１】
生体情報の認証処理を行う場合、生体認証装置１０のＣＰＵコア１０１は、まず、センサ部１１１に対して、第１バス１１３を介して生体撮像データの生成要請を伝送する（ステップＳ１２１）。センサ部１１１は、ＣＰＵコア１０１から伝送された生成要請を受けて、生体撮像データの生成を開始し、生成した生体撮像データを、第２バス１２１を介して認証エンジン１０３に伝送する（ステップＳ１２３）。ここで、センサ部１１１は、生体撮像データを生成する際に、何らかの中間データを生成して記録する場合には、第２バス１２１を介して、第２揮発性メモリ１１７に対して生成した中間データを格納する。
【００６２】
認証エンジン１０３は、センサ部１１１から生体撮像データＩが伝送されると、生体撮像データＩに対して所定の処理を施して、生体撮像データＩから生体情報Ｂを抽出する。ここで、抽出された生体情報Ｂには、生体における指紋、静脈、虹彩等のパターンに関する情報だけでなく、これらのパターンに関連する特徴量に関する情報等が含まれていても良い。認証エンジン１０３は、抽出した生体情報Ｂを、第２バス１２１を介して第２揮発性メモリ１１７に格納する（ステップＳ１２５）。
【００６３】
続いて、認証エンジン１０３は、第２揮発性メモリ１１７から第２バス１２１を介して生体情報Ｂを取得するとともに、第２不揮発性メモリ１１９から第２バス１２１を介してテンプレートＴを取得する（ステップＳ１２７）。認証エンジン１０３は、取得した生体情報ＢおよびテンプレートＴに基づいて、生体情報Ｂの認証処理を実行する。具体的には、認証エンジン１０３は、生体情報ＢとテンプレートＴとの類似度を算出し、生体情報ＢがテンプレートＴと類似していると判断できる際に、生体情報Ｂの認証に成功したと判断する。
【００６４】
算出する類似度の例として、生体情報ＢとテンプレートＴとの相互相関値、生体情報ＢとテンプレートＴとの差分絶対値和、生体情報ＢとテンプレートＴとの差分二乗和等を挙げることができる。類似度として相互相関値を算出する場合には、認証エンジン１０３は、算出した相互相関値が所定の閾値以上であった場合に、両者が類似していると判断する。また、類似度として差分絶対値和または差分二乗和を算出する場合には、認証エンジン１０３は、算出したこれらの値が所定の閾値以下であった場合に、両者が類似していると判断する。
【００６５】
認証エンジン１０３は、生体情報Ｂに関する認証結果が確定すると、認証結果に関する情報を、第１バス１１３を介してＣＰＵコア１０１に伝送する（ステップＳ１２９）。ＣＰＵコア１０１は、伝送された認証結果に関する情報を参照して、所定の装置に対して認証結果に関する情報を通知する。このような手順により、生体認証装置１０では、ユーザに対する生体認証処理が行われる。
【００６６】
図３に示したように、本実施形態に係る生体認証装置１０では、生体撮像データＩ、生体情報ＢおよびテンプレートＴといった秘匿すべきデータは、第２バス１２１を介して伝送され、第１バス１１３へは伝送されることはない。また、ＣＰＵコア１０１が参照可能な第１バス１１３へは、認証結果に関する情報のみが伝送される。従って、本実施形態に係る生体認証装置１０では、より安全に生体情報の認証処理を実行することができる。
【００６７】
＜第１変形例について＞
続いて、図４を参照しながら、本実施形態に係る生体認証装置の第１変形例について、詳細に説明する。図４は、本変形例に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【００６８】
本変形例に係る生体認証装置１０は、第１の実施形態に係る生体認証装置１０が有する各処理部に加えて、更に、暗号エンジン１５１を有する。本変形例に係る暗号エンジン１５１は、図４に示したように、第１バス１１３に連結されており、第２バス１２１には連結されていない。
【００６９】
暗号エンジン１５１は、生体認証装置１０が有する機能のうち、暗号化機能および復号機能に特化したエンジンである。暗合エンジン１５１は、外部装置５との間で行われる通信のプロトコルなど生体情報に関するデータ以外のデータを、所定の方式に則して生成された暗号鍵を利用して暗号化したり、復号したりする。また、暗号エンジン１５１は、暗号化処理および復号処理に際して中間データ等を生成する場合、第１揮発性メモリ１０７に生成した中間データ等を格納する。また、暗号エンジン１５１は、生体認証装置１０の電源がオフになった際にも保持しておくべきデータが生じた場合には、このようなデータを第１不揮発性メモリ１０９に格納してもよい。
【００７０】
ここで、暗号エンジン１５１が利用する暗号鍵は、例えば、第１不揮発性メモリ１０９に格納されている。暗号エンジン１５１が利用する暗号鍵は、例えば、所定の方式に則して生成された公開鍵と秘密鍵とからなる公開鍵ペアであってもよい。
【００７１】
本変形例において、第２揮発性メモリ１１７や第２不揮発性メモリ１１９に格納されている生体情報に関するデータに対して処理を行う場合、このようなデータを一旦第１バス１１３内に伝送する必要がある。その結果、プログラムの不具合等が生じた場合には、暗号化されていない生体情報に関するデータが、外部に漏洩する可能性がある。そのため、本変形例に係る暗号エンジン１５１では、生体情報に関するデータの暗号化処理および復号処理は行わない。
【００７２】
本変形例に係る生体認証装置１０は、かかる暗号エンジン１５１を備えることにより、生体情報に関するデータ以外のデータを外部装置５等と通信を行う場合に、より安全にデータの送受信を行うことができる。
【００７３】
以上、本変形例に係る生体認証装置１０の機能を実現可能なハードウェア構成の一例を示した。従って、本変形例を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【００７４】
（第２の実施形態）
＜生体認証装置のハードウェア構成について＞
次に、本発明の第２の実施形態に係る生体認証装置２０のハードウェア構成について、図５を参照しながら詳細に説明する。図５は、本実施形態に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【００７５】
以下、生体認証装置２０が、例えば、生体認証処理用のセキュリティ・チップである場合を例にとって説明を行う。しかしながら、本実施形態に係る生体認証装置２０は、セキュリティ・チップに限定されるわけではなく、生体認証処理を実行可能な耐タンパ性を有するコンピュータやサーバであってもよい。
【００７６】
また、本実施形態に係る生体認証装置２０が行う生体認証は、指紋認証、静脈認証、虹彩認証、顔認証などの任意の生体認証処理であって、ある特定の生体認証処理に限定されるわけではない。
【００７７】
本実施形態に係る生体認証装置２０は、例えば図５に示したように、ＣＰＵコア２０１と、認証エンジン２０３と、暗号エンジン２０５と、第１メモリ２０７と、センサ部２１３と、第１バス２１５と、第２メモリ２１７と、第２バス２２３と、を主に備える。
【００７８】
ＣＰＵコア２０１は、汎用的な演算処理を行う演算処理装置及び／又は汎用的な制御処理を行う制御装置として機能する。ＣＰＵコア２０１は、後述する第１メモリ２０７やハードディスクなどのストレージ装置（図示せず。）等に格納された各種のプログラム（プログラム・コード）に従って、生体認証装置２０内の動作全般またはその一部を制御する。例えば、ＣＰＵコア２０１は、リアルタイムＯＳや生体認証に際して外部（例えば、生体認証装置２０の外部に設けられた外部装置５）と通信を行う場合の通信プロトコル制御などを行っている。
【００７９】
認証エンジン２０３は、生体認証装置２０が有する機能のうち、生体情報に基づく一連の生体認証処理に関する機能に特化したエンジンである。生体情報に基づく一連の生体認証処理に関する機能の一例として、生体を撮像して得られた生体撮像画像から生体情報を抽出する機能、生体情報をテンプレートとして登録する機能、生体情報をテンプレートに基づいて認証する機能等を挙げることができる。
【００８０】
具体的には、認証エンジン２０３は、後述するセンサ部２１３から伝送される生体撮像データ（生体を撮像した生体撮像画像に対応するデータ）に基づき、生体撮像データから生体情報を抽出する。また、認証エンジン２０３は、抽出した生体情報を生体認証の際に基準となる生体情報であるテンプレートとして登録したり、抽出した生体情報を既に登録されているテンプレートに基づいて認証したりする。また、認証エンジン２０３は、生体情報に関する認証結果が確定すると、認証に成功したなどといった認証結果に関する情報を、ＣＰＵコア２０１等に伝送する。
【００８１】
ここで、認証エンジン２０３は、認証結果に関する情報など、生体認証処理に利用されるデータそのものではない情報に対応するデータについては、後述する第１バス２１５を介して伝送する。また、認証エンジン２０３は、生体認証処理に利用される生体情報、テンプレートといった秘匿すべきデータや、生体認証処理の過程で生成される中間データなどを、後述する第２バス２２３を介して伝送する。
【００８２】
認証エンジン２０３は、生体認証処理に関する機能に特化したエンジンであるため、ＣＰＵ２０１に比べてセキュリティホールが生じにくく、生体認証処理において扱われるデータを、より安全に保持することができる。
【００８３】
暗号エンジン２０５は、生体認証装置２０が有する機能のうち、暗号化機能および復号機能に特化したエンジンである。暗合エンジン２０５は、抽出した生体情報やテンプレートなどの生体情報に関するデータを、所定の方式に則して生成された生体情報用の暗号鍵を利用して暗号化したり、復号したりする。また、暗号エンジン２０５は、暗号化処理および復号処理に際して中間データ等を生成する場合、後述する第２メモリ２１７に生成した中間データ等を格納する。
【００８４】
ここで、暗号エンジン２０５が利用する生体情報用の暗号鍵は、後述する第２メモリに格納されている。暗号エンジン２０５が利用する暗号鍵は、例えば、所定の方式に則して生成された公開鍵と秘密鍵とからなる公開鍵ペアであってもよい。
【００８５】
具体的には、暗合エンジン２０５は、暗号化または復号を行うデータが存在する場合、後述する第２バス２２３を介して取得した生体情報用暗号鍵を用いて、暗号化処理または復号処理を行う。また、これらの処理に際して生成され、一時的に保持すべき中間データが発生した場合には、暗合エンジン２０５は、後述する第２バス２２３を介して、中間データを第２メモリ２１７に格納する。
【００８６】
暗合エンジン２０５は、暗号化されており復号をしない限り内容を把握できないデータは、後述する第１バス２１５を介して、第１バス２１５に連結されている処理部に伝送することが可能である。また、暗合エンジン２０５は、生体認証処理に利用される生体情報、テンプレートといった秘匿すべきデータや、生体認証処理の過程で生成される中間データなど、暗号化されていない生体情報に関するデータは、後述する第２バス２２３を介して伝送する。これにより、暗号化されていない生体情報に関するデータは、第１バス２１５に伝送されることはない。これにより、本実施形態に係る生体認証装置２０では、プログラムの不具合等で暗号化されていない生体情報に関するデータが外部に漏洩してしまうことを、防止することができる。
【００８７】
暗合エンジン２０５は、暗号化処理および復号処理に関する機能に特化したエンジンであるため、ＣＰＵ２０１に比べてセキュリティホールが生じにくく、生体認証処理において扱われるデータを、より安全に保持することができる。
【００８８】
本実施形態に係る生体認証装置２０は、かかる暗合エンジン２０５を保持することにより、生体情報に関するデータを安全に暗号化したり、復号したりすることができる。そのため、本実施形態に係る生体認証装置２０では、暗号化した生体情報に関するデータ（例えば、暗号化されたテンプレート等）を、生体認証装置２０の外部に送信したり、外部装置から暗号化された生体情報に関するデータを受信したりすることができる。従来では、新たな生体認証装置を購入したユーザは、新たな生体認証装置において再度テンプレートの登録処理を行わなければならなかった。しかしながら、かかる暗合エンジン２０５を設けることで、従来使用していた生体認証装置から新たに購入した生体認証装置へと、暗号化されたテンプレートを安全に移動させることが可能となる。
【００８９】
なお、暗合エンジン２０５は、外部装置５との間で行われる通信のプロトコルなど生体情報に関するデータ以外のデータを、所定の方式に則して生成された暗号鍵を利用して暗号化したり、復号したりしてもよい。この場合、暗合エンジン２０５は、生体情報用の暗号鍵を用いて暗合化処理や復号処理を行っても良いが、生体情報用暗号鍵とは異なる暗号鍵を用いて、暗号化処理や復号処理を行うことが好ましい。また、暗合エンジン２０５は、生体情報に関するデータ以外のデータに対して処理を行う場合には、第１メモリ２０７を利用してもよく、第２メモリ２１７を利用してもよい。
【００９０】
第１メモリ２０７は、ＣＰＵコア２０１、認証エンジン２０３、暗合エンジン２０５および後述するセンサ部２１３の少なくともいずれかが行う処理により生成されたデータを格納するメモリである。この第１メモリ２０７は、図５に示したように、第１揮発性メモリ２０９と、第１不揮発性メモリ２１１とを有する。
【００９１】
第１揮発性メモリ２０９には、ＣＰＵコア２０１、認証エンジン２０３、暗合エンジン２０５または後述するセンサ部２１３により最終的に生成されたデータや、これらの処理部があるデータを生成する際に生成された中間データが格納される。この第１揮発性メモリ２０９に格納された各種のデータは、生体認証装置２０の電源がオフとなったり、各処理部からデータの削除を要請されたりした場合に、第１揮発性メモリ２０９の中から削除される。
【００９２】
第１不揮発性メモリ２１１には、ＣＰＵコア２０１が生体認証装置２０における演算処理や制御処理を実行する際に利用するプログラム・コードが格納されている。また、第１不揮発性メモリ２１１には、ＣＰＵコア２０１、認証エンジン２０３、暗合エンジン２０５または後述するセンサ部２１３により生成され、生体認証装置２０の電源がオフになった際にも保持しておくべきデータが格納されてもよい。
【００９３】
本実施形態に係る第１揮発性メモリ２０９および第１不揮発性メモリ２１１には、暗号化されていない生体情報に関するデータは、格納されない。従って、認証エンジン２０３が第１揮発性メモリ２０９または第１不揮発性メモリ２１１に格納するデータは、生体情報に関するデータ以外のデータ（例えば、認証結果に関する情報や、認証処理の履歴情報など）である。同様に、暗合エンジン２０５が第１揮発性メモリ２０９または第１不揮発性メモリ２１１に格納するデータは、暗合に関する処理についての履歴情報などである。また、センサ部２１３が第１揮発性メモリ２０９または第１不揮発性メモリ２１１に格納するデータは、生体撮像画像に対応するデータ以外のデータ（例えば、生体撮像データを生成した履歴情報など）である。
【００９４】
センサ部２１３は、生体の少なくとも一部を透過した光、または、生体の少なくとも一部により反射した光を受光することで生成される信号に基づき、生体撮像データを生成する撮像素子等を含む。センサ部２１３は、生体撮像データを生成すると、生成した生体撮像データを認証エンジン２０３に伝送する。
【００９５】
ここで、センサ部２１３は、生体撮像データを生成した履歴に関する情報など、生体認証処理に利用されるデータそのものではない情報に対応するデータについては、後述する第１バス２１５を介して伝送する。また、センサ部２１３は、生体認証処理に利用されるデータであり秘匿すべき情報である生体撮像データや、生体撮像データを生成する過程で生成される中間データ等を、後述する第２バス２２３を介して伝送する。
【００９６】
第１バス２１５は、ＣＰＵコア２０１、認証エンジン２０３、暗合エンジン２０５、第１揮発性メモリ２０９、第１不揮発性メモリ２１１およびセンサ部２１３を相互に連結している。第１バス２１５は、これらの処理部から送信されるデータを各処理部へと伝送するための伝送路として機能する。
【００９７】
第２メモリ２１７は、認証エンジン２０３、暗合エンジン２０５およびセンサ部２１３の少なくともいずれかが行う処理により生成されたデータを格納するメモリである。この第２メモリ２１７は、図５に示したように、第２揮発性メモリ２１９と、第２不揮発性メモリ２２１とを有する。
【００９８】
第２揮発性メモリ２１９には、認証エンジン２０３、暗合エンジン２０５またはセンサ部２１３により最終的に生成されたデータや、これらの処理部があるデータを生成する際に生成された中間データが格納される。この第２揮発性メモリ２１９に格納された各種のデータは、生体認証装置２０の電源がオフとなったり、各処理部からデータの削除を要請されたりした場合に、第２揮発性メモリ２１９の中から削除される。
【００９９】
第２不揮発性メモリ２２１には、認証エンジン２０３による生体認証処理の際に利用されるテンプレート、および、暗合エンジン２０５が利用する生体情報用暗号鍵が格納される。また、第２不揮発性メモリ２２１には、テンプレートおよび生体情報用暗号鍵以外にも、認証エンジン２０３、暗合エンジン２０５またはセンサ部２１３により生成され、生体認証装置２０の電源がオフになった際にも保持しておくべきデータが格納されてもよい。
【０１００】
なお、本実施形態に係る第２揮発性メモリ２１９および第２不揮発性メモリ２２１には、生体情報に関するデータが格納される。また、第２揮発性メモリ２１９および第２不揮発性メモリ２２１には、これらのデータ以外にも、生体認証装置２０が秘匿すべき様々なデータが格納されてもよい。
【０１０１】
第２バス２２３は、認証エンジン２０３、暗合エンジン２０５、センサ部２１３、第２揮発性メモリ２１９および第２不揮発性メモリ２２１を相互に連結しており、これらの処理部から送信されるデータを各処理部へと伝送するための伝送路として機能する。
【０１０２】
以上説明したように、本実施形態に係る生体認証装置２０では、第１バス２１５および第２バス２２３という２種類のバスが設けられており、第１バス２１５に接続されているＣＰＵコア２０１は、第２バス２２３に直接アクセスできないようになっている。また、ＣＰＵコア２０１は、認証エンジン２０３、暗合エンジン２０５およびセンサ部２１３に対して、処理の開始要請や、処理結果の問い合わせなどといった、間接的な処理のみが許可される。他方、認証エンジン２０３、暗合エンジン２０５およびセンサ部２１３は、生体認証処理で利用されるデータを、第２バス２２３を介して伝送するように設定されている。
【０１０３】
これにより、ＣＰＵコア２０１は、生体情報、テンプレート、認証処理の過程において生成される中間データ等が伝送される第２バス２２３から独立して存在することとなり、ＣＰＵコア２０１は、これらのデータに直接関与することができない。その結果、本実施形態に係る生体認証装置２０では、生体認証装置２０というセキュアな領域からなる装置の内部に、第２バス２２３によって相互に連結された、よりセキュアな領域が存在することとなる。
【０１０４】
その結果、本実施形態に係る生体認証装置２０では、ＣＰＵコア２０１の動作を制御するプログラムの不具合や、悪意を持ったプログラムの改変などが生じたとしても、ＣＰＵコア２０１は秘匿すべきデータにアクセスできない。その結果、秘匿すべきデータは、外部に漏洩することなくセキュアに生体認証装置２０内に保持される。
【０１０５】
また、本実施形態に係る生体認証装置２０では、暗合エンジン２０５が、第１バス２１５および第２バス２２３の双方に連結されているため、第１バス２１５と第２バス２２３との間で、暗号化された生体情報に関するデータのやりとりを行うことが可能となる。その結果、先に説明したように、生体認証装置２０の外部に設けられた装置との間で、暗号化された生体情報に関するデータのやりとりを安全に実現することが可能となる。
【０１０６】
以上、本実施形態に係る生体認証装置２０の機能を実現可能なハードウェア構成の一例を示した。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０１０７】
続いて、本実施形態に係る生体認証装置２０で実施される各種の処理について、装置内で伝送されるデータの流れに着目しながら詳細に説明する。
【０１０８】
＜テンプレートの登録処理について＞
まず、図６を参照しながら、本実施形態に係る生体認証装置２０で実施されるテンプレートの登録処理について、詳細に説明する。図６は、本実施形態に係るテンプレートの登録処理について説明するための説明図である。図６では、装置内で伝送されるデータの流れを、点線で示している。
【０１０９】
テンプレートの登録処理を行う場合、生体認証装置２０のＣＰＵコア２０１は、まず、センサ部２１３に対して、第１バス２１５を介して生体撮像データの生成要請を伝送する（ステップＳ２０１）。センサ部２１３は、ＣＰＵコア２０１から伝送された生成要請を受けて、生体撮像データの生成を開始し、生成した生体撮像データＩを、第２バス２２３を介して認証エンジン２０３に伝送する（ステップＳ２０３）。ここで、センサ部２１３は、生体撮像データＩを生成する際に、何らかの中間データを生成して記録する場合には、第２バス２２３を介して、第２揮発性メモリ２１９に対して生成した中間データを格納する。
【０１１０】
認証エンジン２０３は、センサ部２１３から生体撮像データＩが伝送されると、生体撮像データＩに対して所定の処理を施して、生体撮像データＩから生体情報を抽出し、テンプレートＴとする。ここで、抽出された生体情報には、生体における指紋、静脈、虹彩等のパターンに関する情報だけでなく、これらのパターンに関連する特徴量に関する情報等が含まれていても良い。また、認証エンジン２０３は、生体情報を抽出する際に生成される何らかの中間データを記録する場合には、第２バス２２３を介して、第２揮発性メモリ２１９に対して生成した中間データを格納する。認証エンジン２０３は、生成したテンプレートＴを、第２バス２２３を介して第２不揮発性メモリ２２１に格納する（ステップＳ２０５）。これにより、生体認証装置２０の第２不揮発性メモリ２２１に対して、テンプレートの登録が行われることとなる。
【０１１１】
図６に示したように、本実施形態に係る生体認証装置２０では、生体撮像データＩおよびテンプレートＴといった秘匿すべきデータが第２バス２２３を介して伝送され、ＣＰＵコア２０１が参照可能な第１バス２１５へは伝送されることがない。従って、本実施形態に係る生体認証装置２０では、より安全にテンプレートの登録処理を実行することができる。
【０１１２】
なお、本実施形態に係る生体認証装置２０において、テンプレートＴは、暗号化された状態で第２不揮発性メモリ２２１に格納されていてもよい。この場合、認証エンジン２０３により生成されたテンプレートＴは、第２バス２２３を介して第２揮発性メモリ２１９に一旦格納され、暗合エンジン２０５は、第２バス２２３を介して第２揮発性メモリ２１９から暗号化されていないテンプレートを取得する。暗合エンジン２０５は、取得したテンプレートを暗号化したうえで、第２バス２２３を介して第２不揮発性メモリ２２１に伝送する。
【０１１３】
＜生体情報の認証処理について＞
次に、図７を参照しながら、本実施形態に係る生体認証装置２０で実施される生体情報の認証処理について、詳細に説明する。図７は、本実施形態に係る生体情報の認証処理について説明するための説明図である。図７では、装置内で伝送されるデータの流れを、点線で示している。
【０１１４】
生体情報の認証処理を行う場合、生体認証装置２０のＣＰＵコア２０１は、まず、センサ部２１３に対して、第１バス２１５を介して生体撮像データの生成要請を伝送する（ステップＳ２２１）。センサ部２１３は、ＣＰＵコア２０１から伝送された生成要請を受けて、生体撮像データの生成を開始し、生成した生体撮像データを、第２バス２２３を介して認証エンジン２０３に伝送する（ステップＳ２２３）。ここで、センサ部２１３は、生体撮像データを生成する際に、何らかの中間データを生成して記録する場合には、第２バス２２３を介して、第２揮発性メモリ２１９に対して生成した中間データを格納する。
【０１１５】
認証エンジン２０３は、センサ部２１３から生体撮像データＩが伝送されると、生体撮像データＩに対して所定の処理を施して、生体撮像データＩから生体情報Ｂを抽出する。ここで、抽出された生体情報Ｂには、生体における指紋、静脈、虹彩等のパターンに関する情報だけでなく、これらのパターンに関連する特徴量に関する情報等が含まれていても良い。認証エンジン２０３は、抽出した生体情報Ｂを、第２バス２２３を介して第２揮発性メモリ２１９に格納する（ステップＳ２２５）。
【０１１６】
続いて、認証エンジン２０３は、第２揮発性メモリ２１９から第２バス２２３を介して生体情報Ｂを取得するとともに、第２不揮発性メモリ２２１から第２バス２２３を介してテンプレートＴを取得する（ステップＳ２２７）。認証エンジン２０３は、取得した生体情報ＢおよびテンプレートＴに基づいて、生体情報Ｂの認証処理を実行する。具体的には、認証エンジン２０３は、生体情報ＢとテンプレートＴとの類似度を算出し、生体情報ＢがテンプレートＴと類似していると判断できる際に、生体情報Ｂの認証に成功したと判断する。
【０１１７】
算出する類似度の例として、生体情報ＢとテンプレートＴとの相互相関値、生体情報ＢとテンプレートＴとの差分絶対値和、生体情報ＢとテンプレートＴとの差分二乗和等を挙げることができる。類似度として相互相関値を算出する場合には、認証エンジン２０３は、算出した相互相関値が所定の閾値以上であった場合に、両者が類似していると判断する。また、類似度として差分絶対値和または差分二乗和を算出する場合には、認証エンジン２０３は、算出したこれらの値が所定の閾値以下であった場合に、両者が類似していると判断する。
【０１１８】
認証エンジン２０３は、生体情報Ｂに関する認証結果が確定すると、認証結果に関する情報を、第１バス２１５を介してＣＰＵコア２０１に伝送する（ステップＳ２２９）。ＣＰＵコア２０１は、伝送された認証結果に関する情報を参照して、所定の装置に対して認証結果に関する情報を通知する。このような手順により、生体認証装置２０では、ユーザに対する生体認証処理が行われる。
【０１１９】
図７に示したように、本実施形態に係る生体認証装置２０では、生体撮像データＩ、生体情報ＢおよびテンプレートＴといった秘匿すべきデータは、第２バス２２３を介して伝送され、第１バス２１５へは伝送されることはない。また、ＣＰＵコア２０１が参照可能な第１バス２１５へは、認証結果に関する情報のみが伝送される。従って、本実施形態に係る生体認証装置２０では、より安全に生体情報の認証処理を実行することができる。
【０１２０】
なお、第２不揮発性メモリ２２１に格納されているテンプレートが暗号化されている場合には、認証エンジン２０３による生体認証処理に先立って、暗合エンジン２０５によるテンプレートの復号処理が行われる。
【０１２１】
＜テンプレートの暗号化と外部への送信処理について＞
次に、図８を参照しながら、本実施形態に係る生体認証装置２０で実施されるテンプレートの暗号化と外部への送信処理について、詳細に説明する。図８は、本実施形態に係るテンプレートの暗号化と外部への送信処理について説明するための説明図である。図８では、装置内で伝送されるデータの流れを、点線で示している。
【０１２２】
ユーザ操作等によりテンプレートの暗号化処理が指定され、暗号化されたテンプレートを外部の装置へと送信する場合には、以下のような流れで処理が行われる。
【０１２３】
生体認証装置２０のＣＰＵコア２０１は、まず、暗合エンジン２０５に対して、第１バス２１５を介してテンプレートの暗号化要請を伝送する（ステップＳ２４１）。暗合エンジン２０５は、ＣＰＵコア２０１から伝送された暗号化要請を受けて、テンプレートの暗号化を開始する。暗合エンジン２０５は、第２バス２２３を介して第２不揮発性メモリ２２１から、生体情報用暗号鍵とテンプレートＴとを取得する（ステップＳ２４３）。
【０１２４】
暗合エンジン２０５は、取得したテンプレートＴを、生体情報用暗号鍵を用いて暗号化し、暗号化テンプレートＣＴとする。暗合エンジン２０５は、生成した暗号化テンプレートＣＴを、第１バス２１５を介して第１揮発性メモリ２０９に格納し（ステップＳ２４５）、ＣＰＵコア２０１に暗号化テンプレートＣＴを生成した旨を通知する。ＣＰＵコア２０１は、暗号化テンプレートＣＴの生成完了の通知を受けて、第１バス２１５を介して第１揮発性メモリ２０９から暗号化テンプレートＣＴを取得し、外部装置５に送信する（ステップＳ２４７）。
【０１２５】
なお、暗号化テンプレートＣＴを外部装置５に送信した段階で、第１揮発性メモリ２０９に格納されている暗号化テンプレートＣＴは不要となるため、ＣＰＵコア２０１は、第１揮発性メモリ２０９に格納されている暗号化テンプレートＣＴを消去してもよい。
【０１２６】
以上説明したように、暗号化されていないテンプレートは、第２バス２２３側のよりセキュアな領域にのみ存在しており、第１バス２１５側には、暗号化されており、復号処理を経ないと内容を理解することができないテンプレートのみが存在している。これにより、秘匿すべき情報であるテンプレートを生体認証装置２０の外部に送信する場合であっても、暗号エンジン２０５が第２バス２２３側で暗号化処理を行うことで、暗号化されていないテンプレートが外部に漏洩してしまうことを防止することができる。
【０１２７】
＜暗号化テンプレートの受信と復号処理について＞
次に、図９を参照しながら、本実施形態に係る生体認証装置２０で実施される暗号化テンプレートの受信と復号処理について、詳細に説明する。図９は、本実施形態に係る暗号化テンプレートの受信と復号処理について説明するための説明図である。図９では、装置内で伝送されるデータの流れを、点線で示している。
【０１２８】
ユーザ操作等により外部に設けられた装置からテンプレートを受信するよう指定され、外部の装置から暗号化されたテンプレートを受信する場合には、以下のような流れで処理が行われる。
【０１２９】
生体認証装置２０のＣＰＵコア２０１は、まず、外部に設けられた外部装置５に対して、暗号化されたテンプレートを送信するよう要請する（ステップＳ２６１）。このテンプレートの送信要請に応じて外部装置５から暗号化されたテンプレートＣＴが送信されると、ＣＰＵコア２０１は、受信した暗号化テンプレートＣＴを、第１バス２１５を介して、第１揮発性メモリ２０９に格納する（ステップＳ２６３）。また、ＣＰＵコア２０１は、暗号エンジン２０５に対して、受信した暗号化テンプレートＣＴの復号処理の開始を要請する（ステップＳ２６５）。
【０１３０】
暗号エンジン２０５は、ＣＰＵコア２０１からの復号処理の開始要請を受けて、第１揮発性メモリ２０９から、暗号化テンプレートＣＴを取得する（ステップＳ２６７）。続いて、暗号エンジン２０５は、第２バス２２３を介して、第２不揮発性メモリ２２１から、生体情報用暗号鍵を取得し（ステップＳ２６９）、暗号化テンプレートＣＴの復号処理を開始する。
【０１３１】
暗号エンジン２０５は、復号処理が終了し、暗号化されていないテンプレートＴが生成されると、得られたテンプレートＴを、第２バス２２３を介して、第２揮発性メモリ２１９に格納する（ステップＳ２７１）。なお、暗号化テンプレートＣＴを復号した段階で、第１揮発性メモリ２０９に格納されている暗号化テンプレートＣＴは不要となるため、ＣＰＵコア２０１は、第１揮発性メモリ２０９に格納されている暗号化テンプレートＣＴを消去してもよい。
【０１３２】
次に、暗号エンジン２０５または認証エンジン２０３は、第１揮発性メモリ２１９に格納されているテンプレートＴを第２不揮発性メモリ２２１に格納し、生体認証装置２０における生体認証処理で利用されるテンプレートＴとして、このテンプレートＴを秘匿する。なお、テンプレートＴが第２不揮発性メモリ２２１に格納された段階で、第２揮発性メモリ２１９に格納されているテンプレートＴは不要となるため、第２揮発性メモリ２１９に格納されているテンプレートＴは、削除されてもよい。
【０１３３】
以上説明したように、暗号化されていないテンプレートは、第２バス２２３側のよりセキュアな領域にのみ存在しており、第１バス２１５側には、暗号化されており、復号処理を経ないと内容を理解することができないテンプレートのみが存在している。これにより、秘匿すべき情報であるテンプレートを生体認証装置２０の外部から受信する場合であっても、暗号エンジン２０５が第２バス２２３側で復号処理を行うことで、暗号化されていないテンプレートが外部に漏洩してしまうことを防止することができる。
【０１３４】
（まとめ）
以上説明したように、本発明の実施形態に係る生体認証装置では、生体認証装置内に、ＣＰＵコアが連結されている第１バスと、ＣＰＵコアが直接アクセスすることができない第２バスとを設けることで、装置内によりセキュアな領域を確立する。生体認証処理に用いられる生体情報やテンプレートなど秘匿すべき情報は、第２バス側のよりセキュアな領域内で保持されるため、外部からの攻撃やプログラム等の不具合によりＣＰＵコアに誤動作が生じたとしても、秘匿すべき情報は外部に漏洩することはない。これにより、本発明の実施形態に係る生体認証装置では、生体認証に関する秘匿すべき情報をより安全に保持することができる。
【０１３５】
また、暗号化処理および復号処理に特化した暗号エンジンを第１バスと第２バスの双方に連結し、第２メモリを利用してテンプレートの暗号化処理や復号処理を行うことにより、テンプレートをより安全に暗号化したり復号したりすることが可能となる。その結果、本来秘匿すべき情報であるテンプレートを暗号化して生体認証装置の外部に送信したり、外部から受信した暗号化テンプレートを復号して、テンプレートとして保持したりすることが可能となる。従来では、新たな生体認証装置を購入したユーザは、新たな生体認証装置において再度テンプレートの登録処理を行わなければならなかった。しかしながら、上述のような暗号化テンプレートの送受信が可能となることで、従来使用していた生体認証装置から新たに購入した生体認証装置へと、暗号化されたテンプレートを安全に移動させることが可能となり、ユーザの利便性を向上させることができる。
【０１３６】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１３７】
１０，２０    生体認証装置
１０１，２０１    ＣＰＵコア
１０３，２０３    認証エンジン
１０５，２０７    第１メモリ
１０７，２０９    第１揮発性メモリ
１０９，２１１    第１不揮発性メモリ
１１１，２１３    センサ部
１１３，２１５    第１バス
１１５，２１７    第２メモリ
１１７，２１９    第２揮発性メモリ
１１９，２２１    第２不揮発性メモリ
１２１，２２３    第２バス
１５１，２０５    暗号エンジン
【図１】
2011035739.tif 000003
【図２】
2011035739.tif 000004
【図３】
2011035739.tif 000005
【図４】
2011035739.tif 000006
【図５】
2011035739.tif 000007
【図６】
2011035739.tif 000008
【図７】
2011035739.tif 000009
【図８】
2011035739.tif 000010
【図９】
2011035739.tif 000011