認証情報処理装置及びプログラム
【課題】システムに対する攻撃を検知した場合であっても、攻撃者に対して、システムが攻撃を検知したことを知られないようにする技術を提供する。
【解決手段】サーバ10は、認証処理部100と攻撃判定条件情報記憶部110とを備える。認証処理部100の受信部102は、利用者識別情報とパスワードとを含む認証要求を端末20から受信する。攻撃判定部108は、受信部102及び認証部106を介して取得した認証要求に関する認証要求関連情報と、攻撃判定条件情報記憶部110に記憶された攻撃判定条件情報と、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する。認証部106は、前記認証要求が攻撃者によるものであると攻撃判定部108が判定した場合に、認証要求の入力を求める旨を表す入力指示情報を、端末20に対して送信部104を介して送信する。
【解決手段】サーバ10は、認証処理部100と攻撃判定条件情報記憶部110とを備える。認証処理部100の受信部102は、利用者識別情報とパスワードとを含む認証要求を端末20から受信する。攻撃判定部108は、受信部102及び認証部106を介して取得した認証要求に関する認証要求関連情報と、攻撃判定条件情報記憶部110に記憶された攻撃判定条件情報と、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する。認証部106は、前記認証要求が攻撃者によるものであると攻撃判定部108が判定した場合に、認証要求の入力を求める旨を表す入力指示情報を、端末20に対して送信部104を介して送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証情報処理装置及びプログラムに関する。
【背景技術】
【0002】
認証機能を備える一般的な情報システムにおいて、ユーザがシステムの利用を望む場合、システムは、ユーザID及びユーザアカウントなどのユーザ識別情報とパスワードとを含む認証要求の入力を受け付け、入力されたユーザ識別情報に関連付けて予め登録されたパスワードと、入力されたパスワードと、を照合することで、そのユーザによるシステムの利用を許可するか否かを決定する。このような情報システムに対して、システムを不正に利用しようとする攻撃が行われる場合がある。例えば、攻撃者は、他者のユーザアカウントを用いてパスワードを変えながら複数回認証要求を行うことで、システムの不正利用を試みる場合がある。
【0003】
不正アクセスなどの攻撃からシステムを保護し、システムの安全性を高める従来技術として、例えば、特定のユーザアカウントを含む認証要求による認証失敗回数が所定の閾値を超えた場合に、そのユーザアカウントを無効とするシステムがある。このようなシステムに対しては、システムの不正利用というよりむしろ、特定のユーザのユーザアカウントを無効とすることを目的として、任意のパスワードを複数回入力する攻撃が行われる場合がある。
【0004】
システムに対する攻撃からシステムを保護する他の従来技術の例として、特許文献1には、SSL−VPN(Secure Sockets Layer‐Virtual Private Network)ゲートウェイ装置において、端末から入力されたパスワードを用いた認証の失敗の回数が予め設定された閾値を超えると、その端末との接続を遮断する技術が開示されている。
【0005】
また例えば、特許文献2に開示される認証情報管理装置は、アカウント及びパスワードを含む認証要求に対する認証の結果について、認証要求を発した要求元のアドレスごとに、認証が失敗した回数を記憶する。認証要求の要求元のアドレスの認証失敗回数が所定の閾値以上となると、認証情報管理装置は、当該要求元のアドレスを無効とし、当該要求元に対してアドレスロック状態を応答する。さらに、特許文献2に開示される認証情報管理装置は、アカウントごとに、そのアカウントを含む認証要求に対する認証が失敗した回数を記憶しておき、そのアカウントの認証失敗回数が所定の閾値を超えると、そのアカウントを無効とし、認証要求の要求元に対してアカウントロック状態を応答する。
【0006】
例えば認証失敗回数に基づいてシステムに対する攻撃を検知した場合に、認証要求に含まれるユーザアカウントを無効としたり、認証要求を行った要求元端末との接続を遮断したりするシステムにおいては、一般的に、要求元端末に対して、認証の失敗を示す情報と共に、攻撃に対処するためにシステムが行った処理の内容が通知される。このような通知を行うシステムでは、攻撃者は、システムが攻撃を検知したという事実及び攻撃に対処するためにシステムが行った処理の内容を知ることができる。したがって、前述のような通知を行うシステムによると、攻撃者に対して、攻撃に対処するためにシステムが行った処理の内容に応じて新たな攻撃を試みる機会を与えてしまう場合がある。例えば、攻撃者は、ユーザアカウントが無効とされたことが判明した場合は他のユーザアカウントを用いた攻撃を試み、端末との接続が遮断されたことが判明した場合は他の端末からの攻撃を試みることができる。
【0007】
【特許文献1】特開2006−5503号公報
【特許文献2】特開2006−172171号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明は、システムに対する攻撃を検知した場合であっても、この攻撃に用いられたアカウントをロックすることなく、攻撃と疑わしきリクエストからシステムを守ることを目的とする。
【課題を解決するための手段】
【0009】
本発明に係る認証情報処理装置は、利用者識別情報とパスワードとを含む認証要求を端末から受信する受信部と、受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶する攻撃判定条件情報記憶部と、受信した前記認証要求に関する認証要求関連情報と、前記攻撃判定条件情報記憶部に記憶された攻撃判定条件情報と、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定部と、前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信部と、を備えることを特徴とする。
【0010】
本発明の1つの態様の認証情報処理装置において、前記攻撃判定条件情報記憶部は、ロック対象の端末の端末識別情報を記憶する端末ロック情報記憶部を含み、前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合に、前記認証要求が攻撃者によるものであると判定する。
【0011】
本発明の他の1つの態様の認証情報処理装置において、前記攻撃判定条件情報記憶部は、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、前記攻撃判定部は、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する。
【0012】
また、前記攻撃判定条件情報記憶部が前記端末ロック情報記憶部を含む本発明の態様の認証情報処理装置において、前記攻撃判定条件情報記憶部は、さらに、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、前記攻撃判定部は、さらに、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定し、前記不正パスワード情報記憶部を用いて前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、前記要求元端末の端末識別情報を前記端末ロック情報記憶部に登録する端末ロック情報登録部をさらに備えるものとしてよい。
【0013】
本発明に係る認証情報処理装置において、前記不正パスワード情報記憶部は、利用者の利用者識別情報と関連付けて、当該利用者のパスワードとして用いられないものとして設定されたパスワードを前記不正パスワードとして記憶し、前記攻撃判定部は、前記認証要求中の利用者識別情報と関連付けて前記不正パスワード情報記憶部に記憶された前記不正パスワードに、前記認証要求中のパスワードが含まれる場合に、前記認証要求が攻撃者によるものであると判定するものとしてよい。
【0014】
本発明に係る認証情報処理装置において、利用者に関する情報に基づいて前記不正パスワードの候補を生成し、生成した前記不正パスワードの候補のうち少なくとも1つを当該利用者の前記不正パスワードとして当該利用者の利用者識別情報と関連付けて前記不正パスワード情報記憶部に登録する不正パスワード登録部、をさらに備えるものとしてよい。
【0015】
本発明に係るプログラムは、利用者識別情報とパスワードとを含む認証要求を端末から受信する受信ステップと、受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶装置に記憶させる攻撃情報記憶ステップと、受信した前記認証要求について取得した認証要求関連情報と、前記記憶装置に記憶された攻撃判定条件情報と、を照合することで、受信した前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定ステップと、前記攻撃判定ステップにおいて前記認証要求が攻撃者によるものであると判定された場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信ステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0016】
本発明によると、システムに対する攻撃を検知した場合であっても、この攻撃に用いられたアカウントをロックすることなく、攻撃と疑わしきリクエストからシステムを守ることが可能となる。
【発明を実施するための最良の形態】
【0017】
図1は、認証機能を備える情報システムの概略構成の一例を示すブロック図である。図1に示すシステムにおいて、サーバ10は、インターネットやローカル・エリア・ネットワークなどのネットワーク30を介して端末20−1,20−2,・・・(以下、端末20と総称する)と接続される。
【0018】
図2に、サーバ10の概略構成の一例を示す。サーバ10は、本発明の1つの実施形態の認証情報処理装置として機能する。また、サーバ10は、ネットワークを介して接続された端末20からのサービス要求に応じて端末20へサービスを提供する。サーバ10が提供するサービスは、例えば、サーバ10に接続された記憶装置(図示しない)に記憶された各種情報(例えば、文書データ、画像データ、音楽データ、及び動画データなど)を端末20に対して提供するサービスである。また、例えば、サーバ10は、端末20によるユーザからの指示に応じて、図示しない記憶装置に各種情報を記憶させるサービスを提供することもある。
【0019】
サーバ10は、認証処理部100、攻撃判定条件情報記憶部110、認証情報DB(データベース)120、認証失敗情報DB130、及びサービス提供部140を備える。
【0020】
認証処理部100は、ユーザID(識別子)及びパスワードを含む認証要求を受け付け、受け付けた認証要求に基づいて、そのユーザに対するサービスの提供を許可するか否かを決定する処理を行う。認証処理部100は、受信部102、送信部104、認証部106、及び攻撃判定部108を備える。
【0021】
受信部102は、端末20から送信される認証要求などの情報を受け付け、受け付けた情報を認証部106に渡す。送信部104は、認証部106からの指示に従って、端末20に対して認証に関する情報を送信する。
【0022】
認証部106は、受信部102を介して端末20から取得した認証要求について、認証情報DB120を参照して認証を行う。認証部106は、この認証の結果に基づいてサービスの提供を許可するか否かを決定し、サービス提供部140に通知する。また、認証部106は、端末20から取得した認証要求に関する情報を攻撃判定部108に渡し、攻撃判定部108による判定処理の結果に応じて、攻撃判定条件情報記憶部110に記憶された情報を更新する処理を行う。認証部106は、さらに、認証の結果及び攻撃判定部108による判定の結果などに基づいて端末20に送信する情報の内容を決定し、送信部104を介して端末20に送信する処理を行う。
【0023】
攻撃判定部108は、認証部106から受け取った認証要求に関する情報と、攻撃判定条件情報記憶部110に記憶された情報と、を照合することで、端末20からの認証要求が攻撃者によるものであるか否かを判定する。攻撃判定部108は、端末ロック判定部1080、アカウントロック判定部1082、及びNGパスワード判定部1084を備える。
【0024】
端末ロック判定部1080は、攻撃判定条件情報記憶部110に含まれる端末ロック情報DB112を参照し、認証要求を行った端末である要求元端末20がロック対象であるか否かを判定する。
【0025】
アカウントロック判定部1082は、攻撃判定条件情報記憶部110に含まれるアカウントロック情報DB114を参照し、認証要求に含まれるユーザIDがアカウントロック対象であるか否かを判定する。
【0026】
NGパスワード判定部1084は、攻撃判定条件情報記憶部110に含まれるNGパスワード情報DB116を参照し、認証要求に含まれるパスワードが攻撃者による認証要求に含まれる可能性のあるNGパスワードであるか否かを判定する。
【0027】
端末ロック判定部1080、アカウントロック判定部1082、及びNGパスワード判定部1084が行う判定処理の詳細については後述する。
【0028】
攻撃判定条件情報記憶部110は、攻撃判定部108による判定処理において用いられる情報を記憶する記憶部である。攻撃判定条件情報記憶部110は、端末ロック情報DB112、アカウントロック情報DB114、及びNGパスワード情報DB116を含む。
【0029】
端末ロック情報DB112は、ロック対象の端末20の端末IDを記憶するデータベースである。端末IDは各端末固有の識別情報であり、例えば、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレス、及び機器固有IDなどが端末IDとして用いられる。図3に、端末ロック情報DB112のデータ内容の一例を示す。図3に例示する表では、ロック対象の端末20の端末IDに対応づけて、その端末20がロック対象として端末ロック情報DB112に登録された時刻であるロック時刻が登録されている。なお、システムの管理目的上、必要がない場合はロック時刻を登録しなくてもよい。また、端末ロック情報DB112において、ロック対象の端末20の端末IDのレコードだけを登録する代わりに、サーバ10に接続される端末20の各端末IDに対応づけて、その端末20がロック対象であるか否かを示すフラグを登録しておいてもよい。
【0030】
アカウントロック情報DB114は、アカウントロックの対象とされたユーザIDを記憶するデータベースである。図4に、アカウントロック情報DB114のデータ内容の一例を示す。図4に示す表では、アカウントロックの対象とされたユーザIDに対応づけて、当該ユーザIDがアカウントロックの対象としてアカウントロック情報DB114に登録された時刻であるロック時刻と、当該ユーザIDがアカウントロックの対象としてアカウントロック情報DB114に登録される前に最後に当該ユーザIDを含む認証要求を行った要求元端末の端末IDと、が登録されている。アカウントロック情報DB114において、アカウントロックの対象のユーザIDと対応づけて登録される項目は、図4に例示するロック時刻及び端末IDに限られない。システムの管理目的上、他に必要な項目があれば、その項目の内容をユーザIDと対応づけて登録しておくことができる。また、アカウントロック情報DB114において、アカウントロックの対象のユーザIDを登録しておけば、他の項目は必須ではない。なお、アカウントロック情報DB114において、アカウントロックの対象のユーザIDのレコードだけを登録しておく代わりに、システムに登録された正規ユーザの各ユーザIDに対応づけて、そのユーザIDがアカウントロック対象であるか否かを示すフラグを登録しておいてもよい。
【0031】
NGパスワード情報DB116は、攻撃者による認証要求に含まれる可能性のあるNGパスワードを記憶するデータベースである。NGパスワード情報DB116は、例えば、特定のユーザについて、そのユーザのパスワードとして用いられないものとして設定されたパスワードを、攻撃者による認証要求に含まれる可能性のあるNGパスワードとして記憶する。図5に、NGパスワード情報DB116のデータ内容の一例を示す。図5に例示する表では、ユーザIDに対応づけて、そのユーザのパスワードとして用いられないものとして設定されたNGパスワードが登録されている。NGパスワード情報DB116においてユーザIDと対応づけて登録されるNGパスワードは、例えば、当該ユーザIDを構成する文字列、又は、当該ユーザIDの所有者であるユーザに関する情報などに基づいて設定される。例えば、図5を参照すると、ユーザID「user1」に対応づけて、「,」によって区切られた3つのNGパスワード「user1」、「1resu」、及び「June05」がNGパスワードとして登録されている。ここで、NGパスワード「user1」は、ユーザID「user1」と同じ文字列からなるパスワードであり、NGパスワード「1resu」は、ユーザID「user1」の文字列の逆順の文字列からなるパスワードである。また、NGパスワード「June05」は、例えば、ユーザID「user1」の所有者であるユーザの誕生日を表す文字列である。ここで挙げたNGパスワードは単なる例示であり、ユーザ、管理者、又はサーバ10が含まれる情報システムの要請によって、任意の文字列をNGパスワードとして設定できる。NGパスワードの設定の詳細については後述する。
【0032】
認証情報DB120は、ユーザIDとパスワードとを対応づけて記憶したデータベースである。認証情報DB120に登録されるユーザIDは、サーバ10によるサービスの提供を許可された正規ユーザのユーザIDである。
【0033】
認証失敗情報DB130は、認証に失敗した認証要求に関する情報を記憶するデータベースである。図6に、認証失敗情報DB130のデータ内容の一例を示す。図6に例示する表では、認証失敗情報DB130は、ユーザIDと対応づけて、そのユーザIDが認証要求に含まれていた場合に認証が失敗した最終失敗時刻と、その最終失敗時刻までの連続失敗回数と、が記憶される。
【0034】
認証失敗情報DB130のデータ内容は、図6に例示した内容に限られない。例えば、ユーザID及び端末IDの組に対応づけて、当該端末IDを有する端末からの認証要求が当該ユーザIDを含んでいた場合に最後に認証が失敗した時刻である最終失敗時刻と、その最終失敗時刻までの連続失敗回数と、を記憶させておいてもよい。また、例えば、ユーザIDではなく端末IDに対応づけて、最後にその端末IDを有する端末からの認証要求についての認証が失敗した時刻である最終失敗時刻と、その最終失敗時刻までの連続失敗回数と、を記憶させておいてもよい。
【0035】
図7は、サーバ10において、NGパスワード情報DB116にNGパスワードを登録する機能の構成の一例を示すブロック図である。図7に例示する構成は、図2に例示する認証処理部100を有するサーバ10に実現される。図7を参照すると、サーバ10は、NGパスワード登録部150、ユーザ情報DB160、及びNGパスワード情報DB116を備える。NGパスワード情報DB116は、図2及び図5を参照して説明したデータベースである。NGパスワード登録部150は、端末からの指示を受けて、NGパスワードの候補を生成し、NGパスワード情報DB116にNGパスワードを登録する処理を行う。
【0036】
ユーザ情報DB160は、ユーザに関する情報を記憶するデータベースである。図8に、ユーザ情報DB160のデータ内容の一例を示す。図8に例示する表では、ユーザのユーザIDに対応づけて、そのユーザの氏名、住所、電話番号、及び生年月日の各項目が登録されている。図8に示す項目は、単なる例であり、これらの項目は登録していなくても良いし、他の項目を登録しておいてもよい。
【0037】
以下、NGパスワード登録部150が行う登録処理について説明する。ユーザIDを指定したNGパスワード登録の指示を端末20から受信すると、NGパスワード登録部150は、ユーザ情報DB160を参照し、指定ユーザIDのユーザのパスワードとして用いられないパスワードの候補であるNGパスワード候補を生成する。例えば、ユーザ情報DB160において指定ユーザIDと関連付けて登録された項目の内容を表す文字列を用いて、NGパスワード候補を生成する。例えば、その項目の内容を表す文字列の全部又は一部、及びその項目の内容を表す文字列の全部又は一部を逆順とした文字列などをNGパスワード候補とする。例えば、図8に例示する内容のデータがユーザ情報DB160に登録されている場合であって指定ユーザIDが「user1」である場合に、ユーザID「user1」に対応づけて記憶された氏名「Suzuki Ichiro」の文字列又はその一部を用いて、「suzukiichiro」、「suzuki」、「ichiro」、「orihciikuzus」、「ikuzus」、及び「orihci」などをNGパスワード候補として生成する。また、例えば、指定ユーザIDと関連付けて登録された複数の項目について、各項目の内容を表す文字列(又はその一部)を組み合わせてNGパスワード候補を生成してもよい。例えば、ユーザID「user1」の氏名「Suzuki Ichiro」の文字列の一部と、生年月日「19XX/06/05」の文字列の一部と、を組み合わせて、「suzuki0605」などをNGパスワード候補とすることができる。
【0038】
また、例えば、指定ユーザID自体を表す文字列又はその逆順の文字列をNGパスワード候補としてもよい。
【0039】
NGパスワード登録部150は、生成したNGパスワード候補を端末20に送信して表示させて端末20の操作者(例えば、システムのユーザ又は管理者)の選択を受け付ける。次に、操作者によって選択されたNGパスワード候補を指定されたユーザIDと対応づけてNGパスワード情報DB116に登録する。
【0040】
また、指定ユーザID及びユーザ情報DB160に記憶された情報に基づいてNGパスワード候補を生成する代わりに、NGパスワード登録部150は、ユーザによるNGパスワードの入力を受け付け、入力されたNGパスワードをそのユーザのユーザIDと対応づけてNGパスワード情報DB116に登録しても良い。例えば、ユーザは、自分の家族やペットの名前、自分の趣味・嗜好などを表す文字列をNGパスワードとして入力することが考えられる。
【0041】
また、NGパスワード登録部150は、指定ユーザID及びユーザ情報DB160に記憶された情報に基づいて生成したNGパスワードについて、端末20の操作者によって選択されたものだけを登録する代わりに、生成したNGパスワード候補のすべてを指定ユーザIDと対応づけてNGパスワード情報DB116に登録してもよい。
【0042】
なお、以上の説明では、認証処理部100を有するサーバ10(図2)が図7に例示する構成を備える。他の例では、認証処理部100を有するサーバ10と異なるサーバにおいて、図7に例示する構成を実現してもよい。この場合、上述のNGパスワードの登録処理の後、NGパスワード登録部150がNGパスワード情報DB116に登録した情報を、CD及びDVDなどの移動可能な記憶媒体又はネットワークなどの通信手段などを介して、認証処理部100を有するサーバ10のNGパスワード情報DB116に記憶させれば、認証処理部100は、NGパスワード登録部150によって登録された情報を利用できる。
【0043】
以下、端末20からサービスの提供を求めるサービス要求が行われた場合に、サーバ10において行われる処理について説明する。
【0044】
端末20からサーバに対してサービス要求が行われると、サービス提供部140は、サービス要求を受けた旨を認証処理部100に対して通知する。サービス要求を受けた旨をサービス提供部140から通知された認証処理部100は、例えば、図9に示す手順の処理を開始する。図9において、破線の四角A内の処理ステップは、認証処理部100の攻撃判定部108による処理である。
【0045】
図9を参照し、まずステップS10で、認証処理部100は、サービス要求を行った端末20(以下「要求元端末20」と呼ぶ)に対して、送信部104を介し、ユーザID及びパスワードの入力を求める旨を示す情報を送信する。ここで送信される情報は、例えば、図10に示すようなログインフォームを要求元端末20に表示させる情報である。端末には、図10に例示するようなログインフォームが表示され、要求元端末20を操作するユーザによってユーザID及びパスワードが入力される。要求元端末20は、入力されたユーザID及びパスワードを含む認証要求をサーバ10に対して送信する。
【0046】
ステップS12で、受信部102は、ユーザID及びパスワードを含む認証要求を要求元端末20から受信し、受信した認証要求を認証部106に渡す。認証部106は、受信部102から受け取った認証要求及び要求元端末20の端末IDを攻撃判定部108に渡す。要求元端末20の端末IDは、例えば、端末20とサーバ10とを接続するネットワーク30から取得される。
【0047】
認証部106から認証要求及び要求元端末20の端末IDを受け取った攻撃判定部108は、まず、ステップS14で、端末ロック判定部1080による処理を行うことで、要求元端末20がロック対象であるか否かを判定する。ステップS14で、端末ロック判定部1080は、端末ロック情報DB112を参照し、要求元端末20の端末IDがロック対象として端末ロック情報DB112に登録されており、かつ、要求元端末20の端末IDに対応づけて記憶されたロック時刻から現在の時刻までの経過時間が所定の閾値以下である場合に、要求元端末20はロック状態であると判定する。この経過時間の閾値は、システムのセキュリティレベルに応じて、例えば、1時間から24時間の間に設定される。端末ロック判定部1080は、要求元端末20の端末IDがロック対象として端末ロック情報DB112に登録されていない場合、又は、要求元端末20の端末IDがロック対象として端末ロック情報DB112に登録されていても当該端末IDに対応づけて記憶されたロック時刻から現在の時刻までの経過時間が所定の閾値を超えている場合は、要求元端末20はロック状態でないと判定する。
【0048】
ステップS14の判定において、端末ロック判定部1080は、端末ロック情報DB112に記憶された各端末IDのロック時刻を参照せずに、要求元端末の端末IDが端末ロック情報DB112に登録されていれば要求元端末20はロック対象であると判定し、登録されていなければ要求元端末20はロック対象でないと判定するものとしてもよい。この場合、例えば、図9に例示する手順の処理とは別に、一定の時間間隔(例えば、24時間)で端末ロック情報DB112に記憶された各端末IDのロック時刻を調べ、ロック時刻から所定時間以上経過していれば、その端末IDを端末ロック情報DB112から削除する(つまり、端末のロック状態を解除する)処理を認証部106が行うものとしてもよい。また、端末ロック判定(ステップS14)においてロック時刻が用いられない場合、端末ロック情報DB112には、ロック対象の端末IDだけを登録しておき、その端末IDのロック時刻を登録しなくてもよい。端末IDのロック時刻を登録しない場合、例えば、一定の時間間隔で端末ロック情報DB112にロック対象として登録された端末の端末IDをすべて削除する処理を行ったり、又は、システムの管理者が指示したタイミングで管理者によって指定された端末IDを端末ロック情報DB112から削除する処理を行ったりすることで、端末のロック状態を解除することができる。
【0049】
ステップS14で、要求元端末20がロック対象であると判定されると、攻撃判定部108は、その判定結果を認証部106に通知し、処理はステップS24に進む。この場合、攻撃判定部108は、認証要求は攻撃者によるものであると判定したことになる。
【0050】
要求元端末20がロック状態であるという判定結果の通知を攻撃判定部108から受けた認証部106は、ステップS24で、認証に失敗した旨を示し、かつ、ユーザID及びパスワードの入力を求める旨を示す情報を要求元端末20に対して送信する。ステップS24では、例えば、図11に示すような認証エラーメッセージ付きログインフォームを要求元端末20に表示させる情報が送信される。ステップS24で認証エラーメッセージ付きログインフォームを表示させる処理を行う代わりに、ステップS10で要求元端末20に表示されるログインフォームと同様のログインフォーム(例えば、図10に例示するログインフォーム)を表示させる処理を行ってもよい。ステップS24で、ステップS10と同様のログインフォームを要求元端末20に表示させる場合、認証に失敗したことを要求元端末20のユーザに知らせずに、単に、ユーザID及びパスワードの入力を求める旨を再度表示することになる。ステップS24の後、処理はステップS12に戻る。
【0051】
ステップS14で、要求元端末20がロック対象でないと判定されると、処理はステップS16に進む。
【0052】
ステップS16では、攻撃判定部108は、アカウントロック判定部1082による処理を行うことで、認証要求に含まれるユーザIDがアカウントロック状態であるか否かを判定する。ステップS16で、アカウントロック判定部1082は、アカウントロック情報DB114を参照し、認証要求に含まれるユーザIDがアカウントロック対象としてアカウントロック情報DB114に登録されていれば当該ユーザIDについてアカウントロック状態であると判定し、登録されていなければ当該ユーザIDについてアカウントロック状態でないと判定する。
【0053】
ステップS16で、認証要求に含まれるユーザIDについてアカウントロック状態であると判定されると、攻撃判定部108は、この判定結果を認証部106に通知し、処理はステップS24に進む。この場合、攻撃判定部108は、認証要求は攻撃者によるものであると判定したことになる。アカウントロック状態であるとの判定結果の通知を受けた認証部106は、ステップS24で、上記で説明した認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップS12に戻る。
【0054】
ステップS16で、認証要求に含まれるユーザIDについてアカウントロック状態でないと判定されると、処理はステップS18に進む。
【0055】
ステップS18で、攻撃判定部108は、NGパスワード判定部1084による処理を行うことで、認証要求に含まれるパスワードがNGパスワードであるか否かを判定する。ステップS18で、NGパスワード判定部1084は、NGパスワード情報DB116を参照し、認証要求に含まれるユーザIDに対応づけて登録されたNGパスワードの中に、認証要求に含まれるパスワードと一致するものが存在すれば、認証要求に含まれるパスワードはNGパスワードであると判定し、一致するものが存在しなければ、認証要求に含まれるパスワードはNGパスワードでないと判定する。ステップS18で、NGパスワード判定部1084は、認証要求に含まれるユーザIDに対応づけてNGパスワード情報DB116に登録されたNGパスワードのうちのいずれかと、認証要求に含まれるパスワードと、が完全に一致する場合に加えて、認証要求に含まれるパスワードがNGパスワード情報DB116に登録されたNGパスワードのうちのいずれかを含む場合にも、認証要求に含まれるパスワードがNGパスワードであると判定するようにしてもよい。
【0056】
ステップS18で、認証要求に含まれるパスワードがNGパスワードであると判定されると、攻撃判定部108は、認証部106に対してその旨を通知する。この場合、攻撃判定部108において、認証要求は攻撃者によるものであると判定されたことになる。
【0057】
ステップS18の判定の結果、認証要求に含まれるパスワードがNGパスワードである旨の通知を受けた認証部106は、ステップS26において、端末ロック設定処理を行う。認証部106は、要求元端末の端末IDと現在の時刻(すなわち、ロック時刻)とを対応づけて、端末ロック情報DB112に登録する。
【0058】
ステップS26の処理の後、ステップS24の認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップS12に戻る。
【0059】
ステップS18で、認証要求に含まれるパスワードがNGパスワードでないと判定されると、処理は、ステップS20に進む。この場合、攻撃判定部108による判定処理(ステップS14、ステップS16、及びステップS18)のすべてにおいて判定結果がNoとなったことになる。つまり、攻撃判定部108において、認証要求は攻撃者によるものでないと判定されたことになる。
【0060】
認証部106は、ステップS20で、認証情報DB120を参照し、認証要求に含まれるユーザID及びパスワードについて認証処理を行う。認証部106は、まず、認証要求に含まれるユーザIDが認証情報DB120に登録されているか否かを確認し、登録されていなければ、認証失敗と判定する。認証要求に含まれるユーザIDが認証情報DB120に登録されている場合は、当該ユーザIDに対応づけて認証情報DB120に登録されたパスワードと、認証要求に含まれるパスワードと、を照合し、両者が一致すれば認証成功と判定し、両者が一致しなければ認証失敗と判定する。
【0061】
ステップS20で認証成功と判定されると、処理は、ステップS22に進む。ステップS22では、認証処理部100は、サービス提供部140に対して、サービスの提供を許可する旨を通知する。認証処理部100からサービスの提供を許可する旨の通知を受けたサービス提供部140は、端末からのサービス要求に応じたサービスを提供する。
【0062】
ステップS20で認証失敗と判定されると、処理は、ステップS28に進む。ステップS28で、認証部106は、認証失敗情報DB130に記憶された情報を更新する。以下、ステップS28で行われる更新処理の例として、図6に例示する内容のデータが認証失敗情報DB130に記憶されている場合の処理について説明する。まず、認証部106は、認証失敗情報DB130に登録されたユーザIDの中から、認証要求に含まれるユーザIDを検索する。認証要求に含まれるユーザIDが認証失敗情報DB130内に存在する場合、当該ユーザIDに対応づけて記憶された最終失敗時刻と現在の時刻とを比較し、最終失敗時刻から現在の時刻までの経過時間が所定の閾値(例えば、30分と設定される)以内である場合は、最終失敗時刻を現在の時刻に書き換え、当該ユーザIDに対応づけて記憶された連続失敗回数を1だけ増加させる。最終失敗時刻から現在の時刻までの経過時間が所定の閾値を超えている場合は、当該ユーザIDに対応づけて記憶された連続失敗回数を「1」とし、最終失敗時刻を現在の時刻に書き換える。認証要求に含まれるユーザIDが認証失敗情報DB130内に存在しない場合は、当該ユーザIDを認証失敗情報DB130に新たに登録し、当該ユーザIDと対応づけて、最終失敗時刻として現在時刻を記憶させ、連続失敗回数を「1」とする。
【0063】
ステップS28の処理の後、ステップS30で、認証部106は、認証失敗情報DB130を参照し、アカウントロック条件が成立するか否かを判定する。アカウントロック条件とは、特定のユーザIDのアカウントをロックするか否かを決定するための条件である。アカウントロック条件は、例えば、一定時間内に所定の回数以上、特定のユーザIDを含む認証要求による認証が失敗した場合にそのユーザIDのアカウントをロックするように設定される。例えば、図6に例示する内容のデータが認証失敗情報DB130に記憶されており、ステップS28の更新処理において、図6を参照して説明した上述の例の処理が行われる場合、「連続失敗回数が所定の閾値(例えば、6回)以上である」という条件をアカウントロック条件として設定しておくことができる。この例の場合、ステップS28における経過時間の閾値の時間内に、アカウントロック条件の連続失敗回数が所定の回数以上の場合にそのユーザIDのアカウントがロックされることになる。
【0064】
例えばステップS28の更新処理における経過時間の閾値及び連続失敗回数の閾値などの、アカウントロック条件を定義するパラメータは、ユーザごとに設定しておくことができる。例えば、認証情報DB120又は認証失敗情報DB130に、ユーザIDと対応づけて、アカウントロック条件を定義するパラメータを登録しておけば、認証要求に含まれるユーザIDに対応づけられたパラメータを用いて条件判定を行うことで、ユーザごとに異なる条件でアカウントをロックするか否かを決定することができる。
【0065】
なお、ステップS28の更新処理及びステップS30のアカウントロック条件判定処理を実現する方法は、上述の例に限られない。例えば、認証失敗情報DB130において、ユーザIDと対応づけて、最終失敗時刻を記憶する代わりに、連続失敗回数を1とした時刻(カウント開始時刻)を記憶しておき、ステップS28の更新処理において、カウント開始時刻から現在時刻までの経過時間が所定の閾値内であれば、連続失敗回数を1だけ増加させ、経過時間が所定の閾値を超えていれば、連続失敗回数を1に書き換えた上でカウント開始時刻を現在時刻に書き換えるようにしてもよい。
【0066】
ステップS30でアカウントロック条件が成立したと判定されると、ステップS32で、認証部106は、アカウントロック設定処理を行う。ステップS32のアカウントロック設定処理では、認証部106は、認証要求に含まれるユーザIDをアカウントロック情報DB114に登録する。認証部106は、認証要求に含まれるユーザIDに対応づけて、現在の時刻(つまり、ロック時刻)、認証要求を行った要求元端末の端末ID、及びその他の管理目的上必要な情報などを対応づけてアカウントロック情報DB114に登録してもよい。ステップS32の処理の後、認証部106は、上記で説明したステップS24の認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップS12に戻る。
【0067】
ステップS30でアカウントロック条件が成立しない場合は、ステップS32のアカウントロック設定処理を行わずにステップS24に進み、認証部106は、上述の認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップS12に戻る。
【0068】
以上で説明した本実施形態の処理によると、攻撃判定部108による判定(破線四角A内の処理ステップ:ステップS14、ステップS16、ステップS18)においてYesに進んだ場合と、ステップS20で認証失敗と判定された場合と、の両方の場合において、ステップS24で、同じ認証エラーメッセージ付きログインフォームを表示させる情報が要求元端末20に対して送信される。したがって、要求元端末20からの認証要求に対してサーバ10がどのような判定を行い、その判定の結果どのような処理を行ったかを攻撃者に知られることはない。攻撃者にとっては、ログインできないという事実がわかるだけで、サーバ10側が端末20からの認証要求を攻撃者によるものであると判定していることはわからない。
【0069】
また、本実施形態の処理によると、攻撃者によって入力される可能性は高いが正規ユーザによって入力される可能性は低いパスワードをNGパスワードとして設定する。よって、認証失敗となるはずのパスワードが入力された場合であっても、例えば正規のユーザがパスワードの入力ミスをした場合など、NGパスワードとして設定されていないパスワードが入力された場合は、NGパスワード判定(ステップS18)でNoに進むため、要求元端末はロック対象とされない。
【0070】
また、本実施形態の処理によると、認証要求に含まれるユーザID及びパスワードの組が認証情報DB120に登録されている場合、つまり、ステップS20で認証成功と判定されるはずの場合であっても、要求元端末20の端末IDがロック対象として端末ロック情報DB112に登録されていれば、端末ロック判定(ステップS14)でYesに進み、認証エラーメッセージ付きログインフォームが端末に表示され(ステップS24)、認証成功か否かの判定(ステップS20)は行われない。したがって、例えば、他者のユーザアカウントを用いてパスワードを変えながら複数回認証要求を行うことで、システムの不正利用を試みる攻撃が行われた場合に、一度NGパスワードが入力されて要求元端末がロックされる(ステップS26)と、それに続く認証要求において認証成功か否かの判定は行われないため、攻撃者が正しいパスワードを突き止める可能性を低くすることができる。
【0071】
なお、認証処理部100が行う処理の他の一例では、図9に例示する手順の処理において、アカウントロックに関する処理(ステップS16、ステップS28、ステップS30、ステップS32)を行わなくてもよい。
【0072】
また、以上で説明した実施形態では、端末からのサービス要求に応じたサービスを提供するサービス提供部140と、サービスの提供を許可するか否かを決定する認証処理部100と、は1つのサーバ10に実現される。他の実施形態では、認証処理部100及びサービス提供部140をそれぞれ異なるサーバに実現してもよい。
【0073】
以上に例示したサーバ10は、典型的には、汎用のコンピュータにて上述のサーバ10の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図12に示すように、CPU(中央演算装置)40、メモリ(一次記憶)42、各種I/O(入出力)インタフェース44等がバス46を介して接続された回路構成を有する。また、そのバス46に対し、例えばI/Oインタフェース44経由で、ハードディスクドライブ48やCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ50が接続される。このようなドライブ48又は50は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク経由で、ハードディスクドライブ48などの固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、実施形態の処理が実現される。
【図面の簡単な説明】
【0074】
【図1】認証機能を備える情報システムの概略構成の一例を示すブロック図である。
【図2】サーバの概略構成の一例を示すブロック図である。
【図3】端末ロック情報DBのデータ内容の一例を示す図である。
【図4】アカウントロック情報DBのデータ内容の一例を示す図である。
【図5】NGパスワード情報DBのデータ内容の一例を示す図である。
【図6】認証失敗情報DBのデータ内容の一例を示す図である。
【図7】サーバの概略構成の一部の一例を示すブロック図である。
【図8】ユーザ情報DBのデータ内容の一例を示す図である。
【図9】サーバにおいて行われる認証処理の手順の一例を示すフローチャートである。
【図10】端末に表示されるログインフォームの一例を示す図である。
【図11】端末に表示されるログインフォームの他の一例を示す図である。
【図12】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【0075】
10 サーバ、20 端末、30 ネットワーク、44 インタフェース、46 バス、48 ハードディスクドライブ、50 ディスクドライブ、100 認証処理部、102 受信部、104 送信部、106 認証部、108 攻撃判定部、110 攻撃判定条件情報記憶部、112 端末ロック情報DB、114 アカウントロック情報DB、116 NGパスワード情報DB、120 認証情報DB、130 認証失敗情報DB、140 サービス提供部、150 NGパスワード登録部、160 ユーザ情報DB、1080 端末ロック判定部、1082 アカウントロック判定部、1084 NGパスワード判定部。
【技術分野】
【0001】
本発明は、認証情報処理装置及びプログラムに関する。
【背景技術】
【0002】
認証機能を備える一般的な情報システムにおいて、ユーザがシステムの利用を望む場合、システムは、ユーザID及びユーザアカウントなどのユーザ識別情報とパスワードとを含む認証要求の入力を受け付け、入力されたユーザ識別情報に関連付けて予め登録されたパスワードと、入力されたパスワードと、を照合することで、そのユーザによるシステムの利用を許可するか否かを決定する。このような情報システムに対して、システムを不正に利用しようとする攻撃が行われる場合がある。例えば、攻撃者は、他者のユーザアカウントを用いてパスワードを変えながら複数回認証要求を行うことで、システムの不正利用を試みる場合がある。
【0003】
不正アクセスなどの攻撃からシステムを保護し、システムの安全性を高める従来技術として、例えば、特定のユーザアカウントを含む認証要求による認証失敗回数が所定の閾値を超えた場合に、そのユーザアカウントを無効とするシステムがある。このようなシステムに対しては、システムの不正利用というよりむしろ、特定のユーザのユーザアカウントを無効とすることを目的として、任意のパスワードを複数回入力する攻撃が行われる場合がある。
【0004】
システムに対する攻撃からシステムを保護する他の従来技術の例として、特許文献1には、SSL−VPN(Secure Sockets Layer‐Virtual Private Network)ゲートウェイ装置において、端末から入力されたパスワードを用いた認証の失敗の回数が予め設定された閾値を超えると、その端末との接続を遮断する技術が開示されている。
【0005】
また例えば、特許文献2に開示される認証情報管理装置は、アカウント及びパスワードを含む認証要求に対する認証の結果について、認証要求を発した要求元のアドレスごとに、認証が失敗した回数を記憶する。認証要求の要求元のアドレスの認証失敗回数が所定の閾値以上となると、認証情報管理装置は、当該要求元のアドレスを無効とし、当該要求元に対してアドレスロック状態を応答する。さらに、特許文献2に開示される認証情報管理装置は、アカウントごとに、そのアカウントを含む認証要求に対する認証が失敗した回数を記憶しておき、そのアカウントの認証失敗回数が所定の閾値を超えると、そのアカウントを無効とし、認証要求の要求元に対してアカウントロック状態を応答する。
【0006】
例えば認証失敗回数に基づいてシステムに対する攻撃を検知した場合に、認証要求に含まれるユーザアカウントを無効としたり、認証要求を行った要求元端末との接続を遮断したりするシステムにおいては、一般的に、要求元端末に対して、認証の失敗を示す情報と共に、攻撃に対処するためにシステムが行った処理の内容が通知される。このような通知を行うシステムでは、攻撃者は、システムが攻撃を検知したという事実及び攻撃に対処するためにシステムが行った処理の内容を知ることができる。したがって、前述のような通知を行うシステムによると、攻撃者に対して、攻撃に対処するためにシステムが行った処理の内容に応じて新たな攻撃を試みる機会を与えてしまう場合がある。例えば、攻撃者は、ユーザアカウントが無効とされたことが判明した場合は他のユーザアカウントを用いた攻撃を試み、端末との接続が遮断されたことが判明した場合は他の端末からの攻撃を試みることができる。
【0007】
【特許文献1】特開2006−5503号公報
【特許文献2】特開2006−172171号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明は、システムに対する攻撃を検知した場合であっても、この攻撃に用いられたアカウントをロックすることなく、攻撃と疑わしきリクエストからシステムを守ることを目的とする。
【課題を解決するための手段】
【0009】
本発明に係る認証情報処理装置は、利用者識別情報とパスワードとを含む認証要求を端末から受信する受信部と、受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶する攻撃判定条件情報記憶部と、受信した前記認証要求に関する認証要求関連情報と、前記攻撃判定条件情報記憶部に記憶された攻撃判定条件情報と、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定部と、前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信部と、を備えることを特徴とする。
【0010】
本発明の1つの態様の認証情報処理装置において、前記攻撃判定条件情報記憶部は、ロック対象の端末の端末識別情報を記憶する端末ロック情報記憶部を含み、前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合に、前記認証要求が攻撃者によるものであると判定する。
【0011】
本発明の他の1つの態様の認証情報処理装置において、前記攻撃判定条件情報記憶部は、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、前記攻撃判定部は、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する。
【0012】
また、前記攻撃判定条件情報記憶部が前記端末ロック情報記憶部を含む本発明の態様の認証情報処理装置において、前記攻撃判定条件情報記憶部は、さらに、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、前記攻撃判定部は、さらに、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定し、前記不正パスワード情報記憶部を用いて前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、前記要求元端末の端末識別情報を前記端末ロック情報記憶部に登録する端末ロック情報登録部をさらに備えるものとしてよい。
【0013】
本発明に係る認証情報処理装置において、前記不正パスワード情報記憶部は、利用者の利用者識別情報と関連付けて、当該利用者のパスワードとして用いられないものとして設定されたパスワードを前記不正パスワードとして記憶し、前記攻撃判定部は、前記認証要求中の利用者識別情報と関連付けて前記不正パスワード情報記憶部に記憶された前記不正パスワードに、前記認証要求中のパスワードが含まれる場合に、前記認証要求が攻撃者によるものであると判定するものとしてよい。
【0014】
本発明に係る認証情報処理装置において、利用者に関する情報に基づいて前記不正パスワードの候補を生成し、生成した前記不正パスワードの候補のうち少なくとも1つを当該利用者の前記不正パスワードとして当該利用者の利用者識別情報と関連付けて前記不正パスワード情報記憶部に登録する不正パスワード登録部、をさらに備えるものとしてよい。
【0015】
本発明に係るプログラムは、利用者識別情報とパスワードとを含む認証要求を端末から受信する受信ステップと、受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶装置に記憶させる攻撃情報記憶ステップと、受信した前記認証要求について取得した認証要求関連情報と、前記記憶装置に記憶された攻撃判定条件情報と、を照合することで、受信した前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定ステップと、前記攻撃判定ステップにおいて前記認証要求が攻撃者によるものであると判定された場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信ステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0016】
本発明によると、システムに対する攻撃を検知した場合であっても、この攻撃に用いられたアカウントをロックすることなく、攻撃と疑わしきリクエストからシステムを守ることが可能となる。
【発明を実施するための最良の形態】
【0017】
図1は、認証機能を備える情報システムの概略構成の一例を示すブロック図である。図1に示すシステムにおいて、サーバ10は、インターネットやローカル・エリア・ネットワークなどのネットワーク30を介して端末20−1,20−2,・・・(以下、端末20と総称する)と接続される。
【0018】
図2に、サーバ10の概略構成の一例を示す。サーバ10は、本発明の1つの実施形態の認証情報処理装置として機能する。また、サーバ10は、ネットワークを介して接続された端末20からのサービス要求に応じて端末20へサービスを提供する。サーバ10が提供するサービスは、例えば、サーバ10に接続された記憶装置(図示しない)に記憶された各種情報(例えば、文書データ、画像データ、音楽データ、及び動画データなど)を端末20に対して提供するサービスである。また、例えば、サーバ10は、端末20によるユーザからの指示に応じて、図示しない記憶装置に各種情報を記憶させるサービスを提供することもある。
【0019】
サーバ10は、認証処理部100、攻撃判定条件情報記憶部110、認証情報DB(データベース)120、認証失敗情報DB130、及びサービス提供部140を備える。
【0020】
認証処理部100は、ユーザID(識別子)及びパスワードを含む認証要求を受け付け、受け付けた認証要求に基づいて、そのユーザに対するサービスの提供を許可するか否かを決定する処理を行う。認証処理部100は、受信部102、送信部104、認証部106、及び攻撃判定部108を備える。
【0021】
受信部102は、端末20から送信される認証要求などの情報を受け付け、受け付けた情報を認証部106に渡す。送信部104は、認証部106からの指示に従って、端末20に対して認証に関する情報を送信する。
【0022】
認証部106は、受信部102を介して端末20から取得した認証要求について、認証情報DB120を参照して認証を行う。認証部106は、この認証の結果に基づいてサービスの提供を許可するか否かを決定し、サービス提供部140に通知する。また、認証部106は、端末20から取得した認証要求に関する情報を攻撃判定部108に渡し、攻撃判定部108による判定処理の結果に応じて、攻撃判定条件情報記憶部110に記憶された情報を更新する処理を行う。認証部106は、さらに、認証の結果及び攻撃判定部108による判定の結果などに基づいて端末20に送信する情報の内容を決定し、送信部104を介して端末20に送信する処理を行う。
【0023】
攻撃判定部108は、認証部106から受け取った認証要求に関する情報と、攻撃判定条件情報記憶部110に記憶された情報と、を照合することで、端末20からの認証要求が攻撃者によるものであるか否かを判定する。攻撃判定部108は、端末ロック判定部1080、アカウントロック判定部1082、及びNGパスワード判定部1084を備える。
【0024】
端末ロック判定部1080は、攻撃判定条件情報記憶部110に含まれる端末ロック情報DB112を参照し、認証要求を行った端末である要求元端末20がロック対象であるか否かを判定する。
【0025】
アカウントロック判定部1082は、攻撃判定条件情報記憶部110に含まれるアカウントロック情報DB114を参照し、認証要求に含まれるユーザIDがアカウントロック対象であるか否かを判定する。
【0026】
NGパスワード判定部1084は、攻撃判定条件情報記憶部110に含まれるNGパスワード情報DB116を参照し、認証要求に含まれるパスワードが攻撃者による認証要求に含まれる可能性のあるNGパスワードであるか否かを判定する。
【0027】
端末ロック判定部1080、アカウントロック判定部1082、及びNGパスワード判定部1084が行う判定処理の詳細については後述する。
【0028】
攻撃判定条件情報記憶部110は、攻撃判定部108による判定処理において用いられる情報を記憶する記憶部である。攻撃判定条件情報記憶部110は、端末ロック情報DB112、アカウントロック情報DB114、及びNGパスワード情報DB116を含む。
【0029】
端末ロック情報DB112は、ロック対象の端末20の端末IDを記憶するデータベースである。端末IDは各端末固有の識別情報であり、例えば、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレス、及び機器固有IDなどが端末IDとして用いられる。図3に、端末ロック情報DB112のデータ内容の一例を示す。図3に例示する表では、ロック対象の端末20の端末IDに対応づけて、その端末20がロック対象として端末ロック情報DB112に登録された時刻であるロック時刻が登録されている。なお、システムの管理目的上、必要がない場合はロック時刻を登録しなくてもよい。また、端末ロック情報DB112において、ロック対象の端末20の端末IDのレコードだけを登録する代わりに、サーバ10に接続される端末20の各端末IDに対応づけて、その端末20がロック対象であるか否かを示すフラグを登録しておいてもよい。
【0030】
アカウントロック情報DB114は、アカウントロックの対象とされたユーザIDを記憶するデータベースである。図4に、アカウントロック情報DB114のデータ内容の一例を示す。図4に示す表では、アカウントロックの対象とされたユーザIDに対応づけて、当該ユーザIDがアカウントロックの対象としてアカウントロック情報DB114に登録された時刻であるロック時刻と、当該ユーザIDがアカウントロックの対象としてアカウントロック情報DB114に登録される前に最後に当該ユーザIDを含む認証要求を行った要求元端末の端末IDと、が登録されている。アカウントロック情報DB114において、アカウントロックの対象のユーザIDと対応づけて登録される項目は、図4に例示するロック時刻及び端末IDに限られない。システムの管理目的上、他に必要な項目があれば、その項目の内容をユーザIDと対応づけて登録しておくことができる。また、アカウントロック情報DB114において、アカウントロックの対象のユーザIDを登録しておけば、他の項目は必須ではない。なお、アカウントロック情報DB114において、アカウントロックの対象のユーザIDのレコードだけを登録しておく代わりに、システムに登録された正規ユーザの各ユーザIDに対応づけて、そのユーザIDがアカウントロック対象であるか否かを示すフラグを登録しておいてもよい。
【0031】
NGパスワード情報DB116は、攻撃者による認証要求に含まれる可能性のあるNGパスワードを記憶するデータベースである。NGパスワード情報DB116は、例えば、特定のユーザについて、そのユーザのパスワードとして用いられないものとして設定されたパスワードを、攻撃者による認証要求に含まれる可能性のあるNGパスワードとして記憶する。図5に、NGパスワード情報DB116のデータ内容の一例を示す。図5に例示する表では、ユーザIDに対応づけて、そのユーザのパスワードとして用いられないものとして設定されたNGパスワードが登録されている。NGパスワード情報DB116においてユーザIDと対応づけて登録されるNGパスワードは、例えば、当該ユーザIDを構成する文字列、又は、当該ユーザIDの所有者であるユーザに関する情報などに基づいて設定される。例えば、図5を参照すると、ユーザID「user1」に対応づけて、「,」によって区切られた3つのNGパスワード「user1」、「1resu」、及び「June05」がNGパスワードとして登録されている。ここで、NGパスワード「user1」は、ユーザID「user1」と同じ文字列からなるパスワードであり、NGパスワード「1resu」は、ユーザID「user1」の文字列の逆順の文字列からなるパスワードである。また、NGパスワード「June05」は、例えば、ユーザID「user1」の所有者であるユーザの誕生日を表す文字列である。ここで挙げたNGパスワードは単なる例示であり、ユーザ、管理者、又はサーバ10が含まれる情報システムの要請によって、任意の文字列をNGパスワードとして設定できる。NGパスワードの設定の詳細については後述する。
【0032】
認証情報DB120は、ユーザIDとパスワードとを対応づけて記憶したデータベースである。認証情報DB120に登録されるユーザIDは、サーバ10によるサービスの提供を許可された正規ユーザのユーザIDである。
【0033】
認証失敗情報DB130は、認証に失敗した認証要求に関する情報を記憶するデータベースである。図6に、認証失敗情報DB130のデータ内容の一例を示す。図6に例示する表では、認証失敗情報DB130は、ユーザIDと対応づけて、そのユーザIDが認証要求に含まれていた場合に認証が失敗した最終失敗時刻と、その最終失敗時刻までの連続失敗回数と、が記憶される。
【0034】
認証失敗情報DB130のデータ内容は、図6に例示した内容に限られない。例えば、ユーザID及び端末IDの組に対応づけて、当該端末IDを有する端末からの認証要求が当該ユーザIDを含んでいた場合に最後に認証が失敗した時刻である最終失敗時刻と、その最終失敗時刻までの連続失敗回数と、を記憶させておいてもよい。また、例えば、ユーザIDではなく端末IDに対応づけて、最後にその端末IDを有する端末からの認証要求についての認証が失敗した時刻である最終失敗時刻と、その最終失敗時刻までの連続失敗回数と、を記憶させておいてもよい。
【0035】
図7は、サーバ10において、NGパスワード情報DB116にNGパスワードを登録する機能の構成の一例を示すブロック図である。図7に例示する構成は、図2に例示する認証処理部100を有するサーバ10に実現される。図7を参照すると、サーバ10は、NGパスワード登録部150、ユーザ情報DB160、及びNGパスワード情報DB116を備える。NGパスワード情報DB116は、図2及び図5を参照して説明したデータベースである。NGパスワード登録部150は、端末からの指示を受けて、NGパスワードの候補を生成し、NGパスワード情報DB116にNGパスワードを登録する処理を行う。
【0036】
ユーザ情報DB160は、ユーザに関する情報を記憶するデータベースである。図8に、ユーザ情報DB160のデータ内容の一例を示す。図8に例示する表では、ユーザのユーザIDに対応づけて、そのユーザの氏名、住所、電話番号、及び生年月日の各項目が登録されている。図8に示す項目は、単なる例であり、これらの項目は登録していなくても良いし、他の項目を登録しておいてもよい。
【0037】
以下、NGパスワード登録部150が行う登録処理について説明する。ユーザIDを指定したNGパスワード登録の指示を端末20から受信すると、NGパスワード登録部150は、ユーザ情報DB160を参照し、指定ユーザIDのユーザのパスワードとして用いられないパスワードの候補であるNGパスワード候補を生成する。例えば、ユーザ情報DB160において指定ユーザIDと関連付けて登録された項目の内容を表す文字列を用いて、NGパスワード候補を生成する。例えば、その項目の内容を表す文字列の全部又は一部、及びその項目の内容を表す文字列の全部又は一部を逆順とした文字列などをNGパスワード候補とする。例えば、図8に例示する内容のデータがユーザ情報DB160に登録されている場合であって指定ユーザIDが「user1」である場合に、ユーザID「user1」に対応づけて記憶された氏名「Suzuki Ichiro」の文字列又はその一部を用いて、「suzukiichiro」、「suzuki」、「ichiro」、「orihciikuzus」、「ikuzus」、及び「orihci」などをNGパスワード候補として生成する。また、例えば、指定ユーザIDと関連付けて登録された複数の項目について、各項目の内容を表す文字列(又はその一部)を組み合わせてNGパスワード候補を生成してもよい。例えば、ユーザID「user1」の氏名「Suzuki Ichiro」の文字列の一部と、生年月日「19XX/06/05」の文字列の一部と、を組み合わせて、「suzuki0605」などをNGパスワード候補とすることができる。
【0038】
また、例えば、指定ユーザID自体を表す文字列又はその逆順の文字列をNGパスワード候補としてもよい。
【0039】
NGパスワード登録部150は、生成したNGパスワード候補を端末20に送信して表示させて端末20の操作者(例えば、システムのユーザ又は管理者)の選択を受け付ける。次に、操作者によって選択されたNGパスワード候補を指定されたユーザIDと対応づけてNGパスワード情報DB116に登録する。
【0040】
また、指定ユーザID及びユーザ情報DB160に記憶された情報に基づいてNGパスワード候補を生成する代わりに、NGパスワード登録部150は、ユーザによるNGパスワードの入力を受け付け、入力されたNGパスワードをそのユーザのユーザIDと対応づけてNGパスワード情報DB116に登録しても良い。例えば、ユーザは、自分の家族やペットの名前、自分の趣味・嗜好などを表す文字列をNGパスワードとして入力することが考えられる。
【0041】
また、NGパスワード登録部150は、指定ユーザID及びユーザ情報DB160に記憶された情報に基づいて生成したNGパスワードについて、端末20の操作者によって選択されたものだけを登録する代わりに、生成したNGパスワード候補のすべてを指定ユーザIDと対応づけてNGパスワード情報DB116に登録してもよい。
【0042】
なお、以上の説明では、認証処理部100を有するサーバ10(図2)が図7に例示する構成を備える。他の例では、認証処理部100を有するサーバ10と異なるサーバにおいて、図7に例示する構成を実現してもよい。この場合、上述のNGパスワードの登録処理の後、NGパスワード登録部150がNGパスワード情報DB116に登録した情報を、CD及びDVDなどの移動可能な記憶媒体又はネットワークなどの通信手段などを介して、認証処理部100を有するサーバ10のNGパスワード情報DB116に記憶させれば、認証処理部100は、NGパスワード登録部150によって登録された情報を利用できる。
【0043】
以下、端末20からサービスの提供を求めるサービス要求が行われた場合に、サーバ10において行われる処理について説明する。
【0044】
端末20からサーバに対してサービス要求が行われると、サービス提供部140は、サービス要求を受けた旨を認証処理部100に対して通知する。サービス要求を受けた旨をサービス提供部140から通知された認証処理部100は、例えば、図9に示す手順の処理を開始する。図9において、破線の四角A内の処理ステップは、認証処理部100の攻撃判定部108による処理である。
【0045】
図9を参照し、まずステップS10で、認証処理部100は、サービス要求を行った端末20(以下「要求元端末20」と呼ぶ)に対して、送信部104を介し、ユーザID及びパスワードの入力を求める旨を示す情報を送信する。ここで送信される情報は、例えば、図10に示すようなログインフォームを要求元端末20に表示させる情報である。端末には、図10に例示するようなログインフォームが表示され、要求元端末20を操作するユーザによってユーザID及びパスワードが入力される。要求元端末20は、入力されたユーザID及びパスワードを含む認証要求をサーバ10に対して送信する。
【0046】
ステップS12で、受信部102は、ユーザID及びパスワードを含む認証要求を要求元端末20から受信し、受信した認証要求を認証部106に渡す。認証部106は、受信部102から受け取った認証要求及び要求元端末20の端末IDを攻撃判定部108に渡す。要求元端末20の端末IDは、例えば、端末20とサーバ10とを接続するネットワーク30から取得される。
【0047】
認証部106から認証要求及び要求元端末20の端末IDを受け取った攻撃判定部108は、まず、ステップS14で、端末ロック判定部1080による処理を行うことで、要求元端末20がロック対象であるか否かを判定する。ステップS14で、端末ロック判定部1080は、端末ロック情報DB112を参照し、要求元端末20の端末IDがロック対象として端末ロック情報DB112に登録されており、かつ、要求元端末20の端末IDに対応づけて記憶されたロック時刻から現在の時刻までの経過時間が所定の閾値以下である場合に、要求元端末20はロック状態であると判定する。この経過時間の閾値は、システムのセキュリティレベルに応じて、例えば、1時間から24時間の間に設定される。端末ロック判定部1080は、要求元端末20の端末IDがロック対象として端末ロック情報DB112に登録されていない場合、又は、要求元端末20の端末IDがロック対象として端末ロック情報DB112に登録されていても当該端末IDに対応づけて記憶されたロック時刻から現在の時刻までの経過時間が所定の閾値を超えている場合は、要求元端末20はロック状態でないと判定する。
【0048】
ステップS14の判定において、端末ロック判定部1080は、端末ロック情報DB112に記憶された各端末IDのロック時刻を参照せずに、要求元端末の端末IDが端末ロック情報DB112に登録されていれば要求元端末20はロック対象であると判定し、登録されていなければ要求元端末20はロック対象でないと判定するものとしてもよい。この場合、例えば、図9に例示する手順の処理とは別に、一定の時間間隔(例えば、24時間)で端末ロック情報DB112に記憶された各端末IDのロック時刻を調べ、ロック時刻から所定時間以上経過していれば、その端末IDを端末ロック情報DB112から削除する(つまり、端末のロック状態を解除する)処理を認証部106が行うものとしてもよい。また、端末ロック判定(ステップS14)においてロック時刻が用いられない場合、端末ロック情報DB112には、ロック対象の端末IDだけを登録しておき、その端末IDのロック時刻を登録しなくてもよい。端末IDのロック時刻を登録しない場合、例えば、一定の時間間隔で端末ロック情報DB112にロック対象として登録された端末の端末IDをすべて削除する処理を行ったり、又は、システムの管理者が指示したタイミングで管理者によって指定された端末IDを端末ロック情報DB112から削除する処理を行ったりすることで、端末のロック状態を解除することができる。
【0049】
ステップS14で、要求元端末20がロック対象であると判定されると、攻撃判定部108は、その判定結果を認証部106に通知し、処理はステップS24に進む。この場合、攻撃判定部108は、認証要求は攻撃者によるものであると判定したことになる。
【0050】
要求元端末20がロック状態であるという判定結果の通知を攻撃判定部108から受けた認証部106は、ステップS24で、認証に失敗した旨を示し、かつ、ユーザID及びパスワードの入力を求める旨を示す情報を要求元端末20に対して送信する。ステップS24では、例えば、図11に示すような認証エラーメッセージ付きログインフォームを要求元端末20に表示させる情報が送信される。ステップS24で認証エラーメッセージ付きログインフォームを表示させる処理を行う代わりに、ステップS10で要求元端末20に表示されるログインフォームと同様のログインフォーム(例えば、図10に例示するログインフォーム)を表示させる処理を行ってもよい。ステップS24で、ステップS10と同様のログインフォームを要求元端末20に表示させる場合、認証に失敗したことを要求元端末20のユーザに知らせずに、単に、ユーザID及びパスワードの入力を求める旨を再度表示することになる。ステップS24の後、処理はステップS12に戻る。
【0051】
ステップS14で、要求元端末20がロック対象でないと判定されると、処理はステップS16に進む。
【0052】
ステップS16では、攻撃判定部108は、アカウントロック判定部1082による処理を行うことで、認証要求に含まれるユーザIDがアカウントロック状態であるか否かを判定する。ステップS16で、アカウントロック判定部1082は、アカウントロック情報DB114を参照し、認証要求に含まれるユーザIDがアカウントロック対象としてアカウントロック情報DB114に登録されていれば当該ユーザIDについてアカウントロック状態であると判定し、登録されていなければ当該ユーザIDについてアカウントロック状態でないと判定する。
【0053】
ステップS16で、認証要求に含まれるユーザIDについてアカウントロック状態であると判定されると、攻撃判定部108は、この判定結果を認証部106に通知し、処理はステップS24に進む。この場合、攻撃判定部108は、認証要求は攻撃者によるものであると判定したことになる。アカウントロック状態であるとの判定結果の通知を受けた認証部106は、ステップS24で、上記で説明した認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップS12に戻る。
【0054】
ステップS16で、認証要求に含まれるユーザIDについてアカウントロック状態でないと判定されると、処理はステップS18に進む。
【0055】
ステップS18で、攻撃判定部108は、NGパスワード判定部1084による処理を行うことで、認証要求に含まれるパスワードがNGパスワードであるか否かを判定する。ステップS18で、NGパスワード判定部1084は、NGパスワード情報DB116を参照し、認証要求に含まれるユーザIDに対応づけて登録されたNGパスワードの中に、認証要求に含まれるパスワードと一致するものが存在すれば、認証要求に含まれるパスワードはNGパスワードであると判定し、一致するものが存在しなければ、認証要求に含まれるパスワードはNGパスワードでないと判定する。ステップS18で、NGパスワード判定部1084は、認証要求に含まれるユーザIDに対応づけてNGパスワード情報DB116に登録されたNGパスワードのうちのいずれかと、認証要求に含まれるパスワードと、が完全に一致する場合に加えて、認証要求に含まれるパスワードがNGパスワード情報DB116に登録されたNGパスワードのうちのいずれかを含む場合にも、認証要求に含まれるパスワードがNGパスワードであると判定するようにしてもよい。
【0056】
ステップS18で、認証要求に含まれるパスワードがNGパスワードであると判定されると、攻撃判定部108は、認証部106に対してその旨を通知する。この場合、攻撃判定部108において、認証要求は攻撃者によるものであると判定されたことになる。
【0057】
ステップS18の判定の結果、認証要求に含まれるパスワードがNGパスワードである旨の通知を受けた認証部106は、ステップS26において、端末ロック設定処理を行う。認証部106は、要求元端末の端末IDと現在の時刻(すなわち、ロック時刻)とを対応づけて、端末ロック情報DB112に登録する。
【0058】
ステップS26の処理の後、ステップS24の認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップS12に戻る。
【0059】
ステップS18で、認証要求に含まれるパスワードがNGパスワードでないと判定されると、処理は、ステップS20に進む。この場合、攻撃判定部108による判定処理(ステップS14、ステップS16、及びステップS18)のすべてにおいて判定結果がNoとなったことになる。つまり、攻撃判定部108において、認証要求は攻撃者によるものでないと判定されたことになる。
【0060】
認証部106は、ステップS20で、認証情報DB120を参照し、認証要求に含まれるユーザID及びパスワードについて認証処理を行う。認証部106は、まず、認証要求に含まれるユーザIDが認証情報DB120に登録されているか否かを確認し、登録されていなければ、認証失敗と判定する。認証要求に含まれるユーザIDが認証情報DB120に登録されている場合は、当該ユーザIDに対応づけて認証情報DB120に登録されたパスワードと、認証要求に含まれるパスワードと、を照合し、両者が一致すれば認証成功と判定し、両者が一致しなければ認証失敗と判定する。
【0061】
ステップS20で認証成功と判定されると、処理は、ステップS22に進む。ステップS22では、認証処理部100は、サービス提供部140に対して、サービスの提供を許可する旨を通知する。認証処理部100からサービスの提供を許可する旨の通知を受けたサービス提供部140は、端末からのサービス要求に応じたサービスを提供する。
【0062】
ステップS20で認証失敗と判定されると、処理は、ステップS28に進む。ステップS28で、認証部106は、認証失敗情報DB130に記憶された情報を更新する。以下、ステップS28で行われる更新処理の例として、図6に例示する内容のデータが認証失敗情報DB130に記憶されている場合の処理について説明する。まず、認証部106は、認証失敗情報DB130に登録されたユーザIDの中から、認証要求に含まれるユーザIDを検索する。認証要求に含まれるユーザIDが認証失敗情報DB130内に存在する場合、当該ユーザIDに対応づけて記憶された最終失敗時刻と現在の時刻とを比較し、最終失敗時刻から現在の時刻までの経過時間が所定の閾値(例えば、30分と設定される)以内である場合は、最終失敗時刻を現在の時刻に書き換え、当該ユーザIDに対応づけて記憶された連続失敗回数を1だけ増加させる。最終失敗時刻から現在の時刻までの経過時間が所定の閾値を超えている場合は、当該ユーザIDに対応づけて記憶された連続失敗回数を「1」とし、最終失敗時刻を現在の時刻に書き換える。認証要求に含まれるユーザIDが認証失敗情報DB130内に存在しない場合は、当該ユーザIDを認証失敗情報DB130に新たに登録し、当該ユーザIDと対応づけて、最終失敗時刻として現在時刻を記憶させ、連続失敗回数を「1」とする。
【0063】
ステップS28の処理の後、ステップS30で、認証部106は、認証失敗情報DB130を参照し、アカウントロック条件が成立するか否かを判定する。アカウントロック条件とは、特定のユーザIDのアカウントをロックするか否かを決定するための条件である。アカウントロック条件は、例えば、一定時間内に所定の回数以上、特定のユーザIDを含む認証要求による認証が失敗した場合にそのユーザIDのアカウントをロックするように設定される。例えば、図6に例示する内容のデータが認証失敗情報DB130に記憶されており、ステップS28の更新処理において、図6を参照して説明した上述の例の処理が行われる場合、「連続失敗回数が所定の閾値(例えば、6回)以上である」という条件をアカウントロック条件として設定しておくことができる。この例の場合、ステップS28における経過時間の閾値の時間内に、アカウントロック条件の連続失敗回数が所定の回数以上の場合にそのユーザIDのアカウントがロックされることになる。
【0064】
例えばステップS28の更新処理における経過時間の閾値及び連続失敗回数の閾値などの、アカウントロック条件を定義するパラメータは、ユーザごとに設定しておくことができる。例えば、認証情報DB120又は認証失敗情報DB130に、ユーザIDと対応づけて、アカウントロック条件を定義するパラメータを登録しておけば、認証要求に含まれるユーザIDに対応づけられたパラメータを用いて条件判定を行うことで、ユーザごとに異なる条件でアカウントをロックするか否かを決定することができる。
【0065】
なお、ステップS28の更新処理及びステップS30のアカウントロック条件判定処理を実現する方法は、上述の例に限られない。例えば、認証失敗情報DB130において、ユーザIDと対応づけて、最終失敗時刻を記憶する代わりに、連続失敗回数を1とした時刻(カウント開始時刻)を記憶しておき、ステップS28の更新処理において、カウント開始時刻から現在時刻までの経過時間が所定の閾値内であれば、連続失敗回数を1だけ増加させ、経過時間が所定の閾値を超えていれば、連続失敗回数を1に書き換えた上でカウント開始時刻を現在時刻に書き換えるようにしてもよい。
【0066】
ステップS30でアカウントロック条件が成立したと判定されると、ステップS32で、認証部106は、アカウントロック設定処理を行う。ステップS32のアカウントロック設定処理では、認証部106は、認証要求に含まれるユーザIDをアカウントロック情報DB114に登録する。認証部106は、認証要求に含まれるユーザIDに対応づけて、現在の時刻(つまり、ロック時刻)、認証要求を行った要求元端末の端末ID、及びその他の管理目的上必要な情報などを対応づけてアカウントロック情報DB114に登録してもよい。ステップS32の処理の後、認証部106は、上記で説明したステップS24の認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップS12に戻る。
【0067】
ステップS30でアカウントロック条件が成立しない場合は、ステップS32のアカウントロック設定処理を行わずにステップS24に進み、認証部106は、上述の認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップS12に戻る。
【0068】
以上で説明した本実施形態の処理によると、攻撃判定部108による判定(破線四角A内の処理ステップ:ステップS14、ステップS16、ステップS18)においてYesに進んだ場合と、ステップS20で認証失敗と判定された場合と、の両方の場合において、ステップS24で、同じ認証エラーメッセージ付きログインフォームを表示させる情報が要求元端末20に対して送信される。したがって、要求元端末20からの認証要求に対してサーバ10がどのような判定を行い、その判定の結果どのような処理を行ったかを攻撃者に知られることはない。攻撃者にとっては、ログインできないという事実がわかるだけで、サーバ10側が端末20からの認証要求を攻撃者によるものであると判定していることはわからない。
【0069】
また、本実施形態の処理によると、攻撃者によって入力される可能性は高いが正規ユーザによって入力される可能性は低いパスワードをNGパスワードとして設定する。よって、認証失敗となるはずのパスワードが入力された場合であっても、例えば正規のユーザがパスワードの入力ミスをした場合など、NGパスワードとして設定されていないパスワードが入力された場合は、NGパスワード判定(ステップS18)でNoに進むため、要求元端末はロック対象とされない。
【0070】
また、本実施形態の処理によると、認証要求に含まれるユーザID及びパスワードの組が認証情報DB120に登録されている場合、つまり、ステップS20で認証成功と判定されるはずの場合であっても、要求元端末20の端末IDがロック対象として端末ロック情報DB112に登録されていれば、端末ロック判定(ステップS14)でYesに進み、認証エラーメッセージ付きログインフォームが端末に表示され(ステップS24)、認証成功か否かの判定(ステップS20)は行われない。したがって、例えば、他者のユーザアカウントを用いてパスワードを変えながら複数回認証要求を行うことで、システムの不正利用を試みる攻撃が行われた場合に、一度NGパスワードが入力されて要求元端末がロックされる(ステップS26)と、それに続く認証要求において認証成功か否かの判定は行われないため、攻撃者が正しいパスワードを突き止める可能性を低くすることができる。
【0071】
なお、認証処理部100が行う処理の他の一例では、図9に例示する手順の処理において、アカウントロックに関する処理(ステップS16、ステップS28、ステップS30、ステップS32)を行わなくてもよい。
【0072】
また、以上で説明した実施形態では、端末からのサービス要求に応じたサービスを提供するサービス提供部140と、サービスの提供を許可するか否かを決定する認証処理部100と、は1つのサーバ10に実現される。他の実施形態では、認証処理部100及びサービス提供部140をそれぞれ異なるサーバに実現してもよい。
【0073】
以上に例示したサーバ10は、典型的には、汎用のコンピュータにて上述のサーバ10の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図12に示すように、CPU(中央演算装置)40、メモリ(一次記憶)42、各種I/O(入出力)インタフェース44等がバス46を介して接続された回路構成を有する。また、そのバス46に対し、例えばI/Oインタフェース44経由で、ハードディスクドライブ48やCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ50が接続される。このようなドライブ48又は50は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク経由で、ハードディスクドライブ48などの固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、実施形態の処理が実現される。
【図面の簡単な説明】
【0074】
【図1】認証機能を備える情報システムの概略構成の一例を示すブロック図である。
【図2】サーバの概略構成の一例を示すブロック図である。
【図3】端末ロック情報DBのデータ内容の一例を示す図である。
【図4】アカウントロック情報DBのデータ内容の一例を示す図である。
【図5】NGパスワード情報DBのデータ内容の一例を示す図である。
【図6】認証失敗情報DBのデータ内容の一例を示す図である。
【図7】サーバの概略構成の一部の一例を示すブロック図である。
【図8】ユーザ情報DBのデータ内容の一例を示す図である。
【図9】サーバにおいて行われる認証処理の手順の一例を示すフローチャートである。
【図10】端末に表示されるログインフォームの一例を示す図である。
【図11】端末に表示されるログインフォームの他の一例を示す図である。
【図12】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【0075】
10 サーバ、20 端末、30 ネットワーク、44 インタフェース、46 バス、48 ハードディスクドライブ、50 ディスクドライブ、100 認証処理部、102 受信部、104 送信部、106 認証部、108 攻撃判定部、110 攻撃判定条件情報記憶部、112 端末ロック情報DB、114 アカウントロック情報DB、116 NGパスワード情報DB、120 認証情報DB、130 認証失敗情報DB、140 サービス提供部、150 NGパスワード登録部、160 ユーザ情報DB、1080 端末ロック判定部、1082 アカウントロック判定部、1084 NGパスワード判定部。
【特許請求の範囲】
【請求項1】
利用者識別情報とパスワードとを含む認証要求を端末から受信する受信部と、
受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶する攻撃判定条件情報記憶部と、
受信した前記認証要求に関する認証要求関連情報と、前記攻撃判定条件情報記憶部に記憶された攻撃判定条件情報と、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定部と、
前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信部と、
を備えることを特徴とする認証情報処理装置。
【請求項2】
前記攻撃判定条件情報記憶部は、ロック対象の端末の端末識別情報を記憶する端末ロック情報記憶部を含み、
前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合に、前記認証要求が攻撃者によるものであると判定することを特徴とする請求項1に記載の認証情報処理装置。
【請求項3】
前記攻撃判定条件情報記憶部は、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、
前記攻撃判定部は、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定することを特徴とする請求項1に記載の認証情報処理装置。
【請求項4】
前記攻撃判定条件情報記憶部は、さらに、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、
前記攻撃判定部は、さらに、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定し、
前記不正パスワード情報記憶部を用いて前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、前記要求元端末の端末識別情報を前記端末ロック情報記憶部に登録する端末ロック情報登録部をさらに備えることを特徴とする請求項2に記載の認証情報処理装置。
【請求項5】
前記不正パスワード情報記憶部は、利用者の利用者識別情報と関連付けて、当該利用者のパスワードとして用いられないものとして設定されたパスワードを前記不正パスワードとして記憶し、
前記攻撃判定部は、前記認証要求中の利用者識別情報と関連付けて前記不正パスワード情報記憶部に記憶された前記不正パスワードに、前記認証要求中のパスワードが含まれる場合に、前記認証要求が攻撃者によるものであると判定することを特徴とする請求項3又は4に記載の認証情報処理装置。
【請求項6】
利用者に関する情報に基づいて前記不正パスワードの候補を生成し、生成した前記不正パスワードの候補のうち少なくとも1つを当該利用者の前記不正パスワードとして当該利用者の利用者識別情報と関連付けて前記不正パスワード情報記憶部に登録する不正パスワード登録部、
をさらに備えることを特徴とする請求項5に記載の認証情報処理装置。
【請求項7】
利用者識別情報とパスワードとを含む認証要求を端末から受信する受信ステップと、
受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶装置に記憶させる攻撃情報記憶ステップと、
受信した前記認証要求について取得した認証要求関連情報と、前記記憶装置に記憶された攻撃判定条件情報と、を照合することで、受信した前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定ステップと、
前記攻撃判定ステップにおいて前記認証要求が攻撃者によるものであると判定された場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信ステップと、
をコンピュータに実行させるためのプログラム。
【請求項1】
利用者識別情報とパスワードとを含む認証要求を端末から受信する受信部と、
受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶する攻撃判定条件情報記憶部と、
受信した前記認証要求に関する認証要求関連情報と、前記攻撃判定条件情報記憶部に記憶された攻撃判定条件情報と、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定部と、
前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信部と、
を備えることを特徴とする認証情報処理装置。
【請求項2】
前記攻撃判定条件情報記憶部は、ロック対象の端末の端末識別情報を記憶する端末ロック情報記憶部を含み、
前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合に、前記認証要求が攻撃者によるものであると判定することを特徴とする請求項1に記載の認証情報処理装置。
【請求項3】
前記攻撃判定条件情報記憶部は、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、
前記攻撃判定部は、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定することを特徴とする請求項1に記載の認証情報処理装置。
【請求項4】
前記攻撃判定条件情報記憶部は、さらに、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、
前記攻撃判定部は、さらに、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定し、
前記不正パスワード情報記憶部を用いて前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、前記要求元端末の端末識別情報を前記端末ロック情報記憶部に登録する端末ロック情報登録部をさらに備えることを特徴とする請求項2に記載の認証情報処理装置。
【請求項5】
前記不正パスワード情報記憶部は、利用者の利用者識別情報と関連付けて、当該利用者のパスワードとして用いられないものとして設定されたパスワードを前記不正パスワードとして記憶し、
前記攻撃判定部は、前記認証要求中の利用者識別情報と関連付けて前記不正パスワード情報記憶部に記憶された前記不正パスワードに、前記認証要求中のパスワードが含まれる場合に、前記認証要求が攻撃者によるものであると判定することを特徴とする請求項3又は4に記載の認証情報処理装置。
【請求項6】
利用者に関する情報に基づいて前記不正パスワードの候補を生成し、生成した前記不正パスワードの候補のうち少なくとも1つを当該利用者の前記不正パスワードとして当該利用者の利用者識別情報と関連付けて前記不正パスワード情報記憶部に登録する不正パスワード登録部、
をさらに備えることを特徴とする請求項5に記載の認証情報処理装置。
【請求項7】
利用者識別情報とパスワードとを含む認証要求を端末から受信する受信ステップと、
受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶装置に記憶させる攻撃情報記憶ステップと、
受信した前記認証要求について取得した認証要求関連情報と、前記記憶装置に記憶された攻撃判定条件情報と、を照合することで、受信した前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定ステップと、
前記攻撃判定ステップにおいて前記認証要求が攻撃者によるものであると判定された場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信ステップと、
をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2009−31963(P2009−31963A)
【公開日】平成21年2月12日(2009.2.12)
【国際特許分類】
【出願番号】特願2007−194155(P2007−194155)
【出願日】平成19年7月26日(2007.7.26)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成21年2月12日(2009.2.12)
【国際特許分類】
【出願日】平成19年7月26日(2007.7.26)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]