JP7053987B2 - Data processing equipment, data processing methods and data processing programs - Google Patents
Data processing equipment, data processing methods and data processing programs Download PDFInfo
- Publication number
- JP7053987B2 JP7053987B2 JP2017255119A JP2017255119A JP7053987B2 JP 7053987 B2 JP7053987 B2 JP 7053987B2 JP 2017255119 A JP2017255119 A JP 2017255119A JP 2017255119 A JP2017255119 A JP 2017255119A JP 7053987 B2 JP7053987 B2 JP 7053987B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- records
- deletion
- record
- identifiable
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明はデータ加工装置、データ加工方法およびデータ加工プログラムに関する。 The present invention relates to a data processing apparatus, a data processing method and a data processing program.
ある組織が他の組織にとって価値の高いデータを収集し保有していることがある。その場合、ある組織は特定の他の組織に対して、外部に漏洩しないよう機密管理を行うことを条件にデータを提供することがある。例えば、様々な生物についてDNA(Deoxyribonucleic Acid)の塩基配列を示すDNAデータを収集している事業者は、DNAを分析する研究機関に対してDNAデータを提供することがある。 One organization may collect and hold data that is of high value to another. In that case, one organization may provide data to a specific other organization on the condition that it is confidentially controlled so as not to be leaked to the outside. For example, a business operator that collects DNA data showing a base sequence of DNA (Deoxyribonucleic Acid) for various organisms may provide DNA data to a research institute that analyzes DNA.
ある組織は複数の他の組織に対して同様のデータを提供することがある。一方、何れかの提供先の組織においてデータの機密管理が適切に行われなかった結果、データが契約に反して外部に漏洩してしまう可能性がある。提供元の組織は、インターネットなど提供先の組織以外の情報源からデータを入手したことにより、漏洩の事実に気付くことがある。その場合、提供元の組織は、複数の提供先の組織のうち何れの組織からデータが漏洩したかを特定できることが好ましい。データを漏洩させた組織自身も漏洩の事実に気付いていないことがあるため、漏洩元を特定することは再発防止のために有用である。 An organization may provide similar data to multiple other organizations. On the other hand, as a result of improper data confidentiality management in any of the organizations to which the data is provided, there is a possibility that the data will be leaked to the outside in violation of the contract. The provider's organization may become aware of the fact of the leak by obtaining data from sources other than the provider's organization, such as the Internet. In that case, it is preferable that the providing organization can identify from which of the plurality of providing organizations the data was leaked. Identifying the source of the leak is useful for preventing recurrence, as the organization that leaked the data may not be aware of the fact of the leak.
しかし、同一のデータをそのまま複数の他の組織に対して提供してしまうと、漏洩したデータから漏洩元を特定することが困難となる。そこで、データ提供時に提供先の組織に応じて異なる態様でデータを加工する方法が提案されている。 However, if the same data is provided to a plurality of other organizations as it is, it becomes difficult to identify the leak source from the leaked data. Therefore, there has been proposed a method of processing data in a different manner depending on the organization to which the data is provided when the data is provided.
例えば、マルチキャスト配信されたデータの漏洩元を電子透かしを用いて特定できるようにする送信装置が提案されている。提案の送信装置は、オリジナルデータをコピーして異なる電子透かしを付加した2通りのコピーデータを生成し、各コピーデータを時系列に複数のデータ区間に分割する。送信装置は、複数のデータ区間それぞれについて2通りのコピーデータの何れか一方を選択することで、異なる受信装置に対して異なる電子透かしの時系列パターンを割り当てるようにする。 For example, a transmission device has been proposed that enables the leakage source of multicast-distributed data to be identified by using a digital watermark. The proposed transmission device copies the original data to generate two types of copy data with different digital watermarks, and divides each copy data into a plurality of data sections in chronological order. The transmitting device selects one of the two types of copy data for each of the plurality of data sections, thereby assigning different digital watermarking time-series patterns to different receiving devices.
また、身長や体重などの数値型カラムを含む表形式データの漏洩元を特定できるようにする情報処理装置が提案されている。提案の情報処理装置は、表形式データの提供時に、数値型カラムに記載されている複数の数値に対して和がゼロになるようなノイズを付加する。情報処理装置は、提供先の識別子からノイズを生成することで、異なる複数の提供先と異なる複数のノイズパターンとを関連付けている。 In addition, an information processing device has been proposed that makes it possible to identify the source of leakage of tabular data including numerical columns such as height and weight. The proposed information processing apparatus adds noise such that the sum becomes zero for a plurality of numerical values described in a numerical value column when tabular data is provided. The information processing apparatus associates a plurality of different providers with a plurality of different noise patterns by generating noise from the identifier of the provider.
また、文字情報に対して不正使用発見のための情報を埋め込む文字情報編集装置が提案されている。提案の文字情報編集装置は、形状が類似しており文字コードが異なる同形文字ペアを示す文字辞書を保持する。文字情報編集装置は、文字情報の中から同形文字ペアの一方の文字を検索し、検索された文字を同形文字ペアの他方の文字に置換する。 Further, a character information editing device for embedding information for detecting unauthorized use in character information has been proposed. The proposed character information editing device holds a character dictionary showing isomorphic character pairs having similar shapes and different character codes. The character information editing device searches for one character of the isomorphic character pair from the character information, and replaces the searched character with the other character of the isomorphic character pair.
また、文書画像に不可視な制御情報を埋め込む文書処理装置が提案されている。提案の文書処理装置は、制御情報を二進数のビット列で表現し、1ビットを隣接する2つの文字の間の空白に割り当てる。文書処理装置は、ビットの値が「0」であるか「1」であるかによって空白の長さが変わるように文字間隔を調整する。 Further, a document processing device for embedding invisible control information in a document image has been proposed. The proposed document processing apparatus expresses control information as a binary bit string and allocates one bit to a space between two adjacent characters. The document processing device adjusts the character spacing so that the length of the blank changes depending on whether the bit value is "0" or "1".
しかし、提供されるデータにノイズが付加されると、データに含まれる値の真正性が保証されないことになり、データの特性や使用方法によっては提供先にとってのデータの価値が大きく低下してしまうことがある。例えば、DNAデータでは一部の塩基配列が改変されると、DNAデータ全体の価値が大きく低下するおそれがある。 However, if noise is added to the provided data, the authenticity of the values contained in the data will not be guaranteed, and the value of the data to the provider will be greatly reduced depending on the characteristics and usage of the data. Sometimes. For example, in DNA data, if a part of the base sequence is modified, the value of the entire DNA data may be significantly reduced.
1つの側面では、本発明は、漏洩対策におけるデータの有用性への影響を低減するデータ加工装置、データ加工方法およびデータ加工プログラムを提供することを目的とする。 In one aspect, it is an object of the present invention to provide a data processing apparatus, a data processing method, and a data processing program that reduce the influence on the usefulness of data in measures against leakage.
1つの態様では、記憶部と処理部とを有するデータ加工装置が提供される。処理部は、複数のレコードを含むデータの中から削除されるレコードを示す複数の削除パターンを生成し、複数の削除パターンそれぞれに基づいてデータに含まれるレコードを削除することにより、データの複数のサブセットを生成する。記憶部は、複数のサブセットそれぞれと当該サブセットの提供先を示す提供先識別子とを対応付けた対応情報を記憶する。 In one aspect, a data processing apparatus having a storage unit and a processing unit is provided. The processing unit generates a plurality of deletion patterns indicating records to be deleted from the data containing a plurality of records, and deletes the records contained in the data based on each of the multiple deletion patterns, thereby causing a plurality of data. Generate a subset. The storage unit stores correspondence information in which each of the plurality of subsets is associated with the destination identifier indicating the destination of the subset.
また、1つの態様では、コンピュータが実行するデータ加工方法が提供される。また、1つの態様では、コンピュータに実行させるデータ加工プログラムが提供される。 Also, in one aspect, a computer-executed data processing method is provided. Further, in one embodiment, a data processing program to be executed by a computer is provided.
1つの側面では、漏洩対策におけるデータの有用性への影響が低減される。 On one side, the impact on the usefulness of the data in anti-leakage measures is reduced.
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
The first embodiment will be described.
図1は、第1の実施の形態のデータ加工装置を説明する図である。
第1の実施の形態のデータ加工装置10は、あるデータから複数の提供先に提供する複数のサブセットを生成する。また、データ加工装置10は、加工されたデータが提供された後、データの漏洩が発見された場合に当該複数の提供先の中から漏洩元を推定する。ただし、データの加工と漏洩元の推定を異なる装置で行うこともできる。データ加工装置10は、クライアントコンピュータでもよいしサーバコンピュータでもよい。
FIG. 1 is a diagram illustrating a data processing apparatus according to the first embodiment.
The
データ加工装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性の半導体メモリでもよいし、HDD(Hard Disk Drive)などの不揮発性のストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリに記憶されたプログラムを実行する。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
The
記憶部11は、対応情報13を記憶する。対応情報13は、データの複数のサブセットと、提供先識別子14a,14b,14cなどの複数の提供先識別子とを対応付ける。データの複数のサブセットは、例えば、削除パターン15a,15b,15cなどの複数の削除パターンによって特定される。各削除パターンは、複数のレコードを含むデータの中から削除されるレコードを示す。削除されるレコードは、データの中の一部のレコードであって、例えば、データの中で各レコードを識別するためのレコード識別子を用いて特定される。各提供先識別子は、データ提供先の個人または組織を示す。
The
処理部12は、データの中から削除されるレコードを決定して、異なる複数の削除パターンを生成する。処理部12は、複数の削除パターンそれぞれに基づいてデータに含まれる一部のレコードを削除することにより、データの複数のサブセットを生成する。
The
ある提供先識別子が示す提供先には、当該提供先識別子に対応付けられた削除パターンに基づいてデータから生成されるサブセットが提供される。提供されるサブセットには、削除パターンが削除対象として指定するレコードが含まれていない。異なる提供先識別子には異なる削除パターンが対応付けられていることが好ましい。ただし、異なる削除パターンは、削除対象のレコードの集合が完全に一致していなければよく、一部の削除対象のレコードが重複していてもよい。 The destination indicated by a destination identifier is provided with a subset generated from the data based on the deletion pattern associated with the destination identifier. The subset provided does not contain the records that the delete pattern specifies for deletion. It is preferable that different destination identifiers are associated with different deletion patterns. However, different deletion patterns may be such that the set of records to be deleted does not completely match, and some records to be deleted may be duplicated.
例えば、提供先識別子14aに対して削除パターン15aが対応付けられる。削除パターン15aは、データの中のレコード#4,#5,#12を削除対象に指定している。また、提供先識別子14bに対して削除パターン15bが対応付けられる。削除パターン15bは、データの中のレコード#3,#7,#10を削除対象に指定している。また、提供先識別子14cに対して削除パターン15cが対応付けられる。削除パターン15cは、データの中のレコード#2,#8,#9を削除対象に指定している。
For example, the
処理部12は、漏洩データ16を取得する。漏洩データ16は、例えば、データ加工装置10の外部から入力されて記憶部11に記憶される。漏洩データ16は、元のデータに含まれる複数のレコードのうち一部のレコードを含む。漏洩データ16は、複数の提供先のうち何れか1つの提供先から漏洩したことが疑われるレコードの集合であり、当該1つの提供先に提供されたサブセットの全体または一部分である。漏洩データ16は、例えば、インターネットや名簿屋など提供先とは異なる情報源から入手される。
The
漏洩データ16を取得すると、処理部12は、対応情報13が示す複数の削除パターンの中から、漏洩データ16に含まれる何れのレコードも削除対象に指定していない削除パターンを検索する。削除対象に指定されたレコードは提供されていないため漏洩し得ないからである。処理部12は、検索された削除パターンに対応付けられた提供先識別子を対応情報13から抽出し、抽出した提供先識別子が示す提供先を漏洩データ16の漏洩元であると推定する。処理部12は、推定した漏洩元を示す漏洩元情報17を生成して出力する。漏洩元情報17は、例えば、抽出された提供先識別子を含む。
When the leaked
例えば、漏洩データ16にレコード#2,#4,#5,#8が含まれている。対応情報13に登録された削除パターン15aはレコード#4,#5を削除対象に指定している。よって、削除パターン15aに対応付けられた提供先識別子14aの提供先は、漏洩データ16を漏洩し得ないため漏洩元の候補から除外される。また、削除パターン15cはレコード#2,#8を削除対象に指定している。よって、削除パターン15cに対応付けられた提供先識別子14cの提供先は、漏洩データ16を漏洩し得ないため漏洩元の候補から除外される。一方、削除パターン15bはレコード#2,#4,#5,#8の何れも削除対象に指定していない。よって、削除パターン15bに対応付けられた提供先識別子14bの提供先は、漏洩データ16を漏洩し得るため漏洩元と推定される。
For example, the leaked
ただし、漏洩元の推定は、データ加工装置10が有する処理部12以外のユニットが行ってもよいし、データ加工装置10以外の情報処理装置が行ってもよい。
第1の実施の形態のデータ加工装置10によれば、複数の提供先にデータが提供される場合に、複数のサブセットと複数の提供先識別子との対応関係を示す対応情報13が生成される。漏洩データ16が取得されると、対応情報13に基づいて、漏洩データ16に含まれる何れのレコードも削除対象に指定されていない提供先識別子が検索され、検索された提供先識別子が漏洩データ16の漏洩元を示す情報として出力される。
However, the estimation of the leakage source may be performed by a unit other than the
According to the
これにより、データ提供先が複数存在する場合であっても、漏洩データ16から漏洩元を推定することが可能となる。よって、漏洩元に再発防止を要求するなどデータの保護を強化することが可能となる。また、レコードの値にノイズを付加する方法と比べて、レコードの真正性を確保することができ、データの有用性への影響を低減することができる。
This makes it possible to estimate the leakage source from the
[第2の実施の形態]
次に、第2の実施の形態を説明する。
第2の実施の形態の情報処理装置100は、組織が保有する元データを加工して、複数の他の組織それぞれに対して提供する提供データを生成する。また、情報処理装置100は、漏洩データを取得した場合、漏洩データを分析して漏洩元の組織を推定する。第2の実施の形態の説明では、元データとして塩基配列のレコードを複数含むDNAデータを想定する。提供元の組織としては大量のDNAデータを収集する事業者を想定し、提供先の組織としてはDNAデータを利用した研究開発を行う研究機関などを想定する。DNAデータは、外部に漏洩させないことを条件に有償または無償で提供される。
[Second Embodiment]
Next, a second embodiment will be described.
The
図2は、第2の実施の形態の情報処理装置のハードウェア例を示す図である。
情報処理装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。情報処理装置100は、第1の実施の形態のデータ加工装置10に対応する。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。なお、処理部12は処理に応じて、ネットワーク等で互いに接続された複数の情報処理装置のCPUで実現されてもよい。
FIG. 2 is a diagram showing a hardware example of the information processing apparatus according to the second embodiment.
The
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよく、情報処理装置100は複数のプロセッサを有してもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
The
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、情報処理装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
The
HDD103は、OS(Operating System)やミドルウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
The
画像信号処理部104は、CPU101からの命令に従って、情報処理装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
The image
入力信号処理部105は、情報処理装置100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウス、タッチパネル、タッチパッド、トラックボール、キーボード、リモートコントローラ、ボタンスイッチなど、任意の種類の入力デバイスを用いることができる。また、情報処理装置100に、複数の種類の入力デバイスが接続されていてもよい。
The input
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
The
媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
The
通信インタフェース107は、ネットワーク114を介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
The
図3は、情報処理装置の機能例を示すブロック図である。
情報処理装置100は、元データ記憶部121、パラメータ記憶部122、提供データ記憶部123、対応表記憶部124および漏洩データ記憶部125を有する。これらの記憶部は、例えば、RAM102またはHDD103の記憶領域を用いて実装される。また、情報処理装置100は、削除レコード数算出部131、識別可能レコード抽出部132、グルーピング部133、削除パターン生成部134、レコード削除部135、レコード度数低減部136および漏洩元推定部137を有する。これらの処理部は、例えば、CPU101が実行するプログラムを用いて実装される。
FIG. 3 is a block diagram showing a functional example of the information processing apparatus.
The
元データ記憶部121は、DNAの塩基配列を示すレコードを複数含む元データを記憶する。DNAの塩基配列は、A(アデニン)、G(グアニン)、C(シトシン)、T(チミン)という4種類の塩基を含む配列である。元データにおける複数の塩基配列の長さは同一でなくてもよい。元データでは各塩基配列が上記の4種類の文字を用いて表現されていてもよいし、対応する数値や他の記号を用いて表現されていてもよい。
The original
パラメータ記憶部122は、元データから提供データを生成するときに使用されるパラメータ値を記憶する。パラメータ値は、例えば、ユーザによって情報処理装置100に対して入力される。情報処理装置100は、元データから一部のレコードを削除することで元データのサブセットを提供データとして生成する。パラメータ値は、削除レコード数を決定するために使用される。パラメータ値は、想定される提供先の最大数である最大提供先数と、漏洩データから漏洩元を一意に特定できる確率を示す推定能力とを含む。最大提供先数が大きいほど削除レコード数を大きくすることになる。また、ユーザが希望する推定能力が高いほど削除レコード数を大きくすることになる。ただし、削除レコード数をパラメータ値としてユーザが直接入力することも可能である。
The
提供データ記憶部123は、元データから一部のレコードを削除することで生成された提供データを記憶する。提供先によって提供データは異なる。提供データ記憶部123は、複数の提供先に対応する複数セットの提供データを記憶し得る。提供データ記憶部123に記憶された提供データは、ネットワーク114を介して提供先の情報処理装置に対して送信されてもよい。また、提供データ記憶部123に記憶された提供データは、可搬記録媒体に書き込まれて提供先に対して送付されてもよい。
The provision
対応表記憶部124は、提供先を識別する提供先識別子と元データから削除したレコードを示す削除パターンとを対応付けた対応表を記憶する。対応表は提供データの生成時に作成されて保持され、漏洩元の推定時に参照される。
The correspondence
漏洩データ記憶部125は、提供先の組織以外の情報源から入手された漏洩データを記憶する。漏洩データは、例えば、ユーザによって入手されて情報処理装置100に入力される。漏洩データは、インターネットなどのネットワーク上に公開されたサーバ装置から入手されることがある。また、漏洩データは、いわゆる名簿屋などの情報提供業者から入手されることがある。漏洩データは、複数の提供先のうちの何れか1つから漏洩したものであり、当該提供先に対応する提供データの一部または全部に相当する。提供データは、提供先の内部の従業員による不正行為によって漏洩することがある。また、提供データは、提供先の外部からのセキュリティ攻撃によって漏洩することがある。漏洩データに含まれるレコードが多い方が、漏洩元の推定が容易となる。
The leaked
削除レコード数算出部131は、パラメータ記憶部122に記憶されたパラメータ値を用いて削除レコード数を算出する。例えば、提供データの中から任意の数のレコードがランダムに漏洩すると仮定する。すなわち、提供データから抽出可能なサブセットの全てのパターンが、等確率で漏洩対象となるものと仮定する。すると、削除レコード数r、最大提供先数pおよび推定能力cの間に、近似的に次の不等式が成立すると考えることができる。r≧log2((p-1)/(1-c))。削除レコード数算出部131は、削除レコード数rとして、この不等式を満たす最小の整数を採用すればよい。削除レコード数算出部131は、算出した削除レコード数をグルーピング部133および削除パターン生成部134に通知する。
The deleted record
識別可能レコード抽出部132は、元データ記憶部121に記憶された元データに含まれる複数のレコードを比較し、同じ塩基配列の出現数(度数)をカウントして度数分布を生成する。識別可能レコード抽出部132は、度数が1である塩基配列をもつレコード、すなわち、元データの中で1回しか出現しない塩基配列をもつレコードを識別可能レコードとして取り扱う。識別可能レコードは、塩基配列自体によって一意に識別できる。一方、識別可能レコード抽出部132は、識別可能レコード以外のレコード、すなわち、度数が1より大きい塩基配列をもつレコードを識別不能レコードとして取り扱う。
The identifiable
識別可能レコード抽出部132は、識別可能レコードをグルーピング部133に通知する。また、識別可能レコード抽出部132は、生成した度数分布をレコード削除部135に通知する。なお、DNAデータに含まれる各塩基配列は長いことが多く、完全に同一の塩基配列をもつレコードが出現する確率は小さい。よって、元データに含まれるレコードの多くは識別可能レコードであり、識別不能レコードは少数であると期待される。
The identifiable
グルーピング部133は、識別可能レコード抽出部132が元データから抽出した識別可能レコードを複数のグループに分類する。グルーピングの基準は予めグルーピング部133に設定されていてもよいし、ユーザが情報処理装置100に適宜入力してもよい。
The
グルーピングでは、提供先の組織が興味をもつ可能性のある識別可能レコードの集合を1つのグループとすることが好ましい。すなわち、提供先の組織は、提供データに含まれる全てのレコードに興味があるとは限らず、提供データから一部のレコードを抽出して研究開発などに使用することがある。抽出しなかったレコードは提供先の組織において破棄されることがあり、抽出したレコードに比べて漏洩する可能性が低い。そこで、グルーピング部133は、特定のグループのみからレコードが漏洩した場合でも漏洩元を推定できるように、識別可能レコードを提供先の興味を基準にしてグルーピングする。
In grouping, it is preferable to group a set of identifiable records that may be of interest to the organization to which they are provided. That is, the organization to which the information is provided may not be interested in all the records contained in the data provided, and may extract some records from the data provided and use them for research and development. Records that have not been extracted may be discarded by the organization to which they are provided, and are less likely to be leaked than the extracted records. Therefore, the
例えば、ある種の研究開発では塩基配列の先頭の塩基が重要な意味をもつため、塩基配列の先頭が特定の塩基であるレコードのみ使用される可能性があると仮定する。この場合、グルーピング部133は、識別可能レコードを塩基配列の先頭の塩基に基づいて最大4つのグループに分類することが考えられる。すなわち、塩基配列の先頭がAのグループ、Gのグループ、CのグループおよびTのグループが生成され得る。このようなレコードの使用方法に関する知見は、例えば、ユーザによって入力される。
For example, suppose that in some research and development, the base at the beginning of the base sequence is important, so only records with a specific base at the beginning of the base sequence may be used. In this case, the
グルーピング部133は、グルーピング結果と削除レコード数算出部131から通知された削除レコード数とに基づいて、複数の識別可能レコードをソートする。識別可能レコードのソートでは、できる限り同じグループに属する識別可能レコードが連続して出現しないように並べ替えられる。これにより、ある提供先に対応する提供データを生成する際に、できる限り異なるグループに属する識別可能レコードが削除対象レコードとして選択されるようになる。グルーピング部133は、ソートした識別可能レコードのリストを削除パターン生成部134に通知する。
The
削除パターン生成部134は、提供先の組織を識別する提供先識別子を取得する。提供先識別子は、例えば、ユーザが情報処理装置100に入力する。削除パターン生成部134は、グルーピング部133から通知された識別可能レコードのリストの中から、削除レコード数算出部131から通知された削除レコード数だけ識別可能レコードを選択する。例えば、削除パターン生成部134は、識別可能レコードのリストの先頭から順に、削除レコード数だけ識別可能レコードを選択する。削除パターン生成部134は、選択した識別可能レコードを削除対象レコードとして決定し、削除対象レコードの集合を示す削除パターンを生成する。削除パターン生成部134は、提供先識別子と削除パターンとを対応付けて、対応表記憶部124に記憶された対応表に登録する。また、削除パターン生成部134は、生成した削除パターンをレコード削除部135に通知する。
The deletion
レコード削除部135は、塩基配列と度数を対応付けた度数分布を識別可能レコード抽出部132から取得し、削除パターン生成部134から通知された削除パターンが示す塩基配列を、取得した度数分布から削除して修正度数分布を生成する。レコード削除部135は、修正度数分布をレコード度数低減部136に通知する。
The
レコード度数低減部136は、レコード削除部135から修正度数分布を取得し、修正度数分布の中から度数が1より大きい塩基配列、すなわち、識別不能レコードの塩基配列を検出する。レコード度数低減部136は、検出した塩基配列の度数を、識別可能レコードの削除割合と整合するように低減させる。識別可能レコードのみが削除対象となり識別不能レコードが削除対象にならないとすると、提供データに含まれる識別不能レコードの割合が元データよりも大きくなってしまうためである。識別不能レコードに相当する塩基配列の度数を低減させることで、識別可能レコードの削除の影響を軽減でき、提供データがもつ特性を元データの特性に近付けることができる。
The record
例えば、元データに含まれる識別可能レコードの数をn、削除レコード数をr、ある塩基配列の度数をnt(ntは1より大きい整数)とすると、低減度数rtが次のように算出される。rt=r/n×nt。ただし、この等式の右辺が割り切れない場合、四捨五入や切り捨てや切り上げなどにより低減度数rtを整数にする。レコード度数低減部136は、修正度数分布における度数ntをnt-rtに変更する。レコード度数低減部136は、度数調整後の修正度数分布を提供データとして提供データ記憶部123に格納する。このとき、修正度数分布にレコードIDが含まれている場合はレコードIDが削除される。
For example, assuming that the number of identifiable records contained in the original data is n, the number of deleted records is r, and the frequency of a certain base sequence is nt ( nt is an integer larger than 1), the reduction frequency rt is as follows. It is calculated. rt = r / n × n t . However, if the right-hand side of this equation is not divisible, the reduction frequency rt is made an integer by rounding, rounding down, or rounding up. The record
なお、削除レコード数算出部131、識別可能レコード抽出部132およびグルーピング部133の処理は、1つの元データに対して1回実行すればよい。一方、削除パターン生成部134、レコード削除部135およびレコード度数低減部136の処理は、1つの提供先識別子に対して1回実行される。3つの提供先が存在する場合、削除パターン生成部134、レコード削除部135およびレコード度数低減部136の処理が3回実行され、3つの提供先に対応する3セットの提供データが生成される。
The processes of the deleted record
漏洩元推定部137は、漏洩データ記憶部125に記憶された漏洩データを分析して漏洩元を推定する。漏洩元推定部137は、元データ記憶部121に記憶された元データまたは識別可能レコード抽出部132が生成した度数分布を参照して、漏洩データに含まれる識別可能レコードを特定する。漏洩元推定部137は、対応表記憶部124に記憶された対応表に含まれる削除パターンと、漏洩データに出現する識別可能レコードとを照合して、漏洩元の候補を絞り込む。提供データに含まれていなかった識別可能レコードは当該提供データを受け取った組織からは漏洩し得ない。このため、漏洩データに出現する識別可能レコードが削除パターンに含まれている提供先は漏洩元から除外することができる。
The leak
漏洩元推定部137は、推定した漏洩元を示す情報を出力する。例えば、漏洩元推定部137は、漏洩元と推定された提供先を示す提供先識別子を出力する。漏洩元推定部137は、漏洩元を示す情報をディスプレイ111に表示してもよいし、漏洩元を示す情報をネットワーク114を介して他の情報処理装置に送信してもよい。なお、漏洩元を1つに絞り込むことができなかった場合、漏洩元推定部137は、推定失敗を示すメッセージを出力してもよいし、漏洩元の候補を示す情報を出力してもよい。
The leak
なお、図3では、漏洩元推定部137は情報処理装置100に組み込まれているが、情報処理装置100から切り離し、例えば、漏洩元を推定する装置として他の情報処理装置に組み込まれ、ネットワーク経由で情報処理装置100に接続されてもよい。
In FIG. 3, the leak
図4は、元データテーブルの例を示す図である。
元データテーブル141は、元データ記憶部121に記憶される。元データテーブル141は、レコードIDおよび塩基配列の項目を含む。レコードIDの項目には、レコードを識別する識別番号が登録される。塩基配列の項目には、塩基配列の各塩基をA,G,C,Tまたはこれに対応する数字や記号を用いて表した文字列が登録される。
FIG. 4 is a diagram showing an example of the original data table.
The original data table 141 is stored in the original
ここでは説明を簡単にするため、全ての塩基配列を長さ3の配列としている。ただし、塩基配列は長さがより大きくてもよく、長さが統一されていなくてもよい。また、ここではレコードIDとして連番の識別番号を使用している。ただし、レコードIDとして塩基配列のハッシュ値など他の数値や記号を使用してもよい。また、ここでは元データテーブル141の各レコードがレコードIDを含んでいる。ただし、レコードIDと塩基配列とが対応付けられていれば、各レコードが明示的にレコードIDを含まなくてもよい。例えば、元データテーブル141の先頭からのオフセットなど、各レコードの位置から当該レコードのレコードIDを特定できるようにしてもよい。
Here, for the sake of simplicity, all the base sequences are sequences of
また、第2の実施の形態では元データとしてDNAデータを使用しているが、他の種類の元データを情報処理装置100が扱うことも可能である。元データとしては、公開されることが好ましくない秘密情報が使用され得る。例えば、年齢、性別、住所などの複数の個人情報項目を含み、1つのレコードが1人分の個人情報を表している個人情報セットが挙げられる。また、経度、緯度、時刻などの複数の測定情報項目を含み、1つのレコードが人または物の一時点の位置を表している位置情報セットが挙げられる。
Further, although the DNA data is used as the original data in the second embodiment, the
元データは、好ましくは、対象ドメインを構成する全ての人または物に関する情報を網羅的に含んでいる全数データではなく、一部の人または物に関する情報をサンプルとして含んでいるサンプルデータである。元データがサンプルデータであれば、元データから少数のレコードを削除しても提供データの価値は低下しないと期待される。 The original data is preferably sample data that includes information about some people or things as a sample, rather than 100% data that comprehensively contains information about all people or things that make up the target domain. If the original data is sample data, it is expected that the value of the provided data will not decrease even if a small number of records are deleted from the original data.
図5は、パラメータテーブルの例を示す図である。
パラメータテーブル142は、パラメータ記憶部122に記憶される。パラメータテーブル142は、パラメータ名とパラメータ値とを対応付けて記憶する。パラメータには、最大提供先数p、推定能力cおよび削除レコード数rが含まれる。
FIG. 5 is a diagram showing an example of a parameter table.
The parameter table 142 is stored in the
最大提供先数pと推定能力cはユーザによって入力される。削除レコード数rは最大提供先数pと推定能力cから算出され、r≧log2((p-1)/(1-c))を満たす最小の整数である。ただし、ユーザが削除レコード数rを直接入力してもよい。一例として、最大提供先数p=3、推定能力c=0.75がユーザから入力される。これは、提供先の組織が最大で3つ存在すること、および、75%の確率で漏洩データから漏洩元を特定できる推定能力が要求されることを示している。この場合、最大提供先数p=3のもとで推定能力c=0.75を達成するために削除レコード数r=3が決定される。 The maximum number of destinations p and the estimation capacity c are input by the user. The number of deleted records r is calculated from the maximum number of destinations p and the estimation capacity c, and is the smallest integer satisfying r ≧ log 2 ((p-1) / (1-c)). However, the user may directly input the number of deleted records r. As an example, the maximum number of destinations p = 3 and the estimation capacity c = 0.75 are input by the user. This indicates that there are up to three organizations to which the data is provided, and that there is a 75% probability that the leak source can be identified from the leaked data. In this case, the number of deleted records r = 3 is determined in order to achieve the estimation capacity c = 0.75 under the maximum number of providers p = 3.
図6は、度数分布テーブルの例を示す図である。
度数分布テーブル143は、識別可能レコード抽出部132によって元データテーブル141から生成される。度数分布テーブル143は、塩基配列、度数およびレコードIDの項目を含む。塩基配列の項目には、塩基配列を示す文字列が登録される。度数の項目には、元データテーブル141に当該塩基配列が出現した回数が登録される。レコードIDの項目には、当該塩基配列を含むレコードのレコードIDが登録される。ただし、度数が1である塩基配列を含む識別可能レコードのレコードIDを登録すればよく、度数が1より大きい塩基配列を含む識別不能レコードのレコードIDは省略してもよい。
FIG. 6 is a diagram showing an example of a frequency distribution table.
The frequency distribution table 143 is generated from the original data table 141 by the identifiable
例えば、元データテーブル141に含まれるレコード#1~#12のうち、レコード#1,#6,#11はレコードID以外の値が同一である識別不能レコードである。レコード#1,#6,#11は塩基配列「AAA」を含むため、塩基配列「AAA」の度数は3である。一方、レコード#1~#12のうち、レコード#2~#5,#7~#10,#12はレコードID以外の値も同一のものが存在しない識別可能レコードである。これら9個のレコードそれぞれに含まれる塩基配列の度数は1である。よって、度数分布テーブル143には、度数3の塩基配列1個と、度数1の塩基配列9個が登録される。
For example, among the
図7は、グループテーブルの例を示す図である。
グループテーブル144は、グルーピング部133によって度数分布テーブル143から生成される。グループテーブル144は、グループID、レコードIDおよび塩基配列の項目を含む。グループIDの項目には、グループを識別する識別子が登録される。レコードIDの項目には、識別可能レコードのレコードIDが登録される。塩基配列の項目には、識別可能レコードに含まれる塩基配列を示す文字列が登録される。
FIG. 7 is a diagram showing an example of a group table.
The group table 144 is generated from the frequency distribution table 143 by the
グルーピングでは、度数分布テーブル143から度数が1である識別可能レコードのみ抽出され、識別可能レコードが複数のグループに分類される。1つのグループは1以上の識別可能レコードを含む。よって、グループテーブル144では、1つのグループIDに対して1以上のレコードIDが対応付けられる。 In the grouping, only the identifiable records having a frequency of 1 are extracted from the frequency distribution table 143, and the identifiable records are classified into a plurality of groups. One group contains one or more identifiable records. Therefore, in the group table 144, one or more record IDs are associated with one group ID.
ここでは、塩基配列の先頭の塩基に基づいて識別可能レコードを分類するよう、グルーピング部133が設定されていると仮定する。グループGCは、先頭の塩基が「C」である塩基配列を示すグループであり、レコード#2,#4,#8,#10の4個の識別可能レコードを含む。グループGGは、先頭の塩基が「G」である塩基配列を示すグループであり、レコード#3,#9,#12の3個の識別可能レコードを含む。グループGTは、先頭の塩基が「T」である塩基配列を示すグループであり、レコード#5,#7の2個の識別可能レコードを含む。ここでは、先頭の塩基が「A」である塩基配列を含む識別可能レコードが存在しないため、「A」に対応するグループは生成されていない。
Here, it is assumed that the
なお、グルーピング部133は、元データの種類に応じて様々なグルーピング基準を採用することが可能である。ユーザの知見に基づいて、適切なグルーピング基準が選択される。例えば、個人情報セットの識別可能レコードは、10代、20代、30代といった年齢層で分類することもできるし、住所に含まれる行政区画名で分類することもできる。また、例えば、位置情報セットの識別可能レコードは、10時、11時、12時といった時間帯で分類することもできるし、経度および緯度の範囲で分類することもできる。
The
図8は、識別可能データテーブルの例を示す図である。
識別可能データテーブル145は、グルーピング部133によってグループテーブル144から生成される。識別可能データテーブル145は、識別可能レコードについてレコードIDおよび塩基配列を含む。識別可能データテーブル145では、グループテーブル144に基づいて複数の識別可能レコードがソートされている。できる限り同じグループに属する識別可能レコードが連続しないように並べられている。
FIG. 8 is a diagram showing an example of an identifiable data table.
The identifiable data table 145 is generated from the group table 144 by the
例えば、識別可能データテーブル145の先頭から順に、グループGCのレコード#4、グループGGのレコード#12、グループGTのレコード#5、グループGCのレコード#10、グループGGのレコード#3、グループGTのレコード#7と並んでいる。これは、グループGC,GG,GTから1つずつ順番に(巡回的に)識別可能レコードを選択したものである。これに続いて、グループGCのレコード#8、グループGGのレコード#9、グループGCのレコード#2と並んでいる。
For example, from the beginning of the identifiable data table 145, the
図9は、対応表の例を示す図である。
対応表146は、対応表記憶部124に記憶される。対応表146は、提供先識別子および削除パターンの項目を含む。提供先識別子の項目には、ユーザから入力された識別子が登録される。提供先識別子として提供先の組織の名称を用いてもよい。削除パターンの項目には、削除する識別可能レコードのレコードIDが列挙される。
FIG. 9 is a diagram showing an example of a correspondence table.
The correspondence table 146 is stored in the correspondence
削除パターンは、識別可能データテーブル145の上から順に削除レコード数rだけ識別可能レコードを抽出することで生成できる。例えば、最初に提供先識別子Xが入力されると、識別可能データテーブル145の上から順にレコード#4,#12,#5が選択され、削除パターン「4,5,12」が生成される。次に、提供先識別子Yが入力されると、識別可能データテーブル145の上から順にレコード#10,#3,#7が選択され、削除パターン「3,7,10」が生成される。次に、提供先識別子Zが入力されると、識別可能データテーブル145の上から順にレコード#8,#9,#2が選択され、削除パターン「2,8,9」が生成される。
The deletion pattern can be generated by extracting identifiable records by the number of deleted records r in order from the top of the identifiable data table 145. For example, when the destination identifier X is first input,
なお、第2の実施の形態では異なる提供先の間で削除対象レコードが重複しないように削除パターンを生成している。ただし、異なる提供先の間で削除パターンが完全に一致しなければよく、一部の削除対象レコードが重複してもよい。また、識別可能レコード数nが十分に大きい場合、すなわち、識別可能レコード数nが削除レコード数rと最大提供先数pの積よりも十分に大きい場合、簡易的な方法で削除対象レコードを選択することもできる。例えば、n個の識別可能レコードの中からr個をランダムに選択する方法によっても、異なる提供先の間で削除対象レコードが重複しない可能性が高い。 In the second embodiment, the deletion pattern is generated so that the deletion target records do not overlap between different providers. However, it is sufficient that the deletion patterns do not exactly match between different providers, and some records to be deleted may be duplicated. Further, when the number of identifiable records n is sufficiently large, that is, when the number of identifiable records n is sufficiently larger than the product of the number of deleted records r and the maximum number of destinations p, the record to be deleted is selected by a simple method. You can also do it. For example, even by a method of randomly selecting r records from n identifiable records, there is a high possibility that the records to be deleted do not overlap between different providers.
図10は、修正度数分布テーブルの例を示す図である。
修正度数分布テーブル147は、レコード削除部135によって度数分布テーブル143と対応表146から生成される。修正度数分布テーブル147は、度数分布テーブル143をコピーして幾つかの識別可能レコードを削除したものである。修正度数分布テーブル147は提供先識別子毎に生成される。ユーザから提供先識別子Xが入力されたとき、度数分布テーブル143がコピーされると共に、対応表146から提供先識別子Xに対応する削除パターン「4,5,12」が検索される。度数分布テーブル143のコピーからレコード#4,#5,#12を削除したものが修正度数分布テーブル147となる。
FIG. 10 is a diagram showing an example of a correction frequency distribution table.
The modified frequency distribution table 147 is generated from the frequency distribution table 143 and the correspondence table 146 by the
図11は、提供データテーブルの例を示す図である。
提供データテーブル148は、レコード度数低減部136によって修正度数分布テーブル147から生成され、提供データ記憶部123に格納される。提供データテーブル148は提供先識別子毎に生成される。修正度数分布テーブル147から提供データテーブル148を生成するにあたって、塩基配列と度数を残してレコードIDが削除される。ただし、提供データテーブル148にレコードIDを残すようにしてもよい。
FIG. 11 is a diagram showing an example of the provided data table.
The provided data table 148 is generated from the modified frequency distribution table 147 by the record
また、修正度数分布テーブル147から提供データテーブル148を生成するにあたって、識別不能レコードに相当する塩基配列の度数が修正される。ある塩基配列の度数nt、識別可能レコード数n、削除レコード数rから低減度数rt=r/n×ntが算出され、度数ntがnt-rtに変更される。例えば、塩基配列「AAA」の度数nt=3、識別可能レコード数n=9、削除レコード数r=3から低減度数rt=1が算出され、度数nt=3がnt-rt=3-1=2に変更される。識別可能レコードについての塩基配列と度数は、修正度数分布テーブル147と同じである。 Further, in generating the provided data table 148 from the modified frequency distribution table 147, the frequency of the base sequence corresponding to the unidentifiable record is modified. The reduction frequency rt = r / n × n t is calculated from the frequency nt of a certain base sequence, the number of identifiable records n, and the number of deleted records r, and the frequency nt is changed to nt −rt . For example, the reduction frequency rt = 1 is calculated from the frequency n t = 3, the number of identifiable records n = 9, the number of deleted records r = 3, and the frequency nt = 3 of the base sequence “AAA”, and the frequency n t = 3 is n t −rt . = 3-1 = 2 is changed. The base sequence and frequency of the identifiable record are the same as those of the modified frequency distribution table 147.
図12は、漏洩データテーブルの例を示す図である。
漏洩データテーブル149は、漏洩データ記憶部125に記憶される。漏洩データテーブル149は、塩基配列、度数およびレコードIDの項目を含む。ただし、レコードIDは入手した漏洩データ自体には含まれておらず、情報処理装置100が塩基配列から特定して付加したものである。漏洩元推定部137は、元データテーブル141または度数分布テーブル143から塩基配列に対応するレコードIDを検索して、漏洩データテーブル149の塩基配列に対して付加する。塩基配列に対応するレコードIDが複数検索された場合、すなわち、識別不能レコードに含まれる塩基配列である場合、当該塩基配列に対しては度数分布テーブル143と同様にレコードIDを省略することができる。
FIG. 12 is a diagram showing an example of a leaked data table.
The leaked data table 149 is stored in the leaked
漏洩データテーブル149に出現する識別可能レコードと対応表146から、漏洩元を推定することができる。例えば、漏洩データテーブル149には識別可能レコードとしてレコード#2,#4,#5,#8が出現している。提供先識別子Xに対応する削除パターンにはレコード#4,#5が含まれる。よって、提供先識別子Xが示す提供先は漏洩元である可能性が低い。同様に、提供先識別子Zに対応する削除パターンにはレコード#2,#8が含まれる。よって、提供先識別子Zが示す提供先は漏洩元である可能性が低い。一方、提供先識別子Yに対応する削除パターンにはレコード#2,#4,#5,#8の何れも含まれていない。よって、提供先識別子Yが示す提供先はこれらの識別可能レコードを漏洩させることが可能であり、漏洩元である可能性がある。
The source of the leak can be estimated from the identifiable records appearing in the leaked data table 149 and the correspondence table 146. For example,
このように、情報処理装置100は漏洩データ自体から漏洩元を推定することができる。また、上記の漏洩データは、提供先識別子Yが示す提供先が受け取ったレコード#2,#4,#5,#8,#9,#12のうちの一部のみ含んでいる。しかし、漏洩データが提供データのサブセットであっても漏洩元を推定し得る。
In this way, the
次に、情報処理装置100の処理手順について説明する。
図13は、元データ分析の手順例を示すフローチャートである。
元データ分析は、1セットの元データに対して1回実行される。
Next, the processing procedure of the
FIG. 13 is a flowchart showing an example of the procedure for analyzing the original data.
The source data analysis is performed once for a set of source data.
(S10)削除レコード数算出部131は、パラメータ記憶部122に記憶されたパラメータテーブル142から最大提供先数pと推定能力cを取得する。
(S11)削除レコード数算出部131は、ステップS10で取得した最大提供先数pと推定能力cから削除レコード数rを決定する。削除レコード数rは、例えば、r≧log2((p-1)/(1-c))を満たす最小の整数である。
(S10) The deleted record
(S11) The deleted record
(S12)識別可能レコード抽出部132は、元データ記憶部121に記憶された元データテーブル141から度数分布テーブル143を生成する。このとき、識別可能レコード抽出部132は、元データテーブル141に含まれるレコード同士を比較して塩基配列毎の度数をカウントする。また、識別可能レコード抽出部132は、度数が1である塩基配列に対しては当該塩基配列を含むレコードのレコードIDを付加する。
(S12) The identifiable
(S13)識別可能レコード抽出部132は、度数分布テーブル143から度数が1である塩基配列とレコードIDを識別可能レコードとして抽出する。
(S14)グルーピング部133は、所定のグルーピング基準に従って、ステップS13で抽出された識別可能レコードを複数のグループに分類し、グループテーブル144を生成する。例えば、グルーピング部133は、塩基配列の先頭の塩基が同一である識別可能レコードを集めてグループを形成する。
(S13) The identifiable
(S14) The
(S15)グルーピング部133は、グループテーブル144に識別可能レコードが残っているか、すなわち、ステップS14で生成した複数のグループの少なくとも1つに識別可能レコードが残っているか判断する。グループテーブル144に識別可能レコードがある場合はステップS16に処理が進み、無い場合は元データ分析が終了する。
(S15) The
(S16)グルーピング部133は、ステップS14で生成した複数のグループを残っている識別可能レコードの数の降順にソートする。グルーピング部133は、識別可能レコード数が多い順にグループ名をG1,G2,…と変更する。
(S16) The
(S17)グルーピング部133は、変数i=1に初期化する。
(S18)グルーピング部133は、変数iの値がステップS11で決定された削除レコード数r以下であり、かつ、グループGiに識別可能レコードが残っているか(グループGiが空集合でないか)判断する。この条件を満たす場合、ステップS19に処理が進む。この条件を満たさない場合、すなわち、変数iの値が削除レコード数rより大きいかまたはグループGiが空集合である場合、ステップS15に処理が進む。
(S17) The
(S18) In the
(S19)グルーピング部133は、グループGiから識別可能レコードを1つ抽出し、抽出した識別可能レコードを識別可能データテーブル145の末尾に登録する。グループGiから抽出する識別可能レコードは、例えば、ランダムに選択される。
( S19 ) The
(S20)グルーピング部133は、変数iの値を1だけ増加させる。そして、ステップS18に処理が進む。
例えば、図7のグループテーブル144の場合、|GC|=4,|GG|=3,|GT|=2であるため、G1=GC,G2=GG,G3=GTとソートされる。内側ループにおいてi=1のときにグループG1=GCからレコード#4が選択され、i=2のときにグループG2=GGからレコード#12が選択され、i=3のときにグループG3=GTからレコード#5が選択される。i=4になるとi>rであるため内側ループが打ち切られる。
(S20) The
For example, in the case of the group table 144 in FIG. 7, since | GC | = 4, | G G | = 3, | G T | = 2, G 1 = GC, G 2 = G G , G 3 = Sorted with GT . In the inner loop,
次に、|GC|=3,|GG|=2,|GT|=1であるため、G1=GC,G2=GG,G3=GTとソートされる。上記と同様に、内側ループにおいてi=1のときにグループG1=GCからレコード#10が選択され、i=2のときにグループG2=GGからレコード#3が選択され、i=3のときにグループG3=GTからレコード#7が選択される。i=4になるとi>rであるため内側ループが打ち切られる。
Next, since | GC | = 3, | G G | = 2, | GT | = 1, it is sorted as G 1 = GC, G 2 = G G , G 3 = GT . Similar to the above, in the inner loop,
次に、|GC|=2,|GG|=1,|GT|=0であるため、G1=GC,G2=GG,G3=GTとソートされる。内側ループにおいてi=1のときにグループG1=GCからレコード#8が選択され、i=2のときにグループG2=GGからレコード#9が選択される。i=3になるとグループG3=GT=φであるため内側ループが打ち切られる。次に、|GC|=1,|GG|=|GT|=0であるため、G1=GC,G2=GG,G3=GTとソートされる。内側ループにおいてi=1のときにグループG1=GCからレコード#2が選択される。i=2になるとグループG2=GG=φであるため内側ループが打ち切られる。そして、|GC|=|GG|=|GT|=0であるため、元データ分析が終了する。
Next, since | GC | = 2, | G G | = 1, | G T | = 0, it is sorted as G 1 = GC, G 2 = G G , G 3 = GT . In the inner loop,
図14は、提供データ生成の手順例を示すフローチャートである。
提供データ生成は、1つの提供先識別子に対して1回実行される。
(S30)削除パターン生成部134は、提供先識別子dを取得する。提供先識別子dは、例えば、1セットの提供データを生成したいときにユーザから指定される。
FIG. 14 is a flowchart showing an example of the procedure for generating the provided data.
The provided data generation is executed once for one provided destination identifier.
(S30) The deletion
(S31)削除パターン生成部134は、対応表記憶部124に記憶された対応表146に提供先識別子dが登録されているか判断する。提供先識別子dが登録されている場合はステップS32に処理が進み、登録されていない場合はステップS33に処理が進む。
(S31) The deletion
(S32)削除パターン生成部134は、対応表146から提供先識別子dに対応する削除パターンPを検索する。そして、ステップS35に処理が進む。
(S33)削除パターン生成部134は、識別可能データテーブル145の上から順に削除レコード数rだけ識別可能レコードを抽出する。
(S32) The deletion
(S33) The deletion
(S34)削除パターン生成部134は、ステップS33で抽出したr個の識別可能レコードのレコードIDを列挙した削除パターンPを生成する。削除パターン生成部134は、提供先識別子dと削除パターンPを対応付けて対応表146に登録する。
(S34) The deletion
(S35)レコード削除部135は、度数分布テーブル143をコピーする。レコード削除部135は、ステップS32またはステップS34の削除パターンPに従って、度数分布テーブル143のコピーから一部の識別可能レコードを削除する。すなわち、度数分布テーブル143のコピーから、削除パターンPに列挙されたレコードIDをもつ識別可能レコードを削除する。これにより、修正度数分布テーブル147が生成される。
(S35) The
(S36)レコード度数低減部136は、修正度数分布テーブル147から識別不能レコードに相当する塩基配列、すなわち、度数が1より大きい塩基配列を1つ選択する。
(S37)レコード度数低減部136は、識別可能レコード数n、削除レコード数rおよび選択した塩基配列の度数ntから低減度数rtを決定する。低減度数rtは、例えば、rt=r/n×ntによって算出される非負整数である。
(S36) The record
(S37) The record
(S38)レコード度数低減部136は、修正度数分布テーブル147における選択した塩基配列の度数をntからnt-rtに変更する。
(S39)レコード度数低減部136は、修正度数分布テーブル147から識別不能レコードに相当する塩基配列の全てを選択したか判断する。該当の全ての塩基配列を選択した場合はステップS40に処理が進み、それ以外の場合はステップS36に処理が進む。
(S38) The record
(S39) The record
(S40)レコード度数低減部136は、修正度数分布テーブル147からレコードIDの項目を削除することで提供データテーブル148を生成する。レコード度数低減部136は、提供データテーブル148を提供データ記憶部123に格納する。
(S40) The record
図15は、漏洩元推定の手順例を示すフローチャートである。
漏洩元推定は、1セットの漏洩データに対して1回実行される。
(S50)漏洩元推定部137は、漏洩データ記憶部125に記憶された漏洩データテーブル149を取得する。この時点で漏洩データにはレコードIDが含まれていない。
FIG. 15 is a flowchart showing an example of a procedure for estimating the leakage source.
The leak source estimation is performed once for one set of leaked data.
(S50) The leakage
(S51)漏洩元推定部137は、対応表記憶部124に記憶された対応表146を参照して、これまでDNAデータを提供した提供先の集合を特定する。ここで特定される提供先の集合は、初期状態における漏洩元候補の集合となる。
(S51) The leakage
(S52)漏洩元推定部137は、漏洩データテーブル149に含まれる複数の塩基配列の中から1つの塩基配列を選択する。
(S53)漏洩元推定部137は、選択した塩基配列を含むレコードのレコードIDを、元データテーブル141または度数分布テーブル143から検索する。
(S52) The leak
(S53) The leakage
(S54)漏洩元推定部137は、ステップS53においてレコードIDが1つに特定されたか、すなわち、選択した塩基配列が識別可能レコードに相当するか判断する。レコードIDが1つに特定された場合はステップS55に処理が進み、レコードIDが2以上検索された場合はステップS52に処理が進む。
(S54) The leakage
(S55)漏洩元推定部137は、特定されたレコードIDを含む削除パターンを対応表146から検索する。漏洩元推定部137は、ステップS51で特定した漏洩元候補の集合から、検索された削除パターンに対応する提供先を除外する。
(S55) The leakage
(S56)漏洩元推定部137は、漏洩データテーブル149に含まれる全ての塩基配列を選択したか判断する。全ての塩基配列を選択した場合はステップS57に処理が進み、未選択の塩基配列がある場合はステップS52に処理が進む。
(S56) The leakage
(S57)漏洩元推定部137は、ステップS55で除外されずに残った提供先を漏洩元と推定する。好ましくは、この時点で漏洩元候補は1つに絞り込まれている。漏洩元推定部137は、漏洩元の提供先識別子など漏洩元を示す漏洩元情報を出力する。例えば、漏洩元推定部137は、ディスプレイ111に漏洩元情報を表示させる。
(S57) The leak
第2の実施の形態の情報処理装置100によれば、複数の組織にデータを提供した場合であっても、漏洩データ自体から漏洩元の組織を推定することができる。よって、漏洩元の組織に再発防止を要求するなどデータの保護を強化することが可能となる。また、提供するデータに識別性を付与する方法として、データから少数のレコードを削除する方法が用いられる。よって、レコードの値にノイズを付加する方法と比べて、レコードの真正性を確保することができ、提供先にとってのデータの価値が低下するのを防止できる。また、空白の長さなどの修飾情報を変化させる方法と比べて、提供先の組織がデータを正規化するなど修飾情報が消えてしまうような操作を行っても、識別性が喪失しない。
According to the
また、所望の推定能力から削除レコード数が決定されるため、漏洩元を一意に特定できる確率とデータの有用性とのバランスを調整することが容易となる。また、提供先の組織によるデータの使用方法の観点からレコードが複数のグループに分類され、異なるグループに属するレコードが混在して削除される。よって、提供先の組織が1つのグループに属するレコードのみを使用しており当該1つのグループに属するレコードのみを漏洩させた場合であっても、漏洩元を特定できる可能性が高くなる。また、識別可能レコードの削除割合と整合するように識別不能レコードも削除されるため、削除後のデータが削除前のデータに近い特性を維持することが可能となる。 Further, since the number of deleted records is determined from the desired estimation ability, it becomes easy to adjust the balance between the probability that the leakage source can be uniquely identified and the usefulness of the data. In addition, records are classified into a plurality of groups from the viewpoint of how the data is used by the organization to which the records are provided, and records belonging to different groups are mixedly deleted. Therefore, even if the providing destination organization uses only the records belonging to one group and leaks only the records belonging to the one group, there is a high possibility that the leakage source can be identified. In addition, since the unidentifiable records are also deleted so as to be consistent with the deletion ratio of the identifiable records, it is possible to maintain the characteristics that the deleted data is close to the data before the deletion.
10 データ加工装置
11 記憶部
12 処理部
13 対応情報
14a,14b,14c 提供先識別子
15a,15b,15c 削除パターン
16 漏洩データ
17 漏洩元情報
10
Claims (7)
前記複数の削除パターンそれぞれと当該削除パターンに基づいて生成されるサブセットの提供先を示す提供先識別子とを対応付けた対応情報を記憶する記憶部と、
を有し、前記複数の削除パターンの生成では、前記処理部は、提供先数と漏洩データから漏洩元を推定できる推定可能確率とを受け付け、前記提供先数と前記推定可能確率とに基づいて各削除パターンが削除対象に指定するレコードの数を決定する、
データ加工装置。 Multiple subsets of the data by generating multiple deletion patterns indicating the records to be deleted from the data containing the plurality of records and deleting the records contained in the data based on each of the plurality of deletion patterns. And the processing unit that generates
A storage unit that stores correspondence information in which each of the plurality of deletion patterns is associated with a delivery destination identifier indicating a delivery destination of a subset generated based on the deletion pattern .
In the generation of the plurality of deletion patterns, the processing unit accepts the number of provision destinations and the presumable probability that the leakage source can be estimated from the leaked data, and is based on the number of provision destinations and the presumable probability. Each delete pattern determines the number of records to be deleted,
Data processing equipment.
請求項1記載のデータ加工装置。 In the generation of the plurality of deletion patterns, the processing unit extracts a plurality of identifiable records that do not contain the same value as the other records from the data, and each deletion pattern is selected from the plurality of identifiable records. Select the record to be deleted,
The data processing apparatus according to claim 1 .
請求項2記載のデータ加工装置。 In the generation of the plurality of subsets, the processing unit performs a part of the plurality of unidentifiable records other than the plurality of identifiable records among the plurality of records, depending on the number of records specified to be deleted. Delete additional records,
The data processing apparatus according to claim 2 .
請求項1記載のデータ加工装置。 In the generation of the plurality of deletion patterns, the processing unit classifies at least a part of the plurality of records into a plurality of groups based on a predetermined criterion, and each deletion pattern specifies two or more records as deletion targets. Mix records belonging to different groups inside,
The data processing apparatus according to claim 1 .
前記複数の削除パターンそれぞれと当該削除パターンに基づいて生成されるサブセットの提供先を示す提供先識別子とを対応付けた対応情報を記憶する記憶部と、
を有し、前記処理部は、漏洩データを取得し、前記対応情報が示す前記複数の削除パターンの中から前記漏洩データに含まれるレコードを削除対象に指定していない削除パターンを検索し、前記検索された削除パターンに対応する提供先識別子を抽出する、
データ加工装置。 Multiple subsets of the data by generating multiple deletion patterns indicating the records to be deleted from the data containing the plurality of records and deleting the records contained in the data based on each of the plurality of deletion patterns. And the processing unit that generates
A storage unit that stores correspondence information in which each of the plurality of deletion patterns is associated with a delivery destination identifier indicating a delivery destination of a subset generated based on the deletion pattern .
The processing unit acquires the leaked data, searches for a deletion pattern in which the record included in the leaked data is not designated as a deletion target from the plurality of deletion patterns indicated by the corresponding information, and the above-mentioned. Extract the destination identifier corresponding to the searched deletion pattern,
Data processing equipment.
複数のレコードを含むデータの中から削除されるレコードを示す複数の削除パターンを生成し、
前記複数の削除パターンそれぞれに基づいて前記データに含まれるレコードを削除することにより、前記データの複数のサブセットを生成し、
前記複数の削除パターンそれぞれと当該削除パターンに基づいて生成されるサブセットの提供先を示す提供先識別子とを対応付けた対応情報を記憶部に記憶し、
前記複数の削除パターンの生成では、提供先数と漏洩データから漏洩元を推定できる推定可能確率とを受け付け、前記提供先数と前記推定可能確率とに基づいて各削除パターンが削除対象に指定するレコードの数を決定する、
データ加工方法。 It is a data processing method executed by a computer.
Generates multiple deletion patterns that indicate records that are deleted from data that contains multiple records.
By deleting the records contained in the data based on each of the plurality of deletion patterns, a plurality of subsets of the data are generated.
Correspondence information in which each of the plurality of deletion patterns is associated with the provision destination identifier indicating the provision destination of the subset generated based on the deletion pattern is stored in the storage unit.
In the generation of the plurality of deletion patterns, the number of provision destinations and the estimable probability that the leakage source can be estimated from the leaked data are accepted, and each deletion pattern is designated as the deletion target based on the number of provision destinations and the presumable probability. Determine the number of records,
Data processing method.
複数のレコードを含むデータの中から削除されるレコードを示す複数の削除パターンを生成し、
前記複数の削除パターンそれぞれに基づいて前記データに含まれるレコードを削除することにより、前記データの複数のサブセットを生成し、
前記複数の削除パターンそれぞれと当該削除パターンに基づいて生成されるサブセットの提供先を示す提供先識別子とを対応付けた対応情報を記憶部に記憶する、
処理を実行させ、前記複数の削除パターンの生成では、提供先数と漏洩データから漏洩元を推定できる推定可能確率とを受け付け、前記提供先数と前記推定可能確率とに基づいて各削除パターンが削除対象に指定するレコードの数を決定する、
データ加工プログラム。 On the computer
Generates multiple deletion patterns that indicate records that are deleted from data that contains multiple records.
By deleting the records contained in the data based on each of the plurality of deletion patterns, a plurality of subsets of the data are generated.
Corresponding information in which each of the plurality of deletion patterns is associated with a delivery destination identifier indicating a delivery destination of a subset generated based on the deletion pattern is stored in the storage unit.
Processing is executed, and in the generation of the plurality of deletion patterns, the number of provision destinations and the presumable probability that the leakage source can be estimated from the leaked data are accepted, and each deletion pattern is based on the number of provision destinations and the presumable probability. Determines the number of records to be deleted,
Data processing program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017255119A JP7053987B2 (en) | 2017-12-29 | 2017-12-29 | Data processing equipment, data processing methods and data processing programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017255119A JP7053987B2 (en) | 2017-12-29 | 2017-12-29 | Data processing equipment, data processing methods and data processing programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019121138A JP2019121138A (en) | 2019-07-22 |
JP7053987B2 true JP7053987B2 (en) | 2022-04-13 |
Family
ID=67306353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017255119A Active JP7053987B2 (en) | 2017-12-29 | 2017-12-29 | Data processing equipment, data processing methods and data processing programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7053987B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003006218A (en) | 2001-06-18 | 2003-01-10 | Hitachi Software Eng Co Ltd | Contents providing method for portable terminal and system |
JP2005136818A (en) | 2003-10-31 | 2005-05-26 | Sharp Corp | Image processing method, image processing apparatus, and computer program |
JP2007257596A (en) | 2006-03-22 | 2007-10-04 | Yoshiji Nakamura | Sentence converter |
US20090282036A1 (en) | 2008-05-08 | 2009-11-12 | Fedtke Stephen U | Method and apparatus for dump and log anonymization (dala) |
JP2012216083A (en) | 2011-03-31 | 2012-11-08 | Nifty Corp | Document creation apparatus, document creation program, document creation method, and leakage source identifying system using document creation apparatus |
-
2017
- 2017-12-29 JP JP2017255119A patent/JP7053987B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003006218A (en) | 2001-06-18 | 2003-01-10 | Hitachi Software Eng Co Ltd | Contents providing method for portable terminal and system |
JP2005136818A (en) | 2003-10-31 | 2005-05-26 | Sharp Corp | Image processing method, image processing apparatus, and computer program |
JP2007257596A (en) | 2006-03-22 | 2007-10-04 | Yoshiji Nakamura | Sentence converter |
US20090282036A1 (en) | 2008-05-08 | 2009-11-12 | Fedtke Stephen U | Method and apparatus for dump and log anonymization (dala) |
JP2012216083A (en) | 2011-03-31 | 2012-11-08 | Nifty Corp | Document creation apparatus, document creation program, document creation method, and leakage source identifying system using document creation apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2019121138A (en) | 2019-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103026356B (en) | Semantic content is searched for | |
JP5442161B2 (en) | SEARCH SYSTEM, SEARCH SYSTEM SEARCH METHOD, INFORMATION PROCESSING DEVICE, SEARCH PROGRAM, Corresponding Keyword Management Device, and Corresponding Keyword Management Program | |
US9215243B2 (en) | Identifying and ranking pirated media content | |
JP2017224184A (en) | Machine learning device | |
US11080427B2 (en) | Method and apparatus for detecting label data leakage channel | |
US20230281306A1 (en) | System and method for detecting leaked documents on a computer network | |
CN110557800B (en) | Method for identifying type of wireless hotspot and network equipment thereof | |
CN113886339B (en) | Method and device for selecting out-link file, network disk and storage medium | |
JP4832692B2 (en) | Method and system for fingerprinting digital data | |
EP3301603A1 (en) | Improved search for data loss prevention | |
US8412755B2 (en) | Permuting records in a database for leak detection and tracing | |
CN108449778B (en) | Wireless access point display method and device and terminal equipment | |
US8296342B2 (en) | Fingerprinting a database | |
JP7053987B2 (en) | Data processing equipment, data processing methods and data processing programs | |
US20160034497A1 (en) | Information processing system, information processing method, and information processing apparatus | |
JP6487820B2 (en) | Risk assessment device, risk assessment method, and risk assessment program | |
JP7278100B2 (en) | Post evaluation system and method | |
CN106469166A (en) | A kind of information processing method and device | |
JP6349682B2 (en) | Information management program, apparatus, and method | |
US20200311027A1 (en) | File management device and non-transitory computer readable medium | |
CN110275863A (en) | File moving method, device and storage medium | |
CN115048543B (en) | Image similarity judgment method, image searching method and device | |
JP2011227655A (en) | Information retrieval system, information retrieval method, and program | |
US20230027615A1 (en) | Modeling techniques to classify data sets containing personal identifiable information comprising numerical identifiers | |
Swamy et al. | A Performance Metrics Estimation of Spade, Prefix Span, Fast, and Lapin Algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201008 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20201016 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20201016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210824 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211013 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220314 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7053987 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |