JP7312454B2 - 認証システム、認証プログラム及び認証方法 - Google Patents

認証システム、認証プログラム及び認証方法 Download PDF

Info

Publication number
JP7312454B2
JP7312454B2 JP2020026997A JP2020026997A JP7312454B2 JP 7312454 B2 JP7312454 B2 JP 7312454B2 JP 2020026997 A JP2020026997 A JP 2020026997A JP 2020026997 A JP2020026997 A JP 2020026997A JP 7312454 B2 JP7312454 B2 JP 7312454B2
Authority
JP
Japan
Prior art keywords
authentication
stroke
voting
unit
authentication system
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.)
Active
Application number
JP2020026997A
Other languages
English (en)
Other versions
JP2021131746A (ja
Inventor
早人 山名
雅士 工藤
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.)
Waseda University
Original Assignee
Waseda University
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 Waseda University filed Critical Waseda University
Priority to JP2020026997A priority Critical patent/JP7312454B2/ja
Publication of JP2021131746A publication Critical patent/JP2021131746A/ja
Application granted granted Critical
Publication of JP7312454B2 publication Critical patent/JP7312454B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Collating Specific Patterns (AREA)

Description

本発明は、認証システムに関し、特に、操作画面におけるストロークを用いた個人認証技術に関する。
近年、スマートフォンを利用するユーザ数は爆発的に増加している。総務省の「通信利用動向調査」 によると、2018年における日本のスマートフォンの世帯保有率は79.2%であり、同年におけるパソコンの世帯保有率74.0%を5.2ポイント上回る数値を記録している。また、個人のインターネット利用端末に関する調査報告においても、スマートフォンの利用率59.5%がパソコンの利用率48.2%を上回っており、日常のメインデバイスがパソコンからスマートフォンへと移行している現状がうかがえる。
スマートフォンは、その多機能さや利便性から利用が増加する一方で、スマートフォン所有者の個人情報や生体情報といった重要な情報をスマートフォン上で扱う場面が増加している。こうした個人情報の保護を目的として、スマートフォンには「パスコード」や「指紋認証」「フリック操作による認証」といった認証機能が標準的に搭載されている。
例えば、特許文献1(特開2017-78937号公報)には、スマートフォンに掛けられたロックを解除する際に、フリック操作を要求するフリック要求画面がタッチスクリーンに表示され、このフリック要求画面上で、その中央に表示された矢印がフリックされると、このフリック操作に係る操作者の特徴を表す特徴量が抽出され、この特徴量を認証キーとして、操作者がスマートフォンを操作する正当な権利を有する権利者であるかどうかの認証を行うスマートフォンが記載されている。
また、非特許文献1には、タッチ圧力センサーを内蔵したデバイスから直接取得したタッチ圧力を認証の特徴量とした、タッチストロークを使用するスマートフォンの認証技術が記載されている。
特開2017-78937号公報
M. Kudo and H. Yamana, "Active Authentication on Smartphone using Touch Pressure," Proc. of the 31st ACM Symposium on User Interface Software and Technology, UIST'18, pp.96-98, 2018年
しかし、個人の記憶や生体情報(指紋や静脈パターン等)に基づいた認証機能は、盗み見や生体情報の合成によって第三者に突破される可能性がある。また、個人情報はスマートフォンの紛失・盗難によって流出する可能性があり、スマートフォンのセキュリティ性の向上は今も継続的な課題である。そこで、スマートフォン利用者が当該スマートフォンの正当な所有者(本人)であることを常に監視し続ける「パッシブ認証」が重要となる。
本発明は、スマートフォンの主たる操作であるタッチストロークを用いた高精度の認証システムの提供を目的とする。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ユーザの動作を用いて認証を行う認証システムであって、所定の演算処理を実行する演算装置と、前記演算装置がアクセス可能なメモリと、ユーザの動作を取得する入力部とを備え、前記入力部が取得したユーザの動きから、少なくとも動きの起点及び終点の情報を含むタッチストローク情報を抽出する特徴抽出部と、前記抽出された起点及び終点の情報に基づいて、動きの方向を少なくとも二つの所定の方向に分ける選択器と、前記少なくとも二つの方向に対応して設けられ、第1の操作者の動作及び他の操作者の動作を学習し、前記動作にかかるユーザが前記第1の操作者であるかを識別する分類器とを有することを特徴とする。
本発明によれば、認証システムの認証精度を向上できる。
実施例1の認証システムの構成を示す論理ブロック図である。 実施例1の認証が実行される端末のハードウェア構成を示すブロック図である。 実施例1の認証における投票モデルを示す図である。 実施例1のストロークデータから抽出される特徴量の例を示す図である。 実施例1の訓練処理のフローチャートである。 実施例1の認証処理のフローチャートである。 実施例1の分類器による本人判定処理のフローチャートである。 実施例1の多数決投票処理のフローチャートである。 実施例1の決選投票処理のフローチャートである。 実施例2の認証システムの構成を示すブロック図である。 実施例3の認証システムの構成を示すブロック図である。
<実施例1>
本発明の一実施例として、スマートフォンにおけるパッシブ認証について説明する。
スマートフォンはセキュリティ性の向上が求められる一方で、スマートフォンが日常的に使用されているという点から、セキュリティ性と操作性のバランスは必要不可欠である。セキュリティ性と操作性を両立させる方法として、「アクティブ認証」と「パッシブ認証」とを組み合わせた認証手法が注目を集めている。アクティブ認証は、ユーザが設定したパスコードや生体の特徴量を用いて本人であることを認証する。パッシブ認証は、認証のために文字を入力したり生体を提示するなどの特別な操作を必要とせず、ユーザの通常の操作を用いて認証する。パッシブ認証の例としては、リスクベース認証が挙げられる。リスクベース認証では、過去のログデータやIPアドレスなどの情報を基に通常の利用者の行動パターンとの一致度により認証が行われ、不正のリスクに基づいて追加の認証が行われる。リスクベース認証はスマートフォンの各種アプリケーションにおいても広く採用されており、不正が疑われる場合に「秘密の質問」などを促すアプリケーションが存在する。しかし、単にスマートフォンを操作して個人情報を不正参照するような場合は、必ずしも従来のリスクベース認証では、捕捉しにくい。
そこで本願は、スマートフォンで普通に利用されているタッチストロークを基にしたフリックなどの基本操作自体の特徴を用いて、より汎用で精度の高いパッシブ認証を実現する。
このような観点から、本実施例の認証システムでは、以下の3段階で認証を行う。
1.生体認証、パスコードなどの標準的なアクティブ認証
2.ユーザの操作によるストロークを用いたパッシブ認証
3.2段階目おいて不正が疑われる場合、標準的な認証による追加のアクティブ認証
以後、本実施例では2段階目のパッシブ認証について説明し、1段階目と3段階目の認証はスマートフォンなどに標準的に搭載されている認証機能を使用する。
また、2段階目のパッシブ認証において、耐模倣性を向上し、第三者によって自身のタッチストロークが模倣された場合に頑健な認証システムを実現する。これにより、第三者による覗き見や不正使用にも対応が可能となる。
また、本発明の認証技術は、個人を認証する方法にかかるものであり、前述したパッシブ認証に適用でき、特に、アプリケーションの動作時に操作者が本人でないことを認識して、アプリケーション(例えば、銀行、証券などの金融アプリ)の動作を停止する技術として好適である。また、本発明の認証技術は、アクティブ認証にも適用でき、例えば、アプリケーションの起動時にロックを解除するための認証や、ロック状態から端末を起動する際の認証にも適用できる。
また、実施例1で説明するスマートフォンにおける認証だけでなく、現金自動支払機(ATM)、パーソナルコンピュータ、タブレット端末、デジタルサイネージ装置など、使用の際及び使用中における認証が必要な装置に適用できる。
以下、本発明の認証方法について、スマートフォンで行われるパッシブ認証の実施例を説明する。
図1は、実施例1の認証システムの構成を示す論理ブロック図である。
本実施例のパッシブ認証では、予め用意した訓練用ストロークデータ151を用いて学習した分類器182を生成する。分類器182の生成には、例えば、オンライン学習器であるAROWのアルゴリズムを用いることができる。AROWのアルゴリズムについては、K. Crammer, A. Kulesza, and M. Dredzeによる"Adaptive Regularization of Weight Vectors," Proc. of 23th Adv. Neural Inf. Process. Syst. 22, pp.414-422, 2009年に詳しいので、本明細書での説明は省略する。訓練データには、正規の利用者である「本人」のデータと、本人以外の「偽者」データとが含まれ、「偽者」には他人が操作したストロークデータの他、他人が本人の動作を模倣したストロークデータを含めるとよい。訓練用データセットに加えられる他人のストロークデータは、予め収集されたデータでも、疑似データでもよい。後述する実施例2のように、複数の端末10からストロークデータを収集する計算機30から他人のストロークデータを取得してもよい。
本実施例では、分類器182の生成において、特徴抽出部190が訓練用ストロークデータ151からストロークデータの特徴量を抽出し、区分基準に基づき「ストローク方向」(direction)のデータを生成する。訓練部19では、方向セレクタ191がこの「ストローク方向」により訓練用ストロークデータ151を分けて、ストローク方向毎に複数の分類器182が生成される。ストローク方向の区分基準としては、例えば、真上から±90度の範囲の上方向と、真下から±90度の範囲の下方向の二つに分けるとよい。また、画面水平左から±90度の範囲の左方向と、水平右から±90度の範囲の右方向の二つに分けてもよい。また、真上を基準として、所定の角度範囲(例えば60度毎に六つの方向の範囲)に分けてもよい。
ストロークの角度は、三角関数を用いて、以下の式で計算される(図4参照)。
angleEE = tan(|stopY - startY|/|stopX - startX|)
操作者の指の動きは方向によって異なるため、ストローク方向別に分類器182を生成することによって、正しい本人を誤って拒否する確率である本人拒否率(FRR:False Rejection Rate)と、本人ではない者(偽者)を誤って受け入れる確率である他人受入率(FAR:False Acceptance Rate)を低減でき、等価エラー率(EER:Equal Error Rate)を低減できる。
このような学習によって、分類器182に、ストロークデータの特徴量を入力とし、本人である確率を出力するニューラルネットワークが形成される。
分類器182の生成後、端末10の画面操作時のタッチストロークを監視し、ストローク単位で継続的な認証を行う。本実施例の認証システムでは、特徴抽出部180が認証用ストロークデータ152からストロークデータの特徴量を抽出し、訓練部19と同じ区分基準で、「ストローク方向」のデータを生成する。認証部18では、方向セレクタ181がストローク方向でストロークデータを、ストローク方向毎に生成された複数の分類器182のいずれかに振り分けて出力し、その出力を受けた分類器182の一つがが本人であるかを判定する。例えば、ストローク方向が「上」のストロークデータは、予め「上」のストローク方向のデータで訓練された分類器が適用されることになる。ストローク方向の区分は、分類器182の生成時と同じである。また、分類器182による判定、多数決投票モデル183による投票、決選投票モデル184による投票の3回の判定によって最終的な認証結果を出力する。
決選投票モデル184による決選投票の結果、所有者以外の使用が疑われる場合は3回目の「標準的な認証による追加のアクティブ認証」へと移行し、3回目の認証結果を用いて分類器182を更新する。このとき、分類器182の更新結果を直ちに認証結果へ反映するために、ストロークバッファ中の全ストロークについて分類器182の更新後に再判定を行う。
図2は、実施例1の認証が実行される端末10のハードウェア構成を示すブロック図である。
端末10は、プロセッサ(CPU)11、メモリ12、記憶装置13、入出力部14及び通信部15を有するスマートフォンやタブレット端末などの通信端末である。
プロセッサ11は、メモリ12に格納されたプログラム(演算処理)を実行する演算装置である。プロセッサ11が、各種プログラムを実行することによって、端末10の各種機能が実現される。なお、プロセッサ11がプログラムを実行して行う処理の一部を、他の演算装置(例えば、FPGAやASICなどのハードウェアによる演算装置)で実行してもよい。
プロセッサ11では、オペレーティングシステム(OS)16、アプリケーションプログラム17、認証部18及び訓練部19が動作する。これらの機能は、プロセッサ11が実行するプログラムによって実現される。オペレーティングシステム16は、ファイルの入出力など端末10の基本的な機能を提供する。アプリケーションプログラム17は、ウェブブラウザ、メールなど特定の機能をユーザに提供する。図示していないが、特徴抽出部180及び特徴抽出部190の機能も同様に提供され、必要な前処理を実行する。認証部18は、入出力部14に入力されたストロークデータを取得し、前述した第1段階のアクティブ認証、第3段階のアクティブ認証、及び第2段階のストロークデータを用いたパッシブ認証を行う。訓練部19は、認証部18によるパッシブ認証のための分類器182の訓練を行う。認証部18及び訓練部19は、アプリケーションプログラム17に内蔵されるとよいが、アプリケーションプログラム17とは別に設けられてもよく、オペレーティングシステム16に内蔵されてもよい。
メモリ12は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサ11が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
記憶装置13は、例えば、フラッシュメモリ(SSD)、磁気記憶装置(HDD)等の大容量かつ不揮発性の記憶装置である。また、記憶装置13は、プロセッサ11がプログラムの実行時に使用するデータ、及びプロセッサ11が実行するプログラムを格納する。すなわち、プログラムは、記憶装置13から読み出されて、メモリ12にロードされて、プロセッサ11によって実行されることによって、端末10の機能を実現する。
入出力部14は、タッチパネルなどの入力装置と、液晶表示パネルなどの出力装置で構成されるインターフェースである。入力装置は、ユーザからの入力を受ける装置であり、本実施例ではユーザの指や手の動きによるストロークデータを取得する。取得されるストロークデータは操作面の座標の時系列データで表される。なお、入力装置は、端末10に実装されたカメラでもよい。例えば、端末10であるデジタルサイネージ端末の前にいるユーザの動作をカメラで撮影して手や体の一部の動きを示すストロークデータを取得してもよい。出力装置は、ディスプレイ装置であり、プログラムの実行結果をユーザが視認可能な形式で出力する。
通信部15は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。
プロセッサ11が実行するプログラムは、ネットワーク又はリムーバブルメディア(CD-ROM、フラッシュメモリなど)を介して端末10に提供され、非一時的記憶媒体である不揮発性の記憶装置13に格納される。このため、端末10は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
図3は、実施例1の認証における投票モデルを示す図である。
本実施例のパッシブ認証における投票モデルは、図3に示すように、分類器182による判定、多数決投票モデル183における投票、決選投票モデル184における投票の3回の判定によって最終的な認証結果を出力する。
分類器182は、ユーザの操作によって生じたストロークデータから特徴抽出部180が生成した入力ベクトルを用いて、該ストロークデータが本人のものである確率を算出し、算出された確率を所定の閾値で判定して、本人であるか偽者であるかの2値の判定結果を出力する。ストロークデータから生成される入力ベクトルは、ストロークデータから抽出された特徴量を要素とする多次元ベクトルであり、ストロークデータから抽出される。入力ベクトルの要素となる特徴量は、図4にいつかを例示するが、例えば以下のものを使用できる。
ストローク開始時のXY座標 startX, startY
ストローク終了時のXY座標 stopX, stopY
ストロークの20%、50%、80%地点におけるXY座標 (x20, y20)(x50, y50)(x80, y80)
ストローク開始時の圧力 startPressure
ストローク終了時の圧力 stopPressure
ストロークの中間地点における圧力 midPressure
ストローク中の最大圧力 maxPressure
ストローク中の平均圧力 averagePressure
ストローク中の平均速度(ピクセル/秒) averageVelocity
ストロークの20%、50%、80%地点におけるストローク速度(ピクセル/秒) vel20, vel50, vel80
ストロークにかかった時間(秒) strokeDuration
ストローク間隔時間(秒) interStrokeTime
ストロークの開始地点と終了地点のユークリッド距離(ピクセル) lengthEE
ストロークの開始地点と終了地点がなす角度(度)angleEE
ストローク軌跡の長さ(ピクセル) lengthTrj
lengthEEとlengthTrjの比 ratioTrj2EE = lengthTrj / lengthEE
ストロークの方向(上方向/下方向の2値) direction
多数決投票モデル183は、含めうる判定結果の数であるサイズが奇数であるウィンドウ185を有し、ウィンドウ185に含まれる分類器182の判定結果を用いて本人か偽者かを投票で決定する。例えば、図3に示すウィンドウ185cでは、三つが本人判定、二つが偽者判定であり、本人判定が過半数なので、多数決投票で本人であると判定される。一方、ウィンドウ185dでは、二つが本人判定、三つが偽者判定であり、偽者判定が過半数なので、多数決投票で偽者であると判定される。ウィンドウ185のサイズは、図3に示すように5でもよいが、奇数であれば他の数でもよい。なお、多数決投票モデル183による投票の判定基準は過半数でなく、予め定めた所定数(5個中の4個など)でもよい。
多数決投票モデル183に入力される判定結果は、複数の方向のストロークを用いた時系列の判定結果を含むので、特定の方向のストローク操作が続く場合でも、多数決投票モデル183による判定に遅れが生じず、高い汎用性を実現できる。例えば、下スクロールが連続する操作や、上下方向に均等に画面を遷移する操作など異なる傾向のアプリケーションでも判定タイミングが遅れることがない。
多数決投票モデル183では、多数決投票が行われる毎にウィンドウ185が一つ後の時間、すなわち一つ後のストロークに基づく判定結果にシフトして次の多数決投票を行う。すなわち、ウィンドウ185aの多数決投票後、分類器182の最古の判定結果をウィンドウ185から削除し、分類器182の次の判定結果をウィンドウ185に追加して、ウィンドウ185bとなる。これによって、ウィンドウ185b、185cで判定が行われると、三つが本人判定、二つが偽者判定であり、本人判定が過半数なので、多数決投票で本人が維持される。その後、ウィンドウ185dでは、二つが本人判定、三つが偽者判定であり、偽者判定が過半数なので、多数決投票で偽者であると判定され、判定結果が変わる。
決選投票モデル184は、含めうる投票結果の数であるサイズが奇数であるウィンドウ186を有し、ウィンドウ186に含まれる多数決投票モデル183の投票結果を用いて本人か偽者かを投票で決定して、最終的な認証結果を出力する。例えば、図3に示すウィンドウ186aでは、三つが本人判定、二つが偽者判定であり、本人判定が過半数なので、決選投票で本人であると判定される。ウィンドウ186のサイズは、図3に示すように5でもよいが、奇数であれば他の数でもよい。決選投票モデル184のウィンドウ186のサイズは、多数決投票モデル183のウィンドウ186のサイズと同じでもよいが、異なってもよい。
決選投票モデル184では、決選投票が行われる毎にウィンドウ186が一つ後の時間、すなわち一つ後のストロークを用いた投票結果にシフトして次の決選投票を行う。ウィンドウ186aの決選投票後、多数決投票モデル183による最古の投票結果をウィンドウ186から削除し、多数決投票モデル183による次の投票結果をウィンドウ186に追加して、ウィンドウ186bとなる。これによって、ウィンドウ186bで判定が行われると、二つが本人判定、三つが偽者判定となり、偽者判定が過半数なので、決選投票で偽者であると判定される。その後、ウィンドウ186cでは、一つが本人判定、四つが偽者判定となり、ウィンドウ186d~186eでは全てが偽者判定となるので、いずれの場合でも決選投票で偽者であると判定される。なお、決選投票モデル184による投票の判定基準は過半数でなく、予め定めた所定数(5個中の4個など)でもよい。
本実施例では、多数決投票モデル183と決選投票モデル184の2回の投票で本人か偽者かを決定したが、決選投票モデル184による投票を行わず、多数決投票モデル183による1回の投票によって本人か偽者かを決定してもよい。
なお、分類器182、多数決投票モデル183及び決選投票モデル184は別個に動作し、分類器182による判定、多数決投票モデル183における投票、決選投票モデル184における投票はそれぞれのタイミングで実行され、分類器182による判定結果及び多数決投票モデル183における投票結果はバッファに格納され、次の判定に使用される。
図5は、実施例1の訓練処理のフローチャートである。
訓練処理を開始すると、訓練部19は、分類器182が生成されているかを判定する(100)。分類器182が生成済みであれば、分類器182を新たに生成する必要がないので、以後の処理を実行せずに訓練処理を終了する。一方、分類器182が生成されていなければ、新たに分類器182を生成する処理を開始する。
訓練時には、時系列的に複数のストロークデータが取得されて、ストロークバッファに一時的に格納される。訓練部19は、訓練用ストロークデータ151として提供されるストロークデータをストロークバッファから一つ取得し(101)、取得したストロークデータを訓練用データセットに格納し(102)、訓練用データセットの要素数が所定数以上であるかを判定する(103)。訓練用データ数の閾値は、後述する方向別に定めるとよい。さらに、当該方向毎の閾値は同じとして、方向毎の訓練用ストロークデータ151を同量とするとよい。
訓練用データセットの要素数が所定数より小さければ、ステップ101に戻り、さらにストロークデータを取得して、訓練用ストロークデータ151の数を増やす。一方、訓練用データセットの要素数が所定数以上であれば、訓練用のストロークデータが十分に収集されているので、訓練用データセットを用いてストローク方向別に分類器182を生成する(104)。具体的には、訓練用データセットに他人のストロークデータを加え、特徴抽出部190が訓練用データセットに含まれる訓練用ストロークデータ151からストロークデータの特徴量を抽出し、方向セレクタ191が訓練用データセット含まれるストロークデータを予め定められた方向別に分けて、方向別訓練用データを生成して、方向別の分類器182を生成する。
次に、図6から図9を参照して、実施例1の認証処理を説明する。
分類器182の生成後、端末10におけるパッシブ認証が使用可能となる。
図6は、実施例1の認証処理の全体のフローチャートである。認証処理を開始すると、認証部18は、生体認証(指紋認証、顔認証など)、パスコード認証などの標準認証による第1段階の認証を求めて、本人であるかを判定する(110)。標準認証によって本人であると判定された場合、アプリケーションプログラム17の起動を許可し、アプリケーションプログラム17の起動中におけるパッシブ認証処理(第2段階の認証)を開始する。
パッシブ認証処理において、認証部18は、分類器182による本人判定処理(111)、多数決投票モデル183における多数決投票処理(112)、決選投票モデル184における決選投票処理(113)を実行する。各処理の詳細は図7から図9を参照して後述する。
決選投票処理(113)の後、認証部18は、決選投票の結果が本人であるかを判定する(114)。決選投票の結果が本人である場合、認証部18は、ストロークバッファの先頭に格納されているストロークデータを削除し(120)、アプリケーションプログラム17が動作中であるかを判定する(121)。アプリケーションプログラム17が動作中であれば、ステップ111に戻り、さらに認証処理を続ける。一方、アプリケーションプログラム17が動作中でなければ、この認証処理を終了する。
ステップ114における決選投票の結果が本人でない場合、認証部18は、生体認証(指紋認証、顔認証など)、パスコード認証などの標準認証による追加の認証(第3段階の認証)を求めて、本人であるかを判定する(115)。
追加の認証によって本人でないと判定された場合(ステップ116でNO)、認証部18は、端末10の現在の操作者が本人でない可能性が高いので、アプリケーションプログラム17の動作を停止し、この認証処理を終了する。
一方、追加の認証によって本人であると判定された場合(ステップ116でYES)、認証部18は、ストロークバッファ中の全ストロークデータを本人データとして分類器182を再学習する(117)。そして、再学習した分類器182が、ストロークバッファの全ストロークデータを再判定し、再判定の結果を用いて、多数決投票と決選投票を行って、決選投票の結果を更新する(118)。その後、認証部18は、ストロークバッファの先頭に格納されているストロークデータを削除する(119)。その後、本人判定処理(111)に戻って、継続してパッシブ認証処理を行う。
図7は、実施例1の分類器182による本人判定処理(111)のフローチャートである。本人判定処理において、認証部18は、認証用ストロークデータ152として使用する最新のストロークデータを一つ取得し(130)、取得したストロークデータをストロークバッファに格納する(131)。取得するストロークデータは画面上の特定の操作時(例えば上下スクロール時)に限定してもよい。
その後、特徴抽出部180は、ストロークバッファに格納された認証用ストロークデータ152からストロークデータの特徴量を抽出する。そして、方向セレクタ181は、タッチストロークのストローク方向を抽出し、ストローク方向に対応する分類器182にストロークデータの特徴量を入力する(132)。
ストローク方向に対応する分類器182は、ストロークの特徴量を用いて、本人のストロークであるかを判定し(133)、判定結果を出力する(134)。
図8は、実施例1の多数決投票モデル183における多数決投票処理(112)のフローチャートである。多数決投票モデル183は、分類器182の判定結果を多数決投票キューの末尾に格納し(140)、多数決キューに格納された判定結果の数がウィンドウ185のサイズ以上であるかを判定する(141)。判定の結果、多数決キューに格納された判定結果の数がウィンドウ185のサイズより小さければ、多数決による正確な判定が困難なので、ステップ140に戻り、さらに分類器181の判定結果を取得する。一方、多数決キューに格納された判定結果の数がウィンドウ185のサイズ以上であれば、多数決投票モデル183は、多数決投票キューに含まれる判定結果で多数決投票を行う(142)。
次に、多数決投票モデル183は、多数決投票キューの先頭に格納されている分類器182の判定結果をウィンドウ185から削除し、分類器182の次の判定結果をウィンドウ185に追加する(143)。すなわち、多数決投票が行われる毎にウィンドウ185は一つ後の時間(すなわち一つ後の判定結果)にシフトして次の多数決投票を行う。その後、多数決投票モデル183は、多数決投票の結果を出力する(144)。
図9は、実施例1の決選投票モデル184における決選投票処理(113)のフローチャートである。決選投票モデル184は、多数決投票の投票結果を決選投票キューの末尾に格納し(150)、決選投票キューに格納された投票結果の数がウィンドウ186のサイズ以上であるかを判定する(151)。判定の結果、決選投票キューに格納された投票結果の数がウィンドウ186のサイズより小さければ、決選投票による判定が不可能なので、ステップ150に戻り、さらに多数決投票モデル183による多数決投票を取得する。一方、決選投票キューに格納された投票結果の数がウィンドウ186のサイズ以上であれば、決選投票モデル184は、決選投票キューに含まれる投票結果を多数決により決選投票を行う(152)。例えば、図3に示すウィンドウ186aでは本人判定が3で偽者判定が2であり、本人判定が過半数なので、決選投票で本人であると判定される。
次に、決選投票モデル184は、決選投票キューの先頭に格納されている多数決投票モデル183における投票結果をウィンドウ186から削除し、多数決投票モデル183における次の投票結果をウィンドウ186に追加する(153)。すなわち、決選投票が行われる毎にウィンドウ186は一つ後の時間(すなわち一つ後の多数決投票結果)にシフトして次の決選投票を行う。その後、決選投票モデル184は、決選投票の結果を出力する(154)。
なお、本実施例の多数決投票モデル183や決選投票モデル184で用いるウィンドウ185のサイズは、13以上とするのが好適である。
なお、本実施例の多数決投票モデル183、決選投票モデル184では「過半数」を判定閾値とした例を示したが、個別のストローク毎の識別率、バッファのサイズ等により、「予め定めた所定数以上の場合に本人と識別する」ように構成しても構わない。例えば、ウィンドウサイズが13である場合、投票の判定閾値を過半数の7より多い8とすることによって、本人判定の確実性を向上できる。
以上に説明したように、本発明の実施例の認証システムによると、ストローク方向別に分類器182を設け、ストローク方向別に識別させることによって、認証精度を向上できる。また、本人のストロークの真似は困難であり、第三者による覗き見や不正使用にも対応可能な認証システムを構築できる。さらに、第三者によって本人の操作を模倣したタッチストロークを検出可能な頑健な認証システムを構築できる。また、連続した所定数のストローク毎の判定結果を用いた多数決投票によって本人であるかを判定することによって、さらに精度を高めることができる。また、この所定数は方向にかかわりなくカウントされるので、特定の方向のストローク操作が続く場合など、アプリケーションで傾向によらず、判定に遅れが生じず、高い汎用性を実現できる。例えば、下スクロールが連続する操作や、上下方向に均等に画面を遷移する操作など異なる傾向のアプリケーションでも判定タイミングが遅くならない汎用性を有する。また、訓練データに本人のストロークを模倣したストロークデータを採用することによって、さらに精度を高められる。
また、本願発明者が行った実験によると、ストローク方向を上下の2方向に分けると、実験1ではEERが0.54から0.03に改善し、実験2ではEERが0.32から0.00(検出不能)まで改善した。各実験の条件は以下の通りである。
・実験1
訓練データ数(本人) :8000
訓練データ数(他人) :8000
テストデータ数(本人):800
テストデータ数(他人):800
・実験2
訓練データ数(本人) :8000
訓練データ数(他人) :4000(他人の操作)+4000(本人を模倣した操作)
テストデータ数(本人):800
テストデータ数(他人):800
<実施例2>
次に、本発明の実施例2の認証システムについて説明する。実施例2の認証システムでは、端末10が取得したストロークデータを計算機30が収集して、偽者データとして端末10に配布する。なお、実施例2において、実施例1と同じ構成及び機能には同じ符号を付し、それらの説明は省略する。
図10は、実施例2の認証システムの構成を示すブロック図である。
実施例2の認証システムは、端末10と計算機30で構成され、端末10と計算機30はネットワーク50で接続される。端末10の構成は前述した実施例1と同じであるが、収集したストロークデータを計算機30に送信する機能が追加される。
計算機30は、プロセッサ(CPU)31、メモリ32、記憶装置33、入出力部34及び通信部35を有するサーバやパーソナルコンピュータなどの計算機である。
プロセッサ31は、メモリ12に格納されたプログラム(演算処理)を実行する演算装置である。プロセッサ31が、各種プログラムを実行することによって、計算機30の各種機能が実現される。なお、プロセッサ31がプログラムを実行して行う処理の一部を、他の演算装置(例えば、FPGAやASICなどのハードウェアによる演算装置)で実行してもよい。
プロセッサ31では、オペレーティングシステム(OS)36、データ収集部40が動作する。これらの機能は、プロセッサ31が実行するプログラムによって実現される。オペレーティングシステム36は、ファイルの入出力など計算機30の基本的な機能を提供する。データ収集部40は、端末10に入力されたストロークデータを収集し、訓練用の偽者データを生成する。データ収集部40が収集した訓練用の偽者データは、端末10に提供され、分類器182の生成に使用される。
メモリ32は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサ11が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
記憶装置33は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置である。また、記憶装置33は、プロセッサ31がプログラムの実行時に使用するデータ、及びプロセッサ31が実行するプログラムを格納する。すなわち、プログラムは、記憶装置33から読み出されて、メモリ32にロードされて、プロセッサ31によって実行されることによって、計算機30の機能を実現する。
入出力部34は、ユーザからの入力を受けるキーボードやマウスなどの入力装置と、プログラムの実行結果をユーザが視認可能な形式で出力するディスプレイ装置やプリンタなどの出力装置とで構成される。なお、計算機30にネットワーク50を介して接続された端末が入出力部34を提供してもよい。
通信部35は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。
プロセッサ31が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介して計算機30に提供され、非一時的記憶媒体である不揮発性の記憶装置33に格納される。このため、計算機30は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
計算機30は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、複数の物理的計算機資源上に構築された仮想計算機上で動作するものでもよい。
ネットワーク50は、有線ネットワーク及び無線ネットワークのいずれでもよく、有線ネットワーク及び無線ネットワークの両方によって構成されてもよい。
実施例2の認証システムでは、計算機30が複数の端末10から収集したストロークデータを訓練用の偽者データとして使用するので、本人拒否率と他人受入率をより低減でき、等価エラー率をより低減できる。
<実施例3>
次に、本発明の実施例3の認証システムについて説明する。実施例1の認証システムは、端末10が単独で動作するものであるが、実施例3の認証システムでは、端末10が取得したストロークデータを用いて計算機30が認証処理を実行する。なお、実施例3において、実施例1又は2と同じ構成及び機能には同じ符号を付し、それらの説明は省略する。
図11は、実施例3の認証システムの構成を示すブロック図である。
実施例3の認証システムは、端末10と計算機30で構成され、端末10と計算機30はネットワーク50で接続される。
端末10は、プロセッサ(CPU)11、メモリ12、記憶装置13、入出力部14及び通信部15を有するスマートフォンやタブレット端末などの通信端末である。プロセッサ11、メモリ12、記憶装置13、入出力部14及び通信部15の機能は、前述した実施例1と同じである。
プロセッサ11では、オペレーティングシステム(OS)16、アプリケーションプログラム17及びストローク取得部20が動作する。これらの機能は、プロセッサ11が実行するプログラムによって実現される。ストローク取得部20は、入出力部14に入力されたストロークデータを取得し、計算機30に送信する。計算機30に送信されるストロークデータは、入出力部14に入力されたストロークデータそのままでも、ストロークデータから抽出された特徴量のデータでもよい。ストロークデータから抽出された特徴量のデータを計算機30に送信することによって、端末10から計算機30へ送信されるデータ量を低減でき、認証のレスポンスを高速化できる。ストローク取得部20は、アプリケーションプログラム17に内蔵されるとよいが、アプリケーションプログラム17とは別に設けられてもよく、オペレーティングシステム16に内蔵されてもよい。
計算機30は、プロセッサ(CPU)31、メモリ32、記憶装置33、入出力部34及び通信部35を有するサーバやパーソナルコンピュータなどの計算機である。プロセッサ31、メモリ32、記憶装置33、入出力部34及び通信部35の機能は、前述した実施例2と同じである。
プロセッサ31では、オペレーティングシステム(OS)36、認証部38、訓練部39及びデータ収集部40が動作する。これらの機能は、プロセッサ31が実行するプログラムによって実現される。オペレーティングシステム36は、ファイルの入出力など計算機30の基本的な機能を提供する。認証部38は、前述した第1段階のアクティブ認証、第3段階のアクティブ認証、及び第2段階のストロークデータを用いたパッシブ認証を行う。具体的には、端末10(ストローク取得部20)から送信されたストロークデータ又はストロークの特徴量データを分類器182に入力して、当該ストロークが本人の操作に起因するかを判定し、判定結果を端末10に送信する。データ収集部40は、端末10に入力されたストロークデータを収集し、訓練用の偽者データを生成する。訓練部39は、データ収集部40が収集した訓練用データを用いて、認証部38によるパッシブ認証のための分類器182の訓練を行う。
実施例3の認証システムでは、認証処理を端末10で行わないので、処理能力が低い端末10でも本発明の認証処理が可能となる。なお、本実施例で詳説したストローク取得部20のプログラムは、前述した実施例1、2(図2、図10に示す端末10)でも実装されている(図省略)。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
10 端末
11、31 プロセッサ
12、32 メモリ
13、33 記憶装置
14、34 入出力部
15、35 通信部
16、36 オペレーティングシステム
17 アプリケーションプログラム
18、38 認証部
19、39 訓練部
20 ストローク取得部
30 計算機
40 データ収集部
50 ネットワーク
151 訓練用ストロークデータ
152 認証用ストロークデータ
180、190 特徴抽出部
181、191 方向セレクタ
182 分類器
183 多数決投票モデル
184 決選投票モデル
185、186 ウィンドウ

Claims (6)

  1. ユーザの動作を用いて認証を行う認証システムであって、
    所定の演算処理を実行する演算装置と、前記演算装置がアクセス可能なメモリと、ユーザの動作を取得する入力部とを備え、
    前記入力部が取得したユーザの動きから、少なくとも動きの起点及び終点の情報を含むタッチストローク情報を抽出する特徴抽出部と、
    前記抽出された起点及び終点の情報に基づいて、動きの方向を少なくとも二つの所定の方向に分ける選択器と、
    前記少なくとも二つの方向に対応して設けられ、第1の操作者の動作及び他の操作者の動作を学習し、前記取得した動作にかかるユーザが前記第1の操作者であるかを識別する分類器とを有することを特徴とする認証システム。
  2. 請求項1に記載の認証システムであって、
    前記分類器は、他の操作者が前記第1の操作者の動作を模倣した動作を含む訓練データで学習したものであることを特徴とする認証システム。
  3. 請求項1に記載の認証システムであって、
    前記分類器の識別結果を用いて認証の成否を判定する多数決部を有し、
    前記多数決部は、
    前記分類器の識別結果を時系列で複数個格納する第1のウィンドウバッファを有し、
    前記第1のウィンドウバッファに格納された判定結果のうち所定数以上が第1の操作者である場合に、認証成功の投票結果を出力することを特徴とする認証システム。
  4. 請求項3に記載の認証システムであって、
    前記多数決部の投票結果を用いて認証の成否を判定する決選投票部を有し、
    前記決選投票部は、
    前記多数決部の投票結果を時系列で複数個格納する第2のウィンドウバッファを有し、
    前記第2のウィンドウバッファに格納された投票結果ののうち所定数以上が第1の操作者である場合に、認証成功の投票結果を出力することを特徴とする認証システム。
  5. 認証システムがユーザの動作を用いて認証を行うための認証プログラムであって、
    前記認証システムは、所定の演算処理を実行する演算装置と、前記演算装置がアクセス可能なメモリと、ユーザの動作を取得する入力部とを有し、
    前記入力部が取得したユーザの動きから、少なくとも動きの起点及び終点の情報を含むタッチストローク情報を抽出する特徴抽出手順と、
    前記抽出された起点及び終点の情報に基づいて、動きの方向を少なくとも二つの所定の方向に分ける選択手順と、
    前記少なくとも二つの方向に対応して設けられ、第1の操作者の動作及び他の操作者の動作を学習し、前記取得した動作にかかるユーザが前記第1の操作者であるかを識別する分類手順とを前記演算装置に実行させるための認証プログラム。
  6. 認証システムがユーザの動作を用いて認証を行う認証方法であって、
    ユーザの動作を用いて認証を行う認証システムであって、
    前記認証システムは、所定の演算処理を実行する演算装置と、前記演算装置がアクセス可能なメモリと、ユーザの動作を取得する入力部とを有し、
    前記認証方法は、
    前記入力部が取得したユーザの動きから、少なくとも動きの起点及び終点の情報を含むタッチストローク情報を抽出する特徴抽出手順と、
    前記抽出された起点及び終点の情報に基づいて、動きの方向を少なくとも二つの所定の方向に分ける選択手順と、
    前記少なくとも二つの方向に対応して設けられ、第1の操作者の動作及び他の操作者の動作を学習し、前記取得した動作にかかるユーザが前記第1の操作者であるかを識別する分類手順とを含むことを特徴とする認証方法。
JP2020026997A 2020-02-20 2020-02-20 認証システム、認証プログラム及び認証方法 Active JP7312454B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020026997A JP7312454B2 (ja) 2020-02-20 2020-02-20 認証システム、認証プログラム及び認証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020026997A JP7312454B2 (ja) 2020-02-20 2020-02-20 認証システム、認証プログラム及び認証方法

Publications (2)

Publication Number Publication Date
JP2021131746A JP2021131746A (ja) 2021-09-09
JP7312454B2 true JP7312454B2 (ja) 2023-07-21

Family

ID=77551046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020026997A Active JP7312454B2 (ja) 2020-02-20 2020-02-20 認証システム、認証プログラム及び認証方法

Country Status (1)

Country Link
JP (1) JP7312454B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006527882A (ja) 2003-06-17 2006-12-07 三菱電機株式会社 画像内の特定のオブジェクトを検出する方法及びシステム
US20140300554A1 (en) 2013-04-05 2014-10-09 Microsoft Corporation Behavior based authentication for touch screen devices
WO2014188635A1 (ja) 2013-05-20 2014-11-27 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006527882A (ja) 2003-06-17 2006-12-07 三菱電機株式会社 画像内の特定のオブジェクトを検出する方法及びシステム
US20140300554A1 (en) 2013-04-05 2014-10-09 Microsoft Corporation Behavior based authentication for touch screen devices
WO2014188635A1 (ja) 2013-05-20 2014-11-27 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP2021131746A (ja) 2021-09-09

Similar Documents

Publication Publication Date Title
US11272362B2 (en) System and method for implicit authentication
Mahfouz et al. A survey on behavioral biometric authentication on smartphones
Gascon et al. Continuous authentication on mobile devices by analysis of typing motion behavior
Shen et al. Performance analysis of touch-interaction behavior for active smartphone authentication
Buschek et al. Improving accuracy, applicability and usability of keystroke biometrics on mobile touchscreen devices
US9788203B2 (en) System and method for implicit authentication
Kambourakis et al. Introducing touchstroke: keystroke‐based authentication system for smartphones
Meng et al. Surveying the development of biometric user authentication on mobile phones
Khan et al. Towards application-centric implicit authentication on smartphones
Neal et al. Surveying biometric authentication for mobile device security
Shahzad et al. Behavior based human authentication on touch screen devices using gestures and signatures
Lu et al. Safeguard: User reauthentication on smartphones via behavioral biometrics
Tolosana et al. BioTouchPass: Handwritten passwords for touchscreen biometrics
Koong et al. A user authentication scheme using physiological and behavioral biometrics for multitouch devices
Liu et al. Implementing multiple biometric features for a recall-based graphical keystroke dynamics authentication system on a smart phone
Smith-Creasey et al. A continuous user authentication scheme for mobile devices
Putri et al. A continuous fusion authentication for Android based on keystroke dynamics and touch gesture
Teh et al. Recognizing your touch: Towards strengthening mobile device authentication via touch dynamics integration
Syed et al. Effect of user posture and device size on the performance of touch-based authentication systems
Rilvan et al. Capacitive swipe gesture based smartphone user authentication and identification
Karanikiotis et al. Continuous implicit authentication through touch traces modelling
Wang et al. Towards DTW-based unlock scheme using handwritten graphics on smartphones
Canfora et al. Silent and continuous authentication in mobile environment
Alsuhibany et al. Analyzing the effectiveness of touch keystroke dynamic authentication for the Arabic language
JP7312454B2 (ja) 認証システム、認証プログラム及び認証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230620

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: 20230627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230703

R150 Certificate of patent or registration of utility model

Ref document number: 7312454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150