(57)【特許請求の範囲】
【請求項１】
所定のウェブサイトにアクセスが許可されていない第三者による前記所定のウェブサイトへの不正なアクセスを検知する不正検知システムであって、
ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得する取得部と、
前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第１パラメータを特定し、前記デバイス情報に含まれる、前記ユーザによるデバイスへの操作を示す第２パラメータを特定するパラメータ特定部と、
前記第１パラメータと、前記第２パラメータと、に基づいて、前記デバイスを識別する識別部と、
を備える不正検知システム。
【請求項２】
前記デバイス情報は、少なくともパーソナルコンピュータかモバイル端末かの前記デバイスの種別に関するデバイス種別情報を含み、
前記パラメータ特定部は、前記ブラウザ情報と、前記デバイス種別情報と、に基づいて、前記第１パラメータを特定する、
請求項１に記載の不正検知システム。
【請求項３】
少なくとも一つの前記第１パラメータを所定の関数に入力して識別符号を生成する識別符号生成部、
をさらに備え、
前記識別部は、前記識別符号に基づいて、前記デバイスを識別する、
請求項１又は２に記載の不正検知システム。
【請求項４】
前記第２パラメータは、前記ユーザによる、Ｗｅｂサイト内におけるマウス操作の順序を示す情報、Ｗｅｂサイト内におけるキーボード入力の順序を示す情報、キーボード入力が発生したテキストフィールドに関する情報、Ｗｅｂサイト内でクリックが開始された日時を示す情報、又はＷｅｂサイト内でクリックが終了した日時を示す情報の少なくともいずれかを含む、
請求項１から３のいずれか一項に記載の不正検知システム。
【請求項５】
少なくとも一つの前記第１パラメータと、少なくとも一つの前記第２パラメータと、を所定の関数に入力して識別符号を生成する識別符号生成部、
をさらに備え、
前記識別部は、前記識別符号に基づいて、前記デバイスを識別する、
請求項４に記載の不正検知システム。
【請求項６】
少なくとも一つの前記第１パラメータを所定の関数に入力して識別符号を生成する識別符号生成部、
をさらに備え、
前記識別部は、前記識別符号と、少なくとも一つの前記第２パラメータと、に基づいて、前記デバイスを識別する、
請求項４に記載の不正検知システム。
【請求項７】
前記第１パラメータは、前記ユーザのデバイスで使用されるフォントに関する情報、前記ユーザのデバイスにおける描画に関する情報の少なくともいずれかを含む、
請求項１乃至６のいずれか一項に記載の不正検知システム。
【請求項８】
前記第１パラメータは、前記ユーザのデバイスのユーザーエージェントに関する情報のうち、前記ユーザのデバイスの機種の型名およびバージョン情報が抽出されたものである、
請求項１乃至７のいずれか一項に記載の不正検知システム。
【請求項９】
コンピュータが、
ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得することと、
前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第１パラメータを特定し、前記デバイス情報に含まれる、前記ユーザによるデバイスへの操作を示す第２パラメータを特定することと、
前記第１パラメータと、前記第２パラメータと、に基づいて、前記デバイスを識別することと、
を実行する不正検知方法。
【請求項１０】
コンピュータに、
ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得することと、
前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第１パラメータを特定し、前記デバイス情報に含まれる、前記ユーザによるデバイスへの操作を示す第２パラメータを特定することと、
前記第１パラメータと、前記第２パラメータと、に基づいて、前記デバイスを識別することと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正検知システム、不正検知方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザは、インターネット上で種々のサービスを提供するＷｅｂサイトに、ＩＤとパスワードとを用いてアクセスする。しかしながら、第三者が不正な手段を用いて、他人のＩＤとパスワードを利用し、不正アクセスするという問題が生じている。そのような問題に対して、特許文献１には、ユーザの動作の情報に基づいて不正アクセスを検出することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−６３７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のシステムは、Ｗｅｂサイトにアクセスしたユーザの動作を記録して、ホワイトリストデータベースを構築している。ここで、「ユーザの動作」には、ページ遷移、ユーザが用いているブラウザ、ＩＰアドレス、端末の種類、ＯＳなどが含まれる。すなわち、当該システムは、ユーザの動作を記録することにより、「ユーザらしさ」をデータベース化している。特許文献１に記載のシステムは、当該データベースを参照することにより、Ｗｅｂサイトにアクセスするユーザにつき、アクセスが許可されていないと判断された場合、当該ユーザによるＷｅｂサイトへのアクセスを拒否することができる。
【０００５】
特許文献１に記載のシステムでは、ユーザの動作に関する情報やユーザが使用しているブラウザの種別の情報など、任意の端末装置から取得可能な特定のパラメータに基づいて、当該Ｗｅｂサイトにアクセスが許可されているユーザであるか否かを検知している。本来、端末装置やアプリケーションソフトウェア（以下「アプリ」ともいう。）によって、取得可能なパラメータの種類は異なることに加え、パラメータごとに、ユーザの正当性を識別する確度も異なるものであるが、特許文献１記載のシステムでは、端末装置や利用するアプリの違いによらず取得できる画一的なパラメータに基づいて不正アクセスの判断をするものであった。
【０００６】
そこで、本発明は、上記の課題に鑑みて、端末装置や利用するアプリに応じて、不正アクセスの検知に用いるパラメータを柔軟に設定することで、より正確に不正アクセスであるか否かを検知することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る不正検知システムは、所定のウェブサイトにアクセスが許可されていない第三者による前記所定のウェブサイトへの不正なアクセスを検知する不正検知システムであって、ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得する取得部と、前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第１パラメータを特定するパラメータ特定部と、前記第１パラメータに基づいて、前記デバイスを識別する識別部と、を備える。
【０００８】
本発明の一態様に係る不正検知方法は、コンピュータが、ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得することと、前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第１パラメータを特定することと、前記第１パラメータに基づいて、前記デバイスを識別することと、を実行する。
【０００９】
本発明の一態様に係るプログラムは、コンピュータに、ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得することと、前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第１パラメータを特定することと、前記第１パラメータに基づいて、前記デバイスを識別することと、を実行させる。
【発明の効果】
【００１０】
本発明によれば、端末装置や利用するアプリに応じて、不正アクセスの検知に用いるパラメータを柔軟に設定することで、より正確に不正アクセスであるか否かを検知することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】不正検知システムの構成を示す図である。
【図２】識別サーバ装置の構成を示す図である。
【図３】組合せ情報テーブルの構成例を示している。
【図４】端末装置識別テーブルの構成例を示している。
【図５】事業者サーバ装置の構成を示す図である。
【図６】不正検知システムの処理手順を示した図である。
【図７】装置系パラメータの一例を示す図である。
【図８】操作系パラメータの一例を示す図である。
【図９】コンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明の一実施形態における不正検知システム１０について、図面を参照して詳細に説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。すなわち、本発明は、その趣旨を逸脱しない範囲で種々変形し、または各実施例を組み合わせる等して実施することができる。また、以下の図面の記載において、同一または類似の部分には同一または類似の符号を付して表している。
＝＝＝不正検知システム１０の構成＝＝＝
【００１３】
図１を参照しつつ、不正検知システム１０の構成について説明する。図１は、不正検知システム１０の構成を示す図である。
【００１４】
図１に示すように、不正検知システム１０は、例えば、識別サーバ装置１００、事業者サーバ装置２００を含む。識別サーバ装置１００は、ネットワーク４００を介して事業者サーバ装置２００にアクセスするユーザの端末装置３００を識別する装置である。事業者サーバ装置２００は、所定のＷｅｂサイトを提供する事業者のサーバ装置である。事業者サーバ装置は、例えばアクセスする端末装置３００の各種情報を、端末装置３００から識別サーバ装置１００に送信させる機能を備えていてもよい。なお、不正検知システム１０は、例えば識別サーバ装置１００のみで構成されていてもよい。
【００１５】
識別サーバ装置１００は、事業者サーバ装置２００のＷｅｂサイトにログインする端末装置３００に関するデバイス情報を、事業者サーバ装置２００又はユーザの端末装置３００から取得する。識別サーバ装置１００は、取得したデバイス情報に基づいて、端末装置３００が当該Ｗｅｂサイトにアクセスが許可されている端末装置か否かにつき識別する。
【００１６】
ここで、「デバイス情報」は、例えば、端末装置３００のデバイスの種別に関するデバイス種別情報、端末装置３００のブラウザに関するブラウザ情報、ブラウザの種別に係る装置系パラメータ（第１パラメータ）、Ｗｅｂサイト内でユーザにおける端末装置３００の操作に関する操作系パラメータ（第２パラメータ）を含む。
【００１７】
また、「端末装置３００を識別する」とは、端末装置３００を一意に特定することや、一意に近い状態で特定することを含む。「一意に近い状態で特定する」ことには、例えばアクセスが許可されている端末装置３００である確率を算出し、当該確率が所定値以上であることを判定するものを含んでいてもよい。
【００１８】
すなわち、識別サーバ装置１００は、端末装置ごとに異なる装置系パラメータや操作系パラメータを適切に組み合わせて、事業者サーバ装置２００にアクセスした端末装置３００がＷｅｂサイトにログイン可能な正規の端末装置か否かを判定できる。
【００１９】
換言すると、識別サーバ装置１００は、端末装置に関する特徴や、ユーザの端末装置に対する挙動を分析して、他人へのなりすましやロボットによる不正ログインをリアルタイムで検知できる。
＜＜識別サーバ装置１００＞＞
【００２０】
図２は、識別サーバ装置１００の構成を示す図である。図２を参照して、識別サーバ装置１００の構成について説明する。
【００２１】
図２に示すように、識別サーバ装置１００は、例えば、記憶部１０１、取得部１０２、送信部１０３、種別特定部１０４、ブラウザ特定部１０５、パラメータ特定部１０６、識別符号生成部１０７、識別部１０８、審査判定部１０９を含む。
【００２２】
記憶部１０１は、例えば、組合せ情報テーブル１０１ａ、端末装置識別テーブル１０１ｂを含む。
【００２３】
図３は、組合せ情報テーブル１０１ａの構成例を示している。図３に示すように、組合せ情報テーブル１０１ａは、ブラウザの種別のそれぞれに対して、ブラウザ情報から取得可能な装置系パラメータを対応付けたものである。組合せ情報テーブル１０１ａは、例えば、変数、第１ブラウザ〜第ｎブラウザなどの項目を含む。変数は、例えば装置系パラメータの特徴を示す。第１ブラウザ〜第ｎブラウザは、例えばユーザがＷｅｂサイトにアクセスする際に端末装置３００で使用されるブラウザの種別を示す。ここで、ブラウザの種別とは、例えば、Ｗｅｂサイトを閲覧するための閲覧ソフトの違いである。具体的には、例えば「Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ」や「Ｃｈｒｏｍｅ」などのブラウザの種別をいう。なお、複数の異なるバージョンのブラウザそれぞれは、ブラウザの種別が異なるものとしてもよい。また、例えば、ブラウザの言語設定を示す情報など、閲覧ソフトにおける各種設定に関する情報は、ブラウザの種別に含まれない。第１ブラウザ〜第ｎブラウザにおける項目に示される「○」は、例えば識別サーバ装置１００が各ブラウザおける端末装置３００を識別するための識別符号を生成する際に使用する変数の組合せを示すものである。具体的には、例えば「第２ブラウザ」に対応する識別符号は、「ｌａｎｇｕａｇｅ」、「Ｔｉｍｅｚｏｎｅ Ｏｆｆｓｅｔ」、「ｆｏｎｔｓ」に対応する装置系パラメータの組合せによって、生成される。これにより、ブラウザごとに取得可能な装置系パラメータのうち、端末装置３００を識別するための、装置系パラメータの最適な組み合わせを設定できる。なお、図３に示される変数は一例を示すものであり、これらに限定されない。例えば、装置系パラメータには、ブラウザ上でグラフィックスを表示させるためのソフトウェアに関するパラメータなどが含まれていてもよい。また、組合せ情報テーブル１０１ａは、例えば不正検知システム１０の管理者の操作によって変数の組合せやブラウザの追加削除など内容が変更される。
【００２４】
ここで、図３に示す変数について説明する。変数「ｌａｎｇｕａｇｅ」は、例えばユーザによりブラウザに設定されている言語（日本語や英語など）を示すものである。変数「Ｔｉｍｅｚｏｎｅ Ｏｆｆｓｅｔ」は、例えばローカルタイムゾーンとＵＴＣ（Ｃｏｏｒｄｉｎａｔｅｄ Ｕｎｉｖｅｒｓａｌ Ｔｉｍｅ）との差を示すものである。変数「ｆｏｎｔｓ」は、例えば特定のフォントが存在しているか否かを調査した結果を示すものである。変数「Ｃａｎｖａｓ Ｆｉｎｇｅｒｐｒｉｎｔ」は、例えば２Ｄ画像の描画結果を示すものである。なお、変数「Ｃａｎｖａｓ Ｆｉｎｇｅｒｐｒｉｎｔ」は、「１バイトや２バイト文字の混在」、「アルファベットと数字（０〜９）とを全て含む」、「複雑な形状の漢字を含む」の少なくともいずれかの要件を充たす文字列とすることが望ましい。また、２Ｄ画像だけに限らず所定の画像の描画結果を示す変数を用いてもよい。変数「Ｄｅｖｉｃｅ Ｐｉｘｅｌ Ｒａｔｉｏ」は、例えばディスプレイにおけるＣＳＳ解像度と物理解像度との比を示すものである。
【００２５】
図４は、端末装置識別テーブル１０１ｂの構成例を示している。図４に示すように、端末装置識別テーブル１０１ｂは、端末装置ＩＤを主キーとして、識別符号などを含む。端末装置ＩＤは、例えば、ユーザの端末装置３００ごとに一意に割り振られるコードである。識別符号は、端末装置３００を一意に特定するための符号である。識別サーバ装置１００は、端末装置識別テーブル１０１ｂを参照することにより、識別符号に基づいて端末装置３００が正当か否かを判定できる。
【００２６】
取得部１０２は、ネットワーク４００を介して他の装置からデバイス情報を取得する。
【００２７】
送信部１０３は、各種情報を他の装置に送信する。
【００２８】
種別特定部１０４は、例えばパーソナルコンピュータやモバイル端末などの端末装置３００のデバイスの種別を特定する。具体的には、種別特定部１０４は、例えば、デバイス情報における「ｄｅｖｉｃｅ．ｐｌａｔｆｏｒｍ」を参照して、「Ｗｉｎ３２」、「Ｗｉｎ６４」、「ＭａｃＩｎｔｅｌ」などのパーソナルコンピュータに搭載されるＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）を示す文字列が含まれる場合は、パーソナルコンピュータと特定する。また、種別特定部１０４は、例えば、デバイス情報における「ｄｅｖｉｃｅ．ｐｌａｔｆｏｒｍ」を参照して、「ｉＰｈｏｎｅ（登録商標）」、「Ａｎｄｒｏｉｄ」、「Ｗｉｎｄｏｗｓ Ｐｈｏｎｅ」などのモバイル端末に搭載されるＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）を示す文字列が含まれる場合は、モバイル端末と特定する。これにより、デバイスの種類によって取得できる装置系パラメータが異なることを利用して、識別符号の一意性を高めることができる。
【００２９】
ブラウザ特定部１０５は、ブラウザ情報に基づいて端末装置３００で使用されるブラウザの種別を特定する。具体的には、ブラウザ特定部１０５は、例えばデバイス情報における「ｄｅｖｉｃｅ．ｕｓｅｒａｇｅｎｔ」を参照して、各ブラウザのいずれかに対応する文字列を特定することで、ブラウザを特定する。これにより、ブラウザの種別によって取得できる装置パラメータが異なることを利用して、識別符号の一意性を高めることができる。
【００３０】
パラメータ特定部１０６は、例えば、デバイス情報のうち、特定されたブラウザに対応する装置系パラメータを特定する。具体的には、特定されたブラウザが「第３ブラウザ」である場合、パラメータ特定部１０６は、組合せ情報テーブル１０１ａを参照して、「第３ブラウザ」に対応する変数「ｌａｎｇｕａｇｅ」、「Ｔｉｍｅｚｏｎｅ Ｏｆｆｓｅｔ」を特定する。そして、パラメータ特定部１０６は、デバイス情報における、当該変数に対応する装置系パラメータを特定する。これにより、識別サーバ装置１００は、ブラウザに応じた、一意性の高い識別符号を生成するために適切な装置系パラメータを抽出できる。
【００３１】
また、パラメータ特定部１０６は、例えば特定されたデバイスの種別と特定されたブラウザの種別とに基づき装置系パラメータを特定してもよい。これにより、識別サーバ装置１００は、デバイスの種別とブラウザの種別に応じた、より一意性の高い識別符号を生成するために適切な装置系パラメータを抽出できる。
【００３２】
また、パラメータ特定部１０６は、例えばデバイス情報のうち操作系パラメータを特定してもよい。具体的には、パラメータ特定部１０６は、種別特定部１０４で特定された種別に基づいて、所定の操作系パラメータを特定する。これにより、識別サーバ装置１００は、種別に応じた、一意性の高い識別符号を生成するために適切な操作系パラメータを抽出できる。
【００３３】
ここで、特定される「操作系パラメータ」の一例について説明する。変数「Ｍｏｕｓｅ ｉｎｄｅｘ」は、Ｗｅｂサイト内におけるマウス操作の順序を示すものである。変数「Ｋｅｙ ｉｎｄｅｘ」は、Ｗｅｂサイト内におけるキーボード入力の順序を示すものである。変数「Ｄｏｍ Ｉｄ」は、キーボード入力が発生したテキストフィールドの「ｉｄ」、「ｎａｍｅ」、「ｃｌａｓｓ」を結合した文字列である。変数「Ｍｏｕｓｅ Ｄｏｗｎ Ｔｉｍｅ」は、Ｗｅｂサイト内でクリックが開始された日時を示すものである。変数「Ｍｏｕｓｅ Ｕｐ Ｔｉｍｅ」は、Ｗｅｂサイト内でクリックが終了した日時を示すものである。
【００３４】
識別符号生成部１０７は、例えば、特定された装置系パラメータを所定の関数に入力して識別符号を算出する。具体的には、識別符号生成部１０７は、特定されたブラウザに対応する複数の変数のそれぞれが示す装置系パラメータを文字列結合して、ハッシュ化する。識別符号生成部１０７は、ハッシュ化した値を識別符号とする。これにより、セキュリティを確保しつつ、一意性の高い識別符号を生成できる。なお、識別符号生成部１０７は、一つ以上の装置系パラメータに基づいて識別符号を算出すればよい。また、識別符号生成部１０７は、装置系パラメータと操作系パラメータとを組み合わせて文字列結合したものを、ハッシュ化して識別符号を生成してもよい。
【００３５】
また、識別符号生成部１０７は、例えば、端末装置３００がモバイル端末と特定された場合、デバイス情報に含まれるＵＡ（Ｕｓｅｒ Ａｇｅｎｔ）プログラムにおける所定の領域を抽出したものを装置系パラメータとして、識別符号を生成してもよい。ＵＡプログラムには、端末装置３００の機種の型名やバージョン情報が高頻度で含まれている。しかし、これらの情報は経時に伴って変化する。そこで、識別符号生成部１０７は、ＵＡプログラムの中で、経時に伴って変化しにくい、「先頭から最後に出現する閉じ括弧まで」を抽出して、識別符号を生成する。具体的には、識別符号生成部１０７は、ＵＡプログラムが「ＡＡ  ＢＢ  （ＣＣ，ＤＤ）  ＥＥ  ＦＦ  （ＧＧ  ＨＨ）  ＩＩ  ＪＪ  ＫＫＫ」である場合、「ＡＡ  ＢＢ  （ＣＣ，ＤＤ）  ＥＥ  ＦＦ  （ＧＧ  ＨＨ）」を抽出して、識別符号を生成する。これにより、識別サーバ装置１００は、一意性の高い識別符号を生成できる。
【００３６】
識別部１０８は、識別符号に基づいて端末装置３００が所定のウェブサイトにアクセスを許可されている端末装置か否かを識別する。識別部１０８は、例えば、端末装置識別テーブル１０１ｂを参照して、生成された識別符号に対応する端末装置ＩＤがあるか否かを判定する。具体的には、識別部１０８は、識別符号生成部１０７において端末装置３００の識別符号が「ＡＢＣＤ」と生成された場合、端末装置識別テーブル１０１ｂを参照して、端末装置ＩＤ「００００００１」を特定する。この場合、識別部１０８は、端末装置３００を事業者サーバ装置２００にアクセスが許可される端末装置と識別する。
【００３７】
また、識別部１０８は、例えば、識別符号に替えて、装置系パラメータまたは操作系パラメータのうち少なくともいずれか一つを識別符号として、端末装置を識別してもよい。これにより、識別部１０８は、簡易に端末装置を識別できる。
【００３８】
また、識別部１０８は、例えば、装置系パラメータにより生成された識別符号と、操作系パラメータとに基づいて、端末装置を識別してもよい。具体的には、識別部１０８は、端末装置識別テーブル１０１ｂを参照して、当該識別符号に対応する端末装置ＩＤがあることを確認する。そして、識別部１０８は、当該端末装置３００から取得された操作系パラメータに基づいて、操作がキーボードまたは同等の入力デバイスのキー操作（変数「ｋｅｙ＿ｓｔｒｏｋｅ」）のみであり、キー入力が発生したテキストフィールドのＩＤ、ｎａｍｅ、ｃｌａｓｓを結合した文字列（変数「ｄｏｍｉｄ」）が複数存在し、ＴａｂキーやＥｎｔｅｒキー（変数「ｔａｂ／ｅｎｔｅｒｋｅｙ」）が使用されず、過去の記憶した入力情報に基づいて候補を出力するオートコンプリートと判定されていないことを確認する。また、識別部１０８は、種別特定部１０４において特定された当該端末装置３００のデバイスの種類に応じて、ログインフェーズが完了するまでの時間を示すログインタイムを判定に加えることができる。これにより、識別部１０８は、一意性の高い識別符号に、一定の傾向を有するユーザの挙動を組み合わせることにより、端末装置を識別する精度を高めることができる。また、識別部１０８は、操作系パラメータを組み合わせることにより、ロボットによるアクセスか否かを適切に識別できる。
【００３９】
審査判定部１０９は、例えば、識別部１０８において、事業者サーバ装置２００のＷｅｂサイトにアクセスが許可させる端末装置３００であるか否かが判定された結果に基づいて、端末装置３００に所定の処理を実行する。具体的には、審査判定部１０９は、例えば、識別部１０８においてアクセスが許可される端末装置３００でないと判定した場合、事業者サーバ装置２００への端末装置３００のアクセスを拒絶する。それと共に、審査判定部１０９は、不正アクセスの疑いのある端末装置３００を集約したデータベースに当該端末装置３００を登録してもよい。これにより、適切に不正アクセスを排除できる。
【００４０】
また、審査判定部１０９は、この場合、端末装置３００に対して追加認証に関する処理を要求してもよい。これにより、本来アクセスが許可されるべき端末装置３００が排除された場合、端末装置３００に対して適切な認証手順を要求することで、不必要なアクセス拒絶を抑制できる。
【００４１】
また、審査判定部１０９は、この場合、アクセスが許可されている端末装置３００である確率を算出し、当該確率が所定の閾値以上の場合に、当該端末装置３００のアクセスを排除してもよい。これにより、本来アクセスが許可されるべき端末装置３００が排除されるリスクを抑制できる。
＜＜事業者サーバ装置２００＞＞
【００４２】
図５は、事業者サーバ装置２００の構成を示す図である。図５を参照して、事業者サーバ装置２００の構成について説明する。図５に示すように、事業者サーバ装置２００は、例えば、記憶部２０１、取得部２０２、送信部２０３、情報要求部２０４を含む。記憶部２０１は、各種情報を記憶する。取得部２０２は、各種情報を他の装置から取得する。送信部２０３は、各種情報を他の装置に送信する。情報要求部２０４は、例えば、ユーザの端末装置３００から各種情報を取得できるように、又は、端末装置３００から識別サーバ装置１００に各種情報が送信されるように端末装置３００に要求するように、機能する。
＝＝＝不正検知システム１０の処理手順＝＝＝
【００４３】
図６を参照しつつ、不正検知システム１０の処理手順の一例について説明する。図６は、不正検知システム１０の処理手順を示した図である。なお、図６では、紙面の上から下に向かって時間が経過するものとする。
【００４４】
説明の便宜のため、図６では、デバイス情報には図７に示す「装置系パラメータ」と図８に示す「操作系パラメータ」とを含むこととする。また、端末装置３００が図３に示す「第１ブラウザ」を使用しているものとする。
【００４５】
Ｓ１０１において、端末装置３００は、事業者サーバ装置２００のＷｅｂサイトのログイン画面にアクセスする。端末装置３００は、Ｗｅｂサイトにアクセスした際に、事業者サーバ装置２００に対して情報収集のための情報収集プログラムを要求する。ここで、情報収集プログラムとは、例えばＪａｖａＳｃｒｉｐｔで記述されたプログラムなどであり、端末装置３００上で実行されることによって、端末装置３００から各種情報を収集してサーバ装置２００に送信するプログラムである。なお、端末装置３００による情報取集プログラムを要求するタイミングは限定されない。
【００４６】
Ｓ１０２において、事業者サーバ装置２００は、情報要求部２０４において、情報収集のための情報収集プログラムを端末装置３００に送信する。
【００４７】
Ｓ１０３において、端末装置３００は、自己のデバイス情報を収集する。端末装置３００は、収集したデバイス情報を識別サーバ装置１００に送信する。なお、端末装置３００は、デバイス情報を事業者サーバ装置２００に送信してもよい。この場合、事業者サーバ装置２００は、デバイス情報を識別サーバ装置１００に送信する。
【００４８】
Ｓ１０４において、識別サーバ装置１００は、種別特定部１０４において、デバイス情報に基づき端末装置３００の種別を特定する。具体的には、識別サーバ装置１００は、端末装置３００がパーソナルコンピュータかモバイル端末かを特定する。これにより、識別サーバ装置１００は、種別によって取得できるデバイス情報が異なることに対応して、識別符号の一意性を高めることができる。
【００４９】
Ｓ１０５において、識別サーバ装置１００は、ブラウザ特定部１０５において、デバイス情報に基づき端末装置３００で使用されている「第１ブラウザ」を特定する。具体的には、識別サーバ装置１００は、例えば「Ｃｈｒｏｍｅ」、「Ｓａｆａｒｉ」、「ＩＥ１１」等のブラウザを特定する。これにより、識別サーバ装置１００は、各ブラウザによって取得できる装置パラメータが異なることに対応して、識別符号の一意性を高めることができる。
【００５０】
Ｓ１０６において、識別サーバ装置１００は、パラメータ特定部１０６において、組合せ情報テーブル１０１ａを参照して、「第１ブラウザ」に対応する変数を特定する。そして、パラメータ特定部１０６は、特定された変数に対応する装置系パラメータ（例えば「ＡＡＡＡ」〜「ＥＥＥＥ」）を特定する。さらに、識別サーバ装置１００は、デバイス種別情報に基づいて操作系パラメータ（例えば「ＨＨＨＨ」〜「ＬＬＬＬ」）を特定してもよい。これにより、識別サーバ装置１００は、一意性の高い識別符号を生成するためのパラメータを特定できる。
【００５１】
Ｓ１０７において、識別サーバ装置１００は、識別符号生成部１０７において、装置系パラメータまたは操作系パラメータの少なくともいずれかをハッシュ化して、識別符号を生成する。これにより、識別サーバ装置１００は、一意性の高い識別符号を生成できる。
【００５２】
Ｓ１０８において、識別サーバ装置１００は、識別部１０８において、端末装置識別テーブル１０１ｂを参照して、識別符号に基づいて端末装置３００を識別する。なお、識別サーバ装置１００は、装置系パラメータに基づき生成された識別符号と、操作系パラメータと、に基づいて、端末装置を識別してもよい。
【００５３】
Ｓ１０９において、識別サーバ装置１００は、審査判定部１０９において、識別部１０８における識別結果に基づいて、端末装置３００がアクセスを許可された端末装置であるか否かを判定する。
【００５４】
Ｓ１１０において、識別サーバ装置１００は、審査判定部１０９においてアクセスが許可されていない端末装置３００であると判定された場合、端末装置３００によるログインを拒絶する、又は、端末装置３００に対して追加認証を要求するなどの処理を実行する。一方、識別サーバ装置１００は、審査判定部１０９においてアクセスが許可されている端末装置３００であると判定された場合、端末装置３００によるログインを受け付ける。これにより、不正アクセスを排除できる。
＝＝ハードウェア構成＝＝
【００５５】
図９を参照して、識別サーバ装置１００、事業者サーバ装置２００をコンピュータ１０００で実現する場合のハードウェア構成の一例を説明する。なお、それぞれの装置の機能は、複数台の装置に分けて実現することもできる。
【００５６】
図９は、コンピュータのハードウェア構成の一例を示す図である。図９に示すように、コンピュータ１０００は、プロセッサ１００１と、メモリ１００２と、記憶装置１００３と、入力Ｉ／Ｆ部１００４と、データＩ／Ｆ部１００５と、通信Ｉ／Ｆ部１００６、及び表示装置１００７を含む。
【００５７】
プロセッサ１００１は、メモリ１００２に記憶されているプログラムを実行することによりコンピュータ１０００における各種の処理を制御する制御部である。
【００５８】
メモリ１００２は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶媒体である。メモリ１００２は、プロセッサ１００１によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。
【００５９】
記憶装置１００３は、例えばハードディスクドライブ（ＨＤＤ）やフラッシュメモリ等の不揮発性の記憶媒体である。記憶装置１００３は、オペレーティングシステムや、上記各構成を実現するための各種プログラムを記憶する。
【００６０】
入力Ｉ／Ｆ部１００４は、ユーザからの入力を受け付けるためのデバイスである。入力Ｉ／Ｆ部１００４の具体例としては、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイス等が挙げられる。入力Ｉ／Ｆ部１００４は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のインタフェースを介してコンピュータ１０００に接続されても良い。
【００６１】
データＩ／Ｆ部１００５は、コンピュータ１０００の外部からデータを入力するためのデバイスである。データＩ／Ｆ部１００５の具体例としては、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置等がある。データＩ／Ｆ部１００５は、コンピュータ１０００の外部に設けられることも考えられる。その場合、データＩ／Ｆ部１００５は、例えばＵＳＢ等のインタフェースを介してコンピュータ１０００へと接続される。
【００６２】
通信Ｉ／Ｆ部１００６は、コンピュータ１０００の外部の装置と有線又は無線により、インターネットＮを介したデータ通信を行うためのデバイスである。通信Ｉ／Ｆ部１００６は、コンピュータ１０００の外部に設けられることも考えられる。その場合、通信Ｉ／Ｆ部１００６は、例えばＵＳＢ等のインタフェースを介してコンピュータ１０００に接続される。
【００６３】
表示装置１００７は、各種情報を表示するためのデバイスである。表示装置１００７の具体例としては、例えば液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、ウェアラブル・デバイスのディスプレイ等が挙げられる。表示装置１００７は、コンピュータ１０００の外部に設けられても良い。その場合、表示装置１００７は、例えばディスプレイケーブル等を介してコンピュータ１０００に接続される。また、入力Ｉ／Ｆ部１００４としてタッチパネルが採用される場合には、表示装置１００７は、入力Ｉ／Ｆ部１００４と一体化して構成することが可能である。
＝＝＝まとめ＝＝＝
【００６４】
本実施形態に係る不正検知システム１０は、所定のＷｅｂサイトにアクセスが許可されていないユーザ（第三者）による所定のＷｅｂサイトへの不正なアクセスを検知する不正検知システム１０であって、ネットワークを介して、ユーザの端末装置３００（デバイス）に関するデバイス情報を取得する取得部１０２と、端末装置３００を用いてユーザが使用する、デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る装置系パラメータ（第１パラメータ）を特定するパラメータ特定部１０６と、装置系パラメータ（第１パラメータ）に基づいて、端末装置３００を識別する識別部１０８と、を備える。これにより、ブラウザ情報に含まれる一意性が高い装置系パラメータに基づいて、ユーザの端末装置３００を識別することができる。
【００６５】
また、本実施形態に係る不正検知システム１０は、デバイス情報は、少なくともパーソナルコンピュータかモバイル端末かの端末装置３００のデバイスの種別に関するデバイス種別情報を含み、パラメータ特定部１０６は、ブラウザ情報と、デバイス種別情報と、に基づいて、装置系パラメータ（第１パラメータ）を特定する。これにより、ブラウザと種別によって取得できる装置パラメータが異なることを利用して、識別符号の一意性を高めることができる。
【００６６】
また、本実施形態に係る不正検知システム１０は、少なくとも一つの装置系パラメータ（第１パラメータ）を所定の関数に入力して識別符号を生成する識別符号生成部１０７、をさらに備え、識別部１０８は、識別符号に基づいて、端末装置を識別する。これにより、セキュリティを確保しつつ、一意性の高い識別符号を生成できる。
【００６７】
また、本実施形態に係る不正検知システム１０は、デバイス情報は、ユーザの端末装置３００への操作に関する操作系パラメータ（第２パラメータ）を含み、識別部１０８は、装置系パラメータ（第１パラメータ）と、操作系パラメータ（第２パラメータ）と、に基づいて、端末装置を識別する。これにより、識別符号の一意性を高めるとともに、ロボットによるアクセスか否かを適切に識別できる。
【００６８】
また、本実施形態に係る不正検知システム１０は、少なくとも一つの装置系パラメータ（第１パラメータ）と、少なくとも一つの操作系パラメータ（第２パラメータ）と、を所定の関数に入力して識別符号を生成する識別符号生成部１０７、をさらに備え、識別部１０８は、識別符号に基づいて、端末装置を識別する。これにより、識別符号の一意性を高めるとともに、ロボットによるアクセスか否かを適切に識別できる。
【００６９】
また、本実施形態に係る不正検知システム１０は、少なくとも一つの装置系パラメータ（第１パラメータ）を所定の関数に入力して識別符号を生成する識別符号生成部１０７、をさらに備え、識別部１０８は、識別符号と、少なくとも一つの操作系パラメータ（第２パラメータ）と、に基づいて、端末装置を識別する。これにより、識別符号の一意性を高めるとともに、ロボットによるアクセスか否かを適切に識別できる。
【００７０】
また、本実施形態に係る不正検知システム１０において、装置系パラメータ（第１パラメータ）は、ユーザの端末装置３００で使用されるフォントに関する情報、ユーザの端末装置３００における描画に関する情報の少なくともいずれかを含む。これにより、一意性の高い識別符号を生成できる。
【００７１】
また、本実施形態に係る不正検知システム１０は、装置系パラメータ（第１パラメータ）は、ユーザの端末装置３００のユーザーエージェントに関する情報のうち、所定の領域の文字列が抽出されたものである。これにより、一意性の高い識別符号を生成できる。
【符号の説明】
【００７２】
１０…不正検知システム、１００…識別サーバ装置、２００…事業者サーバ装置、３００…端末装置、１０１…記憶部、１０２…取得部、１０３…送信部、１０４…種別特定部、１０５…ブラウザ特定部、１０６…パラメータ特定部、１０７…識別符号生成部、１０８…識別部、１０９…審査判定部。
【要約】      （修正有）【課題】端末装置や利用するアプリに応じて、不正アクセスの検知に用いるパラメータを柔軟に設定することで、より正確に不正アクセスであるか否かを検知する不正検知システム、不正検知方法及びプログラムを提供する。【解決手段】所定のウェブサイトにアクセスが許可されていない第三者による所定のウェブサイトへの不正なアクセスを検知する不正検知システムにおいて、識別サーバ装置１００は、ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得する取得部１０２と、デバイスを用いてユーザが使用する、デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第１パラメータを特定するパラメータ特定部１０６と、第１パラメータに基づいて、デバイスを識別する識別部１０８と、を備える。【選択図】図２【図１】
0006860156.tif 000002
【図２】
0006860156.tif 000003
【図３】
0006860156.tif 000004
【図４】
0006860156.tif 000005
【図５】
0006860156.tif 000006
【図６】
0006860156.tif 000007
【図７】
0006860156.tif 000008
【図８】
0006860156.tif 000009
【図９】
0006860156.tif 000010