(57)【要約】      （修正有）【課題】操作者の入力操作に固有な特徴を事前に学習し、学習状態に応じた課題条件で、操作者による入力操作に基づいて、認証の許否を判断することが可能な情報処理装置を提供する。【解決手段】情報処理装置は、学習処理部１２０、認証方式判定部１１０及び入力操作方式認証部１５０を備える。学習処理部は、操作者の操作情報を収集し、収集された操作情報に基づく複数の学習データを用いて操作者の入力操作を識別するための操作者識別モデルを学習し、モデルに基づく認証の際に許容できる課題条件及び認証を許可するか否かを決定する。認証方式判定部は、モデルに基づく認証の要求に際して操作者に対しモデルに基づく認証が許可されるか否かを判定する。入力操作方式認証部は、許可される場合に、課題条件に応答した入力操作に対する、要求にかかる操作者のモデルによる複数の識別結果に基づいて、要求にかかる操作者の認証を成功させるか否かを判断する。【選択図】図２
2019008369.tif 000002
【特許請求の範囲】
【請求項１】
操作者を認証する情報処理装置であって、
入力装置を介した操作者による操作情報を収集する収集手段と、
収集された前記操作情報に基づく複数の学習データを用いて、該操作情報にかかる操作者の前記入力装置を介した入力操作を識別するための操作者識別モデルを学習する学習手段と、
収集された前記操作情報に基づく１以上の検証データを用いて、学習にかかる操作者について前記操作者識別モデルに基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定する決定手段と、
前記操作者識別モデルに基づく認証の要求に際して、前記要求にかかる操作者に対し前記操作者識別モデルに基づく認証が許可されるか否かを判定する判定手段と、
許可される場合に、前記課題条件に応答した入力操作に対する、前記要求にかかる操作者の前記操作者識別モデルによる複数の識別結果に基づいて、前記要求にかかる操作者の認証を成功させるか否かを判断する認証判断手段と
を含む、情報処理装置。
【請求項２】
前記情報処理装置は、操作の統計情報に基づいて、前記学習にかかる操作者以外の他の操作者による仮想的な擬似操作情報を生成する擬似情報生成手段をさらに含み、前記学習手段は、前記擬似操作情報に基づく複数の学習データをさらに用いて前記操作者識別モデルを学習するものであることを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記許容できる課題条件は、認証に際して入力を求める文字数の指定を含み、前記決定手段は、前記１以上の検証データ各々に対する現時点の前記操作者識別モデルによる識別結果に基づいて、所定の認証精度が得られるような文字数を決定することを特徴とし、かつ、前記文字数が所定の条件を満たさない場合には、前記操作者識別モデルに基づく認証を許可しない旨を決定する、請求項１または２に記載の情報処理装置。
【請求項４】
前記許容できる課題条件は、さらに、指定の文字数の入力を求める課題に対する挑戦回数をさらに含み、前記決定手段は、前記１以上の検証データ各々に対する現時点の前記操作者識別モデルによる識別結果に基づいて、前記指定の文字数の課題の１回の挑戦では所定の認証精度が得られない場合に、２以上の挑戦回数を決定することを特徴とする、請求項３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、入力を促すために表示装置に表示させる前記課題条件に応じて入力を求める文字列を生成する認証用入力生成手段をさらに含む、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記１以上の検証データ各々に対する前記操作者識別モデルによる識別結果に含まれる信頼度に基づいて、信頼度が所定の条件を満たす１以上の検証データを抽出する抽出手段をさらに含み、前記認証用入力生成手段は、抽出された１以上の検証データに関連する文字を優先的に用いて文字列を生成する、請求項５に記載の情報処理装置。
【請求項７】
前記表示装置に表示させた文字列の履歴を記録する記録手段をさらに含み、前記認証用入力生成手段は、前記履歴に基づいて、文字列の生成頻度を管理することを特徴とする、請求項５または６に記載の情報処理装置。
【請求項８】
収集される前記入力装置を介した操作者による操作情報から、所定の除外条件に該当する操作にかかるものを除外するフィルタ手段をさらに含む、請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記収集手段は、前記入力装置を介した操作者による操作情報から、前記学習データおよび前記検証データ各々を構成する特徴ベクトルを生成することを特徴とし、前記情報処理装置は、前記課題条件に応答した入力操作を１以上の認証用の特徴ベクトルに変換する変換手段をさらに含むことを特徴とし、前記操作者識別モデルは、前記複数の学習データ各々に含まれる特徴ベクトルを入力として、正しい識別結果が出力されるよう、機械学習アルゴリズムにより調整されたパラメータが算出されたものであり、かつ、前記認証用の特徴ベクトルまたは前記検証用の特徴ベクトルを入力として、対応する操作者の入力操作であるか否かを識別した結果を出力するよう構成されていることを特徴とする、請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
情報処理装置における操作者を認証するための認証システムであって、
前記情報処理装置の入力装置を介した操作者による操作情報を収集する収集手段と、
収集された前記操作情報に基づく複数の学習データを用いて、前記操作情報にかかる操作者の前記入力装置を介した入力操作を識別するための操作者識別モデルを学習する学習手段と、
収集された前記操作情報に基づく１以上の検証データを用いて、学習にかかる操作者について前記操作者識別モデルに基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定する決定手段と、
前記情報処理装置における前記操作者識別モデルに基づく認証の要求に際して、前記要求にかかる操作者に対し前記操作者識別モデルに基づく認証が許可されるか否かを判定する判定手段と、
許可される場合に、前記課題条件に応答した入力操作に対する、前記要求にかかる操作者の前記操作者識別モデルによる複数の識別結果に基づいて、前記要求にかかる操作者の認証を成功させるか否かを判断する認証判断手段と
を含む、認証システム。
【請求項１１】
操作者を認証する認証方法であって、
コンピュータが、入力装置を介した操作者による操作情報を収集するステップと、
コンピュータが、収集された前記操作情報に基づく複数の学習データを用いて、該操作情報にかかる操作者の前記入力装置を介した入力操作を識別するための操作者識別モデルを学習するステップと、
コンピュータが、収集された前記操作情報に基づく１以上の検証データを用いて、学習にかかる操作者について前記操作者識別モデルに基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定するステップと、
コンピュータが、前記操作者識別モデルに基づく認証の要求に際して、前記要求にかかる操作者に対し前記操作者識別モデルに基づく認証が許可されるか否かを判定するステップと、
許可される場合に、コンピュータが、前記課題条件に応答した入力操作に対する、前記要求にかかる操作者の前記操作者識別モデルによる複数の識別結果に基づいて、前記要求にかかる操作者の認証を成功させるか否かを判断するステップと
を含む、認証方法。
【請求項１２】
コンピュータが、操作の統計情報に基づいて、前記学習にかかる操作者以外の他の操作者による仮想的な擬似操作情報を生成するステップさらに含み、前記学習するステップでは、前記擬似操作情報に基づく複数の学習データがさらに用いられて前記操作者識別モデルが学習されることを特徴とする、請求項１１に記載の認証方法。
【請求項１３】
コンピュータに、
入力装置を介した操作者による操作情報を収集するステップと、
収集された前記操作情報に基づく複数の学習データを用いて、該操作情報にかかる操作者の前記入力装置を介した入力操作を識別するための操作者識別モデルを学習するステップと、
収集された前記操作情報に基づく１以上の検証データを用いて、学習にかかる操作者について前記操作者識別モデルに基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定するステップと、
前記操作者識別モデルに基づく認証の要求に際して、前記要求にかかる操作者に対し前記操作者識別モデルに基づく認証が許可されるか否かを判定するステップと、
許可される場合に、前記課題条件に応答した入力操作に対する、前記要求にかかる操作者の前記操作者識別モデルによる複数の識別結果に基づいて、前記要求にかかる操作者の認証を成功させるか否かを判断するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、認証システム、認証方法およびプログラムに関し、より詳細には、認証機能を備える情報処理装置、認証システム、認証方法およびプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータで取り扱われるデータの重要性が高まる中、特定のユーザのみがアクセスできるデータを設けるという、データ保護の重要性が高まっている。データ保護の実現方法として、一般的にユーザ認証という技術が知られている。
【０００３】
ユーザ認証としては、様々な手段が提供されており、例えば、ユーザが設定した秘密のパスワードを入力することで認証成功とするパスワード認証方式のほか、指紋認証方式、顔認証方式、虹彩認証方式、ＰＩＮ（Personal Identification Number）コード認証、ピクチャ認証など様々な方法が提案され、実用化されている。
【０００４】
従来の認証方式の中で、デスクトップ・コンピュータなどでは、指紋読み取りデバイスを備えていないなどの理由から、依然としてパスワード認証が最も利用されている。しかしながら、パスワード認証は、ユーザの使い勝手の点で充分なものではなかった。例えば、パスワード認証では、パスワード入力文字が隠されているため、入力間違いが多くなる傾向がある。また、ユーザ自身が自分の設定したパスワードを忘れてしまう可能性もある。さらに、ユーザが脆弱なパスワードを設定したり、デフォルトのパスワードのまま使用したりする場合のパスワード自体の脆弱性や、第三者に盗み見られるリスクなどもある。
【０００５】
その他、ユーザ認証に関連し、特許文献１（特開２０００−１３２５１４号公報）も知られている。特許文献１は、パスワードそのものに加えて、個人のパスワードの入力動作を学習し、それを認証手段とする構成を開示している。これにより、パスワードの盗難による成り済ましを防止するというものである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術や上記特許文献１の技術では、入力動作をパスワード認証の補助として用いる技術にすぎず、ユーザにとっては依然として複雑なパスワードを覚えて入力しなければならない点で充分なものではなかった。
【０００７】
本開示は、上記点に鑑みてなされたものであり、操作者の入力操作に固有な特徴を事前に学習し、学習状態に応じた課題条件で、操作者による入力操作に基づいて、認証の許否を判断することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本開示によれば、上記課題を解決するために、下記特徴を有した、操作者を認証する情報処理装置が提供される。本情報処理装置は、入力装置を介した操作者による操作情報を収集する収集手段と、収集された操作情報に基づく複数の学習データを用いて、該操作情報にかかる操作者の入力装置を介した入力操作を識別するための操作者識別モデルを学習する学習手段と、収集された操作情報に基づく１以上の検証データを用いて、学習にかかる操作者について操作者識別モデルに基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定する決定手段を含む。本情報処理装置は、さらに、操作者識別モデルに基づく認証の要求に際して、該要求にかかる操作者に対し操作者識別モデルに基づく認証が許可されるか否かを判定する判定手段と、許可される場合に、課題条件に応答した入力操作に対する、要求にかかる操作者の操作者識別モデルによる複数の識別結果に基づいて、要求にかかる操作者の認証を成功させるか否かを判断する認証判断手段とを含む。
【発明の効果】
【０００９】
上記構成により、操作者による入力操作に固有な特徴を事前に学習し、学習状態に応じた課題条件で、操作者による入力操作に基づいて、認証の許否を判断することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態による情報処理装置として用いられるコンピュータのハードウェア構成図。
【図２】本実施形態による情報処理装置において入力操作に基づく認証機能を提供するためのログイン認証モジュールの機能ブロック図。
【図３】本実施形態によるログイン認証モジュールにおける学習処理部のより詳細な機能ブロック図。
【図４】本実施形態による学習処理部における学習状態判定部のより詳細な機能ブロックを周辺の機能構成とともに示す図。
【図５】本実施形態によるログイン認証モジュールにおける入力操作認証方式認証部のより詳細な機能ブロック図。
【図６】本実施形態におけるログイン認証の際に表示される（Ａ）ログインユーザ選択画面、（Ｂ）パスワード認証方式の認証画面および（Ｃ）入力操作認証方式の認証画面を例示する図。
【図７】本実施形態における情報処理装置が実行する、入力操作に基づく認証処理の流れを示すフローチャート。
【図８】本実施形態における入力操作に基づく認証処理において学習のために準備される学習データのデータ構造を示す図。
【図９】他の実施形態によるログイン認証モジュールにおける学習処理部の機能ブロック図。
【図１０】さらに他の実施形態によるログイン認証モジュールにおける入力操作方式認証部の機能ブロック図。
【発明を実施するための形態】
【００１１】
以下、本実施形態をもって説明するが、実施形態は、後述する実施形態に限定されるものではない。
【００１２】
本実施形態による情報処理装置、認証システムおよび認証方法は、キーボードなどの入力装置を介した操作者による入力操作を識別するために操作者識別モデルを事前に学習し、学習された操作者識別モデルを用いて、入力装置を介した入力操作に基づき、認証要求にかかる操作者の認証の許否を判断する構成を備える。
【００１３】
なお、以下の説明する実施形態においては、入力操作に基づく認証機能を単体で備える情報処理装置および該情報処理装置が実行する認証方法をそれぞれ一例として説明する。しかしながら、情報処理装置、認証システムおよび認証方法は、これらに限定されるものではない。他の実施形態においては、情報処理装置とクラウドやリモートサーバ側のリモートコンピュータとを含めた認証システムおよび情報処理装置とリモートコンピュータとが連携して実行する認証方法として構成されることを妨げるものではない。
【００１４】
以下、図１を参照しながら、まず、本実施形態による入力操作に基づく認証機能を備える情報処理装置のハードウェア構成について説明する。図１は、本実施形態による情報処理装置として用いられるコンピュータ１０のハードウェア構成図である。コンピュータ１０は、典型的には、汎用コンピュータとして構成されている。
【００１５】
図１に示すコンピュータ１０は、ＣＰＵ（Central Processing Unit）１２と、ＣＰＵ１２とメモリとの接続を担うノースブリッジ１４と、サウスブリッジ１６とを含む。サウスブリッジ１６は、上記ノースブリッジ１４と専用バスまたはＰＣＩバスを介して接続され、ＰＣＩバスやＵＳＢなどのＩ／Ｏとの接続を担う。
【００１６】
ノースブリッジ１４には、ＣＰＵ１２の作業領域を提供するＲＡＭ（Random Access Memory）１８が接続されている。ノースブリッジ１４には、さらに、映像信号を出力するグラフィックボード２０が接続されてもよい。グラフィックボード２０には、映像出力インタフェースを介してディスプレイ５０が接続されてもよい。
【００１７】
サウスブリッジ１６には、ＰＣＩ（Peripheral Component Interconnect）２２、ＬＡＮポート２４、ＩＥＥＥ１３９４ポート２６、ＵＳＢポート２８、補助記憶装置３０、オーディオ入出力３２、シリアルポート３４が接続され得る。補助記憶装置３０は、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などであり、コンピュータ１０を制御するためのオペレーティング・システム、後述する機能部を実現するためのプログラムや各種システム情報や各種設定情報を格納する。ＬＡＮポート２４は、コンピュータ１０を有線および無線でネットワークに接続させるインタフェース機器である。
【００１８】
ＵＳＢポート２８には、キーボード５２およびマウス５４などの入力装置が接続される。コンピュータは、補助記憶装置３０から、オペレーティング・システムや、本実施形態による入力操作に基づく認証機能のためのプログラムを読み出し、ＲＡＭ１８が提供する作業空間に展開する。これにより、ＣＰＵ１２の制御の下、後述する各機能部および各処理が実現される。
【００１９】
本実施形態において、ディスプレイ５０は、入力操作に基づく認証機能において操作者に入力を求める課題を表示する表示装置として用いられる。キーボード５２は、本実施形態において、当該認証機能における入力操作を受け付ける入力装置として用いられる。
【００２０】
なお、本実施形態による入力操作に基づく認証機能を備える情報処理装置において、ディスプレイ５０およびキーボード５２に関しては、市販されている任意の製品を用いることができ、特に特殊な装置を要するものではない。情報処理装置自身としても、一般的なハードウェア構成を有すればよく、後述する機械学習アルゴリズムをバックグラウンドで実行ないし制御を行うのに充分な計算資源を有することが好ましいが、特別なハードウェアを要するものではない。また、図１に示すハードウェア構成は、一例であって、本実施形態による入力操作に基づく認証機能の認識精度を向上させるために、カメラなどの外部デバイスを備えていてもよい。さらに、入力装置としても、キーボード５２を一例として説明するが、マウスやタッチパッドを備えてもよい。
【００２１】
図２は、本実施形態による情報処理装置において、上述した入力操作に基づく認証機能を提供するためのログイン認証モジュールの機能ブロック図である。図２に示すように、ログイン認証モジュール１００の機能構成としては、認証方式判定部１１０と、パスワード方式認証部１１２と、学習処理部１２０と、入力操作方式認証部１５０とが含まれる。
【００２２】
なお、本実施形態によるログイン認証モジュール１００は、所定のユーザ・アカウントについて、認証方式として入力操作に基づく認証方式（以下、入力操作認証方式と参照する。）が選択されている場合に、この所定のユーザ・アカウントのログイン認証処理の開始に応答して呼び出される。つまり、以下の説明においては、当該情報処理装置を操作する操作者に対応したユーザ・アカウントに対し、入力操作認証方式での認証が指定されているか、または、入力操作認証方式が選択肢として有効化されており、かつ、入力操作認証方式を指定して認証要求が行われたものとして説明する。
【００２３】
なお、以下に説明する実施形態では、コンピュータ上でデスクトップへアクセスするための資格情報を検証するログインないしサインイン処理において、本実施形態による入力操作認証方式の認証機能が提供されるものとして説明する。しかしながら、入力操作認証方式の認証機能の適用範囲は、ログインないしサインイン処理に限定されるものではない。他の実施形態では、ネットワーク共有フォルダなどのリソースへのアクセス時や、アプリケーションのインストールや設定変更などの際の管理者権限への昇格時に要求される認証手続に対して、入力操作認証方式の認証機能を適用することができる。さらに他の実施形態では、インターネットや組織内のネットワーク上で提供されるサービスやアプリケーションへのログインに対して、入力操作認証方式の認証機能を適用することもできる。
【００２４】
認証方式判定部１１０は、入力操作認証方式が指定される場合に、認証の要求があった際に、要求にかかる操作者に対し当該入力操作認証方式の認証が許可されるか否かを判定する。後述するように、認証の要求にかかる操作者について、当該入力操作認証方式の認証を行うための準備が未だ完了していない場合は、認証方式判定部１１０は、入力操作認証方式の認証を許可しないと判断し、代替認証のためパスワード方式認証部１１２を呼び出す。この場合、ログイン認証後、上記入力操作認証方式の認証の準備のために学習処理部１２０が呼び出される。当該入力操作認証方式の認証を行うための準備が完了している場合は、認証方式判定部１１０は、当該入力操作認証方式の認証を許可すると判断し、入力操作方式認証部１５０を呼び出す。認証方式判定部１１０は、本実施形態における判定手段を構成する。
【００２５】
パスワード方式認証部１１２は、通常のユーザ名およびパスワードを用いたパスワード認証を実行する。パスワード方式認証部１１２は、本実施形態のよる入力操作認証方式の認証が指定される場合であって、その準備が未完了の場合に呼び出されて、代替的に、パスワード認証によるログイン認証を行う。なお、代替方式に応じた各種設定、例えばパスワードの設定は、事前に行われているものとする。また、説明する実施形態では、代替方式として、パスワード認証を例示するが、特に限定されるものではなく、他の実施形態では、ＰＩＮコード認証やピクチャ認証などが行われてもよい。
【００２６】
学習処理部１２０は、現在ログイン中のユーザ・アカウントに対応した操作者による入力装置を介した入力操作の情報を収集し、収集した操作情報に基づき複数の学習データを準備し、正当な操作者の入力操作を識別するための操作者識別モデルを学習する。ここで、操作者識別モデルとは、後述する予測器に対して、特定の操作者を認証するために学習によって生成されたパラメータを与えて構成される、入力が特定の操作者によるものかどうかを識別するためのニューラルネットワークなどのモデルを指す。なお、ここでは、所定の代替認証処理を通過しているので、現在ログイン中のユーザ・アカウントに対応した正当な操作者が各種操作を行っているものとみなしてもよい。学習処理部１２０は、入力操作認証方式の認証が指定される場合であって、少なくとも準備が未完了である場合に呼び出され、ログイン後、学習データの収集を行い、充分な学習が完了すると、入力操作認証方式の認証の許可を与える。
【００２７】
なお、説明する実施形態では、準備が未完了である場合に学習処理部１２０が呼び出されて、学習データの収集および学習が行われ、一方、入力操作認証方式の認証の許可が一旦与えられた以降については、学習処理部１２０が用いられないものとして説明する。しかしながら、このような態様に限定されるものではない。他の実施形態では、入力操作認証方式の認証の許可が一旦与えられた以降も、ログイン後、学習データの収集を行い、学習を継続して行い、認証の精度を改善する態様としてもよい。
【００２８】
入力操作方式認証部１５０は、入力操作認証方式の認証が指定される場合であって入力操作認証方式の認証が許可されるときに呼び出され、要求にかかる操作者の入力操作に基づいて認証を成功させるか否かを判断する処理を行う。ここで、入力操作認証方式にとは、認証の際に操作者に対し、秘密ではない任意の文字列の入力を課題として求めて、この際に操作者により実際になされた入力操作が、事前に学習しておいた操作者の入力操作の特徴と合致するか否かの判断に基づいて、当該操作者の正当性を検証する方式をいう。
【００２９】
以下、図３および図４を参照しながら、ログイン認証モジュール１００を構成する学習処理部１２０のより詳細な機能構成について説明する。図３は、本実施形態によるログイン認証モジュールにおける学習処理部１２０のより詳細な機能ブロック図である。図３に示すように、学習処理部１２０の機能構成としては、特徴ベクトル生成部１２２と、ダミー入力生成部１２４と、機械学習部１２８と、予測器１３２と、学習状態判定部１３８とが含まれる。
【００３０】
特徴ベクトル生成部１２２は、キーボード５２を介した操作者による操作情報を収集し、操作者による操作情報から、学習データおよび検証データ各々を構成する特徴ベクトルを生成する。ここで、特徴ベクトルとは、元の生情報から、機械学習で取り扱い可能となるように変換されたデータであり、後述する操作者識別モデル１３０を構成する予測器１３２への入力となるものである。特徴ベクトルとしては、一例としては、押されたキーに加えて、キーの時間間隔およびキー押下の強度の一方または両方を表現したものを用いることができる。特徴ベクトル生成部１２２は、本実施形態における収集手段を構成する。なお、特徴ベクトルについては、詳細を後述する。
【００３１】
ダミー入力生成部１２４は、事前に多くの操作者による入力操作を収集して準備された入力操作統計情報１２６に基づいて、上記操作者以外の他の操作者による仮想的な擬似操作情報（以下、ダミーデータともいう）を生成する。擬似操作情報は、上述した特徴ベクトルの形で生成される。擬似操作情報は、操作者識別モデル１３０の学習およびテストの両方で用いることができる。ダミー入力生成部１２４は、本実施形態における擬似情報生成手段を構成する。
【００３２】
機械学習部１２８は、収集された操作情報に基づく複数の学習データを用いて、所定の機械学習アルゴリズムを実行することにより、正当な操作者の入力操作を識別するための予測器１３２のパラメータ１３４を学習する。好ましくは、機械学習部１２８は、操作者の実際の操作情報に基づく複数の学習データに加えて、上記ダミー入力生成部１２４により生成された擬似操作情報に基づく複数の学習データをさらに用いて、予測器１３２のパラメータ１３４を学習することができる。当該操作者以外の者による入力操作の特徴を有するデータを学習データとして与えることにより、機械学習の精度を向上させることができる。機械学習部１２８により、予測器１３２の最適化されたパラメータ１３４が与えられる。機械学習部１２８は、本実施形態における学習手段を構成する。
【００３３】
ここで、予測器１３２とは、所定の操作者の入力操作を識別するための数理モデルをいう。予測器１３２は、与えられた入力操作を表す入力データに対し、その入力操作が所定の操作者により行われたものであるか、あるいは他の操作者により行われたものであるかを識別し、識別結果を出力する。上述したように、操作者の入力操作を表す入力データは、特徴ベクトルとして与えられる。このため、予測器１３２は、入力された特徴ベクトルに対し、それが操作者の入力操作であるか否かを識別する識別結果を出力するよう構成される。
【００３４】
識別結果は、典型的には、確率によって表される。例えば、入力データが対象操作者からのものである（ＶＡＬＩＤな）確率あるいは、入力データが対象操作者以外の者からのものである（ＩＮＶＡＬＩＤな）確率として出力される。あるいは、入力データが各操作者（ＵＳＥＲ１，ＵＳＥＲ２）からのものである確率として出力される。
【００３５】
予測器１３２には、学習データ各々に含まれる特徴ベクトルを入力として、正しい識別結果が出力されるよう、機械学習アルゴリズムにより調整されたパラメータ１３４が算出され、設定される。予測器１３２およびそのパラメータ１３４により、本実施形態における操作者識別モデル１３０が構成される。
【００３６】
なお、機械学習部１２８が実行する機械学習アルゴリズムとしては、これまで知られた如何なる機械学習アルゴリズムを用いることができ、機械学習を適用する予測器１３２の様式に応じて適切なアルゴリズムを用いればよい。機械学習アルゴリズムとしては、好ましくは、教師あり学習を行うことができる。その場合に、操作者の実際の操作情報から生成された学習データには、その入力が当該操作者により行われたことを示す有効（ＶＡＬＩＤ）の正解ラベルが付される。一方、上記ダミー入力生成部１２４による擬似操作情報から生成された学習データには、その入力が当該操作者以外の者により行われたことを示す無効（ＩＮＶＡＬＩＤ）の正解ラベルが付される。
【００３７】
また、機械学習アルゴリズムが適用される予測器１３２としては、特に限定されるものではないが、ニューラルネットワーク（ＡＮＮ：Artificial Neural Network）およびサポートベクターマシン（ＳＶＭ：Support Vector Machine）、またはこれらの組み合わせを用いることができる。例えば、ニューラルネットワークは、学習データとして与えられる入力に対して正しい識別ができるように、誤差逆伝搬法によりパラメータを調整することができる。ニューラルネットワークは、入力層、隠れ層および出力層を含み、学習すべきパラメータとしては、各層間の重み、各層のバイアスなどが含まれる。例えば、ＳＶＭに関しては、逐次最小問題最適化法などの２次計画問題の解法としてよく知られたアルゴリズムを用いることができる。ＳＶＭの学習すべきパラメータとしては、線形しきい素子のパラメータが含まれる。
【００３８】
なお、機械学習部１２８の機械学習アルゴリズムにおける具体的な演算は、当該コンピュータ１０のＣＰＵが行ってもよいし、必要に応じて当該コンピュータに接続されたＧＰＵが行ってもよい。あるいは、ネットワークを介して接続された他のコンピュータ・システムに、学習データを与えて、機械学習アルゴリズムにおける具体的な演算を行わせて、当該情報処理装置は、学習の成果物を得るだけとしてもよい。予測器１３２における具体的な演算についても同様である。
【００３９】
収集された操作情報の一部は、学習データのほか、予測器の精度を検証するための検証データのために用いられる。同様に、擬似操作情報の一部も、検証データのために用いられる。予測器１３２は、与えられたパラメータ１３４の下、検証データを構成する特徴ベクトルの入力を受けて、各検証データの入力操作が当該操作者により行われたものであるか、あるいは他の操作者により行われたものであるかを識別し、識別結果を出力する。検証データにおいては、正解ラベルが与えられるので、予測器１３２が出力する識別結果から、予測器１３２の識別精度を評価することができる。この識別精度を評価するために用意される識別結果を学習後検査結果１３６と参照する。
【００４０】
学習状態判定部１３８は、収集された操作情報に基づく１以上の検証データおよびその検証データに対して予測器１３２が出力した学習後検査結果１３６を用いて、操作者識別モデル１３０の学習状態を評価する。学習状態判定部１３８は、学習状態の評価の結果に応じて、現在の学習状態の操作者識別モデル１３０に基づく認証の際に許容できる課題条件および該認証を許可するか否かを決定する。ここで、許容できる課題条件は、認証に際して入力を求める任意の文字列の文字数の指定を含むことができる。
【００４１】
入力操作に基づく認証が許可された場合は、当該操作者のアカウントに対し当該入力操作認証方式の認証が許可される旨が記録される。そして、決定された課題条件および学習済みの予測器１３２のパラメータ１３４が、学習処理部１２０から入力操作方式認証部１５０へ渡される。
【００４２】
図４は、本実施形態による学習処理部１２０における学習状態判定部１３８のより詳細な機能ブロックを周辺の機能構成とともに示す。図４に示すように、学習状態判定部１３８の機能構成としては、妥当性検証部１４０および認証誤り精度算出部１４２とを含み構成される。
【００４３】
妥当性検証部１４０は、検証データ各々に対する学習後検査結果が正しいか否かを判定する。学習後検査結果１３６に対する入力データが、収集した実際の操作情報から特徴ベクトル生成部１２２で生成されたものであるか、またはダミー入力生成部１２４で生成された擬似操作情報に基づくものであるかは、既知であり、各検証データには、正解ラベルを与えることができる。このため、識別結果として出力された値が正しいかを判定することが可能である。ただし、識別結果は、確率で表されるため、間違うこともあることを考慮し、これまでの学習後検査結果１３６の測定記録を記録し、計算された確率が、検証データの入力値の組に対して著しく差が無いことの評価を行うことが好ましい。
【００４４】
ここでは、実際の入力操作から生成された検証データに対し、正当な操作者の入力である確率が５０％以上であるという結果を出したか否か、擬似操作情報から生成された検証データに対して、正当な操作者の入力である確率が５０％未満であるという結果を出したか否かが判定基準となる。妥当性検証部１４０は、条件を満たさない場合は、識別結果は妥当ではないと判断する。
【００４５】
認証誤り精度算出部１４２は、１以上の検証データ各々に対する現時点の操作者識別モデル１３０による学習後検査結果１３６に基づいて、学習後検査結果１３６として得られた確率から、認証するに十分な課題条件を決定する。認証誤り精度算出部１４２は、より具体的には、何文字の文字列を入力として求める課題とすれば認証するに十分であるかを算出し、所定の認証精度が得られるような文字数を決定する。認証誤り精度算出部１４２は、文字数が所定の条件を満たさない場合には、操作者識別モデル１３０に基づく認証を許可しない旨を決定することができる。
【００４６】
ここで所定の基準とは、人間が入力するのに不都合を生じないレベルの文字数を判断する基準をいう。例えば、ログイン認証のため、１１文字以下の入力であれば許容されるが、１１文字を超える入力を求めることは負荷が大きすぎで不都合であると考えるのであれば、１１文字以下を基準として与えればよい。そして、９９％以上の認証精度など、十分に高い数値になるように設定がなされた際に、課題の文字列が１１文字といった、人間が入力するのに不都合を生じないレベルの文字数である場合は、当該入力操作認証方式の認証が許可される。
【００４７】
このようにして、学習状態が良好であり、高い精度で識別が可能である状態であれば、より短い文字数の文字列を入力するという課題を操作者に課すことで認証の判断がなされるようになる。一方、学習状態が良好ではなく、あまり高い精度で識別が可能ではない状態であれば、より長い文字数の文字列を入力するという課題が操作者に課される。あるいは、学習状態が不良であれば、学習未完了状態となり、入力操作に基づく認証自体が許可されない。
【００４８】
なお、所定の認証精度を維持するために、何文字の入力が必要となるかについては、統計学的に求めることが可能である。また、検証データを正しい結果と判断できる確率と、誤判定確率に差があれば、複数の入力データに対して正しい結果を返しているものが５０％を上回る確率は、文字列の文字数が多いほど向上する。認証精度を維持するために、何文字の入力が必要となるかの計算方法については、詳細を後述する。
【００４９】
以下、図５を参照しながら、ログイン認証モジュール１００を構成する入力操作方式認証部１５０のより詳細な機能構成について説明する。図５は、本実施形態によるログイン認証モジュール１００における入力操作方式認証部１５０のより詳細な機能ブロック図である。図５に示すように、入力操作方式認証部１５０の機能構成としては、認証用文字列生成部１５２と、特徴ベクトル生成部１５４と、予測器１５６と、認証判断部１６２とが含まれる。
【００５０】
認証用文字列生成部１５２は、入力を促すためにディスプレイ５０などの表示装置に表示させる、学習処理部１２０から渡された課題条件に応じた文字列を生成する。認証用文字列生成部１５２は、例えば、単語辞書を保持しており、単語辞書に登録された文字列の中から、課題条件に適合した文字列を選択する。例えば、課題条件が、１１文字の指定を含む場合、１１文字以上の単語を選択することや、合わせて１１文字以上となる複数の単語を選択することができる。認証用文字列生成部１５２は、本実施形態における認証用入力生成手段を構成する。
【００５１】
特徴ベクトル生成部１５４は、上述した学習処理部１２０の特徴ベクトル生成部１２２と同様のものであり、課題条件に応答して入力された入力操作の情報を１以上の認証用特徴ベクトルに変換する。特徴ベクトル生成部１５４は、本実施形態における変換手段を構成する。
【００５２】
予測器１５６は、上述した学習処理部１２０の予測器１３２と同一のものであり、パラメータ１５８も、入力操作に基づく認証を許可する判断に応答して、学習処理部１２０から出力されたものであり、学習完了時のパラメータ１３４と同一のものとなる。予測器１５６およびそのパラメータ１５８により、本実施形態における操作者識別モデル１６０が構成される。
【００５３】
認証判断部１６２は、入力操作に基づく認証が許可される場合に、課題条件に応答した入力操作に対する、認証要求にかかる操作者に対応した操作者識別モデル１６０による複数の識別結果に基づいて、認証要求にかかる操作者の認証を成功させるか否かを判断する。認証判断部１６２は、本実施形態における認証判断手段を構成する。認証を成功させるか否かを判断する処理については、詳細を後述する。
【００５４】
なお、説明する実施形態において、認証用文字列生成部１５２では、典型的には、課題条件に合致した１または複数の単語がランダムに選択される。一方、検証データ各々に対する操作者識別モデル１６０による識別結果は、例えば、正当な操作者の入力である確率が８０％というような確率情報を含む。このようなある種の信頼度の情報を用いることにより、認識精度が高い特徴ベクトルがどれであるかを抽出することができる。
【００５５】
そこで、上述した学習処理部１２０の学習状態判定部１３８では、信頼度が所定の条件を満たす１以上の検証データを抽出し、これを入力操作方式認証部１５０に通知することができる。学習状態判定部１３８は、本実施形態における抽出手段も構成する。そして、認証用文字列生成部１５２は、抽出された１以上の検証データに関連する文字を優先的に用いて文字列を生成することで、認証精度の高い特徴ベクトルを生成するような文字列を指定することができる。これにより、認証精度を向上させることができる。これを行わない場合は、たとえば操作者が入力した文字列の中には正当な操作者だと判定する結果となるが、その確率が５１％程度のものでも採用される可能性があった。これに対して、認識精度の高い文字列を優先的に選んで使うことにより、そういった事象の発生を防止することができる。つまり、後述する認証判断部１６２で認証成功とするか否かの判断をより正確に行うことができるようになる。
【００５６】
また、上述した実施形態では、一旦学習済みとなった以降は、認識モデルの学習は特に行われない。しかしながら、このような態様に特に限定されるものではない。他の実施形態では、一旦学習済みとなった後でも、当該入力操作認証方式に基づく認証や他の認証でログインした後、キー操作の収集が継続し、一定量の学習データが得られる毎に再学習し、認識モデルのパラメータを更新することもできる。
【００５７】
図６は、本実施形態におけるログイン認証の際に表示される（Ａ）ユーザ・アカウント選択画面、（Ｂ）パスワード認証方式の認証画面および（Ｃ）入力操作認証方式の認証画面を例示する。まず、図６に示すユーザ・アカウント選択画面２００において、プルダウンメニュー２０２により所定のユーザ・アカウントが選択される。そして、その選択されたユーザ・アカウントについて、入力操作認証方式の認証が指定されており、入力操作認証方式の認証を行うための操作者識別モデルの学習が未だ完了していない場合は、図６（Ｂ）に示すパスワード認証方式の認証画面２１０が表示される。一方、選択されたユーザ・アカウントについて操作者識別モデルの学習が既に完了している場合は、図６（Ｃ）に示す入力操作認証方式の認証画面２２０が表示される。
【００５８】
図６（Ｂ）に示すパスワード認証方式の認証画面２１０は、ディスプレイ５０とキーボード５２とコンピュータ１０があれば認証手続が可能であるため、多くの状況で利用されている。しかしながら、一方で、以下のような不充分な点がある。
【００５９】
すなわち、第１に、パスワードの入力間違いが発生しやすい点がある。これは、パスワードを入力するテキストボックス２１４内の入力済の文字列が”＊”や黒丸などでマスクされて表示されるため、入力の内容を確認することが難しいためである。また、第２に、ユーザが脆弱性のないパスワードを設定するとは限らない点である。デフォルトのパスワードをそのまま用いるケースや、「ｐａｓｓｗｏｒｄ」や「１２３４」などの自明な文字列を使うユーザは少なからず存在する。第３に、入力している状況を第三者に盗み見られるリスクがある点である。パスワードは原則的に秘密にしなければならないが、第三者に見られないとも限らず、パスワードは所定頻度で更新することが求められるなど制限が発生し、ユーザの負荷の増加につながる。さらに、パスワード強度の関係で、「アンダーバーなどの特殊文字を1文字以上使う必要がある」、「アルファベットに大文字を含む必要がある」、「数字とアルファベットが１文字以上なくてはならない」、「８文字以上のパスワードで無ければならない」など利用するサービスごとに制約があり、覚えにくいパスワードを使うことを強いられることがある。
【００６０】
これに対し、図６（Ｃ）に示す入力操作認証方式の認証では、操作者は、ユーザ・アカウントを選択した後、ユーザ認証のためのテキストボックス２２４内で文字列を入力する。しかしながら、この際に操作者に入力が求められる文字列２２６は、パスワードではなく、コンピュータ側が認証のために入力することを要求する課題としての特定の文字列である。したがって、秘密にする必要がないことから、テキストボックス２２４内にマスクせずに表示することができる。図６（Ｃ）の例では、課題の文字列２２６は、「ａｕｔｈｅｎｔｉｃａｔｉｏｎ」であり、それに対して操作者は、そのまま同一文字列「ａｕｔｈｅｎｔｉｃａｔｉｏｎ」を入力することになる。
【００６１】
ここで、文字列の入力に応答した認証の成否の判定は、機械学習により事前に操作者の入力操作を特徴付けるパターンを学習した操作者識別モデル１６０を用いて実施される。入力された文字列の内容自体は認証に用いられるわけではなく、入力内容を公開しても構わず、その入力する様子が盗み見られても問題は少ない。
【００６２】
以下、図７を参照しながら、本実施形態における情報処理装置が実行する、入力操作認証方式の認証処理の流れについて、より詳細に説明する。図７は、本実施形態における情報処理装置が実行する、入力操作に基づく認証処理の流れを示すフローチャートである。
【００６３】
図７に示す処理は、操作者からのログイン認証の要求に応答して、ステップＳ１００から開始される。なお、以下、操作者についての情報処理装置へのログイン認証方式として、入力操作認証方式が指定されているものとして説明する。ステップＳ１０１では、情報処理装置は、選択されたユーザ名を取得する。図６（Ａ）に示すユーザ選択画面で、所定のユーザ名がプルダウンメニュー２０２から選択されて、ＯＫボタン２０４が押下されると、選択されたユーザ名がログイン認証モジュール１００に渡される。
【００６４】
ステップＳ１０２では、情報処理装置は、認証方式判定部１１０により、選択されたユーザ名に対応する操作者の操作者識別モデルが学習済みであり、入力操作認証方式の認証が許可されるか否かを判定する。ステップＳ１０２で、学習済みではなく、許可されないと判定された場合（ＮＯ）は、ステップＳ１０３へ処理が分岐され、以降、学習段階の処理が行われる。
【００６５】
ステップＳ１０３では、情報処理装置は、パスワード方式認証部１１２により、当該操作者について、代替認証方式として、パスワード認証を行う。なお、パスワードは、当該操作者について、通常の認証方式として事前に設定されているものとする。ステップＳ１０４では、情報処理装置は、ログイン認証に成功したか否かを判定する。ステップＳ１０４で、ログイン認証に失敗したと判定された場合（ＮＯ）は、ステップＳ１０３へ処理が戻されて、パスワード認証の試行が繰り返される。一方、ステップＳ１０４で、ログイン認証に成功したと判定された場合（ＹＥＳ）は、ステップＳ１０５へ処理が進められる。
【００６６】
ログインに成功した以降は、操作者は、その情報処理装置を自分の認証権限の範囲内で自由に操作することができる。その作業の中には、例えばドキュメント作成、コーディング作業など、日常業務の中のキーボード操作を伴う操作が含まれる。ログインした操作者は、通常通り、日常業務を行うのみである。一方で、ステップＳ１０５では、情報処理装置は、学習処理部１２０により、ログインユーザによる作業において、そのキーボード５２を介して行われるキー操作情報を、バックグラウンドで収集し、機械学習用の入力データに変換する。
【００６７】
ステップＳ１０６では、情報処理装置は、一定量の入力データが得られたか否かを判定する。ここで、一定量とは、機械学習アルゴリズムを適用するに際して、合理的なデータ量を意味する。一定量に代えて、１日毎のように、期間を定めてもよい。ステップＳ１０６で、まだ一定の量の入力データが得られていないと判定された場合（ＮＯ）は、ステップＳ１０５へ処理をループさせて、入力データの収集が継続される。一方、ステップＳ１０６で、一定量の入力データが得られたと判定された場合（ＹＥＳ）は、ステップＳ１０７へ処理が進められる。
【００６８】
ステップＳ１０７では、情報処理装置は、特徴ベクトル生成部１２２により、収集した入力データから学習データを生成する。情報処理装置は、擬似操作情報からダミーの学習データも生成することもできる。収集された入力データは、所定フォーマットの特徴ベクトルに変換されて、機械学習アルゴリズムに取り込まれることになる。入力データは、操作者が作業する間は新規の入力データとして取り入れられるため、操作者が情報処理装置を操作すればするほど、学習データが蓄積されてゆくことになる。
【００６９】
図８は、本実施形態における入力操作に基づく認証処理において学習のために準備される学習データのデータ構造を示す。機械学習を行う場合、生の入力データは、機械学習アルゴリズムで取り扱いやすい特定のフォーマットに整形される。この整形されたフォーマットのデータは、特徴ベクトルと参照される。以下、キーボードの操作から特徴ベクトルを作成する具体的な方法について一例を説明する。
【００７０】
特徴ベクトルの生成では、操作者の特徴が適切に表現されていることが望ましい。まず、第１の方法として、キー操作時間に基づき操作者の特徴を学習する方法について説明する。
【００７１】
例えば、操作者が、「ａ」、「ｂ」、「ｃ」の順でキーを押下した際に、それぞれ「ａ」から「ｂ」のキー操作の間に０．２２秒、「ｂ」と「ｃ」のキー操作に０．３１秒かかったとした場合、この操作の情報を、入力されたキーとその時間間隔を用いて、例えば、（ａ，ｂ，０．２２)および（ｂ，ｃ，０．３１)の２つの特徴ベクトルで表すことができる。ここで、時間間隔は、第１のキーを押下したタイミングと、第２のキーを押下したタイミングとの間隔であってもよいし、第１のキーを解放したタイミングと、第２のキーを押下したタイミングとの間隔であってもよいし、第１のキーを押下したタイミングと、第２のキーを解放したタイミングとの間隔であってもよいし、第１のキーを解放したタイミングと、第２のキーを解放したタイミングとの間隔であってもよい。
【００７２】
さらに、上記例では、２つのキー操作の組に対して１つの特徴ベクトルを生成しているが、３つや４つのキー操作の組に対して１つの特徴ベクトルを生成することもできる。例えば３つのキー操作の組とする場合は、（ａ，ｂ，ｃ，０．２２，０．３１）のように１つの特徴ベクトルで表現することができる。より多くのキー操作を組にして特徴ベクトルを構成すれば、それだけキー間の依存関係の強いキー操作情報が得られ、操作者の入力操作を識別しやすくなる。一方で、特徴ベクトルの次元が増大し、学習に必要となるデータ数は増大し、計算時間も増大するため、トレードオフの関係になる。さらに、上記例では、０．２２秒や０．３１秒といった実数値を用いているが、時間間隔の大小を表す整数値で表してもよい。
【００７３】
また、教師有りの機械学習では、学習させる際に、特徴ベクトルと、その特徴ベクトルにおける正解ラベルの組である学習データを生成し、それを入力とする。キー操作において特徴ベクトル生成部１２２が生成した特徴ベクトルは、適正にログインした操作者が実際にタイピングした内容であるため、これは当該操作者による入力であると判断できる。つまり、特徴ベクトル生成部１２２に基づく各学習データは、図８に例示するように、特徴ベクトルと、有効（ＶＡＬＩＤ）の正解ラベルの組として構成される。
【００７４】
一方で、機械学習の精度を上げるためには、操作者以外の者による入力の特徴データも学習データとして与えることが好ましい。ダミー入力生成部１２４は、事前にキーの入力データの統計などから得られた、一般的な操作者の振る舞いの統計情報のリストを保持する。そして、ダミー入力生成部１２４は、その統計情報のリストを入力とし、そのリストの時間に対して正規分布などのバイアスをかけることで、当該操作者以外の者が擬似的にキー入力をした場合の特徴ベクトルを生成する。ダミー入力生成部１２４に基づく学習データは、図８に例示するように、特徴ベクトルと、無効（ＩＮＶＡＬＩＤ）の正解ラベルの組として構成される。
【００７５】
なお、統計情報のリストは複数あってもよく、それぞれ別に生成してもよい。例えば、キー入力の速いグループの学習データ、キー入力の遅いグループの学習データがそれぞれ生成されてもよい。さらに、統計情報から生成したデータ以外にも、実際に測定された他の操作者の入力操作に基づく学習データを追加してもよい。
【００７６】
また、上述した説明では、キーと、キーの時間間隔を表す特徴ベクトルについて説明したが、それ以外のものでも、操作者が入力装置として用いるものから取得できるものであれば、特徴ベクトルを生成するために用いることができる。例えば、キーボードにキーを押した圧力を検知できる機能が備わっている場合、押されたキーとキーの押された圧力（キー押下の強度）を用いて特徴ベクトルを作成することもできる。キーボードなどのヒューマン・インタフェース・デバイス（Human Interface Device）では、コンピュータへのデータ送信方法が標準化されており、圧力のデータ通知は、０から１０２３までの値で表す方法が知られており、ここでは、押されたキー、キーの検知した圧力の値を用いて特徴ベクトルとすることができる。ダミー入力生成部１２４の擬似情報生成のアルゴリズムは、特徴ベクトルの構造に応じたものを用いればよく、それ以外の部分については、特段の変更は必要とならない。そのほか、操作者が入力装置を用いて行う入力操作であれば、キーボードの操作に限定されず、マウス操作やタッチパッド操作でも構わない。さらに、上述したカメラなどの外部デバイスを備える場合、例えば、どのキーをどの指で押すかなどをカメラで撮るよう構成し、画像処理で識別し、押した指の情報を固有情報として特徴ベクトルに含ませることによって、認識精度を向上させることができる。例えば、「ａ」のキーを薬指で押すといった操作者の癖を利用して、認識精度を向上させることができる。以降、単純のためにキー操作は全て２個のキー操作の組で特徴抽出がなされるものとして説明する。
【００７７】
ステップＳ１０８では、情報処理装置は、機械学習部１２８により、現時点で得られた学習データを用いて、機械学習アルゴリズムに入力し、予測器１３２の最適化されたパラメータ１３４を得る。ここでは、特徴ベクトル生成部１２２と、ダミー入力生成部１２４からの学習データを受け取り、それぞれの学習データの特徴ベクトルに対して当該操作者の入力であるか、そうでないかを判別するための予測器１３２に対する最適化されたパラメータ１３４を生成する。なお、キー操作を入力とする場合は、同一操作者のキー操作でも、常に同じ時間間隔で実施されるわけではないので、確率的なアルゴリズムによる判定となり、判別結果も確率的に出力される。
【００７８】
ステップ１０９では、情報処理装置は、得られた予測器１３２およびパラメータ１３４を含む操作者識別モデルのテストを実施し、認証の際に所定の精度を得るために課すべき課題条件、より具体的には、必要な文字数を決定する。予測器１３２では、機械学習部１２８からパラメータ１３４を受けて、検証データに対して、それが当該操作者の入力である確率を判定し、操作者の入力か否かを学習後検査結果１３６として出力する。
【００７９】
上述したように、認証精度の算出精度を保つために、何文字の入力が必要となるかは統計学的に求めることが可能である。各検証データ（例えば、２つのキー操作を表す）を正しく識別できる識別確率と、誤識別確率に差がある場合、複数の入力データ（複数のキー操作を要する文字列の入力操作）に対して正しい結果を返しているものが過半を上回る確率は、文字数が多くなるほど上がる。
【００８０】
例えば、操作者からの各検証データを正しく識別できる確率をｐとした場合、間違った識別をする確率は（１−ｐ）で表される。この場合、ｎ個の入力データの内で、ｋ個以上の入力値が正しく判定できる確率は、２項分布に従うために、下記式により計算することができる。
【００８１】
【数１】
2019008369.tif 000003
【００８２】
上記式中の括弧（ｎ  ｋ）Ｔは、ｎ個からｋ個を選ぶ組合せの数、すなわち二項係数を表す。実際は、検証データを正しく判定できる確率は、入力された文字の組と、そのときの時間間隔にも依存する。このため、上記確率は、固定値として求めることは難しく、厳密な計算を行うことが求められる場合もあるが、人力での計算は困難であってもコンピュータを用いれば簡単に可能なレベルの演算で求めることができる。
【００８３】
２項分布は、データの母数ｎが大きい場合に標準正規分布で近似できるため、簡単のため近似できるとすると、操作者の各検証データを正しく識別できる識別確率ｐに対してサンプル数ｎのデータに対する２項分布は、下記式で近似することができる。
【００８４】
【数２】
2019008369.tif 000004
【００８５】
ここで、Ｘは、標準正規分布で、Ｙが、求めるべき２項分布である。このとき、ｎのサンプル数を１０として、ｐ＝６０％を仮定した場合に、過半以上の入力データが正しく識別できる確率を試算すると、下記式で値が計算することができる。
【００８６】
【数３】
2019008369.tif 000005
【００８７】
ただし、これはｎが十分大きいという近似条件と整合していないので、実際の見積もり結果とは異なることになり、概算である。実際に計算を行う場合は、近似せずに、素直に２項分布の確率を計算させた方が正しい結果を得られるであろう。
【００８８】
この確率は、ｎのサンプル数によって変動するし、ｐの値によっても変動する。例えば、同様に確率を計算していくと、ｐ＝０．６として、９９％の確率で過半のデータが正しいと判定する確率を求めるのに必要な入力データの個数ｎは１３０ほどに試算される。一方、ｐ＝０．７の時にはｎ＝３０で充分であると試算され、ｐ＝０．８であれば、ｎは１０ほどで充分であると試算されるため、測定精度が上がれば十分に実用的な値に落ち着くと考えられる。
【００８９】
つまり、ステップＳ１０８では、検証データ各々に対して、操作者が入力した値か、そうでないかの識別確率ｐが高くなるように機械学習が繰り返し行われ、パラメータが調整される。そして、ステップＳ１０９では、識別確率ｐに基づいて、複数の特徴ベクトルのうち半分以上が操作者による入力であるという条件の下で、その判定が誤りとなる確率を計算し、その判定を誤りとする確率が一定基準以下（例えば１％以下など）であれば、十分なレベルで判定可能であると判断できる特徴ベクトルの必要数が求められる。
【００９０】
ステップＳ１１０では、情報処理装置は、テスト結果が良好であったか否かを判定する。ステップＳ１１０で、テスト結果が良好ではないと判定された場合（ＮＯ）は、ステップＳ１０５へ処理を戻し、当該操作者についてさらなる学習データを収集し、学習を試みる。これにより、操作者識別モデルの精度の向上が図られる。一方、ステップＳ１１０で、テスト結果が良好であると判定された場合（ＹＥＳ）は、ステップＳ１１１へ処理を分岐させて、当該操作者のユーザ・アカウントについて学習済み状態に移行する。上記の場合、特徴ベクトルの必要数が、人間が入力できる範囲内の数（例えば１１文字）に収まっている場合に認証可と判断し、それ以外では認証不可と判断されることになる。
【００９１】
一方、ステップＳ１０２で、学習済みであり、入力操作認証方式の認証が許可されると判定された場合（ＹＥＳ）は、ステップＳ１１２へ処理が分岐され、認証段階の処理が行われる。
【００９２】
ステップＳ１１２では、情報処理装置は、入力すべき課題の文字列を表示し、課題文字列の入力を指示する。このとき、認証用文字列生成部１５２は、課題条件として与えられる指定文字数を入力とし、そこから入力文字列を作成する。例えば、図４を参照しながら認証誤り精度算出部１４２についての説明で例示したように、認証において特徴ベクトルが１０個必要だとされた場合、特徴ベクトルを１０個作るために必要な文字数は、２文字を１つの特徴ベクトルとするため１１個となる。そのため、認証用文字列生成部１５２は、１１文字以上の文字列を生成する。このとき、認証用文字列生成部１５２は、信頼度が高かった検証データに関連する文字を優先的に用いて文字列を生成することで、認証精度の高い特徴ベクトルを生成するような文字列を生成してもよい。
【００９３】
認証用文字列生成部１５２で生成された文字列は、ログイン認証画面上に、ディスプレイ５０経由で操作者に伝えられ、操作者はその指示に従い文字入力を行う。ステップＳ１１３では、情報処理装置は、操作者からの課題文字列に応答した入力を受け付ける。ステップＳ１１４では、情報処理装置は、特徴ベクトル生成部１５４により、課題文字列に応答した入力操作に基づいて、認証用の１以上の特徴ベクトルを生成する。上述したように、１１文字の文字列が生成された場合は、１０個の特徴ベクトルが生成される。入力された文字列が課題文字列とは同一ではなく、所定数の特徴ベクトルが得られなかったりした場合は、典型的には、再度、課題文字列の入力が求められる。
【００９４】
ステップＳ１１５では、情報処理装置は、操作者識別モデル１６０の予測器１５６に認証用特徴ベクトルを入力し、予測器１５６は、パラメータ１５８に基づいて、入力された特徴ベクトルが操作者の入力であるか否かの識別結果を出力する。識別結果は、特徴ベクトル数個分だけ取得される。
【００９５】
ステップＳ１１６では、情報処理装置は、認証判断部１６２により、複数の識別結果に基づいて、正当な操作者であるか否かを判定する。認証判断部１６２では、正当な操作者からの入力であると判定された特徴ベクトル数を計数する。正当であると判定された特徴ベクトル数が、入力された特徴ベクトルの半分を超える数だった場合の事象が起こる確率は、上述したように見積もることができる。上記例では、半数以上の特徴ベクトルが操作者の入力であると判定された場合には、文字列全体として、９９％の確率で操作者の入力であるように、課題条件の文字数を設定している。つまり、入力データの半数以上が操作者の入力であると判断されるということは、９９％の確率でユーザによる入力であると判定できるということになる。この結果をもって、認証判断部１６２は、認証成功または失敗の判断を行うことが可能である。
【００９６】
ステップＳ１１６で、正当な操作者であると判定された場合（ＹＥＳ）、これによりログイン認証を成功させ、ステップＳ１１７で、ログイン状態へ移行させる。一方、ステップＳ１１６で、正当な操作者ではないと判定された場合（ＮＯ）は、ステップＳ１１２へ処理を戻し、再度指定した文字列の入力をやり直させる。
【００９７】
以上説明した実施形態による入力操作認証方式の認証では、通常のパスワード認証にはない、以下の利点を有する。すなわち、パスワードの入力間違いが発生しにくいという利点がある。これは、認証に用いる文字列は、ディスプレイ５０上に表示されており、秘密にする必要がなく、入力内容もディスプレイ上に表示されているためである。さらに、ユーザが脆弱なパスワードを設定することが想定されない。これは、パスワードを設定しないため、そもそも脆弱なパスワードが想定できないからである。さらに、入力している箇所を第三者に盗み見られても大きな問題は生じない。これは、入力される文字列の内容自体は、秘密ではなく、操作者の特徴の一致性を確認するためのものであるからである。さらに、操作者自身が、自分の設定したパスワードを忘れることがないという利点もある。入力すべき文字列を都度、情報処理装置側から指定するため、操作者は、パスワードを覚える必要が無いからである。
【００９８】
以下、さらに、複数の他の実施形態について説明する。図９は、他の実施形態によるログイン認証モジュールにおける学習処理部の機能ブロック図である。図９に示す実施形態による学習処理部１２０は、さらに、特徴ベクトル生成部１２２の前段にフィルタ部１４６を備える。フィルタ部１４６は、収集された、キーボード５２を介した操作者による操作情報から、所定の除外条件に適合する操作にかかるものを除外するフィルタ手段を構成する。
【００９９】
上述までの実施形態では、キーボードの入力データが特徴ベクトル生成部１２２に与えられ、それを学習データとするものとして説明したがが、実際のタイピング操作を考えた場合、人は常にパスワード認証を行うような態様でタイピングしているわけではない。通常、操作者は、作業中に悩んだり、作業中に離席したりなどの行動を行う場合がある。そのような行動中に行われたキーボード操作には、パスワードを打つときには費やさないであろう、標準から著しく外れた時間間隔の空いたキー操作が生じ得るため、学習データとしては不適なものも含まれることになる。所定の除外条件として、取得するキー操作の時間間隔の範囲に限定を設けて、キー操作の時間間隔が著しく長い箇所に関しては特徴ベクトルを生成しないようにすることにより、効率の良い学習が可能となる。
【０１００】
図１０は、さらに他の実施形態によるログイン認証モジュールにおける入力操作方式認証部の機能ブロック図である。図１０に示す実施形態による入力操作方式認証部１５０は、さらに、文字列履歴記録部１６４を備える。文字列履歴記録部１６４は、ディスプレイ５０に表示させた文字列の履歴を記録する記録手段である。認証用文字列生成部１５２は、記録された履歴に基づいて、同一文字列の生成頻度を管理する。これにより、入力内容の盗み見への耐性を向上することができる。
【０１０１】
近年、監視カメラが街中、店舗に増えてきており、また、スマートフォンなどにもカメラが搭載されており、操作者にとって、いつ撮影されているか分からない状況になりつつある。出先のカフェなどでノートＰＣを取り出して業務を行う必要性が生じることもあるが、その際にログイン時のキーボード操作自体が録画されていないとも限らない。
【０１０２】
上述した構成においては、認証用文字列生成部１５２が生成した文字列のログが記録されており、同じ入力文字指定が頻繁に出ないように、十分な時間間隔を持って使うように構成されている。そのため、仮にログイン作業をカメラに記録されて、その入力速度を割り出されても、同じ入力文字指定が来ることは当分の間ないため、攻撃に対する耐性を向上させることができる。
【０１０３】
さらに、上述までの実施形態では、操作者に求める課題は、所定文字数の文字列の入力を１回だけ求めるものであった。しかしながら、上述した実施形態では、各特徴ベクトルの識別確率が機械学習に委ねられるため、最終的にどの程度の認識精度が得られるのかを保証することは難しい。例えば、識別確率ｐが８０％程度ある場合は、１０個の特徴ベクトルの半分以上が当該操作者のものだと認識された場合、９９％の認識精度を維持することができる。一方、識別確率ｐが６０％程度の場合は、１０個の特徴ベクトルでは、認識精度が７４％ほどまで低下してしまう。しかしながら、学習を重ねた結果として、６０％が上限である可能性や８０％まで上がる可能性があるが、それは、予め知ることは困難である。一方、文字数を例えば１００文字などにすることは、ユーザに対し非常に大きな負荷をかける作業となってしまう。
【０１０４】
そこで、好ましい実施形態においては、認証判断部１６２での認証処理における課題の文字列入力のチャレンジ（挑戦）回数を複数回とすることができる。学習状態判定部１３８は、許容できる課題条件を決定する際に、文字数の指定に加えて、さらに、指定の文字数の入力を求める課題に対する挑戦回数を決定することができる。現時点の操作者識別モデルによる識別結果に基づいて、指定の文字数の課題の１回の挑戦では所定の認証精度が得られない場合に、学習状態判定部１３８は、２以上の挑戦回数を決定することができる。
【０１０５】
この場合、上述した識別確率ｐが６０％の確率でであった場合において、特徴ベクトルを１０個使う場合は、１回のチャレンジでは認識精度は７４％程度になるが、それを２回以上繰り返すと確率が変化する。たとえば、３回のチャレンジを行った場合、２回以上認証に成功する確率は約８４％程度まで増大し、更にチャレンジ数を増やせば、確率を改善することができる。
【０１０６】
機械学習の結果として、操作者とそれ以外の者との判別に優位性があまり出ない場合で、かつ、操作者に、長い文字数の入力を強いたくない場合において、複数回のチャレンジ回数を決定することにより、ユーザ認識確率を向上させることができる。これにより、機械学習の結果が良い結果に収束しないときの代替手段を提供することができる。
【０１０７】
以上説明した実施形態によれば、操作者の入力操作に固有な特徴を事前に学習し、学習状態に応じた課題条件で、操作者による入力操作に基づいて認証の許否を判断することが可能な情報処理装置、認証システムおよび認証方法を提供することができる。これにより、操作者は、パスワードの管理をする必要がなくなり、操作者としては、パスワード入力の煩わしさがなくなると同時に、セキュリティの総当り攻撃などの自明な攻撃も防ぐことができる。
【０１０８】
なお、上述までの実施形態においては、入力操作に基づく認証機能を単体で備える情報処理装置および該情報処理装置が実行する認証方法をそれぞれ一例として説明した。しかしながら、情報処理装置、認証システムおよび認証方法は、これらに限定されるものではない。他の実施形態では、情報処理装置とクラウドやリモートサーバ側のリモートコンピュータとを含めた認証システムおよび情報処理装置とリモートコンピュータとが連携して実行する認証方法として構成することもよい。そのような実施形態では、例えば、機械学習部１２８が有する、与えられた学習データに基づいて予測器１３２のパラメータを算出する機能を、クラウドサービスとしてリモートサーバから提供することができる。さらに、予測器１３２が有する、与えられた入力に対して識別結果を出力する機能をクラウドサービスとしてリモートサーバから提供したりすることもできる。
【０１０９】
なお、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【０１１０】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１１１】
１０…コンピュータ、１２…ＣＰＵ、１４…ノースブリッジ、１６…サウスブリッジ、１８…ＲＡＭ、２０…グラフィックボード、２４…ＬＡＮポート、２６…ＩＥＥＥ１３９４ポート、２８…ＵＳＢポート、３０…補助記憶装置、３２…オーディオ入出力、３４…シリアルポート、５０…ディスプレイ、５２…キーボード、５４…マウス、１００…ログイン認証モジュール、１１０…認証方式判定部、１１２…パスワード方式認証部、１２０…学習処理部、１２２，１５４…特徴ベクトル生成部、１２４…ダミー入力生成部、１２６…入力操作統計情報、１２８…機械学習部、１３０，１６０…操作者識別モデル、１３２，１５６…予測器、１３４，１５８…パラメータ、１３６…学習後検査結果、１３８…学習状態判定部、１４０…妥当性検証部、１４２…精度算出部、１４６…フィルタ部、１５０…入力操作方式認証部、１５２…認証用文字列生成部、１６２…認証判断部、１６４…文字列履歴記録部、２００…ユーザ・アカウント選択画面、２０２…プルダウンメニュー、２０４…ＯＫボタン、２１０…ユーザ認証方式の認証画面、２１４，２２４…テキストボックス、２２６…入力操作認証方式の認証画面、２２０…文字列
【先行技術文献】
【特許文献】
【０１１２】
【特許文献１】特開２０００−１３２５１４号公報
【図１】
2019008369.tif 000006
【図２】
2019008369.tif 000007
【図３】
2019008369.tif 000008
【図４】
2019008369.tif 000009
【図５】
2019008369.tif 000010
【図６】
2019008369.tif 000011
【図７】
2019008369.tif 000012
【図８】
2019008369.tif 000013
【図９】
2019008369.tif 000014
【図１０】
2019008369.tif 000015