(57)【要約】【課題】ネットワーク上で認証情報を保護する方法を提供する。【解決手段】認証情報処理プログラムは、複数のエージェントがそれぞれ対応するエンティティの認証情報を管理する通信システムにおいて、第１のエンティティに対応する第１のエージェントを実現する。この認証情報処理プログラムは、第２のエンティティに対応する第２のエージェントから属性要求を受信したときに、第１のエンティティの属性を表す第１の認証情報が第３のエンティティに係わる情報を含むか否かを判定し、第１の認証情報が前記第３のエンティティに係わる情報を含むときに、第３のエンティティに係わる情報の公開についての第３のエンティティのポリシに基づいて第１の認証情報を編集し、編集された第１の認証情報を第２のエージェントに送信する。【選択図】図３
2020173523.tif 000002
【特許請求の範囲】
【請求項１】
複数のエージェントがそれぞれ対応するエンティティの認証情報を管理する通信システムにおいて、第１のエンティティに対応する第１のエージェントを実現する認証情報処理プログラムであって、
第２のエンティティに対応する第２のエージェントから属性要求を受信したときに、前記第１のエンティティの属性を表す第１の認証情報が第３のエンティティに係わる情報を含むか否かを判定し、
前記第１の認証情報が前記第３のエンティティに係わる情報を含むときに、前記第３のエンティティに係わる情報の公開についての前記第３のエンティティのポリシに基づいて前記第１の認証情報を編集し、
編集された前記第１の認証情報を前記第２のエージェントに送信する
処理をプロセッサに実行させる認証情報処理プログラム。
【請求項２】
前記第１のエージェントは、
前記第３のエンティティに係わる情報を前記第２のエンティティに公開してよいか否かについての問合せを、前記第３のエンティティに対応する第３のエージェントに対して行い、
前記問合せに対する前記第３のエージェントからの回答に基づいて前記第１の認証情報を編集して前記第２のエージェントに送信する
ことを特徴とする請求項１に記載の認証情報処理プログラム。
【請求項３】
前記問合せに対する前記第３のエージェントからの回答が、前記第３のエンティティに係わる情報の公開を許可しないときは、前記第１のエージェントは、前記第１の認証情報から前記第３のエンティティに係わる情報を削除して前記第２のエージェントに送信する
ことを特徴とする請求項２に記載の認証情報処理プログラム。
【請求項４】
前記属性要求は、前記第２のエンティティの属性を表す第２の認証情報および前記第２の認証情報の公開範囲を表すポリシ情報を含み、
前記第１のエージェントは、
前記ポリシ情報に基づいて前記第２の認証情報を編集し、
前記問合せにおいて、編集された前記第２の認証情報を前記第３のエージェントに送信する
ことを特徴とする請求項２に記載の認証情報処理プログラム。
【請求項５】
複数のエージェントがそれぞれ対応するエンティティの認証情報を管理する通信システムにおいて、第１のエンティティに対応する第１のエージェントの機能を提供する情報処理装置であって、
プロセッサと、
前記第１のエンティティの属性を表す認証情報を保存するメモリと、を備え、
前記プロセッサは、
前記情報処理装置が第２のエンティティに対応する第２のエージェントから属性要求を受信したときに、前記認証情報が第３のエンティティに係わる情報を含むか否かを判定し、
前記認証情報が前記第３のエンティティに係わる情報を含むときに、前記第３のエンティティに係わる情報の公開についての前記第３のエンティティのポリシに基づいて前記認証情報を編集し、
編集された前記認証情報を前記第２のエージェントに送信する
ことを特徴とする情報処理装置。
【請求項６】
複数のエンティティにそれぞれ対応する複数のエージェントがネットワークに接続する通信システムにおいて、
第１のエンティティに対応する第１のエージェントは、第２のエンティティに対応する第２のエージェントから属性要求を受信したときに、前記第１のエンティティの属性を表す第１の認証情報が第３のエンティティに係わる情報を含むか否かを判定し、
前記第１のエージェントは、前記第１の認証情報が前記第３のエンティティに係わる情報を含むときに、前記第３のエンティティに係わる情報の公開についての前記第３のエンティティのポリシに基づいて前記第１の認証情報を編集し、
前記第１のエージェントは、編集された前記第１の認証情報を前記第２のエージェントに送信する
ことを特徴とする通信システム。
【請求項７】
前記第１のエージェントは、前記第３のエンティティに係わる情報を前記第２のエンティティに公開してよいか否かを、前記第３のエンティティに対応する第３のエージェントに問い合わせ、
前記第３のエージェントは、前記第３のエンティティのポリシに基づいて、前記第３のエンティティに係わる情報を前記第２のエンティティに公開してよいか否かを判定し、その判定結果を表す回答を前記第１のエージェントに送信し、
前記第１のエージェントは、前記回答に基づいて前記第１の認証情報を編集して前記第２のエージェントに送信する
ことを特徴とする請求項６に記載の通信システム。
【請求項８】
前記第２のエージェントは、前記第１のエージェントから受信する第１の認証情報が前記第３のエンティティに係わる情報を含むときは、前記第３のエージェントに前記第３のエンティティの属性を表す第３の認証情報を要求する
ことを特徴とする請求項７に記載の通信システム。
【請求項９】
前記第３のエージェントは、前記第３のエンティティに係わる情報を前記第２のエンティティに公開するときは、前記問合せに内容に基づいて前記第３のエンティティの署名を生成して前記第１のエージェントに送信し、
前記第１のエージェントは、前記第１の認証情報および前記署名を前記第２のエージェントに送信する
ことを特徴とする請求項７に記載の通信システム。
【請求項１０】
前記第１のエージェントは、前記第３のエンティティに係わる情報を前記第２のエンティティに公開してよいか否かを、前記第３のエンティティに対応する第３のエージェントに問い合わせ、
前記第３のエージェントは、前記第３のエンティティのポリシに基づいて、前記第３のエンティティに係わる情報を前記第２のエンティティに公開してよいか否かを判定し、
前記第３のエージェントは、前記第３のエンティティに係わる情報を前記第２のエンティティに公開するときは、前記第３のエンティティの属性を表す第３の認証情報を前記第１のエージェントに送信し、
前記第１のエージェントは、前記第１の認証情報および前記第３の認証情報を前記第２のエージェントに送信する
ことを特徴とする請求項６に記載の通信システム。
【請求項１１】
各エージェントは、対応するエンティティの属性を表す認証情報および前記認証情報を公開する範囲を表すポリシ情報を管理し、
前記ポリシ情報は、前記認証情報の転送可能範囲を表す許容ホップ数を含む
ことを特徴とする請求項６に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証情報を処理する装置、方法、およびプログラムに係わる。
【背景技術】
【０００２】
コンピュータを利用して個人の信頼性を判定する際には、対象者の認証情報が参照される。認証情報は、氏名、年齢、住所、電話番号、Ｅメールアドレス、職業などを含むことがある。この場合、コンピュータは、対象者の信頼性を推定し、その推定結果に応じたアクションを実行する。例えば、対象者の信頼性が高いと推定されるときは、コンピュータは、その対象者に所定の情報を開示する。
【０００３】
関連技術として、第１のユーザから、第１のユーザとは１人以上を介した関係にある第２のユーザに関する個人情報の情報開示要求があった場合に、アクセス制御ルールとユーザ関係のリストとを参照して、第１のユーザへの情報開示を許可するか否かを判定する方法が提案されている（例えば、特許文献１）。また、個人情報を所定のフォーマットに従って印刷出力する印刷装置が知られている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２０１０７３号公報
【特許文献２】特開２００８−２５０９１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した信頼性の推定において、認証情報は、第３者の情報を含むことがある。たとえば、サーバコンピュータから認証情報を要求された対象者は、対象者自身の認証情報をサーバコンピュータに送信する。このとき、この認証情報の中に第３者に係わる情報が含まれている場合、その第３者が不利益を受けるおそれがある。なお、この問題は、個人情報に限定されるものではなく、様々なエンティティ（個人、組織、ＩｏＴデバイス、サービス）に係わる情報にも発生し得る。
【０００６】
本発明の１つの側面に係わる目的は、ネットワーク上で認証情報を保護する方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の１つの態様の認証情報処理プログラムは、複数のエージェントがそれぞれ対応するエンティティの認証情報を管理する通信システムにおいて、第１のエンティティに対応する第１のエージェントを実現する。この認証情報処理プログラムは、第２のエンティティに対応する第２のエージェントから属性要求を受信したときに、前記第１のエンティティの属性を表す第１の認証情報が第３のエンティティに係わる情報を含むか否かを判定し、前記第１の認証情報が前記第３のエンティティに係わる情報を含むときに、前記第３のエンティティに係わる情報の公開についての前記第３のエンティティのポリシに基づいて前記第１の認証情報を編集し、編集された前記第１の認証情報を前記第２のエージェントに送信する。
【発明の効果】
【０００８】
上述の態様によれば、ネットワーク上で認証情報が適切に保護される。
【図面の簡単な説明】
【０００９】
【図１】認証情報の送信の一例を示す図である。
【図２】認証情報の送信の他の例を示す図である。
【図３】認証情報処理方法の一例を示す図である。
【図４】通信システムの一例を示す図である。
【図５】認証情報の例を示す図である。
【図６】ポリシ情報の例を示す図である。
【図７】要求フェーズの一例を示す図である。
【図８】問合せフェーズの一例を示す図（その１）である。
【図９】問合せフェーズの一例を示す図（その２）である。
【図１０】応答フェーズの一例を示す図である。
【図１１】問合せフェーズの他の例を示す図（その１）である。
【図１２】問合せフェーズの他の例を示す図（その２）である。
【図１３】応答フェーズの他の例を示す図である。
【図１４】表示フェーズの一例を示す図である。
【図１５】端末装置に表示されるグラフの一例を示す図である。
【図１６】認証情報処理方法のシーケンスの一例を示す図である。
【図１７】認証情報処理方法のシーケンスの他の例を示す図である。
【図１８】エージェントの処理の一例を示すフローチャートである。
【図１９】公開範囲を制限する方法の一例を示す図である。
【図２０】認証情報の無断公開を検知する方法の一例を示す図である。
【図２１】認証情報をパブリック化する方法の一例を示す図である。
【図２２】情報処理装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
図１は、認証情報の送信の一例を示す。この実施例では、通信システム内に複数のエージェント１（１ａ〜１ｃ）が存在する。各エージェント１は、プロセッサを用いてソフトウェアプログラムを実行することにより実現される。このソフトウェアプログラムは、認証情報処理プログラムを含む。したがって、各エージェント１は、認証情報処理プログラムを実行することにより、認証情報を処理する機能を提供できる。また、各エージェント１は、ネットワーク１００に接続する機能を備える。
【００１１】
各エージェント１は、対応するエンティティに対して設けられる。ここで、エンティティは、個人、組織、ＩｏＴデバイス、サービス等に相当する。この実施例では、エンティティは、それぞれ個人（アリス、ボブ、チャーリー等）に相当する。すなわち、エージェント１ａ、１ｂ、１ｃは、それぞれ、アリス、ボブ、チャーリーのために情報処理を実行する。
【００１２】
エージェント１は、対応するエンティティの認証情報およびポリシ情報を管理する。例えば、エージェント１ａがアクセス可能なメモリには、アリスの認証情報およびポリシ情報が保存されており、エージェント１ｂがアクセス可能なメモリには、ボブの認証情報およびポリシ情報が保存されている。認証情報は、エンティティの属性を表す属性情報に相当し、この実施例では、ユーザの個人情報を表す。よって、認証情報は、例えば、ユーザの氏名、年齢、住所、電話番号、Ｅメールアドレス、職業、人間関係などを含む。ポリシ情報は、認証情報を公開する範囲を表す。すなわち、ポリシ情報は、対応する認証情報を公開してもよい相手を指定する。また、ポリシ情報は、対応する認証情報が複数の属性を含む場合、公開してもよい属性を指定してもよい。
【００１３】
ここで、ボブがアリスに面会を申し込むものとする。この場合、エージェント１ｂは、ボブからの指示に応じて、ボブの認証情報をエージェント１ａに送信する。エージェント１ａは、ボブの認証情報に基づいて、ボブの信頼性を推定する。そして、エージェント１ａは、この推定結果に応じたアクションを実行する。例えば、ボブの信頼性が高いと推定したときは、エージェント１ａは、面会の許可を表すメッセージをエージェント１ｂに送信する。
【００１４】
なお、エージェント１に対応する端末装置のユーザが「個人」である場合、認証情報は個人情報に相当する。また、この実施例では、エージェント１に対応する端末装置のユーザが「個人」であるが、本発明はこの構成に限定されるものではない。すなわち、エージェント１は、任意のエンティティ（個人、組織、ＩｏＴデバイス、サービス等）に対応してもよい。
【００１５】
図２は、認証情報の送信の他の例を示す。この実施例では、エージェント１ｂからエージェント１ａに送信されるボブの認証情報が、第３者に係わる情報を含んでいる。具体的には、ボブの認証情報は、チャーリーがボブの同僚であることを表す情報を含んでいる。
【００１６】
エージェント１ａは、エージェント１ｂから受信する認証情報に基づいてボブの信頼性を推定する。このとき、エージェント１ａは、チャーリーがボブの同僚であることを考慮してボブの信頼性を推定する。すなわち、エージェント１ａは、ボブの人間関係を考慮してボブの信頼性を推定することができる。ここで、例えば、アリスにとってチャーリーが信頼できる人物である場合は、ボブも信頼できると推定されるかも知れない。
【００１７】
ところが、この方法では、チャーリーの許可を得ることなく、チャーリーの個人情報がアリスに公開されることになる。少なくとも、チャーリーがボブと同じ組織に属していることが、アリスに公開されることとなる。すなわち、この方法では、認証情報または個人情報の保護が図れないことがある。
【００１８】
＜実施形態＞
図３は、本発明の実施形態に係わる認証情報処理方法の一例を示す。この方法は、第３者の個人情報が無断で公開される事態を回避する機能を提供する。
【００１９】
エージェント１ｂは、ボブの認証情報をエージェント１ａに送信するときは、その認証情報が第３者に係わる情報を含むか否かを判定する。「第３者」は、認証情報の送信元端末のユーザ（即ち、ボブ）および認証情報の送信先端末のユーザ（即ち、アリス）以外のエンティティを表す。この実施例では、ボブの認証情報は、チャーリーに係わる情報を含んでいる。具体的には、ボブの認証情報は、チャーリーがボブの同僚であることを表す情報を含んでいる。この場合、エージェント１ｂは、チャーリーに係わる情報をアリスに公開してもよいか否かをエージェント１ｃに問い合わせる。
【００２０】
エージェント１ｃは、この問合せを受信すると、チャーリーのポリシ情報を参照して回答を作成する。ここで、エージェント１ｃにより管理されているポリシ情報には、チャーリーの認証情報を公開してもよいエンティティが登録されている。ただし、この実施例では、このポリシ情報に「アリス」が登録されていないものとする。この場合、エージェント１ｃは、チャーリーの認証情報をアリスに公開しないことを表す回答を作成する。そして、エージェント１ｃは、この回答をエージェント１ｂに送信する。
【００２１】
エージェント１ｂは、エージェント１ｃから受信する回答に基づいて、ボブの認証情報を編集する。具体的には、エージェント１ｂは、ボブの認証情報から「チャーリーに係わる情報」を削除する。そして、エージェント１ｂは、編集した認証情報をエージェント１ａに送信する。この場合、エージェント１ａは、ボブの認証情報においてチャーリーの存在を認識できない。すなわち、チャーリーの個人情報は、アリスには公開されない。尚、チャーリーの認証情報をアリスに公開してよいことを表す回答をエージェント１ｃから受信したときは、エージェント１ｂは、ボブの認証情報を編集することなくエージェント１ａに送信してもよい。
【００２２】
このように、本発明の実施形態に係わる認証情報処理方法においては、エージェント１ｂがエージェント１ｂのユーザの認証情報をエージェント１ａに送信するときに、その認証情報が第３者に係わる情報を含むか否かを判定する。そして、認証情報が第３者に係わる情報を含むときは、エージェント１ｂは、その第３者に係わる情報をエージェント１ａのユーザに公開して良いか否かを、その第３者に問い合わせる。そして、エージェント１ｂは、第３者からの回答に応じて認証情報を編集し、編集後の認証情報をエージェント１ａに送信する。したがって、第３者に係わる情報が、その第３者の許可を得ることなく公開される事態は回避される。すなわち、認証情報または個人情報の保護が保障される。
【００２３】
図４は、本発明の実施形態に係わる通信システムの一例を示す。この実施例では、通信システムは、複数の端末装置１０および複数の情報処理装置２０を備える。各端末装置１０および各情報処理装置２０は、ネットワーク１００に接続する。
【００２４】
端末装置１０は、この実施例では、ユーザにより使用される。また、端末装置１０は、図示していないが、プロセッサ、メモリ、通信回路、表示デバイス、ユーザインタフェースデバイスなどを備える。さらに、端末装置１０には、端末アプリケーションが実装されている。端末アプリケーションは、通信部１１および表示制御部１２を含む。通信部１１は、通信機能を提供する。表示制御部１２は、表示デバイスに表示する画像データを生成する。そして、端末アプリケーションは、プロセッサにより実行される。
【００２５】
情報処理装置２０は、この実施例では、サーバ装置として動作する。また、情報処理装置２０は、図示していないが、プロセッサ、メモリ、通信回路などを備える。さらに、情報処理装置２０において、エージェント１が実行され得る。各エージェント１は、対応するエンティティに対して設けられる。この実施例では、エージェント１は、対応する端末装置１０のユーザに対して設けられている。
【００２６】
エージェント１は、通信部２１を含む。通信部２１は、通信機能を提供する。また、エージェント１は、対応するユーザの認証情報２２およびポリシ情報２３を管理する。認証情報２２は、対応するユーザの属性を表す。この実施例では、認証情報２２は、対応するユーザの個人情報を表す。したがって、認証情報２２は、例えば、ユーザの氏名、年齢、住所、電話番号、Ｅメールアドレス、職業、人間関係などを含む。ポリシ情報２３は、上述したように、認証情報２２を公開する範囲を表す。さらに、エージェント１は、転送表２４を管理する。転送表２４には、通信相手を識別する情報が登録されている。
【００２７】
上記構成の通信システムにおいて、端末装置１０は、ユーザの指示に従って動作する。このとき、端末装置１０は、必要に応じて、対応するエージェントにアクセスする。例えば、アリスから認証情報処理に係わる指示を受信したときは、端末装置１０は、アリスに対応するエージェント（ここでは、エージェント１ａ）に処理を依頼することがある。同様に、ボブから認証情報処理に係わる指示を受信したときは、端末装置１０は、ボブに対応するエージェント（ここでは、エージェント１ｂ）に処理を依頼することがある。
【００２８】
なお、図４に示す例では、エージェント１は情報処理装置２０により実装されるが、端末装置１０に実装されてもよい。また、１台の情報処理装置２０に２以上のエージェントが実装されてもよい。
【００２９】
図５は、各エンティティの認証情報の例を示す。図５（ａ）は、エージェント１ａにより管理されるアリスの認証情報を表す。図５（ｂ）は、エージェント１ｂにより管理されるボブの認証情報を表す。図５（ｃ）は、エージェント１ｃにより管理されるチャーリーの認証情報を表す。認証情報の内容は、例えば、各エンティティ（すなわち、アリス、ボブ、チャーリー）により登録される。
【００３０】
図６は、各エンティティのポリシ情報の例を示す。図６（ａ）は、エージェント１ａにより管理されるアリスのポリシ情報を表す。図６（ｂ）は、エージェント１ｂにより管理されるボブのポリシ情報を表す。図６（ｃ）は、エージェント１ｃにより管理されるチャーリーのポリシ情報を表す。ポリシ情報の内容も、例えば、各エンティティ（すなわち、アリス、ボブ、チャーリー）により登録される。
【００３１】
ポリシ情報は、認証情報の公開範囲（即ち、公開ポリシ）を表す。例えば、図６（ａ）に示すアリスのポリシ情報の第１レコードは、「ボブ」に対してアリスの「氏名、所属、電話番号、住所」が公開可能であることを表す。第２レコードは、「ボブ以外のユーザ」に対してアリスの「氏名、電話番号、住所」が公開可能であることを表す。換言すれば、第２レコードは、「ボブ以外のユーザ」に対してアリスの「所属」が公開不可であることを表している。なお、「＊」は、全ユーザの集合を表し、「−」は、集合の差分を得るための操作を表す。「許容ホップ数」については後で説明する。
【００３２】
図６（ｃ）に示すチャーリーのポリシ情報の第１レコードは、「アリス」に対してチャーリーの個人情報の公開が不可であることを表す。第２レコードは、「エリック」に対してチャーリーの「氏名、電話番号、友人」が公開可能であることを表している。
【００３３】
次に、図３に示す認証情報処理方法の手順を詳しく説明する。認証情報処理方法は、この実施例では、要求フェーズ、問合せフェーズ、応答フェーズ、表示フェーズを含む。以下の記載では、図３に示すアリスがボブに対して認証情報を要求するものとする。なお、アリスまたはアリスに対応するエージェント１ａを「要求者」と呼ぶことがある。また、ボブまたはボブに対応するエージェント１ｂを「対象者」と呼ぶことがある。さらに、ボブの認証情報がチャーリーに係わる情報を含むので、チャーリーまたはチャーリーに対応するエージェント１ｃを「関係者」と呼ぶことがある。
【００３４】
図７は、認証情報処理方法の要求フェーズの一例を示す。要求フェーズにおいては、アリスは、自分の端末装置１０にグラフ要求を入力する。グラフ要求は、対象者（即ち、ボブ）の認証情報を取得して端末装置１０の表示デバイスの表示するための指示を含む。そして、端末装置１０は、このグラフ要求を、アリスに対応するエージェント１ａに転送する。
【００３５】
エージェント１ａは、グラフ要求に応じて、ボブに対応するエージェント１ｂに属性要求を送信する。この属性要求には、要求者（すなわち、アリス）の認証情報および共有ポリシ情報が添付される。アリスの認証情報および共有ポリシ情報は、エージェント１ａにより管理されている。アリスの認証情報は、図５または図７に示すように、アリスの氏名およびアリスが所属する組織を表す情報を含む。また、共有ポリシ情報は、アリスの認証情報の各属性についての開示範囲を表す。この実施例では、共有ポリシ情報は、アリスの認証情報の中の「所属」について、ボブ以外のエンティティへの開示を許可しない旨を表している。
【００３６】
図８〜図９は、認証情報処理方法の問合せフェーズの一例を示す。この問合せフェーズは、エージェント１ｂがエージェント１ａから図７に示す属性要求を受信したときに開始される。
【００３７】
エージェント１ｂは、ボブのポリシに基づいて、アリスの要求に応答するか否かを判定する。ここで、ボブのポリシを表すポリシ情報は、エージェント１ｂにより管理されている。そして、図６に示すように、ボブのポリシ情報は、アリスに対してボブの認証情報の公開を許容することを表している。よって、エージェント１ｂは、アリスの要求に応答すると判定する。
【００３８】
続いて、エージェント１ｂは、ボブの認証情報が第３者に係わる情報を含むか否かを判定する。この実施例では、図５または図８に示すように、ボブの認証情報がチャーリーに係わる情報およびデイブに係わる情報を含んでいる。この場合、エージェント１ｂは、アリスに対して情報を公開してよいか否かを各関係者に問い合わせる。ここでは、チャーリーに対する問合せについて記載する。
【００３９】
エージェント１ｂは、転送表を参照してチャーリーにアクセスするためのエンドポイント情報を取得する。この結果、チャーリーに対応するエージェント（即ち、エージェント１ｃ）が特定される。そして、エージェント１ｂは、エージェント１ｃに問合せメッセージを送信する。
【００４０】
この問合せメッセージは、チャーリーに係わる情報をアリスに公開してよいか否かを問い合わせる。よって、この問合せメッセージは、アリスがどのような人物であるかをチャーリーに知らせるために、アリスの認証情報を含む。ただし、エージェント１ｂは、アリスの共有ポリシに基づいて、アリスの認証情報を編集する。この実施例では、アリスの共有ポリシは、「アリスの所属について、ボブ以外のエンティティへの開示を許可しない」である。よって、エージェント１ｂは、アリスの認証情報から「所属：Ａ会社」を削除する。
【００４１】
また、ボブの認証情報において、ボブとチャーリーとの関係は「同僚」である。したがって、問合せメッセージは、「チャーリーがボブの同僚である」ことをアリスに公開してもよいか否かを問い合わせる。
【００４２】
エージェント１ｃは、エージェント１ｂから問合せメッセージを受信すると、チャーリーのポリシ情報を参照して回答を作成する。ここで、エージェント１ｃにより管理されているチャーリーのポリシ情報には、チャーリーの認証情報を公開してもよいエンティティが登録されている。ただし、この実施例では、このポリシ情報に「アリス」は登録されていない。この場合、エージェント１ｃは、チャーリーの認証情報をアリスに公開しないことを表す回答を作成する。そして、エージェント１ｃは、この回答をエージェント１ｂに送信する。
【００４３】
図１０は、認証情報処理方法の応答フェーズの一例を示す。この応答フェーズは、エージェント１ｂがエージェント１ｃから図９に示す回答を受信したときに開始される。
【００４４】
エージェント１ｂは、各関係者から受信する回答に基づいて、ボブの認証情報を編集する。この実施例では、エージェント１ｃから送信される回答は、チャーリーの認証情報をアリスに公開しないことを表している。この場合、エージェント１ｂは、ボブの認証情報からチャーリーに係わる情報を削除する。具体的には、ボブの認証情報から「同僚：チャーリー」が削除される。そして、エージェント１ｂは、編集した認証情報をエージェント１ａに送信する。このとき、エージェント１ａは、ボブの認証情報においてチャーリーの存在を認識できない。すなわち、チャーリーの個人情報は、アリスには公開されない。
【００４５】
なお、上述の問合せフェーズおよび応答フェーズは、各関係者に対して実行される。例えば、エージェント１ｂは、図１１に示すように、デイブに対して問合せを行う。このとき、デイブに対応するエージェント１ｄにより管理されるデイブのポリシ情報には、図１２に示すように、デイブの認証情報を公開してもよいエンティティとして「アリス」が登録されている。よって、エージェント１ｄは、デイブの認証情報をアリスに公開してもよいことを表す回答を作成し、エージェント１ｂに送信する。
【００４６】
そうすると、エージェント１ｂは、デイブのポリシに基づいてボブの認証情報を編集する。例えば、ボブの認証情報において、デイブはボブの友人である。ここで、デイブがボブの問合せを許容している。この場合、エージェント１ｂは、ボブの認証情報からデイブに係わる情報を削除しない。そうすると、エージェント１ｂからエージェント１ａに送信されるボブの認証情報は、図１３に示すように、デイブに係わる情報（即ち、「友人：デイブ」）を含むことになる。
【００４７】
図１４は、認証情報処理方法の表示フェーズの一例を示す。この表示フェーズは、エージェント１ａがエージェント１ｂから応答を受信したときに開始される。
【００４８】
エージェント１ａは、エージェント１ｂから受信する応答に基づいて、対象者のグラフを作成する。すなわち、エージェント１ａは、ボブの認証情報に基づいて、ボブの属性を表すグラフを作成する。ここで、エージェント１ａが受信するボブの認証情報は、関係者のポリシに基づいて編集されている。具体的には、ボブの認証情報において、チャーリーに係わる情報は削除されている。したがって、エージェント１ａにより作成されるグラフには、チャーリーは存在しない。そして、エージェント１ａは、作成したグラフを、アリスが使用する端末装置１０に送信する。端末装置１０は、エージェント１ａから受信するグラフを表示デバイスに表示する。
【００４９】
図１５は、アリスが使用する端末装置１０に表示されるグラフの一例を示す。このグラフは、対象者（すなわち、ボブ）の認証情報に基づいて作成される。
【００５０】
グラフは、ノードおよびエッジから構成される。各ノードは、それぞれエンティティを表す。具体的には、各ノードは、対象者および対象者に係わる関係者を表す。また、エッジは、ノード間に関係が存在する状態を表す。具体的には、認証情報の中の属性値が他のエンティティの識別子を表す状態を表す。例えば、図５（ｂ）に示す例では、「友人」に対応する属性値が「デイブ」である。よって、ボブを表すノードとデイブと表すノードとの間にエッジが設けられている。加えて、各エッジに対して、対応する属性名（友人、家族、取引相手など）を表すラベルが付与されている。
【００５１】
各ノードのサイズは、均一でもよいが、この実施例では、信頼スコアに応じて決定される。信頼スコアは、「信頼する」という属性名の属性値として設定されている数により増減する。例えば、全エージェントが保持する認証情報を確認した結果、「信頼する」という属性名の属性値が設定されている数がｉ個であり、そのうちのｊ個の属性値が「ボブ」である場合、ボブの信頼スコアは、「ｊ／ｉ」である。ただし、これは一例であり、信頼スコアは、他の任意の方法で計算され得る。
【００５２】
なお、図１５（ａ）は、図３または図７〜図１４に示す手順で作成されたグラフの表示例を示している。図３または図７〜図１４に示す例では、チャーリーのポリシ情報には、チャーリーの個人情報の公開先としてアリスが登録されていない。すなわち、チャーリーは、自分の個人情報がアリスに公開されることを望んでいない。この結果、エージェント１ｂからエージェント１ａへチャーリーの個人情報が公開されず、アリスの端末装置１０には、チャーリーに係わる情報は表示されない。
【００５３】
一方、図１５（ｂ）は、図２に示す手順で作成されたグラフの表示例を示している。図２に示す例では、エージェント１ｂは、チャーリーの許可を得ることなく、チャーリーに係わる情報を含むボブの認証情報をエージェント１ａに送信している。この結果、チャーリーに係わる情報がアリスの端末装置１０に表示されてしまう。
【００５４】
図１６は、認証情報処理方法のシーケンスの一例を示す。このシーケンスは、図７〜図１０に示す実施例に対応する。
【００５５】
端末装置１０は、エージェント１ａにグラフ要求を送信する。エージェント１ａは、グラフ要求に応じて、属性要求をエージェント１ｂに送信する。この属性要求は、アリスの認証情報および共有ポリシ情報を含む。
【００５６】
エージェント１ｂは、ボブのポリシに基づいて、受信した属性要求に応答するか否かを判定する。受信した属性要求に応答するときは、エージェント１ｂは、ボブの認証情報が第３者に係わる情報を含むか否かを判定する。ここでは、ボブの認証情報がチャーリーに係わる情報を含む。この場合、エージェント１ｂは、転送表２４を利用してチャーリーの問合せ先を取得する。ここでは、チャーリーの問合せ先として、チャーリーに対応するエージェント１ｃが特定される。また、エージェント１ｂは、アリスのポリシに基づいてアリスの認証情報を編集する。そして、エージェント１ｂは、エージェント１ｃに対して問合せを行う。この問合せメッセージは、編集後のアリスの認証情報を含む。
【００５７】
エージェント１ｃは、チャーリーのポリシに基づいて、アリスに対するチャーリーの個人情報の公開を許可するか否かを判定する。そして、エージェント１ｃは、この判定結果をエージェント１ｂに回答する。この実施例では、アリスに対するチャーリーの個人情報の公開が許可されるものとする。
【００５８】
エージェント１ｂは、エージェント１ｃから受信する回答に基づいて、ボブの認証情報を編集する。すなわち、アリスに対する応答内容が構築される。そして、エージェント１ｂは、編集後のボブの認証情報をエージェント１ａに送信する。このとき、アリスに対するチャーリーの個人情報の公開が許可されているので、編集後のボブの認証情報は、チャーリーに係わる情報を含む。
【００５９】
エージェント１ａは、ボブの認証情報がチャーリーに係わる情報を含むことを認識すると、チャーリーの問合せ先を取得する。ここでは、チャーリーの問合せ先として、チャーリーに対応するエージェント１ｃが特定される。そして、エージェント１ａは、エージェント１ｃに属性要求を送信する。そうすると、エージェント１ｃは、ポリシチェックを行った後、チャーリーの認証情報をエージェント１ａに送信する。
【００６０】
エージェント１ａは、収集した認証情報を利用してグラフを作成する。この例では、エージェント１ｂから受信したボブの認証情報およびエージェント１ｃから受信したチャーリーの認証情報に基づいてグラフが作成される。そして、エージェント１ａは、作成したグラフを端末装置１０に送信する。そうすると、端末装置１０の表示デバイスにボブの人間関係を表すグラフが表示される。
【００６１】
図１７は、認証情報処理方法のシーケンスの他の例を示す。図１６に示すシーケンスでは、関係者（すなわち、チャーリー）に対応するエージェント１ｃは、公開を許可するか否かを表す応答をエージェント１ｂに送信する。これに対して、図１７に示すシーケンスでは、エージェント１ｃは、チャーリーの認証情報をアリスに公開してもよい場合、チャーリーの認証情報をエージェント１ｂに送信する。このとき、エージェント１ｃは、チャーリーの認証情報に加えて、必要に応じて、チャーリーのポリシを表すポリシ情報をエージェント１ｂに送信してもよい。
【００６２】
そうすると、エージェント１ｂは、ボブの認証情報およびチャーリーの認証情報を含む応答内容を構築する。このとき、エージェント１ｂは、必要に応じて、ボブの認証情報および／またはチャーリーの認証情報を編集してもよい。例えば、チャーリーのポリシ情報が、チャーリーの認証情報に含まれる複数の属性のうちの一部の属性の公開を拒否するときには、エージェント１ｂは、チャーリーの認証情報から拒否された属性を削除する。そして、エージェント１ｂは、この応答内容をエージェント１ａに送信する。
【００６３】
エージェント１ａは、エージェント１ｂからの応答に基づいてグラフを作成する。尚、図１６に示すシーケンスとは異なり、エージェント１ａは、エージェント１ｂからチャーリーの認証情報を取得する。よって、エージェント１ａは、チャーリーの認証情報を取得するためにエージェント１ｃに属性要求を送信する必要はない。
【００６４】
図１８は、エージェントの処理の一例を示すフローチャートである。なお、このフローチャートの処理は、他のエージェントから属性要求を受信するエージェントにより実行される。上述の実施例では、このフローチャートの処理は、対象者（すなわち、ボブ）に対応するエージェント１ｂにより実行される。
【００６５】
Ｓ１において、エージェントは、要求者に対応するエージェントから属性要求を受信する。この属性要求は、要求者の認証情報および共有ポリシ情報を含む。Ｓ２において、エージェントは、対象者のポリシに基づいて、受信した属性要求に応じるか否かを判定する。例えば、対象者のポリシ情報に要求者が登録されていれば、エージェントは、受信した属性要求に応じる。
【００６６】
Ｓ３において、エージェントは、対象者の認証情報が第３者に係わる情報を含むか否かを判定する。以下の記載では、この第３者を「関係者」と呼ぶことがある。対象者の認証情報が関係者に係わる情報を含むときは、エージェントは、Ｓ４において、要求者の共有ポリシに基づいて要求者の認証情報を編集する。Ｓ５において、エージェントは、転送表を参照することにより、関係者の問合せ先を特定する。この実施例では、関係者の問合せ先は、その関係者に対応するエージェントのアドレスに相当する。
【００６７】
Ｓ６において、エージェントは、関係者に、要求者に個人情報を公開してもよいか否かを問い合わせる。このとき、エージェントは、Ｓ４において編集された要求者の認証情報を関係者に送信する。この後、エージェントは、関係者からの応答を待ち受ける。
【００６８】
Ｓ７において、エージェントは、関係者から応答を受信する。この応答は、例えば、関係者のポリシを表す。すなわち、この応答は、要求者に個人情報を公開してもよいか否かを表す。Ｓ８において、エージェントは、関係者のポリシに基づいて、対象者の認証情報を編集する。例えば、関係者が要求者に個人情報の公開を許可しないときは、エージェントは、対象者の認証情報から関係者に係わる情報を削除する。
【００６９】
Ｓ９において、エージェントは、要求者に対して応答を行う。このとき、対象者の認証情報が要求者に送信される。ただし、Ｓ４〜Ｓ８が実行されたときは、関係者のポリシに基づいて編集された対象者の認証情報が要求者に送信される。なお、エージェントは、受信した属性要求に応じないときは（Ｓ２：Ｎｏ）、認証情報を提供しない旨を表すメッセージを要求者に送信してもよい。
【００７０】
＜バリエーション１＞
図１９は、公開範囲を制限する方法の一例を示す。この実施例では、各エンティティの認証情報の公開範囲は、ホップ数で表される。すなわち、各エンティティに対応するエージェントは、ポリシ情報として、当該エンティティの認証情報が何ホップ先まで転送されてもよいのかを表す許容ホップ数を保持する。
【００７１】
ホップ数は、エンティティ間のホップ数を表す。例えば、図１９に示す例では、チャーリーは、ボブの同僚である。すなわち、チャーリーは、ボブに直接的に関連している。よって、ボブとチャーリーとの間のホップ数は１である。また、エリックは、チャーリーの友人である。すなわち、エリックは、チャーリーに直接的に関連している。よって、チャーリーとエリックとの間のホップ数は１である。ただし、エリックは、ボブに直接的に関連していない。よって、ボブとエリックとの間のホップ数は２である。なお、以下の記載では、アリス、ボブ、チャーリー、デイブ、エリックは、それぞれ、アリスに対応するエージェント、ボブに対応するエージェント、チャーリーに対応するエージェント、デイブに対応するエージェント、エリックに対応するエージェントを表すものとする。
【００７２】
バリエーション１においては、あるエンティティの認証情報が流通される際、その認証情報と共に「許容ホップ数」および「現在のホップ数」が送信される。許容ホップ数は、上述したように、各エンティティの認証情報の公開範囲を規定し、当該エンティティの認証情報が何ホップ先まで転送されてもよいのかを表す。現在のポップ数は、認証情報が転送された回数を表す。すなわち、現在のポップ数は、認証情報が転送される経路上で、各エージェントにより１ずつインクリメントされる。そして、各エージェントは、他のエージェントから認証情報を受信したときに、許容ホップ数と現在のホップ数とを比較することにより、その認証情報を転送してよいか否かを判定する。
【００７３】
図１９（ａ）に示す例では、アリスは、ボブに属性要求を送信する。この属性要求は、アリスの認証情報およびポリシ情報を含んでいる。ここで、アリスのポリシ情報において「許容ホップ数＝１」が規定されている。この場合、アリスの認証情報の転送は、属性要求の受信ノード（すなわち、ボブ）を基準として１ホップの範囲内に制限される。
【００７４】
ボブは、アリスから属性要求を受信すると、アリスの認証情報のホップ数を表す「現在のホップ数」をゼロに初期化する。そして、ボブは、「現在のホップ数」と「許容ホップ数」とを比較する。このとき、「現在のホップ数：０」は「許容ホップ数：１」より小さい。この場合、ボブは、アリスの認証情報を転送できると判定する。そして、ボブは、問合せフェーズにおいて、アリスの認証情報をチャーリーおよびデイブに送信する。このとき、アリスの認証情報と共に、「現在のホップ数：０」および「許容ホップ数：１」も送信される。なお、認証情報、現在のホップ数、許容ホップ数は、宛先エージェントに送信されてもよいし、宛先エージェントが参照可能なサーバに送信されてもよい。
【００７５】
チャーリーは、問合せフェーズにおいて、ボブからアリスの認証情報を受信する。そうすると、チャーリーは、「現在のホップ数」を０から１にインクリメントする。そして、チャーリーは、「現在のホップ数」と「許容ホップ数」とを比較する。このとき、「現在のホップ数：１」は「許容ホップ数：１」と同じである。この場合、チャーリーは、アリスの認証情報を転送できないと判定する。すなわち、アリスの認証情報は、エリックには転送されない。
【００７６】
図１９（ｂ）に示す例では、デイブは、ボブからの問合せに応答する。この例では、デイブは、ボブからの問合せに応じて、デイブの認証情報およびポリシ情報をボブに送信する。ただし、デイブのポリシ情報において「許容ホップ数＝０」が規定されている。この場合、デイブの認証情報の転送は許容されない。
【００７７】
即ち、ボブは、デイブから認証情報を受信すると、デイブの認証情報のホップ数を表す「現在のホップ数」をゼロに初期化する。そして、ボブは「現在のホップ数」と「許容ホップ数」とを比較する。このとき、「現在のホップ数：０」は「許容ホップ数：０」と同じである。この場合、ボブは、デイブの認証情報を転送できないと判定する。よって、デイブの認証情報は、アリスには転送されない。
【００７８】
このように、バリエーション１においては、各エンティティの認証情報の転送範囲は、許容ホップ数として規定される。したがって、各エンティティは、自分の認証情報が流通される範囲を自分で決定できる。
【００７９】
＜バリエーション２＞
各エンティティは、他のエンティティから受信した認証情報が第３者に係わる情報（以下、関係情報）を含むとき、その関係情報の公開がその第３者により許可されているのか否かを判定したいときがある。例えば、図２において、アリスは、ボブの認証情報を取得する。この認証情報は、「チャーリーはボブの同僚」であることを表す情報を含む。ところが、この情報だけでは、アリスは、チャーリーが本当にボブの同僚であるのか否かを判定できない。そこで、バリエーション２では、第３者に係わる情報の公開が、その第３者の許可を得ているのか否かを判定する機能が提供される。即ち、バリエーション２は、認証情報の無断公開を検知する機能を提供する。
【００８０】
図２０は、認証情報の無断公開を検知する方法の一例を示す。この例では、ボブに対応するエージェント１ｂは、アリスに対応するエージェント１ａから属性要求を受信する。ここで、ボブの認証情報がチャーリーに係わる情報を含むので、エージェント１ｂは、チャーリーに対応するエージェント１ｃに問合せを行う。
【００８１】
エージェント１ｃは、チャーリーのポリシに基づいて、チャーリーの認証情報をアリスに公開してもよいか否かを判定する。ここでは、チャーリーの認証情報をアリスに公開することが許可されているものとする。この場合、エージェント１ｃは、エージェント１ｂまたはエージェント１ｂが参照可能なサーバにチャーリーの「署名」を送信する。この署名は、チャーリー（または、チャーリーのエージェント）がエージェント１ｂからの問合せを確認したことを表す。そして、エージェント１ｂは、アリスからの属性要求に応答する際、ボブの認証情報と共にチャーリーの署名も、エージェント１ａまたはエージェント１ｂが参照可能なサーバに送信する。
【００８２】
エージェント１ａは、ボブの認証情報と共にチャーリーの署名を受信する。よって、アリスは、ボブから受信したチャーリーに係わる情報がチャーリーの許可を得て公開されていると判定できる。図２０に示す例では、アリスは、チャーリーが本当にボブの同僚であると判定できる。したがって、バリエーション２によれば、公開される認証情報の信頼性が向上する。
【００８３】
なお、図２０に示す実施例において、エージェント１ｃは、アリスに係わる情報に基づく暗号を利用してチャーリーの署名を作成することが好ましい。例えば、アリスの認証情報がエージェント１ｂを経由してエージェント１ｃに転送されるときは、エージェント１ｃは、アリスの認証情報またはその一部を利用した暗号手順によりチャーリーの署名を作成してもよい。
【００８４】
＜バリエーション３＞
各エージェントは、指定されたエンティティの認証情報を取得するときは、他のエージェントに問合せを行う。ただし、エンティティの数が多いときは、エージェントは、多数の問合せを受けることがある。この場合、エージェントの応答が遅くなることがある。そこで、バリエーション３は、この問題を緩和する機能を提供する。
【００８５】
図２１は、認証情報をパブリック化する方法の一例を示す。この実施例では、アリスの認証情報がパブリック化される。
【００８６】
アリスに対応するエージェント１ａは、予め、アリスの認証情報に含まれる複数の属性のうちの一部の属性を他のエージェントに送信する。図２１に示す例では、アリスの氏名およびメールアドレスがエージェント１ｂ、１ｃに送信される。そうすると、各エージェント１ｂ、１ｃは、受信した情報を対応する公開属性データベースに格納する。
【００８７】
以降、エージェント１ｂ、１ｃは、エージェント１ａに問合せを行うことなく、対応する公開属性データベースにアクセスするだけで、アリスの認証情報の一部を取得できる。なお、エージェント１ｂ、１ｃは、公開属性データベースに格納されている情報が正しいか否かを確認したいときは、エージェント１ａに問合せを行ってもよい。この場合、エージェント１ｂ、１ｃは、公開属性データベースに格納されている情報と問合せにより得られる情報とを比較することにより、公開属性データベースに格納されている情報が正しいか否かを確認できる。
【００８８】
＜バリエーション４＞
バリエーション３では、認証情報がパブリック化される。これに対して、バリエーション４では、ポリシ情報がパブリック化される。例えば、チャーリーのポリシ情報が予め各エージェントに配布されているものとする。この場合、エージェント１ｂは、エージェント１ａから図７に示す属性要求を受信したときに、エージェント１ｃに問合せを行うことなく、チャーリーに係わる情報をアリスに公開してよいか否かを判定できる。すなわち、エージェント１ｂは、エージェント１ｃに問合せを行うことなく、チャーリーのポリシに基づいてボブの認証情報を編集できる。
【００８９】
＜ハードウェア構成＞
図２２は、情報処理装置２０のハードウェア構成の一例を示す。情報処理装置２０は、プロセッサ３１、メモリ３２、記憶装置３３、記録媒体デバイス３４、通信ＩＦ３５を備える。なお、情報処理装置２０は、図２２に示してない他の要素または機能を備えてもよい。
【００９０】
プロセッサ３１は、記憶装置３３に格納されている認証情報処理プログラムを実行することにより、エージェント１の機能を提供する。認証情報処理プログラムは、例えば、図１８に示すフローチャートの処理を記述する。よって、プロセッサ３１が認証情報処理プログラムを実行することにより、エージェント１が実現される。なお、メモリ３２は、プロセッサ３１の作業領域として使用される。また、情報処理装置２０において動作するエージェントに対応するエンティティの認証情報２２およびポリシ情報２３、並びに転送表２４は、記憶装置３３またはメモリ３２に保持される。
【００９１】
記録媒体デバイス３４は、可搬型記録媒体３６に記録されている情報またはデータを読み出すことができる。なお、認証情報処理プログラムは、可搬型記録媒体３６から情報処理装置２０に与えられてもよい。通信ＩＦ３５は、ネットワーク１００に接続するインタフェースを提供する。なお、認証情報処理プログラムは、ネットワーク１００に接続するプログラムサーバから情報処理装置２０に与えられてもよい。
【符号の説明】
【００９２】
１（１ａ〜１ｄ）  エージェント
１０  端末装置
２０  情報処理装置
２２  認証情報
２３  ポリシ情報
３１  プロセッサ
３２  メモリ
１００  ネットワーク
【図１】
2020173523.tif 000003
【図２】
2020173523.tif 000004
【図３】
2020173523.tif 000005
【図４】
2020173523.tif 000006
【図５】
2020173523.tif 000007
【図６】
2020173523.tif 000008
【図７】
2020173523.tif 000009
【図８】
2020173523.tif 000010
【図９】
2020173523.tif 000011
【図１０】
2020173523.tif 000012
【図１１】
2020173523.tif 000013
【図１２】
2020173523.tif 000014
【図１３】
2020173523.tif 000015
【図１４】
2020173523.tif 000016
【図１５】
2020173523.tif 000017
【図１６】
2020173523.tif 000018
【図１７】
2020173523.tif 000019
【図１８】
2020173523.tif 000020
【図１９】
2020173523.tif 000021
【図２０】
2020173523.tif 000022
【図２１】
2020173523.tif 000023
【図２２】
2020173523.tif 000024