説明

情報のマッチングシステム

【課題】各機関の個人情報開示によるプライバシ侵害を防ぎながら、当該基本情報と当該個人情報とのマッチングを実行し、同一人物に紐付く基本識別子と個人識別子のリンクを形成すること。また、利用機関側での個人情報の正規化処理を実施することなく、文字コードの違いや表記のゆらぎ等、表現方法の差異を考慮に入れたマッチングを可能とすること。
【解決手段】マッチング対象の基本情報個人情報に対して鍵付ハッシュ関数を複数回実行することで、逆算が困難な匿名化情報を生成し、個人情報を開示することなくマッチングを実行する。また、マッチング対象の基本情報に表現の拡張処理を施すことで、マッチング処理の都度正規化処理を実施することなく、表現方法の差異を考慮に入れたマッチングを可能とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報をマッチングする技術に関する。
【背景技術】
【0002】
国民に関する各種情報を取り扱う業務や情報処理の効率化を進めるに当たって、国民一人一人に識別子を割り当てる国民ID制度が一定の効果を与えるものとして期待されている。
【0003】
以降、国民の氏名、住所など、本人性の特定に利用可能な情報を「基本情報」と呼び、基本情報に基づいて国民IDを国民一人一人に与える機関を「付番機関」と呼び、付番機関によって国民一人一人に与えられる識別子を「基本識別子」と呼ぶ。また、省庁・自治体・金融機関等、国民IDを利用すると想定されている機関を「利用機関」と呼び、利用機関が国民(顧客)を管理するために利用している識別子を「個人識別子」と呼ぶ。
【0004】
利用機関で国民IDを活用するためには、利用機関側で把握している個人に対してどの基本識別子が付番されたのか、を知る必要がある。すなわち、付番機関によってある個人に付番された基本識別子と、当該個人を識別するために利用機関が既存システムで利用している個人識別子と、のリンクを生成し、管理できる必要があると考えられる。
【0005】
同一個人の情報を一つにまとめる方法は名寄せとして知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−39535号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に記載の技術では、同一機関内でのデータの名寄せを対象とするものであり、名寄せに用いる個人情報を平文のまま扱っている。当該技術を、様々な利用機関が関わると想定される国民個人情報のマッチングに利用することは、国民のプライバシ侵害に繋がり得る。
【0008】
また、特許文献1に記載の技術では、マッチングに先立って種々の正規化処理が行われていることを前提としている。正規化処理とは、名寄せ対象データの文字コードや表記方法を一定の規則に従って統一することで、マッチングの精度や速度を向上させる処理である。当該処理を、様々な利用機関が関わると想定される国民個人情報のマッチングに利用するに当たっては、利用機関毎に異なるデータ形式を統一的に正規化する規則を定めることが困難である。
【0009】
本発明は、上記事情に鑑みてなされたものであり、マッチング要求側で情報の正規化処理を必要とせず、かつ匿名性を保ったまま、情報のマッチングを行うことができる技術を提供することを課題とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明は、付番機関の基本情報と、利用機関の個人情報と、の開示によるプライバシ侵害を防ぎながら、当該基本情報と当該個人情報とのマッチングを実行し、同一人物に紐付く基本識別子と個人識別子のリンクを形成する。また、利用機関側での個人情報の正規化処理を実施することなく、文字コードの違いや表記のゆらぎ等、表現方法の差異を考慮に入れたマッチングを行う。
【発明の効果】
【0011】
本発明によれば、マッチング要求側で情報の正規化処理を必要とせず、かつ匿名性を保ったまま、情報のマッチングが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施形態である匿名化マッチングシステム101の構成を表した図。
【図2】第一の実施例における匿名化装置104の機能構成の例を示す概略図。
【図3】第一の実施例における識別子管理装置110の機能構成を示す概略図。
【図4】第一の実施例におけるマッチング装置107の機能構成を示す概略図。
【図5】一般的なコンピュータ501の構成を示す概略図。
【図6】第一の実施例において、付番機関システム102内の基本情報管理装置103が、匿名化装置104を用いて基本情報を匿名化し、マッチング装置へ送信する処理を示したシーケンス図。
【図7】第一の実施例において、付番機関システム102の基本情報管理装置103が匿名化装置104に対して送信する基本情報提供メッセージの内容の一例を示す概略図。
【図8】匿名化装置104が、付番機関システム102の基本情報管理装置103から基本情報提供メッセージを受信したときの処理の例を示すフローチャート。
【図9】匿名化装置104の表現拡張処理部204が、基本情報から拡張後基本情報を算出する処理の例を示すフローチャート。
【図10】第一の実施例における表現拡張規則記憶領域206の構成を示す概略図。
【図11】第一の実施例において、匿名化装置104の表現拡張処理部204が実行する表現拡張処理の例を示す概略図。
【図12】匿名化装置104の匿名値算出部203が、拡張後基本情報を匿名化基本情報へ変換し、出力一時記憶領域207へ格納する処理の詳細を示すフローチャート。
【図13】第一の実施例において、匿名化装置104の匿名値算出部203が実行する匿名値算出処理の例を示す概略図。
【図14】第一の実施例において、匿名化装置104がマッチング装置107に対して送信する匿名化基本情報提供メッセージの内容の例を示す概略図。
【図15】第一の実施例において、マッチング装置107が匿名化基本情報メッセージを処理した後の匿名化基本情報記憶領域406の例を示す概略図。
【図16】第一の実施例において、付番機関システム102の基本情報管理装置103が匿名化装置104を用いて匿名化した匿名化基本情報と、利用機関システム108の個人情報管理装置109が識別子管理装置110を用いて匿名化した匿名化個人情報と、をマッチング機関システム106のマッチング装置107がマッチングする処理を示すシーケンス図。
【図17】第一の実施例において、利用機関システム108の個人情報管理装置109が識別子管理装置110に対して送信するマッチング要求メッセージの内容を示す概略図。
【図18】識別子管理装置110が、利用機関システム108の個人情報管理装置109からマッチング要求メッセージを受信したときの処理の例を示すフローチャート。
【図19】識別子管理装置110の匿名値算出部304が、個人情報を匿名化個人情報へ変換し、出力一時記憶領域307へ格納する処理の詳細を示すフローチャート。
【図20】第一の実施例において、識別子管理装置110の匿名値算出部304が実行する匿名値算出処理の例を示す概略図。
【図21】第一の実施例において、識別子管理装置110が、マッチング装置107に対して送信する匿名化マッチング要求メッセージの例を示す概略図。
【図22】マッチング装置107が、利用機関システム108の識別子管理装置110から匿名化マッチング要求メッセージを受信したときの処理の例を示すフローチャート。
【図23】マッチング装置107の匿名化基本情報検索部404が、匿名化個人情報をキーとして匿名化基本情報記憶領域406を検索し、基本識別子の候補を取得する処理の詳細を示すフローチャート。
【図24】第一の実施例において、マッチング装置107の匿名化基本情報検索部404が実行する匿名化基本情報検索処理の例を示す概略図。
【図25】第一の実施例において、マッチング装置107が識別子管理装置110に対して送信する匿名化マッチング結果メッセージの内容を示す概略図。
【図26】識別子管理装置110が、マッチング装置107から匿名化マッチング結果メッセージを受信したときの処理の例を示すフローチャート。
【図27】識別子管理装置110が個人情報管理装置109に対して送信するマッチング結果メッセージの内容を示す概略図。
【図28】識別子管理装置110の識別子対応表記憶領域306の例を示す概略図。
【図29】第二の実施例における匿名化装置2900の機能構成の例を示す概略図。
【図30】第二の実施例におけるマッチング装置3000の機能構成を示す概略図。
【図31】匿名化装置2900の匿名値算出部2903が、拡張後基本情報を匿名化基本情報へ変換し、出力一時記憶領域2907へ格納する処理の詳細を示すフローチャート。
【図32】第二の実施例において、匿名化装置2900の匿名値算出部2903が実行する匿名値算出処理の例を示す概略図。
【図33】マッチング装置3000の匿名化基本情報検索部3004が、匿名化個人情報をキーとして匿名化基本情報記憶領域3006を検索し、基本識別子の候補を取得する処理の詳細を示すフローチャート。
【図34】第二の実施例において、マッチング装置3000の匿名化基本情報検索部3004が実行する匿名化基本情報検索処理の例を示す概略図。
【発明を実施するための形態】
【0013】
以下、図面を用いて本発明の実施の形態について説明する。なお、これにより本発明が限定されるものではない。
【実施例1】
【0014】
図1は第一の実施例におけるシステム構成図である。
【0015】
これは、本発明の一実施形態である匿名化マッチングシステム101の構成を表した図である。
【0016】
この図において、符号101は匿名化マッチングシステム、符号102は付番機関システム、符号103は基本情報管理装置、符号104は匿名化装置、符号105はネットワーク、符号106はマッチング機関システム、符号107はマッチング装置、符号108は利用機関システム、符号109は個人情報管理装置、符号110は識別子管理装置、符号111は利用機関システム、符号112は個人情報管理装置、符号113は識別子管理装置である。
【0017】
匿名化マッチングシステム101は付番機関システム102、ネットワーク105、マッチング機関システム106、および一つ以上の利用機関システム108、・・・、111から構成されている。付番機関システム102は基本情報管理装置103、匿名化装置104から構成されている。基本情報管理装置103は匿名化装置104と接続されている。匿名化装置104はネットワーク105、基本情報管理装置103と接続されている。ネットワーク105は匿名化装置104、マッチング装置107、識別子管理装置110、識別子管理装置113と接続されている。マッチング機関システム106はマッチング装置107から構成されている。マッチング装置107はネットワーク105と接続されている。利用機関システム108は個人情報管理装置109、識別子管理装置110から構成されている。個人情報管理装置109は識別子管理装置110と接続されている。識別子管理装置110は個人情報管理装置109、ネットワーク105と接続されている。
【0018】
図2は第一の実施例における匿名化装置104を示す図である。
【0019】
これは、第一の実施例における匿名化装置104の機能構成の例を示す概略図である。
【0020】
この図において、符号201は制御部、符号202は匿名化処理部、符号203は匿名値算出部、符号204は表現拡張処理部、符号205は記憶部、符号206は表現拡張規則記憶領域、符号207は出力一時記憶領域、符号208は拡張後基本情報一時記憶領域、符号209は鍵情報記憶領域、符号210は入出力部、符号211は送受信部である。
【0021】
制御部201は匿名化処理部202、匿名値算出部203、表現拡張処理部204から構成されている。匿名化処理部202は送受信部211を介して受信した個人情報に対して、匿名値算出部203および表現拡張処理部204と連携して匿名化処理を実行する処理部である。匿名値算出部203は入力された個人情報に対して、逆算が困難であるような演算を施し、その結果を出力する処理部である。表現拡張処理部204は表現拡張規則記憶領域206に格納された規則に基づいて、入力された情報と意味的に同じだが表現の異なる情報を算出する処理部である。記憶部205は表現拡張規則記憶領域206、出力一時記憶領域207、拡張後基本情報一時記憶領域208、鍵情報記憶領域209から構成されている。表現拡張規則記憶領域206はある情報と意味的には同じだが、異なる表現を持つ情報を生成するための規則を記憶する領域である。出力一時記憶領域207は制御部201による出力結果を一時的に記憶するための領域である。拡張後基本情報一時記憶領域208は表現拡張処理部204の出力を一時的に記憶するための領域である。鍵情報記憶領域209は匿名値算出部203が匿名値の算出処理で用いる鍵情報を記憶するための領域である。当該鍵情報は、各利用機関システム108の識別子管理装置110との間であらかじめ共有されているものとする。入出力部210はキーボード等を介した利用者からの入力と、モニタ等を介した利用者への出力と、を制御する処理部である。送受信部211はTCP/IP通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して情報の送受信を行う処理部である。
【0022】
図3は第一の実施例における識別子管理装置110を示す図である。
【0023】
これは、第一の実施例における識別子管理装置110の機能構成を示す概略図である。
【0024】
この図において、符号301は制御部、符号302は識別子変換部、符号303は匿名化処理部、符号304は匿名値算出部、符号305は記憶部、符号306は識別子対応表記憶領域、符号307は出力一時記憶領域、符号308は要求情報一時記憶領域、符号309は鍵情報記憶領域、符号310は入出力部、符号311は送受信部である。
【0025】
制御部301は識別子変換部302、匿名化処理部303、匿名値算出部304から構成されている。識別子変換部302は付番機関システム102によって発行された基本識別子と、利用機関システム108で利用する識別子との相互変換を行う処理部である。匿名化処理部303は送受信部311を介して受信した個人情報に対して、匿名値算出部304と連携して匿名化処理を実行する処理部である。匿名値算出部304は入力された個人情報に対して、逆算が困難であるような演算を施し、その結果を出力する処理部である。記憶部305は識別子対応表記憶領域306、出力一時記憶領域307、要求情報一時記憶領域308、鍵情報記憶領域309から構成されている。識別子対応表記憶領域306は付番機関システム102によって発行された基本識別子と、利用機関システム108によって利用される識別子との対応付けを記憶する領域である。出力一時記憶領域307は制御部301による出力結果を一時的に記憶するための領域である。要求情報一時記憶領域308はマッチング要求メッセージ1604内の情報の一部を一時的に記憶しておくための領域である。鍵情報記憶領域309は匿名値算出部304が匿名値の算出処理で用いる鍵情報を記憶するための領域である。当該鍵情報は、付番機関システム102の匿名化装置104との間であらかじめ共有されているものとする。入出力部310はキーボード等を介した利用者からの入力と、モニタ等を介した利用者への出力と、を制御する処理部である。送受信部311はTCP/IP通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して情報の送受信を行う処理部である。
【0026】
その他の利用機関システムについても、識別子管理装置の機能構成は同様であるため、記載を省略する。
【0027】
図4は第一の実施例におけるマッチング装置107を示す図である。
【0028】
これは、第一の実施例におけるマッチング装置107の機能構成を示す概略図である。
【0029】
この図において、符号401は制御部、符号402はマッチング処理部、符号403は匿名化基本情報処理部、符号404は匿名化基本情報検索部、符号405は記憶部、符号406は匿名化基本情報記憶領域、符号407は出力一時記憶領域、符号408は入出力部、符号409は送受信部である。
【0030】
制御部401はマッチング処理部402、匿名化基本情報処理部403、匿名化基本情報検索部404から構成されている。マッチング処理部402は付番機関システム102から受信した匿名化基本情報と、利用機関システム108から受信した匿名化属性情報とのマッチングを実施する処理部である。匿名化基本情報処理部403は付番機関システム102の匿名化装置104から受信した匿名化基本情報を匿名化基本情報記憶領域406に格納する処理部である。匿名化基本情報検索部404は匿名化基本情報記憶領域406に格納された匿名化基本情報を検索する処理部である。記憶部405は匿名化基本情報記憶領域406、出力一時記憶領域407から構成されている。匿名化基本情報記憶領域406は付番機関システム102から受信した匿名化基本情報を記憶する領域である。出力一時記憶領域407は制御部401による出力結果を一時的に記憶するための領域である。入出力部408はキーボード等を介した利用者からの入力と、モニタ等を介した利用者への出力と、を制御する処理部である。送受信部409はTCP/IP通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して情報の送受信を行う処理部である。
【0031】
図5は装置のハードウェア構成図である。
【0032】
これは、一般的なコンピュータの構成を示す概略図である。
【0033】
この図において、符号501はコンピュータ、符号502は出力装置、符号503は外部記憶装置、符号504はメモリ、符号505はCPU、符号506は送受信装置、符号507は入力装置、符号508は読取装置、符号509は記憶媒体である。
コンピュータ501は出力装置502、外部記憶装置503、メモリ504、CPU505、送受信装置506、入力装置507、読取装置508から構成されている。出力装置502はメモリ504と接続されている。外部記憶装置503は入力装置507と接続されている。メモリ504は出力装置502と接続されている。CPU505は送受信装置506、読取装置508と接続されている。送受信装置506はCPU505と接続されている。入力装置507は外部記憶装置503と接続されている。読取装置508はCPU505と接続されている。
【0034】
本実施形態における各装置は、例えば、図5に示すような、CPU505と、メモリ504と、HDD(Hard Disk Drive)等の外部記憶装置503と、CD−ROM(Compact Disk Read Only Memory)やDVD−ROM(Digital Versatile Disk Read Only Memory)などの可搬性を有する記憶媒体509から情報を読み出す読取装置508と、キーボードやマウス等の入力装置507と、ディスプレイなどの出力装置502と、通信ネットワークに接続するためのNIC(Network Interface Card)などの送受信装置506と、を備えた一般的なコンピュータ501で実現できる。例えば、各装置の記憶部内の記憶領域は、CPU505がメモリ504又は外部記憶装置503を利用することにより実現可能である。また、特定の処理や制御を行う制御部については、外部記憶装置503に記憶されている所定のプログラムをメモリ504にロードしてCPU505で実行することで実現可能である。また、送受信部等の通信制御を行う機能については、CPU505が送受信装置506を利用することで実現可能である。この所定のプログラムは、読取装置508を介して記憶媒体509から、あるいは、送受信装置506を介してネットワークから、外部記憶装置503にダウンロードされ、それから、メモリ504上にロードされてCPU505により実行されるようにしてもよい。また、読取装置508を介して記憶媒体509から、あるいは、送受信装置506を介してネットワークから、メモリ504上に直接ロードされ、CPU505により実行されるようにしてもよい。
【0035】
次に、図6から図16を用いて、付番機関システム102内の基本情報管理装置103が、匿名化装置104を用いて匿名化した基本情報を、マッチング機関システム106内のマッチング装置107へ送信し、当該基本情報をマッチング装置107が格納する、一連の処理について説明する。
【0036】
図6は第一の実施例において、付番機関システム102内の基本情報管理装置103が、匿名化装置104を用いて基本情報を匿名化し、マッチング装置107へ送信する処理のシーケンスを示す図である。
【0037】
ここで、最初に、基本情報管理装置103は、基本情報提供メッセージ604を匿名化装置104へ送信する。次に、匿名化装置104は基本情報を匿名化する処理605を行う。次に、匿名化装置104は、匿名化基本情報提供メッセージ606をマッチング装置107へ送信する。最後に、マッチング装置107は匿名化基本情報提供メッセージ606に含まれる匿名化基本情報を格納する処理607を行う。
【0038】
図7は第一の実施例における基本情報提供メッセージ604の例を示す図である。
【0039】
これは、第一の実施例において、付番機関システム102の基本情報管理装置103が匿名化装置104に対して送信する基本情報提供メッセージ604の内容の一例を示す概略図である。
【0040】
この図において、符号701−1と符号701−2は基本情報、符号702は基本情報に振られたシーケンス番号、符号703は基本識別子の例、符号704は基本属性情報の例である。
【0041】
図に示すように、基本情報提供メッセージ604は一つ以上の基本情報701−1、701−2、...を含む。各基本情報701は、当該基本情報をメッセージ内で一意に識別可能とするシーケンス連番702と、当該基本情報に対応する人物に振られた基本識別子703と、当該人物に紐付く基本属性情報704と、で構成される。図7では、基本情報の例として、シーケンス番号702として「1」を持ち、また基本識別子703として「10000001」を持つ基本情報を示している。また基本属性情報704としては、「氏」属性としてutf−8でコード化された「山田」を、「名」属性としてutf−8でコード化された「太郎」を、「氏:カナ」属性としてutf−8でコード化された「ヤマダ」を、「名:カナ」属性としてutf−8でコード化された「タロウ」を、「住所コード」属性としてasciiコード化された「123456」を、「都道府県」属性としてutf−8でコード化された「神奈川」を、「都道府県:カナ」属性としてutf−8でコード化された「カナガワ」を、「生年:西暦」属性としてasciiコード化された「1980」を、それぞれ値に持つ。
【0042】
図8は第一の実施例における匿名化装置104の匿名化処理フローを示す図である。
【0043】
これは、匿名化装置104が、付番機関システム102の基本情報管理装置103から基本情報提供メッセージ604を受信したときの処理の例を示すフローチャートである。
【0044】
ステップ801は送受信部211が、基本情報提供メッセージ604を受信する処理である。
【0045】
ステップ802は送受信部211が、基本情報提供メッセージ604の内容を匿名化処理部202へ送信する処理である。
【0046】
ステップ803は匿名化処理部202が、出力一時記憶領域207を空にする処理である。
【0047】
ステップ804は基本情報提供メッセージ内の各基本情報(シーケンス番号と基本識別子と基本属性情報)を取り出す処理である。もし、要素があれば、ステップ805へ進む。全ての要素に対する処理が終わると、ステップ807へ進む。
【0048】
ステップ805は表現拡張処理部204が、基本情報から拡張後基本情報を算出し、拡張後基本情報一時記憶領域208へ追記する処理である。当該ステップについては、図9の説明とともに処理の詳細を後述する。
【0049】
ステップ806は匿名値算出部203が、拡張後基本情報を匿名化基本情報へ変換し、出力一時記憶領域207へ追記する処理である。当該ステップについては、図12の説明とともに処理の詳細を後述する。
【0050】
ステップ807は送受信部211が、マッチング装置107に対して、出力一時記憶領域207に格納された情報を匿名化基本情報提供メッセージ606として送信する処理である。当該匿名化基本情報提供メッセージ606については、図14の説明とともに詳細を後述する。
【0051】
図9は第一の実施例における匿名化装置104の表現拡張処理部204による表現拡張処理フローを示す図である。
【0052】
これは、前述したステップ805の処理、すなわち、匿名化装置104の表現拡張処理部204が、基本情報から拡張後基本情報を算出する処理の詳細を示すフローチャートである。
【0053】
ステップ901は匿名化処理部202から基本情報(シーケンス番号nと基本識別子iと基本属性情報vb)を受信する処理である。
【0054】
ステップ902は拡張後基本情報一時記憶領域208を空にする処理である。
【0055】
ステップ903はシーケンス番号nと基本識別子iを拡張後基本情報一時記憶領域208へ追加する処理である。
【0056】
ステップ904は基本属性情報vb内の各属性種別tと属性値vを取り出す処理である。もし、要素があれば、ステップ905へ進む。全ての要素に対する処理が終わると、ステップ912へ進む
ステップ905は種別tと値vを拡張後基本情報一時記憶領域208へ追加する処理である。
【0057】
ステップ906は種別tをキーとして表現拡張規則記憶領域206の拡張対象属性種別1001列を検索する処理である。
【0058】
図10は第一の実施例における表現拡張規則記憶領域206を示す図である。
【0059】
表現拡張規則記憶領域206の各行は表現拡張処理の規則を示しており、拡張対象属性種別1001、実行条件1002、実行内容1003、拡張後属性種別1004の4つの列により構成される。拡張対象属性種別1001列には表現拡張処理の対象とする属性の種別が、実行条件1002列には表現拡張処理を実行する条件が、実行内容1003列には表現拡張処理の内容が、拡張後属性種別1004列には表現拡張処理後の情報に対して新規に属性種別を付与する場合はその属性種別が、それぞれ格納される。拡張後属性種別1004列が空の場合は、表現拡張処理後の情報に対して付与される属性種別は拡張処理前の属性種別と同じであることを意味するものとする。
【0060】
例えば行1005には、拡張対象属性種別1001列に「[*](任意の属性)」が、実行条件1002列に「[*]がutf−8以外」が、実行内容1003列に「コード変換([*]、utf−8)」が、拡張後属性種別1004列に空文字列が、それぞれ格納される。当該行は、任意の属性に対して、属性値の文字コードがutf−8以外である場合に、当該属性値の文字コードをutf−8に変更した情報を生成し、拡張前と同じ属性種別を付与する処理を実施することを表現拡張規則として示している。
【0061】
また行1008には、拡張対象属性種別1001列に「[氏]、[名]」が、実行条件1002列に「[氏名]なし」が、実行内容1003列に「結合([氏]、[名])」が、拡張後属性種別1004列に「[氏名]」が、それぞれ格納される。当該行は、属性種別が「氏名」であるような属性が存在しない場合に、属性種別が「氏」や「名」であるような属性に対して、種別「氏」の属性値と種別「名」の属性値を結合したものを、種別「氏名」の属性値として新たに追加することを表現拡張規則として示している。
【0062】
図9に戻って、ステップ907は表現拡張規則の検索に成功したかどうかを調べる処理である。もし表現拡張規則の検索に成功した場合は、ステップ908へ進む。もし表現拡張規則の検索に成功していない場合は、ステップ904へ戻る。
【0063】
ステップ908はマッチした行の実行条件1002を取得する処理である。
【0064】
ステップ909は属性種別tと属性値vに関して、ステップ908で取得した実行条件1002が成立するかどうかを調べる処理である。もし実行条件が成立する場合は、ステップ910へ進む。もし実行条件が成立しない場合は、ステップ904へ戻る。
【0065】
ステップ910はマッチした行の実行内容1003で示された表現拡張処理を実行する処理である。
【0066】
ステップ911は表現拡張処理の実行結果を、拡張後属性種別1004で示される属性種別における属性値として、拡張後基本情報一時記憶領域208へ追加する処理である。
【0067】
ステップ912は表現拡張処理の完了を匿名化処理部202へ通知する処理である。
【0068】
図11は第一の実施例における表現拡張処理の概要を示す図である。
【0069】
これは、第一の実施例において、匿名化装置104の表現拡張処理部204が実行する表現拡張処理の例を示す概略図である。
【0070】
例えば、図10の行1005で示される表現拡張規則に従って、種別「氏」の属性値「山田(utf−8)」については、文字コードがsjis、 euc−jp、 jis等へ変換されたものが拡張後基本情報へ追加される。また、図10の行1008で示される表現拡張規則に従って、種別「氏」の属性値「山田(utf−8)」と種別「名」の属性値「太郎(utf−8)」を結合した値「山田太郎」が、種別「氏名」の属性値として拡張後基本情報へ追加される。
【0071】
図12は第一の実施例における匿名化装置104の匿名値算出部203による匿名値算出処理フローを示す図である。
【0072】
これは、前述したステップ806の処理、すなわち、匿名化装置104の匿名値算出部203が、拡張後基本情報を匿名化基本情報へ変換し、出力一時記憶領域207へ追記する処理の詳細を示すフローチャートである。
【0073】
ステップ1201は拡張後基本情報一時記憶領域208からシーケンス番号nと基本識別子iを取得する処理である。
【0074】
ステップ1202はシーケンス番号nと基本識別子iを出力一時記憶領域207へ追記する処理である。
【0075】
ステップ1203は鍵情報記憶領域209から鍵情報Kを取得する処理である。
【0076】
ステップ1204は拡張後基本情報一時記憶領域内の各属性種別tと属性値vを取り出す処理である。もし、要素があれば、ステップ1205へ進む。全ての要素に対する処理が終わると、ステップ1209へ進む。
【0077】
ステップ1205は属性種別tと属性値vを結合した値tvを取得する処理である。
【0078】
ステップ1206は鍵情報Kを鍵として、鍵付ハッシュ関数H1を用いてtvのハッシュ値を計算し、計算結果を匿名値va1とする処理である。
【0079】
ステップ1207は基本識別子iを鍵として、鍵付ハッシュ関数H2を用いてva1のハッシュ値を計算し、計算結果を匿名値va2とする処理である。
【0080】
ステップ1208は匿名値va2を出力一時記憶領域207へ追記する処理である。
【0081】
ステップ1209は匿名値算出処理の完了を匿名化処理部202へ通知する処理である。
【0082】
一般的に「鍵付ハッシュ関数」は、ビット列と鍵情報を入力されると、鍵情報に依存する方法で、ビット列をハッシュ値と呼ばれる値へ変換する関数である。本実施形態における鍵付ハッシュ関数H1およびH2としては、HMAC−SHA1などに代表される任意の鍵付ハッシュアルゴリズムやMAC(メッセージ認証コード)生成アルゴリズムを使用できる。また、H1とH2として、同じ鍵付ハッシュ関数を利用することも可能である。
【0083】
図13は第一の実施例における匿名化装置104の匿名値算出処理の概要を示す図である。
【0084】
これは、第一の実施例において、匿名化装置104の匿名値算出部203が実行する匿名値算出処理の例を示す概略図である。
【0085】
例えば、拡張後基本情報一時記憶領域208に、拡張後基本情報1102で示すような拡張後基本情報が記憶されていた場合には、まずシーケンス番号「1」と基本識別子「10000001」が取得され(ステップ1201)、次に当該シーケンス番号「1」と当該基本識別子「10000001」が出力一時記憶領域207へ追記され(ステップ1202)、次に鍵情報記憶領域209から鍵情報Kが取得され(ステップ1203)、次に拡張後基本情報一時記憶領域208内の属性種別「氏」と属性値「山田(utf−8)」が取得され(ステップ1204)、次に結合値「氏:山田」が取得され(ステップ1205)、次に鍵情報Kを鍵とする鍵付ハッシュ関数H1により、結合値「氏:山田」から匿名値「bc315f...」が取得され(ステップ1206)、次に基本識別子「10000001」を鍵とする鍵付ハッシュ関数H2により、匿名値「bc315f...」から匿名値「fb12ab...」が取得され(ステップ1207)、次に匿名値「fb12ab...」が出力一時記憶領域207へ追記される(ステップ1208)。
【0086】
図14は第一の実施例における匿名化基本情報提供メッセージ606の例を示す図である。
【0087】
これは、前述したステップ807の処理において、匿名化装置104の送受信部211がマッチング装置107に対して送信する匿名化基本情報提供メッセージ606の内容の例を示す概略図である。
【0088】
この図において、符号1401−1と符号1401−2は匿名化基本情報、符号1402は匿名化基本情報に振られたシーケンス番号、符号1403は基本識別子の例、符号1404は匿名化基本属性情報の例である。
【0089】
図に示すように、匿名化基本情報提供メッセージ606は一つ以上の匿名化基本情報1401−1、1401−2、...を含む。各匿名化基本情報1401は、当該匿名化基本情報をメッセージ内で一意に識別可能とするシーケンス番号1402と、当該匿名化基本情報に対応する人物に振られた基本識別子1403と、当該人物に紐付く匿名化基本属性情報1404と、で構成される。図14では、匿名化基本情報の例として、シーケンス番号1402の値として「1」を持ち、また基本識別子1403として「10000001」を持つ匿名化基本情報を示している。また匿名化基本属性情報1404としては、図13に例示した匿名値算出処理によって出力一時記憶領域207に書き込まれた匿名値「fb12ab...」を持つ。
【0090】
当該匿名化基本情報メッセージ606を受信したマッチング装置107は、匿名化基本情報メッセージ606に含まれる匿名化基本情報を、匿名化基本情報記憶領域406に格納する。
【0091】
図15は第一の実施例における匿名化基本情報記憶領域406の例を示す図である。
【0092】
これは、第一の実施例において、マッチング装置107が匿名化基本情報メッセージ606を処理した後の匿名化基本情報記憶領域406の例を示す概略図である。
【0093】
匿名化基本情報記憶領域406の各行は匿名化基本情報の一部を示しており、基本識別子1501、匿名化基本属性情報1502の2つの列により構成される。基本識別子1501列には匿名化基本情報内の基本識別子が、匿名化基本属性情報1502列には匿名化基本情報内の匿名化基本属性情報が、それぞれ格納される。
【0094】
例えば行1503には、基本識別子1501列に「10000001」が、匿名化基本属性情報1502列に「fb12ab...」が、それぞれ格納される。当該行は、基本識別子「1000001」に対応する匿名化基本属性情報として「fb12ab...」が存在することを示している。
【0095】
以上が、付番機関システム102内の基本情報管理装置103が、匿名化装置104を用いて匿名化した個人情報を、マッチング機関システム106内のマッチング装置107へ送信し、当該個人情報をマッチング装置107が格納する処理の一例である。
【0096】
次に、図16から図28を用いて、付番機関システム102内の基本情報管理装置103から取得した匿名化基本情報と、利用機関システム108内の個人情報管理装置109が識別子管理装置110を用いて匿名化した個人情報と、をマッチング機関システム106内のマッチング装置107がマッチングする処理について説明する。
【0097】
図16は第一の実施例において、付番機関システム102の基本情報管理装置103が匿名化装置104を用いて匿名化した匿名化基本情報と、利用機関システム108の個人情報管理装置109が識別子管理装置110を用いて匿名化した匿名化個人情報と、をマッチング機関システム106のマッチング装置107がマッチングする処理のシーケンスを示す図である。
【0098】
ここで、最初に、個人情報管理装置109は、マッチング要求メッセージ1604を識別子管理装置110へ送信する。次に、識別子管理装置110は個人情報を匿名化する処理1605を行う。次に、識別子管理装置110は、匿名化マッチング要求メッセージ1606をマッチング装置107へ送信する。次に、マッチング装置107は匿名化情報をマッチングする処理1607を行う。次に、マッチング装置107は、匿名化マッチング結果メッセージ1608を識別子管理装置110へ送信する。次に、識別子管理装置110は、マッチング結果メッセージ1609を個人情報管理装置109へ送信する。次に、個人情報管理装置109は結果を確認する処理1610を行う。次に、個人情報管理装置109は、確定要求メッセージ1611を識別子管理装置110へ送信する。最後に、識別子管理装置110はマッチング結果を確定する処理1612を行う。
【0099】
図17は第一の実施例におけるマッチング要求メッセージの内容を示す図である。
【0100】
これは、第一の実施例において、利用機関システム108の個人情報管理装置109が識別子管理装置110に対して送信するマッチング要求メッセージ1604の内容を示す概略図である。
【0101】
この図において、符号1701−1と符号1701−2は個人情報、符号1702は個人情報に振られたシーケンス番号、符号1703は個人識別子の例、符号1704は個人属性情報の例である。
【0102】
図に示すように、マッチング要求メッセージ1604は一つ以上の個人情報1701−1、1701−2、...を含む。各個人情報1701−1、1701−2、...は、当該個人情報をメッセージ内で一意に識別可能とするシーケンス番号1702と、当該個人情報に対応する人物に対して利用機関システム108内で振られている個人識別子1703と、当該人物に紐付く個人属性情報1704と、で構成される。図17では、情報の例として、シーケンス番号1702の値として「1」を持ち、また個人識別子1703として「200001」を持つ個人情報を示している。また個人属性情報1704としては、「氏」属性にsjisでコード化された「山田」を持ち、「名」属性にsjisでコード化された「太郎」を持ち、「都道府県」属性としてsjisでコード化された「カナガワ」を、それぞれ値に持つ。また各個人属性情報には、当該個人属性情報を個人情報内で一意に識別可能とするシーケンス番号が振られている。図では、「氏」属性の「山田」には1番が振られ、「名」属性の「太郎」には2番が振られ、「都道府県」属性の「カナガワ」には3番が振られている。
【0103】
図18は第一の実施例における識別子管理装置110の匿名化処理フローを示す図である。
【0104】
これは、識別子管理装置110が、利用機関システム108の個人情報管理装置109からマッチング要求メッセージ1604を受信したときの処理の例を示すフローチャートである。
【0105】
ステップ1801は送受信部310が、マッチング要求メッセージ1604を受信する処理である。
【0106】
ステップ1802は送受信部310が、マッチング要求メッセージ1604の内容を匿名化処理部303へ送信する処理である。
【0107】
ステップ1803は匿名化処理部303が、出力一時記憶領域307を空にする処理である。
【0108】
ステップ1804はマッチング要求メッセージ内の各個人情報を取り出す処理である。もし、要素があれば、ステップ1805へ進む。全ての要素に対する処理が終わると、ステップ1808へ進む。
【0109】
ステップ1805は匿名値算出部304が、個人情報を匿名化個人情報へ変換し、出力一時記憶領域307へ追記する処理である。当該ステップについては、図19の説明とともに処理の詳細を後述する。
【0110】
ステップ1806は送受信部310が、マッチング装置107に対して、出力一時記憶領域307に格納された情報を匿名化マッチング要求メッセージ1606として送信する処理である。当該匿名化マッチング要求メッセージ1606については、図21の説明とともに処理の詳細を後述する。
【0111】
図19は第一の実施例における識別子管理装置110の匿名値算出部304による匿名値算出処理フローを示す図である。
【0112】
これは、前述したステップ1805の処理、すなわち、識別子管理装置110の匿名値算出部304が、個人情報を匿名化個人情報へ変換し、出力一時記憶領域307へ格納する処理の詳細を示すフローチャートである。
【0113】
ステップ1901は匿名化処理部303から個人情報(シーケンス番号nと個人識別子iと個人属性情報vl)を取得する処理である。
【0114】
ステップ1902は要求情報一時記憶領域308を空にする処理である。
【0115】
ステップ1903はシーケンス番号nと個人識別子iを要求情報一時記憶領域308へ追記する処理である。
【0116】
ステップ1904はシーケンス番号nを出力一時記憶領域307へ追記する処理である。
【0117】
ステップ1905は鍵情報記憶領域309から鍵情報Kを取得する処理である。
【0118】
ステップ1906は個人属性情報vl内の各属性シーケンス番号mと属性種別tと属性値vを取り出す処理である。もし、要素があれば、ステップ1907へ進む。各要素に対する処理の後、ステップ1911へ進む。
【0119】
ステップ1907は属性シーケンス番号mと属性種別tの組を要求情報一時記憶領域308の属性種別列へ追記する処理である。
【0120】
ステップ1908は属性種別tと属性値vを結合した値tvを取得する処理である。
【0121】
ステップ1909は鍵情報Kを鍵として、鍵付ハッシュ関数H1を用いてtvのハッシュ値を計算し、計算結果を匿名値va1とする処理である。
【0122】
ステップ1910は属性シーケンス番号mと匿名値va1の組を出力一時記憶領域307へ追記する処理である。
【0123】
ステップ1911は匿名値算出処理の完了を匿名化処理部303へ通知する処理である。
【0124】
図20は第一の実施例における識別子管理装置110の匿名値算出処理の概要を示す図である。
【0125】
これは、第一の実施例において、識別子管理装置110の匿名値算出部304が実行する匿名値算出処理の例を示す概略図である。
【0126】
例えば匿名値算出部304は、匿名化処理部303から個人情報2001で示すような個人情報を受信した場合(ステップ1901)、シーケンス番号「1」と個人識別子「200001」が要求情報一時記憶領域308へ追記され(ステップ1903)、次にシーケンス番号「1」が出力一時記憶領域307へ追記され(ステップ1904)、次に鍵情報記憶領域309から鍵情報Kが取得され(ステップ1905)、次に個人属性情報vl内の属性シーケンス番号「1」と属性種別「氏」と属性値「山田(sjis)」が取得され(ステップ1906)、次に属性シーケンス番号「1」と属性種別「氏」の組が要求情報一時記憶領域308へ追記され(ステップ1907)、次に結合値「氏:山田」が取得され(ステップ1908)、次に鍵情報Kを鍵とする鍵付ハッシュ関数H1により、結合値「氏:山田」から匿名値「cd4260...」が取得され(ステップ1909)、次に属性シーケンス番号「1」と匿名値「cd4260...」が、匿名化個人属性情報として出力一時記憶領域307へ追記される(ステップ1910)。
【0127】
図21は第一の実施例における匿名化マッチング要求メッセージ1606の例を示す図である。
【0128】
これは、前述したステップ1806の処理において、識別子管理装置110の送受信部311が、マッチング装置107に対して送信する匿名化マッチング要求メッセージ1606の例を示す概略図である。
【0129】
この図において、符号2101−1と符号2101−2は匿名化個人情報、符号2102は匿名化個人情報に振られたシーケンス番号、符号2103は匿名化個人属性情報の例である。
【0130】
図に示すように、匿名化マッチング要求メッセージ1606は一つ以上の匿名化個人情報2101−1、2101−2、...を含む。各匿名化個人情報2101は、当該匿名化個人情報をメッセージ内で一意に識別可能とするシーケンス番号2102と、当該匿名化個人情報に対応する人物に紐付く匿名化個人属性情報2103と、で構成される。図21では、匿名化個人情報の例として、シーケンス番号2102の値として「1」を持ち、また匿名化個人属性情報2103として、図20に例示した匿名値算出処理によって出力一時記憶領域307に書き込まれた属性シーケンス番号「1」と匿名値「cd4260...」を持つ。
【0131】
図22は第一の実施例におけるマッチング装置107のマッチング処理フローを示す図である。
【0132】
これは、マッチング装置107が、利用機関システム108の識別子管理装置110から匿名化マッチング要求メッセージ1606を受信したときの処理の例を示すフローチャートである。
【0133】
ステップ2201は送受信部409が、匿名化マッチング要求メッセージ1606を受信する処理である。
【0134】
ステップ2202は送受信部409が、匿名化マッチング要求メッセージ1606の内容をマッチング処理部402へ送信する処理である。
【0135】
ステップ2203は匿名化マッチング要求メッセージ1606内の各匿名化個人情報を取り出す処理である。もし、要素があれば、ステップ2204へ進む。全ての要素に対する処理が終わると、ステップ2206へ進む。
【0136】
ステップ2204はマッチング処理部402が、匿名化個人情報を匿名化基本情報検索部404へ送信する処理である。
【0137】
ステップ2205は匿名化基本情報検索部404が、匿名化個人情報をキーとして匿名化基本情報記憶領域406内を検索し、結果を出力一時記憶領域407へ追記する処理である。当該ステップについては、図23の説明とともに処理の詳細を後述する。
【0138】
ステップ2206は送受信部409が、識別子管理装置110に対して、出力一時記憶領域407に格納された情報を匿名化マッチング結果メッセージ1608として送信する処理である。当該匿名化マッチング結果メッセージ1608については、図25の説明とともに詳細を後述する。
【0139】
図23は第一の実施例におけるマッチング装置107の匿名化基本情報検索部404による匿名化基本情報検索フローを示す図である。
【0140】
これは、前述したステップ2205の処理、すなわち、マッチング装置107の匿名化基本情報検索部404が、匿名化個人情報をキーとして匿名化基本情報記憶領域406を検索し、基本識別子の候補を取得する処理の詳細を示すフローチャートである。
【0141】
ステップ2301はマッチング処理部402から匿名化個人情報(シーケンス番号nと匿名化個人属性情報vl)を取得する処理である。
【0142】
ステップ2302はシーケンス番号nを出力一時記憶領域407へ追記する処理である。
【0143】
ステップ2303は匿名化個人属性情報vl内の各属性シーケンス番号mと匿名値va1を取り出す処理である。もし、要素があれば、ステップ2304へ進む。全ての要素に対する処理が終わると、ステップ2309へ進む。
【0144】
ステップ2304は基本識別子集合内の基本識別子iを取り出す処理である。もし、要素があれば、ステップ2305へ進む。全ての要素に対する処理が終わると、ステップ2303へ戻る。
【0145】
ステップ2305はiを鍵として、鍵付ハッシュ関数H2を用いてva1のハッシュ値を計算し、計算結果va2を取得する処理である。
【0146】
ステップ2306は匿名化基本情報記憶領域406内に、基本識別子iと匿名値va2の組を含む行が存在するか検索する処理である。
【0147】
ステップ2307はiとva2の組を含む行が存在するかどうか調べる処理である。もしiとva2の組を含む行が存在する場合は、ステップ2308へ進む。もしiとva2の組を含む行が存在しない場合は、ステップ2304へ戻る。
【0148】
ステップ2308は基本識別子iと属性シーケンス番号mの組を出力一時記憶領域407に格納する処理である。
【0149】
ステップ2309は匿名化基本情報検索処理の完了をマッチング処理部402へ通知する処理である。
【0150】
図24は第一の実施例におけるマッチング装置107の匿名化基本情報検索処理の概要を示す図である。
【0151】
これは、第一の実施例において、マッチング装置107の匿名化基本情報検索部404が実行する匿名化基本情報検索処理の例を示す概略図である。
【0152】
例えば匿名化基本情報検索部404は、マッチング処理部402から匿名化個人情報2401で示すような匿名化個人情報を受信した場合(ステップ2301)、シーケンス番号「1」が出力一時記憶領域407へ追記され(ステップ2302)、次に匿名化個人属性情報vl内の属性シーケンス番号「1」と匿名値「cd4260」が取得され(ステップ2303)、次に基本識別子集合から基本識別子の候補として「10000001」が取得され(ステップ2304)、次に基本識別子の候補「10000001」を鍵とする鍵付ハッシュ関数H2により、匿名値「cd4260」から匿名値「35cdea...」が取得され(ステップ2305)、次に基本識別子の候補「10000001」と匿名値「35cdea...」の組を含む行が匿名化基本情報記憶領域406内に存在するかどうかを検査し(ステップ2306)、匿名化基本情報記憶領域406内に当該行が存在するので、基本識別子の候補「10000001」と属性シーケンス番号「1」の組が出力一時記憶領域407に格納される(ステップ2308)。
【0153】
図25は第一の実施例における匿名化マッチング結果メッセージ1609の内容を示す図である。
【0154】
これは、前述したステップ2206の処理において、マッチング装置107が識別子管理装置110に対して送信する匿名化マッチング結果メッセージ1609の内容を示す概略図である。
【0155】
この図において、符号2501−1と符号2501−2は応答情報、符号2502は応答情報に振られたシーケンス番号、符号2503はマッチング結果情報の例である。
【0156】
図に示すように、匿名化マッチング結果メッセージ1609は一つ以上の応答情報2501−1、2501−2、...を含む。各応答情報2501は、当該応答情報をメッセージ内で一意に識別可能とするシーケンス番号2502と、マッチングの結果を示すマッチング結果情報2503と、で構成される。図25では、応答情報の例として、シーケンス番号2502の値として「1」を持ち、またマッチング結果情報2503として、図24に例示した匿名化基本情報検索処理によって出力一時記憶領域407に書き込まれた基本識別子「10000001」と属性シーケンス番号「1」と、が含まれる。
【0157】
図26は第一の実施例における識別子管理装置110のマッチング結果処理フローを示す図である。
【0158】
これは、識別子管理装置110が、マッチング装置107から匿名化マッチング結果メッセージ1608を受信したときの処理の例を示すフローチャートである。
【0159】
ステップ2601は送受信部311が、匿名化マッチング結果メッセージ1608を受信する処理である。
【0160】
ステップ2602は送受信部311が、匿名化マッチング結果メッセージ1608の内容を匿名化処理部303へ送信する処理である。
【0161】
ステップ2603は匿名化処理部303が、出力一時記憶領域307を空にする処理である。
【0162】
ステップ2604は匿名化マッチング結果メッセージ1609内の各シーケンス番号nとマッチング結果を取り出す処理である。もし、要素があれば、ステップ2605へ進む。各要素に対する処理の後、ステップ2608へ進む。
【0163】
ステップ2605は匿名化処理部303が、シーケンス番号nに対応する個人識別子を要求情報一時格納領域から取得して出力一時記憶領域307へ追記する処理である。
【0164】
ステップ2606は匿名化処理部303が、マッチング結果内の基本識別子を出力一時記憶領域307へ追記する処理である。
【0165】
ステップ2607は匿名化処理部303が、マッチング結果内の属性シーケンス番号mに対応する属性種別を要求情報一時格納領域内の属性種別列から取得し、出力一時記憶領域307へ追記する処理である。
【0166】
ステップ2608は送受信部311が、個人情報管理装置109に対して、出力一時記憶領域307に格納された情報をマッチング結果メッセージ1610として送信する処理である。
【0167】
図27は第一の実施例におけるマッチング結果メッセージ1609の内容を示す図である。
【0168】
これは、前述したステップ2608の処理において、識別子管理装置110が個人情報管理装置109に対して送信するマッチング結果メッセージ1610の内容を示す概略図である。
【0169】
この図において、符号2701−1と符号2701−2は応答情報、符号2702は応答情報に振られたシーケンス番号、符号2703はマッチング結果情報の例である。
【0170】
図に示すように、マッチング結果メッセージ1610は一つ以上の応答情報2701−1、2701−2、...を含む。各応答情報2701は、当該応答情報をメッセージ内で一意に識別可能とするシーケンス番号2702と、マッチング要求のあった個人識別子を示す個人識別子2703と、当該個人識別子に関するマッチングの結果を示すマッチング結果情報2704と、で構成される。図27では、応答情報の例として、シーケンス番号2702の値として「1」を持ち、また個人識別子2703として「200001」を持ち、またマッチング結果情報2704として、マッチした基本識別子「10000001」とマッチした属性種別のリスト「氏、名、都道府県、...」と、が含まれる。
【0171】
利用機関システム108の個人情報管理装置109は、マッチング結果メッセージ1610に含まれるマッチング結果を確認し、マッチした属性種別の数や種類に基づいて、どの個人識別子とどの基本識別子を紐付けるべきか判断し、確定した紐付けを確定要求メッセージ1611として識別子管理装置110へ送信する。確定要求メッセージ1611を受信した識別子管理装置110は、確定した紐付けを識別子対応表記憶領域306へ格納する。
【0172】
図28は第一の実施例における識別子対応表記憶領域306の例を示す図である。
【0173】
これは、識別子管理装置110の識別子対応表記憶領域306の例を示す概略図である。「個人識別子」2801は利用機関内で個人を特定するために使う識別子であり、「基本識別子」2802には当該個人識別子に紐付く基本識別子が記載される。
【0174】
識別子管理装置110は個人情報管理装置109などから識別子の変換要求を受信すると、識別子変換部302が識別子対応表記憶領域306を参照して、識別子の変換を実施する。ここで、識別子対応表記憶領域306はHSM(ハードウェアセキュリティモジュール)等の耐タンパ性を有するモジュールに格納された秘密鍵で暗号化されており、必要に応じて情報を復号するようにして、識別子の対応関係が外部へ漏洩する危険性を下げることも可能である。
【0175】
なお、マッチング装置107によるマッチング処理の過程では、基本識別子が付番されている人物に対して、マッチング処理を行うことに関する同意を取得するステップを設けることも可能である。匿名化基本情報検索部404による検索範囲を、本人の同意が得られた基本識別子のみに限定することで、本人の同意に基づくマッチング処理が可能となる。
【0176】
以上が、付番機関システム102内の基本情報管理装置103から取得した匿名化基本情報と、利用機関システム108内の個人情報管理装置109が識別子管理装置110を用いて匿名化した個人情報と、をマッチング機関システム106内のマッチング装置107がマッチングする処理の一例である。
【0177】
以上に示したように、本実施例では、付番機関システム102の保有する基本情報と、利用機関システム108の保有する個人情報と、を、各情報を開示することなく匿名性を保ったままマッチングし、同一人物に紐付く基本識別子と個人識別子のリンクを形成することが可能となる。また、付番機関システム102の提供する基本情報の表現を拡張することにより、マッチングに先立って利用機関システム108側で個人情報の正規化処理を実施することなく、文字コードの違いや表記のゆらぎ等、表現方法の差異を考慮に入れたマッチングが可能となる。
【実施例2】
【0178】
第二の実施例は、匿名化装置104の匿名値算出部203による匿名値算出処理の一部と、マッチング装置107の匿名化基本情報検索部404による匿名化基本情報検索処理の一部に、それぞれブルームフィルタと呼ばれる手法を応用したものである。一般に「ブルームフィルタ」とは、ある要素がある集合に含まれるか否かを検査するために使用されるビット列である。
【0179】
図29は第二の実施例における匿名化装置を示す図である。
【0180】
これは、第二の実施例における匿名化装置2900の機能構成の例を示す概略図である。
【0181】
この図において、符号2900は匿名化装置、符号2901は制御部、符号2902は匿名化処理部、符号2903は匿名値算出部、符号2904は表現拡張処理部、符号2905は記憶部、符号2906は表現拡張規則記憶領域、符号2907は出力一時記憶領域、符号2908は拡張後基本情報一時記憶領域、符号2909は鍵情報記憶領域、符号2910は入出力部、符号2911は送受信部、符号2912は派生鍵生成部、符号2913はフィルタ一時記憶領域である。
【0182】
匿名化装置2900は制御部2901、記憶部2905、入出力部2910、送受信部2911から構成されている。制御部2901は匿名化処理部2902、匿名値算出部2903、表現拡張処理部2904、派生鍵生成部2912から構成されている。匿名化処理部2902は送受信部2911を介して受信した個人情報に対して、匿名値算出部2903および表現拡張処理部2904と連携して匿名化処理を実行する処理部である。匿名値算出部2903は入力された個人情報に対して、逆算が困難であるような演算を施し、その結果を出力する処理部である。表現拡張処理部2904は表現拡張規則記憶領域2906に格納された規則に基づいて、入力された情報と意味的に同じだが表現の異なる情報を算出する処理部である。記憶部2905は表現拡張規則記憶領域2906、出力一時記憶領域2907、拡張後基本情報一時記憶領域2908、鍵情報記憶領域2909、フィルタ一時記憶領域2913から構成されている。表現拡張規則記憶領域2906はある情報と意味的には同じだが、異なる表現を持つ情報を生成するための規則を記憶する領域である。出力一時記憶領域2907は制御部2901による出力結果を一時的に記憶するための領域である。拡張後基本情報一時記憶領域2908は表現拡張処理部2904の出力を一時的に記憶するための領域である。鍵情報記憶領域2909は匿名値算出部2903が匿名値の算出処理で用いる鍵情報を記憶するための領域である。当該鍵情報は、各利用機関システム108の識別子管理装置110との間であらかじめ共有されているものとする。入出力部2910はキーボード等を介した利用者からの入力と、モニタ等を介した利用者への出力と、を制御する処理部である。送受信部2911はTCP/IP通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して情報の送受信を行う処理部である。派生鍵生成部2912は基本識別子からr個の派生鍵を生成する処理部である。ここでrは任意の正整数であり、要求される安全性や効率性に応じて適切に決定することが可能である。フィルタ一時記憶領域2913は匿名値算出部2903が匿名値の算出処理で生成したブルームフィルタを一時的に記憶する領域である。
【0183】
図30は第二の実施例におけるマッチング装置を示す図である。
【0184】
これは、第二の実施例におけるマッチング装置3000の機能構成を示す概略図である。
【0185】
この図において、符号3000はマッチング装置、符号3001は制御部、符号3002はマッチング処理部、符号3003は匿名化基本情報処理部、符号3004は匿名化基本情報検索部、符号3005は記憶部、符号3006は匿名化基本情報記憶領域、符号3007は出力一時記憶領域、符号3008は入出力部、符号3009は送受信部、符号3010は派生鍵生成部、符号3011はフィルタ一時記憶領域である。
【0186】
マッチング装置3000は制御部3001、記憶部3005、入出力部3008、送受信部3009から構成されている。制御部3001はマッチング処理部3002、匿名化基本情報処理部3003、匿名化基本情報検索部3004、派生鍵生成部3010から構成されている。マッチング処理部3002は付番機関システム102から受信した匿名化基本情報と、利用機関システム108から受信した匿名化属性情報とのマッチングを実施する処理部である。匿名化基本情報処理部3003は付番機関システム102の匿名化装置104から受信した匿名化基本情報を匿名化基本情報記憶領域3006に格納する処理部である。匿名化基本情報検索部3004は匿名化基本情報記憶領域3006に格納された匿名化基本情報を検索する処理部である。記憶部3005は匿名化基本情報記憶領域3006、出力一時記憶領域3007、フィルタ一時記憶領域3011から構成されている。匿名化基本情報記憶領域3006は付番機関システム102から受信した匿名化基本情報を記憶する領域である。出力一時記憶領域3007は制御部3001による出力結果を一時的に記憶するための領域である。入出力部3008はキーボード等を介した利用者からの入力と、モニタ等を介した利用者への出力と、を制御する処理部である。送受信部3009はTCP/IP通信を可能とするプロトコルスタックや、プロセス間通信を可能とするモジュール等のように、ネットワークや通信路を介して情報の送受信を行う処理部である。派生鍵生成部3010は基本識別子からr個の派生鍵を生成する処理部である。ここでrは任意の正整数であり、要求される安全性や効率性に応じて適切に決定することが可能である。フィルタ一時記憶領域3011は匿名化基本情報検索部3004が匿名化基本情報の検索処理の過程で生成したブルームフィルタを一時的に記憶する領域である。
【0187】
その他の装置については、第一の実施例と同様であるため、説明を省略する。
【0188】
図31は第二の実施例における匿名化装置2900の匿名値算出部2903による匿名値算出処理フローを示す図である。
【0189】
これは、匿名化装置2900の匿名値算出部2903が、拡張後基本情報を匿名化基本情報へ変換し、出力一時記憶領域2907へ格納する処理の詳細を示すフローチャートである。
【0190】
ステップ3101は拡張後基本情報一時記憶領域2908からシーケンス番号nと基本識別子iを取得する処理である。
【0191】
ステップ3102はシーケンス番号nと基本識別子iを出力一時記憶領域2907へ追記する処理である。
【0192】
ステップ3103は派生鍵生成部2912を利用して、基本識別子iから、r個の派生鍵K_1、...、K_rを生成する処理である。
【0193】
ステップ3104はフィルタ一時記憶領域2913の全てのビットを0にする処理である。
【0194】
ステップ3105は鍵情報記憶領域2909から鍵情報Kを取得する処理である。
【0195】
ステップ3106は拡張後基本情報一時記憶領域内の各属性種別tと属性値vを取り出す処理である。もし、要素があれば、ステップ3107へ進む。全ての要素に対する処理が終わると、ステップ3112へ進む。
【0196】
ステップ3107は属性種別tと属性値vを結合した値tvを取得する処理である。
【0197】
ステップ3108はKを鍵として、H1を用いてtvのハッシュ値を計算し、計算結果を匿名値va1とする処理である。
【0198】
ステップ3109は派生鍵集合内の各派生鍵K_jを取り出す処理である。もし、要素があれば、ステップ3110へ進む。各要素に対する処理の後、ステップ3111へ進む。
【0199】
ステップ3110はK_jを鍵として、H2を用いてva1のハッシュ値を計算し、結果に対応するフィルタ一時記憶領域2913のビットを1とする処理である。
【0200】
ステップ3111はフィルタ一時記憶領域2913に格納されたビット列を出力一時記憶領域2907へ追記する処理である。
【0201】
ステップ3112は匿名値算出処理の完了を匿名化処理部2902へ通知する処理である。
【0202】
ここで、ステップ3109からステップ3111の過程はブルームフィルタ生成アルゴリズムとして知られる手順を応用したものであり、フィルタ一時記憶領域2913に格納れるビット列は、拡張後基本情報に含まれる複数の拡張後属性情報を代表するブルームフィルタである。
【0203】
図32は第二の実施例における匿名化装置2900の匿名値算出処理の概要を示す図である。
【0204】
これは、第二の実施例において、匿名化装置104の匿名値算出部2903が実行する匿名値算出処理の例を示す概略図である。
【0205】
例えば、拡張後基本情報一時記憶領域2908に、拡張後基本情報1102で示すような拡張後基本情報が記憶されていた場合には、まずシーケンス番号「1」と基本識別子「10000001」が取得され(ステップ3101)、次に当該シーケンス番号「1」と当該基本識別子「10000001」が出力一時記憶領域2907へ追記され(ステップ3102)、次に派生鍵生成部2912によって基本識別子「10000001」からr個の派生鍵K_1、...、K_rが生成され(ステップ3103)、次に鍵情報記憶領域2909から鍵情報Kが取得され(ステップ3105)、次に拡張後基本情報一時記憶領域2908内の属性種別「氏」と属性値「山田(utf−8)」が取得され(ステップ3106)、次に結合値「氏:山田」が取得され(ステップ3107)、次に鍵情報Kを鍵とする鍵付ハッシュ関数H1により、結合値「氏:山田」から匿名値「bc315f...」が取得され(ステップ3108)、次に各派生鍵K_j(jは1からrまでの正整数)について、K_jを鍵とする鍵付ハッシュ関数H2により、匿名値「bc315f...」からハッシュ値h_jが生成され、フィルタ一時記憶領域2913内のh_jに対応するビットが1にセットされ(ステップ3110)、全ての派生鍵について処理が終わると、フィルタ一時記憶領域2913内のビット列が出力一時記憶領域2907へ追記される(ステップ3111)。
【0206】
匿名化装置2900のその他の処理については、第一の実施例と同様であるため、説明を省略する。
【0207】
図33は第二の実施例におけるマッチング装置3000の匿名化基本情報検索部3004による匿名化基本情報検索フローを示す図である。
【0208】
これは、マッチング装置3000の匿名化基本情報検索部3004が、匿名化個人情報をキーとして匿名化基本情報記憶領域3006を検索し、基本識別子の候補を取得する処理の詳細を示すフローチャートである。
【0209】
ステップ3301はマッチング処理部3002からシーケンス番号nと匿名化個人属性情報vlを取得する処理である。
【0210】
ステップ3302はnを出力一時記憶領域3007へ追記する処理である。
【0211】
ステップ3303はvl内の各属性シーケンス番号mと匿名値va1を取り出す処理である。もし、要素があれば、ステップ3304へ進む。全ての要素に対する処理が終わると、ステップ3312へ進む。
【0212】
ステップ3304は基本識別子集合内の各基本識別子iを取り出す処理である。もし、要素があれば、ステップ3305へ進む。全ての要素に対する処理が終わると、ステップ3303へ戻る。
【0213】
ステップ3305は派生鍵生成部3010を利用して、基本識別子iから、r個の派生鍵K_1、...、K_rを生成する処理である。
【0214】
ステップ3306はフィルタ一時記憶領域3011の全てのビットを0にする処理である。
【0215】
ステップ3307は派生鍵集合内の各K_jを取り出す処理である。もし、要素があれば、ステップ3308へ進む。各要素に対する処理の後、ステップ3309へ進む
ステップ3308はK_jを鍵として、H2を用いてva1のハッシュ値を計算し、結果に対応するフィルタ一時記憶領域3011のビットを1とする処理である。
【0216】
ステップ3309は匿名化基本情報記憶領域3006から、基本識別子iと同じ行のフィルタ情報fを取得する処理である。
【0217】
ステップ3310はフィルタ一時記憶領域3011のビット列とfとの論理和がfと等しいかどうか調べる処理である。もしフィルタ一時記憶領域3011のビット列とfとの論理和がfと等しければ、ステップ3311へ進む。もしフィルタ一時記憶領域3011のビット列とfとの論理和がfと等しくなければ、ステップ3304へ戻る。
【0218】
ステップ3311は基本識別子iと属性シーケンス番号mの組を出力一時記憶領域3007に格納する処理である。
【0219】
ステップ3312は匿名化基本情報検索処理の完了をマッチング処理部3002へ通知する処理である。
【0220】
図34は第二の実施例におけるマッチング装置3000の匿名化基本情報検索処理の概要を示す図である。
【0221】
これは、第二の実施例において、マッチング装置3000の匿名化基本情報検索部3004が実行する匿名化基本情報検索処理の例を示す概略図である。
【0222】
例えば匿名化基本情報検索部3004は、マッチング処理部3002から匿名化個人情報3401で示すような匿名化個人情報を受信した場合(ステップ3301)、シーケンス番号「1」が出力一時記憶領域3007へ追記され(ステップ3302)、次に匿名化個人属性情報vl内の属性シーケンス番号「1」と匿名値「cd4260」が取得され(ステップ3303)、次に基本識別子集合から基本識別子の候補として「10000001」が取得され(ステップ3304)、次に派生鍵生成部3010によって基本識別子「10000001」からr個の派生鍵K_1、...、K_rが生成され(ステップ3305)、次に各派生鍵K_j(jは1からrまでの正整数)について、K_jを鍵とする鍵付ハッシュ関数H2により、匿名値「cd4260...」からハッシュ値h_jが生成され、フィルタ一時記憶領域3011内のh_jに対応するビットが1にセットされ(ステップ3308)、全ての派生鍵について処理が終わると、匿名化基本情報記憶領域3006から基本識別子「10000001」を含む行のフィルタ情報f=「10011100...」が取得され(ステップ3309)、取得したフィルタ情報f=「10011100...」とフィルタ一時記憶領域3011内のビット列「00001100...」の論理和を計算することにより「10011100...」が取得され、当該値「10011100...」がフィルタ情報f=「10011100...」と等しいか否かを検査し(ステップ3310)、値が等しいことが確認されると、基本識別子の候補「10000001」と属性シーケンス番号「1」の組が出力一時記憶領域3007に格納される(ステップ3311)。
【0223】
マッチング装置3000のその他の処理については、第一の実施例と同様であるため、説明を省略する。
【0224】
以上に示したように、第二の実施例においては、ブルームフィルタを利用することにより、第一の実施例に比べて匿名化基本情報記憶領域3006が必要とする記憶領域を小さくできる。また、匿名化基本情報検索部3004による匿名化基本情報記憶領域3006の検索回数が、フィルタ一時記憶領域3011内のビット列とフィルタ情報との比較の一度で済み、第一の実施例に比べて当該検索処理を高速化できる。
【符号の説明】
【0225】
101…匿名化マッチングシステム、102…付番機関システム、103…基本情報管理装置、104…匿名化装置、105…ネットワーク、106…マッチング機関システム、107…マッチング装置、108…利用機関システム、109…個人情報管理装置、110…識別子管理装置、111…利用機関システム、112…個人情報管理装置、113…識別子管理装置。

【特許請求の範囲】
【請求項1】
個人情報のマッチングシステムであって、
前記個人情報に対して表現拡張処理を行う表現拡張処理部と、前記表現拡張処理がなされた前記個人情報に対して匿名化処理を行う匿名化処理部を有する匿名化装置と、
前記個人情報に対して匿名化処理を行う匿名化処理部を有する識別子管理装置と、
前記匿名化装置によって処理された第一の匿名化個人情報と、前記識別子管理装置によって処理された第二の匿名化個人情報と、のマッチングを行うマッチング処理部を有するマッチング装置と、を有する、
ことを特徴とするマッチングシステム。
【請求項2】
請求項1に記載のマッチングシステムであって、
前記匿名化装置は、表現拡張規則記憶領域を有する記憶部を有しており、
前記表現拡張処理部は、前記表現拡張規則記憶領域に格納された表現拡張規則に従って、前記表現拡張処理を実行する、
ことを特徴とするマッチングシステム。
【請求項3】
請求項1に記載のマッチングシステムであって、
前記匿名化装置は、入力に対応する第一のハッシュ値を生成する処理と、前記第一のハッシュ値に対応する第二のハッシュ値を生成する処理と、を有する匿名値算出部を有し、
前記匿名化処理部は前記匿名値算出部を利用して前記匿名化処理を行う、
ことを特徴とするマッチングシステム。
【請求項4】
請求項1に記載のマッチングシステムであって、
前記識別子管理装置は、入力に対応するハッシュ値を生成する処理を有する匿名値算出部を有し、
前記匿名化処理部は前記匿名値算出部を利用して前記匿名化処理を行う、
ことを特徴とするマッチングシステム。
【請求項5】
請求項1に記載のマッチングシステムであって、
前記マッチング装置は、前記匿名化装置から受信した前記第一の匿名化個人情報を記憶する匿名化基本情報記憶領域を有する記憶部を有する、
ことを特徴とするマッチングシステム。
【請求項6】
請求項5に記載のマッチングシステムであって、
前記マッチング装置は、前記識別子管理装置から受信した前記第二の匿名化個人情報を利用して、前記匿名化基本情報記憶領域に格納された前記第一の匿名化個人情報とのマッチングを行う匿名化基本情報検索部を有する、
ことを特徴とするマッチングシステム。
【請求項7】
請求項6に記載のマッチングシステムであって、
前記マッチング装置の前記匿名化基本情報検索部によるマッチング処理は、前記識別子管理装置から受信した前記第二の匿名化個人情報に対応する第二のハッシュ値を生成し、生成した前記第二のハッシュ値と、前記匿名化基本情報記憶領域に格納された前記第一の匿名化個人情報とが一致するか否かを判定する処理である、
ことを特徴とするマッチングシステム。
【請求項8】
請求項3に記載のマッチングシステムであって、
前記匿名化装置の前記匿名化処理部による第一のハッシュ値を生成する処理は、別途入力として与えられる鍵情報に応じて出力の値が変化する鍵付ハッシュ関数である、
ことを特徴とするマッチングシステム。
【請求項9】
請求項4に記載のマッチングシステムであって、
前記識別子管理装置の前記匿名化処理部による前記ハッシュ値を生成する処理は、別途入力として与えられる鍵情報に応じて出力の値が変化する鍵付ハッシュ関数である、
ことを特徴とするマッチングシステム。
【請求項10】
請求項3に記載のマッチングシステムであって、
前記匿名化装置の前記匿名化処理部による第二のハッシュ値を生成する処理は、別途入力として与えられる識別子に応じて出力の値が変化する鍵付ハッシュ関数である、
ことを特徴とするマッチングシステム。
【請求項11】
請求項7に記載のマッチングシステムであって、
前記マッチング装置の前記匿名化基本情報検索部による、前記識別子管理装置から受信した前記第二の匿名化個人情報に対応する第二のハッシュ値を生成する処理は、別途入力として与えられる識別子に応じて出力の値が変化する鍵付ハッシュ関数である、
ことを特徴とするマッチングシステム。
【請求項12】
請求項3に記載のマッチングシステムであって、
前記匿名化装置の前記匿名化処理部による第二のハッシュ値を生成する処理は、別途入力として与えられる識別子に応じて出力の値が変化する鍵付ハッシュ関数を複数回用いてブルームフィルタを生成する処理である、
ことを特徴とするマッチングシステム。
【請求項13】
請求項7に記載のマッチングシステムであって、
前記マッチング装置の前記匿名化基本情報検索部による、前記識別子管理装置から受信した前記第二の匿名化個人情報に対応する第二のハッシュ値を生成する処理は、別途入力として与えられる識別子に応じて出力の値が変化する鍵付ハッシュ関数を複数回用いてブルームフィルタを生成する処理である、
ことを特徴とするマッチングシステム。

【図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

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate


【公開番号】特開2012−247882(P2012−247882A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2011−117548(P2011−117548)
【出願日】平成23年5月26日(2011.5.26)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】