JP2016184213A - Method for anonymizing numeric data, and numeric data anonymization server - Google Patents
Method for anonymizing numeric data, and numeric data anonymization server Download PDFInfo
- Publication number
- JP2016184213A JP2016184213A JP2015062981A JP2015062981A JP2016184213A JP 2016184213 A JP2016184213 A JP 2016184213A JP 2015062981 A JP2015062981 A JP 2015062981A JP 2015062981 A JP2015062981 A JP 2015062981A JP 2016184213 A JP2016184213 A JP 2016184213A
- Authority
- JP
- Japan
- Prior art keywords
- hierarchy
- node
- combination
- nodes
- data
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、数値データを匿名化する方法及び数値データ匿名化サーバに関する。 The present invention relates to a method for anonymizing numerical data and a numerical data anonymization server.
近年、安価なサービスや情報を集約化するため、クラウドコンピューティングが急速に普及している。しかし、クラウドコンピューティングにおけるセキュリティやプライバシーに対する配慮はまだ必ずしも十分とはいえない状況である。 In recent years, cloud computing has been rapidly spreading in order to aggregate inexpensive services and information. However, security and privacy considerations in cloud computing are not always sufficient.
個人を特定不可能な匿名情報の匿名性を評価する指標としてk−匿名性がある。本技術分野の背景技術として、国際公開第2011/145401号(特許文献1)がある。この公報には、「各個人の情報は複数の属性に対する該個人の属性値を含む。この属性値を曖昧化することで匿名化を達成するが、属性値の曖昧化対象をその曖昧さの程度によって木構造で表現したものを一般化階層木と呼ぶ。本個人情報匿名化装置は、属性値の頻度情報を用いて木を構成することで自動的な構成を達成する。また、損失情報量計量手段を定義することで、一般化階層木を用いて、2つの匿名データ間、または匿名化途中のデータ間の情報量損失を定量的に判定する。」と記載されている(要約参照)。 There is k-anonymity as an index for evaluating the anonymity of anonymous information that cannot identify an individual. As a background art in this technical field, there is International Publication No. 2011/145401 (Patent Document 1). In this publication, “each individual's information includes attribute values of the individual with respect to a plurality of attributes. Anonymization is achieved by obscuring this attribute value. What is expressed in a tree structure depending on the degree is called a generalized hierarchical tree.This personal information anonymization device achieves an automatic configuration by constructing a tree using frequency information of attribute values. By defining the quantity measuring means, a generalized hierarchical tree is used to quantitatively determine the amount of information loss between two anonymous data or data in the middle of anonymization ”(see summary). ).
特許文献1に記載の技術は、匿名化対象データの各属性について、Hu−Tucker符号木を作成し、Hu−Tucker符号木が示す一般化階層を用いて各属性の属性値を一般化することにより、k−匿名化を実行する。Hu−Tucker符号木は、属性値の頻度情報と順序情報とから生成される。しかし、Hu−Tucker符号木の作成において、属性値そのものは考慮されていない。従って、特許文献1に記載の技術がHu−Tucker符号木を用いて一般化した属性値から算出される統計指標は、一般化前の属性値の統計指標と著しく乖離するおそれがある。即ち、特許文献1に記載の技術におけるk−匿名化によって、データ品質が著しく劣化するおそれがある。 The technique described in Patent Document 1 creates a Hu-Tucker code tree for each attribute of anonymization target data, and generalizes the attribute value of each attribute using a generalization hierarchy indicated by the Hu-Tucker code tree. Thus, k-anonymization is executed. The Hu-Tucker code tree is generated from frequency information of attribute values and order information. However, the attribute value itself is not considered in creating the Hu-Tucker code tree. Therefore, the statistical index calculated from the attribute value generalized by the technique described in Patent Document 1 using the Hu-Tucker code tree may be significantly different from the statistical index of the attribute value before generalization. That is, there is a possibility that the data quality is significantly deteriorated by k-anonymization in the technique described in Patent Document 1.
上記課題を解決するため、本発明の一態様は、例えば、以下の構成を採用する。複数の数値を含む数値データを保持する数値データ匿名化サーバが、前記数値データを匿名化する方法であって、前記数値データ匿名化サーバは、プログラムを実行するプロセッサと、前記プロセッサがアクセスするメモリと、を有し、前記方法は、前記プロセッサが、前記数値データに含まれる数値に基づいて、複数の階層からなる一般化階層を作成し、前記プロセッサが、前記一般化階層を用いて、前記数値データを匿名化し、前記一般化階層の第1階層の作成処理において、前記第1階層の一つ下の階層である第0階層に含まれる第1ノードと、数値の大小関係において前記第1ノードに隣接するノードそれぞれと、の組み合わせを生成し、前記生成した組み合わせそれぞれに対して、当該組み合わせのノードを統合したノードを当該組み合わせのノードそれぞれに対応する前記第1階層のノードに決定した場合における前記第1階層を用いて匿名化された前記数値データの統計指標と、前記数値データの統計指標と、の乖離を算出し、前記算出した乖離が最小である組み合わせのノードを統合したノードを、当該組み合わせのノードそれぞれに対応する前記第1階層のノードに決定する、方法。 In order to solve the above problems, one embodiment of the present invention employs the following configuration, for example. A numerical data anonymization server that holds numerical data including a plurality of numerical values is a method for anonymizing the numerical data, wherein the numerical data anonymization server includes a processor that executes a program and a memory that the processor accesses In the method, the processor creates a generalized hierarchy including a plurality of hierarchies based on numerical values included in the numerical data, and the processor uses the generalized hierarchies to The numerical data is anonymized, and in the process of creating the first layer of the generalized layer, the first node included in the 0th layer, which is one layer below the first layer, and the first node A combination of each node adjacent to the node is generated, and for each of the generated combinations, a node obtained by integrating the combination node is Calculate the divergence between the statistical index of the numerical data anonymized using the first hierarchy and the statistical index of the numerical data when the first hierarchical node corresponding to each of the matching nodes is determined And determining a node obtained by integrating the combination nodes having the smallest calculated divergence as the first layer node corresponding to each of the combination nodes.
本発明の一態様によれば、匿名化によるデータ品質の劣化を抑制することができる。 According to one embodiment of the present invention, deterioration of data quality due to anonymization can be suppressed.
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。 Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態の匿名化サーバは、数値で示される準識別子の一般化階層を、匿名化前後の当該準識別子の統計指標間の乖離を小さくするよう作成する。匿名化サーバは、当該一般化階層を用いて当該準識別子に含まれる値を匿名化することにより、匿名化によるデータ品質の劣化を抑制することができる。 Embodiments of the present invention will be described below with reference to the accompanying drawings. The anonymization server of this embodiment creates a generalized hierarchy of quasi-identifiers indicated by numerical values so as to reduce the divergence between the statistical indicators of the quasi-identifiers before and after anonymization. The anonymization server can suppress degradation of data quality due to anonymization by anonymizing the value included in the quasi-identifier using the generalized hierarchy.
図1は、本実施例の匿名化サーバの構成例を示す。本実施例の匿名化サーバ100は、プロセッサ(CPU)101、メモリ102、補助記憶装置103及び通信インターフェース104を有する計算機によって構成される。
FIG. 1 shows a configuration example of the anonymization server of this embodiment. An
プロセッサ101は、メモリ102に格納されたプログラムを実行する。メモリ102は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサ101が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
The
補助記憶装置103は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置であり、プロセッサ101が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置103から読み出されて、メモリ102にロードされて、プロセッサ101によって実行される。
The
匿名化サーバ100は、入力インターフェース105及び出力インターフェース108を有してもよい。入力インターフェース105は、キーボード106やマウス107などが接続され、オペレータからの入力を受けるインターフェースである。出力インターフェース108は、ディスプレイ装置109やプリンタなどが接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。
The
通信インターフェース104は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信インターフェース104は、例えば、USB等のシリアルインターフェースを含む。
The
プロセッサ101が実行するプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介して匿名化サーバ100に提供され、非一時的記憶媒体である不揮発性の補助記憶装置103に格納される。このため、匿名化サーバ100は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
A program executed by the
匿名化サーバ100は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
The
プロセッサ101は、匿名化対象データ取込部111、一般化階層作成部112、統計指標計算部113、k−匿名化実行部114、及びk−匿名化結果出力部115を含む。例えば、プロセッサ101は、メモリ102にロードされた匿名化対象データ取込プログラムに従って動作することで、匿名化対象データ取込部111として機能し、メモリ102にロードされた一般化階層作成プログラムに従って動作することで、一般化階層作成部112として機能する。プロセッサ101に含まれる他の部についても同様である。
The
匿名化対象データ取込部111は、通信インターフェース104又は入力インターフェース105を介して、匿名化対象データ121を取り込み、取り込んだデータを匿名化対象データ121として補助記憶装置103に格納する。一般化階層作成部112は、匿名化対象データ121の準識別子それぞれに対して、k−匿名化のための一般化階層を作成する。一般化階層は、例えば木構造で与えられ、匿名化前後のデータ値の関係を階層的に示す。一般化階層作成部112は、作成した一般化階層それぞれを示す情報を、一般化階層データ122として補助記憶装置103に格納する。
The anonymization target
k−匿名化実行部114は、一般化階層データ122を参照して、匿名化対象データ121をk−匿名化し、k−匿名化したデータを匿名化結果データ123として補助記憶装置103に格納する。k−匿名化結果出力部115は、例えば、出力インターフェース108を介してディスプレイ装置109に、又は通信インターフェース104を介して他の装置等に、匿名化結果データ123を出力する。
The k-
補助記憶装置103は、匿名化対象データ121、一般化階層データ122、及び匿名化結果データ123を保持する。匿名化対象データ121は、k−匿名化の対象となる元データである。一般化階層データ122は、匿名化対象データ121に含まれる準識別子それぞれを一般化する階層を示すデータである。なお、準識別子とは、他の準識別子と組み合わせることによって間接的に個人を識別できる情報である。これに対して、識別子とは、識別子単体で直接的に個人を識別できる情報である。匿名化結果データ123は、一般化階層データ122に基づいて、k−匿名化された匿名化対象データ121である。
The
なお、本実施形態において、匿名化サーバ100が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。なお、後述する図3から図6では、補助記憶装置103が保持する各データがテーブル構造で表現されている例を示す。
In the present embodiment, the information used by the
図2は、匿名化対象データ121の例を示す。匿名化対象データ121は、1種類以上の準識別子を含む。図2の例では、匿名化対象データ121は、いずれも準識別子である、年齢1210、及び住所1211を含む。年齢1210は、当該レコードに対応する個人の年齢を格納する。住所1211は、当該レコードに対応する個人の住所を格納する。
FIG. 2 shows an example of the
なお、匿名化対象データ121に含まれる準識別子は、図2の例に限られず任意でよい。また、匿名化対象データ121は、1種類以上の識別子をさらに含んでもよい。このとき、例えば、匿名化対象データ121は各カラムが識別子であるか準識別子であるかを示す情報を含む。また匿名化対象データ121は、複数のテーブルからなってもよい。
The quasi-identifier included in the
図3は、一般化階層データ122の例を示す。一般化階層データ122は、匿名化対象データ121に含まれる各準識別子における、木構造で表された一般化階層を示す情報である。図3は、図2の匿名化対象データ121に含まれる準識別子に対応する一般化階層データ122の例である。
FIG. 3 shows an example of the
一般化階層データ122は、年齢階層データ1220、及び住所階層データ1224を含む。年齢階層データ1220は、年齢1210の木構造で表された一般化階層を示す。年齢階層データ1220は、第0階層1221、第1階層1222、及びルートノード1223を含む。
The
第0階層1221は、当該木構造における最下の階層であり、第0階層1221の各ノードは当該木構造における葉ノードである。第0階層1221の葉ノードそれぞれは、年齢1210に含まれる重複を除く値それぞれに対応する。
The
第1階層1222は、当該木構造における第0階層1221の一つ上の階層である。第1階層1222の各ノードは、第0階層1221の対応するノードの親ノードであり、当該対応するノードと同一のノード、又は当該対応するノードと当該対応するノードに隣接するノードの一方とが統合されたノードである。つまり、第0階層1221のノードに含まれる値は、第1階層1222の対応するノードに含まれる。第1階層1222の各ノードは、第0階層1221の対応するノードと比較して、匿名化の程度が同一又は高い。
The
ルートノード1223は、当該木構造における最上の階層であり、ルートノード1223の各ノードは、第0階層1221の全てのノードが統合されたノードである。つまり、ルートノード1223の各ノードは、他階層のノードに含まれる全ての値を含む最も抽象的な概念である。なお、例えば、年齢1210に含まれる値の種類数に応じて、年齢階層データ1220の階層の数は増加する。
The
住所階層データ1224は、住所1211の木構造で表された一般化階層を示す。住所階層データ1224は、第0階層1225、第1階層1226、及びルートノード1227を含む。住所階層データ1224の各カラムについては、年齢階層データ1220の各カラムと同様であるため、説明を省略する。
The
なお、年齢階層データ1220において、例えば、「20〜25」のように範囲表示されたノードは、年齢が20歳以上かつ25歳以下であることを示す。また、住所階層データ1224において、例えば、「神奈川県;東京都;沖縄県」のように複数の値が「;」で区切られて記載されたノードは、住所が神奈川県、東京都、又は沖縄県であることを示す。
In the
図4は、匿名化結果データ123の例を示す。匿名化結果データ123は、k−匿名化された匿名化対象データ121である。図4は、図2の匿名化対象データ121がk−匿名化された例を示す。
FIG. 4 shows an example of the
匿名化結果データ123に含まれる準識別子それぞれは、一般化階層データ122に含まれる当該準識別子に対応する階層データに基づいて、k−匿名化された準識別子である。図4の例では、匿名化結果データ123は、年齢1230、及び住所1231を含む。年齢1230は、年齢階層データ1220に基づいて、k−匿名化された年齢1210である。住所1231は、住所階層データ1224に基づいてk−匿名化された住所1211である。
Each of the quasi-identifiers included in the
図5は、本実施例の匿名化サーバ100が匿名化対象データ121をk−匿名化する処理の一例を示す。まず匿名化対象データ取込部111は、例えば、入力インターフェース105又は通信インターフェース104を介して、匿名化対象データ121を取り込み、補助記憶装置103に格納する(S501)。続いて、一般化階層作成部112は、匿名化対象データ121のレコード件数を算出する(S502)。
FIG. 5 shows an example of a process in which the
続いて、一般化階層作成部112は、匿名化対象データ121に含まれる各準識別子について、一般化階層を作成する(S503)。準識別子のうち、例えば、順序尺度であり、数値で示される準識別子(図2の例における年齢1210)、における一般化階層作成方法については、図6を用いて後述する。また、例えば、数値で示される全ての準識別子について図6の一般化階層作成方法を適用してもよい。以下、図6の一般化階層作成方法の適用対象となる準識別子を数値型準識別子と称する。なお、匿名化サーバ100は、各準識別子が数値型準識別子か否かについての情報を保持しているものとする。当該情報は、例えば、匿名化対象データ121に含まれていてもよいし、別のデータとして補助記憶装置103に格納されていてもよい。
Subsequently, the generalized
一般化階層作成部112は、数値型準識別子以外の準識別子それぞれ(図2の例における住所1211)に対して、例えば、当該準識別子に含まれる値の頻度情報からHu−Tucker符号木を構成して、これを一般化階層とする。
For each quasi-identifier other than the numerical quasi-identifier (
続いて、k−匿名化実行部114は、一般化階層データ122を参照し、例えば、予め定められた匿名化プランに基づいて、匿名化対象データ121のカラムそれぞれに対して、オペレータ等が指定したkを満たすk−匿名化を実行する(S504)。k−匿名化プランは、準識別子に含まれる値を匿名化するための処理を示す。
Subsequently, the k-
以下、ステップS504のk−匿名化実行処理の具体例について述べる。k−匿名化実行部114は、例えば、一般化階層データ122に含まれる全ての階層データの、ルートノードと、各階層の葉ノード以外のノードと、からなるノードリストを作成する。k−匿名化実行部114は、ノードリストのノードを、当該ノードを用いて匿名化対象データ121の値を一般化した場合における情報損失量が小さい順に、ソートする。例えば、ノードに属する匿名化対象データ121の値の頻度が小さいほど、当該ノードを用いて匿名化対象データ121の値を一般化した場合における情報損失量が小さい。
Hereinafter, a specific example of the k-anonymization execution process in step S504 will be described. For example, the k-
k−匿名化実行部114は、例えば、ノードリストから情報損失量が最小のノードを選択し、空の選択済みノードリストに追加する。k−匿名化実行部114は、選択済みノードリストのノードを用いて匿名化対象データ121の値を一般化した匿名化結果がkを満たすか否かを判定する。匿名化結果がkを満たす場合、匿名化結果を匿名化結果データ123として補助記憶装置103に格納する。
For example, the k-
匿名化結果がkを満たさない場合、k−匿名化実行部114は、ノードリストに含まれる未選択のノードから、情報損失量が最小のノードを選択し、選択済みノードリストに追加し、新たな選択済みノードリストに基づいて、上述したkを満たすか否かの判定を行う。匿名化結果がkを満たすまで、同様の処理を繰り返す。なお、選択済みノードリストに親子関係にあるノードが含まれる場合、k−匿名化実行部114は、階層が最も高いノードを用いて匿名化対象データ121の値を一般化する。
When the anonymization result does not satisfy k, the k-
なお、匿名化対象データ121に識別子が含まれる場合、例えば、k−匿名化実行部114は、識別子を削除する又は識別子の各値を別の値に置換する、等の処理を行う。
Note that when the
続いて、k−匿名化結果出力部115は、匿名化結果データ123を、例えば、ディスプレイ装置109、他の計算機等に出力する(S505)。
Subsequently, the k-anonymization
図6は、一般化階層作成部112が、各数値型準識別子における一般化階層を作成する処理の一例を示す。一般化階層作成部112は、匿名化対象データ121に含まれる数値型準識別子それぞれに対して、ステップS602〜ステップS606からなるループを開始する(S601)。一般化階層作成部112は、当該数値型準識別子に含まれる各値の頻度を取得し、重複を削除した値を昇順にソートする(S602)。一般化階層作成部112は、ソート結果を当該数値型準識別子の階層データにおける第0階層に決定する。
FIG. 6 shows an example of processing in which the generalized
一般化階層作成部112は、当該数値型準識別子の階層データにおけるルートノードを作成するまで、即ち第0階層の全てのノードが統合されたノードを作成するまで、階層データの最上位の階層のノードについて、ステップS604〜ステップS605からなるループを開始する(S603)。
The generalized
一般化階層作成部112は、当該階層の一部又は全部のノードそれぞれについて、隣接するノードそれぞれとの組み合わせにおける統計指標の乖離Aを算出する(S604)。統計指標の乖離Aは、匿名化前の当該数値型準識別子の統計指標と、当該隣接するノードを統合したノードで当該数値型準識別子の値を匿名化した匿名化結果データの統計指標と、の乖離を示す。
The generalized
以下の数式(1)は、統計指標が平均値である場合の、隣接する2つのノードの組み合わせにおける統計指標の乖離Aの算出式である。 The following mathematical formula (1) is a calculation formula for the divergence A of the statistical index in the combination of two adjacent nodes when the statistical index is an average value.
数式(1)における、nは当該組み合わせのノードに属する値の合計頻度、liは当該組み合わせのノードそれぞれに対応する匿名化対象データ121の値、Vは当該組み合わせのノードに含まれる値の最小値と最大値の平均値、Rは匿名化対象データ121のレコード数である。例えば、組み合わせのノードそれぞれが「5」、「10」である場合、当該組み合わせのノードに含まれる最小値は「5」、最大値は「10」であるため、V=(5+10)/2=7.5である。組み合わせのノードそれぞれが「1〜5」、「6〜10」である場合、当該組み合わせのノードに含まれる最小値は「1」、最大値は「10」であるため、V=(1+10)/2=5.5である。
In Equation (1), n is the total frequency of values belonging to the node of the combination, l i is the value of the
また、例えば、組み合わせのノードそれぞれが「5」、「6〜10」である場合を考える。このとき、さらに匿名化対象データ121の当該数値型準識別子が、「5」に対応する値として「5」を、「6〜10」に対応する値として「6」、「8」、「10」を含み、かつ「5」、「6」、「8」、「10」の頻度それぞれが「3」、「1」、「2」、「1」である場合、n=3+1+2+1=7、l1=5、l2=5、l3=5、l4=6、l5=8、l6=8、l7=10である。
Further, for example, consider a case where the combination nodes are “5” and “6-10”, respectively. At this time, the numerical type quasi-identifier of the
続いて、一般化階層作成部112は、統計指標の乖離Aが最小である組み合わせのノードを統合したノードを、当該組み合わせのノードそれぞれに対応する1つ上の階層のノード、即ち親ノードに決定し、当該組み合わせのノードそれぞれの頻度の和を、当該親ノードの頻度とする(S605)。一般化階層作成部112は、当該組み合わせ以外のノードについては、例えば、当該ノードと同一のノードを当該ノードに対応する1つ上の階層のノードに決定する。
Subsequently, the generalized
なお、統計指標の乖離Aが最小である複数の組み合わせが存在する場合、例えば、一般化階層作成部112は、当該複数の組み合わせから選択した1つの組み合わせのノードを統合する。一般化階層作成部112は、当該選択において、例えば、ランダムに1つの組み合わせを選択してもよいし、当該複数の組み合わせに含まれる値の最大値又は最小値が、最大又は最小の組み合わせを選択してもよい。
In addition, when there are a plurality of combinations having the smallest statistical index deviation A, for example, the generalized
なお、一般化階層作成部112は、統計指標の乖離Aの算出の過程において、ある組み合わせにおける統計指標の乖離Aが、所定の閾値以下であると判定した場合、当該組み合わせのノードを統合し、その他の組み合わせにおけるAの算出を中止してもよい。これにより、一般化階層作成部112は、匿名化前後の統計指標の乖離を低減しつつ、演算量を削減することができる。当該所定の閾値が0である場合、匿名化前後の統計指標の乖離を特に低減することができる。
When the generalized
続いて、一般化階層作成部112は、ルートノードを作成したら、当該数値型準識別子における階層データ作成を終了する(S606)。ルートノードが作成されていない場合、一般化階層作成部112は、最上位の階層についてステップS604〜ステップS605の処理を行う。
Subsequently, after creating the root node, the generalized
一般化階層作成部112は、全ての数値型準識別子における階層データを作成したら、一般化階層作成処理を終了する(S607)。階層データが作成されていない数値型準識別子が存在する場合、一般化階層作成部112は、階層データが作成されていない数値型準識別子に対して、ステップS602〜ステップS606の処理を行う。
When the generalized
以下、一般化階層作成部112が、匿名化対象データ121の年齢1210から年齢階層データ1220を作成する処理(ステップS602〜ステップS606に相当)の例を説明する。統計指標が平均値である例を示す。一般化階層作成部112は、年齢1210に含まれる値「25」、「5」、「20」それぞれの頻度「3」、「2」、「1」を取得する。一般化階層作成部112は、年齢1210に含まれる値を昇順に即ち「5」、「20」、「25」の順にソートし、ソート結果を第0階層1221とする。
Hereinafter, an example of a process (corresponding to steps S602 to S606) in which the generalized
一般化階層作成部112は、隣接するノードである「5」と「20」との組み合わせの統計指標の乖離A1、及び隣接するノードである「20」と「25」との組み合わせの統計指標の乖離A2を算出する。
The generalized
以下、A1の算出処理を示す。R=6、V=(5+20)/2=12.5であるため、A1=|{(5−12.5)+(5−12.5)+(20−12.5)}/6|=1.25である。 Hereinafter, a process for calculating A 1. Since R = 6 and V = (5 + 20) /2=12.5, A 1 = | {(5-12.5) + (5-12.5) + (20-12.5)} / 6 | = 1.25.
以下、A2の算出処理を示す。R=6、V=(20+25)/2=22.5であるため、A2=|{(20−22.5)+(25−22.5)+(25−22.5)+(25−22.5)}/6|=0.833・・・である。 Hereinafter, a process for calculating A 2. Since R = 6 and V = (20 + 25) /2=22.5, A 2 = | {(20-22.5) + (25-22.5) + (25-22.5) + (25 -22.5)} / 6 | = 0.833.
A1>A2であるため、一般化階層作成部112は、「20」と「25」とを統合したノード「20〜25」を作成する。一般化階層作成部112は、作成したノード「20〜25」を、第0階層1221のノード「20」と「25」それぞれの親ノード、即ち「20」と「25」それぞれに対応する第1階層1222のノードに決定する。また、一般化階層作成部112は、統合の対象とならなかったノード「5」については、「5」自身を、第0階層1221の「5」に対応する第1階層1222のノードに決定する。
Since A 1 > A 2 , the generalized
第1階層1222は、「5」と「20〜25」の2種類のノードからなるため、一般化階層作成部112は、これらを統合したノード「5〜25」を、第1階層1222の全てのノードに対応するルートノード1223に決定する。
Since the
図7は、Hu−Tucker符号木等の従来の手法を用いて作成された、図2の匿名化対象データ121の年齢1210に対する年齢階層データの一例である。年齢階層データ700は、第0階層701、第1階層702、及びルートノード703を含む。従来の一般化階層作成処理においては、頻度が少ないノード同士が統合されて、上位階層のノードが作成される。値「5」、「20」、「25」の頻度は、それぞれ「2」、「1」、「3」であるため、第1階層702において「5」と「20」が統合されている。この点において、年齢階層データ700は本実施例の年齢階層データ1220と異なる。
FIG. 7 is an example of age hierarchy data for the
図8は、本実施例の一般化階層を用いた数値型準識別子の匿名化と、従来の一般化階層を用いた数値型準識別子の匿名化と、の比較の一例を示す。具体的には、図8は、匿名化サーバ100が年齢1210のみからなるデータにk=2を満たすk−匿名化を、従来手法の年齢階層データ700を用いて施した例と、本実施例の年齢階層データ1220を用いて施した例と、を示す。さらに、図8は、年齢1210の平均値及び分散と、k−匿名化が施された結果データの平均値及び分散との乖離を、本実施例と従来手法との間で比較した例を示す。ここで、年齢1210の平均値は17.5、分散は81.25である。
FIG. 8 shows an example of comparison between anonymization of numerical quasi-identifiers using the generalized hierarchy of this embodiment and anonymization of numerical quasi-identifiers using a conventional generalized hierarchy. Specifically, FIG. 8 shows an example in which the
まず従来手法における年齢階層データ700を用いたk−匿名化について述べる。k−匿名化実行部114は、第1階層702を用いて年齢1210を匿名化することにより、k=2を満たすk−匿名化を実行することができる。k−匿名化実行部114は、第1階層702を用いて、年齢1210に匿名化を施すことにより、結果データ802を得る。範囲変換後データ803は、結果データ802の範囲表示された値、即ち「5〜20」を、結果データ802の平均値及び分散を算出するために、当該範囲の平均値12.5に変換したデータである。
First, k-anonymization using the age hierarchy data 700 in the conventional method will be described. The k-
ここで、範囲変換後データ803の平均値は18.75、分散は39.0625である。また、年齢1210と範囲変換後データ803とにおける、平均値の乖離は1.25、分散の乖離は42.1875である。
Here, the average value of the range-converted
続いて本実施例の年齢階層データ1220を用いたk−匿名化について述べる。k−匿名化実行部114は、第1階層1222を用いて年齢1210を匿名化することにより、k=2を満たすk−匿名化を実行することができる。k−匿名化実行部114は、第1階層1222を用いて、年齢1210に匿名化が施すことにより、結果データ804を得る。範囲変換後データ805は、結果データ804の範囲表示された値、即ち「20〜25」を、結果データ804の平均値及び分散を算出するために、当該範囲の平均値22.5に変換したデータである。
Next, k-anonymization using the
ここで、範囲変換後データ805の平均値は16.6667、分散は68.0556である。また、年齢1210と範囲変換後データ805とにおける、平均値の乖離は0.83333、分散の乖離は13.1944である。従って、本実施例における匿名化前後の平均値の乖離は、従来手法における匿名化前後の平均値の乖離よりも小さい。分散の乖離についても同様である。
Here, the average value of the range-converted
以上、本実施例の匿名化サーバ100は、数値型準識別子の一般化階層作成において、k−匿名化前後における数値準識別子の統計指標の乖離を低減することができ、ひいてはk−匿名化によるデータ品質の劣化を抑制することができる。また、匿名化サーバ100は、k−匿名化前後の統計指標自体を算出することなく、統計指標の乖離を算出するため、少ない演算量でデータ品質の劣化を抑制することができる。
As described above, the
また、匿名化サーバ100は、統計指標として平均値を用いることにより、重要な基本統計量の1つである平均値の、k−匿名化前後における乖離を、少ない演算量で低減することができる。
Moreover, the
また、既存の匿名化サーバにおける一般化階層の作成処理を、本実施例のステップS503に置き換えることにより、既存の匿名化サーバによるk−匿名化後のデータ品質を、低コストで向上させることができる。 Moreover, the data quality after k-anonymization by the existing anonymization server can be improved at low cost by replacing the process of creating the generalized hierarchy in the existing anonymization server with step S503 of the present embodiment. it can.
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 In addition, this invention is not limited to an above-described Example, Various modifications are included. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Also, a part of the configuration of a certain embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of a certain embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。 Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 Further, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
100 匿名化サーバ、101 プロセッサ、102 メモリ、103 補助記憶装置、111 匿名化対象データ取込部、112 一般化階層作成部、113 統計指標計算部、114 k−匿名化実行部、121 匿名化対象データ、122 一般化階層データ、123 匿名化結果データ
DESCRIPTION OF
Claims (5)
前記数値データ匿名化サーバは、プログラムを実行するプロセッサと、前記プロセッサがアクセスするメモリと、を有し、
前記方法は、
前記プロセッサが、前記数値データに含まれる数値に基づいて、複数の階層からなる一般化階層を作成し、
前記プロセッサが、前記一般化階層を用いて、前記数値データを匿名化し、
前記一般化階層の第1階層の作成処理において、
前記第1階層の一つ下の階層である第0階層に含まれる第1ノードと、数値の大小関係において前記第1ノードに隣接するノードそれぞれと、の組み合わせを生成し、
前記生成した組み合わせそれぞれに対して、当該組み合わせのノードを統合したノードを当該組み合わせのノードそれぞれに対応する前記第1階層のノードに決定した場合における前記第1階層を用いて匿名化された前記数値データの統計指標と、前記数値データの統計指標と、の乖離を算出し、
前記算出した乖離が最小である組み合わせのノードを統合したノードを、当該組み合わせのノードそれぞれに対応する前記第1階層のノードに決定する、方法。 A numerical data anonymization server that holds numerical data including a plurality of numerical values is a method of anonymizing the numerical data,
The numerical data anonymization server includes a processor that executes a program, and a memory that the processor accesses.
The method
The processor creates a generalized hierarchy consisting of a plurality of hierarchies based on numeric values included in the numeric data,
The processor anonymizes the numerical data using the generalized hierarchy;
In the process of creating the first hierarchy of the generalized hierarchy,
Generating a combination of the first node included in the 0th hierarchy, which is one level below the first hierarchy, and each of the nodes adjacent to the first node in a numerical magnitude relationship;
For each of the generated combinations, the numerical value anonymized using the first hierarchy when a node obtained by integrating the nodes of the combination is determined as a node of the first hierarchy corresponding to each of the nodes of the combination Calculate the divergence between the statistical index of the data and the statistical index of the numerical data,
A method of determining a node obtained by integrating a combination of nodes having the smallest calculated divergence as a node of the first hierarchy corresponding to each node of the combination.
前記統計指標は、平均値であり、
前記方法は、
前記プロセッサが、前記生成した組み合わせそれぞれに対する前記乖離を、下記数式を用いて算出し、
The statistical index is an average value,
The method
The processor calculates the divergence for each of the generated combinations using the following equation:
前記プロセッサが、
前記第1階層の作成処理において、
前記第1ノードと、数値の大小関係において前記第1ノードに隣接するノードの一方と、の第1組み合わせに対して、前記乖離を算出し、
前記算出した乖離が閾値以下である場合、
前記第1ノードと、前記第1ノードに隣接するノードの他方と、の第2組み合わせに対する前記乖離を算出せず、
前記第1組み合わせのノードを統合したノードを、前記第1組み合わせのノードそれぞれに対応する前記第1階層のノードに決定する、方法。 The method of claim 1, comprising:
The processor is
In the creation process of the first hierarchy,
Calculating the divergence for a first combination of the first node and one of the nodes adjacent to the first node in a numerical magnitude relationship;
When the calculated deviation is not more than a threshold value,
Calculating the divergence for the second combination of the first node and the other of the nodes adjacent to the first node;
A method in which a node obtained by integrating the first combination of nodes is determined as a node of the first hierarchy corresponding to each of the first combination of nodes.
前記プロセッサが、
前記一般化階層の階層を最下の階層から順に1階層ずつ作成する作成処理を、ルートノードを示す階層を作成するまで繰り返し、
重複を除いた前記数値データを、前記一般化階層の最下の階層に決定し、
前記最下の階層以外の各階層の作成処理において、当該階層を前記第1階層とする、方法。 The method of claim 1, comprising:
The processor is
Repeat the creation process of creating the generalized hierarchy level one by one in order from the lowest level until the level indicating the root node is created,
The numerical data excluding duplication is determined as the lowest hierarchy of the generalized hierarchy,
A method in which, in the creation process of each hierarchy other than the lowest hierarchy, the hierarchy is the first hierarchy.
プロセッサと、記憶装置と、を備え、
前記記憶装置は、前記数値データを保持し、
前記プロセッサは、
前記数値データに含まれる数値に基づいて、複数の階層からなる一般化階層を作成し、
前記一般化階層を用いて、前記数値データを匿名化し、
前記一般化階層の第1階層の作成において、
前記第1階層の1つ下の階層である第0階層に含まれる第1ノードと、数値の大小関係において前記第1ノードに隣接するノードそれぞれと、の組み合わせそれぞれに対して、前記数値データの統計指標と、当該組み合わせのノードを統合したノードを当該組み合わせのノードそれぞれに対応する前記第1階層のノードに決定した場合における前記第1階層を用いて匿名化された前記数値データの統計指標と、の乖離を算出し、
前記算出した乖離が最小である第1組み合わせのノードを統合したノードを、前記第1組み合わせのノードそれぞれに対応する前記第1階層のノードに決定する、数値データ匿名化サーバ。 A numerical data anonymization server that anonymizes numerical data including a plurality of numerical values,
A processor and a storage device;
The storage device holds the numerical data,
The processor is
Create a generalized hierarchy consisting of multiple hierarchies based on the numeric values contained in the numeric data,
Using the generalized hierarchy, the numerical data is anonymized,
In creating the first hierarchy of the generalized hierarchy,
For each combination of the first node included in the 0th hierarchy, which is one hierarchy below the first hierarchy, and each of the nodes adjacent to the first node in the magnitude relation, A statistical index of the numerical data that is anonymized using the first hierarchy when a node obtained by integrating the nodes of the combination is determined as a node of the first hierarchy corresponding to each node of the combination; , The difference between
A numerical data anonymization server that determines a node obtained by integrating the first combination of nodes having the smallest calculated deviation as a node of the first hierarchy corresponding to each of the first combination of nodes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015062981A JP2016184213A (en) | 2015-03-25 | 2015-03-25 | Method for anonymizing numeric data, and numeric data anonymization server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015062981A JP2016184213A (en) | 2015-03-25 | 2015-03-25 | Method for anonymizing numeric data, and numeric data anonymization server |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016184213A true JP2016184213A (en) | 2016-10-20 |
Family
ID=57241934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015062981A Pending JP2016184213A (en) | 2015-03-25 | 2015-03-25 | Method for anonymizing numeric data, and numeric data anonymization server |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016184213A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018168103A1 (en) * | 2017-03-17 | 2018-09-20 | 新日鉄住金ソリューションズ株式会社 | Information processing device, information processing method, and recording medium |
WO2019098136A1 (en) * | 2017-11-20 | 2019-05-23 | 株式会社日立製作所 | Evaluation system and method of anonymized data, and anonymity level determination server |
-
2015
- 2015-03-25 JP JP2015062981A patent/JP2016184213A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018168103A1 (en) * | 2017-03-17 | 2018-09-20 | 新日鉄住金ソリューションズ株式会社 | Information processing device, information processing method, and recording medium |
JP2018156427A (en) * | 2017-03-17 | 2018-10-04 | 新日鉄住金ソリューションズ株式会社 | Information processing device, information processing method and program |
US11620406B2 (en) | 2017-03-17 | 2023-04-04 | Ns Solutions Corporation | Information processing device, information processing method, and recording medium |
WO2019098136A1 (en) * | 2017-11-20 | 2019-05-23 | 株式会社日立製作所 | Evaluation system and method of anonymized data, and anonymity level determination server |
JP2019095885A (en) * | 2017-11-20 | 2019-06-20 | 株式会社日立製作所 | System and method for evaluation of anonymized data and anonymization level determination server |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10726356B1 (en) | Target variable distribution-based acceptance of machine learning test data sets | |
JP6542785B2 (en) | Implementation of semi-structured data as first class database element | |
Zhang et al. | A scalable two-phase top-down specialization approach for data anonymization using mapreduce on cloud | |
US9613037B2 (en) | Resource allocation for migration within a multi-tiered system | |
Yang et al. | Implementation of a big data accessing and processing platform for medical records in cloud | |
US20170199902A1 (en) | Outlier detection for streaming data | |
RU2696347C2 (en) | Visual tools for failure analysis in distributed systems | |
US20180144061A1 (en) | Edge store designs for graph databases | |
CN109983467B (en) | System and method for anonymizing data sets | |
EP3832559A1 (en) | Controlling access to de-identified data sets based on a risk of re-identification | |
US20170212930A1 (en) | Hybrid architecture for processing graph-based queries | |
US11321318B2 (en) | Dynamic access paths | |
US11176092B2 (en) | Database management system and anonymization processing method | |
GB2498762A (en) | Computing user traffic at the website based on user actions | |
US11650988B2 (en) | Database management system and database processing method | |
JP6269140B2 (en) | Access control program, access control method, and access control apparatus | |
JP2017045080A (en) | Business flow specification regeneration method | |
US9830383B2 (en) | Decision table decomposition using semantic relations | |
JP2016184213A (en) | Method for anonymizing numeric data, and numeric data anonymization server | |
US20180144060A1 (en) | Processing deleted edges in graph databases | |
JP6679445B2 (en) | Information processing apparatus, information processing system, information processing program, and information processing method | |
US10102376B2 (en) | Implementing locale management on PaaS: locale replacement risk analysis | |
US11650975B2 (en) | Online file system consistency check for container data on a clustered filesystem | |
US11593511B2 (en) | Dynamically identifying and redacting data from diagnostic operations via runtime monitoring of data sources | |
CN113490938B (en) | Anonymity evaluation device, anonymity evaluation method, and recording medium |