(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024104026
(43)【公開日】2024-08-02
(54)【発明の名称】情報処理装置及び情報処理プログラム
(51)【国際特許分類】
G06F 21/31 20130101AFI20240726BHJP
【FI】
G06F21/31
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023008025
(22)【出願日】2023-01-23
(71)【出願人】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】関根 直樹
(57)【要約】
【課題】ユーザの利便性を損なうことなく、不正ログイン対策を行うことができる情報処理装置及び情報処理プログラムを提供する。
【解決手段】情報処理装置は、第1の取得部と、第2の取得部と、算出部と、動作決定部と、を備える。第1の取得部は、ログイン情報を取得する。第2の取得部は、ユーザのユーザ情報を取得する。算出部は、前記ログイン情報、及び前記ユーザ情報に基づいて、ログイン拒否回数を算出する。動作決定部は、前記ログイン拒否回数と失敗回数に基づいて、ログイン許否を決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ログイン情報を取得する第1の取得部と、
ユーザのユーザ情報を取得する第2の取得部と、
前記ログイン情報、及び前記ユーザ情報に基づいて、ログイン拒否回数を算出する算出部と、
前記ログイン拒否回数と失敗回数に基づいて、ログイン許否を決定する動作決定部と、
を備える情報処理装置。
【請求項2】
前記算出部は、前記ログイン情報の取得に基づく前記ユーザのアクセス時刻と前記ユーザ情報に含まれる前回のアクセス時刻との差に基づいて、ログイン拒否回数を算出する、
請求項1に記載の情報処理装置。
【請求項3】
前記算出部は、前記ログイン情報と前記ユーザ情報に含まれる前回のログイン情報との類似度に基づいて、ログイン拒否回数を算出する、
請求項1に記載の情報処理装置。
【請求項4】
前記類似度は、前記ログイン情報に含まれるパスワードの文字列と前記前回のログイン情報に含まれるパスワードの文字列との類似度である、
請求項3に記載の情報処理装置。
【請求項5】
コンピュータに、
ログイン情報を取得する第1の取得機能と、
ユーザのユーザ情報を取得する第2の取得機能と、
前記ログイン情報、及び前記ユーザ情報に基づいて、ログイン拒否回数を算出する算出機能と、
前記ログイン拒否回数と失敗回数に基づいて、ログイン許否を決定する動作決定機能と、
を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【0002】
近年、電子商取引や電子メール等の利用時、ユーザとパスワードを用いた本人認証が常態化している。このような本人認証において、ウェブブラウザ等を用いれば、どこからでもアクセスでき利便性が高い一方、アカウントを盗まれる不正ログインの被害も報告されている。
【0003】
特に、ブルートフォース攻撃のように、総当たり戦でパスワードをクラッキングするケースも散見され、サービス提供側は対応に苦慮している。サービス提供側では、例えば、一定回数程度のパスワードの入力誤りや、短時間でのログインチャレンジ等を検知し、一時的にアカウントを停止する方法や、正しいパスワード入力であっても、一定条件下ではログインを拒否し、悪意ある攻撃者に正しいパスワードを推測させない方法等による不正ログインに対する対策を行っている。
【0004】
しかしながら、一時的にアカウントを停止する方法は、時間稼ぎの対策でしかなく、総当たり戦の撃退効果は限定的である。また、一定条件下ではログインを拒否する場合でも、ログインの拒否回数が固定されているため、ユーザの利便性を損なう。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の実施形態が解決しようとする課題は、ユーザの利便性を損なうことなく、不正ログイン対策を行うことができる情報処理装置及び情報処理プログラムを提供しようとするものである。
【課題を解決するための手段】
【0007】
一実施形態において、情報処理装置は、第1の取得部と、第2の取得部と、算出部と、動作決定部と、を備える。第1の取得部は、ログイン情報を取得する。第2の取得部は、ユーザのユーザ情報を取得する。算出部は、前記ログイン情報、及び前記ユーザ情報に基づいて、ログイン拒否回数を算出する。動作決定部は、前記ログイン拒否回数と失敗回数に基づいて、ログイン許否を決定する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理システムを例示するブロック図である。
【
図2】
図2は、実施形態に係るユーザ情報のデータ構造を例示する図である。
【
図3】
図3は、実施形態に係るサーバによる情報処理の手順の一例を示すフローチャートである。
【
図4】
図4は、実施形態に係るサーバによる動作決定に関する情報処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を用いて実施形態について説明する。各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
図1は、実施形態に係る情報処理システム100を例示するブロック図である。
情報処理システム100は、サーバ1、及び情報処理端末2を含む。サーバ1、及び情報処理端末2は、ネットワークを介して互いに通信自在に接続する。例えば、ネットワークは、インターネット、携帯通信網及びLAN(Local Area Network)等の種々のネットワークのうちの1以上のネットワークで構成される。1以上のネットワークは、無線ネットワークを含んでもよいし、有線ネットワークを含んでもよい。
【0010】
サーバ1は、データを収集し、収集したデータを処理する電子機器である。例えば、サーバ1は、ログイン認証を伴う電子商取引又は電子メール等のサーバである。電子機器は、コンピュータを含む。サーバ1は、ネットワークを介して、情報処理端末2と通信自在に接続する。サーバ1は、情報処理端末2から種々のデータを受け取り、情報処理端末2に種々のデータを出力する。サーバ1の構成例については後述する。
【0011】
情報処理端末2は、他の電子機器と通信可能な電子機器である。情報処理端末2は、例えば、ログイン認証を行うユーザが使用する機器である。例えば、情報処理端末2は、PC(Personal Computer)、スマートフォン、又は、タブレット端末等である。ユーザは、人と読み替えてもよい。情報処理端末2の構成例については後述する。
【0012】
サーバ1の構成例について説明する。
サーバ1は、プロセッサ11、メインメモリ12、補助記憶デバイス13及び通信インタフェース14を含む電子機器である。サーバ1を構成する各部は、互いに信号を入出力可能に接続されている。
図1では、インタフェースは、「I/F」と記載されている。
【0013】
プロセッサ11は、サーバ1の中枢部分に相当する。プロセッサ11は、サーバ1のコンピュータを構成する要素である。例えば、プロセッサ11は、CPU(Central Processing Unit)であるが、これに限定されない。プロセッサ11は、種々の回路で構成されていてもよい。プロセッサ11は、メインメモリ12又は補助記憶デバイス13に予め記憶されているプログラムをメインメモリ12に展開する。プログラムは、サーバ1のプロセッサ11に後述する各部を実現又は実行させるプログラムである。プロセッサ11は、メインメモリ12に展開されるプログラムを実行することで、種々の動作を実行する。プロセッサ11は、処理回路の一例である。
【0014】
メインメモリ12は、サーバ1の主記憶部分に相当する。メインメモリ12は、サーバ1のコンピュータを構成する要素である。メインメモリ12は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ12は、不揮発性のメモリ領域ではオペレーティングシステム又はプログラムを記憶する。メインメモリ12は、揮発性のメモリ領域を、プロセッサ11によってデータが適宜書き換えられるワークエリアとして使用する。例えば、メインメモリ12は、不揮発性のメモリ領域としてROM(Read Only Memory)を含む。例えば、メインメモリ12は、揮発性のメモリ領域としてRAM(Random Access Memory)を含む。メインメモリ12は、プログラムを記憶する。
【0015】
補助記憶デバイス13は、サーバ1の補助記憶部分に相当する。補助記憶デバイス13は、サーバ1のコンピュータを構成する要素である。補助記憶デバイス13は、EEPROM(登録商標)(Electric Erasable Programmable Read-Only Memory)、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等である。補助記憶デバイス13は、上述のプログラム、プロセッサ11が各種の処理を行う上で使用するデータ及びプロセッサ11での処理によって生成されるデータを記憶する。補助記憶デバイス13は、上述のプログラムを記憶する。
【0016】
補助記憶デバイス13は、情報処理端末2のユーザのユーザ情報を記憶する。ユーザ情報は、情報処理端末2のユーザのログインに関する情報を含む。ユーザ情報は、ユーザ識別情報、パスワード、最終ログイン日時、d日間(dは1以上の自然数)のログイン回数、現アクセス失敗回数、前回アクセス時刻、前回入力されたパスワード、1時間のパケット量等を含む。ユーザ識別情報は、ユーザを個々に識別するためにユーザ毎に割り当てられた固有の識別情報である。ユーザ識別情報は、例えば、ユーザID、ユーザ名等を含む。パスワードは、ユーザが任意に設定したログインに使用するパスワードである。最終ログイン日時は、ユーザが最後にログインした日時を示す。d日間のログイン回数は、d日間にユーザがログイン認証された回数を示す。ログイン認証は、ログインの成功を含む。d日間のログイン回数は、例えば、過去5日間のログイン回数、過去1週間のログイン回数等を含む。
【0017】
現アクセス失敗回数は、現時点でのアクセス失敗回数を示す。アクセス失敗回数は、ログイン認証されなかった回数を示す。現アクセス失敗回数は、今回のログイン試行について、ユーザが過去に行ったユーザアクセスの回数を示す。今回のログイン試行は、前回のログイン認証後、ログアウトをして、再度ログインを行うためのログイン情報の入力を示す。アクセスは、ユーザによるログイン情報の入力を示す。アクセスは、ユーザによるパスワードの入力を示してもよい。現アクセス失敗回数は、単に失敗回数ともいう。失敗回数は、前回のログイン認証から今回のログイン情報の入力までにユーザが行ったログイン情報の入力回数を示す。失敗回数は、今回のログイン情報の入力を含まない。失敗回数は、今回のログイン試行について、過去のサーバ1によるパスワード偽判定によりログインを失敗した回数と、過去のサーバ1によるログイン拒否によりログインを失敗した回数を合わせた数である。
例えば、今回のログイン試行のため、ユーザがパスワード入力を過去2回行い、3回目のパスワード入力を行った場合について説明する。サーバ1により過去2回パスワード偽判定された場合、現アクセス失敗回数は、2回である。パスワード偽判定は、パスワードの誤入力等により、サーバ1によりパスワードが間違いであると判定されることを示す。パスワードが間違いであると判定されることは、パスワードが正しくないと判定されることを含む。サーバ1により1回パスワード偽判定され、1回ログイン拒否された場合、現アクセス失敗回数は、2回である。ログイン拒否は、ユーザが正しいパスワードを入力し、サーバ1により1回パスワード真判定された場合に、サーバ1によりログインが許可されず、ログインが拒否されることを示す。パスワード真判定は、サーバ1によりパスワードが正しいと判定されることを示す。サーバ1により2回パスワード真判定され、パスワード真判定された2回ともログイン拒否された場合、現アクセス失敗回数は、2回である。
【0018】
前回アクセス時刻は、ユーザが前回ログイン情報を入力した時刻を示す。前回入力されたパスワードは、ユーザが前回入力したパスワードを示す。1時間のパケット量は、ユーザ名で特定されるユーザからサーバ1へのアクセスに伴う過去1時間分のパケット量である。ユーザ情報は、情報処理端末2の識別情報を含んでもよい。情報処理端末2の識別情報は、情報処理端末を個々に識別するために情報処理端末毎に割り当てられた固有の識別情報である。情報処理端末の識別情報は、情報処理端末のIPアドレス等を含む。
【0019】
通信インタフェース14は、所定の通信プロトコルに従い、ネットワークを介して、サーバ1を他の電子機器と通信可能に接続する種々のインタフェースを含む。
【0020】
なお、サーバ1のハードウェア構成は、上述の構成に限定されるものではない。サーバ1は、適宜、上述の構成要素の省略及び変更並びに新たな構成要素の追加を可能とする。
【0021】
上述のプロセッサ11に実現される各部について説明する。
プロセッサ11は、第1の取得部110、第2の取得部111、真偽判定部112、算出部113、動作決定部114、及び出力部115を実現する。プロセッサ11に実現される各部は、各機能ということもできる。プロセッサ11に実現される各部は、プロセッサ11及びメインメモリ12を含む制御部に実現されるということもできる。
【0022】
第1の取得部110は、通信インタフェース14を介して情報処理端末2からログイン情報を取得する。ログイン情報は、ユーザ名、及びパスワードを含む。
【0023】
第2の取得部111は、補助記憶デバイス13に記憶されている情報処理端末2のユーザのユーザ情報を取得する。第2の取得部111は、ユーザ名に基づいて、情報処理端末2のユーザに対応するユーザ情報を取得する。
【0024】
真偽判定部112は、ログイン情報、及びユーザ情報に基づいて、パスワードの真偽判定を行う。真偽判定は、パスワード真判定とパスワード偽判定を含む。真偽判定部112は、情報処理端末2のユーザにより入力されたパスワードとユーザ情報に含まれるパスワードを比較して、パスワードの真偽判定を行う。パスワードの真偽判定は、公知の技術により実現され得る。
【0025】
算出部113は、ログイン情報、及びユーザ情報に基づいて、ログイン拒否回数Nを算出する。ログイン拒否回数Nは、今回のログイン試行についてサーバ1によりパスワード真判定されたログインを許可するために失敗回数と比較する閾値である。サーバ1は、失敗回数がログイン拒否回数Nより大きい場合、今回のログイン試行についてサーバ1によりパスワード真判定されたログインを許可する。動作決定部114は、失敗回数がN以下である場合、今回のログイン試行についてサーバ1によりパスワード真判定されたログインを拒否する。例えば、ログイン拒否回数Nが「3」である場合について説明する。失敗回数が0回の状態からユーザが入力したパスワードが3回真判定された場合、サーバ1は、3回ログインを拒否する。失敗回数が0回の状態からユーザが過去2回入力したパスワードが偽判定され、ユーザが3回目に正しいパスワードを入力し、サーバ1によりパスワード真判定された場合、3回目のログインは拒否される。
【0026】
算出部113は、ユーザの利用頻度に基づいて、ログイン拒否回数Nを算出してもよい。利用頻度は、ユーザがログイン認証された頻度を示す。算出部113は、ユーザの利用頻度が多い場合、N=0とし、利用頻度が少ない場合、Nの値を増やしてもよい。例えば、利用頻度が、1日に10回以上である場合、算出部113は、N=0と算出してもよい。利用頻度が、2日に1回未満である場合、算出部113は、Nの値を増やしてもよい。算出部113は、例えば、N=K/(d日間のログイン回数)としてログイン拒否回数Nを算出してもよい。Kは、ハイパーパラメータを示す。利用頻度は、ログイン頻度ともいう。
【0027】
算出部113は、ユーザのアクセス量に基づいて、ログイン拒否回数Nを算出してもよい。算出部113は、ユーザのアクセス量が多い場合、Nの値を増やし、アクセス量が少ない場合、Nの値を減らしてもよい。算出部113は、例えば、N=1時間のパケット量/Kとしてログイン拒否回数Nを算出してもよい。Kは、ハイパーパラメータを示す。この例によれば、ブルートフォース攻撃等によりアクセス量は増える場合、ログイン拒否回数Nを増やし、不正ログインに対応することができる。
【0028】
算出部113は、ユーザの前回アクセス時刻と今回のアクセス時刻との差に基づいて、ログイン拒否回数Nを算出してもよい。算出部113は、ユーザの前回アクセス時刻からの差が大きい場合、Nの値を増やし、ユーザの前回アクセス時刻からの差が小さい場合、Nの値を減らしてもよい。算出部113は、例えば、N=K/(現在時刻-前回アクセス時刻)としてログイン拒否回数Nを算出してもよい。Kは、ハイパーパラメータを示す。この例によれば、自動攻撃等により超短時間でアクセスが連続する場合、ログイン拒否回数Nを増やし、不正ログインに対応することができる。
【0029】
算出部113は、前回の入力パスワードと今回の入力パスワードとの類似度に基づいて、ログイン拒否回数Nを算出してもよい。算出部113は、前回の入力パスワードと今回の入力パスワードとの類似度が高い場合、Nの値を増やし、前回の入力パスワードと今回の入力パスワードとの類似度が低い場合、Nの値を減らしてもよい。算出部113は、例えば、N=文字列の距離(現在の入力パスワード,前回の入力パスワード)/Kとしてログイン拒否回数Nを算出してもよい。Kは、ハイパーパラメータを示す。この例によれば、ブルートフォース攻撃等の1文字ずつ順次にパスワードを変更して入力される場合、ログイン拒否回数Nを増やし、不正ログインに対応することができる。算出部113は、例えば、前回の入力パスワードと今回の入力パスワードとの類似度を、パスワードの文字列の距離に基づいて算出する。パスワードの文字列の距離は、例えば、レーベンシュタイン距離法等の文字列の類似度を定量化するための公知の技術により算出され得る。
【0030】
動作決定部114は、ログイン拒否回数Nと失敗回数に基づいて、ログイン許否を決定する。動作決定部114は、算出部113により算出されたログイン拒否回数Nとユーザ情報に含まれる失敗回数を比較する。動作決定部114は、失敗回数がログイン拒否回数Nより大きい場合、ログインを許可する。動作決定部114は、失敗回数がログイン拒否回数N以下である場合、ログインを拒否する。
【0031】
出力部115は、動作決定部114によるログイン許否の結果を示す情報を情報処理端末2に出力する。出力部115は、動作決定部114によるログイン許可を示す許可情報を情報処理端末2に出力する。出力部115は、動作決定部114によるログイン拒否を示す拒否情報を情報処理端末2に出力する。情報処理端末2は、ログイン許否の結果を示す情報に基づいて、ログイン許可通知、又はログイン拒否通知を表示デバイス26に表示する。
【0032】
情報処理端末2の構成例について説明する。
情報処理端末2は、プロセッサ21、メインメモリ22、補助記憶デバイス23、通信インタフェース24、入出力インタフェース25、表示デバイス26、スピーカ27、及び入力デバイス28を含む電子機器である。情報処理端末2を構成する各部は、互いに信号を入出力可能に接続されている。
【0033】
プロセッサ21は、情報処理端末2の中枢部分に相当する。プロセッサ21は、情報処理端末2のコンピュータを構成する要素である。プロセッサ21は、上述のプロセッサ11と同様のハードウェア構成である。プロセッサ21は、メインメモリ22又は補助記憶デバイス23に予め記憶されているプログラムを実行することで、種々の動作を実行する。
【0034】
メインメモリ22は、情報処理端末2の主記憶部分に相当する。メインメモリ22は、情報処理端末2のコンピュータを構成する要素である。メインメモリ22は、上述のメインメモリ12と同様のハードウェア構成である。メインメモリ22は、プログラムを記憶する。
【0035】
補助記憶デバイス23は、情報処理端末2の補助記憶部分に相当する。補助記憶デバイス23は、情報処理端末2のコンピュータを構成する要素である。補助記憶デバイス23は、上述の補助記憶デバイス13と同様のハードウェア構成である。補助記憶デバイス23は、上述のプログラムを記憶する。
【0036】
補助記憶デバイス23は、情報処理端末2のユーザの情報を記憶する。
【0037】
通信インタフェース24は、所定の通信プロトコルに従い、ネットワークを介して、情報処理端末2を他の機器と通信可能に接続する種々のインタフェースを含む。
【0038】
入出力インタフェース25は、情報処理端末2と外部機器とを接続するためのインタフェースである。外部機器は、音声を入力可能な外付けマイク、外付けスピーカ等を含む。入出力インタフェース25は、例えば、USB(Universal Serial Bus)等である。
【0039】
表示デバイス26は、プロセッサ21の制御により種々の画面を表示可能なデバイスである。例えば、表示デバイス26は、液晶ディスプレイ又はEL(Electroluminescence)ディスプレイ等である。
【0040】
スピーカ27は、情報処理端末2の制御により音声を出力可能なデバイスである。スピーカ27は、出力デバイスの一例である。
【0041】
入力デバイス28は、情報処理端末2へデータ又は指示を入力可能なデバイスである。例えば、入力デバイス28は、音声を入力可能な内蔵型のマイク、及び撮影範囲の撮影データを取得可能な内蔵型のカメラを含む。入力デバイス28は、キーボード又はタッチパネル等を含んでもよい。
【0042】
なお、情報処理端末2のハードウェア構成は、上述の構成に限定されるものではない。情報処理端末2は、適宜、上述の構成要素の省略及び変更並びに新たな構成要素の追加を可能とする。
【0043】
サーバ1の補助記憶デバイス13に記憶されるユーザ情報のデータ構造の構成例について説明する。
図2は、実施形態に係るユーザ情報のデータ構造を例示する図である。
ユーザ情報は、各ユーザについて、ユーザ名、パスワード、最終ログイン日時、d日間のログイン回数、現アクセス失敗回数、前回アクセス時刻、前回入力されたパスワード、1時間のパケット量等のデータを互いに関連付けたデータを含む。
【0044】
例えば、
図2は、ユーザ名「XXX」のユーザが、2022年11月15日8時00分にログイン情報の入力を行った場合のユーザ情報を示す。ユーザ「XXX」について、パスワード「aaaaa」が設定されている。ユーザ「XXX」が前回ログイン成功した日時を示す最終ログイン日時は、「2022年11月11日、8時10分00秒」である。この例では、d日間のログイン回数は、5日間(d=5)のログイン回数を示すものとして説明する。ユーザ「XXX」の5日間のログイン回数は、「2」回である。
【0045】
ユーザ「XXX」が今回のログイン試行で行ったユーザアクセスについて、現アクセス失敗回数は、「2」回である。この例では、ユーザ「XXX」が3回目のログイン情報の入力を行った場合を想定する。ユーザ「XXX」は、例えば、過去1回のパスワード入力が偽判定され、過去1回のパスワード入力でログインを失敗したことを想定する。
【0046】
ユーザ「XXX」の前回アクセス時刻は、「2022年11月15日、7時59分00秒」である。これは、ユーザ「XXX」が前回ログイン情報の入力を行った時刻が「2022年11月15日、7時59分00秒」であることを示す。ユーザ「XXX」は、今回のログイン情報の入力時刻の1分後に3回目のログイン情報の入力を行ったことが分かる。
【0047】
ユーザ「XXX」により前回入力されたパスワードは、「aaaab」である。1時間のパケット量は「YYY」である。
【0048】
情報処理システム100による処理の手順について説明する。
なお、以下のサーバ1を主体とする説明では、サーバ1をプロセッサ11と読み替えてもよい。
なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0049】
図3は、実施形態に係るサーバ1による情報処理の手順の一例を示すフローチャートである。
第1の取得部110は、情報処理端末2からログイン情報を取得する(ACT1)。ACT1では、例えば、情報処理端末2のユーザにより入力デバイス28を介して入力されるユーザ名とパスワードを、情報処理端末2から通信インタフェース14を介して取得する。
【0050】
ACT1の後、第2の取得部111は、補助記憶デバイス13に記憶されている情報処理端末2のユーザのユーザ情報を取得する(ACT2)。ACT2では、例えば、第2の取得部111は、ユーザ情報を参照して、情報処理端末2のユーザ名に関連付けられたパスワードを少なくとも取得する。
【0051】
真偽判定部112は、ログイン情報、及びユーザ情報に基づいて、パスワードの真偽判定を行う(ACT3)。ACT3では、例えば、真偽判定部112は、第1の取得部110により取得されたパスワードと、第2の取得部111により取得された情報処理端末2のユーザ名に関連付けられたパスワードを比較する。真偽判定部112は、第1の取得部110により取得されたパスワードと、第2の取得部111により取得されたパスワードが一致する場合、パスワード真判定を行う。真偽判定部112は、第1の取得部110により取得されたパスワードと、第2の取得部111により取得されたパスワードが一致しない場合、パスワード偽判定を行う。真偽判定部112によりパスワード真判定がされた場合(ACT3:YES)、処理は、ACT3からACT4へ遷移する。真偽判定部112によりパスワード偽判定がされた場合(ACT3:NO)、処理は、ACT3からACT7へ遷移する。
【0052】
動作決定部114は、ログイン拒否回数Nと失敗回数に基づいて、ログイン許否に関する動作決定を行う(ACT4)。ACT4では、例えば、動作決定部114は、算出部113により算出されたログイン拒否回数Nに基づいて、ログイン許否を決定する。
【0053】
ACT4でログイン許否を決定後、動作決定部114は、動作決定結果に基づいて、ログインを許可するか否かを判定する(ACT5)。動作決定部114によりログインを許可すると判定された場合(ACT5:YES)、処理は、ACT5からACT6へ遷移する。動作決定部114によりログインを許可しないと判定された場合(ACT5:NO)、処理は、ACT5からACT7へ遷移する。
【0054】
出力部115は、動作決定部114による判定結果に基づいて、ログイン許可の結果を示すログイン許可情報を情報処理端末2に出力する(ACT6)。ACT6では、例えば、出力部115は、動作決定部114によるログインを許可する判定結果に基づいて、ログイン許可情報を情報処理端末2に出力する。情報処理端末2は、ログイン許可情報に基づいて、ログイン許可通知を表示デバイス26に表示する。情報処理端末2は、ログイン許可情報に基づいて、ログイン許可通知を、スピーカ27を介して出力してもよい。ログイン許可通知は、テキスト情報、動画、音声等を含んでもよい。
【0055】
出力部115は、真偽判定部112による判定結果、又は動作決定部114による判定結果に基づいて、ログイン拒否の結果を示す拒否情報を情報処理端末2に出力する(ACT7)。ACT7では、例えば、出力部115は、真偽判定部112によるパスワード偽判定に基づいて、ログイン拒否情報を情報処理端末2に出力する。出力部115は、動作決定部114によるログインを拒否する判定結果に基づいて、ログイン拒否情報を情報処理端末2に出力する。情報処理端末2は、ログイン拒否情報に基づいて、ログイン拒否通知を表示デバイス26に表示する。情報処理端末2は、ログイン拒否情報に基づいて、ログイン拒否通知を、スピーカ27を介して出力してもよい。ログイン拒否通知は、テキスト情報、動画、音声等を含んでもよい。
【0056】
図4は、実施形態に係るサーバ1による動作決定に関する情報処理の手順の一例を示すフローチャートである。
図4は、ACT4に基づく動作決定に関する情報処理の手順の一例を示す。
【0057】
算出部113は、ログイン情報、及びユーザ情報に基づいて、ログイン拒否回数N(Nは0以上の自然数)を算出する(ACT11)。ACT11では、例えば、算出部113は、以下の手法の何れかに基づいてログイン拒否回数Nを動的に算出する。
【0058】
1つ目の手法では、算出部113は、ユーザのログイン頻度に基づいて、ログイン拒否回数Nを算出する。算出部113は、ユーザ情報を参照し、「d日間のログイン回数」に基づいて、一定期間どの程度ログインしたかを示すログイン頻度を算出する。算出部113は、例えば、N=K/(d日間のログイン回数)としてログイン拒否回数Nを算出する。
【0059】
2つ目の手法では、算出部113は、ユーザのアクセス量に基づいて、ログイン拒否回数Nを算出する。算出部113は、ユーザ情報を参照し、「1時間のパケット量」に基づいて、アクセス量を算出する。算出部113は、例えば、N=1時間のパケット量/Kとしてログイン拒否回数Nを算出する。算出部113は、情報処理端末2からの通信負荷を基準に、ログイン拒否回数Nを算出する。
【0060】
3つ目の手法では、算出部113は、ログイン情報の取得に基づくユーザのアクセス時刻とユーザ情報に含まれる前回のアクセス時刻との差に基づいて、ログイン拒否回数Nを算出する。例えば、算出部113は、ユーザ情報を参照し、「前回アクセス時刻」と現在時刻との差に基づいて、前回アクセス時刻から今回のアクセス時刻との差を算出する。算出部113は、例えば、N=K/(現在時刻-前回アクセス時刻)としてログイン拒否回数Nを算出する。算出部113は、前回アクセス時刻と今回のアクセス時刻との差に反比例するようにログイン拒否回数Nを算出する。
【0061】
4つ目の手法では、算出部113は、ログイン情報とユーザ情報に含まれる前回のログイン情報との類似度に基づいてログイン拒否回数Nを算出する。例えば、算出部113は、ログイン情報に含まれるパスワードの文字列と前回のログイン情報に含まれるパスワードの文字列との類似度に基づいて、ログイン拒否回数Nを算出する。算出部113は、ユーザ情報を参照し、「前回入力されたパスワード」と今回入力されたパスワードの文字列の距離を算出する。算出部113は、例えば、N=文字列の距離(現在の入力パスワード,前回の入力パスワード)/Kとしてログイン拒否回数Nを算出する。なお、現在の入力パスワードと前回の入力パスワードが完全に一致し、文字列の距離が0となる場合は、所定の値を使用してもよい。算出部113は、前回入力されたパスワードと今回入力されたパスワードとの類似度に比例するようにログイン拒否回数Nを算出する。
【0062】
動作決定部114は、ログイン拒否回数Nと失敗回数に基づいて、ログイン許否を決定する(ACT12)。ACT12では、例えば、動作決定部114は、算出部113により算出されたログイン拒否回数Nとユーザ情報に含まれる「現アクセス失敗回数」を比較する。動作決定部114は、失敗回数がログイン拒否回数Nより大きいか否かを判定する。動作決定部114により失敗回数がログイン拒否回数Nより大きいと判定された場合(ACT12:YES)、処理は、ACT12からACT13へ遷移する。動作決定部114により失敗回数がログイン拒否回数Nより大きくないと判定された場合(ACT12:NO)、処理は、ACT12からACT14へ遷移する。
【0063】
動作決定部114は、ログインを許可する許可決定を行う(ACT13)。
【0064】
動作決定部114は、ログインを拒否する拒否決定を行う(ACT14)。
【0065】
(効果)
実施形態に係るサーバ1は、ログイン情報を取得し、ユーザのユーザ情報を取得し、ログイン情報、及びユーザ情報に基づいて、ログイン拒否回数を算出し、ログイン拒否回数と失敗回数に基づいて、ログイン許否を決定することができる。
例えば、サーバ1は、ログイン拒否回数を設定し、一定の条件の下ではログインを拒否することで、悪意ある攻撃者に正しいパスワードを推測させないようにすることができる。サーバ1は、ログイン情報、及びユーザ情報に基づいて、ログイン拒否回数を動的に変更することができるため、ユーザにより今回入力されたログイン情報と、ログイン履歴等に基づいて、ユーザの利便性を損なわないようなログイン拒否回数を設定することができる。これにより、サーバ1は、ユーザの利便性を損なうことなく、不正ログイン対策を行うことができる。
【0066】
実施形態に係るサーバ1は、ログイン情報の取得に基づくユーザのアクセス時刻とユーザ情報に含まれる前回のアクセス時刻との差に基づいて、ログイン拒否回数を算出することができる。そのため、サーバ1は、短時間でアクセスが連続する自動的な攻撃等に対しては、ログイン拒否回数を大きくすることができる。これにより、サーバ1は、ユーザの利便性を損なうことなく、自動的な攻撃に効果的な不正ログイン対策を行うことができる。
【0067】
実施形態に係るサーバ1は、ログイン情報とユーザ情報に含まれる前回のログイン情報との類似度に基づいて、ログイン拒否回数を算出することができる。そのため、サーバ1は、類似したログイン情報が連続して入力された場合には、ログイン拒否回数を大きくすることができる。これにより、サーバ1は、ユーザの利便性を損なうことなく、機械的にログイン情報を変更して行われる攻撃に効果的な不正ログイン対策を行うことができる。
【0068】
実施形態に係るサーバ1は、ログイン情報に含まれるパスワードの文字列と前回のログイン情報に含まれるパスワードの文字列との類似度に基づいて、ログイン拒否回数を算出することができる。そのため、サーバ1は、ブルートフォース攻撃等の順次類似したログイン情報が入力される場合には、ログイン拒否回数を大きくすることができる。これにより、サーバ1は、ユーザの利便性を損なうことなく、機械的にログイン情報を変更して行われる攻撃に効果的な不正ログイン対策を行うことができる。
【0069】
上述の実施形態は、以下のように表されてもよい。
[1] ログイン情報を取得する第1の取得部と、
ユーザのユーザ情報を取得する第2の取得部と、
前記ログイン情報、及び前記ユーザ情報に基づいて、ログイン拒否回数を算出する算出部と、
前記ログイン拒否回数と失敗回数に基づいて、ログイン許否を決定する動作決定部と、
を備える情報処理装置。
[2] 前記算出部は、前記ログイン情報の取得に基づく前記ユーザのアクセス時刻と前記ユーザ情報に含まれる前回のアクセス時刻との差に基づいて、ログイン拒否回数を算出する、
[1]に記載の情報処理装置。
[3] 前記算出部は、前記ログイン情報と前記ユーザ情報に含まれる前回のログイン情報との類似度に基づいて、ログイン拒否回数を算出する、
[1]に記載の情報処理装置。
[4] 前記類似度は、前記ログイン情報に含まれるパスワードの文字列と前記前回のログイン情報に含まれるパスワードの文字列との類似度である、
[3]に記載の情報処理装置。
[5] コンピュータに、
ログイン情報を取得する第1の取得機能と、
ユーザのユーザ情報を取得する第2の取得機能と、
前記ログイン情報、及び前記ユーザ情報に基づいて、ログイン拒否回数を算出する算出機能と、
前記ログイン拒否回数と失敗回数に基づいて、ログイン許否を決定する動作決定機能と、
を実行させるための情報処理プログラム。
【0070】
[他の実施形態]
情報処理装置は、サーバ1のような1つの装置で実現されてもよいし、機能を分散させた複数の装置で実現されてもよい。
【0071】
上述の実施形態は、装置だけでなく、装置が実行する方法に適用されてもよい。上述の実施形態は、装置のコンピュータに各機能を実行させることが可能なプログラムに適用されてもよい。
【0072】
プログラムは、装置に記憶された状態で譲渡されてよいし、装置に記憶されていない状態で譲渡されてもよい。後者の場合は、プログラムは、ネットワークを介して譲渡されてよいし、記録媒体に記録された状態で譲渡されてもよい。記録媒体は、非一時的な有形の媒体である。記録媒体は、コンピュータ可読媒体である。記録媒体は、CD-ROM、メモリカード等のプログラムを記憶可能かつコンピュータで読取可能な媒体であればよく、その形態は問わない。
【0073】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0074】
1…サーバ、2…情報処理端末、11…プロセッサ、12…メインメモリ、13…補助記憶デバイス、14…通信インタフェース、21…プロセッサ、22…メインメモリ、23…補助記憶デバイス、24…通信インタフェース、25…入出力インタフェース、26…表示デバイス、27…スピーカ、28…入力デバイス、100…情報処理システム、110…第1の取得部、111…第2の取得部、112…真偽判定部、113…算出部、114…動作決定部、115…出力部。