説明

監視システム

【課題】ネットワークに接続された端末のユーザが、当該端末の使用を許可されているユーザであるか否かを判別する。
【解決手段】キー操作データ生成部231は、クライアントPC20(端末)に入力装置210の1つとして備えられたキーボード212に対するユーザの操作に基づいて、当該ユーザ固有のキーボード操作パターンを示すキー操作データを生成する。記憶部220は、前記ユーザがクライアントPC20の使用が許可されている特定ユーザであるか否かを判別する際に用いられる判別情報を予め記憶している。判別部233は、前記判別情報を記憶部220から読み出し、当該判別情報と前記キー操作データとから、前記ユーザが前記特定ユーザであるか否かを判別する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して接続された端末とサーバとを備える監視システムに関し、特に前記端末のユーザを監視し、当該ユーザのキーボード操作に基づいて、当該ユーザが当該端末の使用を許可されているユーザであるか否かを判別する監視システムに関する。
【背景技術】
【0002】
ネットワークに接続された端末のユーザが、当該端末の使用を許可されているユーザであるか否かを判別する技術として、顔認証や指紋認証などの、ユーザの生体情報を利用する生体認証の技術がある。例えば特許文献1には、コンピュータシステムの利用を許可された正規ユーザが端末にログインした後に当該端末を他者が不正利用することを、顔認証を利用することで抑止するユーザ監視システムが開示されている。
【0003】
生体認証には、ユーザの顔を撮影するためのカメラや、ユーザの指紋を読み取るための指紋センサ等の特別なハードウェアが必要となり、システムの複雑化およびコストアップに繋がるという欠点がある。
【0004】
前記端末におけるユーザの操作履歴を収集し、各ユーザ固有の操作パターンに基づいてユーザを判別すれば、前記の生体認証の欠点を解消することができる。例えば、特許文献2には、端末で各ユーザが使用したアプリケーションの使用履歴に基づいてユーザ毎の操作情報を生成し、当該端末を使用しているユーザが、ログインしたユーザ本人か否かを判別するログインユーザ認証装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−265218号公報
【特許文献2】特開2005−327139号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献2に開示されている技術では、各ユーザを識別する精度に欠けるという問題点がある。すなわち、各ユーザによる前記端末の使用目的が似通っている場合には、ユーザ毎に生成される前記操作情報も似通ったものになり、各ユーザの識別が困難になる。また、個別のユーザに関しても、当該ユーザによる前記端末の使用状況は日々変化しうるので、当該ユーザ固有の前記操作情報を生成すること自体が困難であるという問題点もある。
【0007】
本発明は、このような従来の問題点を解決するためになされたものであり、端末のユーザが当該端末の使用を許可されているユーザであるか否かを判別可能な監視システムを、低コストで提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の請求項1に係る監視システムは、ネットワークを介して接続された端末とサーバとを備える監視システムであって、前記端末は、少なくともキーボードを含む入力装置と、ユーザのキーボード操作に基づいて当該ユーザ固有のキーボード操作パターンを示すキー操作データを生成するキー操作データ生成手段と、前記ユーザが前記端末の使用が許可されている特定ユーザであるか否かを判別する際に用いられる判別情報を予め記憶する記憶手段と、前記判別情報を前記記憶手段から読み出し、当該判別情報と前記キー操作データとから、前記ユーザが前記特定ユーザであるか否かを判別する判別手段と、を備える。
【0009】
請求項1に係る発明によれば、前記キー操作データ生成手段は、ユーザのキーボード操作に基づいて当該ユーザ固有のキーボード操作パターンを示すキー操作データを生成し、前記判別手段は、前記ユーザが前記端末の使用が許可されている特定ユーザであるか否かを判別する際に用いられる前記判別情報と前記キー操作データとから、前記ユーザが前記特定ユーザであるか否かを判別する。
【0010】
すなわち請求項1に係る発明によれば、ユーザ毎に特徴があり、かつ、長期においてパターンの変化が少ないキーボード操作に基づいて、前記端末のユーザが前記特定ユーザであるか否かが判別される。そのため、前記端末のユーザが前記特定ユーザであるか否かを確実に判別することができる。さらに、生体認証とは異なり、カメラや指紋センサ等の特別なハードウェアを必要としないので、前記のユーザ判別を可能とする監視システムを低コストで提供することができる。
【0011】
本発明の請求項2に係る監視システムは、請求項1に係る監視システムにおいて、前記サーバまたは前記端末は、前記特定ユーザのキーボードの操作履歴を取得する操作履歴取得手段と、前記操作履歴に基づいて前記判別情報を生成する判別情報生成手段と、をさらに備える。
【0012】
請求項2に係る発明によれば、前記操作履歴取得手段が前記特定ユーザのキーボードの操作履歴を取得し、前記判別情報生成手段が前記操作履歴に基づいて前記判別情報を生成する。そのため、前記判別情報を機械学習によって生成することが可能となるので、当該判別情報の精度が向上する。したがって、前記のユーザ判別の精度も向上する。
【0013】
本発明の請求項3に係る監視システムは、請求項1または2に係る監視システムにおいて、前記キー操作データ生成手段は、ユーザのキーボード操作について、文字入力ではなく操作の用に供するキー入力であるショートカットキー入力を2つ以上の複数のレベルに分類し、少なくとも当該複数のレベル毎の入力頻度に基づいて前記キー操作データを生成する。
【0014】
請求項3に係る発明によれば、ユーザ毎の差異がより明確になる前記キー操作データを生成することができる。なぜならば、キーボード打鍵速度等の文字入力におけるキーボード操作パターンよりも、ショートカットキー入力におけるキーボード操作パターンの方がユーザ毎の差異が大きいので、文字入力におけるキーボード操作パターンのみに基づいて前記キー操作データを生成する場合よりも、ユーザ毎の差異がより明確に当該キー操作データに反映されるからである。
【0015】
本発明の請求項4に係る監視システムは、請求項2に係る監視システムにおいて、前記判別情報生成手段は、予め定められたデータ数以上の前記キー操作データを用いて前記判別情報を生成する。
【0016】
請求項4に係る発明によれば、前記判別情報生成手段が、予め定められたデータ数以上のキー操作データを用いて前記判別情報を生成することで、前記判別情報の精度が向上する。
【0017】
本発明の請求項5に係る監視システムは、請求項4に係る監視システムにおいて、前記端末は、前記記憶手段に記憶されている前記判別情報を更新する判別情報更新手段をさらに備え、前記判別情報更新手段は、前記判別情報生成手段が前記判別情報を生成する毎に、前記記憶手段に記憶されている前記判別情報を、前記判別情報生成手段が生成した前記判別情報に更新する。
【0018】
請求項5に係る発明によれば、前記判別情報生成手段が前記判別情報を生成する毎に、前記記憶手段に記憶されている前記判別情報が更新されるので、期間の経過に伴い前記特定ユーザのキーボード操作のパターンが漸次変化した場合にも、当該変化に応じた前記判別情報を生成することができる。
【0019】
本発明の請求項6に係る監視システムは、請求項2に係る監視システムにおいて、前記判別情報生成手段は、ロジスティック回帰またはサポートベクターマシンを用いて前記判別情報を生成する。
【0020】
請求項6に係る発明によれば、前記判別情報生成手段が、ロジスティック回帰またはサポートベクターマシンを用いて前記判別情報を生成するので、精度の高い判別情報を生成することができる。
【0021】
本発明の請求項7に係る監視システムは、請求項2に係る監視システムにおいて、前記端末は、前記入力装置として前記キーボードに加えてマウスを有し、ユーザのマウス操作に基づいて当該ユーザ固有のマウス操作パターンを示すマウス操作データを生成するマウス操作データ生成手段をさらに備え、前記操作履歴取得手段は、前記特定ユーザのキーボードの操作履歴に加えて、当該特定ユーザのマウスの操作履歴をも取得する。
【0022】
請求項7に係る発明によれば、前記操作履歴取得手段は、前記特定ユーザのキーボードの操作履歴に加えて、当該特定ユーザのマウスの操作履歴をも取得し、前記判別情報生成手段は、当該特定ユーザのキーボードおよびマウスの操作履歴に基づいて前記判別情報を生成するので、より精度の高い前記判別情報を生成することができる。
【0023】
本発明の請求項8に係る監視システムは、請求項1〜7のいずれか1項に係る監視システムにおいて、前記端末は、前記判別手段が前記ユーザを前記特定ユーザではないと判別した場合に、前記端末をロックして当該端末の操作を制限する端末ロック手段をさらに備える。
【0024】
請求項8に係る発明によれば、前記端末ロック手段は、前記判別手段が前記ユーザを前記特定ユーザではないと判別した場合に、前記端末をロックして当該端末の操作を制限するので、前記特定ユーザ以外の者による当該端末の不正利用を阻止することができる。
【0025】
本発明の請求項9に係る監視システムは、請求項1〜8のいずれか1項に係る監視システムにおいて、前記判別手段は、前記端末へのログイン操作の後に、当該端末のユーザが当該ログイン操作によって認証された一の前記特定ユーザである認証ユーザと同一人物であるか否かを判別する。
【0026】
請求項9に係る発明によれば、一の前記特定ユーザがログインした後に、当該一の特定ユーザ(認証ユーザ)以外の者が前記端末を不正使用する、あるいは、前記特定ユーザ以外の者が不正ログインして前記端末を不正使用する等のなりすまし行為を判別することができる。
【発明の効果】
【0027】
本発明によれば、ネットワークに接続された端末のユーザが、当該端末の使用が許可されているユーザであるか否かを確実に判別することができる監視システムを、低コストで提供することができる。
【図面の簡単な説明】
【0028】
【図1】本発明の一実施形態に係る監視システムの概略図である。
【図2】本発明の一実施形態に係る監視システムにおいて、操作履歴データとして取得されるデータの一覧を示す図である。
【図3】ショートカットキー入力のレベル分けの一例を示す図である。
【図4】キー操作データとマウス操作データとからなり、特定ユーザ毎に取得された操作履歴データを例示する図である。
【図5】本発明の一実施形態に係る監視システムにおけるロジスティック回帰式(判別情報)の生成を説明するためのフローチャートである。
【図6】本発明の一実施形態に係る監視システムにおけるログイン後の処理を説明するためのフローチャートである。
【図7】本発明の変形実施形態に係る監視システムの概略図である。
【発明を実施するための形態】
【0029】
以下、本発明の実施の形態について、以下に説明する。図1は、本発明の一実施形態に係る監視システム1を示す概略図である。監視システム1は、ネットワーク10を介して接続されたクライアントPC(Personal Computer)20(端末)とサーバ30とを備える。クライアントPC20には、マウス211とキーボード212とからなる入力装置210が接続されている。
【0030】
クライアントPC20は、例えば計時部240、CPU(Central Processing Unit)、RAM(Ramdom Access Memory)、HDD(Hard Disk Drive)等を備えて構成される。RAMおよびHDDは、記憶部220(記憶手段)として機能する。記憶部220に予め記憶され、クライアントPC20のユーザがクライアントPC20の使用を許可されている特定ユーザであるか否かを判別するための監視プログラムを実行することで、CPUは、キー操作データ生成部231(キー操作データ生成手段)、マウス操作データ生成部232(マウス操作データ生成手段)、判別部233(判別手段)、端末ロック部234(端末ロック手段)、および判別情報更新部235(判別情報更新手段)を具備するように機能する。
【0031】
計時部240は、一定周期でクロック信号を発生させるクロック発信器を備え、このクロック信号を前記CPUに出力する。
【0032】
記憶部220は、クライアントPC20においてユーザが利用するためのアプリケーションプログラムや、前記監視プログラム、および前記ユーザが前記特定ユーザであるか否かを判別する際に用いられ当該特定ユーザ毎に存在するロジスティック回帰式(判別情報)等を予め記憶している。なお、前記ロジスティック回帰式については、後に詳しく説明する。
【0033】
キー操作データ生成部231は、ユーザのキーボード操作に基づいて当該ユーザ固有のキーボード操作パターンを示すキー操作データを生成する。キー操作データ生成部231による前記キー操作データの生成、および当該キー操作データのデータ構成については後に詳しく説明する。
【0034】
マウス操作データ生成部232は、ユーザのマウス操作に基づいて当該ユーザ固有のマウス操作パターンを示すマウス操作データを生成する。マウス操作データ生成部232によるマウス操作データの生成、および当該マウス操作データのデータ構成については、後に詳しく説明する。
【0035】
前記キー操作データと前記マウス操作データとは、サーバ30に送信され、当該キー操作データと当該マウス操作データとからなる操作履歴データとして操作履歴取得部311に取得される。
【0036】
判別部233は、前記ロジスティック回帰式を記憶部220から読み出し、当該ロジスティック回帰式と前記操作履歴データとから、クライアントPC20のユーザが前記特定ユーザであるか否かを判別する。すなわち判別部233は、クライアントPC20へのログイン操作によって認証された一の前記特定ユーザである認証ユーザに対応する前記ロジスティック回帰式と、現在使用中のユーザの操作に基づいて生成された前記操作履歴データとから、当該ユーザが前記認証ユーザと同一人物であるか否かを判別する。このユーザの判別については、後に詳しく説明する。
【0037】
端末ロック部234は、判別部233が前記ユーザを前記特定ユーザではないと判別した場合に、クライアントPC20をパスワードロック等の方法でロックし、クライアントPC20の操作を制限する。判別情報更新部235については、後に説明する。
【0038】
サーバ30は、クライアントPC20と同様に、例えばCPU、RAM、HDD等を備えて構成される。サーバ30が備えるCPUは、HDDに予め格納されRAMに読み出された監視プログラムを実行することで、操作履歴取得部311(操作履歴取得手段)、判別情報生成部312(判別情報生成手段)を具備するように機能する。
【0039】
操作履歴取得部311は、前記特定ユーザ毎の操作履歴データを取得する。操作履歴取得部311が取得した操作履歴データは、サーバ30が備えるRAMもしくはHDDに格納される。判別情報生成部312は、前記操作履歴データに基づいて、前記特定ユーザ毎にロジスティック回帰式を生成する。
【0040】
ここで、操作履歴データのデータ構成、および操作履歴データの生成について、図2〜4に基づいて説明する。図2は、監視システム1において、操作履歴取得部311が操作履歴データとして取得するデータの一覧を示す図である。前述の通り操作履歴データは、キー操作データとマウス操作データとから構成される。
【0041】
まず、前記キー操作データのデータ構成、および当該キー操作データの生成について以下に説明する。キー操作データ生成部231は、ログイン操作後のユーザのキーボード入力が連続して行われた場合に、この連続入力時のキータッチ数をカウントする。そしてキー操作データ生成部231は、当該連続入力時のキータッチ数が所定の回数、例えば100回以上の場合に、前記キー操作データを生成する。例えば、連続入力時のキータッチ数が150回の場合は、この150回のキータッチに基づいて、1つの前記キー操作データをキー操作データ生成部231は生成する。
【0042】
連続入力時のキータッチ数が前記の所定の回数(100回)未満の場合、キー操作データ生成部231は、当該キータッチ数のカウントをやり直す。キータッチが連続して100回行われずに中断した場合、例えば連続90回で中断した場合、キー操作データ生成部231は、次のキータッチを、91回目ではなく1回目としてカウントする。
【0043】
キー操作データ生成部231は、前記キーボード入力が連続入力であるか否かを以下のようにして判別する。キー操作データ生成部231は、計時部240が出力する前記クロック信号に基づいてキータッチ間の経過時間をモニタリングし、当該経過時間が所定の時間、例えば5秒以内である場合に連続入力であると判別する。また、キータッチ間にマウス操作が行われた場合には、当該キータッチと当該マウス操作との間の経過時間が前記所定の時間(5秒)以内のときに、キー操作データ生成部231は、当該マウス操作を挟んだ前記キーボード入力を連続入力であると判別する。すなわちキー操作データ生成部231は、キータッチ間の無操作時間が5秒以内の場合に、キーボード入力を連続入力であると判別する。
【0044】
前記キー操作データは、キータッチ速度(キータッチ数/秒、変数x)データとキー操作頻度(変数x〜x)データとから構成される。キータッチ速度データは、前記連続入力におけるキータッチ数(前記所定回数である100回以上となる)を、当該連続入力の所要時間で除した数値である。キー操作頻度データは、複数のレベルに分類されたショートカットキー入力について、ショートカットキー入力全体に占める当該レベル毎の割合を示すデータである。なお、ショートカットキー入力とは、文字入力ではなく操作の用に供するキー入力のことである。
【0045】
キー操作データ生成部231は、ショートカットキー入力を基本キー操作と応用キー操作との2つのレベルに分類し、応用キー操作については、応用操作1〜3(レベル1〜3)の3つのレベルにさらに分類してユーザのキーボード操作履歴を収集することで、前記キー操作頻度データを生成する。すなわち、前記キー操作頻度データは、基本キー操作頻度データ(変数x)と、応用操作1〜3の操作頻度データ(変数x〜x)からなる応用キー操作頻度データと、の合計4つのレベル毎の操作頻度データで構成される。
【0046】
図3は、個別のショートカットキー入力を、前記4つのレベルに分類した一例を示す図である。一般的な使用率の高いショートカットキー入力から順に、基本キー操作、応用キー操作レベル1〜3と分類されている。このようにショートカットキー入力を分類することで、ユーザ毎のキーボード操作の差異を明確に前記キー操作頻度データに反映させることができる。なぜならば、一般的な使用率とは無関係にランダムに個別のショートカットキー入力を選択して各レベルに振り分けて分類すると、ユーザ毎の操作頻度の差異が当該各レベル間で平均化されてしまうからである。なお、図3に示すショートカットキー入力と4つのレベルとの対応は、記憶部220に予め記憶されている。
【0047】
上記のように、キー操作データ生成部231が、前記キータッチ速度データと前記キー操作頻度データとから構成される前記キー操作データを生成するので、ユーザ毎の差異が明確な前記キー操作データが生成される。なぜならば、キーボード打鍵速度等の文字入力におけるキーボード操作パターンにはユーザ間の差異が少ないが、ショートカットキー入力におけるキーボード操作パターンはユーザ間の差異が大きいからである。
【0048】
次に、再び図2を参照して、前記マウス操作データのデータ構成、および当該マウス操作データの生成について以下に説明する。マウス操作データ生成部232は、キー操作データ生成部231が前記キー操作データを生成する際に、前記ユーザが前記所定回数(100回)以上のキータッチ数の連続入力を行った期間の当該ユーザのマウス操作に基づいて、マウス操作データを生成する。当該マウス操作データは、マウス211の移動速度(mm/秒)データ(変数x)と、ホイール回転速度(回転数/秒)データ(変数x)と、右クリック使用率(%)データ(変数x)と、から構成される。
【0049】
ログイン操作後に、ユーザが前記の所定のキータッチ数(100回)以上の連続入力を行い、キー操作データ生成部231が、変数x〜xからなる前記キー操作データを生成し、マウス操作データ生成部232が、変数x〜xからなる前記マウス操作データを生成する毎に、クライアントPC20は、当該キー操作データと当該マウス操作データとを前記操作履歴データとしてサーバ30に送信し、操作履歴取得部311が、当該操作履歴データを取得する。当該操作履歴データは、前記キー操作データと前記マウス操作データとからなるので、変数x〜xからなるデータとなる。
【0050】
図4は、操作履歴取得部311が取得した操作履歴データの一例を示す図である。図4では、4台のクライアントPC20から4人の特定ユーザA〜Dの各操作履歴データがサーバ30に送信され、操作履歴取得部311は、この4人分の操作履歴データを取得した例を示している。
【0051】
一の特定ユーザについて、操作履歴取得部311が所定数、例えば100個の前記操作履歴データを取得すると、判別情報生成部312は、当該所定数(100個)の操作履歴データに基づいて、すなわち機械学習における教師データとして得られた変数x〜xの100通りの組合せに基づいて、当該一の特定ユーザに対応するロジスティック回帰式を生成する。当該ロジスティック回帰式は、下記の式1および式2で示される。
q=1/(1+exp(−z))…式1
z=a+a+a+a+a+a+a+a+a…式2
【0052】
式1のqは0から1の間の値であり、前記一の特定ユーザである場合には1に近い値、前記一の特定ユーザでない場合には0に近い値となる。式2のa〜aは、前記特定ユーザ毎に異なる定数である。判別情報生成部312は、変数x〜xの100個の組合せについて、個々の組合せに係るx〜xの変数を入力することで得られる100個の出力値qの値を平均したときに、当該平均値が機械学習における教師の答えである1に最も近くなるように、例えば最尤法を用いて定数a〜aを一意に決定する。
【0053】
なお、定数a〜aの決定に際して、判別情報生成部312が、変数x〜xからなる前記キー操作頻度データの4つのレベルに応じた重み付けを行うようにすることもできる。例えば、レベルが上位の変数についての定数が大きくなるように、基本キー操作頻度データ(変数x)の定数aの値を、応用操作1〜3の操作頻度データ(変数x〜x)の定数a〜aよりも大きくし、定数a〜aについては、応用操作のレベルに応じて、定数a〜aの順に小さくなるようにすることができる。このようにすれば、前記ロジスティック回帰式の精度がより向上する。
【0054】
判別情報生成部312が、前記所定数(100個)以上の前記キー操作データを用いて前記ロジスティック回帰式を生成することで、当該ロジスティック回帰式の精度が向上する。
【0055】
前記ロジスティック回帰式を判別情報生成部312が生成すると、サーバ30は、当該ロジスティック回帰式を各クライアントPC20に送信する。
【0056】
再び図1を参照して、判別情報更新部235は、クライアントPC20が前記ロジスティック回帰式を受信すると、記憶部220に記憶されているロジスティック回帰式を、クライアントPC20が受信した前記ロジスティック回帰式に更新する。
【0057】
すなわち、判別情報生成部312が前記ロジスティック回帰式を生成する毎に、記憶部220に記憶されている前記ロジスティック回帰式が更新されるので、期間の経過に伴い前記特定ユーザのキーボード操作およびマウス操作のパターンが漸次変化した場合にも、当該変化に応じた前記ロジスティック回帰式を生成することができる。
【0058】
図5は、前記特定ユーザによるクライアントPC20の操作に基づいて、クライアントPC20のユーザが当該特定ユーザであるか否かを判別するための前記ロジスティック回帰式を、判別情報生成部312が前記特定ユーザ毎に生成する際の、監視システム1における処理を示すフローチャートである。
【0059】
前記認証ユーザ、すなわち一の前記特定ユーザが、クライアントPC20にログインした時点では、操作履歴データ数m=0であるものとする(ステップS1)。キー操作データ生成部231は、計時部240が発信する前記クロック信号に基づいて、当該ログイン時点を時刻0として時刻のカウントを開始する(ステップS2、このときキータッチ数n=0である)。
【0060】
ログイン操作後に、前記認証ユーザが最初のキータッチを行うと(ステップS3でYES)、キー操作データ生成部231は、キータッチ数nを1とし(ステップS4)、当該最初のキータッチの時刻を時刻t1として取得する(ステップS5)。前記認証ユーザが次のキータッチを行うと(ステップS6でYES)、キー操作データ生成部231は、キータッチ数nを1つインクリメントし(ステップS7)、当該次のキータッチの時刻を時刻t2として取得する(ステップS8)。この2回のキータッチ間の経過時間が前記所定の時間である5秒以内の場合、すなわち時刻t1から時刻t2までの経過時間が5秒以内である場合(ステップS9でNO)、キー操作データ生成部231は、時刻t1を時刻t2に置き換える、すなわち時刻t1を時刻t2にリセットする(ステップS10)。ステップS10の後にステップS6に戻り、キー操作データ生成部231は、さらなるキータッチの有無を監視する。
【0061】
キータッチ間の経過時間が5秒以内でキータッチが連続する場合、ステップS6〜ステップS10が繰り返され、キー操作データ生成部231は、キータッチ数nのインクリメントを継続する。すなわちキー操作データ生成部231は、キータッチ間の経過時間が5秒以内でキータッチが連続する場合、前記認証ユーザによるキーボード入力が連続入力であると判別する。
【0062】
一方、前記キータッチ間の経過時間が5秒を超える場合、すなわち時刻t1から時刻t2までの経過時間が5秒を超える場合(ステップS9でYES)、ステップS11に進み、前記連続入力におけるキータッチ数が前記の所定のキータッチ数(100回)以上であれば(ステップS11でYES)、キー操作データ生成部231が前記キー操作データを生成し、マウス操作データ生成部232が前記マウス操作データを生成する。すなわち、当該キー操作データと当該マウス操作データとからなる操作履歴データが生成される(ステップS12)。続いてクライアントPC20は、当該操作履歴データをサーバ30に送信する(ステップS13)。すなわち、キータッチ数が100回以上の連続入力が行われる毎に操作履歴データが生成され、サーバ30は、当該操作履歴データを逐次受信することになる。
【0063】
前記連続入力におけるキータッチ数が100回未満であれば(ステップS11でNO)、ステップS2に戻る。すなわち、キー操作データ生成部231は、前記のキータッチ数をn=0にリセットする。
【0064】
操作履歴取得部311は、前記操作履歴データをサーバ30が受信する毎に、当該操作履歴データを逐次取得し、操作履歴データ数mを1つインクリメントする(ステップS14)。当該操作履歴データの取得数が、一の特定ユーザについて前記所定数(100個)未満の場合(ステップS15でNO)、ステップS2〜ステップS15までが繰り返される。
【0065】
一方、当該操作履歴データの取得数が、一の特定ユーザについて前記所定数(100個)以上となると(ステップS15でYES)、判別情報生成部312は、当該所定数以上の当該操作履歴データに基づいて、当該一の特定ユーザに対応する前記ロジスティック回帰式を生成する(ステップS16)。
【0066】
サーバ30は、判別情報生成部312が生成した前記ロジスティック回帰式を、クライアントPC20に送信する(ステップS17)。続いて判別情報更新部235は、記憶部220に記憶されているロジスティック回帰式を、クライアントPC20が受信した前記ロジスティック回帰式に更新する(ステップS18)。
【0067】
このようにして判別情報生成部312が、前記特定ユーザ毎に前記ロジスティック回帰式を生成した後は、当該ロジスティック回帰式を用いて、ログイン操作後のクライアントPC20のユーザが、前記認証ユーザであるか否かを判別部233が判別することができるようになる。
【0068】
判別部233が行うユーザの判別について以下に説明する。クライアントPC20に送信されたロジスティック回帰式は、記憶部220に格納される。判別部233は、ログイン時に認証された前記認証ユーザに対応する前記ロジスティック回帰式を記憶部220から読み出し、変数x〜xからなる現在使用中のユーザの操作履歴データを当該ロジスティック回帰式に代入する。
【0069】
式1のおけるqは0から1の間の値を取り、現在使用中のユーザが前記認証ユーザである確率の推定値であるから、q>0.5であれば、現在使用中のユーザは前記認証ユーザであると判別部233は判別し、q≦0.5であれば現在使用中のユーザは前記認証ユーザとは異なると判別部233は判別する。ロジスティック回帰を用いた機械学習は高精度であるため、判別部233による前記の判別も高精度となる。
【0070】
例えば、ログイン操作によって認証された前記認証ユーザが、クライアントPC20を離れた隙に、当該認証ユーザ以外の者がクライアントPC20を不正使用する、あるいは、クライアントPC20の使用を許可されている特定ユーザとは異なる者が不正ログインしてクライアントPC20を不正使用するような、いわゆるなりすまし行為が行われた場合を想定する。
【0071】
このようななりすまし行為を行ってクライアントPC20を使用する者(以下なりすまし行為者という)によるクライアントPC20の操作パターンは、前記認証ユーザの操作パターンとは当然に異なる。したがって、なりすまし行為者のキー操作およびマウス操作に基づいて作成された前記操作履歴データを、前記認証ユーザに対応するロジスティック回帰式に代入した場合、q≦0.5となる。すなわち、当該なりすまし行為者は、前記認証ユーザとは異なると判別部233が判別することになる。
【0072】
このとき、端末ロック部234は、クライアントPC20をロックするので、前記なりすまし行為者は、前記の不正利用を続けることができなくなる。そのため、ネットワーク10上の図略のデータベース等に保存されている営業秘密等のデータを、窃取や改竄等することを目的とした前記なりすまし行為者による前記不正使用を阻止することができる。したがって、ネットワーク10のセキュリティを向上させることができる。
【0073】
図6は、一の前記特定ユーザがクライアントPC20にログインした後の、クライアントPC20における処理を示すフローチャートである。一の前記特定ユーザがクライアントPC20にログインすると(ステップS101)、キー操作データ生成部231が前記キー操作データを生成し、マウス操作データ生成部232が前記マウス操作データを生成して、前記操作履歴データが作成される(ステップS102)。
【0074】
判別部233は、前記一の特定ユーザ(認証ユーザ)に対応するロジスティック回帰式を記憶部220から読み出し、ステップS102で生成された操作履歴データを当該ロジスティック回帰式に代入し(ステップS103)、現在使用中のユーザが前記認証ユーザであるか否かを判別する(ステップS104)。q>0.5であれば、現在使用中のユーザは前記認証ユーザであると判別部233は判別し(ステップS104でYES)、q≦0.5であれば現在使用中のユーザは前記認証ユーザとは異なると判別部233は判別する(ステップS104でNO)。ステップS104でNOの場合、端末ロック部234は、クライアントPC20をロックし、クライアントPC20の操作を制限する(ステップS105)。
【0075】
ステップS104でYESの場合、ステップS102に戻る。すなわち、クライアントPC20を現在使用しているユーザが、前記の所定数(100回)以上のキータッチ数の連続入力を行う毎に、ステップS12からステップS14が繰り返される。
【0076】
以上説明した上記実施形態に係る監視システム1によれば、ユーザ毎に特徴があり、かつ、長期においてパターンの変化が少ないキーボード操作およびマウス操作に基づいてユーザの判別を行うので、クライアントPC20のユーザが前記特定ユーザであるか否かを確実に判別することができる。また、前記なりすまし行為者による不正使用を阻止できるので、ネットワーク10のセキュリティを向上させることができる。さらに、生体認証とは異なり、カメラや指紋センサ等の特別なハードウェアを必要としないので、監視システム1は低コストで提供可能である。
【0077】
以上、本発明の一実施形態に係る監視システム1について説明したが、本発明はこれに限定されるものではなく、例えば次のような変形実施形態を取ることもできる。
【0078】
(1)上記実施形態では、サーバ30が操作履歴取得部311と判別情報生成部312とを備える構成とされている。これに代えて、図7に示すように、例えばサーバ30にネットワーク10を介して解析用PC40を接続し、解析用PC40が判別情報生成部412を具備して機能するようにしても良い。また、クライアントPC20が例えば共用PCである場合は、クライアントPC20が、操作履歴取得部311と判別情報生成部312とを、さらに具備して機能するようにすることもできる。
【0079】
(2)上記実施形態では、判別情報生成部312は、前記判別情報としてロジスティック回帰式を生成しているが、ベクターサポートマシンを用いて判別情報生成部312が当該判別情報を生成するようにしても、精度の高い判別情報を生成することができる。
【符号の説明】
【0080】
1 監視システム
10 ネットワーク
20 クライアントPC(端末)
210 入力装置
211 マウス
212 キーボード
220 記憶部(記憶手段)
231 キー操作データ生成部(キー操作データ生成手段)
232 マウス操作データ生成部(マウス操作データ生成手段)
233 判別部(判別手段)
234 端末ロック部(端末ロック手段)
235 判別情報更新部(判別情報更新手段)
30 サーバ
311 操作履歴取得部(操作履歴取得手段)
312 判別情報生成部(判別情報生成手段)

【特許請求の範囲】
【請求項1】
ネットワークを介して接続された端末とサーバとを備える監視システムであって、
前記端末は、
少なくともキーボードを含む入力装置と、
ユーザのキーボード操作に基づいて当該ユーザ固有のキーボード操作パターンを示すキー操作データを生成するキー操作データ生成手段と、
前記ユーザが前記端末の使用が許可されている特定ユーザであるか否かを判別する際に用いられる判別情報を予め記憶する記憶手段と、
前記判別情報を前記記憶手段から読み出し、当該判別情報と前記キー操作データとから、前記ユーザが前記特定ユーザであるか否かを判別する判別手段と、を備える監視システム。
【請求項2】
前記サーバまたは前記端末は、
前記特定ユーザのキーボードの操作履歴を取得する操作履歴取得手段と、
前記操作履歴に基づいて前記判別情報を生成する判別情報生成手段と、をさらに備える請求項1に記載の監視システム。
【請求項3】
前記キー操作データ生成手段は、ユーザのキーボード操作について、文字入力ではなく操作の用に供するキー入力であるショートカットキー入力を2つ以上の複数のレベルに分類し、少なくとも当該複数のレベル毎の入力頻度に基づいて前記キー操作データを生成する請求項1または2に記載の監視システム。
【請求項4】
前記判別情報生成手段は、予め定められたデータ数以上の前記キー操作データを用いて前記判別情報を生成する請求項2に記載の監視システム。
【請求項5】
前記端末は、前記記憶手段に記憶されている前記判別情報を更新する判別情報更新手段をさらに備え、
前記判別情報更新手段は、前記判別情報生成手段が前記判別情報を生成する毎に、前記記憶手段に記憶されている前記判別情報を、前記判別情報生成手段が生成した前記判別情報に更新する請求項4に記載の監視システム。
【請求項6】
前記判別情報生成手段は、ロジスティック回帰またはサポートベクターマシンを用いて前記判別情報を生成する請求項2に記載の監視システム。
【請求項7】
前記端末は、
前記入力装置として前記キーボードに加えてマウスを有し、
ユーザのマウス操作に基づいて当該ユーザ固有のマウス操作パターンを示すマウス操作データを生成するマウス操作データ生成手段をさらに備え、
前記操作履歴取得手段は、前記特定ユーザのキーボードの操作履歴に加えて、当該特定ユーザのマウスの操作履歴をも取得する請求項2に記載の監視システム。
【請求項8】
前記端末は、前記判別手段が前記ユーザを前記特定ユーザではないと判別した場合に、前記端末をロックして当該端末の操作を制限する端末ロック手段をさらに備える請求項1〜7のいずれか1項に記載の監視システム。
【請求項9】
前記判別手段は、前記端末へのログイン操作の後に、当該端末のユーザが当該ログイン操作によって認証された一の前記特定ユーザである認証ユーザと同一人物であるか否かを判別する請求項1〜8のいずれか1項に記載の監視システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate