JP6557338B2 - 類似性秘匿検索システム、類似性秘匿検索方法 - Google Patents

類似性秘匿検索システム、類似性秘匿検索方法 Download PDF

Info

Publication number
JP6557338B2
JP6557338B2 JP2017524187A JP2017524187A JP6557338B2 JP 6557338 B2 JP6557338 B2 JP 6557338B2 JP 2017524187 A JP2017524187 A JP 2017524187A JP 2017524187 A JP2017524187 A JP 2017524187A JP 6557338 B2 JP6557338 B2 JP 6557338B2
Authority
JP
Japan
Prior art keywords
data
search
similarity
target data
search target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017524187A
Other languages
English (en)
Other versions
JPWO2016203555A1 (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2016203555A1 publication Critical patent/JPWO2016203555A1/ja
Application granted granted Critical
Publication of JP6557338B2 publication Critical patent/JP6557338B2/ja
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Description

本発明は、サーバが保管する平文、あるいは暗号化されたデータのうち、自身が保有するデータと類似したデータを検索する類似性秘匿検索システム、類似性秘匿検索方法に関する。
近年膨大なデータから未知の、かつ有効な知識を引き出すビッグデータ分析が注目を集めている。また、企業では自社保有のデータはもとより、社外のデータも収集し、マーケティングや業務効率化に活用するなど情報の種々の分析はますます重要な活動として認識されるようになっている。一方でそのようなデータの管理に不備があり、顧客の個人情報を含む情報が大量に漏えいする事件・事故が多発しており、社会問題となっている。
このような漏えい事故は漏えいさせた企業は多額の補償金を負担することになり、場合によっては企業の存亡に関わる事態となる。また、無関係の企業にとっても情報保有者である個人などが情報提供時に躊躇、結果、情報を収集しにくくなり、有効な分析結果を得られなくなるなど、悪影響が出ることが懸念される。
これらの状況に対し、正しく情報を収集、利活用するための法整備が進んでいる。また、各業界において取り扱う情報、特に個人情報について機微性、プライバシ性が異なるため、各業界におけるガイドラインも整備されつつある。しかし、これらはあくまでも法律面の整備であり、情報漏えいに対しての抑止には効果があるものの、情報漏えい対策そのものではない。
情報漏えいやそれが引き起こすプライバシ侵害を防ぐ技術としては、従来から、情報にアクセスする人を制限するアクセスコントロールや、機材の盗難などで効果的な暗号化などが考えられてきた。しかし、昨今の情報漏えい事件では、計算機リソースの管理を任された外部委託業者の権限悪用によるものが少なくない。このような外部委託業者が情報を管理するために、データベースなどにアクセスする正当な権限を渡されるため、管理業務に不必要な情報まで閲覧可能となり、それが悪用されてしまう。これに対しては、従来のアクセスコントロールは無力であり、また、暗号化はストレージ暗号のように記録媒体からデータを取り出して、利用する際には復号化する運用のものである場合には、やはり管理者は正当な手続きのもと、復号されたデータを閲覧できるため無力である。
外部委託者、あるいはその傍には復号鍵を置かず、社内の限られた正当なユーザのみが復号鍵を持っていて、利用時には手元に暗号文を引き戻して復号する運用も可能である。しかし、従来の暗号技術ではデータベースに保管した場合、暗号化状態では何も処理できず、例えば、基本的な操作である検索や、数値データの場合の集計等も諦めなければならない。これでは単なる暗号文保管庫でしかなく、データベース機能を無駄にしてしまう。
そこで昨今、安全性の高い暗号化技術を用いながら、復号化することなく何等かの処理を可能にする技術の研究に注目が集まっている。例えば、復号化することなく平文の一致不一致が判定できる検索可能暗号の研究が盛んに行われている。これは、平文が文字列(氏名、住所など)の場合を対象としたもので、数値データに対する大小比較など、順序関係を判定することは難しい。 数値データの比較、特にある尺度の下で類似しているか否かなどの判定は、あらゆる分析はもとより、通常業務においても頻出する重要な演算機能である。その際、複数の項目からなる数値データをベクトルとみなした場合、多くの場合で「尺度」はベクトル空間の通常の距離(ユークリッド距離)、従ってベクトルの内積で表現される。よって、そのデータ(ベクトル)を秘匿したままである「尺度」に沿った類似性を判定する場合、例えば、非特許文献1に開示された技術を用いて、ベクトルを秘匿化したままで内積計算を実行する方式が必要である。
Kana Shimizu, "Privacy preserving search for chemical compound libraries", JSBi-55, CBI/JSBi2011(2011).
非特許文献1では、準同型暗号を利用して秘匿化したままで内積計算することは可能である。しかし、準同型暗号の処理速度が遅いことにより、大量のデータを処理することは困難である。また、一方のベクトル(A)と、他方の大量のベクトル(B)との内積計算を考えた場合、ベクトル(B)がその内積計算結果を得ることができると、内積の性質から、ベクトル(B)はベクトル(A)を復元可能となり、秘匿性を保つことができない。従って、ベクトル(B)には内積値そのものは開示せず、内積値の暗号文を計算させる必要がある。
しかし、ベクトル(B)が保有する大量のベクトル全てに対応した暗号文をベクトル(A)に送付する方式では、通信量の増大や、ベクトル(B)側のみならずベクトル(A)側の処理も膨大になるために非現実的である。従って、ベクトル(B)をある程度まで絞り込んだ上で、データの送受信や復号処理を行うことが必要となる。
すなわち、ユーザが持つ数値データを秘匿しつつ、外部ストレージ等に保管された大量の数値データの中から類似したデータを検索して引き出す際、データの類似性を判定するために内積を用いることが多く、非特許文献1のような秘匿内積計算プロトコルが必要となる。しかし、大量のデータとの間で類似性を判定するためには、膨大な量の通信と、ユーザおよび外部装置側双方に膨大な計算処理が必要となるとともに効率が悪くなってしまうという問題があった。
本発明は、上記に鑑みてなされたものであって、従来技術に比べて処理負荷をかけずに、秘匿性を維持しつつ、効率よくデータの類似性を判定することが可能な類似性秘匿検索システム、類似性秘匿検索方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかる類似性秘匿検索システムは、検索要求にしたがって秘匿化されている検索対象データに類似する被検索対象データを検索する類似性秘匿検索システムであって、ユーザ端末は、質的データまたは量的データを含む前記検索対象データの入力を受け付ける入力部と、前記検索対象データに含まれる前記質的データを、一致不一致の判定が可能な暗号化方式で暗号化する暗号化処理部と、前記検索対象データに含まれる前記量的データと前記被検索対象データに含まれる前記量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する類似性判定処理部と、暗号化された前記質的データと前記条件とを、前記被検索対象データを検索するための類似検索サーバに送信する通信部と、を備え、前記類似検索サーバは、前記ユーザ端末から前記質的データと前記条件とを受信し、または前記検索対象データに類似すると判定された前記被検索対象データを前記ユーザ端末に送信するサーバ通信部と、前記ユーザ端末から受信した質的データと、あらかじめ記憶部に記憶された前記被検索対象データに含まれる質的データとに基づいて両者が類似しているか否かを判定し、両者が類似していると判定した場合、類似していると判定した前記被検索対象データの中から前記条件を満たす量的データを含む被検索対象データを前記検索対象データに類似するデータとして出力する類似性判定計算処理部と、を備えることを特徴とする類似性秘匿検索システムとして構成される。
また、本発明は、上記類似性秘匿検索システムで行われる類似性秘匿検索方法としても把握される。
本発明によれば、従来技術に比べて処理負荷をかけずに、秘匿性を維持しつつ、効率よくデータの類似性を判定することが可能となる。
本実施形態に係る類似性秘匿検索方式の構成例を示す図である。 第一実施形態に係るデータ保管・類似検索サーバの構成例を示す図である。 第一実施形態に係るユーザ端末の構成例を示す図である。 第一実施形態に係るデータの分類を表す表である。 第一実施形態に係る各ユーザの処理とデータ保管・類似検索サーバの処理を示すフローチャートである。 第一実施形態に係るユーザの類似性判定に用いるデータ生成手順を示すフローチャートである。 第二実施形態に係るユーザのデータ暗号化とその送付、データ保管・類似検索サーバによるデータ保管の手順を示すフローチャートである。 第二実施形態に係るユーザのデータ暗号化と判定条件生成とその送付、データ保管・類似検索サーバによる類似データの絞込み手順を示すフローチャートである。
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。なお、以下に示す実施形態において、同一の構成要素には原則として同一の符号を付け、繰り返しの説明は省略する。
《システム構成》
図1は、本発明にかかる類似性秘匿検索システム、および類似性秘匿検索方法を適用した類似性秘匿検索システム1000の構成例を示す図である。図1に示すように、類似性秘匿検索システム1000は、複数のユーザ端末300〜500と、類似検索サーバ200とがネットワーク100を介して互いに接続された構成となっている。例えば、あるサービス提供形態では、類似検索サーバ200はクラウド事業者に設置され、一般的なコンピュータであるサーバ装置から構成される。また、クラウド事業者のサービスを利用するユーザが操作するユーザ端末300は、PCや携帯電話、スマートフォン等の一般的なコンピュータである情報処理装置から構成される。なお、図1では、本システムがユーザ端末300〜500の3台を含む構成として記載されているが、その台数は任意である。
《第一実施形態》
次に、図2〜図8を参照して、類似性秘匿検索システム1000の第一実施形態を説明する。
(類似検索サーバ)
図2は、第一実施形態に係る類似検索サーバ200の構成例を示す図である。図示するように、類似検索サーバ200は、データを処理する制御部210と、データを記憶する記憶部220と、情報の入力を受け付ける入力部201と、情報を出力する出力部202と、外部装置とのデータの送受信を行う通信部203とを備える。制御部210は、例えば、CPU(Central Processing Unit)等の演算装置から構成され、入力部210は、キーボード等の入力装置から構成され、出力部202は、LCD(Liquid Crystal Display)等の表示装置から構成され、通信部203は、NIC(Network Interface Controller)等の通信装置から構成される。 制御部210は、全体処理部211と、類似性判定計算処理部212と、を備える。
全体処理部211は、類似検索サーバ200における処理を統括制御したり、入力部201を介して受け付けた情報を記憶部220に格納したり、ユーザ端末300〜500との間で行われる情報の送受信を制御する。また、全体処理部211は、データを出力部202に表示する処理を行ったり、記憶部220に格納されているデータを読み込み、通信部203を介して、ユーザ端末300〜500に送信する。
類似性判定計算処理部212は、ユーザ端末300〜500から受信した検索用データと、あらかじめ類似検索サーバ200内に記憶されている被検索対象データとの類似性を判定し、ある閾値以上となるデータを被検索対象データの中から抽出して出力する。具体的には、類似性判定計算処理部212は、検索用データに含まれる質的データを示す項目と、上記被検索対象データに含まれる質的データを示す項目との類似性を判定する。例えば、検索用データに含まれる質的データを示す項目と上記被検索対象データに含まれる質的データを示す項目が70%以上一致している場合、両者は類似していると判定する。この類似性の判定は、質的データを示す項目を暗号化するための暗号化鍵により暗号化されたまま行われる。
さらに、類似性判定計算処理部212は、類似していると判定した被検索対象データを絞り込み、絞り込まれた被検索対象データに含まれる量的データを示す項目と、上記検索用データに含まれ量的データを暗号化するための暗号化鍵により暗号化された量的データを示す項目との内積値を計算し、絞り込まれた被検索対象データの中から、その内積値がある閾値以上となるデータを抽出する。例えば、検索用データに含まれる量的データを示す項目と上記絞り込まれた被検索対象データに含まれる量的データを示す項目との内積値が0.7以上となる場合、そのデータを絞り込まれた被検索対象データの中から抽出する。この類似性の判定は、量的データを暗号化するための暗号化鍵により暗号化されたまま行われる。抽出された上記データは、全体処理部211により、通信部203を介して検索結果データ3303として送信される。
記憶部220のデータ記憶部230には、類似性判定計算処理部212が被検索対象データの中から抽出した上記データ231が格納されている。一時情報記憶部240は、制御部210が実行する処理で一時的に必要となる情報が格納される。類似検索サーバ200の各部が行う処理については、フローチャートを用いて後述する。
(ユーザ端末)
図3は、第一実施形態に係るユーザ端末300の構成例を示す図である。なお、各ユーザ端末の構成は同様の構成であるため、以下では、ユーザ端末300の構成例について示している。また、これらのユーザ端末は、暗号化を行わない場合には、暗号化処理部312と、復号化処理部313と、暗復号化鍵記憶部340、類似性判定処理部314、暗復号化鍵記憶部340等、暗復号化に必要な各部を備えなくてもよい。
図示するように、ユーザ端末300は、データを処理する制御部310と、データを記憶する記憶部320と、情報の入力を受け付ける入力部301と、情報を出力する出力部302と、外部装置とのデータの送受信を行う通信部303とを備える。上記各部は、類似検索サーバ200と同様の機能を備えた装置から構成される。
制御部310は、全体処理部311と、暗号化処理部312と、復号化処理部313と、類似性判定処理部314とを備える。
全体処理部311は、ユーザ端末300における処理を統括制御したり、入力部301を介して、受け付けた情報を記憶部320に格納したり、類似検索サーバ200との間で行われる情報の送受信を制御する。また、全体処理部311は、データを出力部303に表示する処理を行ったり、記憶部320に格納されているデータを読み込み、それぞれ、暗号化処理部312にデータの暗号化をさせたり、復号化処理部313に暗号化データの復号化をさせる。また、全体処理部311は、入力部301が受け付けた情報に基づいて、あらかじめユーザにより選定された検索対象データに類似するデータを被検索対象データの中から検索するための検索用データとして生成する。この検索用データが暗号化前データ3301となる。また、全体処理部311は、暗号化処理部312により暗号化前データ3301が暗号化された後の暗号化後データ3302を、通信部303を介して、類似検索サーバ200に送信する。
暗号化処理部312は、上記暗号化前データ3301のうち、質的データを示す項目を暗号化するための暗号化鍵341により質的データを示す項目を暗号化し、暗号化後データ3302を生成する。また、暗号化処理部312は、類似性判定処理部314により求められた、量的データを示す項目をベクトル化した対象ベクトルと被検索対象データに含まれる量的データを示す項目をベクトル化した被対象ベクトルとの内積値が一定値以上であると判定するための閾値を満たす対象ベクトルを構成する基底ベクトルの組とを、量的データを示す項目を暗号化するための暗号化鍵341により暗号化する。この閾値を満たすことが、両者が一定以上の類似性を有するための条件となる。
復号化処理部313は、類似検索サーバ200から受信した検索結果データ3303の質的データを示す項目および量的データを示す項目を、復号化鍵342により復号化し、復号化データ3304を生成する。
類似性判定処理部314は、上記閾値を満たす対象ベクトルを構成する基底ベクトルの組を求めるための処理である線形分解処理を実行し、基底ベクトルの組と、上記基底ベクトルの係数であるスカラー値の組とを出力する。
記憶部320は、データ記憶部330と、暗復号化鍵記憶部340と、一時情報記憶部350とを有している。データ記憶部330は、上記暗号化前データ3301と、上記暗号化後データ3302と、類似検索サーバ200によって検索された暗号化前データ3301に類似するデータである検索結果データ3303と、検索結果データ3303が復号化鍵342により復号化された復号化データ3304とを記憶する。
また、暗復号化鍵記憶部340は、暗号化前データ3301を暗号化するための暗号化鍵と、検索結果データ3303を復号化するための復号化鍵342とを記憶する。暗号化鍵は、質的データを暗号化するための暗号化鍵と、量的データを暗号化するための暗号化鍵とを記憶してもよいし、同じ暗号化鍵を記憶してもよい。復号化鍵についても暗号化鍵と同様、質的データおよび量的データごとに記憶してもよいし、同じ復号化鍵を記憶してもよい。なお、一時情報記憶部350には、類似検索サーバ200の場合と同様に、制御部310が実行する処理で一時的に必要となる情報が格納される。
以下では、ユーザ端末300〜500は、類似検索サーバ200に対して、あらかじめ上記被検索対象データを送信し、類似検索サーバ200は、データ記憶部230に、その被検索対象データをデータ231として記憶しているものとする。また、第一実施形態ではデータ231は、質的データは平文または暗号文として、量的データは平文として記録されている前提で説明する。
(データの分類)
図4は、ユーザ端末300が被検索対象データの中から検索する検索対象データを分類した表である。本システムで取り扱う検索対象データには、質的データを示す項目と量的データを示す項目とが含まれるため、以下、両者の分類について説明する。質的データとは、例えば、性別、住所、職種等、分類や種類を区別するためだけのデータであって、数値で演算できないデータである。また、量的データとは、例えば、病院での検査結果の数値データ、枚数、金額等、数値の大小に意味があり、数値で演算可能なデータである。
本システムでは、図4に示すように、検索対象データに含まれる質的データを示す項目および量的データを示す項目のいずれの場合も、これらのデータが他者(例えば、治療を受ける患者や家族以外の者)に開示可能である場合には、暗号化せずにそのまま被検索対象データを絞り込むための検索用データとして利用する(S401、S402)。
一方、これらのデータが他者に開示可能でない場合、質的データを示す項目については、両者の一致不一致の判定が可能な暗号化方式を用いて暗号化し、検索用データとして利用する(S403)。このような暗号化方式としては、例えば、検索可能暗号技術(特許第5412414号)を用いることができる。量的データを示す項目については、秘匿したまま両者の類似性を判定することが可能な暗号化方式を用いて暗号化し、検索用データとして利用する(S404)。このような暗号化方式としては、例えば、従来から知られている様々な準同型暗号技術を用いることができる。 なお、検索用データに含まれる各項目が開示可能であるか否かは、例えば、患者やその家族の同意が得られない場合、研究のためにそれ自体秘匿性が高い場合等の開示基準により判定することができる。
(絞込み例)
図5は、ユーザ端末300が、検索対象データにより、あらかじめ記憶されている被検索対象データの中から類似するデータを検索し、類似検索サーバ200が絞込みを行う処理の処理手順を示すフローチャートである。以下では、検索対象データを用いて被検索対象データの中から類似するデータを絞り込んで検索する例として、ある患者の検査データを検索対象データとし、その患者に類似する患者の検査データを被検索対象データとしている。また、検査対象データおよび被検索対象データは、1または複数の質的データを示す項目(例えば、患者の氏名、住所、性別、病名等)と、1または複数の量的データを示す項目(例えば、患者の年齢、検査値等)とを含んでいる。
まず、ユーザ端末300では、全体処理部311は、検索対象データの中から質的データや量的データを示す項目を抽出して上記検索用データを生成し、生成した検索用データを暗号化前データ3301として記憶する(S501)。このとき、抽出した項目を暗号化する必要がない場合にはS505に進む。
続いて、暗号化処理部312は、暗号化前データ3301のうち、上記暗号化鍵341により質的データを示す項目を暗号化し、暗号化後データ3302を生成する(S502)。このとき、検索用データに量的データを示す項目が含まれない場合にはS505に進む。
続いて、類似性判定処理部314は、上記線形分解処理を実行し、基底ベクトルの組と、基底ベクトルの係数であるスカラー値の組とを出力する(S503)。線形分解処理の具体的な処理については図6を用いて後述する。
暗号化処理部312は、上記線形分解処理を実行して出力された基底ベクトルの組およびスカラー値の組を、暗号化鍵341により暗号化する(S504)。
全体処理部311は、上記S501〜S504で生成されたデータを、類似検索サーバ200に送信する(S505)。なお、上記S501〜S504の各ステップは、必ずしもすべて実行される必要はなく、検索用データが平文のみである場合、質的データを示す項目のみを含む場合、量的データを示す項目のみを含む場合には、上述したように取捨選択して実行することができる。また、S502、S503はどちらが先に処理されてもよい。
類似検索サーバ200では、類似性判定計算処理部212が、ユーザ端末300から受信した上記データをキーとして被検索対象データを絞り込む(S506)。例えば、ユーザ端末300から受信した上記データが質的データを示す項目を含む場合には、その項目と、上記被検索対象データに含まれる質的データを示す項目とが70%以上一致している場合には両者は類似していると判定し、被検索対象データを絞り込む。上記絞り込みにおいては、例えば、文字列データであれば完全一致や部分一致、あるいは類義語などにより絞込みを行う。この場合、あらかじめ類似検索サーバ200に類義語を検索するための辞書を記憶しておき、その辞書と上記データとの一致度、およびその辞書と上記被検索対象データとの一致度が同程度の場合に、両者が類似すると判定してもよい。
類似性判定計算処理部212は、S506で絞り込んだ被検索対象データに含まれる量的データを示す項目と、上記データに含まれる量的データを示す項目との内積値を計算し、絞り込まれた被検索対象データの中から、その内積値がある閾値以上となるデータを抽出する(S507)。例えば、両者の内積値が閾値0.7以上となる全てのデータを、絞り込まれた被検索対象データの中から抽出する。
そして、全体処理部211は、上記抽出したデータを、通信部203を介して検索結果データ3303として送信する(S508)。
ユーザ端末300の復号化処理部313は、類似検索サーバ200から受信した検索結果データ3303の質的データを示す項目および量的データを示す項目を、復号化鍵342により復号化し、復号化データ3304を生成する(S509)。その後、ユーザ端末300の全体制御部311は、生成された復号化データ3304を出力部302に出力し、ユーザによりその結果が評価される(S510)。
(線形分解処理)
図6は、図5に示したS503における線形分解処理の処理手順を示すフローチャートである。ユーザ端末300では、秘匿したい量的データ(S404)としてベクトルXを有している。ユーザ端末300の類似性判定処理部314は、まず、自然数mとtとを決定し(S601)、ベクトルXを構成する、m個の基底ベクトルによるt種類の線形分解をランダムに生成する(S602)。ここでいくつかのスカラーaijは0でもよい。
続いて、類似性判定処理部314は、上記ベクトルXとの内積値が満たすべき閾値から導かれる各ベクトルXを構成する基底ベクトルGijとスカラー値、すなわち上記閾値を満たす内積値の条件を算出する(S603)。
類似性判定処理部314は、S602で生成したベクトルの集合{Gij}と、S603で導かれたスカラー値とを、図5に示したS503で出力するデータとするとともに、各スカラー値{aij}は、他者に開示することなく秘密の状態で暗復号化鍵記憶部340に記憶する(S604)。S604の処理が終了すると、線形分解処理が終了する。
(第一実施形態のまとめ)
第一実施形態によれば、類似性判定するデータに含まれる質的データと、類似性判定されるデータに含まれる質的データとを暗号化したまま類似性判定し、所定の閾値以上のデータを抽出し、さらに、抽出されたデータに含まれる量的データと、類似性判定するデータに含まれる量的データとの内積値が所定の閾値以上のデータを絞り込み、その結果をクライアントに返す。したがって、ユーザ(複数でも可)が平文のままあるいは暗号化したデータを類似検索サーバに預託し、あるユーザ(ユーザ端末300)が自身の持つデータのうち一部を開示、残りを秘匿したまま効率的に類似検索することができる。すなわち、クラウドなど第三者に預託されている大量データに対し、ユーザ自身の持つデータを秘匿しつつ、効率的に類似のデータを検索することが可能になる。
また、平文で開示可能な部分はそのまま従来の類似性判定を実施して絞込みを行い、また開示不可な部分は、質的データに対しては暗号化したまま一致不一致判定できる暗号方式を適用して絞込みを行い、また量的データに対しては類似性判定に必要な付加的データを送付することで絞込みを実施する。第一実施形態ではその付加的データとして、秘匿したいデータのランダムな線形分割を利用した方法を記述したが、他の手法を用いてもよい。
《第二実施形態》
次に、図7と図8を参照して、類似性秘匿検索システム1000の第二実施形態を説明する。
第二実施形態では、第一実施形態に対し、ユーザ端末300(ユーザ端末400、500を含んでもよい。以下同じ。)が、事前に預託するデータのうち秘匿したい量的データ部分の暗号化の手順と、類似検索対象のデータであるベクトルXを暗号化して送付し、類似検索サーバ200が類似検索処理を実行する手順を加えたものである。
ユーザ端末300は、類似性判定処理部314が、類似検索サーバ200に預託する複数の量的データに対し、直交変換Tをランダムに生成し(S701)、スカラーrをランダムに生成し(S702)、さらにベクトルWをランダムに生成する(S703)。これらの生成の順番は入れ替えてもよい。またWは0ベクトルでもよい。
次に、類似性判定処理部314は、預託対象となる検索対象データの秘匿したい量的データ部分{Yi}をベクトルとみなし、そのベクトルに対してアフィン変換Y’i=rTYi+Wを施し、{Y’i}を他のデータをともに預託するため、これらのデータを類似検索サーバ200に送信する(S705)。類似検索サーバ200の類似性判定計算処理部212は、ユーザ端末300から受信した上記データを記憶部220に記憶する(S706)。
そして、ユーザ端末300が類似検索される被検索対象データの秘匿したい量的データを秘匿化してベクトルXとする場合、第二実施形態では、まず、ユーザ端末300の類似性判定処理部314は、スカラーsをランダムに生成し(S801)、直交変換およびアフィン変換を施してX’=sTXを計算し(S802)、ベクトルXとの内積値が満たすべき閾値から導かれる各Y’iとスカラー値、すなわち上記閾値を満たす内積値の条件を算出する(S803)。ユーザ端末300は上記X’とS803で求めた条件を類似検索サーバ200に送信する(S804)。すなわち、ユーザ端末300の類似性判定処理部314は、検索対象データに含まれる量的データをベクトルとみなして当該ベクトルに対して、S802のように直交変換およびアフィン変換し、これらの変換後のベクトルと、検索対象データと被検索対象データとが類似していると判定するために変換後のベクトルが満たすべき内積値を条件として算出する。
そして、後述するように、類似検索サーバ200の類似性判定計算処理部212は、質的データに基づいて類似していると判定した被検索対象データのうち上記内積値を満たす量的データを含む被検索対象データを前記データとして出力する。
類似検索サーバ200の類似性判定計算処理部212は、記録されている{Y’i}とX’との内積を計算し、S803で算出された条件に合致するものを抽出して被検索対象データを絞込み、そのリストを生成する(S805)。その後、類似性判定計算処理部212は、図5に示したS507以降の処理と同様の処理を実行し、抽出したデータを送信する(S806、図5のS507、S508)。
(第二実施形態のまとめ)
第二実施形態によれば、ユーザは量的データのうち秘匿したい部分についても事前の暗号化預託と、秘匿化したままでの絞込み手順を実施することで、絞込みを実施可能で、効率的な類似検索が可能となる。
100:ネットワーク
200:類似検索サーバ
201:入力部
202:出力部
203:通信部
210:制御部
211:全体処理部
212:類似性判定計算処理部
220:記憶部
230:データ記憶部
231:データ
240:一時情報記憶部
300、400、500:ユーザ端末
301:入力部
302:出力部
303:通信部
310:制御部
311:全体処理部
312:暗号化処理部
313:復号化処理部
314:類似性判定処理部
320:記憶部
330:データ記憶部
340:暗復号化鍵記憶部
341:暗号化鍵
342:復号化鍵
350:一時情報記憶部。

Claims (8)

  1. 検索要求にしたがって秘匿化されている検索対象データに類似する被検索対象データを検索する類似性秘匿検索システムであって、
    ユーザ端末は、
    質的データまたは量的データを含む前記検索対象データの入力を受け付ける入力部と、
    前記検索対象データに含まれる前記質的データを、一致不一致の判定が可能な暗号化方式で暗号化する暗号化処理部と、
    前記検索対象データに含まれる前記量的データと前記被検索対象データに含まれる前記量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する類似性判定処理部と、
    暗号化された前記質的データと前記条件とを、前記被検索対象データを検索するための類似検索サーバに送信する通信部と、を備え、
    前記類似検索サーバは、
    前記ユーザ端末から前記質的データと前記条件とを受信し、または前記検索対象データに類似すると判定された前記被検索対象データを前記ユーザ端末に送信するサーバ通信部と、
    前記ユーザ端末から受信した質的データと、あらかじめ記憶部に記憶された前記被検索対象データに含まれる質的データとに基づいて両者が類似しているか否かを判定し、両者が類似していると判定した場合、類似していると判定した前記被検索対象データの中から前記条件を満たす量的データを含む被検索対象データを前記検索対象データに類似するデータとして出力する類似性判定計算処理部と、
    を備えることを特徴とする類似性秘匿検索システム。
  2. 請求項1に記載の類似性秘匿検索システムであって、
    前記ユーザ端末の前記類似性判定処理部は、前記量的データをベクトルとみなして当該ベクトルを構成する1または複数の基底ベクトルとスカラー値との組を生成し、生成した前記基底ベクトルと、前記検索対象データと前記被検索対象データとが類似していると判定するために前記基底ベクトルが満たすべき内積値を前記条件として算出し、
    前記類似検索サーバの前記類似性判定計算処理部は、質的データに基づいて類似していると判定した前記被検索対象データのうち前記内積値を満たす前記量的データを含む被検索対象データを前記データとして出力する、
    ことを特徴とする類似性秘匿検索システム。
  3. 請求項2に記載の類似性秘匿検索システムであって、
    前記ユーザ端末の前記類似性判定処理部は、前記検索対象データに含まれる前記量的データをベクトルとみなして当該ベクトルに対して直交変換およびアフィン変換し、前記各変換後のベクトルと、前記検索対象データと前記被検索対象データとが類似していると判定するために前記変換後のベクトルが満たすべき内積値を前記条件として算出し、
    前記類似検索サーバの前記類似性判定計算処理部は、質的データに基づいて類似していると判定した前記被検索対象データのうち前記内積値を満たす前記量的データを含む被検索対象データを前記データとして出力する、
    ことを特徴とする類似性秘匿検索システム。
  4. 請求項1に記載の類似性秘匿検索システムであって、
    前記入力部は、秘匿化されていない平文を含む前記質的データまたは前記量的データの入力を受け付け、
    前記暗号化処理部は、前記質的データが前記平文である場合には処理を実行せず、
    前記類似性判定処理部は、前記検索対象データに含まれる前記平文の前記量的データと前記被検索対象データに含まれる前記量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する、
    ことを特徴とする類似性秘匿検索システム。
  5. 検索要求にしたがって秘匿化されている検索対象データに類似する被検索対象データを検索する類似性秘匿検索方法であって、
    ユーザ端末の入力部が、質的データまたは量的データを含む前記検索対象データの入力を受け付ける入力ステップと、
    前記ユーザ端末の暗号化処理部が、前記検索対象データに含まれる前記質的データを、一致不一致の判定が可能な暗号化方式で暗号化する暗号化処理ステップと、
    前記ユーザ端末の類似性判定処理部が、前記検索対象データに含まれる前記量的データと前記被検索対象データに含まれる前記量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する類似性判定処理ステップと、
    前記ユーザ端末の通信部が、暗号化された前記質的データと前記条件とを、前記被検索対象データを検索するための類似検索サーバに送信する送信ステップと、
    前記類似検索サーバのサーバ通信部が、前記ユーザ端末から前記質的データと前記条件とを受信する受信ステップと、
    前記類似検索サーバの類似性判定計算処理部が、前記ユーザ端末から受信した質的データと、あらかじめ記憶部に記憶された前記被検索対象データに含まれる質的データとに基づいて両者が類似しているか否かを判定する判定ステップと、
    前記類似検索サーバの類似性判定計算処理部が、両者が類似していると判定した場合、類似していると判定した前記被検索対象データの中から前記条件を満たす量的データを含む被検索対象データを前記検索対象データに類似するデータとして出力する類似性判定計算処理ステップと、
    前記類似検索サーバのサーバ通信部が、前記検索対象データに類似すると判定された前記被検索対象データを前記ユーザ端末に送信するサーバ送信ステップと、
    を含むことを特徴とする類似性秘匿検索方法。
  6. 請求項5に記載の類似性秘匿検索方法であって、
    前記類似性判定処理ステップでは、前記ユーザ端末の類似性判定処理部が、前記量的データをベクトルとみなして当該ベクトルを構成する1または複数の基底ベクトルとスカラー値との組を生成し、生成した前記基底ベクトルと、前記検索対象データと前記被検索対象データとが類似していると判定するために前記基底ベクトルが満たすべき内積値を前記条件として算出し、
    前記類似性判定計算処理ステップでは、前記類似検索サーバの類似性判定計算処理部が、質的データに基づいて類似していると判定した前記被検索対象データのうち前記内積値を満たす前記量的データを含む被検索対象データを前記データとして出力する、
    ことを特徴とする類似性秘匿検索方法。
  7. 請求項6に記載の類似性秘匿検索方法であって、
    前記類似性判定処理ステップでは、前記ユーザ端末の類似性判定処理部が、前記検索対象データに含まれる前記量的データをベクトルとみなして当該ベクトルに対して直交変換およびアフィン変換し、前記各変換後のベクトルと、前記検索対象データと前記被検索対象データとが類似していると判定するために前記変換後のベクトルが満たすべき内積値を前記条件として算出し、
    前記類似性判定計算処理ステップでは、前記類似検索サーバの類似性判定計算処理部が、質的データに基づいて類似していると判定した前記被検索対象データのうち前記内積値を満たす前記量的データを含む被検索対象データを前記データとして出力する、
    ことを特徴とする類似性秘匿検索方法。
  8. 請求項5に記載の類似性秘匿検索方法であって、
    前記入力ステップでは、前記ユーザ端末の入力部が、秘匿化されていない平文を含む前記質的データまたは前記量的データの入力を受け付け、
    前記暗号化処理ステップでは、前記ユーザ端末の暗号化処理部が、前記質的データが前記平文である場合には処理を実行せず、
    前記類似性判定処理ステップでは、前記ユーザ端末の類似性判定処理部が、前記検索対象データに含まれる前記平文の前記量的データと前記被検索対象データに含まれる前記量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する、
    ことを特徴とする類似性秘匿検索方法。
JP2017524187A 2015-06-16 2015-06-16 類似性秘匿検索システム、類似性秘匿検索方法 Active JP6557338B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/067362 WO2016203555A1 (ja) 2015-06-16 2015-06-16 類似性秘匿検索システム、類似性秘匿検索方法

Publications (2)

Publication Number Publication Date
JPWO2016203555A1 JPWO2016203555A1 (ja) 2018-02-15
JP6557338B2 true JP6557338B2 (ja) 2019-08-07

Family

ID=57545649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017524187A Active JP6557338B2 (ja) 2015-06-16 2015-06-16 類似性秘匿検索システム、類似性秘匿検索方法

Country Status (2)

Country Link
JP (1) JP6557338B2 (ja)
WO (1) WO2016203555A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232367B (zh) * 2020-09-10 2022-06-21 山东师范大学 一种网络行为相似性判断方法及系统
JPWO2022201235A1 (ja) * 2021-03-22 2022-09-29
AU2021436355A1 (en) * 2021-03-22 2023-09-28 Nippon Telegraph And Telephone Corporation Secure search method, system thereof, apparatus thereof, encryption apparatus, searcher terminal, and program
JP2023019432A (ja) * 2021-07-29 2023-02-09 株式会社日立製作所 情報処理システム及び情報処理方法
CN114638002B (zh) * 2022-03-21 2023-04-28 华南理工大学 支持相似性检索的压缩图像加密方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552327B2 (en) * 2003-11-13 2009-06-23 International Business Machines Corporation Method and apparatus for conducting a confidential search
JP2009271584A (ja) * 2008-04-30 2009-11-19 Tokyo Metropolitan Univ 類似情報検索システムおよび類似情報検索プログラム
WO2011086687A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム
WO2013005505A1 (ja) * 2011-07-05 2013-01-10 日本電気株式会社 暗号化装置、暗号文比較システム、暗号文比較方法、および暗号文比較プログラム
WO2013038698A1 (ja) * 2011-09-14 2013-03-21 独立行政法人産業技術総合研究所 検索システム、検索方法、およびプログラム
JP5720536B2 (ja) * 2011-11-10 2015-05-20 富士通株式会社 秘匿化データの検索のための情報処理方法及び装置
JP5948060B2 (ja) * 2012-01-13 2016-07-06 株式会社日立製作所 暗号化データの高速な類似検索処理システム
WO2013190810A1 (ja) * 2012-06-18 2013-12-27 日本電気株式会社 情報処理装置、及び、情報匿名化方法

Also Published As

Publication number Publication date
WO2016203555A1 (ja) 2016-12-22
JPWO2016203555A1 (ja) 2018-02-15

Similar Documents

Publication Publication Date Title
US10489604B2 (en) Searchable encryption processing system and searchable encryption processing method
JP6557338B2 (ja) 類似性秘匿検索システム、類似性秘匿検索方法
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
JP5412414B2 (ja) 検索可能暗号処理システム
US9021259B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
KR100903599B1 (ko) 내적을 이용한 암호화된 데이터 검색 방법 및 이를 위한단말 장치와 서버
CN110326253A (zh) 用于对加密数据进行模糊关键字搜索的方法和系统
EP2624498B1 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
US20170039487A1 (en) Support vector machine learning system and support vector machine learning method
US10095719B2 (en) Method and system to perform secure Boolean search over encrypted documents
Buyrukbilen et al. Secure similar document detection with simhash
US11764940B2 (en) Secure search of secret data in a semi-trusted environment using homomorphic encryption
EP3511845B1 (en) Encrypted message search method, message transmission/reception system, server, terminal and programme
Rane et al. Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data
JP2022151535A (ja) データ共有システム、データ共有方法、およびデータ共有プログラム
US10594473B2 (en) Terminal device, database server, and calculation system
Taric et al. A survey on privacy preserving data mining techniques
JP2020086116A (ja) 情報処理装置および情報処理方法
CN109255248A (zh) 一种基于加解密算法的全文检索方法
Sheng et al. Privacy preserving inner product of vectors in cloud computing
CN113779597B (zh) 加密文档的存储和相似检索方法、装置、设备及介质
US20220309178A1 (en) Private searchable database
Guo et al. A privacy preserving Markov model for sequence classification
Jin et al. Privacy-preserving mining of association rules for horizontally distributed databases based on FP-tree
EP3264289B1 (en) System and method for searching over encrypted data using a boolean search query

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190118

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: 20190618

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190711

R150 Certificate of patent or registration of utility model

Ref document number: 6557338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150