説明

生体認証装置および生体認証方法

【課題】生体認証に関する秘匿すべき情報をより安全に保持することが可能な生体認証装置および生体認証方法を提供すること。
【解決手段】本発明に係る生体認証装置は、汎用的な演算処理及び/又は制御処理を行うCPUコアと、生体の少なくとも一部を撮像することで生成される信号に基づき、撮像した生体の画像に対応する生体撮像データを生成するセンサ部と、生体撮像データから生体に固有な情報である生体情報を抽出し、当該生体情報の認証に関する処理を行う認証エンジンと、CPUコア、センサ部および認証エンジンの少なくともいずれかが行う処理により生成されたデータを格納する第1メモリおよび第2メモリと、CPUコア、センサ部、認証エンジンおよび第1メモリを相互に連結する第1バスと、センサ部、認証エンジンおよび第2メモリを相互に連結する第2バスと、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生体認証装置および生体認証方法に関する。
【背景技術】
【0002】
情報処理技術および情報通信技術の発達により、複数の機器どうしを接続してデータの共有交換を行なったり、遠隔地間で協働作業を行なったりする機会が増えてきている。接続し合う機器の組み合わせも、固定的ではなく、多数にまたがる場合が多い。このため、いわゆる「なりすまし」による情報の漏洩や不正利用を防止するべく、ユーザ本人であることを確認するための認証手続が広く採用されるようになってきている。このような認証手続の一例として、近年、セキュリティの確保が容易な生体認証が利用されつつある。この生体認証は、生体に固有な情報である生体情報に基づいて、ユーザ本人であることを確認するための認証手続である。
【0003】
例えば、以下の特許文献1では、ある特定の情報格納領域へのアクセス権を、生体認証の一種である指紋認証の認証結果に応じて制御する技術が公開されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−149093号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、上述のような生体情報の認証処理を行う生体認証装置の内部では、生体から採取した生体情報や認証処理の際に基準となる生体情報であるテンプレートが、不揮発性メモリなどに保持されることとなる。これらのデータが外部に漏洩してしまうと、悪意のある第三者がユーザに成りすますことが可能となってしまうため、かかる生体認証装置では、保持しているデータの機密性が重要となる。
【0006】
従来の生体認証装置では、上述のような秘匿すべき情報が格納されている領域は、生体認証装置の制御を行っているCPUが直接読み書きを行うことができる領域であることが多い。そのため、外部からの攻撃や生体認証装置を制御するプログラムに内在する不具合等により、秘匿すべきデータが、外部へ漏洩してしまう可能性があるという問題があった。
【0007】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、生体認証に関する秘匿すべき情報をより安全に保持することが可能な生体認証装置および生体認証方法を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある観点によれば、汎用的な演算処理及び/又は制御処理を行うCPUコアと、生体の少なくとも一部を撮像することで生成される信号に基づき、撮像した生体の画像に対応する生体撮像データを生成するセンサ部と、前記生体撮像データから前記生体に固有な情報である生体情報を抽出し、当該生体情報の認証に関する処理を行う認証エンジンと、前記CPUコア、前記センサ部および前記認証エンジンの少なくともいずれかが行う処理により生成されたデータを格納する第1メモリおよび第2メモリと、前記CPUコア、前記センサ部、前記認証エンジンおよび前記第1メモリを相互に連結する第1バスと、前記センサ部、前記認証エンジンおよび前記第2メモリを相互に連結する第2バスと、を備える生体認証装置が提供される。
【0009】
前記認証エンジンが行う処理により生成された前記生体情報に関するデータは、前記第2バスを介して前記第2メモリに格納されることが好ましい。
【0010】
前記情報処理装置は、所定の方式に則ってデータを暗号化または復号する暗号エンジンを更に備え、前記暗号エンジンは、前記第1バスに連結されていてもよい。
【0011】
前記暗号エンジンは、更に前記第2バスに連結されていてもよく、前記暗号エンジンが前記生体情報に関するデータに対して暗号化または復号処理を行う場合、前記暗号化または復号処理により生成されるデータは、前記第2バスを介して前記第2メモリに格納されることが好ましい。
【0012】
前記第2メモリは、第2揮発性メモリと第2不揮発性メモリとから構成されていてもよく、前記生体情報に関するデータに対して暗号化または復号処理を行う場合に利用される生体情報用暗号鍵は、前記第2不揮発性メモリに格納されることが好ましい。
【0013】
前記暗号エンジンは、前記第2バスを介して取得した前記テンプレートを、前記第2バスを介して取得した前記生体情報用暗号鍵で暗号化して暗号化テンプレートとし、前記暗号化テンプレートを、前記第1バスを介して前記第1メモリに格納し、前記CPUコアは、前記第1メモリに格納されている前記暗号化テンプレートを、外部に設けられた他の情報処理装置に対して送信してもよい。
【0014】
前記CPUコアは、外部に設けられた他の情報処理装置から取得した、暗号化されたテンプレートである暗号化テンプレートを、前記第1バスを介して前記第1メモリに格納し、前記暗号エンジンは、前記第1バスを介して取得した前記暗号化テンプレートを、前記第2バスを介して前記第2不揮発性メモリから取得した前記生体情報用暗号鍵で復号し、復号されたテンプレートを、前記第2バスを介して前記第2不揮発性メモリに格納してもよい。
【0015】
前記第2メモリは、第2揮発性メモリと第2不揮発性メモリとから構成されており、前記認証エンジンは、前記生体撮像データに基づいて、認証処理の際に基準となる生体情報であるテンプレートを生成し、前記第2バスを介して前記テンプレートを前記前記第2不揮発性メモリに格納することが好ましい。
【0016】
前記センサ部により生成された前記生体撮像データは、前記第2バスを介して前記第2メモリに格納されることが好ましい。
【0017】
また、上記課題を解決するために、本発明の別の観点によれば、汎用的な演算処理及び/又は制御処理を行うCPUコアと、生体の少なくとも一部を撮像することで生成される信号に基づき、撮像した生体の画像に対応する生体撮像データを生成するセンサ部と、前記生体撮像データから前記生体に固有な情報である生体情報を抽出し、当該生体情報の認証に関する処理を行う認証エンジンと、前記CPUコア、前記センサ部および前記認証エンジンの少なくともいずれかが行う処理により生成されたデータを格納する第1メモリおよび第2メモリと、前記CPUコア、前記センサ部、前記認証エンジンおよび前記第1メモリを相互に連結する第1バスと、前記センサ部、前記認証エンジンおよび前記第2メモリを相互に連結する第2バスと、を備える生体認証装置における前記センサ部が、前記生体撮像データを生成し、前記第2バスを介して前記認証エンジンに前記生体撮像データを伝送するステップと、前記認証エンジンが前記生体撮像データから前記生体情報を抽出し、当該生体情報の認証を行うステップと、前記認証エンジンが、前記生体情報に関する認証結果を、前記第1バスを介して前記CPUコアに伝送するステップと、を含む生体認証方法が提供される。
【発明の効果】
【0018】
以上説明したように本発明によれば、CPUコアがアクセス可能なバスとアクセス不可能なバスとを生体認証装置内に設けることで、生体認証に関する秘匿すべき情報をより安全に保持することが可能である。
【図面の簡単な説明】
【0019】
【図1】本発明の第1の実施形態に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【図2】同実施形態に係る生体認証装置におけるテンプレートの登録処理について説明するための説明図である。
【図3】同実施形態に係る生体認証装置における生体情報の認証処理について説明するための説明図である。
【図4】同実施形態の第1変形例に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【図5】本発明の第2の実施形態に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【図6】同実施形態に係る生体認証装置におけるテンプレートの登録処理について説明するための説明図である。
【図7】同実施形態に係る生体認証装置における生体情報の認証処理について説明するための説明図である。
【図8】同実施形態に係る生体認証装置におけるテンプレートの暗号化と外部への送信処理を説明するための説明図である。
【図9】同実施形態に係る生体認証装置における暗号化テンプレートの受信と復号処理を説明するための説明図である。
【発明を実施するための形態】
【0020】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0021】
なお、説明は、以下の順序で行うものとする。
(1)目的
(2)第1の実施形態
(2−1)生体認証装置のハードウェア構成について
(2−2)テンプレートの登録処理について
(2−3)生体情報の認証処理について
(2−4)第1変形例について
(3)第2の実施形態
(3−1)生体認証装置のハードウェア構成について
(3−2)テンプレートの登録処理について
(3−3)生体情報の認証処理について
(3−4)テンプレートの暗号化と外部への送信処理について
(3−5)暗号化テンプレートの受信と復号処理について
(4)まとめ
【0022】
(目的)
まず、本発明の実施形態に係る生体認証装置および生体認証方法について説明するに先立ち、本発明が目的とするところについて、簡単に説明する。
【0023】
生体に固有な情報である生体情報を生体認証装置(例えば、セキュリティ・チップ)が採取し、暗号化されたテンプレートを装置内で復号し、採取した生体情報を生体認証装置が有する生体認証機能により認証を行う場合を想定する。
【0024】
この場合、生体認証装置の動作は、装置内に保持された制御プログラムにより制御され、採取した生体情報や、認証の際に基準となる生体情報であるテンプレートは、決して装置の外部へ出ることなく、認証処理にのみ用いられることとなる。また、これら生体情報およびテンプレートは、明示的な消去処理、または、電源断などにより、生体認証装置内に設けられたメモリ(RAMなど)から消去される。また、このようなデータの取り扱いについては、認証処理時のみならず、テンプレートの登録処理においても同様である。
【0025】
従って、上述のような生体認証装置を想定した場合、静的には暗号化されたテンプレートが存在し、動的には採取した生体情報および暗号化されていない生のテンプレートが存在することとなる。従来、生体情報および暗号化されていない生のテンプレートは、セキュリティ・チップ内のメモリにのみ存在するため、安全と言われてきた。
【0026】
セキュリティ・チップのプログラムがセキュリティ・チップ内のメモリ(ROMなど)であるならば、プログラムの書き換えができないため問題は少ないといえる。しかしながら、セキュリティ・チップを制御するプログラムが、セキュリティ・チップ内の不揮発性メモリに保持される場合や、セキュリティ・チップ外の不揮発性メモリに保持される場合などもある。
【0027】
特に、プログラムがセキュリティ・チップの外部に保持される場合、プログラムが漏洩してしまうとセキュリティ・チップ内の動作がわかってしまう。そのため、プログラム自体を暗号化したり、セキュリティ・チップへのバスにスクランブル回路を設け、スクランブルをかけた状態で外部に置いたプログラムを保持したりすることにより、プログラムの解析を防ぐ方法などが取られている。
【0028】
しかしながら、上述のような対処法を採用したとしても、開発者が意図しない経路から情報が漏洩したり、プログラムに不具合(バグ)が内在したりすることにより、採取した生体情報や暗号化されていないテンプレートが、装置の外部へ漏洩する可能性は存在する。
【0029】
以下で説明する本発明の各実施形態に係る生体認証装置は、上述のような可能性を防止することを目的としてなされたものである。以下で説明する本発明の各実施形態では、秘匿すべき情報が外部に漏洩することを防止し、秘匿すべき情報をより安全に保持することが可能な生体認証装置のハードウェア構成について、詳細に説明する。
【0030】
(第1の実施形態)
<生体認証装置のハードウェア構成について>
次に、本発明の第1の実施形態に係る生体認証装置のハードウェア構成について、図1を参照しながら詳細に説明する。図1は、本実施形態に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【0031】
以下、生体認証装置10が、例えば、生体認証処理用のセキュリティ・チップである場合を例にとって説明を行う。しかしながら、本実施形態に係る生体認証装置10は、セキュリティ・チップに限定されるわけではなく、生体認証処理を実行可能な耐タンパ性を有するコンピュータやサーバであってもよい。
【0032】
また、本実施形態に係る生体認証装置10が行う生体認証は、指紋認証、静脈認証、虹彩認証、顔認証などの任意の生体認証処理であって、ある特定の生体認証処理に限定されるわけではない。
【0033】
本実施形態に係る生体認証装置10は、例えば図1に示したように、CPUコア101と、認証エンジン103と、第1メモリ105と、センサ部111と、第1バス113と、第2メモリ115と、第2バス121と、を主に備える。
【0034】
CPUコア101は、汎用的な演算処理を行う演算処理装置及び/又は汎用的な制御処理を行う制御装置として機能する。CPUコア101は、後述する第1メモリ105やハードディスクなどのストレージ装置(図示せず。)等に格納された各種のプログラム(プログラム・コード)に従って、生体認証装置10内の動作全般またはその一部を制御する。例えば、CPUコア101は、リアルタイムOSや生体認証に際して外部(例えば、生体認証装置10の外部に設けられた外部装置5)と通信を行う場合の通信プロトコル制御などを行っている。
【0035】
認証エンジン103は、生体認証装置10が有する機能のうち、生体情報に基づく一連の生体認証処理に関する機能に特化したエンジンである。生体情報に基づく一連の生体認証処理に関する機能の一例として、生体を撮像して得られた生体撮像画像から生体情報を抽出する機能、生体情報をテンプレートとして登録する機能、生体情報をテンプレートに基づいて認証する機能等を挙げることができる。
【0036】
具体的には、認証エンジン103は、後述するセンサ部111から伝送される生体撮像データ(生体を撮像した生体撮像画像に対応するデータ)に基づき、生体撮像データから生体情報を抽出する。また、認証エンジン103は、抽出した生体情報を生体認証の際に基準となる生体情報であるテンプレートとして登録したり、抽出した生体情報を既に登録されているテンプレートに基づいて認証したりする。また、認証エンジン103は、生体情報に関する認証結果が確定すると、認証に成功したなどといった認証結果に関する情報を、CPUコア101等に伝送する。
【0037】
ここで、認証エンジン103は、認証結果に関する情報など、生体認証処理に利用されるデータそのものではない情報に対応するデータについては、後述する第1バス113を介して伝送する。また、認証エンジン103は、生体認証処理に利用される生体情報、テンプレートといった秘匿すべきデータや、生体認証処理の過程で生成される中間データなどを、後述する第2バス121を介して伝送する。
【0038】
認証エンジン103は、生体認証処理に関する機能に特化したエンジンであるため、CPU101に比べてセキュリティホールが生じにくく、生体認証処理において扱われるデータを、より安全に保持することができる。
【0039】
第1メモリ105は、CPUコア101、認証エンジン103および後述するセンサ部105の少なくともいずれかが行う処理により生成されたデータを格納するメモリである。この第1メモリ105は、図1に示したように、第1揮発性メモリ107と、第1不揮発性メモリ109とを有する。
【0040】
第1揮発性メモリ107には、CPUコア101、認証エンジン103または後述するセンサ部111により最終的に生成されたデータや、これらの処理部があるデータを生成する際に生成された中間データが格納される。この第1揮発性メモリ107に格納された各種のデータは、生体認証装置10の電源がオフとなったり、CPUコア101、認証エンジン103またはセンサ部111等からデータの削除を要請されたりした場合に、第1揮発性メモリ107の中から削除される。
【0041】
第1不揮発性メモリ109には、CPUコア101が生体認証装置10における演算処理や制御処理を実行する際に利用するプログラム・コードが格納されている。また、第1不揮発性メモリ109には、CPUコア101、認証エンジン103または後述するセンサ部111により生成され、生体認証装置10の電源がオフになった際にも保持しておくべきデータが格納されてもよい。
【0042】
なお、本実施形態に係る第1揮発性メモリ107および第1不揮発性メモリ109には、生体情報に関するデータ(例えば、生体情報そのものや、生体情報が抽出される際に生成された中間データや、テンプレート等)は、格納されない。従って、認証エンジン103が第1揮発性メモリ107または第1不揮発性メモリ109に格納するデータは、生体情報に関するデータ以外のデータ(例えば、認証結果に関する情報や、認証処理の履歴情報など)である。同様に、センサ部111が第1揮発性メモリ107または第1不揮発性メモリ109に格納するデータは、生体撮像画像に対応するデータ以外のデータ(例えば、生体撮像データを生成した履歴情報など)である。
【0043】
センサ部111は、生体の少なくとも一部を透過した光、または、生体の少なくとも一部により反射した光を受光することで生成される信号に基づき、生体撮像データを生成する撮像素子等を含む。センサ部111は、生体撮像データを生成すると、生成した生体撮像データを認証エンジン103に伝送する。
【0044】
ここで、センサ部111は、生体撮像データを生成した履歴に関する情報など、生体認証処理に利用されるデータそのものではない情報に対応するデータについては、後述する第1バス113を介して伝送する。また、センサ部111は、生体認証処理に利用されるデータであり秘匿すべき情報である生体撮像データや、生体撮像データを生成する過程で生成される中間データ等を、後述する第2バス121を介して伝送する。
【0045】
第1バス113は、CPUコア101、認証エンジン103、第1揮発性メモリ107、第1不揮発性メモリ109およびセンサ部111を相互に連結しており、これらの処理部から送信されるデータを各処理部へと伝送するための伝送路として機能する。
【0046】
第2メモリ115は、認証エンジン103およびセンサ部105の少なくともいずれかが行う処理により生成されたデータを格納するメモリである。この第2メモリ115は、図1に示したように、第2揮発性メモリ117と、第2不揮発性メモリ119とを有する。
【0047】
第2揮発性メモリ117には、認証エンジン103またはセンサ部111により最終的に生成されたデータや、これらの処理部があるデータを生成する際に生成された中間データが格納される。この第2揮発性メモリ117に格納された各種のデータは、生体認証装置10の電源がオフとなったり、認証エンジン103またはセンサ部111等からデータの削除を要請されたりした場合に、第2揮発性メモリ117の中から削除される。
【0048】
第2不揮発性メモリ119には、認証エンジン103による生体認証処理の際に利用されるテンプレートが格納される。また、第2不揮発性メモリ119には、上述のテンプレート以外にも、認証エンジン103またはセンサ部111により生成され、生体認証装置10の電源がオフになった際にも保持しておくべきデータが格納されてもよい。
【0049】
なお、本実施形態に係る第2揮発性メモリ117および第2不揮発性メモリ119には、生体情報に関するデータ(例えば、生体情報そのものや、生体情報が抽出される際に生成された中間データや、テンプレート等)が格納される。また、第2揮発性メモリ117および第2不揮発性メモリ119には、これらのデータ以外にも、生体認証装置10が秘匿すべき様々なデータが格納されてもよい。
【0050】
第2バス121は、認証エンジン103、センサ部111、第2揮発性メモリ117および第2不揮発性メモリ119を相互に連結しており、これらの処理部から送信されるデータを各処理部へと伝送するための伝送路として機能する。
【0051】
以上説明したように、本実施形態に係る生体認証装置10では、第1バス113および第2バス121という2種類のバスが設けられており、第1バス113に接続されているCPUコア101は、第2バス121に直接アクセスできないようになっている。また、CPUコア101は、認証エンジン103およびセンサ部111に対して、処理の開始要請や、処理結果の問い合わせなどといった、間接的な処理のみが許可される。他方、認証エンジン103およびセンサ部111は、生体認証処理で利用されるデータを、第2バス121を介して伝送するように設定されている。
【0052】
これにより、CPUコア101は、生体情報、テンプレート、認証処理の過程において生成される中間データ等が伝送される第2バス121から独立して存在することとなり、CPUコア101は、これらのデータに直接関与することができない。その結果、本実施形態に係る生体認証装置10では、生体認証装置10というセキュアな領域からなる装置の内部に、第2バス121によって相互に連結された、よりセキュアな領域が存在することとなる。
【0053】
その結果、本実施形態に係る生体認証装置10では、CPUコア101の動作を制御するプログラムの不具合や、悪意を持ったプログラムの改変などが生じたとしても、CPUコア101は秘匿すべきデータにアクセスできない。その結果、秘匿すべきデータは、外部に漏洩することなくセキュアに生体認証装置10内に保持される。
【0054】
以上、本実施形態に係る生体認証装置10の機能を実現可能なハードウェア構成の一例を示した。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【0055】
続いて、本実施形態に係る生体認証装置10で実施される各種の処理について、装置内で伝送されるデータの流れに着目しながら詳細に説明する。
【0056】
<テンプレートの登録処理について>
まず、図2を参照しながら、本実施形態に係る生体認証装置10で実施されるテンプレートの登録処理について、詳細に説明する。図2は、本実施形態に係るテンプレートの登録処理について説明するための説明図である。図2では、装置内で伝送されるデータの流れを、点線で示している。
【0057】
テンプレートの登録処理を行う場合、生体認証装置10のCPUコア101は、まず、センサ部111に対して、第1バス113を介して生体撮像データの生成要請を伝送する(ステップS101)。センサ部111は、CPUコア101から伝送された生成要請を受けて、生体撮像データの生成を開始し、生成した生体撮像データIを、第2バス121を介して認証エンジン103に伝送する(ステップS103)。ここで、センサ部111は、生体撮像データIを生成する際に、何らかの中間データを生成して記録する場合には、第2バス121を介して、第2揮発性メモリ117に対して生成した中間データを格納する。
【0058】
認証エンジン103は、センサ部111から生体撮像データIが伝送されると、生体撮像データIに対して所定の処理を施して、生体撮像データIから生体情報を抽出し、テンプレートTとする。ここで、抽出された生体情報には、生体における指紋、静脈、虹彩等のパターンに関する情報だけでなく、これらのパターンに関連する特徴量に関する情報等が含まれていても良い。また、認証エンジン103は、生体情報を抽出する際に生成される何らかの中間データを記録する場合には、第2バス121を介して、第2揮発性メモリ117に対して生成した中間データを格納する。認証エンジン103は、生成したテンプレートTを、第2バス121を介して第2不揮発性メモリ119に格納する(ステップS105)。これにより、生体認証装置10の第2不揮発性メモリ119に対して、テンプレートの登録が行われることとなる。
【0059】
図2に示したように、本実施形態に係る生体認証装置10では、生体撮像データIおよびテンプレートTといった秘匿すべきデータが第2バス121を介して伝送され、CPUコア101が参照可能な第1バス113へは伝送されることがない。従って、本実施形態に係る生体認証装置10では、より安全にテンプレートの登録処理を実行することができる。
【0060】
<生体情報の認証処理について>
次に、図3を参照しながら、本実施形態に係る生体認証装置10で実施される生体情報の認証処理について、詳細に説明する。図3は、本実施形態に係る生体情報の認証処理について説明するための説明図である。図3では、装置内で伝送されるデータの流れを、点線で示している。
【0061】
生体情報の認証処理を行う場合、生体認証装置10のCPUコア101は、まず、センサ部111に対して、第1バス113を介して生体撮像データの生成要請を伝送する(ステップS121)。センサ部111は、CPUコア101から伝送された生成要請を受けて、生体撮像データの生成を開始し、生成した生体撮像データを、第2バス121を介して認証エンジン103に伝送する(ステップS123)。ここで、センサ部111は、生体撮像データを生成する際に、何らかの中間データを生成して記録する場合には、第2バス121を介して、第2揮発性メモリ117に対して生成した中間データを格納する。
【0062】
認証エンジン103は、センサ部111から生体撮像データIが伝送されると、生体撮像データIに対して所定の処理を施して、生体撮像データIから生体情報Bを抽出する。ここで、抽出された生体情報Bには、生体における指紋、静脈、虹彩等のパターンに関する情報だけでなく、これらのパターンに関連する特徴量に関する情報等が含まれていても良い。認証エンジン103は、抽出した生体情報Bを、第2バス121を介して第2揮発性メモリ117に格納する(ステップS125)。
【0063】
続いて、認証エンジン103は、第2揮発性メモリ117から第2バス121を介して生体情報Bを取得するとともに、第2不揮発性メモリ119から第2バス121を介してテンプレートTを取得する(ステップS127)。認証エンジン103は、取得した生体情報BおよびテンプレートTに基づいて、生体情報Bの認証処理を実行する。具体的には、認証エンジン103は、生体情報BとテンプレートTとの類似度を算出し、生体情報BがテンプレートTと類似していると判断できる際に、生体情報Bの認証に成功したと判断する。
【0064】
算出する類似度の例として、生体情報BとテンプレートTとの相互相関値、生体情報BとテンプレートTとの差分絶対値和、生体情報BとテンプレートTとの差分二乗和等を挙げることができる。類似度として相互相関値を算出する場合には、認証エンジン103は、算出した相互相関値が所定の閾値以上であった場合に、両者が類似していると判断する。また、類似度として差分絶対値和または差分二乗和を算出する場合には、認証エンジン103は、算出したこれらの値が所定の閾値以下であった場合に、両者が類似していると判断する。
【0065】
認証エンジン103は、生体情報Bに関する認証結果が確定すると、認証結果に関する情報を、第1バス113を介してCPUコア101に伝送する(ステップS129)。CPUコア101は、伝送された認証結果に関する情報を参照して、所定の装置に対して認証結果に関する情報を通知する。このような手順により、生体認証装置10では、ユーザに対する生体認証処理が行われる。
【0066】
図3に示したように、本実施形態に係る生体認証装置10では、生体撮像データI、生体情報BおよびテンプレートTといった秘匿すべきデータは、第2バス121を介して伝送され、第1バス113へは伝送されることはない。また、CPUコア101が参照可能な第1バス113へは、認証結果に関する情報のみが伝送される。従って、本実施形態に係る生体認証装置10では、より安全に生体情報の認証処理を実行することができる。
【0067】
<第1変形例について>
続いて、図4を参照しながら、本実施形態に係る生体認証装置の第1変形例について、詳細に説明する。図4は、本変形例に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【0068】
本変形例に係る生体認証装置10は、第1の実施形態に係る生体認証装置10が有する各処理部に加えて、更に、暗号エンジン151を有する。本変形例に係る暗号エンジン151は、図4に示したように、第1バス113に連結されており、第2バス121には連結されていない。
【0069】
暗号エンジン151は、生体認証装置10が有する機能のうち、暗号化機能および復号機能に特化したエンジンである。暗合エンジン151は、外部装置5との間で行われる通信のプロトコルなど生体情報に関するデータ以外のデータを、所定の方式に則して生成された暗号鍵を利用して暗号化したり、復号したりする。また、暗号エンジン151は、暗号化処理および復号処理に際して中間データ等を生成する場合、第1揮発性メモリ107に生成した中間データ等を格納する。また、暗号エンジン151は、生体認証装置10の電源がオフになった際にも保持しておくべきデータが生じた場合には、このようなデータを第1不揮発性メモリ109に格納してもよい。
【0070】
ここで、暗号エンジン151が利用する暗号鍵は、例えば、第1不揮発性メモリ109に格納されている。暗号エンジン151が利用する暗号鍵は、例えば、所定の方式に則して生成された公開鍵と秘密鍵とからなる公開鍵ペアであってもよい。
【0071】
本変形例において、第2揮発性メモリ117や第2不揮発性メモリ119に格納されている生体情報に関するデータに対して処理を行う場合、このようなデータを一旦第1バス113内に伝送する必要がある。その結果、プログラムの不具合等が生じた場合には、暗号化されていない生体情報に関するデータが、外部に漏洩する可能性がある。そのため、本変形例に係る暗号エンジン151では、生体情報に関するデータの暗号化処理および復号処理は行わない。
【0072】
本変形例に係る生体認証装置10は、かかる暗号エンジン151を備えることにより、生体情報に関するデータ以外のデータを外部装置5等と通信を行う場合に、より安全にデータの送受信を行うことができる。
【0073】
以上、本変形例に係る生体認証装置10の機能を実現可能なハードウェア構成の一例を示した。従って、本変形例を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【0074】
(第2の実施形態)
<生体認証装置のハードウェア構成について>
次に、本発明の第2の実施形態に係る生体認証装置20のハードウェア構成について、図5を参照しながら詳細に説明する。図5は、本実施形態に係る生体認証装置のハードウェア構成を説明するためのブロック図である。
【0075】
以下、生体認証装置20が、例えば、生体認証処理用のセキュリティ・チップである場合を例にとって説明を行う。しかしながら、本実施形態に係る生体認証装置20は、セキュリティ・チップに限定されるわけではなく、生体認証処理を実行可能な耐タンパ性を有するコンピュータやサーバであってもよい。
【0076】
また、本実施形態に係る生体認証装置20が行う生体認証は、指紋認証、静脈認証、虹彩認証、顔認証などの任意の生体認証処理であって、ある特定の生体認証処理に限定されるわけではない。
【0077】
本実施形態に係る生体認証装置20は、例えば図5に示したように、CPUコア201と、認証エンジン203と、暗号エンジン205と、第1メモリ207と、センサ部213と、第1バス215と、第2メモリ217と、第2バス223と、を主に備える。
【0078】
CPUコア201は、汎用的な演算処理を行う演算処理装置及び/又は汎用的な制御処理を行う制御装置として機能する。CPUコア201は、後述する第1メモリ207やハードディスクなどのストレージ装置(図示せず。)等に格納された各種のプログラム(プログラム・コード)に従って、生体認証装置20内の動作全般またはその一部を制御する。例えば、CPUコア201は、リアルタイムOSや生体認証に際して外部(例えば、生体認証装置20の外部に設けられた外部装置5)と通信を行う場合の通信プロトコル制御などを行っている。
【0079】
認証エンジン203は、生体認証装置20が有する機能のうち、生体情報に基づく一連の生体認証処理に関する機能に特化したエンジンである。生体情報に基づく一連の生体認証処理に関する機能の一例として、生体を撮像して得られた生体撮像画像から生体情報を抽出する機能、生体情報をテンプレートとして登録する機能、生体情報をテンプレートに基づいて認証する機能等を挙げることができる。
【0080】
具体的には、認証エンジン203は、後述するセンサ部213から伝送される生体撮像データ(生体を撮像した生体撮像画像に対応するデータ)に基づき、生体撮像データから生体情報を抽出する。また、認証エンジン203は、抽出した生体情報を生体認証の際に基準となる生体情報であるテンプレートとして登録したり、抽出した生体情報を既に登録されているテンプレートに基づいて認証したりする。また、認証エンジン203は、生体情報に関する認証結果が確定すると、認証に成功したなどといった認証結果に関する情報を、CPUコア201等に伝送する。
【0081】
ここで、認証エンジン203は、認証結果に関する情報など、生体認証処理に利用されるデータそのものではない情報に対応するデータについては、後述する第1バス215を介して伝送する。また、認証エンジン203は、生体認証処理に利用される生体情報、テンプレートといった秘匿すべきデータや、生体認証処理の過程で生成される中間データなどを、後述する第2バス223を介して伝送する。
【0082】
認証エンジン203は、生体認証処理に関する機能に特化したエンジンであるため、CPU201に比べてセキュリティホールが生じにくく、生体認証処理において扱われるデータを、より安全に保持することができる。
【0083】
暗号エンジン205は、生体認証装置20が有する機能のうち、暗号化機能および復号機能に特化したエンジンである。暗合エンジン205は、抽出した生体情報やテンプレートなどの生体情報に関するデータを、所定の方式に則して生成された生体情報用の暗号鍵を利用して暗号化したり、復号したりする。また、暗号エンジン205は、暗号化処理および復号処理に際して中間データ等を生成する場合、後述する第2メモリ217に生成した中間データ等を格納する。
【0084】
ここで、暗号エンジン205が利用する生体情報用の暗号鍵は、後述する第2メモリに格納されている。暗号エンジン205が利用する暗号鍵は、例えば、所定の方式に則して生成された公開鍵と秘密鍵とからなる公開鍵ペアであってもよい。
【0085】
具体的には、暗合エンジン205は、暗号化または復号を行うデータが存在する場合、後述する第2バス223を介して取得した生体情報用暗号鍵を用いて、暗号化処理または復号処理を行う。また、これらの処理に際して生成され、一時的に保持すべき中間データが発生した場合には、暗合エンジン205は、後述する第2バス223を介して、中間データを第2メモリ217に格納する。
【0086】
暗合エンジン205は、暗号化されており復号をしない限り内容を把握できないデータは、後述する第1バス215を介して、第1バス215に連結されている処理部に伝送することが可能である。また、暗合エンジン205は、生体認証処理に利用される生体情報、テンプレートといった秘匿すべきデータや、生体認証処理の過程で生成される中間データなど、暗号化されていない生体情報に関するデータは、後述する第2バス223を介して伝送する。これにより、暗号化されていない生体情報に関するデータは、第1バス215に伝送されることはない。これにより、本実施形態に係る生体認証装置20では、プログラムの不具合等で暗号化されていない生体情報に関するデータが外部に漏洩してしまうことを、防止することができる。
【0087】
暗合エンジン205は、暗号化処理および復号処理に関する機能に特化したエンジンであるため、CPU201に比べてセキュリティホールが生じにくく、生体認証処理において扱われるデータを、より安全に保持することができる。
【0088】
本実施形態に係る生体認証装置20は、かかる暗合エンジン205を保持することにより、生体情報に関するデータを安全に暗号化したり、復号したりすることができる。そのため、本実施形態に係る生体認証装置20では、暗号化した生体情報に関するデータ(例えば、暗号化されたテンプレート等)を、生体認証装置20の外部に送信したり、外部装置から暗号化された生体情報に関するデータを受信したりすることができる。従来では、新たな生体認証装置を購入したユーザは、新たな生体認証装置において再度テンプレートの登録処理を行わなければならなかった。しかしながら、かかる暗合エンジン205を設けることで、従来使用していた生体認証装置から新たに購入した生体認証装置へと、暗号化されたテンプレートを安全に移動させることが可能となる。
【0089】
なお、暗合エンジン205は、外部装置5との間で行われる通信のプロトコルなど生体情報に関するデータ以外のデータを、所定の方式に則して生成された暗号鍵を利用して暗号化したり、復号したりしてもよい。この場合、暗合エンジン205は、生体情報用の暗号鍵を用いて暗合化処理や復号処理を行っても良いが、生体情報用暗号鍵とは異なる暗号鍵を用いて、暗号化処理や復号処理を行うことが好ましい。また、暗合エンジン205は、生体情報に関するデータ以外のデータに対して処理を行う場合には、第1メモリ207を利用してもよく、第2メモリ217を利用してもよい。
【0090】
第1メモリ207は、CPUコア201、認証エンジン203、暗合エンジン205および後述するセンサ部213の少なくともいずれかが行う処理により生成されたデータを格納するメモリである。この第1メモリ207は、図5に示したように、第1揮発性メモリ209と、第1不揮発性メモリ211とを有する。
【0091】
第1揮発性メモリ209には、CPUコア201、認証エンジン203、暗合エンジン205または後述するセンサ部213により最終的に生成されたデータや、これらの処理部があるデータを生成する際に生成された中間データが格納される。この第1揮発性メモリ209に格納された各種のデータは、生体認証装置20の電源がオフとなったり、各処理部からデータの削除を要請されたりした場合に、第1揮発性メモリ209の中から削除される。
【0092】
第1不揮発性メモリ211には、CPUコア201が生体認証装置20における演算処理や制御処理を実行する際に利用するプログラム・コードが格納されている。また、第1不揮発性メモリ211には、CPUコア201、認証エンジン203、暗合エンジン205または後述するセンサ部213により生成され、生体認証装置20の電源がオフになった際にも保持しておくべきデータが格納されてもよい。
【0093】
本実施形態に係る第1揮発性メモリ209および第1不揮発性メモリ211には、暗号化されていない生体情報に関するデータは、格納されない。従って、認証エンジン203が第1揮発性メモリ209または第1不揮発性メモリ211に格納するデータは、生体情報に関するデータ以外のデータ(例えば、認証結果に関する情報や、認証処理の履歴情報など)である。同様に、暗合エンジン205が第1揮発性メモリ209または第1不揮発性メモリ211に格納するデータは、暗合に関する処理についての履歴情報などである。また、センサ部213が第1揮発性メモリ209または第1不揮発性メモリ211に格納するデータは、生体撮像画像に対応するデータ以外のデータ(例えば、生体撮像データを生成した履歴情報など)である。
【0094】
センサ部213は、生体の少なくとも一部を透過した光、または、生体の少なくとも一部により反射した光を受光することで生成される信号に基づき、生体撮像データを生成する撮像素子等を含む。センサ部213は、生体撮像データを生成すると、生成した生体撮像データを認証エンジン203に伝送する。
【0095】
ここで、センサ部213は、生体撮像データを生成した履歴に関する情報など、生体認証処理に利用されるデータそのものではない情報に対応するデータについては、後述する第1バス215を介して伝送する。また、センサ部213は、生体認証処理に利用されるデータであり秘匿すべき情報である生体撮像データや、生体撮像データを生成する過程で生成される中間データ等を、後述する第2バス223を介して伝送する。
【0096】
第1バス215は、CPUコア201、認証エンジン203、暗合エンジン205、第1揮発性メモリ209、第1不揮発性メモリ211およびセンサ部213を相互に連結している。第1バス215は、これらの処理部から送信されるデータを各処理部へと伝送するための伝送路として機能する。
【0097】
第2メモリ217は、認証エンジン203、暗合エンジン205およびセンサ部213の少なくともいずれかが行う処理により生成されたデータを格納するメモリである。この第2メモリ217は、図5に示したように、第2揮発性メモリ219と、第2不揮発性メモリ221とを有する。
【0098】
第2揮発性メモリ219には、認証エンジン203、暗合エンジン205またはセンサ部213により最終的に生成されたデータや、これらの処理部があるデータを生成する際に生成された中間データが格納される。この第2揮発性メモリ219に格納された各種のデータは、生体認証装置20の電源がオフとなったり、各処理部からデータの削除を要請されたりした場合に、第2揮発性メモリ219の中から削除される。
【0099】
第2不揮発性メモリ221には、認証エンジン203による生体認証処理の際に利用されるテンプレート、および、暗合エンジン205が利用する生体情報用暗号鍵が格納される。また、第2不揮発性メモリ221には、テンプレートおよび生体情報用暗号鍵以外にも、認証エンジン203、暗合エンジン205またはセンサ部213により生成され、生体認証装置20の電源がオフになった際にも保持しておくべきデータが格納されてもよい。
【0100】
なお、本実施形態に係る第2揮発性メモリ219および第2不揮発性メモリ221には、生体情報に関するデータが格納される。また、第2揮発性メモリ219および第2不揮発性メモリ221には、これらのデータ以外にも、生体認証装置20が秘匿すべき様々なデータが格納されてもよい。
【0101】
第2バス223は、認証エンジン203、暗合エンジン205、センサ部213、第2揮発性メモリ219および第2不揮発性メモリ221を相互に連結しており、これらの処理部から送信されるデータを各処理部へと伝送するための伝送路として機能する。
【0102】
以上説明したように、本実施形態に係る生体認証装置20では、第1バス215および第2バス223という2種類のバスが設けられており、第1バス215に接続されているCPUコア201は、第2バス223に直接アクセスできないようになっている。また、CPUコア201は、認証エンジン203、暗合エンジン205およびセンサ部213に対して、処理の開始要請や、処理結果の問い合わせなどといった、間接的な処理のみが許可される。他方、認証エンジン203、暗合エンジン205およびセンサ部213は、生体認証処理で利用されるデータを、第2バス223を介して伝送するように設定されている。
【0103】
これにより、CPUコア201は、生体情報、テンプレート、認証処理の過程において生成される中間データ等が伝送される第2バス223から独立して存在することとなり、CPUコア201は、これらのデータに直接関与することができない。その結果、本実施形態に係る生体認証装置20では、生体認証装置20というセキュアな領域からなる装置の内部に、第2バス223によって相互に連結された、よりセキュアな領域が存在することとなる。
【0104】
その結果、本実施形態に係る生体認証装置20では、CPUコア201の動作を制御するプログラムの不具合や、悪意を持ったプログラムの改変などが生じたとしても、CPUコア201は秘匿すべきデータにアクセスできない。その結果、秘匿すべきデータは、外部に漏洩することなくセキュアに生体認証装置20内に保持される。
【0105】
また、本実施形態に係る生体認証装置20では、暗合エンジン205が、第1バス215および第2バス223の双方に連結されているため、第1バス215と第2バス223との間で、暗号化された生体情報に関するデータのやりとりを行うことが可能となる。その結果、先に説明したように、生体認証装置20の外部に設けられた装置との間で、暗号化された生体情報に関するデータのやりとりを安全に実現することが可能となる。
【0106】
以上、本実施形態に係る生体認証装置20の機能を実現可能なハードウェア構成の一例を示した。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【0107】
続いて、本実施形態に係る生体認証装置20で実施される各種の処理について、装置内で伝送されるデータの流れに着目しながら詳細に説明する。
【0108】
<テンプレートの登録処理について>
まず、図6を参照しながら、本実施形態に係る生体認証装置20で実施されるテンプレートの登録処理について、詳細に説明する。図6は、本実施形態に係るテンプレートの登録処理について説明するための説明図である。図6では、装置内で伝送されるデータの流れを、点線で示している。
【0109】
テンプレートの登録処理を行う場合、生体認証装置20のCPUコア201は、まず、センサ部213に対して、第1バス215を介して生体撮像データの生成要請を伝送する(ステップS201)。センサ部213は、CPUコア201から伝送された生成要請を受けて、生体撮像データの生成を開始し、生成した生体撮像データIを、第2バス223を介して認証エンジン203に伝送する(ステップS203)。ここで、センサ部213は、生体撮像データIを生成する際に、何らかの中間データを生成して記録する場合には、第2バス223を介して、第2揮発性メモリ219に対して生成した中間データを格納する。
【0110】
認証エンジン203は、センサ部213から生体撮像データIが伝送されると、生体撮像データIに対して所定の処理を施して、生体撮像データIから生体情報を抽出し、テンプレートTとする。ここで、抽出された生体情報には、生体における指紋、静脈、虹彩等のパターンに関する情報だけでなく、これらのパターンに関連する特徴量に関する情報等が含まれていても良い。また、認証エンジン203は、生体情報を抽出する際に生成される何らかの中間データを記録する場合には、第2バス223を介して、第2揮発性メモリ219に対して生成した中間データを格納する。認証エンジン203は、生成したテンプレートTを、第2バス223を介して第2不揮発性メモリ221に格納する(ステップS205)。これにより、生体認証装置20の第2不揮発性メモリ221に対して、テンプレートの登録が行われることとなる。
【0111】
図6に示したように、本実施形態に係る生体認証装置20では、生体撮像データIおよびテンプレートTといった秘匿すべきデータが第2バス223を介して伝送され、CPUコア201が参照可能な第1バス215へは伝送されることがない。従って、本実施形態に係る生体認証装置20では、より安全にテンプレートの登録処理を実行することができる。
【0112】
なお、本実施形態に係る生体認証装置20において、テンプレートTは、暗号化された状態で第2不揮発性メモリ221に格納されていてもよい。この場合、認証エンジン203により生成されたテンプレートTは、第2バス223を介して第2揮発性メモリ219に一旦格納され、暗合エンジン205は、第2バス223を介して第2揮発性メモリ219から暗号化されていないテンプレートを取得する。暗合エンジン205は、取得したテンプレートを暗号化したうえで、第2バス223を介して第2不揮発性メモリ221に伝送する。
【0113】
<生体情報の認証処理について>
次に、図7を参照しながら、本実施形態に係る生体認証装置20で実施される生体情報の認証処理について、詳細に説明する。図7は、本実施形態に係る生体情報の認証処理について説明するための説明図である。図7では、装置内で伝送されるデータの流れを、点線で示している。
【0114】
生体情報の認証処理を行う場合、生体認証装置20のCPUコア201は、まず、センサ部213に対して、第1バス215を介して生体撮像データの生成要請を伝送する(ステップS221)。センサ部213は、CPUコア201から伝送された生成要請を受けて、生体撮像データの生成を開始し、生成した生体撮像データを、第2バス223を介して認証エンジン203に伝送する(ステップS223)。ここで、センサ部213は、生体撮像データを生成する際に、何らかの中間データを生成して記録する場合には、第2バス223を介して、第2揮発性メモリ219に対して生成した中間データを格納する。
【0115】
認証エンジン203は、センサ部213から生体撮像データIが伝送されると、生体撮像データIに対して所定の処理を施して、生体撮像データIから生体情報Bを抽出する。ここで、抽出された生体情報Bには、生体における指紋、静脈、虹彩等のパターンに関する情報だけでなく、これらのパターンに関連する特徴量に関する情報等が含まれていても良い。認証エンジン203は、抽出した生体情報Bを、第2バス223を介して第2揮発性メモリ219に格納する(ステップS225)。
【0116】
続いて、認証エンジン203は、第2揮発性メモリ219から第2バス223を介して生体情報Bを取得するとともに、第2不揮発性メモリ221から第2バス223を介してテンプレートTを取得する(ステップS227)。認証エンジン203は、取得した生体情報BおよびテンプレートTに基づいて、生体情報Bの認証処理を実行する。具体的には、認証エンジン203は、生体情報BとテンプレートTとの類似度を算出し、生体情報BがテンプレートTと類似していると判断できる際に、生体情報Bの認証に成功したと判断する。
【0117】
算出する類似度の例として、生体情報BとテンプレートTとの相互相関値、生体情報BとテンプレートTとの差分絶対値和、生体情報BとテンプレートTとの差分二乗和等を挙げることができる。類似度として相互相関値を算出する場合には、認証エンジン203は、算出した相互相関値が所定の閾値以上であった場合に、両者が類似していると判断する。また、類似度として差分絶対値和または差分二乗和を算出する場合には、認証エンジン203は、算出したこれらの値が所定の閾値以下であった場合に、両者が類似していると判断する。
【0118】
認証エンジン203は、生体情報Bに関する認証結果が確定すると、認証結果に関する情報を、第1バス215を介してCPUコア201に伝送する(ステップS229)。CPUコア201は、伝送された認証結果に関する情報を参照して、所定の装置に対して認証結果に関する情報を通知する。このような手順により、生体認証装置20では、ユーザに対する生体認証処理が行われる。
【0119】
図7に示したように、本実施形態に係る生体認証装置20では、生体撮像データI、生体情報BおよびテンプレートTといった秘匿すべきデータは、第2バス223を介して伝送され、第1バス215へは伝送されることはない。また、CPUコア201が参照可能な第1バス215へは、認証結果に関する情報のみが伝送される。従って、本実施形態に係る生体認証装置20では、より安全に生体情報の認証処理を実行することができる。
【0120】
なお、第2不揮発性メモリ221に格納されているテンプレートが暗号化されている場合には、認証エンジン203による生体認証処理に先立って、暗合エンジン205によるテンプレートの復号処理が行われる。
【0121】
<テンプレートの暗号化と外部への送信処理について>
次に、図8を参照しながら、本実施形態に係る生体認証装置20で実施されるテンプレートの暗号化と外部への送信処理について、詳細に説明する。図8は、本実施形態に係るテンプレートの暗号化と外部への送信処理について説明するための説明図である。図8では、装置内で伝送されるデータの流れを、点線で示している。
【0122】
ユーザ操作等によりテンプレートの暗号化処理が指定され、暗号化されたテンプレートを外部の装置へと送信する場合には、以下のような流れで処理が行われる。
【0123】
生体認証装置20のCPUコア201は、まず、暗合エンジン205に対して、第1バス215を介してテンプレートの暗号化要請を伝送する(ステップS241)。暗合エンジン205は、CPUコア201から伝送された暗号化要請を受けて、テンプレートの暗号化を開始する。暗合エンジン205は、第2バス223を介して第2不揮発性メモリ221から、生体情報用暗号鍵とテンプレートTとを取得する(ステップS243)。
【0124】
暗合エンジン205は、取得したテンプレートTを、生体情報用暗号鍵を用いて暗号化し、暗号化テンプレートCTとする。暗合エンジン205は、生成した暗号化テンプレートCTを、第1バス215を介して第1揮発性メモリ209に格納し(ステップS245)、CPUコア201に暗号化テンプレートCTを生成した旨を通知する。CPUコア201は、暗号化テンプレートCTの生成完了の通知を受けて、第1バス215を介して第1揮発性メモリ209から暗号化テンプレートCTを取得し、外部装置5に送信する(ステップS247)。
【0125】
なお、暗号化テンプレートCTを外部装置5に送信した段階で、第1揮発性メモリ209に格納されている暗号化テンプレートCTは不要となるため、CPUコア201は、第1揮発性メモリ209に格納されている暗号化テンプレートCTを消去してもよい。
【0126】
以上説明したように、暗号化されていないテンプレートは、第2バス223側のよりセキュアな領域にのみ存在しており、第1バス215側には、暗号化されており、復号処理を経ないと内容を理解することができないテンプレートのみが存在している。これにより、秘匿すべき情報であるテンプレートを生体認証装置20の外部に送信する場合であっても、暗号エンジン205が第2バス223側で暗号化処理を行うことで、暗号化されていないテンプレートが外部に漏洩してしまうことを防止することができる。
【0127】
<暗号化テンプレートの受信と復号処理について>
次に、図9を参照しながら、本実施形態に係る生体認証装置20で実施される暗号化テンプレートの受信と復号処理について、詳細に説明する。図9は、本実施形態に係る暗号化テンプレートの受信と復号処理について説明するための説明図である。図9では、装置内で伝送されるデータの流れを、点線で示している。
【0128】
ユーザ操作等により外部に設けられた装置からテンプレートを受信するよう指定され、外部の装置から暗号化されたテンプレートを受信する場合には、以下のような流れで処理が行われる。
【0129】
生体認証装置20のCPUコア201は、まず、外部に設けられた外部装置5に対して、暗号化されたテンプレートを送信するよう要請する(ステップS261)。このテンプレートの送信要請に応じて外部装置5から暗号化されたテンプレートCTが送信されると、CPUコア201は、受信した暗号化テンプレートCTを、第1バス215を介して、第1揮発性メモリ209に格納する(ステップS263)。また、CPUコア201は、暗号エンジン205に対して、受信した暗号化テンプレートCTの復号処理の開始を要請する(ステップS265)。
【0130】
暗号エンジン205は、CPUコア201からの復号処理の開始要請を受けて、第1揮発性メモリ209から、暗号化テンプレートCTを取得する(ステップS267)。続いて、暗号エンジン205は、第2バス223を介して、第2不揮発性メモリ221から、生体情報用暗号鍵を取得し(ステップS269)、暗号化テンプレートCTの復号処理を開始する。
【0131】
暗号エンジン205は、復号処理が終了し、暗号化されていないテンプレートTが生成されると、得られたテンプレートTを、第2バス223を介して、第2揮発性メモリ219に格納する(ステップS271)。なお、暗号化テンプレートCTを復号した段階で、第1揮発性メモリ209に格納されている暗号化テンプレートCTは不要となるため、CPUコア201は、第1揮発性メモリ209に格納されている暗号化テンプレートCTを消去してもよい。
【0132】
次に、暗号エンジン205または認証エンジン203は、第1揮発性メモリ219に格納されているテンプレートTを第2不揮発性メモリ221に格納し、生体認証装置20における生体認証処理で利用されるテンプレートTとして、このテンプレートTを秘匿する。なお、テンプレートTが第2不揮発性メモリ221に格納された段階で、第2揮発性メモリ219に格納されているテンプレートTは不要となるため、第2揮発性メモリ219に格納されているテンプレートTは、削除されてもよい。
【0133】
以上説明したように、暗号化されていないテンプレートは、第2バス223側のよりセキュアな領域にのみ存在しており、第1バス215側には、暗号化されており、復号処理を経ないと内容を理解することができないテンプレートのみが存在している。これにより、秘匿すべき情報であるテンプレートを生体認証装置20の外部から受信する場合であっても、暗号エンジン205が第2バス223側で復号処理を行うことで、暗号化されていないテンプレートが外部に漏洩してしまうことを防止することができる。
【0134】
(まとめ)
以上説明したように、本発明の実施形態に係る生体認証装置では、生体認証装置内に、CPUコアが連結されている第1バスと、CPUコアが直接アクセスすることができない第2バスとを設けることで、装置内によりセキュアな領域を確立する。生体認証処理に用いられる生体情報やテンプレートなど秘匿すべき情報は、第2バス側のよりセキュアな領域内で保持されるため、外部からの攻撃やプログラム等の不具合によりCPUコアに誤動作が生じたとしても、秘匿すべき情報は外部に漏洩することはない。これにより、本発明の実施形態に係る生体認証装置では、生体認証に関する秘匿すべき情報をより安全に保持することができる。
【0135】
また、暗号化処理および復号処理に特化した暗号エンジンを第1バスと第2バスの双方に連結し、第2メモリを利用してテンプレートの暗号化処理や復号処理を行うことにより、テンプレートをより安全に暗号化したり復号したりすることが可能となる。その結果、本来秘匿すべき情報であるテンプレートを暗号化して生体認証装置の外部に送信したり、外部から受信した暗号化テンプレートを復号して、テンプレートとして保持したりすることが可能となる。従来では、新たな生体認証装置を購入したユーザは、新たな生体認証装置において再度テンプレートの登録処理を行わなければならなかった。しかしながら、上述のような暗号化テンプレートの送受信が可能となることで、従来使用していた生体認証装置から新たに購入した生体認証装置へと、暗号化されたテンプレートを安全に移動させることが可能となり、ユーザの利便性を向上させることができる。
【0136】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0137】
10,20 生体認証装置
101,201 CPUコア
103,203 認証エンジン
105,207 第1メモリ
107,209 第1揮発性メモリ
109,211 第1不揮発性メモリ
111,213 センサ部
113,215 第1バス
115,217 第2メモリ
117,219 第2揮発性メモリ
119,221 第2不揮発性メモリ
121,223 第2バス
151,205 暗号エンジン


【特許請求の範囲】
【請求項1】
汎用的な演算処理及び/又は制御処理を行うCPUコアと、
生体の少なくとも一部を撮像することで生成される信号に基づき、撮像した生体の画像に対応する生体撮像データを生成するセンサ部と、
前記生体撮像データから前記生体に固有な情報である生体情報を抽出し、当該生体情報の認証に関する処理を行う認証エンジンと、
前記CPUコア、前記センサ部および前記認証エンジンの少なくともいずれかが行う処理により生成されたデータを格納する第1メモリおよび第2メモリと、
前記CPUコア、前記センサ部、前記認証エンジンおよび前記第1メモリを相互に連結する第1バスと、
前記センサ部、前記認証エンジンおよび前記第2メモリを相互に連結する第2バスと、
を備える、生体認証装置。
【請求項2】
前記認証エンジンが行う処理により生成された前記生体情報に関するデータは、前記第2バスを介して前記第2メモリに格納される、請求項1に記載の生体認証装置。
【請求項3】
前記情報処理装置は、所定の方式に則ってデータを暗号化または復号する暗号エンジンを更に備え、
前記暗号エンジンは、前記第1バスに連結されている、請求項2に記載の生体認証装置。
【請求項4】
前記暗号エンジンは、更に前記第2バスに連結されており、
前記暗号エンジンが前記生体情報に関するデータに対して暗号化または復号処理を行う場合、前記暗号化または復号処理により生成されるデータは、前記第2バスを介して前記第2メモリに格納される、請求項3に記載の生体認証装置。
【請求項5】
前記第2メモリは、第2揮発性メモリと第2不揮発性メモリとから構成されており、
前記生体情報に関するデータに対して暗号化または復号処理を行う場合に利用される生体情報用暗号鍵は、前記第2不揮発性メモリに格納される、請求項4に記載の生体認証装置。
【請求項6】
前記暗号エンジンは、前記第2バスを介して取得した前記テンプレートを、前記第2バスを介して取得した前記生体情報用暗号鍵で暗号化して暗号化テンプレートとし、前記暗号化テンプレートを、前記第1バスを介して前記第1メモリに格納し、
前記CPUコアは、前記第1メモリに格納されている前記暗号化テンプレートを、外部に設けられた他の情報処理装置に対して送信する、請求項5に記載の生体認証装置。
【請求項7】
前記CPUコアは、外部に設けられた他の情報処理装置から取得した、暗号化されたテンプレートである暗号化テンプレートを、前記第1バスを介して前記第1メモリに格納し、
前記暗号エンジンは、前記第1バスを介して取得した前記暗号化テンプレートを、前記第2バスを介して前記第2不揮発性メモリから取得した前記生体情報用暗号鍵で復号し、復号されたテンプレートを、前記第2バスを介して前記第2不揮発性メモリに格納する、請求項5に記載の生体認証装置。
【請求項8】
前記第2メモリは、第2揮発性メモリと第2不揮発性メモリとから構成されており、
前記認証エンジンは、前記生体撮像データに基づいて、認証処理の際に基準となる生体情報であるテンプレートを生成し、前記第2バスを介して前記テンプレートを前記前記第2不揮発性メモリに格納する、請求項2に記載の生体認証装置。
【請求項9】
前記センサ部により生成された前記生体撮像データは、前記第2バスを介して前記第2メモリに格納される、請求項1に記載の生体認証装置。
【請求項10】
汎用的な演算処理及び/又は制御処理を行うCPUコアと、生体の少なくとも一部を撮像することで生成される信号に基づき、撮像した生体の画像に対応する生体撮像データを生成するセンサ部と、前記生体撮像データから前記生体に固有な情報である生体情報を抽出し、当該生体情報の認証に関する処理を行う認証エンジンと、前記CPUコア、前記センサ部および前記認証エンジンの少なくともいずれかが行う処理により生成されたデータを格納する第1メモリおよび第2メモリと、前記CPUコア、前記センサ部、前記認証エンジンおよび前記第1メモリを相互に連結する第1バスと、前記センサ部、前記認証エンジンおよび前記第2メモリを相互に連結する第2バスと、を備える生体認証装置における前記センサ部が、前記生体撮像データを生成し、前記第2バスを介して前記認証エンジンに前記生体撮像データを伝送するステップと、
前記認証エンジンが前記生体撮像データから前記生体情報を抽出し、当該生体情報の認証を行うステップと、
前記認証エンジンが、前記生体情報に関する認証結果を、前記第1バスを介して前記CPUコアに伝送するステップと、
を含む、生体認証方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−35739(P2011−35739A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−180994(P2009−180994)
【出願日】平成21年8月3日(2009.8.3)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】