説明

連携装置、連携元装置、連携先装置、連携プログラム、および連携方法

【課題】連携検索の安全性の向上を図ること。
【解決手段】(1)甲の第1実ID「aaa」を指定し、ハッシュ値「98c%df」を求める。(2)連携先装置102のハッシュ値の取得要求を送信する。(3)ハッシュ値「98c%df」を含む第1連携テーブルTcAを検索し、連携IDを特定する。(4)連携IDを有する第2連携テーブルTcBを検索し、ハッシュ値「As8&+)」を検索する。(5)検索ハッシュ値「As8&+)」を連携元装置101に送信する。(6)ハッシュ値「As8&+)」を受信すると属性要求を送信する。(7)属性要求からハッシュ値「As8&+)」を抽出し、逆引きテーブルTrから実ID「bbb」を特定する。属性テーブルTaB内の第2実ID「bbb」のレコードから、年収項目の年収123(万円)を抽出する。(8)このあと、抽出した属性情報(年収123万円)を送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置間の連携をおこなう連携装置、連携元装置、連携先装置、連携プログラム、および連携方法に関する。
【背景技術】
【0002】
クラウドやWebサービスにおいて、現実には同一人物がサービス毎に異なったIDによって利用するということが少なくない。具体的には、複数のサービスにおいて別々のIDで個人情報が分散している状況で、個人の属性情報を連携したいといった要望がある。たとえば、市役所が税務署から年収を入手して年収に応じた支援を行うなどの行政のワンストップサービスなどが挙げられる。
【0003】
このような場合、従来は、いずれかのサービスで個人のIDの対応付け情報を持つ技術が開示されている(たとえば、下記特許文献1,2を参照。)。たとえば、上記の例では、個人の市役所用のIDと税務署用のIDとを対応付けたテーブルを、市役所と税務署のうち市役所側で保管しておくこととなる(従来技術1)。
【0004】
また、第三者紐付け機関で、個人のIDの対応付け情報をもたせるケースもある。たとえば、上記の例では、個人の市役所用のIDと税務署用のIDとを対応付けたテーブルを、市役所および税務署以外の第三者紐付け機関で保管しておくこととなる(従来技術2)。
【0005】
さらに、特定の関数により統一IDからサービスごとに個人のIDを計算することで、理論上紐付け可能とする技術も開示されている(たとえば、下記非特許文献1を参照。)。たとえば、オーストリアの国民ID方式においては、分野別IDは、住民票コードに基づく共通ID(SourcePIN)から不可逆な関数で自動計算される。各分野別IDを統合する場合には、データ保護委員会が住民票コードに基づき、共通IDから各分野別IDを計算しておこなうこととなる。この方式では、上述のような対応付け情報を持たなくても済む(従来技術3)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−171923号公報
【特許文献2】特開2008−98786号公報
【非特許文献】
【0007】
【非特許文献1】小泉雄介著 「国民IDの導入に向けた課題〜海外事例に学ぶ〜」、2009年2月28日、NEC総研(インターネット検索 URL<http://www.jssm.net/jssm/security_day20090228.htm> 検索日:2010年10月 6日)
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上述した従来技術1,2では、対応付け情報が漏洩する危険性があるという問題があった。また、サービスの数が多くなると、サービスの組み合わせごとに対応付け情報が必要となる。したがって、対応付け情報の漏洩の危険性が増大するという問題があった。このように、対応付け情報が漏洩すると、対応付け情報のIDに関連付けされている個人情報の漏洩や不正使用、成り済ましにつながり、個人に不利益を与えてしまうという問題があった。
【0009】
また、上述した従来技術3では、サービス間で個人のIDでの対応を取る場合には、個人の名前や住所などの情報から人手(委員会)で統一IDを検索し、それから他サービスでの個人のIDを算出しなければならず、運用上手間がかかるという問題があった。また、すでに分野別IDが機関ごとに作成されている場合には対応できないという問題があった。
【0010】
本発明は、上述した従来技術による問題点を解消するため、連携検索の安全性の向上を図ることができる連携装置、連携元装置、連携先装置、連携プログラム、および連携方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するため、連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段を備え、前記連携元装置から前記第1固有情報を受信し、前記記憶手段の中から、受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索し、検索された前記第2固有情報を前記連携元装置に送信する連携装置、連携プログラム、および連携方法が一例として提案される。
【0012】
また、連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段を備え、前記連携元装置から前記第1固有情報を受信し、前記記憶手段の中から、受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索し、検索された前記第2固有情報を前記連携元装置に送信する連携装置、連携プログラム、および連携方法が一例として提案される。
【0013】
また、連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能であり、前記第1識別情報を指定し、指定された前記第1識別情報を前記第1一方向性関数に与えることにより、前記第1固有情報を生成し、生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信し、前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信し、受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信し、前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内の前記第2固有情報と前記第2識別情報とを関連付けた逆引きテーブルから特定された前記第2識別情報に関連付けされている属性情報を、前記連携先装置から受信する連携元装置、連携プログラム、および連携方法が一例として提案される。
【0014】
また、連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能であり、前記第1識別情報を指定し、指定された前記第1識別情報を前記第1共通鍵で暗号化することにより、前記第1固有情報を生成し、生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信し、前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信し、受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信し、前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内で前記第2固有情報を前記第2共通鍵で復号された前記第2識別情報に関連付けされている属性情報を前記連携先装置から受信する連携元装置、連携プログラム、および連携方法が一例として提案される。
【0015】
また、連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能であり、前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段を備え、前記連携元装置が前記連携装置から得た前記第2固有情報を含む属性取得要求を前記連携元装置から受信し、受信された属性取得要求に含まれている前記第2固有情報を前記第2識別情報に変換し、前記属性テーブルを参照して、変換された前記第2識別情報に関連付けられている前記属性情報を検索し、検索された前記属性情報を前記連携元装置に送信する連携先装置、連携プログラム、および連携方法が一例として提案される。
【0016】
連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能であり、前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段を備え、前記第2固有情報に前記連携識別情報に関する日付情報を連結した連結情報を前記連携先装置に関する公開鍵で暗号化した暗号化連結情報を前記連携装置から受信した連携元装置から、前記暗号化連結情報を含む属性取得要求を受信し、受信された属性取得要求に含まれている前記暗号化連結情報を前記連携先装置に関する秘密鍵で復号し、復号された連結情報に含まれている前記日付情報に基づいて、前記連結情報に含まれている前記第2固有情報の妥当性を判断し、判断結果に基づいて、前記復号手段によって復号された連結情報に含まれている前記第2固有情報を前記第2識別情報に変換し、前記属性テーブルを参照して、前記変換手段によって変換された前記第2識別情報に関連付けられている前記属性情報を検索し、検索された前記属性情報を前記連携元装置に送信する連携先装置、連携プログラム、および連携方法が一例として提案される。
【0017】
連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能であり、前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段を備え、前記連携元装置が前記連携装置から得た前記第2固有情報を含む属性取得要求を前記連携元装置から受信し、受信された属性取得要求に含まれている前記第2固有情報を、前記第2共通鍵で復号することにより、前記第2識別情報を生成し、前記属性テーブルを参照して、生成された前記第2識別情報に関連付けられている前記属性情報を検索し、検索された前記属性情報を前記連携元装置に送信する連携先装置、連携プログラム、および連携方法が一例として提案される。
【発明の効果】
【0018】
本発明の連携装置、連携元装置、連携先装置、連携プログラム、および連携方法によれば、連携検索の安全性の向上を図ることができるという効果を奏する。
【図面の簡単な説明】
【0019】
【図1】実施の形態1にかかる連携システムのシステム構成例を示す説明図である。
【図2】実施の形態1にかかる連携テーブルの作成例を示す説明図である。
【図3】実施の形態1にかかる連携テーブルの更新例を示す説明図である。
【図4】実施の形態1にかかる連携検索例を示す説明図である。
【図5】実施の形態1にかかる連携検索例2を示す説明図である。
【図6】実施の形態にかかるコンピュータのハードウェア構成例を示すブロック図である。
【図7】連携装置の機能的構成例を示すブロック図である。
【図8】連携元装置の機能的構成例を示すブロック図である。
【図9】連携先装置の機能的構成例を示すブロック図である。
【図10】連携テーブルの登録要求処理手順を示すフローチャートである。
【図11】連携テーブルの登録処理手順を示すフローチャートである。
【図12】連携テーブルの更新要求処理手順を示すフローチャートである。
【図13】連携テーブルの更新処理手順を示すフローチャートである。
【図14】連携検索処理手順を示すシーケンス図である。
【図15】連携検索処理手順を示すシーケンス図である。
【図16】実施の形態2にかかる連携システムのシステム構成例を示す説明図である。
【図17】実施の形態2にかかる連携テーブルの作成例を示す説明図である。
【図18】実施の形態2にかかる連携テーブルの更新例を示す説明図である。
【図19】実施の形態2にかかる連携検索例を示す説明図である。
【図20】連携テーブルの登録要求処理手順を示すフローチャートである。
【図21】連携テーブルの登録処理手順を示すフローチャートである。
【図22】連携テーブルの更新要求処理手順を示すフローチャートである。
【図23】連携テーブルの更新処理手順を示すフローチャートである。
【図24】連携検索処理手順を示すシーケンス図である。
【発明を実施するための形態】
【0020】
以下に添付図面を参照して、本発明にかかる連携元装置、連携先装置、連携プログラム、および連携方法の実施の形態を詳細に説明する。なお、本実施の形態では各種テーブルが用いられるが、テーブルは一例であり、他の構造のデータベースでもよい。
【0021】
本実施の形態では、同一個人の属性情報が異なった実IDで格納されている場合に、当該実IDの対応付け情報はどの機関も持たせずに、第三者が属性情報を連携させることを可能にする。実IDの対応付け情報はどの機関も持たないため、実IDの漏洩は生じないこととなり、セキュリティが向上する。
【0022】
また、一方の実IDを所有する一方の機関でサービスを提供する場合、一方の機関は、他方の実IDを所有する他方の機関から他方の実IDに関連付けられている属性情報を、他方の実IDがわからなくても、他方の機関から取得することが可能となる。たとえば、一方の機関が市役所で、他方の機関が税務署である場合、ある個人に対して市役所が税務署から年収を入手して年収に応じた支援を行うときは、市役所では、当該個人の税務署での実IDを知らなくても、税務署から当該個人の年収を入手することが可能となる。
【0023】
(実施の形態1)
まず、実施の形態1について説明する。実施の形態1は、ある個人の機関ごとに異なる実IDを、各機関で固有の一方向性関数に与えて、それぞれ固有情報を生成する例である。ここで、一方向性関数とは、出力データを入力データに戻すことが不可能(または困難)であり、同じ入力データを与えれば、同じ出力データが得られる関数である。一方向性関数としては、たとえば、ハッシュ関数が挙げられる。ハッシュ関数としては、たとえば、SHA−1やSHA−256などの一般的なハッシュ関数を適用することができる。
【0024】
そして、各実IDを保有する機関とは異なる第三者機関が、各実IDの固有情報を、両実IDに共通の連携IDで関連付けて保有することとなる。本明細書では、このような第三者機関を「連携機関」と称す。なお、本明細書内のIDやハッシュ値、暗号化データは、一例にすぎず、理解の容易のため、便宜上単純な文字列を採用しただけである。
【0025】
<システム構成例>
図1は、実施の形態1にかかる連携システムのシステム構成例を示す説明図である。連携システムは、機関Aのコンピュータと機関Bのコンピュータと連携機関Cのコンピュータとが、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して通信可能に接続されて構成されている。
【0026】
以降、連携機関Cのコンピュータを「連携装置」と称す。また、機関A、Bはいずれも連携元にもなり得るし、連携先にもなり得るが、ここでは、一例として、一方の機関を連携元、他方の機関を連携先とする。したがって、連携元のコンピュータを「連携元装置」と称し、連携先のコンピュータを「連携先装置」と称す。図1の場合、機関Aのコンピュータを「連携元装置」とし、機関Bのコンピュータを「連携先装置」とする。
【0027】
また、ここで、あるユーザについて、機関Aと機関Bとでそれぞれ実IDが割り当てられている。両実IDは異なる識別情報である。図1では、機関Aの実IDを「第1実ID(図1ではID_Aと表記)」とし、機関Bの実IDを「第2実ID(図1ではID_Bと表記)」とする。第1実IDは機関Aでのみ用いられる実IDであり、第2実IDは機関Bでのみ用いられる実IDである。
【0028】
連携元装置101は、属性テーブルTaAと、ハッシュ関数hA()と、連携機能FAと、を有する。属性テーブルTaAとは、実IDごとに各種属性情報を記憶するテーブルである。たとえば、機関Aが市役所だとすると、当該市内在住の個人の実ID(ID_A)と、当該個人の姓、名、住所、本籍地などの属性情報が属性テーブルに登録されている。ハッシュ関数hA()は、連携元装置101に固有の一方向性関数である。属性テーブルTaAおよびハッシュ関数hA()は、連携元装置101内の記憶領域に記憶されている。
【0029】
連携機能FAは、連携装置での連携テーブルの登録要求、連携先装置102のハッシュ値の取得要求、連携先装置102からの属性情報の取得要求を実行する機能である。連携機能FAは、連携元装置101内の記憶領域に記憶されている連携プログラムを連携元装置101のCPUに実行させることで実現される。
【0030】
連携先装置102は、属性テーブルTaBと、ハッシュ関数hB()と、連携機能FBと、を有する。属性テーブルTaBとは、実IDごとに各種属性情報を記憶するテーブルである。たとえば、機関Bが税務署だとすると、当該市内在住の個人の実ID(ID_B)と、当該個人の勤務先、年収などの属性情報が属性テーブルTaBに登録されている。ハッシュ関数hB()は、連携先装置102に固有の一方向性関数である。属性テーブルTaBおよびハッシュ関数hB()は、連携先装置102内の記憶領域に記憶されている。ハッシュ関数hA(),hB()は同じ入力データが与えられても、出力データが異なる関数である。
【0031】
連携機能FBは、連携装置103での連携テーブルの登録要求、連携元装置101からの属性情報の取得要求に応じて結果を返す処理を実行する機能である。連携機能FBは、連携先装置102内の記憶領域に記憶されている連携プログラムを連携先装置102のCPUに実行させることで実現される。
【0032】
連携装置103は、連携テーブルTcと連携機能FCとを有する。連携テーブルTcは、機関ごとに設定されている。たとえば、第1連携テーブルTcAは機関Aの連携テーブルであり、第2連携テーブルTcBは機関Bの連携テーブルである。連携機能FCは、ユーザごとに、連携IDを発行する。連携IDは、同一ユーザについての機関Aの第1実IDのハッシュ値と機関Bの第2実IDのハッシュ値とを関連付ける識別情報である。すなわち、第1連携テーブルTcAには、連携IDと第1実IDが関連付けられている。また、第2連携テーブルTcBには、連携IDと第2実IDが関連付けられている。
【0033】
また、連携機能FCは、連携テーブルTcの登録要求を受けると、連携テーブルTcを作成する。たとえば、機関Aから第1連携テーブルTcAの登録要求を受けると、第1連携テーブルTcAを作成する。また、機関Bから第2連携テーブルTcBの登録要求を受けると、第2連携テーブルTcBを作成する。また、連携機能は、連携先装置102への連携依頼、すなわち、連携先装置102のハッシュ値の取得要求を連携元装置101から受けると、連携先装置102のハッシュ値を連携元装置101に返す。連携機能FCは、連携装置103内の記憶領域に記憶されている連携プログラムを連携装置103のCPUに実行させることで実現される。
【0034】
<連携テーブルの作成例>
図2は、実施の形態1にかかる連携テーブルの作成例を示す説明図である。ここでは、あるユーザ(ユーザ名:甲)について説明する。また、連携テーブルの作成の前提として、機関A(例として市役所)と機関B(例として税務署)にはそれぞれ、甲に関する属性情報が属性テーブルに登録されているものとする。したがって、甲については機関Aの第1実ID「aaa」と機関Bの第2実ID「bbb」が割り当てられているものとする。
【0035】
(1)まず、連携装置103が甲に対し連携IDを通知する。甲についての第1連携テーブルTcA,第2連携テーブルTcBが作成されるまで、連携装置103は、発行された連携IDを保持しておく。また、発行された連携IDは、甲が連携機関Cに出向いて取得してもよく、また、連携機関Cが甲宛に郵送してもよい。また、連携装置103が、甲が所有するコンピュータに対し、連携IDを送信してもよい。本例では、連携IDを「12345678」とする。
【0036】
(2)つぎに、甲は機関Aおよび機関Bに設定依頼をおこなう。具体的には、甲は機関Aに対し、連携機関Cから得た連携IDを提供する。同様に、甲は機関Bに対しても、連携機関Cから得た連携IDを提供する。提供方法は、甲が機関A、機関Bのそれぞれに出向いて提示してもよく、郵送してもよい。また、甲が所有するコンピュータにより、連携IDを連携元装置101および連携先装置102に送信してもよい。
【0037】
また、連携項目とは、属性テーブルの属性項目のうち他の機関に連携させる項目である。連携元装置101は、連携先装置102から属性情報を取得するコンピュータであるため、連携元装置101に対しては、連携項目は「なし」となる。一方、連携先装置102は、連携元装置101に属性情報を提供するコンピュータであるため、連携先装置102に対し、連携項目が選択されることとなる。図2では、たとえば、連携先装置102の属性テーブルTaBの属性項目「年収」、「勤務先」、・・・のうち、属性項目「年収」が連携項目として選択されたこととする。なお、連携項目の選択方法も、甲が機関Bに出向いて提示してもよく、郵送してもよい。また、甲が所有するコンピュータにより、連携IDを連携先装置102に送信してもよい。
【0038】
そして、連携項目に設定された属性項目には、フラグがセット(F=1)されることとなる。本例では、甲のレコードについて年収項目にフラグがセットされているため、連携元装置101から取得要求があると、属性項目群のうち年収項目の属性情報、すなわち、年収「123(万円)」が連携元装置101に提供されることとなる。一方、勤務先項目にはフラグがセットされていない(F=0)ため、勤務先は提供されない。
【0039】
(3)このあと、連携元装置101および連携先装置102では、実IDおよび連携IDの組み合わせを受け付けると、ハッシュ値が算出される。具体的には、連携元装置101では、第1実ID「aaa」をハッシュ関数hA()に与えることで、ハッシュ値「98c%df」が得られる。同様に、連携先装置102では、第2実ID「bbb」をハッシュ関数hB()に与えることで、ハッシュ値「As8&+)」が得られる。
【0040】
(4)また、連携先装置102は、連携項目が選択されているため、逆引きテーブルTrを作成する。逆引きテーブルTrは、ハッシュ値とその元となる実IDとを関連付けたテーブルである。図2のケースでは、ハッシュ値「As8&+)」とハッシュ値「As8&+)」の算出元となる実ID「bbb」とを関連付けて逆引きテーブルTrとする。
【0041】
(5)ハッシュ値が算出されると、連携元装置101および連携先装置102は、連携テーブルの登録要求を連携装置103に送信する。連携元装置101の登録要求には、連携元装置101の第1実ID「aaa」のハッシュ値「98c%df」と連携ID「12345678」が含まれている。また、連携先装置102の登録要求には、連携先装置102の第2実ID「bbb」のハッシュ値「As8&+)」と連携ID「12345678」が含まれている。
【0042】
(6)連携装置103は、連携テーブルの登録要求を受けると、連携テーブルTcを作成する。たとえば、連携元装置101からの登録要求があった場合、連携装置103は、ハッシュ値「98c%df」と連携ID「12345678」とを関連付けた第1連携テーブルTcAを作成する。また、連携装置103は、ハッシュ値「As8&+)」と連携ID「12345678」とを関連付けた第2連携テーブルTcBを作成する。これにより作成処理が完了する。
【0043】
<連携テーブルの更新例>
図3は、実施の形態1にかかる連携テーブルの更新例を示す説明図である。図3では、一例として第2連携テーブルTcBの更新例を説明するが、第1連携テーブルTcAについても同様に更新することとなる。
【0044】
(1)まず、甲は、実IDの更新依頼を機関Bにおこなう。具体的には、甲は、機関Bに実ID「bbb」の更新依頼をおこなう。依頼方法は、甲が機関Bに出向いて依頼してもよく、甲が所有するコンピュータにより、実IDの更新依頼を連携先装置102に送信してもよい。更新依頼があると、連携先装置102は、新しい第2実IDを発行する。ここでは、新しい第2実IDを「ccc」とする。
【0045】
(2)つぎに、連携先装置102は、新しい第2実IDをハッシュ関数に与えて、新しいハッシュ値を生成する。具体的には、連携先装置102は、新しい第2実ID「ccc」をハッシュ関数hB()に与えて、新しいハッシュ値「qwerty」を算出する。
【0046】
(3)ハッシュ値があらたに算出されると、連携先装置102は、連携テーブルの更新要求を連携装置103に送信する。連携テーブルの更新要求には、連携先装置102の新旧ハッシュ値「As8&+)」,「qwerty」が含まれている。
【0047】
(4)連携先装置102は、更新要求をおこなうと、逆引きテーブルTrを更新する。具体的には、連携先装置102は、逆引きテーブルTrのハッシュ値項目のハッシュ値を、旧ハッシュ値「As8&+)」から新ハッシュ値「qwerty」に書き換える。また、連携先装置102は、逆引きテーブルTrの実ID項目の第2実IDを、旧第2実ID「bbb」から新第2実ID「ccc」に書き換える。なお、連携先装置102の更新の場合、連携先装置102は逆引きテーブルTrを有していないため、(4)は実行しない。
【0048】
なお、連携先装置102が、必ず連携先としてのみ利用される場合には、逆引きテーブルTrのハッシュ値項目を旧ハッシュ値「As8&+)」のまま変更せず、第2実IDを「ccc」に置き換えるだけで、更新作業は終了しても良い。連携機関103の情報が更新されないため、他機関からは旧ハッシュ値「As8&+)」でのみ検索要求があるためである。
【0049】
(5)また、連携先装置102は、属性テーブルのID項目の第2実IDを、旧第2実ID「bbb」から新第2実ID「ccc」に書き換える。
【0050】
(6)一方、連携装置103では、(3)で更新要求を受けると、第2連携テーブルTcBを更新する。具体的には、連携装置103は、連携テーブルの更新要求に含まれている連携先装置102の新旧ハッシュ値「As8&+)」,「qwerty」のうち、旧ハッシュ値「As8&+)」を手がかりとして、連携テーブルTcの中から第2連携テーブルTcBを検索する。
【0051】
(7)そして、連携装置103は、第2連携テーブルTcBのハッシュ値項目のハッシュ値を、旧ハッシュ値「As8&+)」から新ハッシュ値「qwerty」に書き換える。これにより、更新処理が完了する。
【0052】
<連携検索例1>
図4は、実施の形態1にかかる連携検索例を示す説明図である。図4では、市役所(機関A:連携元装置101)が甲の属性情報:年収を税務署(機関B:連携先装置102)から取得する例を示す。
【0053】
(1)まず、連携元装置101は、甲の第1実ID「aaa」を指定し、ハッシュ関数hA()に与えて、ハッシュ値「98c%df」を求める。
【0054】
(2)つぎに、連携元装置101は、連携装置103に対し、連携先装置102のハッシュ値の取得要求を送信する。当該取得要求には、(1)で求めたハッシュ値「98c%df」が含まれている。
【0055】
(3)連携装置103は、(2)で取得要求を受けると、連携テーブルTcの中からハッシュ値「98c%df」を含む第1連携テーブルTcAを検索する。つぎに、連携装置103は、検索された第1連携テーブルTcAのハッシュ値「98c%df」に関連付けられている連携ID「12345678」を特定する。
【0056】
(4)連携装置103は、連携テーブルTcの中から、特定された連携ID「12345678」を有する第2連携テーブルTcBを検索する。つぎに、連携装置103は、検索された第2連携テーブルTcBの連携ID「12345678」に関連付けられているハッシュ値「As8&+)」を検索する。
【0057】
(5)このあと、連携装置103は、(4)で検索されたハッシュ値「As8&+)」を連携元装置101に送信する。
【0058】
(6)連携元装置101は、(5)でハッシュ値「As8&+)」を受信すると、連携先装置102に対し、属性要求を送信する。属性要求には、(5)で受信したハッシュ値「As8&+)」が含まれている。
【0059】
(7)連携先装置102は、(6)で受信した属性要求からハッシュ値「As8&+)」を抽出し、逆引きテーブルTrから、抽出したハッシュ値「As8&+)」に対応する実ID「bbb」を特定する。そして、連携先装置102は、属性テーブルTaB内の第2実ID「bbb」のレコードを特定し、フラグがF=1にセットされている属性項目の属性情報を抽出する。ここでは、年収項目の年収123(万円)が抽出される。
【0060】
(8)このあと、連携先装置102は、連携元装置101に対し、(7)で抽出した属性情報(年収123万円)を送信する。なお、連携先装置102と甲が所有するコンピュータとが通信可能に接続されている場合、属性情報の送信に先立って、属性情報の提供の有無を確認してもよい。
【0061】
(9)最後に、連携元装置101は、連携先装置102から甲の年収を取得できたため、年収に応じたサービスを甲に提供することとなる。このように、機関Aの甲の第1実ID「aaa」と機関Bの甲の第2実ID「bbb」とを対応付けるテーブルが存在していなくても、機関Aと機関Bとを連携させることができる。すなわち、機関Aの甲の第1実ID「aaa」と機関Bの甲の第2実ID「bbb」との対応関係が漏洩することはない。また、連携テーブルTcが漏洩しても連携IDとハッシュ値との組み合わせに過ぎないため、漏洩しても実IDが特定されることはない。
【0062】
<連携検索例2>
図5は、実施の形態1にかかる連携検索例2を示す説明図である。図5でも、市役所(機関A:連携元装置101)が甲の属性情報:年収を税務署(機関B:連携先装置102)から取得する例を示す。
【0063】
(1)まず、連携元装置101は、甲の第1実ID「aaa」を指定し、ハッシュ関数hA()に与えて、ハッシュ値「98c%df」を求める。
【0064】
(2)つぎに、連携元装置101は、連携装置103に対し、連携先装置102のハッシュ値の取得要求を送信する。当該取得要求には、(1)で求めたハッシュ値「98c%df」が含まれている。
【0065】
(3)連携装置103は、(2)で取得要求を受けると、連携テーブルTcの中からハッシュ値「98c%df」を含む第1連携テーブルTcAを検索する。つぎに、連携装置103は、検索された第1連携テーブルTcAのハッシュ値「98c%df」に関連付けられている連携ID「12345678」を特定する。
【0066】
(4)連携装置103は、連携テーブルTcの中から、特定された連携ID「12345678」を有する第2連携テーブルTcBを検索する。つぎに、連携装置103は、検索された第2連携テーブルTcBの連携ID「12345678」に関連付けられているハッシュ値「As8&+)」を検索する。
【0067】
(5)ここで、連携装置103は、(4)で検索されたハッシュ値「As8&+)」に日付情報、たとえば、「20101004」を連結し、連結情報「As8&+)20101004」を生成する。そして、連携装置103は、事前に連携先装置102から渡されている連携先装置102の公開鍵で連結情報「As8&+)20101004」を暗号化する。なお、この(5)の処理は、あらかじめ第2連携テーブルTcBの作成時におこなってもよい。この場合、(4)では、暗号化連結情報が検索され、下記(6)を実行することとなる。
【0068】
(6)このあと、連携装置103は、(5)で生成された暗号化連結情報を連携元装置101に送信する。
【0069】
(7)連携元装置101は、(6)受信した暗号化連結情報を受信すると、連携先装置102に対し、属性要求を送信する。属性要求には、(6)で受信した暗号化連結情報が含まれている。
【0070】
(8)連携先装置102は、(7)で受信した属性要求から暗号化連結情報を、連携装置103に渡した公開鍵に対応する秘密鍵で復号する。そして、連携先装置102は、復号された連結情報「As8&+)20101004」から日付情報「20101004」を抽出し、連結情報「As8&+)20101004」に含まれているハッシュ値「As8&+)」の妥当性を判断する。不当である場合は連携検索を終了することとなる。
【0071】
(9)連携先装置102は、ハッシュ値「As8&+)」が妥当である場合、逆引きテーブルTrからハッシュ値「As8&+)」に対応する第2実ID「bbb」を特定する。そして、連携先装置102は、属性テーブルTaB内の第2実ID「bbb」のレコードを特定し、フラグがF=1にセットされている属性項目の属性情報を抽出する。ここでは、年収項目の年収123(万円)が抽出される。
【0072】
(10)このあと、連携先装置102は、連携元装置101に対し、(9)で抽出した属性情報(年収123万円)を送信する。なお、連携先装置102と甲が所有するコンピュータとが通信可能に接続されている場合、属性情報の送信に先立って、属性情報の提供の有無を確認してもよい。
【0073】
(11)最後に、連携元装置101は、連携先装置102から甲の年収を取得できたため、年収に応じたサービスを甲に提供することとなる。このように、機関Aの甲の第1実ID「aaa」と機関Bの甲の第2実ID「bbb」とを対応付けるテーブルが存在していなくても、機関Aと機関Bとを連携させることができる。すなわち、機関Aの甲の第1実ID「aaa」と機関Bの甲の第2実ID「bbb」との対応関係が漏洩することはない。
【0074】
また、連携テーブルTcが漏洩しても連携IDとハッシュ値との組み合わせに過ぎないため、漏洩しても実IDが特定されることはない。また、機関Aは第2実IDの実際のハッシュ値が分からないため、よりセキュリティの向上を図ることができる。また、古い属性情報の提供を回避することができるため、サービスの質の向上を図ることができる。
【0075】
<コンピュータのハードウェア構成>
図6は、実施の形態にかかるコンピュータのハードウェア構成例を示すブロック図である。図6において、コンピュータは、CPU(Central Processing Unit)601と、ROM(Read Only Memory)602と、RAM(Random Access Memory)603と、磁気ディスクドライブ604と、磁気ディスク605と、光ディスクドライブ606と、光ディスク607と、ディスプレイ608と、I/F(Interface)609と、キーボード610と、マウス611と、スキャナ612と、プリンタ613と、を備えている。また、各構成部はバス600によってそれぞれ接続されている。
【0076】
ここで、CPU601は、コンピュータの全体の制御を司る。ROM602は、ブートプログラムなどのプログラムを記憶している。RAM603は、CPU601のワークエリアとして使用される。磁気ディスクドライブ604は、CPU601の制御にしたがって磁気ディスク605に対するデータのリード/ライトを制御する。磁気ディスク605は、磁気ディスクドライブ604の制御で書き込まれたデータを記憶する。
【0077】
光ディスクドライブ606は、CPU601の制御にしたがって光ディスク607に対するデータのリード/ライトを制御する。光ディスク607は、光ディスクドライブ606の制御で書き込まれたデータを記憶したり、光ディスク607に記憶されたデータをコンピュータに読み取らせたりする。
【0078】
ディスプレイ608は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ608は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【0079】
インターフェース(以下、「I/F」と略する。)609は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク614に接続され、このネットワーク614を介して他の装置に接続される。そして、I/F609は、ネットワーク614と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F609には、たとえばモデムやLANアダプタなどを採用することができる。
【0080】
キーボード610は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス611は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【0081】
スキャナ612は、画像を光学的に読み取り、コンピュータ内に画像データを取り込む。なお、スキャナ612は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ613は、画像データや文書データを印刷する。プリンタ613には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【0082】
<連携装置103の機能的構成>
図7は、連携装置103の機能的構成例を示すブロック図である。図7では、図1に示した連携機能FCの具体例を示している。連携装置103は、記憶部700と、受信部701と、作成部702と、検索部703と、生成部704と、送信部705と、を備えている。記憶部700は、図6に示したRAM603、磁気ディスク605などの記憶装置によりその機能を実現する。受信部701〜送信部705は、図6に示したROM602、RAM603、磁気ディスク605などの記憶装置に格納された連携プログラムをCPU601に実行させることにより、または、I/F609により、その機能を実現する。
【0083】
記憶部700は、連携元装置101内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置102内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、第1識別情報と第2識別情報とに共通の連携識別情報と、を関連付けて記憶する。
【0084】
ここで、第1識別情報とは、具体的には、たとえば、連携元装置101内の属性テーブルの実ID項目に登録されている実IDである。たとえば、甲の第1実ID「aaa」である。第1一方向性関数とは、具体的には、たとえば、連携元装置101で使用されるハッシュ関数hA()である。第1固有情報とは、具体的には、たとえば、第1実ID「aaa」をハッシュ関数hA()に与えて算出されるハッシュ値「98c%df」である。
【0085】
また、第2識別情報とは、具体的には、たとえば、連携先装置102内の属性テーブルの実ID項目に登録されている実IDである。たとえば、甲の第2実ID「bbb」である。第2一方向性関数とは、具体的には、たとえば、連携先装置102で使用されるハッシュ関数hB()である。第2固有情報とは、具体的には、たとえば、第2実ID「bbb」をハッシュ関数hB()に与えて算出されるハッシュ値「As8&+)」である。
【0086】
第1識別情報と第2識別情報とに共通の連携識別情報とは、具体的には、たとえば、機関Aでの甲の第1実ID「aaa」と機関Bでの甲の第2実ID「bbb」とに共通の連携ID「12345678」である。
【0087】
記憶部700では、第1識別情報と第2識別情報と連携識別情報とが関連付けられて記憶される。具体的には、たとえば、図1〜図4に示した第1連携テーブルTcA,TcBが記憶される。なお、図1〜図4では、2つの第1連携テーブルTcA,TcBを例に挙げたが、第1連携テーブルTcA,第2連携テーブルTcBは1つの連携テーブルであってもよい。
【0088】
受信部701は、第1固有情報および連携識別情報を含む第1登録要求を連携元装置101から受信する。具体的には、たとえば、受信部701は、第1実ID「aaa」のハッシュ値「98c%df」と連携ID「12345678」とを含む第1登録要求を受信する。
【0089】
また、受信部701は、第2固有情報および連携識別情報を含む第2登録要求を連携先装置102から受信する。具体的には、たとえば、受信部701は、第2実ID「bbb」のハッシュ値「As8&+)」と連携ID「12345678」とを含む第2登録要求を受信する。
【0090】
また、第1連携テーブルTcA,TcBの登録後において、受信部701は、連携元装置101から第1固有情報を受信する。具体的には、たとえば、受信部701は、連携元装置101から第2固有情報(第2実ID「bbb」のハッシュ値「As8&+)」)の取得要求を受信する。この第2固有情報の取得要求には、第1固有情報(第1実ID「aaa」のハッシュ値「98c%df」)が含まれている。
【0091】
また、受信部701は、連携元装置101や連携先装置102から更新要求を受信する。具体的は、たとえば、連携元装置101からの更新要求には、第1実ID「aaa」の新旧ハッシュ値が含まれている。また、連携先装置102からの更新要求には、第2実ID「bbb」の新旧ハッシュ値が含まれている。
【0092】
作成部702は、第1登録要求および第2登録要求が受信された場合、第1固有情報、第2固有情報および連携識別情報を関連付けたテーブルを作成して、記憶部700に登録する。具体的には、たとえば、作成部702は、第1登録要求が受信された場合、第1連携テーブルTcAを作成して、記憶部700に登録する。また、作成部702は、第2登録要求が受信された場合、第2連携テーブルTcBを作成して、記憶部700に登録する。
【0093】
また、作成部702は、更新要求が受信された場合、更新要求に含まれている旧ハッシュ値を手がかりとして、更新対象となる連携テーブルを特定する。そして、作成部702は、特定された連携テーブルに登録されている旧ハッシュ値を、更新要求に含まれている新ハッシュ値に書き換える。
【0094】
具体的には、たとえば、更新要求に旧ハッシュ値「As8&+)」および新ハッシュ値「qwerty」が含まれていると、作成部702は、旧ハッシュ値「As8&+)」を手がかりとして、旧ハッシュ値「As8&+)」を含む第2連携テーブルTcBを特定する。そして、作成部702は、第2連携テーブルTcBのハッシュ値項目のハッシュ値を、旧ハッシュ値「As8&+)」から新ハッシュ値「qwerty」に書き換える。
【0095】
検索部703は、記憶部700の中から、受信部701によって受信された第1固有情報に連携識別情報を介して関連付けられている第2固有情報を検索する。具体的には、たとえば、検索部703は、連携元装置101から第2固有情報の取得要求を受信すると、第2固有情報の取得要求に含まれている第1固有情報(第1実ID「aaa」のハッシュ値「98c%df」)を手がかりとして、連携テーブルTcの中からハッシュ値「98c%df」を含む第1連携テーブルTcAを特定する。
【0096】
そして、検索部703は、ハッシュ値「98c%df」に関連付けられている連携ID「12345678」を第1連携テーブルTcAから検索する。つぎに、検索部703は、特定された連携ID「12345678」を手がかりとして、連携テーブルTcの中から連携ID「12345678」を含む第2連携テーブルTcBを特定する。そして、検索部703は、連携ID「12345678」に関連付けられているハッシュ値「As8&+)」を第2連携テーブルTcBから検索する。
【0097】
生成部704は、検索部703によって検索された第2固有情報に連携IDに関する日付情報を連結した連結情報を生成し、連結情報を連携先装置102に関する公開鍵で暗号化することにより、暗号化連結情報を生成する。ここで、日付情報とは、タイムスタンプである。タイムスタンプで記述される情報は、あるイベントがあったときの年月日(時刻を含んでもよい)である。イベントとしては、たとえば、連携IDの発行日、連携テーブルTcの作成日、連携テーブルTcにおけるハッシュ値の更新日、連携テーブルTcへの最終アクセス日などが挙げられる。これらイベントのタイムスタンプは、連携装置103がその都度記憶部700に保存しておくものとする。
【0098】
また、記憶部700には、あらかじめ連携先装置102の公開鍵が記憶されているものとする。生成部704は、検索部703によって第2固有情報が検索されると、連携テーブルにおいて第2固有情報に関連付けられている連携IDの日付情報を、第2固有情報に連結する。具体的には、たとえば、第2固有情報であるハッシュ値「As8&+)」の末尾に日付情報である「20101004」を連結して、連結情報「As8&+)20101004」とする。そして、生成部704は、連携先装置102の公開鍵で連結情報を暗号化し、暗号化連結情報を生成する。
【0099】
送信部705は、検索部703によって検索された第2固有情報を連携元装置101に送信する。具体的には、たとえば、送信部705は、検索部703により第2固有情報であるハッシュ値「As8&+)」が検索されると、第2固有情報の取得要求元である連携元装置101に、ハッシュ値「As8&+)」を送信する。また、送信部705は、生成部704により暗号化連結情報が生成された場合は、暗号化連結情報を、第2固有情報の取得要求元である連携元装置101に送信する。
【0100】
<連携元装置101の機能的構成>
図8は、連携元装置101の機能的構成例を示すブロック図である。図8では、図1に示した連携機能FAの具体例を示している。連携元装置101は、記憶部800と、指定部801と、受付部802と、生成部803と、第1の送信部804と、第1の受信部805と、第2の送信部806と、第2の受信部807と、を備えている。記憶部800は、図6に示したRAM603、磁気ディスク605などの記憶装置によりその機能を実現する。指定部801〜第2の受信部807は、図6に示したROM602、RAM603、磁気ディスク605などの記憶装置に格納された連携プログラムをCPU601に実行させることにより、または、I/F609により、その機能を実現する。
【0101】
記憶部800は、図1〜図4に示した連携テーブルを記憶する。
【0102】
指定部801は、第1識別情報を指定する。具体的には、たとえば、機関Aのオペレータが連携元装置101のキーボードやマウスで第1識別情報(実ID「aaa」)を操作入力すると、指定部801は、属性テーブルの実ID項目の値を検索する。指定部801は、第1識別情報(実ID「aaa」)が属性テーブルで検索された場合、第1識別情報(実ID「aaa」)が指定されたこととする。
【0103】
受付部802は、連携識別情報と第1固有情報とが連携装置103内で関連付けされていない場合、連携識別情報と第1識別情報とを受け付ける。具体的には、たとえば、受付部802は、連携テーブルの第1登録要求をする場合に、連携IDと実ID「aaa」を受け付ける。たとえば、機関Aのオペレータが連携元装置101のキーボードやマウスで第1識別情報(実ID「aaa」)を操作入力すると、受付部802は、属性テーブルTaAの実ID項目の値を検索する。受付部802は、第1識別情報(実ID「aaa」)が属性テーブルTaAで検索された場合、第1識別情報(実ID「aaa」)が受け付けられたこととする。
【0104】
生成部803は、指定部801によって指定された第1識別情報を第1一方向性関数に与えることにより、第1固有情報を生成する。また、生成部803は、受付部802によって受け付けられた第1識別情報を第1一方向性関数に与えることにより、第1固有情報を生成する。具体的には、たとえば、生成部803は、実ID「aaa」をハッシュ関数hA()に与えることで、ハッシュ値「98c%df」を生成する。
【0105】
第1の送信部804は、生成部803によって生成された第1固有情報を含む第2固有情報の取得要求を連携装置103に送信する。具体的には、たとえば、第1固有情報の生成元が、指定部801で指定された第1識別情報である場合、第1固有情報を含む第2固有情報の取得要求を連携装置103に送信する。たとえば、第1の送信部804は、第1固有情報(実ID「aaa」のハッシュ値「98c%df」)を含む、第2固有情報の取得要求を送信する。
【0106】
また、第1の送信部804は、第1固有情報の生成元が、受付部802で受け付られた第1識別情報である場合、連携識別情報および第1固有情報の第1登録要求を連携装置103に送信する。たとえば、第1の送信部804は、連携ID「12345678」および第1固有情報(実ID「aaa」のハッシュ値「98c%df」)を含む第1登録要求を送信する。これにより、連携装置103では、第1連携テーブルTcAが作成されることとなる。
【0107】
第1の受信部805は、第1の送信部804によって第2固有情報の取得要求が連携装置103に送信された結果、連携装置103で検索された第2固有情報を連携装置103から受信する。第1の受信部805から第2固有情報の取得要求が連携装置103に送信されると、上述したように、連携装置103では、第2固有情報を検索して、取得要求元である連携元装置101に送信する。
【0108】
連携元装置101は、第2固有情報の取得要求のレスポンスとして、連携装置103で検索された第2固有情報を受信することとなる。具体的には、たとえば、第1の送信部804により、第1固有情報(実ID「aaa」のハッシュ値「98c%df」)を含む、第2固有情報の取得要求が連携装置103に送信された場合、第1の受信部805は、第2固有情報であるハッシュ値「As8&+)」(または暗号化連結情報)を受信することとなる。
【0109】
第2の送信部806は、第1の受信部805によって受信された第2固有情報を含む属性取得要求を連携先装置102に送信する。具体的には、たとえば、第2の送信部806は、第2固有情報であるハッシュ値「As8&+)」(または暗号化連結情報)を含む属性取得要求を、連携先装置102に送信する。
【0110】
ここで、機関A(連携元装置101)が機関B(連携先装置102)のみしか連携しえない場合は、第2の送信部806は、連携装置103から第2固有情報が受信されると、無条件で属性取得要求を連携先装置102に送信する。一方、連携先が機関Bだけでなく、たとえば、機関C、D、E、・・・というように複数存在する場合、連携元装置101では、あらかじめ、どの機関と連携サービスの提供をするかを指定することで、属性取得要求の送信先が、どの機関の連携先装置102かを設定しておくこととなる。
【0111】
第2の受信部807は、第2の送信部806によって属性取得要求が連携先装置102に送信された結果、連携先装置102内の第2固有情報と第2識別情報とを関連付けた逆引きテーブルTrから特定された第2識別情報に関連付けされている属性情報を、連携先装置102から受信する。属性情報の特定については、図4に示したとおりである。第2の受信部807は、属性取得要求のレスポンスとして、連携先装置102から属性情報を受信する。図4の例では、属性情報として、年収が受信されている。
【0112】
受信された属性情報は記憶部800に記憶される。その後、連携元装置101では、連携依頼をしたユーザに対し、連携元装置101の属性テーブル内の属性情報と連携先装置102から受信された属性情報とを組み合わせてサービスを提供することとなる。
【0113】
<連携先装置102の機能的構成>
図9は、連携先装置102の機能的構成例を示すブロック図である。図9では、図1に示した連携機能FBの具体例を示している。連携先装置102は、記憶部900と、受付部901と、生成部902と、作成部903と、設定部904と、受信部905と、変換部906と、復号部907と、判断部908と、検索部909と、送信部910と、を備えている。記憶部900は、図6に示したRAM602、磁気ディスク605などの記憶装置によりその機能を実現する。受付部901〜送信部910は、図6に示したROM602、RAM603、磁気ディスク605などの記憶装置に格納された連携プログラムをCPU601に実行させることにより、または、I/F609により、その機能を実現する。
【0114】
記憶部900は、第2識別情報と属性情報とを関連付けた属性テーブルを記憶する。具体的には、たとえば、記憶部900は、図1〜図4に示した属性テーブルTaBを記憶する。また、記憶部900は、第2固有情報と第2識別情報とを関連付けた逆引きテーブルTrを記憶する。具体的には、たとえば、記憶部900は、図1〜図4に示した逆引きテーブルTrを記憶する。
【0115】
受付部901は、連携識別情報と第2固有情報とが連携装置103内で関連付けされていない場合、連携識別情報と第2識別情報とを受け付ける。具体的には、たとえば、受付部901は、連携テーブルの第2登録要求をする場合に、連携IDと第2実ID「bbb」を受け付ける。たとえば、機関Bのオペレータが連携先装置102のキーボードやマウスで第2識別情報(第2実ID「bbb」)を操作入力すると、受付部901は、属性テーブルTaBの実ID項目の値を検索する。受付部901は、第2識別情報(第2実ID「bbb」)が属性テーブルTaBで検索された場合、第2識別情報(第2実ID「bbb」)が受け付けられたこととする。
【0116】
生成部902は、受付部901によって受け付けられた第2識別情報を第2一方向性関数に与えて第2固有情報を生成する。具体的には、たとえば、生成部902は、第2実ID「bbb」をハッシュ関数hB()に与えることで、ハッシュ値「As8&+)」を生成する。
【0117】
作成部903は、生成部902によって生成された第2固有情報と第2識別情報とを関連付けて逆引きテーブルTrを作成する。具体的には、たとえば、作成部903は、図1〜図4に示したように、ハッシュ値「As8&+)」とその生成元となる第2実ID「bbb」とを関連付けた逆引きテーブルTrを作成し、記憶部900に格納する。
【0118】
設定部904は、受付部901によって第2識別情報が受け付けられた場合、属性項目を設定する。属性項目の設定については、たとえば、機関Bのオペレータが、第2実ID「bbb」の甲に対して問い合わせて、どの属性項目を連携項目にするかを決める。そして、機関Bのオペレータが、連携先装置102のキーボード610やマウス611で、属性テーブルTaBの属性項目の中から選ばれた連携項目のフラグをF=1にセットする。
【0119】
受信部905は、連携元装置101が連携装置103から得た第2固有情報(または暗号化連結情報)を含む属性取得要求を連携元装置101から受信する。具体的には、たとえば、受信部905は、ハッシュ値「As8&+)」(またはその暗号化連結情報)を含む属性取得要求を、連携元装置101から受信する。
【0120】
変換部906は、受信部905によって受信された属性取得要求に含まれている第2固有情報を第2識別情報に変換する。具体的には、変換部906は、逆引きテーブルTrを参照して、属性取得要求に含まれている第2固有情報を第2識別情報に変換する。たとえば、属性取得要求にハッシュ値「As8&+)」が含まれている場合、変換部906は、ハッシュ値「As8&+)」を、逆引きテーブルTr内のハッシュ値「As8&+)」に関連付けられている第2実ID「bbb」に変換する。
【0121】
復号部907は、受信部905によって受信された属性取得要求に含まれている暗号化連結情報を連携先装置102に関する秘密鍵で復号する。具体的には、復号部907は、連携装置103に付与した公開鍵に対応する秘密鍵を持っており、属性取得要求に含まれている暗号化連結情報を、秘密鍵で復号する。たとえば、連結情報「As8&+)20101004」が連携先装置102の公開鍵で暗号化された暗号化連結情報である場合、暗号化連結情報を連携先装置102の秘密鍵で復号することで、連結情報「As8&+)20101004」が得られる。
【0122】
判断部908は、復号部907によって復号された連結情報に含まれている日付情報に基づいて、第2固有情報の妥当性を判断する。具体的には、たとえば、判断部908は、連結情報に含まれている日付情報を抽出し、現在の日時と比較する。判断部908は、日付情報と現在の日時との時間間隔があらかじめ設定しておいたしきい値以上であるか否かを判断する。
【0123】
判断部908は、しきい値以上である場合、連結情報に含まれているハッシュ値「As8&+)」が妥当なハッシュ値であると判断する。したがって、連携項目の属性情報が、連携先装置102に送信すべきでない情報と判断する。すなわち、情報が古いと判断する。この場合、連携先装置102は、連携元装置101に対し、属性取得要求のレスポンスとして、エラーを返すこととなる。一方、しきい値未満である場合、連結情報に含まれている第2固有情報が変換部906に渡される。これにより、変換部906では、逆引きテーブルTrを参照して、第2固有情報を第2識別情報に変換することとなる。
【0124】
検索部909は、属性テーブルを参照して、変換部906によって変換された第2識別情報に関連付けられている属性情報を検索する。具体的には、たとえば、検索部909は、属性テーブルTaBを参照して、変換部906によって変換された第2実ID「bbb」に関連付けられている属性情報を検索する。ここで、検索対象となる属性情報は、属性項目のうち、フラグがF=1にセットされた属性項目の属性情報である。図4に示した例では、年収項目の年収情報(123(万円))が検索されることとなる。
【0125】
送信部910は、検索部909によって検索された属性情報を連携元装置101に送信する。具体的には、たとえば、送信部910は、検索された年収項目の年収情報(123(万円))を、属性取得要求のレスポンスとして連携元装置101に送信する。
【0126】
また、送信部910は、生成部902によって第2固有情報が生成された場合、連携識別情報と第2固有情報とを含む第2登録要求を連携装置103に送信する。たとえば、送信部910は、連携ID「12345678」および第2固有情報(第1実ID「aaa」のハッシュ値「As8&+)」)を含む第2登録要求を送信する。これにより、連携装置103では、第2連携テーブルTcBが作成されることとなる。
【0127】
<連携テーブルの登録要求処理>
図10は、連携テーブルの登録要求処理手順を示すフローチャートである。実行主体は、連携元装置101または連携先装置102(以下、「連携元/先装置」)である。連携元/先装置は、実ID、連携ID、連携項目が受け付けられるのを待ち受け(ステップS1001:No)、少なくとも実IDおよび連携IDが受け付けられた場合(ステップS1001:Yes)、属性テーブルに受け付けられた実IDのレコードがあるか否かを判断する(ステップS1002)。レコードがない場合(ステップS1002:No)、登録要求できないこととなり終了する。
【0128】
一方、レコードがある場合(ステップS1002:Yes)、連携元/先装置は、実IDのハッシュ値を算出する(ステップS1003)。また、連携元/先装置は、連携項目の指定があるか否かを判断する(ステップS1004)。連携項目の指定がない場合(ステップS1004:No)、ステップS1007に移行する。
【0129】
一方、連携項目の指定がある場合(ステップS1004:Yes)、連携元/先装置は、実IDのハッシュ値と実IDとを対応付ける逆引きテーブルTrを作成する(ステップS1005)。そして、連携元/先装置は、属性テーブルの実IDのレコードのうち、連携項目のフラグをON(F=1)にセットする(ステップS1006)。
【0130】
このあと、ステップS1007において、連携元/先装置は、実IDのハッシュ値と連携IDを含む登録要求を連携装置103に送信する(ステップS1007)。これにより、連携元装置101の場合は第1登録要求を連携装置103に送信でき、連携先装置102の場合は第2登録要求を連携装置103に送信することができる。また、連携先装置102では、第2登録要求の送信とともに、逆引きテーブルTrも作成されることとなる。
【0131】
<連携テーブルの登録処理>
図11は、連携テーブルの登録処理手順を示すフローチャートである。実行主体は、連携装置103である。まず、連携装置103は、登録要求を待ち受ける(ステップS1001:No)。登録要求が受信された場合(ステップS1001:Yes)、連携装置103は、登録要求に含まれている連携IDと一致する連携IDが、発行済み連携IDにあるか否かを判断する(ステップS1002)。
【0132】
一致する発行済み連携IDがない場合(ステップS1002:No)、連携装置103は、連携テーブルを作成できないため、連携テーブルの登録処理を終了する。一方、一致する発行済み連携IDがある場合(ステップS1002:Yes)、連携装置103は、登録要求に含まれている連携IDと実IDのハッシュ値とを対応付けて連携テーブルを作成する(ステップS1003)。そして、連携装置103は、作成された連携テーブルを記憶部に格納する(ステップS1004)。これにより、連携テーブルの登録処理を終了する。
【0133】
<連携テーブルの更新要求処理>
図12は、連携テーブルの更新要求処理手順を示すフローチャートである。実行主体は、連携元/先装置である。連携元/先装置は、実IDが受け付けられるのを待ち受ける(ステップS1201:No)。実IDが受け付けられた場合(ステップS1201:Yes)、連携元/先装置は、属性テーブルに受け付けられた実IDのレコードがあるか否かを判断する(ステップS1202)。レコードがない場合(ステップS1202:No)、更新要求できないこととなり終了する。
【0134】
一方、レコードがある場合(ステップS1202:Yes)、連携元/先装置は、新実IDを生成する(ステップS1203)。そして、連携元/先装置は、新実IDの新ハッシュ値を算出する(ステップS1204)。このあと、連携元/先装置は、新旧ハッシュ値を連携装置103に送信する(ステップS1205)。また、連携元/先装置は、逆引きテーブルTrがあるか否かを判断する(ステップS1206)。逆引きテーブルTrがない場合(ステップS1206:No)、ステップS1208に移行する。
【0135】
一方、逆引きテーブルTrがある場合(ステップS1206:Yes)、連携元/先装置は、逆引きテーブルTrを更新する(ステップS1207)。そして、連携元/先装置は、属性テーブルの実IDを、旧実IDから新実IDに更新する(ステップS1208)。これにより、連携テーブルの更新要求処理を終了する。
【0136】
<連携テーブルの更新処理>
図13は、連携テーブルの更新処理手順を示すフローチャートである。実行主体は、連携装置103である。まず、連携装置103は、更新要求を待ち受ける(ステップS1301:No)。更新要求が受信された場合(ステップS1301:Yes)、連携装置103は、更新要求に含まれている新旧ハッシュ値のうち旧ハッシュ値と一致するハッシュ値を持つ連携テーブルTcがあるか否かを判断する(ステップS1302)。
【0137】
旧ハッシュ値と一致するハッシュ値を持つ連携テーブルTcがない場合(ステップS1302:No)、連携装置103は、連携テーブルを更新できないため、連携テーブルTcの更新処理を終了する。一方、旧ハッシュ値と一致するハッシュ値を持つ連携テーブルTcがある場合(ステップS1302:Yes)、連携装置103は、当該連携テーブルTcのハッシュ値を、旧ハッシュ値から更新要求に含まれている新ハッシュ値に更新する(ステップS1303)。これにより、連携テーブルTcの更新処理を終了する。
【0138】
<連携検索処理>
図14は、連携検索処理手順を示すシーケンス図である。図14のシーケンス図は、図4に示した連携検索例1に対応する。まず、連携元装置101は、第1実IDを指定する(ステップS1401)。つぎに、連携元装置101は、第1実IDのハッシュ値を算出する(ステップS1402)。そして、連携元装置101は、第1実IDのハッシュ値を含む取得要求を連携装置103に送信する(ステップS1403)。
【0139】
連携装置103では、第1実IDのハッシュ値を含む取得要求を受信すると、第1実IDがある第1連携テーブルTcAを連携テーブルTcの中から特定する(ステップS1404)。そして、連携装置103は、第1連携テーブルTcAから連携IDを検索する(ステップS1405)。
【0140】
つぎに、連携装置103は、検索された連携IDがある第2連携テーブルTcBを連携テーブルTcの中から特定する(ステップS1406)。そして、連携装置103は、第2連携テーブルTcBから連携IDに関連付けられているハッシュ値を検索する(ステップS1407)。そして、連携装置103は、検索ハッシュ値を連携元装置101に送信する(ステップS1408)。
【0141】
連携元装置101では、検索ハッシュ値が受信された場合(ステップS1408:Yes)、連携元装置101は、検索ハッシュ値を含む属性取得要求を連携先装置102に送信する(ステップS1409)。連携先装置102では、検索ハッシュ値を含む属性取得要求を受信すると(ステップS1409)、逆引きテーブルTrから検索ハッシュ値に関連付けられている第2実IDを検索する(ステップS1410)。
【0142】
そして、連携先装置102は、検索された第2実IDでの連携項目の属性情報を属性テーブルTaBから検索する(ステップS1411)。そして、連携先装置102は、検索された属性情報を、連携元装置101に送信する(ステップS1412)。連携元装置101では、検索された属性情報が受信されると、当該属性情報に応じたサービスを第1実IDであるユーザに提供する(ステップS1413)。これにより、連携検索処理を終了する。
【0143】
このように、実施の形態1では、連携元装置101内の第1実IDと連携先装置102内の第2実IDとを直接対応付けるテーブルが、連携元装置101にも連携先装置102にも連携装置103にも存在しない。このため、第1実IDが漏洩しても第2実IDに関連付けられている属性情報を秘匿することができ、第2実IDが漏洩しても第1実IDに関連付けられている属性情報を秘匿することができる。したがって、ユーザの個人情報のセキュリティの向上を図ることができる。
【0144】
<連携検索処理>
図15は、連携検索処理手順を示すシーケンス図である。図15のシーケンス図は、図5に示した連携検索例2に対応する。なお、連携検索例2においても、図14のシーケンス図のうちステップS1407までの処理が実行されるため、図15においては、図14のステップS1407以降の処理について説明する。
【0145】
まず、連携装置103は、検索ハッシュ値に日付情報を連結し、連結情報を連携先装置102の公開鍵で暗号化する(ステップS1501)。連携装置103は、暗号化連結情報を連携元装置101にレスポンスとして送信する(ステップS1502)。連携元装置101は、暗号化連結情報を含む属性取得要求を連携先装置102に送信する(ステップS1503)。
【0146】
連携先装置102は、暗号化連結情報を連携先装置102の秘密鍵で復号し(ステップS1504)、復号された連結情報から検索ハッシュ値と日付情報を抽出する(ステップS1505)。そして、連携先装置102は、抽出した日付情報に基づいて、検索ハッシュ値の妥当性を判断する(ステップS1506)。妥当でない場合(ステップS1506:No)、ステップS1511に移行する。一方、妥当である場合(ステップS1506:Yes)、逆引きテーブルTrから検索ハッシュ値に関連付けられている第2実IDを検索する(ステップS1507)。
【0147】
そして、連携先装置102は、検索された第2実IDでの連携項目の属性情報を属性テーブルTaBから検索する(ステップS1508)。そして、連携先装置102は、検索された属性情報を、連携元装置101に送信する(ステップS1509)。連携元装置101では、検索された属性情報が受信されると、当該属性情報に応じたサービスを第1実IDであるユーザに提供する(ステップS1510)。
【0148】
また、ステップS1506において妥当でないと判断された場合(ステップS1506:No)、連携先装置102は、検索不可通知を連携元装置101に送信する(ステップS1511)。連携元装置101は、検索不可通知を受けると、連携不可出力をする(ステップS1512)。これにより、連携検索処理を終了する。
【0149】
このように、日付情報を用いて第2固有情報の妥当性を判断することで、属性情報の有効性を判断することができる。したがって、属性情報の内容が古い場合には、連携を拒否することとなり、連携元装置101での誤った属性情報に基づくサービス提供を未然に防止することができる。
【0150】
(実施の形態2)
つぎに、実施の形態2について説明する。実施の形態1では、ハッシュ関数により実IDを各々の機関のハッシュ値に変換し、ハッシュ値と連携IDとを関連付けることで、実IDどうしを直接関連付けずに、連携検索を実現した。これに対し、実施の形態2では、ハッシュ関数ではなく、各々の機関の共通鍵で暗号化し、暗号化実IDと連携IDとを関連付けることで、実IDどうしを直接関連付けずに、連携検索を実現する。なお、実施の形態1と同一構成には同一符号を付し、その説明を省略する。なお、以下共通鍵で説明するが、公開鍵暗号方式で各機関が秘密鍵を持つとしても同様である。
【0151】
<システム構成例>
図16は、実施の形態2にかかる連携システムのシステム構成例を示す説明図である。実施の形態2の連携システムでは、連携元装置101には、ハッシュ関数hA()のかわりに、共通鍵KAが格納されている。同様に、連携先装置102には、ハッシュ関数hB()のかわりに、共通鍵KBが格納されている。また、連携先装置102には、逆引きテーブルTrは存在しない。これにともない、連携テーブルTcの記憶内容や、連携機能FA〜FCの一部の機能が実施の形態1と異なることとなる。
【0152】
たとえば、連携元装置101の生成部803では、ハッシュ値を生成するのではなく、共通鍵KAにより第1実IDを暗号化して、暗号化第1実IDを生成する。同様に、連携先装置102の生成部902でも、ハッシュ値を生成するのではなく、共通鍵KBにより第2実IDを暗号化して、暗号化第2実IDを生成する。また、連携先装置102では作成部903は不要である。また、変換部906では、共通鍵KBにより暗号化第2実IDを復号することとなる。
【0153】
<連携テーブルの作成例>
図17は、実施の形態2にかかる連携テーブルの作成例を示す説明図である。ここでは、あるユーザ(ユーザ名:甲)について説明する。図17中、(1)および(2)は、図2と同一である。また、図2の(4)のように逆引きテーブルTrは作成しない。
【0154】
(3)連携元装置101および連携先装置102では、実IDおよび連携IDの組み合わせを受け付けると、それぞれが持つ共通鍵で実IDを暗号化する。具体的には、連携元装置101では、第1実ID「aaa」を共通鍵KAで暗号化することで、暗号化第1実IDが得られる。同様に、連携先装置102では、第2実ID「bbb」を共通鍵KBで暗号化することで、暗号化第1実IDが得られる。
【0155】
(4)暗号化実IDが算出されると、連携元装置101および連携先装置102は、連携テーブルの登録要求を連携装置103に送信する。連携元装置101の登録要求には、連携元装置101の第1実ID「aaa」の暗号化第1実IDと連携ID「12345678」が含まれている。また、連携先装置102の登録要求には、連携先装置102の第2実ID「bbb」の暗号化第2実IDと連携ID「12345678」が含まれている。
【0156】
(5)連携装置103は、連携テーブルTcの登録要求を受けると、連携テーブルTcを作成する。たとえば、連携元装置101からの登録要求があった場合、連携装置103は、暗号化第1実IDと連携ID「12345678」とを関連付けた第1連携テーブルTcAを作成する。また、連携装置103は、暗号化第2実IDと連携ID「12345678」とを関連付けた第2連携テーブルTcBを作成する。これにより作成処理が完了する。
【0157】
<連携テーブルの更新例>
図18は、実施の形態2にかかる連携テーブルの更新例を示す説明図である。図18では、一例として第2連携テーブルTcBの更新例を説明するが、第1連携テーブルTcAについても同様に更新することとなる。
【0158】
(1)まず、甲は、実IDの更新依頼を機関Bにおこなう。具体的には、甲は、機関Bに第2実ID「bbb」の更新依頼をおこなう。依頼方法は、甲が機関Bに出向いて依頼してもよく、甲が所有するコンピュータにより、第2実IDの更新依頼を連携先装置102に送信してもよい。更新依頼があると、連携先装置102は、新しい第2実IDを発行する。ここでは、新しい第2実IDを「ccc」とする。
【0159】
(2)つぎに、連携先装置102は、新しい第2実ID「ccc」を連携先装置102の共通鍵KBで暗号化して、新暗号化第2実IDを生成する。
【0160】
(3)連携先装置102は、属性テーブルTaBのID項目の第2実IDを、旧第2実ID「bbb」から新第2実ID「ccc」に書き換える。
【0161】
(4)また、新暗号化第2実IDが算出されると、連携先装置102は、連携テーブルの更新要求を連携装置103に送信する。連携テーブルの更新要求には、連携先装置102の新旧暗号化第2実IDが含まれている。
【0162】
(5)一方、連携装置103では、(4)更新要求を受けると、第2連携テーブルTcBを更新する。具体的には、連携装置103は、連携テーブルTcの更新要求に含まれている連携先装置102の新旧暗号化第2実IDのうち、旧暗号化第2実IDを手がかりとして、連携テーブルTcの中から第2連携テーブルTcBを検索する。
【0163】
(6)そして、連携装置103は、第2連携テーブルTcBの暗号化第2実ID項目の値を、旧暗号化第2実IDから新暗号化第2実IDに書き換える。これにより、更新処理が完了する。
【0164】
<連携検索例>
図19は、実施の形態2にかかる連携検索例を示す説明図である。図19では、市役所(機関A:連携元装置101)が甲の属性情報:年収を税務署(機関B:連携先装置102)から取得する例を示す。
【0165】
(1)まず、連携元装置101は、甲の実ID「aaa」を指定し、共通鍵KAで暗号化し、暗号化第1実IDを求める。
【0166】
(2)つぎに、連携元装置101は、連携装置103に対し、連携先装置102の暗号化第2実IDの取得要求を送信する。当該取得要求には、(1)で求めた暗号化第1実IDが含まれている。
【0167】
(3)連携装置103は、(2)取得要求を受けると、連携テーブルTcの中から暗号化第1実IDを含む第1連携テーブルTcAを検索する。つぎに、連携装置103は、検索された第1連携テーブルTcAの暗号化第1実IDに関連付けられている連携ID「12345678」を特定する。
【0168】
(4)連携装置103は、連携テーブルTcの中から、特定された連携ID「12345678」を有する第2連携テーブルTcBを検索する。つぎに、連携装置103は、検索された第2連携テーブルTcBの連携ID「12345678」に関連付けられている暗号化第2実IDを検索する。
【0169】
(5)このあと、連携装置103は、(4)で検索された暗号化第2実IDを連携元装置101に送信する。
【0170】
(6)連携元装置101は、(5)で暗号化第2実IDを受信すると、連携先装置102に対し、属性要求を送信する。属性要求には、(5)で受信した暗号化第2実IDが含まれている。
【0171】
(7)連携先装置102は、(6)で受信した属性要求から暗号化第2実IDを抽出し、抽出した暗号化第2実IDを連携先装置102の共通鍵KBで復号する。これにより、第2実ID「bbb」が得られる。そして、連携先装置102は、第2属性テーブルTaB内の第2実ID「bbb」のレコードを特定し、フラグがF=1にセットされている属性項目の属性情報を抽出する。ここでは、年収項目の年収123(万円)が抽出される。
【0172】
(9)このあと、連携先装置102は、連携元装置101に対し、(7)で抽出した属性情報(年収123万円)を送信する。なお、連携先装置102と甲が所有するコンピュータとが通信可能に接続されている場合、属性情報の送信に先立って、属性情報の提供の有無を確認してもよい。
【0173】
(10)最後に、連携元装置101は、連携先装置102から甲の年収を取得できたため、年収に応じたサービスを甲に提供することとなる。このように、機関Aの甲の第1実ID「aaa」と機関Bの甲の第2実ID「bbb」とを対応付けるテーブルが存在していなくても、機関Aと機関Bとを連携させることができる。すなわち、機関Aの甲の第1実ID「aaa」と機関Bの甲の第2実ID「bbb」との対応関係が漏洩することはない。また、連携テーブルTcが漏洩しても連携IDと暗号化実IDとの組み合わせに過ぎないため、漏洩しても実IDが特定されることはない。
【0174】
<連携テーブルの登録要求処理>
図20は、連携テーブルの登録要求処理手順を示すフローチャートである。実行主体は、連携元装置101または連携先装置102(以下、「連携元/先装置」)である。連携元/先装置は、実ID、連携ID、連携項目が受け付けられるのを待ち受け(ステップS2001:No)、少なくとも実IDおよび連携IDが受け付けられた場合(ステップS2001:Yes)、属性テーブルに受け付けられた実IDのレコードがあるか否かを判断する(ステップS2002)。レコードがない場合(ステップS2002:No)、登録要求できないこととなり連携テーブルの登録要求処理を終了する。
【0175】
一方、レコードがある場合(ステップS2002:Yes)、連携元/先装置は、実IDを共通鍵で暗号化する(ステップS2003)。また、連携元/先装置は、連携項目の指定があるか否かを判断する(ステップS2004)。連携項目の指定がない場合(ステップS2004:No)、ステップS2006に移行する。
【0176】
一方、連携項目の指定がある場合(ステップS2004:Yes)、連携元/先装置は、属性テーブルの実IDのレコードのうち、連携項目のフラグをON(F=1)にセットする(ステップS2005)。
【0177】
このあと、ステップS2006において、連携元/先装置は、暗号化実IDと連携IDを含む登録要求を連携装置103に送信する(ステップS2006)。これにより、連携元装置101の場合は第1登録要求を連携装置103に送信でき、連携先装置102の場合は第2登録要求を連携装置103に送信することができる。連携先装置102では、実施の形態1のように逆引きテーブルTrを作成する必要はない。
【0178】
<連携テーブルの登録処理>
図21は、連携テーブルの登録処理手順を示すフローチャートである。実行主体は、連携装置103である。まず、連携装置103は、登録要求を待ち受ける(ステップS2101:No)。登録要求が受信された場合(ステップS2101:Yes)、連携装置103は、登録要求に含まれている連携IDと一致する連携IDが、発行済み連携IDにあるか否かを判断する(ステップS2102)。
【0179】
一致する発行済み連携IDがない場合(ステップS2102:No)、連携装置103は、連携テーブルTcを作成できないため、連携テーブルの登録処理を終了する。一方、一致する発行済み連携IDがある場合(ステップS2102:Yes)、連携装置103は、登録要求に含まれている連携IDと暗号化実IDとを対応付けて連携テーブルTcを作成する(ステップS2103)。そして、連携装置103は、作成された連携テーブルTcを記憶部に格納する(ステップS2104)。これにより、連携テーブルTcの登録処理を終了する。
【0180】
<連携テーブルの更新要求処理>
図22は、連携テーブルの更新要求処理手順を示すフローチャートである。実行主体は、連携元/先装置である。連携元/先装置は、実IDが受け付けられるのを待ち受ける(ステップS2201:No)。実IDが受け付けられた場合(ステップS2201:Yes)、連携元/先装置は、属性テーブルに受け付けられた実IDのレコードがあるか否かを判断する(ステップS2202)。レコードがない場合(ステップS2202:No)、更新要求できないこととなり連携テーブルの更新要求処理を終了する。
【0181】
一方、レコードがある場合(ステップS2202:Yes)、連携元/先装置は、新実IDを生成する(ステップS2203)。そして、連携元/先装置は、新旧実IDをそれぞれ共通鍵で暗号化する(ステップS2204)。このあと、連携元/先装置は、新旧暗号化実IDを連携装置103に送信する(ステップS2205)。そして、連携元/先装置は、属性テーブルの実IDを、旧実IDから新実IDに更新する(ステップS2206)。これにより、連携テーブルTcの更新要求処理を終了する。
【0182】
<連携テーブルの更新処理>
図23は、連携テーブルの更新処理手順を示すフローチャートである。実行主体は、連携装置103である。まず、連携装置103は、更新要求を待ち受ける(ステップS2301:No)。更新要求が受信された場合(ステップS2301:Yes)、連携装置103は、更新要求に含まれている新旧暗号化実IDのうち旧実IDと一致する暗号化実IDを持つ連携テーブルTcがあるか否かを判断する(ステップS2302)。
【0183】
旧暗号化実IDと一致する暗号化実IDを持つ連携テーブルTcがない場合(ステップS2302:No)、連携装置103は、連携テーブルTcを更新できないため、連携テーブルTcの更新処理を終了する。一方、旧暗号化実IDと一致する暗号化実IDを持つ連携テーブルTcがある場合(ステップS2302:Yes)、連携装置103は、当該連携テーブルTcの暗号化実IDを、旧暗号化実IDから更新要求に含まれている新暗号化実IDに更新する(ステップS2303)。これにより、連携テーブルTcの更新処理を終了する。
【0184】
<連携検索処理>
図24は、連携検索処理手順を示すシーケンス図である。図24のシーケンス図は、図19に示した連携検索例に対応する。まず、連携元装置101は、第1実IDを指定する(ステップS2401)。つぎに、連携元装置101は、第1実IDを連携元装置101の共通鍵で暗号化する(ステップS2402)。そして、連携元装置101は、暗号化第1実IDを含む取得要求を連携装置103に送信する(ステップS2403)。
【0185】
連携装置103では、暗号化第1実IDを含む取得要求を受信すると、暗号化第1実IDがある第1連携テーブルTcAを連携テーブルTcの中から特定する(ステップS2404)。そして、連携装置103は、第1連携テーブルTcAから連携IDを検索する(ステップS2405)。
【0186】
つぎに、連携装置103は、検索された連携IDがある第2連携テーブルTcBを連携テーブルTcの中から特定する(ステップS2406)。そして、連携装置103は、第2連携テーブルTcBから連携IDに関連付けられている暗号化第2実IDを検索する(ステップS2407)。そして、連携装置103は、検索された暗号化第2実IDを連携元装置101に送信する(ステップS2408)。
【0187】
暗号化第2実IDが受信された場合(ステップS2408:Yes)、連携元装置101は、暗号化第2実IDを含む属性取得要求を連携先装置102に送信する(ステップS2409)。連携先装置102では、暗号化第2実IDを含む属性取得要求を受信すると(ステップS2409)、暗号化第2実IDを、連携先装置102の共通鍵で復号する(ステップS2410)。
【0188】
そして、連携先装置102は、復号された第2実IDでの連携項目の属性情報を属性テーブルTaBから検索する(ステップS2411)。そして、連携先装置102は、検索された属性情報を、連携元装置101に送信する(ステップS2412)。連携元装置101では、検索された属性情報が受信されると、当該属性情報に応じたサービスを第1実IDであるユーザに提供する(ステップS2413)。これにより、連携検索処理を終了する。
【0189】
このように、実施の形態2では、連携元装置101内の第1実IDと連携先装置102内の第2実IDとを直接対応付けるテーブルが、連携元装置101にも連携先装置102にも連携装置103にも存在しない。このため、第1実IDが漏洩しても第2実IDに関連付けられている属性情報を秘匿することができ、第2実IDが漏洩しても第1実IDに関連付けられている属性情報を秘匿することができる。したがって、ユーザの個人情報のセキュリティの向上を図ることができる。
【0190】
また、実施の形態1のように逆引きテーブルTrが存在しないため、よりセキュリティの向上を図ることができる。また、連携元装置101および連携先装置102では共通鍵により実IDを暗号化しているため、連携装置103には実IDが保持されることはなく、セキュリティの向上を図ることができる。
【0191】
なお、上述した実施の形態2では、共通鍵を用いて実IDの暗号化や復号をおこなった例について説明したが、公開鍵方式を採用してもよい。この場合、連携元装置101では、連携元装置101に固有の秘密鍵SKAを保持しておき、連携装置103には、秘密鍵SKAに対応する公開鍵PKAを保持しておく。
【0192】
そして、第1連携テーブルTcAを作成する場合は、連携元装置101は、第1実IDを秘密鍵SKAで暗号化し、暗号化第1実IDおよび連携IDを連携装置103に送信する。連携装置103では、暗号化第1実IDを受信すると、暗号化第1実IDを公開鍵PKAで復号し、復号された第1実IDをさらに公開鍵PKAで暗号化する。これにより、連携装置103は、暗号化第1実ID(公開鍵PKAで暗号化)と連携元装置101から受信された連携IDで対応付けた第1連携テーブルTcAを作成することができる。
【0193】
同様に、連携先装置102でも、連携元装置101に固有の秘密鍵SKBを保持しておき、連携装置103には、秘密鍵SKBに対応する公開鍵PKBを保持しておく。
【0194】
そして、連携テーブルTcBを作成する場合は、連携先装置102は、第2実IDを秘密鍵SKBで暗号化し、暗号化第2実IDおよび連携IDを連携装置103に送信する。連携装置103では、暗号化第2実IDを受信すると、暗号化第2実IDを公開鍵PKBで復号し、復号された第2実IDをさらに公開鍵PKBで暗号化する。これにより、連携装置103は、暗号化第2実ID(公開鍵PKBで暗号化)と連携先装置102から受信された連携IDで対応付けた連携テーブルTcBを作成することができる。
【0195】
そして、連携検索時では、連携先装置102は、連携元装置101からの属性取得要求により、連携装置103から連携元装置101を介して暗号化第2実ID(公開鍵PKBで暗号化)を受信する。したがって、連携先装置102は、暗号化第2実ID(公開鍵PKBで暗号化)を秘密鍵SKBで復号することで、第2実IDを得ることができる。
【0196】
以上説明したように、本実施の形態によれば、連携しあう機関のほかに、第三者機関として連携機関Cを導入し、連携機関C内の連携装置103が、サービスごとに連携テーブルを保持しておく。連携テーブルには、実IDが保持されておらず、実IDを不可逆な関数(たとえばハッシュ関数)に与えて得たハッシュ値や、暗号化された実IDが保持されているため、連携テーブルが漏洩しても実IDにたどり着くことができない。したがって、セキュリティの向上を図ることができる。
【0197】
また、実施の形態では、あるサービスから他サービスの同一人物の属性を検索する場合には、連携機関Cから対応する他サービスの実IDのハッシュ値や暗号化実IDを貰い、連携先装置102内で復元することで検索を行い、連携元装置101に検索結果を提供する。これにより、連携元装置101は、連携先装置102内の実IDを知らずに、連携先装置102での属性情報を検索することが可能である。したがって、実IDそのものを連携しあうことがないため、実IDの漏洩防止、ひいては、個人情報漏洩のリスク軽減、各サービスの内部犯罪の防止となり、信頼性の高いID連携を実現することができる。
【0198】
なお、本実施の形態で説明した連携方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本連携プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本連携プログラムは、インターネット等のネットワークを介して配布してもよい。
【0199】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0200】
(付記1)連携元装置と連携先装置との間で情報の連携を行う連携装置であって、
連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段と、
前記連携元装置から前記第1固有情報を受信する受信手段と、
前記記憶手段の中から、前記受信手段によって受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索する検索手段と、
前記検索手段によって検索された前記第2固有情報を前記連携元装置に送信する送信手段と、
を備えることを特徴とする連携装置。
【0201】
(付記2)前記検索手段によって検索された前記第2固有情報に前記連携IDに関する日付情報を連結した連結情報を生成し、前記連結情報を前記連携先装置に関する公開鍵で暗号化することにより、暗号化連結情報を生成する生成手段を備え、
前記送信手段は、
前記生成手段によって生成された暗号化連結情報を前記連携元装置に送信することを特徴とする付記1に記載の連携装置。
【0202】
(付記3)連携元装置と連携先装置との間で情報の連携を行う連携装置であって、
連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段と、
前記連携元装置から前記第1固有情報を受信する受信手段と、
前記記憶手段の中から、前記受信手段によって受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索する検索手段と、
前記検索手段によって検索された前記第2固有情報を前記連携元装置に送信する送信手段と、
を備えることを特徴とする連携装置。
【0203】
(付記4)前記受信手段によって、前記第1固有情報および前記連携識別情報を含む第1登録要求が前記連携元装置から受信され、前記第2固有情報および前記連携識別情報を含む第2登録要求が前記連携先装置から受信された場合、前記第1固有情報、前記第2固有情報および前記連携識別情報を関連付けたテーブルを作成して、前記記憶手段に登録する作成手段を備え、
前記検索手段は、
前記受信手段によって前記第1固有情報が受信された場合、前記テーブルを参照して前記連携識別情報を特定し、特定された前記連携識別情報に関連付けられている前記第2固有情報を検索することを特徴とする付記1〜3のいずれか一つに記載の連携装置。
【0204】
(付記5)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能な前記連携元装置であって、
前記第1識別情報を指定する指定手段と、
前記指定手段によって指定された前記第1識別情報を前記第1一方向性関数に与えることにより、前記第1固有情報を生成する生成手段と、
前記生成手段によって生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信する第1の送信手段と、
前記第1の送信手段によって前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信する第1の受信手段と、
前記第1の受信手段によって受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信する第2の送信手段と、
前記第2の送信手段によって前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内の前記第2固有情報と前記第2識別情報とを関連付けた逆引きテーブルから特定された前記第2識別情報に関連付けされている属性情報を、前記連携先装置から受信する第2の受信手段と、
を備えることを特徴とする連携元装置。
【0205】
(付記6)前記連携識別情報と前記第1固有情報とが前記連携装置内で関連付けされていない場合、前記連携識別情報と前記第1識別情報とを受け付ける受付手段と、を備え、
前記生成手段は、
前記受付手段によって受け付けられた前記第1識別情報を前記第1一方向性関数に与えることにより、前記第1固有情報を生成し、
前記第1の送信手段は、
前記連携識別情報および前記生成手段によって生成された前記第1固有情報の登録要求を、前記連携装置に送信することを特徴とする付記5に記載の連携先装置。
【0206】
(付記7)連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能な前記連携元装置であって、
前記第1識別情報を指定する指定手段と、
前記指定手段によって指定された前記第1識別情報を前記第1共通鍵で暗号化することにより、前記第1固有情報を生成する生成手段と、
前記生成手段によって生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信する第1の送信手段と、
前記第1の送信手段によって前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信する第1の受信手段と、
前記第1の受信手段によって受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信する第2の送信手段と、
前記第2の送信手段によって前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内で前記第2固有情報から前記第2共通鍵で復号された前記第2識別情報に関連付けされている属性情報を前記連携先装置から受信する第2の受信手段と、
を備えることを特徴とする連携元装置。
【0207】
(付記8)前記連携識別情報と前記第1固有情報とが前記連携装置内で関連付けされていない場合、前記連携識別情報と前記第1識別情報とを受け付ける受付手段と、を備え、
前記生成手段は、
前記受付手段によって受け付けられた前記第1識別情報を前記第1共通鍵で暗号化することにより、前記第1固有情報を生成し、
前記第1の送信手段は、
前記連携識別情報および前記生成手段によって生成された前記第1固有情報の登録要求を前記連携装置に送信することを特徴とする付記7に記載の連携元装置。
【0208】
(付記9)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能な前記連携先装置であって、
前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段と、
前記連携元装置が前記連携装置から得た前記第2固有情報を含む属性取得要求を前記連携元装置から受信する受信手段と、
前記受信手段によって受信された属性取得要求に含まれている前記第2固有情報を前記第2識別情報に変換する変換手段と、
前記属性テーブルを参照して、前記変換手段によって変換された前記第2識別情報に関連付けられている前記属性情報を検索する検索手段と、
前記検索手段によって検索された前記属性情報を前記連携元装置に送信する送信手段と、
を備えることを特徴とする連携先装置。
【0209】
(付記10)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能な前記連携先装置であって、
前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段と、
前記第2固有情報に前記連携識別情報に関する日付情報を連結した連結情報を前記連携先装置に関する公開鍵で暗号化した暗号化連結情報を前記連携装置から受信した連携元装置から、前記暗号化連結情報を含む属性取得要求を受信する受信手段と、
前記受信手段によって受信された属性取得要求に含まれている前記暗号化連結情報を前記連携先装置に関する秘密鍵で復号する復号手段と、
前記復号手段によって復号された連結情報に含まれている前記日付情報に基づいて、前記連結情報に含まれている前記第2固有情報の妥当性を判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記復号手段によって復号された連結情報に含まれている前記第2固有情報を前記第2識別情報に変換する変換手段と、
前記属性テーブルを参照して、前記変換手段によって変換された前記第2識別情報に関連付けられている前記属性情報を検索する検索手段と、
前記検索手段によって検索された前記属性情報を前記連携元装置に送信する送信手段と、
を備えることを特徴とする連携先装置。
【0210】
(付記11)前記記憶手段は、
前記第2固有情報と前記第2識別情報とを関連付けた逆引きテーブルを記憶し、
前記変換手段は、
前記逆引きテーブルを参照して、前記属性取得要求に含まれている前記第2固有情報を前記第2識別情報に変換することを特徴とする付記9または10に記載の連携先装置。
【0211】
(付記12)前記連携識別情報と前記第2固有情報とが前記連携装置内で関連付けされていない場合、前記連携識別情報と前記第2識別情報とを受け付ける受付手段と、
前記受付手段によって受け付けられた前記第2識別情報を前記第2一方向性関数に与えて前記第2固有情報を生成する生成手段と、
前記生成手段によって生成された前記第2固有情報と前記第2識別情報とを関連付けて前記逆引きテーブルを作成する作成手段と、を備え、
前記送信手段は、
前記連携識別情報および前記第2固有情報の登録要求を前記連携装置に送信することを特徴とする付記11に記載の連携先装置。
【0212】
(付記13)連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能な前記連携先装置であって、
前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段と、
前記連携元装置が前記連携装置から得た前記第2固有情報を含む属性取得要求を前記連携元装置から受信する受信手段と、
前記受信手段によって受信された属性取得要求に含まれている前記第2固有情報を、前記第2共通鍵で復号することにより、前記第2識別情報を生成する生成手段と、
前記属性テーブルを参照して、前記生成手段によって生成された前記第2識別情報に関連付けられている前記属性情報を検索する検索手段と、
前記検索手段によって検索された前記属性情報を前記連携元装置に送信する送信手段と、
を備えることを特徴とする連携先装置。
【0213】
(付記14)前記連携識別情報と前記第2固有情報とが前記連携装置内で関連付けされていない場合、前記連携識別情報と前記第2識別情報とを受け付ける受付手段を備え、
前記生成手段は、
前記受付手段によって受け付けられた前記第2識別情報を前記第2共通鍵で暗号化することにより、前記第2固有情報を生成し、
前記送信手段は、
前記連携識別情報および前記生成手段によって生成された前記第2固有情報の登録要求を前記連携装置に送信することを特徴とする付記13に記載の連携先装置。
【0214】
(付記15)前記属性テーブルの属性項目群の中から選ばれた特定の属性項目を設定する設定手段を備え、
前記検索手段は、
前記属性テーブルを参照して、前記変換手段によって変換された前記第2識別情報に関連付けられている属性情報群のうち前記設定手段によって設定された前記特定の属性項目の属性情報を検索することを特徴とする付記9〜14のいずれか一つに記載の連携先装置。
【0215】
(付記16)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段を備える連携装置に、
前記連携元装置から前記第1固有情報を受信する受信工程と、
前記記憶手段の中から、前記受信工程によって受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索する検索工程と、
前記検索工程によって検索された前記第2固有情報を前記連携元装置に送信する送信工程と、
を実行させることを特徴とする連携プログラム。
【0216】
(付記17)連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段を備える連携装置に、
前記連携元装置から前記第1固有情報を受信する受信工程と、
前記記憶手段の中から、前記受信工程によって受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索する検索工程と、
前記検索工程によって検索された前記第2固有情報を前記連携元装置に送信する送信工程と、
を実行させることを特徴とする連携プログラム。
【0217】
(付記18)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能な前記連携元装置に、
前記第1識別情報を指定する指定工程と、
前記指定工程によって指定された前記第1識別情報を前記第1一方向性関数に与えることにより、前記第1固有情報を生成する生成工程と、
前記生成工程によって生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信する第1の送信工程と、
前記第1の送信工程によって前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信する第1の受信工程と、
前記第1の受信工程によって受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信する第2の送信工程と、
前記第2の送信工程によって前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内の前記第2固有情報と前記第2識別情報とを関連付けた逆引きテーブルから特定された前記第2識別情報に関連付けされている属性情報を、前記連携先装置から受信する第2の受信工程と、
を実行させることを特徴とする連携プログラム。
【0218】
(付記19)連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能な前記連携元装置に、
前記第1識別情報を指定する指定工程と、
前記指定工程によって指定された前記第1識別情報を前記第1共通鍵で暗号化することにより、前記第1固有情報を生成する生成工程と、
前記生成工程によって生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信する第1の送信工程と、
前記第1の送信工程によって前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信する第1の受信工程と、
前記第1の受信工程によって受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信する第2の送信工程と、
前記第2の送信工程によって前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内で前記第2固有情報から前記第2共通鍵で復号された前記第2識別情報に関連付けされている属性情報を前記連携先装置から受信する第2の受信工程と、
を実行させることを特徴とする連携プログラム。
【0219】
(付記20)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能であり、前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段を備える前記連携先装置に、
前記連携元装置が前記連携装置から得た前記第2固有情報を含む属性取得要求を前記連携元装置から受信する受信工程と、
前記受信工程によって受信された属性取得要求に含まれている前記第2固有情報を前記第2識別情報に変換する変換工程と、
前記属性テーブルを参照して、前記変換工程によって変換された前記第2識別情報に関連付けられている前記属性情報を検索する検索工程と、
前記検索工程によって検索された前記属性情報を前記連携元装置に送信する送信工程と、
を実行させることを特徴とする連携プログラム。
【0220】
(付記21)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能であり、前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段を備える前記連携先装置に、
前記第2固有情報に前記連携識別情報に関する日付情報を連結した連結情報を前記連携先装置に関する公開鍵で暗号化した暗号化連結情報を前記連携装置から受信した連携元装置から、前記暗号化連結情報を含む属性取得要求を受信する受信工程と、
前記受信工程によって受信された属性取得要求に含まれている前記暗号化連結情報を前記連携先装置に関する秘密鍵で復号する復号工程と、
前記復号工程によって復号された連結情報に含まれている前記日付情報に基づいて、前記連結情報に含まれている前記第2固有情報の妥当性を判断する判断工程と、
前記判断工程によって判断された判断結果に基づいて、前記復号工程によって復号された連結情報に含まれている前記第2固有情報を前記第2識別情報に変換する変換工程と、
前記属性テーブルを参照して、前記変換工程によって変換された前記第2識別情報に関連付けられている前記属性情報を検索する検索工程と、
前記検索工程によって検索された前記属性情報を前記連携元装置に送信する送信工程と、
を実行させることを特徴とする連携プログラム。
【0221】
(付記22)連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能であり、前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段を備える前記連携先装置に、
前記連携元装置が前記連携装置から得た前記第2固有情報を含む属性取得要求を前記連携元装置から受信する受信工程と、
前記受信工程によって受信された属性取得要求に含まれている前記第2固有情報を、前記第2共通鍵で復号することにより、前記第2識別情報を生成する生成工程と、
前記属性テーブルを参照して、前記生成工程によって生成された前記第2識別情報に関連付けられている前記属性情報を検索する検索工程と、
前記検索工程によって検索された前記属性情報を前記連携元装置に送信する送信工程と、
を実行させることを特徴とする連携プログラム。
【0222】
(付記23)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段を備える連携装置が、
前記連携元装置から前記第1固有情報を受信する受信工程と、
前記記憶手段の中から、前記受信工程によって受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索する検索工程と、
前記検索工程によって検索された前記第2固有情報を前記連携元装置に送信する送信工程と、
を実行することを特徴とする連携方法。
【0223】
(付記24)連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段を備える連携装置が、
前記連携元装置から前記第1固有情報を受信する受信工程と、
前記記憶手段の中から、前記受信工程によって受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索する検索工程と、
前記検索工程によって検索された前記第2固有情報を前記連携元装置に送信する送信工程と、
を実行することを特徴とする連携方法。
【0224】
(付記25)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能な前記連携元装置が、
前記第1識別情報を指定する指定工程と、
前記指定工程によって指定された前記第1識別情報を前記第1一方向性関数に与えることにより、前記第1固有情報を生成する生成工程と、
前記生成工程によって生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信する第1の送信工程と、
前記第1の送信工程によって前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信する第1の受信工程と、
前記第1の受信工程によって受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信する第2の送信工程と、
前記第2の送信工程によって前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内の前記第2固有情報と前記第2識別情報とを関連付けた逆引きテーブルから特定された前記第2識別情報に関連付けされている属性情報を、前記連携先装置から受信する第2の受信工程と、
を実行することを特徴とする連携方法。
【0225】
(付記26)連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能な前記連携元装置が、
前記第1識別情報を指定する指定工程と、
前記指定工程によって指定された前記第1識別情報を前記第1共通鍵で暗号化することにより、前記第1固有情報を生成する生成工程と、
前記生成工程によって生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信する第1の送信工程と、
前記第1の送信工程によって前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信する第1の受信工程と、
前記第1の受信工程によって受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信する第2の送信工程と、
前記第2の送信工程によって前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内で前記第2固有情報から前記第2共通鍵で復号された前記第2識別情報に関連付けされている属性情報を前記連携先装置から受信する第2の受信工程と、
を実行することを特徴とする連携方法。
【0226】
(付記27)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能であり、前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段を備える前記連携先装置が、
前記連携元装置が前記連携装置から得た前記第2固有情報を含む属性取得要求を前記連携元装置から受信する受信工程と、
前記受信工程によって受信された属性取得要求に含まれている前記第2固有情報を前記第2識別情報に変換する変換工程と、
前記属性テーブルを参照して、前記変換工程によって変換された前記第2識別情報に関連付けられている前記属性情報を検索する検索工程と、
前記検索工程によって検索された前記属性情報を前記連携元装置に送信する送信工程と、
を実行することを特徴とする連携方法。
【0227】
(付記28)連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能であり、前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段を備える前記連携先装置が、
前記第2固有情報に前記連携識別情報に関する日付情報を連結した連結情報を前記連携先装置に関する公開鍵で暗号化した暗号化連結情報を前記連携装置から受信した連携元装置から、前記暗号化連結情報を含む属性取得要求を受信する受信工程と、
前記受信工程によって受信された属性取得要求に含まれている前記暗号化連結情報を前記連携先装置に関する秘密鍵で復号する復号工程と、
前記復号工程によって復号された連結情報に含まれている前記日付情報に基づいて、前記連結情報に含まれている前記第2固有情報の妥当性を判断する判断工程と、
前記判断工程によって判断された判断結果に基づいて、前記復号工程によって復号された連結情報に含まれている前記第2固有情報を前記第2識別情報に変換する変換工程と、
前記属性テーブルを参照して、前記変換工程によって変換された前記第2識別情報に関連付けられている前記属性情報を検索する検索工程と、
前記検索工程によって検索された前記属性情報を前記連携元装置に送信する送信工程と、
を実行することを特徴とする連携方法。
【0228】
(付記29)連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能であり、前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段を備える前記連携先装置が、
前記連携元装置が前記連携装置から得た前記第2固有情報を含む属性取得要求を前記連携元装置から受信する受信工程と、
前記受信工程によって受信された属性取得要求に含まれている前記第2固有情報を、前記第2共通鍵で復号することにより、前記第2識別情報を生成する生成工程と、
前記属性テーブルを参照して、前記生成工程によって生成された前記第2識別情報に関連付けられている前記属性情報を検索する検索工程と、
前記検索工程によって検索された前記属性情報を前記連携元装置に送信する送信工程と、
を実行することを特徴とする連携方法。
【符号の説明】
【0229】
101 連携元装置
102 連携先装置
103 連携装置
700 記憶部
701 受信部
702 作成部
703 検索部
704 生成部
705 送信部
800 記憶部
801 指定部
802 受付部
803 生成部
804 第1の送信部
805 第1の受信部
806 第2の送信部
807 第2の受信部
900 記憶部
901 受付部
902 生成部
903 作成部
904 設定部
905 受信部
906 変換部
907 復号部
908 判断部
909 検索部
910 送信部

【特許請求の範囲】
【請求項1】
連携元装置と連携先装置との間で情報の連携を行う連携装置であって、
前記連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、前記連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段と、
前記連携元装置から前記第1固有情報を受信する受信手段と、
前記記憶手段の中から、前記受信手段によって受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索する検索手段と、
前記検索手段によって検索された前記第2固有情報を前記連携元装置に送信する送信手段と、
を備えることを特徴とする連携装置。
【請求項2】
連携元装置と連携先装置との間で情報の連携を行う連携装置であって、
前記連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、前記連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段と、
前記連携元装置から前記第1固有情報を受信する受信手段と、
前記記憶手段の中から、前記受信手段によって受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索する検索手段と、
前記検索手段によって検索された前記第2固有情報を前記連携元装置に送信する送信手段と、
を備えることを特徴とする連携装置。
【請求項3】
連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能な前記連携元装置であって、
前記第1識別情報を指定する指定手段と、
前記指定手段によって指定された前記第1識別情報を前記第1一方向性関数に与えることにより、前記第1固有情報を生成する生成手段と、
前記生成手段によって生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信する第1の送信手段と、
前記第1の送信手段によって前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信する第1の受信手段と、
前記第1の受信手段によって受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信する第2の送信手段と、
前記第2の送信手段によって前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内の前記第2固有情報と前記第2識別情報とを関連付けた逆引きテーブルから特定された前記第2識別情報に関連付けされている属性情報を、前記連携先装置から受信する第2の受信手段と、
を備えることを特徴とする連携元装置。
【請求項4】
連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能な前記連携元装置であって、
前記第1識別情報を指定する指定手段と、
前記指定手段によって指定された前記第1識別情報を前記第1共通鍵で暗号化することにより、前記第1固有情報を生成する生成手段と、
前記生成手段によって生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信する第1の送信手段と、
前記第1の送信手段によって前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信する第1の受信手段と、
前記第1の受信手段によって受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信する第2の送信手段と、
前記第2の送信手段によって前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内で前記第2固有情報から前記第2共通鍵で復号された前記第2識別情報に関連付けされている属性情報を前記連携先装置から受信する第2の受信手段と、
を備えることを特徴とする連携元装置。
【請求項5】
連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能な前記連携先装置であって、
前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段と、
前記連携元装置が前記連携装置から得た前記第2固有情報を含む属性取得要求を前記連携元装置から受信する受信手段と、
前記受信手段によって受信された属性取得要求に含まれている前記第2固有情報を前記第2識別情報に変換する変換手段と、
前記属性テーブルを参照して、前記変換手段によって変換された前記第2識別情報に関連付けられている前記属性情報を検索する検索手段と、
前記検索手段によって検索された前記属性情報を前記連携元装置に送信する送信手段と、
を備えることを特徴とする連携先装置。
【請求項6】
連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能な前記連携先装置であって、
前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段と、
前記第2固有情報に前記連携識別情報に関する日付情報を連結した連結情報を前記連携先装置に関する公開鍵で暗号化した暗号化連結情報を前記連携装置から受信した連携元装置から、前記暗号化連結情報を含む属性取得要求を受信する受信手段と、
前記受信手段によって受信された属性取得要求に含まれている前記暗号化連結情報を前記連携先装置に関する秘密鍵で復号する復号手段と、
前記復号手段によって復号された連結情報に含まれている前記日付情報に基づいて、前記連結情報に含まれている前記第2固有情報の妥当性を判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記復号手段によって復号された連結情報に含まれている前記第2固有情報を前記第2識別情報に変換する変換手段と、
前記属性テーブルを参照して、前記変換手段によって変換された前記第2識別情報に関連付けられている前記属性情報を検索する検索手段と、
前記検索手段によって検索された前記属性情報を前記連携元装置に送信する送信手段と、
を備えることを特徴とする連携先装置。
【請求項7】
連携元装置内で第1識別情報を第1共通鍵で暗号化された第1固有情報と、連携先装置内で第2識別情報を第2共通鍵で暗号化された第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携元装置と、にアクセス可能な前記連携先装置であって、
前記第2識別情報と属性情報とを関連付けた属性テーブルを記憶する記憶手段と、
前記連携元装置が前記連携装置から得た前記第2固有情報を含む属性取得要求を前記連携元装置から受信する受信手段と、
前記受信手段によって受信された属性取得要求に含まれている前記第2固有情報を、前記第2共通鍵で復号することにより、前記第2識別情報を生成する生成手段と、
前記属性テーブルを参照して、前記生成手段によって生成された前記第2識別情報に関連付けられている前記属性情報を検索する検索手段と、
前記検索手段によって検索された前記属性情報を前記連携元装置に送信する送信手段と、
を備えることを特徴とする連携先装置。
【請求項8】
連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段を備える連携装置に、
前記連携元装置から前記第1固有情報を受信する受信工程と、
前記記憶手段の中から、前記受信工程によって受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索する検索工程と、
前記検索工程によって検索された前記第2固有情報を前記連携元装置に送信する送信工程と、
を実行させることを特徴とする連携プログラム。
【請求項9】
連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報および前記第2識別情報に共通の連携識別情報とを関連付けて記憶する連携装置と、前記連携先装置と、にアクセス可能な前記連携元装置に、
前記第1識別情報を指定する指定工程と、
前記指定工程によって指定された前記第1識別情報を前記第1一方向性関数に与えることにより、前記第1固有情報を生成する生成工程と、
前記生成工程によって生成された前記第1固有情報を含む前記第2固有情報の取得要求を前記連携装置に送信する第1の送信工程と、
前記第1の送信工程によって前記第2固有情報の取得要求が前記連携装置に送信された結果、前記連携装置で検索された前記第2固有情報を前記連携装置から受信する第1の受信工程と、
前記第1の受信工程によって受信された前記第2固有情報を含む属性取得要求を前記連携先装置に送信する第2の送信工程と、
前記第2の送信工程によって前記属性取得要求が前記連携先装置に送信された結果、前記連携先装置内の前記第2固有情報と前記第2識別情報とを関連付けた逆引きテーブルから特定された前記第2識別情報に関連付けされている属性情報を、前記連携先装置から受信する第2の受信工程と、
を実行させることを特徴とする連携プログラム。
【請求項10】
連携元装置内で第1識別情報を第1一方向性関数に与えて得られた第1固有情報と、連携先装置内で第2識別情報を第2一方向性関数に与えて得られた第2固有情報と、前記第1識別情報と前記第2識別情報とに共通の連携識別情報と、を関連付けて記憶する記憶手段を備える連携装置が、
前記連携元装置から前記第1固有情報を受信する受信工程と、
前記記憶手段の中から、前記受信工程によって受信された前記第1固有情報に前記連携識別情報を介して関連付けられている前記第2固有情報を検索する検索工程と、
前記検索工程によって検索された前記第2固有情報を前記連携元装置に送信する送信工程と、
を実行することを特徴とする連携方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2012−84084(P2012−84084A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−231925(P2010−231925)
【出願日】平成22年10月14日(2010.10.14)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】