JP2014216865A - 情報処理装置およびその制御方法 - Google Patents

情報処理装置およびその制御方法 Download PDF

Info

Publication number
JP2014216865A
JP2014216865A JP2013093045A JP2013093045A JP2014216865A JP 2014216865 A JP2014216865 A JP 2014216865A JP 2013093045 A JP2013093045 A JP 2013093045A JP 2013093045 A JP2013093045 A JP 2013093045A JP 2014216865 A JP2014216865 A JP 2014216865A
Authority
JP
Japan
Prior art keywords
data
data group
unit
concealment
group
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.)
Granted
Application number
JP2013093045A
Other languages
English (en)
Other versions
JP2014216865A5 (ja
JP6141091B2 (ja
Inventor
健一 沖原
Kenichi Okihara
健一 沖原
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/ja
Publication of JP2014216865A publication Critical patent/JP2014216865A/ja
Publication of JP2014216865A5 publication Critical patent/JP2014216865A5/ja
Application granted granted Critical
Publication of JP6141091B2 publication Critical patent/JP6141091B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

【課題】 秘匿計算を用いて、入力されたデータ群とサーバ装置のデータ群の一致を判定する場合に、秘匿計算の計算量を抑制する。【解決手段】 入力部102は、データ群を入力し、データ群のデータ数を示すデータ数情報、および、データ群の各データの属性を示すカテゴリデータをサーバ装置115に送信する。データ連結部103は、データ群のデータを連結処理する。データ秘匿部104は、連結処理されたデータを秘匿化する。計算結果復元部113は、データ秘匿部104が秘匿化した秘匿化データと、サーバ装置115のデータ群のデータを連結処理し秘匿化した秘匿化データとの所定の計算の結果を用いて、秘匿化前のデータ群の計算結果を復元する。判定部114は、復元された計算結果に基づき、入力されたデータ群とサーバ装置115のデータ群の一致を判定する。【選択図】 図1

Description

本発明は、秘匿計算を用いる情報処理に関する。
例えば、インターネットの普及により、ウェブサイトなどに様々な情報を簡単に公開することができるようになった。その弊害として、例えば人物を特定可能な写真画像(例えば当該人物を被写体として含む写真画像)が第三者によってウェブサイトに公開される危惧がある。本人の意思に反して、そのような写真画像が公開された人物が、プライバシ情報を公開せずに当該写真画像の削除をウェブサイトの管理者に依頼したいという要望がある。そのような要望に応えて、プライバシ情報を秘匿したまま、ウェブサイトの写真画像の削除依頼を送信する方法が提案されている(特許文献1)。
特許文献1の方法は、個人を特定可能な写真の画像データを秘匿化し、秘匿計算を用いて、秘匿化された画像データから特徴量を算出する。また、ウェブサイトに公開された写真の画像データから同様に特徴量を算出する。そして、それら特徴量を比較し、一致する場合は当該写真画像の削除依頼を送信する。このような方法によれば、プライバシ情報である個人を特定可能な写真画像自体を公開せずに、削除依頼を行うことができる。
しかし、特許文献1の方法は、比較対象の写真画像ごとに秘匿計算が必要になる。例えば、家族や友人の写真画像が公開されていないかを検索するためにOR検索(何れかの条件を満たすと一致)を行う場合、複数の写真画像を用意して、写真画像の数分の秘匿計算を行う。その結果、秘匿計算の計算量が増大する。
特開2011-022641号公報
本発明は、秘匿計算を用いて、入力されたデータ群とサーバ装置のデータ群の一致を判定する場合に、秘匿計算の計算量を抑制することを目的とする。
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
本発明にかかる情報処理は、データ群を入力し、前記データ群のデータ数を示す第一のデータ数情報、および、前記データ群の各データの属性を示すカテゴリデータをサーバ装置に送信し、前記データ群のデータを連結処理し、前記連結処理されたデータを秘匿化し、前記秘匿化した秘匿化データと、前記サーバ装置のデータ群のデータを連結処理し秘匿化した秘匿化データとの所定の計算の結果を用いて、秘匿化前のデータ群の計算結果を復元し、前記復元された計算結果に基づき、前記入力されたデータ群と前記サーバ装置のデータ群の一致を判定する。
本発明によれば、秘匿計算を用いて、入力されたデータ群とサーバ装置のデータ群の一致を判定する場合に、秘匿計算の計算量を抑制することができる。
実施例のプライバシ情報の有無判定システムの構成例を示すブロック図。 cat_data(i)の値の一例を示す図。 UIの表示例を示す図。 プライバシ情報の有無判定処理を説明するフローチャート。 データ連結処理およびデータ秘匿化処理を説明するフローチャート。 連結データの一例を示す図。 秘匿化データの一例を示す図。 判定計算部の処理を説明するフローチャート。 実施例2のプライバシ情報の有無判定システムの構成例を示すブロック図。 実施例2のUIの表示例を示す図。 実施例3のデータ連結処理を説明するフローチャート。 実施例3のプライバシ情報の有無判定システムの構成例を示すブロック図。
以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。
[プライバシ情報の有無判定システム]
図1のブロック図により実施例のプライバシ情報の有無判定システムの構成例を示す。プライバシ情報の有無判定システムは、互いにネットワークを介して通信可能な端末装置101、計算部106、108、110、判定計算部112、サーバ115から構成される。
●端末装置
端末装置101は、例えばパーソナルコンピュータ(PC)である。入力部102は、例えばキーボードやマウスなどを有し、サイトアドレスや氏名や住所などのプライバシ情報に該当するデータ群をuser_data(i)(i=1, 2, …, data_num)として入力する。なお、サイトアドレスは、削除したいプライバシ情報が登録されている可能性があるサイトのアドレス情報(例えばURLやIPアドレス)である。また、data_numはデータ数を示すデータ数情報である。なお、プライバシ情報は、氏名(ふりがなを含む)、住所、性別、年齢、電話番号、生年月日、社会保障番号等の番号など個人を特定可能な個人情報である。
入力部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である。
データ連結部103は、詳細は後述するが、入力部102から受信したデータuser_data(i)をすべて連結し、連結したデータ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を送信する。
秘匿化前のデータの復元には、計算部106、108、110のうち少なくとも二つの計算部から送信されるデータを取得する必要があり、秘匿化前のデータを保護することができる。なお、秘匿化したまま加減算ができる方法、例えば、マルチパーティ計算プロトコルや準同型暗号であるPaillier暗号などを使用することができる。
表示部105は、例えばモニタにユーザインタフェイス(UI)を表示する。UIは、入力部102によって入力する情報および入力された情報、並びに、サーバ115において入力データに一致するデータがあるか否かの判定結果などの閲覧に利用される。
図3によりUIの表示例を示す。図3(a)は判定前の画面例を、図3(b)は判定後の画面例をそれぞれ示す。入力部1001aには、検索し、プライバシ情報に一致する情報がある場合に削除依頼を行うサイトアドレスが入力される。入力部1001bには、プライバシ情報が入力され、この例ではプライバシ情報として名前1001c、住所1001d、電話番号1001eが入力される例を示す。そして、サーバ115における判定の後、図3(b)に一例を示すように、表示部1001fに判定結果が表示される。
なお、属性が同じデータでも、当該データを格納するフィールドのサイズ(バイト長)が異なる場合がある。この点を考慮すると、入力部102は、サイトアドレスによってサーバ装置を特定し、当該サーバ装置と通信を行って、各プライバシ情報のデータサイズを決定することが好ましい。
●計算部および判定計算部
計算部106、108、110および判定計算部112はそれぞれ所定の計算を行う主体であり、例えばCPU、RAMなどのメモリ、HDDなどの記録媒体、サーバとの通信インタフェイスを有するコンピュータ機器を備える装置やシステムなどである。計算部のCPUがRAMをワークメモリとしてHDDに格納されたプログラムを実行することで、計算部の機能が実現される。
計算部106は、端末装置101において秘匿化されたデータcon_data_Xと、後述するサーバ115において秘匿化されたデータcon_data_X2を用いる式(1)に示す計算を行い、計算結果を判定計算部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)
計算部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)
判定計算部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)
判定部114は、計算結果復元部113の復元結果を入力して、端末装置101において入力されたデータuser_data(i)と、サーバ115におけるデータserver_data(i)が一致するか否かを判定する。そして、判定結果を端末装置101の表示部105およびサーバ115の判定結果受信部120に送信する。
●サーバ
サーバ115は、端末装置101の入力部102により入力されたアドレスのサイトを運用するサーバに該当する。サーバ115は、データベース(DB)116、データ抽出部117、データ連結部118、データ秘匿部119および判定結果受信部120を有する。なお、サーバ115は、例えばCPU、RAMなどのメモリ、HDDなどの記録媒体を有するコンピュータ装置であり、CPUがRAMをワークメモリとしてHDDに格納されたプログラムを実行することで、サーバ115の機能が実現される。
DB116には、疾病に関する医療用の統計データなどが電子文書として格納されている。データ抽出部117は、端末装置101から受信したcat_data(i)に基づき、該当する属性のデータがDB116にあるか否かを判定し、あればそれらデータ群を抽出し、抽出したデータをserver_data(i)としてRAMなどに格納する。
なお、server_data(i)のデータ数は、user_data(i)のデータ数data_numと同じとする。また、カテゴリが同じデータのデータサイズは同一とする。また、抽出方法としては例えばキーワード検索や全文検索を使用する。
データ連結部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を送信する。
判定結果受信部120は、判定計算部112から判定結果を受信する。サーバ115の管理者は、判定結果受信部120が受信した判定結果を参照して、判定結果が「データが一致」を示す場合は該当するデータを削除する。
[プライバシ情報の有無判定処理]
図4のフローチャートによりプライバシ情報の有無判定処理を説明する。
端末装置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)。
次に、データ連結部103は入力されたuser_data(i)を連結し(S202)、データ秘匿部104は連結されたデータcon_dataを秘匿化する(S203)。
サーバ115のデータ抽出部117は、端末装置101から受信したcat_data(i)に基づき、該当する属性のデータがDB116にあるか否かを判定する。そして、該当する属性のデータあれば、それらデータを抽出し、抽出したデータをserver_data(i)に格納する(S204)。
次に、データ連結部118は抽出されたserver_data(i)を連結し(S205)、データ秘匿部119は連結されたデータcon_data2を秘匿化する(S206)。
計算部106、108、110はそれぞれ、秘匿化データの差分を算出し、計算結果を判定計算部112の計算結果復元部113に送信する(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)。
判定結果の受信後、表示部105はUIの表示を更新する(例えば、図3(a)から図3(b))。また、サーバ115の管理者は、判定結果受信部120が受信した判定結果を参照する。そして、判定結果が、端末装置101において入力されたプライバシ情報に一致するデータがあることを示す場合(判定結果がすべて‘0’)、プライバシ情報server_data(i)を削除する。
●データ連結処理
図5(a)のフローチャートによりデータ連結処理を説明する。データ連結処理は、データ連結部103およびデータ連結部118によって実行されるが、以下では、データ連結部103におけるデータ連結処理を説明する。なお、データ連結部103の処理における「user_data(i)」「con_data」を「server_data(i)」「con_data2」に置き換えればデータ連結部118の処理になる。
図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である。
データ連結部103は、データuser_data(i)のデータサイズをビット単位で計測し、最大のデータサイズをuser_data_maxとする(S401)。例えば、図6(a)の例では、user_data(1)が4ビット、user_data(2)が8ビットであり、user_data_maxは8ビットである。
次に、データ連結部103は、データサイズがuser_data_maxに達しないデータをパディングする(S402)。例えば、図6(a)の例では、user_data(1)は、4ビット(<user_data_max=8ビット)であり、パディング‘0000’を連結して8ビットデータにする。
次に、データ連結部103は、下式によりuser_data(i)を連結してcon_dataを生成する(S403)。
con_data = user_data(1)‖user_data(2)‖…‖user_data(data_num) …(6)
ここで、‖は連結演算子。
例えば、図6(a)の例では、下に示すように、パディング後、パディングを含むuser_data(1)とuser_data(2)が連結されて、連結データcon_dataが得られる。
con_data = user_data(1)‖padding‖user_data(2)
= 1010‖0000‖01000001
= 1010000001000001(十進数で41025)
図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)
●データ秘匿化処理
図5(b)のフローチャートによりデータ秘匿化処理を説明する。データ秘匿化処理は、データ秘匿部104およびデータ秘匿部119によって実行されるが、以下では、データ秘匿部104におけるデータ秘匿化処理を説明する。なお、データ秘匿部104の処理における「con_data」「con_data_?」を「con_data2」「con_data_?2」(?はワイルドカード)に置き換えればデータ秘匿部119の処理になる。
データ秘匿部104は、物理現象を利用した真性乱数を用いてcon_data_Yを取得する(S411)。なお、乱数値は、con_dataのビット数に収まる値とする。なお、疑似乱数を用いても構わない。図7により秘匿化データの一例を示す。図7(a)はデータ秘匿部104にcon_data=41025が入力され、con_data_Yとして100が取得された例を示す。
次に、データ秘匿部104は、真性乱数を用いてcon_data_Zを取得する(S412)。図7(a)は、con_data_Zとして200が取得された例を示す。
次に、データ秘匿部104は、下式によりcon_data_Xを計算する(S413)。図7(a)の例では、con_data_X=300が算出される。
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)
次に、データ秘匿部104は、con_data_X、con_data_Y、con_data_Z、con_data_Cを、前述したように、計算部106、108、110に送信する(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が算出される。
●計算部
計算部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;
}
●判定計算部
図8のフローチャートにより判定計算部112の処理を説明する。
計算結果復元部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
次に、判定部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()はビット長を返す関数。
そして、判定部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’が作成される。
次に、判定部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’;
次に、判定部114は、カウント値iとdata_numを比較し(S706)、i<data_numの場合はカウンタiをインクリメント(S707)して処理をステップS704に戻す。また、i=data_numになると判定結果result(i)を送信する(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)が一致しない判定結果が得られる。
そして、データ数data_num分の判定結果result(i)がすべて‘0’の場合はAND検索(すべての条件を満たすと一致)になる。言い替えれば、すべての論理積の結果を判定結果とすることでAND検索を実施することができる。
このように、データ秘匿化前にプライバシ情報として入力されたデータを連結したデータから秘匿化データを生成することで、秘匿化データの数と秘匿計算の回数を削減することができる。
以下、本発明にかかる実施例2の情報処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
実施例1では、ユーザが入力部102を利用してプライバシ情報user_data(i)を入力する例を説明した。さらに、利便性を向上するために、ユーザによるプライバシ情報の直接入力を不要にして、ユーザが指示するデータファイル(例えば電子文書や画像データ)からプライバシ情報を抽出することができる。
図9のブロック図により実施例2のプライバシ情報の有無判定システムの構成例を示す。また、図10により実施例2のUIの表示例を示す。
ユーザは、入力部102により、サーバ115を特定するサイトアドレス、電子文書や画像データのファイル名を入力し、有無を判定したいプライバシ情報の種類に対応するチェックボックスをチェックする。入力部102は、ファイル名とプライバシ情報の種類cat_data(i)をデータ抽出部121に供給するとともに、cat_data(i)をサーバ115のデータ抽出部117に送信する。
データ抽出部121は、ユーザが指定するファイル名のデータからcat_data(i)に対応するプライバシ情報user_data(i)を抽出し、データ数data_numをカウントする。電子文書からプライバシ情報を抽出する場合、データ抽出部117と同様の方法を利用すればよい。また、画像データの場合は、例えば、顔写真の場合は顔認識アルゴリズムが使用する特徴量、GPS情報、Exif情報などをプライバシ情報として抽出する。
データ抽出部121は、user_data(i)、data_numをデータ連結部103に供給し、data_numをサーバ115のデータ抽出部117、判定計算部112の判定部114に送信する。
以下、本発明にかかる実施例3の情報処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
実施例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、
( )内はビット長。
実施例3では、判定計算部112の判定部114に送信する情報として、第一のデータ数情報data_numに加えて、データ群user_data(i)に含まれるビット長ごとのデータ数を表す第二のデータ数情報bit_length_numを送信する。そして、判定部114がbit_length_numに応じてビットマスクmask(i)を作成することでパディングを不要にする。
図11のフローチャートにより実施例3のデータ連結処理を説明する。
データ連結部103は、データ群user_data(i)のデータ数をビット長ごとにカウントする(S301)。なお、ビット長は、例えばコンピュータで汎用的に使用される2のべき乗の単位にする。上記の例では、ビット長が32、16、8、4ビットの四種類のデータがあり、ビット長ごとにデータ数をカウントする。その結果、32ビットのデータ数が2、16ビットのデータ数が1、8ビットのデータ数が2、4ビットのデータ数が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’
上記は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’。
つまり、bit_length_numのフォーマットは、プライバシ情報の有無判定システムが扱うプライバシ情報によって決まるものである。
次に、データ連結部103は、user_data(i)をビット長順にソートする(S303)。上記の例では、A2(16)<A3(32)であるから、A1、A2、A3、A4、A5、A6、A7の並び順が、ソート後、A1、A3、A2、A4、A5、A6、A7の並び順になる。
次に、データ連結部103は、user_data(i)を連結したcon_dataを生成する(S304)。このように、パディングを行わないので、上記の例では、合計104ビットのデータから合計112ビットの連結データとbit_length_numが生成され、パディングする場合に比べてデータサイズを抑えることができる。
実施例3のデータ連結部118のデータ連結処理は、実施例3のデータ連結部103のデータ連結処理と同様であり、その詳細説明を省略する。また、判定部114の処理は、bit_length_numに基づきビットマスクmask(i)を生成する点で、実施例1の処理と異なる。
bit_length_numから最大ビット長のデータ数を知ることができる。上記の例では、最大ビット長が32、そのデータ数が2である。con_dataはビット長順にソートされているから、判定部114は、まず、result_dataのMSBから32ビットの範囲が‘1’、それ以外が‘0’のmask(1)を作成する。続いて、result_dataの33ビット目から64ビット目の範囲が‘1’、それ以外が‘0’のmask(2)を作成する。
次に、判定部114は、32ビット長のデータに続いて16ビット長のデータが一つあるから、result_dataの65ビット目から80ビット目の範囲が‘1’、それ以外が‘0’のmask(3)を作成し、以降同様に、ビットマスクを作成する。
なお、user_data(i)のソートは、ビット長が大きい順ではなく、ビット長が小さい順でもよい。その場合、bit_length_numのフォーマットもビット長が小さい順にして、判定部114のビットマスクの作成もビット長が小さい順になるようにすることが好ましい。
図12のブロック図により実施例3のプライバシ情報の有無判定システムの構成例を示す。図1に示す実施例1の構成と異なるのは、データ連結部103から判定部114に第二のデータ数情報bit_length_numが送信される点である。
また、実施例3において、第一のデータ数情報data_numは、図8に示すステップS706の判定に用いられるが、bit_length_numから各ビット長のデータ数を抽出し、抽出したデータ数を合計すればdata_numが得られる。従って、端末装置101から判定部114に送信するデータはbit_length_numだけでもよい。図12においては、この点を示すためにdata_numの流れを破線で示す。
なお、実施例2と実施例3を組み合わせることもできる。つまり、データ連結部103は、データ抽出部121からデータ群user_data(i)を入力し、第二のデータ数情報bit_length_numおよびパディングなしのcon_dataを生成すればよい。
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (16)

  1. データ群を入力し、前記データ群のデータ数を示す第一のデータ数情報、および、前記データ群の各データの属性を示すカテゴリデータをサーバ装置に送信する入力手段と、
    前記データ群のデータを連結処理する連結手段と、
    前記連結処理されたデータを秘匿化する秘匿化手段と、
    前記秘匿化手段が秘匿化した秘匿化データと、前記サーバ装置のデータ群のデータを連結処理し秘匿化した秘匿化データとの所定の計算の結果を用いて、秘匿化前のデータ群の計算結果を復元する復元手段と、
    前記復元された計算結果に基づき、前記入力されたデータ群と前記サーバ装置のデータ群の一致を判定する判定手段とを有する情報処理装置。
  2. 前記サーバ装置のデータ群は、前記カテゴリデータに対応し、前記第一のデータ数情報に相当する数のデータを含む請求項1に記載された情報処理装置。
  3. 前記入力手段は、さらに、前記サーバ装置を特定するためのアドレス情報を入力する請求項1または請求項2に記載された情報処理装置。
  4. さらに、前記秘匿化手段および前記サーバ装置から前記秘匿化データを受信して、前記所定の計算を行う計算手段を有する請求項1から請求項3の何れか一項に記載された情報処理装置。
  5. 前記計算手段は、前記秘匿化データを用いて、秘匿化前の前記入力されたデータ群のデータと前記サーバ装置のデータ群のデータの差分を計算する請求項4に記載された情報処理装置。
  6. 前記連結処理は、前記データ群のデータの最大データサイズに合わせて、前記データ群の各データをパディングし、前記パディング後のデータを連結する請求項1から請求項5の何れか一項に記載された情報処理装置。
  7. 前記判定手段は、前記復元された計算結果のビット長と前記第一のデータ数情報を用いてビットマスクを生成する生成手段を有し、
    前記復元された計算結果と前記ビットマスクを用いて、前記データ群の各データの一致を判定する請求項6に記載された情報処理装置。
  8. 前記連結処理は、前記データ群のデータ数をビット長の順に示す第二のデータ数情報を生成し、前記データ群のデータを前記ビット長の順にソートし、前記ソート後のデータを連結する請求項1から請求項5の何れか一項に記載された情報処理装置。
  9. 前記判定手段は、前記第二のデータ数情報を用いてビットマスクを生成する生成手段を有し、
    前記復元された計算結果と前記ビットマスクを用いて、前記データ群の各データの一致を判定する請求項8に記載された情報処理装置。
  10. さらに、データファイルからデータを抽出する抽出手段を有し、
    前記入力手段は、前記データ群の代わりに、データファイルを指定する情報および前記データファイルから抽出するデータの属性を示すカテゴリデータを入力して、前記入力したカテゴリデータを前記サーバ装置に送信し、
    前記抽出手段は、前記指定されたデータファイルから前記入力されたカテゴリデータに対応するデータ群を抽出し、前記抽出したデータ群のデータ数を前記第一のデータ数情報として前記サーバ装置に送信する請求項1から請求項9の何れか一項に記載された情報処理装置。
  11. 前記判定手段は、前記判定の結果を前記サーバ装置に送信する請求項1から請求項10の何れか一項に記載された情報処理装置。
  12. 請求項1から請求項11の何れか一項に記載された情報処理装置から第一のデータ数情報およびカテゴリデータを受信し、データベースから前記カテゴリデータに対応し、前記第一のデータ数情報に相当する数のデータをデータ群として抽出する手段と、
    前記データ群のデータを連結処理する手段と、
    前記連結処理されたデータを秘匿化し、前記秘匿化したデータを前記情報処理装置に送信する手段とを有するサーバ装置。
  13. 入力手段が、データ群を入力し、前記データ群のデータ数を示す第一のデータ数情報、および、前記データ群の各データの属性を示すカテゴリデータをサーバ装置に送信し、
    連結手段が、前記データ群のデータを連結処理し、
    秘匿化手段が、前記連結処理されたデータを秘匿化し、
    復元手段が、前記秘匿化手段が秘匿化した秘匿化データと、前記サーバ装置のデータ群のデータを連結処理し秘匿化した秘匿化データとの所定の計算の結果を用いて、秘匿化前のデータ群の計算結果を復元し、
    判定手段が、前記復元された計算結果に基づき、前記入力されたデータ群と前記サーバ装置のデータ群の一致を判定する情報処理方法。
  14. コンピュータを請求項1から請求項11の何れか一項に記載された情報処理装置の各手段として機能させるためのプログラム。
  15. コンピュータを請求項12に記載されたサーバ装置の各手段として機能させるためのプログラム。
  16. 請求項14または請求項15に記載されたプログラムが記録されたコンピュータが読み取り可能な記録媒体。
JP2013093045A 2013-04-25 2013-04-25 情報処理装置、情報処理方法、サーバ装置、プログラム、記録媒体 Expired - Fee Related JP6141091B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013093045A JP6141091B2 (ja) 2013-04-25 2013-04-25 情報処理装置、情報処理方法、サーバ装置、プログラム、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013093045A JP6141091B2 (ja) 2013-04-25 2013-04-25 情報処理装置、情報処理方法、サーバ装置、プログラム、記録媒体

Publications (3)

Publication Number Publication Date
JP2014216865A true JP2014216865A (ja) 2014-11-17
JP2014216865A5 JP2014216865A5 (ja) 2016-06-16
JP6141091B2 JP6141091B2 (ja) 2017-06-07

Family

ID=51942209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013093045A Expired - Fee Related JP6141091B2 (ja) 2013-04-25 2013-04-25 情報処理装置、情報処理方法、サーバ装置、プログラム、記録媒体

Country Status (1)

Country Link
JP (1) JP6141091B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016136190A (ja) * 2015-01-23 2016-07-28 Kddi株式会社 秘密計算制御装置、秘密計算制御方法及び秘密計算制御プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003188872A (ja) * 2001-10-03 2003-07-04 Internatl Business Mach Corp <Ibm> リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末
JP2011013672A (ja) * 2009-06-30 2011-01-20 Mitsubishi Electric Research Laboratories Inc 暗号化された信号に適用された関数の安全な評価のための方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003188872A (ja) * 2001-10-03 2003-07-04 Internatl Business Mach Corp <Ibm> リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末
JP2011013672A (ja) * 2009-06-30 2011-01-20 Mitsubishi Electric Research Laboratories Inc 暗号化された信号に適用された関数の安全な評価のための方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016136190A (ja) * 2015-01-23 2016-07-28 Kddi株式会社 秘密計算制御装置、秘密計算制御方法及び秘密計算制御プログラム

Also Published As

Publication number Publication date
JP6141091B2 (ja) 2017-06-07

Similar Documents

Publication Publication Date Title
JP6190041B2 (ja) 安否確認システム及び秘匿化データの類似検索方法
JP6456162B2 (ja) 匿名化処理装置、匿名化処理方法及びプログラム
WO2020211660A1 (zh) 基于区块链的信息处理方法、装置和计算机可读存储介质
US9552494B1 (en) Protected indexing and querying of large sets of textual data
EP4227841A1 (en) Systems and methods for tracking propagation of sensitive data
CN109829320B (zh) 一种信息的处理方法和装置
US12041176B2 (en) Information processing device and information processing method for providing secure encryption by sharing word division between client and server
US20130212693A1 (en) Anonymous whistle blower system with reputation reporting of anonymous whistle blower
CN109905366B (zh) 终端设备安全验证方法、装置、可读存储介质及终端设备
CN117454436B (zh) 基于乘法群的数据对齐方法、系统及电子设备
US20190188409A1 (en) Securing data storage of personally identifiable information in a database
US11354492B2 (en) EDOC utility using non-structured-query-language databases
JP6141091B2 (ja) 情報処理装置、情報処理方法、サーバ装置、プログラム、記録媒体
WO2019127660A1 (zh) 一种基于用户id识别有害图片的方法及其系统
TW201421267A (zh) 搜索系統及方法
CN105354506B (zh) 隐藏文件的方法和装置
WO2022217953A1 (zh) 数据脱敏方法及设备
WO2019127652A1 (zh) 基于用户id和片尾内容的识别有害视频的方法及系统
CN110413366B (zh) 一种基于区块链的截屏方法、装置、设备及存储介质
JP7327100B2 (ja) データ管理システム、データ管理装置及びデータ管理プログラム
WO2019127656A1 (zh) 基于用户ip和视频拷贝的识别有害视频的方法及系统
WO2019127659A1 (zh) 一种基于用户id识别有害视频的方法及其系统
WO2019127654A1 (zh) 基于用户ip和片尾内容的识别有害视频的方法及系统
WO2019127651A1 (zh) 一种识别有害视频的方法及其系统
WO2019127653A1 (zh) 基于片尾内容的识别有害视频的方法及其系统

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