JP2017134542A - 虹彩認証装置 - Google Patents

虹彩認証装置 Download PDF

Info

Publication number
JP2017134542A
JP2017134542A JP2016012848A JP2016012848A JP2017134542A JP 2017134542 A JP2017134542 A JP 2017134542A JP 2016012848 A JP2016012848 A JP 2016012848A JP 2016012848 A JP2016012848 A JP 2016012848A JP 2017134542 A JP2017134542 A JP 2017134542A
Authority
JP
Japan
Prior art keywords
processor
iris
secure
iris authentication
memory area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016012848A
Other languages
English (en)
Other versions
JP6610289B2 (ja
Inventor
池田 仁
Hitoshi Ikeda
仁 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016012848A priority Critical patent/JP6610289B2/ja
Publication of JP2017134542A publication Critical patent/JP2017134542A/ja
Application granted granted Critical
Publication of JP6610289B2 publication Critical patent/JP6610289B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Collating Specific Patterns (AREA)

Abstract

【課題】一実施形態は、虹彩認証にかかる処理時間を短縮する。【解決手段】一実施形態に係る虹彩認証装置は、調整部と、指示部とを含む。調整部は、撮像装置で撮像された第1の画像をより低解像度に変換した第2の画像を用いて撮像装置による撮像条件を調整する。指示部は、セキュアな環境で動作するセキュアプロセッサに、調整部により調整された撮像条件で撮像装置により撮像された第3の画像を用いて、個人の虹彩を特徴付けるデータを含む虹彩のデジタルテンプレートとの照合を実行させる。【選択図】図5

Description

本発明は、虹彩認証装置に関する。
例えば、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ(PC)、ノートPCなどの情報処理装置のロックの解除、及びネットワークを介したサービスへのログインの際に認証処理が行われている。認証処理は、例えば、ID(identification)とパスワードを用いて行われることがある。
また、例えば、指紋認証、及び虹彩認証などの生体認証が注目を集めている。なお、虹彩は、人間の眼球の瞳孔の外側にある環状の部分であり、虹彩の模様は、個人によって異なるため、個人の識別情報として利用することができる。虹彩から抽出した特徴を用いて認証を行うのが虹彩認証である。
これに関し、カメラ付き携帯電話のようなデジタル画像収集装置における改善された顔トラッキングを提供するための技術が知られている(例えば、特許文献1)。また、地域、施設または装置、例えばコンピュータまたはATMに対するアクセスを生物測定学的な評価で制御するために使用するための技術が知られている(例えば、特許文献2)。プライバシーとセキュリティの保護を両立する画像配信装置を提供するための技術が知られている(例えば、特許文献3)。
特表2011−514563号公報 特表平10−505180号公報 国際公開第2012/004907号公報
例えば、虹彩認証の際に撮像装置で撮像された虹彩の写った画像データ、及び照合のために用いられる虹彩のデジタルテンプレートが流出すると、他人が虹彩認証を行うことが可能になり、悪用される恐れがある。なお、虹彩のデジタルテンプレートは、例えば、ユーザの虹彩の画像から抽出されたデータであってよく、個々のユーザの虹彩を特徴付けるデータであってよい。そのため、虹彩認証は、例えば、トラステッド実行環境(TEE:Trusted Execution Environment)などのセキュアな領域で動作するプロセッサで実行される。しかしながら、例えば、セキュアな領域で動作するプロセッサに処理を実行させる場合に時間がかかることがある。1つの側面では、本発明は、虹彩認証にかかる処理時間を短縮することを目的とする。
本発明の一つの態様の虹彩認証装置は、調整部と、指示部とを含む。調整部は、撮像装置で撮像された第1の画像をより低解像度に変換した第2の画像を用いて撮像装置による撮像条件を調整する。指示部は、セキュアな環境で動作するセキュアプロセッサに、調整部により調整された撮像条件で撮像装置により撮像された第3の画像を用いて、個人の虹彩を特徴付けるデータを含む虹彩のデジタルテンプレートとの照合を実行させる。
虹彩認証にかかる処理時間を短縮することができる。
虹彩認証を実行する虹彩認証装置を例示する図である。 或るプロセッサによる別のプロセッサの起動を例示する図である。 実施形態に係る虹彩認証装置を実現するためのハードウェア構成を例示する図である。 実施形態に係るアプリケーションが動作するプロセッサが実行する認証結果出力処理を例示する図である。 第1の実施形態に係る虹彩認証を行うアプリケーションが動作するプロセッサが実行する虹彩認証処理の動作フローを例示する図である。 実施形態に係る撮像装置を制御するドライバが実行する画像データの読み込み処理を例示する図である。 撮像装置の起動と画像データの保存に関するシーケンスを例示する図である。 実施形態に係るセキュアプロセッサが実行する照合処理を例示する図である。 第2の実施形態に係る虹彩認証を行うアプリケーションが動作するプロセッサが実行する虹彩認証処理の動作フローを例示する図である。 実施形態に係る虹彩認証装置のブロック構成を例示する図である。
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
図1は、虹彩認証を実行する虹彩認証装置100を例示する図である。虹彩認証装置100は、例えば、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ(PC)、及びノートPCなどの装置であってよい。虹彩認証装置100は、例えば、タッチパネル、及びディスプレーなどの表示装置101、レシーバなどの音声出力装置102、マイクなどの音声入力装置103、撮像装置104、及び電源や音量調節のためのハードキー105を備えていてよい。撮像装置104は、例えば、カメラなどであり、虹彩の画像を撮像するために用いられてよい。虹彩認証は、上述のように例えば、トラステッド実行環境などのセキュアな領域で動作するプロセッサで実行される。そして、セキュアな領域で動作するプロセッサを準備するのに時間がかかることがある。
図2は、或るプロセッサによる別のプロセッサの起動を例示する図である。図2(a)では、プロセッサ−0は、プログラム‐aの実行途中で、オペレーティングシステム(OS)のスケジューラ(Schedulor)からプロセッサコントローラを介して、プロセッサ−1の電源をオンにし、起動する。プロセッサ−1は起動すると、プログラム‐bを実行する。
一方、図2(b)は、トラステッド実行環境などのセキュアな領域で動作するプロセッサを起動して処理を実行させる場合を例示している。上述のように、例えば、虹彩認証の際に撮像装置104で撮像された虹彩の写った画像データ、及び照合のために用いられる虹彩のデジタルテンプレートは、流出すると悪用される恐れがある。特に、例えば、アンドロイド(Android(登録商標))などのオープンソースソフトウェア(Open Source Software)のOSを搭載した装置では、悪意をもったアプリケーションの作成が比較的容易である。そのため、虹彩認証は、高いセキュリティ下で実行することが望ましく、虹彩認証は、例えば、トラステッド実行環境などのセキュアな領域で実行される。
図2(b)では、プロセッサ−0はプログラム‐cを実行し、ハイパーバイザ(HyperVisor)からプロセッサコントローラ経由でプロセッサ−1をトラステッド実行環境などのセキュアな領域で起動する。セキュアな領域で起動したプロセッサ−1は、例えば、虹彩認証処理などを実行するトラステッド実行環境(TEE)プログラムを実行する。そして、セキュアな領域を作る際、また、セキュアな領域で起動したプロセッサ−1を通常のプロセッサに戻す際、OSのハイパーバイザ(HyperVisor)経由でプロセッサ−1にハード的な初期化処理が実行される(図2の★部分)。それにより、図2(a)の場合と比較して、セキュアな領域でのプログラムの実行には時間がかかる。
また、虹彩認証では、撮像装置104から入力される画像のピントや輝度などの撮像条件がズレていたり、又は、そもそも瞳が画像に写っていなかったりし、瞳が検出できないことがあり、その結果、虹彩のデジタルテンプレートとの照合に失敗することがある。この場合、撮像条件を適切に調製したり、瞳が写っている画像を取得したりすることで、虹彩のデジタルテンプレートとの照合に成功する可能性がある。そのため、虹彩認証では、例えば、1度の照合の失敗で認証の失敗と判定せず、動画に含まれる複数の画像に対して照合を実行することがある。しかしながら、この様に複数回にわたって照合を実行する場合、例えば、照合の度にプロセッサがセキュアな領域で起動され、その都度、プロセッサの初期化処理が実行される。その結果、虹彩認証の処理時間が長くなってしまうことがある。
また、セキュアな環境で動作するプロセッサは、数が1つに制限されていたり、処理性能が制限されていたりすることもある。そのため、例えば、セキュアな環境で実行される処理のうちの一部の処理を、通常のプロセッサで実行することができれば、セキュアな環境で実行する処理量を削減することができ、好ましい。
そのため、以下で述べる実施形態では、例えば、虹彩認証を実行する場合、虹彩認証装置100は、セキュアな領域で動作するプロセッサで照合を行う前に、例えば、通常のプロセッサで、撮像条件の調整や瞳の検出などの処理を実行する。ここで、通常のプロセッサはセキュアな環境で動作していない。そのため、虹彩認証装置100は、撮像装置104で撮像された画像を、虹彩の照合ができない程度の解像度に落として、低解像度の画像を生成する。そして、虹彩認証装置100は、低解像度の画像を用いて、撮像条件の調整や瞳の検出を実行する。この様に、虹彩の情報が取得できない低解像度の画像を用いることで、画像が流出したとしても虹彩の情報が流出することを防止することができる。
また、虹彩認証装置100は、撮像条件の調整や瞳の検出などの処理で用いた低解像度の画像に対応する虹彩認証が可能な元の高解像度の画像を用いて、セキュアな領域で起動したプロセッサで照合を実行する。そのため、撮像条件が調整済みであり、また、瞳が写っている画像で照合処理を実行することができ、照合が成功する可能性を高めることができる。その結果、照合の失敗によりプロセッサをセキュアな環境で複数回起動することを抑制することができ、虹彩認証における処理時間を短縮することができる。なお、以下の説明では、撮像装置104で撮像された虹彩認証が実行可能な解像度を有する画像を高解像度の画像、及び、そのデータを高解像度の画像データと呼ぶことがある。また、高解像度の画像の解像度を、虹彩が認証できない程度の解像度に変換して得られる画像を低解像度の画像と呼ぶことがあり、また、そのデータを低解像度の画像データと呼ぶことがある。なお、低解像度の画像は、虹彩認証の実行には不十分な解像度であるが、後述するように、例えば、輝度やフォーカスなどの撮像条件の調整、及び瞳の検出の実行には十分な解像度の画像であってよい。
図3は、実施形態に係る虹彩認証装置100を実現するためのハードウェア構成を例示する図である。図3の虹彩認証装置100を実現するためのハードウェア構成は、例えば、プロセッサ301、メモリ302、記憶装置303、通信インタフェース304、入出力インタフェース305、及び撮像装置104を備える。なお、プロセッサ301、メモリ302、記憶装置303、通信インタフェース304、入出力インタフェース305、及び撮像装置104は、例えば、バス308を介して互いに接続されている。
虹彩認証装置100は、複数のプロセッサ301を含んでいてよく、プロセッサ301は、例えば、CPU(Central Processing Unit)である。プロセッサ301は、例えば、メモリ302のメモリ領域321に読み出したアプリケーションのプログラムを実行することで、Android(登録商標)及びiOS(登録商標)などのOS上でアプリケーション311を動作させる。アプリケーション311は、例えば、後述する認証結果出力処理及び虹彩認証処理を実行するアプリケーションであってよい。また、プロセッサ301は、メモリ302のドライバメモリ領域322に読み出したプログラムを実行することで、撮像装置104のドライバ312として動作し、撮像装置104を制御してよい。また、プロセッサ301は、例えば、別のプロセッサ301からの制御を受けてセキュアな領域で起動され、セキュアアプリケーション313を実行することで、セキュアプロセッサ310として動作してよい。セキュアプロセッサ310は、例えば、トラステッド実行環境で動作するプロセッサであってよく、セキュアメモリ領域323に読み出したプログラムを実行してよい。また、セキュアアプリケーション313は、例えば、TrustZone(登録商標)などのセキュアな領域で動作するアプリケーションであってよい。なお、以下の説明では、例えば、認証結果出力処理及び虹彩認証処理を実行するアプリケーション311などのOS上でのアプリケーションが動作するプロセッサ301を、単にプロセッサ301及び通常のプロセッサ301と呼ぶことがある。また、例えば、撮像装置104のドライバ312が動作するプロセッサ301を、ドライバ312と呼ぶことがある。また更に、例えば、セキュアな領域で起動され、セキュアアプリケーション313が動作するプロセッサ301を、セキュアプロセッサ310と呼ぶことがある。
メモリ302は、例えば、RAMなどの半導体メモリである。なお、RAMは、Random Access Memoryの略称である。メモリ302は、例えば、メモリ領域321、ドライバメモリ領域322、及びセキュアメモリ領域323を含む。メモリ領域321は、例えば、OS上で動くアプリケーションが動作するプロセッサ301に割り当てられたメモリ領域である。
ドライバメモリ領域322は、例えば、撮像装置104を制御するドライバ312に割り当てられたメモリ領域である。OSは、例えば、アプリケーション311で利用するメモリ領域321と、OSやドライバ312が利用するメモリ領域とを論理的に分離している。例えば、OSは、アプリケーション311からドライバが利用するドライバメモリ領域322にはアクセスができないように制御している。例えば、ドライバメモリ領域322には、撮像装置104で撮像された画像が記憶されてよい。
セキュアメモリ領域323は、例えば、セキュアプロセッサ310に割り当てられたメモリ領域である。セキュアメモリ領域323は、例えば、セキュアな環境で動作するセキュアプロセッサ310からはアクセス可能であるが、アプリケーション311が動作するプロセッサ301からはアクセスされないセキュアなメモリ領域である。
また、記憶装置303は、例えば、ROMなどの半導体メモリである。ROMは、Read Only Memoryの略称である。記憶装置303は、例えばフラッシュメモリである。記憶装置303は、例えば、照合に用いる虹彩のデジタルテンプレートを暗号化された状態で記憶している。
通信インタフェース304は、プロセッサ301の指示に従ってネットワークを介してデータを送受信する。入出力インタフェース305は、例えば、入力装置及び出力装置との間のインタフェースであってよい。入力装置は、例えば、ユーザからの指示を受け付けるキーボードやマウスなどのデバイス、及び、マイクなどの音声入力装置103である。出力装置は、例えば、タッチパネル、及びディスプレーなどの表示装置101、並びにレシーバなどの音声出力装置102である。
図4は、実施形態に係るアプリケーション311が動作するプロセッサ301が実行する認証結果出力処理を例示する図である。例えば、OS上で動作する図4の認証結果出力処理を実行するアプリケーション311に、認証結果出力処理の起動指示が入力されると、アプリケーション311が動作するプロセッサ301は、図4の動作フローを開始してよい。
ステップ401(以降、ステップを“S”と記載し、例えば、S401と表記する)においてプロセッサ301は、虹彩認証に使用する虹彩の画像を撮像する撮像装置104を起動する指示をドライバ312に出力する。ドライバ312は、撮像装置104を起動する指示が入力されると、撮像装置104に起動指示を出力し、撮像装置104を起動する。
S402においてプロセッサ301は、虹彩認証処理を起動する。虹彩認証処理において、プロセッサ301は、後述する図5の虹彩認証処理の動作フローを実行する。虹彩認証処理では、虹彩認証処理の実行中は虹彩認証状態が「処理中」に設定され、虹彩認証処理が終了すると、虹彩認証状態は「終了」に設定される。
そして、S403においてプロセッサ301は、S402の虹彩認証処理で設定される虹彩認証状態を読み出す。S404においてプロセッサ301は、読み出した虹彩認証状態が「処理中」であるか否かを判定する。S404において読み出した虹彩認証状態が「処理中」である場合(S404がYES)、フローはS403へと戻る。一方、S404において読み出した虹彩認証状態が「処理中」でない場合(S404がNO)、フローはS405へと進む。S405においてプロセッサ301は、撮像装置104を停止する指示をドライバ312に出力する。ドライバ312は、撮像装置104を停止する指示が入力されると、撮像装置104に停止指示を出力し、撮像装置104を停止する。
S406においてプロセッサ301は、S402で起動した虹彩認証処理により判定された虹彩認証の結果を出力する。例えば、プロセッサ301は、虹彩認証が成功したか否かを示す情報を出力してよい。プロセッサ301が虹彩認証の結果を出力すると本動作フローは終了する。
続いて、図5を参照して、上記の認証結果出力処理のS402で起動される虹彩認証処理について説明する。なお、図5は、虹彩認証を行うアプリケーション311が動作するプロセッサ301が実行する第1の実施形態に係る虹彩認証処理の動作フローである。
S501においてプロセッサ301は、例えば、虹彩認証状態を「処理中」に設定する。S502においてプロセッサ301は、ドライバ312に、撮像装置104からの画像データの読み込み処理の実行を指示する。
図6は、実施形態に係る撮像装置104を制御するドライバ312(即ち、ドライバ312が動作するプロセッサ301)が実行する画像データの読み込み処理を例示する図である。
S601においてドライバ312は、撮像装置104に画像データをドライバメモリ領域322に格納するように指示する。撮像装置104は、格納指示が入力されると、撮像した画像データをドライバメモリ領域322に格納し、格納通知をドライバ312に出力する。なお、撮像装置104がドライバメモリ領域322に格納する画像データは、例えば、虹彩認証を実行可能な解像度を有する高解像度の画像データである。
S602においてドライバ312は、画像データの格納通知が撮像装置104から入力されたか否かを判定する。画像データの格納通知が撮像装置104から入力されていない場合(S602がNO)、フローはS602を繰り返す。一方、画像データの格納通知が撮像装置104から入力された場合(S602がYES)、フローはS603に進む。S603においてドライバ312は、撮像装置104によりドライバメモリ領域322に格納された画像データを、セキュアメモリ領域323にコピーする。
S604においてドライバ312は、ドライバメモリ領域322に格納された高解像度の画像データの解像度を落とし、虹彩認証の実行に不十分な解像度を有する低解像度の画像に変換する。S605においてドライバ312は、低解像度の画像データをメモリ領域321にコピーする。S606においてドライバ312は、画像データの読み込みの完了通知を、図6の動作フローの呼び出し元であり、図5の虹彩認証の動作フローを実行するアプリケーションが動作するプロセッサ301に通知する。S606の処理が完了すると、本動作フローは終了し、図5の動作フローに戻る。
なお、図7は、以上で述べた、撮像装置104の起動と、撮像装置104で撮像された画像データの保存に関するシーケンスを例示する図である。
例えば、図4の認証結果出力処理の開始指示が入力されると、認証結果出力処理を実行するアプリケーション311が動作するプロセッサ301は、撮像装置104の起動指示をドライバ312に入力する(S701)。ドライバ312は、撮像装置104を起動する(S702)。
続いて、プロセッサ301は、ドライバ312に画像の読み込み指示を行い(S703)、ドライバ312は、撮像装置104に画像の読み込みを指示する(S704)。撮像装置104は、画像の読み込み指示の入力を受けると、撮像した画像をドライバメモリ領域322に格納し(S705)、画像の格納が完了したことをドライバ312が動作するプロセッサ301に通知する(S706)。なお、ここで得られる画像は、虹彩認証を実行するのに十分な虹彩の画像を取得可能な解像度を有する高解像度の画像であってよい。
続いて、ドライバ312は、ドライバメモリ領域322に保存された高解像度の画像データを、セキュアメモリ領域323にコピーする(S707)。セキュアメモリ領域323は、例えば、トラステッド実行環境などのセキュアな環境で動作するセキュアプロセッサ310からのみ参照可能なメモリ領域である。
また、ドライバ312は、ドライバメモリ領域322に保存された高解像度の画像データを、虹彩認証を実行するには不十分な解像度を有する低解像度の画像に変換する。そして、ドライバ312は、アプリケーション311を実行するプロセッサ301が参照可能なメモリ領域321に低解像度の画像を保存する(S708)。画像データのコピーが完了すると、ドライバ312は、画像データのコピーが完了したことを示す読み込み完了通知を、アプリケーションが動作するプロセッサ301に通知する。
なお、例えば、図7のS701の処理は図4のS401と対応しており、S703の処理はS502の処理と対応している。また、例えば、図7のS704、S707、S708、及びS709の処理は、図6のS601、S603、S605、及びS606の処理とそれぞれ対応している。そして、虹彩認証処理を実行するアプリケーションが動作するプロセッサ301が、ドライバ312から画像データの読み込みの完了通知を受け付けると、処理は図5のS503に進む。
S503においてプロセッサ301は、メモリ領域321に保存された低解像度の画像データを用いて、輝度が適切か否かを判定する。低解像度の画像データの輝度が適切でない場合(S503がNO)、フローはS504に進む。S504においてプロセッサ301は、ドライバ312を介して撮像装置104に輝度の調整を指示し、フローはS502に戻る。
一方、S503において、輝度が適切である場合(S503がYES)、フローはS505へと進む。S505においてプロセッサ301は、メモリ領域321に保存されている低解像度の画像を用いて、ピント(焦点)が合っているか否かを判定する。ピントが合っていない場合(S505がNO)、フローはS506へと進む。S506においてプロセッサ301は、ピントが合うようにフォーカスを合わせる調整指示を、ドライバ312を介して撮像装置104に通知し、フローはS502へと戻る。
また、ピントが合っている場合(S505がYES)、フローはS507へと進む。S507においてプロセッサ301は、メモリ領域321に保存されている低解像度の画像で瞳検出を実行し、瞳が検出できたか否かを判定する。瞳が検出されない場合(S507がNO)、フローはS502へと戻る。一方、瞳が検出された場合(S507がYES)、フローはS508に進む。S508においてプロセッサ301は、メモリ領域321に保存されている低解像度の画像を用いて瞳の情報(例えば、瞳の位置と大きさ)を取得する。
S509においてプロセッサ301は、図8の照合処理を呼び出し、瞳の情報をセキュアプロセッサ310に通知して、照合処理を実行させる。例えば、プロセッサ301は、ハイパーバイザを介して別のプロセッサ301を初期化し、セキュアなプロセッサとして動作させるためのプログラムをロードして、セキュアプロセッサ310を起動する。セキュアプロセッサ310は、例えば、トラステッド実行環境などのセキュアな環境で動作するプロセッサであってよい。そして、プロセッサ301は、起動したセキュアプロセッサ310に瞳の情報(例えば、瞳の位置と大きさ)を通知して照合処理を実行させてよい。セキュアプロセッサ310は、プロセッサ301から照合処理の実行指示が入力されると、例えば図8の動作フローを実行する。
図8は、実施形態に係るセキュアプロセッサ310が実行する照合処理を例示する図である。
S801においてセキュアプロセッサ310は、通知された瞳の情報(例えば、瞳の位置と大きさ)を用いて、セキュアメモリ領域323に保存されている高解像度の画像における瞳の位置と大きさを確認する。S802においてセキュアプロセッサ310は、高解像度の画像に写った瞳から虹彩の特徴を抽象化した抽象化データを生成する。なお、抽象化データは、例えば、虹彩のデジタルテンプレートの生成と同様のアルゴリズムを用いて抽象化されてよい。
S803においてセキュアプロセッサ310は、抽象化データを、記憶装置303に保存されている虹彩認証装置100のユーザの虹彩を特徴付けるデータを含む虹彩のデジタルテンプレートと照合する。なお、虹彩のデジタルテンプレートは、例えば、記憶装置303に暗号化されて保存されていてよい。そして、セキュアプロセッサ310は、セキュアメモリ領域323にロードされた復号プログラムを用いて、虹彩のデジタルテンプレートをセキュアメモリ領域323で復号し、抽象化データとの照合を実行してよい。
抽象化データと虹彩のデジタルテンプレートとの照合が成功した場合(S803がYES)、フローはS804に進み、セキュアプロセッサ310は、照合を成功と判定し、判定結果を呼び出し元のプロセッサ301に返す。一方、抽象化データと虹彩のデジタルテンプレートとの照合に失敗した場合(S803がNO)、フローはS805に進み、セキュアプロセッサ310は、照合を失敗と判定し、判定結果を呼び出し元のプロセッサ301に返す。セキュアプロセッサ310が照合の結果を呼び出し元のプロセッサ301に返すと本動作フローは終了し、虹彩認証処理を実行するアプリケーションが動作する呼び出し元のプロセッサ301は、図5のS510の処理に進む。
S510において虹彩認証処理を実行するアプリケーションが動作するプロセッサ301は、セキュアプロセッサ310が返した判定結果に基づいて、照合が成功したか否かを判定する。照合に失敗している場合(S510がNO)、フローはS511に進む。S511においてプロセッサ301は、図5の虹彩認証処理の実行を開始してから所定の時間が経過したか否かを判定する。所定の時間が経過していない場合(S511がNO)、フローはS502に戻る。これは、例えば、瞳が写った画像であっても、撮像の際のブレなどの影響で虹彩認証に十分な画質の画像が撮影されていないことがあり、この場合、別のフレームで撮像された画像では照合に成功する可能性があるためである。そのため、プロセッサ301は、所定の時間が経過していなければ、別のフレームの画像を用いて再度照合を試みている。
一方、所定の時間が経過している場合(S511がYES)、フローはS512に進み、プロセッサ301は、虹彩認証状態を「終了」に変更し、虹彩認証を失敗と判定し、本動作フローは終了する。
また、S510において照合に成功した場合(S510がYES)、フローはS513に進む。S513においてプロセッサ301は、虹彩認証状態を「終了」に変更し、虹彩認証を成功と判定し、本動作フローは終了する。なお、S512又はS513の判定結果は、図4のS406で出力されてよい。
以上で述べたように、第1の実施形態に係る虹彩認証装置100では、ドライバ312は、ドライバメモリ領域322に保存された虹彩認証が可能な解像度を有する高解像度の画像をセキュアメモリ領域323に保存する。また、ドライバ312は、高解像度の画像から虹彩認証に不十分な解像度を有する低解像度の画像を生成し、メモリ領域321に保存する。そして、虹彩認証を行うアプリケーション311が動作するプロセッサ301は、メモリ領域321に保存された低解像度の画像データを用いて、輝度調整やピント調整などの撮像条件を調整する。また、プロセッサ301は、調整後の撮像条件で撮影された画像から変換された低解像度の画像データを用いて、瞳検出を実行する。そして、プロセッサ301は、低解像度の画像データで瞳検出に成功すると、別のプロセッサ301をセキュアプロセッサ310として起動し、起動したセキュアプロセッサ310に瞳の情報を通知する。セキュアプロセッサ310は、瞳が検出された低解像度の画像に対応する高解像度の画像をセキュアメモリ領域323から読み出し、通知された瞳の情報を用いて、虹彩の抽象化データを生成する。そして、セキュアプロセッサ310は、抽象化データと、虹彩のデジタルテンプレートとの照合を実行する。
従って、セキュアプロセッサ310は、輝度やピントなどの撮像条件が適切に調整された画像に対して虹彩のデジタルテンプレートとの照合を実行することができる。そのため、輝度やピントなどの撮像条件がズレていることに起因して照合が失敗することを抑制できる。また更に、セキュアプロセッサ310は、瞳が検出された画像に対して虹彩のデジタルテンプレートとの照合を実行することができる。従って、瞳の写っていない画像などの照合に失敗する画像に対して、セキュアプロセッサ310を起動して照合を実行することを抑制できる。その結果、照合の度にセキュアプロセッサ310を起動し、セキュアプロセッサ310の起動に伴う初期化などにかかる時間が長くなることを抑制することができる。そのため、虹彩認証における処理時間を短縮することができる。
また、例えば、セキュアな環境で動作するセキュアプロセッサ310は、数が1つに制限されていたり、処理性能が制限されていたりすることもある。そのため、上記に撮像条件の調整や瞳検出を例として示すように、例えば、セキュアな環境で実行される処理を削減し、通常のプロセッサ301に処理を回すことで、虹彩認証にかかる処理時間を短縮することができる。
また、上記の実施形態では、虹彩認証に用いることが可能な高解像度の画像は、ドライバメモリ領域322又はセキュアメモリ領域323に保存される。ここで、ドライバメモリ領域322は、例えば、アプリケーション311が利用するメモリ領域321とは論理的に分離されており、アプリケーション311が動作するプロセッサ301からはアクセスされない。また、同様に、セキュアメモリ領域323は、例えば、セキュアプロセッサ310からのみアクセスされ、アプリケーション311が動作するプロセッサ301からはアクセスされない。そのため、虹彩の写った高解像度の画像データが流出し、悪用されてしまう危険性を低くすることができる。特に、オープンソースソフトウェアのOSを搭載した虹彩認証装置100では、悪意をもったアプリケーション311の作成が比較的容易である。しかしながら、実施形態によれば、アプリケーション311が動作するプロセッサ301が虹彩の写った高解像度の画像データにアクセスすることを防ぐことができる。
一方、メモリ領域321には、虹彩認証には不十分な解像度を有する低解像度の画像が保存される。メモリ領域321は、アプリケーション311が動作するプロセッサ301からのアクセスが可能であり、低解像度の画像を用いてプロセッサ301は、撮像条件の調整や瞳の検出を実行することができる。一方で、メモリ領域321に保存された画像データは、低解像度の画像であるため、画像データが流出したとしても虹彩の情報が漏れることを防ぐことができる。
<第2の実施形態>
第1の実施形態では、S502の画像データ読み込み処理でドライバ312は、高解像度の画像データをセキュアメモリ領域323にコピーし、また、低解像度の画像データを生成してメモリ領域321にコピーしている。第2の実施形態では、虹彩認証を行うアプリケーションが動作するプロセッサ301は、まず、ドライバ312に低解像度の画像データを生成させて、メモリ領域321にコピーさせる。そして、プロセッサ301は、低解像度の画像データを用いて撮像条件の調整や、瞳の検出などの処理を完了する。その後、プロセッサ301は、ドライバ312に高解像度の画像データをセキュアメモリ領域323にコピーさせて、セキュアプロセッサ310に虹彩の照合を実行させる。それにより、例えば、撮像条件の調整や、瞳の検出などを完了させるまでの間に、データサイズの大きな高解像度の画像データをセキュアメモリ領域323に複数回コピーすることを防止できる。そのため、データサイズの大きな高解像度の画像データのコピーにかかる時間を短縮し、虹彩認証にかかる処理時間を短縮することができる。以下、第2の実施形態に係る虹彩認証処理を例示する。
図9は、第2の実施形態に係る虹彩認証を行うアプリケーション311が動作するプロセッサ301が実行する虹彩認証処理の動作フローを例示する図である。図9の動作フローは、例えば、図4のS402に進むと起動してよい。
図9のS901からS908までの処理において、プロセッサ301は、図5のS501からS508までの処理と類似する処理を実行してよい。ただし、第2の実施形態では、S902においてプロセッサ301の指示を受けたドライバ312は、低解像度の画像データをメモリ領域321にコピーするが、高解像度の画像データのセキュアメモリ領域323へのコピーは実行しない。即ち、第2の実施形態では、ドライバ312は、例えば、図6の動作フローのS603の処理を実行しない。
また、S909においてプロセッサ301は、瞳が検出された低解像度の画像データに対応する高解像度の画像データを、セキュアメモリ領域323にコピーするようにドライバ312に指示する。ドライバ312は、プロセッサ301から指示を受けると、瞳が検出された低解像度の画像データに対応する高解像度の画像データを、ドライバメモリ領域322からセキュアメモリ領域323にコピーする。
続くS910からS914までの処理においてプロセッサ301は、図5のS509からS513までの処理と同様の処理を実行してよい。
以上で述べた様に、第2の実施形態では、まず、ドライバ312に低解像度の画像データのメモリ領域321にコピーさせて、撮像条件の調整や、瞳の検出などの処理が完了する。その後、プロセッサ301は、ドライバ312に高解像度の画像データをセキュアメモリ領域323にコピーさせて、セキュアプロセッサ310に虹彩の照合を実行させる。そのため、第2の実施形態は、第1の実施形態と同様の効果を奏する。また更に、第2の実施形態では、例えば、撮像条件の調整や、瞳の検出などを完了させるまでの間に、データサイズの大きな高解像度の画像データをセキュアメモリ領域323に複数回コピーすることを防止できる。そのため、データサイズの大きな高解像度の画像データのコピーにかかる時間を短縮し、虹彩認証にかかる処理時間を短縮することができる。
図10は、実施形態に係る虹彩認証装置100のブロック構成を例示する図である。虹彩認証装置100は、例えば、制御部1001、記憶部1002、及び撮像装置104を含む。制御部1001は、例えば調整部1011、指示部1012、検出部1013、及び保存部1014などを含む。例えば、プロセッサ301は、メモリ302に虹彩認証を行うためのプログラムを読み込んで実行することで、制御部1001に含まれる調整部1011、指示部1012、及び検出部1013などとして動作してよい。また、プロセッサ301は、メモリ302に撮像装置104のドライバプログラムを読み込んで実行することで、制御部1001に含まれる保存部1014として動作してよい。プロセッサ301は、別のプロセッサ301からの制御を受けて、セキュアな環境で動作するセキュアプロセッサ310として動作してよい。記憶部1002は、例えば、メモリ302及び記憶装置303を含む。撮像装置104は、例えば、カメラなどであってよい。
調整部1011は、例えば、撮像装置104で撮像された高解像度の画像を低い解像度に変換して得られた低解像度の画像を用いて撮像装置104の撮像条件を調整する。例えば、プロセッサ301は、上述のS503からS506及びS903からS906の処理において調整部1011として動作してよい。
指示部1012は、例えば、トラステッド実行環境(TEE)などのセキュアな環境で動作するセキュアプロセッサ310に、調整部1011により調整された設定で撮像された高解像度の画像を用いて虹彩のテンプレートとの照合を実行させる指示を出力する。例えば、プロセッサ301は、上述のS509及びS910の処理において指示部1012として動作してよい。
検出部1013は、例えば、高解像度の画像を低解像度に変換した低解像度の画像から瞳を検出する。例えば、プロセッサ301は、上述のS507からS508及びS907からS908の処理において検出部1013として動作してよい。なお、指示部1012は、上述のS509及びS910の処理において検出部1013で検出された瞳の情報(例えば、瞳の位置と大きさ)を、セキュアプロセッサ310に通知してよい。
保存部1014は、例えば、撮像装置104で撮像された高解像度の画像を、セキュアプロセッサ310からのみ参照が許可されるセキュアメモリ領域323に保存する。また、保存部1014は、高解像度の画像の解像度を落として低解像度の画像を生成し、調整部1011及び検出部1013からアクセス可能なメモリ領域321に保存する。例えば、プロセッサ301は、上述の図6の動作フローにおいて保存部1014として動作する。保存部1014は、例えば、ドライバ312である。
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、又は、一部の処理が省略されてもよい。例えば、S603と、S604からS605との処理は順序を入れ替えて実行してもよい。
また、例えば、上記の実施形態では、プロセッサ301は、輝度及びフォーカスなどの撮像条件の調整と、瞳の検出との双方が完了してから虹彩の照合をセキュアプロセッサ310に指示する場合を例示している。しかしながら、実施形態はこれに限定されるものではない。例えば、撮像条件の調整が完了したらセキュアプロセッサ310に指示し、瞳の検出をセキュアプロセッサ310に実行させたとしても、実施形態に係る虹彩認証における処理時間を短縮する効果を得ることができる。
また、上述の実施形態では、ドライバ312が、撮像装置104で撮像された高解像度の画像から低解像度の画像を生成する場合を例示している。しかしながら、実施形態はこれに限定されるものではない。例えば、撮像装置104が、高解像度の画像と、低解像度の画像とを出力してよい。
また、上述の実施形態では、例えば、セキュアな領域で動作するセキュアプロセッサ310を、プロセッサ301の初期化などを実行することで起動する例を述べている。しかしながら、別の実施形態では、例えば、セキュアな環境で動作するセキュアプロセッサ310が、プロセッサ301とは別に虹彩認証装置100に備えられてもよい。
なお、図3を参照して述べた虹彩認証装置100を実現するためのハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の機能部の一部または全部の機能がFPGA及びSoCなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。
また、実施形態に係る各プログラムは、例えば、記憶装置303に予めインストールされている又はプログラムサーバから提供されてよい。
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
以上の実施形態1〜3を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
撮像装置で撮像された第1の画像をより低解像度に変換した第2の画像を用いて前記撮像装置による撮像条件を調整する調整部と、
セキュアな環境で動作するセキュアプロセッサに、前記調整部により調整された前記撮像条件で前記撮像装置により撮像された第3の画像を用いて、個人の虹彩を特徴付けるデータを含む虹彩のデジタルテンプレートとの照合を実行させる指示部と、
を含む、虹彩認証装置。
(付記2)
前記撮像条件の調整は、フォーカス又は輝度の調整を含む、付記1に記載の虹彩認証装置。
(付記3)
前記セキュアプロセッサは、トラステッド実行環境で動作するプロセッサである、付記1に記載の虹彩認証装置。
(付記4)
更に、前記第3の画像をより低解像度に変換した第4の画像から瞳の位置と大きさを検出する検出部を含み、
前記指示部は、前記検出部で検出された前記瞳の位置と大きさの情報を、前記セキュアプロセッサに通知して、前記照合を実行させる、付記1から3のいずれか1項に記載の虹彩認証装置。
(付記5)
前記セキュアプロセッサは、前記指示部から通知された前記瞳の位置と大きさの情報を用いて前記第3の画像から虹彩の情報を取得し、前記虹彩の情報を、前記虹彩のデジタルテンプレートと照合する、ことを特徴とする付記4に記載の虹彩認証装置。
(付記6)
更に、前記撮像装置で撮像された前記第3の画像を、前記セキュアプロセッサからのみ参照可能なセキュアメモリ領域に保存する保存部を含む、
ことを特徴とする付記1から5のいずれか1項に記載の虹彩認証装置。
100 虹彩認証装置
101 表示装置
102 音声出力装置
103 音声入力装置
104 撮像装置
105 ハードキー
301 プロセッサ
302 メモリ
303 記憶装置
304 通信インタフェース
305 入出力インタフェース
308 バス
310 セキュアプロセッサ
311 アプリケーション
312 ドライバ
313 セキュアアプリケーション
321 メモリ領域
322 ドライバメモリ領域
323 セキュアメモリ領域
1001 制御部
1002 記憶部
1011 調整部
1012 指示部
1013 検出部
1014 保存部

Claims (4)

  1. 撮像装置で撮像された第1の画像をより低解像度に変換した第2の画像を用いて前記撮像装置による撮像条件を調整する調整部と、
    セキュアな環境で動作するセキュアプロセッサに、前記調整部により調整された前記撮像条件で前記撮像装置により撮像された第3の画像を用いて、個人の虹彩を特徴付けるデータを含む虹彩のデジタルテンプレートとの照合を実行させる指示部と、
    を含む、虹彩認証装置。
  2. 更に、前記第3の画像をより低解像度に変換した第4の画像から瞳の位置と大きさを検出する検出部を含み、
    前記指示部は、前記検出部で検出された前記瞳の位置と大きさの情報を、前記セキュアプロセッサに通知して、前記照合を実行させる、請求項1に記載の虹彩認証装置。
  3. 前記セキュアプロセッサは、前記指示部から通知された前記瞳の位置と大きさの情報を用いて前記第3の画像から虹彩の情報を取得し、前記虹彩の情報を、前記虹彩のデジタルテンプレートと照合する、ことを特徴とする請求項2に記載の虹彩認証装置。
  4. 更に、前記撮像装置で撮像された前記第3の画像を、前記セキュアプロセッサからのみ参照可能なセキュアメモリ領域に保存する保存部を含む、
    ことを特徴とする請求項1から3のいずれか1項に記載の虹彩認証装置。
JP2016012848A 2016-01-26 2016-01-26 虹彩認証装置 Active JP6610289B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016012848A JP6610289B2 (ja) 2016-01-26 2016-01-26 虹彩認証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016012848A JP6610289B2 (ja) 2016-01-26 2016-01-26 虹彩認証装置

Publications (2)

Publication Number Publication Date
JP2017134542A true JP2017134542A (ja) 2017-08-03
JP6610289B2 JP6610289B2 (ja) 2019-11-27

Family

ID=59503651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016012848A Active JP6610289B2 (ja) 2016-01-26 2016-01-26 虹彩認証装置

Country Status (1)

Country Link
JP (1) JP6610289B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023058828A1 (ko) * 2021-10-06 2023-04-13 삼성전자 주식회사 복수의 실행 환경들을 이용하여 이미지의 무결성을 확인하는 전자 장치 및 그 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003511784A (ja) * 1999-10-08 2003-03-25 ヒューレット・パッカード・カンパニー ユーザ認証
JP2009199392A (ja) * 2008-02-22 2009-09-03 Oki Electric Ind Co Ltd 虹彩認証方法及び虹彩認証装置
JP2015064818A (ja) * 2013-09-26 2015-04-09 国立大学法人東京工業大学 機密生体サーバー認証
US20150244718A1 (en) * 2014-02-24 2015-08-27 Mastercard International Incorporated Biometric authentication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003511784A (ja) * 1999-10-08 2003-03-25 ヒューレット・パッカード・カンパニー ユーザ認証
JP2009199392A (ja) * 2008-02-22 2009-09-03 Oki Electric Ind Co Ltd 虹彩認証方法及び虹彩認証装置
JP2015064818A (ja) * 2013-09-26 2015-04-09 国立大学法人東京工業大学 機密生体サーバー認証
US20150244718A1 (en) * 2014-02-24 2015-08-27 Mastercard International Incorporated Biometric authentication

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023058828A1 (ko) * 2021-10-06 2023-04-13 삼성전자 주식회사 복수의 실행 환경들을 이용하여 이미지의 무결성을 확인하는 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
JP6610289B2 (ja) 2019-11-27

Similar Documents

Publication Publication Date Title
JP7182924B2 (ja) モバイルセキュリティ対策
CN108804884B (zh) 身份认证的方法、装置及计算机存储介质
US9544306B2 (en) Attempted security breach remediation
US9411946B2 (en) Fingerprint password
US9258301B2 (en) Advanced authentication techniques
US9384369B2 (en) Information processing method and electronic device
US20160314290A1 (en) Computing device authentication based on user's hair follicle pattern
US20160026862A1 (en) Eye reflected content for verification of user liveliness
JP2014534514A (ja) デバイスのユーザの認証
EP2924566B1 (en) Constellation based device binding
US11178142B2 (en) Biometric data synchronization devices
WO2016188230A1 (zh) 一种解锁方法及装置
JP2017515174A (ja) 特性情報を抽出するための方法およびシステム
CN104318186A (zh) 一种密码切换方法、设备和终端
SE1650416A1 (en) Secure storage of fingerprint related elements
US11936790B1 (en) Systems and methods for enhanced hash transforms
US20150082423A1 (en) Information processing system, terminal, and authentication method
WO2016078429A1 (zh) 一种身份识别的方法和装置
JP6610289B2 (ja) 虹彩認証装置
JP2011192154A (ja) Usbストレージデバイス
WO2018076163A1 (zh) 指纹算法库与指纹传感器的绑定认证方法及指纹识别系统
US11093592B2 (en) Information processing system, information processing device, authentication method and recording medium
KR102539533B1 (ko) 타인의 신분증 불법 촬영을 방지하기 위한 인증 방법 및 장치
CN105787321A (zh) 终端关机方法、终端关机装置和终端
KR20210071562A (ko) 사용자인증장치 및 그 동작 방법

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180409

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180409

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181019

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190808

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191014

R150 Certificate of patent or registration of utility model

Ref document number: 6610289

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250