JP6141091B2 - Information processing apparatus, information processing method, server apparatus, program, and recording medium - Google Patents
Information processing apparatus, information processing method, server apparatus, program, and recording medium Download PDFInfo
- Publication number
- JP6141091B2 JP6141091B2 JP2013093045A JP2013093045A JP6141091B2 JP 6141091 B2 JP6141091 B2 JP 6141091B2 JP 2013093045 A JP2013093045 A JP 2013093045A JP 2013093045 A JP2013093045 A JP 2013093045A JP 6141091 B2 JP6141091 B2 JP 6141091B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- information processing
- unit
- server
- processing apparatus
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、秘匿計算を用いる情報処理に関する。 The present invention relates to information processing using confidential calculation.
例えば、インターネットの普及により、ウェブサイトなどに様々な情報を簡単に公開することができるようになった。その弊害として、例えば人物を特定可能な写真画像(例えば当該人物を被写体として含む写真画像)が第三者によってウェブサイトに公開される危惧がある。本人の意思に反して、そのような写真画像が公開された人物が、プライバシ情報を公開せずに当該写真画像の削除をウェブサイトの管理者に依頼したいという要望がある。そのような要望に応えて、プライバシ情報を秘匿したまま、ウェブサイトの写真画像の削除依頼を送信する方法が提案されている(特許文献1)。 For example, with the spread of the Internet, it has become possible to easily publish various information on websites. As an adverse effect, for example, there is a concern that a photographic image that can identify a person (for example, a photographic image including the person as a subject) may be disclosed on a website by a third party. Contrary to the intention of the person, there is a demand that a person to whom such a photographic image is disclosed wants to request an administrator of the website to delete the photographic image without publishing privacy information. In response to such a request, there has been proposed a method of transmitting a request for deleting a photographic image of a website while keeping privacy information confidential (Patent Document 1).
特許文献1の方法は、個人を特定可能な写真の画像データを秘匿化し、秘匿計算を用いて、秘匿化された画像データから特徴量を算出する。また、ウェブサイトに公開された写真の画像データから同様に特徴量を算出する。そして、それら特徴量を比較し、一致する場合は当該写真画像の削除依頼を送信する。このような方法によれば、プライバシ情報である個人を特定可能な写真画像自体を公開せずに、削除依頼を行うことができる。
The method of
しかし、特許文献1の方法は、比較対象の写真画像ごとに秘匿計算が必要になる。例えば、家族や友人の写真画像が公開されていないかを検索するためにOR検索(何れかの条件を満たすと一致)を行う場合、複数の写真画像を用意して、写真画像の数分の秘匿計算を行う。その結果、秘匿計算の計算量が増大する。
However, the method of
本発明は、秘匿計算を用いて、入力されたデータ群とサーバ装置のデータ群の一致を判定する場合に、秘匿計算の計算量を抑制することを目的とする。 An object of the present invention is to suppress the calculation amount of the secret calculation when determining the coincidence between the input data group and the data group of the server device using the secret calculation.
本発明は、前記の目的を達成する一手段として、以下の構成を備える。 The present invention has the following configuration as one means for achieving the above object.
本発明にかかる情報処理は、データ群を入力し、前記データ群のデータ数を示す第一のデータ数情報、および、前記データ群の各データの属性を示すカテゴリデータをサーバ装置に送信し、前記データ群のデータを連結処理し、前記連結処理されたデータを秘匿化し、前記秘匿化で得られた秘匿化データと、前記サーバ装置のデータ群のデータを連結処理し秘匿化した秘匿化データとの所定の計算の結果を用いて、秘匿化前のデータ群の計算結果を復元し、前記復元された計算結果に基づき、前記入力されたデータ群と前記サーバ装置のデータ群の一致を判定する。 The information processing according to the present invention inputs a data group, transmits first data number information indicating the number of data in the data group, and category data indicating attributes of each data in the data group to the server device, The concatenated data obtained by concatenating the data of the data group, concealing the concatenated data, concatenating the concealed data obtained by the concealment, and concatenating the data of the data group of the server device Is used to restore the calculation result of the data group before concealment, and based on the restored calculation result, the match between the input data group and the data group of the server device is determined. To do.
本発明によれば、秘匿計算を用いて、入力されたデータ群とサーバ装置のデータ群の一致を判定する場合に、秘匿計算の計算量を抑制することができる。 ADVANTAGE OF THE INVENTION According to this invention, when determining the coincidence of the input data group and the data group of a server apparatus using a secret calculation, the calculation amount of a secret calculation can be suppressed.
以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。 Hereinafter, information processing according to an embodiment of the present invention will be described in detail with reference to the drawings.
[プライバシ情報の有無判定システム]
図1のブロック図により実施例のプライバシ情報の有無判定システムの構成例を示す。プライバシ情報の有無判定システムは、互いにネットワークを介して通信可能な端末装置101、計算部106、108、110、判定計算部112、サーバ115から構成される。
[Privacy information presence / absence judgment system]
The block diagram of FIG. 1 shows a configuration example of the privacy information presence / absence determination system of the embodiment. The privacy information presence / absence determination system includes a
●端末装置
端末装置101は、例えばパーソナルコンピュータ(PC)である。入力部102は、例えばキーボードやマウスなどを有し、サイトアドレスや氏名や住所などのプライバシ情報に該当するデータ群をuser_data(i)(i=1, 2, …, data_num)として入力する。なお、サイトアドレスは、削除したいプライバシ情報が登録されている可能性があるサイトのアドレス情報(例えばURLやIPアドレス)である。また、data_numはデータ数を示すデータ数情報である。なお、プライバシ情報は、氏名(ふりがなを含む)、住所、性別、年齢、電話番号、生年月日、社会保障番号等の番号など個人を特定可能な個人情報である。
Terminal Device The
入力部102は、user_data(i)とdata_numをデータ連結部103と表示部105に供給するとともに、data_numを判定計算部112に送信する。さらに、入力部102は、user_data(i)の各データの属性を示すカテゴリデータcat_data(i)を生成し、cat_data(i)とdata_numをサーバ115に送信する。図2によりcat_data(i)の値の一例を示す。例えば、user_data(i)の属性が「氏名」ならcat_data(i)=1であり、「住所」ならcat_data(i)=2であり、「電話番号」ならcat_data(i)=3である。
The
データ連結部103は、詳細は後述するが、入力部102から受信したデータuser_data(i)をすべて連結し、連結したデータcat_dataを生成する。
As will be described in detail later, the
データ秘匿部104は、真性乱数と予め定められた式を用いて、データ連結部103が生成したcat_dataを秘匿化する。つまり、秘匿化前のデータと乱数から秘匿化前のデータを四つの秘匿化データcon_data_X、con_data_Y、con_data_Z、con_data_Cに分割する。そして、計算部106にcon_data_Xを送信し、計算部108にcon_data_Yとcon_data_Cを送信し、計算部110にcon_data_Zとcon_data_Cを送信する。
The
秘匿化前のデータの復元には、計算部106、108、110のうち少なくとも二つの計算部から送信されるデータを取得する必要があり、秘匿化前のデータを保護することができる。なお、秘匿化したまま加減算ができる方法、例えば、マルチパーティ計算プロトコルや準同型暗号であるPaillier暗号などを使用することができる。
In order to restore the data before concealment, it is necessary to acquire data transmitted from at least two of the
表示部105は、例えばモニタにユーザインタフェイス(UI)を表示する。UIは、入力部102によって入力する情報および入力された情報、並びに、サーバ115において入力データに一致するデータがあるか否かの判定結果などの閲覧に利用される。
The
図3によりUIの表示例を示す。図3(a)は判定前の画面例を、図3(b)は判定後の画面例をそれぞれ示す。入力部1001aには、検索し、プライバシ情報に一致する情報がある場合に削除依頼を行うサイトアドレスが入力される。入力部1001bには、プライバシ情報が入力され、この例ではプライバシ情報として名前1001c、住所1001d、電話番号1001eが入力される例を示す。そして、サーバ115における判定の後、図3(b)に一例を示すように、表示部1001fに判定結果が表示される。
Fig. 3 shows a UI display example. FIG. 3A shows an example of a screen before determination, and FIG. 3B shows an example of a screen after determination. In the
なお、属性が同じデータでも、当該データを格納するフィールドのサイズ(バイト長)が異なる場合がある。この点を考慮すると、入力部102は、サイトアドレスによってサーバ装置を特定し、当該サーバ装置と通信を行って、各プライバシ情報のデータサイズを決定することが好ましい。
Note that even if the data has the same attribute, the size (byte length) of the field storing the data may be different. Considering this point, it is preferable that the
●計算部および判定計算部
計算部106、108、110および判定計算部112はそれぞれ所定の計算を行う主体であり、例えばCPU、RAMなどのメモリ、HDDなどの記録媒体、サーバとの通信インタフェイスを有するコンピュータ機器を備える装置やシステムなどである。計算部のCPUがRAMをワークメモリとしてHDDに格納されたプログラムを実行することで、計算部の機能が実現される。
Calculation unit and determination calculation unit The
計算部106は、端末装置101において秘匿化されたデータcon_data_Xと、後述するサーバ115において秘匿化されたデータcon_data_X2を用いる式(1)に示す計算を行い、計算結果を判定計算部112に送信する。
result_data_X = con_data_X - con_data_X2; …(1)
The
result_data_X = con_data_X-con_data_X2;… (1)
計算部108は、端末装置101において秘匿化されたデータcon_data_Y、con_data_Cと、後述するサーバ115において秘匿化されたデータcon_data_Y2、con_data_C2を入力する。そして、それらデータを用いる式(2)に示す計算を行い、計算結果を判定計算部112に送信する。
result_data_X = con_data_Y - con_data_Y2;
result_data_C = con_data_C - con_data_C2; …(2)
The
result_data_X = con_data_Y-con_data_Y2;
result_data_C = con_data_C-con_data_C2;… (2)
計算部110は、端末装置101において秘匿化されたデータcon_data_Z、con_data_Cと、後述するサーバ115において秘匿化されたデータcon_data_Z2、con_data_C2を入力する。そして、それらデータを用いる式(3)に示す計算を行い、計算結果を判定計算部112に送信する。
result_data_Z = con_data_Z - con_data_Z2;
result_data_C = con_data_C - con_data_C2; …(3)
The
result_data_Z = con_data_Z-con_data_Z2;
result_data_C = con_data_C-con_data_C2;… (3)
判定計算部112は、計算結果復元部113および判定部114を有する。計算結果復元部113は、計算部106、108、110の計算結果result_data_Xとresult_data_Cを用いる式(4)の計算により秘匿化前のデータの計算結果を復元する。または、result_data_Y、result_data_Z、result_data_Cを用いる式(5)の計算により秘匿化前のデータの計算結果を復元する。
result_data = result_data_X + result_data_C; …(4)
result_data = result_data_Y + result_data_Z + result_data_C; …(5)
The
result_data = result_data_X + result_data_C;… (4)
result_data = result_data_Y + result_data_Z + result_data_C;… (5)
判定部114は、計算結果復元部113の復元結果を入力して、端末装置101において入力されたデータuser_data(i)と、サーバ115におけるデータserver_data(i)が一致するか否かを判定する。そして、判定結果を端末装置101の表示部105およびサーバ115の判定結果受信部120に送信する。
The
●サーバ
サーバ115は、端末装置101の入力部102により入力されたアドレスのサイトを運用するサーバに該当する。サーバ115は、データベース(DB)116、データ抽出部117、データ連結部118、データ秘匿部119および判定結果受信部120を有する。なお、サーバ115は、例えばCPU、RAMなどのメモリ、HDDなどの記録媒体を有するコンピュータ装置であり、CPUがRAMをワークメモリとしてHDDに格納されたプログラムを実行することで、サーバ115の機能が実現される。
Server The
DB116には、疾病に関する医療用の統計データなどが電子文書として格納されている。データ抽出部117は、端末装置101から受信したcat_data(i)に基づき、該当する属性のデータがDB116にあるか否かを判定し、あればそれらデータ群を抽出し、抽出したデータをserver_data(i)としてRAMなどに格納する。
The
なお、server_data(i)のデータ数は、user_data(i)のデータ数data_numと同じとする。また、カテゴリが同じデータのデータサイズは同一とする。また、抽出方法としては例えばキーワード検索や全文検索を使用する。 Note that the number of data in server_data (i) is the same as the number of data in user_data (i). The data sizes of the same category are the same. As an extraction method, for example, keyword search or full-text search is used.
データ連結部118は、データ連結部103と同様に、server_data(i)を連結し、con_data2を生成する。データ秘匿部119は、データ秘匿部104と同様に、con_data2を秘匿化する。つまり、秘匿化前のデータと乱数から秘匿化前のデータを四つのデータcon_data_X2、con_data_Y2、con_data_Z2およびcon_data_C2に分割する。そして、計算部106にcon_data_X2を送信し、計算部108にcon_data_Y2とcon_data_C2を送信し、計算部110にcon_data_Z2とcon_data_C2を送信する。
Similar to the
判定結果受信部120は、判定計算部112から判定結果を受信する。サーバ115の管理者は、判定結果受信部120が受信した判定結果を参照して、判定結果が「データが一致」を示す場合は該当するデータを削除する。
The determination
[プライバシ情報の有無判定処理]
図4のフローチャートによりプライバシ情報の有無判定処理を説明する。
[Privacy information presence / absence judgment processing]
The privacy information presence / absence determination process will be described with reference to the flowchart of FIG.
端末装置101の入力部102は、サイトアドレスとプライバシ情報などのデータを入力し、入力されたサイトアドレスからサイトのDB116を運用するサーバ115を特定する。さらに、プライバシ情報をuser_data(i)に格納し、プライバシ情報のデータ数をdata_numに格納し、user_data(i)のデータ属性をcat_data(i)に格納する。そして、data_numを判定計算部112の判定部114に送信し、cat_data(i)とdata_numをサーバ115のデータ抽出部117に送信する(S201)。
The
次に、データ連結部103は入力されたuser_data(i)を連結し(S202)、データ秘匿部104は連結されたデータcon_dataを秘匿化する(S203)。
Next, the
サーバ115のデータ抽出部117は、端末装置101から受信したcat_data(i)に基づき、該当する属性のデータがDB116にあるか否かを判定する。そして、該当する属性のデータあれば、それらデータを抽出し、抽出したデータをserver_data(i)に格納する(S204)。
Based on cat_data (i) received from the
次に、データ連結部118は抽出されたserver_data(i)を連結し(S205)、データ秘匿部119は連結されたデータcon_data2を秘匿化する(S206)。
Next, the
計算部106、108、110はそれぞれ、秘匿化データの差分を算出し、計算結果を判定計算部112の計算結果復元部113に送信する(S207)。
Each of the
判定計算部112の計算結果復元部113は、計算部106、108、110から受信した計算結果に基づきuser_data(i)とserver_data(i)を復元する(S208)。そして、判定部114は、復元されたuser_data(i)とserver_data(i)の一致、不一致を判定し(S209)、判定結果を端末装置101の表示部105とサーバ115の判定結果受信部120に送信する(S210)。
The calculation
判定結果の受信後、表示部105はUIの表示を更新する(例えば、図3(a)から図3(b))。また、サーバ115の管理者は、判定結果受信部120が受信した判定結果を参照する。そして、判定結果が、端末装置101において入力されたプライバシ情報に一致するデータがあることを示す場合(判定結果がすべて‘0’)、プライバシ情報server_data(i)を削除する。
After receiving the determination result, the
●データ連結処理
図5(a)のフローチャートによりデータ連結処理を説明する。データ連結処理は、データ連結部103およびデータ連結部118によって実行されるが、以下では、データ連結部103におけるデータ連結処理を説明する。なお、データ連結部103の処理における「user_data(i)」「con_data」を「server_data(i)」「con_data2」に置き換えればデータ連結部118の処理になる。
Data concatenation process The data concatenation process will be described with reference to the flowchart of FIG. The data connection process is executed by the
図6により連結データの一例を示す。図6(a)は端末装置101の入力部102が入力したデータを示し、プライバシ情報user_data(1)=10であり、プライバシ情報user_data(2)=65の例を示す。この場合、データ数data_num=2である。なお、図6(a)にはcat_data(i)は記載しないが、例えばcat_data(1)=1、cat_data(2)=2である。
FIG. 6 shows an example of concatenated data. FIG. 6 (a) shows data input by the
データ連結部103は、データuser_data(i)のデータサイズをビット単位で計測し、最大のデータサイズをuser_data_maxとする(S401)。例えば、図6(a)の例では、user_data(1)が4ビット、user_data(2)が8ビットであり、user_data_maxは8ビットである。
The
次に、データ連結部103は、データサイズがuser_data_maxに達しないデータをパディングする(S402)。例えば、図6(a)の例では、user_data(1)は、4ビット(<user_data_max=8ビット)であり、パディング‘0000’を連結して8ビットデータにする。
Next, the
次に、データ連結部103は、下式によりuser_data(i)を連結してcon_dataを生成する(S403)。
con_data = user_data(1)‖user_data(2)‖…‖user_data(data_num) …(6)
ここで、‖は連結演算子。
Next, the
con_data = user_data (1) ‖user_data (2) ‖… ‖user_data (data_num)… (6)
Where ‖ is a concatenation operator.
例えば、図6(a)の例では、下に示すように、パディング後、パディングを含むuser_data(1)とuser_data(2)が連結されて、連結データcon_dataが得られる。
con_data = user_data(1)‖padding‖user_data(2)
= 1010‖0000‖01000001
= 1010000001000001(十進数で41025)
For example, in the example of FIG. 6 (a), as shown below, after padding, user_data (1) and user_data (2) including padding are concatenated to obtain concatenated data con_data.
con_data = user_data (1) ‖padding‖user_data (2)
= 1010‖0000‖01000001
= 1010000001000001 (41025 decimal)
図6(b)はサーバ115のデータ抽出部117が抽出したデータを示し、プライバシ情報server_data(1)=10であり、プライバシ情報server_data(2)=64の例を示す。sever_data_max=8であり、下記の連結データcon_data2が得られる。
con_data2 = server_data(1)‖padding‖server_data(2)
= 1010‖0000‖01000000
= 1010000001000000(十進数で41024)
FIG. 6B shows data extracted by the
con_data2 = server_data (1) ‖padding‖server_data (2)
= 1010‖0000‖01000000
= 1010000001000000 (41024 decimal)
●データ秘匿化処理
図5(b)のフローチャートによりデータ秘匿化処理を説明する。データ秘匿化処理は、データ秘匿部104およびデータ秘匿部119によって実行されるが、以下では、データ秘匿部104におけるデータ秘匿化処理を説明する。なお、データ秘匿部104の処理における「con_data」「con_data_?」を「con_data2」「con_data_?2」(?はワイルドカード)に置き換えればデータ秘匿部119の処理になる。
Data concealment processing The data concealment processing will be described with reference to the flowchart of Fig. 5 (b). The data concealment process is executed by the
データ秘匿部104は、物理現象を利用した真性乱数を用いてcon_data_Yを取得する(S411)。なお、乱数値は、con_dataのビット数に収まる値とする。なお、疑似乱数を用いても構わない。図7により秘匿化データの一例を示す。図7(a)はデータ秘匿部104にcon_data=41025が入力され、con_data_Yとして100が取得された例を示す。
The
次に、データ秘匿部104は、真性乱数を用いてcon_data_Zを取得する(S412)。図7(a)は、con_data_Zとして200が取得された例を示す。
Next, the
次に、データ秘匿部104は、下式によりcon_data_Xを計算する(S413)。図7(a)の例では、con_data_X=300が算出される。
con_data_X = con_data_Y + con_data_Z …(7)
Next, the
con_data_X = con_data_Y + con_data_Z… (7)
次に、データ秘匿部104は、下式によりcon_data_Cを計算する(S414)。図7(a)の例では、con_data_C=41025-300=40725が算出される。
con_data_C = con_data - con_data_X …(8)
Next, the
con_data_C = con_data-con_data_X… (8)
次に、データ秘匿部104は、con_data_X、con_data_Y、con_data_Z、con_data_Cを、前述したように、計算部106、108、110に送信する(S415)。
Next, the
図7(b)はサーバ115のデータ連結部118にcon_data2=41024が入力された例を示す。そして、con_data_Y2=300とcon_data_Z2=400が取得され、con_data_X2=700が算出され、con_data_C=41024-700=40324が算出される。
FIG. 7B shows an example in which con_data2 = 41024 is input to the
●計算部
計算部106、108、110において、図7に示す秘匿化データから次の計算結果が得られる。
if (計算部106) {; …式(1)の計算
con_data_X = 300;
con_data_X2 = 700;
result_data_X = 300 - 700 = -400;
}
if (計算部108) {; …式(2)の計算
con_data_Y = 100;
con_data_C = 40725:
con_data_Y2 = 300;
con_data_C2 = 40324;
result_data_Y = 100 - 300 = -200;
result_data_C = 40725 - 40324= 401;
}
if (計算部110) {; …式(3)の計算
con_data_Z = 200;
con_data_C = 40725:
con_data_Z2 = 400;
con_data_C2 = 40324;
result_data_Z = 200 - 400 = -200;
result_data_C = 40725 - 40324= 401;
}
Calculation unit The
if (Calculation unit 106) {;… Calculation of formula (1)
con_data_X = 300;
con_data_X2 = 700;
result_data_X = 300-700 = -400;
}
if (Calculation unit 108) {;… Calculation of formula (2)
con_data_Y = 100;
con_data_C = 40725:
con_data_Y2 = 300;
con_data_C2 = 40324;
result_data_Y = 100-300 = -200;
result_data_C = 40725-40324 = 401;
}
if (Calculation unit 110) {;… Calculation of equation (3)
con_data_Z = 200;
con_data_C = 40725:
con_data_Z2 = 400;
con_data_C2 = 40324;
result_data_Z = 200-400 = -200;
result_data_C = 40725-40324 = 401;
}
●判定計算部
図8のフローチャートにより判定計算部112の処理を説明する。
Determination Calculation Unit The processing of the
計算結果復元部113は、計算部106、108、110から計算結果result_data_X、result_data_Y、result_data_Z、result_data_Cを受信する(S701)。そして、式(4)(または式(5))の計算により計算結果を復元する(S702)。
上記の計算例によれば:
result_data = result_data_X + result_data_C = -400 + 401 = 1
The calculation
According to the example calculation above:
result_data = result_data_X + result_data_C = -400 + 401 = 1
次に、判定部114は、カウンタiの値を1に初期化し(S703)、i番目のビットマスクmask(i)を作成する(S704)。判定部114は、下式により、最大データサイズuser_data_maxに相当するデータサイズdata_sizeを計算する。
data_size = bit_length(result_data)/data_num …(9)
ここで、bit_length()はビット長を返す関数。
Next, the
data_size = bit_length (result_data) / data_num… (9)
Here, bit_length () is a function that returns the bit length.
そして、判定部114は、result_dataのMSBから(i-1)×data_sizeビット進んだ位置からdata_size分のビットを‘1’にし、それら以外が‘0’のビットマスクを作成する。例えば、result_dataが16ビット、data_num=2の場合、i=1においてmask(1)=‘1111111100000000’が作成され、i=2においてmask(2)=‘0000000011111111’が作成される。
Then, the
次に、判定部114は、計算結果result_dataとmask(i)の論理積をとり、その結果をresult(i)に格納する(S705)。
上記の計算例によれば:
result(1) = result_data && mask(1) =‘1’&& ‘1111111100000000’=‘0’;
result(2) = result_data && mask(2) =‘1’&& ‘0000000011111111’=‘1’;
Next, the
According to the example calculation above:
result (1) = result_data && mask (1) = '1'&&'1111111100000000' = '0';
result (2) = result_data && mask (2) = '1'&&'0000000011111111' = '1';
次に、判定部114は、カウント値iとdata_numを比較し(S706)、i<data_numの場合はカウンタiをインクリメント(S707)して処理をステップS704に戻す。また、i=data_numになると判定結果result(i)を送信する(S708)。
Next, the
計算部206、208、210は、式(1)から(3)に示すように、秘匿化データの間の差分を計算する。従って、計算結果復元部113が復元するデータは、秘匿化前のuser_data(i)とserver_data(i)の差分に相当し、両データが一致すれば対応するビット列はすべて‘0’になる。上記の具体例によれば、判定結果としてresult(1)=‘0’(一致)、result(2)=‘1’(不一致)が得られる。つまり、user_data(1)とserver_data(1)が一致し、user_data(2)とserver_data(2)が一致しない判定結果が得られる。
The
そして、データ数data_num分の判定結果result(i)がすべて‘0’の場合はAND検索(すべての条件を満たすと一致)になる。言い替えれば、すべての論理積の結果を判定結果とすることでAND検索を実施することができる。 When all the determination results result (i) corresponding to the number of data data_num are “0”, an AND search (matches if all conditions are satisfied) is performed. In other words, an AND search can be performed by using all logical product results as determination results.
このように、データ秘匿化前にプライバシ情報として入力されたデータを連結したデータから秘匿化データを生成することで、秘匿化データの数と秘匿計算の回数を削減することができる。 Thus, by generating the concealment data from the data obtained by concatenating the data input as privacy information before data concealment, the number of concealment data and the number of concealment calculations can be reduced.
以下、本発明にかかる実施例2の情報処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。 The information processing according to the second embodiment of the present invention will be described below. Note that the same reference numerals in the second embodiment denote the same parts as in the first embodiment, and a detailed description thereof will be omitted.
実施例1では、ユーザが入力部102を利用してプライバシ情報user_data(i)を入力する例を説明した。さらに、利便性を向上するために、ユーザによるプライバシ情報の直接入力を不要にして、ユーザが指示するデータファイル(例えば電子文書や画像データ)からプライバシ情報を抽出することができる。
In the first embodiment, the example in which the user inputs the privacy information user_data (i) using the
図9のブロック図により実施例2のプライバシ情報の有無判定システムの構成例を示す。また、図10により実施例2のUIの表示例を示す。 FIG. 9 is a block diagram showing a configuration example of the privacy information presence / absence determination system according to the second embodiment. FIG. 10 shows a display example of the UI in the second embodiment.
ユーザは、入力部102により、サーバ115を特定するサイトアドレス、電子文書や画像データのファイル名を入力し、有無を判定したいプライバシ情報の種類に対応するチェックボックスをチェックする。入力部102は、ファイル名とプライバシ情報の種類cat_data(i)をデータ抽出部121に供給するとともに、cat_data(i)をサーバ115のデータ抽出部117に送信する。
The user inputs a site address that identifies the
データ抽出部121は、ユーザが指定するファイル名のデータからcat_data(i)に対応するプライバシ情報user_data(i)を抽出し、データ数data_numをカウントする。電子文書からプライバシ情報を抽出する場合、データ抽出部117と同様の方法を利用すればよい。また、画像データの場合は、例えば、顔写真の場合は顔認識アルゴリズムが使用する特徴量、GPS情報、Exif情報などをプライバシ情報として抽出する。
The
データ抽出部121は、user_data(i)、data_numをデータ連結部103に供給し、data_numをサーバ115のデータ抽出部117、判定計算部112の判定部114に送信する。
The
以下、本発明にかかる実施例3の情報処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。 Hereinafter, information processing according to the third embodiment of the present invention will be described. Note that the same reference numerals in the third embodiment denote the same parts as in the first and second embodiments, and a detailed description thereof will be omitted.
実施例1では、データ連結前にパディングを行って、最大のデータサイズuser_data_maxに他のデータのサイズを合わせた。そのため、user_data_maxが大きく、user_data_maxよりデータサイズが小さいデータが多いと、連結データのデータサイズが大きくなる。例えば下記の七つのデータを連結すると、合計104ビットのデータから224ビットの連結データ(うち120ビットがパディング)が生成される。
user_data(i):A1(32), A2(16), A3(32), A4(8), A5(8), A6(4), A7(4)
con_data = A1‖A2‖p(16)‖A3‖A4‖p(24)‖A5‖p(24)‖A6‖p(28)‖A7‖p(28)
ここで、pはpadding、
( )内はビット長。
In the first embodiment, padding is performed before data connection, and the size of other data is adjusted to the maximum data size user_data_max. Therefore, if user_data_max is large and there is a lot of data whose data size is smaller than user_data_max, the data size of the concatenated data becomes large. For example, when the following seven data are concatenated, 224 bits of concatenated data (of which 120 bits are padded) are generated from a total of 104 bits of data.
user_data (i): A1 (32), A2 (16), A3 (32), A4 (8), A5 (8), A6 (4), A7 (4)
con_data = A1‖A2‖p (16) ‖A3‖A4‖p (24) ‖A5‖p (24) ‖A6‖p (28) ‖A7‖p (28)
Where p is padding,
Figures in parentheses are bit lengths.
実施例3では、判定計算部112の判定部114に送信する情報として、第一のデータ数情報data_numに加えて、データ群user_data(i)に含まれるビット長ごとのデータ数を表す第二のデータ数情報bit_length_numを送信する。そして、判定部114がbit_length_numに応じてビットマスクmask(i)を作成することでパディングを不要にする。
In the third embodiment, as information to be transmitted to the
図11のフローチャートにより実施例3のデータ連結処理を説明する。 The data connection process of the third embodiment will be described with reference to the flowchart of FIG.
データ連結部103は、データ群user_data(i)のデータ数をビット長ごとにカウントする(S301)。なお、ビット長は、例えばコンピュータで汎用的に使用される2のべき乗の単位にする。上記の例では、ビット長が32、16、8、4ビットの四種類のデータがあり、ビット長ごとにデータ数をカウントする。その結果、32ビットのデータ数が2、16ビットのデータ数が1、8ビットのデータ数が2、4ビットのデータ数が2のカウント値が得られる。
The
次に、データ連結部103は、ビット長ことのデータ数を表すbit_length_numを生成する(S302)。bit_length_numは、各ビット長のデータ数を表すビット列によって構成され、各ビット列は例えば2ビットである。上記の例では、32ビットのデータ数が2、16ビットのデータ数が1、8ビットのデータ数が2、4ビットのデータ数が2であるから、bit_length_numは下記のようになる。
ビット長: 32 16 8 4
bit_length_num =‘10’‖‘01’‖‘10’‖‘10’
=‘10011010’
Next, the
Bit length: 32 16 8 4
bit_length_num = '10'‖'01'‖'10'‖'10'
= '10011010'
上記は32ビット長から4ビット長のデータが最大三個存在する場合のbit_length_numのフォーマット(8ビット)を示す。しかし、プライバシ情報にはさらに32ビット長以上の情報も存在する。例えば1024ビット長から4ビット長のデータが最大七個存在する場合のbit_length_numのフォーマット(27ビット)は下記のようになる。
ビット長: 1024 … 64 32 16 8 4
bit_length_num =‘xxx’‖…‖‘xxx’‖‘xxx’‖‘xxx’‖‘xxx’‖‘xxx’
=‘xxx…xxxxxxxxxxxxxxx’
ここで、xは‘0’または‘1’。
The above shows the format of bit_length_num (8 bits) when there is a maximum of three data having a length of 32 bits to 4 bits. However, the privacy information further includes information having a length of 32 bits or more. For example, the format of bit_length_num (27 bits) when there is a maximum of 7 data from 1024 bits to 4 bits is as follows.
Bit length: 1024… 64 32 16 8 4
bit_length_num = 'xxx'‖… ‖'xxx'‖'xxx'‖'xxx'‖'xxx'‖'xxx'
= 'xxx… xxxxxxxxxxxxxxx'
Where x is '0' or '1'.
つまり、bit_length_numのフォーマットは、プライバシ情報の有無判定システムが扱うプライバシ情報によって決まるものである。 That is, the format of bit_length_num is determined by the privacy information handled by the privacy information presence / absence determination system.
次に、データ連結部103は、user_data(i)をビット長順にソートする(S303)。上記の例では、A2(16)<A3(32)であるから、A1、A2、A3、A4、A5、A6、A7の並び順が、ソート後、A1、A3、A2、A4、A5、A6、A7の並び順になる。
Next, the
次に、データ連結部103は、user_data(i)を連結したcon_dataを生成する(S304)。このように、パディングを行わないので、上記の例では、合計104ビットのデータから合計112ビットの連結データとbit_length_numが生成され、パディングする場合に比べてデータサイズを抑えることができる。
Next, the
実施例3のデータ連結部118のデータ連結処理は、実施例3のデータ連結部103のデータ連結処理と同様であり、その詳細説明を省略する。また、判定部114の処理は、bit_length_numに基づきビットマスクmask(i)を生成する点で、実施例1の処理と異なる。
The data linking process of the
bit_length_numから最大ビット長のデータ数を知ることができる。上記の例では、最大ビット長が32、そのデータ数が2である。con_dataはビット長順にソートされているから、判定部114は、まず、result_dataのMSBから32ビットの範囲が‘1’、それ以外が‘0’のmask(1)を作成する。続いて、result_dataの33ビット目から64ビット目の範囲が‘1’、それ以外が‘0’のmask(2)を作成する。
The number of data with the maximum bit length can be known from bit_length_num. In the above example, the maximum bit length is 32 and the number of data is 2. Since con_data is sorted in order of bit length, the
次に、判定部114は、32ビット長のデータに続いて16ビット長のデータが一つあるから、result_dataの65ビット目から80ビット目の範囲が‘1’、それ以外が‘0’のmask(3)を作成し、以降同様に、ビットマスクを作成する。
Next, since there is one 16-bit length data following the 32-bit length data, the
なお、user_data(i)のソートは、ビット長が大きい順ではなく、ビット長が小さい順でもよい。その場合、bit_length_numのフォーマットもビット長が小さい順にして、判定部114のビットマスクの作成もビット長が小さい順になるようにすることが好ましい。
Note that user_data (i) may be sorted not in the order of increasing bit length but in the order of increasing bit length. In this case, it is preferable that the bit_length_num format is also arranged in ascending order of the bit length, and the creation of the bit mask of the
図12のブロック図により実施例3のプライバシ情報の有無判定システムの構成例を示す。図1に示す実施例1の構成と異なるのは、データ連結部103から判定部114に第二のデータ数情報bit_length_numが送信される点である。
FIG. 12 is a block diagram showing a configuration example of the privacy information presence / absence determination system according to the third embodiment. The difference from the configuration of the first embodiment illustrated in FIG. 1 is that the second data number information bit_length_num is transmitted from the
また、実施例3において、第一のデータ数情報data_numは、図8に示すステップS706の判定に用いられるが、bit_length_numから各ビット長のデータ数を抽出し、抽出したデータ数を合計すればdata_numが得られる。従って、端末装置101から判定部114に送信するデータはbit_length_numだけでもよい。図12においては、この点を示すためにdata_numの流れを破線で示す。
In the third embodiment, the first data number information data_num is used for the determination in step S706 shown in FIG. 8, but if the number of data of each bit length is extracted from the bit_length_num and the extracted number of data is totaled, the data_num Is obtained. Therefore, only bit_length_num may be transmitted from the
なお、実施例2と実施例3を組み合わせることもできる。つまり、データ連結部103は、データ抽出部121からデータ群user_data(i)を入力し、第二のデータ数情報bit_length_numおよびパディングなしのcon_dataを生成すればよい。
Note that Example 2 and Example 3 can be combined. That is, the
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
[Other Examples]
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.
Claims (16)
前記データ群のデータを連結処理する連結手段と、
前記連結処理されたデータを秘匿化する秘匿化手段と、
前記秘匿化手段の秘匿化で得られた秘匿化データと、前記サーバ装置のデータ群のデータを連結処理し秘匿化した秘匿化データと、の所定の計算の結果を用いて、秘匿化前のデータ群の計算結果を復元する復元手段と、
前記復元された計算結果に基づき、前記入力されたデータ群と前記サーバ装置のデータ群の一致を判定する判定手段とを有することを特徴とする情報処理装置。 Input means for inputting a data group, first data number information indicating the number of data of the data group, and category data indicating an attribute of each data of the data group to the server device,
A connection means for connecting the data of the data group;
A concealment means for concealing the connected data;
The ciphering and ciphering ciphering data obtained by the means, the using the confidential data the data group of the data linked treated concealment of the server, the result of predetermined calculation, concealing before A restoration means for restoring the calculation result of the data group;
An information processing apparatus comprising: a determination unit configured to determine whether the input data group matches the data group of the server apparatus based on the restored calculation result.
前記復元された計算結果と前記ビットマスクを用いて、前記データ群の各データの一致を判定することを特徴とする請求項6に記載された情報処理装置。 The determination unit includes a generation unit that generates a bit mask using the bit length of the restored calculation result and the first data number information,
7. The information processing apparatus according to claim 6, wherein a match between each data of the data group is determined using the restored calculation result and the bit mask.
前記復元された計算結果と前記ビットマスクを用いて、前記データ群の各データの一致を判定することを特徴とする請求項8に記載された情報処理装置。 The determination means includes generation means for generating a bit mask using the second data number information,
9. The information processing apparatus according to claim 8, wherein a match between the data in the data group is determined using the restored calculation result and the bit mask.
前記入力手段は、前記データ群の代わりに、データファイルを指定する情報および前記データファイルから抽出するデータの属性を示すカテゴリデータを入力して、前記入力したカテゴリデータを前記サーバ装置に送信し、
前記抽出手段は、前記指定されたデータファイルから前記入力されたカテゴリデータに対応するデータ群を抽出し、前記抽出したデータ群のデータ数を前記第一のデータ数情報として前記サーバ装置に送信することを特徴とする請求項1から請求項9の何れか一項に記載された情報処理装置。 Furthermore, it has extraction means for extracting data from the data file,
The input means inputs information specifying a data file and category data indicating attributes of data extracted from the data file instead of the data group, and transmits the input category data to the server device.
The extraction unit extracts a data group corresponding to the input category data from the designated data file, and transmits the number of data in the extracted data group to the server device as the first data number information. it is an information processing apparatus according to any one of claims 1 to 9, characterized in.
前記データ群のデータを連結処理する手段と、
前記連結処理されたデータを秘匿化し、前記秘匿化したデータを前記情報処理装置に送信する手段とを有することを特徴とするサーバ装置。 The first data number information and the category data are received from the information processing device according to any one of claims 1 to 11, and the first data number information corresponds to the category data from a database. Means for extracting a corresponding number of data as a data group;
Means for concatenating the data of the data group;
A server apparatus comprising: means for concealing the concatenated data and transmitting the concealed data to the information processing apparatus.
前記情報処理装置の入力手段が、データ群を入力し、前記データ群のデータ数を示す第一のデータ数情報、および、前記データ群の各データの属性を示すカテゴリデータをサーバ装置に送信し、
前記情報処理装置の連結手段が、前記データ群のデータを連結処理し、
前記情報処理装置の秘匿化手段が、前記連結処理されたデータを秘匿化し、
前記情報処理装置の復元手段が、前記秘匿化手段の秘匿化で得られた秘匿化データと、前記サーバ装置のデータ群のデータを連結処理し秘匿化した秘匿化データと、の所定の計算の結果を用いて、秘匿化前のデータ群の計算結果を復元し、
前記情報処理装置の判定手段が、前記復元された計算結果に基づき、前記入力されたデータ群と前記サーバ装置のデータ群の一致を判定することを特徴とする情報処理方法。 An information processing method performed by an information processing apparatus,
The input unit of the information processing apparatus inputs a data group, and transmits first data number information indicating the number of data of the data group and category data indicating an attribute of each data of the data group to the server apparatus. ,
The connection means of the information processing device performs a connection process on the data of the data group,
The concealment means of the information processing apparatus conceals the connected data,
Restoring means of the information processing apparatus, wherein the confidential data obtained by the concealment of concealing means, and concealing data the data group of the data linked treated concealment of the server apparatus, the predetermined calculation Using the result, restore the calculation result of the data group before concealment,
An information processing method determination means of the information processing apparatus, based on the restored calculation result, characterized in that determining the matching data group of the input data unit and the server unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013093045A JP6141091B2 (en) | 2013-04-25 | 2013-04-25 | Information processing apparatus, information processing method, server apparatus, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013093045A JP6141091B2 (en) | 2013-04-25 | 2013-04-25 | Information processing apparatus, information processing method, server apparatus, program, and recording medium |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014216865A JP2014216865A (en) | 2014-11-17 |
JP2014216865A5 JP2014216865A5 (en) | 2016-06-16 |
JP6141091B2 true JP6141091B2 (en) | 2017-06-07 |
Family
ID=51942209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013093045A Expired - Fee Related JP6141091B2 (en) | 2013-04-25 | 2013-04-25 | Information processing apparatus, information processing method, server apparatus, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6141091B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6370230B2 (en) * | 2015-01-23 | 2018-08-08 | Kddi株式会社 | Secret calculation control device, secret calculation control method, and secret calculation control program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3784055B2 (en) * | 2001-10-03 | 2006-06-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | List matching method, network system, server and information terminal |
US20100329448A1 (en) * | 2009-06-30 | 2010-12-30 | Rane Shantanu D | Method for Secure Evaluation of a Function Applied to Encrypted Signals |
-
2013
- 2013-04-25 JP JP2013093045A patent/JP6141091B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014216865A (en) | 2014-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6190041B2 (en) | Safety confirmation system and concealed data similarity search method | |
CN106570144B (en) | The method and apparatus of recommendation information | |
JP6456162B2 (en) | Anonymization processing device, anonymization processing method and program | |
WO2020211660A1 (en) | Information processing method and device based on blockchain, and computer-readable storage medium | |
US9552494B1 (en) | Protected indexing and querying of large sets of textual data | |
JP6504405B2 (en) | Ciphertext Comparison System, Ciphertext Comparison Method, Encryption Device and Ciphertext Comparison Device, and Control Method and Control Program Therefor | |
US12041176B2 (en) | Information processing device and information processing method for providing secure encryption by sharing word division between client and server | |
CN109816543A (en) | A kind of image lookup method and device | |
US20130212693A1 (en) | Anonymous whistle blower system with reputation reporting of anonymous whistle blower | |
US11055431B2 (en) | Securing data storage of personally identifiable information in a database | |
CN117454436B (en) | Data alignment method and system based on multiplication group and electronic equipment | |
JP6141091B2 (en) | Information processing apparatus, information processing method, server apparatus, program, and recording medium | |
CN112041847A (en) | Providing images with privacy tags | |
US20200349319A1 (en) | Edoc utility using non-structured-query-language databases | |
WO2019127660A1 (en) | Method and system for identifying harmful pictures based on user id | |
TW201421267A (en) | Searching system and method | |
CN108563713A (en) | Keyword rule generating method and device and electronic equipment | |
CN105354506B (en) | The method and apparatus of hidden file | |
US11902418B2 (en) | Registration device, search operation device, and data management device | |
TWI797808B (en) | Machine learning system and method | |
CN110069649B (en) | Graphic file retrieval method, graphic file retrieval device, graphic file retrieval equipment and computer readable storage medium | |
WO2022217953A1 (en) | Data desensitization method and device | |
JP7327100B2 (en) | Data management system, data management device and data management program | |
CN110413366B (en) | Screen capturing method, device, equipment and storage medium based on blockchain | |
WO2019127651A1 (en) | Method and system thereof for identifying malicious video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160420 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160420 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170216 |
|
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: 20170407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170502 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6141091 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |