(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6940239
(24)【登録日】2021年9月6日
(45)【発行日】2021年9月22日
(54)【発明の名称】データストックを匿名化するための方法およびシステム
(51)【国際特許分類】
G06F 21/62 20130101AFI20210909BHJP
【FI】
G06F21/62 354
【請求項の数】14
【全頁数】12
(21)【出願番号】特願2019-528569(P2019-528569)
(86)(22)【出願日】2016年11月28日
(65)【公表番号】特表2020-501254(P2020-501254A)
(43)【公表日】2020年1月16日
(86)【国際出願番号】EP2016078953
(87)【国際公開番号】WO2018095547
(87)【国際公開日】20180531
【審査請求日】2019年11月25日
(73)【特許権者】
【識別番号】390039413
【氏名又は名称】シーメンス アクチエンゲゼルシヤフト
【氏名又は名称原語表記】Siemens Aktiengesellschaft
(74)【代理人】
【識別番号】100075166
【弁理士】
【氏名又は名称】山口 巖
(74)【代理人】
【識別番号】100133167
【弁理士】
【氏名又は名称】山本 浩
(74)【代理人】
【識別番号】100169627
【弁理士】
【氏名又は名称】竹本 美奈
(72)【発明者】
【氏名】モック,ミヒャエル
(72)【発明者】
【氏名】ハプフェルマイヤー,アンドレアス
(72)【発明者】
【氏名】イミヒ,マイク
【審査官】
青木 重徳
(56)【参考文献】
【文献】
国際公開第2016/035448(WO,A1)
【文献】
特開2016−018379(JP,A)
【文献】
米国特許出願公開第2014/0380489(US,A1)
【文献】
国際公開第2016/092830(WO,A1)
【文献】
国際公開第2013/121738(WO,A1)
【文献】
特開2016−53829(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
データストック(105)を匿名化する方法であって、
中央ノード(101)が前記データストック(105)の準識別子に対する一般化レベルの組み合わせを決定し(S101)、
前記一般化レベルの組合せを多数のサブノード(109)に送信し(S102)、
前記一般化レベルの組合せに基づいて、前記サブノード(109)が並列に前記データストック(105)の匿名化を実行する
ステップを有し、
前記一般化レベルの組み合わせの決定は、一般化格子GGに基づいて実行され、かつ
前記一般化格子GGは、探索ヒューリスティック(H)によって走査される、
方法。
【請求項2】
匿名化された前記データストック(105)がk−匿名性の条件を満たすかどうかがチェックされる、請求項1に記載の方法。
【請求項3】
匿名化された前記データストック(105)がk−匿名性の前記条件を満たす場合、より低い一般化レベルの組み合わせが決定される、請求項2に記載の方法。
【請求項4】
匿名化された前記データストック(105)がk−匿名性の前記条件を満たさない場合、より高い一般化レベルの組み合わせが決定される、請求項2に記載の方法。
【請求項5】
前記k−匿名性の前記条件に基づいて決定された一般化レベルの組み合わせが複数の前記サブノード(109)に送信され、前記データストック(105)の匿名化が、前記k−匿名性の前記条件に基づいて決定された一般化レベルの組み合わせに基づいて前記サブノード(109)によって並列に実行される、請求項3または4に記載の方法。
【請求項6】
前記一般化格子GGは、前記中央ノード(101)のメモリにロードされる、請求項1〜5のいずれか1つに記載の方法。
【請求項7】
グループ内の各機密属性の頻度分布と機密属性のグローバル頻度分布との差は、ピアソン相関係数を使用して計算される、請求項1〜6のいずれか1つに記載の方法。
【請求項8】
匿名化された前記データストック(105)がl−多様性の条件を満たすかを確認する請求項1〜7のいずれか1つに記載の方法。
【請求項9】
匿名化された前記データストック(105)がt−近接性の条件を満たすかを確認する請求項1〜8のいずれか1つに記載の方法。
【請求項10】
前記匿名化のためのグループ鍵として、前記データストック(105)の各データセットから文字列を生成する請求項1〜9のいずれか1つに記載の方法。
【請求項11】
匿名化された前記データストック(105)がk−匿名性の条件を満たした場合に、元の前記データストック(105)が削除される請求項1〜10のいずれか1つに記載の方法。
【請求項12】
前記データストックは、並列データベースに記憶される、請求項1〜11のいずれか1つに記載の方法。
【請求項13】
請求項1〜12のいずれか1つに記載の方法を用いて、データストック(105)を匿名化するシステム(100)であって、
前記データストック(105)の準識別子に対する一般化レベルの組合せを決定するための中央ノード(101)と、
前記一般化レベルの組合せを多数のサブノード(109)に送信する送信装置(103)と、
前記一般化レベルの組合せに基づいて前記データストック(105)の匿名化を並列に実行する多数のサブノード(109)と、
を有するシステム。
【請求項14】
デジタルコンピュータのメモリにロードすることができ、コンピュータプログラムがコンピュータ上で実行されるときに請求項1〜12のいずれか1つに記載の方法を実行することができるソフトウェアコードセクションを含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データストックを匿名化するための方法およびシステムに関する。
【背景技術】
【0002】
米国特許第7,269,578号明細書は、入力データソース内のエントリを識別解除または匿名化するためのシステムおよび方法に関する。この方法の目的は、属性値を一般化することであり、この属性値は、データの量に例えば誕生日のような、組み合わせた間接的な個人情報も含み、例えば誕生日を含む民間登録情報のような身元情報が参照されるときでも、データの量から特定の個人を参照し返すことがもはや不可能であるようにする。間接的な個人情報を含む属性は、準識別子と呼ばれる。
【0003】
データセットは、準識別子の組み合わせを通じた各可能なクエリが常に結果を送達しないか、または少なくともk個の結果を送達する場合、「k−匿名(k-anonym)」である。これは、一般化された準識別子の各組み合わせが、少なくともk個の要素のグループを記述することによって達成される。
【0004】
さらに、匿名化の結果には、k−匿名性(k−Anonymitaet(aeはアー・ウムラウト))を超えるより厳しい条件がある。結果グループあたりのk個の要素の最小数に加えて、これらはまた、一般化されていない特別な属性のための条件を構成する。これらの特別な属性は、機密(センシティブ)属性と呼ばれる。これらの一般的な基準は、「l−多様性(l-Diversitaet(l-Diversity))」および「t−近接性(t-Naehe(t-Closeness))」である。
【0005】
機密属性の一例は、例えば、患者データセットにおける属性「病気」である。「l-多様性」とは、得られた各グループが少なくともk個の要素を含み、各グループにおいて、機密属性に対して少なくともl個の異なる値が満たされる必要があることを意味する(Ashwin Machanavajhala、Daniel Kifer、Johannes GehrkeおよびMuthuramakrishnanVenkitasubramaniam、2007、「l-Diversity:Privacy beyond k-Anonymity」、ACM Trans、Knowl. Discv. Data 1, 1, Article 3(2007年3月)、DOI=http://dx.doi.org/10.1145/1217299.1217302)参照)。
【0006】
「t−近接性」とは、各グループにおける機密属性の統計的分布が、パラメータとして与えられた程度だけ、総量における機密属性の統計的分布から離れていることを意味する(N. Li、T. LiおよびS. Venkatasubramanian、"t-Closenses: Privacy Beyond k-Anonymity and l-Diversity"、2007 IEEE 23rd International Conference on Data Engineering、Istanbul、2007、106−115頁。doi: 10.1109/ICDE.2007.367856
【0007】
これを達成するために、一般化レベルとして知られるものが準識別子に対して定義される。準識別子に一般化を適用することによって、属性値の情報内容が低減され、その結果、元の異なる属性値が同じになることが可能になる。したがって、例えば、郵便番号53754および53757は、両方とも5375*に一般化することができ、したがって、第1の一般化レベルで同等化される。
【0008】
一般化は、準識別子についてのクエリがより区別されず、結果の数がより多くなることにつながる。データセットが十分に一般化されている場合、それはk−匿名性の基準を満たす。
【0009】
しかしながら、一般化のそれぞれより高いレベルは、データ内の情報のさらなる損失につながる。情報の損失を低減する1つの方法は、必要な一般化レベルをできるだけ低く保つことである。これを達成するために、適切なデータセットをデータストックから完全に除去することもできる(抑制)。
【0010】
一般化レベルと、可能な限り少ない情報損失でデータ量のk−匿名性を達成する抑制との組み合わせを見つけることは、アルゴリズム(NP困難)の点で複雑な最適化問題である。
【0011】
文献およびオープンソースセクタの様々なアルゴリズムおよび実装は、k−匿名性を達成し、データストックから過剰な量の情報を除去しない、データストックの一般化および抑制の組合せを見つけるためのヒューリスティック(経験則)を提供する。
【0012】
しかしながら、これまでの解決策は、個々のコンピュータのメインメモリ又は仮想メモリにロードされるべきデータ量の全てのデータ及びそこで実行されるべきアルゴリズムを必要とするので、大量のデータに対して動作することができない。したがって、これらの解決策は、その範囲がコンピュータのメモリよりも大きい大量のデータ(ビッグデータ)には適していない。
【0013】
Kohlmauerらの、「Flash: Efficient、Stable and Optimal k-Anonymity」、2012の論文は、一般化および抑制に基づいてk−anonymityを達成する探索ヒューリスティックを記載している。しかしながら、このアルゴリズムは分散されておらず、単一コンピュータソリューションとして設計されている。このアルゴリズムは、k−匿名性のための他のヒューリスティックと同様に、一般化格子(Generalisationsgraphen(Generalization-Lattice))として知られている一般化および抑制に基づいている。この一般化格子は、準識別子の数と、準識別子ごとに定義される一般化レベルの数とによって決定される。
【0014】
格子内のノードは、準識別子があるのと全く同じ数の要素を有するベクトルを含む。ベクトルの各成分において、各準識別子に対して、この準識別子に対してどの一般化レベルを使用すべきかがプロットされる。全てのノードの総量は、準識別子に対する一般化のための全ての組み合わせ可能性を定義する。次いで、2つのノードが正確に1つの成分において値1だけ異なるときに、これらのノード間にエッジが正確に描画される。
【0015】
各ノードについて、そこに記載された一般化レベルが適用される場合、修正されたデータストックが、おそらくはグループ強度kを達成しないデータセットの抑制を含み得る、k−匿名性、l−多様性、またはt−近接性の条件を満たすかどうかが調査され得る。同様に、そのノードについて、そのノードを適用したときにどのような情報損失が生じたかを計算することができる。
【0016】
これは、結果として生じるグループの数、抑制されたデータセットのサイズおよび数を組み込む識別性メトリックを使用して計算される。さらに、アルゴリズムは、どのノードが次にチェックされるべきか、およびどのノードが次にチェックされるべきかを定義する探索ヒューリスティックを提供する。
【0017】
チェックされたノードのすべての中から最低の情報損失を有するノードが、匿名化の結果を決定する。フラッシュ・アルゴリズムは、これらの計算のすべてを実行し、メインメモリ内のデータストックをチェックする。従って、分散型ビッグデータシステムにおいて保持され処理される大量のデータに適用することはできない。
【0018】
Ghinita、P. Karras、P.KalnisおよびN. Mamoulis、「Fast DataAnonymization with Low Information Loss」、in: Proceedingsof the 33rd International Conference on Very Large Data Bases、VLDB ’07、VLDB Endowment、2007、758-769頁の論文は、それ自身でk−匿名性を達成する一般化かどうかをチェックするために使用することができるHilbアルゴリズムについて説明する。
【0019】
X. Zhangら、「A Scalable Two-Phase Top-DownSpecialization Approach for Data Anonymization Using MapReduce on Cloud」、IEEE Transactions On Parallel And Distributed Systems、vol.25、no.2、2014年2月、の論文では、k−匿名性のためのTDS(トップダウン特殊化)のマップリデュース型の実行について説明する。しかし、この方法は、任意の所望の探索ヒューリスティックを用いて一般化格子全体を探索する柔軟性を提供しない。
【発明の概要】
【発明が解決しようとする課題】
【0020】
本発明の技術的目的は、大きなデータストックの匿名化を可能にすることである。
この目的は、独立請求項に記載の技術的主題によって達成される。有利な実施形態は、従属請求項、実施例、および図面の主題である。
【課題を解決するための手段】
【0021】
第1の態様によれば、この目的は、データストックを匿名化するための方法によって達成され、この方法は、中央ノードがデータストックの準識別子の一般化レベルの組合せを決定するステップと、一般化レベルの組合せを複数のサブノードに送信するステップと、一般化レベルの組合せに基づいてサブノードが並列にデータストックの匿名化を実行するステップとを有する。多数のサブノードを使用することにより、大きなデータストックを短時間で匿名化することもできるという技術的利点が達成される。
【0022】
本方法の1つの技術的に有利な実施形態では、匿名化されたデータストックがk−匿名性の条件を満たすかどうかがチェックされる。その結果、例えば、データストックが所望の匿名性を有することを保証することができるという技術的利点が達成される。
【0023】
本方法のさらなる技術的に有利な実施形態では、匿名化されたデータストックがk−匿名性の条件を満たす場合、より低い一般化レベルの組合せが決定される。その結果、例えば、データストックの一般化を連続的に低減することができるという技術的利点が達成される。
【0024】
本方法のさらなる技術的に有利な実施形態では、匿名化されたデータストックがk−匿名性の条件を満たさない場合、より高い一般化レベルの組合せが決定される。その結果、例えば、k−匿名性が達成されるまで、データストックの一般化を連続的に増加させることができるという技術的利点が達成される。
【0025】
この方法のさらに技術的に有利な実施形態では、より低いまたはより高い一般化レベルの組合せが複数のサブノードに送信され、データストックの匿名化が、より低いまたはより高い一般化レベルの組合せに基づいてサブノードによって並列に実行される。その結果、例えば、データストックの一般化を最適化することができるという技術的利点が達成される。
【0026】
本方法のさらに技術的に有利な実施形態では、一般化レベルの組み合わせの決定は、一般化格子に基づいて実行される。その結果、例えば、より高い又はより低い一般化レベルの迅速な選択を可能にする一般化レベルの階層が生成されるという技術的利点が達成される。
【0027】
この方法のさらに技術的に有利な実施形態では、一般化格子が中央ノードのメモリにロードされる。その結果、例えば、一般化レベルを中央ノードによって迅速に選択することができるという技術的利点が達成される。代替として、一般化格子は、複数のノードにわたる分散データ構造として記憶されてもよい。
本方法のさらなる技術的に有利な実施形態では、一般化格子は、事前定義された探索ヒューリスティックによって走査(traversiert)される。その結果、例えば、異なる一般化レベルの組み合わせを少ない計算ステップで選択することができるという技術的利点が達成される。
【0028】
本方法のさらに技術的に有利な実施形態では、匿名化されたデータストックがl−多様性の条件を満たすかどうかがチェックされる。結果として、例えば、各結果グループが少なくともk個の要素を含み、機密属性について少なくともl個の異なる値が各グループにおいて満たされる必要があるという技術的利点が達成される。
【0029】
本方法のさらに技術的に有利な実施形態では、匿名化されたデータストックがt−近接性の条件を満たすかどうかがチェックされる。その結果、例えば、各グループにおける機密属性の統計的分布が、パラメータとして与えられた、総量における機密属性の統計的分布からの程度だけ異なるという技術的利点が達成される。
【0030】
本方法のさらに技術的に有利な実施形態では、匿名化のためのグループ鍵として、データストックの各データセットから文字列が生成される。その結果、例えば、k−匿名性をチェックするためのそれぞれのグループのサイズを、ほとんど労力をかけずに確立することができるという技術的利点が達成される。
【0031】
本方法のさらなる技術的に有利な実施形態では、匿名化されたデータストックがk−匿名性の条件を満たす場合、元のデータストックが削除される。その結果、例えば、メモリ要件が低減され、元のデータストックの誤用が防止されるという技術的利点が達成される。
【0032】
本方法のさらに技術的に有利な実施形態では、データストックは、並列データベースに格納される。その結果、例えば、データストックの各データセットに迅速かつ並列にアクセスすることができるという技術的利点が達成される。
【0033】
第2の態様によれば、この目的は、データストックを匿名化するためのシステムであって、データストックの準識別子の一般化レベルの組合せを決定するための中央ノードと、一般化レベルの組合せを複数のサブノードに送信するための送信デバイスと、一般化レベルの組合せに基づいてデータストックの匿名化を並列に実行するための複数のサブノードとを有するシステムによって達成される。その結果、第1の態様による方法と同じ技術的利点が達成される。
【0034】
第3の態様によれば、この目的は、デジタルコンピュータのメモリにロードすることができ、コンピュータプログラムがコンピュータ上で実行されるときに第1の態様による方法を実行することができるソフトウェアコードセクションを含むコンピュータプログラムによって達成される。その結果、第1の態様による方法と同じ技術的利点が達成される。
【0035】
本発明の例示的な実施形態は、図面に示され、以下でより詳細に説明される。
【図面の簡単な説明】
【0036】
【
図2】
図2は、データストックを匿名化するためのシステムの概略図を示す。
【発明を実施するための形態】
【0037】
図1は、データストックを匿名化する方法のブロック図を示す。データストックは、様々な属性を含む多数の個々のデータセットを含む。
この方法は、中央ノードがデータストックの準識別子に対する一般化レベルの組合せを決定するステップS101を含む。準識別子は、この場合、間接的な個人情報を含む属性であり、これにより、例えば、個人の誕生日又は郵便番号のような個人を識別することができる。
【0038】
一般化レベルは、準識別子が受けるべき一般化の度合いを定義する。生年月日の準識別子については、一般化レベルは、例えば、日(一般化なし)、週(第1の一般化レベル)、月(第2の一般化レベル)、または年(第3の一般化レベル)とすることができる。郵便番号の準識別子について、一般化レベルは、郵便番号の1つ以上の数を除去することにある。例えば、80336(一般化なし)、8033X(第1の一般化レベル)、803XX (第2の一般化レベル)、80XXX (第3の一般化レベル)、または8XXXX (第4の一般化レベル)。それぞれの一般化レベルは、データストックの各準識別子に対して決定される。
【0039】
次に、この方法は、決定された一般化レベルの組み合わせを多数のサブノードに送信するステップS102を含む。ステップS103において、サブノードは、一般化レベルの組み合わせに基づいて、データストックおよび各データセットの匿名化を並列に実行する。中央ノードおよびサブノードは、例えば、それぞれがプロセッサと、プロセッサがアドレスおよびデータバスを介してアクセスすることができるメモリとを有する独立したコンピュータである。
【0040】
この方法により、データストックを匿名化するためのアルゴリズムは、様々なコンポーネントに分割され、そのいくつかは、サブノード上での分散実行のために並列化され、その結果、アルゴリズムは、ビッグデータシステム内で分散方式で格納されたデータストックに並列に適用することができる。実行環境としては、例えばSpark/Hadoopなどの分散ビッグデータシステムや、大規模並列データベースを用いることができる。
【0041】
図2は、データストック105を匿名化するためのシステム100の概略図を示す。システム100は、データストック105の準識別子に対する一般化レベルの組み合わせを決定するための、例えばコンピュータのような中央ノード101を含む。一般化レベルの組み合わせは、例えばネットワークインタフェースのような送信装置103を介して多数のサブノード109に送信される。例えば、ネットワークを介して中央ノード101に接続されたコンピュータのような多数のサブノード109は、一般化レベルの組み合わせに基づいて、並列かつ同時にデータストック105の匿名化を実行する。この匿名化の結果は、バッファに記憶される。
【0042】
並列アルゴリズムの個々の成分a)からe)は、以下の通りである。
a)
中央ノード101上のコントローラは、予め入力された、特定された準識別子とその一般化レベルとに基づいて、一般化格子GGを構築する。最大で10個の準識別子および一般化レベルが、通常、それぞれの場合に定義される。
【0043】
従って、一般化格子GGは、データ構造として、原理的には、中央ノード101のメモリ内に保持されるのに十分に小さい。同様に、標準的な圧縮技術を一般化格子GGに適用することができる。一般化格子GGのサイズは、処理されるべきデータストック105のサイズとは無関係であり、従って、大量のデータを処理するためのボトルネックを構成しない。一般化格子が大きすぎてコンピュータ上に提供することができない場合、複数のサブノードに分散して格納されるデータ構造に格納することもできる。この場合、探索ヒューリスティックの実行は、さらに集中化され、基本的な格子演算の実行のみが、対応するサブノードとの通信を介して行われる。
【0044】
さらに、中央ノード101は、次にチェックすべき一般化格子GGのノードを決定するために、一般化格子GGに探索ヒューリスティックHを適用する。並列化により、これは一般化格子GGの複数のノードであってもよい。一般化格子GGに加えて、探索ヒューリスティックHのさらなる入力は、現在までに評価された一般化格子GGのノードの結果である。
【0045】
探索ヒューリスティックの特定の実装は必須ではない。最大でs個の秘密データセット(秘密レコード)が抑制または省略される場合、一般化格子GGにおけるノードの評価の結果として、ノードが所望の度合いの匿名化を達成するかどうか、すなわち少なくともサイズkのグループに対して、に関する情報のみを使用する、既存の探索ヒューリスティックを使用することができる。他の探索ヒューリスティックは、例えば、識別性メトリックまたは情報の損失(d)を参照)から生じる、ノードの評価の結果としてさらなる情報を使用することもできる。
【0046】
b)
データストック105の一般化の組み合わせは、サブノード109によって、準識別子に対して、分散された仮想的な方法で実行される。この場合、一般化格子GGの各ノードは、一般化レベルの可能な組み合わせを決定する。
これらは、分散ビッグデータシステム内に分散形式で存在するデータストック105のすべてのデータセットに対して並列に実行することができる。データセットの一般化の結果として、個々の準識別子の一般化の結果は、グループ鍵と呼ばれる個々の文字列を形成するように連結される。
すべてのグループ鍵の数は、データストック105上の分散仮想一般化の結果である。l−多様性またはt−近接性の場合、個々のデータセットごとに、機密属性のグループ鍵および値の数が結果としてみなされる。
【0047】
c)
一般化レベルの事前選択された組合せに基づいて、仮想一般化がk−匿名性、l−多様性、またはt−近接性の基準を満たすかどうかに関して、サブノード109によって分散チェックが実行される。これは、ステップb)からのグループ化の結果に基づく集約の分散計算に基づいて、グループ鍵に従って実行される。
【0048】
c1)
k−匿名性の基準をチェックするために、それぞれのグループ鍵のそれぞれのグループサイズが、分散集約を介したb)からの結果に基づいて計算される。各同一のグループ鍵は、値「1」でカウントされ、合計は、例えば、Hadoopにおける結合/減少ステップ又はSparkにおけるReduceByKeyにおいて、それぞれ同一のグループ鍵に対して形成される。
結果は、グループごとに1つの要素を含む分散データセットであり、この要素は、グループ鍵およびグループサイズからなるペアを含む。k以上のグループサイズを有するグループは保持され、他のグループは抑制されたものとしてマークされる(ステップd)およびe)を参照)。
【0049】
c2)
l−多様性が要求される場合には、ステップc1)に加えて更なるチェックが行われる。マークされていないグループごとに、各グループ内の機密属性ごとに異なる値の数を決定する分散集約が実行される。これは、再び、グループ鍵に基づく結合/縮小ステップを使用するHadoopで、または値のデータ構造を構築し、それらを分散方式でマージするCombineByKeyアグリゲータを使用するSparkで実行することができる。次に、各グループについて、各機密属性が少なくともl個の要素を含むかどうかが並列にチェックされる。 そうでない場合、グループは「抑制」とマークされる。
【0050】
c3)
t−近接性が要求される場合、ステップc1)に加えて、更なるチェックが行われる。機密としてマークされていない各グループについて、各グループ内の各機密属性の値の出現頻度を決定する分散集約が実行される。
【0051】
これは、例えば、グループ鍵に基づいて結合/縮小ステップを使用するHadoopで、または頻度分布のためのデータ構造を構築し、それらを分散形式でマージするCombineByKeyアグリゲータを使用するSparkで実行することができる。次に、グループの各機密属性について、結果として得られた頻度分布が、総量に対する機密属性の許容頻度分布内にあるかどうかが並行してチェックされる。
【0052】
これは、ステップa)の前に、同じ方法を用いて予め並列に計算され、関与する全てのサブノード109に利用可能にされている。グループ内の各機密属性の頻度分布と機密属性のグローバル頻度分布との差は、ピアソン相関係数を使用して計算することができる。機密属性の差が所定の最大偏差よりも大きい場合、グループは「抑制」とマークされる。
【0053】
d)
情報損失の分散計算は、ステップb)およびc)の適用から実行される。このステップでの入力は、グループ鍵、グループサイズ、および抑制属性(真/偽)からなる対が格納される分散データ構造である。分散集約における識別性メトリックは、そこから計算することができる。グループ鍵から匿名化された準識別子の値を再び決定し、それらを元の値と比較することによって、情報利得などの他のエントロピーベースの尺度を同様に適用することができる。
【0054】
e)
一般化または抑制の分散実行が実行される。中央コントローラは、ステップa)から中央ノード101を経由して、ステップb)、c)、およびd)を実行するためのノードが決定された後に、一般化格子に対して探索ヒューリスティックHを実行する。
【0055】
ノードは探索ヒューリスティックHを使用して選択され、この目的のために、ステップb)は常にそれぞれのグループ鍵の生成のための仮想的な一般化につながるので、一般化格子の複数のノードを並列にチェックすることができる。これは、探索ヒューリスティックHに対して、内部ループ内で評価されるノードとして決定され、ヒープ上に格納されるノードのすべてが並列に評価され得ることを意味する。
【0056】
探索ヒューリスティックHは、ほとんどローカルな最適条件が見つかった場合に探索を終了し、一般化または抑制が行われるのに最も適しているノードを決定する。次に、アルゴリズムは、b)におけるように、実際のデータストックにわたって分散された方法で対応する一般化を実行し、c)において説明されるように、省略されなければならないデータセットを除去する。
【0057】
準コードにおけるアルゴリズム全体のプロセスは、以下の通りである。
入力には、以下のものが使用される。
D: データストック、例えば、クラスタまたは大規模並列データベースに分散して格納されたデータストック。
QI: 準識別子のリスト。
GS: 準識別子あたりの一般化レベル:
SA: l−多様性またはt−近接性の場合の機密属性。
k: 所望の最小グループサイズs、例えば、許可された抑制のパーセンテージ。
l: l−多様性が必要な場合は整数。
Sigma:t−近接性が要求される場合、グループ内の機密属性の分布の許容偏差。
H: 一般化格子における探索ヒューリスティック。
M: 評価メトリック
【0058】
入力から、一般化されたデータストックD-anonが出力として得られる。
1)
QIおよびGSから、一般化格子GGが中央コントローラにおいて計算される。この場合、先ず、一般化格子GGの各ノードには、値「偽(False)」又は「否(nicht)」を有する全ての属性が設定され、属性「品質(Qualitaet)」は設定されない。
各準識別子に対する一般化レベルが定義される。属性「評価済(Evaluated)」は、「真(True)」または「偽」に設定される。属性「k−匿名性(k-Anonymity)」は、「真」または「偽」に設定される。属性「l−多様性(l-Diversitaet)」および「t−近接性(t-Naehe)」は、おそらく「真」または「偽」に設定される。属性「品質」が設定される。
【0059】
2)
Loop:探索ヒューリスティックHに従って一般化格子GGを走査する。
a.候補リストCLに、探索ヒューリスティックH(GG)に従って候補のリストを書き込む。
b.候補リストCLが空でない場合、候補リストCL内のすべての候補Cについて、以下のステップを並行して実行する。
i. b)で説明したように並列に計算されるグループ鍵のテーブル(場合によっては、設定されている場合には機密属性と共に)をS_Cに書き込む。
ii. C.k-Anonymity <- c1)に説明されているように、S_Cに基づいて並列に評価される。
iii.C.l-Diversity <- c2)に説明されているように、S_Cに基づいて並列に評価される。
iv. C.t-Closeness <- c3)に説明されているように、S_Cに基づいて並列に評価される。
v. C.Quality <- d)に説明されているように、S_Cに基づいて並行して評価される。
vi. C.evaluated <- True
vii.GG.C <- C
else:end loop
【0060】
3)
GG-anon <- C.k-anonymity= "True"、C.l-Diversity = "True"、C.t-Closeness = "True"の一般化格子GGからのノード。
4)
C_best <-最良のC.Qualityを持つGG-anonからのノード。
5)
D-anon <- e)に説明されているように、C_bestからDへの並列適用。
【0061】
匿名化は、データストック105の処理および記憶、ならびにデータおよび情報の分割の両方において主要な役割を果たす。ビッグデータシステムは、それらを評価し、これらのデータストック105から利益を得ることができるようにするために、結果として得られたデータストック105を処理する。データストック105の匿名化は、これらのソリューションの一部である。上述の方法により、ビッグデータシステム上での操作性が可能になる。
【0062】
一般化および抑制は、k−匿名性のための重要な方法であり、これは、データストック105の匿名性のための重要な基準である。一般化および抑制に基づくk−匿名性、l−多様性およびt−近接性のための従来の方法は、単一のメモリ(インメモリ)内でのみ動作し、従って、単一のノード101のメモリに完全にロードすることができるデータストック105上でのみ実行することができる。
従って、これらの方法は、容量(ビッグデータ)が非常に広く、もはや1つのコンピュータのみに格納することができないデータストック105に適用することができない。その結果、ハードウェアは、データストック105の処理可能性の上限を規定する。
【0063】
本方法は、中央および並列化された実行部分を含むアルゴリズムを提供する。中央実行部分は、メモリ要件に関してデータストック105のデータ量から独立しており、並列化された実行によって、従来可能であったよりも大きなデータ量を処理することができる。
【0064】
本方法は、大規模データストック105の一般化および抑制に基づいて、k−匿名性、l−多様性、およびt−近接性を分散方式で適用することを可能にする。この方法は、例えば、Hadoop、Spark又は大規模並列データベースのような分散型ビッグデータシステムに使用することができる。
【0065】
本発明の個々の実施形態に関連して示され、説明されたすべての特徴は、有利な効果を同時にもたらすために、本発明による主題において様々な組合せで提供することができる。
方法ステップのすべては、それぞれの方法ステップを実行するのに適したデバイスによって実装されてもよい。主体ベースの特徴によって実行される機能のすべては、方法の方法ステップとすることができる。
本発明の保護の範囲は、特許請求の範囲によって定義され、明細書において説明されるか、または図面に示される特徴によって制限されない。