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 PDF

Info

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
Application number
JP2013093045A
Other languages
Japanese (ja)
Other versions
JP2014216865A5 (en
JP2014216865A (en
Inventor
健一 沖原
健一 沖原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013093045A priority Critical patent/JP6141091B2/en
Publication of JP2014216865A publication Critical patent/JP2014216865A/en
Publication of JP2014216865A5 publication Critical patent/JP2014216865A5/en
Application granted granted Critical
Publication of JP6141091B2 publication Critical patent/JP6141091B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 Patent Document 1 conceals image data of a photograph that can identify an individual, and calculates a feature amount from the concealed image data by using concealment calculation. In addition, the feature amount is similarly calculated from the image data of the photograph published on the website. Then, the feature amounts are compared, and if they match, a deletion request for the photographic image is transmitted. According to such a method, it is possible to make a deletion request without disclosing the photographic image itself that can identify an individual as privacy information.

しかし、特許文献1の方法は、比較対象の写真画像ごとに秘匿計算が必要になる。例えば、家族や友人の写真画像が公開されていないかを検索するためにOR検索(何れかの条件を満たすと一致)を行う場合、複数の写真画像を用意して、写真画像の数分の秘匿計算を行う。その結果、秘匿計算の計算量が増大する。   However, the method of Patent Document 1 requires a secret calculation for each photographic image to be compared. For example, when performing an OR search (matches if any of the conditions are met) to find out whether a family or friend's photo image has been published, prepare multiple photo images, and the number of photo images Perform confidential calculation. As a result, the calculation amount of the secret calculation increases.

特開2011-022641号公報JP 2011-022641

本発明は、秘匿計算を用いて、入力されたデータ群とサーバ装置のデータ群の一致を判定する場合に、秘匿計算の計算量を抑制することを目的とする。   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.

実施例のプライバシ情報の有無判定システムの構成例を示すブロック図。The block diagram which shows the structural example of the privacy information presence determination system of an Example. cat_data(i)の値の一例を示す図。The figure which shows an example of the value of cat_data (i). UIの表示例を示す図。The figure which shows the example of a display of UI. プライバシ情報の有無判定処理を説明するフローチャート。6 is a flowchart for explaining privacy information presence / absence determination processing. データ連結処理およびデータ秘匿化処理を説明するフローチャート。The flowchart explaining a data connection process and a data concealment process. 連結データの一例を示す図。The figure which shows an example of connection data. 秘匿化データの一例を示す図。The figure which shows an example of concealment data. 判定計算部の処理を説明するフローチャート。The flowchart explaining the process of a judgment calculation part. 実施例2のプライバシ情報の有無判定システムの構成例を示すブロック図。FIG. 6 is a block diagram illustrating a configuration example of a privacy information presence / absence determination system according to a second embodiment. 実施例2のUIの表示例を示す図。FIG. 10 is a diagram illustrating a display example of a UI according to the second embodiment. 実施例3のデータ連結処理を説明するフローチャート。10 is a flowchart for explaining data connection processing according to the third embodiment. 実施例3のプライバシ情報の有無判定システムの構成例を示すブロック図。FIG. 9 is a block diagram illustrating a configuration example of a privacy information presence / absence determination system according to a third embodiment.

以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。   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 terminal device 101, calculation units 106, 108, and 110, a determination calculation unit 112, and a server 115 that can communicate with each other via a network.

●端末装置
端末装置101は、例えばパーソナルコンピュータ(PC)である。入力部102は、例えばキーボードやマウスなどを有し、サイトアドレスや氏名や住所などのプライバシ情報に該当するデータ群をuser_data(i)(i=1, 2, …, data_num)として入力する。なお、サイトアドレスは、削除したいプライバシ情報が登録されている可能性があるサイトのアドレス情報(例えばURLやIPアドレス)である。また、data_numはデータ数を示すデータ数情報である。なお、プライバシ情報は、氏名(ふりがなを含む)、住所、性別、年齢、電話番号、生年月日、社会保障番号等の番号など個人を特定可能な個人情報である。
Terminal Device The terminal device 101 is a personal computer (PC), for example. The input unit 102 includes, for example, a keyboard and a mouse, and inputs a data group corresponding to privacy information such as a site address, name, and address as user_data (i) (i = 1, 2,..., Data_num). The site address is address information (for example, a URL or IP address) of a site where privacy information to be deleted may be registered. Further, data_num is data number information indicating the number of data. The privacy information is personal information that can identify an individual, such as a name (including phonetic), address, gender, age, telephone number, date of birth, social security number, and the like.

入力部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 input unit 102 supplies user_data (i) and data_num to the data connection unit 103 and the display unit 105, and transmits data_num to the determination calculation unit 112. Further, the input unit 102 generates category data cat_data (i) indicating the attribute of each data of user_data (i), and transmits cat_data (i) and data_num to the server 115. FIG. 2 shows an example of the value of cat_data (i). For example, if the attribute of user_data (i) is “name”, cat_data (i) = 1, if it is “address”, cat_data (i) = 2, and if it is “phone number”, cat_data (i) = 3.

データ連結部103は、詳細は後述するが、入力部102から受信したデータuser_data(i)をすべて連結し、連結したデータcat_dataを生成する。   As will be described in detail later, the data concatenation unit 103 concatenates all data user_data (i) received from the input unit 102 and generates concatenated data cat_data.

データ秘匿部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 data concealment unit 104 conceals cat_data generated by the data concatenation unit 103 using a genuine random number and a predetermined formula. That is, the data before concealment is divided into four pieces of concealed data con_data_X, con_data_Y, con_data_Z, and con_data_C from the data before concealment and the random numbers. Then, con_data_X is transmitted to the calculation unit 106, con_data_Y and con_data_C are transmitted to the calculation unit 108, and con_data_Z and con_data_C are transmitted to the calculation unit 110.

秘匿化前のデータの復元には、計算部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 calculation units 106, 108, and 110, and the data before concealment can be protected. Note that a method that allows addition and subtraction while being concealed, for example, a multi-party calculation protocol or a Paillier cipher that is a homomorphic cipher can be used.

表示部105は、例えばモニタにユーザインタフェイス(UI)を表示する。UIは、入力部102によって入力する情報および入力された情報、並びに、サーバ115において入力データに一致するデータがあるか否かの判定結果などの閲覧に利用される。   The display unit 105 displays a user interface (UI) on a monitor, for example. The UI is used for browsing the information input by the input unit 102, the input information, and the determination result as to whether or not there is data matching the input data in the server 115.

図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 input unit 1001a, a site address to which a deletion request is made when there is information searched and matching with the privacy information is input. Privacy information is input to the input unit 1001b. In this example, a name 1001c, an address 1001d, and a telephone number 1001e are input as privacy information. Then, after the determination in the server 115, the determination result is displayed on the display unit 1001f as shown in FIG. 3 (b).

なお、属性が同じデータでも、当該データを格納するフィールドのサイズ(バイト長)が異なる場合がある。この点を考慮すると、入力部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 input unit 102 specifies a server device by a site address, communicates with the server device, and determines the data size of each privacy information.

●計算部および判定計算部
計算部106、108、110および判定計算部112はそれぞれ所定の計算を行う主体であり、例えばCPU、RAMなどのメモリ、HDDなどの記録媒体、サーバとの通信インタフェイスを有するコンピュータ機器を備える装置やシステムなどである。計算部のCPUがRAMをワークメモリとしてHDDに格納されたプログラムを実行することで、計算部の機能が実現される。
Calculation unit and determination calculation unit The calculation units 106, 108, and 110 and the determination calculation unit 112 are each a main body that performs predetermined calculations. For example, a CPU, a memory such as a RAM, a recording medium such as an HDD, and a communication interface with a server An apparatus or a system including a computer device having The function of the calculation unit is realized by the CPU of the calculation unit executing a program stored in the HDD using the RAM as a work memory.

計算部106は、端末装置101において秘匿化されたデータcon_data_Xと、後述するサーバ115において秘匿化されたデータcon_data_X2を用いる式(1)に示す計算を行い、計算結果を判定計算部112に送信する。
result_data_X = con_data_X - con_data_X2; …(1)
The calculation unit 106 performs the calculation shown in Expression (1) using the data con_data_X concealed in the terminal device 101 and the data con_data_X2 concealed in the server 115 described later, and transmits the calculation result to the determination calculation unit 112 .
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 calculation unit 108 inputs data con_data_Y and con_data_C concealed in the terminal device 101 and data con_data_Y2 and con_data_C2 concealed in the server 115 described later. Then, the calculation shown in Expression (2) using these data is performed, and the calculation result is transmitted to the determination calculation unit 112.
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 calculation unit 110 inputs data con_data_Z and con_data_C concealed in the terminal device 101 and data con_data_Z2 and con_data_C2 concealed in the server 115 described later. Then, the calculation shown in Expression (3) using these data is performed, and the calculation result is transmitted to the determination calculation unit 112.
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 determination calculation unit 112 includes a calculation result restoration unit 113 and a determination unit 114. The calculation result restoration unit 113 restores the calculation result of the data before concealment by the calculation of Expression (4) using the calculation results result_data_X and result_data_C of the calculation units 106, 108, and 110. Alternatively, the calculation result of the data before concealment is restored by the calculation of Expression (5) using result_data_Y, result_data_Z, and result_data_C.
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 determination unit 114 inputs the restoration result of the calculation result restoration unit 113, and determines whether the data user_data (i) input in the terminal device 101 matches the data server_data (i) in the server 115. Then, the determination result is transmitted to the display unit 105 of the terminal device 101 and the determination result receiving unit 120 of the server 115.

●サーバ
サーバ115は、端末装置101の入力部102により入力されたアドレスのサイトを運用するサーバに該当する。サーバ115は、データベース(DB)116、データ抽出部117、データ連結部118、データ秘匿部119および判定結果受信部120を有する。なお、サーバ115は、例えばCPU、RAMなどのメモリ、HDDなどの記録媒体を有するコンピュータ装置であり、CPUがRAMをワークメモリとしてHDDに格納されたプログラムを実行することで、サーバ115の機能が実現される。
Server The server 115 corresponds to a server that operates the site at the address input by the input unit 102 of the terminal device 101. The server 115 includes a database (DB) 116, a data extraction unit 117, a data connection unit 118, a data concealment unit 119, and a determination result reception unit 120. The server 115 is a computer device having a recording medium such as a CPU, a memory such as a RAM, and an HDD, for example. The CPU 115 executes the program stored in the HDD using the RAM as a work memory, so that the function of the server 115 is achieved. Realized.

DB116には、疾病に関する医療用の統計データなどが電子文書として格納されている。データ抽出部117は、端末装置101から受信したcat_data(i)に基づき、該当する属性のデータがDB116にあるか否かを判定し、あればそれらデータ群を抽出し、抽出したデータをserver_data(i)としてRAMなどに格納する。   The DB 116 stores medical statistical data regarding diseases as electronic documents. Based on the cat_data (i) received from the terminal device 101, the data extraction unit 117 determines whether or not the data with the corresponding attribute exists in the DB 116, and if there is, extracts those data groups and extracts the extracted data as server_data ( Store in RAM etc. as i).

なお、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 data concatenation unit 103, the data concatenation unit 118 concatenates server_data (i) and generates con_data2. Similarly to the data concealment unit 104, the data concealment unit 119 conceals con_data2. That is, the data before concealment is divided into four data con_data_X2, con_data_Y2, con_data_Z2, and con_data_C2 from the data before concealment and the random number. Then, con_data_X2 is transmitted to the calculation unit 106, con_data_Y2 and con_data_C2 are transmitted to the calculation unit 108, and con_data_Z2 and con_data_C2 are transmitted to the calculation unit 110.

判定結果受信部120は、判定計算部112から判定結果を受信する。サーバ115の管理者は、判定結果受信部120が受信した判定結果を参照して、判定結果が「データが一致」を示す場合は該当するデータを削除する。   The determination result receiving unit 120 receives the determination result from the determination calculation unit 112. The administrator of the server 115 refers to the determination result received by the determination result receiving unit 120 and deletes the corresponding data when the determination result indicates “data matches”.

[プライバシ情報の有無判定処理]
図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 input unit 102 of the terminal device 101 inputs data such as a site address and privacy information, and identifies the server 115 that operates the site DB 116 from the input site address. Furthermore, privacy information is stored in user_data (i), the number of data of privacy information is stored in data_num, and the data attribute of user_data (i) is stored in cat_data (i). Then, data_num is transmitted to the determination unit 114 of the determination calculation unit 112, and cat_data (i) and data_num are transmitted to the data extraction unit 117 of the server 115 (S201).

次に、データ連結部103は入力されたuser_data(i)を連結し(S202)、データ秘匿部104は連結されたデータcon_dataを秘匿化する(S203)。   Next, the data concatenation unit 103 concatenates the input user_data (i) (S202), and the data concealment unit 104 conceals the concatenated data con_data (S203).

サーバ115のデータ抽出部117は、端末装置101から受信したcat_data(i)に基づき、該当する属性のデータがDB116にあるか否かを判定する。そして、該当する属性のデータあれば、それらデータを抽出し、抽出したデータをserver_data(i)に格納する(S204)。   Based on cat_data (i) received from the terminal device 101, the data extraction unit 117 of the server 115 determines whether or not data with the corresponding attribute exists in the DB 116. If there is data with the corresponding attribute, the data is extracted, and the extracted data is stored in server_data (i) (S204).

次に、データ連結部118は抽出されたserver_data(i)を連結し(S205)、データ秘匿部119は連結されたデータcon_data2を秘匿化する(S206)。   Next, the data concatenation unit 118 concatenates the extracted server_data (i) (S205), and the data concealment unit 119 conceals the concatenated data con_data2 (S206).

計算部106、108、110はそれぞれ、秘匿化データの差分を算出し、計算結果を判定計算部112の計算結果復元部113に送信する(S207)。   Each of the calculation units 106, 108, and 110 calculates the difference of the concealment data, and transmits the calculation result to the calculation result restoration unit 113 of the determination calculation unit 112 (S207).

判定計算部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 result restoration unit 113 of the determination calculation unit 112 restores user_data (i) and server_data (i) based on the calculation results received from the calculation units 106, 108, and 110 (S208). Then, the determination unit 114 determines whether the restored user_data (i) and server_data (i) match or not (S209), and sends the determination results to the display unit 105 of the terminal device 101 and the determination result reception unit 120 of the server 115. Transmit (S210).

判定結果の受信後、表示部105はUIの表示を更新する(例えば、図3(a)から図3(b))。また、サーバ115の管理者は、判定結果受信部120が受信した判定結果を参照する。そして、判定結果が、端末装置101において入力されたプライバシ情報に一致するデータがあることを示す場合(判定結果がすべて‘0’)、プライバシ情報server_data(i)を削除する。   After receiving the determination result, the display unit 105 updates the UI display (for example, FIG. 3A to FIG. 3B). Further, the administrator of the server 115 refers to the determination result received by the determination result receiving unit 120. If the determination result indicates that there is data that matches the privacy information input in the terminal device 101 (all determination results are ‘0’), the privacy information server_data (i) is deleted.

●データ連結処理
図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 data connection unit 103 and the data connection unit 118. Hereinafter, the data connection process in the data connection unit 103 will be described. If “user_data (i)” and “con_data” in the processing of the data linking unit 103 are replaced with “server_data (i)” and “con_data2”, the processing of the data linking unit 118 is performed.

図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 input unit 102 of the terminal device 101, where privacy information user_data (1) = 10 and privacy information user_data (2) = 65. In this case, the number of data data_num = 2. In FIG. 6A, cat_data (i) is not described, but for example, cat_data (1) = 1 and cat_data (2) = 2.

データ連結部103は、データuser_data(i)のデータサイズをビット単位で計測し、最大のデータサイズをuser_data_maxとする(S401)。例えば、図6(a)の例では、user_data(1)が4ビット、user_data(2)が8ビットであり、user_data_maxは8ビットである。   The data concatenation unit 103 measures the data size of the data user_data (i) in bits, and sets the maximum data size as user_data_max (S401). For example, in the example of FIG. 6A, user_data (1) is 4 bits, user_data (2) is 8 bits, and user_data_max is 8 bits.

次に、データ連結部103は、データサイズがuser_data_maxに達しないデータをパディングする(S402)。例えば、図6(a)の例では、user_data(1)は、4ビット(<user_data_max=8ビット)であり、パディング‘0000’を連結して8ビットデータにする。   Next, the data concatenation unit 103 pads the data whose data size does not reach user_data_max (S402). For example, in the example of FIG. 6A, user_data (1) is 4 bits (<user_data_max = 8 bits), and padding “0000” is concatenated into 8-bit data.

次に、データ連結部103は、下式によりuser_data(i)を連結してcon_dataを生成する(S403)。
con_data = user_data(1)‖user_data(2)‖…‖user_data(data_num) …(6)
ここで、‖は連結演算子。
Next, the data concatenation unit 103 concatenates user_data (i) by the following equation to generate con_data (S403).
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 data extraction unit 117 of the server 115, where privacy information server_data (1) = 10 and privacy information server_data (2) = 64. sever_data_max = 8, and the following concatenated data con_data2 is obtained.
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 data concealment unit 104 and the data concealment unit 119. Hereinafter, the data concealment process in the data concealment unit 104 will be described. If “con_data” and “con_data_?” In the processing of the data concealment unit 104 are replaced with “con_data2” and “con_data_? 2” (? Is a wild card), the processing of the data concealment unit 119 is performed.

データ秘匿部104は、物理現象を利用した真性乱数を用いてcon_data_Yを取得する(S411)。なお、乱数値は、con_dataのビット数に収まる値とする。なお、疑似乱数を用いても構わない。図7により秘匿化データの一例を示す。図7(a)はデータ秘匿部104にcon_data=41025が入力され、con_data_Yとして100が取得された例を示す。   The data concealment unit 104 acquires con_data_Y using a true random number using a physical phenomenon (S411). Note that the random value is a value that fits in the number of bits of con_data. A pseudo random number may be used. FIG. 7 shows an example of confidential data. FIG. 7A shows an example in which con_data = 41025 is input to the data concealment unit 104 and 100 is acquired as con_data_Y.

次に、データ秘匿部104は、真性乱数を用いてcon_data_Zを取得する(S412)。図7(a)は、con_data_Zとして200が取得された例を示す。   Next, the data concealment unit 104 acquires con_data_Z using a true random number (S412). FIG. 7 (a) shows an example in which 200 is acquired as con_data_Z.

次に、データ秘匿部104は、下式によりcon_data_Xを計算する(S413)。図7(a)の例では、con_data_X=300が算出される。
con_data_X = con_data_Y + con_data_Z …(7)
Next, the data concealment unit 104 calculates con_data_X by the following equation (S413). In the example of FIG. 7 (a), con_data_X = 300 is calculated.
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 data concealment unit 104 calculates con_data_C by the following equation (S414). In the example of FIG. 7A, con_data_C = 41025−300 = 40725 is calculated.
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 data concealment unit 104 transmits con_data_X, con_data_Y, con_data_Z, and con_data_C to the calculation units 106, 108, and 110 as described above (S415).

図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 data concatenation unit 118 of the server 115. Then, con_data_Y2 = 300 and con_data_Z2 = 400 are acquired, con_data_X2 = 700 is calculated, and con_data_C = 41024-700 = 40324 is calculated.

●計算部
計算部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 calculation units 106, 108, and 110 obtain the following calculation results from the confidential data shown in FIG.
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 determination calculation unit 112 will be described with reference to the flowchart of FIG.

計算結果復元部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 result restoration unit 113 receives the calculation results result_data_X, result_data_Y, result_data_Z, and result_data_C from the calculation units 106, 108, and 110 (S701). Then, the calculation result is restored by the calculation of Expression (4) (or Expression (5)) (S702).
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 determination unit 114 initializes the value of the counter i to 1 (S703), and creates an i-th bit mask mask (i) (S704). The determination unit 114 calculates a data size data_size corresponding to the maximum data size user_data_max by the following equation.
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 determination unit 114 sets a bit corresponding to data_size from the position advanced by (i−1) × data_size bits from the MSB of result_data to “1”, and creates a bit mask of “0” for other bits. For example, when result_data is 16 bits and data_num = 2, mask (1) = ‘1111111100000000’ is created when i = 1, and mask (2) = ‘0000000011111111’ is created when i = 2.

次に、判定部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 determination unit 114 calculates the logical product of the calculation result result_data and mask (i) and stores the result in result (i) (S705).
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 determination unit 114 compares the count value i with data_num (S706), and if i <data_num, increments the counter i (S707) and returns the process to step S704. When i = data_num, the determination result result (i) is transmitted (S708).

計算部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 calculation units 206, 208, and 210 calculate the difference between the concealment data as shown in the equations (1) to (3). Therefore, the data restored by the calculation result restoration unit 113 corresponds to the difference between user_data (i) and server_data (i) before concealment, and if the two data match, all the corresponding bit strings are “0”. According to the specific example, result (1) = ‘0’ (match) and result (2) = ‘1’ (not match) are obtained as determination results. That is, a determination result is obtained in which user_data (1) and server_data (1) match, and user_data (2) and server_data (2) do not match.

そして、データ数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 input unit 102 has been described. Furthermore, in order to improve convenience, privacy information can be extracted from a data file (for example, an electronic document or image data) instructed by the user without directly inputting privacy information by the user.

図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 server 115 and a file name of an electronic document or image data using the input unit 102, and checks a check box corresponding to the type of privacy information that the user wants to determine. The input unit 102 supplies the file name and the type of privacy information cat_data (i) to the data extraction unit 121, and transmits cat_data (i) to the data extraction unit 117 of the server 115.

データ抽出部121は、ユーザが指定するファイル名のデータからcat_data(i)に対応するプライバシ情報user_data(i)を抽出し、データ数data_numをカウントする。電子文書からプライバシ情報を抽出する場合、データ抽出部117と同様の方法を利用すればよい。また、画像データの場合は、例えば、顔写真の場合は顔認識アルゴリズムが使用する特徴量、GPS情報、Exif情報などをプライバシ情報として抽出する。   The data extraction unit 121 extracts privacy information user_data (i) corresponding to cat_data (i) from the data of the file name specified by the user, and counts the number of data data_num. When extracting privacy information from an electronic document, a method similar to that of the data extraction unit 117 may be used. In the case of image data, for example, in the case of a face photograph, feature quantities used by the face recognition algorithm, GPS information, Exif information, and the like are extracted as privacy information.

データ抽出部121は、user_data(i)、data_numをデータ連結部103に供給し、data_numをサーバ115のデータ抽出部117、判定計算部112の判定部114に送信する。   The data extraction unit 121 supplies user_data (i) and data_num to the data concatenation unit 103, and transmits data_num to the data extraction unit 117 of the server 115 and the determination unit 114 of the determination calculation unit 112.

以下、本発明にかかる実施例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 determination unit 114 of the determination calculation unit 112, in addition to the first data number information data_num, the second number representing the number of data for each bit length included in the data group user_data (i). Data number information bit_length_num is transmitted. Then, the determination unit 114 creates a bit mask mask (i) according to bit_length_num, thereby eliminating padding.

図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 data concatenation unit 103 counts the number of data in the data group user_data (i) for each bit length (S301). The bit length is, for example, a unit of power of 2 that is generally used in computers. In the above example, there are four types of data with bit lengths of 32, 16, 8, and 4 bits, and the number of data is counted for each bit length. As a result, a count value is obtained in which the number of 32-bit data is 2, the number of 16-bit data is 1, the number of 8-bit data is 2, and the number of 4-bit data is 2.

次に、データ連結部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 data concatenation unit 103 generates bit_length_num representing the number of data that is a bit length (S302). bit_length_num is composed of a bit string indicating the number of data of each bit length, and each bit string is, for example, 2 bits. In the above example, the number of 32-bit data is 2, the number of 16-bit data is 1, the number of 8-bit data is 2, and the number of 4-bit data is 2, so bit_length_num is as follows.
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 data concatenation unit 103 sorts user_data (i) in order of bit length (S303). In the above example, A2 (16) <A3 (32), so the order of A1, A2, A3, A4, A5, A6, A7 is A1, A3, A2, A4, A5, A6 after sorting. , A7 is arranged in order.

次に、データ連結部103は、user_data(i)を連結したcon_dataを生成する(S304)。このように、パディングを行わないので、上記の例では、合計104ビットのデータから合計112ビットの連結データとbit_length_numが生成され、パディングする場合に比べてデータサイズを抑えることができる。   Next, the data concatenation unit 103 generates con_data obtained by concatenating user_data (i) (S304). Thus, since padding is not performed, in the above example, a total of 112 bits of concatenated data and bit_length_num are generated from a total of 104 bits of data, and the data size can be reduced as compared with the case of padding.

実施例3のデータ連結部118のデータ連結処理は、実施例3のデータ連結部103のデータ連結処理と同様であり、その詳細説明を省略する。また、判定部114の処理は、bit_length_numに基づきビットマスクmask(i)を生成する点で、実施例1の処理と異なる。   The data linking process of the data linking unit 118 of the third embodiment is the same as the data linking process of the data linking unit 103 of the third embodiment, and detailed description thereof is omitted. Further, the process of the determination unit 114 is different from the process of the first embodiment in that a bit mask mask (i) is generated based on bit_length_num.

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 determination unit 114 first creates a mask (1) in which the 32-bit range from the MSB of result_data is ‘1’ and the others are ‘0’. Subsequently, a mask (2) is created in which the range from the 33rd bit to the 64th bit of result_data is ‘1’, and the others are ‘0’.

次に、判定部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 determination unit 114 is “1” in the range of the 65th to 80th bits of result_data, and “0” otherwise. Create mask (3), and create a bit mask in the same way.

なお、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 determination unit 114 is also arranged in the order of the smaller bit length.

図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 data linking unit 103 to the determination unit 114.

また、実施例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 terminal device 101 to the determination unit 114. In FIG. 12, the flow of data_num is indicated by a broken line to indicate this point.

なお、実施例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 data concatenation unit 103 may input the data group user_data (i) from the data extraction unit 121 and generate the second data number information bit_length_num and the con_data without padding.

[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又は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.
前記サーバ装置のデータ群は、前記カテゴリデータに対応し、前記第一のデータ数情報に相当する数のデータを含むことを特徴とする請求項1に記載された情報処理装置。 2. The information processing apparatus according to claim 1, wherein the data group of the server apparatus includes a number of data corresponding to the category data and corresponding to the first data number information. 前記入力手段は、さらに、前記サーバ装置を特定するためのアドレス情報を入力することを特徴とする請求項1または請求項2に記載された情報処理装置。 3. The information processing apparatus according to claim 1, wherein the input unit further inputs address information for specifying the server apparatus. さらに、前記秘匿化手段および前記サーバ装置から秘匿化データを受信して、前記所定の計算を行う計算手段を有することを特徴とする請求項1から請求項3の何れか一項に記載された情報処理装置。 4. The method according to claim 1, further comprising a calculation unit that receives the concealment data from the concealment unit and the server device and performs the predetermined calculation. Information processing device. 前記計算手段は、前記秘匿化データを用いて、秘匿化前の前記入力されたデータ群のデータと前記サーバ装置のデータ群のデータの差分を計算することを特徴とする請求項4に記載された情報処理装置。 Said calculating means uses the ciphering data, set forth in claim 4, wherein the calculating the difference data of the data group of data and the server device of the input data set before concealment Information processing equipment. 前記連結処理は、前記データ群のデータの最大データサイズに合わせて、前記データ群の各データをパディングし、前記パディング後のデータを連結する処理であることを特徴とする請求項1から請求項5の何れか一項に記載された情報処理装置。 The coupling process in accordance with the maximum data size of the data of the data group, padding each data of said data groups, claim from claim 1, characterized in that the process of connecting the data after the padding 6. The information processing apparatus described in any one of 5. 前記判定手段は、前記復元された計算結果のビット長と前記第一のデータ数情報を用いてビットマスクを生成する生成手段を有し、
前記復元された計算結果と前記ビットマスクを用いて、前記データ群の各データの一致を判定することを特徴とする請求項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.
前記連結処理は、前記データ群のデータ数をビット長の順に示す第二のデータ数情報を生成し、前記データ群のデータを前記ビット長の順にソートし、前記ソート後のデータを連結する処理であることを特徴とする請求項1から請求項5の何れか一項に記載された情報処理装置。 Processing the connection process, the number of data of the data group and generating a second data number information indicating the order of the bit length, and sort the data of the data groups in the order of the bit length, connecting the data after the sorting and an information processing apparatus according to any one of claims 1 to 5, characterized in that it. 前記判定手段は、前記第二のデータ数情報を用いてビットマスクを生成する生成手段を有し、
前記復元された計算結果と前記ビットマスクを用いて、前記データ群の各データの一致を判定することを特徴とする請求項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.
前記判定手段は、前記判定の結果を前記サーバ装置に送信することを特徴とする請求項1から請求項10の何れか一項に記載された情報処理装置。 It said determining means is an information processing apparatus according to any one of claims 1 to 10, characterized in that for transmitting the result of the determination to the server apparatus. 請求項1から請求項11の何れか一項に記載された情報処理装置から第一のデータ数情報およびカテゴリデータを受信し、データベースから前記カテゴリデータに対応し、前記第一のデータ数情報に相当する数のデータをデータ群として抽出する手段と、
前記データ群のデータを連結処理する手段と、
前記連結処理されたデータを秘匿化し、前記秘匿化したデータを前記情報処理装置に送信する手段とを有することを特徴とするサーバ装置。
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.
コンピュータを請求項1から請求項11の何れか一項に記載された情報処理装置の各手段として機能させるためのプログラム。   12. A program for causing a computer to function as each unit of the information processing apparatus according to any one of claims 1 to 11. コンピュータを請求項12に記載されたサーバ装置の各手段として機能させるためのプログラム。   13. A program for causing a computer to function as each unit of the server device according to claim 12. 請求項14または請求項15に記載されたプログラムが記録されたコンピュータが読み取り可能な記録媒体。   16. A computer-readable recording medium on which the program according to claim 14 or 15 is recorded.
JP2013093045A 2013-04-25 2013-04-25 Information processing apparatus, information processing method, server apparatus, program, and recording medium Expired - Fee Related JP6141091B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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