(57)【特許請求の範囲】
【請求項１】
利用者識別情報とパスワードとを含む認証要求を要求元端末から受信する受信部と、
受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶する攻撃判定条件情報記憶部と、
受信した前記認証要求に関する認証要求関連情報と、前記攻撃判定条件情報記憶部に記憶された攻撃判定条件情報と、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定部と、
前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信部と、
を備える認証情報処理装置であって、
前記攻撃判定条件情報記憶部は、ロック対象の端末の端末識別情報を記憶する端末ロック情報記憶部を含み、
前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合に、前記認証要求が攻撃者によるものであると判定し、
前記攻撃判定条件情報記憶部は、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、
前記攻撃判定部は、さらに、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定し、
前記認証情報処理装置は、前記不正パスワード情報記憶部を用いて前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、前記要求元端末の端末識別情報を前記端末ロック情報記憶部に登録する端末ロック情報登録部、をさらに備え、
前記不正パスワード情報記憶部は、利用者の利用者識別情報と関連付けて、当該利用者のパスワードとして用いられないものとして設定されたパスワードを前記不正パスワードとして記憶し、
前記攻撃判定部は、前記認証要求中の利用者識別情報と関連付けて前記不正パスワード情報記憶部に記憶された前記不正パスワードに、前記認証要求中のパスワードが含まれる場合に、前記認証要求が攻撃者によるものであると判定し、
前記認証情報処理装置は、利用者に関する情報に基づいて前記不正パスワードの候補を生成し、生成した前記不正パスワードの候補のうち少なくとも１つを当該利用者の前記不正パスワードとして当該利用者の利用者識別情報と関連付けて前記不正パスワード情報記憶部に登録する不正パスワード登録部、をさらに備え、
前記端末ロック情報記憶部は、ロック対象の端末の端末識別情報を、当該端末識別情報がロック対象として登録された時刻であるロック時刻と対応づけて記憶し、
前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合において、当該端末識別情報に対応して前記端末ロック情報記憶部に記憶されたロック時刻から現在の時刻までの経過時間が所定の閾値以下である場合には、前記認証要求が攻撃者によるものであると判定し、前記経過時間が前記所定の閾値を超える場合には、前記認証要求が攻撃者によるものとは判定せず、
前記攻撃判定部は、前記認証要求に含まれる前記パスワードが、前記認証要求に含まれる利用者識別情報に対応する正しいパスワード及び当該利用者識別情報に関連付けて前記不正パスワード情報記憶部に登録された不正パスワード、のいずれにも該当しない場合に認証失敗と判定して、当該利用者識別情報に対応する連続認証失敗回数を１増やし、当該連続認証失敗回数があらかじめ定めた期間内にあらかじめ定めた２以上の閾値回数に達した場合に、前記認証要求が攻撃者によるものであると判定すると共に、当該利用者識別情報をアカウントロック対象としてアカウントロック記憶部に登録し、
前記攻撃判定部は、前記認証要求に含まれる利用者識別情報が前記アカウントロック記憶部に登録されている場合には認証要求が攻撃者によるものであると判定する、
ことを特徴とする認証情報処理装置。
【請求項２】
コンピュータを、
利用者識別情報とパスワードとを含む認証要求を要求元端末から受信する受信部、
受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶する攻撃判定条件情報記憶部、
受信した前記認証要求に関する認証要求関連情報と、前記攻撃判定条件情報記憶部に記憶された攻撃判定条件情報と、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定部、
前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信部、
として機能させるためのプログラムであって、
前記攻撃判定条件情報記憶部は、ロック対象の端末の端末識別情報を記憶する端末ロック情報記憶部を含み、
前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合に、前記認証要求が攻撃者によるものであると判定し、
前記攻撃判定条件情報記憶部は、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、
前記攻撃判定部は、さらに、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定し、
前記プログラムは、前記コンピュータを、前記不正パスワード情報記憶部を用いて前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、前記要求元端末の端末識別情報を前記端末ロック情報記憶部に登録する端末ロック情報登録部、としてさらに機能させ、
前記不正パスワード情報記憶部は、利用者の利用者識別情報と関連付けて、当該利用者のパスワードとして用いられないものとして設定されたパスワードを前記不正パスワードとして記憶し、
前記攻撃判定部は、前記認証要求中の利用者識別情報と関連付けて前記不正パスワード情報記憶部に記憶された前記不正パスワードに、前記認証要求中のパスワードが含まれる場合に、前記認証要求が攻撃者によるものであると判定し、
前記プログラムは、前記コンピュータを、利用者に関する情報に基づいて前記不正パスワードの候補を生成し、生成した前記不正パスワードの候補のうち少なくとも１つを当該利用者の前記不正パスワードとして当該利用者の利用者識別情報と関連付けて前記不正パスワード情報記憶部に登録する不正パスワード登録部、としてさらに機能させ、
前記端末ロック情報記憶部は、ロック対象の端末の端末識別情報を、当該端末識別情報がロック対象として登録された時刻であるロック時刻と対応づけて記憶し、
前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合において、当該端末識別情報に対応して前記端末ロック情報記憶部に記憶されたロック時刻から現在の時刻までの経過時間が所定の閾値以下である場合には、前記認証要求が攻撃者によるものであると判定し、前記経過時間が前記所定の閾値を超える場合には、前記認証要求が攻撃者によるものとは判定せず、
前記攻撃判定部は、前記認証要求に含まれる前記パスワードが、前記認証要求に含まれる利用者識別情報に対応する正しいパスワード及び当該利用者識別情報に関連付けて前記不正パスワード情報記憶部に登録された不正パスワード、のいずれにも該当しない場合に認証失敗と判定して、当該利用者識別情報に対応する連続認証失敗回数を１増やし、当該連続認証失敗回数があらかじめ定めた期間内にあらかじめ定めた２以上の閾値回数に達した場合に、前記認証要求が攻撃者によるものであると判定すると共に、当該利用者識別情報をアカウントロック対象としてアカウントロック記憶部に登録し、
前記攻撃判定部は、前記認証要求に含まれる利用者識別情報が前記アカウントロック記憶部に登録されている場合には認証要求が攻撃者によるものであると判定する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
認証機能を備える一般的な情報システムにおいて、ユーザがシステムの利用を望む場合、システムは、ユーザＩＤ及びユーザアカウントなどのユーザ識別情報とパスワードとを含む認証要求の入力を受け付け、入力されたユーザ識別情報に関連付けて予め登録されたパスワードと、入力されたパスワードと、を照合することで、そのユーザによるシステムの利用を許可するか否かを決定する。このような情報システムに対して、システムを不正に利用しようとする攻撃が行われる場合がある。例えば、攻撃者は、他者のユーザアカウントを用いてパスワードを変えながら複数回認証要求を行うことで、システムの不正利用を試みる場合がある。
【０００３】
不正アクセスなどの攻撃からシステムを保護し、システムの安全性を高める従来技術として、例えば、特定のユーザアカウントを含む認証要求による認証失敗回数が所定の閾値を超えた場合に、そのユーザアカウントを無効とするシステムがある。このようなシステムに対しては、システムの不正利用というよりむしろ、特定のユーザのユーザアカウントを無効とすることを目的として、任意のパスワードを複数回入力する攻撃が行われる場合がある。
【０００４】
システムに対する攻撃からシステムを保護する他の従来技術の例として、特許文献１には、ＳＳＬ−ＶＰＮ（Secure Sockets Layer‐Virtual Private Network）ゲートウェイ装置において、端末から入力されたパスワードを用いた認証の失敗の回数が予め設定された閾値を超えると、その端末との接続を遮断する技術が開示されている。
【０００５】
また例えば、特許文献２に開示される認証情報管理装置は、アカウント及びパスワードを含む認証要求に対する認証の結果について、認証要求を発した要求元のアドレスごとに、認証が失敗した回数を記憶する。認証要求の要求元のアドレスの認証失敗回数が所定の閾値以上となると、認証情報管理装置は、当該要求元のアドレスを無効とし、当該要求元に対してアドレスロック状態を応答する。さらに、特許文献２に開示される認証情報管理装置は、アカウントごとに、そのアカウントを含む認証要求に対する認証が失敗した回数を記憶しておき、そのアカウントの認証失敗回数が所定の閾値を超えると、そのアカウントを無効とし、認証要求の要求元に対してアカウントロック状態を応答する。
【０００６】
例えば認証失敗回数に基づいてシステムに対する攻撃を検知した場合に、認証要求に含まれるユーザアカウントを無効としたり、認証要求を行った要求元端末との接続を遮断したりするシステムにおいては、一般的に、要求元端末に対して、認証の失敗を示す情報と共に、攻撃に対処するためにシステムが行った処理の内容が通知される。このような通知を行うシステムでは、攻撃者は、システムが攻撃を検知したという事実及び攻撃に対処するためにシステムが行った処理の内容を知ることができる。したがって、前述のような通知を行うシステムによると、攻撃者に対して、攻撃に対処するためにシステムが行った処理の内容に応じて新たな攻撃を試みる機会を与えてしまう場合がある。例えば、攻撃者は、ユーザアカウントが無効とされたことが判明した場合は他のユーザアカウントを用いた攻撃を試み、端末との接続が遮断されたことが判明した場合は他の端末からの攻撃を試みることができる。
【０００７】
【特許文献１】特開２００６−５５０３号公報
【特許文献２】特開２００６−１７２１７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、システムに対する攻撃を検知した場合であっても、この攻撃に用いられたアカウントをロックすることなく、攻撃と疑わしきリクエストからシステムを守ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る認証情報処理装置は、利用者識別情報とパスワードとを含む認証要求を要求元端末から受信する受信部と、受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶する攻撃判定条件情報記憶部と、受信した前記認証要求に関する認証要求関連情報と、前記攻撃判定条件情報記憶部に記憶された攻撃判定条件情報と、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定部と、前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信部と、を備え、  前記攻撃判定条件情報記憶部は、ロック対象の端末の端末識別情報を記憶する端末ロック情報記憶部を含み、前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合に、前記認証要求が攻撃者によるものであると判定し、前記攻撃判定条件情報記憶部は、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、前記攻撃判定部は、さらに、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定し、前記認証情報処理装置は、前記不正パスワード情報記憶部を用いて前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、前記要求元端末の端末識別情報を前記端末ロック情報記憶部に登録する端末ロック情報登録部、をさらに備え、前記不正パスワード情報記憶部は、利用者の利用者識別情報と関連付けて、当該利用者のパスワードとして用いられないものとして設定されたパスワードを前記不正パスワードとして記憶し、前記攻撃判定部は、前記認証要求中の利用者識別情報と関連付けて前記不正パスワード情報記憶部に記憶された前記不正パスワードに、前記認証要求中のパスワードが含まれる場合に、前記認証要求が攻撃者によるものであると判定し、前記認証情報処理装置は、利用者に関する情報に基づいて前記不正パスワードの候補を生成し、生成した前記不正パスワードの候補のうち少なくとも１つを当該利用者の前記不正パスワードとして当該利用者の利用者識別情報と関連付けて前記不正パスワード情報記憶部に登録する不正パスワード登録部、をさらに備え、前記端末ロック情報記憶部は、ロック対象の端末の端末識別情報を、当該端末識別情報がロック対象として登録された時刻であるロック時刻と対応づけて記憶し、前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合において、当該端末識別情報に対応して前記端末ロック情報記憶部に記憶されたロック時刻から現在の時刻までの経過時間が所定の閾値以下である場合には、前記認証要求が攻撃者によるものであると判定し、前記経過時間が前記所定の閾値を超える場合には、前記認証要求が攻撃者によるものとは判定せず、前記攻撃判定部は、前記認証要求に含まれる前記パスワードが、前記認証要求に含まれる利用者識別情報に対応する正しいパスワード及び当該利用者識別情報に関連付けて前記不正パスワード情報記憶部���登録された不正パスワード、のいずれにも該当しない場合に認証失敗と判定して、当該利用者識別情報に対応する連続認証失敗回数を１増やし、当該連続認証失敗回数があらかじめ定めた期間内にあらかじめ定めた２以上の閾値回数に達した場合に、前記認証要求が攻撃者によるものであると判定すると共に、当該利用者識別情報をアカウントロック対象としてアカウントロック記憶部に登録し、前記攻撃判定部は、前記認証要求に含まれる利用者識別情報が前記アカウントロック記憶部に登録されている場合には認証要求が攻撃者によるものであると判定する、ことを特徴とする。
【００１１】
参考例において、前記攻撃判定条件情報記憶部は、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、前記攻撃判定部は、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する。
【００１５】
本発明に係るプログラムは、コンピュータを、利用者識別情報とパスワードとを含む認証要求を要求元端末から受信する受信部、受信した前記認証要求が攻撃者によるものであると判定するための攻撃判定条件情報を記憶する攻撃判定条件情報記憶部、受信した前記認証要求に関する認証要求関連情報と、前記攻撃判定条件情報記憶部に記憶された攻撃判定条件情報と、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定する攻撃判定部、前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、認証要求の入力を求める旨を表す入力指示情報を前記要求元端末に対して送信する送信部、として機能させるためのプログラムであって、前記攻撃判定条件情報記憶部は、ロック対象の端末の端末識別情報を記憶する端末ロック情報記憶部を含み、前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合に、前記認証要求が攻撃者によるものであると判定し、前記攻撃判定条件情報記憶部は、攻撃者による前記認証要求に含まれる可能性がある不正パスワードを記憶する不正パスワード情報記憶部を含み、前記攻撃判定部は、さらに、前記認証要求中のパスワードと、前記不正パスワード情報記憶部に記憶された不正パスワードと、を照合することで、前記認証要求が攻撃者によるものであるか否かを判定し、前記プログラムは、前記コンピュータを、前記不正パスワード情報記憶部を用いて前記認証要求が攻撃者によるものであると前記攻撃判定部が判定した場合に、前記要求元端末の端末識別情報を前記端末ロック情報記憶部に登録する端末ロック情報登録部、としてさらに機能させ、前記不正パスワード情報記憶部は、利用者の利用者識別情報と関連付けて、当該利用者のパスワードとして用いられないものとして設定されたパスワードを前記不正パスワードとして記憶し、前記攻撃判定部は、前記認証要求中の利用者識別情報と関連付けて前記不正パスワード情報記憶部に記憶された前記不正パスワードに、前記認証要求中のパスワードが含まれる場合に、前記認証要求が攻撃者によるものであると判定し、前記プログラムは、前記コンピュータを、利用者に関する情報に基づいて前記不正パスワードの候補を生成し、生成した前記不正パスワードの候補のうち少なくとも１つを当該利用者の前記不正パスワードとして当該利用者の利用者識別情報と関連付けて前記不正パスワード情報記憶部に登録する不正パスワード登録部、としてさらに機能させ、前記端末ロック情報記憶部は、ロック対象の端末の端末識別情報を、当該端末識別情報がロック対象として登録された時刻であるロック時刻と対応づけて記憶し、前記攻撃判定部は、前記要求元端末の端末識別情報が前記端末ロック情報記億部に記憶されている場合において、当該端末識別情報に対応して前記端末ロック情報記憶部に記憶されたロック時刻から現在の時刻までの経過時間が所定の閾値以下である場合には、前記認証要求が攻撃者によるものであると判定し、前記経過時間が前記所定の閾値を超える場合には、前記認証要求が攻撃者によるものとは判定せず、前記攻撃判定部は、前記認証要求に含まれる前記パスワードが、前記認証要求に含まれる利用者識別情報に対応する正しいパスワード及び当該利用者識別情報に関連付けて前記不正パスワード情報記憶部に登録された不正パスワード、のいずれにも該当しない場合に認証失敗と判定して、当該利用者識別情報に対応する連続認証失敗回数を１増やし、当該連続認証失敗回数があらかじめ定めた期間内にあらかじめ定めた２以上の閾値回数に達した場合に、前記認証要求が攻撃者によるものであると判定すると共に、当該利用者識別情報をアカウントロック対象としてアカウントロック記憶部に登録し、前記攻撃判定部は、前記認証要求に含まれる利用者識別情報が前記アカウントロック記憶部に登録されている場合には認証要求が攻撃者によるものであると判定する、ことを特徴とするプログラムである。
【発明の効果】
【００１６】
本発明によると、システムに対する攻撃を検知した場合であっても、この攻撃に用いられたアカウントをロックすることなく、攻撃と疑わしきリクエストからシステムを守ることが可能となる。
【発明を実施するための最良の形態】
【００１７】
図１は、認証機能を備える情報システムの概略構成の一例を示すブロック図である。図１に示すシステムにおいて、サーバ１０は、インターネットやローカル・エリア・ネットワークなどのネットワーク３０を介して端末２０−１，２０−２，・・・（以下、端末２０と総称する）と接続される。
【００１８】
図２に、サーバ１０の概略構成の一例を示す。サーバ１０は、本発明の１つの実施形態の認証情報処理装置として機能する。また、サーバ１０は、ネットワークを介して接続された端末２０からのサービス要求に応じて端末２０へサービスを提供する。サーバ１０が提供するサービスは、例えば、サーバ１０に接続された記憶装置（図示しない）に記憶された各種情報（例えば、文書データ、画像データ、音楽データ、及び動画データなど）を端末２０に対して提供するサービスである。また、例えば、サーバ１０は、端末２０によるユーザからの指示に応じて、図示しない記憶装置に各種情報を記憶させるサービスを提供することもある。
【００１９】
サーバ１０は、認証処理部１００、攻撃判定条件情報記憶部１１０、認証情報ＤＢ（データベース）１２０、認証失敗情報ＤＢ１３０、及びサービス提供部１４０を備える。
【００２０】
認証処理部１００は、ユーザＩＤ（識別子）及びパスワードを含む認証要求を受け付け、受け付けた認証要求に基づいて、そのユーザに対するサービスの提供を許可するか否かを決定する処理を行う。認証処理部１００は、受信部１０２、送信部１０４、認証部１０６、及び攻撃判定部１０８を備える。
【００２１】
受信部１０２は、端末２０から送信される認証要求などの情報を受け付け、受け付けた情報を認証部１０６に渡す。送信部１０４は、認証部１０６からの指示に従って、端末２０に対して認証に関する情報を送信する。
【００２２】
認証部１０６は、受信部１０２を介して端末２０から取得した認証要求について、認証情報ＤＢ１２０を参照して認証を行う。認証部１０６は、この認証の結果に基づいてサービスの提供を許可するか否かを決定し、サービス提供部１４０に通知する。また、認証部１０６は、端末２０から取得した認証要求に関する情報を攻撃判定部１０８に渡し、攻撃判定部１０８による判定処理の結果に応じて、攻撃判定条件情報記憶部１１０に記憶された情報を更新する処理を行う。認証部１０６は、さらに、認証の結果及び攻撃判定部１０８による判定の結果などに基づいて端末２０に送信する情報の内容を決定し、送信部１０４を介して端末２０に送信する処理を行う。
【００２３】
攻撃判定部１０８は、認証部１０６から受け取った認証要求に関する情報と、攻撃判定条件情報記憶部１１０に記憶された情報と、を照合することで、端末２０からの認証要求が攻撃者によるものであるか否かを判定する。攻撃判定部１０８は、端末ロック判定部１０８０、アカウントロック判定部１０８２、及びＮＧパスワード判定部１０８４を備える。
【００２４】
端末ロック判定部１０８０は、攻撃判定条件情報記憶部１１０に含まれる端末ロック情報ＤＢ１１２を参照し、認証要求を行った端末である要求元端末２０がロック対象であるか否かを判定する。
【００２５】
アカウントロック判定部１０８２は、攻撃判定条件情報記憶部１１０に含まれるアカウントロック情報ＤＢ１１４を参照し、認証要求に含まれるユーザＩＤがアカウントロック対象であるか否かを判定する。
【００２６】
ＮＧパスワード判定部１０８４は、攻撃判定条件情報記憶部１１０に含まれるＮＧパスワード情報ＤＢ１１６を参照し、認証要求に含まれるパスワードが攻撃者による認証要求に含まれる可能性のあるＮＧパスワードであるか否かを判定する。
【００２７】
端末ロック判定部１０８０、アカウントロック判定部１０８２、及びＮＧパスワード判定部１０８４が行う判定処理の詳細については後述する。
【００２８】
攻撃判定条件情報記憶部１１０は、攻撃判定部１０８による判定処理において用いられる情報を記憶する記憶部である。攻撃判定条件情報記憶部１１０は、端末ロック情報ＤＢ１１２、アカウントロック情報ＤＢ１１４、及びＮＧパスワード情報ＤＢ１１６を含む。
【００２９】
端末ロック情報ＤＢ１１２は、ロック対象の端末２０の端末ＩＤを記憶するデータベースである。端末ＩＤは各端末固有の識別情報であり、例えば、ＩＰ（Internet Protocol）アドレス、ＭＡＣ（Media Access Control）アドレス、及び機器固有ＩＤなどが端末ＩＤとして用いられる。図３に、端末ロック情報ＤＢ１１２のデータ内容の一例を示す。図３に例示する表では、ロック対象の端末２０の端末ＩＤに対応づけて、その端末２０がロック対象として端末ロック情報ＤＢ１１２に登録された時刻であるロック時刻が登録されている。なお、システムの管理目的上、必要がない場合はロック時刻を登録しなくてもよい。また、端末ロック情報ＤＢ１１２において、ロック対象の端末２０の端末ＩＤのレコードだけを登録する代わりに、サーバ１０に接続される端末２０の各端末ＩＤに対応づけて、その端末２０がロック対象であるか否かを示すフラグを登録しておいてもよい。
【００３０】
アカウントロック情報ＤＢ１１４は、アカウントロックの対象とされたユーザＩＤを記憶するデータベースである。図４に、アカウントロック情報ＤＢ１１４のデータ内容の一例を示す。図４に示す表では、アカウントロックの対象とされたユーザＩＤに対応づけて、当該ユーザＩＤがアカウントロックの対象としてアカウントロック情報ＤＢ１１４に登録された時刻であるロック時刻と、当該ユーザＩＤがアカウントロックの対象としてアカウントロック情報ＤＢ１１４に登録される前に最後に当該ユーザＩＤを含む認証要求を行った要求元端末の端末ＩＤと、が登録されている。アカウントロック情報ＤＢ１１４において、アカウントロックの対象のユーザＩＤと対応づけて登録される項目は、図４に例示するロック時刻及び端末ＩＤに限られない。システムの管理目的上、他に必要な項目があれば、その項目の内容をユーザＩＤと対応づけて登録しておくことができる。また、アカウントロック情報ＤＢ１１４において、アカウントロックの対象のユーザＩＤを登録しておけば、他の項目は必須ではない。なお、アカウントロック情報ＤＢ１１４において、アカウントロックの対象のユーザＩＤのレコードだけを登録しておく代わりに、システムに登録された正規ユーザの各ユーザＩＤに対応づけて、そのユーザＩＤがアカウントロック対象であるか否かを示すフラグを登録しておいてもよい。
【００３１】
ＮＧパスワード情報ＤＢ１１６は、攻撃者による認証要求に含まれる可能性のあるＮＧパスワードを記憶するデータベースである。ＮＧパスワード情報ＤＢ１１６は、例えば、特定のユーザについて、そのユーザのパスワードとして用いられないものとして設定されたパスワードを、攻撃者による認証要求に含まれる可能性のあるＮＧパスワードとして記憶する。図５に、ＮＧパスワード情報ＤＢ１１６のデータ内容の一例を示す。図５に例示する表では、ユーザＩＤに対応づけて、そのユーザのパスワードとして用いられないものとして設定されたＮＧパスワードが登録されている。ＮＧパスワード情報ＤＢ１１６においてユーザＩＤと対応づけて登録されるＮＧパスワードは、例えば、当該ユーザＩＤを構成する文字列、又は、当該ユーザＩＤの所有者であるユーザに関する情報などに基づいて設定される。例えば、図５を参照すると、ユーザＩＤ「user1」に対応づけて、「,」によって区切られた３つのＮＧパスワード「user1」、「1resu」、及び「June05」がＮＧパスワードとして登録されている。ここで、ＮＧパスワード「user1」は、ユーザＩＤ「user1」と同じ文字列からなるパスワードであり、ＮＧパスワード「1resu」は、ユーザＩＤ「user1」の文字列の逆順の文字列からなるパスワードである。また、ＮＧパスワード「June05」は、例えば、ユーザＩＤ「user1」の所有者であるユーザの誕生日を表す文字列である。ここで挙げたＮＧパスワードは単なる例示であり、ユーザ、管理者、又はサーバ１０が含まれる情報システムの要請によって、任意の文字列をＮＧパスワードとして設定できる。ＮＧパスワードの設定の詳細については後述する。
【００３２】
認証情報ＤＢ１２０は、ユーザＩＤとパスワードとを対応づけて記憶したデータベースである。認証情報ＤＢ１２０に登録されるユーザＩＤは、サーバ１０によるサービスの提供を許可された正規ユーザのユーザＩＤである。
【００３３】
認証失敗情報ＤＢ１３０は、認証に失敗した認証要求に関する情報を記憶するデータベースである。図６に、認証失敗情報ＤＢ１３０のデータ内容の一例を示す。図６に例示する表では、認証失敗情報ＤＢ１３０は、ユーザＩＤと対応づけて、そのユーザＩＤが認証要求に含まれていた場合に認証が失敗した最終失敗時刻と、その最終失敗時刻までの連続失敗回数と、が記憶される。
【００３４】
認証失敗情報ＤＢ１３０のデータ内容は、図６に例示した内容に限られない。例えば、ユーザＩＤ及び端末ＩＤの組に対応づけて、当該端末ＩＤを有する端末からの認証要求が当該ユーザＩＤを含んでいた場合に最後に認証が失敗した時刻である最終失敗時刻と、その最終失敗時刻までの連続失敗回数と、を記憶させておいてもよい。また、例えば、ユーザＩＤではなく端末ＩＤに対応づけて、最後にその端末ＩＤを有する端末からの認証要求についての認証が失敗した時刻である最終失敗時刻と、その最終失敗時刻までの連続失敗回数と、を記憶させておいてもよい。
【００３５】
図７は、サーバ１０において、ＮＧパスワード情報ＤＢ１１６にＮＧパスワードを登録する機能の構成の一例を示すブロック図である。図７に例示する構成は、図２に例示する認証処理部１００を有するサーバ１０に実現される。図７を参照すると、サーバ１０は、ＮＧパスワード登録部１５０、ユーザ情報ＤＢ１６０、及びＮＧパスワード情報ＤＢ１１６を備える。ＮＧパスワード情報ＤＢ１１６は、図２及び図５を参照して説明したデータベースである。ＮＧパスワード登録部１５０は、端末からの指示を受けて、ＮＧパスワードの候補を生成し、ＮＧパスワード情報ＤＢ１１６にＮＧパスワードを登録する処理を行う。
【００３６】
ユーザ情報ＤＢ１６０は、ユーザに関する情報を記憶するデータベースである。図８に、ユーザ情報ＤＢ１６０のデータ内容の一例を示す。図８に例示する表では、ユーザのユーザＩＤに対応づけて、そのユーザの氏名、住所、電話番号、及び生年月日の各項目が登録されている。図８に示す項目は、単なる例であり、これらの項目は登録していなくても良いし、他の項目を登録しておいてもよい。
【００３７】
以下、ＮＧパスワード登録部１５０が行う登録処理について説明する。ユーザＩＤを指定したＮＧパスワード登録の指示を端末２０から受信すると、ＮＧパスワード登録部１５０は、ユーザ情報ＤＢ１６０を参照し、指定ユーザＩＤのユーザのパスワードとして用いられないパスワードの候補であるＮＧパスワード候補を生成する。例えば、ユーザ情報ＤＢ１６０において指定ユーザＩＤと関連付けて登録された項目の内容を表す文字列を用いて、ＮＧパスワード候補を生成する。例えば、その項目の内容を表す文字列の全部又は一部、及びその項目の内容を表す文字列の全部又は一部を逆順とした文字列などをＮＧパスワード候補とする。例えば、図８に例示する内容のデータがユーザ情報ＤＢ１６０に登録されている場合であって指定ユーザＩＤが「user1」である場合に、ユーザＩＤ「user1」に対応づけて記憶された氏名「Suzuki Ichiro」の文字列又はその一部を用いて、「suzukiichiro」、「suzuki」、「ichiro」、「orihciikuzus」、「ikuzus」、及び「orihci」などをＮＧパスワード候補として生成する。また、例えば、指定ユーザＩＤと関連付けて登録された複数の項目について、各項目の内容を表す文字列（又はその一部）を組み合わせてＮＧパスワード候補を生成してもよい。例えば、ユーザＩＤ「user1」の氏名「Suzuki Ichiro」の文字列の一部と、生年月日「19XX/06/05」の文字列の一部と、を組み合わせて、「suzuki0605」などをＮＧパスワード候補とすることができる。
【００３８】
また、例えば、指定ユーザＩＤ自体を表す文字列又はその逆順の文字列をＮＧパスワード候補としてもよい。
【００３９】
ＮＧパスワード登録部１５０は、生成したＮＧパスワード候補を端末２０に送信して表示させて端末２０の操作者（例えば、システムのユーザ又は管理者）の選択を受け付ける。次に、操作者によって選択されたＮＧパスワード候補を指定されたユーザＩＤと対応づけてＮＧパスワード情報ＤＢ１１６に登録する。
【００４０】
また、指定ユーザＩＤ及びユーザ情報ＤＢ１６０に記憶された情報に基づいてＮＧパスワード候補を生成する代わりに、ＮＧパスワード登録部１５０は、ユーザによるＮＧパスワードの入力を受け付け、入力されたＮＧパスワードをそのユーザのユーザＩＤと対応づけてＮＧパスワード情報ＤＢ１１６に登録しても良い。例えば、ユーザは、自分の家族やペットの名前、自分の趣味・嗜好などを表す文字列をＮＧパスワードとして入力することが考えられる。
【００４１】
また、ＮＧパスワード登録部１５０は、指定ユーザＩＤ及びユーザ情報ＤＢ１６０に記憶された情報に基づいて生成したＮＧパスワードについて、端末２０の操作者によって選択されたものだけを登録する代わりに、生成したＮＧパスワード候補のすべてを指定ユーザＩＤと対応づけてＮＧパスワード情報ＤＢ１１６に登録してもよい。
【００４２】
なお、以上の説明では、認証処理部１００を有するサーバ１０（図２）が図７に例示する構成を備える。他の例では、認証処理部１００を有するサーバ１０と異なるサーバにおいて、図７に例示する構成を実現してもよい。この場合、上述のＮＧパスワードの登録処理の後、ＮＧパスワード登録部１５０がＮＧパスワード情報ＤＢ１１６に登録した情報を、ＣＤ及びＤＶＤなどの移動可能な記憶媒体又はネットワークなどの通信手段などを介して、認証処理部１００を有するサーバ１０のＮＧパスワード情報ＤＢ１１６に記憶させれば、認証処理部１００は、ＮＧパスワード登録部１５０によって登録された情報を利用できる。
【００４３】
以下、端末２０からサービスの提供を求めるサービス要求が行われた場合に、サーバ１０において行われる処理について説明する。
【００４４】
端末２０からサーバに対してサービス要求が行われると、サービス提供部１４０は、サービス要求を受けた旨を認証処理部１００に対して通知する。サービス要求を受けた旨をサービス提供部１４０から通知された認証処理部１００は、例えば、図９に示す手順の処理を開始する。図９において、破線の四角Ａ内の処理ステップは、認証処理部１００の攻撃判定部１０８による処理である。
【００４５】
図９を参照し、まずステップＳ１０で、認証処理部１００は、サービス要求を行った端末２０（以下「要求元端末２０」と呼ぶ）に対して、送信部１０４を介し、ユーザＩＤ及びパスワードの入力を求める旨を示す情報を送信する。ここで送信される情報は、例えば、図１０に示すようなログインフォームを要求元端末２０に表示させる情報である。端末には、図１０に例示するようなログインフォームが表示され、要求元端末２０を操作するユーザによってユーザＩＤ及びパスワードが入力される。要求元端末２０は、入力されたユーザＩＤ及びパスワードを含む認証要求をサーバ１０に対して送信する。
【００４６】
ステップＳ１２で、受信部１０２は、ユーザＩＤ及びパスワードを含む認証要求を要求元端末２０から受信し、受信した認証要求を認証部１０６に渡す。認証部１０６は、受信部１０２から受け取った認証要求及び要求元端末２０の端末ＩＤを攻撃判定部１０８に渡す。要求元端末２０の端末ＩＤは、例えば、端末２０とサーバ１０とを接続するネットワーク３０から取得される。
【００４７】
認証部１０６から認証要求及び要求元端末２０の端末ＩＤを受け取った攻撃判定部１０８は、まず、ステップＳ１４で、端末ロック判定部１０８０による処理を行うことで、要求元端末２０がロック対象であるか否かを判定する。ステップＳ１４で、端末ロック判定部１０８０は、端末ロック情報ＤＢ１１２を参照し、要求元端末２０の端末ＩＤがロック対象として端末ロック情報ＤＢ１１２に登録されており、かつ、要求元端末２０の端末ＩＤに対応づけて記憶されたロック時刻から現在の時刻までの経過時間が所定の閾値以下である場合に、要求元端末２０はロック状態であると判定する。この経過時間の閾値は、システムのセキュリティレベルに応じて、例えば、１時間から２４時間の間に設定される。端末ロック判定部１０８０は、要求元端末２０の端末ＩＤがロック対象として端末ロック情報ＤＢ１１２に登録されていない場合、又は、要求元端末２０の端末ＩＤがロック対象として端末ロック情報ＤＢ１１２に登録されていても当該端末ＩＤに対応づけて記憶されたロック時刻から現在の時刻までの経過時間が所定の閾値を超えている場合は、要求元端末２０はロック状態でないと判定する。
【００４８】
ステップＳ１４の判定において、端末ロック判定部１０８０は、端末ロック情報ＤＢ１１２に記憶された各端末ＩＤのロック時刻を参照せずに、要求元端末の端末ＩＤが端末ロック情報ＤＢ１１２に登録されていれば要求元端末２０はロック対象であると判定し、登録されていなければ要求元端末２０はロック対象でないと判定するものとしてもよい。この場合、例えば、図９に例示する手順の処理とは別に、一定の時間間隔（例えば、２４時間）で端末ロック情報ＤＢ１１２に記憶された各端末ＩＤのロック時刻を調べ、ロック時刻から所定時間以上経過していれば、その端末ＩＤを端末ロック情報ＤＢ１１２から削除する（つまり、端末のロック状態を解除する）処理を認証部１０６が行うものとしてもよい。また、端末ロック判定（ステップＳ１４）においてロック時刻が用いられない場合、端末ロック情報ＤＢ１１２には、ロック対象の端末ＩＤだけを登録しておき、その端末ＩＤのロック時刻を登録しなくてもよい。端末ＩＤのロック時刻を登録しない場合、例えば、一定の時間間隔で端末ロック情報ＤＢ１１２にロック対象として登録された端末の端末ＩＤをすべて削除する処理を行ったり、又は、システムの管理者が指示したタイミングで管理者によって指定された端末ＩＤを端末ロック情報ＤＢ１１２から削除する処理を行ったりすることで、端末のロック状態を解除することができる。
【００４９】
ステップＳ１４で、要求元端末２０がロック対象であると判定されると、攻撃判定部１０８は、その判定結果を認証部１０６に通知し、処理はステップＳ２４に進む。この場合、攻撃判定部１０８は、認証要求は攻撃者によるものであると判定したことになる。
【００５０】
要求元端末２０がロック状態であるという判定結果の通知を攻撃判定部１０８から受けた認証部１０６は、ステップＳ２４で、認証に失敗した旨を示し、かつ、ユーザＩＤ及びパスワードの入力を求める旨を示す情報を要求元端末２０に対して送信する。ステップＳ２４では、例えば、図１１に示すような認証エラーメッセージ付きログインフォームを要求元端末２０に表示させる情報が送信される。ステップＳ２４で認証エラーメッセージ付きログインフォームを表示させる処理を行う代わりに、ステップＳ１０で要求元端末２０に表示されるログインフォームと同様のログインフォーム（例えば、図１０に例示するログインフォーム）を表示させる処理を行ってもよい。ステップＳ２４で、ステップＳ１０と同様のログインフォームを要求元端末２０に表示させる場合、認証に失敗したことを要求元端末２０のユーザに知らせずに、単に、ユーザＩＤ及びパスワードの入力を求める旨を再度表示することになる。ステップＳ２４の後、処理はステップＳ１２に戻る。
【００５１】
ステップＳ１４で、要求元端末２０がロック対象でないと判定されると、処理はステップＳ１６に進む。
【００５２】
ステップＳ１６では、攻撃判定部１０８は、アカウントロック判定部１０８２による処理を行うことで、認証要求に含まれるユーザＩＤがアカウントロック状態であるか否かを判定する。ステップＳ１６で、アカウントロック判定部１０８２は、アカウントロック情報ＤＢ１１４を参照し、認証要求に含まれるユーザＩＤがアカウントロック対象としてアカウントロック情報ＤＢ１１４に登録されていれば当該ユーザＩＤについてアカウントロック状態であると判定し、登録されていなければ当該ユーザＩＤについてアカウントロック状態でないと判定する。
【００５３】
ステップＳ１６で、認証要求に含まれるユーザＩＤについてアカウントロック状態であると判定されると、攻撃判定部１０８は、この判定結果を認証部１０６に通知し、処理はステップＳ２４に進む。この場合、攻撃判定部１０８は、認証要求は攻撃者によるものであると判定したことになる。アカウントロック状態であるとの判定結果の通知を受けた認証部１０６は、ステップＳ２４で、上記で説明した認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップＳ１２に戻る。
【００５４】
ステップＳ１６で、認証要求に含まれるユーザＩＤについてアカウントロック状態でないと判定されると、処理はステップＳ１８に進む。
【００５５】
ステップＳ１８で、攻撃判定部１０８は、ＮＧパスワード判定部１０８４による処理を行うことで、認証要求に含まれるパスワードがＮＧパスワードであるか否かを判定する。ステップＳ１８で、ＮＧパスワード判定部１０８４は、ＮＧパスワード情報ＤＢ１１６を参照し、認証要求に含まれるユーザＩＤに対応づけて登録されたＮＧパスワードの中に、認証要求に含まれるパスワードと一致するものが存在すれば、認証要求に含まれるパスワードはＮＧパスワードであると判定し、一致するものが存在しなければ、認証要求に含まれるパスワードはＮＧパスワードでないと判定する。ステップＳ１８で、ＮＧパスワード判定部１０８４は、認証要求に含まれるユーザＩＤに対応づけてＮＧパスワード情報ＤＢ１１６に登録されたＮＧパスワードのうちのいずれかと、認証要求に含まれるパスワードと、が完全に一致する場合に加えて、認証要求に含まれるパスワードがＮＧパスワード情報ＤＢ１１６に登録されたＮＧパスワードのうちのいずれかを含む場合にも、認証要求に含まれるパスワードがＮＧパスワードであると判定するようにしてもよい。
【００５６】
ステップＳ１８で、認証要求に含まれるパスワードがＮＧパスワードであると判定されると、攻撃判定部１０８は、認証部１０６に対してその旨を通知する。この場合、攻撃判定部１０８において、認証要求は攻撃者によるものであると判定されたことになる。
【００５７】
ステップＳ１８の判定の結果、認証要求に含まれるパスワードがＮＧパスワードである旨の通知を受けた認証部１０６は、ステップＳ２６において、端末ロック設定処理を行う。認証部１０６は、要求元端末の端末ＩＤと現在の時刻（すなわち、ロック時刻）とを対応づけて、端末ロック情報ＤＢ１１２に登録する。
【００５８】
ステップＳ２６の処理の後、ステップＳ２４の認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップＳ１２に戻る。
【００５９】
ステップＳ１８で、認証要求に含まれるパスワードがＮＧパスワードでないと判定されると、処理は、ステップＳ２０に進む。この場合、攻撃判定部１０８による判定処理（ステップＳ１４、ステップＳ１６、及びステップＳ１８）のすべてにおいて判定結果がＮｏとなったことになる。つまり、攻撃判定部１０８において、認証要求は攻撃者によるものでないと判定されたことになる。
【００６０】
認証部１０６は、ステップＳ２０で、認証情報ＤＢ１２０を参照し、認証要求に含まれるユーザＩＤ及びパスワードについて認証処理を行う。認証部１０６は、まず、認証要求に含まれるユーザＩＤが認証情報ＤＢ１２０に登録されているか否かを確認し、登録されていなければ、認証失敗と判定する。認証要求に含まれるユーザＩＤが認証情報ＤＢ１２０に登録されている場合は、当該ユーザＩＤに対応づけて認証情報ＤＢ１２０に登録されたパスワードと、認証要求に含まれるパスワードと、を照合し、両者が一致すれば認証成功と判定し、両者が一致しなければ認証失敗と判定する。
【００６１】
ステップＳ２０で認証成功と判定されると、処理は、ステップＳ２２に進む。ステップＳ２２では、認証処理部１００は、サービス提供部１４０に対して、サービスの提供を許可する旨を通知する。認証処理部１００からサービスの提供を許可する旨の通知を受けたサービス提供部１４０は、端末からのサービス要求に応じたサービスを提供する。
【００６２】
ステップＳ２０で認証失敗と判定されると、処理は、ステップＳ２８に進む。ステップＳ２８で、認証部１０６は、認証失敗情報ＤＢ１３０に記憶された情報を更新する。以下、ステップＳ２８で行われる更新処理の例として、図６に例示する内容のデータが認証失敗情報ＤＢ１３０に記憶されている場合の処理について説明する。まず、認証部１０６は、認証失敗情報ＤＢ１３０に登録されたユーザＩＤの中から、認証要求に含まれるユーザＩＤを検索する。認証要求に含まれるユーザＩＤが認証失敗情報ＤＢ１３０内に存在する場合、当該ユーザＩＤに対応づけて記憶された最終失敗時刻と現在の時刻とを比較し、最終失敗時刻から現在の時刻までの経過時間が所定の閾値（例えば、３０分と設定される）以内である場合は、最終失敗時刻を現在の時刻に書き換え、当該ユーザＩＤに対応づけて記憶された連続失敗回数を１だけ増加させる。最終失敗時刻から現在の時刻までの経過時間が所定の閾値を超えている場合は、当該ユーザＩＤに対応づけて記憶された連続失敗回数を「１」とし、最終失敗時刻を現在の時刻に書き換える。認証要求に含まれるユーザＩＤが認証失敗情報ＤＢ１３０内に存在しない場合は、当該ユーザＩＤを認証失敗情報ＤＢ１３０に新たに登録し、当該ユーザＩＤと対応づけて、最終失敗時刻として現在時刻を記憶させ、連続失敗回数を「１」とする。
【００６３】
ステップＳ２８の処理の後、ステップＳ３０で、認証部１０６は、認証失敗情報ＤＢ１３０を参照し、アカウントロック条件が成立するか否かを判定する。アカウントロック条件とは、特定のユーザＩＤのアカウントをロックするか否かを決定するための条件である。アカウントロック条件は、例えば、一定時間内に所定の回数以上、特定のユーザＩＤを含む認証要求による認証が失敗した場合にそのユーザＩＤのアカウントをロックするように設定される。例えば、図６に例示する内容のデータが認証失敗情報ＤＢ１３０に記憶されており、ステップＳ２８の更新処理において、図６を参照して説明した上述の例の処理が行われる場合、「連続失敗回数が所定の閾値（例えば、６回）以上である」という条件をアカウントロック条件として設定しておくことができる。この例の場合、ステップＳ２８における経過時間の閾値の時間内に、アカウントロック条件の連続失敗回数が所定の回数以上の場合にそのユーザＩＤのアカウントがロックされることになる。
【００６４】
例えばステップＳ２８の更新処理における経過時間の閾値及び連続失敗回数の閾値などの、アカウントロック条件を定義するパラメータは、ユーザごとに設定しておくことができる。例えば、認証情報ＤＢ１２０又は認証失敗情報ＤＢ１３０に、ユーザＩＤと対応づけて、アカウントロック条件を定義するパラメータを登録しておけば、認証要求に含まれるユーザＩＤに対応づけられたパラメータを用いて条件判定を行うことで、ユーザごとに異なる条件でアカウントをロックするか否かを決定することができる。
【００６５】
なお、ステップＳ２８の更新処理及びステップＳ３０のアカウントロック条件判定処理を実現する方法は、上述の例に限られない。例えば、認証失敗情報ＤＢ１３０において、ユーザＩＤと対応づけて、最終失敗時刻を記憶する代わりに、連続失敗回数を１とした時刻（カウント開始時刻）を記憶しておき、ステップＳ２８の更新処理において、カウント開始時刻から現在時刻までの経過時間が所定の閾値内であれば、連続失敗回数を１だけ増加させ、経過時間が所定の閾値を超えていれば、連続失敗回数を１に書き換えた上でカウント開始時刻を現在時刻に書き換えるようにしてもよい。
【００６６】
ステップＳ３０でアカウントロック条件が成立したと判定されると、ステップＳ３２で、認証部１０６は、アカウントロック設定処理を行う。ステップＳ３２のアカウントロック設定処理では、認証部１０６は、認証要求に含まれるユーザＩＤをアカウントロック情報ＤＢ１１４に登録する。認証部１０６は、認証要求に含まれるユーザＩＤに対応づけて、現在の時刻（つまり、ロック時刻）、認証要求を行った要求元端末の端末ＩＤ、及びその他の管理目的上必要な情報などを対応づけてアカウントロック情報ＤＢ１１４に登録してもよい。ステップＳ３２の処理の後、認証部１０６は、上記で説明したステップＳ２４の認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップＳ１２に戻る。
【００６７】
ステップＳ３０でアカウントロック条件が成立しない場合は、ステップＳ３２のアカウントロック設定処理を行わずにステップＳ２４に進み、認証部１０６は、上述の認証エラーメッセージ付きログインフォーム表示処理を行い、処理はステップＳ１２に戻る。
【００６８】
以上で説明した本実施形態の処理によると、攻撃判定部１０８による判定（破線四角Ａ内の処理ステップ：ステップＳ１４、ステップＳ１６、ステップＳ１８）においてＹｅｓに進んだ場合と、ステップＳ２０で認証失敗と判定された場合と、の両方の場合において、ステップＳ２４で、同じ認証エラーメッセージ付きログインフォームを表示させる情報が要求元端末２０に対して送信される。したがって、要求元端末２０からの認証要求に対してサーバ１０がどのような判定を行い、その判定の結果どのような処理を行ったかを攻撃者に知られることはない。攻撃者にとっては、ログインできないという事実がわかるだけで、サーバ１０側が端末２０からの認証要求を攻撃者によるものであると判定していることはわからない。
【００６９】
また、本実施形態の処理によると、攻撃者によって入力される可能性は高いが正規ユーザによって入力される可能性は低いパスワードをＮＧパスワードとして設定する。よって、認証失敗となるはずのパスワードが入力された場合であっても、例えば正規のユーザがパスワードの入力ミスをした場合など、ＮＧパスワードとして設定されていないパスワードが入力された場合は、ＮＧパスワード判定（ステップＳ１８）でＮｏに進むため、要求元端末はロック対象とされない。
【００７０】
また、本実施形態の処理によると、認証要求に含まれるユーザＩＤ及びパスワードの組が認証情報ＤＢ１２０に登録されている場合、つまり、ステップＳ２０で認証成功と判定されるはずの場合であっても、要求元端末２０の端末ＩＤがロック対象として端末ロック情報ＤＢ１１２に登録されていれば、端末ロック判定（ステップＳ１４）でＹｅｓに進み、認証エラーメッセージ付きログインフォームが端末に表示され（ステップＳ２４）、認証成功か否かの判定（ステップＳ２０）は行われない。したがって、例えば、他者のユーザアカウントを用いてパスワードを変えながら複数回認証要求を行うことで、システムの不正利用を試みる攻撃が行われた場合に、一度ＮＧパスワードが入力されて要求元端末がロックされる（ステップＳ２６）と、それに続く認証要求において認証成功か否かの判定は行われないため、攻撃者が正しいパスワードを突き止める可能性を低くすることができる。
【００７１】
なお、認証処理部１００が行う処理の他の一例では、図９に例示する手順の処理において、アカウントロックに関する処理（ステップＳ１６、ステップＳ２８、ステップＳ３０、ステップＳ３２）を行わなくてもよい。
【００７２】
また、以上で説明した実施形態では、端末からのサービス要求に応じたサービスを提供するサービス提供部１４０と、サービスの提供を許可するか否かを決定する認証処理部１００と、は１つのサーバ１０に実現される。他の実施形態では、認証処理部１００及びサービス提供部１４０をそれぞれ異なるサーバに実現してもよい。
【００７３】
以上に例示したサーバ１０は、典型的には、汎用のコンピュータにて上述のサーバ１０の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図１２に示すように、ＣＰＵ（中央演算装置）４０、メモリ（一次記憶）４２、各種Ｉ／Ｏ（入出力）インタフェース４４等がバス４６を介して接続された回路構成を有する。また、そのバス４６に対し、例えばＩ／Ｏインタフェース４４経由で、ハードディスクドライブ４８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ５０が接続される。このようなドライブ４８又は５０は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク経由で、ハードディスクドライブ４８などの固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。
【図面の簡単な説明】
【００７４】
【図１】認証機能を備える情報システムの概略構成の一例を示すブロック図である。
【図２】サーバの概略構成の一例を示すブロック図である。
【図３】端末ロック情報ＤＢのデータ内容の一例を示す図である。
【図４】アカウントロック情報ＤＢのデータ内容の一例を示す図である。
【図５】ＮＧパスワード情報ＤＢのデータ内容の一例を示す図である。
【図６】認証失敗情報ＤＢのデータ内容の一例を示す図である。
【図７】サーバの概略構成の一部の一例を示すブロック図である。
【図８】ユーザ情報ＤＢのデータ内容の一例を示す図である。
【図９】サーバにおいて行われる認証処理の手順の一例を示すフローチャートである。
【図１０】端末に表示されるログインフォームの一例を示す図である。
【図１１】端末に表示されるログインフォームの他の一例を示す図である。
【図１２】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【００７５】
１０  サーバ、２０  端末、３０  ネットワーク、４４  インタフェース、４６  バス、４８  ハードディスクドライブ、５０  ディスクドライブ、１００  認証処理部、１０２  受信部、１０４  送信部、１０６  認証部、１０８  攻撃判定部、１１０  攻撃判定条件情報記憶部、１１２  端末ロック情報ＤＢ、１１４  アカウントロック情報ＤＢ、１１６  ＮＧパスワード情報ＤＢ、１２０  認証情報ＤＢ、１３０  認証失敗情報ＤＢ、１４０  サービス提供部、１５０  ＮＧパスワード登録部、１６０  ユーザ情報ＤＢ、１０８０  端末ロック判定部、１０８２  アカウントロック判定部、１０８４  ＮＧパスワード判定部。
【図１】
0005098487.tif 000002
【図２】
0005098487.tif 000003
【図３】
0005098487.tif 000004
【図４】
0005098487.tif 000005
【図５】
0005098487.tif 000006
【図６】
0005098487.tif 000007
【図７】
0005098487.tif 000008
【図８】
0005098487.tif 000009
【図９】
0005098487.tif 000010
【図１０】
0005098487.tif 000011
【図１１】
0005098487.tif 000012
【図１２】
0005098487.tif 000013