JP2019008369A - 情報処理装置、認証システム、認証方法およびプログラム - Google Patents
情報処理装置、認証システム、認証方法およびプログラム Download PDFInfo
- Publication number
- JP2019008369A JP2019008369A JP2017120746A JP2017120746A JP2019008369A JP 2019008369 A JP2019008369 A JP 2019008369A JP 2017120746 A JP2017120746 A JP 2017120746A JP 2017120746 A JP2017120746 A JP 2017120746A JP 2019008369 A JP2019008369 A JP 2019008369A
- Authority
- JP
- Japan
- Prior art keywords
- operator
- authentication
- input
- learning
- identification model
- 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.)
- Pending
Links
Images
Landscapes
- Collating Specific Patterns (AREA)
Abstract
【課題】操作者の入力操作に固有な特徴を事前に学習し、学習状態に応じた課題条件で、操作者による入力操作に基づいて、認証の許否を判断することが可能な情報処理装置を提供する。【解決手段】情報処理装置は、学習処理部120、認証方式判定部110及び入力操作方式認証部150を備える。学習処理部は、操作者の操作情報を収集し、収集された操作情報に基づく複数の学習データを用いて操作者の入力操作を識別するための操作者識別モデルを学習し、モデルに基づく認証の際に許容できる課題条件及び認証を許可するか否かを決定する。認証方式判定部は、モデルに基づく認証の要求に際して操作者に対しモデルに基づく認証が許可されるか否かを判定する。入力操作方式認証部は、許可される場合に、課題条件に応答した入力操作に対する、要求にかかる操作者のモデルによる複数の識別結果に基づいて、要求にかかる操作者の認証を成功させるか否かを判断する。【選択図】図2
Description
本発明は、情報処理装置、認証システム、認証方法およびプログラムに関し、より詳細には、認証機能を備える情報処理装置、認証システム、認証方法およびプログラムに関する。
近年、コンピュータで取り扱われるデータの重要性が高まる中、特定のユーザのみがアクセスできるデータを設けるという、データ保護の重要性が高まっている。データ保護の実現方法として、一般的にユーザ認証という技術が知られている。
ユーザ認証としては、様々な手段が提供されており、例えば、ユーザが設定した秘密のパスワードを入力することで認証成功とするパスワード認証方式のほか、指紋認証方式、顔認証方式、虹彩認証方式、PIN(Personal Identification Number)コード認証、ピクチャ認証など様々な方法が提案され、実用化されている。
従来の認証方式の中で、デスクトップ・コンピュータなどでは、指紋読み取りデバイスを備えていないなどの理由から、依然としてパスワード認証が最も利用されている。しかしながら、パスワード認証は、ユーザの使い勝手の点で充分なものではなかった。例えば、パスワード認証では、パスワード入力文字が隠されているため、入力間違いが多くなる傾向がある。また、ユーザ自身が自分の設定したパスワードを忘れてしまう可能性もある。さらに、ユーザが脆弱なパスワードを設定したり、デフォルトのパスワードのまま使用したりする場合のパスワード自体の脆弱性や、第三者に盗み見られるリスクなどもある。
その他、ユーザ認証に関連し、特許文献1(特開2000−132514号公報)も知られている。特許文献1は、パスワードそのものに加えて、個人のパスワードの入力動作を学習し、それを認証手段とする構成を開示している。これにより、パスワードの盗難による成り済ましを防止するというものである。
しかしながら、従来の技術や上記特許文献1の技術では、入力動作をパスワード認証の補助として用いる技術にすぎず、ユーザにとっては依然として複雑なパスワードを覚えて入力しなければならない点で充分なものではなかった。
本開示は、上記点に鑑みてなされたものであり、操作者の入力操作に固有な特徴を事前に学習し、学習状態に応じた課題条件で、操作者による入力操作に基づいて、認証の許否を判断することが可能な情報処理装置を提供することを目的とする。
本開示によれば、上記課題を解決するために、下記特徴を有した、操作者を認証する情報処理装置が提供される。本情報処理装置は、入力装置を介した操作者による操作情報を収集する収集手段と、収集された操作情報に基づく複数の学習データを用いて、該操作情報にかかる操作者の入力装置を介した入力操作を識別するための操作者識別モデルを学習する学習手段と、収集された操作情報に基づく1以上の検証データを用いて、学習にかかる操作者について操作者識別モデルに基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定する決定手段を含む。本情報処理装置は、さらに、操作者識別モデルに基づく認証の要求に際して、該要求にかかる操作者に対し操作者識別モデルに基づく認証が許可されるか否かを判定する判定手段と、許可される場合に、課題条件に応答した入力操作に対する、要求にかかる操作者の操作者識別モデルによる複数の識別結果に基づいて、要求にかかる操作者の認証を成功させるか否かを判断する認証判断手段とを含む。
上記構成により、操作者による入力操作に固有な特徴を事前に学習し、学習状態に応じた課題条件で、操作者による入力操作に基づいて、認証の許否を判断することが可能となる。
以下、本実施形態をもって説明するが、実施形態は、後述する実施形態に限定されるものではない。
本実施形態による情報処理装置、認証システムおよび認証方法は、キーボードなどの入力装置を介した操作者による入力操作を識別するために操作者識別モデルを事前に学習し、学習された操作者識別モデルを用いて、入力装置を介した入力操作に基づき、認証要求にかかる操作者の認証の許否を判断する構成を備える。
なお、以下の説明する実施形態においては、入力操作に基づく認証機能を単体で備える情報処理装置および該情報処理装置が実行する認証方法をそれぞれ一例として説明する。しかしながら、情報処理装置、認証システムおよび認証方法は、これらに限定されるものではない。他の実施形態においては、情報処理装置とクラウドやリモートサーバ側のリモートコンピュータとを含めた認証システムおよび情報処理装置とリモートコンピュータとが連携して実行する認証方法として構成されることを妨げるものではない。
以下、図1を参照しながら、まず、本実施形態による入力操作に基づく認証機能を備える情報処理装置のハードウェア構成について説明する。図1は、本実施形態による情報処理装置として用いられるコンピュータ10のハードウェア構成図である。コンピュータ10は、典型的には、汎用コンピュータとして構成されている。
図1に示すコンピュータ10は、CPU(Central Processing Unit)12と、CPU12とメモリとの接続を担うノースブリッジ14と、サウスブリッジ16とを含む。サウスブリッジ16は、上記ノースブリッジ14と専用バスまたはPCIバスを介して接続され、PCIバスやUSBなどのI/Oとの接続を担う。
ノースブリッジ14には、CPU12の作業領域を提供するRAM(Random Access Memory)18が接続されている。ノースブリッジ14には、さらに、映像信号を出力するグラフィックボード20が接続されてもよい。グラフィックボード20には、映像出力インタフェースを介してディスプレイ50が接続されてもよい。
サウスブリッジ16には、PCI(Peripheral Component Interconnect)22、LANポート24、IEEE1394ポート26、USBポート28、補助記憶装置30、オーディオ入出力32、シリアルポート34が接続され得る。補助記憶装置30は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などであり、コンピュータ10を制御するためのオペレーティング・システム、後述する機能部を実現するためのプログラムや各種システム情報や各種設定情報を格納する。LANポート24は、コンピュータ10を有線および無線でネットワークに接続させるインタフェース機器である。
USBポート28には、キーボード52およびマウス54などの入力装置が接続される。コンピュータは、補助記憶装置30から、オペレーティング・システムや、本実施形態による入力操作に基づく認証機能のためのプログラムを読み出し、RAM18が提供する作業空間に展開する。これにより、CPU12の制御の下、後述する各機能部および各処理が実現される。
本実施形態において、ディスプレイ50は、入力操作に基づく認証機能において操作者に入力を求める課題を表示する表示装置として用いられる。キーボード52は、本実施形態において、当該認証機能における入力操作を受け付ける入力装置として用いられる。
なお、本実施形態による入力操作に基づく認証機能を備える情報処理装置において、ディスプレイ50およびキーボード52に関しては、市販されている任意の製品を用いることができ、特に特殊な装置を要するものではない。情報処理装置自身としても、一般的なハードウェア構成を有すればよく、後述する機械学習アルゴリズムをバックグラウンドで実行ないし制御を行うのに充分な計算資源を有することが好ましいが、特別なハードウェアを要するものではない。また、図1に示すハードウェア構成は、一例であって、本実施形態による入力操作に基づく認証機能の認識精度を向上させるために、カメラなどの外部デバイスを備えていてもよい。さらに、入力装置としても、キーボード52を一例として説明するが、マウスやタッチパッドを備えてもよい。
図2は、本実施形態による情報処理装置において、上述した入力操作に基づく認証機能を提供するためのログイン認証モジュールの機能ブロック図である。図2に示すように、ログイン認証モジュール100の機能構成としては、認証方式判定部110と、パスワード方式認証部112と、学習処理部120と、入力操作方式認証部150とが含まれる。
なお、本実施形態によるログイン認証モジュール100は、所定のユーザ・アカウントについて、認証方式として入力操作に基づく認証方式(以下、入力操作認証方式と参照する。)が選択されている場合に、この所定のユーザ・アカウントのログイン認証処理の開始に応答して呼び出される。つまり、以下の説明においては、当該情報処理装置を操作する操作者に対応したユーザ・アカウントに対し、入力操作認証方式での認証が指定されているか、または、入力操作認証方式が選択肢として有効化されており、かつ、入力操作認証方式を指定して認証要求が行われたものとして説明する。
なお、以下に説明する実施形態では、コンピュータ上でデスクトップへアクセスするための資格情報を検証するログインないしサインイン処理において、本実施形態による入力操作認証方式の認証機能が提供されるものとして説明する。しかしながら、入力操作認証方式の認証機能の適用範囲は、ログインないしサインイン処理に限定されるものではない。他の実施形態では、ネットワーク共有フォルダなどのリソースへのアクセス時や、アプリケーションのインストールや設定変更などの際の管理者権限への昇格時に要求される認証手続に対して、入力操作認証方式の認証機能を適用することができる。さらに他の実施形態では、インターネットや組織内のネットワーク上で提供されるサービスやアプリケーションへのログインに対して、入力操作認証方式の認証機能を適用することもできる。
認証方式判定部110は、入力操作認証方式が指定される場合に、認証の要求があった際に、要求にかかる操作者に対し当該入力操作認証方式の認証が許可されるか否かを判定する。後述するように、認証の要求にかかる操作者について、当該入力操作認証方式の認証を行うための準備が未だ完了していない場合は、認証方式判定部110は、入力操作認証方式の認証を許可しないと判断し、代替認証のためパスワード方式認証部112を呼び出す。この場合、ログイン認証後、上記入力操作認証方式の認証の準備のために学習処理部120が呼び出される。当該入力操作認証方式の認証を行うための準備が完了している場合は、認証方式判定部110は、当該入力操作認証方式の認証を許可すると判断し、入力操作方式認証部150を呼び出す。認証方式判定部110は、本実施形態における判定手段を構成する。
パスワード方式認証部112は、通常のユーザ名およびパスワードを用いたパスワード認証を実行する。パスワード方式認証部112は、本実施形態のよる入力操作認証方式の認証が指定される場合であって、その準備が未完了の場合に呼び出されて、代替的に、パスワード認証によるログイン認証を行う。なお、代替方式に応じた各種設定、例えばパスワードの設定は、事前に行われているものとする。また、説明する実施形態では、代替方式として、パスワード認証を例示するが、特に限定されるものではなく、他の実施形態では、PINコード認証やピクチャ認証などが行われてもよい。
学習処理部120は、現在ログイン中のユーザ・アカウントに対応した操作者による入力装置を介した入力操作の情報を収集し、収集した操作情報に基づき複数の学習データを準備し、正当な操作者の入力操作を識別するための操作者識別モデルを学習する。ここで、操作者識別モデルとは、後述する予測器に対して、特定の操作者を認証するために学習によって生成されたパラメータを与えて構成される、入力が特定の操作者によるものかどうかを識別するためのニューラルネットワークなどのモデルを指す。なお、ここでは、所定の代替認証処理を通過しているので、現在ログイン中のユーザ・アカウントに対応した正当な操作者が各種操作を行っているものとみなしてもよい。学習処理部120は、入力操作認証方式の認証が指定される場合であって、少なくとも準備が未完了である場合に呼び出され、ログイン後、学習データの収集を行い、充分な学習が完了すると、入力操作認証方式の認証の許可を与える。
なお、説明する実施形態では、準備が未完了である場合に学習処理部120が呼び出されて、学習データの収集および学習が行われ、一方、入力操作認証方式の認証の許可が一旦与えられた以降については、学習処理部120が用いられないものとして説明する。しかしながら、このような態様に限定されるものではない。他の実施形態では、入力操作認証方式の認証の許可が一旦与えられた以降も、ログイン後、学習データの収集を行い、学習を継続して行い、認証の精度を改善する態様としてもよい。
入力操作方式認証部150は、入力操作認証方式の認証が指定される場合であって入力操作認証方式の認証が許可されるときに呼び出され、要求にかかる操作者の入力操作に基づいて認証を成功させるか否かを判断する処理を行う。ここで、入力操作認証方式にとは、認証の際に操作者に対し、秘密ではない任意の文字列の入力を課題として求めて、この際に操作者により実際になされた入力操作が、事前に学習しておいた操作者の入力操作の特徴と合致するか否かの判断に基づいて、当該操作者の正当性を検証する方式をいう。
以下、図3および図4を参照しながら、ログイン認証モジュール100を構成する学習処理部120のより詳細な機能構成について説明する。図3は、本実施形態によるログイン認証モジュールにおける学習処理部120のより詳細な機能ブロック図である。図3に示すように、学習処理部120の機能構成としては、特徴ベクトル生成部122と、ダミー入力生成部124と、機械学習部128と、予測器132と、学習状態判定部138とが含まれる。
特徴ベクトル生成部122は、キーボード52を介した操作者による操作情報を収集し、操作者による操作情報から、学習データおよび検証データ各々を構成する特徴ベクトルを生成する。ここで、特徴ベクトルとは、元の生情報から、機械学習で取り扱い可能となるように変換されたデータであり、後述する操作者識別モデル130を構成する予測器132への入力となるものである。特徴ベクトルとしては、一例としては、押されたキーに加えて、キーの時間間隔およびキー押下の強度の一方または両方を表現したものを用いることができる。特徴ベクトル生成部122は、本実施形態における収集手段を構成する。なお、特徴ベクトルについては、詳細を後述する。
ダミー入力生成部124は、事前に多くの操作者による入力操作を収集して準備された入力操作統計情報126に基づいて、上記操作者以外の他の操作者による仮想的な擬似操作情報(以下、ダミーデータともいう)を生成する。擬似操作情報は、上述した特徴ベクトルの形で生成される。擬似操作情報は、操作者識別モデル130の学習およびテストの両方で用いることができる。ダミー入力生成部124は、本実施形態における擬似情報生成手段を構成する。
機械学習部128は、収集された操作情報に基づく複数の学習データを用いて、所定の機械学習アルゴリズムを実行することにより、正当な操作者の入力操作を識別するための予測器132のパラメータ134を学習する。好ましくは、機械学習部128は、操作者の実際の操作情報に基づく複数の学習データに加えて、上記ダミー入力生成部124により生成された擬似操作情報に基づく複数の学習データをさらに用いて、予測器132のパラメータ134を学習することができる。当該操作者以外の者による入力操作の特徴を有するデータを学習データとして与えることにより、機械学習の精度を向上させることができる。機械学習部128により、予測器132の最適化されたパラメータ134が与えられる。機械学習部128は、本実施形態における学習手段を構成する。
ここで、予測器132とは、所定の操作者の入力操作を識別するための数理モデルをいう。予測器132は、与えられた入力操作を表す入力データに対し、その入力操作が所定の操作者により行われたものであるか、あるいは他の操作者により行われたものであるかを識別し、識別結果を出力する。上述したように、操作者の入力操作を表す入力データは、特徴ベクトルとして与えられる。このため、予測器132は、入力された特徴ベクトルに対し、それが操作者の入力操作であるか否かを識別する識別結果を出力するよう構成される。
識別結果は、典型的には、確率によって表される。例えば、入力データが対象操作者からのものである(VALIDな)確率あるいは、入力データが対象操作者以外の者からのものである(INVALIDな)確率として出力される。あるいは、入力データが各操作者(USER1,USER2)からのものである確率として出力される。
予測器132には、学習データ各々に含まれる特徴ベクトルを入力として、正しい識別結果が出力されるよう、機械学習アルゴリズムにより調整されたパラメータ134が算出され、設定される。予測器132およびそのパラメータ134により、本実施形態における操作者識別モデル130が構成される。
なお、機械学習部128が実行する機械学習アルゴリズムとしては、これまで知られた如何なる機械学習アルゴリズムを用いることができ、機械学習を適用する予測器132の様式に応じて適切なアルゴリズムを用いればよい。機械学習アルゴリズムとしては、好ましくは、教師あり学習を行うことができる。その場合に、操作者の実際の操作情報から生成された学習データには、その入力が当該操作者により行われたことを示す有効(VALID)の正解ラベルが付される。一方、上記ダミー入力生成部124による擬似操作情報から生成された学習データには、その入力が当該操作者以外の者により行われたことを示す無効(INVALID)の正解ラベルが付される。
また、機械学習アルゴリズムが適用される予測器132としては、特に限定されるものではないが、ニューラルネットワーク(ANN:Artificial Neural Network)およびサポートベクターマシン(SVM:Support Vector Machine)、またはこれらの組み合わせを用いることができる。例えば、ニューラルネットワークは、学習データとして与えられる入力に対して正しい識別ができるように、誤差逆伝搬法によりパラメータを調整することができる。ニューラルネットワークは、入力層、隠れ層および出力層を含み、学習すべきパラメータとしては、各層間の重み、各層のバイアスなどが含まれる。例えば、SVMに関しては、逐次最小問題最適化法などの2次計画問題の解法としてよく知られたアルゴリズムを用いることができる。SVMの学習すべきパラメータとしては、線形しきい素子のパラメータが含まれる。
なお、機械学習部128の機械学習アルゴリズムにおける具体的な演算は、当該コンピュータ10のCPUが行ってもよいし、必要に応じて当該コンピュータに接続されたGPUが行ってもよい。あるいは、ネットワークを介して接続された他のコンピュータ・システムに、学習データを与えて、機械学習アルゴリズムにおける具体的な演算を行わせて、当該情報処理装置は、学習の成果物を得るだけとしてもよい。予測器132における具体的な演算についても同様である。
収集された操作情報の一部は、学習データのほか、予測器の精度を検証するための検証データのために用いられる。同様に、擬似操作情報の一部も、検証データのために用いられる。予測器132は、与えられたパラメータ134の下、検証データを構成する特徴ベクトルの入力を受けて、各検証データの入力操作が当該操作者により行われたものであるか、あるいは他の操作者により行われたものであるかを識別し、識別結果を出力する。検証データにおいては、正解ラベルが与えられるので、予測器132が出力する識別結果から、予測器132の識別精度を評価することができる。この識別精度を評価するために用意される識別結果を学習後検査結果136と参照する。
学習状態判定部138は、収集された操作情報に基づく1以上の検証データおよびその検証データに対して予測器132が出力した学習後検査結果136を用いて、操作者識別モデル130の学習状態を評価する。学習状態判定部138は、学習状態の評価の結果に応じて、現在の学習状態の操作者識別モデル130に基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定する。ここで、許容できる課題条件は、認証に際して入力を求める任意の文字列の文字数の指定を含むことができる。
入力操作に基づく認証が許可された場合は、当該操作者のアカウントに対し当該入力操作認証方式の認証が許可される旨が記録される。そして、決定された課題条件および学習済みの予測器132のパラメータ134が、学習処理部120から入力操作方式認証部150へ渡される。
図4は、本実施形態による学習処理部120における学習状態判定部138のより詳細な機能ブロックを周辺の機能構成とともに示す。図4に示すように、学習状態判定部138の機能構成としては、妥当性検証部140および認証誤り精度算出部142とを含み構成される。
妥当性検証部140は、検証データ各々に対する学習後検査結果が正しいか否かを判定する。学習後検査結果136に対する入力データが、収集した実際の操作情報から特徴ベクトル生成部122で生成されたものであるか、またはダミー入力生成部124で生成された擬似操作情報に基づくものであるかは、既知であり、各検証データには、正解ラベルを与えることができる。このため、識別結果として出力された値が正しいかを判定することが可能である。ただし、識別結果は、確率で表されるため、間違うこともあることを考慮し、これまでの学習後検査結果136の測定記録を記録し、計算された確率が、検証データの入力値の組に対して著しく差が無いことの評価を行うことが好ましい。
ここでは、実際の入力操作から生成された検証データに対し、正当な操作者の入力である確率が50%以上であるという結果を出したか否か、擬似操作情報から生成された検証データに対して、正当な操作者の入力である確率が50%未満であるという結果を出したか否かが判定基準となる。妥当性検証部140は、条件を満たさない場合は、識別結果は妥当ではないと判断する。
認証誤り精度算出部142は、1以上の検証データ各々に対する現時点の操作者識別モデル130による学習後検査結果136に基づいて、学習後検査結果136として得られた確率から、認証するに十分な課題条件を決定する。認証誤り精度算出部142は、より具体的には、何文字の文字列を入力として求める課題とすれば認証するに十分であるかを算出し、所定の認証精度が得られるような文字数を決定する。認証誤り精度算出部142は、文字数が所定の条件を満たさない場合には、操作者識別モデル130に基づく認証を許可しない旨を決定することができる。
ここで所定の基準とは、人間が入力するのに不都合を生じないレベルの文字数を判断する基準をいう。例えば、ログイン認証のため、11文字以下の入力であれば許容されるが、11文字を超える入力を求めることは負荷が大きすぎで不都合であると考えるのであれば、11文字以下を基準として与えればよい。そして、99%以上の認証精度など、十分に高い数値になるように設定がなされた際に、課題の文字列が11文字といった、人間が入力するのに不都合を生じないレベルの文字数である場合は、当該入力操作認証方式の認証が許可される。
このようにして、学習状態が良好であり、高い精度で識別が可能である状態であれば、より短い文字数の文字列を入力するという課題を操作者に課すことで認証の判断がなされるようになる。一方、学習状態が良好ではなく、あまり高い精度で識別が可能ではない状態であれば、より長い文字数の文字列を入力するという課題が操作者に課される。あるいは、学習状態が不良であれば、学習未完了状態となり、入力操作に基づく認証自体が許可されない。
なお、所定の認証精度を維持するために、何文字の入力が必要となるかについては、統計学的に求めることが可能である。また、検証データを正しい結果と判断できる確率と、誤判定確率に差があれば、複数の入力データに対して正しい結果を返しているものが50%を上回る確率は、文字列の文字数が多いほど向上する。認証精度を維持するために、何文字の入力が必要となるかの計算方法については、詳細を後述する。
以下、図5を参照しながら、ログイン認証モジュール100を構成する入力操作方式認証部150のより詳細な機能構成について説明する。図5は、本実施形態によるログイン認証モジュール100における入力操作方式認証部150のより詳細な機能ブロック図である。図5に示すように、入力操作方式認証部150の機能構成としては、認証用文字列生成部152と、特徴ベクトル生成部154と、予測器156と、認証判断部162とが含まれる。
認証用文字列生成部152は、入力を促すためにディスプレイ50などの表示装置に表示させる、学習処理部120から渡された課題条件に応じた文字列を生成する。認証用文字列生成部152は、例えば、単語辞書を保持しており、単語辞書に登録された文字列の中から、課題条件に適合した文字列を選択する。例えば、課題条件が、11文字の指定を含む場合、11文字以上の単語を選択することや、合わせて11文字以上となる複数の単語を選択することができる。認証用文字列生成部152は、本実施形態における認証用入力生成手段を構成する。
特徴ベクトル生成部154は、上述した学習処理部120の特徴ベクトル生成部122と同様のものであり、課題条件に応答して入力された入力操作の情報を1以上の認証用特徴ベクトルに変換する。特徴ベクトル生成部154は、本実施形態における変換手段を構成する。
予測器156は、上述した学習処理部120の予測器132と同一のものであり、パラメータ158も、入力操作に基づく認証を許可する判断に応答して、学習処理部120から出力されたものであり、学習完了時のパラメータ134と同一のものとなる。予測器156およびそのパラメータ158により、本実施形態における操作者識別モデル160が構成される。
認証判断部162は、入力操作に基づく認証が許可される場合に、課題条件に応答した入力操作に対する、認証要求にかかる操作者に対応した操作者識別モデル160による複数の識別結果に基づいて、認証要求にかかる操作者の認証を成功させるか否かを判断する。認証判断部162は、本実施形態における認証判断手段を構成する。認証を成功させるか否かを判断する処理については、詳細を後述する。
なお、説明する実施形態において、認証用文字列生成部152では、典型的には、課題条件に合致した1または複数の単語がランダムに選択される。一方、検証データ各々に対する操作者識別モデル160による識別結果は、例えば、正当な操作者の入力である確率が80%というような確率情報を含む。このようなある種の信頼度の情報を用いることにより、認識精度が高い特徴ベクトルがどれであるかを抽出することができる。
そこで、上述した学習処理部120の学習状態判定部138では、信頼度が所定の条件を満たす1以上の検証データを抽出し、これを入力操作方式認証部150に通知することができる。学習状態判定部138は、本実施形態における抽出手段も構成する。そして、認証用文字列生成部152は、抽出された1以上の検証データに関連する文字を優先的に用いて文字列を生成することで、認証精度の高い特徴ベクトルを生成するような文字列を指定することができる。これにより、認証精度を向上させることができる。これを行わない場合は、たとえば操作者が入力した文字列の中には正当な操作者だと判定する結果となるが、その確率が51%程度のものでも採用される可能性があった。これに対して、認識精度の高い文字列を優先的に選んで使うことにより、そういった事象の発生を防止することができる。つまり、後述する認証判断部162で認証成功とするか否かの判断をより正確に行うことができるようになる。
また、上述した実施形態では、一旦学習済みとなった以降は、認識モデルの学習は特に行われない。しかしながら、このような態様に特に限定されるものではない。他の実施形態では、一旦学習済みとなった後でも、当該入力操作認証方式に基づく認証や他の認証でログインした後、キー操作の収集が継続し、一定量の学習データが得られる毎に再学習し、認識モデルのパラメータを更新することもできる。
図6は、本実施形態におけるログイン認証の際に表示される(A)ユーザ・アカウント選択画面、(B)パスワード認証方式の認証画面および(C)入力操作認証方式の認証画面を例示する。まず、図6に示すユーザ・アカウント選択画面200において、プルダウンメニュー202により所定のユーザ・アカウントが選択される。そして、その選択されたユーザ・アカウントについて、入力操作認証方式の認証が指定されており、入力操作認証方式の認証を行うための操作者識別モデルの学習が未だ完了していない場合は、図6(B)に示すパスワード認証方式の認証画面210が表示される。一方、選択されたユーザ・アカウントについて操作者識別モデルの学習が既に完了している場合は、図6(C)に示す入力操作認証方式の認証画面220が表示される。
図6(B)に示すパスワード認証方式の認証画面210は、ディスプレイ50とキーボード52とコンピュータ10があれば認証手続が可能であるため、多くの状況で利用されている。しかしながら、一方で、以下のような不充分な点がある。
すなわち、第1に、パスワードの入力間違いが発生しやすい点がある。これは、パスワードを入力するテキストボックス214内の入力済の文字列が”*”や黒丸などでマスクされて表示されるため、入力の内容を確認することが難しいためである。また、第2に、ユーザが脆弱性のないパスワードを設定するとは限らない点である。デフォルトのパスワードをそのまま用いるケースや、「password」や「1234」などの自明な文字列を使うユーザは少なからず存在する。第3に、入力している状況を第三者に盗み見られるリスクがある点である。パスワードは原則的に秘密にしなければならないが、第三者に見られないとも限らず、パスワードは所定頻度で更新することが求められるなど制限が発生し、ユーザの負荷の増加につながる。さらに、パスワード強度の関係で、「アンダーバーなどの特殊文字を1文字以上使う必要がある」、「アルファベットに大文字を含む必要がある」、「数字とアルファベットが1文字以上なくてはならない」、「8文字以上のパスワードで無ければならない」など利用するサービスごとに制約があり、覚えにくいパスワードを使うことを強いられることがある。
これに対し、図6(C)に示す入力操作認証方式の認証では、操作者は、ユーザ・アカウントを選択した後、ユーザ認証のためのテキストボックス224内で文字列を入力する。しかしながら、この際に操作者に入力が求められる文字列226は、パスワードではなく、コンピュータ側が認証のために入力することを要求する課題としての特定の文字列である。したがって、秘密にする必要がないことから、テキストボックス224内にマスクせずに表示することができる。図6(C)の例では、課題の文字列226は、「authentication」であり、それに対して操作者は、そのまま同一文字列「authentication」を入力することになる。
ここで、文字列の入力に応答した認証の成否の判定は、機械学習により事前に操作者の入力操作を特徴付けるパターンを学習した操作者識別モデル160を用いて実施される。入力された文字列の内容自体は認証に用いられるわけではなく、入力内容を公開しても構わず、その入力する様子が盗み見られても問題は少ない。
以下、図7を参照しながら、本実施形態における情報処理装置が実行する、入力操作認証方式の認証処理の流れについて、より詳細に説明する。図7は、本実施形態における情報処理装置が実行する、入力操作に基づく認証処理の流れを示すフローチャートである。
図7に示す処理は、操作者からのログイン認証の要求に応答して、ステップS100から開始される。なお、以下、操作者についての情報処理装置へのログイン認証方式として、入力操作認証方式が指定されているものとして説明する。ステップS101では、情報処理装置は、選択されたユーザ名を取得する。図6(A)に示すユーザ選択画面で、所定のユーザ名がプルダウンメニュー202から選択されて、OKボタン204が押下されると、選択されたユーザ名がログイン認証モジュール100に渡される。
ステップS102では、情報処理装置は、認証方式判定部110により、選択されたユーザ名に対応する操作者の操作者識別モデルが学習済みであり、入力操作認証方式の認証が許可されるか否かを判定する。ステップS102で、学習済みではなく、許可されないと判定された場合(NO)は、ステップS103へ処理が分岐され、以降、学習段階の処理が行われる。
ステップS103では、情報処理装置は、パスワード方式認証部112により、当該操作者について、代替認証方式として、パスワード認証を行う。なお、パスワードは、当該操作者について、通常の認証方式として事前に設定されているものとする。ステップS104では、情報処理装置は、ログイン認証に成功したか否かを判定する。ステップS104で、ログイン認証に失敗したと判定された場合(NO)は、ステップS103へ処理が戻されて、パスワード認証の試行が繰り返される。一方、ステップS104で、ログイン認証に成功したと判定された場合(YES)は、ステップS105へ処理が進められる。
ログインに成功した以降は、操作者は、その情報処理装置を自分の認証権限の範囲内で自由に操作することができる。その作業の中には、例えばドキュメント作成、コーディング作業など、日常業務の中のキーボード操作を伴う操作が含まれる。ログインした操作者は、通常通り、日常業務を行うのみである。一方で、ステップS105では、情報処理装置は、学習処理部120により、ログインユーザによる作業において、そのキーボード52を介して行われるキー操作情報を、バックグラウンドで収集し、機械学習用の入力データに変換する。
ステップS106では、情報処理装置は、一定量の入力データが得られたか否かを判定する。ここで、一定量とは、機械学習アルゴリズムを適用するに際して、合理的なデータ量を意味する。一定量に代えて、1日毎のように、期間を定めてもよい。ステップS106で、まだ一定の量の入力データが得られていないと判定された場合(NO)は、ステップS105へ処理をループさせて、入力データの収集が継続される。一方、ステップS106で、一定量の入力データが得られたと判定された場合(YES)は、ステップS107へ処理が進められる。
ステップS107では、情報処理装置は、特徴ベクトル生成部122により、収集した入力データから学習データを生成する。情報処理装置は、擬似操作情報からダミーの学習データも生成することもできる。収集された入力データは、所定フォーマットの特徴ベクトルに変換されて、機械学習アルゴリズムに取り込まれることになる。入力データは、操作者が作業する間は新規の入力データとして取り入れられるため、操作者が情報処理装置を操作すればするほど、学習データが蓄積されてゆくことになる。
図8は、本実施形態における入力操作に基づく認証処理において学習のために準備される学習データのデータ構造を示す。機械学習を行う場合、生の入力データは、機械学習アルゴリズムで取り扱いやすい特定のフォーマットに整形される。この整形されたフォーマットのデータは、特徴ベクトルと参照される。以下、キーボードの操作から特徴ベクトルを作成する具体的な方法について一例を説明する。
特徴ベクトルの生成では、操作者の特徴が適切に表現されていることが望ましい。まず、第1の方法として、キー操作時間に基づき操作者の特徴を学習する方法について説明する。
例えば、操作者が、「a」、「b」、「c」の順でキーを押下した際に、それぞれ「a」から「b」のキー操作の間に0.22秒、「b」と「c」のキー操作に0.31秒かかったとした場合、この操作の情報を、入力されたキーとその時間間隔を用いて、例えば、(a,b,0.22)および(b,c,0.31)の2つの特徴ベクトルで表すことができる。ここで、時間間隔は、第1のキーを押下したタイミングと、第2のキーを押下したタイミングとの間隔であってもよいし、第1のキーを解放したタイミングと、第2のキーを押下したタイミングとの間隔であってもよいし、第1のキーを押下したタイミングと、第2のキーを解放したタイミングとの間隔であってもよいし、第1のキーを解放したタイミングと、第2のキーを解放したタイミングとの間隔であってもよい。
さらに、上記例では、2つのキー操作の組に対して1つの特徴ベクトルを生成しているが、3つや4つのキー操作の組に対して1つの特徴ベクトルを生成することもできる。例えば3つのキー操作の組とする場合は、(a,b,c,0.22,0.31)のように1つの特徴ベクトルで表現することができる。より多くのキー操作を組にして特徴ベクトルを構成すれば、それだけキー間の依存関係の強いキー操作情報が得られ、操作者の入力操作を識別しやすくなる。一方で、特徴ベクトルの次元が増大し、学習に必要となるデータ数は増大し、計算時間も増大するため、トレードオフの関係になる。さらに、上記例では、0.22秒や0.31秒といった実数値を用いているが、時間間隔の大小を表す整数値で表してもよい。
また、教師有りの機械学習では、学習させる際に、特徴ベクトルと、その特徴ベクトルにおける正解ラベルの組である学習データを生成し、それを入力とする。キー操作において特徴ベクトル生成部122が生成した特徴ベクトルは、適正にログインした操作者が実際にタイピングした内容であるため、これは当該操作者による入力であると判断できる。つまり、特徴ベクトル生成部122に基づく各学習データは、図8に例示するように、特徴ベクトルと、有効(VALID)の正解ラベルの組として構成される。
一方で、機械学習の精度を上げるためには、操作者以外の者による入力の特徴データも学習データとして与えることが好ましい。ダミー入力生成部124は、事前にキーの入力データの統計などから得られた、一般的な操作者の振る舞いの統計情報のリストを保持する。そして、ダミー入力生成部124は、その統計情報のリストを入力とし、そのリストの時間に対して正規分布などのバイアスをかけることで、当該操作者以外の者が擬似的にキー入力をした場合の特徴ベクトルを生成する。ダミー入力生成部124に基づく学習データは、図8に例示するように、特徴ベクトルと、無効(INVALID)の正解ラベルの組として構成される。
なお、統計情報のリストは複数あってもよく、それぞれ別に生成してもよい。例えば、キー入力の速いグループの学習データ、キー入力の遅いグループの学習データがそれぞれ生成されてもよい。さらに、統計情報から生成したデータ以外にも、実際に測定された他の操作者の入力操作に基づく学習データを追加してもよい。
また、上述した説明では、キーと、キーの時間間隔を表す特徴ベクトルについて説明したが、それ以外のものでも、操作者が入力装置として用いるものから取得できるものであれば、特徴ベクトルを生成するために用いることができる。例えば、キーボードにキーを押した圧力を検知できる機能が備わっている場合、押されたキーとキーの押された圧力(キー押下の強度)を用いて特徴ベクトルを作成することもできる。キーボードなどのヒューマン・インタフェース・デバイス(Human Interface Device)では、コンピュータへのデータ送信方法が標準化されており、圧力のデータ通知は、0から1023までの値で表す方法が知られており、ここでは、押されたキー、キーの検知した圧力の値を用いて特徴ベクトルとすることができる。ダミー入力生成部124の擬似情報生成のアルゴリズムは、特徴ベクトルの構造に応じたものを用いればよく、それ以外の部分については、特段の変更は必要とならない。そのほか、操作者が入力装置を用いて行う入力操作であれば、キーボードの操作に限定されず、マウス操作やタッチパッド操作でも構わない。さらに、上述したカメラなどの外部デバイスを備える場合、例えば、どのキーをどの指で押すかなどをカメラで撮るよう構成し、画像処理で識別し、押した指の情報を固有情報として特徴ベクトルに含ませることによって、認識精度を向上させることができる。例えば、「a」のキーを薬指で押すといった操作者の癖を利用して、認識精度を向上させることができる。以降、単純のためにキー操作は全て2個のキー操作の組で特徴抽出がなされるものとして説明する。
ステップS108では、情報処理装置は、機械学習部128により、現時点で得られた学習データを用いて、機械学習アルゴリズムに入力し、予測器132の最適化されたパラメータ134を得る。ここでは、特徴ベクトル生成部122と、ダミー入力生成部124からの学習データを受け取り、それぞれの学習データの特徴ベクトルに対して当該操作者の入力であるか、そうでないかを判別するための予測器132に対する最適化されたパラメータ134を生成する。なお、キー操作を入力とする場合は、同一操作者のキー操作でも、常に同じ時間間隔で実施されるわけではないので、確率的なアルゴリズムによる判定となり、判別結果も確率的に出力される。
ステップ109では、情報処理装置は、得られた予測器132およびパラメータ134を含む操作者識別モデルのテストを実施し、認証の際に所定の精度を得るために課すべき課題条件、より具体的には、必要な文字数を決定する。予測器132では、機械学習部128からパラメータ134を受けて、検証データに対して、それが当該操作者の入力である確率を判定し、操作者の入力か否かを学習後検査結果136として出力する。
上述したように、認証精度の算出精度を保つために、何文字の入力が必要となるかは統計学的に求めることが可能である。各検証データ(例えば、2つのキー操作を表す)を正しく識別できる識別確率と、誤識別確率に差がある場合、複数の入力データ(複数のキー操作を要する文字列の入力操作)に対して正しい結果を返しているものが過半を上回る確率は、文字数が多くなるほど上がる。
例えば、操作者からの各検証データを正しく識別できる確率をpとした場合、間違った識別をする確率は(1−p)で表される。この場合、n個の入力データの内で、k個以上の入力値が正しく判定できる確率は、2項分布に従うために、下記式により計算することができる。
上記式中の括弧(n k)Tは、n個からk個を選ぶ組合せの数、すなわち二項係数を表す。実際は、検証データを正しく判定できる確率は、入力された文字の組と、そのときの時間間隔にも依存する。このため、上記確率は、固定値として求めることは難しく、厳密な計算を行うことが求められる場合もあるが、人力での計算は困難であってもコンピュータを用いれば簡単に可能なレベルの演算で求めることができる。
2項分布は、データの母数nが大きい場合に標準正規分布で近似できるため、簡単のため近似できるとすると、操作者の各検証データを正しく識別できる識別確率pに対してサンプル数nのデータに対する2項分布は、下記式で近似することができる。
ここで、Xは、標準正規分布で、Yが、求めるべき2項分布である。このとき、nのサンプル数を10として、p=60%を仮定した場合に、過半以上の入力データが正しく識別できる確率を試算すると、下記式で値が計算することができる。
ただし、これはnが十分大きいという近似条件と整合していないので、実際の見積もり結果とは異なることになり、概算である。実際に計算を行う場合は、近似せずに、素直に2項分布の確率を計算させた方が正しい結果を得られるであろう。
この確率は、nのサンプル数によって変動するし、pの値によっても変動する。例えば、同様に確率を計算していくと、p=0.6として、99%の確率で過半のデータが正しいと判定する確率を求めるのに必要な入力データの個数nは130ほどに試算される。一方、p=0.7の時にはn=30で充分であると試算され、p=0.8であれば、nは10ほどで充分であると試算されるため、測定精度が上がれば十分に実用的な値に落ち着くと考えられる。
つまり、ステップS108では、検証データ各々に対して、操作者が入力した値か、そうでないかの識別確率pが高くなるように機械学習が繰り返し行われ、パラメータが調整される。そして、ステップS109では、識別確率pに基づいて、複数の特徴ベクトルのうち半分以上が操作者による入力であるという条件の下で、その判定が誤りとなる確率を計算し、その判定を誤りとする確率が一定基準以下(例えば1%以下など)であれば、十分なレベルで判定可能であると判断できる特徴ベクトルの必要数が求められる。
ステップS110では、情報処理装置は、テスト結果が良好であったか否かを判定する。ステップS110で、テスト結果が良好ではないと判定された場合(NO)は、ステップS105へ処理を戻し、当該操作者についてさらなる学習データを収集し、学習を試みる。これにより、操作者識別モデルの精度の向上が図られる。一方、ステップS110で、テスト結果が良好であると判定された場合(YES)は、ステップS111へ処理を分岐させて、当該操作者のユーザ・アカウントについて学習済み状態に移行する。上記の場合、特徴ベクトルの必要数が、人間が入力できる範囲内の数(例えば11文字)に収まっている場合に認証可と判断し、それ以外では認証不可と判断されることになる。
一方、ステップS102で、学習済みであり、入力操作認証方式の認証が許可されると判定された場合(YES)は、ステップS112へ処理が分岐され、認証段階の処理が行われる。
ステップS112では、情報処理装置は、入力すべき課題の文字列を表示し、課題文字列の入力を指示する。このとき、認証用文字列生成部152は、課題条件として与えられる指定文字数を入力とし、そこから入力文字列を作成する。例えば、図4を参照しながら認証誤り精度算出部142についての説明で例示したように、認証において特徴ベクトルが10個必要だとされた場合、特徴ベクトルを10個作るために必要な文字数は、2文字を1つの特徴ベクトルとするため11個となる。そのため、認証用文字列生成部152は、11文字以上の文字列を生成する。このとき、認証用文字列生成部152は、信頼度が高かった検証データに関連する文字を優先的に用いて文字列を生成することで、認証精度の高い特徴ベクトルを生成するような文字列を生成してもよい。
認証用文字列生成部152で生成された文字列は、ログイン認証画面上に、ディスプレイ50経由で操作者に伝えられ、操作者はその指示に従い文字入力を行う。ステップS113では、情報処理装置は、操作者からの課題文字列に応答した入力を受け付ける。ステップS114では、情報処理装置は、特徴ベクトル生成部154により、課題文字列に応答した入力操作に基づいて、認証用の1以上の特徴ベクトルを生成する。上述したように、11文字の文字列が生成された場合は、10個の特徴ベクトルが生成される。入力された文字列が課題文字列とは同一ではなく、所定数の特徴ベクトルが得られなかったりした場合は、典型的には、再度、課題文字列の入力が求められる。
ステップS115では、情報処理装置は、操作者識別モデル160の予測器156に認証用特徴ベクトルを入力し、予測器156は、パラメータ158に基づいて、入力された特徴ベクトルが操作者の入力であるか否かの識別結果を出力する。識別結果は、特徴ベクトル数個分だけ取得される。
ステップS116では、情報処理装置は、認証判断部162により、複数の識別結果に基づいて、正当な操作者であるか否かを判定する。認証判断部162では、正当な操作者からの入力であると判定された特徴ベクトル数を計数する。正当であると判定された特徴ベクトル数が、入力された特徴ベクトルの半分を超える数だった場合の事象が起こる確率は、上述したように見積もることができる。上記例では、半数以上の特徴ベクトルが操作者の入力であると判定された場合には、文字列全体として、99%の確率で操作者の入力であるように、課題条件の文字数を設定している。つまり、入力データの半数以上が操作者の入力であると判断されるということは、99%の確率でユーザによる入力であると判定できるということになる。この結果をもって、認証判断部162は、認証成功または失敗の判断を行うことが可能である。
ステップS116で、正当な操作者であると判定された場合(YES)、これによりログイン認証を成功させ、ステップS117で、ログイン状態へ移行させる。一方、ステップS116で、正当な操作者ではないと判定された場合(NO)は、ステップS112へ処理を戻し、再度指定した文字列の入力をやり直させる。
以上説明した実施形態による入力操作認証方式の認証では、通常のパスワード認証にはない、以下の利点を有する。すなわち、パスワードの入力間違いが発生しにくいという利点がある。これは、認証に用いる文字列は、ディスプレイ50上に表示されており、秘密にする必要がなく、入力内容もディスプレイ上に表示されているためである。さらに、ユーザが脆弱なパスワードを設定することが想定されない。これは、パスワードを設定しないため、そもそも脆弱なパスワードが想定できないからである。さらに、入力している箇所を第三者に盗み見られても大きな問題は生じない。これは、入力される文字列の内容自体は、秘密ではなく、操作者の特徴の一致性を確認するためのものであるからである。さらに、操作者自身が、自分の設定したパスワードを忘れることがないという利点もある。入力すべき文字列を都度、情報処理装置側から指定するため、操作者は、パスワードを覚える必要が無いからである。
以下、さらに、複数の他の実施形態について説明する。図9は、他の実施形態によるログイン認証モジュールにおける学習処理部の機能ブロック図である。図9に示す実施形態による学習処理部120は、さらに、特徴ベクトル生成部122の前段にフィルタ部146を備える。フィルタ部146は、収集された、キーボード52を介した操作者による操作情報から、所定の除外条件に適合する操作にかかるものを除外するフィルタ手段を構成する。
上述までの実施形態では、キーボードの入力データが特徴ベクトル生成部122に与えられ、それを学習データとするものとして説明したがが、実際のタイピング操作を考えた場合、人は常にパスワード認証を行うような態様でタイピングしているわけではない。通常、操作者は、作業中に悩んだり、作業中に離席したりなどの行動を行う場合がある。そのような行動中に行われたキーボード操作には、パスワードを打つときには費やさないであろう、標準から著しく外れた時間間隔の空いたキー操作が生じ得るため、学習データとしては不適なものも含まれることになる。所定の除外条件として、取得するキー操作の時間間隔の範囲に限定を設けて、キー操作の時間間隔が著しく長い箇所に関しては特徴ベクトルを生成しないようにすることにより、効率の良い学習が可能となる。
図10は、さらに他の実施形態によるログイン認証モジュールにおける入力操作方式認証部の機能ブロック図である。図10に示す実施形態による入力操作方式認証部150は、さらに、文字列履歴記録部164を備える。文字列履歴記録部164は、ディスプレイ50に表示させた文字列の履歴を記録する記録手段である。認証用文字列生成部152は、記録された履歴に基づいて、同一文字列の生成頻度を管理する。これにより、入力内容の盗み見への耐性を向上することができる。
近年、監視カメラが街中、店舗に増えてきており、また、スマートフォンなどにもカメラが搭載されており、操作者にとって、いつ撮影されているか分からない状況になりつつある。出先のカフェなどでノートPCを取り出して業務を行う必要性が生じることもあるが、その際にログイン時のキーボード操作自体が録画されていないとも限らない。
上述した構成においては、認証用文字列生成部152が生成した文字列のログが記録されており、同じ入力文字指定が頻繁に出ないように、十分な時間間隔を持って使うように構成されている。そのため、仮にログイン作業をカメラに記録されて、その入力速度を割り出されても、同じ入力文字指定が来ることは当分の間ないため、攻撃に対する耐性を向上させることができる。
さらに、上述までの実施形態では、操作者に求める課題は、所定文字数の文字列の入力を1回だけ求めるものであった。しかしながら、上述した実施形態では、各特徴ベクトルの識別確率が機械学習に委ねられるため、最終的にどの程度の認識精度が得られるのかを保証することは難しい。例えば、識別確率pが80%程度ある場合は、10個の特徴ベクトルの半分以上が当該操作者のものだと認識された場合、99%の認識精度を維持することができる。一方、識別確率pが60%程度の場合は、10個の特徴ベクトルでは、認識精度が74%ほどまで低下してしまう。しかしながら、学習を重ねた結果として、60%が上限である可能性や80%まで上がる可能性があるが、それは、予め知ることは困難である。一方、文字数を例えば100文字などにすることは、ユーザに対し非常に大きな負荷をかける作業となってしまう。
そこで、好ましい実施形態においては、認証判断部162での認証処理における課題の文字列入力のチャレンジ(挑戦)回数を複数回とすることができる。学習状態判定部138は、許容できる課題条件を決定する際に、文字数の指定に加えて、さらに、指定の文字数の入力を求める課題に対する挑戦回数を決定することができる。現時点の操作者識別モデルによる識別結果に基づいて、指定の文字数の課題の1回の挑戦では所定の認証精度が得られない場合に、学習状態判定部138は、2以上の挑戦回数を決定することができる。
この場合、上述した識別確率pが60%の確率でであった場合において、特徴ベクトルを10個使う場合は、1回のチャレンジでは認識精度は74%程度になるが、それを2回以上繰り返すと確率が変化する。たとえば、3回のチャレンジを行った場合、2回以上認証に成功する確率は約84%程度まで増大し、更にチャレンジ数を増やせば、確率を改善することができる。
機械学習の結果として、操作者とそれ以外の者との判別に優位性があまり出ない場合で、かつ、操作者に、長い文字数の入力を強いたくない場合において、複数回のチャレンジ回数を決定することにより、ユーザ認識確率を向上させることができる。これにより、機械学習の結果が良い結果に収束しないときの代替手段を提供することができる。
以上説明した実施形態によれば、操作者の入力操作に固有な特徴を事前に学習し、学習状態に応じた課題条件で、操作者による入力操作に基づいて認証の許否を判断することが可能な情報処理装置、認証システムおよび認証方法を提供することができる。これにより、操作者は、パスワードの管理をする必要がなくなり、操作者としては、パスワード入力の煩わしさがなくなると同時に、セキュリティの総当り攻撃などの自明な攻撃も防ぐことができる。
なお、上述までの実施形態においては、入力操作に基づく認証機能を単体で備える情報処理装置および該情報処理装置が実行する認証方法をそれぞれ一例として説明した。しかしながら、情報処理装置、認証システムおよび認証方法は、これらに限定されるものではない。他の実施形態では、情報処理装置とクラウドやリモートサーバ側のリモートコンピュータとを含めた認証システムおよび情報処理装置とリモートコンピュータとが連携して実行する認証方法として構成することもよい。そのような実施形態では、例えば、機械学習部128が有する、与えられた学習データに基づいて予測器132のパラメータを算出する機能を、クラウドサービスとしてリモートサーバから提供することができる。さらに、予測器132が有する、与えられた入力に対して識別結果を出力する機能をクラウドサービスとしてリモートサーバから提供したりすることもできる。
なお、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
10…コンピュータ、12…CPU、14…ノースブリッジ、16…サウスブリッジ、18…RAM、20…グラフィックボード、24…LANポート、26…IEEE1394ポート、28…USBポート、30…補助記憶装置、32…オーディオ入出力、34…シリアルポート、50…ディスプレイ、52…キーボード、54…マウス、100…ログイン認証モジュール、110…認証方式判定部、112…パスワード方式認証部、120…学習処理部、122,154…特徴ベクトル生成部、124…ダミー入力生成部、126…入力操作統計情報、128…機械学習部、130,160…操作者識別モデル、132,156…予測器、134,158…パラメータ、136…学習後検査結果、138…学習状態判定部、140…妥当性検証部、142…精度算出部、146…フィルタ部、150…入力操作方式認証部、152…認証用文字列生成部、162…認証判断部、164…文字列履歴記録部、200…ユーザ・アカウント選択画面、202…プルダウンメニュー、204…OKボタン、210…ユーザ認証方式の認証画面、214,224…テキストボックス、226…入力操作認証方式の認証画面、220…文字列
Claims (13)
- 操作者を認証する情報処理装置であって、
入力装置を介した操作者による操作情報を収集する収集手段と、
収集された前記操作情報に基づく複数の学習データを用いて、該操作情報にかかる操作者の前記入力装置を介した入力操作を識別するための操作者識別モデルを学習する学習手段と、
収集された前記操作情報に基づく1以上の検証データを用いて、学習にかかる操作者について前記操作者識別モデルに基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定する決定手段と、
前記操作者識別モデルに基づく認証の要求に際して、前記要求にかかる操作者に対し前記操作者識別モデルに基づく認証が許可されるか否かを判定する判定手段と、
許可される場合に、前記課題条件に応答した入力操作に対する、前記要求にかかる操作者の前記操作者識別モデルによる複数の識別結果に基づいて、前記要求にかかる操作者の認証を成功させるか否かを判断する認証判断手段と
を含む、情報処理装置。 - 前記情報処理装置は、操作の統計情報に基づいて、前記学習にかかる操作者以外の他の操作者による仮想的な擬似操作情報を生成する擬似情報生成手段をさらに含み、前記学習手段は、前記擬似操作情報に基づく複数の学習データをさらに用いて前記操作者識別モデルを学習するものであることを特徴とする、請求項1に記載の情報処理装置。
- 前記許容できる課題条件は、認証に際して入力を求める文字数の指定を含み、前記決定手段は、前記1以上の検証データ各々に対する現時点の前記操作者識別モデルによる識別結果に基づいて、所定の認証精度が得られるような文字数を決定することを特徴とし、かつ、前記文字数が所定の条件を満たさない場合には、前記操作者識別モデルに基づく認証を許可しない旨を決定する、請求項1または2に記載の情報処理装置。
- 前記許容できる課題条件は、さらに、指定の文字数の入力を求める課題に対する挑戦回数をさらに含み、前記決定手段は、前記1以上の検証データ各々に対する現時点の前記操作者識別モデルによる識別結果に基づいて、前記指定の文字数の課題の1回の挑戦では所定の認証精度が得られない場合に、2以上の挑戦回数を決定することを特徴とする、請求項3に記載の情報処理装置。
- 前記情報処理装置は、入力を促すために表示装置に表示させる前記課題条件に応じて入力を求める文字列を生成する認証用入力生成手段をさらに含む、請求項1〜4のいずれか1項に記載の情報処理装置。
- 前記1以上の検証データ各々に対する前記操作者識別モデルによる識別結果に含まれる信頼度に基づいて、信頼度が所定の条件を満たす1以上の検証データを抽出する抽出手段をさらに含み、前記認証用入力生成手段は、抽出された1以上の検証データに関連する文字を優先的に用いて文字列を生成する、請求項5に記載の情報処理装置。
- 前記表示装置に表示させた文字列の履歴を記録する記録手段をさらに含み、前記認証用入力生成手段は、前記履歴に基づいて、文字列の生成頻度を管理することを特徴とする、請求項5または6に記載の情報処理装置。
- 収集される前記入力装置を介した操作者による操作情報から、所定の除外条件に該当する操作にかかるものを除外するフィルタ手段をさらに含む、請求項1〜7のいずれか1項に記載の情報処理装置。
- 前記収集手段は、前記入力装置を介した操作者による操作情報から、前記学習データおよび前記検証データ各々を構成する特徴ベクトルを生成することを特徴とし、前記情報処理装置は、前記課題条件に応答した入力操作を1以上の認証用の特徴ベクトルに変換する変換手段をさらに含むことを特徴とし、前記操作者識別モデルは、前記複数の学習データ各々に含まれる特徴ベクトルを入力として、正しい識別結果が出力されるよう、機械学習アルゴリズムにより調整されたパラメータが算出されたものであり、かつ、前記認証用の特徴ベクトルまたは前記検証用の特徴ベクトルを入力として、対応する操作者の入力操作であるか否かを識別した結果を出力するよう構成されていることを特徴とする、請求項1〜8のいずれか1項に記載の情報処理装置。
- 情報処理装置における操作者を認証するための認証システムであって、
前記情報処理装置の入力装置を介した操作者による操作情報を収集する収集手段と、
収集された前記操作情報に基づく複数の学習データを用いて、前記操作情報にかかる操作者の前記入力装置を介した入力操作を識別するための操作者識別モデルを学習する学習手段と、
収集された前記操作情報に基づく1以上の検証データを用いて、学習にかかる操作者について前記操作者識別モデルに基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定する決定手段と、
前記情報処理装置における前記操作者識別モデルに基づく認証の要求に際して、前記要求にかかる操作者に対し前記操作者識別モデルに基づく認証が許可されるか否かを判定する判定手段と、
許可される場合に、前記課題条件に応答した入力操作に対する、前記要求にかかる操作者の前記操作者識別モデルによる複数の識別結果に基づいて、前記要求にかかる操作者の認証を成功させるか否かを判断する認証判断手段と
を含む、認証システム。 - 操作者を認証する認証方法であって、
コンピュータが、入力装置を介した操作者による操作情報を収集するステップと、
コンピュータが、収集された前記操作情報に基づく複数の学習データを用いて、該操作情報にかかる操作者の前記入力装置を介した入力操作を識別するための操作者識別モデルを学習するステップと、
コンピュータが、収集された前記操作情報に基づく1以上の検証データを用いて、学習にかかる操作者について前記操作者識別モデルに基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定するステップと、
コンピュータが、前記操作者識別モデルに基づく認証の要求に際して、前記要求にかかる操作者に対し前記操作者識別モデルに基づく認証が許可されるか否かを判定するステップと、
許可される場合に、コンピュータが、前記課題条件に応答した入力操作に対する、前記要求にかかる操作者の前記操作者識別モデルによる複数の識別結果に基づいて、前記要求にかかる操作者の認証を成功させるか否かを判断するステップと
を含む、認証方法。 - コンピュータが、操作の統計情報に基づいて、前記学習にかかる操作者以外の他の操作者による仮想的な擬似操作情報を生成するステップさらに含み、前記学習するステップでは、前記擬似操作情報に基づく複数の学習データがさらに用いられて前記操作者識別モデルが学習されることを特徴とする、請求項11に記載の認証方法。
- コンピュータに、
入力装置を介した操作者による操作情報を収集するステップと、
収集された前記操作情報に基づく複数の学習データを用いて、該操作情報にかかる操作者の前記入力装置を介した入力操作を識別するための操作者識別モデルを学習するステップと、
収集された前記操作情報に基づく1以上の検証データを用いて、学習にかかる操作者について前記操作者識別モデルに基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定するステップと、
前記操作者識別モデルに基づく認証の要求に際して、前記要求にかかる操作者に対し前記操作者識別モデルに基づく認証が許可されるか否かを判定するステップと、
許可される場合に、前記課題条件に応答した入力操作に対する、前記要求にかかる操作者の前記操作者識別モデルによる複数の識別結果に基づいて、前記要求にかかる操作者の認証を成功させるか否かを判断するステップと
を実行させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017120746A JP2019008369A (ja) | 2017-06-20 | 2017-06-20 | 情報処理装置、認証システム、認証方法およびプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017120746A JP2019008369A (ja) | 2017-06-20 | 2017-06-20 | 情報処理装置、認証システム、認証方法およびプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2019008369A true JP2019008369A (ja) | 2019-01-17 |
Family
ID=65028868
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017120746A Pending JP2019008369A (ja) | 2017-06-20 | 2017-06-20 | 情報処理装置、認証システム、認証方法およびプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2019008369A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020163895A (ja) * | 2019-03-28 | 2020-10-08 | コベルコ建機株式会社 | 作業機械認証システム、作業機械認証方法、および作業機械認証プログラム |
| JP2021105817A (ja) * | 2019-12-26 | 2021-07-26 | 株式会社 みずほ銀行 | サービス管理システム、サービス管理方法及びサービス管理プログラム |
| JP7176157B1 (ja) * | 2021-06-30 | 2022-11-21 | 楽天グループ株式会社 | 学習モデル作成システム、学習モデル作成方法、及びプログラム |
| JP7176158B1 (ja) * | 2021-06-30 | 2022-11-21 | 楽天グループ株式会社 | 学習モデル評価システム、学習モデル評価方法、及びプログラム |
| WO2024043153A1 (ja) * | 2022-08-22 | 2024-02-29 | 三菱重工サーマルシステムズ株式会社 | 因子選択装置、因子選択方法及びプログラム |
| JP7458538B1 (ja) | 2023-07-05 | 2024-03-29 | PayPay株式会社 | プログラム、情報処理装置、および情報処理方法 |
| JP2024528362A (ja) * | 2021-06-16 | 2024-07-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ユーザ検証方法、システム、プログラム |
-
2017
- 2017-06-20 JP JP2017120746A patent/JP2019008369A/ja active Pending
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020163895A (ja) * | 2019-03-28 | 2020-10-08 | コベルコ建機株式会社 | 作業機械認証システム、作業機械認証方法、および作業機械認証プログラム |
| JP2021105817A (ja) * | 2019-12-26 | 2021-07-26 | 株式会社 みずほ銀行 | サービス管理システム、サービス管理方法及びサービス管理プログラム |
| JP2024528362A (ja) * | 2021-06-16 | 2024-07-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ユーザ検証方法、システム、プログラム |
| TWI813322B (zh) * | 2021-06-30 | 2023-08-21 | 日商樂天集團股份有限公司 | 學習模型作成系統、學習模型作成方法及程式產品 |
| WO2023276072A1 (ja) * | 2021-06-30 | 2023-01-05 | 楽天グループ株式会社 | 学習モデル作成システム、学習モデル作成方法、及びプログラム |
| WO2023276073A1 (ja) * | 2021-06-30 | 2023-01-05 | 楽天グループ株式会社 | 学習モデル評価システム、学習モデル評価方法、及びプログラム |
| JP7176158B1 (ja) * | 2021-06-30 | 2022-11-21 | 楽天グループ株式会社 | 学習モデル評価システム、学習モデル評価方法、及びプログラム |
| TWI827086B (zh) * | 2021-06-30 | 2023-12-21 | 日商樂天集團股份有限公司 | 學習模型評價系統、學習模型評價方法及程式產品 |
| US20240211574A1 (en) * | 2021-06-30 | 2024-06-27 | Rakuten Group, Inc. | Learning model creating system, learning model creating method, and program |
| JP7176157B1 (ja) * | 2021-06-30 | 2022-11-21 | 楽天グループ株式会社 | 学習モデル作成システム、学習モデル作成方法、及びプログラム |
| WO2024043153A1 (ja) * | 2022-08-22 | 2024-02-29 | 三菱重工サーマルシステムズ株式会社 | 因子選択装置、因子選択方法及びプログラム |
| JP7458538B1 (ja) | 2023-07-05 | 2024-03-29 | PayPay株式会社 | プログラム、情報処理装置、および情報処理方法 |
| JP2025008361A (ja) * | 2023-07-05 | 2025-01-20 | PayPay株式会社 | プログラム、情報処理装置、および情報処理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2019008369A (ja) | 情報処理装置、認証システム、認証方法およびプログラム | |
| US12032668B2 (en) | Identifying and authenticating users based on passive factors determined from sensor data | |
| US12010513B2 (en) | Method for automatic possession-factor authentication | |
| US11637824B2 (en) | Multi-factor authentication devices | |
| US10868672B1 (en) | Establishing and verifying identity using biometrics while protecting user privacy | |
| KR102132507B1 (ko) | 생체 인식 데이터에 기초한 리소스 관리 기법 | |
| US10440019B2 (en) | Method, computer program, and system for identifying multiple users based on their behavior | |
| US8627095B2 (en) | Information processing apparatus, information processing method, and program | |
| US8997191B1 (en) | Gradual template generation | |
| Gupta et al. | Demystifying authentication concepts in smartphones: Ways and types to secure access | |
| EP3005215B1 (en) | Passive security of applications | |
| EP3482545A1 (en) | Step-up authentication | |
| CN110502886A (zh) | 多重身份验证方法、装置、终端及计算机存储介质 | |
| KR20120082772A (ko) | 확률적 사용자 인증 장치 및 방법 | |
| CN105844123A (zh) | 一种在终端上身份认证的方法和装置及终端 | |
| CN106650350A (zh) | 一种身份认证方法及系统 | |
| US20220261466A1 (en) | User authentication based on behavioral biometrics | |
| JP3589579B2 (ja) | 生体認証装置及びその処理プログラムを記録した記録媒体 | |
| US11934498B2 (en) | Method and system of user identification | |
| JP6441544B2 (ja) | 情報機器操作システム、情報機器操作方法及びプログラム | |
| CN114743218A (zh) | 一种身份验证方法及系统 | |
| CN117296055B (zh) | 认证机制 | |
| JP4283864B1 (ja) | ユーザ認証プログラムおよびユーザ認証システム | |
| KR20100005935A (ko) | 프로그램 이용 권한 공유 확인 방법 및 단말장치와 이를위한 기록매체 | |
| Kerie et al. | BehFayda: A Comprehensive Review and Framework Proposal for Adaptive Authentication in National Identity Systems Using Multi-Modal Biometric Fusion |