(57)【要約】【課題】各機関の個人情報開示によるプライバシ侵害を防ぎながら、当該基本情報と当該個人情報とのマッチングを実行し、同一人物に紐付く基本識別子と個人識別子のリンクを形成すること。また、利用機関側での個人情報の正規化処理を実施することなく、文字コードの違いや表記のゆらぎ等、表現方法の差異を考慮に入れたマッチングを可能とすること。【解決手段】マッチング対象の基本情報個人情報に対して鍵付ハッシュ関数を複数回実行することで、逆算が困難な匿名化情報を生成し、個人情報を開示することなくマッチングを実行する。また、マッチング対象の基本情報に表現の拡張処理を施すことで、マッチング処理の都度正規化処理を実施することなく、表現方法の差異を考慮に入れたマッチングを可能とする。【選択図】  図１
2012247882.tif 000002
【特許請求の範囲】
【請求項１】
個人情報のマッチングシステムであって、
前記個人情報に対して表現拡張処理を行う表現拡張処理部と、前記表現拡張処理がなされた前記個人情報に対して匿名化処理を行う匿名化処理部を有する匿名化装置と、
前記個人情報に対して匿名化処理を行う匿名化処理部を有する識別子管理装置と、
前記匿名化装置によって処理された第一の匿名化個人情報と、前記識別子管理装置によって処理された第二の匿名化個人情報と、のマッチングを行うマッチング処理部を有するマッチング装置と、を有する、
ことを特徴とするマッチングシステム。
【請求項２】
請求項１に記載のマッチングシステムであって、
前記匿名化装置は、表現拡張規則記憶領域を有する記憶部を有しており、
前記表現拡張処理部は、前記表現拡張規則記憶領域に格納された表現拡張規則に従って、前記表現拡張処理を実行する、
ことを特徴とするマッチングシステム。
【請求項３】
請求項１に記載のマッチングシステムであって、
前記匿名化装置は、入力に対応する第一のハッシュ値を生成する処理と、前記第一のハッシュ値に対応する第二のハッシュ値を生成する処理と、を有する匿名値算出部を有し、
前記匿名化処理部は前記匿名値算出部を利用して前記匿名化処理を行う、
ことを特徴とするマッチングシステム。
【請求項４】
請求項１に記載のマッチングシステムであって、
前記識別子管理装置は、入力に対応するハッシュ値を生成する処理を有する匿名値算出部を有し、
前記匿名化処理部は前記匿名値算出部を利用して前記匿名化処理を行う、
ことを特徴とするマッチングシステム。
【請求項５】
請求項１に記載のマッチングシステムであって、
前記マッチング装置は、前記匿名化装置から受信した前記第一の匿名化個人情報を記憶する匿名化基本情報記憶領域を有する記憶部を有する、
ことを特徴とするマッチングシステム。
【請求項６】
請求項５に記載のマッチングシステムであって、
前記マッチング装置は、前記識別子管理装置から受信した前記第二の匿名化個人情報を利用して、前記匿名化基本情報記憶領域に格納された前記第一の匿名化個人情報とのマッチングを行う匿名化基本情報検索部を有する、
ことを特徴とするマッチングシステム。
【請求項７】
請求項６に記載のマッチングシステムであって、
前記マッチング装置の前記匿名化基本情報検索部によるマッチング処理は、前記識別子管理装置から受信した前記第二の匿名化個人情報に対応する第二のハッシュ値を生成し、生成した前記第二のハッシュ値と、前記匿名化基本情報記憶領域に格納された前記第一の匿名化個人情報とが一致するか否かを判定する処理である、
ことを特徴とするマッチングシステム。
【請求項８】
請求項３に記載のマッチングシステムであって、
前記匿名化装置の前記匿名化処理部による第一のハッシュ値を生成する処理は、別途入力として与えられる鍵情報に応じて出力の値が変化する鍵付ハッシュ関数である、
ことを特徴とするマッチングシステム。
【請求項９】
請求項４に記載のマッチングシステムであって、
前記識別子管理装置の前記匿名化処理部による前記ハッシュ値を生成する処理は、別途入力として与えられる鍵情報に応じて出力の値が変化する鍵付ハッシュ関数である、
ことを特徴とするマッチングシステム。
【請求項１０】
請求項３に記載のマッチングシステムであって、
前記匿名化装置の前記匿名化処理部による第二のハッシュ値を生成する処理は、別途入力として与えられる識別子に応じて出力の値が変化する鍵付ハッシュ関数である、
ことを特徴とするマッチングシステム。
【請求項１１】
請求項７に記載のマッチングシステムであって、
前記マッチング装置の前記匿名化基本情報検索部による、前記識別子管理装置から受信した前記第二の匿名化個人情報に対応する第二のハッシュ値を生成する処理は、別途入力として与えられる識別子に応じて出力の値が変化する鍵付ハッシュ関数である、
ことを特徴とするマッチングシステム。
【請求項１２】
請求項３に記載のマッチングシステムであって、
前記匿名化装置の前記匿名化処理部による第二のハッシュ値を生成する処理は、別途入力として与えられる識別子に応じて出力の値が変化する鍵付ハッシュ関数を複数回用いてブルームフィルタを生成する処理である、
ことを特徴とするマッチングシステム。
【請求項１３】
請求項７に記載のマッチングシステムであって、
前記マッチング装置の前記匿名化基本情報検索部による、前記識別子管理装置から受信した前記第二の匿名化個人情報に対応する第二のハッシュ値を生成する処理は、別途入力として与えられる識別子に応じて出力の値が変化する鍵付ハッシュ関数を複数回用いてブルームフィルタを生成する処理である、
ことを特徴とするマッチングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報をマッチングする技術に関する。
【背景技術】
【０００２】
国民に関する各種情報を取り扱う業務や情報処理の効率化を進めるに当たって、国民一人一人に識別子を割り当てる国民ＩＤ制度が一定の効果を与えるものとして期待されている。
【０００３】
以降、国民の氏名、住所など、本人性の特定に利用可能な情報を「基本情報」と呼び、基本情報に基づいて国民ＩＤを国民一人一人に与える機関を「付番機関」と呼び、付番機関によって国民一人一人に与えられる識別子を「基本識別子」と呼ぶ。また、省庁・自治体・金融機関等、国民ＩＤを利用すると想定されている機関を「利用機関」と呼び、利用機関が国民（顧客）を管理するために利用している識別子を「個人識別子」と呼ぶ。
【０００４】
利用機関で国民ＩＤを活用するためには、利用機関側で把握している個人に対してどの基本識別子が付番されたのか、を知る必要がある。すなわち、付番機関によってある個人に付番された基本識別子と、当該個人を識別するために利用機関が既存システムで利用している個人識別子と、のリンクを生成し、管理できる必要があると考えられる。
【０００５】
同一個人の情報を一つにまとめる方法は名寄せとして知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−３９５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の技術では、同一機関内でのデータの名寄せを対象とするものであり、名寄せに用いる個人情報を平文のまま扱っている。当該技術を、様々な利用機関が関わると想定される国民個人情報のマッチングに利用することは、国民のプライバシ侵害に繋がり得る。
【０００８】
また、特許文献１に記載の技術では、マッチングに先立って種々の正規化処理が行われていることを前提としている。正規化処理とは、名寄せ対象データの文字コードや表記方法を一定の規則に従って統一することで、マッチングの精度や速度を向上させる処理である。当該処理を、様々な利用機関が関わると想定される国民個人情報のマッチングに利用するに当たっては、利用機関毎に異なるデータ形式を統一的に正規化する規則を定めることが困難である。
【０００９】
本発明は、上記事情に鑑みてなされたものであり、マッチング要求側で情報の正規化処理を必要とせず、かつ匿名性を保ったまま、情報のマッチングを行うことができる技術を提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、付番機関の基本情報と、利用機関の個人情報と、の開示によるプライバシ侵害を防ぎながら、当該基本情報と当該個人情報とのマッチングを実行し、同一人物に紐付く基本識別子と個人識別子のリンクを形成する。また、利用機関側での個人情報の正規化処理を実施することなく、文字コードの違いや表記のゆらぎ等、表現方法の差異を考慮に入れたマッチングを行う。
【発明の効果】
【００１１】
本発明によれば、マッチング要求側で情報の正規化処理を必要とせず、かつ匿名性を保ったまま、情報のマッチングが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態である匿名化マッチングシステム１０１の構成を表した図。
【図２】第一の実施例における匿名化装置１０４の機能構成の例を示す概略図。
【図３】第一の実施例における識別子管理装置１１０の機能構成を示す概略図。
【図４】第一の実施例におけるマッチング装置１０７の機能構成を示す概略図。
【図５】一般的なコンピュータ５０１の構成を示す概略図。
【図６】第一の実施例において、付番機関システム１０２内の基本情報管理装置１０３が、匿名化装置１０４を用いて基本情報を匿名化し、マッチング装置へ送信する処理を示したシーケンス図。
【図７】第一の実施例において、付番機関システム１０２の基本情報管理装置１０３が匿名化装置１０４に対して送信する基本情報提供メッセージの内容の一例を示す概略図。
【図８】匿名化装置１０４が、付番機関システム１０２の基本情報管理装置１０３から基本情報提供メッセージを受信したときの処理の例を示すフローチャート。
【図９】匿名化装置１０４の表現拡張処理部２０４が、基本情報から拡張後基本情報を算出する処理の例を示すフローチャート。
【図１０】第一の実施例における表現拡張規則記憶領域２０６の構成を示す概略図。
【図１１】第一の実施例において、匿名化装置１０４の表現拡張処理部２０４が実行する表現拡張処理の例を示す概略図。
【図１２】匿名化装置１０４の匿名値算出部２０３が、拡張後基本情報を匿名化基本情報へ変換し、出力一時記憶領域２０７へ格納する処理の詳細を示すフローチャート。
【図１３】第一の実施例において、匿名化装置１０４の匿名値算出部２０３が実行する匿名値算出処理の例を示す概略図。
【図１４】第一の実施例において、匿名化装置１０４がマッチング装置１０７に対して送信する匿名化基本情報提供メッセージの内容の例を示す概略図。
【図１５】第一の実施例において、マッチング装置１０７が匿名化基本情報メッセージを処理した後の匿名化基本情報記憶領域４０６の例を示す概略図。
【図１６】第一の実施例において、付番機関システム１０２の基本情報管理装置１０３が匿名化装置１０４を用いて匿名化した匿名化基本情報と、利用機関システム１０８の個人情報管理装置１０９が識別子管理装置１１０を用いて匿名化した匿名化個人情報と、をマッチング機関システム１０６のマッチング装置１０７がマッチングする処理を示すシーケンス図。
【図１７】第一の実施例において、利用機関システム１０８の個人情報管理装置１０９が識別子管理装置１１０に対して送信するマッチング要求メッセージの内容を示す概略図。
【図１８】識別子管理装置１１０が、利用機関システム１０８の個人情報管理装置１０９からマッチング要求メッセージを受信したときの処理の例を示すフローチャート。
【図１９】識別子管理装置１１０の匿名値算出部３０４が、個人情報を匿名化個人情報へ変換し、出力一時記憶領域３０７へ格納する処理の詳細を示すフローチャート。
【図２０】第一の実施例において、識別子管理装置１１０の匿名値算出部３０４が実行する匿名値算出処理の例を示す概略図。
【図２１】第一の実施例において、識別子管理装置１１０が、マッチング装置１０７に対して送信する匿名化マッチング要求メッセージの例を示す概略図。
【図２２】マッチング装置１０７が、利用機関システム１０８の識別子管理装置１１０から匿名化マッチング要求メッセージを受信したときの処理の例を示すフローチャート。
【図２３】マッチング装置１０７の匿名化基本情報検索部４０４が、匿名化個人情報をキーとして匿名化基本情報記憶領域４０６を検索し、基本識別子の候補を取得する処理の詳細を示すフローチャート。
【図２４】第一の実施例において、マッチング装置１０７の匿名化基本情報検索部４０４が実行する匿名化基本情報検索処理の例を示す概略図。
【図２５】第一の実施例において、マッチング装置１０７が識別子管理装置１１０に対して送信する匿名化マッチング結果メッセージの内容を示す概略図。
【図２６】識別子管理装置１１０が、マッチング装置１０７から匿名化マッチング結果メッセージを受信したときの処理の例を示すフローチャート。
【図２７】識別子管理装置１１０が個人情報管理装置１０９に対して送信するマッチング結果メッセージの内容を示す概略図。
【図２８】識別子管理装置１１０の識別子対応表記憶領域３０６の例を示す概略図。
【図２９】第二の実施例における匿名化装置２９００の機能構成の例を示す概略図。
【図３０】第二の実施例におけるマッチング装置３０００の機能構成を示す概略図。
【図３１】匿名化装置２９００の匿名値算出部２９０３が、拡張後基本情報を匿名化基本情報へ変換し、出力一時記憶領域２９０７へ格納する処理の詳細を示すフローチャート。
【図３２】第二の実施例において、匿名化装置２９００の匿名値算出部２９０３が実行する匿名値算出処理の例を示す概略図。
【図３３】マッチング装置３０００の匿名化基本情報検索部３００４が、匿名化個人情報をキーとして匿名化基本情報記憶領域３００６を検索し、基本識別子の候補を取得する処理の詳細を示すフローチャート。
【図３４】第二の実施例において、マッチング装置３０００の匿名化基本情報検索部３００４が実行する匿名化基本情報検索処理の例を示す概略図。
【発明を実施するための形態】
【００１３】
以下、図面を用いて本発明の実施の形態について説明する。なお、これにより本発明が限定されるものではない。
【実施例１】
【００１４】
図１は第一の実施例におけるシステム構成図である。
【００１５】
これは、本発明の一実施形態である匿名化マッチングシステム１０１の構成を表した図である。
【００１６】
この図において、符号１０１は匿名化マッチングシステム、符号１０２は付番機関システム、符号１０３は基本情報管理装置、符号１０４は匿名化装置、符号１０５はネットワーク、符号１０６はマッチング機関システム、符号１０７はマッチング装置、符号１０８は利用機関システム、符号１０９は個人情報管理装置、符号１１０は識別子管理装置、符号１１１は利用機関システム、符号１１２は個人情報管理装置、符号１１３は識別子管理装置である。
【００１７】
匿名化マッチングシステム１０１は付番機関システム１０２、ネットワーク１０５、マッチング機関システム１０６、および一つ以上の利用機関システム１０８、・・・、１１１から構成されている。付番機関システム１０２は基本情報管理装置１０３、匿名化装置１０４から構成されている。基本情報管理装置１０３は匿名化装置１０４と接続されている。匿名化装置１０４はネットワーク１０５、基本情報管理装置１０３と接続されている。ネットワーク１０５は匿名化装置１０４、マッチング装置１０７、識別子管理装置１１０、識別子管理装置１１３と接続されている。マッチング機関システム１０６はマッチング装置１０７から構成されている。マッチング装置１０７はネットワーク１０５と接続されている。利用機関システム１０８は個人情報管理装置１０９、識別子管理装置１１０から構成されている。個人情報管理装置１０９は識別子管理装置１１０と接続されている。識別子管理装置１１０は個人情報管理装置１０９、ネットワーク１０５と接続されている。
【００１８】
図２は第一の実施例における匿名化装置１０４を示す図である。
【００１９】
これは、第一の実施例における匿名化装置１０４の機能構成の例を示す概略図である。
【００２０】
この図において、符号２０１は制御部、符号２０２は匿名化処理部、符号２０３は匿名値算出部、符号２０４は表現拡張処理部、符号２０５は記憶部、符号２０６は表現拡張規則記憶領域、符号２０７は出力一時記憶領域、符号２０８は拡張後基本情報一時記憶領域、符号２０９は鍵情報記憶領域、符号２１０は入出力部、符号２１１は送受信部である。
【００２１】
制御部２０１は匿名化処理部２０２、匿名値算出部２０３、表現拡張処理部２０４から構成されている。匿名化処理部２０２は送受信部２１１を介して受信した個人情報に対して、匿名値算出部２０３および表現拡張処理部２０４と連携して匿名化処理を実行する処理部である。匿名値算出部２０３は入力された個人情報に対して、逆算が困難であるような演算を施し、その結果を出力する処理部である。表現拡張処理部２０４は表現拡張規則記憶領域２０６に格納された規則に基づいて、入力された情報と意味的に同じだが表現の異なる情報を算出する処理部である。記憶部２０５は表現拡張規則記憶領域２０６、出力一時記憶領域２０７、拡張後基本情報一時記憶領域２０８、鍵情報記憶領域２０９から構成されている。表現拡張規則記憶領域２０６はある情報と意味的には同じだが、異なる表現を持つ情報を生成するための規則を記憶する領域である。出力一時記憶領域２０７は制御部２０１による出力結果を一時的に記憶するための領域である。拡張後基本情報一時記憶領域２０８は表現拡張処理部２０４の出力を一時的に記憶するための領域である。鍵情報記憶領域２０９は匿名値算出部２０３が匿名値の算出処理で用いる鍵情報を記憶するための領域である。当該鍵情報は、各利用機関システム１０８の識別子管理装置１１０との間であらかじめ共有されているものとする。入出力部２１０はキーボード等を介した利用者からの入力と、モニタ等を介した利用者への出力と、を制御する処理部である。送受信部２１１はＴＣＰ／ＩＰ通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して情報の送受信を行う処理部である。
【００２２】
図３は第一の実施例における識別子管理装置１１０を示す図である。
【００２３】
これは、第一の実施例における識別子管理装置１１０の機能構成を示す概略図である。
【００２４】
この図において、符号３０１は制御部、符号３０２は識別子変換部、符号３０３は匿名化処理部、符号３０４は匿名値算出部、符号３０５は記憶部、符号３０６は識別子対応表記憶領域、符号３０７は出力一時記憶領域、符号３０８は要求情報一時記憶領域、符号３０９は鍵情報記憶領域、符号３１０は入出力部、符号３１１は送受信部である。
【００２５】
制御部３０１は識別子変換部３０２、匿名化処理部３０３、匿名値算出部３０４から構成されている。識別子変換部３０２は付番機関システム１０２によって発行された基本識別子と、利用機関システム１０８で利用する識別子との相互変換を行う処理部である。匿名化処理部３０３は送受信部３１１を介して受信した個人情報に対して、匿名値算出部３０４と連携して匿名化処理を実行する処理部である。匿名値算出部３０４は入力された個人情報に対して、逆算が困難であるような演算を施し、その結果を出力する処理部である。記憶部３０５は識別子対応表記憶領域３０６、出力一時記憶領域３０７、要求情報一時記憶領域３０８、鍵情報記憶領域３０９から構成されている。識別子対応表記憶領域３０６は付番機関システム１０２によって発行された基本識別子と、利用機関システム１０８によって利用される識別子との対応付けを記憶する領域である。出力一時記憶領域３０７は制御部３０１による出力結果を一時的に記憶するための領域である。要求情報一時記憶領域３０８はマッチング要求メッセージ１６０４内の情報の一部を一時的に記憶しておくための領域である。鍵情報記憶領域３０９は匿名値算出部３０４が匿名値の算出処理で用いる鍵情報を記憶するための領域である。当該鍵情報は、付番機関システム１０２の匿名化装置１０４との間であらかじめ共有されているものとする。入出力部３１０はキーボード等を介した利用者からの入力と、モニタ等を介した利用者への出力と、を制御する処理部である。送受信部３１１はＴＣＰ／ＩＰ通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して情報の送受信を行う処理部である。
【００２６】
その他の利用機関システムについても、識別子管理装置の機能構成は同様であるため、記載を省略する。
【００２７】
図４は第一の実施例におけるマッチング装置１０７を示す図である。
【００２８】
これは、第一の実施例におけるマッチング装置１０７の機能構成を示す概略図である。
【００２９】
この図において、符号４０１は制御部、符号４０２はマッチング処理部、符号４０３は匿名化基本情報処理部、符号４０４は匿名化基本情報検索部、符号４０５は記憶部、符号４０６は匿名化基本情報記憶領域、符号４０７は出力一時記憶領域、符号４０８は入出力部、符号４０９は送受信部である。
【００３０】
制御部４０１はマッチング処理部４０２、匿名化基本情報処理部４０３、匿名化基本情報検索部４０４から構成されている。マッチング処理部４０２は付番機関システム１０２から受信した匿名化基本情報と、利用機関システム１０８から受信した匿名化属性情報とのマッチングを実施する処理部である。匿名化基本情報処理部４０３は付番機関システム１０２の匿名化装置１０４から受信した匿名化基本情報を匿名化基本情報記憶領域４０６に格納する処理部である。匿名化基本情報検索部４０４は匿名化基本情報記憶領域４０６に格納された匿名化基本情報を検索する処理部である。記憶部４０５は匿名化基本情報記憶領域４０６、出力一時記憶領域４０７から構成されている。匿名化基本情報記憶領域４０６は付番機関システム１０２から受信した匿名化基本情報を記憶する領域である。出力一時記憶領域４０７は制御部４０１による出力結果を一時的に記憶するための領域である。入出力部４０８はキーボード等を介した利用者からの入力と、モニタ等を介した利用者への出力と、を制御する処理部である。送受信部４０９はＴＣＰ／ＩＰ通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して情報の送受信を行う処理部である。
【００３１】
図５は装置のハードウェア構成図である。
【００３２】
これは、一般的なコンピュータの構成を示す概略図である。
【００３３】
この図において、符号５０１はコンピュータ、符号５０２は出力装置、符号５０３は外部記憶装置、符号５０４はメモリ、符号５０５はＣＰＵ、符号５０６は送受信装置、符号５０７は入力装置、符号５０８は読取装置、符号５０９は記憶媒体である。
コンピュータ５０１は出力装置５０２、外部記憶装置５０３、メモリ５０４、ＣＰＵ５０５、送受信装置５０６、入力装置５０７、読取装置５０８から構成されている。出力装置５０２はメモリ５０４と接続されている。外部記憶装置５０３は入力装置５０７と接続されている。メモリ５０４は出力装置５０２と接続されている。ＣＰＵ５０５は送受信装置５０６、読取装置５０８と接続されている。送受信装置５０６はＣＰＵ５０５と接続されている。入力装置５０７は外部記憶装置５０３と接続されている。読取装置５０８はＣＰＵ５０５と接続されている。
【００３４】
本実施形態における各装置は、例えば、図５に示すような、ＣＰＵ５０５と、メモリ５０４と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の外部記憶装置５０３と、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの可搬性を有する記憶媒体５０９から情報を読み出す読取装置５０８と、キーボードやマウス等の入力装置５０７と、ディスプレイなどの出力装置５０２と、通信ネットワークに接続するためのＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）などの送受信装置５０６と、を備えた一般的なコンピュータ５０１で実現できる。例えば、各装置の記憶部内の記憶領域は、ＣＰＵ５０５がメモリ５０４又は外部記憶装置５０３を利用することにより実現可能である。また、特定の処理や制御を行う制御部については、外部記憶装置５０３に記憶されている所定のプログラムをメモリ５０４にロードしてＣＰＵ５０５で実行することで実現可能である。また、送受信部等の通信制御を行う機能については、ＣＰＵ５０５が送受信装置５０６を利用することで実現可能である。この所定のプログラムは、読取装置５０８を介して記憶媒体５０９から、あるいは、送受信装置５０６を介してネットワークから、外部記憶装置５０３にダウンロードされ、それから、メモリ５０４上にロードされてＣＰＵ５０５により実行されるようにしてもよい。また、読取装置５０８を介して記憶媒体５０９から、あるいは、送受信装置５０６を介してネットワークから、メモリ５０４上に直接ロードされ、ＣＰＵ５０５により実行されるようにしてもよい。
【００３５】
次に、図６から図１６を用いて、付番機関システム１０２内の基本情報管理装置１０３が、匿名化装置１０４を用いて匿名化した基本情報を、マッチング機関システム１０６内のマッチング装置１０７へ送信し、当該基本情報をマッチング装置１０７が格納する、一連の処理について説明する。
【００３６】
図６は第一の実施例において、付番機関システム１０２内の基本情報管理装置１０３が、匿名化装置１０４を用いて基本情報を匿名化し、マッチング装置１０７へ送信する処理のシーケンスを示す図である。
【００３７】
ここで、最初に、基本情報管理装置１０３は、基本情報提供メッセージ６０４を匿名化装置１０４へ送信する。次に、匿名化装置１０４は基本情報を匿名化する処理６０５を行う。次に、匿名化装置１０４は、匿名化基本情報提供メッセージ６０６をマッチング装置１０７へ送信する。最後に、マッチング装置１０７は匿名化基本情報提供メッセージ６０６に含まれる匿名化基本情報を格納する処理６０７を行う。
【００３８】
図７は第一の実施例における基本情報提供メッセージ６０４の例を示す図である。
【００３９】
これは、第一の実施例において、付番機関システム１０２の基本情報管理装置１０３が匿名化装置１０４に対して送信する基本情報提供メッセージ６０４の内容の一例を示す概略図である。
【００４０】
この図において、符号７０１−１と符号７０１−２は基本情報、符号７０２は基本情報に振られたシーケンス番号、符号７０３は基本識別子の例、符号７０４は基本属性情報の例である。
【００４１】
図に示すように、基本情報提供メッセージ６０４は一つ以上の基本情報７０１−１、７０１−２、．．．を含む。各基本情報７０１は、当該基本情報をメッセージ内で一意に識別可能とするシーケンス連番７０２と、当該基本情報に対応する人物に振られた基本識別子７０３と、当該人物に紐付く基本属性情報７０４と、で構成される。図７では、基本情報の例として、シーケンス番号７０２として「１」を持ち、また基本識別子７０３として「１００００００１」を持つ基本情報を示している。また基本属性情報７０４としては、「氏」属性としてｕｔｆ−８でコード化された「山田」を、「名」属性としてｕｔｆ−８でコード化された「太郎」を、「氏：カナ」属性としてｕｔｆ−８でコード化された「ヤマダ」を、「名：カナ」属性としてｕｔｆ−８でコード化された「タロウ」を、「住所コード」属性としてａｓｃｉｉコード化された「１２３４５６」を、「都道府県」属性としてｕｔｆ−８でコード化された「神奈川」を、「都道府県：カナ」属性としてｕｔｆ−８でコード化された「カナガワ」を、「生年：西暦」属性としてａｓｃｉｉコード化された「１９８０」を、それぞれ値に持つ。
【００４２】
図８は第一の実施例における匿名化装置１０４の匿名化処理フローを示す図である。
【００４３】
これは、匿名化装置１０４が、付番機関システム１０２の基本情報管理装置１０３から基本情報提供メッセージ６０４を受信したときの処理の例を示すフローチャートである。
【００４４】
ステップ８０１は送受信部２１１が、基本情報提供メッセージ６０４を受信する処理である。
【００４５】
ステップ８０２は送受信部２１１が、基本情報提供メッセージ６０４の内容を匿名化処理部２０２へ送信する処理である。
【００４６】
ステップ８０３は匿名化処理部２０２が、出力一時記憶領域２０７を空にする処理である。
【００４７】
ステップ８０４は基本情報提供メッセージ内の各基本情報（シーケンス番号と基本識別子と基本属性情報）を取り出す処理である。もし、要素があれば、ステップ８０５へ進む。全ての要素に対する処理が終わると、ステップ８０７へ進む。
【００４８】
ステップ８０５は表現拡張処理部２０４が、基本情報から拡張後基本情報を算出し、拡張後基本情報一時記憶領域２０８へ追記する処理である。当該ステップについては、図９の説明とともに処理の詳細を後述する。
【００４９】
ステップ８０６は匿名値算出部２０３が、拡張後基本情報を匿名化基本情報へ変換し、出力一時記憶領域２０７へ追記する処理である。当該ステップについては、図１２の説明とともに処理の詳細を後述する。
【００５０】
ステップ８０７は送受信部２１１が、マッチング装置１０７に対して、出力一時記憶領域２０７に格納された情報を匿名化基本情報提供メッセージ６０６として送信する処理である。当該匿名化基本情報提供メッセージ６０６については、図１４の説明とともに詳細を後述する。
【００５１】
図９は第一の実施例における匿名化装置１０４の表現拡張処理部２０４による表現拡張処理フローを示す図である。
【００５２】
これは、前述したステップ８０５の処理、すなわち、匿名化装置１０４の表現拡張処理部２０４が、基本情報から拡張後基本情報を算出する処理の詳細を示すフローチャートである。
【００５３】
ステップ９０１は匿名化処理部２０２から基本情報（シーケンス番号ｎと基本識別子ｉと基本属性情報ｖｂ）を受信する処理である。
【００５４】
ステップ９０２は拡張後基本情報一時記憶領域２０８を空にする処理である。
【００５５】
ステップ９０３はシーケンス番号ｎと基本識別子ｉを拡張後基本情報一時記憶領域２０８へ追加する処理である。
【００５６】
ステップ９０４は基本属性情報ｖｂ内の各属性種別ｔと属性値ｖを取り出す処理である。もし、要素があれば、ステップ９０５へ進む。全ての要素に対する処理が終わると、ステップ９１２へ進む
ステップ９０５は種別ｔと値ｖを拡張後基本情報一時記憶領域２０８へ追加する処理である。
【００５７】
ステップ９０６は種別ｔをキーとして表現拡張規則記憶領域２０６の拡張対象属性種別１００１列を検索する処理である。
【００５８】
図１０は第一の実施例における表現拡張規則記憶領域２０６を示す図である。
【００５９】
表現拡張規則記憶領域２０６の各行は表現拡張処理の規則を示しており、拡張対象属性種別１００１、実行条件１００２、実行内容１００３、拡張後属性種別１００４の４つの列により構成される。拡張対象属性種別１００１列には表現拡張処理の対象とする属性の種別が、実行条件１００２列には表現拡張処理を実行する条件が、実行内容１００３列には表現拡張処理の内容が、拡張後属性種別１００４列には表現拡張処理後の情報に対して新規に属性種別を付与する場合はその属性種別が、それぞれ格納される。拡張後属性種別１００４列が空の場合は、表現拡張処理後の情報に対して付与される属性種別は拡張処理前の属性種別と同じであることを意味するものとする。
【００６０】
例えば行１００５には、拡張対象属性種別１００１列に「［＊］（任意の属性）」が、実行条件１００２列に「［＊］がｕｔｆ−８以外」が、実行内容１００３列に「コード変換（［＊］、ｕｔｆ−８）」が、拡張後属性種別１００４列に空文字列が、それぞれ格納される。当該行は、任意の属性に対して、属性値の文字コードがｕｔｆ−８以外である場合に、当該属性値の文字コードをｕｔｆ−８に変更した情報を生成し、拡張前と同じ属性種別を付与する処理を実施することを表現拡張規則として示している。
【００６１】
また行１００８には、拡張対象属性種別１００１列に「［氏］、［名］」が、実行条件１００２列に「［氏名］なし」が、実行内容１００３列に「結合（［氏］、［名］）」が、拡張後属性種別１００４列に「［氏名］」が、それぞれ格納される。当該行は、属性種別が「氏名」であるような属性が存在しない場合に、属性種別が「氏」や「名」であるような属性に対して、種別「氏」の属性値と種別「名」の属性値を結合したものを、種別「氏名」の属性値として新たに追加することを表現拡張規則として示している。
【００６２】
図９に戻って、ステップ９０７は表現拡張規則の検索に成功したかどうかを調べる処理である。もし表現拡張規則の検索に成功した場合は、ステップ９０８へ進む。もし表現拡張規則の検索に成功していない場合は、ステップ９０４へ戻る。
【００６３】
ステップ９０８はマッチした行の実行条件１００２を取得する処理である。
【００６４】
ステップ９０９は属性種別ｔと属性値ｖに関して、ステップ９０８で取得した実行条件１００２が成立するかどうかを調べる処理である。もし実行条件が成立する場合は、ステップ９１０へ進む。もし実行条件が成立しない場合は、ステップ９０４へ戻る。
【００６５】
ステップ９１０はマッチした行の実行内容１００３で示された表現拡張処理を実行する処理である。
【００６６】
ステップ９１１は表現拡張処理の実行結果を、拡張後属性種別１００４で示される属性種別における属性値として、拡張後基本情報一時記憶領域２０８へ追加する処理である。
【００６７】
ステップ９１２は表現拡張処理の完了を匿名化処理部２０２へ通知する処理である。
【００６８】
図１１は第一の実施例における表現拡張処理の概要を示す図である。
【００６９】
これは、第一の実施例において、匿名化装置１０４の表現拡張処理部２０４が実行する表現拡張処理の例を示す概略図である。
【００７０】
例えば、図１０の行１００５で示される表現拡張規則に従って、種別「氏」の属性値「山田（ｕｔｆ−８）」については、文字コードがｓｊｉｓ、  ｅｕｃ−ｊｐ、  ｊｉｓ等へ変換されたものが拡張後基本情報へ追加される。また、図１０の行１００８で示される表現拡張規則に従って、種別「氏」の属性値「山田（ｕｔｆ−８）」と種別「名」の属性値「太郎（ｕｔｆ−８）」を結合した値「山田太郎」が、種別「氏名」の属性値として拡張後基本情報へ追加される。
【００７１】
図１２は第一の実施例における匿名化装置１０４の匿名値算出部２０３による匿名値算出処理フローを示す図である。
【００７２】
これは、前述したステップ８０６の処理、すなわち、匿名化装置１０４の匿名値算出部２０３が、拡張後基本情報を匿名化基本情報へ変換し、出力一時記憶領域２０７へ追記する処理の詳細を示すフローチャートである。
【００７３】
ステップ１２０１は拡張後基本情報一時記憶領域２０８からシーケンス番号ｎと基本識別子ｉを取得する処理である。
【００７４】
ステップ１２０２はシーケンス番号ｎと基本識別子ｉを出力一時記憶領域２０７へ追記する処理である。
【００７５】
ステップ１２０３は鍵情報記憶領域２０９から鍵情報Ｋを取得する処理である。
【００７６】
ステップ１２０４は拡張後基本情報一時記憶領域内の各属性種別ｔと属性値ｖを取り出す処理である。もし、要素があれば、ステップ１２０５へ進む。全ての要素に対する処理が終わると、ステップ１２０９へ進む。
【００７７】
ステップ１２０５は属性種別ｔと属性値ｖを結合した値ｔｖを取得する処理である。
【００７８】
ステップ１２０６は鍵情報Ｋを鍵として、鍵付ハッシュ関数Ｈ１を用いてｔｖのハッシュ値を計算し、計算結果を匿名値ｖａ１とする処理である。
【００７９】
ステップ１２０７は基本識別子ｉを鍵として、鍵付ハッシュ関数Ｈ２を用いてｖａ１のハッシュ値を計算し、計算結果を匿名値ｖａ２とする処理である。
【００８０】
ステップ１２０８は匿名値ｖａ２を出力一時記憶領域２０７へ追記する処理である。
【００８１】
ステップ１２０９は匿名値算出処理の完了を匿名化処理部２０２へ通知する処理である。
【００８２】
一般的に「鍵付ハッシュ関数」は、ビット列と鍵情報を入力されると、鍵情報に依存する方法で、ビット列をハッシュ値と呼ばれる値へ変換する関数である。本実施形態における鍵付ハッシュ関数Ｈ１およびＨ２としては、ＨＭＡＣ−ＳＨＡ１などに代表される任意の鍵付ハッシュアルゴリズムやＭＡＣ（メッセージ認証コード）生成アルゴリズムを使用できる。また、Ｈ１とＨ２として、同じ鍵付ハッシュ関数を利用することも可能である。
【００８３】
図１３は第一の実施例における匿名化装置１０４の匿名値算出処理の概要を示す図である。
【００８４】
これは、第一の実施例において、匿名化装置１０４の匿名値算出部２０３が実行する匿名値算出処理の例を示す概略図である。
【００８５】
例えば、拡張後基本情報一時記憶領域２０８に、拡張後基本情報１１０２で示すような拡張後基本情報が記憶されていた場合には、まずシーケンス番号「１」と基本識別子「１００００００１」が取得され（ステップ１２０１）、次に当該シーケンス番号「１」と当該基本識別子「１００００００１」が出力一時記憶領域２０７へ追記され（ステップ１２０２）、次に鍵情報記憶領域２０９から鍵情報Ｋが取得され（ステップ１２０３）、次に拡張後基本情報一時記憶領域２０８内の属性種別「氏」と属性値「山田（ｕｔｆ−８）」が取得され（ステップ１２０４）、次に結合値「氏：山田」が取得され（ステップ１２０５）、次に鍵情報Ｋを鍵とする鍵付ハッシュ関数Ｈ１により、結合値「氏：山田」から匿名値「ｂｃ３１５ｆ．．．」が取得され（ステップ１２０６）、次に基本識別子「１００００００１」を鍵とする鍵付ハッシュ関数Ｈ２により、匿名値「ｂｃ３１５ｆ．．．」から匿名値「ｆｂ１２ａｂ．．．」が取得され（ステップ１２０７）、次に匿名値「ｆｂ１２ａｂ．．．」が出力一時記憶領域２０７へ追記される（ステップ１２０８）。
【００８６】
図１４は第一の実施例における匿名化基本情報提供メッセージ６０６の例を示す図である。
【００８７】
これは、前述したステップ８０７の処理において、匿名化装置１０４の送受信部２１１がマッチング装置１０７に対して送信する匿名化基本情報提供メッセージ６０６の内容の例を示す概略図である。
【００８８】
この図において、符号１４０１−１と符号１４０１−２は匿名化基本情報、符号１４０２は匿名化基本情報に振られたシーケンス番号、符号１４０３は基本識別子の例、符号１４０４は匿名化基本属性情報の例である。
【００８９】
図に示すように、匿名化基本情報提供メッセージ６０６は一つ以上の匿名化基本情報１４０１−１、１４０１−２、．．．を含む。各匿名化基本情報１４０１は、当該匿名化基本情報をメッセージ内で一意に識別可能とするシーケンス番号１４０２と、当該匿名化基本情報に対応する人物に振られた基本識別子１４０３と、当該人物に紐付く匿名化基本属性情報１４０４と、で構成される。図１４では、匿名化基本情報の例として、シーケンス番号１４０２の値として「１」を持ち、また基本識別子１４０３として「１００００００１」を持つ匿名化基本情報を示している。また匿名化基本属性情報１４０４としては、図１３に例示した匿名値算出処理によって出力一時記憶領域２０７に書き込まれた匿名値「ｆｂ１２ａｂ．．．」を持つ。
【００９０】
当該匿名化基本情報メッセージ６０６を受信したマッチング装置１０７は、匿名化基本情報メッセージ６０６に含まれる匿名化基本情報を、匿名化基本情報記憶領域４０６に格納する。
【００９１】
図１５は第一の実施例における匿名化基本情報記憶領域４０６の例を示す図である。
【００９２】
これは、第一の実施例において、マッチング装置１０７が匿名化基本情報メッセージ６０６を処理した後の匿名化基本情報記憶領域４０６の例を示す概略図である。
【００９３】
匿名化基本情報記憶領域４０６の各行は匿名化基本情報の一部を示しており、基本識別子１５０１、匿名化基本属性情報１５０２の２つの列により構成される。基本識別子１５０１列には匿名化基本情報内の基本識別子が、匿名化基本属性情報１５０２列には匿名化基本情報内の匿名化基本属性情報が、それぞれ格納される。
【００９４】
例えば行１５０３には、基本識別子１５０１列に「１００００００１」が、匿名化基本属性情報１５０２列に「ｆｂ１２ａｂ．．．」が、それぞれ格納される。当該行は、基本識別子「１０００００１」に対応する匿名化基本属性情報として「ｆｂ１２ａｂ．．．」が存在することを示している。
【００９５】
以上が、付番機関システム１０２内の基本情報管理装置１０３が、匿名化装置１０４を用いて匿名化した個人情報を、マッチング機関システム１０６内のマッチング装置１０７へ送信し、当該個人情報をマッチング装置１０７が格納する処理の一例である。
【００９６】
次に、図１６から図２８を用いて、付番機関システム１０２内の基本情報管理装置１０３から取得した匿名化基本情報と、利用機関システム１０８内の個人情報管理装置１０９が識別子管理装置１１０を用いて匿名化した個人情報と、をマッチング機関システム１０６内のマッチング装置１０７がマッチングする処理について説明する。
【００９７】
図１６は第一の実施例において、付番機関システム１０２の基本情報管理装置１０３が匿名化装置１０４を用いて匿名化した匿名化基本情報と、利用機関システム１０８の個人情報管理装置１０９が識別子管理装置１１０を用いて匿名化した匿名化個人情報と、をマッチング機関システム１０６のマッチング装置１０７がマッチングする処理のシーケンスを示す図である。
【００９８】
ここで、最初に、個人情報管理装置１０９は、マッチング要求メッセージ１６０４を識別子管理装置１１０へ送信する。次に、識別子管理装置１１０は個人情報を匿名化する処理１６０５を行う。次に、識別子管理装置１１０は、匿名化マッチング要求メッセージ１６０６をマッチング装置１０７へ送信する。次に、マッチング装置１０７は匿名化情報をマッチングする処理１６０７を行う。次に、マッチング装置１０７は、匿名化マッチング結果メッセージ１６０８を識別子管理装置１１０へ送信する。次に、識別子管理装置１１０は、マッチング結果メッセージ１６０９を個人情報管理装置１０９へ送信する。次に、個人情報管理装置１０９は結果を確認する処理１６１０を行う。次に、個人情報管理装置１０９は、確定要求メッセージ１６１１を識別子管理装置１１０へ送信する。最後に、識別子管理装置１１０はマッチング結果を確定する処理１６１２を行う。
【００９９】
図１７は第一の実施例におけるマッチング要求メッセージの内容を示す図である。
【０１００】
これは、第一の実施例において、利用機関システム１０８の個人情報管理装置１０９が識別子管理装置１１０に対して送信するマッチング要求メッセージ１６０４の内容を示す概略図である。
【０１０１】
この図において、符号１７０１−１と符号１７０１−２は個人情報、符号１７０２は個人情報に振られたシーケンス番号、符号１７０３は個人識別子の例、符号１７０４は個人属性情報の例である。
【０１０２】
図に示すように、マッチング要求メッセージ１６０４は一つ以上の個人情報１７０１−１、１７０１−２、．．．を含む。各個人情報１７０１−１、１７０１−２、．．．は、当該個人情報をメッセージ内で一意に識別可能とするシーケンス番号１７０２と、当該個人情報に対応する人物に対して利用機関システム１０８内で振られている個人識別子１７０３と、当該人物に紐付く個人属性情報１７０４と、で構成される。図１７では、情報の例として、シーケンス番号１７０２の値として「１」を持ち、また個人識別子１７０３として「２００００１」を持つ個人情報を示している。また個人属性情報１７０４としては、「氏」属性にｓｊｉｓでコード化された「山田」を持ち、「名」属性にｓｊｉｓでコード化された「太郎」を持ち、「都道府県」属性としてｓｊｉｓでコード化された「カナガワ」を、それぞれ値に持つ。また各個人属性情報には、当該個人属性情報を個人情報内で一意に識別可能とするシーケンス番号が振られている。図では、「氏」属性の「山田」には１番が振られ、「名」属性の「太郎」には２番が振られ、「都道府県」属性の「カナガワ」には３番が振られている。
【０１０３】
図１８は第一の実施例における識別子管理装置１１０の匿名化処理フローを示す図である。
【０１０４】
これは、識別子管理装置１１０が、利用機関システム１０８の個人情報管理装置１０９からマッチング要求メッセージ１６０４を受信したときの処理の例を示すフローチャートである。
【０１０５】
ステップ１８０１は送受信部３１０が、マッチング要求メッセージ１６０４を受信する処理である。
【０１０６】
ステップ１８０２は送受信部３１０が、マッチング要求メッセージ１６０４の内容を匿名化処理部３０３へ送信する処理である。
【０１０７】
ステップ１８０３は匿名化処理部３０３が、出力一時記憶領域３０７を空にする処理である。
【０１０８】
ステップ１８０４はマッチング要求メッセージ内の各個人情報を取り出す処理である。もし、要素があれば、ステップ１８０５へ進む。全ての要素に対する処理が終わると、ステップ１８０８へ進む。
【０１０９】
ステップ１８０５は匿名値算出部３０４が、個人情報を匿名化個人情報へ変換し、出力一時記憶領域３０７へ追記する処理である。当該ステップについては、図１９の説明とともに処理の詳細を後述する。
【０１１０】
ステップ１８０６は送受信部３１０が、マッチング装置１０７に対して、出力一時記憶領域３０７に格納された情報を匿名化マッチング要求メッセージ１６０６として送信する処理である。当該匿名化マッチング要求メッセージ１６０６については、図２１の説明とともに処理の詳細を後述する。
【０１１１】
図１９は第一の実施例における識別子管理装置１１０の匿名値算出部３０４による匿名値算出処理フローを示す図である。
【０１１２】
これは、前述したステップ１８０５の処理、すなわち、識別子管理装置１１０の匿名値算出部３０４が、個人情報を匿名化個人情報へ変換し、出力一時記憶領域３０７へ格納する処理の詳細を示すフローチャートである。
【０１１３】
ステップ１９０１は匿名化処理部３０３から個人情報（シーケンス番号ｎと個人識別子ｉと個人属性情報ｖｌ）を取得する処理である。
【０１１４】
ステップ１９０２は要求情報一時記憶領域３０８を空にする処理である。
【０１１５】
ステップ１９０３はシーケンス番号ｎと個人識別子ｉを要求情報一時記憶領域３０８へ追記する処理である。
【０１１６】
ステップ１９０４はシーケンス番号ｎを出力一時記憶領域３０７へ追記する処理である。
【０１１７】
ステップ１９０５は鍵情報記憶領域３０９から鍵情報Ｋを取得する処理である。
【０１１８】
ステップ１９０６は個人属性情報ｖｌ内の各属性シーケンス番号ｍと属性種別ｔと属性値ｖを取り出す処理である。もし、要素があれば、ステップ１９０７へ進む。各要素に対する処理の後、ステップ１９１１へ進む。
【０１１９】
ステップ１９０７は属性シーケンス番号ｍと属性種別ｔの組を要求情報一時記憶領域３０８の属性種別列へ追記する処理である。
【０１２０】
ステップ１９０８は属性種別ｔと属性値ｖを結合した値ｔｖを取得する処理である。
【０１２１】
ステップ１９０９は鍵情報Ｋを鍵として、鍵付ハッシュ関数Ｈ１を用いてｔｖのハッシュ値を計算し、計算結果を匿名値ｖａ１とする処理である。
【０１２２】
ステップ１９１０は属性シーケンス番号ｍと匿名値ｖａ１の組を出力一時記憶領域３０７へ追記する処理である。
【０１２３】
ステップ１９１１は匿名値算出処理の完了を匿名化処理部３０３へ通知する処理である。
【０１２４】
図２０は第一の実施例における識別子管理装置１１０の匿名値算出処理の概要を示す図である。
【０１２５】
これは、第一の実施例において、識別子管理装置１１０の匿名値算出部３０４が実行する匿名値算出処理の例を示す概略図である。
【０１２６】
例えば匿名値算出部３０４は、匿名化処理部３０３から個人情報２００１で示すような個人情報を受信した場合（ステップ１９０１）、シーケンス番号「１」と個人識別子「２００００１」が要求情報一時記憶領域３０８へ追記され（ステップ１９０３）、次にシーケンス番号「１」が出力一時記憶領域３０７へ追記され（ステップ１９０４）、次に鍵情報記憶領域３０９から鍵情報Ｋが取得され（ステップ１９０５）、次に個人属性情報ｖｌ内の属性シーケンス番号「１」と属性種別「氏」と属性値「山田（ｓｊｉｓ）」が取得され（ステップ１９０６）、次に属性シーケンス番号「１」と属性種別「氏」の組が要求情報一時記憶領域３０８へ追記され（ステップ１９０７）、次に結合値「氏：山田」が取得され（ステップ１９０８）、次に鍵情報Ｋを鍵とする鍵付ハッシュ関数Ｈ１により、結合値「氏：山田」から匿名値「ｃｄ４２６０．．．」が取得され（ステップ１９０９）、次に属性シーケンス番号「１」と匿名値「ｃｄ４２６０．．．」が、匿名化個人属性情報として出力一時記憶領域３０７へ追記される（ステップ１９１０）。
【０１２７】
図２１は第一の実施例における匿名化マッチング要求メッセージ１６０６の例を示す図である。
【０１２８】
これは、前述したステップ１８０６の処理において、識別子管理装置１１０の送受信部３１１が、マッチング装置１０７に対して送信する匿名化マッチング要求メッセージ１６０６の例を示す概略図である。
【０１２９】
この図において、符号２１０１−１と符号２１０１−２は匿名化個人情報、符号２１０２は匿名化個人情報に振られたシーケンス番号、符号２１０３は匿名化個人属性情報の例である。
【０１３０】
図に示すように、匿名化マッチング要求メッセージ１６０６は一つ以上の匿名化個人情報２１０１−１、２１０１−２、．．．を含む。各匿名化個人情報２１０１は、当該匿名化個人情報をメッセージ内で一意に識別可能とするシーケンス番号２１０２と、当該匿名化個人情報に対応する人物に紐付く匿名化個人属性情報２１０３と、で構成される。図２１では、匿名化個人情報の例として、シーケンス番号２１０２の値として「１」を持ち、また匿名化個人属性情報２１０３として、図２０に例示した匿名値算出処理によって出力一時記憶領域３０７に書き込まれた属性シーケンス番号「１」と匿名値「ｃｄ４２６０．．．」を持つ。
【０１３１】
図２２は第一の実施例におけるマッチング装置１０７のマッチング処理フローを示す図である。
【０１３２】
これは、マッチング装置１０７が、利用機関システム１０８の識別子管理装置１１０から匿名化マッチング要求メッセージ１６０６を受信したときの処理の例を示すフローチャートである。
【０１３３】
ステップ２２０１は送受信部４０９が、匿名化マッチング要求メッセージ１６０６を受信する処理である。
【０１３４】
ステップ２２０２は送受信部４０９が、匿名化マッチング要求メッセージ１６０６の内容をマッチング処理部４０２へ送信する処理である。
【０１３５】
ステップ２２０３は匿名化マッチング要求メッセージ１６０６内の各匿名化個人情報を取り出す処理である。もし、要素があれば、ステップ２２０４へ進む。全ての要素に対する処理が終わると、ステップ２２０６へ進む。
【０１３６】
ステップ２２０４はマッチング処理部４０２が、匿名化個人情報を匿名化基本情報検索部４０４へ送信する処理である。
【０１３７】
ステップ２２０５は匿名化基本情報検索部４０４が、匿名化個人情報をキーとして匿名化基本情報記憶領域４０６内を検索し、結果を出力一時記憶領域４０７へ追記する処理である。当該ステップについては、図２３の説明とともに処理の詳細を後述する。
【０１３８】
ステップ２２０６は送受信部４０９が、識別子管理装置１１０に対して、出力一時記憶領域４０７に格納された情報を匿名化マッチング結果メッセージ１６０８として送信する処理である。当該匿名化マッチング結果メッセージ１６０８については、図２５の説明とともに詳細を後述する。
【０１３９】
図２３は第一の実施例におけるマッチング装置１０７の匿名化基本情報検索部４０４による匿名化基本情報検索フローを示す図である。
【０１４０】
これは、前述したステップ２２０５の処理、すなわち、マッチング装置１０７の匿名化基本情報検索部４０４が、匿名化個人情報をキーとして匿名化基本情報記憶領域４０６を検索し、基本識別子の候補を取得する処理の詳細を示すフローチャートである。
【０１４１】
ステップ２３０１はマッチング処理部４０２から匿名化個人情報（シーケンス番号ｎと匿名化個人属性情報ｖｌ）を取得する処理である。
【０１４２】
ステップ２３０２はシーケンス番号ｎを出力一時記憶領域４０７へ追記する処理である。
【０１４３】
ステップ２３０３は匿名化個人属性情報ｖｌ内の各属性シーケンス番号ｍと匿名値ｖａ１を取り出す処理である。もし、要素があれば、ステップ２３０４へ進む。全ての要素に対する処理が終わると、ステップ２３０９へ進む。
【０１４４】
ステップ２３０４は基本識別子集合内の基本識別子ｉを取り出す処理である。もし、要素があれば、ステップ２３０５へ進む。全ての要素に対する処理が終わると、ステップ２３０３へ戻る。
【０１４５】
ステップ２３０５はｉを鍵として、鍵付ハッシュ関数Ｈ２を用いてｖａ１のハッシュ値を計算し、計算結果ｖａ２を取得する処理である。
【０１４６】
ステップ２３０６は匿名化基本情報記憶領域４０６内に、基本識別子ｉと匿名値ｖａ２の組を含む行が存在するか検索する処理である。
【０１４７】
ステップ２３０７はｉとｖａ２の組を含む行が存在するかどうか調べる処理である。もしｉとｖａ２の組を含む行が存在する場合は、ステップ２３０８へ進む。もしｉとｖａ２の組を含む行が存在しない場合は、ステップ２３０４へ戻る。
【０１４８】
ステップ２３０８は基本識別子ｉと属性シーケンス番号ｍの組を出力一時記憶領域４０７に格納する処理である。
【０１４９】
ステップ２３０９は匿名化基本情報検索処理の完了をマッチング処理部４０２へ通知する処理である。
【０１５０】
図２４は第一の実施例におけるマッチング装置１０７の匿名化基本情報検索処理の概要を示す図である。
【０１５１】
これは、第一の実施例において、マッチング装置１０７の匿名化基本情報検索部４０４が実行する匿名化基本情報検索処理の例を示す概略図である。
【０１５２】
例えば匿名化基本情報検索部４０４は、マッチング処理部４０２から匿名化個人情報２４０１で示すような匿名化個人情報を受信した場合（ステップ２３０１）、シーケンス番号「１」が出力一時記憶領域４０７へ追記され（ステップ２３０２）、次に匿名化個人属性情報ｖｌ内の属性シーケンス番号「１」と匿名値「ｃｄ４２６０」が取得され（ステップ２３０３）、次に基本識別子集合から基本識別子の候補として「１００００００１」が取得され（ステップ２３０４）、次に基本識別子の候補「１００００００１」を鍵とする鍵付ハッシュ関数Ｈ２により、匿名値「ｃｄ４２６０」から匿名値「３５ｃｄｅａ．．．」が取得され（ステップ２３０５）、次に基本識別子の候補「１００００００１」と匿名値「３５ｃｄｅａ．．．」の組を含む行が匿名化基本情報記憶領域４０６内に存在するかどうかを検査し（ステップ２３０６）、匿名化基本情報記憶領域４０６内に当該行が存在するので、基本識別子の候補「１００００００１」と属性シーケンス番号「１」の組が出力一時記憶領域４０７に格納される（ステップ２３０８）。
【０１５３】
図２５は第一の実施例における匿名化マッチング結果メッセージ１６０９の内容を示す図である。
【０１５４】
これは、前述したステップ２２０６の処理において、マッチング装置１０７が識別子管理装置１１０に対して送信する匿名化マッチング結果メッセージ１６０９の内容を示す概略図である。
【０１５５】
この図において、符号２５０１−１と符号２５０１−２は応答情報、符号２５０２は応答情報に振られたシーケンス番号、符号２５０３はマッチング結果情報の例である。
【０１５６】
図に示すように、匿名化マッチング結果メッセージ１６０９は一つ以上の応答情報２５０１−１、２５０１−２、．．．を含む。各応答情報２５０１は、当該応答情報をメッセージ内で一意に識別可能とするシーケンス番号２５０２と、マッチングの結果を示すマッチング結果情報２５０３と、で構成される。図２５では、応答情報の例として、シーケンス番号２５０２の値として「１」を持ち、またマッチング結果情報２５０３として、図２４に例示した匿名化基本情報検索処理によって出力一時記憶領域４０７に書き込まれた基本識別子「１００００００１」と属性シーケンス番号「１」と、が含まれる。
【０１５７】
図２６は第一の実施例における識別子管理装置１１０のマッチング結果処理フローを示す図である。
【０１５８】
これは、識別子管理装置１１０が、マッチング装置１０７から匿名化マッチング結果メッセージ１６０８を受信したときの処理の例を示すフローチャートである。
【０１５９】
ステップ２６０１は送受信部３１１が、匿名化マッチング結果メッセージ１６０８を受信する処理である。
【０１６０】
ステップ２６０２は送受信部３１１が、匿名化マッチング結果メッセージ１６０８の内容を匿名化処理部３０３へ送信する処理である。
【０１６１】
ステップ２６０３は匿名化処理部３０３が、出力一時記憶領域３０７を空にする処理である。
【０１６２】
ステップ２６０４は匿名化マッチング結果メッセージ１６０９内の各シーケンス番号ｎとマッチング結果を取り出す処理である。もし、要素があれば、ステップ２６０５へ進む。各要素に対する処理の後、ステップ２６０８へ進む。
【０１６３】
ステップ２６０５は匿名化処理部３０３が、シーケンス番号ｎに対応する個人識別子を要求情報一時格納領域から取得して出力一時記憶領域３０７へ追記する処理である。
【０１６４】
ステップ２６０６は匿名化処理部３０３が、マッチング結果内の基本識別子を出力一時記憶領域３０７へ追記する処理である。
【０１６５】
ステップ２６０７は匿名化処理部３０３が、マッチング結果内の属性シーケンス番号ｍに対応する属性種別を要求情報一時格納領域内の属性種別列から取得し、出力一時記憶領域３０７へ追記する処理である。
【０１６６】
ステップ２６０８は送受信部３１１が、個人情報管理装置１０９に対して、出力一時記憶領域３０７に格納された情報をマッチング結果メッセージ１６１０として送信する処理である。
【０１６７】
図２７は第一の実施例におけるマッチング結果メッセージ１６０９の内容を示す図である。
【０１６８】
これは、前述したステップ２６０８の処理において、識別子管理装置１１０が個人情報管理装置１０９に対して送信するマッチング結果メッセージ１６１０の内容を示す概略図である。
【０１６９】
この図において、符号２７０１−１と符号２７０１−２は応答情報、符号２７０２は応答情報に振られたシーケンス番号、符号２７０３はマッチング結果情報の例である。
【０１７０】
図に示すように、マッチング結果メッセージ１６１０は一つ以上の応答情報２７０１−１、２７０１−２、．．．を含む。各応答情報２７０１は、当該応答情報をメッセージ内で一意に識別可能とするシーケンス番号２７０２と、マッチング要求のあった個人識別子を示す個人識別子２７０３と、当該個人識別子に関するマッチングの結果を示すマッチング結果情報２７０４と、で構成される。図２７では、応答情報の例として、シーケンス番号２７０２の値として「１」を持ち、また個人識別子２７０３として「２００００１」を持ち、またマッチング結果情報２７０４として、マッチした基本識別子「１００００００１」とマッチした属性種別のリスト「氏、名、都道府県、．．．」と、が含まれる。
【０１７１】
利用機関システム１０８の個人情報管理装置１０９は、マッチング結果メッセージ１６１０に含まれるマッチング結果を確認し、マッチした属性種別の数や種類に基づいて、どの個人識別子とどの基本識別子を紐付けるべきか判断し、確定した紐付けを確定要求メッセージ１６１１として識別子管理装置１１０へ送信する。確定要求メッセージ１６１１を受信した識別子管理装置１１０は、確定した紐付けを識別子対応表記憶領域３０６へ格納する。
【０１７２】
図２８は第一の実施例における識別子対応表記憶領域３０６の例を示す図である。
【０１７３】
これは、識別子管理装置１１０の識別子対応表記憶領域３０６の例を示す概略図である。「個人識別子」２８０１は利用機関内で個人を特定するために使う識別子であり、「基本識別子」２８０２には当該個人識別子に紐付く基本識別子が記載される。
【０１７４】
識別子管理装置１１０は個人情報管理装置１０９などから識別子の変換要求を受信すると、識別子変換部３０２が識別子対応表記憶領域３０６を参照して、識別子の変換を実施する。ここで、識別子対応表記憶領域３０６はＨＳＭ（ハードウェアセキュリティモジュール）等の耐タンパ性を有するモジュールに格納された秘密鍵で暗号化されており、必要に応じて情報を復号するようにして、識別子の対応関係が外部へ漏洩する危険性を下げることも可能である。
【０１７５】
なお、マッチング装置１０７によるマッチング処理の過程では、基本識別子が付番されている人物に対して、マッチング処理を行うことに関する同意を取得するステップを設けることも可能である。匿名化基本情報検索部４０４による検索範囲を、本人の同意が得られた基本識別子のみに限定することで、本人の同意に基づくマッチング処理が可能となる。
【０１７６】
以上が、付番機関システム１０２内の基本情報管理装置１０３から取得した匿名化基本情報と、利用機関システム１０８内の個人情報管理装置１０９が識別子管理装置１１０を用いて匿名化した個人情報と、をマッチング機関システム１０６内のマッチング装置１０７がマッチングする処理の一例である。
【０１７７】
以上に示したように、本実施例では、付番機関システム１０２の保有する基本情報と、利用機関システム１０８の保有する個人情報と、を、各情報を開示することなく匿名性を保ったままマッチングし、同一人物に紐付く基本識別子と個人識別子のリンクを形成することが可能となる。また、付番機関システム１０２の提供する基本情報の表現を拡張することにより、マッチングに先立って利用機関システム１０８側で個人情報の正規化処理を実施することなく、文字コードの違いや表記のゆらぎ等、表現方法の差異を考慮に入れたマッチングが可能となる。
【実施例２】
【０１７８】
第二の実施例は、匿名化装置１０４の匿名値算出部２０３による匿名値算出処理の一部と、マッチング装置１０７の匿名化基本情報検索部４０４による匿名化基本情報検索処理の一部に、それぞれブルームフィルタと呼ばれる手法を応用したものである。一般に「ブルームフィルタ」とは、ある要素がある集合に含まれるか否かを検査するために使用されるビット列である。
【０１７９】
図２９は第二の実施例における匿名化装置を示す図である。
【０１８０】
これは、第二の実施例における匿名化装置２９００の機能構成の例を示す概略図である。
【０１８１】
この図において、符号２９００は匿名化装置、符号２９０１は制御部、符号２９０２は匿名化処理部、符号２９０３は匿名値算出部、符号２９０４は表現拡張処理部、符号２９０５は記憶部、符号２９０６は表現拡張規則記憶領域、符号２９０７は出力一時記憶領域、符号２９０８は拡張後基本情報一時記憶領域、符号２９０９は鍵情報記憶領域、符号２９１０は入出力部、符号２９１１は送受信部、符号２９１２は派生鍵生成部、符号２９１３はフィルタ一時記憶領域である。
【０１８２】
匿名化装置２９００は制御部２９０１、記憶部２９０５、入出力部２９１０、送受信部２９１１から構成されている。制御部２９０１は匿名化処理部２９０２、匿名値算出部２９０３、表現拡張処理部２９０４、派生鍵生成部２９１２から構成されている。匿名化処理部２９０２は送受信部２９１１を介して受信した個人情報に対して、匿名値算出部２９０３および表現拡張処理部２９０４と連携して匿名化処理を実行する処理部である。匿名値算出部２９０３は入力された個人情報に対して、逆算が困難であるような演算を施し、その結果を出力する処理部である。表現拡張処理部２９０４は表現拡張規則記憶領域２９０６に格納された規則に基づいて、入力された情報と意味的に同じだが表現の異なる情報を算出する処理部である。記憶部２９０５は表現拡張規則記憶領域２９０６、出力一時記憶領域２９０７、拡張後基本情報一時記憶領域２９０８、鍵情報記憶領域２９０９、フィルタ一時記憶領域２９１３から構成されている。表現拡張規則記憶領域２９０６はある情報と意味的には同じだが、異なる表現を持つ情報を生成するための規則を記憶する領域である。出力一時記憶領域２９０７は制御部２９０１による出力結果を一時的に記憶するための領域である。拡張後基本情報一時記憶領域２９０８は表現拡張処理部２９０４の出力を一時的に記憶するための領域である。鍵情報記憶領域２９０９は匿名値算出部２９０３が匿名値の算出処理で用いる鍵情報を記憶するための領域である。当該鍵情報は、各利用機関システム１０８の識別子管理装置１１０との間であらかじめ共有されているものとする。入出力部２９１０はキーボード等を介した利用者からの入力と、モニタ等を介した利用者への出力と、を制御する処理部である。送受信部２９１１はＴＣＰ／ＩＰ通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して情報の送受信を行う処理部である。派生鍵生成部２９１２は基本識別子からｒ個の派生鍵を生成する処理部である。ここでｒは任意の正整数であり、要求される安全性や効率性に応じて適切に決定することが可能である。フィルタ一時記憶領域２９１３は匿名値算出部２９０３が匿名値の算出処理で生成したブルームフィルタを一時的に記憶する領域である。
【０１８３】
図３０は第二の実施例におけるマッチング装置を示す図である。
【０１８４】
これは、第二の実施例におけるマッチング装置３０００の機能構成を示す概略図である。
【０１８５】
この図において、符号３０００はマッチング装置、符号３００１は制御部、符号３００２はマッチング処理部、符号３００３は匿名化基本情報処理部、符号３００４は匿名化基本情報検索部、符号３００５は記憶部、符号３００６は匿名化基本情報記憶領域、符号３００７は出力一時記憶領域、符号３００８は入出力部、符号３００９は送受信部、符号３０１０は派生鍵生成部、符号３０１１はフィルタ一時記憶領域である。
【０１８６】
マッチング装置３０００は制御部３００１、記憶部３００５、入出力部３００８、送受信部３００９から構成されている。制御部３００１はマッチング処理部３００２、匿名化基本情報処理部３００３、匿名化基本情報検索部３００４、派生鍵生成部３０１０から構成されている。マッチング処理部３００２は付番機関システム１０２から受信した匿名化基本情報と、利用機関システム１０８から受信した匿名化属性情報とのマッチングを実施する処理部である。匿名化基本情報処理部３００３は付番機関システム１０２の匿名化装置１０４から受信した匿名化基本情報を匿名化基本情報記憶領域３００６に格納する処理部である。匿名化基本情報検索部３００４は匿名化基本情報記憶領域３００６に格納された匿名化基本情報を検索する処理部である。記憶部３００５は匿名化基本情報記憶領域３００６、出力一時記憶領域３００７、フィルタ一時記憶領域３０１１から構成されている。匿名化基本情報記憶領域３００６は付番機関システム１０２から受信した匿名化基本情報を記憶する領域である。出力一時記憶領域３００７は制御部３００１による出力結果を一時的に記憶するための領域である。入出力部３００８はキーボード等を介した利用者からの入力と、モニタ等を介した利用者への出力と、を制御する処理部である。送受信部３００９はＴＣＰ／ＩＰ通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して情報の送受信を行う処理部である。派生鍵生成部３０１０は基本識別子からｒ個の派生鍵を生成する処理部である。ここでｒは任意の正整数であり、要求される安全性や効率性に応じて適切に決定することが可能である。フィルタ一時記憶領域３０１１は匿名化基本情報検索部３００４が匿名化基本情報の検索処理の過程で生成したブルームフィルタを一時的に記憶する領域である。
【０１８７】
その他の装置については、第一の実施例と同様であるため、説明を省略する。
【０１８８】
図３１は第二の実施例における匿名化装置２９００の匿名値算出部２９０３による匿名値算出処理フローを示す図である。
【０１８９】
これは、匿名化装置２９００の匿名値算出部２９０３が、拡張後基本情報を匿名化基本情報へ変換し、出力一時記憶領域２９０７へ格納する処理の詳細を示すフローチャートである。
【０１９０】
ステップ３１０１は拡張後基本情報一時記憶領域２９０８からシーケンス番号ｎと基本識別子ｉを取得する処理である。
【０１９１】
ステップ３１０２はシーケンス番号ｎと基本識別子ｉを出力一時記憶領域２９０７へ追記する処理である。
【０１９２】
ステップ３１０３は派生鍵生成部２９１２を利用して、基本識別子ｉから、ｒ個の派生鍵Ｋ＿１、．．．、Ｋ＿ｒを生成する処理である。
【０１９３】
ステップ３１０４はフィルタ一時記憶領域２９１３の全てのビットを０にする処理である。
【０１９４】
ステップ３１０５は鍵情報記憶領域２９０９から鍵情報Ｋを取得する処理である。
【０１９５】
ステップ３１０６は拡張後基本情報一時記憶領域内の各属性種別ｔと属性値ｖを取り出す処理である。もし、要素があれば、ステップ３１０７へ進む。全ての要素に対する処理が終わると、ステップ３１１２へ進む。
【０１９６】
ステップ３１０７は属性種別ｔと属性値ｖを結合した値ｔｖを取得する処理である。
【０１９７】
ステップ３１０８はＫを鍵として、Ｈ１を用いてｔｖのハッシュ値を計算し、計算結果を匿名値ｖａ１とする処理である。
【０１９８】
ステップ３１０９は派生鍵集合内の各派生鍵Ｋ＿ｊを取り出す処理である。もし、要素があれば、ステップ３１１０へ進む。各要素に対する処理の後、ステップ３１１１へ進む。
【０１９９】
ステップ３１１０はＫ＿ｊを鍵として、Ｈ２を用いてｖａ１のハッシュ値を計算し、結果に対応するフィルタ一時記憶領域２９１３のビットを１とする処理である。
【０２００】
ステップ３１１１はフィルタ一時記憶領域２９１３に格納されたビット列を出力一時記憶領域２９０７へ追記する処理である。
【０２０１】
ステップ３１１２は匿名値算出処理の完了を匿名化処理部２９０２へ通知する処理である。
【０２０２】
ここで、ステップ３１０９からステップ３１１１の過程はブルームフィルタ生成アルゴリズムとして知られる手順を応用したものであり、フィルタ一時記憶領域２９１３に格納れるビット列は、拡張後基本情報に含まれる複数の拡張後属性情報を代表するブルームフィルタである。
【０２０３】
図３２は第二の実施例における匿名化装置２９００の匿名値算出処理の概要を示す図である。
【０２０４】
これは、第二の実施例において、匿名化装置１０４の匿名値算出部２９０３が実行する匿名値算出処理の例を示す概略図である。
【０２０５】
例えば、拡張後基本情報一時記憶領域２９０８に、拡張後基本情報１１０２で示すような拡張後基本情報が記憶されていた場合には、まずシーケンス番号「１」と基本識別子「１００００００１」が取得され（ステップ３１０１）、次に当該シーケンス番号「１」と当該基本識別子「１００００００１」が出力一時記憶領域２９０７へ追記され（ステップ３１０２）、次に派生鍵生成部２９１２によって基本識別子「１００００００１」からｒ個の派生鍵Ｋ＿１、．．．、Ｋ＿ｒが生成され（ステップ３１０３）、次に鍵情報記憶領域２９０９から鍵情報Ｋが取得され（ステップ３１０５）、次に拡張後基本情報一時記憶領域２９０８内の属性種別「氏」と属性値「山田（ｕｔｆ−８）」が取得され（ステップ３１０６）、次に結合値「氏：山田」が取得され（ステップ３１０７）、次に鍵情報Ｋを鍵とする鍵付ハッシュ関数Ｈ１により、結合値「氏：山田」から匿名値「ｂｃ３１５ｆ．．．」が取得され（ステップ３１０８）、次に各派生鍵Ｋ＿ｊ（ｊは１からｒまでの正整数）について、Ｋ＿ｊを鍵とする鍵付ハッシュ関数Ｈ２により、匿名値「ｂｃ３１５ｆ．．．」からハッシュ値ｈ＿ｊが生成され、フィルタ一時記憶領域２９１３内のｈ＿ｊに対応するビットが１にセットされ（ステップ３１１０）、全ての派生鍵について処理が終わると、フィルタ一時記憶領域２９１３内のビット列が出力一時記憶領域２９０７へ追記される（ステップ３１１１）。
【０２０６】
匿名化装置２９００のその他の処理については、第一の実施例と同様であるため、説明を省略する。
【０２０７】
図３３は第二の実施例におけるマッチング装置３０００の匿名化基本情報検索部３００４による匿名化基本情報検索フローを示す図である。
【０２０８】
これは、マッチング装置３０００の匿名化基本情報検索部３００４が、匿名化個人情報をキーとして匿名化基本情報記憶領域３００６を検索し、基本識別子の候補を取得する処理の詳細を示すフローチャートである。
【０２０９】
ステップ３３０１はマッチング処理部３００２からシーケンス番号ｎと匿名化個人属性情報ｖｌを取得する処理である。
【０２１０】
ステップ３３０２はｎを出力一時記憶領域３００７へ追記する処理である。
【０２１１】
ステップ３３０３はｖｌ内の各属性シーケンス番号ｍと匿名値ｖａ１を取り出す処理である。もし、要素があれば、ステップ３３０４へ進む。全ての要素に対する処理が終わると、ステップ３３１２へ進む。
【０２１２】
ステップ３３０４は基本識別子集合内の各基本識別子ｉを取り出す処理である。もし、要素があれば、ステップ３３０５へ進む。全ての要素に対する処理が終わると、ステップ３３０３へ戻る。
【０２１３】
ステップ３３０５は派生鍵生成部３０１０を利用して、基本識別子ｉから、ｒ個の派生鍵Ｋ＿１、．．．、Ｋ＿ｒを生成する処理である。
【０２１４】
ステップ３３０６はフィルタ一時記憶領域３０１１の全てのビットを０にする処理である。
【０２１５】
ステップ３３０７は派生鍵集合内の各Ｋ＿ｊを取り出す処理である。もし、要素があれば、ステップ３３０８へ進む。各要素に対する処理の後、ステップ３３０９へ進む
ステップ３３０８はＫ＿ｊを鍵として、Ｈ２を用いてｖａ１のハッシュ値を計算し、結果に対応するフィルタ一時記憶領域３０１１のビットを１とする処理である。
【０２１６】
ステップ３３０９は匿名化基本情報記憶領域３００６から、基本識別子ｉと同じ行のフィルタ情報ｆを取得する処理である。
【０２１７】
ステップ３３１０はフィルタ一時記憶領域３０１１のビット列とｆとの論理和がｆと等しいかどうか調べる処理である。もしフィルタ一時記憶領域３０１１のビット列とｆとの論理和がｆと等しければ、ステップ３３１１へ進む。もしフィルタ一時記憶領域３０１１のビット列とｆとの論理和がｆと等しくなければ、ステップ３３０４へ戻る。
【０２１８】
ステップ３３１１は基本識別子ｉと属性シーケンス番号ｍの組を出力一時記憶領域３００７に格納する処理である。
【０２１９】
ステップ３３１２は匿名化基本情報検索処理の完了をマッチング処理部３００２へ通知する処理である。
【０２２０】
図３４は第二の実施例におけるマッチング装置３０００の匿名化基本情報検索処理の概要を示す図である。
【０２２１】
これは、第二の実施例において、マッチング装置３０００の匿名化基本情報検索部３００４が実行する匿名化基本情報検索処理の例を示す概略図である。
【０２２２】
例えば匿名化基本情報検索部３００４は、マッチング処理部３００２から匿名化個人情報３４０１で示すような匿名化個人情報を受信した場合（ステップ３３０１）、シーケンス番号「１」が出力一時記憶領域３００７へ追記され（ステップ３３０２）、次に匿名化個人属性情報ｖｌ内の属性シーケンス番号「１」と匿名値「ｃｄ４２６０」が取得され（ステップ３３０３）、次に基本識別子集合から基本識別子の候補として「１００００００１」が取得され（ステップ３３０４）、次に派生鍵生成部３０１０によって基本識別子「１００００００１」からｒ個の派生鍵Ｋ＿１、．．．、Ｋ＿ｒが生成され（ステップ３３０５）、次に各派生鍵Ｋ＿ｊ（ｊは１からｒまでの正整数）について、Ｋ＿ｊを鍵とする鍵付ハッシュ関数Ｈ２により、匿名値「ｃｄ４２６０．．．」からハッシュ値ｈ＿ｊが生成され、フィルタ一時記憶領域３０１１内のｈ＿ｊに対応するビットが１にセットされ（ステップ３３０８）、全ての派生鍵について処理が終わると、匿名化基本情報記憶領域３００６から基本識別子「１００００００１」を含む行のフィルタ情報ｆ＝「１００１１１００．．．」が取得され（ステップ３３０９）、取得したフィルタ情報ｆ＝「１００１１１００．．．」とフィルタ一時記憶領域３０１１内のビット列「００００１１００．．．」の論理和を計算することにより「１００１１１００．．．」が取得され、当該値「１００１１１００．．．」がフィルタ情報ｆ＝「１００１１１００．．．」と等しいか否かを検査し（ステップ３３１０）、値が等しいことが確認されると、基本識別子の候補「１００００００１」と属性シーケンス番号「１」の組が出力一時記憶領域３００７に格納される（ステップ３３１１）。
【０２２３】
マッチング装置３０００のその他の処理については、第一の実施例と同様であるため、説明を省略する。
【０２２４】
以上に示したように、第二の実施例においては、ブルームフィルタを利用することにより、第一の実施例に比べて匿名化基本情報記憶領域３００６が必要とする記憶領域を小さくできる。また、匿名化基本情報検索部３００４による匿名化基本情報記憶領域３００６の検索回数が、フィルタ一時記憶領域３０１１内のビット列とフィルタ情報との比較の一度で済み、第一の実施例に比べて当該検索処理を高速化できる。
【符号の説明】
【０２２５】
１０１…匿名化マッチングシステム、１０２…付番機関システム、１０３…基本情報管理装置、１０４…匿名化装置、１０５…ネットワーク、１０６…マッチング機関システム、１０７…マッチング装置、１０８…利用機関システム、１０９…個人情報管理装置、１１０…識別子管理装置、１１１…利用機関システム、１１２…個人情報管理装置、１１３…識別子管理装置。
【図１】
2012247882.tif 000003
【図２】
2012247882.tif 000004
【図３】
2012247882.tif 000005
【図４】
2012247882.tif 000006
【図５】
2012247882.tif 000007
【図６】
2012247882.tif 000008
【図７】
2012247882.tif 000009
【図８】
2012247882.tif 000010
【図９】
2012247882.tif 000011
【図１０】
2012247882.tif 000012
【図１１】
2012247882.tif 000013
【図１２】
2012247882.tif 000014
【図１３】
2012247882.tif 000015
【図１４】
2012247882.tif 000016
【図１５】
2012247882.tif 000017
【図１６】
2012247882.tif 000018
【図１７】
2012247882.tif 000019
【図１８】
2012247882.tif 000020
【図１９】
2012247882.tif 000021
【図２０】
2012247882.tif 000022
【図２１】
2012247882.tif 000023
【図２２】
2012247882.tif 000024
【図２３】
2012247882.tif 000025
【図２４】
2012247882.tif 000026
【図２５】
2012247882.tif 000027
【図２６】
2012247882.tif 000028
【図２７】
2012247882.tif 000029
【図２８】
2012247882.tif 000030
【図２９】
2012247882.tif 000031
【図３０】
2012247882.tif 000032
【図３１】
2012247882.tif 000033
【図３２】
2012247882.tif 000034
【図３３】
2012247882.tif 000035
【図３４】
2012247882.tif 000036