(57)【特許請求の範囲】
【請求項１】
パスワード試行によるパスワード診断を行う診断手段と、
前記パスワード診断に係る時刻を記録する記録手段と、
前記記録手段によって記録された前回のパスワード診断に係る時刻を前回時刻として取得し、またパスワード診断の要否を判定するための基準時刻としてパスワード変更時刻を取得する情報取得手段と、
前記前回時刻が、前記パスワード変更時刻よりも古いか否かを判定する判定手段と、を備え、
前記診断手段は、前記判定手段によって、前記前回時刻が前記パスワード変更時刻よりも古いと判定された場合に、前記パスワード診断を行う、
情報処理装置。
【請求項２】
パスワード試行によるパスワード診断を行う診断手段と、
前記パスワード診断に係る時刻を記録する記録手段と、
前記記録手段によって記録された前回のパスワード診断に係る時刻を前回時刻として取得し、またパスワード診断の要否を判定するための基準時刻としてパスワード変更時刻および現在時刻を取得する情報取得手段と、
前記前回時刻が前記パスワード変更時刻よりも古いか否か、および該前回時刻が現在時刻よりも所定時間以上古いか否かを判定する判定手段と、を備え、
前記診断手段は、前記判定手段によって、前記前回時刻が前記パスワード変更時刻よりも古いと判定されたか、または該前回時刻が現在時刻よりも所定時間以上古いと判定された場合に、前記パスワード診断を行う、
情報処理装置。
【請求項３】
コンピュータが、
パスワード試行によるパスワード診断を行う診断ステップと、
前記パスワード診断に係る時刻を記録する記録ステップと、
前記記録ステップにおいて記録された前回のパスワード診断に係る時刻を前回時刻として取得し、またパスワード診断の要否を判定するための基準時刻としてパスワード変更時刻を取得する情報取得ステップと、
前記前回時刻が、前記パスワード変更時刻よりも古いか否かを判定する判定ステップと
、を実行し、
前記診断ステップでは、前記判定ステップにおいて、前記前回時刻が前記パスワード変更時刻よりも古いと判定された場合に、前記パスワード診断が行われる、
パスワード診断方法。
【請求項４】
コンピュータが、
パスワード試行によるパスワード診断を行う診断ステップと、
前記パスワード診断に係る時刻を記録する記録ステップと、
前記記録ステップにおいて記録された前回のパスワード診断に係る時刻を前回時刻として取得し、またパスワード診断の要否を判定するための基準時刻としてパスワード変更時刻および現在時刻を取得する情報取得ステップと、
前記前回時刻が前記パスワード変更時刻よりも古いか否か、および該前回時刻が現在時刻よりも所定時間以上古いか否かを判定する判定ステップと、を実行し、
前記診断ステップでは、前記判定ステップにおいて、前記前回時刻が前記パスワード変更時刻よりも古いと判定されたか、または該前回時刻が現在時刻よりも所定時間以上古いと判定された場合に、前記パスワード診断が行われる、
パスワード診断方法。
【請求項５】
コンピュータに、
パスワード試行によるパスワード診断を行う診断ステップと、
前記パスワード診断に係る時刻を記録する記録ステップと、
前記記録ステップにおいて記録された前回のパスワード診断に係る時刻を前回時刻として取得し、またパスワード診断の要否を判定するための基準時刻としてパスワード変更時刻を取得する情報取得ステップと、
前記前回時刻が、前記パスワード変更時刻よりも古いか否かを判定する判定ステップと、を実行させ、
前記診断ステップでは、前記判定ステップにおいて、前記前回時刻が前記パスワード変更時刻よりも古いと判定された場合に、前記パスワード診断が行われる、
パスワード診断用プログラム。
【請求項６】
コンピュータに、
パスワード試行によるパスワード診断を行う診断ステップと、
前記パスワード診断に係る時刻を記録する記録ステップと、
前記記録ステップにおいて記録された前回のパスワード診断に係る時刻を前回時刻として取得し、またパスワード診断の要否を判定するための基準時刻としてパスワード変更時刻および現在時刻を取得する情報取得ステップと、
前記前回時刻が前記パスワード変更時刻よりも古いか否か、および該前回時刻が現在時刻よりも所定時間以上古いか否かを判定する判定ステップと、を実行させ、
前記診断ステップでは、前記判定ステップにおいて、前記前回時刻が前記パスワード変更時刻よりも古いと判定されたか、または該前回時刻が現在時刻よりも所定時間以上古いと判定された場合に、前記パスワード診断が行われる、
パスワード診断用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワード診断に関する。
【背景技術】
【０００２】
被対策コンピュータに登録されているユーザ識別子情報を取得するとともに、１つ又は複数の脆弱なパスワードを生成し、そのユーザ識別子情報及び脆弱パスワードを指定して被対策コンピュータへのログオンを試行し、その試行に成功する場合に、その試行成功で用いたユーザ識別子情報及び脆弱パスワードを指定する被対策コンピュータへのログオン要求を妨害するための処理を行うセキュリティ対策効果出力装置がある（特許文献１を参照）。
【０００３】
また、パスワード長の確認及び文字種の確認がなされたパスワードのハッシュ値を辞書データベースに蓄積されたハッシュ値と比較して、蓄積された見出し語のハッシュ値と適合するか否かの判定を行い、適合しなかった場合に当該パスワードのハッシュ値を登録するパスワード選定支援システムがある（特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２５６３６９号公報
【特許文献２】特開２００１−１３４４９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
コンピュータシステムにおいてユーザが設定したパスワードが推測容易なパスワードであった場合、パスワードの推測に成功した第三者やマルウェア等にシステムが利用される虞が高まる。このため、システム管理者は、ユーザが設定したパスワードが推測容易でない適切なパスワードであることを確認し、システムのセキュリティを維持する必要がある。
【０００６】
そこで、従来、パスワードの変更には古いパスワードが必要であることから、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）呼び出しにより推測容易なパスワードを用いてパスワードの変更を試行し、変更が実施できた場合に脆弱なパスワードが用いられていると判断するパスワード診断方法や、推測容易なパスワードを用いてシステムへのログインを試行し、ログインに成功した場合に脆弱なパスワードが用いられていると判断するパスワード診断方法等が用いられている。
【０００７】
しかし、上記のようなパスワード試行によるパスワード診断方法では、パスワード試行に失敗したという記録がシステムのログに残る。このため、パスワード診断によって、パスワードの試行に失敗したことを示すログが増加すると、システムまたは管理者は、パスワード診断に起因するログと本物の攻撃（悪意のパスワード解析行為）に起因するログとの判別が困難となり、本物の攻撃を見逃してしまう可能性が高まるという問題があった。
【０００８】
本発明は、上記した問題に鑑み、悪意のパスワード解析行為を見逃してしまう可能性を極力高めることなく、パスワード試行によるパスワード診断を行うことを課題とする。
【課題を解決するための手段】
【０００９】
本発明では、上記課題を解決するために、以下の手段を採用した。即ち、本発明は、パスワード試行によるパスワード診断を行う診断手段と、前記パスワード診断に係る時刻を記録する記録手段と、前記記録手段によって記録された前回のパスワード診断に係る時刻を前回時刻として取得し、またパスワード診断の要否を判定するための基準時刻を取得する情報取得手段と、前記前回時刻が、前記基準時刻を基準とする所定の条件に合致するか否かを判定する判定手段と、を備え、前記診断手段は、前記判定手段によって、前記前回時刻が前記基準時刻を基準とする所定の条件に合致すると判定された場合に、前記パスワード診断を行う、情報処理装置である。
【００１０】
ここで、パスワード診断とは、システムにおいてユーザが設定したパスワードが推測容易なパスワードであるか否かを診断する処理である。本発明に係る情報処理装置は、パスワード診断のために、推測容易なパスワードを用意し、用意されたパスワードが、設定されているパスワードと一致するか否かを判定する、パスワード試行による方法を採用している。なお、パスワード試行の方法には、実際にシステムのインターフェースを介して用意されたパスワードを入力する方法の他、システムのＡＰＩを呼び出して用意されたパスワードを実際にシステムに渡す方法や、パスワードに係る情報が含まれるデータを取得して用意されたパスワードと比較する方法（例えば、設定されているパスワードのハッシュ値を取得して、用意された推測容易なパスワードのハッシュ値と比較する方法）等、様々な方法が採用されてよい。
【００１１】
推測容易なパスワードとしては、例えば、システムのユーザ識別子（ログインＩＤやユーザ名）と同一であるパスワードや、同一種類の文字のみからなるパスワード、辞書に存在する単語がそのまま用いられているパスワード、一般的に用いられているパスワード等がある。また、本発明にいう「時刻」は、時間の経過における前後関係を比較可能な情報であればよく、例えば、日時を示す情報、日付のみを示す情報、等がある。
【００１２】
本発明は、前回のパスワード診断に係る前回時刻が、基準時刻を基準とする所定の条件に合致する場合に、パスワード診断を行うようにすることで、パスワード診断における試行頻度を減らすことを可能としている。本発明によれば、このようにしてパスワード診断におけるパスワード試行の頻度を低減することで、システムのログに残るパスワード試行失敗の履歴を減らし、実際の攻撃の見逃し防止やリソース利用の効率化が達成される。
【００１３】
また、本発明において、前記基準時刻は、パスワード変更時刻であり、前記診断手段は、前回時刻がパスワード変更時刻よりも古い場合に、パスワード診断を行ってもよい。
【００１４】
前回時刻がパスワード変更時刻よりも古い（前である）場合に、パスワード診断を行うようにすることで、前回のパスワード診断が完了してからパスワードの変更が行われておらず、パスワード診断済みのパスワードが用いられている場合には、パスワードの診断を抑制し、パスワード試行によって記録されるシステムのログを抑制することが出来る。
【００１５】
また、本発明において、前記基準時刻は、現在時刻であり、前記診断手段は、前回時刻が現在時刻よりも所定時間以上古い場合に、パスワード診断を行ってもよい。
【００１６】
前回時刻が現在時刻よりも所定時間以上古い（前である）場合に、パスワード診断を行うようにすることで、パスワードの変更の有無に拘らず、前回の診断から所定時間が経過した場合に、前回の診断結果を無効として、改めてパスワード診断を行うことが出来る。
【００１７】
また、本発明において、前記基準時刻は、パスワード変更時刻および現在時刻であり、前記診断手段は、前回時刻がパスワード変更時刻よりも古いか、または現在時刻よりも所定時間以上古い場合に、パスワード診断を行ってもよい。
【００１８】
前回時刻がパスワード変更時刻よりも古いか、または現在時刻よりも所定時間以上古い場合に、パスワード診断を行うようにすることで、前回のパスワード診断の後にパスワードが変更されたか、前回のパスワード診断から所定時間が経過したか、の何れかの条件に合致する場合にパスワード試行を実行することが出来、システムの状態をよりセキュアに保つことが出来る。
【００１９】
更に、本発明は、コンピュータによって実行される方法、又はコンピュータによって実行されるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【００２０】
本発明によれば、悪意のパスワード解析行為を見逃してしまう可能性を極力高めることなく、パスワード試行によるパスワード診断を行うことが可能となる。
【図面の簡単な説明】
【００２１】
【図１】実施形態に係るコンピュータシステムの構成を示す概略図である。
【図２】実施形態に係るユーザ端末の機能構成の概略を示す図である。
【図３】実施形態に係るパスワード診断処理の流れを示すフローチャートである。
【図４】実施形態に係るパスワード診断処理のバリエーションを示すフローチャートである。
【図５】実施形態に係るパスワード診断処理のバリエーションを示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、本発明の実施の形態の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明を実施するにあたっては、実施の形態に応じた具体的構成が適宜採用されることが好ましい。
【００２３】
＜システムの構成＞
図１は、本実施形態に係るコンピュータシステム１の構成を示す概略図である。本実施形態において、本発明に係る情報処理装置は、ユーザによって利用されるユーザ端末１０として実施される。本実施形態に係るコンピュータシステム１は、１または複数のユーザ端末１０と、ユーザ端末１０に対して管理サービスを提供する管理サーバ３０と、管理者によって操作され、管理サーバ３０に対する各種設定を行う管理者端末９０と、を備える。コンピュータシステム１において、ユーザ端末１０、管理サーバ３０、および管理者端末９０は、ネットワーク９を介して互いに通信可能に接続されている。なお、ネットワーク９としては、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を用いることが出来る。但し、ネットワーク９としては、ＬＡＮの他、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、携帯電話網、専用回線、プライベートネットワーク、イントラネット等が相互に接続されたものを用いることとしてもよい。
【００２４】
ユーザ端末１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤＤ
（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置１４、通信ユニット１５、ディスプレイやマウス、キーボード等の入出力装置１６、等を備えるコンピュータである。また、ユーザ端末１０は、入出力装置としてタッチパネルディスプレイやスピーカ、ディスプレイ、プリンタ、カードリーダ、等を備えていてもよい。
【００２５】
ＣＰＵ１１は、中央処理装置であり、ＲＡＭ１３等に展開された命令及びデータを処理することで、ＲＡＭ１３、記憶装置１４、入出力装置１６等を制御する。ＲＡＭ１３は、主記憶装置であり、ＣＰＵ１１によって制御され、各種命令やデータが書き込まれ、読み出される。記憶装置１４は、不揮発性の記憶装置であり、主にユーザ端末１０の電源を落としても保持したい情報が書き込まれ、読み出される。入出力装置１６は、ＣＰＵ１１によって制御され、出力された表示データを表示し、ユーザによる操作を受け付ける。入出力装置１６から入力された内容はＲＡＭ１３に記録され、ＣＰＵ１１によって処理される。
【００２６】
記憶装置１４には、ＲＡＭ１３にロードされてＣＰＵ１１によって実行されるユーザ端末１０のＯＳの他、管理サーバ３０によってユーザ端末１０を管理させるためのエージェントソフトが記憶されている。エージェントソフトは、パスワード診断用プログラムを含む。
【００２７】
本実施形態において、ユーザ端末１０は、パスワード診断用プログラムを実行する事で、ユーザがユーザ端末１０のシステムに設定したパスワードが妥当なパスワードであるか否かを判定する。一般に、設定されたパスワード情報はシステムによって秘匿される。このため、本実施形態において、ユーザ端末１０は、設定済みのパスワードの妥当性を確認するために、システムに対してパスワード入力を試みる手法を用いる。但し、診断対象のパスワードは、システムに設定されたものでなくてもよい。例えば、診断対象のパスワードは、ユーザ端末１０において用いられる個別のアプリケーションに対して設定されたものであってもよいし、ユーザ端末１０を用いてネットワークを介して利用するサービスについて設定されたものであってもよい。
【００２８】
記憶装置１４には、ＯＳによって管理されるパスワードハッシュ（パスワードのハッシュ値）およびシステムのログが記録される。本実施形態に係るユーザ端末１０のＯＳは、パスワードが漏洩することを防止するため、パスワードを平文で保持することはせずに、パスワードのハッシュ値のみを保持する。ユーザ端末１０は、ユーザによってパスワードが設定されると、パスワードのハッシュ値を計算し、パスワードを設定したユーザと関連付けてパスワードのハッシュ値を記憶装置１４に記録する。通常のログインでは、ユーザ端末１０は、ユーザによってパスワードが入力されると、入力されたパスワードのハッシュ値を計算し、記憶装置１４に記録されているパスワードハッシュと比較する。比較の結果、入力されたパスワードのハッシュ値と記憶装置１４に記録されているパスワードハッシュとが一致すれば、ログインが許可され、一致しない場合、ログインが拒否される。
【００２９】
また、ユーザ端末１０のＯＳは、ユーザによるユーザ端末（システム）１０の利用に伴って、記憶装置１４にシステムのログを記録する。システムのログには、ユーザのログインの履歴やユーザによる操作の履歴、システムによる処理や通信の履歴等が保持される。また、本実施形態に係るユーザ端末１０は、システムのログとして、誤ったパスワードが入力されたこと（ログインの失敗）を蓄積する。
【００３０】
更に、記憶装置１４には、エージェントソフトによって管理される診断結果および結果キャッシュファイルが記録される。エージェントソフトを実行するユーザ端末１０は、記憶装置１４に、後述するパスワード診断処理の結果を、ユーザ毎またはシステム毎に蓄積する。また、エージェントソフトを実行するユーザ端末１０は、ユーザ毎またはシステム
毎の最後の（前回の）パスワード診断結果を、結果キャッシュとして、記憶装置１４上の結果キャッシュファイルに保存する。本実施形態において、結果キャッシュには、最後に完了したパスワード診断に係る時刻を示す前回時刻情報、および最後に完了したパスワード診断の診断結果（前回診断結果）が含まれる。システムには複数のユーザアカウントが設定されている場合があるため、結果キャッシュファイルには、ユーザ毎の複数の結果キャッシュが含まれ得る。
【００３１】
なお、本実施形態では、結果キャッシュが、ファイルシステム上のファイルである結果キャッシュファイルに保存される場合について説明する。但し、結果キャッシュは、ファイルシステム上のファイルの他、メモリ上の領域やレジストリ、リモートに接続された記憶装置等、その他の保存先に保存されてもよい。
【００３２】
本実施形態において、管理サーバ３０は、ユーザ端末１０と同様、ＣＰＵ３１、ＲＡＭ３３、ＲＯＭ３２、ＨＤＤ等の記憶装置３４、通信ユニット３５、等が互いに接続されたコンピュータである。
【００３３】
管理サーバ３０の記憶装置３４には、ポリシー、各ユーザ端末１０の診断結果が保持される。ここで、ポリシーとは、管理サーバ３０によって、エージェントソフト等を介してユーザ端末１０に適用される、ユーザ端末１０の管理方針を示す情報である。ポリシーには、ユーザ端末１０のシステムに設定されるべき内容や、ユーザ端末１０において運用されるべきソフトウェアの指定、当該ソフトウェアの設定内容等、ユーザ端末１０の管理に関する様々な方針が含まれる。ここで、本実施形態では、ポリシーに、ユーザ端末１０におけるパスワード診断に用いられるべき推測容易なパスワードが指定されていてもよい。ポリシーに、パスワード診断に用いられるべき推測容易なパスワードが指定されている場合、ユーザ端末１０は、後述するパスワード診断処理において、パスワード試行に用いるパスワードの少なくとも一部を、管理サーバ３０から取得することで用意する。
【００３４】
また、管理サーバ３０は、ユーザ端末１０から通知された診断結果（後述するステップＳ１０９を参照）を、診断結果に係るユーザ情報に関連付けて、記憶装置３４に蓄積する。管理者は、管理者端末９０を用いて管理サーバ３０に接続し、管理サーバ３０によるユーザ端末１０の管理のための各種ポリシーの設定、および各ユーザ端末１０の診断結果の閲覧を行うことが出来る。
【００３５】
図２は、本実施形態に係るユーザ端末１０の機能構成の概略を示す図である。ユーザ端末１０は、記憶装置１４に記録されているプログラムが、ＲＡＭ１３に読み出され、ＣＰＵ１１によって解釈および実行されることで、情報取得部２１、判定部２２、診断部２３、記録部２４、および通知部２５を備える情報処理装置として機能する。なお、本実施形態では、情報処理装置の備える各機能は、汎用プロセッサであるＣＰＵ１１によって実行されるが、これらの機能の一部または全部は、１または複数の専用プロセッサによって実行されてもよい。
【００３６】
なお、本実施形態では、本発明の情報処理装置によって実行される処理が、全てユーザ端末１０によって実行される場合について説明している。但し、ユーザ端末１０によって実行される処理の一部は、管理サーバ３０や、ユーザ端末１０に接続された他の装置によって実行されてよい。この場合、ユーザ端末１０と管理サーバ３０または他の装置との組み合わせが、本発明に係る情報処理装置に相当する。
【００３７】
＜処理の流れ＞
次に、本実施形態に係るコンピュータシステム１によって実行される処理の流れを、フローチャートを用いて説明する。
【００３８】
図３は、本実施形態に係るパスワード診断処理の流れを示すフローチャートである。本実施形態に係るパスワード診断処理は、ユーザ端末１０において、定期的に開始される。但し、パスワード診断処理は、予め設定された時刻が到来したこと、前回のパスワード診断処理から一定時間以上経過したこと、ユーザによるログイン処理が行われたこと、または管理者等（ユーザであってもよい）からパスワード診断処理の実行の指示が為されたこと、等を契機として開始されてもよい。このようにして、パスワード診断処理自体の実行回数を抑制することによっても、パスワードの試行に失敗したことを示すシステムログを減らすことが出来る。なお、本フローチャートに示された処理の具体的な内容および処理順序は、本発明を実施するための一例である。具体的な処理内容および処理順序は、本発明の実施の形態に応じて適宜選択されてよい。
【００３９】
ステップＳ１０１では、ＯＳより、変更時刻情報が取得される。ユーザ端末１０の情報取得部２１は、システムから、当該システムにアカウントを持つあるユーザ（パスワード診断の対象ユーザ）に係る変更時刻情報を取得する。変更時刻情報は、例えば、パスワードが変更された日時や日付を特定可能な情報である。具体的には、情報取得部２１は、ＡＰＩやシステムコールの発行、システムのログファイルの解析等によって、変更時刻情報を取得することが出来る。但し、変更時刻情報の取得のための具体的な方法は、これらの例に限定されるものではない。
【００４０】
なお、ステップＳ１０１で取得された変更時刻情報は、後述するステップＳ１０４において、パスワード試行の要否を決定するための基準時刻情報として用いられる。本フローチャートに示された処理では、基準時刻情報として変更時刻情報が用いられるが、変更時刻情報に代えて、基準時刻情報として、パスワード入力時刻情報（ログイン成功時刻情報、コンソールロック解除時刻情報等）が取得されてもよい。その後、処理はステップＳ１０２へ進む。
【００４１】
ステップＳ１０２では、パスワード診断の対象ユーザの結果キャッシュが存在するか否かが判定される。情報取得部２１は、結果キャッシュファイルを参照し、パスワード診断の対象ユーザ（ステップＳ１０１で取得された変更時刻情報に係るユーザ）の結果キャッシュ（具体的には、前回時刻情報および前回診断結果）の有無に基づいて、以前に当該ユーザに関してパスワード診断が行われたことがあるか否かを判断する。対象ユーザの結果キャッシュが存在することで、以前に当該ユーザに関してパスワード診断が行われたことがあると判断された場合、処理はステップＳ１０３へ進む。一方、対象ユーザの結果キャッシュが存在しないことで、当該ユーザに関してパスワード診断が行われたことがないと判断された場合、処理はステップＳ１０６へ進む。
【００４２】
ステップＳ１０３では、結果キャッシュが読み出される。情報取得部２１は、結果キャッシュファイルから、パスワード診断の対象ユーザまたはシステムに係る結果キャッシュ（前回時刻情報および前回診断結果）を取得する。その後、処理はステップＳ１０４へ進む。
【００４３】
ステップＳ１０４では、前回時刻が変更時刻よりも古いか否かが判定される。判定部２２は、変更時刻情報が示す時刻と取得された結果キャッシュに含まれる前回時刻情報が示す時刻との新旧を判定し、判定結果に応じて、パスワード試行を実施するか否かを決定する。より具体的には、判定部２２は、ステップＳ１０３で取得された前回時刻情報が示す時刻と、ステップＳ１０１で取得された変更時刻情報が示す時刻と、を比較し、前回時刻が変更時刻よりも古いと判定された場合、処理はステップＳ１０６へ進む。前回時刻が変更時刻よりも古くない（即ち、前回時刻が変更時刻よりも新しいか、変更時刻と同じである）と判定された場合、処理はステップＳ１０５へ進む。
【００４４】
なお、ステップＳ１０１において、変更時刻情報に代えて、基準時刻情報として、パスワード入力時刻情報（ログイン成功時刻情報、コンソールロック解除時刻情報等）が取得されている場合、判定部２２は、パスワード入力時刻情報が示す時刻と前回時刻情報が示す時刻との新旧を判定し、判定結果に応じて、パスワード試行を実施するか否かを決定する。前回時刻がパスワード入力時刻（ログイン成功時刻、コンソールロック解除時刻等）よりも古いと判定された場合、処理はステップＳ１０６へ進む。前回時刻がパスワード入力時刻よりも古くないと判定された場合、処理はステップＳ１０５へ進む。
【００４５】
ステップＳ１０５では、前回診断結果が、今回の診断結果とされる。変更時刻情報が前回時刻情報より新しくない場合、これは、前回のパスワード診断が完了してからパスワードの変更が行われておらず、パスワード診断済みのパスワードが用いられていることを意味する。このため、診断部２３は、後述するパスワード試行（ステップＳ１０６を参照）を実行せず、診断結果として、ステップＳ１０３において取得された結果キャッシュに含まれる前回診断結果を、そのまま採用する。その後、処理はステップＳ１０８へ進む。
【００４６】
ステップＳ１０６およびステップＳ１０７では、パスワード試行が実行され、パスワード試行の結果が、今回の診断結果とされる。診断部２３は、予め用意された推測容易なパスワードをシステムに対して試行することで、ユーザによってシステムに設定されているパスワードが、推測容易なパスワードと合致するか否かを確認する。パスワードの入力を試行する方法としては、実際にシステムのインターフェースを介してパスワードを入力する方法や、システムへのログオンに利用するＡＰＩを利用してシステムにパスワードを受け渡す方法、パスワードに対応するハッシュ値を求め、システムから取得されたパスワードハッシュ値と比較する方法、等がある。診断部２３は、これらの方法を用いたパスワードの試行によってパスワードの妥当性を判断し、診断結果とする。
【００４７】
即ち、診断部２３は、推測容易なパスワードを用いたパスワードの試行に成功した場合、現在ユーザによってシステムに設定されているパスワードが推測容易なパスワードであると判断出来る。この場合、診断部２３は、「不適切なパスワードが設定されている」ことを意味する診断結果（例えば、「ＮＧ」）を出力する。一方、推測容易なパスワードを用いたパスワードの試行に失敗した場合、少なくとも今回試行された推測容易なパスワードは用いられていないと判断出来る。この場合、診断部２３は、「少なくともいくつかの不適切なパスワードは設定されていない」ことを意味する診断結果（例えば、「ＯＫ」）を出力する。その後、処理はステップＳ１０８へ進む。
【００４８】
また、一回のパスワード診断では、複数の推測容易なパスワードを試行することが出来る。但し、一回のパスワード診断におけるパスワード試行回数の上限や、パスワード試行同士の間に設けられるインターバルが設定されてもよい。このようにすることで、所定回数以上連続して誤ったパスワードが入力された場合や、所定のインターバルを置かずに誤ったパスワードが連続して入力された場合の、システムによるロックアウトを回避することが出来る。
【００４９】
ここで、パスワード試行に用いられる、推測容易なパスワードを用意する方法について説明する。推測容易なパスワードとしては、例えば、システムのユーザ識別子（ログインＩＤやユーザ名）と同一または類似であるパスワードや、同一種類の文字のみからなるパスワード、辞書に存在する単語がそのまま用いられているパスワード、一般的に用いられているパスワード等がある。本実施形態において、エージェントソフトを実行するユーザ端末１０は、推測容易なパスワードとして予めリストアップされたパスワードリストから取得する方法や、システムからユーザ識別子を取得する方法、取得されたユーザ識別子に文字を付加する等の加工を施して取得する方法、管理サーバ３０に設定されているポリシ
ー等によって指定されたパスワードを取得する方法、等の方法を用いて、パスワード試行に用いられるパスワードを用意する。
【００５０】
ステップＳ１０８では、今回の診断時刻情報および診断結果が、結果キャッシュファイルに保存される。記録部２４は、結果キャッシュファイルに含まれる、対象ユーザに係る結果キャッシュを、今回の診断時刻情報および診断結果をもって更新する。ここで、今回の診断時刻情報とは、今回のパスワード診断に係る時刻情報であり、例えば、パスワード試行（ステップＳ１０６）時の時刻情報、時刻比較（ステップＳ１０４）時の時刻情報、等である。但し、ステップＳ１０４においてパスワード診断を実施しないと決定された場合、結果キャッシュ内のパスワード診断に係る時刻情報は、今回のパスワード診断に係る時刻情報で更新されるが、結果キャッシュ内の診断結果は、結果として前回診断結果がそのまま維持される。これは、ステップＳ１０５において診断結果として前回診断結果がそのまま採用されているためである。
【００５１】
また、今回のパスワード診断が、対象ユーザに関する初回のパスワード診断であった場合、結果キャッシュファイルには、対象ユーザの結果キャッシュは存在しない。このため、対象ユーザに関する初回のパスワード診断が完了した場合には、結果キャッシュファイルに、当該ユーザの結果キャッシュが新たに追加される。その後、処理はステップＳ１０９へ進む。
【００５２】
なお、ステップＳ１０８において保存された診断結果、およびパスワード診断に係る時刻情報は、次回のパスワード診断処理において、前回診断結果および前回時刻情報として結果キャッシュファイルから読み出される（ステップＳ１０３）。
【００５３】
ステップＳ１０９では、診断結果が管理サーバ３０へ通知される。通知部２５は、今回の診断時刻情報および診断結果を含む、今回のパスワード診断の結果を、管理サーバ３０に対して送信する。管理サーバ３０は、通知部２５によって送信されたパスワード診断の結果を受信すると、診断結果に係るユーザ情報に関連付けて、記憶装置３４に蓄積する。その後、本フローチャートに示された処理は終了する。
【００５４】
本実施形態に係るコンピュータシステム１では、以上のような処理により、パスワード比較回数の少ない効果的なパスワード診断が実現される。パスワード診断システムによる診断結果は、ユーザに対する警告メッセージの表示やシステム管理者を対象とした集計レポートの作成に役立てることが可能である。このため、本実施形態に係るコンピュータシステム１によれば、コンピュータシステム１全体のセキュリティが向上する。
【００５５】
＜変形例＞
なお、図３のフローチャートに示した処理では、パスワード試行の要否判断のための基準時刻として、パスワードの変更時刻やパスワードの入力時刻（ログイン成功時刻、コンソールロック解除時刻等）を用いる例について説明したが、基準時刻としては、システムから取得された現在時刻が用いられてもよい。
【００５６】
図４は、本実施形態に係るパスワード診断処理のバリエーションを示すフローチャートである。本フローチャートに示されたパスワード診断処理は、図３に示されたパスワード診断処理に代えて実行されてよい。パスワード診断処理が実行される契機は、図３を用いて説明した通りである。なお、本フローチャートに示された処理の具体的な内容および処理順序は、本発明を実施するための一例である。具体的な処理内容および処理順序は、本発明の実施の形態に応じて適宜選択されてよい。
【００５７】
ステップＳ２０１では、ＯＳより、現在時刻情報が取得される。ユーザ端末１０の情報
取得部２１は、システムから現在時刻情報を取得する。現在時刻情報は、例えば、本フローチャートに示されたパスワード診断処理が開始された時点におけるユーザ端末１０の内部時計から取得された時刻情報であってもよいし、その前後において取得された時刻情報であってもよい。その後、処理はステップＳ２０２へ進む。
【００５８】
ステップＳ２０２およびステップＳ２０３に示された処理は、図３を用いて上記説明したステップＳ１０２およびステップＳ１０３の処理と概略同様であるため、説明を省略する。その後、処理はステップＳ２０４へ進む。
【００５９】
ステップＳ２０４では、前回時刻が現在時刻よりも所定時間（例えば、１週間）以上古いか否かが判定される。判定部２２は、現在時刻情報が示す時刻が、前回時刻情報が示す時刻から所定時間以上経過しているか否かを判定し、判定結果に応じて、パスワード試行を実施するか否かを決定する。
【００６０】
ここで、「所定時間」は、ユーザによってユーザ端末１０のエージェントソフトに設定されてもよいし、管理者によって管理者端末９０を介して管理サーバ３０に設定され、ポリシーとして保持されていてもよい。所定時間が管理サーバ３０に設定されている場合、ユーザ端末１０は、ステップＳ２０４に示された処理に先立って、管理サーバ３０から所定時間を取得する。判定の結果、前回時刻が現在時刻よりも所定時間以上古いと判定された場合、処理はステップＳ２０６へ進む。前回時刻が現在時刻よりも所定時間以上古くない（即ち、前回時刻から現在時刻までの間に、所定時間が経過していない）と判定された場合、処理はステップＳ２０５へ進む。
【００６１】
ステップＳ２０５以降の処理は、図３を用いて説明したステップＳ１０５以降の処理と概略同様であるため、説明を省略する。本フローチャートに示された処理によれば、パスワードの変更の有無に拘らず、前回の診断から所定時間が経過した場合に、前回の診断結果を無効として、改めてパスワード診断を行うことが出来る。
【００６２】
また、パスワード試行の要否判断のための基準時刻として、パスワードの変更時刻やパスワードの入力時刻（ログイン成功時刻、コンソールロック解除時刻等）と、現在時刻とが組み合わせて用いられてもよい。
【００６３】
図５は、本実施形態に係るパスワード診断処理のバリエーションを示すフローチャートである。本フローチャートに示されたパスワード診断処理は、図３に示されたパスワード診断処理に代えて実行されてよい。パスワード診断処理が実行される契機は、図３を用いて説明した通りである。なお、本フローチャートに示された処理の具体的な内容および処理順序は、本発明を実施するための一例である。具体的な処理内容および処理順序は、本発明の実施の形態に応じて適宜選択されてよい。
【００６４】
ステップＳ３０１では、ＯＳより、変更時刻情報および現在時刻情報が取得される。情報取得部２１による、変更時刻情報および現在時刻情報の取得の具体的な方法は、図３および図４を用いて説明したものと概略同様であるため、説明を省略する。その後、処理はステップＳ３０２へ進む。
【００６５】
ステップＳ３０２およびステップＳ３０３に示された処理は、図３を用いて上記説明したステップＳ１０２およびステップＳ１０３の処理と概略同様であるため、説明を省略する。その後、処理はステップＳ３０４へ進む。
【００６６】
ステップＳ３０４では、前回時刻が変更時刻よりも古いか、または現在時刻よりも所定時間（例えば、１週間）以上古いか否かが判定される。判定部２２は、前回時刻が変更時
刻よりも古いか否かを判定し、更に、現在時刻情報が示す時刻が、前回時刻情報が示す時刻から所定時間以上経過しているか否かを判定する。判定の結果、何れかの条件に合致する場合に、判定部２２は、パスワード試行を実施すると決定する。
【００６７】
即ち、本フローチャートに示された処理によれば、前回のパスワード診断の後にパスワードが変更されたか、前回のパスワード診断から所定時間が経過したか、の何れかの場合に、パスワード試行が実施される。このような判定条件とすることで、パスワードが変更された場合には遅滞なくパスワード診断を行い、パスワードの変更が所定時間以上なされていない場合には、前回の診断結果を無効として、改めてパスワード診断を行うことが出来る。判定の結果、何れかの条件に合致すると判定された場合、処理はステップＳ３０６へ進む。何れの条件にも合致しないと判定された場合、処理はステップＳ３０５へ進む。
【００６８】
ステップＳ３０５以降の処理は、図３を用いて説明したステップＳ１０５以降の処理と概略同様であるため、説明を省略する。本フローチャートに示された処理によれば、複数の条件の何れかに合致する場合にパスワード試行を実行することが出来、コンピュータシステム１の状態をよりセキュアに保つことが出来る。
【００６９】
また、図５のフローチャートを用いて説明したパスワード診断処理では、複数の条件の何れかに合致した場合に、パスワード試行を実施することとしているが、このような条件判定に代えて、複数の条件に合致した場合に、パスワード試行を実施することとしてもよい。例えば、前回時刻が変更時刻よりも古く、且つ現在時刻よりも所定時間（例えば、１週間）以上古い場合に、パスワード試行を行うようにすることで、パスワード診断の頻度を減らし、悪意のパスワード解析行為を見逃す虞を更に低減させることが可能である。
【符号の説明】
【００７０】
１  コンピュータシステム
１０  ユーザ端末
２１  情報取得部
２２  判定部
２３  診断部
２４  記録部
２５  通知部
【図１】
0005581162.tif 000002
【図２】
0005581162.tif 000003
【図３】
0005581162.tif 000004
【図４】
0005581162.tif 000005
【図５】
0005581162.tif 000006