JP6755434B2 - 秘匿検索装置および秘匿検索方法 - Google Patents

秘匿検索装置および秘匿検索方法 Download PDF

Info

Publication number
JP6755434B2
JP6755434B2 JP2020518849A JP2020518849A JP6755434B2 JP 6755434 B2 JP6755434 B2 JP 6755434B2 JP 2020518849 A JP2020518849 A JP 2020518849A JP 2020518849 A JP2020518849 A JP 2020518849A JP 6755434 B2 JP6755434 B2 JP 6755434B2
Authority
JP
Japan
Prior art keywords
calculation
search
pairing
secret search
calculation table
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
JP2020518849A
Other languages
English (en)
Other versions
JPWO2019220531A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2019220531A1 publication Critical patent/JPWO2019220531A1/ja
Application granted granted Critical
Publication of JP6755434B2 publication Critical patent/JP6755434B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データが暗号化されている状態で検索を行う秘匿検索装置および秘匿検索方法に関する。
秘匿検索とは、暗号化したまま、データを検索することができる技術である。クラウドサービスが普及し始めている現在において、安価で、かつ手間なく利用開始可能なクラウドストレージの利用が、一般的になりつつある。
一方で、機微な情報を含むデータをクラウドで管理する場合、情報漏洩のリスクを回避するために、データを暗号化して保管する必要がある。秘匿検索は、暗号化されているデータに対して、復号することなく検索する技術である。このため、秘匿検索は、安全性と機能性とを両立することが可能な技術といえる(例えば、特許文献1〜3、非特許文献1、2参照)。
秘匿検索では、2つの暗号化されたキーワードを用いて、暗号化されているデータの検索を実現する。1つ目は、データに関連付けるキーワードの暗号文であり、暗号化タグという。2つ目は、検索するキーワードの暗号文であり、トラップドアという。データを登録するときには、暗号化したデータと暗号化タグとが、ストレージサーバに登録される。
暗号化タグは、関連付けられているデータ、またはデータの識別子と紐づけられて、暗号化索引として保管される。秘匿検索は、検索者が送信するトラップドアに対して、復号することなく、一致する暗号化タグを、暗号化索引から見つけることで、データおよびキーワードの情報を露出することなく、検索を実現する。
このような秘匿検索は、公開鍵型秘匿検索と、共通鍵型秘匿検索とに大別できる。これら2つの検索は、以下のような異なる特徴をもつ。公開鍵型秘匿検索は、暗号化タグおよびトラップドアの生成に異なる鍵を使用するが、共通鍵型秘匿検索は、暗号化タグおよびトラップドアの生成に同一の鍵を使用する。
また、一般的に、公開鍵型秘匿検索は、共通鍵型秘匿検索と比較して、部分一致検索、および柔軟なアクセス制御が可能であり、機能的に優れているメリットがある。その一方、公開鍵型秘匿検索は、共通鍵型秘匿検索と比較して、検索速度が低速であるというデメリットがある。
特許文献1および非特許文献2では、ペアリングを用いた部分一致検索手法が示されている。しかしながら、特許文献1および非特許文献2に係る検索手法は、暗号化タグおよびトラップドアを、文字毎に暗号化する構成を備えている。従って、特許文献1および非特許文献2に係る検索手法は、暗号化タグとトラップドアの一致判定に当たって、ペアリングを頻繁に繰り返すこととなる。この結果、暗号化タグおよびトラップドアの個数あるいは文字数によっては、検索速度が大幅に遅延する可能性がある。
ペアリングの計算を高速化する手法は、これまでにも多くのものが提案されている。また、ペアリングの入力であるツイスト曲線上の有理点が事前に得られる場合には、事前計算によりペアリングの計算量を削減できる高速化手法が知られている。そして、非特許文献2および特許文献2には、このような高速化手法が記載されている。また、特許文献3も、高速化手法について言及している。
国際公開第2016−113878号 特開2015−135452号公報 国際公開第2007−080633号
C. Costello, D. Stebila, "Fixed Argument Pairings," LATINCRYPT 2010, LNCS 6212, pp.92-108, 2010. Y. Kawai, T. Hirano, Y. Koseki, T. Munaka, "SEPM: Efficient Partial Keyword Search on Encrypted Data," CANS 2015, LNCS 9476, pp.75-91, 2015.
しかしながら、従来技術には、以下のような課題がある。
上述したような、ペアリングの計算量を削減できる従来の高速化手法は、事前計算されたテーブルを保持しておく必要がある。従って、特許文献1をはじめとしたペアリングを多用する秘匿検索では、事前計算されたテーブルにより検索処理の高速化が実現できる一方で、事前計算されたテーブルを保管するために、ストレージが圧迫されるという問題がある。
本発明は、前記のような課題を解決するためになされたものであり、秘匿検索を行う際に、検索処理の高速化と、記憶装置圧迫の回避との両立を図ることのできる秘匿検索装置および秘匿検索方法を得ることを目的とする。
本発明に係る秘匿検索装置は、暗号化タグの各要素とトラップドアの各要素とに関するペアリング演算を実行し、ペアリング演算に基づく一致判定結果を用いて秘匿検索処理を行うにあたって、ペアリング演算で使用する各要素に関して、各要素自身に依存する演算を事前計算し、事前計算結果と各要素とを関連付けた事前計算テーブルを記憶部に事前に記憶させておき、事前計算テーブルを用いてペアリング演算を実行することで秘匿検索処理の高速化を図る演算処理部を備えた秘匿検索装置であって、演算処理部は、記憶部の容量に関して、事前計算テーブルとして使用可能な空き容量に関する情報を収集し、収集した情報に基づいて、空き容量に収まるように、記憶部に記憶させる事前計算テーブルのサイズ調整を実行するものである。
また、本発明に係る秘匿検索方法は、演算処理部を備えた秘匿検索装置において、演算処理部で実行される秘匿検索方法であって、暗号化タグの各要素とトラップドアの各要素とに関するペアリング演算を実行し、ペアリング演算に基づく一致判定結果を用いて秘匿検索処理を行う事前処理として、ペアリング演算で使用する各要素に関して、各要素自身に依存する演算を事前計算し、事前計算結果と各要素とを関連付けた事前計算テーブルを記憶部に事前に記憶させておく事前計算ステップと、事前計算テーブルを用いてペアリング演算を実行することで秘匿検索処理の高速化を図る演算ステップと、を有し、記憶部の容量に関して、事前計算テーブルとして使用可能な空き容量に関する情報を収集する情報収集ステップをさらに有し、演算ステップは、情報収集ステップで収集された情報に基づいて、空き容量に収まるように、記憶部に記憶させる事前計算テーブルのサイズ調整を実行するものである。
本発明によれば、記憶装置の空き容量の監視結果に基づいて、暗号化タグおよびトラップドアに関して、ペアリング演算に含まれる一部の演算結果を事前計算テーブルとして記憶装置に記憶させておくとともに、記憶装置の空き容量の監視結果に基づいて、事前計算テーブルのサイズを制限する構成を備えている。この結果、秘匿検索を行う際に、検索処理の高速化と、記憶装置圧迫の回避との両立を図ることのできる秘匿検索装置および秘匿検索方法を得ることができる。
本発明の実施の形態1における秘匿検索システムのシステム構成図である。 本発明の実施の形態1における管理装置の構成を示すブロック図である。 本発明の実施の形態1における登録装置の構成を示すブロック図である。 本発明の実施の形態1における検索装置の構成を示すブロック図である。 本発明の実施の形態1における管理装置および登録装置による登録処理を示すフローチャートである。 本発明の実施の形態1における管理装置および検索装置による検索処理を示すフローチャートである。 本発明の実施の形態1における鍵生成装置、管理装置、登録装置、および検索装置のハードウェア資源の一例を示す図である。
以下、本発明の秘匿検索装置および秘匿検索方法の好適な実施の形態につき、図面を用いて説明する。なお、以下では、非特許文献2の部分一致秘匿検索方式をもとにして、検索処理の高速化、および記憶装置圧迫の回避を実現する本発明の秘匿検索装置について、具体的に説明する。
実施の形態1.
図1は、本発明の実施の形態1における秘匿検索システム100のシステム構成図である。秘匿検索システム100は、管理装置300、登録装置400、および検索装置500を、各々1つ以上有して構成されている。
管理装置300と、登録装置400と、検索装置500とは、通信路であるインターネット101により相互に接続されている。なお、インターネット101は、ネットワークの一例であり、インターネット101の代わりに、他の種類のネットワークを用いることも可能である。
管理装置300は、例えば、大容量の記憶媒体を持つ計算機である。管理装置300は、保管装置として機能する。すなわち、管理装置300は、登録装置400から送信された登録暗号化データを受信し、登録処理を実行した後のデータを保管する機能を有する。登録処理の具体的な内容に関しては、図2のブロック図および図5のフローチャートを用いて、後で詳細に説明する。
さらに、管理装置300は、検索装置としても機能する。すなわち、管理装置300は、検索装置500から送信されたトラップドアに関するデータを受信し、検索処理を実行して、検索結果を検索装置500に送信する機能も有する。検索処理の具体的な内容に関しては、図2のブロック図および図6のフローチャートを用いて、後で詳細に説明する。
登録装置400は、例えば、PCである。登録装置400は、登録要求装置として機能する。すなわち、登録装置400は、登録するデータの暗号文である暗号化データB(D)を生成するとともに、登録するデータに関連付けるキーワードを暗号化することで暗号化タグC(D)を生成し、生成した暗号化データB(D)および暗号化タグC(D)を管理装置300に送信する機能を有する。登録装置400の具体的な機能に関しては、図3のブロック図および図5のフローチャートを用いて、後で詳細に説明する。
検索装置500は、例えば、PCである。検索装置500は、検索要求装置として機能する。すなわち、検索装置500は、検索キーワードを暗号化することで、トラップドアを生成し、生成したトラップドアを管理装置300に送信する機能を有する。検索装置500は、検索結果出力装置としても機能する。すなわち、検索装置500は、管理装置300から受信した検索結果を出力する機能も有する。検索装置500の具体的な機能に関しては、図4のブロック図および図6のフローチャートを用いて、後で詳細に説明する。
なお、同じPC内に、管理装置300、登録装置400、検索装置500の2つ以上の組合せが同時に含まれる構成を採用してもよい。
以下、本実施の形態1の構成について、さらに詳細に説明する。
図1に示したように、秘匿検索システム100は、管理装置300と、登録装置400と、検索装置500とを備える。以下では、管理装置300、登録装置400、および検索装置500のそれぞれの内部構成について、図面を用いて順番に説明する。
まず、管理装置300について説明する。図2は、本発明の実施の形態1における管理装置300の構成を示すブロック図である。図2に示すように、管理装置300は、受信部310、送信部320、暗号化データ保管部331、トラップドア保管部332、照合部340、事前計算部341、および装置情報収集部342を備えて構成されている。なお、図示していないが、管理装置300は、管理装置300の各部で使用されるデータを記憶する記憶媒体をさらに備えている。
受信部310は、登録装置400から暗号化データB(D)、および後述する登録暗号化データR(D)を受信し、検索装置500からトラップドアを受信する。送信部320は、検索結果を検索装置500に送信する。
事前計算部341は、照合部340における検索処理を高速化するために、事前計算テーブルを計算する。具体的には、事前計算部341は、受信部310から取得した登録暗号化データR(D)に対する事前計算テーブル、および受信部310から取得したトラップドアt(s)に対する事前計算テーブルを計算する。
このとき、事前計算部341は、暗号化索引Iおよびトラップドアt(s)を保管するそれぞれの記憶媒体の空き容量に関する情報を、装置情報収集部342から受信し、事前計算テーブルのサイズを調整することができる。
暗号化データ保管部331は、受信部310が受信した登録暗号化データR(D)を暗号化索引Iに追加して保管する。暗号化データ保管部331は、必要であれば、登録暗号化データR(D)が送信されてきた日時なども、同時に保管してもよい。また、暗号化データ保管部331は、登録暗号化データR(D)に対して計算された事前計算テーブルを事前計算部341から受信し、暗号化索引Iに追加して保管する。
受信部310は、削除データ名を受け付けることができる。この場合には、暗号化データ保管部331は、暗号化索引Iから削除データ名で特定されるデータを削除する。
トラップドア保管部332は、受信部310が受信したトラップドアt(s)を保管する。また、トラップドア保管部332は、トラップドアt(s)に対して計算された事前計算テーブルを事前計算部341から受信し、トラップドアt(s)に追加して保管する。
照合部340は、トラップドア保管部332から受け取ったトラップドアt(s)、および暗号化データ保管部331から受け取った暗号化索引Iに基づいて、検索結果S(s)を計算し、検索結果S(s)を送信部320へ出力する。
次に、登録装置400について説明する。図3は、本発明の実施の形態1における登録装置400の構成を示すブロック図である。図3に示すように、登録装置400は、受信部410、送信部420、および暗号化部440を備えて構成されている。なお、図示していないが、登録装置400は、登録装置400の各部で使用されるデータを記憶する記憶媒体をさらに備えている。
受信部410は、データD、データ名ID(D)、データに関連付けるキーワード集合W(D)を、データ登録者からの入力として受け取る。また、受信部410は、必要に応じて、削除したいデータ名を、データ登録者からの入力として受け取ることができる。
暗号化部440は、受信部410からデータD、データ名ID(D)、およびキーワード集合W(D)を受け取り、暗号化データB(D)および暗号化タグC(D)を生成する。さらに、暗号化部440は、データ名ID(D)と暗号化タグC(D)との組(ID(D),C(D))を生成する。ここで生成された組(ID(D),C(D))が、登録暗号化データR(D)に相当する。
送信部420は、暗号化部440から受け取った暗号化データB(D)および登録暗号化データR(D)を、管理装置300へ送信する。また、送信部420は、削除したい登録データ名を削除データ名として管理装置300へ送信する。
次に、検索装置500について説明する。図4は、本発明の実施の形態1における検索装置500の構成を示すブロック図である。図4に示すように、検索装置500は、受信部510、送信部520、出力部521、および暗号化部540を備えて構成されている。なお、図示していないが、検索装置500は、検索装置500の各部で使用されるデータを記憶する記憶媒体をさらに備えている。
受信部510は、データ検索者からの入力として検索キーワードsを受信する。また、受信部510は、管理装置300から送信されてきた検索結果S(s)を受信する。
暗号化部540は、受信部510から受け取った検索キーワードsから、トラップドアt(s)を生成する。送信部520は、暗号化部540で生成されたトラップドアt(s)を、管理装置300へ送信する。
出力部521は、受信部510から受け取った検索結果S(s)をデータ検索者に対して出力する。
次に、本実施の形態1に係る秘匿検索装置において実行される登録処理および検索処理の具体的な動作について、フローチャートを参照しながら説明する。なお、前提条件として、登録装置400は、登録暗号化データR(D)の生成に必要な鍵を、事前に何らかの方法で取得し、記憶しているものとする。また、検索装置500は、トラップドアt(s)の生成に必要な鍵を、事前に何らかの方法で取得し、記憶しているものとする。さらに、管理装置300は、トラップドアt(s)を変換するために必要な鍵を、事前に何らかの方法で取得し、記憶しているものとする。また、これらの鍵は、図1では示したいないが、鍵生成装置200で生成することができる。なお、鍵生成装置200に関しては、図7を用いて、ハードウェア資源について後述する。
まず、登録処理について説明する。図5は、本発明の実施の形態1における管理装置300および登録装置400により実行される登録処理を示すフローチャートである。ステップS101において、登録装置400は、データDから登録暗号化データR(D)、および暗号化データB(D)を生成し、管理装置300へ送信する。
登録装置400は、登録暗号化データR(D)を生成するに当たり、データD、データ名ID(D)、およびキーワード集合W(D)を入力として受け取った後、次の処理を行う。すなわち、登録装置400は、キーワード集合W(D)の要素の一つをキーワードwとし、キーワードwをn個に分割したものを、w1,w2,…,wnとする。なお、分割は、文字毎でもよいし、単語毎でもよい。nは、キーワードw毎に異なった個数であってもよい。
始めに、登録装置400は、全てのキーワードwに対して、暗号文ct(w)=(c0,c1,…,cn,I)を生成する。ここで、c1,c2,…,cnは、分割された部分キーワードw1,w2,…,wnの暗号文である。また、キーワード集合W(D)に対する全ての暗号文ct(w)の集合を、暗号化タグC(D)とする。以上の手法から、登録装置400は、登録暗号化データR(D)=(ID(D),C(D))を生成する。
さらに、登録装置400は、データDを暗号化して、暗号化データB(D)生成する。なお、暗号化データB(D)を生成するための暗号化方法は、例えば、AESのような共通鍵暗号を用いてもよく、また、IDベース暗号、属性ベース暗号などを用いてもよい。
次に、ステップS102において、管理装置300の受信部310は、登録暗号化データR(D)を登録装置400から受信する。ステップS103において、管理装置300の暗号化データ保管部331は、ステップS102において受信部310が受信した登録暗号化データR(D)を保管する。
ステップS104において、管理装置300の事前計算部341は、事前計算パラメータを装置情報収集部342から読み込む。なお、事前計算部341は、受信部310から事前計算パラメータを受け取ってもよい。ここで、事前計算パラメータp=(p1,p2,p3、p4、…)とは、例えば、最大事前計算量p1、最小事前計算量p2、最大使用記憶容量p3、事前計算モードp4などの情報からなる集合である。
最大事前計算量p1は、例えば、0以上〜1以下の実数で、ペアリング1回あたりの事前計算量の上限を割合で表したものである。同様に、最小事前計算量p2は、例えば、0以上〜1以下の実数で、ペアリング1回あたりの事前計算量の下限を割合で表したものである。最大使用記憶容量p3は、暗号化索引I全体の事前計算テーブルを保管するために使用可能な、記憶容量の上限である。
事前計算モードp4は、部分キーワードの暗号文c0,c1,…,cnに対して、事前計算量を割り振る方針を規定するためのモードである。例えば、部分キーワードの暗号文のうち、末端に位置するc0とcnは、一致判定処理、すなわちペアリング処理に入力される回数が1回のみであるが、中間に位置するciは、末端の暗号文よりもペアリング処理に入力される回数が多い。
このように、ペアリング処理に入力される回数が多い暗号文に対して、より多くの事前計算量を割り振ることで、検索処理における高速化、および記憶容量の効率化を図ることができる。すなわち、事前計算モードp4によって事前計算量を割り振る方針を規定することで、検索処理における高速化、および記憶容量の効率化を図ることができる。
ステップS105において、管理装置300の事前計算部341は、ステップS103において暗号化データ保管部331によって保管されている登録暗号化データR(D)と、ステップS104において読み込んだ事前計算パラメータとにより、登録暗号化データR(D)に対する事前計算テーブルを生成する。なお、事前計算テーブルは、登録処理中には生成せず、検索処理において生成し、次回以降の検索処理で活用するようにしてもよい。
ステップS106において、管理装置300の暗号化データ保管部331は、ステップS105において事前計算部341が生成した事前計算テーブルを、登録暗号化データR(D)と関連付けて、暗号化索引Iへ追加する。このステップS106により、管理装置300による一連の登録処理は、終了する。
次に、検索処理について説明する。図6は、本発明の実施の形態1における管理装置300および検索装置500により実行される検索処理を示すフローチャートである。ステップS201において、検索装置500は、検索キーワードsからトラップドアt(s)を生成し、管理装置300へ送信する。
検索装置500は、トラップドアt(s)を生成するに当たり、検索キーワードsを入力として受け取った後、次の処理を行う。すなわち、検索装置500は、検索キーワードsをm個に分割したものを、s1,s2,…,smとする。ここでの分割は、文字毎でもよいし、単語毎でもよい。また、mは、検索キーワードs毎に異なってもよい。
検索装置500は、分割された検索キーワードs1,s2,…,smに対して、トラップドアt(s)=(k0,k1,k2,…,km,I)を生成する。ここで、k1,k2,…,kmは、分割された部分キーワードs1,s2,…,smの暗号文である。
次に、ステップS202において、管理装置300の受信部310は、トラップドアt(s)を検索装置500から受信する。ステップS203において、管理装置300のトラップドア保管部332は、ステップS202において受信部310が受信したトラップドアt(s)を保管する。
ステップS204において、管理装置300の事前計算部341は、事前計算パラメータを装置情報収集部342から読み込む。なお、事前計算部341は、受信部310から事前計算パラメータを受け取ってもよい。
ステップS205において、管理装置300の事前計算部341は、ステップS203においてトラップドア保管部332によって保管されているトラップドアt(s)と、ステップS204において読み込んだ事前計算パラメータとにより、トラップドアt(s)に対する事前計算テーブルを生成する。
ステップS206において、管理装置300の照合部340は、ステップS205において事前計算部341が生成した事前計算テーブルと、トラップドア保管部332が保管しているトラップドアt(s)と、暗号化データ保管部331が保管している暗号化索引Iとを用いて、トラップドアt(s)と暗号化タグC(D)との一致判定を行う。このとき、暗号化索引Iに登録暗号化データR(D)と関連付けられた事前計算テーブルが含まれている場合には、照合部340は、この登録暗号化データR(D)に対する事前計算テーブルも使用して、一致判定処理を高速化することができる。
次に、照合部340は、求めた一致判定結果を検索結果として、管理装置300の送信部320へ送信する。なお、ステップS206が終了した後には、照合部340は、トラップドアt(s)、およびトラップドアt(s)に対して計算された事前計算テーブルを、トラップドア保管部332から削除してもよい。
ステップS207において、管理装置300の送信部320は、照合部340から受信した検索結果を、検索装置500へ送信する。ステップS207により、管理装置300による一連の検索処理は、終了する。
一方、ステップS208において、検索装置500は、管理装置300から検索結果を受信し、受信した検索結果をデータ検索者に対して出力する。ステップS208により、検索装置500による一連の検索処理は、終了する。
上述した本実施の形態1における秘匿検索を整理すると、以下のようになる。
暗号化タグおよびトラップドアは、文字の暗号文であり、楕円曲線上の有理点(すなわち、楕円点)のベクトルとなっている。そして、本実施の形態1における秘匿検索は、ペアリングを用いた部分一致検索手法であり、暗号化タグC(D)を構成する各要素と、トラップドアt(s)を構成する各要素とのペアリング演算を実施することで、両者の一致判定を行っている。従って、一致判定には多くのペアリング演算が必要となる。
そして、ペアリング演算は、2つの楕円点に対して行われることとなるが、片方の楕円点だけに依存した計算が、このペアリング演算には存在する。そこで、本実施の形態1に係る秘匿検索装置は、片方の楕円点だけに依存した計算を事前計算として実行し、その結果を楕円点と関連付けた事前計算テーブルとして記憶部に保存している。
従って、秘匿検索でのペアリング演算に使用する楕円点に関して、事前計算テーブルがすでに存在する場合には、その事前計算テーブルを活用することで、演算処理の高速化を図ることができる。
ただし、楕円点が多くなるに従って、事前計算テーブルを記憶しておくためのメモリサイズも大きくなる。従って、許容される有限のメモリサイズ内で、事前計算テーブルを作成しておく必要がある。そこで、本実施の形態1における秘匿検索は、事前計算テーブルとして使用できる空き容量を監視し、監視結果に基づいて事前計算テーブルのサイズを調整する構成を備えている。
例えば、管理装置300は、ペアリングにより比較される頻度の高い文字位置を特定あるいは選定し、その文字位置に関する事前計算テーブルを優先して生成するようにして、事前計算テーブルのサイズを調整することができる。逆に、管理装置300は、一致判定されにくい文字位置、ペアリング処理に入力される回数が少ない文字位置に関する事前計算テーブルのサイズは小さくするように調整することができる。
この結果、秘匿検索を行う際に、検索処理の高速化と、記憶装置圧迫の回避との両立を図ることのできる装置を実現することができる。
次に、鍵生成装置200、管理装置300、登録装置400、および検索装置500のハードウェア構成について、図面を用いて説明する。図7は、本発明の実施の形態1における鍵生成装置200、管理装置300、登録装置400、および検索装置500のハードウェア資源の一例を示す図である。図7において、鍵生成装置200、管理装置300、登録装置400、および検索装置500のそれぞれは、CPU2001(Central Processing Unit)を備えている。
CPU2001は、バス2002を介してROM2003、RAM2004、通信ボード2005、ディスプレイ2011(表示装置)、キーボード2012、マウス2013、ドライブ2014、磁気ディスク装置2020などのハードウェアデバイスと接続されている。そして、CPU2001は、これらのハードウェアデバイスを制御する。
ドライブ2014は、FD(Flexible Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。ROM2003、RAM2004、ドライブ2014、および磁気ディスク装置2020は、記憶装置あるいは記憶部に相当する。
キーボード2012、マウス2013、および通信ボード2005は、入力装置の一例である。ディスプレイ2011、および通信ボード2005は、出力装置の一例である。
通信ボード2005は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続されている。
磁気ディスク装置2020には、OS2021(オペレーティングシステム)、プログラム群2022、ファイル群2023が記憶されている。
プログラム群2022には、本実施の形態1において「〜部」として説明した図2〜図4の各機能ブロックの機能を実行するプログラムが含まれる。例えば、データ検索プログラム、データ登録プログラムといったプログラムは、CPU2001により、プログラム群2022から読み出され、実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順および方法をコンピュータに実行させるものである。
ファイル群2023には、本実施の形態1において説明した「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。そして、本実施の形態1における構成図およびフローチャートに含まれている矢印は、主としてデータおよび信号の入出力を示している。
ブロック図およびフローチャートに基づいて説明した本実施の形態1の処理は、CPU2001、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
なお、本実施の形態において「〜部」として説明した各構成は、「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェア、またはこれらの組み合わせのいずれで実装されても構わない。
以上のように、実施の形態1によれば、以下のような効果を奏する。
(効果1)検索処理の高速化
本実施の形態1に係る秘匿検索装置は、暗号化タグおよびトラップドアに関して、ペアリング演算に含まれる一部の演算を事前計算しておく構成を備えている。この結果、一致判定処理内で行うペアリングを高速化し、検索処理を高速化することができる。
(効果2)記憶装置圧迫の回避
本実施の形態1に係る秘匿検索装置は、ストレージおよびメモリサイズを監視して、事前計算量を調整する構成を備えている。この結果、記憶媒体の空き容量に応じて、事前計算テーブルのサイズを制御することで、記憶装置の容量圧迫を回避することができる。また、事前計算テーブルのサイズを、キーワードの文字位置に応じて調整する構成を備えている。この結果、効率的に事前計算テーブルのサイズを制御することができる。
100 秘匿検索システム、300 管理装置、400 登録装置、500 検索装置、2001 CPU(演算処理部)、2020 磁気ディスク装置(記憶部)。

Claims (4)

  1. 暗号化タグの各要素とトラップドアの各要素とに関するペアリング演算を実行し、前記ペアリング演算に基づく一致判定結果を用いて秘匿検索処理を行うにあたって、前記ペアリング演算で使用する各要素に関して、各要素自身に依存する演算を事前計算し、事前計算結果と前記各要素とを関連付けた事前計算テーブルを記憶部に事前に記憶させておき、前記事前計算テーブルを用いて前記ペアリング演算を実行することで前記秘匿検索処理の高速化を図る演算処理部を備えた秘匿検索装置であって、
    前記演算処理部は、
    前記記憶部の容量に関して、前記事前計算テーブルとして使用可能な空き容量に関する情報を収集し、
    収集した前記情報に基づいて、前記空き容量に収まるように、前記記憶部に記憶させる前記事前計算テーブルのサイズ調整を実行する
    秘匿検索装置。
  2. 前記演算処理部は、前記各要素の文字位置からペアリング処理の実行回数を特定し、特定した実行回数が多い要素に対応する前記事前計算テーブルのサイズを大きくし、特定した実行回数が少ない要素に対応する前記事前計算テーブルのサイズを小さくするように前記サイズ調整を実行する
    請求項1に記載の秘匿検索装置。
  3. 前記演算処理部は、部分一致検索手法を適用することで前記ペアリング演算を実行する
    請求項1または2に記載の秘匿検索装置。
  4. 演算処理部を備えた秘匿検索装置において、前記演算処理部で実行される秘匿検索方法であって、
    暗号化タグの各要素とトラップドアの各要素とに関するペアリング演算を実行し、前記ペアリング演算に基づく一致判定結果を用いて秘匿検索処理を行う事前処理として、前記ペアリング演算で使用する各要素に関して、各要素自身に依存する演算を事前計算し、事前計算結果と前記各要素とを関連付けた事前計算テーブルを記憶部に事前に記憶させておく事前計算ステップと、
    前記事前計算テーブルを用いて前記ペアリング演算を実行することで前記秘匿検索処理の高速化を図る演算ステップと、
    を有し、
    前記記憶部の容量に関して、前記事前計算テーブルとして使用可能な空き容量に関する情報を収集する情報収集ステップをさらに有し、
    前記演算ステップは、前記情報収集ステップで収集された前記情報に基づいて、前記空き容量に収まるように、前記記憶部に記憶させる前記事前計算テーブルのサイズ調整を実行する
    秘匿検索方法。
JP2020518849A 2018-05-15 2018-05-15 秘匿検索装置および秘匿検索方法 Active JP6755434B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/018737 WO2019220531A1 (ja) 2018-05-15 2018-05-15 秘匿検索装置および秘匿検索方法

Publications (2)

Publication Number Publication Date
JPWO2019220531A1 JPWO2019220531A1 (ja) 2020-08-06
JP6755434B2 true JP6755434B2 (ja) 2020-09-16

Family

ID=68539665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020518849A Active JP6755434B2 (ja) 2018-05-15 2018-05-15 秘匿検索装置および秘匿検索方法

Country Status (5)

Country Link
US (1) US11431496B2 (ja)
JP (1) JP6755434B2 (ja)
CN (1) CN112074889B (ja)
DE (1) DE112018007468T5 (ja)
WO (1) WO2019220531A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177787B (zh) * 2020-01-02 2022-12-06 西北工业大学 多数据拥有者环境中基于属性的连接关键字搜索方法
JP6987330B1 (ja) 2020-01-14 2021-12-22 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム
US11638840B2 (en) * 2020-12-30 2023-05-02 Varian Medical Systems, Inc. Radiotherapy methods, systems, and workflow-oriented graphical user interfaces
US11660473B2 (en) 2020-12-30 2023-05-30 Varian Medical Systems, Inc. Radiotherapy methods, systems, and workflow-oriented graphical user interfaces

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6039139A (ja) 1983-08-12 1985-02-28 Mitsui Mining & Smelting Co Ltd 耐軟化高伝導性銅合金
WO2007080633A1 (ja) 2006-01-11 2007-07-19 Mitsubishi Denki Kabushiki Kaisha 楕円曲線暗号パラメータ生成装置及び楕円曲線暗号演算装置及び楕円曲線暗号パラメータ生成プログラム及び楕円曲線暗号演算プログラム
JP2007187908A (ja) * 2006-01-13 2007-07-26 Hitachi Ltd サイドチャネル攻撃に耐性を有するモジュラーべき乗算計算装置及びモジュラーべき乗算計算方法
US8553876B1 (en) * 2007-10-23 2013-10-08 Oracle America, Inc. High performance cryptography on chip multithreading processors
JP2009282733A (ja) * 2008-05-22 2009-12-03 Kureo:Kk 機密ファイル検索装置、機密ファイル検索方法、及びプログラム
JP5269209B2 (ja) * 2010-01-13 2013-08-21 三菱電機株式会社 秘匿検索システム及び公開パラメータ生成装置及び暗号化装置及びユーザ秘密鍵生成装置及びクエリ発行装置及び検索装置及びコンピュータプログラム及び秘匿検索方法及び公開パラメータ生成方法及び暗号化方法及びユーザ秘密鍵生成方法及びクエリ発行方法及び検索方法
EP2525340B1 (en) * 2010-01-15 2018-06-06 Mitsubishi Electric Corporation Confidential search system and encryption processing system
JP5606642B2 (ja) * 2012-01-25 2014-10-15 三菱電機株式会社 データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置
WO2014109066A1 (ja) * 2013-01-12 2014-07-17 三菱電機株式会社 鍵生成装置、鍵生成プログラム、秘匿検索システム及び鍵配布方法
JP5963936B2 (ja) * 2013-02-25 2016-08-03 三菱電機株式会社 サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム
JP5840160B2 (ja) * 2013-02-27 2016-01-06 日本電信電話株式会社 暗号演算装置、暗号演算方法、およびプログラム
WO2014184894A1 (ja) * 2013-05-15 2014-11-20 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
JP6208586B2 (ja) * 2014-01-16 2017-10-04 株式会社日立製作所 検索可能暗号処理システムおよび検索可能暗号処理方法
JP6067596B2 (ja) * 2014-01-20 2017-01-25 日本電信電話株式会社 ペアリング演算装置、マルチペアリング演算装置、プログラム
CN103944711B (zh) * 2014-02-17 2017-05-24 国家超级计算深圳中心 一种云存储密文检索方法及其系统
JPWO2016113878A1 (ja) * 2015-01-15 2017-04-27 三菱電機株式会社 秘匿検索システム、秘匿検索プログラム及び変換後検索鍵生成装置
JP6381128B2 (ja) * 2015-02-05 2018-08-29 国立研究開発法人産業技術総合研究所 検索システム、クライアント、サーバ、検索プログラムおよび検索方法
WO2017122326A1 (ja) 2016-01-14 2017-07-20 三菱電機株式会社 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム

Also Published As

Publication number Publication date
WO2019220531A1 (ja) 2019-11-21
US20210014057A1 (en) 2021-01-14
JPWO2019220531A1 (ja) 2020-08-06
US11431496B2 (en) 2022-08-30
CN112074889A (zh) 2020-12-11
DE112018007468T5 (de) 2021-01-21
CN112074889B (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
JP6755434B2 (ja) 秘匿検索装置および秘匿検索方法
WO2021208690A1 (zh) 数据加解密方法、装置、设备及存储介质
Atiewi et al. Scalable and secure big data IoT system based on multifactor authentication and lightweight cryptography
US9600677B2 (en) Database apparatus, method, and program
US11546348B2 (en) Data service system
CN112800445B (zh) 一种用于密文数据的前后向安全和可验证的布尔查询方法
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
JP6038427B1 (ja) 暗号化装置、暗号化方法、暗号化プログラム及び保管装置
JP6319369B2 (ja) 処理制御装置、処理制御方法、及び、処理制御プログラム
JPWO2016047115A1 (ja) 解析システム、解析方法、及び、解析プログラム
JP2022103117A (ja) 暗号化データを保存するための方法及び設備
Sindhura et al. An effective secure storage of data in cloud using ISSE encryption technique
US11233646B2 (en) Searchable encryption method
Badertscher et al. A constructive perspective on signcryption security
JP2019207281A (ja) 大小判定サーバ、大小判定暗号化システム、及び大小判定方法
CN114679272A (zh) 一种使用量子密钥加密的云存储系统及方法
JP6369554B2 (ja) 解析システム、解析方法、及び、解析プログラム
JP3537959B2 (ja) 情報復号化装置
KR102050890B1 (ko) 스트리밍 기반의 영상 보안 서버, 서버-클라이언트 간 보안 영상을 제공하는 방법 및 컴퓨터 판독 가능한 기록 매체
CN114679260B (zh) 旁路审计兼容扩展主秘钥的加密数据方法、系统及终端
Alrehaili et al. Cloud computing security challenges
JP6369553B2 (ja) 解析システム、解析方法、及び、解析プログラム
JP6642425B2 (ja) 条件生成装置、条件生成方法、条件生成プログラム、データベース検索システム、及び、データベース検索プログラム
JP2020020928A (ja) 通信装置および通信プログラム
CN114978780A (zh) 一种基于收敛加密技术的云安全去重方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200428

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200428

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200721

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200825

R150 Certificate of patent or registration of utility model

Ref document number: 6755434

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250