(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-27
(45)【発行日】2022-06-06
(54)【発明の名称】ICカード、およびICカードの制御方法
(51)【国際特許分類】
G06F 21/32 20130101AFI20220530BHJP
G06T 7/00 20170101ALI20220530BHJP
G06K 19/07 20060101ALI20220530BHJP
G06K 19/073 20060101ALI20220530BHJP
G06K 19/077 20060101ALI20220530BHJP
【FI】
G06F21/32
G06T7/00 530
G06K19/07 180
G06K19/073 054
G06K19/077 188
(21)【出願番号】P 2018153535
(22)【出願日】2018-08-17
【審査請求日】2021-07-09
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】澤村 聡視
【審査官】平井 誠
(56)【参考文献】
【文献】特開2012-155664(JP,A)
【文献】特開2004-078791(JP,A)
【文献】特開2018-045330(JP,A)
【文献】特開2009-110132(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/32
G06T 7/00
G06K 19/07
G06K 19/073
G06K 19/077
(57)【特許請求の範囲】
【請求項1】
端末装置と通信する通信部と、
利用者の生体情報を取得する取得部と、
前記通信部により前記端末装置からコマンドが受信された場合、前記取得部により取得された生体情報と、当該生体情報と照合することにより本人認証が可能となる複数の生体認証用情報のそれぞれとを照合し、前記生体情報と前記生体認証用情報とが合致したマッチング成功数を導出し、前記マッチング成功数が閾値以上となった場合に本人であると認証する照合部と、
前記照合部により本人であると認証された場合には前記閾値を下げ、前記照合部により本人であると認証されない場合には前記閾値を上げる閾値見直し処理部と、
を備えるICカード。
【請求項2】
前記閾値見直し処理部は、
前記照合部により本人であると認証された場合には、前記閾値を段階的に下げ、
前記照合部により本人であると認証されない場合には、前記閾値を上限値に戻す、
請求項1に記載のICカード。
【請求項3】
前記閾値見直し処理部は、
前記照合部により本人であると認証された場合には、前記閾値を段階的に下げ、
前記照合部により本人であると認証されない場合には、前記閾値を段階的に上げる、
請求項1に記載のICカード。
【請求項4】
前記閾値見直し処理部は、
前記照合部により本人であると認証された場合であって、且つ、前記閾値が下限値である場合、前記閾値を下げない、
請求項1から3のうちいずれか一項に記載のICカード。
【請求項5】
前記閾値見直し処理部は、
前記照合部による処理が終了した後の前記マッチング成功数に基づいて、前記閾値の下げ幅あるいは前記閾値の上げ幅を決定する、
請求項1から4のうちいずれか一項に記載のICカード。
【請求項6】
前記閾値見直し処理部は、
前記マッチング成功数が高いほど前記閾値の下げ幅が大きく、前記マッチング成功数が小さいほど前記閾値の上げ幅を大きくする、
請求項5に記載のICカード。
【請求項7】
端末装置と通信する通信部と、利用者の生体情報を取得する取得部と、を備えるICカードの処理部が、
前記通信部により前記端末装置からコマンドが受信された場合、前記取得部により取得された生体情報と、当該生体情報と照合することにより本人認証が可能となる複数の生体認証用情報のそれぞれとを照合し、前記生体情報と前記生体認証用情報とが合致したマッチング成功数を導出し、前記マッチング成功数が閾値以上となった場合に本人であると認証し、
本人であると認証された場合には前記閾値を下げ、
本人であると認証されない場合には前記閾値を上げる、
ICカードの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ICカード、およびICカードの制御方法に関する。
【背景技術】
【0002】
近年、ICカードを利用する利用者の生体情報を使って本人認証を実施する機能を有するICカードが普及し始めている。生体情報とは、例えば、指の指紋や静脈、目の虹彩などの情報である。これらの生体情報は、予めICカードに埋設されたIC(Integrated Circuit)チップに記憶される。しかしながら、ICカードに用いられるICチップは一般に処理能力があまり大きくないため、生体情報を用いた認証には時間がかかり、利便性が悪くなる場合があった。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平08-096135号公報
【文献】特開2003-248661号公報
【文献】特開2002-183734号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、生体情報を用いた認証の時間を短縮することができるICカード、およびICカードの制御方法を提供することである。
【課題を解決するための手段】
【0005】
実施形態のICカードは、通信部と、取得部と、照合部と、閾値見直し処理部とを持つ。通信部は、端末装置と通信する。取得部は、利用者の生体情報を取得する。照合部は、前記通信部により前記端末装置からコマンドが受信された場合、前記取得部により取得された生体情報と、当該生体情報と照合することにより本人認証が可能となる複数の生体認証用情報のそれぞれとを照合し、前記生体情報と前記生体認証用情報とが合致したマッチング成功数を導出し、前記マッチング成功数が閾値以上となった場合に本人であると認証する。閾値見直し処理部は、前記照合部により本人であると認証された場合には前記閾値を下げ、前記照合部により本人であると認証されない場合には前記閾値を上げる。
【図面の簡単な説明】
【0006】
【
図1】実施形態におけるICカード1の概略構成図。
【
図2】実施形態におけるICカード1のハードウェア構成図。
【
図3】実施形態におけるICカード1の機能構成図。
【
図4】端末装置100およびICカード1によって実行される処理の一例を示すシーケンス図。
【
図5】処理部30(ICチップ20および照合プロセッサ60)により実行される処理の流れの概略を示すフローチャート。
【
図6】生体情報照合部32による生体認証処理の一例を示すフローチャート。
【
図7】閾値見直し処理部36による閾値見直し処理の一例を示すフローチャート。
【
図8】端末装置100およびICカード1によって実行される処理の他の例を示すシーケンス図。
【
図9】生体情報照合部32による生体認証処理の一例を示すフローチャート。
【発明を実施するための形態】
【0007】
以下、実施形態のICカード、およびICカードの制御方法を、図面を参照して説明する。なお、以下の説明では、実施形態のICカードは接触型のICカードであるものとして説明するが、非接触型のICカードであっても構わない。
【0008】
(第1の実施形態)
図1は、実施形態におけるICカード1の概略構成図である。ICカード1は、例えば、プラスチックのカード基材PT(カード本体の一例)に、ICモジュール10を実装して形成されている。すなわち、ICカード1は、ICモジュール10と、指紋センサ50と、照合プロセッサ(図では照合Pr)60と、これらが埋め込まれたカード基材PTとを備える。また、ICカード1は、コンタクト部15を介して外部の端末装置100と通信可能である。
【0009】
照合プロセッサ60は、指紋センサ50により取得された利用者の指紋情報を、ICモジュール10内に保持された生体認証用情報と比較することで、利用者の認証を行い、認証結果をICモジュール10に出力する。指紋センサ50は、生体情報を取得する「取得部」の一例であり、指紋情報は「生体情報」の一例である。生体情報は、指紋情報ではなく、静脈パターン情報、虹彩情報、声紋情報、DNA情報などであってもよい。なお、照合プロセッサ60がICモジュール10の外部に設けられているのは、あくまで一例であり、照合プロセッサ60に相当する機能をICモジュール10が備えてもよい。
【0010】
ICカード1は、例えば、端末装置100により送信されたコマンド(処理要求)を、コンタクト部15を介して受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。そして、ICカード1は、コマンド処理の実行結果であるレスポンス(処理応答)を端末装置100にコンタクト部15を介して送信する。端末装置100は、ICカード1と通信する装置であり、例えば、リーダ/ライタ装置を含む装置である。
【0011】
ICモジュール10は、コンタクト部15と、ICチップ20とを備える。ICモジュール10は、例えば、テープ上にICモジュール10が複数配置されたCOT(Chip On Tape)などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のICモジュール10をCOTという場合がある。
【0012】
コンタクト部15は、ICカード1が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを端末装置100から供給される端子、及び、端末装置100と通信するためのシリアルデ―タ入出力端子(SIO端子)を含む。
【0013】
ICチップ20は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
【0014】
図2は、実施形態におけるICカード1のハードウェア構成図である。
図2に示すように、ICカード1は、コンタクト部15と、ICチップ20とを備えたICモジュール10を備えている。そして、ICチップ20は、UART(Universal Asynchronous Receiver Transmitter)24と、CPU25と、ROM(Read Only Memory)26と、RAM(Random Access Memory)27と、EEPROM(Electrically Erasable Programmable ROM)28とを備える。これらの構成要素は、内部バスBS1を介して接続されている。
【0015】
UART24は、上述したSIO端子を介して、端末装置100とシリアルデータ通信を行う。UART24は、SIO端子を介して受信したシリアルデータ信号をパラレル変換したデータ(例えば、1バイトのデータ)を内部バスBS1に出力する。また、UART24は、内部バスBS1を介して取得したデータをシリアル変換して、SIO端子を介して端末装置100に出力する。UART24は、例えば、SIO端子を介してコマンドを端末装置100から受信する。また、UART24は、SIO端子を介してレスポンスを端末装置100に送信する。UART24は、「通信部」の一例である。
【0016】
CPU25は、ROM26又はEEPROM28に記憶されているプログラムを実行して、ICカード1の各種処理を行う。CPU25は、例えば、コンタクト部15を介して、UART24が受信したコマンドに応じたコマンド処理を実行する。
【0017】
ROM26は、例えば、マスクROMなどの不揮発性メモリである。ROM26は、ICカード1の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
【0018】
RAM27は、例えば、SRAM(Static RAM)などの揮発性メモリである。RAM27は、ICカード1の各種処理を行う際に利用されるデータを一時記憶する。
【0019】
EEPROM28は、例えば、電気的に書き換え可能な不揮発性メモリである。EEPROM28は、ICカード1が利用する各種データを記憶する。EEPROM28は、例えば、ICカード1を利用した各種サービス(アプリケーション)に使用される情報を記憶する。
【0020】
更に、内部バスBS1には、照合プロセッサ60が接続されている。照合プロセッサ60は、例えば、CPUとプログラムメモリとを含む。照合プロセッサ60は、専用線などで指紋センサ50と接続され、指紋センサ50が指紋情報を取得可能な状態(通電状態)であるか否かを検知することができる。例えば、指紋センサ50上に利用者の指が触れ、指紋センサ50が通電した場合に、照合プロセッサ60は、指紋センサ50が指紋情報を取得可能な状態であると判定し、その後上記CPUとメモリを利用して所望の情報処理を施す。指紋センサ50は、現状、静電容量型、感熱型、光学型などがあるが、いずれにしても、利用者の指紋情報を取得する。
【0021】
図3は、実施形態におけるICカード1の機能構成図である。ICカード1は、例えば、上述したUART24および指紋センサ50と、処理部30と、記憶部40とを備える。処理部30は、例えば、生体情報照合部32と、コマンド処理部34と、閾値見直し処理部36とを備える。
【0022】
コマンド処理部34は、例えば、CPU25がプログラム42を実行することで実現される。また、生体情報照合部32および閾値見直し処理部36は、例えば、照合プロセッサ60がプログラム42を実行することで実現される。記憶部40は、例えば、EEPROM28や照合プロセッサに付随するプログラムメモリにより実現される。記憶部40には、予め、複数の生体認証用情報41と、プログラム42と、共通鍵43と、マッチング閾値44と、認証閾値45と、カウント値46とが記憶される。
【0023】
複数の生体認証用情報41の其々は、親指、人差し指、中指、薬指、小指といったように、ICカード1の持ち主である利用者の身体の異なる部位から抽出された種々の情報を含む。各生体認証用情報41は、指紋センサ50により取得された指紋情報との照合対象となる情報であり、指紋情報と照合することにより本人認証が可能となる情報である。各生体認証用情報41は、例えば、指紋の形状パターンを幾何情報にした情報、何らかの特徴量に変換した情報、或いはこれらの組み合わせなどである。実施形態において、複数の生体認証用情報41は、一つの指に対して複数の指紋パターン(例えば、指紋パターンP1~P10)を含む。複数の指紋パターンは、一つの指に対して少しずつ位置がずれている複数の指紋パターンを含む。なお、これに限られず、複数の指紋パターンは、異なる複数の指の指紋パターンを含むものであってもよい。
【0024】
マッチング閾値44は、指紋情報と生体認証用情報とのマッチング(照合)処理において、生体情報照合部32により参照されるマッチング閾値Mを含む。認証閾値45は、マッチング処理の結果に基づく本人認証処理において、生体情報照合部32により参照される認証閾値th1を含む。また認証閾値45は、認証閾値th1に対する下限値th0と上限値th2とを含む。例えば、認証閾値th1は変動値であり、下限値th0と上限値th2とは固定値である。
【0025】
カウント値46は、マッチング処理においてカウントされた値を含む。カウント値46は、例えば、マッチング処理において指紋情報とのマッチングに成功した生体認証用情報の数(以下、マッチング成功数と記す)や、一つの指紋情報に対してマッチング処理を実行した回数(以下、マッチング処理回数と記す)を含む。
【0026】
生体情報照合部32は、指紋センサ50によって取得された指紋情報と、記憶部40に予め記憶された複数の生体認証用情報41の其々とを照合し、指紋情報と生体認証用情報とが合致した数(マッチング成功数)を導出する。例えば、取得された親指の指紋情報と、生体認証用情報41に含まれる親指の複数の指紋パターンとを照合する。「合致する」とは、例えば、情報の一致程度を示すマッチングスコアがマッチング閾値M以上であることを意味する。
【0027】
生体情報照合部32は、導出したマッチング成功数が認証閾値th1以上となった場合、本人であると認証する。一方、全ての生体認証用情報41と指紋情報とを照合してもマッチング成功数が認証閾値th1未満である場合、生体情報照合部32は、本人であると認証しない。本人認証が成功すると、生体情報照合部32は、記憶部40におけるセキュアな領域へのアクセスを許可し、所定の処理を実行可能な状態とする。
【0028】
コマンド処理部34は、端末装置100により送信されたコマンド(処理要求)に応じて、各種コマンドの処理(コマンド処理)を実行する。また、コマンド処理部34は、コマンド処理の結果であるレスポンスを、UART24を介して端末装置100に送信する。コマンド処理部34は、照合の成功(本人認証の成功)を条件とするコマンド処理に関しては、生体情報照合部32からの認証成功通知がなされた場合に(すなわち記憶部40におけるセキュアな領域へのアクセスが許可された場合に)、処理を先に進める。
【0029】
閾値見直し処理部36は、生体情報照合部32により本人であると認証された場合には認証閾値th1を下げる。一方、生体情報照合部32により本人であると認証されない場合、閾値見直し処理部36は、認証閾値th1を上げる。こうすることにより、前回本人であると認証された場合には、認証閾値th1が徐々に下がるため、次回の本人認証に係る時間を短縮することができる。
【0030】
例えば、閾値見直し処理部36は、本人であると認証された場合には、認証閾値th1を段階的に下げ、本人であると認証されない場合には、認証閾値th1を上限値に戻す。こうすることにより、本人であるとの認証が続いた場合には、認証閾値th1が徐々に下がるため、本人認証に係る時間を短縮することができる。また、本人でない者が認証した場合、認証閾値th1が上限値まで戻ることで、本人認証の精度を確保し、本人以外を誤って認証してしまうことを防止することができる。
【0031】
具体的に説明すると、認証閾値th1ははじめ、上限値th2に設定されている。本人であると認証された場合、閾値見直し処理部36は、記憶部40に格納されている認証閾値th1を、「上限値th2-1」に変更する。連続して本人であると認証された場合、認証閾値th1は徐々に下限値th0に近づく。認証閾値th1=下限値th0となった場合、本人であると認証された場合であっても、閾値見直し処理部36は、認証閾値th1を変更しない。こうすることにより、認証閾値th1は下限値th0未満にはならない。一方、本人であると認証されない場合、閾値見直し処理部36は、記憶部40に格納されている認証閾値th1を上限値th2に変更する。
【0032】
なお、下限値th0は、PIN入力の総当たりで成功する可能性(0.01%)よりも高い値である。
【0033】
次に、端末装置とICカード間のシーケンシャル処理について説明する。
図4は、端末装置100およびICカード1によって実行される処理の一例を示すシーケンス図である。本シーケンスの処理では、記憶部40に10種類の生体認証用情報である指紋パターンP1~P10が記憶されており、これらの指紋パターンP1~P10を使用して生体認証処理を行う。また、本シーケンス処理では、コマンド処理部34を実現するICチップ20と、生体情報照合部32と閾値見直し処理部36とを実現する照合プロセッサ60とを動作の主体として説明する。そのため、ICチップ20はコマンド処理部34、照合プロセッサ60は生体情報照合部32や閾値見直し処理部36と読み替えてよい。
【0034】
まず、端末装置100は、ICカード1のICチップ20に対して、本人認証を要求するコマンドを送信する(ステップS1)。
【0035】
次に、ICチップ20(コマンド処理部34)は、照合プロセッサ60との間で相互認証を行うために、予め記憶部40に記憶された共通鍵43と所定の規則により生成した乱数とに基づいて、一時的なセッション鍵を生成しておく(ステップS3)。相互認証処理の詳細については、後述する。
【0036】
次に、ICチップ20は、記憶部40に記憶された指紋パターンP1~P10を読み出し、これらの指紋パターンP1~P10をセッション鍵で暗号化し、暗号化した指紋パターンP1~P10と、生成した乱数とを照合プロセッサ60に送信する(ステップS5)。
【0037】
これを受けて、照合プロセッサ60(生体情報照合部32)は、指紋センサ50に対して、指紋情報の送信を要求するリクエスト情報を送信する(ステップS7)。
【0038】
これを受けて、指紋センサ50は、指紋情報F1を取得し(ステップS9)、予め決められたデータフォーマットと送信周期で指紋情報F1を照合プロセッサ60に送信する(ステップS11)。
【0039】
次に、照合プロセッサ60は、ICチップ20から受信した乱数と記憶部40に記憶された共通鍵43とを基にセッション鍵を生成し、このセッション鍵を用いて、暗号化された指紋パターンP1~P10を復号する。そして、照合プロセッサ60は、復号した指紋パターンP1~P10の其々と、指紋センサ50により取得された指紋情報F1とを照合するなどして、生体認証処理を実行する(ステップS13)。そして、照合プロセッサ60は、生体認証処理の結果に基づいて、閾値見直し処理を実行する(ステップS15)。
【0040】
次いで、照合プロセッサ60は、生体認証処理の結果を、生成したセッション鍵を用いて暗号化し、暗号化した各照合結果をICチップ20に送信する(ステップS17)。
【0041】
ICチップ20は、指紋パターンP1~P10を暗号化したときに使用したセッション鍵を用いて、照合プロセッサ60により送信された各照合結果を復号し、この復号した各照合結果を基に、S1の処理で受信したコマンドに対応するコマンド処理を実行する。そして、ICチップ20は、そのコマンド処理の結果であるレスポンスを、UART24を介して端末装置100に送信する(ステップS19)。
【0042】
次に、ICカードによる処理フローについて説明する。
図5は、処理部30(ICチップ20および照合プロセッサ60)により実行される処理の流れの概略を示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で繰り返し行われる。
【0043】
まず、処理部30は、UART24により端末装置100からコマンドが受信されるまで待機し(ステップS101)、端末装置100からコマンドが受信されると、ICチップ20と照合プロセッサ60との間で相互認証処理を行う(ステップS103)。相互認証とは、ICチップ20と照合プロセッサ60との双方が互いに相手の正当性を認証することであり、例えば、送信側が暗号化した情報を受信側が復号できたときに双方の正当性が認証される。
【0044】
例えば、ICチップ20により実現されるコマンド処理部34は、相互認証処理として、予め記憶部40に記憶された共通鍵43と所定の規則により生成した乱数とに基づいて、一時的なセッション鍵を生成し、このセッション鍵を用いて、送信する情報を暗号化する。例えば、コマンド処理部34は、共通鍵43と乱数との排他的論理和をとった情報をセッション鍵として使用する。そして、コマンド処理部34は、暗号化した情報と、生成した乱数とを照合プロセッサ60に送信する。セッション鍵は、「公開鍵」の一例である。
【0045】
照合プロセッサ60により実現される生体情報照合部32は、記憶部40に記憶された共通鍵43と、コマンド処理部34により送信された乱数とに基づいてセッション鍵を生成し、このセッション鍵を用いて、コマンド処理部34により暗号化された情報を復号する。例えば、生体情報照合部32は、暗号化された情報とセッション鍵との排他的論理和をとった情報を、暗号化される前の情報とする。
【0046】
以下、処理部30は、このような相互認証処理を行いながらフローチャートに示す処理を行う。すなわち、処理部30を実現するICチップ20および照合プロセッサ60の間で送受信される情報は暗号化されるものとする。
【0047】
処理部30は、コマンド受信後、指紋センサ50に対して、指紋情報の送信を要求するリクエスト情報を送信する(ステップS105)。これを受けて、指紋センサ50は、予め決められたデータフォーマットと送信周期で指紋情報を送信する。
【0048】
次に、処理部30は、指紋センサ50により指紋情報が送信されるまで待機する(ステップS107)。例えば、指紋センサ50により指紋情報F1が送信された場合に、処理部30(生体情報照合部32)は、指紋センサ50によって取得された指紋情報F1と、記憶部40に予め記憶された複数の生体認証用情報41に基づいて、生体認証処理を実行する(ステップS109)。次いで、処理部30(閾値見直し処理部36)は、閾値見直し処理を実行する(ステップS111)。なお、生体認証処理と閾値見直し処理の詳細については後述する。
【0049】
次に、処理部30は、生体認証処理の結果に応じてコマンド処理を行い、そのコマンド処理の結果であるレスポンスを、UART24を介して端末装置100に送信する(ステップS113)。これによって、本フローチャートの処理が終了する。
【0050】
図6は、生体情報照合部32による生体認証処理の一例を示すフローチャートである。まず、生体情報照合部32は、指紋パターンP1~P10のうち一つの指紋パターンPiを選択し、指紋パターンPiと指紋情報F1とを照合する(ステップS201)。生体情報照合部32は、指紋パターンPiと指紋情報F1との一致程度を示すマッチングスコアmiを導出する(ステップS203)。生体情報照合部32は、導出したマッチングスコアmiが、記憶部40に格納されているマッチング閾値M以上であるか否かを判定する(ステップS205)。マッチングスコアmiがマッチング閾値M以上である場合、生体情報照合部32は、カウント値46に含まれるマッチング成功数に1を加算するとともに(ステップS207)、カウント値46に含まれるマッチング処理回数に1を加算する(ステップS209)。一方、ステップS205において、マッチングスコアmiがマッチング閾値M未満である場合、生体情報照合部32は、カウント値46に含まれるマッチング処理回数に1を加算する。
【0051】
次いで、生体情報照合部32は、認証閾値45とカウント値46とを参照し、マッチング成功数が認証閾値th1以上であるか否かを判定する(ステップS211)。マッチング成功数が認証閾値th1以上である場合、生体情報照合部32は、指紋情報F1が本人の指紋であると認証する(ステップS213)。つまり、生体情報照合部32は、本人認証に成功したと判定する。
【0052】
一方、ステップS211において、マッチング成功数が認証閾値th1以上でない場合、生体情報照合部32は、カウント値46を参照し、マッチング処理回数が指紋パターンP1~P10の総数(10)であるか否かを判定する(ステップS215)。マッチング処理回数が10でない場合、生体情報照合部32は、まだ指紋情報F1と照合していない指紋パターンPiについて、ステップS201に戻って処理を繰り返す。
【0053】
一方、マッチング処理回数が10である場合(つまり、全ての指紋パターンP1~P10についてのマッチングが終了した場合)、生体情報照合部32は、指紋情報F1が本人の指紋であると認証しない(ステップS217)。つまり、生体情報照合部32は、本人認証に失敗したと判定する。
【0054】
図7は、閾値見直し処理部36による閾値見直し処理の一例を示すフローチャートである。まず、閾値見直し処理部36は、生体情報照合部32により本人であると認証されたか否かを判定する(ステップS301)。本人であると認証された場合、閾値見直し処理部36は、認証閾値45として記憶部40に格納されている認証閾値th1が下限値th0であるか否かを判定する(ステップS303)。認証閾値th1が下限値th0である場合、処理を終了する。認証閾値th1が下限値th0でない場合、閾値見直し処理部36は、認証閾値th1を下げる(ステップS305)。
【0055】
一方、ステップS301において、本人であると認証されない場合、閾値見直し処理部36は、認証閾値th1を上限値th2に戻す(ステップS307)。
【0056】
(第2の実施形態)
次に、第2実施形態について説明する。なお、第2実施形態は、第1実施形態のICカード1を利用して実現することが可能であり、以下、同一の符号を用いて、異なる点について説明する。
【0057】
第1実施形態では、ICモジュール10が、全ての指紋パターンP1~P10をまとめて照合プロセッサ60に送信する。一方、第2実施形態では、ICモジュール10が、指紋パターンP1~P10を一つずつ照合プロセッサ60に送信する点で異なる。また、第1実施形態では、閾値見直し処理が、照合プロセッサ60により実行されるのに対して、第2実施形態では、ICチップ20により実行される点で異なる。
【0058】
次に、端末装置とICカード間のシーケンシャル処理について説明する。
図8は、端末装置100およびICカード1によって実行される処理の他の例を示すシーケンス図である。まず、端末装置100は、ICカード1のICチップ20に対して、本人認証を要求するコマンドを送信する(ステップS1)。次に、ICチップ20(コマンド処理部34)は、照合プロセッサ60との間で相互認証を行うために、予め記憶部40に記憶された共通鍵43と所定の規則により生成した乱数とに基づいて、一時的なセッション鍵を生成しておく(ステップS3)。
【0059】
次に、ICチップ20は、例えば、記憶部40に記憶された指紋パターンP1を読み出し、指紋パターンP1をセッション鍵で暗号化し、暗号化した指紋パターンP1と、生成した乱数とを照合プロセッサ60に送信する(ステップS4)。
【0060】
これを受けて、照合プロセッサ60(生体情報照合部32)は、指紋センサ50に対して、指紋情報の送信を要求するリクエスト情報を送信する(ステップS7)。指紋センサ50は、指紋情報F2を取得し(ステップS9)、予め決められたデータフォーマットと送信周期で指紋情報F2を照合プロセッサ60に送信する(ステップS11)。
【0061】
次に、照合プロセッサ60は、ICチップ20から受信した乱数と記憶部40に記憶された共通鍵43とを基にセッション鍵を生成し、このセッション鍵を用いて、暗号化された指紋パターンP1を復号する。そして、照合プロセッサ60は、復号した指紋パターンP1と、指紋センサ50により取得された指紋情報F2とを照合することで、生体認証処理を実行する(ステップS33)。
【0062】
次いで、照合プロセッサ60は、生体認証処理の結果を、生成したセッション鍵を用いて暗号化し、暗号化した各照合結果をICチップ20に送信する(ステップS35)。
【0063】
次に、ICチップ20は、指紋パターンP1を暗号化したときに使用したセッション鍵を用いて、照合プロセッサ60により送信された各照合結果を復号し、この復号した各照合結果に基づいて、次の指紋パターンP2を送信するか否かを判定する。次の指紋パターンを送信する場合、ICチップ20は、記憶部40に記憶された指紋パターンP2を読み出し、指紋パターンP2をセッション鍵で暗号化し(ステップS37)、暗号化した指紋パターンP2と、生成した乱数とを照合プロセッサ60に送信する(ステップS39)。
【0064】
次に、照合プロセッサ60は、ICチップ20から受信した乱数と記憶部40に記憶された共通鍵43とを基にセッション鍵を生成し、このセッション鍵を用いて、暗号化された指紋パターンP2を復号する。そして、照合プロセッサ60は、復号した指紋パターンP2と、指紋センサ50により取得された指紋情報F2とを照合することで、生体認証処理を実行する(ステップS41)。
【0065】
次いで、照合プロセッサ60は、生体認証処理の結果を、生成したセッション鍵を用いて暗号化し、暗号化した各照合結果をICチップ20に送信する(ステップS43)。Cチップ20は、指紋パターンP1を暗号化したときに使用したセッション鍵を用いて、照合プロセッサ60により送信された各照合結果を復号する。ICチップ20は、次の指紋パターンP2を送信しないと判定するまでこれらの処理を繰り返し、指紋パターンを一つずつ照合プロセッサ60に送信する。
【0066】
そして、照合プロセッサ60への指紋パターンの送信が終了した場合、ICチップ20は、生体認証処理の結果に基づいて、閾値見直し処理を実行する(ステップS45)。ICチップ20は、復号した各照合結果を基に、S1の処理で受信したコマンドに対応するコマンド処理を実行する。そして、ICチップ20は、そのコマンド処理の結果であるレスポンスを、UART24を介して端末装置100に送信する(ステップS47)。
【0067】
次に、ICカードによる処理フローについて説明する。
図9は、生体情報照合部32による生体認証処理の一例を示すフローチャートである。ここでは、ICチップ20と照合プロセッサ60とが生体認証処理を実行する例について説明する。なお、ICチップ20と照合プロセッサ60との間での情報の暗号化と復号化についての説明は省略する。まず、ICチップ20は、指紋パターンP1~P10のうち一つの指紋パターンPiを選択し、照合プロセッサ60に送信する(ステップS200)。照合プロセッサ60は受信した指紋パターンPiと指紋情報F2とを照合する(ステップS201)。
【0068】
照合プロセッサ60は、指紋パターンPiと指紋情報F2との一致程度を示すマッチングスコアmiを導出する(ステップS203)。照合プロセッサ60は、導出したマッチングスコアmiが、記憶部40に格納されているマッチング閾値M以上であるか否かを判定する(ステップS205)。マッチングスコアmiがマッチング閾値M以上である場合、照合プロセッサ60は、マッチングに成功したことを示す通知を、ICチップ20に送信する(ステップS206)。マッチングに成功したことを示す通知を受信した場合、ICチップ20は、カウント値46に含まれるマッチング成功数に1を加算するとともに(ステップS207)、カウント値46に含まれるマッチング処理回数に1を加算する(ステップS209)。
【0069】
一方、ステップS205において、マッチングスコアmiがマッチング閾値M未満である場合、照合プロセッサ60は、マッチングしなかったことを示す通知を、ICチップ20に送信する(ステップS208)。マッチングしなかったことを示す通知を受信した場合、ICチップ20は、カウント値46に含まれるマッチング処理回数に1を加算する(ステップS209)。
【0070】
次いで、ICチップ20は、認証閾値45とカウント値46とを参照し、マッチング成功数が認証閾値th1以上であるか否かを判定する(ステップS211)。マッチング成功数が認証閾値th1以上である場合、ICチップ20は、指紋情報F2が本人の指紋であると認証する(ステップS213)。つまり、ICチップ20は、本人認証に成功したと判定する。
【0071】
一方、ステップS211において、マッチング成功数が認証閾値th1以上でない場合、ICチップ20は、カウント値46を参照し、マッチング処理回数が指紋パターンP1~P10の総数(10)であるか否かを判定する(ステップS215)。マッチング処理回数が10でない場合、ICチップ20は、まだ指紋情報F2と照合していない指紋パターンPiについて、ステップS200に戻って処理を繰り返す。
【0072】
一方、マッチング処理回数が10である場合(つまり、全ての指紋パターンP1~P10についてのマッチングが終了した場合)、ICチップ20は、指紋情報F2が本人の指紋であると認証しない(ステップS217)。つまり、ICチップ20は、本人認証に失敗したと判定する。
【0073】
上記各実施形態は、以下に説明するようなものであってもよい。
例えば、閾値見直し処理部36は、本人でない者が認証した場合、認証閾値th1を段階的に上げてもよい。指紋認証の場合、本人である場合であって、事前に登録されている状況と異なる環境である場合や利用者の加齢や体調の変化に応じて、認証に失敗することもある。このような場合であっても、認証閾値th1を段階的に上げることにより、使い勝手がよくなる。
【0074】
例えば、閾値見直し処理部36は、マッチング成功数に基づいて、認証閾値の下げ幅あるいは上げ幅を決定してもよい。例えば、閾値見直し処理部36は、マッチング成功数が高いほど認証閾値の下げ幅が大きく、マッチング成功数が小さいほど認証閾値の上げ幅を大きくしてもよい。こうすることにより、本人である場合に本人認証に失敗した場合であっても、次に本人認証に成功した場合には、閾値を大きく下げることができ、使い勝手がよくなる。指紋パターンが10個であって、認証閾値が8に決定されている場合、以下の通りに下げ幅や上げ幅が決定されていてもよい。
マッチング成功数10の場合 :下げ幅は3
マッチング成功数9の場合 :下げ幅は2
マッチング成功数8の場合 :下げ幅は1
マッチング成功数7の場合 :上げ幅は1
マッチング成功数6の場合 :上げ幅は2
マッチング成功数5以下の場合 :上げ幅は3
【0075】
また、閾値見直し処理部36は、設定されている認証閾値に対するマッチング成功数の割合(以下、マッチング成功率と記す)に基づいて、認証閾値の下げ幅あるいは上げ幅を決定してもよい。マッチング成功率は、マッチング成功数を認証閾値で除算することで、閾値見直し処理部36により導出される。例えば、閾値見直し処理部36は、マッチング成功率が高いほど認証閾値の下げ幅が大きく、マッチング成功率が小さいほど認証閾値の上げ幅を大きくしてもよい。指紋パターンが10個である場合、以下の通りに下げ幅や上げ幅が決定されていてもよい。
割合95%以上の場合 :下げ幅は3
割合90%以上の場合 :下げ幅は2
割合80%以上の場合 :下げ幅は1
割合70%以上の場合 :上げ幅は1
割合60%以上の場合 :上げ幅は2
割合50%以上の場合 :上げ幅は3
【0076】
また、生体情報照合部32は、過去の認証処理による結果を記憶部40に格納しておき、閾値見直し処理部36は、過去の認証処理の結果に基づいて認証閾値th1を決定してもよい。例えば、閾値見直し処理部36は、連続して本人であると認証された回数が多いほど認証閾値の下げ幅が大きく、連続して本人であると認証された回数が少ないほど認証閾値の上げ幅を大きくしてもよい。
【0077】
また、認証閾値は、用意された複数の指紋パターンの数に対するマッチング成功数の割合であってもよい。
【0078】
以上説明した少なくとも一つの実施形態によれば、端末装置100と通信する通信部(UART24)と、利用者の生体情報を取得する取得部(指紋センサ50)と、通信部により端末装置100からコマンドが受信された場合、取得部により取得された生体情報と、当該生体情報と照合することにより本人認証が可能となる複数の生体認証用情報のそれぞれとを照合し、生体情報と生体認証用情報とが合致したマッチング成功数を導出し、マッチング成功数が認証閾値以上となった場合に本人であると認証する生体情報照合部32と、生体情報照合部32により本人であると認証された場合には認証閾値を下げ、生体情報照合部32により本人であると認証されない場合には認証閾値を上げる閾値見直し処理部36と、を備えることにより、生体情報を用いた認証の時間を短縮することができる。
【0079】
上記実施形態は、以下のように表現することができる。
端末装置と通信する通信部と、
利用者の生体情報を取得する取得部と、
記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
前記記憶部には、前記ハードウェアプロセッサに、
前記通信部により前記端末装置からコマンドが受信された場合、前記取得部により取得された生体情報と、当該生体情報と照合することにより本人認証が可能となる複数の生体認証用情報のそれぞれとを照合し、前記生体情報と前記生体認証用情報とが合致したマッチング成功数を導出し、前記マッチング成功数が閾値以上となった場合に本人であると認証させ、
本人であると認証された場合には前記閾値を下げさせ、
本人であると認証されない場合には前記閾値を上げさせる、前記プログラムが格納されている、
ICカード。
【0080】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0081】
1…ICカード、10…ICモジュール、15…コンタクト部、20…ICチップ、24…UART、25…CPU、26…ROM、27…RAM、28…EEPROM、30…処理部、32…生体情報照合部、34…コマンド処理部、36…閾値見直し処理部、40…記憶部、41…生体認証用情報、42…プログラム、43…共通鍵、44…マッチング閾値、45…認証閾値、50…指紋センサ、60…照合プロセッサ、100…端末装置、BS1…内部バス