(57)【要約】      （修正有）【課題】他のサービス提供主体が保有するデータを容易に利用できるようにする情報処理装置、情報処理方法、及び情報処理プログラムを提供する。【解決手段】本願に係る情報処理装置は、複数のシステムがそれぞれ保持するユーザ識別情報を暗号化した暗号化ＩＤを取得する取得部と、同一ユーザを示す複数の暗号化ＩＤを関連付けた管理情報を管理する管理部と、を備える。【選択図】図９
2019046263.tif 000002
【特許請求の範囲】
【請求項１】
複数のシステムがそれぞれ保持するユーザ識別情報を暗号化した暗号化ＩＤを取得する取得部と、
同一ユーザを示す複数の前記暗号化ＩＤを関連付けた管理情報を管理する管理部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記複数のシステムの１つである第１のシステムから第１の暗号化ＩＤを受信した場合に、前記管理情報に基づいて、前記第１の暗号化ＩＤに対応する他のシステムの暗号化ＩＤを特定する特定部と、
前記他のシステムの暗号化ＩＤに関する情報を前記第１のシステムに対して送信する送信部と、
をさらに備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記送信部は、前記他のシステムの暗号化ＩＤを前記第１のシステムに対して送信する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記送信部は、前記他のシステムが保持するユーザデータであって前記他のシステムの暗号化ＩＤで特定される前記ユーザデータを前記第１のシステムに対して送信する、
ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記管理部は、前記複数の暗号化ＩＤそれぞれを識別子とし、複数の前記識別子それぞれに同一ユーザを示す他の複数のシステムの前記暗号化ＩＤを関連付けた情報が含まれる前記管理情報を管理する、
ことを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記管理部は、前記複数のシステムの中から選択されるシステムの前記暗号化ＩＤを前記管理情報から削除する、
ことを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記管理部は、前記複数のシステムに新たに加わったシステムの前記暗号化ＩＤを前記管理情報に追加する、
ことを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記管理部は、前記管理情報に記憶されている前記暗号化ＩＤを同一のユーザ識別情報から生成した他の暗号化ＩＤに変更する、
ことを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
情報処理装置が実行する情報処理方法であって、
複数のシステムがそれぞれ保持するユーザ識別情報を暗号化した暗号化ＩＤを取得する取得工程と、
同一ユーザを示す複数の前記暗号化ＩＤを関連付けた管理情報を管理する管理工程と、
を含むことを特徴とする情報処理方法。
【請求項１０】
複数のシステムがそれぞれ保持するユーザ識別情報を暗号化した暗号化ＩＤを取得する取得手順と、
同一ユーザを示す複数の前記暗号化ＩＤを関連付けた管理情報を管理する管理手順と、
をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
ネットワークを使用したサービスの提供が活発になっている。近年では様々なサービス提供主体が様々なサービスを提供している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２５７７９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザによりよいサービスを提供するためには、複数のサービス提供主体間でユーザデータを共有することが望ましい。しかし、サービス提供主体毎にユーザ識別情報（以下、ユーザＩＤという。）は異なっており、データの共有は容易ではない。ユーザＩＤを統一すれば、ユーザデータの共有は容易である。しかし、ユーザＩＤの統一は容易なことではない。サービス提供主体間でユーザＩＤを交換することも考えられるが、この場合、他のサービス提供主体にユーザＩＤが不正利用される恐れは否定できない。
【０００５】
本願は、上記に鑑みてなされたものであって、他のサービス提供主体が保有するデータを容易に利用できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る情報処理装置は、複数のシステムがそれぞれ保持するユーザ識別情報を暗号化した暗号化ＩＤを取得する取得部と、同一ユーザを示す複数の暗号化ＩＤを関連付けた管理情報を管理する管理部と、を備える。
【発明の効果】
【０００７】
実施形態の一態様によれば、他のサービス提供主体が保有するデータを容易に利用できるようにすることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る情報処理システムの動作を示す図である。
【図２】図２は、ユーザ情報データベースのデータ構成を示す図である。
【図３】図３は、管理情報の構成例を示す図である。
【図４】図４は、図３に示す管理情報に暗号化ＩＤを追加した例を示す図である。
【図５】図５は、管理情報の他の構成例を示す図である。
【図６】図６は、実施形態に係る端末装置の構成例を示す図である。
【図７】図７は、実施形態に係るサービス提供サーバの構成例を示す図である。
【図８】図８は、ユーザ情報データベースに格納されるユーザ情報の一例を示す図である。
【図９】図９は、実施形態に係る情報処理装置の構成例を示す図である。
【図１０】図１０は、管理情報データベースに格納される情報の一例を示す図である。
【図１１】図１１は、登録処理の一例を示すフローチャートである。
【図１２】図１２は、管理処理の一例を示すフローチャートである。
【図１３】図１３は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、以下の実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１０】
〔１．情報処理装置の動作〕
最初に、本実施形態の情報処理装置３０を備える情報処理システム１を例に、情報処理装置の動作を説明する。
【００１１】
図１は、実施形態に係る情報処理システム１の動作を示す図である。情報処理システム１は、複数のサービス提供主体間でユーザデータを共有することを可能にするためのシステムである。本実施形態でいう「サービス」は、ネットを介して提供されるサービスのことである。例えば、サービスは、ネットショッピング、広告配信、メール、ゲーム、ニュース、オークション、掲示板、ブログ、天気予報、ファイナンス、路線検索、地図、旅行、求人、不動産、飲食店紹介、データダウンロード等のサービスである。サービスは、医療情報（例えば、カルテ）に関するクラウドサービスであってもよい。
【００１２】
情報処理システム１は、端末装置１０１、１０２、１０３と、サービス提供サーバ２０１、２０２、２０３と、情報処理装置３０と、を備える。なお、図１の例では、端末装置が３つ示されているが、端末装置は３つより少なくてもよいし、３つより多くてもよい。以下の説明では、端末装置１０１、１０２、１０３等を総称して端末装置１０と記載することがある。また、図１の例では、サービス提供サーバが３つ示されているが、サービス提供サーバは３つより少なくてもよいし、３つより多くてもよい。以下の説明では、サービス提供サーバ２０１、２０２、２０３等を総称してサービス提供サーバ２０と記載することがある。
【００１３】
端末装置１０は、例えば、スマートデバイス（スマートフォン、或いはタブレット）、携帯電話、パーソナルコンピュータ等のユーザ端末である。端末装置１０１はユーザＵ１が使用する端末であり、端末装置１０２はユーザＵ２が使用する端末であり、端末装置１０３はユーザＵ３が使用する端末である。端末装置１０は、ネットワークを介してサービス提供サーバ２０と通信する。
【００１４】
サービス提供サーバ２０は、クライアント端末或いはクライアント端末を操作するユーザに対して各種サービスを提供するサーバ用ホストコンピュータである。例えば、サービス提供サーバ２０は、端末装置１０を操作するユーザに対し各種サービスを提供するサービス提供システムである。サービス提供システムは、１台の装置から構成されていてもよいし、複数台の装置から構成されていてもよい。サービス提供サーバ２０が提供するサービスは、例えば、ネットショッピング、広告配信、メール、ゲーム、ニュース、オークション、掲示板、ブログ、天気予報、ファイナンス、路線検索、地図、旅行、求人、不動産、飲食店紹介、データダウンロード等のサービスである。サービス提供サーバ２０がネットショッピングサービスを提供するシステムとして機能する場合、サービス提供サーバ２０はオンラインモールとしての機能を併せ持っていてもよい。
【００１５】
図１の例の場合、サービス提供サーバ２０１は組織Ａが運用するシステムであり、サービス提供サーバ２０２は組織Ｂが運用するシステムであり、サービス提供サーバ２０３は組織Ｃが運用するシステムである。組織Ａ、組織Ｂ、組織Ｃは、それぞれ所定のサービスを提供するサービス提供主体である。組織Ａ、組織Ｂ、組織Ｃは、例えば、会社（企業）である。なお、サービス提供主体は会社（企業）に限られない。サービス提供主体は、会社（企業）以外の組織、例えば、非営利法人、公共団体等の団体であってもよい。勿論、サービス提供主体は組織ではなく個人であってもよい。また、サービス提供主体は、組織内の所定の部門（例えば、第１のサービスを提供する部門）であってもよい。この場合、同じ組織内の他の部門（例えば、第２のサービスを提供する部門）は、他のサービス提供主体である。以下の説明で登場する“組織”は、適宜、“会社”、“個人”、“部門”に置き換え可能である。
【００１６】
複数の組織（例えば、組織Ａ、組織Ｂ、組織Ｃ）は、それぞれ、ユーザに対してユーザ識別情報（以下、ユーザＩＤという。）を付している。ユーザＩＤは、例えば、ユーザが所定のサイトにアクセスするためのユーザ名、ログインＩＤ、アカウントであってもよい。所定のサイトは、ポータルサイトであってもよいし、ＳＮＳ（Social  Networking  Service）のサイトであってもよい。ユーザを識別できるのであれば、ユーザＩＤは、電話番号、メールアドレスであってもよい。また、ユーザＩＤは、人間の身体的特徴（例えば、指紋、虹彩、静脈パターン）或いは行動的特徴（例えば、筆跡、歩行）に基づく生体情報であってもよい。勿論、ユーザＩＤは、サービス提供システムが内部で保持する内部ＩＤであってもよい。
【００１７】
情報処理装置３０は、サービス提供サーバ２０に対して各種サービスを提供するサーバ用ホストコンピュータである。情報処理装置３０は、サービス提供サーバ２０がサービスの提供にあたり蓄積したデータの、サービス提供サーバ２０間の共有を可能にするための処理を行う。例えば、情報処理装置３０は、サービス提供サーバ２０それぞれが有するユーザ識別情報（以下、ユーザＩＤという。）を管理する。情報処理装置３０は、サービス提供サーバ２０それぞれと通信可能である。
【００１８】
サービス提供サーバ２０を運営する複数のサービス提供主体（例えば、組織Ａ、組織Ｂ、組織Ｃ）は協業関係にある。しかし、ユーザＩＤは統一されておらず、サービス提供主体間でユーザデータの共有は容易ではない。また、他のサービス提供主体との協業関係が崩れた後のことを考慮すると、自身が保有するユーザＩＤの全てを他のサービス提供主体に渡してしまうのは極めてリスクが高い。情報処理装置３０は、各組織が保有するユーザデータの互いの利用を可能としつつ、各組織が保有するユーザＩＤをセキュアに管理する。なお、組織Ａ、組織Ｂ等の複数のサービス提供主体が、ユーザデータの交換のための契約下にあるものとする。以下の説明では、ユーザデータの交換のための契約下にある集団のことを単にグループという。
【００１９】
以下、図１を参照しながら、本実施形態の情報処理装置３０を備える情報処理システム１の動作を説明する。
【００２０】
まず、サービス提供サーバ２０は、ユーザにサービスを提供するため、ユーザが操作する端末装置１０とサービスに関する通信を行う（ステップＳ１ａ〜ステップＳ１ｅ）。例えば、サービス提供サーバ２０１は、ユーザＵ１が操作する端末装置１０１とサービス（例えば、ネットショッピング）に関する通信を行う（ステップＳ１ａ）。また、サービス提供サーバ２０２は、ユーザＵ１が操作する端末装置１０１とサービス（例えば、広告配信）に関する通信を行う（ステップＳ１ｂ）。
【００２１】
そして、サービス提供サーバ２０は、サービスの提供にあたり取得したユーザデータをユーザ情報データベースに保存する（ステップＳ２ａ〜ステップＳ２ｃ）。なお、ユーザ情報データベースは、ＲＤＢ（Relational  Database）に限られない。大量のデータを高速に扱えるようにするため、データベースは、ＮｏＳＱＬ（Not  Only  SQL）のハイパースケールなデータベース情報処理システム（スケールアウト型のシステム）を使ったデータベースであってもよい。このとき、ＮｏＳＱＬは、ＫＶＳ（Key-Value  Store）であってもよい。
【００２２】
図２は、ユーザ情報データベースのデータ構成を示す図である。図２の例では、サービス提供サーバ２０１、２０２、２０３それぞれが有するユーザ情報データベースのデータ構成を示している。サービス提供サーバ２０１のユーザ情報データベースには、ユーザデータとしてＤ１１〜Ｄ１３が格納されている。また、サービス提供サーバ２０２のユーザ情報データベースには、ユーザデータとしてＤ２１〜Ｄ２３が格納されている。また、サービス提供サーバ２０３のユーザ情報データベースには、ユーザデータとしてＤ３１〜Ｄ３３が格納されている。各ユーザデータには、ユーザＩＤが付されている。なお、以下の説明では、ユーザＩＤとユーザデータのペアのことをレコードという。
【００２３】
図２を見れば分かるように、ユーザデータＤ１１〜Ｄ１３には、ユーザＩＤとしてＵ１Ａ〜Ｕ３Ａが付されている。Ｕ１Ａ〜Ｕ３Ａは、サービス提供サーバ２０１の運営者である組織Ａが各ユーザに付したユーザＩＤである。Ｕ１Ａは、ユーザＵ１のユーザＩＤであり、Ｕ２Ａは、ユーザＵ２のユーザＩＤであり、Ｕ３Ａは、ユーザＵ３のユーザＩＤである。なお、各レコードの左側のＰ１１〜Ｐ１３は、各レコードのデータベース内の格納位置を示す。Ｐ１１は、ユーザデータＤ１１が格納されたレコードの格納位置であり、Ｐ１２は、ユーザデータＤ１２が格納されたレコードの格納位置であり、Ｐ１３は、ユーザデータＤ１３が格納されたレコードの格納位置である。
【００２４】
また、ユーザデータＤ２１〜Ｄ２３には、ユーザＩＤとしてＵ１Ｂ〜Ｕ３Ｂが付されている。Ｕ１Ｂ〜Ｕ３Ｂは、サービス提供サーバ２０２の運営者である組織Ｂが各ユーザに付したユーザＩＤである。Ｕ１Ｂは、ユーザＵ１のユーザＩＤであり、Ｕ２Ｂは、ユーザＵ２のユーザＩＤであり、Ｕ３Ｂは、ユーザＵ３のユーザＩＤである。なお、各レコードの左側のＰ２１〜Ｐ２３は、各レコードのデータベース内の格納位置を示す。Ｐ２１は、ユーザデータＤ２１が格納されたレコードの格納位置であり、Ｐ２２は、ユーザデータＤ２２が格納されたレコードの格納位置であり、Ｐ２３は、ユーザデータＤ２３が格納されたレコードの格納位置である。
【００２５】
また、ユーザデータＤ３１〜Ｄ３３には、ユーザＩＤとしてＵ１Ｃ〜Ｕ３Ｃが付されている。Ｕ１Ｃ〜Ｕ３Ｃは、サービス提供サーバ２０３の運営者である組織Ｃが各ユーザに付したユーザＩＤである。Ｕ１Ｃは、ユーザＵ１のユーザＩＤであり、Ｕ２Ｃは、ユーザＵ２のユーザＩＤであり、Ｕ３Ｃは、ユーザＵ３のユーザＩＤである。なお、各レコードの左側のＰ３１〜Ｐ３３は、各レコードのデータベース内の格納位置を示す。Ｐ３１は、ユーザデータＤ３１が格納されたレコードの格納位置であり、Ｐ３２は、ユーザデータＤ３２が格納されたレコードの格納位置であり、Ｐ３３は、ユーザデータＤ３３が格納されたレコードの格納位置である。
【００２６】
複数のサービス提供サーバ２０は、それぞれ、自身が保持するユーザＩＤを他の組織が復号できないよう暗号化する。暗号化には、共通鍵暗号（例えば、ＡＥＳ（Advanced  Encryption  Standard））や公開鍵暗号（例えば、ＲＳＡ（Rivest-Shamir-Adleman  cryptosystem））等を使った可逆暗号化のみならず、ＭＤ５（Message  Digest  Algorithm  5）やＳＨＡ（Secure  Hash  Algorithm）等を使った不可逆暗号化（ハッシュ化）も含まれる。
【００２７】
そして、情報処理装置３０は、サービス提供サーバ２０が暗号化したユーザＩＤ（以下、暗号化ＩＤという。）を取得する（ステップＳ３ａ〜ステップＳ３ｃ）。なお、以下の説明では、暗号化ＩＤを示す符号には、“Ｅ−”を頭に付す。例えば、ユーザＵ１のユーザＩＤであるＵ１Ａ、Ｕ１Ｂ、Ｕ１Ｃの暗号化ＩＤは、それぞれ、Ｅ−Ｕ１Ａ、Ｅ−Ｕ１Ｂ、Ｅ−Ｕ１Ｃである。また、ユーザＵ２のユーザＩＤであるＵ２Ａ、Ｕ２Ｂ、Ｕ２Ｃの暗号化ＩＤは、それぞれ、Ｅ−Ｕ２Ａ、Ｅ−Ｕ２Ｂ、Ｅ−Ｕ２Ｃである。また、ユーザＵ３のユーザＩＤであるＵ３Ａ、Ｕ３Ｂ、Ｕ３Ｃの暗号化ＩＤは、それぞれ、Ｅ−Ｕ３Ａ、Ｅ−Ｕ３Ｂ、Ｅ−Ｕ３Ｃである。
【００２８】
各サービス提供サーバ２０から暗号化ＩＤを取得したら、情報処理装置３０は、同一ユーザを示す複数の暗号化ＩＤを関連付ける（ステップＳ４）。例えば、情報処理装置３０は、図１に示すように、ユーザＵ１の暗号化ＩＤを示すＥ−Ｕ１Ａ、Ｅ−Ｕ１Ｂ、Ｅ−Ｕ１Ｃを関連付ける。また、情報処理装置３０は、ユーザＵ２の暗号化ＩＤを示すＥ−Ｕ２Ａ、Ｅ−Ｕ２Ｂ、Ｅ−Ｕ２Ｃを関連付ける。また、情報処理装置３０は、ユーザＵ３の暗号化ＩＤを示すＥ−Ｕ３Ａ、Ｅ−Ｕ３Ｂ、Ｅ−Ｕ３Ｃを関連付ける。関連付けの手法は様々な方法を使用可能である。例えば、情報処理装置３０は、各サービス提供サーバ２０から暗号化ＩＤで特定されるユーザデータを取得する。そして、情報処理装置３０は、ユーザデータと暗号化ＩＤを関連付けるとともに、ユーザデータに基づいてどの暗号化ＩＤとどの暗号化ＩＤが同一ユーザのものか特定する。例えば、情報処理装置３０は、電話番号、名前、生年月日のうちいずれか２つが一致している場合に、同一ユーザと特定してもよい。勿論、関連付けの方法はこの方法に限られない。また、関連付けが完了した後、情報処理装置３０は、情報が漏洩しないように、ユーザデータを破棄してもよい。そして、情報処理装置３０は、暗号化ＩＤを関連付けた情報を、ユーザＩＤを管理するための管理情報として記憶する。
【００２９】
図３は、管理情報の構成例を示す図である。図３は、各組織が保有するユーザ情報データベースを１つのリレーショナルデータベースとみなして管理する場合の管理情報の構成例を示している。図３の例では、組織ＡのユーザＩＤと組織ＢのユーザＩＤを情報処理装置３０が管理する例を示している。図３の例では、ユーザＵ１〜Ｕ３の内部ＩＤに、組織Ａが保持するユーザＩＤを暗号化したＥ−Ｕ１Ａ、Ｅ−Ｕ２Ａ、Ｅ−Ｕ３Ａと、組織Ｂが保持するユーザＩＤを暗号化したＥ−Ｕ１Ｂ、Ｅ−Ｕ２Ｂ、Ｅ−Ｕ３Ｂと、が関連付けられている。内部ＩＤは、情報処理装置３０が保持するユーザＩＤである。また、暗号化ＩＤ１は、組織Ａが保持するユーザＩＤの暗号化ＩＤを示し、暗号化ＩＤ２は、組織Ｂが保持するユーザＩＤの暗号化ＩＤを示す。
【００３０】
リレーショナルデータベースの場合、検索を高速にするため、インデックスが作成される。図３の例では、暗号化ＩＤ１をキーとしてユーザデータを検索するためのインデックス１と、暗号化ＩＤ２をキーとしてユーザデータを検索するためのインデックス２とが作成されている。各暗号化ＩＤには、ユーザデータのレコードの位置を示すレコード位置が関連付けられている。なお、図３の例では、インデックスはいずれもインデックステーブルとなっているが、インデックスはインデックステーブルに限られない。例えば、インデックスはＢ木（Ｂ−ｔｒｅｅ）であってもよい。
【００３１】
図４は、図３に示す管理情報に暗号化ＩＤを追加した例を示す図である。具体的には、図４は、図３に示す管理情報に暗号化ＩＤ３を追加した例である。暗号化ＩＤ３は、組織Ｃが保持するユーザＩＤの暗号化ＩＤである。組織Ｃが新たに加わったため、情報処理装置３０は、組織Ｃのため、新たにインデックス３を作成する。インデックス３は、暗号化ＩＤ３をキーとしてユーザデータを検索するためのインデックスである。また、組織Ｃが保持するユーザデータを組織Ａと組織Ｂが高速に検索できるようにするため、情報処理装置３０は、インデックス１とインデックス２を更新する。図３の例では、インデックス１とインデックス２にそれぞれレコード位置Ｐ３１〜Ｐ３３が追加されている。このように、ユーザデータの管理にリレーショナルデータベースを使用する場合、組織が新たにグループに加入するたびに、全てのインデックスに更新が発生する。グループに加入する組織が少ないうちはよいものの、グループに加入する組織が多くなると（例えば、グループに加入する組織が１０００、２０００となると）、インデックスの更新時間は無視できないものとなる。こうなると、新たに組織がグループに加入するたびに長時間のインデックスの更新時間が発生し、サービスの断絶が発生することになる。
【００３２】
そこで、情報処理装置３０は、管理情報を図３や図４に示す構造とは異なる構造とし、暗号化ＩＤが増えても大きなサービスの断絶が起こらないようにする。図５は、管理情報の他の構成例を示す図である。情報処理装置３０は、図５に示すように、複数の暗号化ＩＤそれぞれを識別子とし、複数の識別子それぞれに同一ユーザを示す他の複数のシステムの暗号化ＩＤを関連付ける。識別子とは、データベース中の所定の情報（レコード）を識別するための情報である。識別子は、検索ＩＤ、キー等と言い換えることができる。図５の例の場合、情報処理装置３０は、組織Ａが保持するユーザＩＤを暗号化したＥ−Ｕ１Ａ、Ｅ−Ｕ２Ａ、Ｅ−Ｕ３Ａ、組織Ｂが保持するユーザＩＤを暗号化したＥ−Ｕ１Ｂ、Ｅ−Ｕ２Ｂ、Ｅ−Ｕ３Ｂ、組織Ｃが保持するユーザＩＤを暗号化したＥ−Ｕ１Ｃ、Ｅ−Ｕ２Ｃ、Ｅ−Ｕ３Ｃをそれぞれ識別子とする。そして、識別子それぞれに、同一ユーザを示す他のサービス提供主体の暗号化ＩＤを関連付ける。例えば、組織Ａが保持するユーザＵ１の暗号化ＩＤであるＥ−Ｕ１Ａには、組織Ｂが保持するユーザＵ１の暗号化ＩＤであるＥ−Ｕ１Ｂと、組織Ｃが保持するユーザＵ１の暗号化ＩＤであるＥ−Ｕ１Ｃと、を関連付ける。なお、識別子には、情報処理装置３０が内部でユーザを管理するためのＩＤ（内部ＩＤ）が関連付けられていてもよい。例えば、識別子のＥ−Ｕ１Ａには、情報処理装置３０が内部ＩＤのＵ１が関連付けられていてもよい。
【００３３】
なお、図５の例では、管理情報は表形式となっているが、管理情報は表形式に限られない。管理情報はＪＳＯＮ（JavaScript（登録商標）  Object  Notation）形式であってもよい。例えば、管理情報は“暗号化ＩＤ１：｛内部ＩＤ，暗号化ＩＤ２，暗号化ＩＤ３，…｝”、“暗号化ＩＤ２：｛内部ＩＤ，暗号化ＩＤ１，暗号化ＩＤ３，…｝”といった形式であってもよい。ここで、内部ＩＤは、情報処理装置３０が保持するユーザＩＤを示すメンバー（例えば、名前と値のペア）であり、暗号化ＩＤ１は、組織Ａが保持するユーザＩＤの暗号化ＩＤを示すメンバーであり、暗号化ＩＤ２は、組織Ｂが保持するユーザＩＤの暗号化ＩＤを示すメンバーであり、暗号化ＩＤ３は、組織Ｃが保持するユーザＩＤの暗号化ＩＤを示すメンバーである。管理情報を図５に示すような構造とすることで、ＮｏＳＱＬ、ＫＶＳ等のハイパースケールなミドルウェアを使ってリレーショナルデータベースの限界を大幅に超えることができる。
【００３４】
情報処理装置３０は、複数のシステムの１つから暗号化ＩＤを受信すると（ステップＳ５）、管理情報に基づいて、その暗号化ＩＤに対応する他のシステムの暗号化ＩＤを特定する（ステップＳ６）。例えば、情報処理装置３０が、組織Ｂのサービス提供サーバ２０２から暗号化ＩＤとしてＥ−Ｕ２Ｂを受信したとする。この場合、情報処理装置３０は、図５に示す管理情報から識別子のＥ−Ｕ２Ｂに関連付けられているＥ−Ｕ２Ａ、Ｅ−Ｕ２Ｃを特定する。
【００３５】
そして、情報処理装置３０は、暗号化ＩＤを受信したシステムに対して、他のシステムの暗号化ＩＤに関する情報を送信する（ステップＳ７）。例えば、情報処理装置３０が、組織Ｂのサービス提供サーバ２０２からユーザＵ２のユーザＩＤの暗号化ＩＤであるＥ−Ｕ２Ｂを受信したとする。この場合、情報処理装置３０は、サービス提供サーバ２０２に対して、対応する暗号化ＩＤであるＥ−Ｕ２Ａ、Ｅ−Ｕ２Ｃを送信する。暗号化ＩＤには、どのシステムの暗号化ＩＤかを特定するための情報が付されていてもよい。例えば、Ｅ−Ｕ２Ａには、組織Ａのサービス提供サーバ２０１を示す識別情報が付されていてもよい。また、Ｅ−Ｕ２Ｃには、組織Ｃのサービス提供サーバ２０３を示す識別情報が付されていてもよい。なお、他のシステムの暗号化ＩＤに関する情報は、暗号化ＩＤで特定されるユーザデータであってもよい。
【００３６】
他のシステムの暗号化ＩＤを取得したら、サービス提供サーバ２０は、取得した暗号化ＩＤを使って他のシステムからユーザデータを取得する。例えば、サービス提供サーバ２０２が情報処理装置３０からＥ−Ｕ２ＡとＥ−Ｕ２Ｃを取得したとする。また、サービス提供サーバ２０２の運営者（組織Ｂ）が、ユーザＵ２のユーザデータを組織Ｃから取得しようとしているとする。このとき、サービス提供サーバ２０２は、サービス提供サーバ２０３に対してＥ−Ｕ２Ｃとともにユーザデータの送信を要求する。サービス提供サーバ２０３は、要求を受けて、暗号化ＩＤのＥ−Ｕ２Ｃに対応するユーザＩＤ（本実施形態の場合、Ｕ２Ｃ）を特定するとともに、該当のユーザデータ（図２の例の場合、Ｄ３２）をユーザ情報データベースから取得する。そして、サービス提供サーバ２０３は、取得したユーザデータをサービス提供サーバ２０２に送信する。
【００３７】
なお、ユーザデータの送信は情報処理装置３０が行ってもよい。例えば、情報処理装置３０が、複数のシステムの１つ（例えば、サービス提供サーバ２０２）から暗号化ＩＤを受信したとする。このとき、情報処理装置３０は、他のシステムが保持するユーザデータであって他のシステムの暗号化ＩＤで特定されるユーザデータを、暗号化ＩＤを送信したシステム（例えば、サービス提供サーバ２０２）に対して送信してもよい。例えば、情報処理装置３０が、サービス提供サーバ２０２からユーザＵ２のユーザデータの送信要求ともに暗号化ＩＤであるＥ−Ｕ２Ｂを受信したとする。情報処理装置３０は、Ｅ−Ｕ２Ｂに対応する他のシステムの暗号化ＩＤ（Ｅ−Ｕ２Ａ、Ｅ−Ｕ２Ｃ）を特定するとともに、サービス提供サーバ２０１とサービス提供サーバ２０３に対して、Ｅ−Ｕ２Ａ或いはＥ−Ｕ２Ｃで特定されるユーザデータの送信を要求する。サービス提供サーバ２０１とサービス提供サーバ２０３からユーザデータを取得したら、情報処理装置３０は、取得したユーザデータをサービス提供サーバ２０２に対して送信する。
【００３８】
上述したように、複数の組織は協業関係にある。しかしながら、複数の組織の１つが敵対的買収を受ける等、協業関係が崩れることもあり得る。この場合、情報処理装置３０は、情報漏洩が起こらないように、管理情報の管理のための処理を行う必要がある。具体的には、情報処理装置３０は、敵対的買収された組織が他の組織のユーザデータを取得できないようにする必要がある。
【００３９】
そこで、情報処理装置３０は、情報処理装置３０の運営者から複数のシステムの中から選択される所定のシステムの排除を命令された場合には、所定のシステムの暗号化ＩＤを管理情報から削除する（ステップＳ８）。例えば、サービス提供サーバ２０３を運営する組織Ｃが敵対的買収を受け、情報処理装置３０の運営者が組織Ｃのシステム（サービス提供サーバ２０３）のグループからの排除のための処理を命令したとする。この場合、情報処理装置３０は、図５に示す管理情報から組織Ｃの暗号化ＩＤ（Ｅ−Ｕ１Ｃ、Ｅ−Ｕ２Ｃ、Ｅ−Ｕ３Ｃ等）を削除して、以後、組織Ｃが他の組織の暗号化ＩＤを取得できないようにする。なお、会社の買収等により、グループに加入する組織が増える可能性もある。この場合、情報処理装置３０は、新たにグループに加わったシステムの暗号化ＩＤを管理情報に追加してもよい。
【００４０】
なお、グループから排除された組織は、グループ内の他の組織の暗号化ＩＤの一部をすでに持っている可能性がある。排除された組織を介して他の組織の情報が漏洩しないように、情報処理装置３０は、管理情報に記憶されている暗号化ＩＤを他の暗号化ＩＤに変更してもよい。このとき、他の暗号化ＩＤは、変更前の暗号化ＩＤが示すユーザと同一のユーザＩＤから生成した暗号化ＩＤであってもよい。例えば、情報処理装置３０の運営者が組織Ｃのシステムを排除したとする。このとき、情報処理装置３０は、組織Ａのサービス提供サーバ２０１と組織Ｂのサービス提供サーバ２０２に新たな暗号化ＩＤの送信を要求する。サービス提供サーバ２０１とサービス提供サーバ２０２から新たな暗号化ＩＤを取得した場合には、情報処理装置３０は、図５に示す管理情報のうち、暗号化ＩＤ１、暗号化ＩＤ２、及び識別子を新たな暗号化ＩＤに置き換える。
【００４１】
本実施形態によれば、情報処理装置３０は、複数のサービス提供システム（サービス提供サーバ２０）がそれぞれ保持するユーザＩＤを暗号化した暗号化ＩＤを取得するとともに、同一ユーザを示す複数の暗号化ＩＤを関連付けた管理情報を管理する。これにより、情報処理装置３０は、ユーザＩＤを統一することなく、ユーザＩＤが統一されたのと同様の効果を複数のサービス提供主体に提供できる。しかも、関連付けられるユーザＩＤは暗号化されているので、サービス提供主体（例えば、サービス提供サーバ２０の運営者）は自身が保有するユーザＩＤの漏洩を心配する必要はない。
【００４２】
〔２．情報処理システムの構成例〕
以上、本実施形態の情報処理装置３０を備える情報処理システム１を例に、本実施形態の情報処理装置の動作を述べたが、以下、情報処理システム１の構成を説明する。上述したように、情報処理システム１は、端末装置１０と、サービス提供サーバ２０と、情報処理装置３０と、を備える。端末装置１０、サービス提供サーバ２０、及び情報処理装置３０は、ネットワークを介して接続される。ネットワークは、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）、電話網（携帯電話網、固定電話網等）、地域ＩＰ（Internet  Protocol）網、インターネット等の通信ネットワークである。ネットワークには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。
【００４３】
〔３．端末装置の構成例〕
図６は、実施形態に係る端末装置１０の構成例を示す図である。端末装置１０は、ユーザがページの閲覧に使用する情報表示装置（情報処理装置）である。端末装置１０は、例えば、スマートフォン、タブレット、携帯電話等の通信端末である。通信機能を備えるのであれば、端末装置１０は、パーソナルコンピュータ（ノートＰＣ、デスクトップＰＣ）、ＰＤＡ（Personal  Digital  Assistant）等の情報処理端末であってもよい。この場合、情報処理端末も通信端末の一種である。端末装置１０は、ネットワークを介して情報処理装置３０と接続する。端末装置１０は、図６に示すように、通信部１１と、入力部１２と、記憶部１３と、出力部１４と、制御部１５と、を備える。なお、図６に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
【００４４】
通信部１１は、外部の装置と通信する通信インタフェースである。通信部１１は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部１１は、ＮＩＣ（Network  Interface  Card）等のＬＡＮインタフェースであってもよいし、ＵＳＢ（Universal  Serial  Bus）ホストコントローラ、ＵＳＢポート等により構成されるＵＳＢインタフェースであってもよい。また、通信部１１は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部１１は、端末装置１０の通信手段として機能する。通信部１１は、制御部１５の制御に従って情報処理装置３０と通信する。
【００４５】
入力部１２は、外部から各種入力を受け付ける入力装置である。例えば、入力部１２は、キーボードやマウスや操作キー等、ユーザが各種操作を行うための操作装置である。入力部１２は、端末装置１０の入力手段として機能する。なお、端末装置１０にタッチパネルが採用される場合には、タッチパネルも入力部１２に含まれる。この場合、ユーザは、指やスタイラスで画面をタッチすることにより各種操作を行う。
【００４６】
記憶部１３は、ＤＲＡＭ（Dynamic  Random  Access  Memory）、ＳＲＡＭ（Static  Random  Access  Memory）、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部１３は、端末装置１０の記憶手段として機能する。記憶部１３は、ウェブブラウザ等のアプリケーションソフトのデータが格納されている。ユーザはアプリケーションソフトを介して情報処理装置３０と通信する。
【００４７】
出力部１４は、音、光、振動、画像等、外部に各種出力を行う装置である。出力部１４は、端末装置１０の出力手段として機能する。出力部１４は、各種情報を表示する表示装置を備える。表示装置は、例えば、液晶ディスプレイ、有機ＥＬ（Electro  Luminescence）ディスプレイである。なお、端末装置１０にタッチパネルが採用される場合には、表示装置は入力部１２と一体であってもよい。出力部１４は、制御部１５の制御に従って、画面に画像を表示する。
【００４８】
制御部１５は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、端末装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部１５は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００４９】
〔４．サービス提供サーバの構成例〕
次に、サービス提供サーバ２０の構成について詳細に説明する。サービス提供サーバ２０は、端末装置１０等のクライアントコンピュータからの要求を処理するサーバ用ホストコンピュータ（以下、単に「サーバ」という。）である。サービス提供サーバ２０は、ＰＣサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、サービス提供サーバ２０は、１つのサーバにより構成されていてもよいし、協働して処理を実行する複数のサーバにより構成されていてもよい。サービス提供サーバ２０が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協働して処理を実行するのであれば、これらサーバは１つのサービス提供サーバとみなすことができる。
【００５０】
図７は、実施形態に係るサービス提供サーバ２０の構成例を示す図である。サービス提供サーバ２０は、通信部２１と、記憶部２２と、制御部２３と、を備える。なお、図７に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
【００５１】
通信部２１は、外部の装置と通信する通信インタフェースである。通信部２１は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部２１は、ＮＩＣ等のＬＡＮインタフェースであってもよいし、ＵＳＢホストコントローラ、ＵＳＢポート等により構成されるＵＳＢインタフェースであってもよい。また、通信部２１は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部２１は、サービス提供サーバ２０の通信手段として機能する。通信部２１は、制御部２３の制御に従って端末装置１０及び情報処理装置３０と通信する。
【００５２】
記憶部２２は、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部２２は、サービス提供サーバ２０の記憶手段として機能する。記憶部２２は、ユーザ情報データベース２２１を記憶する。
【００５３】
ユーザ情報データベース２２１は、サービス提供サーバ２０がユーザにサービスを提供するにあたり取得したユーザデータを記憶するデータベースである。ユーザ情報データベース２２１は、ＲＤＢであってもよいし、ＮｏＳＱＬ等のハイパースケールなデータベース情報処理システム（スケールアウト型のシステム）を使ったデータベースであってもよい。このとき、ＮｏＳＱＬは、ＫＶＳであってもよい。
【００５４】
図８は、ユーザ情報データベース２２１に格納されるユーザ情報の一例を示す図である。図８に示した例では、ユーザ情報データベース２２１は、ユーザＩＤ、ユーザ名、性別、年齢、購入商品等の項目を有している。「ユーザＩＤ」は、ユーザの識別情報である。「ユーザ名」は、ユーザＩＤで示されるユーザの名前である。「性別」は、ユーザＩＤで示されるユーザの性別である。「年齢」は、ユーザＩＤで示されるユーザの年齢である。「購入商品」は、ユーザＩＤで示されるユーザがネットショッピングサービス等を使って購入した商品の情報である。なお、図８に示したユーザ情報はあくまで例である。ユーザ情報はサービス提供サーバ２０が提供するサービスに合わせ適宜変更可能である。
【００５５】
制御部２３は、コントローラであり、例えば、ＣＰＵ、ＭＰＵ等のプロセッサによって、サービス提供サーバ２０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部２３は、コントローラであり、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されてもよい。
【００５６】
〔５．情報処理装置の構成例〕
次に、情報処理装置３０の構成について詳細に説明する。情報処理装置３０は、端末装置１０等のクライアントコンピュータからの要求を処理するサーバ用ホストコンピュータ（以下、単に「サーバ」という。）である。情報処理装置３０は、ＰＣサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、情報処理装置３０は、１つのサーバにより構成されていてもよいし、協働して処理を実行する複数のサーバにより構成されていてもよい。情報処理装置３０が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協働して処理を実行するのであれば、これらサーバは１つの情報処理装置とみなすことができる。
【００５７】
図９は、実施形態に係る情報処理装置３０の構成例を示す図である。情報処理装置３０は、通信部３１と、記憶部３２と、制御部３３と、を備える。なお、図９に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
【００５８】
通信部３１は、外部の装置と通信する通信インタフェースである。通信部３１は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部３１は、ＮＩＣ等のＬＡＮインタフェースであってもよいし、ＵＳＢホストコントローラ、ＵＳＢポート等により構成されるＵＳＢインタフェースであってもよい。また、通信部３１は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部３１は、情報処理装置３０の通信手段として機能する。通信部３１は、制御部３３の制御に従ってサービス提供サーバ２０と通信する。
【００５９】
記憶部３２は、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部３２は、情報処理装置３０の記憶手段として機能する。記憶部３２は、管理情報データベース３２１を記憶する。
【００６０】
管理情報データベース３２１は、サービス提供サーバ２０が保持しているユーザＩＤを管理するための管理情報を記憶するデータベースである。管理情報データベース３２１は、ＲＤＢ（Relational  Database）であってもよいし、ハイパースケールなデータベース情報処理システムを使ったデータベースであってもよい。図１０は、管理情報データベース３２１に格納される管理情報の一例を示す図である。図１０に示した例では、管理情報データベース３２１は、識別子、内部ＩＤ、暗号化ＩＤ１、暗号化ＩＤ２、暗号化ＩＤ３等の項目を有している。
【００６１】
「識別子」は、同一ユーザを示す複数の暗号化ＩＤが格納されたレコードの主キーとなる情報である。識別子には、Ｅ−Ｕ１Ａ、Ｅ−Ｕ２Ａ、Ｅ−Ｕ３Ａ、Ｅ−Ｕ１Ｂ、Ｅ−Ｕ２Ｂ、Ｅ−Ｕ３Ｂ、Ｅ−Ｕ１Ｃ、Ｅ−Ｕ２Ｃ、Ｅ−Ｕ３Ｃ等の値が格納されている。Ｅ−Ｕ１Ａ、Ｅ−Ｕ２Ａ、及びＥ−Ｕ３Ａは、組織Ａが保持するユーザＩＤの暗号化ＩＤである。Ｅ−Ｕ１Ｂ、Ｅ−Ｕ２Ｂ、及びＥ−Ｕ３Ｂは、組織Ｂが保持するユーザＩＤの暗号化ＩＤである。Ｅ−Ｕ１Ｃ、Ｅ−Ｕ２Ｃ、及びＥ−Ｕ３Ｃは、組織Ｃが保持するユーザＩＤの暗号化ＩＤである。識別子には、全ての複数のサービス提供サーバ２０から提供された全ての暗号化ＩＤが識別子として格納される。
【００６２】
「内部ＩＤ」は、情報処理装置３０が保持するユーザＩＤを示す。内部ＩＤには、Ｕ１、Ｕ２、Ｕ３等の値が格納されている。
【００６３】
「暗号化ＩＤ１」は、組織Ａが保持するユーザＩＤの暗号化ＩＤを示す。暗号化ＩＤ１には、Ｅ−Ｕ１Ａ、Ｅ−Ｕ２Ａ、Ｅ−Ｕ３Ａ等の値が格納されている。
【００６４】
「暗号化ＩＤ２」は、組織Ｂが保持するユーザＩＤの暗号化ＩＤを示す。暗号化ＩＤ２には、Ｅ−Ｕ１Ｂ、Ｅ−Ｕ２Ｂ、Ｅ−Ｕ３Ｂ等の値が格納されている。
【００６５】
「暗号化ＩＤ３」は、組織Ｃが保持するユーザＩＤの暗号化ＩＤを示す。暗号化ＩＤ３には、Ｅ−Ｕ１Ｃ、Ｅ−Ｕ２Ｃ、Ｅ−Ｕ３Ｃ等の値が格納されている。
【００６６】
図９に戻り、制御部３３は、コントローラであり、例えば、ＣＰＵ、ＭＰＵ等のプロセッサによって、情報処理装置３０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部３３は、コントローラであり、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されてもよい。
【００６７】
制御部３３は、図９に示すように、取得部３３１と、管理部３３２と、特定部３３３と、送信部３３４と、を備える。制御部３３を構成するブロック（取得部３３１〜送信部３３４）はそれぞれ制御部３３の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア（マイクロプログラムを含む。）で実現される１つのソフトウェアモジュールであってもよいし、半導体チップ（ダイ）上の１つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ１つのプロセッサ或いは１つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部３３は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
【００６８】
取得部３３１は、複数のサービス提供システム（複数のサービス提供サーバ２０）がそれぞれ保持するユーザＩＤを暗号化した暗号化ＩＤを取得する。
【００６９】
管理部３３２は、同一ユーザを示す複数の暗号化ＩＤを関連付けた管理情報を管理する。例えば、管理部３３２は、複数の暗号化ＩＤそれぞれを識別子とし、複数の識別子それぞれに同一ユーザを示す他の複数のサービス提供システム（複数のサービス提供サーバ２０）の暗号化ＩＤを関連付けた情報が含まれる管理情報を管理する。
【００７０】
具体的には、管理部３３２は、複数のサービス提供システムの中から選択されるシステムの暗号化ＩＤを管理情報から削除する。また、管理部３３２は、複数のサービス提供システムに新たに加わったシステムの暗号化ＩＤを管理情報に追加する。また、管理部３３２は、管理情報に記憶されている暗号化ＩＤを同一のユーザ識別情報から生成した他の暗号化ＩＤに変更する。
【００７１】
特定部３３３は、複数のサービス提供システムの１つである第１のシステム（例えば、サービス提供サーバ２０２）から第１の暗号化ＩＤ（例えば、ユーザＵ２の暗号化ＩＤであるＥ−Ｕ２Ｂ）を受信した場合に、管理情報に基づいて、第１の暗号化ＩＤに対応する他のシステムの暗号化ＩＤ（例えば、図１０に示すＥ−Ｕ２Ａ、Ｅ−Ｕ２Ｃ）を特定する。
【００７２】
送信部３３４は、他のシステム（例えば、サービス提供サーバ２０１及びサービス提供サーバ２０３）の暗号化ＩＤに関する情報を第１のシステム（例えば、サービス提供サーバ２０２）に対して送信する。例えば、送信部３３４は、他のシステムの暗号化ＩＤ（例えば、Ｅ−Ｕ２Ａ、Ｅ−Ｕ２Ｃ）を第１のシステムに対して送信する。また、送信部３３４は、他のシステムが保持するユーザデータであって他のシステムの暗号化ＩＤで特定されるユーザデータ（例えば、図２に示すＤ１２、Ｄ３２）を第１のシステムに対して送信する。
【００７３】
〔６．情報処理装置の処理フロー〕
次に、情報処理装置３０が実行する処理の手順について説明する。情報処理装置３０は生成処理と管理処理とを実行する。情報処理装置３０はマルチタスクＯＳを備え、これらの処理を並行して実行可能である。
【００７４】
〔６−１．登録処理〕
最初に登録処理を説明する。図１１は、登録処理の一例を示すフローチャートである。登録処理は、管理情報データベース３２１に管理情報を登録する処理である。情報処理装置３０は、情報処理装置３０の運営者から処理の開始を命令されると登録処理を実行する。
【００７５】
まず、情報処理装置３０は、サービス提供サーバ２０それぞれに対し暗号化ＩＤの送信要求を行う（ステップＳ１１）。そして、情報処理装置３０は、要求を行った全てのサービス提供サーバ２０から暗号化ＩＤを受信したか判別する（ステップＳ１２）。暗号化ＩＤを送信していないサービス提供サーバ２０が１つでもある場合（ステップＳ１２：Ｎｏ）、情報処理装置３０は、全てのサービス提供サーバ２０から暗号化ＩＤを受信するまでステップＳ１２を繰り返す。
【００７６】
全てのサービス提供サーバ２０から暗号化ＩＤを受信した場合（ステップＳ１２：Ｙｅｓ）、情報処理装置３０は、暗号化ＩＤの関連付けを実行する（ステップＳ１３）。例えば、情報処理装置３０は、図１に示すように、ユーザＵ１の暗号化ＩＤを示すＥ−Ｕ１Ａ、Ｅ−Ｕ１Ｂ、Ｅ−Ｕ１Ｃを関連付ける。また、情報処理装置３０は、ユーザＵ２の暗号化ＩＤを示すＥ−Ｕ２Ａ、Ｅ−Ｕ２Ｂ、Ｅ−Ｕ２Ｃを関連付ける。また、情報処理装置３０は、ユーザＵ３の暗号化ＩＤを示すＥ−Ｕ３Ａ、Ｅ−Ｕ３Ｂ、Ｅ−Ｕ３Ｃを関連付ける。
【００７７】
そして、情報処理装置３０は、関連付けた情報を管理情報データベース３２１に登録する（ステップＳ１４）。登録が完了したら、情報処理装置３０は、登録処理を終了する。
【００７８】
〔６−２．管理処理〕
最初に管理処理を説明する。図１２は、管理処理の一例を示すフローチャートである。管理処理は、管理情報の管理に関する処理である。情報処理装置３０は、電源が投入されると、管理処理を開始する。
【００７９】
まず、情報処理装置３０は、サービス提供サーバ２０或いは情報処理装置３０の運営者の端末からリクエスト（処理の要求）を受信したか判別する（ステップＳ２１）。リクエストを受信していない場合（ステップＳ２１：Ｎｏ）、情報処理装置３０は、リクエストを受信するまでステップＳ２１を繰り返す。
【００８０】
リクエストを受信した場合（ステップＳ２１：Ｙｅｓ）、リクエストがサービス提供サーバ２０からの暗号化ＩＤを伴うデータの送信要求か判別する（ステップＳ２２）。データの送信要求でない場合（ステップＳ２２：Ｎｏ）、情報処理装置３０は、ステップＳ２６に処理を進める。
【００８１】
リクエストがサービス提供サーバ２０からのデータの送信要求の場合（ステップＳ２２：Ｙｅｓ）、情報処理装置３０は、管理情報データベース３２１に登録されている管理情報に基づいて、データの送信要求とともに送信された暗号化ＩＤに対応する他のシステムの暗号化ＩＤを特定する（ステップＳ２３）。
【００８２】
そして、情報処理装置３０は、特定した暗号化ＩＤを使って、該当のサービス提供サーバ２０からユーザデータを取得する（ステップＳ２４）。そして、情報処理装置３０は、リクエストを送信したサービス提供サーバ２０に対し、取得したユーザデータを送信する（ステップＳ２５）。送信が完了したら、情報処理装置３０は、ステップＳ２１に処理を戻す。
【００８３】
ステップＳ２２に戻り、リクエストがサービス提供サーバ２０からのデータの送信要求でない場合（ステップＳ２２：Ｎｏ）、管理情報の管理のための処理を実行する（ステップＳ２６）。例えば、情報処理装置３０は、情報処理装置３０の運営者から、所定のサービス提供主体をグループから排除するための処理を命令された場合には、所定のサービス提供主体が提供する暗号化ＩＤを管理情報から削除する。この場合、グループに残るサービス提供主体が提要した暗号化ＩＤを同一のユーザＩＤから生成した他の暗号化ＩＤに変更してもよい。また、情報処理装置３０は、グループに新たにサービス提供主体が加わった場合には、新たに加わったサービス提供主体が提供する暗号化ＩＤを管理情報に追加する。
【００８４】
処理が完了したら、情報処理装置３０は、ステップＳ２１に処理を戻し、リクエストの受信を待機する。
【００８５】
〔７．変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
【００８６】
例えば、上述の実施形態では、サービス提供サーバ２０が提供するサービスは、ネットを介して提供されるサービスであるものとしたが、サービスはネットを介して提供されるサービスに限られない。サービスは、ネットを使用しないサービスであってもよい。例えば、サービスは、小売店での対面販売であってもよい。
【００８７】
本実施形態の情報処理装置３０を制御する制御装置は、専用のコンピュータシステムによって実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成してもよい。制御装置は、情報処理装置３０の外部の装置（例えば、パーソナルコンピュータ）であってもよいし、内部の装置（例えば、制御部３３）であってもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、ＯＳ（Operating  System）とアプリケーションソフトとの協働により実現してもよい。この場合には、ＯＳ以外の部分を媒体に格納して配布してもよいし、ＯＳ以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
【００８８】
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００８９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００９０】
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００９１】
〔８．ハードウェア構成〕
実施形態及び変形例に係る情報処理装置３０は、例えば図１３に示すような構成のコンピュータ１０００によっても実現可能である。図１３は、情報処理装置３０の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ（Central  Processing  Unit）１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インタフェース（Ｉ／Ｆ）１５００、入出力インタフェース（Ｉ／Ｆ）１６００、及びメディアインタフェース（Ｉ／Ｆ）１７００を有する。
【００９２】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【００９３】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インタフェース１５００は、ネットワークＮを介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータをネットワークＮを介して他の機器へ送信する。
【００９４】
ＣＰＵ１１００は、入出力インタフェース１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インタフェース１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インタフェース１６００を介して出力装置へ出力する。
【００９５】
メディアインタフェース１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインタフェース１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【００９６】
例えば、コンピュータ１０００が実施形態に係る情報処理装置３０として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部３３を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【００９７】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００９８】
〔９．効果〕
本実施形態によれば、情報処理装置３０は、複数のシステムがそれぞれ保持するユーザ識別情報を暗号化した暗号化ＩＤを取得する。そして、情報処理装置３０は、同一ユーザを示す複数の暗号化ＩＤを関連付けた管理情報を管理する。これにより、情報処理装置３０は、複数のサービス提供主体が保持するユーザＩＤを統一することなく、ユーザＩＤが統一されたのと同様の効果をサービス提供主体に提供できる。しかも、関連付けられるユーザＩＤは暗号化されているので、サービス提供主体は自身が保有するユーザＩＤが他のサービス提供主体に取得される心配はない。この結果、暗号化ＩＤの提供がスムーズに行われるようになるので、サービス提供主体は、暗号化ＩＤを介して、他のサービス提供主体が保有するデータを容易に利用できる。
【００９９】
また、情報処理装置３０は、複数のシステムの１つである第１のシステムから第１の暗号化ＩＤを受信した場合に、管理情報に基づいて、第１の暗号化ＩＤに対応する他のシステムの暗号化ＩＤを特定する。そして、情報処理装置３０は、他のシステムの暗号化ＩＤに関する情報を第１のシステムに対して送信する。例えば、情報処理装置３０は、他のシステムの暗号化ＩＤを第１のシステムに対して送信する。これにより、サービス提供主体は、他の暗号化ＩＤを介して、他のサービス提供主体が保有するデータを容易に利用できる。
【０１００】
また、情報処理装置３０は、他のシステムが保持するユーザデータであって他のシステムの暗号化ＩＤで特定されるユーザデータを第１のシステムに対して送信する。これにより、第１のシステムを運営するサービス提供主体は、他のサービス提供主体が保有するデータを容易に取得できる。他のサービス提供主体も自身が保持するユーザＩＤを第１のシステムを運営するサービス提供主体に知られることはない。
【０１０１】
また、情報処理装置３０は、複数の暗号化ＩＤそれぞれを識別子とし、複数の識別子それぞれに同一ユーザを示す他の複数のシステムの暗号化ＩＤを関連付けた情報が含まれる管理情報を管理する。これにより、情報処理装置３０は、ＮｏＳＱＬ等のハイパースケールなデータベース情報処理システム（スケールアウト型のシステム）の使用が容易になるので、データベースのスケール（特に、水平スケール）を大きくすることができる。
【０１０２】
また、情報処理装置３０は、複数のシステムの中から選択されるシステムの暗号化ＩＤを管理情報から削除する。これにより、情報処理装置３０は、協業関係から離脱したサービス提供主体を介して、情報が漏洩する可能性を低くできる。
【０１０３】
また、情報処理装置３０は、複数のシステムに新たに加わったシステムの暗号化ＩＤを管理情報に追加する。これにより、情報処理装置３０は、新たなサービス提供主体を容易に情報の共有関係に取り込むことができる。結果として、情報処理装置３０は、新たなサービス提供主体と既存のサービス提供主体との情報の共有を促進することができる。
【０１０４】
管理部は、管理情報に記憶されている暗号化ＩＤを同一のユーザ識別情報から生成した他の暗号化ＩＤに変更する。これにより、情報処理装置３０は、敵対的買収等により協業関係から離脱したサービス提供主体への情報漏洩の可能性を低くできる。
【０１０５】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１０６】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、通知部は、通知手段や通知回路に読み替えることができる。
【符号の説明】
【０１０７】
１…情報処理システム
１０、１０１、１０２、１０３…端末装置
１１、２１、３１…通信部
１２…入力部
１３、２２、３２…記憶部
１４…出力部
１５、２３、３３…制御部
２０、２０１、２０２、２０３…サービス提供サーバ
２２１…ユーザ情報データベース
３０…情報処理装置
３２１…管理情報データベース
３３１…取得部
３３２…管理部
３３３…特定部
３３４…送信部
【図１】
2019046263.tif 000003
【図２】
2019046263.tif 000004
【図３】
2019046263.tif 000005
【図４】
2019046263.tif 000006
【図５】
2019046263.tif 000007
【図６】
2019046263.tif 000008
【図７】
2019046263.tif 000009
【図８】
2019046263.tif 000010
【図９】
2019046263.tif 000011
【図１０】
2019046263.tif 000012
【図１１】
2019046263.tif 000013
【図１２】
2019046263.tif 000014
【図１３】
2019046263.tif 000015