(57)【特許請求の範囲】
【請求項１】
データストック（１０５）を匿名化する方法であって、
中央ノード（１０１）が前記データストック（１０５）の準識別子に対する一般化レベルの組み合わせを決定し（Ｓ１０１）、
前記一般化レベルの組合せを多数のサブノード（１０９）に送信し（Ｓ１０２）、
前記一般化レベルの組合せに基づいて、前記サブノード（１０９）が並列に前記データストック（１０５）の匿名化を実行する
ステップを有し、
前記一般化レベルの組み合わせの決定は、一般化格子ＧＧに基づいて実行され、かつ
前記一般化格子ＧＧは、探索ヒューリスティック（Ｈ）によって走査される、
方法。
【請求項２】
匿名化された前記データストック（１０５）がｋ−匿名性の条件を満たすかどうかがチェックされる、請求項１に記載の方法。
【請求項３】
匿名化された前記データストック（１０５）がｋ−匿名性の前記条件を満たす場合、より低い一般化レベルの組み合わせが決定される、請求項２に記載の方法。
【請求項４】
匿名化された前記データストック（１０５）がｋ−匿名性の前記条件を満たさない場合、より高い一般化レベルの組み合わせが決定される、請求項２に記載の方法。
【請求項５】
前記ｋ−匿名性の前記条件に基づいて決定された一般化レベルの組み合わせが複数の前記サブノード（１０９）に送信され、前記データストック（１０５）の匿名化が、前記ｋ−匿名性の前記条件に基づいて決定された一般化レベルの組み合わせに基づいて前記サブノード（１０９）によって並列に実行される、請求項３または４に記載の方法。
【請求項６】
前記一般化格子ＧＧは、前記中央ノード（１０１）のメモリにロードされる、請求項１〜５のいずれか１つに記載の方法。
【請求項７】
グループ内の各機密属性の頻度分布と機密属性のグローバル頻度分布との差は、ピアソン相関係数を使用して計算される、請求項１〜６のいずれか１つに記載の方法。
【請求項８】
匿名化された前記データストック（１０５）がｌ−多様性の条件を満たすかを確認する請求項１〜７のいずれか１つに記載の方法。
【請求項９】
匿名化された前記データストック（１０５）がｔ−近接性の条件を満たすかを確認する請求項１〜８のいずれか１つに記載の方法。
【請求項１０】
前記匿名化のためのグループ鍵として、前記データストック（１０５）の各データセットから文字列を生成する請求項１〜９のいずれか１つに記載の方法。
【請求項１１】
匿名化された前記データストック（１０５）がｋ−匿名性の条件を満たした場合に、元の前記データストック（１０５）が削除される請求項１〜１０のいずれか１つに記載の方法。
【請求項１２】
前記データストックは、並列データベースに記憶される、請求項１〜１１のいずれか１つに記載の方法。
【請求項１３】
請求項１〜１２のいずれか１つに記載の方法を用いて、データストック（１０５）を匿名化するシステム（１００）であって、
前記データストック（１０５）の準識別子に対する一般化レベルの組合せを決定するための中央ノード（１０１）と、
前記一般化レベルの組合せを多数のサブノード（１０９）に送信する送信装置（１０３）と、
前記一般化レベルの組合せに基づいて前記データストック（１０５）の匿名化を並列に実行する多数のサブノード（１０９）と、
を有するシステム。
【請求項１４】
デジタルコンピュータのメモリにロードすることができ、コンピュータプログラムがコンピュータ上で実行されるときに請求項１〜１２のいずれか１つに記載の方法を実行することができるソフトウェアコードセクションを含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データストックを匿名化するための方法およびシステムに関する。
【背景技術】
【０００２】
米国特許第7,269,578号明細書は、入力データソース内のエントリを識別解除または匿名化するためのシステムおよび方法に関する。この方法の目的は、属性値を一般化することであり、この属性値は、データの量に例えば誕生日のような、組み合わせた間接的な個人情報も含み、例えば誕生日を含む民間登録情報のような身元情報が参照されるときでも、データの量から特定の個人を参照し返すことがもはや不可能であるようにする。間接的な個人情報を含む属性は、準識別子と呼ばれる。
【０００３】
データセットは、準識別子の組み合わせを通じた各可能なクエリが常に結果を送達しないか、または少なくともｋ個の結果を送達する場合、「ｋ−匿名（k-anonym）」である。これは、一般化された準識別子の各組み合わせが、少なくともｋ個の要素のグループを記述することによって達成される。
【０００４】
さらに、匿名化の結果には、ｋ−匿名性（k−Anonymitaet（aeはアー・ウムラウト））を超えるより厳しい条件がある。結果グループあたりのｋ個の要素の最小数に加えて、これらはまた、一般化されていない特別な属性のための条件を構成する。これらの特別な属性は、機密（センシティブ）属性と呼ばれる。これらの一般的な基準は、「ｌ−多様性（l-Diversitaet（l-Diversity））」および「ｔ−近接性（t-Naehe（t-Closeness））」である。
【０００５】
機密属性の一例は、例えば、患者データセットにおける属性「病気」である。「ｌ-多様性」とは、得られた各グループが少なくともｋ個の要素を含み、各グループにおいて、機密属性に対して少なくともｌ個の異なる値が満たされる必要があることを意味する（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）参照）。
【０００６】
「ｔ−近接性」とは、各グループにおける機密属性の統計的分布が、パラメータとして与えられた程度だけ、総量における機密属性の統計的分布から離れていることを意味する（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
【０００７】
これを達成するために、一般化レベルとして知られるものが準識別子に対して定義される。準識別子に一般化を適用することによって、属性値の情報内容が低減され、その結果、元の異なる属性値が同じになることが可能になる。したがって、例えば、郵便番号53754および53757は、両方とも5375*に一般化することができ、したがって、第１の一般化レベルで同等化される。
【０００８】
一般化は、準識別子についてのクエリがより区別されず、結果の数がより多くなることにつながる。データセットが十分に一般化されている場合、それはｋ−匿名性の基準を満たす。
【０００９】
しかしながら、一般化のそれぞれより高いレベルは、データ内の情報のさらなる損失につながる。情報の損失を低減する１つの方法は、必要な一般化レベルをできるだけ低く保つことである。これを達成するために、適切なデータセットをデータストックから完全に除去することもできる（抑制）。
【００１０】
一般化レベルと、可能な限り少ない情報損失でデータ量のｋ−匿名性を達成する抑制との組み合わせを見つけることは、アルゴリズム（ＮＰ困難）の点で複雑な最適化問題である。
【００１１】
文献およびオープンソースセクタの様々なアルゴリズムおよび実装は、ｋ−匿名性を達成し、データストックから過剰な量の情報を除去しない、データストックの一般化および抑制の組合せを見つけるためのヒューリスティック（経験則）を提供する。
【００１２】
しかしながら、これまでの解決策は、個々のコンピュータのメインメモリ又は仮想メモリにロードされるべきデータ量の全てのデータ及びそこで実行されるべきアルゴリズムを必要とするので、大量のデータに対して動作することができない。したがって、これらの解決策は、その範囲がコンピュータのメモリよりも大きい大量のデータ（ビッグデータ）には適していない。
【００１３】
Kohlmauerらの、「Flash: Efficient、Stable and Optimal k-Anonymity」、2012の論文は、一般化および抑制に基づいてk−anonymityを達成する探索ヒューリスティックを記載している。しかしながら、このアルゴリズムは分散されておらず、単一コンピュータソリューションとして設計されている。このアルゴリズムは、ｋ−匿名性のための他のヒューリスティックと同様に、一般化格子（Generalisationsgraphen（Generalization-Lattice））として知られている一般化および抑制に基づいている。この一般化格子は、準識別子の数と、準識別子ごとに定義される一般化レベルの数とによって決定される。
【００１４】
格子内のノードは、準識別子があるのと全く同じ数の要素を有するベクトルを含む。ベクトルの各成分において、各準識別子に対して、この準識別子に対してどの一般化レベルを使用すべきかがプロットされる。全てのノードの総量は、準識別子に対する一般化のための全ての組み合わせ可能性を定義する。次いで、２つのノードが正確に１つの成分において値１だけ異なるときに、これらのノード間にエッジが正確に描画される。
【００１５】
各ノードについて、そこに記載された一般化レベルが適用される場合、修正されたデータストックが、おそらくはグループ強度ｋを達成しないデータセットの抑制を含み得る、ｋ−匿名性、ｌ−多様性、またはｔ−近接性の条件を満たすかどうかが調査され得る。同様に、そのノードについて、そのノードを適用したときにどのような情報損失が生じたかを計算することができる。
【００１６】
これは、結果として生じるグループの数、抑制されたデータセットのサイズおよび数を組み込む識別性メトリックを使用して計算される。さらに、アルゴリズムは、どのノードが次にチェックされるべきか、およびどのノードが次にチェックされるべきかを定義する探索ヒューリスティックを提供する。
【００１７】
チェックされたノードのすべての中から最低の情報損失を有するノードが、匿名化の結果を決定する。フラッシュ・アルゴリズムは、これらの計算のすべてを実行し、メインメモリ内のデータストックをチェックする。従って、分散型ビッグデータシステムにおいて保持され処理される大量のデータに適用することはできない。
【００１８】
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頁の論文は、それ自身でｋ−匿名性を達成する一般化かどうかをチェックするために使用することができるＨｉｌｂアルゴリズムについて説明する。
【００１９】
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月、の論文では、ｋ−匿名性のためのＴＤＳ(トップダウン特殊化）のマップリデュース型の実行について説明する。しかし、この方法は、任意の所望の探索ヒューリスティックを用いて一般化格子全体を探索する柔軟性を提供しない。
【発明の概要】
【発明が解決しようとする課題】
【００２０】
本発明の技術的目的は、大きなデータストックの匿名化を可能にすることである。
この目的は、独立請求項に記載の技術的主題によって達成される。有利な実施形態は、従属請求項、実施例、および図面の主題である。
【課題を解決するための手段】
【００２１】
第１の態様によれば、この目的は、データストックを匿名化するための方法によって達成され、この方法は、中央ノードがデータストックの準識別子の一般化レベルの組合せを決定するステップと、一般化レベルの組合せを複数のサブノードに送信するステップと、一般化レベルの組合せに基づいてサブノードが並列にデータストックの匿名化を実行するステップとを有する。多数のサブノードを使用することにより、大きなデータストックを短時間で匿名化することもできるという技術的利点が達成される。
【００２２】
本方法の１つの技術的に有利な実施形態では、匿名化されたデータストックがｋ−匿名性の条件を満たすかどうかがチェックされる。その結果、例えば、データストックが所望の匿名性を有することを保証することができるという技術的利点が達成される。
【００２３】
本方法のさらなる技術的に有利な実施形態では、匿名化されたデータストックがｋ−匿名性の条件を満たす場合、より低い一般化レベルの組合せが決定される。その結果、例えば、データストックの一般化を連続的に低減することができるという技術的利点が達成される。
【００２４】
本方法のさらなる技術的に有利な実施形態では、匿名化されたデータストックがｋ−匿名性の条件を満たさない場合、より高い一般化レベルの組合せが決定される。その結果、例えば、ｋ−匿名性が達成されるまで、データストックの一般化を連続的に増加させることができるという技術的利点が達成される。
【００２５】
この方法のさらに技術的に有利な実施形態では、より低いまたはより高い一般化レベルの組合せが複数のサブノードに送信され、データストックの匿名化が、より低いまたはより高い一般化レベルの組合せに基づいてサブノードによって並列に実行される。その結果、例えば、データストックの一般化を最適化することができるという技術的利点が達成される。
【００２６】
本方法のさらに技術的に有利な実施形態では、一般化レベルの組み合わせの決定は、一般化格子に基づいて実行される。その結果、例えば、より高い又はより低い一般化レベルの迅速な選択を可能にする一般化レベルの階層が生成されるという技術的利点が達成される。
【００２７】
この方法のさらに技術的に有利な実施形態では、一般化格子が中央ノードのメモリにロードされる。その結果、例えば、一般化レベルを中央ノードによって迅速に選択することができるという技術的利点が達成される。代替として、一般化格子は、複数のノードにわたる分散データ構造として記憶されてもよい。
本方法のさらなる技術的に有利な実施形態では、一般化格子は、事前定義された探索ヒューリスティックによって走査（traversiert）される。その結果、例えば、異なる一般化レベルの組み合わせを少ない計算ステップで選択することができるという技術的利点が達成される。
【００２８】
本方法のさらに技術的に有利な実施形態では、匿名化されたデータストックがｌ−多様性の条件を満たすかどうかがチェックされる。結果として、例えば、各結果グループが少なくともk個の要素を含み、機密属性について少なくともｌ個の異なる値が各グループにおいて満たされる必要があるという技術的利点が達成される。
【００２９】
本方法のさらに技術的に有利な実施形態では、匿名化されたデータストックがｔ−近接性の条件を満たすかどうかがチェックされる。その結果、例えば、各グループにおける機密属性の統計的分布が、パラメータとして与えられた、総量における機密属性の統計的分布からの程度だけ異なるという技術的利点が達成される。
【００３０】
本方法のさらに技術的に有利な実施形態では、匿名化のためのグループ鍵として、データストックの各データセットから文字列が生成される。その結果、例えば、ｋ−匿名性をチェックするためのそれぞれのグループのサイズを、ほとんど労力をかけずに確立することができるという技術的利点が達成される。
【００３１】
本方法のさらなる技術的に有利な実施形態では、匿名化されたデータストックがｋ−匿名性の条件を満たす場合、元のデータストックが削除される。その結果、例えば、メモリ要件が低減され、元のデータストックの誤用が防止されるという技術的利点が達成される。
【００３２】
本方法のさらに技術的に有利な実施形態では、データストックは、並列データベースに格納される。その結果、例えば、データストックの各データセットに迅速かつ並列にアクセスすることができるという技術的利点が達成される。
【００３３】
第２の態様によれば、この目的は、データストックを匿名化するためのシステムであって、データストックの準識別子の一般化レベルの組合せを決定するための中央ノードと、一般化レベルの組合せを複数のサブノードに送信するための送信デバイスと、一般化レベルの組合せに基づいてデータストックの匿名化を並列に実行するための複数のサブノードとを有するシステムによって達成される。その結果、第１の態様による方法と同じ技術的利点が達成される。
【００３４】
第３の態様によれば、この目的は、デジタルコンピュータのメモリにロードすることができ、コンピュータプログラムがコンピュータ上で実行されるときに第１の態様による方法を実行することができるソフトウェアコードセクションを含むコンピュータプログラムによって達成される。その結果、第１の態様による方法と同じ技術的利点が達成される。
【００３５】
本発明の例示的な実施形態は、図面に示され、以下でより詳細に説明される。
【図面の簡単な説明】
【００３６】
【図１】図１は、方法のブロック図を示す。
【図２】図２は、データストックを匿名化するためのシステムの概略図を示す。
【発明を実施するための形態】
【００３７】
図１は、データストックを匿名化する方法のブロック図を示す。データストックは、様々な属性を含む多数の個々のデータセットを含む。
この方法は、中央ノードがデータストックの準識別子に対する一般化レベルの組合せを決定するステップＳ１０１を含む。準識別子は、この場合、間接的な個人情報を含む属性であり、これにより、例えば、個人の誕生日又は郵便番号のような個人を識別することができる。
【００３８】
一般化レベルは、準識別子が受けるべき一般化の度合いを定義する。生年月日の準識別子については、一般化レベルは、例えば、日（一般化なし）、週（第１の一般化レベル）、月（第２の一般化レベル）、または年（第３の一般化レベル）とすることができる。郵便番号の準識別子について、一般化レベルは、郵便番号の1つ以上の数を除去することにある。例えば、80336（一般化なし）、8033X（第１の一般化レベル）、803XX (第２の一般化レベル）、80XXX (第３の一般化レベル）、または8XXXX (第４の一般化レベル）。それぞれの一般化レベルは、データストックの各準識別子に対して決定される。
【００３９】
次に、この方法は、決定された一般化レベルの組み合わせを多数のサブノードに送信するステップＳ１０２を含む。ステップＳ１０３において、サブノードは、一般化レベルの組み合わせに基づいて、データストックおよび各データセットの匿名化を並列に実行する。中央ノードおよびサブノードは、例えば、それぞれがプロセッサと、プロセッサがアドレスおよびデータバスを介してアクセスすることができるメモリとを有する独立したコンピュータである。
【００４０】
この方法により、データストックを匿名化するためのアルゴリズムは、様々なコンポーネントに分割され、そのいくつかは、サブノード上での分散実行のために並列化され、その結果、アルゴリズムは、ビッグデータシステム内で分散方式で格納されたデータストックに並列に適用することができる。実行環境としては、例えばSpark／Hadoopなどの分散ビッグデータシステムや、大規模並列データベースを用いることができる。
【００４１】
図２は、データストック１０５を匿名化するためのシステム１００の概略図を示す。システム１００は、データストック１０５の準識別子に対する一般化レベルの組み合わせを決定するための、例えばコンピュータのような中央ノード１０１を含む。一般化レベルの組み合わせは、例えばネットワークインタフェースのような送信装置１０３を介して多数のサブノード１０９に送信される。例えば、ネットワークを介して中央ノード１０１に接続されたコンピュータのような多数のサブノード１０９は、一般化レベルの組み合わせに基づいて、並列かつ同時にデータストック１０５の匿名化を実行する。この匿名化の結果は、バッファに記憶される。
【００４２】
並列アルゴリズムの個々の成分ａ）からｅ）は、以下の通りである。
ａ）
中央ノード１０１上のコントローラは、予め入力された、特定された準識別子とその一般化レベルとに基づいて、一般化格子ＧＧを構築する。最大で１０個の準識別子および一般化レベルが、通常、それぞれの場合に定義される。
【００４３】
従って、一般化格子ＧＧは、データ構造として、原理的には、中央ノード１０１のメモリ内に保持されるのに十分に小さい。同様に、標準的な圧縮技術を一般化格子ＧＧに適用することができる。一般化格子ＧＧのサイズは、処理されるべきデータストック１０５のサイズとは無関係であり、従って、大量のデータを処理するためのボトルネックを構成しない。一般化格子が大きすぎてコンピュータ上に提供することができない場合、複数のサブノードに分散して格納されるデータ構造に格納することもできる。この場合、探索ヒューリスティックの実行は、さらに集中化され、基本的な格子演算の実行のみが、対応するサブノードとの通信を介して行われる。
【００４４】
さらに、中央ノード１０１は、次にチェックすべき一般化格子ＧＧのノードを決定するために、一般化格子ＧＧに探索ヒューリスティックＨを適用する。並列化により、これは一般化格子ＧＧの複数のノードであってもよい。一般化格子ＧＧに加えて、探索ヒューリスティックＨのさらなる入力は、現在までに評価された一般化格子ＧＧのノードの結果である。
【００４５】
探索ヒューリスティックの特定の実装は必須ではない。最大でｓ個の秘密データセット（秘密レコード）が抑制または省略される場合、一般化格子ＧＧにおけるノードの評価の結果として、ノードが所望の度合いの匿名化を達成するかどうか、すなわち少なくともサイズｋのグループに対して、に関する情報のみを使用する、既存の探索ヒューリスティックを使用することができる。他の探索ヒューリスティックは、例えば、識別性メトリックまたは情報の損失（ｄ）を参照）から生じる、ノードの評価の結果としてさらなる情報を使用することもできる。
【００４６】
ｂ）
データストック１０５の一般化の組み合わせは、サブノード１０９によって、準識別子に対して、分散された仮想的な方法で実行される。この場合、一般化格子ＧＧの各ノードは、一般化レベルの可能な組み合わせを決定する。
これらは、分散ビッグデータシステム内に分散形式で存在するデータストック１０５のすべてのデータセットに対して並列に実行することができる。データセットの一般化の結果として、個々の準識別子の一般化の結果は、グループ鍵と呼ばれる個々の文字列を形成するように連結される。
すべてのグループ鍵の数は、データストック１０５上の分散仮想一般化の結果である。ｌ−多様性またはｔ−近接性の場合、個々のデータセットごとに、機密属性のグループ鍵および値の数が結果としてみなされる。
【００４７】
ｃ）
一般化レベルの事前選択された組合せに基づいて、仮想一般化がｋ−匿名性、ｌ−多様性、またはｔ−近接性の基準を満たすかどうかに関して、サブノード１０９によって分散チェックが実行される。これは、ステップｂ）からのグループ化の結果に基づく集約の分散計算に基づいて、グループ鍵に従って実行される。
【００４８】
ｃ１）
ｋ−匿名性の基準をチェックするために、それぞれのグループ鍵のそれぞれのグループサイズが、分散集約を介したｂ）からの結果に基づいて計算される。各同一のグループ鍵は、値「１」でカウントされ、合計は、例えば、Hadoopにおける結合／減少ステップ又はSparkにおけるReduceByKeyにおいて、それぞれ同一のグループ鍵に対して形成される。
結果は、グループごとに１つの要素を含む分散データセットであり、この要素は、グループ鍵およびグループサイズからなるペアを含む。ｋ以上のグループサイズを有するグループは保持され、他のグループは抑制されたものとしてマークされる（ステップｄ）およびｅ）を参照）。
【００４９】
ｃ２）
ｌ−多様性が要求される場合には、ステップｃ１）に加えて更なるチェックが行われる。マークされていないグループごとに、各グループ内の機密属性ごとに異なる値の数を決定する分散集約が実行される。これは、再び、グループ鍵に基づく結合／縮小ステップを使用するHadoopで、または値のデータ構造を構築し、それらを分散方式でマージするCombineByKeyアグリゲータを使用するSparkで実行することができる。次に、各グループについて、各機密属性が少なくともｌ個の要素を含むかどうかが並列にチェックされる。 そうでない場合、グループは「抑制」とマークされる。
【００５０】
ｃ３）
ｔ−近接性が要求される場合、ステップｃ１）に加えて、更なるチェックが行われる。機密としてマークされていない各グループについて、各グループ内の各機密属性の値の出現頻度を決定する分散集約が実行される。
【００５１】
これは、例えば、グループ鍵に基づいて結合／縮小ステップを使用するHadoopで、または頻度分布のためのデータ構造を構築し、それらを分散形式でマージするCombineByKeyアグリゲータを使用するSparkで実行することができる。次に、グループの各機密属性について、結果として得られた頻度分布が、総量に対する機密属性の許容頻度分布内にあるかどうかが並行してチェックされる。
【００５２】
これは、ステップａ）の前に、同じ方法を用いて予め並列に計算され、関与する全てのサブノード１０９に利用可能にされている。グループ内の各機密属性の頻度分布と機密属性のグローバル頻度分布との差は、ピアソン相関係数を使用して計算することができる。機密属性の差が所定の最大偏差よりも大きい場合、グループは「抑制」とマークされる。
【００５３】
ｄ）
情報損失の分散計算は、ステップｂ）およびｃ）の適用から実行される。このステップでの入力は、グループ鍵、グループサイズ、および抑制属性（真／偽）からなる対が格納される分散データ構造である。分散集約における識別性メトリックは、そこから計算することができる。グループ鍵から匿名化された準識別子の値を再び決定し、それらを元の値と比較することによって、情報利得などの他のエントロピーベースの尺度を同様に適用することができる。
【００５４】
ｅ）
一般化または抑制の分散実行が実行される。中央コントローラは、ステップａ）から中央ノード１０１を経由して、ステップｂ）、ｃ）、およびｄ）を実行するためのノードが決定された後に、一般化格子に対して探索ヒューリスティックＨを実行する。
【００５５】
ノードは探索ヒューリスティックＨを使用して選択され、この目的のために、ステップｂ）は常にそれぞれのグループ鍵の生成のための仮想的な一般化につながるので、一般化格子の複数のノードを並列にチェックすることができる。これは、探索ヒューリスティックＨに対して、内部ループ内で評価されるノードとして決定され、ヒープ上に格納されるノードのすべてが並列に評価され得ることを意味する。
【００５６】
探索ヒューリスティックＨは、ほとんどローカルな最適条件が見つかった場合に探索を終了し、一般化または抑制が行われるのに最も適しているノードを決定する。次に、アルゴリズムは、ｂ）におけるように、実際のデータストックにわたって分散された方法で対応する一般化を実行し、ｃ）において説明されるように、省略されなければならないデータセットを除去する。
【００５７】
準コードにおけるアルゴリズム全体のプロセスは、以下の通りである。
入力には、以下のものが使用される。
Ｄ：        データストック、例えば、クラスタまたは大規模並列データベースに分散して格納されたデータストック。
ＱＩ：      準識別子のリスト。
ＧＳ：      準識別子あたりの一般化レベル：
ＳＡ：      ｌ−多様性またはｔ−近接性の場合の機密属性。
ｋ：        所望の最小グループサイズｓ、例えば、許可された抑制のパーセンテージ。
ｌ：        ｌ−多様性が必要な場合は整数。
Ｓｉｇｍａ：ｔ−近接性が要求される場合、グループ内の機密属性の分布の許容偏差。
Ｈ：        一般化格子における探索ヒューリスティック。
Ｍ：        評価メトリック
【００５８】
入力から、一般化されたデータストックD-anonが出力として得られる。
１）
ＱＩおよびＧＳから、一般化格子ＧＧが中央コントローラにおいて計算される。この場合、先ず、一般化格子ＧＧの各ノードには、値「偽（False）」又は「否（nicht）」を有する全ての属性が設定され、属性「品質（Qualitaet）」は設定されない。
各準識別子に対する一般化レベルが定義される。属性「評価済（Evaluated）」は、「真（True）」または「偽」に設定される。属性「ｋ−匿名性（k-Anonymity）」は、「真」または「偽」に設定される。属性「ｌ−多様性（l-Diversitaet）」および「ｔ−近接性（t-Naehe）」は、おそらく「真」または「偽」に設定される。属性「品質」が設定される。
【００５９】
２）
Loop：探索ヒューリスティックＨに従って一般化格子ＧＧを走査する。
ａ．候補リストＣＬに、探索ヒューリスティックＨ（ＧＧ）に従って候補のリストを書き込む。
ｂ．候補リストＣＬが空でない場合、候補リストＣＬ内のすべての候補Ｃについて、以下のステップを並行して実行する。
ｉ．    ｂ）で説明したように並列に計算されるグループ鍵のテーブル（場合によっては、設定されている場合には機密属性と共に）をS_Cに書き込む。
ｉｉ．  C.k-Anonymity <- ｃ１）に説明されているように、S_Cに基づいて並列に評価される。
ｉｉｉ．C.l-Diversity <- ｃ２）に説明されているように、S_Cに基づいて並列に評価される。
ｉｖ．  C.t-Closeness <- ｃ３）に説明されているように、S_Cに基づいて並列に評価される。
ｖ．    C.Quality <- ｄ)に説明されているように、S_Cに基づいて並行して評価される。
ｖｉ．  C.evaluated <- True
ｖｉｉ．GG.C <- C
else:end loop
【００６０】
３）
GG-anon <- C.k-anonymity= "True"、C.l-Diversity = "True"、C.t-Closeness = "True"の一般化格子ＧＧからのノード。
４）
C_best <-最良のC.Qualityを持つGG-anonからのノード。
５）
D-anon <- ｅ）に説明されているように、C_bestからDへの並列適用。
【００６１】
匿名化は、データストック１０５の処理および記憶、ならびにデータおよび情報の分割の両方において主要な役割を果たす。ビッグデータシステムは、それらを評価し、これらのデータストック１０５から利益を得ることができるようにするために、結果として得られたデータストック１０５を処理する。データストック１０５の匿名化は、これらのソリューションの一部である。上述の方法により、ビッグデータシステム上での操作性が可能になる。
【００６２】
一般化および抑制は、ｋ−匿名性のための重要な方法であり、これは、データストック１０５の匿名性のための重要な基準である。一般化および抑制に基づくｋ−匿名性、ｌ−多様性およびｔ−近接性のための従来の方法は、単一のメモリ（インメモリ）内でのみ動作し、従って、単一のノード１０１のメモリに完全にロードすることができるデータストック１０５上でのみ実行することができる。
従って、これらの方法は、容量（ビッグデータ）が非常に広く、もはや１つのコンピュータのみに格納することができないデータストック１０５に適用することができない。その結果、ハードウェアは、データストック１０５の処理可能性の上限を規定する。
【００６３】
本方法は、中央および並列化された実行部分を含むアルゴリズムを提供する。中央実行部分は、メモリ要件に関してデータストック１０５のデータ量から独立しており、並列化された実行によって、従来可能であったよりも大きなデータ量を処理することができる。
【００６４】
本方法は、大規模データストック１０５の一般化および抑制に基づいて、ｋ−匿名性、ｌ−多様性、およびｔ−近接性を分散方式で適用することを可能にする。この方法は、例えば、Hadoop、Spark又は大規模並列データベースのような分散型ビッグデータシステムに使用することができる。
【００６５】
本発明の個々の実施形態に関連して示され、説明されたすべての特徴は、有利な効果を同時にもたらすために、本発明による主題において様々な組合せで提供することができる。
方法ステップのすべては、それぞれの方法ステップを実行するのに適したデバイスによって実装されてもよい。主体ベースの特徴によって実行される機能のすべては、方法の方法ステップとすることができる。
本発明の保護の範囲は、特許請求の範囲によって定義され、明細書において説明されるか、または図面に示される特徴によって制限されない。
【図１】
0006940239.tif 000002
【図２】
0006940239.tif 000003