(57)【要約】【課題】  ユーザが行ったつもりである認証回数よりも少ない回数でロックアウトをしてしまう。【解決手段】  情報処理装置及びその制御方法であって、ユーザの認証を行い、そのユーザの認証に失敗した回数が所定回数以上になると、当該ユーザによる認証を拒否するロックアウト機能を有する。そしてユーザの認証に失敗した場合、直前にユーザの認証に失敗した日時と、今回、そのユーザの認証に失敗した日時との時間間隔が所定時間以上であれば、そのユーザの認証に失敗した回数としてカウントし、その時間間隔が所定時間未満であれば、そのユーザの認証に失敗した回数としてカウントしない。【選択図】  図４
2015072527.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの認証を行う認証手段と、
前記認証手段によりユーザの認証に失敗した回数が所定回数以上になると、当該ユーザによる認証を拒否するロックアウト手段と、
前記認証手段によりユーザの認証に失敗した場合、直前に前記ユーザの認証に失敗した日時と、今回、前記認証手段により前記ユーザの認証に失敗した日時との時間間隔が所定時間以上であれば、前記ユーザの認証に失敗した回数としてカウントし、前記時間間隔が前記所定時間未満であれば、前記ユーザの認証に失敗した回数としてカウントしないように制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記所定時間をユーザに設定させる設定手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記認証手段によりユーザの認証に失敗した回数をカウントするカウント手段を更に有し、
前記カウント手段は、前記認証手段により前記ユーザの認証を行うために入力されたユーザＩＤ及びパスワードの組に対応つけて、前記ユーザの認証に失敗した回数をカウントすることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記所定時間は、ユーザの操作による認証のリトライと、コンピュータにより自動的に実行される認証のリトライとを識別できる時間間隔であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
複数の前記認証手段を更に有し、前記カウント手段は、前記複数の認証手段のそれぞれに対応するユーザの認証に失敗した回数をカウントすることを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記制御手段は、入力されたユーザＩＤとパスワードの組に対応つけて、前記認証手段によりユーザの認証に失敗した日時を記憶する記憶手段を有することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
サーバとクライアントを含む情報処理システムであって、
前記サーバは、
前記クライアントからの認証情報に応じてユーザの認証を行う認証手段と、
前記認証手段による認証結果を前記クライアントに通知する通知手段と、
前記認証手段によりユーザの認証に失敗した回数が所定回数以上になると、当該ユーザによる認証を拒否するロックアウト手段と、
前記認証手段によりユーザの認証に失敗した場合、直前に前記ユーザの認証に失敗した日時と、今回、前記認証手段により前記ユーザの認証に失敗した日時との時間間隔が所定時間以上であれば、前記ユーザの認証に失敗した回数としてカウントし、前記時間間隔が前記所定時間未満であれば、前記ユーザの認証に失敗した回数としてカウントしないように制御する制御手段と、を有し、
前記クライアントは、
前記通知手段により通知された前記認証結果がＮＧである場合に、前記サーバに前記認証情報を送信するリトライ手段を有することを特徴とする情報処理システム。
【請求項８】
前記制御手段は、前記クライアントとの認証プロトコルに応じて、前記ユーザの認証に失敗した回数をカウントする場合の加算値を変更することを特徴とする請求項７に記載の情報処理システム。
【請求項９】
情報処理装置を制御する制御方法であって、
認証手段が、ユーザの認証を行う認証工程と、
ロックアウト手段が、前記認証工程でユーザの認証に失敗した回数が所定回数以上になると、当該ユーザによる認証を拒否するロックアウト工程と、
制御手段が、前記認証工程によりユーザの認証に失敗した場合、直前に前記ユーザの認証に失敗した日時と、今回、前記認証工程により前記ユーザの認証に失敗した日時との時間間隔が所定時間以上であれば、前記ユーザの認証に失敗した回数としてカウントし、前記時間間隔が前記所定時間未満であれば、前記ユーザの認証に失敗した回数としてカウントしないように制御する制御工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至６のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ユーザの認証を行うシステム（以下、認証システム）では、悪意のあるユーザが、不正利用を目的としてユーザＩＤ、パスワードを推測しながら何度も認証を試みることによる攻撃を受ける場合がある。このような不正利用を回避するための機能としてロックアウト機能がある。このようなロックアウト機能によって、悪意のあるユーザが、ユーザＩＤに対応するパスワードを探索する回数が制限されることになり、認証システムが不正利用される危険性を低下させることができる。
【０００３】
しかし認証の方法によっては、ユーザが行ったつもりである認証の回数よりも少ない回数でロックアウトしてしまう場合がある。その場合とは、ユーザがクライアントソフトウェア（以下、クライアント）を使ってネットワークを経由し、サーバによる認証を行う場合などである。クライアントによっては、認証に失敗した場合に、同一のユーザＩＤ、パスワードを再度送信して認証を再度試みるリトライ処理を行うものがある。これはユーザが入力したユーザＩＤやパスワードが、ネットワーク環境の何らかのトラブルによって、正しく送信されなかった場合に備えて行われる処理である。この処理は、正しいユーザＩＤ、パスワードが入力されたにも拘らず認証に失敗した場合に、ユーザに再度認証処理を要求することをなくし、利便性の向上を図るために必要な処理である。
【０００４】
しかしながら、このリトライ処理は、ユーザが誤ったパスワードを入力した場合でも実行されるため、実際にユーザが認証を行ったつもりである回数よりも少ない回数でロックアウト機能が働くことになる。一般的に、このようなロックアウトを解除するには、予め設定された時間だけ待機するか、サーバの管理者にロックアウトを解除してもらう必要があり、パスワードを間違って入力した善意のユーザにとっては使い勝手の悪いものとなる。
【０００５】
このような課題を解決するために特許文献１には、ロックアウト状態にあるときに、認証に成功する正しいユーザ情報が送られてくると、設定された時間の待機や管理者による解除を必要とせずに、自動的にロックアウトを解除する方法が記載されている。これは、ユーザＩＤに対して正しいパスワードが入力されて認証に成功した場合に、クライアントにワンタイム情報を送付し、クライアントからサーバに対してワンタイム情報が返送された場合にロックアウトを解除するといった方法である。この方法を用いれば、ロックアウトによる利便性の低下を軽減することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４８９４２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の技術は、クライアントとサーバの双方に対応が必要であり、クライアントがワンタイム情報を取り扱えない場合はロックアウトを解除することができないという課題がある。また、従来の技術は、一旦、ロックアウトしてしまった後に容易にロックアウトを解除するための手段であって、クライアントの処理によって、ユーザが行ったつもりである認証回数よりも少ない回数でロックアウトをしてしまうという課題は解決できていない。
【０００８】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００９】
本発明の特徴は、ユーザが行ったつもりである認証回数よりも少ない回数でロックアウトをしてしまうという事態の発生を防止する技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
ユーザの認証を行う認証手段と、
前記認証手段によりユーザの認証に失敗した回数が所定回数以上になると、当該ユーザによる認証を拒否するロックアウト手段と、
前記認証手段によりユーザの認証に失敗した場合、直前に前記ユーザの認証に失敗した日時と、今回、前記認証手段により前記ユーザの認証に失敗した日時との時間間隔が所定時間以上であれば、前記ユーザの認証に失敗した回数としてカウントし、前記時間間隔が前記所定時間未満であれば、前記ユーザの認証に失敗した回数としてカウントしないように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザが行ったつもりである認証回数よりも少ない回数でロックアウトをしてしまうという事態の発生を防止できるという効果がある。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る情報処理システムを構成するサーバとＰＣのハードウェア構成を説明するブロック図。
【図２】実施形態に係る情報処理システムにおけるＰＣとサーバのロックアウトの制御に関連する機能の概略構成を示すブロック図。
【図３】本実施形態に係る情報処理システムにおいて、ユーザが誤ったパスワードを入力して認証を行った場合の処理の流れを説明するシーケンス図。
【図４】実施形態に係るサーバのロックアウト判定部によって実行される処理を説明するフローチャート。
【図５】実施形態に係るロックアウトテーブルの一例を示す図。
【図６】実施形態に係る認証失敗テーブルの内容例を示す図。
【図７】実施形態において、認証失敗許容時間を設定する設定画面の一例を示す図。
【図８】実施形態に係るプロトコルテーブルの内容例を示す図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１４】
図１は、本発明の実施形態に係る情報処理システムを構成するサーバとＰＣ（クライアント）のハードウェア構成を説明するブロック図である。
【００１５】
実施形態に係る情報処理システムは、情報処理装置の一例であるパーソナルコンピュータ（ＰＣ）１０１とサーバ１０８、これらを互いに接続するネットワーク１０７を備える。尚、この情報処理システムを構成する機器は、図１に示す構成に限定されるものではなく、図示の機器以外に複数の機器がネットワーク１０７に接続されていてもよい。
【００１６】
ＰＣ１０１において、ネットワーク通信部１０２は、ネットワーク１０７を介して外部機器と通信を行う。ＣＰＵ１０３は、記憶装置１０６にインストールされているＯＳやプログラムをＲＡＭ１０４に展開し、それらを実行することによりＰＣ１０１の各種制御を実行する。ＲＡＭ１０４は、ＣＰＵ１０４が実行するプログラムコードや各種情報を一時的に記憶する。記憶装置１０６は、プログラムコードやデータ等を記憶する記憶装置で、例えばハードディスクドライブ（ＨＤＤ）やメモリカード等である。入力部１０５は、ユーザによるＰＣ１０１への入力を受け付ける入力部である。この入力部１０５は、キーやポインティングデバイス等を備える操作部及び表示部を有している。
【００１７】
尚、サーバ１０８の構成も同様に、ネットワーク通信部１１１は、ネットワーク１０７を介して外部機器と通信を行う。ＣＰＵ１０９は、記憶装置１１２にインストールされているＯＳやプログラムをＲＡＭ１１０に展開し、それらを実行することによりサーバ１０８の各種制御を実行する。ＲＡＭ１１０は、ＣＰＵ１０９が実行するプログラムコードや各種情報を一時的に記憶する。記憶装置１１２は、プログラムコードやデータ等を記憶する記憶装置で、例えばハードディスクドライブ（ＨＤＤ）やメモリカード等である。
【００１８】
図２は、実施形態に係る情報処理システムにおけるＰＣ１０１とサーバ１０８のロックアウト制御に関連する機能の概略構成を示すブロック図である。尚、本実施形態では、図示の機能がソフトウェアで構成されており、ＰＣ１０１のＣＰＵ１０３やサーバ１０８のＣＰＵ１０９がこのソフトウェアを実行することによって実現されるものとして説明するが、これら機能はハードウェアにより実現されてもよい。
【００１９】
ロックアウトとは、特定のユーザＩＤに対して不正なパスワードが入力された回数を記録しておき、その回数が予め設定された閾値（所定回数）を超えると、例え正しいパスワードが入力されても、一定時間、そのユーザの認証を拒否する機能である。
【００２０】
ＳＭＢクライアント部２０１は、ＰＣ１０１からネットワーク通信部１０２、ネットワーク１０７を介して、サーバ１０８とＳＭＢ通信を行う。ＳＭＢは、Server Message Blockの略称で、ファイル共有などに用いられる通信プロトコルの一種である。ＳＭＢクライアント部２０１は、入力部１０５を用いたユーザの操作に応じて、ネットワーク通信部１０２、ネットワーク１０７を介してサーバ１０８と通信を行う。この通信の内容は、ＳＭＢ通信のネゴシエーション、認証情報の送受信、ファイルやフォルダ操作を行うためのＳＭＢのコマンドの送受信等である。
【００２１】
次にサーバ１０８の機能について説明する。
【００２２】
ＳＭＢ認証部２０２は、ＳＭＢ通信の際にユーザの認証を行う。ＳＭＢ処理部２０３は、ＰＣ１０１のＳＭＢクライアント部２０１からネットワーク通信部１１１に送られてきたＳＭＢ通信に関する情報の処理を行う。ロックアウト判定部２０４は、ＳＭＢ通信の認証の際に、認証に失敗した回数のカウントやロックアウトに関する判定を行う。
【００２３】
図３は、本実施形態に係る情報処理システムにおいて、ユーザが誤ったパスワードを入力して認証を行った場合の処理の流れを説明するシーケンス図である。尚、本実施形態では、以下に示すデータがサーバ１０８の記憶装置１１２に記憶されているものとして説明する。またサーバ１０８のＩＰアドレスが「１９２.１６８.１.１」であり、ユーザＩＤとして「Username」、パスワードとして「Pass」がサーバ１０８の記憶装置１１２に記憶されているものとする。またロックアウトする認証失敗の回数の閾値は「３」、ロックアウト後に再度認証を受付けるまでの時間（以下、ロックアウト時間）は「３０分」に設定されているものとする。
【００２４】
ＰＣ１０１で、ユーザが入力部１０５で入力することによって起動したＳＭＢクライアント部２０１は、ユーザに入力部１０５を介して、通信先であるサーバ１０８のＩＰアドレス、ユーザＩＤ、パスワードの入力要求を表示する。
【００２５】
まず３０１で、ユーザによって入力部１０５にＩＰアドレス「１９２.１６８.１.１」、ユーザＩＤ「Username」、間違ったパスワード「Password」が入力されて、通信開始が指示される。これによりＳＭＢクライアント部２０１は、その入力された内容をＲＡＭ１０４に記憶する。そして３０２で、ＳＭＢクライアント部２０１は、ネットワーク通信部１０２、ネットワーク１０７を介して、ＲＡＭ１０４に記憶したＩＰアドレスを持つサーバ１０８へＳＭＢのサポートの有無や認証の有無などを問い合わせるネゴシエーションを行う。
【００２６】
サーバ１０８のＳＭＢ処理部２０３は、ネットワーク通信部１１１を介してこのネゴシエーションを受け取ると、３０３で、ＰＣ１０１のネットワーク通信部１０２へＳＭＢ通信がサポートしている範囲や認証が必要である旨を示すサポート情報を送信する。これによりＰＣ１０１のネットワーク通信部１０２は、このサポート情報を受け取り、ＳＭＢクライアント部２０１は、そのサポート情報をＲＡＭ１０４に記憶する。
【００２７】
次に３０４で、ＳＭＢクライアント部２０１は、そのサポート情報に基づいて認証情報が必要であると判断する。そして、ＲＡＭ１０４に記憶したユーザＩＤ「Username」、パスワード「Password」を、ネットワーク通信部１０２を介してサーバ１０８のネットワーク通信部１１１に送信する。
【００２８】
次に３０５で、サーバ１０８のＳＭＢ処理部２０３は、ネットワーク通信部１１１を介してユーザＩＤ、パスワードを受信すると、その受信したユーザＩＤ「Username」、パスワード「Password」をＲＡＭ１１０に保存する。またこのとき、認証に用いたプロトコルとして「ＳＭＢ」を保存する。更にユーザＩＤ、パスワードを保存した日時（以下、認証日時）をＲＡＭ１１０に保存する。
【００２９】
その後、ＳＭＢ処理部２０３は、ロックアウト判定部２０４にロックアウト判定を指示する。ロックアウト判定部２０４は、ＳＭＢ認証部２０２にロックアウト判定結果を通知する。ここで既に３回以上認証に失敗している場合は、ロックアウト判定部２０４からＳＭＢ認証部２０２にロックアウト判定結果としてロックアウトが通知される。ここでは、３回以上認証に失敗していないためロックアウト判定部２０４からのロックアウトが通知されない。ＳＭＢ認証部２０２は、ＰＣ１０１から受信してＲＡＭ１１０に記憶したユーザＩＤとパスワードに一致するユーザＩＤとパスワードが記憶装置１１２に記憶されているか否か、即ち、認証に成功したかどうか判定する。この判定後、ＳＭＢ認証部２０２は、その判定結果をロックアウト判定部２０４とＳＭＢ処理部２０３に通知する。
【００３０】
本実施形態では、３０１で間違ったパスワードが入力されているため、ＲＡＭ１１０と記憶装置１１２のそれぞれに記憶されたユーザＩＤとパスワードが一致しないためＮＧである旨が通知される。このＮＧがロックアウト判定部２０４に通知された場合の処理については後述する。
【００３１】
ＳＭＢ処理部２０３は、ＳＭＢ認証部位２０２からユーザの認証がＮＧである旨が通知されると、３０６で、サーバ１０８のネットワーク通信部１１１を介してＰＣ１０１のネットワーク通信部１０２へ認証結果（ＮＧ）を送信する。
【００３２】
次の３０７〜３０９の処理は、ネットワーク通信部１０２がＮＧを受信したときにＳＭＢクライアント部２０１によって実行されるリトライ処理であって、前述の３０４〜３０６と同等の処理であるため、その説明を省略する。このリトライ処理の結果、ＰＣ１０１のネットワーク通信部１０２がＮＧである旨を受信すると、ＳＭＢクライアント部２０１は、３１０で、入力部１０５にＮＧである表示してユーザに通知する。
【００３３】
従来技術では、サーバがユーザが入力したデータに基づく最初の認証か、認証に失敗した後のリトライ処理による認証であるかを区別できないため、図３の３０５と３０８で、ロックアウト判定の回数が２つカウントされていた。
【００３４】
これに対して実施形態では、ロックアウト判定部２０４による、３０５，３０８の処理によって、ユーザが入力したデータに基づく最初の認証か、認証に失敗した後のＰＣによるリトライ処理による認証であるかを区別して、認証に失敗した回数をカウントする。
【００３５】
次に図４及び図５を参照して、本実施形態に係るロックアウト判定部２０４の処理について説明する。
【００３６】
図４は、実施形態に係るサーバ１０８のロックアウト判定部２０４によって実行される処理を説明するフローチャートである。尚、図４のフローチャートは、ＣＰＵ１０９がＲＡＭ１１０に展開されたプログラムを実行することにより達成される。
【００３７】
図５（Ａ）〜（Ｃ）は、実施形態に係るサーバ１０８のロックアウト判定部２０４によって記憶装置１１２に保存される、ユーザＩＤごとの認証の失敗回数や最終認証の失敗日時のデータを記憶するロックアウトテーブルの一例を示す図である。
【００３８】
図５（Ａ）は、既にユーザＩＤ「Username」のユーザが１回、ユーザＩＤ「shimizu」のユーザが３回認証に失敗している場合のロックアウトテーブルの内容を示している。
【００３９】
ここでは、図３で説明したように、ＰＣ１０１で、ユーザＩＤ「Username」、パスワード「Password」が入力されたときに、ロックアウトテーブルが図５（Ａ）に示す状態とする。また図３の３０４の処理で、ＲＡＭ１１０に保存された認証日時が「２０１２／１／１の１４:３０:０１」である場合に、３０５で実行される処理について説明する。
【００４０】
ロックアウト判定部２０４は、ＳＭＢ処理部２０３からロックアウト判定指示を受けると、Ｓ４０１に進む。Ｓ４０１でロックアウト判定部２０４は、図５（Ａ）のロックアウトテーブルに基づき、ＲＡＭ１１０に保存されたユーザＩＤの認証の失敗回数が閾値（「３」）を超えている（所定回数以上）か否かを判定する。ロックアウト判定部２０４は、ＲＡＭ１１０に保存されたユーザＩＤ「Username」の認証の失敗回数は図５（Ａ）より「１」であるため、記憶装置１１２に保存された閾値の「３」を超えていないと判定してＳ４０５に遷移する。一方、認証の失敗回数が閾値を超えている場合はＳ４０２に遷移する。
【００４１】
Ｓ４０２でロックアウト判定部２０４は、ＲＡＭ１１０に保存された認証日時と、ロックアウトテーブルに保存された最終認証失敗日時とに基づいて、記憶装置１１２に保存されたロックアウト時間内であるか否か判定する。このロックアウト時間とは、ロックアウト判定部２０４が認証をロックアウトすべきと判定してロックアウト機能をオンにしている時間である。従って、この時間内であれば、正しいユーザの認証情報が入力されても、ＳＭＢ認証部２０２が、そのユーザを認証することはない。よって、Ｓ４０２でロックアウト時間内であると判定した場合はＳ４０３に進み、ロックアウト判定部２０４は、ＳＭＢ認証部２０２に認証がロックアウトされている旨を通知して。この処理を終了する。ここでＳＭＢ認証部２０２がロックアウト判定部２０４からロックアウトの通知を受け取った後の処理は、図３の３０６で説明した通り、サーバ１０８のネットワーク通信部１１１を介してＰＣ１０１のネットワーク通信部１０２へＮＧである旨を送信する。
【００４２】
一方、Ｓ４０２でロックアウト判定部２０４がロックアウト時間外であると判定した場合は処理をＳ４０４に進める。Ｓ４０４で、ロックアウト判定部２０４は、ＲＡＭ１１０に記憶されたユーザＩＤと一致する、ロックアウトテーブル中のユーザＩＤの認証の失敗回数を「０」にしてＳ４０５に遷移する。Ｓ４０５でロックアウト判定部２０４は、ＳＭＢ認証部２０２にユーザの認証を指示する。そしてＳ４０６に進みロックアウト判定部２０４は、ＳＭＢ認証部２０２からの通知に基づいてユーザの認証に失敗したか否かを判定する。ここでは、図３の３０４，３０５で説明したように、ユーザの認証に失敗したと判定されるとＳ４０７に遷移する。一方、Ｓ４０６でユーザの認証に成功したと判定された場合はＳ４１３に遷移する。Ｓ４１３でロックアウト判定部２０４は、ＲＡＭ１１０に記憶されたユーザＩＤと一致する、ロックアウトテーブル（図５）のユーザＩＤの認証失敗回数を「０」にして、この処理を終了する。
【００４３】
Ｓ４０６でユーザの認証に失敗したときはＳ４０７に進みロックアウト判定部２０４は、ＲＡＭ１１０に保存された、認証に失敗したユーザＩＤとパスワードと同一のユーザＩＤ、パスワードが、既に認証失敗テーブルに記憶されているか否かを判定する。Ｓ４０７で認証失敗テーブル（図６）に記憶されていないと判定するとＳ４１２に進み、ロックアウト判定部２０４は、ＲＡＭ１１０に保存された、認証に失敗したユーザＩＤとパスワード、及びその認証失敗日時を認証失敗テーブルに登録してＳ４１０に進む。
【００４４】
一方、Ｓ４０７で、認証に失敗したユーザＩＤとパスワードと同一のユーザＩＤ、パスワードが認証失敗テーブルに記憶されている場合、ロックアウト判定部２０４の処理はＳ４０８に遷移する。
【００４５】
図６は、実施形態に係るサーバ１０８の記憶装置１１２に保存される、ユーザＩＤごとの認証失敗時のパスワードと最終認証の失敗日時のデータを模式的に表現した認証失敗テーブルの内容例を示す図である。
【００４６】
例えば、図６（Ａ）において、ユーザＩＤ「Username」でパスワード「３２１」が入力されて、最後に認証に失敗した日時が「２０１２／１／１ ９:３０:００」であることが登録されている。図３の３０５の処理では、サーバ１０８の記憶装置１１２に、図６（Ａ）に示す認証失敗テーブルが記憶されているものとして説明する。図３の３０５の処理では、ロックアウト判定部２０４は、ＲＡＭ１１０に記憶されたユーザＩＤ「Username」、パスワード「Password」と、記憶装置１１２に記憶されている認証失敗テーブル（図６（Ａ））とを比較する。この場合は、ユーザＩＤ「Username」とパスワード「Password」の組が記憶されていないため、認証失敗テーブルに記憶されていないと判定してＳ４０７からＳ４１２に遷移する。Ｓ４１２でロックアウト判定部２０４は、ＲＡＭ１１０に保存されたユーザＩＤ、パスワード、認証日時を記憶装置１１２の認証失敗テーブルに保存してＳ４１０に遷移する。Ｓ４１２の処理により、図６（Ａ）の認証失敗テーブルは、図６（Ｂ）に示すような認証失敗テーブルに更新される。よって図３の３０８の処理では、図６（Ｂ）に示す認証失敗テーブルが利用されることになる。
【００４７】
一方、Ｓ４０７で、ロックアウト判定部２０４によって、認証失敗テーブルにＲＡＭ１１０と同一のユーザＩＤ、パスワードが記憶されていると判定された場合はＳ４０８に遷移する。Ｓ４０８でロックアウト判定部２０４は、ＲＡＭ１１０に記憶されたユーザＩＤとパスワードの認証日時と、記憶装置１１２の認証失敗テーブルに記憶している、そのユーザＩＤとパスワードと一致する行の最終認証失敗日時とを比較する。即ち、そのユーザＩＤによる直前のユーザ認証と、今回の、そのユーザＩＤによるユーザ認証との時間間隔を求める。この結果、最終認証失敗日時から、ＲＡＭ１１０に記憶されたユーザＩＤとパスワードの認証日時までの時間間隔が、予め設定された認証失敗許容時間を超えている場合は所定時間以上が経過していると判定する。この場合は、ＰＣ１０１によるリトライではないと判定し、ロックアウト判定部２０４の処理はＳ４０９に遷移する。即ち、Ｓ４０９でロックアウト判定部２０４は、ＲＡＭ１１０に記憶されたユーザＩＤと一致する、ロックアウトテーブルの最終認証失敗日時を更新する。そしてＳ４１０に進みロックアウト判定部２０４は、ＲＡＭ１１０に記憶されたユーザＩＤと一致する、ロックアウトテーブルのユーザＩＤの認証失敗回数に１を加算する。そして、この処理を終了する。
【００４８】
一方、Ｓ４０８で所定時間が経過していない（所定時間未満）と判定した場合は、ＰＣ１０１による自動的なリトライであると判定してＳ４１１に遷移する。この場合は、対応する認証失敗の日時を更新するが、認証失敗の回数としてカウントせずに、この処理を終了する。
【００４９】
図７は、実施形態において、認証失敗許容時間を設定する設定画面の一例を示す図である。
【００５０】
図７では、認証失敗許容時間として２秒が設定されている例を示している。この場合は、同一のユーザＩＤとパスワードを使用したユーザの認証が、以前認証に失敗してから２秒以内に再度入力されると、その認証失敗は、認証失敗回数としてカウントされないことを示している。図７において、時間設定欄７０１に、所望する時間（秒）を入力して「ＯＫ」ボタン７０２を指示することにより、所望の認証失敗許容時間を設定することができる。こうして設定された認証失敗許容時間は、記憶装置１１２に記憶される。尚、この認証失敗許容時間は、ユーザによる認証の失敗と、ＰＣ１０１によるリトライ処理による認証の失敗とを識別するために利用される時間である。このため、適切に設定されなかった場合は、悪意のあるユーザによる認証のリトライを際限なく許可することになるため、注意が必要である。
【００５１】
このように、前回、ユーザの認証に失敗してから、次にそのユーザの認証がなされて認証に失敗するまでの認証許容時間を設定し、その認証許容時間内であれば認証の失敗として計数しないことにより、ＰＣによる認証リトライのエラーの計数を回避できる。一般には、ユーザが手動で認証のリトライを行う場合は、そのリトライ時間間隔は少なくとも数秒を要する。これに対して、コンピュータによる自動の認証リトライでは、そのリトライ時間間隔は１秒を超えることはないと思われる。従って図７のような画面で、その時間間隔を設定することにより、ユーザによる手動の認証リトライと、ＰＣによる認証のリトライとを区別できる。
【００５２】
図８は、図４のＳ４１０で、認証プロトコルごとの認証の失敗回数をカウントする際、予め定義されているプロトコルテーブルの内容例を示す図である。
【００５３】
図８では、「ＳＭＢ」による認証の失敗時は、Ｓ４１０の処理で認証の失敗回数として「１」が加算される。一方、「Local」による認証の失敗時は、Ｓ４１０の処理で認証の失敗回数として「０.５」が加算されることを示している。尚、「Local」は、サーバ１０８の入力部（不図示）を用いたサーバ１０８への認証を示す。図３の３０５の処理では、ＲＡＭ１１０に保存された認証プロトコル「ＳＭＢ」から認証失敗回数の加算される数として「１」を取得し、図５（Ａ）から図５（Ｂ）のように、記憶装置１１２に記憶されたロックアウトテーブルを更新する。図５（Ｂ）では、前回、ユーザＩＤ「Username」で「２０１２／１／１  １４：２０」で認証に失敗してから１０分後（２秒以上後）に、同じユーザＩＤで認証に失敗している。従って、この場合は、ユーザＩＤ「Username」に対応する最終認証失敗時間は「２０１２／１／１  １４：３０」となり、認証失敗回数は「３」に更新されている。
【００５４】
また図４のＳ４１１ではロックアウト判定部２０４は、図６（Ａ）の認証失敗テーブルの中でＲＡＭ１１０に保存されたユーザＩＤ、パスワードと一致する行の最終認証失敗日時を更新し、処理を終了する。ここでは図３で説明したように、ユーザＩＤ「Username」、パスワード「Password」が入力されるため、図６（Ｂ）のように、ユーザＩＤ「Username」、パスワード「Password」と最終認証失敗日時が認証失敗テーブルに追加される。
【００５５】
例えば、図３の３０７の処理で、サーバ１０８のＲＡＭ１１０に保存された認証日時が「２０１２／１／１ １４:３０:０１」であると仮定したとき、図３の３０８で実行される処理について説明する。この際、利用されるロックアウトテーブルは、図３の３０５の処理によって更新されて図５（Ｂ）のごとくであるとする。このときの認証失敗テーブルは、図６（Ｂ）に示される。図３の３０８における図４のＳ４０１，Ｓ４０５の処理は、図３の３０５の場合と同様であるため、その説明を省略する。
【００５６】
図４のＳ４０７でロックアウト判定部２０４は、ＲＡＭ１１０に記憶されたユーザＩＤとパスワードが図５のロックアウトテーブルに保存されているため、同一のユーザＩＤとパスワードが、既に記憶されていると判定してＳ４０８に遷移する。Ｓ４０８でロックアウト判定部２０４は、ＲＡＭ１１０に保存されたユーザＩＤとパスワードを用いて、図６（Ｂ）の認証失敗テーブルから最終認証失敗日時「２０１２／１／１ １４:３０:００」を取得する。次にロックアウト判定部２０４は、記憶装置１１２から取得した認証失敗許容時間「２」（秒）と最終認証失敗日時から、現在の認証日時が「２０１２／１／１ １４:３０:０２」より前であれば、Ｓ４０８で一定時間が経過していないと判定する。ここでは、ＲＡＭ１１０に保存された認証日時が「２０１２／１／１ １４:３０:０１」であるため、ロックアウト判定部２０４は、一定時間が経過していないと判定してＳ４１１に遷移する。Ｓ４１１でロックアウト判定部２０４は、ＲＡＭ１１０に保存されたユーザＩＤ「Username」、パスワード「Password」と一致する、認証失敗テーブルの行の最終認証失敗日時を「２０１２／１／１ １４:３０:０１」に更新する。Ｓ４１１の処理では図６（Ｂ）から図６（Ｃ）に示すように認証失敗テーブルが更新される。そして、この場合は、図５（Ｂ）に示すロックアウトテーブルは、図５（Ｃ）に示すように更新される。即ち、ユーザＩＤ「Username」の最終認証失敗日時が「２０１２／１／１ １４:３１」に更新されているが、認証失敗回数は図５（Ｂ）と同様に「２」のままである。
【００５７】
以上説明したように本実施形態によれば、一定時間内の同一ユーザＩＤ、同一パスワードによる認証失敗は、ロックアウトの認証失敗の回数としてカウントしない。これにより、クライアントＰＣによって行われるリトライ処理による認証失敗と、ユーザによる認証処理による認証の失敗回数とを区別できる。こうしてユーザが実際にユーザの認証を行って失敗した回数と、ロックアウト用にカウントされた回数とが一致するため、ユーザが予期しないロックアウトを防ぐことができる。
【００５８】
また、ユーザによる認証失敗の回数をカウントする際、ユーザが入力したパスワードが一致したかどうかまで確認するため、ロックアウト機能が担っているパスワードを探索する攻撃に対するセキュリティを低下させることなく、その利便性を向上できる。
【００５９】
また、機器が複数の認証手段を有している状態で、従来技術を用いてロックアウトを行おうとすると、各認証手段ごとにロックアウトする認証失敗回数を適切に設定する必要があり、管理者の設定の手間がかかるという課題があった。リトライ処理が行われる認証手段と、リトライ処理が行われない認証手段で、ロックアウトするまでの認証失敗回数を同じにすると、前者の認証手段のみすぐにロックアウトしてしまい、ユーザの利便性が損なわれるためである。
【００６０】
これに対して実施形態では、リトライ処理における認証の失敗回数はカウントされないため、認証手段によらず、ロックアウトするまでの認証の失敗回数を同じに設定できるため、管理者の設定の手間を軽減することができる。
【００６１】
尚、本実施形態ではネットワークを介して認証を行うプロトコルの一例として、ＳＭＢを用いて説明したが、そのほかのプロトコルであってもよい。
【００６２】
また実施形態では、サーバとクライアントＰＣというように別々の機器の間でネットワークを介して認証を行う場合について説明したが、単一の機器で認証を行うような構成であってもよい。
【００６３】
また実施形態では、図５のロックアウトテーブルと図６の認証失敗テーブルは別々のものとして説明したが、単一のＤＢなどで管理してもよい。
【００６４】
また実施形態では、図８のようなプロトコルテーブルによって、認証プロトコルに応じて認証の失敗回数の加算数を変更するような例について説明したが、全ての認証プロトコルで同一の加算値を設定してもよい。
【００６５】
以上説明したように本実施形態によれば、クライアントで特別な対応をすることなく、サーバの対応だけで、クライアントの処理に起因した、ユーザの予期しないロックアウトを防ぐことができる。
【００６６】
また、クライアントによって行われるリトライ処理による認証の失敗回数が、ロックアウト機能を実行するか否かの判断残量となる回数としてカウントされない。このため、ロックアウトするまでの認証失敗の回数が、ユーザが行った認証の失敗回数と一致し、ユーザが予期しないロックアウトを防ぐことができる。
【００６７】
また、ユーザによる認証の失敗回数をカウントする場合、ユーザのユーザＩＤ，ユーザが入力したパスワードの組で失敗回数を確認するため、ロックアウト機能が意図しているパスワードを探索する攻撃に対するセキュリティを維持できる。
【００６８】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015072527.tif 000003
【図２】
2015072527.tif 000004
【図３】
2015072527.tif 000005
【図４】
2015072527.tif 000006
【図５】
2015072527.tif 000007
【図６】
2015072527.tif 000008
【図７】
2015072527.tif 000009
【図８】
2015072527.tif 000010