JP2013156719A - 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法 - Google Patents

匿名データ提供システム、匿名データ装置、及びそれらが実行する方法 Download PDF

Info

Publication number
JP2013156719A
JP2013156719A JP2012014844A JP2012014844A JP2013156719A JP 2013156719 A JP2013156719 A JP 2013156719A JP 2012014844 A JP2012014844 A JP 2012014844A JP 2012014844 A JP2012014844 A JP 2012014844A JP 2013156719 A JP2013156719 A JP 2013156719A
Authority
JP
Japan
Prior art keywords
anonymous
sub
att
attribute
attribute values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012014844A
Other languages
English (en)
Other versions
JP5670366B2 (ja
Inventor
Masaru Igarashi
大 五十嵐
Koji Senda
浩司 千田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012014844A priority Critical patent/JP5670366B2/ja
Publication of JP2013156719A publication Critical patent/JP2013156719A/ja
Application granted granted Critical
Publication of JP5670366B2 publication Critical patent/JP5670366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】提供情報の有用性を保ちつつ、レコードに対応する属性の個数を増加させる。
【解決手段】匿名データ装置が、N個の属性ATT(1),...,ATT(N)それぞれの匿名化属性値v(r,1),...,v(r,N)を秘匿化することで得られた秘匿化匿名属性値s(r,1),...,s(r,N)の入力を受け付け、N個の属性ATT(1),...,ATT(N)の一部であるm(j)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))のそれぞれに対応する秘匿化匿名属性値s(r,n(j,1)),...,s(r,n(j,m(j)))からなる集合SUB(r,j)を用い、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)に対応する提供情報D(n(j,1),...,n(j,m(j)))を生成して出力する。
【選択図】図2

Description

本発明は、データを統計的に匿名化して提供する技術に関する。
従来、データベースにおける個別データを統計的手法により匿名化する技術として、非特許文献1に記載された維持-置換撹乱によるPk-匿名化がある。
非特許文献1では、データ提供者から提供されたデータの集まりであるテーブルを匿名化する。一人のデータ提供者からのデータのまとまりはテーブル上で行として表現され、レコードと呼ばれる。各レコードはいくつかの予め定められた項目に対する値から成り立ち、この項目のことを属性と呼ぶ。属性に対する値を属性値と呼ぶ。
五十嵐大, 千田浩司, 高橋克巳, "k-匿名性の確率的指標への拡張とその適用例," CSS2009, 2009.
たとえデータ提供者そのものを特定するための情報がレコードに含まれていなくても、レコードに含まれる属性値からデータ提供者を特定するための情報が得られ、その匿名性が低下する場合がある。一般に、レコードに対応する属性の個数が多いほど、そのレコードを提供したデータ提供者の匿名性が低下する。また、各属性値が持つ情報が大きいほど、それらを含むレコードを提供したデータ提供者の匿名性が低下する。従って、データ提供者の匿名性を統計的に所望の高さに維持しようとすれば、当該レコードに対応する属性の個数や各属性値の情報の大きさを制限しなければならない。そのため、提供されるレコードに対応する属性の個数が多いほど各属性値の情報を小さくしなければならず、データの有用性が低下する。
本発明では、匿名データ装置が、N個(N≧2)の属性ATT(1),...,ATT(N)それぞれの匿名化属性値v(r,1),...,v(r,N)(r∈{1,...,R}, R≧2)を秘匿化することで得られた秘匿化匿名属性値s(r,1),...,s(r,N)の入力を受け付け、N個の属性ATT(1),...,ATT(N)の一部であるm(j)(ただしm(j)<N, j∈{1,...,J}, J≧1)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))(ただし{n(j,1),...,n(j,m(j))}⊂{1,...,N})のそれぞれに対応する秘匿化匿名属性値s(r,n(j,1)),...,s(r,n(j,m(j)))からなる集合SUB(r,j)={s(r,n(j,1)),...,s(r,n(j,m(j)))}を用い、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)に対応する提供情報D(n(j,1),...,n(j,m(j)))を生成し、提供情報D(n(j,1),...,n(j,m(j)))を出力する。
ここで、匿名データ装置には、N個の属性ATT(1),...,ATT(N)すべてに対応する秘匿化匿名属性値s(r,1),...,s(r,N)が与えられるが、秘匿化匿名属性値s(r,1),...,s(r,N)は秘匿化されているため、Nの大きさにかかわらず匿名データ装置に対する匿名性が維持できる。匿名データ装置から出力される提供情報D(n(j,1),...,n(j,m(j)))は、m(j)(m(j)<N)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))のみに対応するものであるため、提供情報D(n(j,1),...,n(j,m(j)))の提供を受けるものに対する統計的な匿名性を所望の高さに維持しつつ、Nを大きくできる。
本発明では、提供情報の有用性を保ちつつ、レコードに対応する属性の個数を増加させることができる。
図1は、実施形態の匿名データ提供システムの機能構成を説明するための図である。 図2Aは、実施形態のデータ提供装置の機能構成を説明するための図である。図2Bは、実施形態の匿名データ装置の機能構成を説明するための図である。図2Cは、実施形態の分析装置の機能構成を説明するための図である。 図3Aは、実施形態のデータ提供装置の処理を説明するための図である。図3Bは、実施形態の匿名データ装置の処理を説明するための図である。図3Cは、実施形態の分析装置の処理を説明するための図である。
〔概要〕
実施形態の概要を説明する。
実施形態では、データ提供者から提供されたデータの集まりであるテーブル形式のデータベースを匿名化する。一人のデータ提供者からのデータのまとまりはテーブル上で行として表現され、レコードと呼ばれる。各レコードはいくつかの予め定められた項目に対する値から成り立ち、この項目のことを属性と呼ぶ。属性に対する値を属性値と呼ぶ。
実施形態の匿名データ提供システムは、データ提供装置、匿名データ装置、及び分析装置を有する。データ提供装置は、N個(N≧2)の属性ATT(1),...,ATT(N)それぞれの匿名化属性値v(r,1),...,v(r,N)(ただしr∈{1,...,R}, R≧2)を秘匿化することで得られた秘匿化匿名属性値s(r,1),...,s(r,N)を出力する。秘匿化匿名属性値s(r,1),...,s(r,N)は、匿名データ装置に入力されて格納され、秘匿化匿名属性値s(r,1),...,s(r,N)からなるデータベースが構築される。匿名データ装置は、N個の属性ATT(1),...,ATT(N)の一部であるm(j)(ただしm(j)<N, j∈{1,...,J}, J≧1)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))(ただし{n(j,1),...,n(j,m(j))}⊂{1,...,N})のそれぞれに対応する秘匿化匿名属性値s(r,n(j,1)),...,s(r,n(j,m(j)))からなる集合SUB(r,j)={s(r,n(j,1)),...,s(r,n(j,m(j)))}を用い、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)に対応する提供情報D(n(j,1),...,n(j,m(j)))を生成して出力する。提供情報D(n(j,1),...,n(j,m(j)))は、分析装置に入力されて利用される。
ここで、匿名データ装置には、N個の属性ATT(1),...,ATT(N)すべてに対応する秘匿化匿名属性値s(r,1),...,s(r,N)が与えられるが、秘匿化匿名属性値s(r,1),...,s(r,N)は秘匿化されているため、Nの大きさにかかわらず匿名データ装置に対する匿名性が維持できる。また、匿名データ装置から出力される提供情報D(n(j,1),...,n(j,m(j)))は、m(j)(m(j)<N)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))のみに対応するものであるため、分析装置に対する統計的な匿名性を所望の高さに維持しつつ、Nを大きくできる。例えばm(j)≦M, 1≦M<Nであり、匿名化属性値v(r,1),...,v(r,N)に含まれる任意のM個の匿名化属性値v(r,w(1)),...,v(r,w(M))(ただし{w(1),...,w(M)}⊂{1,...,N})が含む正しい属性値に対応する値を表現するためのデータ量の合計が所定値以下である場合、Nの大きさにかかわらず、分析装置に対する統計的な匿名性の高さを、当該所定値以下のデータ量で表現される属性値から得られる匿名性の高さ程度に制限できる。従って、提供情報の有用性を保ちながら、レコードに対応する属性の個数を増加させることができる。
好ましくは、J≧2であり、j1,j2∈{1,...,J}, j1≠j2について、{n(j1,1),...,n(j1,m(j1))}∩{n(j2,1),...,n(j2,m(j2))}が空集合である。言い換えると、例えば、集合{n(j1,1),...,n(j1,m(j1))}は集合{n(j2,1),...,n(j2,m(j2))}の要素を含まず、集合{n(j2,1),...,n(j2,m(j2))}は集合{n(j1,1),...,n(j1,m(j1))}の要素を含まない。すなわち、分析装置に提供された提供情報D(n(j1,1),...,n(j1,m(j1)))に対応する属性と提供情報D(n(j2,1),...,n(j2,m(j2)))に対応する属性とは重複しない。これにより、提供情報D(n(j1,1),...,n(j1,m(j1)))と提供情報D(n(j2,1),...,n(j2,m(j2)))とは独立した情報となる。この場合、分析装置は、提供情報D(n(j1,1),...,n(j1,m(j1))),D(n(j2,1),...,n(j2,m(j2)))から、同一のrに対応するm(j1)及びm(j2)よりも多い個数の属性値に関する情報を得ることが困難となる。その結果、分析装置に対する所望の高さの統計的な匿名性を十分に維持できる。
また例えば、秘匿化匿名属性値s(r,1),...,s(r,N)の秘密計算が可能であり、提供情報D(n(j,1),...,n(j,m(j)))は、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)を秘密計算によって集計して得られる集計表を含む。また例えば、提供情報D(n(j,1),...,n(j,m(j)))は、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)をランダムに並び替えたR個の集合SUB(q(1),j),SUB(q(2),j),...,SUB(q(R),j)(ただしq(r)∈{1,...,R}, {q(1),...,q(R)}={1,...,R})に対応するR個の集合SUB’(q(1),j),SUB’(q(2),j),...,SUB’(q(R),j)(ただしq(r)∈{1,...,R}, {q(1),...,q(R)}={1,...,R})又は当該R個の集合SUB’(q(1),j),SUB’(q(2),j),...,SUB’(q(R),j)を復元して得られる属性値の集合を含む。SUB(r,j)=SUB’(r,j)(r∈{1,...,R})であってもよいし、SUB(r,j)≠SUB’(r,j)であってもよい。これらの提供情報D(n(j,1),...,n(j,m(j)))は、集合SUB(1,j),SUB(2,j),...,SUB(R,j)の順序に関する情報(集合SUB(r,j)のそれぞれのrに関する情報)を含まない。そのため、分析装置に対する所望の高さの統計的な匿名性を十分に維持できる。特に、このような提供情報であって、なおかつ、J≧2であり、j1,j2∈{1,...,J}, j1≠j2について、{n(j1,1),...,n(j1,m(j1))}∩{n(j2,1),...,n(j2,m(j2))}が空集合である場合、分析装置は、提供情報D(n(j1,1),...,n(j1,m(j1))),D(n(j2,1),...,n(j2,m(j2)))から、同一のrに対応するm(j1)及びm(j2)よりも多い個数の属性値に関する情報を一切得ることができない。その結果、分析装置に対する所望の高さの統計的な匿名性を確実に維持できる。
匿名データ装置から出力される提供情報D(n(j,1),...,n(j,m(j)))は秘匿化された情報であってもよいし、秘匿化されていない情報であってもよい。提供情報D(n(j,1),...,n(j,m(j)))が秘匿化された情報である場合、匿名データ装置にはデータ提供者の情報が一切漏れない。提供情報D(n(j,1),...,n(j,m(j)))が秘匿化されていない情報で或る場合、匿名データ装置に対するデータ提供者の匿名性は、分析装置に対するデータ提供者の匿名性と同等となる。
〔第1実施形態〕
第1実施形態を説明する。
<構成>
図1に例示するように、第1実施形態の匿名データ提供システム1は、データ提供装置110−1〜R(R≧2)、匿名データ装置120−1〜T(T≧1)、及び分析装置130を有する。これらはネットワークや可搬型記録媒体などを介して情報のやり取りが可能である。説明の簡略化のため、本形態では1個の分析装置130のみを説明するが、分析装置が複数存在してもよい。
図2Aに例示するように、第1実施形態のデータ提供装置110−r(r∈{1,...,R})は、入力部111−r、出力部111−r、記憶部113−r、メモリ114−r、制御部115−r、匿名化部116−r、及び秘匿化部117−rを有する。図2Bに例示するように、第1実施形態の匿名データ装置120−t(t∈{1,...,T})は、入力部121−t、出力部122−t、記憶部123−t、メモリ124−t、制御部125−t、及び提供情報生成部126−tを有する。図2Cに例示するように、第1実施形態の分析装置130は、入力部131、出力部132、記憶部133、メモリ134、制御部135、及び分析部136を有する。
データ提供装置110−1〜R、匿名データ装置120−1〜T、及び分析装置130は、例えば、CPU(central processing unit), RAM(random-access memory), ROM(read-only memory)等を備えた公知又は専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。データ提供装置110−1〜R、匿名データ装置120−1〜T、及び分析装置130は、それぞれが有する制御部115−r,125−t,135の制御のもとで各処理を実行する。各処理部から出力されたデータは、それぞれの装置が有するメモリ114−r,124−t,134に格納され、必要に応じて読み出されて他の処理に利用される。
<秘匿データの保管処理>
図3Aに例示するように、各データ提供装置110−r(図2A)の入力部111−rに、レコードを構成するN個(N≧2)の属性ATT(1),...,ATT(N)それぞれの属性値ν(r,1),...,ν(r,N)が入力され、記憶部113−rに格納される(ステップS111)。本形態のNは整数の定数である。以下にN=4、ATT(1)=「年齢」, ATT(2)=「性別」, ATT(3)=「住所」, ATT(4)=「年収」である場合の1個のレコードを例示する(ステップS111)。
Figure 2013156719
レコードを構成するN個の属性値ν(r,1),...,ν(r,N)は匿名化部116−rに入力される。匿名化部116−rは、N個の属性値ν(r,1),...,ν(r,N)を匿名化し、N個の匿名化属性値v(r,1),...,v(r,N)を生成して出力する。匿名化とは、レコードからデータ提供者そのものを特定するための情報(氏名等)を排除するだけでなく、レコードに含まれる正しい属性値のデータ量を削減することを意味する。例えば、レコードに含まれる属性値の粒度を低下させたり、一部の属性値を所定の確率で異なる値に置換したりすることが匿名化に相当する。例えば表1のレコードの場合、属性「年齢」「性別」「住所」「年収」それぞれの属性値を「30代」「男」「東京都」「500万円代」に変換したり、所定の確率で異なる属性値にランダム置換したりすること(例えば、非特許文献1の維持−置換撹乱)が匿名化に相当する。本形態の匿名化部116−rは、匿名化属性値v(r,1),...,v(r,N)に含まれる任意のM個の匿名化属性値v(r,w(1)),...,v(r,w(M))({w(1),...,w(M)}⊂{1,...,N})が含む正しい属性値に対応する値を表現するためのデータ量の合計が所定値以下であるように秘匿化する(m(j)≦M, 1≦M<N)。言い換えると、本形態の匿名化部116−rは、匿名化属性値v(r,1),...,v(r,N)からどのような組み合わせのM個の匿名化属性値v(r,w(1)),...,v(r,w(M))が選択されたとしても、それらから得られる正しい属性値に対応する値を表現するためのデータ量の合計が所定値以下となるように秘匿化する。なお、正しい属性値に対応する値とは、正しい属性値そのものや正しい属性値の上位概念を意味する。例えば表1の例の場合、属性「年齢」の正しい属性値「32歳」に対応する値は「32歳」や「30代」である(ステップS112)。
匿名化属性値v(r,1),...,v(r,N)は秘匿化部117−rに入力される。秘匿化部117−rは、匿名化属性値v(r,1),...,v(r,N)を秘匿化し、それによって得られたN個の秘匿化匿名属性値s(r,1),...,s(r,N)を出力する(ステップS113)。秘匿化とは、秘匿化後の値から秘匿化前の値を得ることを困難にする処理を意味する。例えば、秘密分散や暗号化などが秘匿化の例である。また、秘匿化後の値で秘密計算が可能な秘匿化方式も存在する。秘密計算が可能な秘匿化方式の具体例は、秘匿回路方式(例えば、参考文献1:柴田賢介, 千田浩司, 五十嵐大, 山本太郎, 高橋克巳,“表計算ソフトをフロントエンドとした委託型2パーティ秘匿回路計算システム”, CSS2009, 2009.)、加法的秘密分散方式(例えば、参考文献2:千田浩司, 濱田浩気, 五十嵐大, 高橋克巳, “軽量検証可能3パーティ秘匿関数計算の再考”, CSS2010, 2010.)、エルガマル暗号方式(例えば、参考文献3:千田浩司, 谷口展郎, 山本剛, 岡崎聖人, 塩野入理, 金井敦, “エルガマル暗号に基づく秘匿回路計算の実装と応用”, CSS2005, pp. 475 - 480, 2005.)などである。N個の秘匿化匿名属性値s(r,1),...,s(r,N)は出力部112−rに入力される。出力部112−rは、秘匿化匿名属性値s(r,1),...,s(r,N)を出力する(ステップS114)。
秘匿化匿名属性値s(r,1),...,s(r,N)は、ネットワーク等を介して匿名データ装置120−1〜Tに送られる。秘匿化方式に応じ、各匿名データ装置120−1〜Tに送られる秘匿化匿名属性値s(r,1),...,s(r,N)が同一である場合と同一でない場合とがある。秘匿化匿名属性値s(r,1),...,s(r,N)は、匿名データ装置120−t(図2B)のそれぞれの入力部121−tに入力され、記憶部123−tに格納される。これにより、記憶部123−tには、属性ATT(1),...,ATT(N)及びr={1,...,R}に秘匿化匿名属性値s(r,1),...,s(r,N)が対応付けられたデータベースが格納される。以下にN=4、ATT(1)=「年齢」, ATT(2)=「性別」, ATT(3)=「住所」, ATT(4)=「年収」である場合のデータベースを例示する。なお、SEC(α)はαが秘匿化された値を表す。
Figure 2013156719
<データの提供>
図3Cに例示するように、分析装置130(図2C)の出力部132は、N個の属性ATT(1),...,ATT(N)から選択されたm(j)(m(j)≦M, 1≦M<N)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))({n(j,1),...,n(j,m(j))}⊂{1,...,N})を表す識別子である属性識別子を出力する(ステップS131)。なお、本形態のMは整数の定数である。属性識別子は、ネットワーク等を経由して匿名データ装置120−tのそれぞれに送られる。
図3Bに例示するように、属性識別子は匿名データ装置120−t(図2B)の入力部121−tに入力され、記憶部123tに格納される(ステップS121)。属性識別子は提供情報生成部126−tに入力される。提供情報生成部126−tは、属性識別子が表すm(j)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))(ただし{n(j,1),...,n(j,m(j))}⊂{1,...,N})のそれぞれに対応する秘匿化匿名属性値s(r,n(j,1)),...,s(r,n(j,m(j)))を記憶部123−tから抽出する。提供情報生成部126−tは、抽出した秘匿化匿名属性値s(r,n(j,1)),...,s(r,n(j,m(j)))からなる集合SUB(r,j)={s(r,n(j,1)),...,s(r,n(j,m(j)))}を用い、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)に対応する提供情報D(n(j,1),...,n(j,m(j)))を生成する。以下に提供情報D(n(j,1),...,n(j,m(j)))を例示する。
[提供情報の例1(集計表)]
この例は、秘匿化匿名属性値s(r,1),...,s(r,N)の秘密計算が可能であることを前提とする。提供情報生成部126−tは、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)を秘密計算によって集計して得られる集計表を提供情報D(n(j,1),...,n(j,m(j)))とする。
集計表の具体例は、秘密計算によって行われるクロス集計によって得られる秘匿化されたクロス集計表である。クロス集計とはテーブルの複数の属性に着目し、着目したすべての属性の属性値が等しいレコードを集計する集計法である。クロス集計表は、着目された複数の属性の属性値の組と当該属性値の組に適合するレコードの個数とが対応付けられた表となる(例えば、参考文献4:永井彰,五十嵐大,濱田浩気,松林達史,“クロネッカー積を含む行列積演算の最適化による効率的なプライバシー保護データ公開技術”,SCIS2010, 2010.参照)。以下に、m(j)=2とし、2個の属性ATT(1)=「年齢」, ATT(2)=「性別」に着目した秘匿化されたクロス集計表を例示する。
Figure 2013156719
集計表の他の具体例は、秘密計算によって行われる単純集計によって得られる秘匿化された単純集計表である。単純集計とはテーブルの一つの属性に着目し、着目した属性の属性値が等しいレコードを集計する集計法である。単純集計表は、着目された属性の属性値と当該属性値に適合するレコードの個数とが対応付けられた表となる。以下に、m(j)=1とし、属性ATT(1)=「年齢」に着目した秘匿化された単純集計表を例示する。
Figure 2013156719
なお、提供情報生成部126−tは、秘匿化された集計表をそのまま提供情報D(n(j,1),...,n(j,m(j)))としてもよいし、秘匿化された集計表から秘匿化されていない集計表を復元し、それを提供情報D(n(j,1),...,n(j,m(j)))としてもよい。
[提供情報の例2(表形式のデータベース)]
提供情報生成部126−tは、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)をランダムに並び替えたR個の集合SUB(q(1),j),SUB(q(2),j),...,SUB(q(R),j)(ただしq(r)∈{1,...,R}, {q(1),...,q(R)}={1,...,R})に対応するR個の集合SUB’(q(1),j),SUB’(q(2),j),...,SUB’(q(R),j)(ただしq(r)∈{1,...,R}, {q(1),...,q(R)}={1,...,R})、又は当該R個の集合SUB’(q(1),j),SUB’(q(2),j),...,SUB’(q(R),j)を復元して得られる属性値の集合(表形式のデータベース)を提供情報D(n(j,1),...,n(j,m(j)))とする。例えば、提供情報生成部126−tは、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)をランダムに並び替えたR個の集合SUB(5,j),SUB(3,j),...,SUB(6,j)に対応するR個の集合SUB’(5,j),SUB’(3,j),...,SUB’(6,j)、又はこれらを復元して得られる属性値の集合を提供情報D(n(j,1),...,n(j,m(j)))とする。なお、SUB(r,j)のそれぞれからrを特定することはできない。SUB(r,j)=SUB’(r,j)(r∈{1,...,R})であってもよいし、SUB(r,j)≠SUB’(r,j)であってもよい。SUB(r,j)≠SUB’(r,j)であり、SUB(r,j)及びSUB’(r,j)からSUB(r,j)とSUB’(r,j)との対応関係を知ることが困難なのであれば、匿名データ装置120−tや分析装置130に対して高い匿名性を維持できる。このような並び替え方法の一例は、「濱田造気,五十嵐大,千田浩司,高橋克巳,“3パーティ秘匿関数計算上のランダム置換プロトコル”,2011年3月8日,情報処理学会シンポジウム論文集,2010巻,9号,pp.561-566.(参考文献5)」に開示されている。提供情報生成部126−tは、提供情報の例1の集計表から生成した表形式のデータベースを提供情報D(n(j,1),...,n(j,m(j)))としてもよい。集計表から表形式のデータベースを生成するには、集計表の各集計値について、当該集計値に対応する属性値の組み合わせからなるレコードを、それぞれ当該集計値分ずつ生成していけばよい。
提供情報生成部126−tは、生成した提供情報D(n(j,1),...,n(j,m(j)))を出力する(ステップS122)。提供情報D(n(j,1),...,n(j,m(j)))は出力部122−tに入力される。出力部122−tは提供情報D(n(j,1),...,n(j,m(j)))を出力する(ステップS123)。提供情報D(n(j,1),...,n(j,m(j)))は、ネットワーク等を介して分析装置130に送られ、図3Cに例示するように、分析装置130(図2C)の入力部131に入力され、記憶部133に格納される(ステップS132)。
分析部113は、記憶部133から提供情報D(n(j,1),...,n(j,m(j)))を抽出し、提供情報D(n(j,1),...,n(j,m(j)))を用いて所望のデータを生成して出力する。例えば提供情報D(n(j,1),...,n(j,m(j)))が秘匿化された情報であれば、分析部113は、例えば提供情報D(n(j,1),...,n(j,m(j)))を復元して得られる情報を出力する。例えば提供情報D(n(j,1),...,n(j,m(j)))が集計表であれば、分析部113は、例えば当該集計表から表形式のデータベースを生成する(ステップS133)。分析部113から出力されたデータは出力部132から出力される(ステップS134)。
なお、ステップS121〜S123,S131〜S133の処理は、すべてのj∈{1,...,J}について実行される。ステップS121〜S123,S131〜S133の処理がそれぞれ1回ずつ実行され、その際に各ステップですべてのj∈{1,...,J}についての処理がまとめて実行されてもよい。或いは、各j∈{1,...,J}についてのステップS121〜S123,S131〜S133の処理がjを更新しながら繰り返されてもよい。また、各j∈{1,...,J}についてのステップS121〜S123,S131,S132の処理がjを更新しながら繰り返され、すべてのj∈{1,...,J}についてステップS121〜S123,S131,S132の処理が実行された後、ステップS133,S134の処理が実行されてもよい。また好ましくは、J≧2であり、j1,j2∈{1,...,J}, j1≠j2について、{n(j1,1),...,n(j1,m(j1))}∩{n(j2,1),...,n(j2,m(j2))}が空集合である。
〔第2実施形態〕
第2実施形態は第1実施形態の具体例である。本形態では、データ提供装置で行われる匿名化処理として非特許文献1の5章に開示された維持-置換撹乱を用い、データ提供装置で行われる秘匿化や匿名データ装置で行われる秘密計算として参考文献2に開示された技術を用いる。参考文献2では、秘匿化情報を3者に秘密分散(加法的秘密分散)して秘密計算を行う。そのため、本形態の匿名データ装置の個数は3個(T=3)となる。以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する部分については第1実施形態と同一の参照番号を用いて説明を簡略以下する。
<構成>
図1に例示するように、第2実施形態の匿名データ提供システム2は、データ提供装置210−1〜R(R≧2)、匿名データ装置220−1〜3(T=3)、及び分析装置230を有する。これらはネットワークや可搬型記録媒体などを介して情報のやり取りが可能である。説明の簡略化のため、本形態では1個の分析装置230のみを説明するが、分析装置が複数存在してもよい。
図2Aに例示するように、第2実施形態のデータ提供装置210−r(r∈{1,...,R})は、入力部111−r、出力部111−r、記憶部113−r、メモリ114−r、制御部215−r、匿名化部216−r、及び秘匿化部217−rを有する。図2Bに例示するように、第2実施形態の匿名データ装置220−t(t∈{1,2,3})は、入力部121−t、出力部122−t、記憶部123−t、メモリ124−t、制御部225−t、及び提供情報生成部226−tを有する。図2Cに例示するように、第2実施形態の分析装置230は、入力部131、出力部132、記憶部133、メモリ134、制御部235、及び分析部236を有する。
データ提供装置210−1〜R、匿名データ装置220−1〜3、及び分析装置230は、例えば、公知又は専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。データ提供装置210−1〜R、匿名データ装置220−1〜3、及び分析装置230は、それぞれが有する制御部215−r,225−t,235の制御のもとで各処理を実行する。各処理部から出力されたデータは、それぞれの装置が有するメモリ114−r,124−t,134に格納され、必要に応じて読み出されて他の処理に利用される。
<事前処理>
各属性ATT(n)(ただしn∈{1,...,N})にそれぞれ対応する維持確率ρ(n)(ただし0≦ρ(n)≦1)、及び各属性ATT(n)(ただしn∈{1,...,N})にそれぞれ対応する属性値を正整数に変換するための対応表TAB(属性値と整数との対応表)が何れかの匿名データ装置220−tから出力され、データ提供装置210−1〜Rのそれぞれに設定される。維持確率とは、維持-置換撹乱で属性値が維持される確率を表す。維持-置換撹乱で属性値が維持されない場合には本来の属性値がランダムな属性値に変更される。本来の属性値がランダムな属性値に変更された場合であっても、ランダムな属性値が本来の属性値に一致する場合もある。維持確率は、ランダムな属性値が本来の属性値に一致する場合にも属性値が維持されていないとみた確率である。好ましくは、維持確率ρ(n) (ただしn∈{1,...,N})は、維持-置換撹乱によって生成された匿名化属性値v(r,1),...,v(r,N)に含まれる任意のM個の匿名化属性値v(r,w(1)),...,v(r,w(M))(ただし{w(1),...,w(M)}⊂{1,...,N})が含む正しい属性値に対応する値を表現するためのデータ量の合計が所定値以下となるような値である(m(j)≦M, 1≦M<N)。或いは、以下のσ値が閾値以上となる維持確率ρ(η)(ただしη∈{1,...,N})が選択されることが望ましい。σ値は、直感的に「どのデータからもデータ提供者をσ個以下の候補に絞り込めない」ということを保証する指標である。
Figure 2013156719
ただし、AS={w(1),...,w(M)}⊂{1,...,N}}であり、L(η)は属性ATT(η)の属性値の個数(要素の個数)である。例えば属性ATT(2)=「性別」である場合、L(2)=2である。また、参考文献2の秘密計算では正整数の属性値しか扱うことができず、属性値を整数として扱う必要性から対応表TABが必要となる。
<秘匿データの保管処理>
図3Aに例示するように、各データ提供装置210−r(図2A)の入力部111−rに、レコードを構成するN個(N≧2)の属性ATT(1),...,ATT(N)それぞれの属性値ν(r,1),...,ν(r,N)が入力され、記憶部113−rに格納される(ステップS111)。
レコードを構成するN個の属性値ν(r,1),...,ν(r,N)は匿名化部216−rに入力される。匿名化部216−rは、以下のようにN個の属性値ν(r,1),...,ν(r,N)を匿名化し、N個の匿名化属性値v(r,1),...,v(r,N)を生成して出力する。
まず匿名化部216−rは、対応表TABに従って、N個の属性値ν(r,1),...,ν(r,N)をN個の属性整数値υ(r,1),...,υ(r,N)に変換する。次に匿名化部216−rは、維持確率ρ(n)(ただしn∈{1,...,N})で属性ATT(n)に対応する属性整数値υ(r,n)の維持-置換撹乱を行い、正整数である匿名化属性値v(r,n)を生成する。維持確率ρ(n)をυ(n)行v(n)列成分を遷移確率(A(n))υ(n)v(n)とする遷移確率行列A(n)で表現すると以下のようになる。
Figure 2013156719
ただし、L(n)は属性ATT(n)の属性値の個数である。υ(r,n)=v(r,n)となる確率がρ(n)+(1-ρ(n))/L(n)であり、υ(r,n)≠v(r,n)である各v(r,n)となる確率がそれぞれ(1-ρ(n))である。ここでυ(r,n)≠v(r,n)であるv(r,n)は(L(n)-1)種類存在する。そのため、ρ(n)+(1-ρ(n))/L(n)の確率でυ(r,n)=v(r,n)となり、(1-ρ(n))・(L(n)-1)/L(n)(「・」は乗算演算子)の確率でυ(r,n)≠v(r,n)となる(ステップS212)。
匿名化属性値v(r,1),...,v(r,N)は秘匿化部217−rに入力される。秘匿化部217−rは、匿名化属性値v(r,1),...,v(r,N)を以下のように秘匿化し、それによって得られたN個の秘匿化匿名属性値s(r,1),...,s(r,N)を出力する。本形態では、3個の匿名データ装置220−t(t∈{1,2,3})に対し、互いに同一とは限らない秘匿化匿名属性値s(r,1),...,s(r,N)が出力される。以下では匿名データ装置220−t(t∈{1,2,3})に対して出力される秘匿化匿名属性値s(r,n)(n∈{1,...,N})をst(r,n)(t∈{1,2,3})と表記する。
まず秘匿化部217−rは、匿名化属性値v(r,n)(n∈{1,...,N})を、L(n)個の整数F(1,r,n),...,F(L(n),r,n)からなる整数列であって上位からv(r,n)番目の値F(v(r,n),r,n)が1であってv(r,n)番目以外の値が0である整数列F(r,n)に変換する。前述のようにL(n)は属性ATT(n)の属性値の個数である。例えば、L(2)=2, v(r,2)=1である場合、F(r,2)=10となる。
次に秘匿化部217−rは、この変換によって得られたN個の整数列F(r,n)(n∈{1,...,N})を構成する各整数に対する加法的秘密分散を行う。すなわち、まず秘匿化部217−rは、L(n)個のランダムな整数F0(1,r,n),...,F0(L(n),r,n)からなる整数列F0(r,n)(n∈{1,...,N})と、L(n)個のランダムな整数F1(1,r,n),...,F1(L(n),r,n)からなる整数列F1(r,n)(n∈{1,...,N})を生成する。次に秘匿化部217−rは、F2(ω,r,n)=F(ω,r,n)-F0(ω,r,n)-F1(ω,r,n) mod p (ω∈{1,...,L(n)}, n∈{1,...,N})を計算する。ただし、pは素数定数である。秘匿化部217−rは、以下のような秘匿化匿名属性値st(r,n)(t∈{1,2,3}, n∈{1,...,N})を生成する。
s1(r,n)=(F0(1,r,n),...,F0(L(n),r,n), F1(1,r,n),...,F1(L(n),r,n))
s2(r,n)=(F1(1,r,n),...,F1(L(n),r,n), F2(1,r,n),...,F2(L(n),r,n))
s3(r,n)=(F2(1,r,n),...,F2(L(n),r,n), F0(1,r,n),...,F0(L(n),r,n))
すなわち、秘匿化部217−rは、以下のような秘匿化匿名属性値st(r,n)(t∈{1,2,3}, n∈{1,...,N})を生成する。
st(r,n)=(Ft-1(1,r,n),...,Ft-1(L(n),r,n), Ft mod 3(1,r,n),...,Ft mod 3(L(n),r,n))
秘匿化匿名属性値st(r,1),...,st(r,N)(t∈{1,2,3})は出力部112−rに入力される(ステップS213)。
出力部112−rは、秘匿化匿名属性値st(r,1),...,st(r,N)(t∈{1,2,3})を出力する(ステップS214)。秘匿化匿名属性値st(r,1),...,st(r,N)は、ネットワーク等を介して匿名データ装置220−t(t∈{1,2,3})に送られる。秘匿化匿名属性値st(r,1),...,st(r,N)は、匿名データ装置220−t(図2B)のそれぞれの入力部121−tに入力され、記憶部123−tに格納される。これにより、記憶部123−tには、属性ATT(1),...,ATT(N)及びr={1,...,R}に秘匿化匿名属性値st(r,1),...,st(r,N)が対応付けられたデータベースが格納される。
<データの提供>
図3Cに例示するように、分析装置230(図2C)の出力部132は、N個の属性ATT(1),...,ATT(N)から選択されたm(j)(ただしm(j)≦M, 1≦M<N)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))(ただし{n(j,1),...,n(j,m(j))}⊂{1,...,N})を表す識別子である属性識別子を出力する(ステップS131)。なお、本形態のMは整数の定数である。属性識別子は、ネットワーク等を経由して匿名データ装置220−t(t∈{1,2,3})のそれぞれに送られる。
図3Bに例示するように、属性識別子は匿名データ装置220−t(図2B)の入力部121−tに入力され、記憶部123tに格納される(ステップS121)。属性識別子は提供情報生成部226−tに入力される。提供情報生成部226−tは、属性識別子が表すm(j)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))({n(j,1),...,n(j,m(j))}⊂{1,...,N})のそれぞれに対応する秘匿化匿名属性値st(r,n(j,1)),...,st(r,n(j,m(j)))を記憶部123−tから抽出する。提供情報生成部226−tは、抽出した秘匿化匿名属性値st(r,n(j,1)),...,st(r,n(j,m(j)))からなる集合SUBt(r,j)={st(r,n(j,1)),...,st(r,n(j,m(j)))}を用い、R個の集合SUBt(1,j),SUBt(2,j),...,SUBt(R,j)に対応する提供情報Dt(n(j,1),...,n(j,m(j)))を生成する。本形態では、秘匿化されたクロス集計表が生成され、秘匿化されたクロス集計表又はそれから復元されたクロス集計表が提供情報Dt(n(j,1),...,n(j,m(j)))とされる。以下に提供情報Dt(n(j,1),...,n(j,m(j)))の生成方法を例示する。
まず提供情報生成部226−tは、属性識別子が表す属性ATT(n’)(n’∈{n(j,1),...,n(j,m(j))})の属性値となり得る値κ(n’)を、前記の対応表TABに従って、正整数値k(n’)に変換する。言い換えると、提供情報生成部226−tは、属性識別子が表すm(j)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))の属性値となり得るm(j)個の値κ(n(j,1)),...,κ(n(j,m(j)))を、前記の対応表TABに従って、m(j)個の正整数値k(n(j,1)),...,k(n(j,m(j)))に変換する。なお、この変換処理は事前になされていてもよい。ここで、正整数値k(n(j,1)),...,k(n(j,m(j)))からなる集合CELL(c)={k(n(j,1)),...,k(n(j,m(j)))}をセルと呼ぶ。セルCELL(c)(c∈{1,...,MAX})は属性ATT(n(j,1)),...,ATT(n(j,m(j)))の属性値となり得るすべてのm(j)個の値κ(n(j,1)),...,κ(n(j,m(j)))の組み合わせについて設定される。MAXはm(j)個の値κ(n(j,1)),...,κ(n(j,m(j)))の組み合わせ総数である。例えば、属性識別子が2個の属性ATT(1),ATT(2)(ただしm(j)=2, L(1)=5, L(2)=2)を表す場合、属性ATT(1),ATT(2)の属性値となり得る2個の値κ(1),κ(2)の組み合わせは10通り存在し(MAX=10)、それぞれの組み合わせに対応するセルCELL(c)(ただしc∈{1,...,10})が設定される。
次に、提供情報生成部226−tは、属性識別子が表す属性ATT(n’)(ただしn’∈{n(j,1),...,n(j,m(j))})に対応する秘匿化匿名属性値st(r,n’)=(Ft-1(1,r,n’),...,Ft-1(L(n’),r,n’), Ft mod 3(1,r,n’),...,Ft mod 3(L(n’),r,n’))を記憶部123−tから抽出し、以下の積PROt-1(r,c), PROt mod 3(r,c) (ただしr∈{1,...,R}, c∈{1,...,MAX})を計算する。
Figure 2013156719
次に、提供情報生成部226−tは、積PROt-1(r,c), PROt mod 3(r,c)のr∈{1,...,R}についての和PSt-1(c), PSt mod 3(c) (c∈{1,...,MAX})を以下のように計算する。
Figure 2013156719
(PSt-1(c), PSt mod 3(c))(c∈{1,...,MAX})は、秘匿化されたクロス集計表のCELL(c)に対応する秘匿化された秘匿値となっている。提供情報生成部226−tは、(PSt-1(1), PSt mod 3(1)),...,(PSt-1(MAX), PSt mod 3(MAX))を提供情報Dt(n(j,1),...,n(j,m(j)))として出力する(ステップS222)。提供情報Dt(n(j,1),...,n(j,m(j)))は出力部122−tに入力される。出力部122−tは提供情報Dt(n(j,1),...,n(j,m(j)))を出力する(ステップS223)。
提供情報Dt(n(j,1),...,n(j,m(j)))は、ネットワーク等を介して分析装置230に送られ、図3Cに例示するように、分析装置230(図2C)の入力部131に入力され、記憶部133に格納される(ステップS232)。
分析部213は、記憶部133から2個以上の異なるt∈{1,2,3}に対応する提供情報Dt(n(j,1),...,n(j,m(j)))を抽出し、これらを用いてクロス集計表を復元して出力する。例えば、分析部213は、D1(n(j,1),...,n(j,m(j)))=(PS0(1), PS1(1)),...,(PS0(MAX), PS1(MAX)), D2(n(j,1),...,n(j,m(j)))=(PS1(1), PS2(1)),...,(PS1(MAX), PS2(MAX))を用い、以下のようにクロス集計表に含まれる各集計値E(c)(ただしc∈{1,...,MAX})を生成して出力する。
E(c)=PS0(c)+PS1(c)+PS2(c) mod p ...(7)
或いは、分析部213は、式(7)によって得られた集計値E(c)(ただしc∈{1,...,MAX})に対し、さらに参考文献4の3章の「3.3.3 反復ベイズ手法を用いた再構築処理」に記載された反復ベイズ手法を施し、それによって得られた再構築値からなる再構築クロス集計表を生成して出力してもよい。すなわち、分析部213は、遷移確率行列A(n(j,1)),...,A(n(j,m(j)))のクロネッカー積A(j)とy=(E(1),...,E(MAX))とを「Input」として、参考文献4の3章の「Algorithm 1 Reconstruction」を実行し、それによって出力される再構築値x=(E’(1),...,E’(MAX))の要素E’(1),...,E’(MAX)からなる再構築クロス集計表を生成して出力してもよい。例えば分析部213は、ιを1ずつ増加させながらx ι+1=x ι・(A(j)・(y/(x ι・A))t)tを繰り返し、x ι+1とx ιとの距離が閾値以下となった時点でのx ιをxとする。ただし、(α)tはαの転置を表す。或いは、分析部113がクロス集計表又は再構築クロス集計表を表形式のデータベースに変換してから出力してもよい。なお、各セルCELL(c)の再構築値E’(c)(ただしc∈{1,...,MAX})は整数とは限らず、一般に実数である。しかしながら、再構築値E’(c)(ただしc∈{1,...,MAX})の合計値はレコードの総数Rと等しい。このような再構築クロス集計表を表形式のデータベースに変換する方法としては、例えば、「特開2011-145869号公報(参考文献6)」に開示された方法がある。参考文献6の方法を用いる場合、分析部113は、再構築クロス集計表の各再構築値E’(c)について、当該再構築値E’(c)に対応する属性値の組み合わせからなるレコードを、それぞれ当該再構築値E’(c)の整数部の値ずつ生成する。さらに分析部113は、各再構築値E’(c) (c∈{1,...,MAX})の小数部を加算していき、その加算値SUMが1となった時点での再構築値E’(c)に対応する属性値の組み合わせからなるレコードをさらに1個生成し、かつ、加算値SUMから1を減じた値を新たな加算値SUMとしていく処理を、すべての再構築値E’(c) (c∈{1,...,MAX})の小数部の加算が終了するまで実行する(ステップS233)。分析部213から出力されたデータは出力部132から出力される(ステップS234)。
なお、ステップS121,S222,S223,S131,S232,S233の処理は、すべてのj∈{1,...,J}について実行される。ステップS121,S222,S223,S131,S232,S233の処理がそれぞれ1回ずつ実行され、その際に各ステップですべてのj∈{1,...,J}についての処理がまとめて実行されてもよい。或いは、各j∈{1,...,J}についてのステップS121,S222,S223,S131,S232,S233の処理がjを更新しながら繰り返されてもよい。また、各j∈{1,...,J}についてのステップSS121,S222,S223,S131,S232の処理がjを更新しながら繰り返され、すべてのj∈{1,...,J}についてステップS121,S222,S223,S131,S232の処理が実行された後、ステップS233,S234の処理が実行されてもよい。また好ましくは、J≧2であり、j1,j2∈{1,...,J}, j1≠j2について、{n(j1,1),...,n(j1,m(j1))}∩{n(j2,1),...,n(j2,m(j2))}が空集合である。
また、上記では、提供情報生成部226−tが(PSt-1(1), PSt mod 3(1)),...,(PSt-1(MAX), PSt mod 3(MAX))を提供情報Dt(n(j,1),...,n(j,m(j)))として出力したが(ステップS222)、提供情報生成部226−tが他の匿名データ装置220−t’から(PSt’-1(1), PSt’ mod 3(1)),...,(PSt’-1(MAX), PSt’ mod 3(MAX))を受け取り、式(7)に従って各集計値E(c)(c∈{1,...,MAX})を求め、それらを提供情報として出力してもよい。或いは、提供情報生成部226−tが式(7)によって得られた各集計値E(c)に対し、さらに参考文献4の3章の「反復ベイズ手法を用いた再構築処理」を施し、それによって得られた再構築値からなる再構築クロス集計表を提供情報として出力してもよい。或いは、提供情報生成部226−tがクロス集計表又は再構築クロス集計表を表形式のデータベースに変換し、それを提供情報として出力してもよい。
本形態では、秘密計算として参考文献2に開示された技術を用いた。参考文献2の秘密計算は、特に加算及び乗算を効率的に実行できる秘密計算であり、一般的に重い処理である秘密計算を非常に効率よく実行できる。参考文献2の秘密計算による加算は、通常の加算とほぼ同等の処理量で実行でき、参考文献2の秘密計算による乗算は、1秒あたり理論値で約500万回実行できる(素数32bit, 双方向500Mbpsで計算) 。そのため、属性の個数をN=3とし、各属性ATT(n)の属性値の個数をL(n)=10とし、レコードの総数をR=100万とした場合、乗算回数は(3-1)×1,000,000×103 = 2,000,000,000となり、7分弱で計算を完了できる。また、匿名化に関しては維持-置換撹乱はもともとレコードごとに独立に実行可能なため、データ提供者が複数人いる場合も有用性のロスなく匿名化できる。その他の匿名性は第1実施形態と同等である。
〔第3実施形態〕
第3実施形態は第1,2実施形態の具体例である。本形態では、データ提供装置で行われる匿名化処理として第2実施形態と同様の維持-置換撹乱を用い、データ提供装置で行われる秘匿化や匿名データ装置で行われる秘密計算として参考文献1に開示された技術を用いる。参考文献1の秘密計算は2者で実行される。そのため、本形態の匿名データ装置の個数は2個(T=2)となる。以下では、第1,2実施形態との相違点を中心に説明し、第1,2実施形態と共通する部分については第1実施形態と同一の参照番号を用いて説明を簡略以下する。
<構成>
図1に例示するように、第3実施形態の匿名データ提供システム3は、データ提供装置310−1〜R(R≧2)、匿名データ装置320−1,2(T=2)、及び分析装置330を有する。これらはネットワークや可搬型記録媒体などを介して情報のやり取りが可能である。説明の簡略化のため、本形態では1個の分析装置330のみを説明するが、分析装置が複数存在してもよい。
図2Aに例示するように、第3実施形態のデータ提供装置310−r(r∈{1,...,R})は、入力部111−r、出力部111−r、記憶部113−r、メモリ114−r、制御部315−r、匿名化部216−r、及び秘匿化部317−rを有する。図2Bに例示するように、第3実施形態の匿名データ装置320−t(t∈{1,2})は、入力部121−t、出力部122−t、記憶部123−t、メモリ124−t、制御部325−t、及び提供情報生成部326−tを有する。図2Cに例示するように、第3実施形態の分析装置330は、入力部131、出力部132、記憶部133、メモリ134、制御部335、及び分析部336を有する。
データ提供装置310−1〜R、匿名データ装置320−1,2、及び分析装置330は、例えば、公知又は専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。データ提供装置310−1〜R、匿名データ装置320−1,2、及び分析装置330は、それぞれが有する制御部315−r,325−t,335の制御のもとで各処理を実行する。各処理部から出力されたデータは、それぞれの装置が有するメモリ114−r,124−t,134に格納され、必要に応じて読み出されて他の処理に利用される。
<事前処理>
データ提供装置210−1〜R及び匿名データ装置320−tがデータ提供装置310−1〜R及び匿名データ装置320−tに置換される以外、第2実施形態と同じである。
<秘匿データの保管処理>
図3Aに例示するように、各データ提供装置310−r(図2A)の入力部111−rに、レコードを構成するN個(N≧2)の属性ATT(1),...,ATT(N)それぞれの属性値ν(r,1),...,ν(r,N)が入力され、記憶部113−rに格納される(ステップS111)。
レコードを構成するN個の属性値ν(r,1),...,ν(r,N)は匿名化部216−rに入力される。匿名化部216−rは、第2実施形態と同様にN個の属性値ν(r,1),...,ν(r,N)を匿名化し、N個の匿名化属性値v(r,1),...,v(r,N)を生成して出力する(ステップS212)。
匿名化属性値v(r,1),...,v(r,N)は秘匿化部317−rに入力される。秘匿化部317−rは、匿名化属性値v(r,1),...,v(r,N)を以下のように秘匿化し、それによって得られたN個の秘匿化匿名属性値s(r,1),...,s(r,N)を出力する。本形態では、2個の匿名データ装置320−t(ただしt∈{1,2})に対し、異なる秘匿化匿名属性値s(r,1),...,s(r,N)が出力される。以下では匿名データ装置320−t(ただしt∈{1,2})に対して出力される秘匿化匿名属性値s(r,n)(n∈{1,...,N})をst(r,n)(ただしt∈{1,2})と表記する。
まず秘匿化部317−rは、匿名化属性値v(r,n)(n∈{1,...,N})を、L(n)個の整数F(1,r,n),...,F(L(n),r,n)からなる整数列であって上位からv(r,n)番目の値F(v(r,n),r,n)が1であってv(r,n)番目以外の値が0である整数列F(r,n)に変換する。
次に秘匿化部317−rは、この変換によって得られた各整数列F(r,n)(n∈{1,...,N})を構成する各整数F(1,r,n),...,F(L(n),r,n)に対し、参考文献1の3章3.1節「提案手法」に開示されたプロトコル中の1,2の処理を行う。まず秘匿化部317−rは、クロス集計を行う論理回路の入力ワイヤーi(ω,r,n)(ω∈{1,...,L(n)},n∈{1,...,N})のそれぞれに対し、0,1にそれぞれ対応する2個のSEビットの乱数値Wi(ω,r,n),0, Wi(ω,r,n),1∈{0,1}seと、1個のランダムビットci(ω,r,n)∈{0,1}と、ランダムビットci(ω,r,n)の反転ビットci(ω,r,n) -と生成し、以下のようなPWi,0(ω,r,n),PWi,1(ω,r,n)を生成する。ただし、SEは正整数の定数である。
PWi,0(ω,r,n)=(Wi(ω,r,n),0, ci(ω,r,n)) ...(7)
PWi,1(ω,r,n)=(Wi(ω,r,n),1, ci(ω,r,n) -) ...(8)
さらに秘匿化部317−rは、整数F(ω,r,n)(ω∈{1,...,L(n)},n∈{1,...,N})のそれぞれを、F(ω,r,n)=DF1(ω,r,n)(+)DF2(ω,r,n)を満たす整数DF1(ω,r,n),DF2(ω,r,n)∈{0,1}に分割する。ただし、(+)は排他的論理和演算子を表す。例えば、まず秘匿化部317−rは、乱数DF1(ω,r,n)∈{0,1}を生成し、F(ω,r,n)=DF1(ω,r,n)(+)DF2(ω,r,n)を満たす整数DF2(ω,r,n)∈{0,1}を生成する。次に秘匿化部217−rは、上述のPWi,0(ω,r,n),PWi,0(ω,r,n)(式(7)(8))を用い、整数DF2(ω,r,n)に対応する<Wi(ω,r,n),b(ω,r,n), b(ω,r,n)(+)ci(ω,r,n)>(b(ω,r,n)=DF2(ω,r,n)∈{0,1})をそれぞれ生成する。秘匿化部217−rは、例えば以下のような秘匿化匿名属性値st(r,n)(t∈{1,2}, n∈{1,...,N})を生成する。
s1(r,n)=(DF1(1,r,n),...,DF1(L(n),r,n), <PWi,0(1,r,n),PWi,1(1,r,n))>,...,<PWi,0(L(n),r,n),PWi,1(L(n),r,n)>)
s2(r,n)=(<Wi(1,r,n),b(1,r,n), b(1,r,n)(+)ci(1,r,n)>,...,<Wi(L(n),r,n),b(L(n),r,n), b(L(n),r,n)(+)ci(L(n),r,n)>)
秘匿化匿名属性値st(r,1),...,st(r,N)(t∈{1,2})は出力部112−rに入力される(ステップS313)。
出力部112−rは、秘匿化匿名属性値st(r,1),...,st(r,N)(t∈{1,2})を出力する(ステップS314)。秘匿化匿名属性値st(r,1),...,st(r,N)は、ネットワーク等を介して匿名データ装置320−t(t∈{1,2})に送られる。秘匿化匿名属性値st(r,1),...,st(r,N)は、匿名データ装置320−t(図2B)のそれぞれの入力部121−tに入力され、記憶部13−tに格納される。これにより、記憶部123−tには、属性ATT(1),...,ATT(N)及びr={1,...,R}に秘匿化匿名属性値st(r,1),...,st(r,N)が対応付けられたデータベースが格納される。
<データの提供>
図3Cに例示するように、分析装置330(図2C)の出力部132は、N個の属性ATT(1),...,ATT(N)から選択されたm(j)(m(j)≦M, 1≦M<N)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))({n(j,1),...,n(j,m(j))}⊂{1,...,N})を表す識別子である属性識別子を出力する(ステップS131)。なお、本形態のMは整数の定数である。属性識別子は、ネットワーク等を経由して匿名データ装置220−t(t∈{1,2,3})のそれぞれに送られる。
図3Bに例示するように、属性識別子は匿名データ装置220−t(図2B)の入力部121−tに入力され、記憶部123tに格納される(ステップS121)。属性識別子は提供情報生成部226−tに入力される。提供情報生成部226−tは、属性識別子が表すm(j)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))({n(j,1),...,n(j,m(j))}⊂{1,...,N})のそれぞれに対応する秘匿化匿名属性値st(r,n(j,1)),...,st(r,n(j,m(j)))を記憶部123−tから抽出する。提供情報生成部326−tは、抽出した秘匿化匿名属性値s(r,n(j,1)),...,s(r,n(j,m(j)))からなる集合SUB(r,j)={s(r,n(j,1)),...,s(r,n(j,m(j)))}を用い、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)に対応する提供情報D(n(j,1),...,n(j,m(j)))を生成する。本形態では、秘匿化されたクロス集計表が生成され、秘匿化されたクロス集計表又はそれから復元されたクロス集計表が提供情報D(n(j,1),...,n(j,m(j)))とされる。以下に提供情報D(n(j,1),...,n(j,m(j)))の生成方法を例示する。なお、以下では匿名データ装置320−tで生成される提供情報D(n(j,1),...,n(j,m(j)))をDt(n(j,1),...,n(j,m(j)))と表記する。
[提供情報生成部326−1の処理]
まず提供情報生成部326−1は、第2実施形態と同様に、属性識別子が表す属性ATT(n’)(ただしn’∈{n(j,1),...,n(j,m(j))})の属性値となり得る値κ(n’)を、前記の対応表TABに従って、正整数値k(n’)に変換する。この変換処理は事前になされていてもよい。
次に、提供情報生成部326−1は、属性識別子が表す属性ATT(n’)(ただしn’∈{n(j,1),...,n(j,m(j))})に対応する秘匿化匿名属性値s1(r,n’)=(DF1(1,r,n’),...,DF1(L(n’),r,n’), <PWi,0(1,r,n’),PWi,1(1,r,n’))>,...,<PWi,0(L(n’),r,n’),PWi,1(L(n’),r,n’)>)を記憶部123−1から抽出する。提供情報生成部326−1は、入力ビット列x=(X(1,r,n’),...,X(L(n),r,n’)(ただしX(ω,r,n’)∈{0,1})がDF2(1,r,n’),...,DF2(L(n),r,n’)である場合に以下の論理演算LO(c,x)(ただしc∈{1,...,MAX})を実行する論理回路を設定する。
Figure 2013156719
さらに提供情報生成部326−1は、設定した当該論理回路を構成する各論理ゲート(ANDゲートやXORゲート等)の処理内容を表す真理値表を乱数化したテーブル(参考文献1の2章2.1節(c)、参考文献7:A. C. Yao., “how to generate and exchange secrets,” Proc. of FOCS ’86, pp. 162-167, IEEE Press, 1986.等参照)を生成し、当該真理値表を乱数化したテーブルの集合TLO(c,x)(c∈{1,...,MAX})を生成する。以下に、入力χ(0),χ(1)∈{0,1}に対してg(z;χ(0),χ(1))∈{0,1}を出力する1個の論理ゲートGATE(z)の処理内容を表す真理値表を乱数化したテーブルを例示する。このようなテーブルを各論理ゲートGATE(z)について生成することで集合TLO(c,x)が得られる。
Figure 2013156719
ただし、cu(z;β)∈{0,1}は当該論理ゲートGATE(z)の入力χ(β)(β∈{0,1})に対応するランダムビットであり、cu(β) -はcu(z;β)の反転ビットである。当該論理ゲートGATE(z)の入力χ(β)がi番目の入力ワイヤーに対応する場合、PWi,0(ω,r,n)に含まれるci(ω,r,n)がcu(z;β)となり、PWi,1(ω,r,n)に含まれるci(ω,r,n) -がcu(z;β) -となる。当該論理ゲートGATE(z)の入力χ(β)がいずれの入力ワイヤーにも対応しない場合、当該論理ゲートGATE(z)の前段の論理ゲート(z-1)の出力に対応するランダムビットcd(z-1)∈{0,1}がcu(z;β)となる。このランダムビットcd(z-1)は提供情報生成部326−1で生成されたものである。cd(z)∈{0,1}は、当該論理ゲートGATE(z)の出力に対して提供情報生成部326−1で生成されたランダムビットである。ただし、当該論理ゲートGATE(z)が最終段のゲートである場合にはcd(z)=0とされる。Wd(z),γ∈{0,1}se(γ∈{0,1})は、当該論理ゲートGATE(z)に対して提供情報生成部326−1で生成されたSEビットの乱数値である。Wu(z;β),γ∈{0,1}seは、論理ゲートGATE(z)の入力χ(β)(β∈{0,1})に対応するビット値γ(ただしγ∈{0,1})に対して生成されたSEビットの乱数値である。当該論理ゲートGATE(z)の入力χ(β)がi番目の入力ワイヤーに対応する場合、PWi,0(ω,r,n)に含まれるWi(ω,r,n),0がWu(z;β),0となり、PWi,1(ω,r,n)に含まれるWi(ω,r,n),1がWu(z;β),1となる。Hは疑似ランダム関数であり、Hの例はハッシュ関数である。また、組(「ラベル」と呼ぶ)cu(z;0),cu(z;1)は秘匿値(Wd(z),g(z;0,0),g(z;0,0)(+)cd(z))(+)H(Wu(z;0),0,cu(z;1))(+)H(Wu(z;1),0,cu(z;0))に対応付けられ、ラベルcu(z;0),cu(z;1) -は秘匿値(Wd(z),g(z;0,1),g(z;0,1)(+)cd(z))(+)H(Wu(z;0),0,cu(z;1) -)(+)H(Wu(z;1),1,cu(z;0))に対応付けられ、ラベルcu(z;0) -,cu(z;1)は秘匿値(Wd(z),g(z;1,0),g(z;1,0)(+)cd(z))(+)H(Wu(z;0),1,cu(z;1))(+)H(Wu(z;1),0,cu(z;0) -)に対応付けられ、ラベルcu(z;0) -,cu(z;1) -は秘匿値(Wd(z),g(z;1,1),g(z;1,1)(+)cd(z))(+)H(Wu(z;0),1,cu(z;1) -)(+)H(Wu(z;1),1,cu(z;0) -)に対応付けられる。
すべてのセルCELL(c)(ただしc∈{1,...,MAX})に対応する集合TLO(c,x)は提供情報D1(n(j,1),...,n(j,m(j)))として出力部122−1に入力される。
[提供情報生成部326−2の処理]
まず提供情報生成部326−2は、属性識別子が表す属性ATT(n’)(n’∈{n(j,1),...,n(j,m(j))})に対応する秘匿化匿名属性値の要素(<Wi(1,r,n’),b(1,r,n’), b(1,r,n’)(+)ci(1,r,n’)>,...,<Wi(L(n),r,n’),b(L(n),r,n’), b(L(n),r,n’)(+)ci(L(n),r,n’)>)を記憶部123−2から抽出する。要素(<Wi(1,r,n’),b(1,r,n’), b(1,r,n’)(+)ci(1,r,n’)>,...,<Wi(L(n),r,n’),b(L(n),r,n’), b(L(n),r,n’)(+)ci(L(n),r,n’)>)は、提供情報D2(n(j,1),...,n(j,m(j)))として出力部122−2に入力される(ステップS322)。
出力部122−t(t∈{0,1})は、提供情報Dt(n(j,1),...,n(j,m(j)))を出力する(ステップS323)。提供情報Dt(n(j,1),...,n(j,m(j)))は、ネットワーク等を介して分析装置330に送られ、図3Cに例示するように、分析装置330(図2C)の入力部131に入力され、記憶部133に格納される(ステップS332)。
分析部313は、記憶部133から提供情報D1(n(j,1),...,n(j,m(j))),提供情報D2(n(j,1),...,n(j,m(j)))を抽出し、これらを用いて各集計値E(c)(ただしc∈{1,...,MAX})を復元して出力する。この復元方法は周知であるため詳細な説明は省略する(例えば、参考文献7等参照)。一例として、式(10)が入力ワイヤーi=i’,i’’に対応する初段の論理ゲートGATE(z)の処理内容を表す真理値表を乱数化したテーブルであると仮定する。分析部313は、提供情報D2(n(j,1),...,n(j,m(j)))に含まれる<Wi’,b’, b’(+)ci’>及び<Wi’’,b’’, b’’(+)ci’’>を用い、b’(+)ci’, b’’(+)ci’’に一致するラベルを式(10)から検出する。検出したラベルに対応付けられた秘匿値は(Wd(z),g(z;b’,b’’),g(z;b’,b’’)(+)cd(z))(+)H(Wi’,b’, b’’(+)ci’’)(+)H(Wi’’,b’’, b’(+)ci’)と表現できる。分析部313は、<Wi’,b’, b’(+)ci’>及び<Wi’’,b’’, b’’(+)ci’’>を用い、HASH(z)=H(Wi’,b’, b’’(+)ci’’)(+)H(Wi’’,b’’, b’(+)ci’)を計算する。さらに分析部313は、(Wd(z),g(z;b’,b’’),g(z;b’,b’’)(+)cd(z))(+)H(Wi’,b’, b’’(+)ci’’)(+)H(Wi’’,b’’, b’(+)ci’)(+)HASH=(Wd(z),g(z;b’,b’’),g(z;b’,b’’)(+)cd(z))を計算する。得られた<Wd(z),g(z;b’,b’’),g(z;b’,b’’)(+)cd(z)>は、GATE(z+1)の出力が入力される次の論理ゲートGATE(z+1)の処理内容を表す真理値表を乱数化したテーブルに対する、同様な検索処理及びHASH(z+1)の計算に利用される。このような検索処理が繰り返されることにより、最終的に演算結果が得られる。
或いは、分析部313は、得られた各集計値E(c)に対し、さらに参考文献4の3章の「反復ベイズ手法を用いた再構築処理」を施し、それによって得られた再構築値からなる再構築クロス集計表を生成して出力してもよい。或いは、分析部313がクロス集計表又は再構築クロス集計表を表形式のデータベースに変換してから出力してもよい(ステップS233)。分析部213から出力されたデータは出力部132から出力される(ステップS234)。
なお、ステップS121,S322,S323,S131,S332,S333の処理は、すべてのj∈{1,...,J}について実行される。ステップS121,S322,S323,S131,S332,S333の処理がそれぞれ1回ずつ実行され、その際に各ステップですべてのj∈{1,...,J}についての処理がまとめて実行されてもよい。或いは、各j∈{1,...,J}についてのステップS121,S322,S323,S131,S332,S333の処理がjを更新しながら繰り返されてもよい。また、各j∈{1,...,J}についてのステップSS121,S322,S323,S131,S332の処理がjを更新しながら繰り返され、すべてのj∈{1,...,J}についてステップS121,S322,S323,S131,S332の処理が実行された後、ステップS333,S334の処理が実行されてもよい。また好ましくは、J≧2であり、j1,j2∈{1,...,J}, j1≠j2について、{n(j1,1),...,n(j1,m(j1))}∩{n(j2,1),...,n(j2,m(j2))}が空集合である。
また、上記では、提供情報生成部326−tが各集計値E(c)(ただしc∈{1,...,MAX})を復元し、それらを提供情報として出力してもよい。或いは、提供情報生成部326−tが得られた各集計値E(c)に対し、さらに参考文献4の3章の「反復ベイズ手法を用いた再構築処理」を施し、それによって得られた再構築値からなる再構築クロス集計表を提供情報として出力してもよい。或いは、提供情報生成部326−tがクロス集計表又は再構築クロス集計表を表形式のデータベースに変換し、それを提供情報として出力してもよい。
参考文献1の秘密計算では論理回路を高速に計算できる(理論値約50万素子/秒)。参考文献1の秘密計算は、参考文献2よりも演算効率が劣るものの、データサーバ装置が2個で済むといった利点がある。属性の個数をN=3とし、各属性ATT(n)の属性値の個数をL(n)=10とし、レコードの総数をR=100万とした場合、論理積回数は(3-1)×1,000,000×103 = 2,000,000,000となり、トーナメント方式の集計を行えば論理積の集計の回数は1,000,000×2 ×103 = 2,000,000,000となり、2時間程度で計算を完了することができ、バッチ処理としては十分な性能を得ることができる。匿名性は第1,2実施形態と同等である。
〔その他の変形例〕
本発明は上述の各実施形態に限定されるものではない。例えば、各実施形態では、各データ提供装置が各rに対応する秘匿化匿名属性値を出力することとしたが、少なくとも一部のデータ提供装置が複数のrに対応する秘匿化匿名属性値を出力してもよい。また、データ提供装置の個数とRとが一致していなくてもよい。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
各実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
110,210,310 データ提供装置
120,220,320 匿名データ装置
130,230,330 分析装置

Claims (8)

  1. N個(N≧2)の属性ATT(1),...,ATT(N)それぞれの匿名化属性値v(r,1),...,v(r,N)(r∈{1,...,R}, R≧2)を秘匿化することで得られた秘匿化匿名属性値s(r,1),...,s(r,N)の入力を受け付ける入力部と、
    前記N個の属性ATT(1),...,ATT(N)の一部であるm(j)(ただしm(j)<N, j∈{1,...,J}, J≧1)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))(ただし{n(j,1),...,n(j,m(j))}⊂{1,...,N})のそれぞれに対応する秘匿化匿名属性値s(r,n(j,1)),...,s(r,n(j,m(j)))からなる集合SUB(r,j)={s(r,n(j,1)),...,s(r,n(j,m(j)))}を用い、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)に対応する提供情報D(n(j,1),...,n(j,m(j)))を生成する提供情報生成部と、
    前記提供情報D(n(j,1),...,n(j,m(j)))を出力する出力部と、
    を有する匿名データ装置。
  2. 請求項1の匿名データ装置であって、
    J≧2であり、j1,j2∈{1,...,J}, j1≠j2について、{n(j1,1),...,n(j1,m(j1))}∩{n(j2,1),...,n(j2,m(j2))}が空集合である、匿名データ装置。
  3. 請求項1又は2の匿名データ装置であって、
    前記秘匿化匿名属性値s(r,1),...,s(r,N)の秘密計算が可能であり、
    前記提供情報D(n(j,1),...,n(j,m(j)))は、前記R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)を秘密計算によって集計して得られる集計表を含む、匿名データ装置。
  4. 請求項1又は2の匿名データ装置であって、
    前記提供情報D(n(j,1),...,n(j,m(j)))は、前記R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)をランダムに並び替えたR個の集合SUB(q(1),j),SUB(q(2),j),...,SUB(q(R),j)( ただしq(r)∈{1,...,R}, {q(1),...,q(R)}={1,...,R})に対応するR個の集合SUB’(q(1),j),SUB’(q(2),j),...,SUB’(q(R),j)(ただしq(r)∈{1,...,R}, {q(1),...,q(R)}={1,...,R})又は前記R個の集合SUB’(q(1),j),SUB’(q(2),j),...,SUB’(q(R),j)を復元して得られる属性値の集合を含む、匿名データ装置。
  5. 請求項1から4の何れかの匿名データ装置であって、
    m(j)≦M, 1≦M<Nであり、前記匿名化属性値v(r,1),...,v(r,N)に含まれる任意のM個の匿名化属性値v(r,w(1)),...,v(r,w(M))({w(1),...,w(M)}⊂{1,...,N})が含む正しい属性値に対応する値を表現するためのデータ量の合計が所定値以下である、匿名データ装置。
  6. N個(N≧2)の属性ATT(1),...,ATT(N)それぞれの匿名化属性値v(r,1),...,v(r,N)(r∈{1,...,R}, R≧2)を秘匿化することで得られた秘匿化匿名属性値s(r,1),...,s(r,N)を出力するデータ提供装置と、
    前記秘匿化匿名属性値s(r,1),...,s(r,N)の入力を受け付け、前記N個の属性ATT(1),...,ATT(N)の一部であるm(j)(ただしm(j)<N, j∈{1,...,J}, J≧1)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))(ただし{n(j,1),...,n(j,m(j))}⊂{1,...,N})のそれぞれに対応する秘匿化匿名属性値s(r,n(j,1)),...,s(r,n(j,m(j)))からなる集合SUB(r,j)={s(r,n(j,1)),...,s(r,n(j,m(j)))}を用い、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)に対応する提供情報D(n(j,1),...,n(j,m(j)))を生成し、前記提供情報D(n(j,1),...,n(j,m(j)))を出力する匿名データ装置と、
    前記提供情報D(n(j,1),...,n(j,m(j)))の入力を受け付ける分析装置と、
    を有する匿名データ提供システム。
  7. 匿名データ装置が実行する方法であって、
    入力部で、N個(N≧2)の属性ATT(1),...,ATT(N)それぞれの匿名化属性値v(r,1),...,v(r,N)(r∈{1,...,R}, R≧2)を秘匿化することで得られた秘匿化匿名属性値s(r,1),...,s(r,N)の入力を受け付けるステップと、
    提供情報生成部で、前記N個の属性ATT(1),...,ATT(N)の一部であるm(j)(ただしm(j)<N, j∈{1,...,J}, J≧1)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))(ただし{n(j,1),...,n(j,m(j))}⊂{1,...,N})のそれぞれに対応する秘匿化匿名属性値s(r,n(j,1)),...,s(r,n(j,m(j)))からなる集合SUB(r,j)={s(r,n(j,1)),...,s(r,n(j,m(j)))}を用い、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)に対応する提供情報D(n(j,1),...,n(j,m(j)))を生成するステップと、
    出力部で、前記提供情報D(n(j,1),...,n(j,m(j)))を出力するステップと、
    を有する方法。
  8. データ提供装置で、N個(N≧2)の属性ATT(1),...,ATT(N)それぞれの匿名化属性値v(r,1),...,v(r,N)(r∈{1,...,R}, R≧2)を秘匿化することで得られた秘匿化匿名属性値s(r,1),...,s(r,N)を出力するステップと、
    匿名データ装置で、前記秘匿化匿名属性値s(r,1),...,s(r,N)の入力を受け付けるステップと、
    前記匿名データ装置で、前記N個の属性ATT(1),...,ATT(N)の一部であるm(j)(m(j)<N, j∈{1,...,J}, J≧1)個の属性ATT(n(j,1)),...,ATT(n(j,m(j)))(ただし{n(j,1),...,n(j,m(j))}⊂{1,...,N})のそれぞれに対応する秘匿化匿名属性値s(r,n(j,1)),...,s(r,n(j,m(j)))からなる集合SUB(r,j)={s(r,n(j,1)),...,s(r,n(j,m(j)))}を用い、R個の集合SUB(1,j),SUB(2,j),...,SUB(R,j)に対応する提供情報D(n(j,1),...,n(j,m(j)))を生成するステップと、
    前記匿名データ装置で、前記提供情報D(n(j,1),...,n(j,m(j)))を出力するステップと、
    分析装置で、前記提供情報D(n(j,1),...,n(j,m(j)))の入力を受け付けるステップと、
    を有する方法。
JP2012014844A 2012-01-27 2012-01-27 匿名データ提供システム、匿名データ装置、それらが実行する方法、およびプログラム Active JP5670366B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012014844A JP5670366B2 (ja) 2012-01-27 2012-01-27 匿名データ提供システム、匿名データ装置、それらが実行する方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012014844A JP5670366B2 (ja) 2012-01-27 2012-01-27 匿名データ提供システム、匿名データ装置、それらが実行する方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2013156719A true JP2013156719A (ja) 2013-08-15
JP5670366B2 JP5670366B2 (ja) 2015-02-18

Family

ID=49051862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012014844A Active JP5670366B2 (ja) 2012-01-27 2012-01-27 匿名データ提供システム、匿名データ装置、それらが実行する方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5670366B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013156720A (ja) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法
JPWO2016162941A1 (ja) * 2015-04-07 2017-06-01 三菱電機株式会社 暗号システム及び鍵生成装置
WO2019221108A1 (ja) * 2018-05-17 2019-11-21 日本電信電話株式会社 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム
WO2024018504A1 (ja) * 2022-07-19 2024-01-25 日本電信電話株式会社 クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002539545A (ja) * 1999-03-12 2002-11-19 エルオーカー ロンバルトカッセ アクチエンゲゼルシャフト 匿名化の方法
JP2004318391A (ja) * 2003-04-15 2004-11-11 Mitsubishi Electric Corp 情報提供装置及び情報提供システム及び分散データベースシステム
US20100332537A1 (en) * 2009-06-25 2010-12-30 Khaled El Emam System And Method For Optimizing The De-Identification Of Data Sets
JP2011100116A (ja) * 2009-10-07 2011-05-19 Nippon Telegr & Teleph Corp <Ntt> 撹乱装置、撹乱方法及びプログラム
JP2011145869A (ja) * 2010-01-14 2011-07-28 Nippon Telegr & Teleph Corp <Ntt> 疑似データ生成装置、疑似データ生成方法、プログラム及び記録媒体
WO2011132534A1 (ja) * 2010-04-23 2011-10-27 株式会社エヌ・ティ・ティ・ドコモ 統計情報生成システム及び統計情報生成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002539545A (ja) * 1999-03-12 2002-11-19 エルオーカー ロンバルトカッセ アクチエンゲゼルシャフト 匿名化の方法
JP2004318391A (ja) * 2003-04-15 2004-11-11 Mitsubishi Electric Corp 情報提供装置及び情報提供システム及び分散データベースシステム
US20100332537A1 (en) * 2009-06-25 2010-12-30 Khaled El Emam System And Method For Optimizing The De-Identification Of Data Sets
JP2011100116A (ja) * 2009-10-07 2011-05-19 Nippon Telegr & Teleph Corp <Ntt> 撹乱装置、撹乱方法及びプログラム
JP2011145869A (ja) * 2010-01-14 2011-07-28 Nippon Telegr & Teleph Corp <Ntt> 疑似データ生成装置、疑似データ生成方法、プログラム及び記録媒体
WO2011132534A1 (ja) * 2010-04-23 2011-10-27 株式会社エヌ・ティ・ティ・ドコモ 統計情報生成システム及び統計情報生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
濱田 浩気: "3パーティ秘匿関数計算上のランダム置換プロトコル", コンピュータセキュリティシンポジウム2010 論文集, vol. 第二分冊, JPN6014041192, 12 October 2010 (2010-10-12), JP, pages 561 - 566, ISSN: 0002906628 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013156720A (ja) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法
JPWO2016162941A1 (ja) * 2015-04-07 2017-06-01 三菱電機株式会社 暗号システム及び鍵生成装置
WO2019221108A1 (ja) * 2018-05-17 2019-11-21 日本電信電話株式会社 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム
JPWO2019221108A1 (ja) * 2018-05-17 2021-04-30 日本電信電話株式会社 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム
AU2019270715B2 (en) * 2018-05-17 2021-08-26 Nippon Telegraph And Telephone Corporation Secure cross tabulation system, secure computation apparatus, secure cross tabulation method, and program
EP3796290A4 (en) * 2018-05-17 2022-01-26 Nippon Telegraph And Telephone Corporation SECRET CROSS-TAB SYSTEM, SECRET CALCULATION DEVICE, SECRET CROSS-TAB METHOD, AND PROGRAM
JP7017178B2 (ja) 2018-05-17 2022-02-08 日本電信電話株式会社 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム
WO2024018504A1 (ja) * 2022-07-19 2024-01-25 日本電信電話株式会社 クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム

Also Published As

Publication number Publication date
JP5670366B2 (ja) 2015-02-18

Similar Documents

Publication Publication Date Title
EP3528233B1 (en) Secret bit decomposition device, secret bit decomposition method, and program therefor
JP5411994B2 (ja) 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム
US11595194B2 (en) Secure aggregate sum system, secure computation apparatus, secure aggregate sum method, and program
JP5758315B2 (ja) 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法
JP6989006B2 (ja) 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
JP6973633B2 (ja) 秘密集約最大値システム、秘密集約最小値システム、秘密計算装置、秘密集約最大値方法、秘密集約最小値方法、およびプログラム
CN111259440B (zh) 一种针对云外包数据的隐私保护决策树分类方法
JP5670366B2 (ja) 匿名データ提供システム、匿名データ装置、それらが実行する方法、およびプログラム
EP3522137B1 (en) Secure equijoin system, secure equijoin device, secure equijoin method, and program
WO2019208486A1 (ja) 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム
JP2020519968A (ja) ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム
Balmany et al. Dynamic proof of retrievability based on public auditing for coded secure cloud storage
US20220224515A1 (en) Multi-party computation (mpc) based key search in private data
Jia et al. Privacy‐Preserving Blockchain‐Based Nonlinear SVM Classifier Training for Social Networks
Liu et al. Secure and fast decision tree evaluation on outsourced cloud data
JP7017178B2 (ja) 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム
EP3246900B1 (en) Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program
JP5689845B2 (ja) 秘密計算装置、秘密計算方法、およびプログラム
Duan et al. Practical distributed privacy-preserving data analysis at large scale
Kjamilji Blockchain assisted secure feature selection, training and classifications in cloud and distributed edge IoT environments
Paragas An enhanced cryptographic algorithm in securing healthcare medical records
Branco Jr et al. A new approach to preserving data confidentiality in the cloud
WO2024018504A1 (ja) クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム
WO2023157118A1 (ja) 秘密計算装置、秘密計算方法、プログラム
WO2023281693A1 (ja) 秘密計算システム、装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141217

R150 Certificate of patent or registration of utility model

Ref document number: 5670366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150