(57)【要約】【課題】各リポジトリに対するパスワードを不可逆なエンコード方式で一括管理し、ユーザがパスワードの更新時にもエンコードされた内容でチェックが可能なアカウント管理を行う。【解決手段】管理サーバにおいて、リポジトリ毎のエンコード方式を記憶し、パスワード更新要求により記憶しているエンコード方式によりパスワードをエンコードして対応する各リポジトリがある動作サーバに送信する更新指示ステップ、を備え、動作サーバにおいて、管理サーバよりのユーザパスワードの更新指示ステップにより、記憶更新するパスワード更新ステップと、クライアントからの使用要求に基づいて使用要求時のパスワードを自身のエンコード方式でエンコードＳ７２した後、記憶更新したエンコードされたパスワードと比較するステップＳ７３と、比較でパスワードが一致／不一致で自身のリポジトリの使用許可／不許可を定めるステップＳ７４，Ｓ７５、とを備えた。【選択図】        図８
2005284986.tif 000002
【特許請求の範囲】
【請求項１】
管理サーバにおいて、リポジトリ毎のエンコード方式を記憶し、ユーザからのパスワード更新要求に基づいて上記記憶しているエンコード方式により上記ユーザのパスワードをエンコードして対応する各リポジトリがある動作サーバに送信する更新指示ステップ、を備え、
動作サーバにおいて、上記管理サーバよりのユーザパスワードの更新指示ステップにより、エンコードされたパスワードを記憶更新するパスワード更新ステップと、
クライアントからの使用要求に基づいて該使用要求時のパスワードを自身のエンコード方式でエンコードした後、上記記憶更新したエンコードされたパスワードと比較するステップと、
上記比較でパスワードが一致／不一致で自身のリポジトリの使用許可／不許可を定めるステップ、とを備えたことを特徴とするパスワード安全同期管理方法。
【請求項２】
管理サーバにおいて、ユーザからのパスワード更新要求に対応するエンコード機能が動作サーバにある場合は、パスワード更新ステップを、上記ユーザのパスワードをそのまま対応する各リポジトリがある上記動作サーバにエンコードを指示するエンコード指示ステップとし、
動作サーバにおいて、上記管理サーバよりのエンコード指示ステップにより、上記パスワードのエンコードを行うステップ、を備え、
パスワード更新ステップは、上記エンコードされたパスワードを上記管理サーバに返送し、自身も記憶更新するパスワード更新ステップ、としたことを特徴とする請求項１記載のパスワード安全同期管理方法。
【請求項３】
管理サーバにおいて、動作サーバからの更新成功／不成功の通知に基づいて各動作サーバに更新／旧データに戻る指示をするエージェント通知ステップ、を備え、
動作サーバにおいて、上記管理サーバよりのユーザパスワードの更新指示ステップによりエンコードを行って、失敗があると上記管理サーバに不成功を返送するステップと、
上記管理サーバからの上記エージェント通知ステップにより更新／旧データに戻る動作を行うステップ、とを備えたことを特徴とする請求項１記載のパスワード安全同期管理方法。
【請求項４】
管理サーバは、更新指示ステップにおいて、自身の識別情報を同時に送信するようにし、
動作サーバは、管理サーバの情報を記憶情報として記憶しておき、上記更新指示ステップで送られた管理サーバの識別情報と、上記記憶している管理サーバの記憶情報と比較して正当性を確かめる比較ステップ、を備えたことを特徴とする請求項１記載のパスワード安全同期管理方法。
【請求項５】
動作サーバは、ユーザが自身を使用中か否かを調べて管理サーバにログオン／ログオフ通知を送信するステップ、を備え、
管理サーバは、動作サーバからの上記ログオン／ログオフ通知を送信するステップがログオフを送信した場合に、更新指示ステップを各動作サーバに送信することを特徴とする請求項１記載のパスワード安全同期管理方法。
【請求項６】
管理サーバは、動作サーバからのログオン／ログオフ通知を受けてユーザ毎の動作サーバ使用状態を記憶するようにして、
更新指示ステップは、上記記憶しているログオン／ログオフ状態がログオフの場合に更新指示ステップを各動作サーバに送信することを特徴とする請求項５記載のパスワード安全同期管理方法。
【請求項７】
リポジトリ毎のエンコード方式を記憶するパスワード管理テーブルを備えた管理サーバに、
ユーザからのパスワード更新要求に基づいて上記記憶しているエンコード方式により上記ユーザのパスワードをエンコードして対応する各リポジトリがある動作サーバに送信する更新指示ステップ、を実行させる、送信側のアイデンティティ管理サービスプログラムと、
動作サーバに、
上記管理サーバよりのユーザパスワードの更新指示ステップにより、エンコードされたパスワードを記憶更新するパスワード更新ステップと、
クライアントからの使用要求に基づいて該使用要求時のパスワードを自身のエンコード方式でエンコードした後、上記記憶更新したエンコードされたパスワードと比較するステップと、
上記比較でパスワードが一致／不一致で自身のリポジトリの使用許可／不許可を定めるステップ、とを実行させる、受信側の使用許可チェックプログラム、
とからなるパスワード安全同期管理プログラム。
【請求項８】
アイデンティティ管理サービスプログラムは、パスワード更新エージェントプログラム側からの更新成功／不成功の通知に基づいて各パスワード更新エージェントプログラム側に更新／旧データに戻る指示をするステップを備え、
動作サーバに、上記アイデンティティ管理サービスプログラムが収容された管理サーバからユーザパスワードの更新指示ステップによる指示を受けるとエンコードを行って、その成功／不成功により上記アイデンティティ管理サービスプログラムに成功／不成功の情報を返送するステップと、
上記アイデンティティ管理サービスプログラム側からの更新／旧データに戻る指示によりパスワードを更新／旧データにするステップ、とを実行させる、受信側のパスワード更新エージェントプログラムを備えた、ことを特徴とする請求項７記載のパスワード安全同期管理プログラム。
【請求項９】
アイデンティティ管理サービスプログラムは、更新指示ステップにおいて、自身が属するサーバの識別情報を同時に送信するステップとし、
パスワード更新エージェントプログラムは、管理サーバの情報を記憶情報として記憶しするステップと、
上記更新指示ステップで同時に送られた上記管理サーバの識別情報と、上記記憶している管理サーバの記憶情報と比較して正当性を確かめるステップ、とを備えたことを特徴とする請求項８記載のパスワード安全同期管理プログラム。
【請求項１０】
パスワード更新エージェントプログラムは、ユーザが自身を使用中か否かを調べて管理サーバにログオン／ログオフ通知を送信するステップ、を備え、
アイデンティティ管理サービスプログラムは、パスワード更新エージェントプログラムによる上記ログオン／ログオフ通知の送信ステップにおいてログオフを受信した場合に、各動作サーバにパスワードの更新指示を送信するステップ、を備えたことを特徴とする請求項７記載のパスワード安全同期管理プログラム。
【請求項１１】
計算機が読取り可能なプログラムとして、リポジトリ毎のエンコード方式を記憶するパスワード管理テーブルを備えた管理サーバに、ユーザからのパスワード更新要求に基づいて上記記憶しているエンコード方式により上記ユーザのパスワードをエンコードして対応する各リポジトリがある動作サーバに送信する更新指示ステップ、を実行させる、送信側のアイデンティティ管理サービスプログラムと、
動作サーバに、管理サーバよりのユーザパスワードの更新指示ステップにより、エンコードされたパスワードを記憶更新するパスワード更新ステップと、
クライアントからの使用要求に基づいて該使用要求時のパスワードを自身のエンコード方式でエンコードした後、上記記憶更新したエンコードされたパスワードと比較するステップと、
上記比較でパスワードが一致／不一致で自身のリポジトリの使用許可／不許可を定めるステップ、とを実行させる、受信側の使用許可チェックプログラムと、が記録された計算機読取り可能なパスワード安全同期管理プログラム記録媒体。
【請求項１２】
リポジトリ毎のエンコード方式を記憶するエンコード方式管理テーブルを備えて、
ユーザからのパスワード更新要求に基づいて上記記憶しているエンコード方式により上記ユーザのパスワードをエンコードして対応する各リポジトリがある動作サーバに送信する管理サーバと、
上記管理サーバよりのユーザパスワードの更新指示により、エンコードされたパスワードを記憶更新し、
クライアントからの使用要求に基づいて該使用要求時のパスワードを自身のエンコード方式でエンコードした後、上記記憶更新したエンコードされたパスワードと比較し、該比較でのパスワードが一致／不一致により自身のリポジトリの使用許可／不許可を定める動作サーバ、
とで構成されることを特徴とするパスワード安全同期管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、分散して管理されているユーザ識別子（ＩＤ）およびパスワードに対して、整合性を保った同期処理を行い、ユーザによる分散リポジトリ使用時及びパスワード更新時における安全性を保証するシステム、方法に関するものである。
【背景技術】
【０００２】
従来、さまざまなリポジトリ（例えばＯＳ、ディレクトリ・サービス、アプリケーション、ミドルウェアなど）のアカウント（即ちユーザＩＤおよびパスワード）を一元管理し、分散管理されているこれらに対してアカウントの同期処理を行うものとしてアイデンティティ管理がある。アイデンティティ管理により、それまでは個別にアカウント管理していたものを一元的に管理することにより、アカウント管理の利便性が向上する。
【０００３】
また、さまざまなリポジトリ（ＯＳ、ディレクトリ・サービス、アプリケーション、ミドルウェアなど）上でのパスワードはその機密性より不可逆なエンコード方式でコード化された文字列で管理され、かつ、それらのエンコード方式がリポジトリごとに異なっていることが一般的である。そのためにアイデンティティ管理サーバは、それぞれのリポジトリにユーザのパスワードを更新する際には、パスワードの文字列を認識する必要がある。そしてそのためにクリアテキスト形式のパスワードが必要であり、アイデンティティ管理では、通常の管理時ではエンコードされているパスワードでさえもパスワードを更新する、いわゆる同期処理の際には、パスワードを一旦クリアテキストの形式に戻すためにデコードしていた。
例えば、特許文献１の「パスワード同期を与える方法及び装置」では、複数のレジストリ（本件におけるリポジトリ）に対するパスワードの同期方式について記述されているが、パスワードの同期の際には一旦暗号化（エンコード）されて管理されていたパスワードを非暗号化（デコード）してレジストリに対してパスワードを送信して同期する方式が記述されている。
【特許文献１】特開平０９−１７９８２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のアイデンティティ管理でのパスワードの同期方法は以上のように構成されており、パスワード同期の際にクリアテキストの形式にデコードする必要がある。このパスワードが漏洩した場合に、システムへ不正アクセスされてしまう危険性があり、クリアテキストでのやり取りは第３者にその値が明らかになり易い、という課題がある。
【０００５】
この発明は上記のような課題を解決するためになされたもので、さまざまなリポジトリに対するパスワードをそれぞれの不可逆なエンコード方式で一括管理し、ユーザが使用時及びパスワードの更新同期時にもエンコードされた内容でチェックが可能で、秘匿性が高いアカウント管理を行うことを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るパスワード安全同期管理方法は、管理サーバにおいて、リポジトリ毎のエンコード方式を記憶し、ユーザからのパスワード更新要求に基づいて上記記憶しているエンコード方式により上記ユーザのパスワードをエンコードして対応する各リポジトリがある動作サーバに送信する更新指示ステップ、を備え、
動作サーバにおいて、上記管理サーバよりのユーザパスワードの更新指示ステップにより、エンコードされたパスワードを記憶更新するパスワード更新ステップと、
クライアントからの使用要求に基づいて該使用要求時のパスワードを自身のエンコード方式でエンコードした後、上記記憶更新したエンコードされたパスワードと比較するステップと、
上記比較でパスワードが一致／不一致で自身のリポジトリの使用許可／不許可を定めるステップ、とを備えた。
【発明の効果】
【０００７】
以上のようにこの発明によれば、管理サーバにおいて各リポジトリに対するパスワードをそれぞれの不可逆なエンコード方式で一括管理し、動作サーバに対するパスワードの更新同期時にもエンコードされた内容でチェックが可能で、アカウント管理の秘匿性を高くできる効果がある。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
ユーザ使用時やパスワード更新時にも安全で秘匿性が高いパスワード安全同期管理システム、方法を説明する。図１はこの発明の実施の形態１におけるパスワード安全同期管理システムの構成を示す図である。
図において、アイデンティティ管理サーバ２は、ハードウェアとしてＣＰＵ２１とメモリ２２、そしてメモリに記憶されたアイデンティティ管理サービスプログラム４と、パスワード管理データベース５を持っている。
またユーザからの要求により動作するサーバとして、サーバＡ１０−１と、サーバＢ１０−２と、サーバＣ１０−３があり、サーバＡ  １０−１、サーバＢ  １０−２、サーバＣ  １０−３は、ハードウェアとしてそれぞれＣＰＵ２３−１、２３−２、２３−３と、メモリ２４−１、２４−２、２４−３と、メモリに記憶されたそれぞれパスワード更新エージェントプログラム１１−１、１１−２、１１−３が内蔵されている。
【０００９】
ユーザはクライアント１計算機を用いて、パスワードを変更する場合はアイデンティティ管理サーバ２へ変更要求し、使用時には処理内容に応じてサーバＡ１０−１、サーバＢ１０−２、サーバＣ１０−３をアクセスする。
アイデンティティ管理サーバ２中のパスワード管理データベース５内には、パスワード管理テーブル６と、エンコード方式管理テーブル７と、サーバ情報管理テーブル８がある。
サーバＡ１０−１、サーバＢ１０−２、サーバＣ１０−３には、各種パスワード更新のためのＡＰＩ（アプリケーション・インタフェース）を集約したドライバを介して各種リポジトリとしての、ＯＳ（オペレーティング・システム）１２−１、またはＡＰＰ１（アプリケーション・プログラム１）１２−２、またはディレクトリ・サーバ１２−３があり、登録しているユーザは、それぞれのサーバにおいてＣＰＵ２３−１、２３−２、２３−３と使用許可チェックプログラム２５−１、２５−２、２５−３によりユーザＩＤとパスワードが登録されていることを確認できれば、これらのリポジトリにアクセスして使用ができる。
【００１０】
パスワード管理データベース５中にある、図１のパスワード管理テーブル６は、図２に示すように、ユーザＩＤをパラメータとし、ＯＳ、ＡＰＰ１、ディレクトリ・サーバ、更新状態の詳細が記述されている。この場合のパスワードは、後で説明するように、エンコードされていて、例え外部からパスワード管理テーブル６をアクセスされても、内容が判らない。
図１のエンコード方式管理テーブル７は、図３に示すように、各リポジトリ種別別のエンコード方式の詳細が記述されている。例えばＯＳのエンコード方式は、ＣＲＹＰＴ方式であることを示している。
図１のサーバ情報管理テーブル８は、図４に示すように、サーバ名とそのリポジトリの区別を示し、サーバＡはＯＳ、サーバＢはＡＰＰ１、サーバＣはディレクトリ・サーバであることを示している。
【００１１】
パスワードの事前設定の動作について説明する。図５と図６に本実施の形態のアイデンティティ管理サーバ２において、ＣＰＵ２１がアイデンティティ管理サービスプログラム４により行う動作フローチャートを示す。本実施の形態において、アイデンティティ管理サーバ２がＣＰＵ２１により各動作サーバに送信するユーザのパスワード更新時の送信データ９−１、９−２、９−３として、エンコードされたままの秘匿性が高いデータを送信すること、及びその送信されたデータと各サーバがそれぞれのエンコード方式によりユーザパスワードをエンコードした結果と比較して、ユーザの認証を行うことが本実施の形態における主旨である。
なおこの動作に先立って、アイデンティティ管理サーバ２は、エンコード方式管理テーブル７にリポジトリごとのパスワードエンコード方式を登録しておき、サーバ情報管理テーブル８には、どのサーバでどのリポジトリが管理されているかを登録しておく。
図５において、ユーザＩＤが「ｕｓｅｒＡ」であるユーザＡがクライアント１計算機からユーザＩＤとパスワードの登録入力、または更新リクエストを入力送信する（Ｓ２）。
アイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４はこの更新リクエスト・データ３を受信し（Ｓ３）、パスワード管理データベース５内のパスワード管理テーブル６の更新処理を開始する。更新リクエスト・データ３内のパスワード文字列（図１では「ｐａｓｓｗｄ」）をエンコード方式管理テーブル７からエンコード方式を参照し（Ｓ４）、決められたエンコード方式によりエンコードし（Ｓ５）、パスワード管理テーブル６の値を更新する（Ｓ６）。
パスワードの値を更新すると同時に、パスワード管理テーブル６の更新状態を「未更新」に変更する。全リポジトリに対してパスワードのエンコード処理を行う（Ｓ７）。
【００１２】
パスワード同期処理における、アイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４の動作を図６のフローチャートに沿って説明する。
管理データベース５内のパスワード管理テーブル６からパスワードデータを抽出する（Ｓ８）。
サーバ情報管理テーブル８内のサーバ情報と、抽出したエンコード済みのパスワードデータをもとに、サーバＡ，サーバＢ，サーバＣの各サーバへ送信するデータを作成する（Ｓ９）。作成したデータを各サーバのパスワード更新エージェントプログラム１１−１、１１−２、１１−３用に送信する（Ｓ１０）。アイデンティティ管理サービスプログラム４は、パスワードデータの送信後、各サーバのパスワード更新エージェントプログラム１１−１、１１−２、１１−３による更新完了の通知を受信するまで待機する（Ｓ１１）。
【００１３】
各サーバのＣＰＵがパスワード更新エージェントプログラムにより行うパスワード更新動作を図７のフローチャートに沿って説明する。基本的にはどのサーバも同じ動作をするため、サーバＡ１０−１がパスワード更新エージェントプログラム１１−１によりパスワードを更新する動作についてのみ説明する。
サーバＡ１０−１上に常駐しているパスワード更新エージェントプログラム１１−１は、アイデンティティ管理サービスプログラム４から更新時の送信データ９−１を受信する（Ｓ１７）。このとき受信したデータ９−１は、エンコードされたままのパスワードとなっていることが重要である。このエンコードされたパスワードが含まれた値で対象ユーザのパスワードの更新を行う（Ｓ１８）。更新の成否をアイデンティティ管理サービスプログラム４に通知する（Ｓ１９〜Ｓ２１）。
【００１４】
待機していたアイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４の動作について図６のフローチャートに戻って説明する。待機していたアイデンティティ管理サービスプログラム４がサーバＡからのパスワード更新エージェントプログラム１１−１によるメッセージを受信する（Ｓ１１）。受信メッセージが失敗ならば、一定時間後再実行する（Ｓ１３）。
受信したメッセージが全て成功ならば、パスワード管理テーブル６内の更新状態の値を「更新済」に変更して（Ｓ１４）、終了する（Ｓ１５）。
以上のように、アイデンティティ管理サーバ２上でエンコードしたパスワードをデコードなしで各リポジトリに対して更新を行うことにより、クリアテキスト形式のパスワード漏洩による不正アクセスを防ぐことができる。
【００１５】
一方、ユーザが各リポジトリを使用する際の動作を、各動作サーバにあるＣＰＵ２３−１等が使用許可チェックプログラム２５−１、２５−２、２５−３により行う図８に示す動作フローに基づいて説明する。
ユーザは、クライアント１計算機から必要なサーバＡ１０−１、サーバＢ１０−２、サーバＣ１０−３をアクセスする。これは直接アクセスしてもよい。図において、アクセスされた各サーバは、使用要求を受信する（Ｓ７１）。各サーバは、先にパスワード更新エージェントプログラム１１−１等により更新したユーザ毎のエンコードされたパスワードをサーバ内に記憶している。更に自身のエンコード方式を自身は知っている。従って使用許可チェックプログラム２５−１により、アクセスされたクライアント１から入力されるユーザＩＤとパスワードの更新リクエスト・データ３の必要部分をエンコードして、このエンコード結果と、上記記憶しているエンコードされたパスワードとを比較する（Ｓ７２）。この比較結果により（Ｓ７３）、エンコードされたパスワードが一致すれば、リポジトリの使用を許可し、そのリポジトリによる要求処理を行う（Ｓ７４）。
こうしてユーザは外部に対してはパスワードを秘匿し、各リポジトリに対しては自身のＩＤを証明して使用ができる。なお、クライアント１計算機からアイデンティティ管理サーバ２、及びサーバＡ，サーバＢ、サーバＣへのＩＤやパスワードの送信時には、別途、暗号化伝送方式を採用すれば、外部に対する秘匿性を保持できる。
【００１６】
実施の形態２．
先の実施の形態では、アイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４によりパスワードのエンコードを実行したが、リポジトリの種類が増加し、従ってパスワードエンコードの種類が増加した場合には、アイデンティティ管理サービスプログラム４にパスワードエンコードのアルゴリズムを追加する必要がある。これを容易にするため、パスワードエンコードを各リポジトリに配置したエージェントで行う実施の形態を説明する。
なお、一旦エンコードされたユーザＩＤまたはパスワードが各リポジトリで更新記憶された後で、クライアント１計算機からユーザが各リポジトリに使用要求を行い、各リポジトリが図８の動作フローに従って使用の許可／不許可を決める動作は、以下の各実施の形態においても、実施の形態１と同様であるので、使用時の動作説明は、以後、省略する。
本実施の形態におけるシステム構成は、図１の構成と同様である。ただ、動作サーバであるサーバＡ１０−１、サーバＢ１０−２、サーバＣ１０−３には、自身の特有なエンコード方式に基づいてパスワード等をエンコードするエンコード機能を持たせ、パスワード更新エージェントプログラム１１−１等がその機能を同時に持つものとする。このエンコード機能によりエンコードされたパスワードを、アイデンティティ管理サーバ２に返送する。
【００１７】
次に動作について説明する。図９に本実施の形態におけるアイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４の動作フローチャートを示す。
なお以下に説明する特別に指定したエンコード方式の処理部分を除く、図６に示すパスワード同期処理時のアイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４と、パスワード更新エージェントプログラム１１−１の動作フローは実施の形態１と同様である。
パスワード管理テーブル６のパスワード更新の動作について図９のフローチャートに沿って説明する。ユーザＩＤが「ｕｓｅｒＡ」であるユーザＡがクライアント１よりパスワード更新リクエスト・データ３をのアイデンティティ管理サービスプログラム４に送信し（Ｓ２）、アイデンティティ管理サービスプログラム４がクライアント１からの更新リクエスト・データ３を受け（Ｓ３）、パスワード管理データベース５内のパスワード管理テーブル６の更新処理を開始するところは、実施の形態１と同様である。
【００１８】
アイデンティティ管理サービスプログラム４は、更新リクエスト・データ３内のパスワード文字列（図１では「ｐａｓｓｗｄ」）をサーバ情報管理テーブル８から各リポジトリがどのサーバで管理されているかを検索し（Ｓ４−１）、パスワードのエンコードリクエストをそのサーバ上で動作しているパスワード更新エージェントプログラム１１−１、１１−２、１１−３に送信する（Ｓ２３）。
サーバＡ側のパスワード更新エージェントプログラム１１−１（他のサーバではパスワード更新エージェントプログラム１１−２、１１−３）は、送信されたパスワードを各リポジトリで固有の図３で登録されているエンコード方式でエンコードする。そして、エンコードされた文字列をアイデンティティ管理サービスプログラム４に送信する（Ｓ２４）。
エンコードされたパスワードを受信したアイデンティティ管理サービスプログラム４は、パスワード管理テーブル６を更新すると同時に、パスワード管理テーブル６の更新状態を「未更新」に変更する（Ｓ６−１）。
以上のように、リポジトリでエンコード処理を行うことにより、リポジトリの種類（エンコードの種類）が増加した場合でも、エージェントプログラムの追加作成のみで対応することが可能で、アイデンティティ管理サービスプログラムを作成し直す必要がなく、エンコードの種類の拡張に容易に対処できる。
【００１９】
実施の形態３．
先の実施の形態では、パスワードの同期更新に失敗した場合には、更新成功のために再実行を繰り返すものであり、各リポジトリの間で完全に同期が取れているとはいえない。
本実施の形態においては、一箇所でもリポジトリでのパスワード変更処理に失敗した場合に、ロールバックして元の状態に戻す処理を行い、パスワード更新の整合性を保つようにする方法を説明する。
図１０はこの発明の実施形態３におけるパスワード安全同期管理システムの構成を示す図である。本実施の形態で新しい要素は、各リポジトリを持つサーバＡ１０−１、サーバＢ１０−２、サーバＣ１０−３内に設けた更新前の旧データ記憶領域１４−１、１４−２、１４−３である。この構成により、整合性が保たれる。
【００２０】
以下、その説明をする。図１１は、本実施の形態におけるアイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４の動作フローチャートであり、図１２は、本実施の形態におけるパスワード更新エージェントプログラム１１−１のログオンチェック処理における動作フローチャートである。なお、パスワード更新エージェントプログラム１１−１の、パスワード更新処理における動作フローは実施の形態１における動作フローと同様である。
図１１のフローチャートの前段階におけるのアイデンティティ管理サービスプログラム４のパスワード更新リクエスト受信（Ｓ３）から各エージェントプログラムからの通知を受信するまで待機する（Ｓ１２）ステップまでは実施の形態１における図５の動作と同じである。
【００２１】
次にパスワード更新エージェントプログラム１１−１の新しい動作部分を図１２のフローチャートに沿って説明する。
アイデンティティ管理サービスプログラム４から受信した新データ記憶領域１３−１に記憶しているデータに基づいてユーザＩＤを抽出し、ユーザ情報が格納されているＯＳ１２−１から現在のパスワードをエンコードされた状態のままで旧データ１４−１として抽出し（Ｓ２５）、保管する（Ｓ２６）。そして対象ユーザのパスワードの更新を行う（Ｓ１８）。
アイデンティティ管理サービスプログラム４からの新しいデータの更新に成功したならば、成功メッセージをアイデンティティ管理サービスプログラム４に通知し（Ｓ２０）、更新に失敗したならば失敗メッセージをアイデンティティ管理サービスプログラム４に通知する（Ｓ２１）。通知後、アイデンティティ管理サービスプログラムからの命令が通知されるまで待機する（Ｓ２７）。
【００２２】
待機していたアイデンティティ管理サービスプログラム４の動作を図１１のフローチャートに戻って説明する。待機していたアイデンティティ管理サービスプログラム４が各パスワード更新エージェントプログラム１１−１、１１−２、１１−３からメッセージを受信する（Ｓ１２）。受信したメッセージが１つでも失敗ならば、ロールバック命令をパスワード更新エージェントプログラム１１−１、１１−２、１１−３に通知して（Ｓ２５）、終了する（Ｓ１５）。
受信したメッセージが全て成功ならば、コミット命令を各パスワード更新エージェントプログラム１１−１、１１−２、１１−３に通知する（Ｓ２６）。その後、パスワード管理テーブル６内の更新状態の値を「更新済」に変更して（Ｓ１４）、終了する（Ｓ１５）。
【００２３】
図１２のフローチャートに戻って説明する。アイデンティティ管理サービスプログラム４からの命令を待機していたパスワード更新エージェントプログラム１１−１は、アイデンティティ管理サービスプログラム４からの命令がロールバック命令なら、更新したユーザ情報データを保管していた旧データ１４−１に変更する（Ｓ２９）。最後に保管していた旧データ１４−１をサーバＡ１０−１内の領域から削除する（Ｓ３０）。
以上のように、データ更新前に旧情報を保管し、更新失敗時に元に戻すためのデータを持つことで、各サーバにおける異種のリポジトリ間においてでも整合性を保つことができる。
【００２４】
更に、本実施の形態と先の実施の形態２とを組み合わせて、パスワードのエンコードをパスワード更新エージェントプログラムで行い、かつ各パスワード更新エージェントプログラムで旧データを保持しておくことで更新処理失敗時にロールバックを行うようにすることもできる。
こうすることで、エンコード方式の種類が増加した場合にも運用が可能になり、各リポジトリ間でのパスワード更新の整合性を保つことができる。
【００２５】
実施の形態４．
先の実施の形態１では、アイデンティティ管理サービスプログラムからの更新命令に対して、パスワード更新エージェントプログラムでは無条件でパスワードの更新を実施している。この場合、悪意のあるユーザがアイデンティティ管理サービスプログラムに成り代わってパスワード更新の命令を送信してパスワードを更新することが可能である。そこで本実施の形態では、パスワード更新エージェントプログラムが、送信されたパスワード更新命令がアイデンティティ管理サービスプログラムからのものであることのチェックを行う場合を説明する。
図１３は本実施の形態におけるパスワード安全同期管理システムの構成を示す図である。本構成においては、分散配置されたサーバＡ１０−１、サーバＢ１０−２、サーバＣ１０−３内にアイデンティティ管理サーバ２の情報（サーバのＩＰアドレス、サーバ名など）を格納する設定ファイル１５−１、１５−２、１５−３を備える。そして事前にパスワード更新エージェントプログラムをサーバに導入する際に、サーバＡ１０−１、サーバＢ１０−２、サーバＣ１０−３内の設定ファイル１５−１、１５−２、１５−３にアイデンティティ管理サーバ２の情報、つまり上記サーバのＩＰアドレス、等の情報を登録する。
【００２６】
次に動作について説明する。図１４は、本実施の形態におけるアイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４の動作フローチャートであり、図１５は、本実施の形態におけるパスワード更新エージェントプログラム１１−１等のログオンチェック処理における動作フローチャートである。
図１４のフローチャートの前半部分である、アイデンティティ管理サービスプログラム４が行うパスワード更新リクエスト受信（Ｓ３）から送信データの生成（Ｓ９）までのステップは、実施の形態１における図５の動作と同じである。その後、アイデンティティ管理サービスプログラム４は、パスワード更新データにサーバ情報（ＩＰアドレス、サーバ名）を付加し、エージェントプログラムに送信する（Ｓ１０）。以後、アイデンティティ管理サービスプログラム４の動作は上記実施の形態１と同じである。
【００２７】
次にパスワード更新エージェントプログラム１１−１の動作を図１５のフローチャートに沿って説明する。
パスワード更新エージェントプログラム１１−１は、受信したパスワード更新時の送信データ９−１に付加されているサーバ情報を取り出し（Ｓ４２）、事前に設定された情報と比較する（Ｓ４３）。一致したならば、パスワード更新処理を実施する（Ｓ１８）。不一致ならば、終了する（Ｓ２２）。
以降の動作については実施の形態１における図５の動作と同じである。
こうして、パスワード更新命令のチェックを行うことにより、不正なパスワード更新命令による誤ったパスワード更新を防ぐことができる。事前に設定しておくサーバの情報はＩＰアドレスに限らず、従来技術としてある、サーバを証明するための電子証明書を使用することでも同様の効果を得ることができる。
【００２８】
更に、本実施の形態と実施の形態２とを組み合わせて、パスワードのエンコードをパスワード更新エージェントプログラムで行い、かつ各パスワード更新エージェントプログラムでアイデンティティ管理サービスプログラムからのパスワード更新命令の正当性チェックを行う構成とすることもできる。
こうすることで、エンコード方式の種類の増加にも対応でき、不正なパスワード更新命令によるパスワード更新を防ぐこともできる。
【００２９】
実施の形態５．
先の実施の形態１における構成と動作は、ユーザの使用状態を無視した更新優先の動作である。例えばユーザがシステムにログオンしてリポジトリを使用している状態でユーザ情報を更新すると、不都合が発生することがある。そこで、パスワード更新エージェントプログラム１１−１でユーザのログオン状態を監視し、サーバ側でユーザ情報の更新をユーザのログオン時以外に制限する実施の形態を説明する。
本実施の形態における構成は、実施の形態１の図１と同様であるが、パスワード管理テーブル６にログオン状態を管理する列を追加する。即ち、図１のパスワード管理テーブル６は、図１６に示すようにユーザＩＤをパラメータとし、ＯＳ、ＡＰＰ１、ディレクトリ・サーバ、更新状態、ログオン状態の詳細が記述される。
【００３０】
次に動作について説明する。
図１７は、本実施の形態におけるアイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４の動作フローチャートの後半を示す図である。また図１８は、本実施の形態におけるパスワード更新エージェントプログラム１１−１のログオンチェック処理における動作フローチャートである。
パスワード更新エージェントプログラム１１−１のパスワード更新処理におけるフローは、実施の形態１における動作と同様である。
図１７のフローチャートに沿ってのアイデンティティ管理サービスプログラム４の動作を説明する。クライアントからのパスワード更新リクエスト（Ｓ２）から各サーバへ送信する新データの作成（Ｓ９）までは実施の形態１と同じ動作である。
その後、更新対象ユーザについて該当サーバ（ＯＳ）を更新するためのパスワード更新エージェントプログラム１１−１に対して更新対象ユーザのユーザＩＤを基にログオンチェックの命令を行う（Ｓ３２）。パスワード更新エージェントプログラム１１−１から通知が届くまで待機する（Ｓ１１）。
【００３１】
次にパスワード更新エージェントプログラム１１−１の動作を図１８のフローチャートに沿って説明する。
アイデンティティ管理サービスプログラム４よりログオンチェック命令を受信する（Ｓ３６）。受信した更新対象ユーザのユーザＩＤを基に、ユーザがＯＳにログオンしているかのチェックを行う（Ｓ３７）。ログオン中ならばログオン中メッセージをアイデンティティ管理サービスプログラム４に送信し（Ｓ３９）、ログオフ中ならばログオフ中メッセージをアイデンティティ管理サービスプログラム４に送信する（Ｓ４０）。
【００３２】
図１７のフローチャートに戻って説明する。アイデンティティ管理サービスプログラム４は、パスワード更新エージェントプログラム１１−１からのメッセージでログオンチェックを行う（Ｓ３３）。ログオン中メッセージが届いた場合、一定時間待機（Ｓ３４）後、Ｓ３２に進む。ログオフ中メッセージが届いた場合、パスワード更新時の送信データ９−１、９−２、９−３を各サーバのパスワード更新エージェントプログラム１１−１、１１−２、１１−３に送信する（Ｓ１０）。
以後のパスワード更新に関するパスワード更新エージェントプログラム１１−１、１１−２、１１−３およびアイデンティティ管理サービスプログラム４の動作は実施の形態１と同様である。
こうしてユーザがログオフ中のみデータの更新を行うことにより、ユーザがシステム使用中の際にパスワードを更新して、不整合が発生することを防ぐことができる。
【００３３】
本実施の形態と実施の形態２とを組み合わせ、パスワードのエンコードをパスワード更新エージェントプログラムで行い、かつログオフ状態のユーザのみパスワードの更新を行う形態とすることもできる。
こうすれば、エンコード方式の種類が増加した場合にも対処でき、ユーザがシステム使用中のパスワード更新による不整合を防ぐこともできる。
【００３４】
実施の形態６．
先の実施の形態５では、アイデンティティ管理サービスプログラム４がログオンチェック機能も兼ねており、１つのプログラムに負荷がかかってしまうという不具合があるが、次にユーザのログオンチェック機能を独立したプログラムとして定期的にログオン状態を監視することで、アイデンティティ管理サービスプログラム４への負荷を減らした場合を説明する。
図１９は、本実施の形態におけるパスワード安全同期管理システムの構成を示す図である。本実施の形態では、先の実施の形態５に加えて、アイデンティティ管理サーバ２にログオンチェック・プログラム１６を備える。
【００３５】
次に動作について説明する。
図２０は、本実施の形態におけるログオンチェック・プログラム１６による動作フローチャートである。また図２１は、本実施の形態におけるアイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４の後半の動作フローチャートである。なお、パスワード更新エージェントプログラム１１−１、１１−２、１１−３による動作フローは、実施の形態５の動作フローと同様である。
最初に、ログオンチェック・プログラム１６による動作を図２０のフローチャートに沿って説明する。
アイデンティティ管理サービスプログラム４は、パスワード管理テーブル６からユーザＩＤを取得する（Ｓ４５）。更にサーバ情報管理テーブル１２からログオンチェック対象サーバ（ＯＳ）を取得する（Ｓ４６）。そして各ユーザについてのログオンチェック命令を対象サーバのパスワード更新エージェントプログラム１１−１に送信する（Ｓ４７）。送信後は、パスワード更新エージェントプログラム１１−１からの通知を待つ（Ｓ４８）。
パスワード更新エージェントプログラム１１−１からの通知を受信（Ｓ４９）後、通知をチェックする（Ｓ５０）。ログオン中ならばパスワード管理テーブル６のログオン状態カラムの値を「Ｙ」に設定し（Ｓ５１）、ログオフ中ならばパスワード管理テーブル６のログオン状態カラムの値を「Ｎ」に設定する（Ｓ５２）。全ユーザ終了したかのチェックを行い（Ｓ５３）、終了していれば、一定時間待機後（Ｓ５４）、Ｓ４５に進み、終了していなければ、Ｓ４７に進む。
【００３６】
次にアイデンティティ管理サーバ２のアイデンティティ管理サービスプログラム４による動作を図２１のフローチャートに沿って説明する。
なお、クライアントからのパスアワード更新リクエストの送信（Ｓ２）からパスワード更新データの作成（Ｓ９）までは実施の形態１と同様である。
ユーザのログオン状態をチェックするために、パスワード管理テーブル６をチェックする（Ｓ５５）。以後の更新処理に関しては実施の形態４と同様に動作する。
こうしてパスワード更新のメインプログラムとユーザのログオンチェックのプログラムとを分割することにより、メインプログラムへの負荷を減らすことが出来る。
【００３７】
本実施の形態と実施の形態２とを組み合わせ、パスワードのエンコードをパスワード更新エージェントプログラムで行い、かつログオフ状態のユーザのみパスワードの更新を行う形態とすることもできる。
こうすれば、エンコード方式の種類が増加した場合にも対処でき、ユーザがシステム使用中のパスワード更新による不整合を防ぐこともできる。
【００３８】
上記各実施の形態においては、アイデンティティ管理サービスプログラム４や、パスワード更新エージェント（プログラム）１１−１等や、使用許可チェックプログラム２５−１等がサーバのハードウェア構成のメモリ上に記憶されていて、これらのプログラムによりＣＰＵが動作する、として説明した。
従って、汎用の計算機がこれらのプログラムを読み込み、アイデンティティ管理サーバや動作サーバの役割を得るようにしてもよい。
また更に、これらのプログラムを計算機が読取可能な媒体に記憶させ、必要に応じて汎用の計算機が読取り、上記動作をさせるようにしてもよい。
【図面の簡単な説明】
【００３９】
【図１】この発明の実施の形態１におけるパスワード安全同期管理システムの構成を示す図である。
【図２】実施の形態１におけるパスワード管理テーブルが記憶するデータの例を示す図である。
【図３】実施の形態１におけるエンコード方式管理テーブルが記憶するデータの例を示す図である。
【図４】実施の形態１におけるサーバ情報管理テーブルが記憶するデータの例を示す図である。
【図５】実施の形態１におけるアイデンティティ管理サーバがアイデンティティ管理サービスプログラムにより行う動作フロー図である。
【図６】実施の形態１におけるアイデンティティ管理サーバがアイデンティティ管理サービスプログラムにより行う動作フロー図である。
【図７】実施の形態１における各サーバがパスワード更新エージェントプログラムにより行う動作フロー図である。
【図８】各実施の形態における各サーバが行うパスワード認証の動作フロー図である。
【図９】実施の形態２におけるアイデンティティ管理サーバがアイデンティティ管理サービスプログラムにより行う動作フロー図である。
【図１０】この発明の実施の形態３におけるパスワード安全同期管理システムの構成を示す図である。
【図１１】実施の形態３におけるアイデンティティ管理サーバがアイデンティティ管理サービスプログラムにより行う動作フロー図である。
【図１２】実施の形態３における各サーバがパスワード更新エージェントプログラムにより行う動作フロー図である。
【図１３】この発明の実施の形態４におけるパスワード安全同期管理システムの構成を示す図である。
【図１４】実施の形態４におけるアイデンティティ管理サーバがアイデンティティ管理サービスプログラムにより行う動作フロー図である。
【図１５】実施の形態４における各サーバがパスワード更新エージェントプログラムにより行う動作フロー図である。
【図１６】実施の形態５におけるパスワード管理テーブルが記憶するデータの例を示す図である。
【図１７】実施の形態５におけるアイデンティティ管理サーバがアイデンティティ管理サービスプログラムにより行う動作フロー図である。
【図１８】実施の形態５における各サーバがパスワード更新エージェントプログラムにより行う動作フロー図である。
【図１９】この発明の実施の形態６におけるパスワード安全同期管理システムの構成を示す図である。
【図２０】実施の形態６におけるログオンチェック・プログラムによる動作フロー図である。
【図２１】実施の形態６におけるアイデンティティ管理サーバがアイデンティティ管理サービスプログラムにより行う動作フロー図である。
【符号の説明】
【００４０】
１  クライアント（計算機）、２  アイデンティティ管理サーバ、３  更新リクエスト・データ、４  アイデンティティ管理サービスプログラム、５  パスワード管理データベース（ＤＢ）、６  パスワード管理テーブル、７  エンコード方式管理テーブル、８  サーバ情報管理テーブル、９−１，９−２，９−３  パスワード更新時の送信データ、１０−１  サーバＡ、１０−２  サーバＢ、１０−３  サーバＣ、１１−１，１１−２，１１−３  パスワード更新エージェントプログラム、１２−１  ＯＳ、１２−２  ＡＰＰ（アプリケーション・プログラム）、１２−３  ディレクトリ・サーバ、１３−１，１３−２，１３−３  新データ記憶領域、１４−１，１４−２，１４−３  旧データ、１５−１，１５−２，１５−３  設定ファイル、１６  ログオンチェック・プログラム、２１  ＣＰＵ、２２  メモリ、２３−１，２３−２，２３−３  ＣＰＵ、２４−１，２４−２，２４−３  メモリ、２５−１，２５−２，２５−３  使用許可チェックプログラム、Ｓ１０  更新指示ステップ、Ｓ１８  パスワード更新ステップ、Ｓ２０  成功情報送信ステップ、Ｓ２１  失敗情報送信ステップ、Ｓ２３  パスワード送信・エンコード指示ステップ、Ｓ２４  エンコード・返送ステップ、Ｓ２５  ロールバック命令送信ステップ、Ｓ２６  更新指示ステップ、Ｓ２９  旧データに戻すステップ、Ｓ３０  旧データ削除ステップ、Ｓ３３  ログオン／ログオフ・チェック・ステップ、Ｓ４３  エージェントが持つ情報との比較ステップ、Ｓ５０  ログオン／ログオフ・チェック・ステップ、Ｓ７２  パスワードエンコード・ステップ、Ｓ７３  パスワード比較ステップ、Ｓ７４  使用許可・処理ステップ、Ｓ７５  使用不許可ステップ。
【図１】
2005284986.tif 000003
【図２】
2005284986.tif 000004
【図３】
2005284986.tif 000005
【図４】
2005284986.tif 000006
【図５】
2005284986.tif 000007
【図６】
2005284986.tif 000008
【図７】
2005284986.tif 000009
【図８】
2005284986.tif 000010
【図９】
2005284986.tif 000011
【図１０】
2005284986.tif 000012
【図１１】
2005284986.tif 000013
【図１２】
2005284986.tif 000014
【図１３】
2005284986.tif 000015
【図１４】
2005284986.tif 000016
【図１５】
2005284986.tif 000017
【図１６】
2005284986.tif 000018
【図１７】
2005284986.tif 000019
【図１８】
2005284986.tif 000020
【図１９】
2005284986.tif 000021
【図２０】
2005284986.tif 000022
【図２１】
2005284986.tif 000023