(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-10
(45)【発行日】2023-01-18
(54)【発明の名称】情報処理装置および認証情報処理方法
(51)【国際特許分類】
G06F 21/62 20130101AFI20230111BHJP
G06F 21/64 20130101ALI20230111BHJP
G06F 21/45 20130101ALI20230111BHJP
【FI】
G06F21/62 345
G06F21/64
G06F21/45
(21)【出願番号】P 2019073907
(22)【出願日】2019-04-09
【審査請求日】2022-01-11
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100074099
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100121083
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【氏名又は名称】天田 昌行
(72)【発明者】
【氏名】堀井 基史
【審査官】岸野 徹
(56)【参考文献】
【文献】再公表特許第2010/110451(JP,A1)
【文献】特開2012-018557(JP,A)
【文献】特開2011-008799(JP,A)
【文献】特開2013-210986(JP,A)
【文献】特表2015-535382(JP,A)
【文献】米国特許出願公開第2012/0245987(US,A1)
【文献】米国特許出願公開第2013/0282812(US,A1)
【文献】米国特許出願公開第2015/0135261(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
G06F 21/64
G06F 21/45
(57)【特許請求の範囲】
【請求項1】
複数のエージェントがそれぞれ対応するエンティティの認証情報を管理する通信システムにおいて、第1のエンティティに対応する第1のエージェントを実現する認証情報処理プログラムであって、
第2のエンティティに対応する第2のエージェントから属性要求を受信したときに、前記第1のエンティティの属性を表す第1の認証情報が第3のエンティティに係わる情報を含むか否かを判定し、
前記第1の認証情報が前記第3のエンティティに係わる情報を含むときに、前記第3のエンティティに係わる情報の公開についての前記第3のエンティティのポリシに基づいて前記第1の認証情報を編集し、
編集された前記第1の認証情報を前記第2のエージェントに送信する
処理をプロセッサに実行させる認証情報処理プログラム。
【請求項2】
前記第1のエージェントは、
前記第3のエンティティに係わる情報を前記第2のエンティティに公開してよいか否かについての問合せを、前記第3のエンティティに対応する第3のエージェントに対して行い、
前記問合せに対する前記第3のエージェントからの回答に基づいて前記第1の認証情報を編集して前記第2のエージェントに送信する
ことを特徴とする請求項1に記載の認証情報処理プログラム。
【請求項3】
前記問合せに対する前記第3のエージェントからの回答が、前記第3のエンティティに係わる情報の公開を許可しないときは、前記第1のエージェントは、前記第1の認証情報から前記第3のエンティティに係わる情報を削除して前記第2のエージェントに送信する
ことを特徴とする請求項2に記載の認証情報処理プログラム。
【請求項4】
前記属性要求は、前記第2のエンティティの属性を表す第2の認証情報および前記第2の認証情報の公開範囲を表すポリシ情報を含み、
前記第1のエージェントは、
前記ポリシ情報に基づいて前記第2の認証情報を編集し、
前記問合せにおいて、編集された前記第2の認証情報を前記第3のエージェントに送信する
ことを特徴とする請求項2に記載の認証情報処理プログラム。
【請求項5】
複数のエージェントがそれぞれ対応するエンティティの認証情報を管理する通信システムにおいて、第1のエンティティに対応する第1のエージェントの機能を提供する情報処理装置であって、
プロセッサと、
前記第1のエンティティの属性を表す認証情報を保存するメモリと、を備え、
前記プロセッサは、
前記情報処理装置が第2のエンティティに対応する第2のエージェントから属性要求を受信したときに、前記認証情報が第3のエンティティに係わる情報を含むか否かを判定し、
前記認証情報が前記第3のエンティティに係わる情報を含むときに、前記第3のエンティティに係わる情報の公開についての前記第3のエンティティのポリシに基づいて前記認証情報を編集し、
編集された前記認証情報を前記第2のエージェントに送信する
ことを特徴とする情報処理装置。
【請求項6】
複数のエンティティにそれぞれ対応する複数のエージェントがネットワークに接続する通信システムにおいて、
第1のエンティティに対応する第1のエージェントは、第2のエンティティに対応する第2のエージェントから属性要求を受信したときに、前記第1のエンティティの属性を表す第1の認証情報が第3のエンティティに係わる情報を含むか否かを判定し、
前記第1のエージェントは、前記第1の認証情報が前記第3のエンティティに係わる情報を含むときに、前記第3のエンティティに係わる情報の公開についての前記第3のエンティティのポリシに基づいて前記第1の認証情報を編集し、
前記第1のエージェントは、編集された前記第1の認証情報を前記第2のエージェントに送信する
ことを特徴とする通信システム。
【請求項7】
前記第1のエージェントは、前記第3のエンティティに係わる情報を前記第2のエンティティに公開してよいか否かを、前記第3のエンティティに対応する第3のエージェントに問い合わせ、
前記第3のエージェントは、前記第3のエンティティのポリシに基づいて、前記第3のエンティティに係わる情報を前記第2のエンティティに公開してよいか否かを判定し、その判定結果を表す回答を前記第1のエージェントに送信し、
前記第1のエージェントは、前記回答に基づいて前記第1の認証情報を編集して前記第2のエージェントに送信する
ことを特徴とする請求項6に記載の通信システム。
【請求項8】
前記第2のエージェントは、前記第1のエージェントから受信する第1の認証情報が前記第3のエンティティに係わる情報を含むときは、前記第3のエージェントに前記第3のエンティティの属性を表す第3の認証情報を要求する
ことを特徴とする請求項7に記載の通信システム。
【請求項9】
前記第3のエージェントは、前記第3のエンティティに係わる情報を前記第2のエンティティに公開するときは、
前記第3のエンティティまたは前記第3のエージェントが前記第1のエージェントからの問合せを確認したことを表す署名を生成して前記第1のエージェントに送信し、
前記第1のエージェントは、前記第1の認証情報および前記署名を前記第2のエージェントに送信する
ことを特徴とする請求項7に記載の通信システム。
【請求項10】
前記第1のエージェントは、前記第3のエンティティに係わる情報を前記第2のエンティティに公開してよいか否かを、前記第3のエンティティに対応する第3のエージェントに問い合わせ、
前記第3のエージェントは、前記第3のエンティティのポリシに基づいて、前記第3のエンティティに係わる情報を前記第2のエンティティに公開してよいか否かを判定し、
前記第3のエージェントは、前記第3のエンティティに係わる情報を前記第2のエンティティに公開するときは、前記第3のエンティティの属性を表す第3の認証情報を前記第1のエージェントに送信し、
前記第1のエージェントは、前記第1の認証情報および前記第3の認証情報を前記第2のエージェントに送信する
ことを特徴とする請求項6に記載の通信システム。
【請求項11】
各エージェントは、対応するエンティティの属性を表す認証情報および前記認証情報を公開する範囲を表すポリシ情報を管理し、
前記ポリシ情報は、前記認証情報の転送可能範囲を表す許容ホップ数を含む
ことを特徴とする請求項6に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証情報を処理する装置、方法、およびプログラムに係わる。
【背景技術】
【0002】
コンピュータを利用して個人の信頼性を判定する際には、対象者の認証情報が参照される。認証情報は、氏名、年齢、住所、電話番号、Eメールアドレス、職業などを含むことがある。この場合、コンピュータは、対象者の信頼性を推定し、その推定結果に応じたアクションを実行する。例えば、対象者の信頼性が高いと推定されるときは、コンピュータは、その対象者に所定の情報を開示する。
【0003】
関連技術として、第1のユーザから、第1のユーザとは1人以上を介した関係にある第2のユーザに関する個人情報の情報開示要求があった場合に、アクセス制御ルールとユーザ関係のリストとを参照して、第1のユーザへの情報開示を許可するか否かを判定する方法が提案されている(例えば、特許文献1)。また、個人情報を所定のフォーマットに従って印刷出力する印刷装置が知られている(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2015-201073号公報
【文献】特開2008-250916号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した信頼性の推定において、認証情報は、第3者の情報を含むことがある。たとえば、サーバコンピュータから認証情報を要求された対象者は、対象者自身の認証情報をサーバコンピュータに送信する。このとき、この認証情報の中に第3者に係わる情報が含まれている場合、その第3者が不利益を受けるおそれがある。なお、この問題は、個人情報に限定されるものではなく、様々なエンティティ(個人、組織、IoTデバイス、サービス)に係わる情報にも発生し得る。
【0006】
本発明の1つの側面に係わる目的は、ネットワーク上で認証情報を保護する方法を提供することである。
【課題を解決するための手段】
【0007】
本発明の1つの態様の認証情報処理プログラムは、複数のエージェントがそれぞれ対応するエンティティの認証情報を管理する通信システムにおいて、第1のエンティティに対応する第1のエージェントを実現する。この認証情報処理プログラムは、第2のエンティティに対応する第2のエージェントから属性要求を受信したときに、前記第1のエンティティの属性を表す第1の認証情報が第3のエンティティに係わる情報を含むか否かを判定し、前記第1の認証情報が前記第3のエンティティに係わる情報を含むときに、前記第3のエンティティに係わる情報の公開についての前記第3のエンティティのポリシに基づいて前記第1の認証情報を編集し、編集された前記第1の認証情報を前記第2のエージェントに送信する。
【発明の効果】
【0008】
上述の態様によれば、ネットワーク上で認証情報が適切に保護される。
【図面の簡単な説明】
【0009】
【
図8】問合せフェーズの一例を示す図(その1)である。
【
図9】問合せフェーズの一例を示す図(その2)である。
【
図11】問合せフェーズの他の例を示す図(その1)である。
【
図12】問合せフェーズの他の例を示す図(その2)である。
【
図15】端末装置に表示されるグラフの一例を示す図である。
【
図16】認証情報処理方法のシーケンスの一例を示す図である。
【
図17】認証情報処理方法のシーケンスの他の例を示す図である。
【
図18】エージェントの処理の一例を示すフローチャートである。
【
図19】公開範囲を制限する方法の一例を示す図である。
【
図20】認証情報の無断公開を検知する方法の一例を示す図である。
【
図21】認証情報をパブリック化する方法の一例を示す図である。
【
図22】情報処理装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
図1は、認証情報の送信の一例を示す。この実施例では、通信システム内に複数のエージェント1(1a~1c)が存在する。各エージェント1は、プロセッサを用いてソフトウェアプログラムを実行することにより実現される。このソフトウェアプログラムは、認証情報処理プログラムを含む。したがって、各エージェント1は、認証情報処理プログラムを実行することにより、認証情報を処理する機能を提供できる。また、各エージェント1は、ネットワーク100に接続する機能を備える。
【0011】
各エージェント1は、対応するエンティティに対して設けられる。ここで、エンティティは、個人、組織、IoTデバイス、サービス等に相当する。この実施例では、エンティティは、それぞれ個人(アリス、ボブ、チャーリー等)に相当する。すなわち、エージェント1a、1b、1cは、それぞれ、アリス、ボブ、チャーリーのために情報処理を実行する。
【0012】
エージェント1は、対応するエンティティの認証情報およびポリシ情報を管理する。例えば、エージェント1aがアクセス可能なメモリには、アリスの認証情報およびポリシ情報が保存されており、エージェント1bがアクセス可能なメモリには、ボブの認証情報およびポリシ情報が保存されている。認証情報は、エンティティの属性を表す属性情報に相当し、この実施例では、ユーザの個人情報を表す。よって、認証情報は、例えば、ユーザの氏名、年齢、住所、電話番号、Eメールアドレス、職業、人間関係などを含む。ポリシ情報は、認証情報を公開する範囲を表す。すなわち、ポリシ情報は、対応する認証情報を公開してもよい相手を指定する。また、ポリシ情報は、対応する認証情報が複数の属性を含む場合、公開してもよい属性を指定してもよい。
【0013】
ここで、ボブがアリスに面会を申し込むものとする。この場合、エージェント1bは、ボブからの指示に応じて、ボブの認証情報をエージェント1aに送信する。エージェント1aは、ボブの認証情報に基づいて、ボブの信頼性を推定する。そして、エージェント1aは、この推定結果に応じたアクションを実行する。例えば、ボブの信頼性が高いと推定したときは、エージェント1aは、面会の許可を表すメッセージをエージェント1bに送信する。
【0014】
なお、エージェント1に対応する端末装置のユーザが「個人」である場合、認証情報は個人情報に相当する。また、この実施例では、エージェント1に対応する端末装置のユーザが「個人」であるが、本発明はこの構成に限定されるものではない。すなわち、エージェント1は、任意のエンティティ(個人、組織、IoTデバイス、サービス等)に対応してもよい。
【0015】
図2は、認証情報の送信の他の例を示す。この実施例では、エージェント1bからエージェント1aに送信されるボブの認証情報が、第3者に係わる情報を含んでいる。具体的には、ボブの認証情報は、チャーリーがボブの同僚であることを表す情報を含んでいる。
【0016】
エージェント1aは、エージェント1bから受信する認証情報に基づいてボブの信頼性を推定する。このとき、エージェント1aは、チャーリーがボブの同僚であることを考慮してボブの信頼性を推定する。すなわち、エージェント1aは、ボブの人間関係を考慮してボブの信頼性を推定することができる。ここで、例えば、アリスにとってチャーリーが信頼できる人物である場合は、ボブも信頼できると推定されるかも知れない。
【0017】
ところが、この方法では、チャーリーの許可を得ることなく、チャーリーの個人情報がアリスに公開されることになる。少なくとも、チャーリーがボブと同じ組織に属していることが、アリスに公開されることとなる。すなわち、この方法では、認証情報または個人情報の保護が図れないことがある。
【0018】
<実施形態>
図3は、本発明の実施形態に係わる認証情報処理方法の一例を示す。この方法は、第3者の個人情報が無断で公開される事態を回避する機能を提供する。
【0019】
エージェント1bは、ボブの認証情報をエージェント1aに送信するときは、その認証情報が第3者に係わる情報を含むか否かを判定する。「第3者」は、認証情報の送信元端末のユーザ(即ち、ボブ)および認証情報の送信先端末のユーザ(即ち、アリス)以外のエンティティを表す。この実施例では、ボブの認証情報は、チャーリーに係わる情報を含んでいる。具体的には、ボブの認証情報は、チャーリーがボブの同僚であることを表す情報を含んでいる。この場合、エージェント1bは、チャーリーに係わる情報をアリスに公開してもよいか否かをエージェント1cに問い合わせる。
【0020】
エージェント1cは、この問合せを受信すると、チャーリーのポリシ情報を参照して回答を作成する。ここで、エージェント1cにより管理されているポリシ情報には、チャーリーの認証情報を公開してもよいエンティティが登録されている。ただし、この実施例では、このポリシ情報に「アリス」が登録されていないものとする。この場合、エージェント1cは、チャーリーの認証情報をアリスに公開しないことを表す回答を作成する。そして、エージェント1cは、この回答をエージェント1bに送信する。
【0021】
エージェント1bは、エージェント1cから受信する回答に基づいて、ボブの認証情報を編集する。具体的には、エージェント1bは、ボブの認証情報から「チャーリーに係わる情報」を削除する。そして、エージェント1bは、編集した認証情報をエージェント1aに送信する。この場合、エージェント1aは、ボブの認証情報においてチャーリーの存在を認識できない。すなわち、チャーリーの個人情報は、アリスには公開されない。尚、チャーリーの認証情報をアリスに公開してよいことを表す回答をエージェント1cから受信したときは、エージェント1bは、ボブの認証情報を編集することなくエージェント1aに送信してもよい。
【0022】
このように、本発明の実施形態に係わる認証情報処理方法においては、エージェント1bがエージェント1bのユーザの認証情報をエージェント1aに送信するときに、その認証情報が第3者に係わる情報を含むか否かを判定する。そして、認証情報が第3者に係わる情報を含むときは、エージェント1bは、その第3者に係わる情報をエージェント1aのユーザに公開して良いか否かを、その第3者に問い合わせる。そして、エージェント1bは、第3者からの回答に応じて認証情報を編集し、編集後の認証情報をエージェント1aに送信する。したがって、第3者に係わる情報が、その第3者の許可を得ることなく公開される事態は回避される。すなわち、認証情報または個人情報の保護が保障される。
【0023】
図4は、本発明の実施形態に係わる通信システムの一例を示す。この実施例では、通信システムは、複数の端末装置10および複数の情報処理装置20を備える。各端末装置10および各情報処理装置20は、ネットワーク100に接続する。
【0024】
端末装置10は、この実施例では、ユーザにより使用される。また、端末装置10は、図示していないが、プロセッサ、メモリ、通信回路、表示デバイス、ユーザインタフェースデバイスなどを備える。さらに、端末装置10には、端末アプリケーションが実装されている。端末アプリケーションは、通信部11および表示制御部12を含む。通信部11は、通信機能を提供する。表示制御部12は、表示デバイスに表示する画像データを生成する。そして、端末アプリケーションは、プロセッサにより実行される。
【0025】
情報処理装置20は、この実施例では、サーバ装置として動作する。また、情報処理装置20は、図示していないが、プロセッサ、メモリ、通信回路などを備える。さらに、情報処理装置20において、エージェント1が実行され得る。各エージェント1は、対応するエンティティに対して設けられる。この実施例では、エージェント1は、対応する端末装置10のユーザに対して設けられている。
【0026】
エージェント1は、通信部21を含む。通信部21は、通信機能を提供する。また、エージェント1は、対応するユーザの認証情報22およびポリシ情報23を管理する。認証情報22は、対応するユーザの属性を表す。この実施例では、認証情報22は、対応するユーザの個人情報を表す。したがって、認証情報22は、例えば、ユーザの氏名、年齢、住所、電話番号、Eメールアドレス、職業、人間関係などを含む。ポリシ情報23は、上述したように、認証情報22を公開する範囲を表す。さらに、エージェント1は、転送表24を管理する。転送表24には、通信相手を識別する情報が登録されている。
【0027】
上記構成の通信システムにおいて、端末装置10は、ユーザの指示に従って動作する。このとき、端末装置10は、必要に応じて、対応するエージェントにアクセスする。例えば、アリスから認証情報処理に係わる指示を受信したときは、端末装置10は、アリスに対応するエージェント(ここでは、エージェント1a)に処理を依頼することがある。同様に、ボブから認証情報処理に係わる指示を受信したときは、端末装置10は、ボブに対応するエージェント(ここでは、エージェント1b)に処理を依頼することがある。
【0028】
なお、
図4に示す例では、エージェント1は情報処理装置20により実装されるが、端末装置10に実装されてもよい。また、1台の情報処理装置20に2以上のエージェントが実装されてもよい。
【0029】
図5は、各エンティティの認証情報の例を示す。
図5(a)は、エージェント1aにより管理されるアリスの認証情報を表す。
図5(b)は、エージェント1bにより管理されるボブの認証情報を表す。
図5(c)は、エージェント1cにより管理されるチャーリーの認証情報を表す。認証情報の内容は、例えば、各エンティティ(すなわち、アリス、ボブ、チャーリー)により登録される。
【0030】
図6は、各エンティティのポリシ情報の例を示す。
図6(a)は、エージェント1aにより管理されるアリスのポリシ情報を表す。
図6(b)は、エージェント1bにより管理されるボブのポリシ情報を表す。
図6(c)は、エージェント1cにより管理されるチャーリーのポリシ情報を表す。ポリシ情報の内容も、例えば、各エンティティ(すなわち、アリス、ボブ、チャーリー)により登録される。
【0031】
ポリシ情報は、認証情報の公開範囲(即ち、公開ポリシ)を表す。例えば、
図6(a)に示すアリスのポリシ情報の第1レコードは、「ボブ」に対してアリスの「氏名、所属、電話番号、住所」が公開可能であることを表す。第2レコードは、「ボブ以外のユーザ」に対してアリスの「氏名、電話番号、住所」が公開可能であることを表す。換言すれば、第2レコードは、「ボブ以外のユーザ」に対してアリスの「所属」が公開不可であることを表している。なお、「*」は、全ユーザの集合を表し、「-」は、集合の差分を得るための操作を表す。「許容ホップ数」については後で説明する。
【0032】
図6(c)に示すチャーリーのポリシ情報の第1レコードは、「アリス」に対してチャーリーの個人情報の公開が不可であることを表す。第2レコードは、「エリック」に対してチャーリーの「氏名、電話番号、友人」が公開可能であることを表している。
【0033】
次に、
図3に示す認証情報処理方法の手順を詳しく説明する。認証情報処理方法は、この実施例では、要求フェーズ、問合せフェーズ、応答フェーズ、表示フェーズを含む。以下の記載では、
図3に示すアリスがボブに対して認証情報を要求するものとする。なお、アリスまたはアリスに対応するエージェント1aを「要求者」と呼ぶことがある。また、ボブまたはボブに対応するエージェント1bを「対象者」と呼ぶことがある。さらに、ボブの認証情報がチャーリーに係わる情報を含むので、チャーリーまたはチャーリーに対応するエージェント1cを「関係者」と呼ぶことがある。
【0034】
図7は、認証情報処理方法の要求フェーズの一例を示す。要求フェーズにおいては、アリスは、自分の端末装置10にグラフ要求を入力する。グラフ要求は、対象者(即ち、ボブ)の認証情報を取得して端末装置10の表示デバイスの表示するための指示を含む。そして、端末装置10は、このグラフ要求を、アリスに対応するエージェント1aに転送する。
【0035】
エージェント1aは、グラフ要求に応じて、ボブに対応するエージェント1bに属性要求を送信する。この属性要求には、要求者(すなわち、アリス)の認証情報および共有ポリシ情報が添付される。アリスの認証情報および共有ポリシ情報は、エージェント1aにより管理されている。アリスの認証情報は、
図5または
図7に示すように、アリスの氏名およびアリスが所属する組織を表す情報を含む。また、共有ポリシ情報は、アリスの認証情報の各属性についての開示範囲を表す。この実施例では、共有ポリシ情報は、アリスの認証情報の中の「所属」について、ボブ以外のエンティティへの開示を許可しない旨を表している。
【0036】
図8~
図9は、認証情報処理方法の問合せフェーズの一例を示す。この問合せフェーズは、エージェント1bがエージェント1aから
図7に示す属性要求を受信したときに開始される。
【0037】
エージェント1bは、ボブのポリシに基づいて、アリスの要求に応答するか否かを判定する。ここで、ボブのポリシを表すポリシ情報は、エージェント1bにより管理されている。そして、
図6に示すように、ボブのポリシ情報は、アリスに対してボブの認証情報の公開を許容することを表している。よって、エージェント1bは、アリスの要求に応答すると判定する。
【0038】
続いて、エージェント1bは、ボブの認証情報が第3者に係わる情報を含むか否かを判定する。この実施例では、
図5または
図8に示すように、ボブの認証情報がチャーリーに係わる情報およびデイブに係わる情報を含んでいる。この場合、エージェント1bは、アリスに対して情報を公開してよいか否かを各関係者に問い合わせる。ここでは、チャーリーに対する問合せについて記載する。
【0039】
エージェント1bは、転送表を参照してチャーリーにアクセスするためのエンドポイント情報を取得する。この結果、チャーリーに対応するエージェント(即ち、エージェント1c)が特定される。そして、エージェント1bは、エージェント1cに問合せメッセージを送信する。
【0040】
この問合せメッセージは、チャーリーに係わる情報をアリスに公開してよいか否かを問い合わせる。よって、この問合せメッセージは、アリスがどのような人物であるかをチャーリーに知らせるために、アリスの認証情報を含む。ただし、エージェント1bは、アリスの共有ポリシに基づいて、アリスの認証情報を編集する。この実施例では、アリスの共有ポリシは、「アリスの所属について、ボブ以外のエンティティへの開示を許可しない」である。よって、エージェント1bは、アリスの認証情報から「所属:A会社」を削除する。
【0041】
また、ボブの認証情報において、ボブとチャーリーとの関係は「同僚」である。したがって、問合せメッセージは、「チャーリーがボブの同僚である」ことをアリスに公開してもよいか否かを問い合わせる。
【0042】
エージェント1cは、エージェント1bから問合せメッセージを受信すると、チャーリーのポリシ情報を参照して回答を作成する。ここで、エージェント1cにより管理されているチャーリーのポリシ情報には、チャーリーの認証情報を公開してもよいエンティティが登録されている。ただし、この実施例では、このポリシ情報に「アリス」は登録されていない。この場合、エージェント1cは、チャーリーの認証情報をアリスに公開しないことを表す回答を作成する。そして、エージェント1cは、この回答をエージェント1bに送信する。
【0043】
図10は、認証情報処理方法の応答フェーズの一例を示す。この応答フェーズは、エージェント1bがエージェント1cから
図9に示す回答を受信したときに開始される。
【0044】
エージェント1bは、各関係者から受信する回答に基づいて、ボブの認証情報を編集する。この実施例では、エージェント1cから送信される回答は、チャーリーの認証情報をアリスに公開しないことを表している。この場合、エージェント1bは、ボブの認証情報からチャーリーに係わる情報を削除する。具体的には、ボブの認証情報から「同僚:チャーリー」が削除される。そして、エージェント1bは、編集した認証情報をエージェント1aに送信する。このとき、エージェント1aは、ボブの認証情報においてチャーリーの存在を認識できない。すなわち、チャーリーの個人情報は、アリスには公開されない。
【0045】
なお、上述の問合せフェーズおよび応答フェーズは、各関係者に対して実行される。例えば、エージェント1bは、
図11に示すように、デイブに対して問合せを行う。このとき、デイブに対応するエージェント1dにより管理されるデイブのポリシ情報には、
図12に示すように、デイブの認証情報を公開してもよいエンティティとして「アリス」が登録されている。よって、エージェント1dは、デイブの認証情報をアリスに公開してもよいことを表す回答を作成し、エージェント1bに送信する。
【0046】
そうすると、エージェント1bは、デイブのポリシに基づいてボブの認証情報を編集する。例えば、ボブの認証情報において、デイブはボブの友人である。ここで、デイブがボブの問合せを許容している。この場合、エージェント1bは、ボブの認証情報からデイブに係わる情報を削除しない。そうすると、エージェント1bからエージェント1aに送信されるボブの認証情報は、
図13に示すように、デイブに係わる情報(即ち、「友人:デイブ」)を含むことになる。
【0047】
図14は、認証情報処理方法の表示フェーズの一例を示す。この表示フェーズは、エージェント1aがエージェント1bから応答を受信したときに開始される。
【0048】
エージェント1aは、エージェント1bから受信する応答に基づいて、対象者のグラフを作成する。すなわち、エージェント1aは、ボブの認証情報に基づいて、ボブの属性を表すグラフを作成する。ここで、エージェント1aが受信するボブの認証情報は、関係者のポリシに基づいて編集されている。具体的には、ボブの認証情報において、チャーリーに係わる情報は削除されている。したがって、エージェント1aにより作成されるグラフには、チャーリーは存在しない。そして、エージェント1aは、作成したグラフを、アリスが使用する端末装置10に送信する。端末装置10は、エージェント1aから受信するグラフを表示デバイスに表示する。
【0049】
図15は、アリスが使用する端末装置10に表示されるグラフの一例を示す。このグラフは、対象者(すなわち、ボブ)の認証情報に基づいて作成される。
【0050】
グラフは、ノードおよびエッジから構成される。各ノードは、それぞれエンティティを表す。具体的には、各ノードは、対象者および対象者に係わる関係者を表す。また、エッジは、ノード間に関係が存在する状態を表す。具体的には、認証情報の中の属性値が他のエンティティの識別子を表す状態を表す。例えば、
図5(b)に示す例では、「友人」に対応する属性値が「デイブ」である。よって、ボブを表すノードとデイブと表すノードとの間にエッジが設けられている。加えて、各エッジに対して、対応する属性名(友人、家族、取引相手など)を表すラベルが付与されている。
【0051】
各ノードのサイズは、均一でもよいが、この実施例では、信頼スコアに応じて決定される。信頼スコアは、「信頼する」という属性名の属性値として設定されている数により増減する。例えば、全エージェントが保持する認証情報を確認した結果、「信頼する」という属性名の属性値が設定されている数がi個であり、そのうちのj個の属性値が「ボブ」である場合、ボブの信頼スコアは、「j/i」である。ただし、これは一例であり、信頼スコアは、他の任意の方法で計算され得る。
【0052】
なお、
図15(a)は、
図3または
図7~
図14に示す手順で作成されたグラフの表示例を示している。
図3または
図7~
図14に示す例では、チャーリーのポリシ情報には、チャーリーの個人情報の公開先としてアリスが登録されていない。すなわち、チャーリーは、自分の個人情報がアリスに公開されることを望んでいない。この結果、エージェント1bからエージェント1aへチャーリーの個人情報が公開されず、アリスの端末装置10には、チャーリーに係わる情報は表示されない。
【0053】
一方、
図15(b)は、
図2に示す手順で作成されたグラフの表示例を示している。
図2に示す例では、エージェント1bは、チャーリーの許可を得ることなく、チャーリーに係わる情報を含むボブの認証情報をエージェント1aに送信している。この結果、チャーリーに係わる情報がアリスの端末装置10に表示されてしまう。
【0054】
図16は、認証情報処理方法のシーケンスの一例を示す。このシーケンスは、
図7~
図10に示す実施例に対応する。
【0055】
端末装置10は、エージェント1aにグラフ要求を送信する。エージェント1aは、グラフ要求に応じて、属性要求をエージェント1bに送信する。この属性要求は、アリスの認証情報および共有ポリシ情報を含む。
【0056】
エージェント1bは、ボブのポリシに基づいて、受信した属性要求に応答するか否かを判定する。受信した属性要求に応答するときは、エージェント1bは、ボブの認証情報が第3者に係わる情報を含むか否かを判定する。ここでは、ボブの認証情報がチャーリーに係わる情報を含む。この場合、エージェント1bは、転送表24を利用してチャーリーの問合せ先を取得する。ここでは、チャーリーの問合せ先として、チャーリーに対応するエージェント1cが特定される。また、エージェント1bは、アリスのポリシに基づいてアリスの認証情報を編集する。そして、エージェント1bは、エージェント1cに対して問合せを行う。この問合せメッセージは、編集後のアリスの認証情報を含む。
【0057】
エージェント1cは、チャーリーのポリシに基づいて、アリスに対するチャーリーの個人情報の公開を許可するか否かを判定する。そして、エージェント1cは、この判定結果をエージェント1bに回答する。この実施例では、アリスに対するチャーリーの個人情報の公開が許可されるものとする。
【0058】
エージェント1bは、エージェント1cから受信する回答に基づいて、ボブの認証情報を編集する。すなわち、アリスに対する応答内容が構築される。そして、エージェント1bは、編集後のボブの認証情報をエージェント1aに送信する。このとき、アリスに対するチャーリーの個人情報の公開が許可されているので、編集後のボブの認証情報は、チャーリーに係わる情報を含む。
【0059】
エージェント1aは、ボブの認証情報がチャーリーに係わる情報を含むことを認識すると、チャーリーの問合せ先を取得する。ここでは、チャーリーの問合せ先として、チャーリーに対応するエージェント1cが特定される。そして、エージェント1aは、エージェント1cに属性要求を送信する。そうすると、エージェント1cは、ポリシチェックを行った後、チャーリーの認証情報をエージェント1aに送信する。
【0060】
エージェント1aは、収集した認証情報を利用してグラフを作成する。この例では、エージェント1bから受信したボブの認証情報およびエージェント1cから受信したチャーリーの認証情報に基づいてグラフが作成される。そして、エージェント1aは、作成したグラフを端末装置10に送信する。そうすると、端末装置10の表示デバイスにボブの人間関係を表すグラフが表示される。
【0061】
図17は、認証情報処理方法のシーケンスの他の例を示す。
図16に示すシーケンスでは、関係者(すなわち、チャーリー)に対応するエージェント1cは、公開を許可するか否かを表す応答をエージェント1bに送信する。これに対して、
図17に示すシーケンスでは、エージェント1cは、チャーリーの認証情報をアリスに公開してもよい場合、チャーリーの認証情報をエージェント1bに送信する。このとき、エージェント1cは、チャーリーの認証情報に加えて、必要に応じて、チャーリーのポリシを表すポリシ情報をエージェント1bに送信してもよい。
【0062】
そうすると、エージェント1bは、ボブの認証情報およびチャーリーの認証情報を含む応答内容を構築する。このとき、エージェント1bは、必要に応じて、ボブの認証情報および/またはチャーリーの認証情報を編集してもよい。例えば、チャーリーのポリシ情報が、チャーリーの認証情報に含まれる複数の属性のうちの一部の属性の公開を拒否するときには、エージェント1bは、チャーリーの認証情報から拒否された属性を削除する。そして、エージェント1bは、この応答内容をエージェント1aに送信する。
【0063】
エージェント1aは、エージェント1bからの応答に基づいてグラフを作成する。尚、
図16に示すシーケンスとは異なり、エージェント1aは、エージェント1bからチャーリーの認証情報を取得する。よって、エージェント1aは、チャーリーの認証情報を取得するためにエージェント1cに属性要求を送信する必要はない。
【0064】
図18は、エージェントの処理の一例を示すフローチャートである。なお、このフローチャートの処理は、他のエージェントから属性要求を受信するエージェントにより実行される。上述の実施例では、このフローチャートの処理は、対象者(すなわち、ボブ)に対応するエージェント1bにより実行される。
【0065】
S1において、エージェントは、要求者に対応するエージェントから属性要求を受信する。この属性要求は、要求者の認証情報および共有ポリシ情報を含む。S2において、エージェントは、対象者のポリシに基づいて、受信した属性要求に応じるか否かを判定する。例えば、対象者のポリシ情報に要求者が登録されていれば、エージェントは、受信した属性要求に応じる。
【0066】
S3において、エージェントは、対象者の認証情報が第3者に係わる情報を含むか否かを判定する。以下の記載では、この第3者を「関係者」と呼ぶことがある。対象者の認証情報が関係者に係わる情報を含むときは、エージェントは、S4において、要求者の共有ポリシに基づいて要求者の認証情報を編集する。S5において、エージェントは、転送表を参照することにより、関係者の問合せ先を特定する。この実施例では、関係者の問合せ先は、その関係者に対応するエージェントのアドレスに相当する。
【0067】
S6において、エージェントは、関係者に、要求者に個人情報を公開してもよいか否かを問い合わせる。このとき、エージェントは、S4において編集された要求者の認証情報を関係者に送信する。この後、エージェントは、関係者からの応答を待ち受ける。
【0068】
S7において、エージェントは、関係者から応答を受信する。この応答は、例えば、関係者のポリシを表す。すなわち、この応答は、要求者に個人情報を公開してもよいか否かを表す。S8において、エージェントは、関係者のポリシに基づいて、対象者の認証情報を編集する。例えば、関係者が要求者に個人情報の公開を許可しないときは、エージェントは、対象者の認証情報から関係者に係わる情報を削除する。
【0069】
S9において、エージェントは、要求者に対して応答を行う。このとき、対象者の認証情報が要求者に送信される。ただし、S4~S8が実行されたときは、関係者のポリシに基づいて編集された対象者の認証情報が要求者に送信される。なお、エージェントは、受信した属性要求に応じないときは(S2:No)、認証情報を提供しない旨を表すメッセージを要求者に送信してもよい。
【0070】
<バリエーション1>
図19は、公開範囲を制限する方法の一例を示す。この実施例では、各エンティティの認証情報の公開範囲は、ホップ数で表される。すなわち、各エンティティに対応するエージェントは、ポリシ情報として、当該エンティティの認証情報が何ホップ先まで転送されてもよいのかを表す許容ホップ数を保持する。
【0071】
ホップ数は、エンティティ間のホップ数を表す。例えば、
図19に示す例では、チャーリーは、ボブの同僚である。すなわち、チャーリーは、ボブに直接的に関連している。よって、ボブとチャーリーとの間のホップ数は1である。また、エリックは、チャーリーの友人である。すなわち、エリックは、チャーリーに直接的に関連している。よって、チャーリーとエリックとの間のホップ数は1である。ただし、エリックは、ボブに直接的に関連していない。よって、ボブとエリックとの間のホップ数は2である。なお、以下の記載では、アリス、ボブ、チャーリー、デイブ、エリックは、それぞれ、アリスに対応するエージェント、ボブに対応するエージェント、チャーリーに対応するエージェント、デイブに対応するエージェント、エリックに対応するエージェントを表すものとする。
【0072】
バリエーション1においては、あるエンティティの認証情報が流通される際、その認証情報と共に「許容ホップ数」および「現在のホップ数」が送信される。許容ホップ数は、上述したように、各エンティティの認証情報の公開範囲を規定し、当該エンティティの認証情報が何ホップ先まで転送されてもよいのかを表す。現在のポップ数は、認証情報が転送された回数を表す。すなわち、現在のポップ数は、認証情報が転送される経路上で、各エージェントにより1ずつインクリメントされる。そして、各エージェントは、他のエージェントから認証情報を受信したときに、許容ホップ数と現在のホップ数とを比較することにより、その認証情報を転送してよいか否かを判定する。
【0073】
図19(a)に示す例では、アリスは、ボブに属性要求を送信する。この属性要求は、アリスの認証情報およびポリシ情報を含んでいる。ここで、アリスのポリシ情報において「許容ホップ数=1」が規定されている。この場合、アリスの認証情報の転送は、属性要求の受信ノード(すなわち、ボブ)を基準として1ホップの範囲内に制限される。
【0074】
ボブは、アリスから属性要求を受信すると、アリスの認証情報のホップ数を表す「現在のホップ数」をゼロに初期化する。そして、ボブは、「現在のホップ数」と「許容ホップ数」とを比較する。このとき、「現在のホップ数:0」は「許容ホップ数:1」より小さい。この場合、ボブは、アリスの認証情報を転送できると判定する。そして、ボブは、問合せフェーズにおいて、アリスの認証情報をチャーリーおよびデイブに送信する。このとき、アリスの認証情報と共に、「現在のホップ数:0」および「許容ホップ数:1」も送信される。なお、認証情報、現在のホップ数、許容ホップ数は、宛先エージェントに送信されてもよいし、宛先エージェントが参照可能なサーバに送信されてもよい。
【0075】
チャーリーは、問合せフェーズにおいて、ボブからアリスの認証情報を受信する。そうすると、チャーリーは、「現在のホップ数」を0から1にインクリメントする。そして、チャーリーは、「現在のホップ数」と「許容ホップ数」とを比較する。このとき、「現在のホップ数:1」は「許容ホップ数:1」と同じである。この場合、チャーリーは、アリスの認証情報を転送できないと判定する。すなわち、アリスの認証情報は、エリックには転送されない。
【0076】
図19(b)に示す例では、デイブは、ボブからの問合せに応答する。この例では、デイブは、ボブからの問合せに応じて、デイブの認証情報およびポリシ情報をボブに送信する。ただし、デイブのポリシ情報において「許容ホップ数=0」が規定されている。この場合、デイブの認証情報の転送は許容されない。
【0077】
即ち、ボブは、デイブから認証情報を受信すると、デイブの認証情報のホップ数を表す「現在のホップ数」をゼロに初期化する。そして、ボブは「現在のホップ数」と「許容ホップ数」とを比較する。このとき、「現在のホップ数:0」は「許容ホップ数:0」と同じである。この場合、ボブは、デイブの認証情報を転送できないと判定する。よって、デイブの認証情報は、アリスには転送されない。
【0078】
このように、バリエーション1においては、各エンティティの認証情報の転送範囲は、許容ホップ数として規定される。したがって、各エンティティは、自分の認証情報が流通される範囲を自分で決定できる。
【0079】
<バリエーション2>
各エンティティは、他のエンティティから受信した認証情報が第3者に係わる情報(以下、関係情報)を含むとき、その関係情報の公開がその第3者により許可されているのか否かを判定したいときがある。例えば、
図2において、アリスは、ボブの認証情報を取得する。この認証情報は、「チャーリーはボブの同僚」であることを表す情報を含む。ところが、この情報だけでは、アリスは、チャーリーが本当にボブの同僚であるのか否かを判定できない。そこで、バリエーション2では、第3者に係わる情報の公開が、その第3者の許可を得ているのか否かを判定する機能が提供される。即ち、バリエーション2は、認証情報の無断公開を検知する機能を提供する。
【0080】
図20は、認証情報の無断公開を検知する方法の一例を示す。この例では、ボブに対応するエージェント1bは、アリスに対応するエージェント1aから属性要求を受信する。ここで、ボブの認証情報がチャーリーに係わる情報を含むので、エージェント1bは、チャーリーに対応するエージェント1cに問合せを行う。
【0081】
エージェント1cは、チャーリーのポリシに基づいて、チャーリーの認証情報をアリスに公開してもよいか否かを判定する。ここでは、チャーリーの認証情報をアリスに公開することが許可されているものとする。この場合、エージェント1cは、エージェント1bまたはエージェント1bが参照可能なサーバにチャーリーの「署名」を送信する。この署名は、チャーリー(または、チャーリーのエージェント)がエージェント1bからの問合せを確認したことを表す。そして、エージェント1bは、アリスからの属性要求に応答する際、ボブの認証情報と共にチャーリーの署名も、エージェント1aまたはエージェント1bが参照可能なサーバに送信する。
【0082】
エージェント1aは、ボブの認証情報と共にチャーリーの署名を受信する。よって、アリスは、ボブから受信したチャーリーに係わる情報がチャーリーの許可を得て公開されていると判定できる。
図20に示す例では、アリスは、チャーリーが本当にボブの同僚であると判定できる。したがって、バリエーション2によれば、公開される認証情報の信頼性が向上する。
【0083】
なお、
図20に示す実施例において、エージェント1cは、アリスに係わる情報に基づく暗号を利用してチャーリーの署名を作成することが好ましい。例えば、アリスの認証情報がエージェント1bを経由してエージェント1cに転送されるときは、エージェント1cは、アリスの認証情報またはその一部を利用した暗号手順によりチャーリーの署名を作成してもよい。
【0084】
<バリエーション3>
各エージェントは、指定されたエンティティの認証情報を取得するときは、他のエージェントに問合せを行う。ただし、エンティティの数が多いときは、エージェントは、多数の問合せを受けることがある。この場合、エージェントの応答が遅くなることがある。そこで、バリエーション3は、この問題を緩和する機能を提供する。
【0085】
図21は、認証情報をパブリック化する方法の一例を示す。この実施例では、アリスの認証情報がパブリック化される。
【0086】
アリスに対応するエージェント1aは、予め、アリスの認証情報に含まれる複数の属性のうちの一部の属性を他のエージェントに送信する。
図21に示す例では、アリスの氏名およびメールアドレスがエージェント1b、1cに送信される。そうすると、各エージェント1b、1cは、受信した情報を対応する公開属性データベースに格納する。
【0087】
以降、エージェント1b、1cは、エージェント1aに問合せを行うことなく、対応する公開属性データベースにアクセスするだけで、アリスの認証情報の一部を取得できる。なお、エージェント1b、1cは、公開属性データベースに格納されている情報が正しいか否かを確認したいときは、エージェント1aに問合せを行ってもよい。この場合、エージェント1b、1cは、公開属性データベースに格納されている情報と問合せにより得られる情報とを比較することにより、公開属性データベースに格納されている情報が正しいか否かを確認できる。
【0088】
<バリエーション4>
バリエーション3では、認証情報がパブリック化される。これに対して、バリエーション4では、ポリシ情報がパブリック化される。例えば、チャーリーのポリシ情報が予め各エージェントに配布されているものとする。この場合、エージェント1bは、エージェント1aから
図7に示す属性要求を受信したときに、エージェント1cに問合せを行うことなく、チャーリーに係わる情報をアリスに公開してよいか否かを判定できる。すなわち、エージェント1bは、エージェント1cに問合せを行うことなく、チャーリーのポリシに基づいてボブの認証情報を編集できる。
【0089】
<ハードウェア構成>
図22は、情報処理装置20のハードウェア構成の一例を示す。情報処理装置20は、プロセッサ31、メモリ32、記憶装置33、記録媒体デバイス34、通信IF35を備える。なお、情報処理装置20は、
図22に示してない他の要素または機能を備えてもよい。
【0090】
プロセッサ31は、記憶装置33に格納されている認証情報処理プログラムを実行することにより、エージェント1の機能を提供する。認証情報処理プログラムは、例えば、
図18に示すフローチャートの処理を記述する。よって、プロセッサ31が認証情報処理プログラムを実行することにより、エージェント1が実現される。なお、メモリ32は、プロセッサ31の作業領域として使用される。また、情報処理装置20において動作するエージェントに対応するエンティティの認証情報22およびポリシ情報23、並びに転送表24は、記憶装置33またはメモリ32に保持される。
【0091】
記録媒体デバイス34は、可搬型記録媒体36に記録されている情報またはデータを読み出すことができる。なお、認証情報処理プログラムは、可搬型記録媒体36から情報処理装置20に与えられてもよい。通信IF35は、ネットワーク100に接続するインタフェースを提供する。なお、認証情報処理プログラムは、ネットワーク100に接続するプログラムサーバから情報処理装置20に与えられてもよい。
【符号の説明】
【0092】
1(1a~1d) エージェント
10 端末装置
20 情報処理装置
22 認証情報
23 ポリシ情報
31 プロセッサ
32 メモリ
100 ネットワーク