JP2016133872A - Information anonymity method, information anonymity program and information anonymity device - Google Patents
Information anonymity method, information anonymity program and information anonymity device Download PDFInfo
- Publication number
- JP2016133872A JP2016133872A JP2015006586A JP2015006586A JP2016133872A JP 2016133872 A JP2016133872 A JP 2016133872A JP 2015006586 A JP2015006586 A JP 2015006586A JP 2015006586 A JP2015006586 A JP 2015006586A JP 2016133872 A JP2016133872 A JP 2016133872A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- character string
- log data
- anonymization
- users
- 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
本発明の実施形態は、情報匿名化方法、情報匿名化プログラムおよび情報匿名化装置に関する。 Embodiments described herein relate generally to an information anonymization method, an information anonymization program, and an information anonymization apparatus.
各行(レコード)に各人の情報を格納したログデータなどを、各人のプライバシー保護に配慮しつつ、多くの情報が残るように変換し、市場分析などで二次活用したい場合がある。このログデータの変換時におけるプラバシー保護を目的とした技術の一つにデータの匿名化がある。匿名化では、置換・削除等により、データの1単位(行・レコード等)を個人識別性がないように加工する。個人識別性とは、知識のある人間(例えば、データの持ち主)が加工後のデータを見た時に、自分のデータを一意に特定できることである。具体的には、匿名化後のデータの1単位を見た時、データの持ち主をk人以上にしか絞れないように加工する。 In some cases, log data, etc., in which each person's information is stored in each row (record) is converted so that a large amount of information remains, taking into account the protection of each person's privacy, and may be used for secondary purposes in market analysis or the like. One technique for protecting privacy during conversion of log data is data anonymization. In anonymization, one unit (row, record, etc.) of data is processed so as not to have personal identification by replacement / deletion. Personal identification means that a knowledgeable person (for example, a data owner) can uniquely identify his / her data when he / she views the processed data. Specifically, when one unit of data after anonymization is viewed, processing is performed so that the number of data owners can be limited to k or more.
k−匿名化は、1データオーナー1行としデータを属性に分類して列とした2次元表に対してk−匿名性を達成するように値の置換・削除を行う。k−匿名性とは、QI(準識別子)として設定した属性の組み合わせが対応しうる行がkオーナー以上存在することである。 In k-anonymization, values are replaced and deleted so as to achieve k-anonymity for a two-dimensional table in which one data owner is one row and data is classified into attributes and columns. k-anonymity means that there are k or more rows that can be associated with a combination of attributes set as QI (quasi-identifier).
しかしながら、プライバシー保護のためにデータの匿名化を行って匿名性を十分に確保すると、匿名化により秘匿されるデータ量が多くなり、情報の開示量が低減してしまう場合がある、という問題がある。そして、匿名化により秘匿されるデータ量が多いと、二次活用時において、匿名化後のデータを利用する価値が薄れてしまう場合がある。 However, there is a problem that if anonymization of data is performed for privacy protection and anonymity is sufficiently secured, the amount of data concealed by anonymization increases, and the amount of information disclosed may be reduced. is there. And if there is much data amount concealed by anonymization, the value of using the data after anonymization may fade at the time of secondary utilization.
1つの側面では、情報の開示量が低減することを抑止可能とする情報匿名化方法、情報匿名化プログラムおよび情報匿名化装置を提供することを目的とする。 In one aspect, an object is to provide an information anonymization method, an information anonymization program, and an information anonymization device that can prevent a reduction in the amount of information disclosure.
第1の案では、情報匿名化方法は、コンピュータが、複数のユーザのそれぞれに関するログデータから、k以上の数のユーザに共通の文字列を抽出する処理を実行する。また、情報匿名化方法は、コンピュータが、抽出した文字列を包括関係に基づいてグループ化し、各グループに属性を割り当てる処理を実行する。また、情報匿名化方法は、コンピュータが、属性毎に、当該属性中の文字列を当該文字列を含むログデータのユーザに対応付ける処理を実行する。また、情報匿名化方法は、コンピュータが、各属性の文字列の組み合わせが同一となるユーザ数がk以上となるよう各属性の文字列を匿名化する処理を実行する。 In the first proposal, in the information anonymization method, the computer executes a process of extracting a character string common to k or more users from log data relating to each of a plurality of users. In the information anonymization method, the computer groups the extracted character strings based on the comprehensive relationship, and executes a process of assigning an attribute to each group. In the information anonymization method, the computer executes a process for associating a character string in the attribute with a user of log data including the character string for each attribute. Further, in the information anonymization method, the computer executes a process of anonymizing the character strings of the respective attributes so that the number of users having the same combination of character strings of the respective attributes becomes k or more.
本発明の1実施態様によれば、情報の開示量が低減することを抑止可能とすることができる。 According to one embodiment of the present invention, it is possible to prevent a reduction in the amount of information disclosed.
以下、図面を参照して、実施形態にかかる情報匿名化方法、情報匿名化プログラムおよび情報匿名化装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する情報匿名化方法、情報匿名化プログラムおよび情報匿名化装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。 Hereinafter, an information anonymization method, an information anonymization program, and an information anonymization device according to embodiments will be described with reference to the drawings. In the embodiment, configurations having the same functions are denoted by the same reference numerals, and redundant description is omitted. In addition, the information anonymization method, the information anonymization program, and the information anonymization apparatus which are demonstrated by the following embodiment only show an example, and do not limit embodiment. In addition, the following embodiments may be appropriately combined within a consistent range.
図1は、実施形態にかかる情報匿名化装置1の構成を例示するブロック図である。図1に示すように、情報匿名化装置1は、PC(Personal Computer)等の情報処理装置であり、入力部10と、制御部20と、出力部30とを有する。
FIG. 1 is a block diagram illustrating the configuration of the
入力部10は、キーボードやマウスなどの入力装置、CD−ROMやDVDディスク等の記憶媒体からデータを読み取る読取装置または他の機器と通信を行う通信装置(いずれの装置も図示しない)等からデータを入力する。入力部10が入力を受け付けるデータは、例えば、ログデータD10および閾値kがある。入力されたログデータD10および閾値kは、制御部20により参照される。 The input unit 10 receives data from an input device such as a keyboard or a mouse, a reading device that reads data from a storage medium such as a CD-ROM or a DVD disk, or a communication device (not shown) that communicates with other devices. Enter. Data that the input unit 10 accepts input includes, for example, log data D10 and a threshold value k. The input log data D10 and threshold value k are referred to by the control unit 20.
ログデータD10は、複数のユーザのそれぞれに関する履歴等を記述するデータである。ログデータD10は、例えば、アプリケーション・ネットワーク機器等のログデータやセンサ機器の出力データ等、企業同士・企業−ユーザ間でやり取りされるデータのうち、テキストデータとして扱えるものである。テキストデータとして扱えるログデータD10は、行やレコードといった単位で要素を区切ることができる。本実施形態では、ログデータD10には、1行に1つの履歴(1ユーザが行った動作等)が記述されているものとする。情報匿名化装置1におけるログデータD10の匿名化では、ログデータD10の要素1単位(行・レコード等)の組み合わせを個人識別性が無いように加工する。
The log data D10 is data describing a history and the like regarding each of a plurality of users. The log data D10 can be handled as text data among data exchanged between companies / company-users such as log data of application / network devices and output data of sensor devices. The log data D10 that can be handled as text data can be divided into elements such as lines and records. In the present embodiment, it is assumed that one log (such as an operation performed by one user) is described in one line in the log data D10. In the anonymization of the log data D10 in the
閾値kは、個人識別性が無いようにログデータD10を匿名化した後のデータを見た時、データの持ち主をk人以上にしか絞れないようにする、プライバシー保護の基準に合わせて設定される閾値である。例えば、閾値kには、2≦k≦入力されたログデータD10のユーザ数の値が設定される。 The threshold value k is set in accordance with a privacy protection standard so that when the data after anonymizing the log data D10 is viewed so that there is no personal identification, the number of data owners can be limited to only k or more. Threshold. For example, 2 ≦ k ≦ the number of users of the input log data D10 is set as the threshold value k.
制御部20は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリと、プログラムを順次実行するCPU(Central Processing Unit)とを有し、これらによって種々の処理を実行する。制御部20は、生成部21、匿名化処理部22およびログデータ変換部23を有する。
The control unit 20 includes an internal memory for storing a program defining various processing procedures and necessary data, and a CPU (Central Processing Unit) that sequentially executes the program, and executes various processes using these. . The control unit 20 includes a generation unit 21, an
生成部21は、表データ変換部211と、一般化階層木生成部212とを有し、匿名化処理部22によりログデータD10のk−匿名化を行うための中間データである表データD21および一般化階層木D22を生成する。k−匿名化は、1データオーナー(ユーザ)1行とし、データを属性に分類して列とした2次元表である表データD21に対して適用できる。QI(準識別子)として設定した属性の組み合わせが対応しうる行がkオーナー以上存在することをk−匿名性といい、k−匿名化では、表データD21に対して、k−匿名性を達成するように値の置換・削除を行う。値の置換には、属性間の包括関係を木構造で示し、置換する値を定義した一般化階層木D22を用いる。一般化階層木D22を用いた置換は、削除と比較して、木構造によって段階的に情報を落とす(匿名化する)ことができるため、情報損失を少なくできる。
The generation unit 21 includes a table
ここで、匿名化後のデータのうち、元のデータのままの箇所を開示箇所と呼び、開示箇所の量を開示量と呼ぶ。この開示量は、文字数や単語数で表す。k−匿名性を満たしているように匿名化した後のログデータ同士を比較した場合、開示量が多いほど、二次活用の際に有用である。よって、開示量の多い匿名化ほど二次活用に有用である。 Here, in the data after anonymization, the part as the original data is called a disclosed part, and the amount of the disclosed part is called a disclosed quantity. The amount of disclosure is expressed by the number of characters and the number of words. When log data after anonymizing so as to satisfy k-anonymity is compared, the more the disclosed amount, the more useful it is in secondary utilization. Therefore, anonymization with a large amount of disclosure is useful for secondary utilization.
表データ変換部211は、ログデータD10および閾値kを参照し、ログデータD10を表データD21に変換する。具体的には、表データ変換部211は、区切り文字での分割・文字種分割・形態素解析等の既存技術を用いてログデータD10の単語分割を行う。例えば、文字種分割では、ログデータD10における「name=db.path=c:/data」の行の場合、{name,=,db,.,path,=,c,:,/,data}のように分割する。
The
表データ変換部211は、ログデータD10の単語分割をもとに、kオーナー以上のログデータD10に出現する単語系列を表データD21の属性(列)に設定する。単語系列は、順序をもった単語の組み合わせである。この単語系列では、行頭から行末における単語同士の隣接・非隣接を区別する。例えば、並んだ単語同士が隣接していない場合は、その間を非隣接箇所とし、特殊文字列「[GAP]」をおいて表現する。
The table
例えば{name,[GAP],db}という単語系列において、「[GAP]」は、「name」と「db」と隣接しておらず、「name」と「db」の間に1つ以上の単語が含まれていることを示す。なお、非隣接箇所を示す特殊文字列は、後から識別可能であればいずれの文字列を用いてもよい。 For example, in the word sequence {name, [GAP], db}, “[GAP]” is not adjacent to “name” and “db”, and one or more between “name” and “db”. Indicates that a word is included. As the special character string indicating the non-adjacent portion, any character string may be used as long as it can be identified later.
また、単語系列同士では包括関係を持つ場合がある。例えば、{name,[GAP],db}と{name,=,db}は包括関係があり、{name,[GAP],db}が{name,=,db}を包括している。本実施形態では、包括している側(上記の例では{name,[GAP],db})を上位として扱う。 In addition, word sequences may have a comprehensive relationship. For example, {name, [GAP], db} and {name, =, db} have a comprehensive relationship, and {name, [GAP], db} includes {name, =, db}. In this embodiment, a comprehensive side (in the above example, {name, [GAP], db}) is treated as a higher level.
表データ変換部211は、単語分割されたログデータD10の各行から、抽出可能な全ての単語系列を列挙する。具体的には、表データ変換部211は、単語分割された後の単語系列をベースに、各単語が「そのまま」である単語系列と、「[GAP]」の2通りの状態をとるものとして、取りうる全状態を単語系列として出力する。これにより2の[単語数]乗の単語系列が出力される。
The table
例えば、{name,=,db,.}の場合は、{name,=,db,.}、{[GAP],=,db,.}、{[GAP],[GAP],db,.}…の単語系列が出力される。ここで、出力された単語系列において、[GAP]が連続している場合は、1つにまとめる。例えば、{name,=,[GAP],[GAP]}は、{name,=,[GAP]}とする。また、{[GAP]}となった単語系列は除外する。 For example, {name, =, db,. }, {Name, =, db,. }, {[GAP], =, db,. }, {[GAP], [GAP], db,. } Is output. Here, when [GAP] continues in the output word series, they are combined into one. For example, {name, =, [GAP], [GAP]} is assumed to be {name, =, [GAP]}. Also, the word series that is {[GAP]} is excluded.
次いで、表データ変換部211は、kオーナー以上に出現する単語系列を抽出して表データD21の属性(列)に設定し、ログデータD10の各行を、当てはまる属性の中で、包括関係が最上位の属性の値として表データD21の行に設定する。包括関係においては、包括する側を上位とする。また、最上位の属性が複数ある場合は、「文字列長・単語数」や「出現オーナー数」等の基準によって上位の属性を判定する。また、表データ変換部211は、既に値が設定されている属性は除外し、値が設定されていない属性の中で、包括関係が最上位の属性の値として設定する。また、ログデータD10の各行において、当てはまる属性が無い場合は、その行は値として設定しないものとする。表データ変換部211は、ログデータD10を変換した表データD21として、属性(列)および行を設定した表データD21を出力する。
Next, the table
一般化階層木生成部212は、表データD21の各属性について、属性間の包括関係を木構造で示した一般化階層木D22を生成する。具体的には、一般化階層木生成部212は、表データD21の対象属性の単語系列を根ノードとし、その根ノードからの単語系列の包括関係のある属性をノードとする木構造の一般化階層木D22を生成する。一般化階層木生成部212は、包括関係のある属性において、包括する側を親ノードとする。また、一般化階層木生成部212は、入力されたログデータD10の全ての行と、表データD21の全属性とをノードの候補とする。また、一般化階層木生成部212は、ノード追加の際に、親ノード候補が複数ある場合は、親ノードの単語系列の「文字列長・単語数」や「出現オーナー数」等の基準で一つを選択するものとする。 For each attribute of the table data D21, the generalized hierarchical tree generation unit 212 generates a generalized hierarchical tree D22 that shows a comprehensive relationship between attributes in a tree structure. Specifically, the generalized hierarchical tree generation unit 212 generalizes a tree structure in which the word sequence of the target attribute of the table data D21 is a root node and the attribute having the comprehensive relationship of the word sequence from the root node is a node. A hierarchical tree D22 is generated. The generalized hierarchical tree generation unit 212 sets an inclusion side as a parent node in an attribute having inclusion relation. The generalized hierarchical tree generation unit 212 sets all the rows of the input log data D10 and all the attributes of the table data D21 as node candidates. In addition, when there are a plurality of parent node candidates when adding a node, the generalized hierarchical tree generation unit 212 uses a criterion such as “character string length / number of words” or “number of appearance owners” of the word sequence of the parent node. One shall be selected.
匿名化処理部22は、生成部21により生成された表データD21および一般化階層木D22をもとに、表データD21に対して各属性の文字列の組み合わせが同一となるユーザ(オーナー)数がk以上となるよう各属性の文字列を匿名化するk−匿名化を行い、匿名化済み表データD23を生成する。具体的には、匿名化処理部22は、一般化階層木D22における上位のグループの属性から順に、表データD21のオーナーに対応付けられた各属性の単語系列が同一となるオーナー数がk以上となるよう各属性の文字列を匿名化する。
The
ログデータ変換部23は、生成された匿名化済み表データD23の各行をログデータに変換する。具体的には、ログデータ変換部23は、まず、匿名化済み表データD23に残った値を全て抽出する。次に、ログデータ変換部23は、対応するオーナーの元のログデータD10に対して抽出した値を用いて文字列置換処理を行う。より具体的には、元のログデータD10の各行に対し、匿名化済み表データD23より抽出した値の中からマッチする中で最も開示量が多くなる値を選択する。開示量が多くなる値とは、文字列長か単語長が最大の値である。次に、選択した値の[GAP]にあたる対象行の文字列を置換する。置換方法は、すべて同じ文字列に置換する「墨塗り」、同じ置換箇所が同じ文字列になるように置換する「トークン化」、復号鍵を持つユーザだけが閲覧できる文字列に置換する「暗号化」等がある。この置換方法は、安全性・活用性を考慮した方法がユーザにより選択され、設定されているものとする。本実施形態では、「トークン化」を用いて置換するものとする。
The log
出力部30は、制御部20により匿名化されたログデータD30を出力する。具体的には、出力部30は、ファイルなどの他、ディスプレイ(図示しない)への表示や、通信装置(図示しない)を介して接続する他の装置への送信などにより、ログデータD30を出力する。
The
ここで、情報匿名化装置1の動作の詳細を説明する。図2は、実施形態にかかる情報匿名化装置1の動作を例示するフローチャートである。
Here, the detail of operation | movement of the
図2に示すように、処理が開始されると、入力部10は、ログデータD10および閾値kの入力を受け付ける。次いで、表データ変換部211は、区切り文字での分割・文字種分割・形態素解析等の既存技術を用いて、受け付けたログデータD10の単語分割を行う(S1)。
As shown in FIG. 2, when the process is started, the input unit 10 receives input of log data D10 and a threshold value k. Next, the table
次いで、表データ変換部211は、単語分割したログデータD10から全単語系列を列挙する(S2)。図3は、単語系列の列挙を説明する説明図である。図3に示すように、ログデータD10における「name=db.」は、{name,=,db,.}、{name,[GAP]}、…のように全単語系列が列挙される。
Next, the table
次いで、表データ変換部211は、列挙した全単語系列と、入力された閾値kとをもとに、kオーナー以上に出現する単語系列を抽出し(S3)、抽出した単語系列を表データD21における表の属性(列)に設定する(S4)。
Next, the table
図4は、表データD21への変換を説明する説明図である。図4に示すように、オーナーA〜オーナーDのログデータD10と、k=2とが入力されているものとする。この場合、k=2オーナー以上に出現する単語系列として「User=Sato」、「A is started」、…が抽出され、表データD21の属性(列)に設定される。 FIG. 4 is an explanatory diagram for explaining the conversion into the table data D21. As shown in FIG. 4, it is assumed that log data D10 of owner A to owner D and k = 2 are input. In this case, “User = Sato”, “A is started”,... Are extracted as word sequences appearing more than k = 2 owners, and set as attributes (columns) of the table data D21.
次いで、表データ変換部211は、各オーナーのログデータ(Di(i=0〜u))に対する第1ループ処理(S5〜S10)を行う。第1ループ処理において、表データ変換部211は、表データD21の表にDi用の行(Ri)を追加し、ログデータ各行(Li(i=0〜m))すべてに対する第2ループ処理(S7〜S9)を行う。
Next, the table
第2ループ処理において、表データ変換部211は、ログデータの行(Li)をDi用の行(Ri)の当てはまる属性に値として設定する(S8)。
In the second loop processing, the table
図5は、表データへの値の設定を説明する説明図であり、より具体的には、図4に例示したログデータD10および表データD21における値設定を説明している図である。 FIG. 5 is an explanatory diagram for explaining setting of values in the table data. More specifically, FIG. 5 is a diagram explaining setting of values in the log data D10 and the table data D21 illustrated in FIG.
図5に示すように、表データ変換部211は、オーナーA〜オーナーDのログデータに対する第1ループ処理を行うことで、オーナーA〜オーナーDのログデータを表データD21に順次設定する。例えば、オーナーAについては、ログデータD10として「User=Abe」とする行(L1)と、「A is Started」とする行(L2)とがある。この行(L1)、(L2)については、第2ループ処理を行うことで、「User=[GAP]」、「[GAP] is Started」などの当てはまる属性に値として設定される。
As illustrated in FIG. 5, the table
なお、表データ変換部211は、既に値が設定されている属性は除外するとともに、当てはまる属性の中で、包括関係において最上位の属性に設定する。
The table
図6A、図6Bは、表データへの値の設定を説明する説明図である。より具体的には、図6Aは既に値が設定されている属性は除外する場合を説明し、図6Bは包括関係において最上位の属性に設定する場合を説明している。 6A and 6B are explanatory diagrams for explaining the setting of values to the table data. More specifically, FIG. 6A illustrates a case where an attribute for which a value has already been set is excluded, and FIG. 6B illustrates a case where the highest attribute is set in a comprehensive relationship.
図6Aに示すように、オーナーAのログデータD10における「K is started」を設定する場合、当てはまる最上位の属性は「[GAP] is started」であることから、その属性に値が設定される。次いで、「A is started」を設定する場合、当てはまる最上位の属性は「[GAP] is started」であるが、この属性には既に値が設定されている。よって、「A is started」は、包括関係において次の属性である「A is started」に値が設定されることとなる。 As shown in FIG. 6A, when “K is started” in the log data D10 of the owner A is set, since the top-level attribute to be applied is “[GAP] is started”, a value is set for the attribute. . Next, when “A is started” is set, the highest-level attribute to be applied is “[GAP] is started”, but a value has already been set for this attribute. Therefore, the value of “A is started” is set to the next attribute “A is started” in the comprehensive relationship.
図6Bに示すように、オーナーAのログデータD10における「A is started」を設定する場合には、「A is started」、「A is [GAP]」、「[GAP] is started」の3属性が当てはまる。ここで、3属性の包括関係を比較すると、「A is [GAP]」は「A is started」より上位であり、「[GAP] is started」は「A is started」より上位である。なお、「A is [GAP]」と、「[GAP] is started」との間には包括関係はない。ここで、表データ変換部211は、包括関係が最上位の属性を、「文字列長・単語数」や「出現オーナー数」等の基準によって選択する。図示例では、単語数によって、「[GAP] is started」を上位としている。
As shown in FIG. 6B, when setting “A is started” in the log data D10 of the owner A, three attributes “A is started”, “A is [GAP]”, and “[GAP] is started” are set. Is true. Here, comparing the comprehensive relationship of the three attributes, “A is [GAP]” is higher than “A is started”, and “[GAP] is started” is higher than “A is started”. Note that there is no comprehensive relationship between “A is [GAP]” and “[GAP] is started”. Here, the table
図2に戻り、第1ループ処理(S5〜S10)に次いで、一般化階層木生成部212は、表データD21の各属性(Aj(j=0〜r))に対する第3ループ処理(S11〜S13)を行う。 Returning to FIG. 2, following the first loop processing (S5 to S10), the generalized hierarchical tree generating unit 212 performs third loop processing (S11 to S11) for each attribute (Aj (j = 0 to r)) of the table data D21. S13) is performed.
第3ループ処理において、一般化階層木生成部212は、表データD21の属性(Aj)を根ノードとし、その根ノードからの単語系列の包括関係のある属性をノードとする木構造の一般化階層木D22を作成する(S12)。 In the third loop process, the generalized hierarchical tree generation unit 212 generalizes the tree structure with the attribute (Aj) of the table data D21 as a root node and the attribute having a comprehensive relationship of word sequences from the root node as a node. A hierarchical tree D22 is created (S12).
図7A、図7Bは、一般化階層木D22の作成を説明する説明図である。より具体的には、図7Aは包括関係が1段の一般化階層木D22の作成を説明し、図7Bは包括関係が多段(2段)の一般化階層木D22の作成を説明している。 7A and 7B are explanatory diagrams illustrating the creation of the generalized hierarchical tree D22. More specifically, FIG. 7A illustrates the creation of a generalized hierarchical tree D22 having a one-level inclusive relationship, and FIG. 7B illustrates the generation of a generalized hierarchical tree D22 having a multilevel (two-level) inclusive relationship. .
図7Aに示すように、「User=[GAP]」を根ノードとする場合は、その根ノードよりも包括関係が下位の「User=Abe」、「User=Sato」および「User=Oda」を下位のノードとする一般化階層木D22が作成される。 As shown in FIG. 7A, when “User = [GAP]” is set as a root node, “User = Abe”, “User = Sato”, and “User = Oda”, which have lower comprehensive relationships than the root node, are set. A generalized hierarchical tree D22 is created as a lower node.
また、図7Bに示すように、「[GAP]is[GAP]」を根ノードとする場合は、その根ノードよりも包括関係が1段下位の「[GAP]is started」および「[GAP]is stopped」を1段下位のノードとする一般化階層木D22が作成される。また、「[GAP]is started」については、包括関係が1段下位の「A is started」がさらに1段下位のノードとされる。また、「[GAP]is stopped」については、包括関係が1段下位の「C is stopped」および「B is stopped」がさらに1段下位のノードとされる。 Also, as shown in FIG. 7B, when “[GAP] is [GAP]” is the root node, “[GAP] is started” and “[GAP]” whose inclusive relationship is one level lower than the root node. A generalized hierarchical tree D22 having “is stopped” as a node one step lower is created. In addition, for “[GAP] is started”, “A is started”, which is one level lower in the comprehensive relationship, is a node one level lower. In addition, regarding “[GAP] is stopped”, “C is stopped” and “B is stopped” whose inclusion relationship is one level lower are nodes that are one level lower.
図2に戻り、第3ループ処理(S11〜S13)に次いで、匿名化処理部22は、表データD21と、一般化階層木D22とをもとに、表データD21に対して各属性の文字列の組み合わせが同一となるユーザ数がk以上となるよう各属性の文字列を匿名化するk−匿名化を行う(S14)。そして、匿名化処理部22は、表データD21に対してk−匿名化を行った後の匿名化済み表データD23を生成して出力する。
Returning to FIG. 2, following the third loop processing (S11 to S13), the
図8は、匿名化済み表データD23の生成を説明する説明図である。図8に示すように、「User=[GAP]」、「[GAP]=is started」などの属性において、ユーザ数がk以上となるように一般化階層木D22を参照して匿名化する。例えば、「User=[GAP]」については、「User=Abe」、「User=Oda」がk=2とするk−匿名性を満たさないことから、「User=[GAP]」に匿名化される。 FIG. 8 is an explanatory diagram for explaining the generation of the anonymized table data D23. As shown in FIG. 8, in the attributes such as “User = [GAP]” and “[GAP] = is started”, anonymization is performed with reference to the generalized hierarchical tree D22 so that the number of users becomes k or more. For example, “User = [GAP]” is anonymized to “User = [GAP]” because “User = Abe” and “User = Oda” do not satisfy k-anonymity with k = 2. The
図2に戻り、S14に次いで、ログデータ変換部23は、匿名化済み表データD23の各行(Rj(j=0〜u))に対する第4ループ処理(S15〜S17)を行う。
Returning to FIG. 2, following S14, the log
第4ループ処理において、ログデータ変換部23は、匿名化済み表データD23の行(Rj)をログデータに変換する(S16)。具体的には、ログデータ変換部23は、匿名化済み表データD23の行(Rj)に対応するオーナーの元のログデータD10に対して、Rjの値を用いて文字列置換処理を行う。第4ループ処理(S15〜S17)に次いで、出力部30は、匿名化済みのログデータD30を出力する(S18)。
In the fourth loop process, the log
図9は、ログデータへの変換を説明する説明図である。図9に示すように、元のログデータD10は「B is started」であり、匿名化済み表データD23のRjの値は「[GAP] is started」とする。この場合、ログデータ変換部23は、「[GAP] is started」を用いて、「B is started」を「toke01 is started」と変換する。これにより、ログデータD10は、「B」の文字列が「toke01」へと匿名化されたログデータD30に変換される。
FIG. 9 is an explanatory diagram illustrating conversion into log data. As shown in FIG. 9, the original log data D10 is “B is started”, and the value of Rj of the anonymized table data D23 is “[GAP] is started”. In this case, the log
図10は、ログデータへの変換を説明する説明図であり、より具体的には、ある行にマッチする「値」が複数ある場合の変換を説明する図である。図10に示すように、「K is started」がマッチする値は「[GAP]is started」である。よって、「K is started」については、マッチする値を適用して「toke01 is started」に変換される。「A is started」がマッチする値は、「[GAP]is started」および「A is started」である。この場合は、開示量が多い「A is started」を適用し、「A is started」のままとなる。 FIG. 10 is an explanatory diagram for explaining the conversion to log data. More specifically, FIG. 10 is a diagram for explaining the conversion when there are a plurality of “values” that match a certain line. As illustrated in FIG. 10, the value that “K is started” matches is “[GAP] is started”. Therefore, “K is started” is converted to “talk01 is started” by applying a matching value. Values that “A is started” matches are “[GAP] is started” and “A is started”. In this case, “A is started” with a large amount of disclosure is applied, and “A is started” remains.
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、上記の実施形態の生成部21、匿名化処理部22、ログデータ変換部23などのそれぞれを統合してもよい。
In addition, each component of each part illustrated does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each unit is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed / integrated in arbitrary units according to various loads or usage conditions. Can be configured. For example, each of the generation unit 21, the
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。 Furthermore, various processing functions performed by each device may be executed entirely or arbitrarily on a CPU (or a microcomputer such as an MPU or MCU (Micro Controller Unit)). In addition, various processing functions may be executed in whole or in any part on a program that is analyzed and executed by a CPU (or a microcomputer such as an MPU or MCU) or on hardware based on wired logic. Needless to say, it is good.
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図11は、情報匿名化プログラムを実行するコンピュータ300の一例を示す説明図である。
By the way, the various processes described in the above embodiments can be realized by executing a program prepared in advance by a computer. Therefore, in the following, an example of a computer that executes a program having the same function as in the above embodiment will be described. FIG. 11 is an explanatory diagram illustrating an example of a
図11が示すように、コンピュータ300は、各種演算処理を実行するCPU301と、データ入力を受け付ける入力装置302と、モニタ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る媒体読取装置304と、各種装置と接続するためのインタフェース装置305と、他の装置と有線または無線により接続するための通信装置306とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM307と、ハードディスク装置308とを有する。また、各装置301〜308は、バス309に接続される。
As illustrated in FIG. 11, the
ハードディスク装置308には、上記の実施形態で説明した各処理部と同様の機能を有する情報匿名化プログラムが記憶される。また、ハードディスク装置308には、情報匿名化プログラムを実現するための各種データが記憶される。入力装置302は、例えばユーザからの入力を受け付ける。モニタ303は、ユーザからの入力を受け付ける際の操作画面の表示や、各種情報の表示を行う。インタフェース装置305は、例えば印刷装置等が接続される。通信装置306は、例えばネットワークに接続される。
The
CPU301は、ハードディスク装置308に記憶された各プログラムを読み出して、RAM307に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ300を上記の実施形態で説明した各処理部と同様に機能させることができる。
The
なお、上記の情報匿名化プログラムは、必ずしもハードディスク装置308に記憶されている必要はない。例えば、コンピュータ300が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ300が読み出して実行するようにしてもよい。コンピュータ300が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこの情報匿名化プログラムを記憶させておき、コンピュータ300がこれらから情報匿名化プログラムを読み出して実行するようにしてもよい。
Note that the above-described information anonymization program is not necessarily stored in the
以上のように、情報匿名化装置1は、複数のユーザのそれぞれに関するログデータから、k以上の数のユーザに共通の文字列を抽出する。また、情報匿名化装置1は、抽出した文字列を包括関係に基づいてグループ化し、各グループに属性を割り当てる。また、情報匿名化装置1は、属性毎に、当該属性中の文字列を当該文字列を含むログデータのユーザに対応付ける。また、情報匿名化装置1は、各属性の文字列の組み合わせが同一となるユーザ数がk以上となるよう各属性の文字列を匿名化する。よって、情報匿名化装置1では、属性ごとに、置換の度合いを調整できるため、開示量が低減することを抑止可能とすることができる。
As described above, the
図12は、匿名化において閾値(v)による開示量の違いを説明する説明図である。ここで、閾値(v)は、v≧kとして設定される値であり、k−匿名化を行う際に、段階的に絞り込みを行って中間データ(表)を生成するための閾値である。図12では、入力されたログデータD100からk=2のk−匿名性を満たすコンピュータ300を生成する場合を例示している。
FIG. 12 is an explanatory diagram for explaining a difference in disclosure amount depending on a threshold value (v) in anonymization. Here, the threshold value (v) is a value set as v ≧ k, and is a threshold value for generating intermediate data (table) by narrowing down in stages when k-anonymization is performed. In FIG. 12, the case where the
図12に示すように、v=2(=k)として中間データ(表)を生成し、その表をもとにk−匿名性を満たすように変換する場合よりも、v=3、4(>k)として中間データを生成してから変換する場合の方が、開示量が多くなる。具体的には、「***」に対して「*** is started」としている分、開示量が多くなっている。このように、v≧kの閾値(v)により中間データを生成してから匿名化を行う場合は、閾値(v)により、匿名化後の開示量は変化することから、開示量を多くするための適切な閾値(v)の設定が必要となる。 As shown in FIG. 12, when v = 2 (= k) is generated and intermediate data (table) is generated and converted to satisfy k-anonymity based on the table, v = 3, 4 ( The amount of disclosure increases when intermediate data is generated after conversion as> k). Specifically, the amount of disclosure is increased by “*** is started” with respect to “***”. As described above, when the anonymization is performed after the intermediate data is generated with the threshold value (v) of v ≧ k, the disclosed amount after the anonymization is changed according to the threshold value (v), so the disclosed amount is increased. Therefore, it is necessary to set an appropriate threshold value (v).
これに対し、本実施形態では、図8に示すように、一般化階層木D22を用いることで、属性ごとに置換の度合いを調整できることから、閾値(v)の設定を行うことなく、開示量の多い匿名化を行うことができる。具体的には、匿名化処理部22を用いることで、「User=[GAP]」についてはv=2の単語系列として匿名化し、[[GAP]is started]についてはv=4の単語系列として匿名化している。
On the other hand, in the present embodiment, as shown in FIG. 8, the degree of replacement can be adjusted for each attribute by using the generalized hierarchical tree D22. Therefore, the disclosed amount can be set without setting the threshold value (v). Can be anonymized. Specifically, by using the
1…情報匿名化装置
10…入力部
20…制御部
30…出力部
21…生成部
22…匿名化処理部
23…ログデータ変換部
300…コンピュータ
D10、D30、D100、D300…ログデータ
D21…表データ
D22…一般化階層木
D23…匿名化済み表データ
k…閾値
DESCRIPTION OF
Claims (6)
複数のユーザのそれぞれに関するログデータから、k以上の数のユーザに共通の文字列を抽出し、
前記抽出した文字列を包括関係に基づいてグループ化し、各グループに属性を割り当て、
前記属性毎に、当該属性中の文字列を当該文字列を含む前記ログデータのユーザに対応付け、
各属性の文字列の組み合わせが同一となるユーザ数がk以上となるよう各属性の文字列を匿名化する
処理を実行することを特徴とする情報匿名化方法。 Computer
Extract character strings common to k or more users from log data for each of multiple users,
Group the extracted character strings based on a comprehensive relationship, assign attributes to each group,
For each attribute, a character string in the attribute is associated with a user of the log data including the character string,
An information anonymization method characterized by executing a process of anonymizing a character string of each attribute so that the number of users having the same combination of character strings of each attribute becomes k or more.
ことを特徴とする請求項1に記載の情報匿名化方法。 In the assigning process, in the attribute character string, a comprehensive character string attribute is a higher group attribute than a general character string attribute, and the higher group attribute is a root node, and a lower group attribute is The information anonymization method according to claim 1, further comprising: generating a hierarchical tree that includes
ことを特徴とする請求項2に記載の情報匿名化方法。 3. The information anonymization according to claim 2, wherein the associating process associates a character string in the attribute with a user of the log data including the character string in order from an attribute of an upper group in the hierarchical tree. Method.
ことを特徴とする請求項3に記載の情報匿名化方法。 The anonymization process is performed so that, in order from the attribute of the upper group in the hierarchical tree, the number of users having the same combination of character strings of the attributes associated with the users of the log data is equal to or greater than k. The information anonymization method according to claim 3, wherein the character string is anonymized.
複数のユーザのそれぞれに関するログデータから、k以上の数のユーザに共通の文字列を抽出し、
前記抽出した文字列を包括関係に基づいてグループ化し、各グループに属性を割り当て、
前記属性毎に、当該属性中の文字列を当該文字列を含む前記ログデータのユーザに対応付け、
各属性の文字列の組み合わせが同一となるユーザ数がk以上となるよう各属性の文字列を匿名化する
処理を実行させることを特徴とする情報匿名化プログラム。 On the computer,
Extract character strings common to k or more users from log data for each of multiple users,
Group the extracted character strings based on a comprehensive relationship, assign attributes to each group,
For each attribute, a character string in the attribute is associated with a user of the log data including the character string,
An information anonymization program for executing a process of anonymizing a character string of each attribute so that the number of users having the same combination of character strings of each attribute becomes k or more.
各属性の文字列の組み合わせが同一となるユーザ数がk以上となるよう各属性の文字列を匿名化する匿名化部と
を有する情報匿名化装置。 A character string common to k or more users is extracted from log data relating to each of a plurality of users, the extracted character strings are grouped based on a comprehensive relationship, an attribute is assigned to each group, A processing unit for associating a character string in the attribute with a user of the log data including the character string;
An anonymization device comprising: an anonymization unit that anonymizes a character string of each attribute so that the number of users having the same combination of character strings of each attribute is equal to or greater than k.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015006586A JP2016133872A (en) | 2015-01-16 | 2015-01-16 | Information anonymity method, information anonymity program and information anonymity device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015006586A JP2016133872A (en) | 2015-01-16 | 2015-01-16 | Information anonymity method, information anonymity program and information anonymity device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016133872A true JP2016133872A (en) | 2016-07-25 |
Family
ID=56438135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015006586A Pending JP2016133872A (en) | 2015-01-16 | 2015-01-16 | Information anonymity method, information anonymity program and information anonymity device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016133872A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101859636B1 (en) * | 2017-07-19 | 2018-05-21 | 주식회사 디지털즈 | Personal information de-identification system with security function and method thereof |
JP2019101809A (en) * | 2017-12-04 | 2019-06-24 | Kddi株式会社 | Anonymization device, anonymization method, and anonymization program |
KR20200121105A (en) * | 2019-04-15 | 2020-10-23 | 주식회사 파수 | Method for analysis on interim result data of de-identification procedure, apparatus for the same, computer program for the same, and recording medium storing computer program thereof |
-
2015
- 2015-01-16 JP JP2015006586A patent/JP2016133872A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101859636B1 (en) * | 2017-07-19 | 2018-05-21 | 주식회사 디지털즈 | Personal information de-identification system with security function and method thereof |
JP2019101809A (en) * | 2017-12-04 | 2019-06-24 | Kddi株式会社 | Anonymization device, anonymization method, and anonymization program |
KR20200121105A (en) * | 2019-04-15 | 2020-10-23 | 주식회사 파수 | Method for analysis on interim result data of de-identification procedure, apparatus for the same, computer program for the same, and recording medium storing computer program thereof |
KR102248993B1 (en) * | 2019-04-15 | 2021-05-07 | 주식회사 파수 | Method for analysis on interim result data of de-identification procedure, apparatus for the same, computer program for the same, and recording medium storing computer program thereof |
US11816245B2 (en) | 2019-04-15 | 2023-11-14 | Fasoo Co., Ltd. | Method for analysis on interim result data of de-identification procedure, apparatus for the same, computer program for the same, and recording medium storing computer program thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10817621B2 (en) | Anonymization processing device, anonymization processing method, and program | |
JP6712529B2 (en) | Computer implemented system and method for anonymizing encrypted data | |
JP6413769B2 (en) | Data concealment device, data concealment program, and data concealment method | |
US10958685B2 (en) | Generation of honeypot data | |
US11120143B2 (en) | Data analysis server, data analysis system, and data analysis method | |
US20180196861A1 (en) | Method for generating graph database of incident resources and apparatus thereof | |
JP2016133872A (en) | Information anonymity method, information anonymity program and information anonymity device | |
JPWO2014181541A1 (en) | Information processing apparatus and anonymity verification method for verifying anonymity | |
US20200065524A1 (en) | Time blocking noising for de-identification | |
Chen et al. | A framework for privacy-preserving healthcare data sharing | |
JP6584861B2 (en) | Privacy protection device, method and program | |
Vardalachakis et al. | ShinyAnonymizer: A Tool for Anonymizing Health Data. | |
Payne | Resolving the relationships of apid bees (Hymenoptera: Apidae) through a direct optimization sensitivity analysis of molecular, morphological, and behavioural characters | |
JP5942634B2 (en) | Concealment device, concealment program, and concealment method | |
JP2017215868A (en) | Anonymization processor, anonymization processing method, and program | |
CN111316191A (en) | Prediction engine for multi-level pattern discovery and visual analysis recommendation | |
JP6370236B2 (en) | Privacy protection device, method and program | |
Rouhani et al. | What do we know about the big data researches? A systematic review from 2011 to 2017 | |
TWI443539B (en) | Method for analyzing data utilizing weighted suffix tree | |
Ai et al. | How many genes are needed to resolve phylogenetic incongruence? | |
JP6549076B2 (en) | Anonymization table generation device, anonymization table generation method, program | |
KR102208082B1 (en) | Server device, information management system, information management method, and recording medium storing a computer program | |
Ashiwaju et al. | The Intersection of Artificial Intelligence and Big Data in Drug Discovery: A Review of Current Trends and Future Implications | |
JP6435815B2 (en) | Information concealment program, information concealment method and information concealment device | |
Johnson et al. | Lost in disclosure: On the inference of password composition policies |