JP2011147074A - 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 - Google Patents

暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 Download PDF

Info

Publication number
JP2011147074A
JP2011147074A JP2010008241A JP2010008241A JP2011147074A JP 2011147074 A JP2011147074 A JP 2011147074A JP 2010008241 A JP2010008241 A JP 2010008241A JP 2010008241 A JP2010008241 A JP 2010008241A JP 2011147074 A JP2011147074 A JP 2011147074A
Authority
JP
Japan
Prior art keywords
search
information
keyword
predicate
character
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
JP2010008241A
Other languages
English (en)
Other versions
JP5432736B2 (ja
Inventor
Reisei Yoshida
麗生 吉田
Satoru Oda
哲 小田
Tetsutaro Kobayashi
鉄太郎 小林
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010008241A priority Critical patent/JP5432736B2/ja
Publication of JP2011147074A publication Critical patent/JP2011147074A/ja
Application granted granted Critical
Publication of JP5432736B2 publication Critical patent/JP5432736B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】例えば部分一致検索が可能な検索可能暗号技術を提供する。
【解決手段】暗号情報Cに、当たりか否かを識別可能な情報Rと、情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、検索要求側で、検索用キーワードを用いて、情報Rを述語暗号方式により復号するための復号鍵kを生成し、検索代行側で、述語暗号方式に従って情報Rを復号鍵kで復号し、得られた情報が情報Rに一致するか否かを判定する。述語暗号方式における述語論理は、部分一致検索方式に対応して構成される。
【選択図】図2

Description

本発明は、暗号化された情報(以下、暗号情報という)に対するキーワード検索を行うことができる検索可能暗号技術に関し、より詳しくは、完全一致検索以外のキーワード検索(例えば部分一致検索)も可能な検索可能暗号技術に関する。
暗号情報に対して当該暗号情報を復号することなくキーワード検索を行い、この検索結果を得る検索可能暗号技術としてPEKS(Public-key Encryption with Keyword Search)が知られている(非特許文献1、2参照)。例えば非特許文献2に開示されるPEKSは、暗号情報からはどのID(identification)で暗号化したかを知ることのできないIDベース暗号(anonymouse IBE)を利用することでPEKSを実現している。
D. Boneh, G. Di Crescenzo, R. Ostrovsky, and G. Persiano, "Public key encryption with keyword search", in proceedings of Eurocrypt 2004, LNCS 3027, pp. 506-522, 2004. [平成22年1月12日検索], インターネット <URL : http://crypto.stanford.edu/~dabo/papers/encsearch.pdf> M. Abdalla, M. Bellare, D. Catalano, E. Kiltz, T. Kohno, T. Lange, J. Malone-Lee, G. Neven, P. Paillier, and H. Shi, "Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions", Journal of Cryptology, 21(3), July 2008. [平成22年1月12日検索], インターネット<URL : http://www.cs.washington.edu/homes/yoshi/papers/PEKS/PEKS.pdf>
従来技術では、暗号情報を例えばサーチエンジンに登録する際に予め指定されたキーワードと、検索の際に用いる検索用キーワードとが最初から最後まで完全に一致していることが検索のマッチングを意味するため、完全一致検索しかできなかった。
そこで本発明は、キーワードの完全一致検索に加えて完全一致検索以外のキーワード検索(例えば部分一致検索)も可能な検索可能暗号技術を提供することを目的とする。
本発明のキーワード検索システムは、少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムであって、検索対象となるキーワードを登録用キーワードとして、暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、検索要求装置は、検索用キーワードを用いて、情報Rを述語暗号方式により復号するための復号鍵kを生成する鍵生成部と、復号鍵kを検索代行装置へ送信する送信部とを含み、検索代行装置は、復号鍵kを受信する受信部と、述語暗号方式に従って情報Rを復号鍵kで復号し、得られた情報が情報Rに一致するか否かを判定する復号判定部とを含む。
具体例として、情報Rは、登録用キーワードから生成される述語暗号方式の属性で情報Rを暗号化して得られ、復号鍵kは、検索用キーワードから生成される述語暗号方式の述語から生成される。
例えば、述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であるとし、この場合、属性は、登録用キーワードの最大文字数をrとして、述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X,…,Xからなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルXr,dに登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、述語は、述語論理を属性変数と検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、変数ベクトルXr,dの成分に対応する順に並べたものを成分として持つ述語ベクトルである。
述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数、r文字の登録用キーワードWのi文字目の文字をw(1≦i≦r)、t文字の検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)として、
《1》検索方式が完全一致検索方式である場合、述語多項式は、
Figure 2011147074

で与えられ、
《2》検索方式が前方一致検索方式である場合、述語多項式は、
Figure 2011147074

で与えられ、
《3》検索方式が後方一致検索方式である場合、述語多項式は、
Figure 2011147074

で与えられ、
《4》検索方式が部分一致検索方式である場合、述語多項式は、
Figure 2011147074

で与えられる。
あるいは、r文字の登録用キーワードWのi文字目の文字をw(1≦i≦r)、ただし、1文字目wを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目wmax+1を文字列終端記号EDとし、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullとし、ただし、nullはi−1個のnullを表し、Wのj番目の文字をwi,jと表すこととし、t文字の検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とし、ただし、1文字目sを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目smax+1を文字列終端記号EDとして、属性ベクトルは、r個の部分キーワードWに対応してr個生成され、暗号情報Cには、当たりか否かを識別可能なr個の情報R(以下、R[i](1≦i≦r)とする)と、当該情報R[i]を部分キーワードWで暗号化して得られるr個の情報R(以下、R[i](1≦i≦r)とする)との組である検索用情報C(以下、C[i]=(R[i],R[i])(1≦i≦r)とする)が添付されており、述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数とし、
《1》検索方式が完全一致検索方式である場合、述語多項式は、
Figure 2011147074

で与えられ、
《2》検索方式が前方一致検索方式である場合、述語多項式は、
Figure 2011147074

で与えられ、
《3》検索方式が後方一致検索方式である場合、述語多項式は、
Figure 2011147074

で与えられ、
《4》検索方式が部分一致検索方式である場合、述語多項式は、
Figure 2011147074

で与えられ、
復号判定部は、1≦i≦rの各iについて、情報R[i]を復号鍵kで復号し、得られた情報が情報R[i]に一致するか否かを判定する。
あるいは、r文字の登録用キーワードWのi文字目の文字をw(1≦i≦r)、ただし、1文字目wを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目wmax+1を文字列終端記号EDとし、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullとし、ただし、nullはi−1個のnullを表し、Wのj番目の文字をwi,jと表すこととし、t文字の検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とし、ただし、1文字目sを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目smax+1を文字列終端記号EDとして、述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数とし、
《1》検索方式が完全一致検索方式である場合、述語多項式は、u個(u=1)の述語多項式
Figure 2011147074

で与えられ、
《2》検索方式が前方一致検索方式である場合、述語多項式は、u個(u=1)の述語多項式
Figure 2011147074

で与えられ、
《3》検索方式が後方一致検索方式である場合、述語多項式は、u個(u=r−t+2)の述語多項式
Figure 2011147074

で与えられ、
《4》検索方式が部分一致検索方式である場合、述語多項式は、u個(u=r−t+3)の述語多項式
Figure 2011147074

で与えられ、
復号鍵kは、u個の述語多項式に対応してu個生成され(以下、これをk[c](1≦c≦u)とする)、復号判定部は、1≦c≦uの各cについて、情報Rを復号鍵k[c]で復号し、得られた情報が情報Rに一致するか否かを判定する。
本発明のキーワード検索方法は、少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムおけるキーワード検索方法であって、検索対象となるキーワードを登録用キーワードとして、暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、検索要求装置の鍵生成部が、検索用キーワードを用いて、情報Rを述語暗号方式により復号するための復号鍵kを生成する鍵生成ステップと、検索要求装置の送信部が、復号鍵kを検索代行装置へ送信する送信ステップと、検索代行装置の受信部が、復号鍵kを受信する受信ステップと、検索代行装置の復号判定部が、述語暗号方式に従って情報Rを復号鍵kで復号し、得られた情報が情報Rに一致するか否かを判定する復号判定ステップとを有する。
また本発明の検索要求装置は、検索対象となるキーワードを登録用キーワードとして、文字列を含む情報を暗号化して得られた暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、少なくとも検索要求装置と検索代行装置を含み、暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムに含まれる検索要求装置であって、検索用キーワードを用いて、情報Rを述語暗号方式により復号するための復号鍵kを生成する鍵生成部と、復号鍵kを検索代行装置へ送信する送信部とを含む。
また本発明の検索代行装置は、検索対象となるキーワードを登録用キーワードとして、文字列を含む情報を暗号化して得られた暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、少なくとも検索要求装置と検索代行装置を含み、暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムに含まれる検索代行装置であって、検索用キーワードを用いて生成された、情報Rを述語暗号方式により復号するための復号鍵kを、検索要求装置から受信する受信部と、述語暗号方式に従って情報Rを復号鍵kで復号し、得られた情報が情報Rに一致するか否かを判定する復号判定部とを含む。
また、本発明の検索要求装置としてコンピュータを機能させるプログラムによって、コンピュータを検索要求装置として作動処理させることができるところ、このようなプログラムを記録した、コンピュータによって読み取り可能なプログラム記録媒体によって、他のコンピュータを検索要求装置として機能させることや、プログラムを流通させることなどが可能になる。同様に、本発明の検索代行装置としてコンピュータを機能させるプログラムによって、コンピュータを検索代行装置として作動処理させることができるところ、このようなプログラムを記録した、コンピュータによって読み取り可能なプログラム記録媒体によって、他のコンピュータを検索代行装置として機能させることや、プログラムを流通させることなどが可能になる。
本発明に拠れば、暗号情報Cに、当たりか否かを識別可能な情報Rと、当該情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、検索要求側で、検索用キーワードを用いて、情報Rを述語暗号方式により復号するための復号鍵kを生成し、検索代行側で、述語暗号方式に従って情報Rを復号鍵kで復号し、得られた情報が情報Rに一致するか否かを判定するところ、検索方式に対応した述語論理の構成により、キーワードの完全一致検索に加えて完全一致検索以外のキーワード検索(例えば部分一致検索)も可能となっている。
実施形態に関るキーワード検索システムの構成図。 実施形態に関るキーワード検索方法の処理手順を示す図。 変形例1に関るキーワード検索方法の処理手順を示す図。 変形例2に関るキーワード検索方法の処理手順を示す図。 実施形態に関る暗号情報生成装置、検索要求装置、検索代行装置、保管装置の機能ブロック図。
図面を参照して本発明の実施形態を説明する。
なお、以下に説明する情報処理では、文字列を含む情報が暗号化の対象となるが、暗号処理の実際では、人間が意味内容を認識可能なテキスト情報である文字そのものが暗号化されるのではなく、例えば当該文字に割り当てられている文字コード情報(EUC-JP、Shift_JIS、UTF-8などのバイト表現)が暗号化の対象となる。従って、後述の説明において例えば変数Xに文字wを代入ないし設定する(X=w)とは、テキスト情報としての文字wを変数Xに代入ないし設定することではなく、文字コード情報としての文字wを変数Xに代入ないし設定することと理解するべきである。このことは暗号処理の常套手段であるから、その詳細な説明を省略する。また、この明細書では、ベクトルの表記として慣用的にベクトルであることを示す記号“→”を省略している場合がある。従って、或る記号がベクトルであるか否かは明細書全体の記載から合理的に理解されたい。
[キーワード検索システム]
この実施形態のキーワード検索システム1は、図1に示すように、暗号情報生成装置100と、検索要求装置200と、検索代行装置300と、保管装置400とを少なくとも含んで構成される。これらの各装置は、例えばインターネットである通信網5を介して相互に通信可能とされている。
キーワード検索システム1におけるキーワード検索処理を、図2を参照しながら叙述する。各装置の機能構成については、図5を参照されたい。
《暗号情報生成プロセス》
暗号情報生成装置100の暗号情報生成部101は、文字列を含む情報Mを暗号化して暗号情報Cを得る(ステップS1)。この暗号方式(Enc,Dec)に限定はない。この暗号方式として、例えば共通鍵暗号方式や公開鍵暗号方式を利用できる。共通鍵暗号方式の場合、情報Mは、暗号情報生成装置100と検索装置200との間で共有される共通鍵で暗号化される。また、公開鍵暗号方式の場合、情報Mは検索装置200の公開鍵で暗号化される。つまり、暗号情報Cを得るための情報処理は、暗号化アルゴリズムEncに従い、C=Enc(M)である。
暗号情報生成装置100の検索用情報生成部102は、検索が当たりか否かを識別可能な情報Rを任意に設定し(例えば情報Rに数値としてのゼロを設定する)、この情報Rを登録用キーワードWで述語暗号方式により暗号化して情報Rを得る(ステップS2)。登録用キーワードは、例えばユーザによって予め設定される、検索対象となるキーワードである。検索用情報CはC=(R,R)である。情報Rを得る暗号化処理は例えば内積型述語暗号方式によって実現される。内積型述語暗号方式の詳細について、例えば参考文献Aを参照されたい。
(参考文献A)T. Okamoto and K. Takashima, "Hierarchical predicate encryption for inner-products", In ASIACRYPT, pp.214-231, 2009.
ここでは、内積型述語暗号方式を用いた暗号化処理の一例を説明する。
述語暗号は、送信者による暗号化の過程で暗号メッセージに或る情報Gが組み込まれ、当該情報Gと特定の関係を満たす情報Hを持つ受信者が、暗号メッセージの復号や、メッセージを知ることなくメッセージに関する情報を取得することができる方式である。送信者は、暗号化の際に、必ずしも受信者の持つ情報Hを知っている必要はない。また、送信者は、必ずしも、暗号化する前に受信者を特定している必要もない。送信者は、自由に、能動的に、主導権を持って、情報Gを決めることができる。講学的に、情報Gは属性I(変数)として、情報Hは述語論理f(命題関数、ブール関数)として表される。復号に際し、情報Gと情報Hとが満たすべき特定の関係は、例えばf(I)=1である。内積型述語暗号方式では、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる。ここでは、述語論理を多変数多項式によって表現する。この多変数多項式を述語多項式とも呼ぶ。属性を表す変数を属性変数と呼ぶ。
例えば3個の属性変数X,X,Xが、(X=wまたはX=w、かつX=w)の場合にのみ1を返す述語多項式p(X,X,X)は乱数rdを用いて式(1)で表される。式(1)では論理和ORは積の演算で論理積ANDは和の演算で表されている。
p(X,X,X)=(X−w)(X−w)+rd(X−w) (1)
r個の属性変数X,X,…,Xに対してd−1回の論理和を扱うためには、X,X,…,Xからなる次数d以下の単項式をすべて用意する必要がある。この単項式を1を含めて辞書式順序で並べた順に各成分としたベクトルを、属性変数X,X,…,Xに対するd次の変数ベクトルと呼び、Xr,dと表す。辞書式順序とは、d個の同一の順序集合{1,X,X,…,X}の直積集合に順序を導入したものである。辞書式順序は例えば素朴集合論において論じられ公知であるから、これ以上の詳細な説明は行わない。
r文字の登録用キーワードWのi文字目の文字をw(1≦i≦r)とする。属性変数X(1≦i≦r)について、X=wとする。このとき、ベクトルxが変数ベクトルXr,d上の属性ベクトルxであるとは、式(2)を満足する場合をいう。なお、この実施形態ではrはシステム仕様として固定値(1≦rを満たす整数)に設定される。登録用キーワードWの長さ(文字数)がrに満たない場合は、rに達するまでnull文字でパディングする。具体例として、r=2,d=2,Xr,d=(1,X,X,X ,X,X )の場合、属性ベクトルxはx=(1,w,w,w ,w,w )となる。
Figure 2011147074
r個の属性変数X,X,…,Xで最大d回の論理和が許されているとき、述語論理を表す属性変数からなる多変数多項式p(Xα,…,Xβ)(1≦α≦β≦r)を、変数ベクトルXr,d上の述語多項式と呼ぶ。
この変数ベクトルXr,d上の述語多項式p(Xα,…,Xβ)を、変数ベクトルXr,dと述語ベクトルvとの標準内積<Xr,d,v>と考えて、p(Xα,…,Xβ)の係数を、変数ベクトルXr,dの成分に対応する順に述語ベクトルvの成分とする。述語ベクトルvのこれら以外の成分を0とする。この述語ベクトルを変数ベクトルXr,d上の述語ベクトルとも呼ぶ。
dは1≦d≦rを満たす固定値にシステム仕様として設定されるが、この実施形態では、d=rとする。つまり、述語多項式において登録用キーワードの最大文字数相当の論理和を許容する。
さて、内積型述語暗号方式を用いた暗号化処理の一例は次のとおりである。検索用情報生成部102は、式(3)に従って登録用キーワードWから属性ベクトルxを生成する。この式(3)は、変数ベクトルXr,rにおいてX=w(1≦i≦r)とすることを意味する。
Figure 2011147074
x=(x,x,…,x)∈Fq nとする。つまり、x(1≦i≦n)はn次元直積Fq nの元とする。Fqは有限体であり、qは素数または素数の冪乗値である。検索用情報生成部102は、δ,δ,ζをFqからランダムに選択し、式(4)を計算することにより、情報Rを得る。情報RはR=(cipher1,cipher2)である。
Figure 2011147074
公開パラメータは、例えば位数qの巡回群G1,G2,GTの生成元g1,g2,gT、非退化性を持つ双線形写像e:G1×G2→GT(但し、e(g1,g2)=gT)、位数q、(n+3)次元のベクトル空間Vの直交基底Bを含む。秘密鍵は、双対ベクトル空間Vの直交基底Bを含む。代数構造を有限体Fqとする場合、qは素数または素数の冪乗値である。双線形写像eは例えばTateペアリングやWeilペアリングである。
直交基底Bおよび直交基底Bについて説明を加える。
(n+3)次元のベクトル空間Vの任意の元が、式(5)のように巡回群G1の(n+3)次元直積G1 n+3の元として表されるとする。(n+3)次元のベクトル空間Vの任意の元は、(n+3)次元のベクトル空間Vの標準基底Aを用いて式(6)のように表すこともできる。ただし、aiは(n+3)次元直積G1 n+3の元、ziは(n+3)次元直積Fq n+3の元とする。また、1は加法単位元とする。
Figure 2011147074
直交基底Bは、式(7)のように、標準基底Aに(n+3)次正方行列Xを作用させたものとして得られる。記号Tは転置を表す。なお、行列Xは秘密鍵と同様に秘密とされる。
Figure 2011147074
同様に、ベクトル空間Vと双対な双対ベクトル空間Vの任意の元が、式(8)のように巡回群G2の(n+3)次元直積G2 n+3の元として表されるとする。双対ベクトル空間Vの任意の元は、双対ベクトル空間Vの標準基底Aを用いて式(9)のように表すこともできる。ただし、ai は(n+3)次元直積G2 n+3の元、yi は(n+3)次元直積Fq n+3の元とする。また、1は加法単位元とする。
Figure 2011147074
直交基底Bは、式(10)のように、標準基底Aに(n+3)次正方行列T(X-1)を作用させたものとして得られる。記号Eは単位行列を表す。
Figure 2011147074
暗号情報生成装置100の送信部108は、暗号情報Cと検索用情報Cとを一組として保管装置400へ送信する(ステップS3)。保管装置400の受信部409は、暗号情報と検索用情報との組(C,C)を受信する(ステップS4)。保管装置400の記憶部401には、通常、暗号情報生成装置100から受信した複数の(C,C)が記憶されている。さらに言えば、保管装置400の記憶部401には、一般的に、複数の暗号情報生成装置から受信した複数の(C,C)が記憶されている。各組(C,C)には固有のインデックスが割り当てられている。
《検索要求プロセス》
検索要求装置200の鍵生成部201は、上記秘密鍵(直交基底B)と、例えばユーザによって入力された検索用キーワードSおよびユーザによって指定された検索方式$の述語論理とを用いて、検索用情報Cに含まれる情報Rを復号するための復号鍵kを生成する(ステップS5)。上記秘密鍵(直交基底B)は検索要求装置200の秘密鍵である。
復号鍵kを得るための情報処理は、暗号情報生成装置100の検索用情報生成部102が実施した述語暗号方式に対応する鍵生成アルゴリズムに従う。この実施形態では、復号鍵kを得るための情報処理は、内積型述語暗号方式によって実現される。具体的には、鍵生成部201は、まず、変数ベクトルXr,r上の述語ベクトルvを生成する。
t文字の検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とする。もし、t<rならば、s=0(t<i≦r)とする。鍵生成部201は、後述するように検索方式$に対応するXr,r上の述語多項式p(Xα,…,Xβ)を決定して、Xr,r上の述語ベクトルvを求める。Xr,r上の述語多項式p(Xα,…,Xβ)からXr,r上の述語ベクトルvを求める方法は既述のとおりである。
ここで各検索方式$の述語多項式について説明を加える。rdi,j(1≦i,j≦r)は乱数である。
《1》完全一致検索方式(cm)
完全一致検索方式は、任意のi(1≦i≦r)についてw=sが成立する場合を検索する検索方式である。
完全一致検索方式における述語多項式p(Xα,…,Xβ)は、式(11)で与えられる。
Figure 2011147074
《2》前方一致検索方式(fm)
前方一致検索方式は、任意のi(1≦i≦t)についてw=sが成立する場合を検索する検索方式である。
前方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(12)で与えられる。
Figure 2011147074
《3》後方一致検索方式(bm)
後方一致検索方式は、任意のi(r−t+1≦i≦r)についてw=sが成立する場合を検索する検索方式である。
後方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(13)で与えられる。
Figure 2011147074
《4》部分一致検索方式(pm)
部分一致検索方式は、或るjが存在して(j≦i≦t+j−1≦r)を満たすすべてのiについてw=sが成立する場合を検索する検索方式である。
部分一致検索方式における述語多項式p(Xα,…,Xβ)は、式(14)で与えられる。
Figure 2011147074
《5》完全不一致検索方式(ncm)
完全不一致検索方式は、すべてのi(1≦i≦r)についてw=sが成立しない場合を検索する検索方式である。これは完全一致検索方式でヒットした検索結果の補集合として得られる。
《6》「含まない」検索方式(npm)
「含まない」検索方式は、j≦i≦t+j−1≦rを満たすすべてのiについてw=sが成立するようなjが存在しない場合を検索する検索方式である。これは部分一致検索方式でヒットした検索結果の補集合として得られる。
次に、鍵生成部201は、述語ベクトルv=(v,v,…,v)∈Fq nに対して、σ,ηをFqからランダムに選択し、式(15)を計算することにより、復号鍵kを得る。
Figure 2011147074
検索要求装置200の送信部208は、復号鍵kを検索代行装置300へ送信する(ステップS6)。
《検索代行プロセス》
検索代行装置300の受信部309は、復号鍵kを受信する(ステップS7)。
検索代行装置300の制御部305は、送信部308を制御して、保管装置400に対して保管装置400の記憶部401に記憶されているすべての検索用情報を検索代行装置300へ送信するように要求し、これを受けて保管装置400の送信部408は記憶部401に記憶されているすべての検索用情報をインデックスとともに検索代行装置300へ送信し、検索代行装置300の受信部309がこれらを受信する(ステップS8)。
検索代行装置300の復号判定部301は、すべての検索用情報を復号判定処理の対象とし、復号鍵kを用いて検索用情報を個別に復号して検索が当たりか否かを判定する(ステップS9)。具体的には、復号判定部302は、すべての検索用情報について、式(16)に従って情報Rを求め(復号処理)、R=Rの成否を判定する(判定処理)。
Figure 2011147074
検索代行装置300の送信部308は、R=Rが成立した検索用情報のインデックスを検索要求装置200へ送信する(ステップS10)。
《検索結果受信プロセス》
検索要求装置200の受信部209は、R=Rが成立した検索用情報のインデックスを受信する(ステップS11)。
検索要求装置200の制御部205は、送信部208を制御して、保管装置400に対して、保管装置400の記憶部401に記憶されている、検索代行装置300から受信したインデックスに対応する暗号情報を検索要求装置200へ送信するように要求し、これを受けて保管装置400の送信部408は当該インデックスに対応する暗号情報を検索要求装置200へ送信し、検索要求装置200の受信部209がこれらを受信する(ステップS12)。
検索要求装置200の復号部206は、必要に応じて、保管装置400から受信した暗号情報Cを復号して情報Mを得る(ステップS13)。情報Mを得るための情報処理は、暗号情報生成装置100の暗号情報生成部101が実施した暗号方式(Enc,Dec)に対応する復号アルゴリズムDecに従う。つまり、M=Dec(C)である。
<変形例>
上記実施形態では、変数ベクトルXr,dの次元nは、i次以下の単項式の総和がr文字からq文字(1≦q≦i)を選ぶ組み合わせの和になるので、式(17)で表される。
Figure 2011147074
式(17)によると、変数ベクトルXr,dの次元nは、登録用キーワードの文字数rと論理和の数dの階乗のオーダーで増加する。そこで、各変形例では、論理和を用いる検索でありながら論理和を用いない変数ベクトルXr,1を構成する。このため各変形例では、登録用キーワードと検索用キーワードに、文字列開始記号としてST、文字列終端記号としてEDを導入する。なお、説明の便宜からこれらの記号をST、EDというように2文字で表現したが、変形例では、文字列開始記号として1文字の長さの記号、文字列終端記号として1文字の長さの記号が設定されることに留意されたい。もちろん、これらの記号の長さを任意に設定してよいが、この場合、述語多項式の表現やそこに現れる添え字が変わるものの、実用上格別の意義を有しないので、通常、1文字分の長さの記号を設定すれば足りる。なお、変形例1については図3を、変形例2については図4を参照のこと。
[変形例1]
登録用キーワードWの1文字目wをSTとする。また、nullでない文字の最大の添え字をmaxとしたとき、(max+1)文字目wmax+1をEDとする。登録用キーワードWについて、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullと定義する。ここでnullはi−1個のnullを表す。Wのj番目の文字をwi,jと表すことにする。
変形例1では、実施形態のステップS2の処理は、次のように変更される。暗号情報生成装置100の検索用情報生成部102は、検索が当たりか否かを識別可能なr個の情報R[i](1≦i≦r)を任意に設定し(例えばすべて数値としてのゼロとする)、この情報R[i]を部分キーワードWで暗号化して情報R[i]を得る(ステップS2a)。具体的には、検索用情報生成部102は、式(18)に従って、r個の部分キーワードWからr個の属性ベクトルx(1≦i≦r)を生成する。x=(x[i],x[i],…,x[i])∈Fq nとする。
Figure 2011147074
そして、検索用情報生成部102は、δ,δ,ζをFqからランダムに選択し、式(19)を計算することにより、情報R[i]を得る(1≦i≦r)。情報R[i]はR[i]=(cipher1[i],cipher2[i])である(1≦i≦r)。
Figure 2011147074
変形例1では、述語ベクトルは実施形態と同じように構成される。なお、検索用キーワードSの1文字目sをSTとする。また、nullでない文字の最大の添え字をmaxとしたとき、(max+1)文字目smax+1をEDとする。
変形例1では、実施形態のステップS3、S4の各処理は、次のように変更される。暗号情報生成装置100の送信部108は、暗号情報Cとr個の検索用情報C[i]=(R[i],R[i])とを一組として保管装置400へ送信する(ステップS3a)。保管装置400の受信部409は、暗号情報と検索用情報との組(C,C[1],C[2],…,C[r])を受信する(ステップS4a)。保管装置400の記憶部401には、通常、暗号情報生成装置100から受信した複数の(C,C[1],C[2],…,C[r])が記憶されている。さらに言えば、保管装置400の記憶部401には、一般的に、複数の暗号情報生成装置から受信した複数の(C,C[1],C[2],…,C[r])が記憶されている。各組(C,C[1],C[2],…,C[r])には固有のインデックスが対応付けられている。
変形例1では、実施形態のステップS5の処理自体に変更はないが、各検索方式に対応する述語多項式p(Xα,…,Xβ)が次のとおりに変更される。
《1》完全一致検索方式(cm)
変形例1では、完全一致検索方式における述語多項式p(Xα,…,Xβ)は、式(20)で与えられる。
Figure 2011147074
《2》前方一致検索方式(fm)
変形例1では、前方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(21)で与えられる。
Figure 2011147074
《3》後方一致検索方式(bm)
変形例1では、後方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(22)で与えられる。
Figure 2011147074
《4》部分一致検索方式(pm)
変形例1では、部分一致検索方式における述語多項式p(Xα,…,Xβ)は、式(23)で与えられる。
Figure 2011147074
《5》完全不一致検索方式(ncm)と《6》「含まない」検索方式(npm)は実施形態と同じである。
変形例1では、実施形態のステップS6以降の各処理について、1個の暗号情報にr個の検索用情報が添付されていることを注意すれば、実質的な変更はない。なお、実施形態におけるステップS9の処理は、次のように変更される。検索代行装置300の復号判定部301は、すべての検索用情報を復号判定処理の対象とし、復号鍵kを用いて検索用情報を個別に復号して検索が当たりか否かを判定する(ステップS9a)。具体的には、復号判定部301は、すべての検索用情報について、式(23a)に従って情報R[i]を求め(復号処理)、R[i]=R[i]の成否を判定する(判定処理)。
Figure 2011147074
変形例1によると、復号判定処理の回数は上述の実施形態と比較して一つの暗号情報につきr倍になるが、論理和の使用により変数ベクトルの次元が階乗オーダーで大きくなってしまうことに比べ定数倍の処理の増加で済むので、論理和を使用する検索の場合において上述の実施形態と比較してメリットが大きい。
[変形例2]
論理和を用いる検索でありながら論理和を用いない変数ベクトルXr,1を構成するために、変形例2では、一つの検索用キーワードから複数の述語ベクトルを生成する(なお、諸条件により必ず複数の述語ベクトルが生成されるわけではない。ここでは、特徴的な場合を説明する観点から、生成される述語ベクトルは“複数”であるとして説明する)。各述語ベクトルに対応する復号鍵kが生成される。つまり、特徴的な場合には複数の復号鍵kが生成される。
登録用キーワードWの1文字目wをSTとする。また、nullでない文字の最大の添え字をmaxとしたとき、(max+1)文字目wmax+1をEDとする。登録用キーワードWについて、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullと定義する。ここでnullはi−1個のnullを表す。Wのj番目の文字をwi,jと表すことにする。また、検索用キーワードSの1文字目sをSTとする。また、nullでない文字の最大の添え字をmaxとしたとき、(max+1)文字目smax+1をEDとする。
変形例2では、実施形態のステップS2、S5、S6、S7、S9の各処理は、次のように変更される。
暗号情報生成装置100の検索用情報生成部102は、検索が当たりか否かを識別可能な情報Rを任意に設定し(例えば数値としてのゼロ)、この情報Rを登録用キーワードWで暗号化して情報Rを得る(ステップS2b)。具体的には、検索用情報生成部102は、式(23b)に従って、登録用キーワードWから属性ベクトルxを生成する。x=(x,x,…,x)∈Fq nとする。
Figure 2011147074
そして、検索用情報生成部102は、δ,δ,ζをFqからランダムに選択し、式(23c)を計算することにより、情報Rを得る。情報RはR=(cipher1,cipher2)である。
Figure 2011147074
検索要求装置200の鍵生成部201は、上記秘密鍵(直交基底B)と、例えばユーザによって入力された検索用キーワードSおよびユーザによって指定された検索方式$の述語論理とを用いて、検索用情報Cに含まれる情報Rを復号するための複数の復号鍵kを生成する(ステップS5b)。
t文字の検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とする。もし、t<rならば、s=0(t<i≦r)とする。鍵生成部201は、後述するように検索方式$に対応するXr,r上の述語多項式p(Xα,…,Xβ)を決定して、Xr,r上の述語ベクトルvを求める。Xr,r上の述語多項式p(Xα,…,Xβ)からXr,r上の述語ベクトルvを求める方法は既述のとおりである。
変形例2では、実施形態と異なり、各検索方式に対応する述語多項式p(Xα,…,Xβ)が次のとおりに変更される。
《1》完全一致検索方式(cm)
変形例2では、完全一致検索方式における述語多項式p(Xα,…,Xβ)は、式(24)で与えられる。
Figure 2011147074
《2》前方一致検索方式(fm)
変形例2では、前方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(25)で与えられる。
Figure 2011147074
《3》後方一致検索方式(bm)
変形例2では、後方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(26)で与えられる。なお、この場合、r−t+2個の述語多項式が得られる。
Figure 2011147074
《4》部分一致検索方式(pm)
変形例2では、部分一致検索方式における述語多項式p(Xα,…,Xβ)は、式(27)で与えられる。なお、この場合、r−t+3個の述語多項式が得られる。
Figure 2011147074
《5》完全不一致検索方式(ncm)と《6》「含まない」検索方式(npm)は実施形態と同じである。
次に、鍵生成部201は、u個の述語ベクトルv[c]=(v[c],v[c],…,v[c])∈Fq nに対して、σ,ηをFqからランダムに選択し、式(28)を計算することにより、u個の復号鍵k[c]を得る(1≦c≦u)。《1》と《2》と《5》の場合はu=1である。《3》の場合はu=r−t+2である。《4》と《6》の場合はu=r−t+3である。
Figure 2011147074
検索要求装置200の送信部208は、u個の復号鍵k[c]を検索代行装置300へ送信する(ステップS6b)。検索代行装置300の受信部309は、u個の復号鍵k[c]を受信する(ステップS7b)。
検索代行装置300の復号判定部301は、すべての検索用情報を復号判定処理の対象とし、u個の復号鍵k[c]を用いて検索用情報を個別に復号して検索が当たりか否かを判定する(ステップS9b)。具体的には、復号判定部301は、すべての検索用情報について、式(29)に従って情報R[c]を求め(復号処理)、R[c]=R(1≦c≦u)の成否を判定する(判定処理)。
Figure 2011147074
変形例2では、1個の暗号情報に1個の検索用情報が添付されているものの、1個の検索用キーワードからu個の復号鍵k[c]を生成するため、復号判定処理の回数は上述の実施形態と比較して一つの暗号情報につきu倍になるが、論理和の使用により変数ベクトルの次元が階乗オーダーで大きくなってしまうことに比べ定数倍の処理の増加で済むので、論理和を使用する検索の場合において上述の実施形態と比較してメリットが大きい。
上述の実施形態と各変形例では、検索代行装置300は、複合判定処理において検索用情報と暗号情報との結びつきのみを把握できるだけなので、暗号情報の中身(情報M)や検索用キーワードSが何であるのかということが検索代行装置300に漏れることがない。
なお、上述の実施形態と各変形例では、暗号情報生成装置100と検索要求装置200を同一のエンティティとして実施することも可能である。この場合、上述の実施形態と各変形例において、暗号情報生成装置100を検索要求装置200に読み替えればよい。また、上述の実施形態と各変形例では、検索代行装置300と保管装置400を同一のエンティティとして実施することも可能である。この場合、上述の実施形態と各変形例において、保管装置400を検索代行装置300に読み替えればよい。これら両者の形態を組み合わせた変形例としてもよい。これらの場合、上述の実施形態と各変形例で説明した、暗号情報生成装置100と検索要求装置200との間の通信、検索代行装置300と保管装置400との間の通信がそれぞれ不要になる。
キーワード検索システムに含まれるハードウェアエンティティ(暗号情報生成装置、検索要求装置、検索代行装置、保管装置)は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい。〕、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい。)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。上述の説明では、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単に「記憶部」とした。
ハードウェアエンティティでは、外部記憶装置〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(例えば、暗号情報生成部、検索用情報生成部、鍵生成部、復号部、復号判定部、制御部など)を実現する。
各実施形態で説明したハードウェアエンティティの細部においては、数論における数値計算処理が必要となる場合があるが、数論における数値計算処理自体は、周知技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略した(この点の技術水準を示す数論における数値計算処理が可能なソフトウェアとしては、例えばPARI/GP、KANT/KASHなどが挙げられる。PARI/GPについては、例えばインターネット〈URL: http://pari.math.u-bordeaux.fr/〉[平成22年1月13日検索]を参照のこと。KANT/KASHについては、例えばインターネット〈URL: http://www.math.tu-berlin.de/algebra/〉[平成22年1月13日検索]を参照のこと。)。
また、この点に関する文献として、参考文献Bを挙げることができる。
(参考文献B) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
また、上記実施形態において説明したハードウェアエンティティにおける処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (11)

  1. 少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムであって、
    検索対象となるキーワードを登録用キーワードとして、前記暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、
    前記検索要求装置は、
    前記検索用キーワードを用いて、前記情報Rを前記述語暗号方式により復号するための復号鍵kを生成する鍵生成部と、
    前記復号鍵kを前記検索代行装置へ送信する送信部と
    を含み、
    前記検索代行装置は、
    前記復号鍵kを受信する受信部と、
    前記述語暗号方式に従って前記情報Rを前記復号鍵kで復号し、得られた情報が前記情報Rに一致するか否かを判定する復号判定部と
    を含む、キーワード検索システム。
  2. 請求項1に記載のキーワード検索システムにおいて、
    前記情報Rは、前記登録用キーワードから生成される前記述語暗号方式の属性で前記情報Rを暗号化して得られ、
    前記復号鍵kは、前記検索用キーワードから生成される前記述語暗号方式の述語から生成される
    ことを特徴とするキーワード検索システム。
  3. 請求項2に記載のキーワード検索システムにおいて、
    前記述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であり、
    前記属性は、前記登録用キーワードの最大文字数をrとして、前記述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X,…,Xからなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルXr,dに前記登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、
    前記述語は、述語論理を前記属性変数と前記検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、前記変数ベクトルXr,dの成分に対応する順に並べたものを成分として持つ述語ベクトルである
    ことを特徴とするキーワード検索システム。
  4. 請求項3に記載のキーワード検索システムにおいて、
    前記述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数、r文字の前記登録用キーワードWのi文字目の文字をw(1≦i≦r)、t文字の前記検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)として、
    《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、
    Figure 2011147074

    で与えられ、
    《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、
    Figure 2011147074

    で与えられ、
    《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、
    Figure 2011147074

    で与えられ、
    《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、
    Figure 2011147074

    で与えられる
    ことを特徴とするキーワード検索システム。
  5. 請求項3に記載のキーワード検索システムにおいて、
    r文字の前記登録用キーワードWのi文字目の文字をw(1≦i≦r)、ただし、1文字目wを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目wmax+1を文字列終端記号EDとし、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullとし、ただし、nullはi−1個のnullを表し、Wのj番目の文字をwi,jと表すこととし、
    t文字の前記検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とし、ただし、1文字目sを前記文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目smax+1を前記文字列終端記号EDとして、
    前記属性ベクトルは、r個の部分キーワードWに対応してr個生成され、
    前記暗号情報Cには、当たりか否かを識別可能なr個の前記情報R(以下、R[i](1≦i≦r)とする)と、当該情報R[i]を前記部分キーワードWで暗号化して得られるr個の前記情報R(以下、R[i](1≦i≦r)とする)との組である前記検索用情報C(以下、C[i]=(R[i],R[i])(1≦i≦r)とする)が添付されており、
    前記述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数とし、
    《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、
    Figure 2011147074

    で与えられ、
    《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、
    Figure 2011147074

    で与えられ、
    《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、
    Figure 2011147074

    で与えられ、
    《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、
    Figure 2011147074

    で与えられ、
    前記復号判定部は、1≦i≦rの各iについて、前記情報R[i]を前記復号鍵kで復号し、得られた情報が前記情報R[i]に一致するか否かを判定する
    ことを特徴とするキーワード検索システム。
  6. 請求項3に記載のキーワード検索システムにおいて、
    r文字の前記登録用キーワードWのi文字目の文字をw(1≦i≦r)、ただし、1文字目wを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目wmax+1を文字列終端記号EDとし、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullとし、ただし、nullはi−1個のnullを表し、Wのj番目の文字をwi,jと表すこととし、
    t文字の前記検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とし、ただし、1文字目sを前記文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目smax+1を前記文字列終端記号EDとして、
    前記述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数とし、
    《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、u個(u=1)の述語多項式
    Figure 2011147074

    で与えられ、
    《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、u個(u=1)の述語多項式
    Figure 2011147074

    で与えられ、
    《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、u個(u=r−t+2)の述語多項式
    Figure 2011147074

    で与えられ、
    《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、u個(u=r−t+3)の述語多項式
    Figure 2011147074

    で与えられ、
    前記復号鍵kは、u個の述語多項式に対応してu個生成され(以下、これをk[c](1≦c≦u)とする)、
    前記復号判定部は、1≦c≦uの各cについて、前記情報Rを前記復号鍵k[c]で復号し、得られた情報が前記情報Rに一致するか否かを判定する
    ことを特徴とするキーワード検索システム。
  7. 少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムおけるキーワード検索方法であって、
    検索対象となるキーワードを登録用キーワードとして、前記暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、
    前記検索要求装置の鍵生成部が、前記検索用キーワードを用いて、前記情報Rを前記述語暗号方式により復号するための復号鍵kを生成する鍵生成ステップと、
    前記検索要求装置の送信部が、前記復号鍵kを前記検索代行装置へ送信する送信ステップと、
    前記検索代行装置の受信部が、前記復号鍵kを受信する受信ステップと、
    前記検索代行装置の復号判定部が、前記述語暗号方式に従って前記情報Rを前記復号鍵kで復号し、得られた情報が前記情報Rに一致するか否かを判定する復号判定ステップと
    を有するキーワード検索方法。
  8. 検索対象となるキーワードを登録用キーワードとして、文字列を含む情報を暗号化して得られた暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、少なくとも検索要求装置と検索代行装置を含み、前記暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムに含まれる前記検索要求装置であって、
    前記検索用キーワードを用いて、前記情報Rを前記述語暗号方式により復号するための復号鍵kを生成する鍵生成部と、
    前記復号鍵kを前記検索代行装置へ送信する送信部と
    を含む検索要求装置。
  9. 検索対象となるキーワードを登録用キーワードとして、文字列を含む情報を暗号化して得られた暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、少なくとも検索要求装置と検索代行装置を含み、前記暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムに含まれる前記検索代行装置であって、
    前記検索用キーワードを用いて生成された、前記情報Rを前記述語暗号方式により復号するための復号鍵kを、前記検索要求装置から受信する受信部と、
    前記述語暗号方式に従って前記情報Rを前記復号鍵kで復号し、得られた情報が前記情報Rに一致するか否かを判定する復号判定部と
    を含む検索代行装置。
  10. 請求項8に記載の検索要求装置として、または、請求項9に記載の検索代行装置として、コンピュータを機能させるためのプログラム。
  11. 請求項10に記載のプログラムを記録した、コンピュータに読み取り可能な記録媒体。
JP2010008241A 2010-01-18 2010-01-18 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 Active JP5432736B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010008241A JP5432736B2 (ja) 2010-01-18 2010-01-18 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010008241A JP5432736B2 (ja) 2010-01-18 2010-01-18 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体

Publications (2)

Publication Number Publication Date
JP2011147074A true JP2011147074A (ja) 2011-07-28
JP5432736B2 JP5432736B2 (ja) 2014-03-05

Family

ID=44461500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010008241A Active JP5432736B2 (ja) 2010-01-18 2010-01-18 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体

Country Status (1)

Country Link
JP (1) JP5432736B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013130825A (ja) * 2011-12-22 2013-07-04 Hitachi Ltd 部分一致検索処理システムおよび方法
JP2013156675A (ja) * 2012-01-26 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム
WO2013145627A1 (ja) 2012-03-29 2013-10-03 日本電気株式会社 暗号化データベースシステム、クライアント端末、データベースサーバ、データ結合方法、および、プログラム
EP2743842A1 (en) 2012-12-13 2014-06-18 Hitachi Solutions, Ltd. Secure search processing system and secure search processing method
US9391965B2 (en) 2012-01-25 2016-07-12 Mitsubishi Electric Corporation Data search device, data search method, data search program, data registration device, data registration method, data registration program, and information processing device
JPWO2014092105A1 (ja) * 2012-12-12 2017-01-12 日本電気株式会社 データベース検索装置、データベース検索方法及びプログラム
US10235539B2 (en) 2013-02-25 2019-03-19 Mitsubishi Electric Corporation Server device, recording medium, and concealed search system
CN110612563A (zh) * 2017-05-18 2019-12-24 三菱电机株式会社 检索装置、标签生成装置、查询生成装置、隐匿检索系统、检索程序、标签生成程序以及查询生成程序
CN111066076A (zh) * 2017-09-12 2020-04-24 三菱电机株式会社 登记终端、检索终端、检索服务器、检索系统、登记程序和检索程序
US10673627B2 (en) 2016-01-18 2020-06-02 Mitsubishi Electric Corporation Encryption device, search device, computer readable medium, encryption method, and search method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6013045219; 松尾真一郎: 'キーエスクローが不要なキーワード検索可能公開鍵暗号' 2009年暗号と情報セキュリティシンポジウム講演論文集 , 20090120 *
JPN6013045220; Mitsuhiro Hattori, et al.: 'Public-key Encryption with Fuzzy Keyword Search' 2009年暗号と情報セキュリティシンポジウム講演論文集 , 20090120 *
JPN6013045221; Jonathan Katz, et al.: 'Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products' Lecture Notes in Computer Science Vol.4965, 2008, p.146-162 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013130825A (ja) * 2011-12-22 2013-07-04 Hitachi Ltd 部分一致検索処理システムおよび方法
USRE48146E1 (en) 2012-01-25 2020-08-04 Mitsubishi Electric Corporation Data search device, data search method, computer readable medium storing data search program, data registration device, data registration method, computer readable medium storing data registration program, and information processing device
US9391965B2 (en) 2012-01-25 2016-07-12 Mitsubishi Electric Corporation Data search device, data search method, data search program, data registration device, data registration method, data registration program, and information processing device
JP2013156675A (ja) * 2012-01-26 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム
WO2013145627A1 (ja) 2012-03-29 2013-10-03 日本電気株式会社 暗号化データベースシステム、クライアント端末、データベースサーバ、データ結合方法、および、プログラム
JPWO2014092105A1 (ja) * 2012-12-12 2017-01-12 日本電気株式会社 データベース検索装置、データベース検索方法及びプログラム
US10339140B2 (en) 2012-12-12 2019-07-02 Nec Corporation Database search device, database search method, and program
EP2743842A1 (en) 2012-12-13 2014-06-18 Hitachi Solutions, Ltd. Secure search processing system and secure search processing method
US10235539B2 (en) 2013-02-25 2019-03-19 Mitsubishi Electric Corporation Server device, recording medium, and concealed search system
US10673627B2 (en) 2016-01-18 2020-06-02 Mitsubishi Electric Corporation Encryption device, search device, computer readable medium, encryption method, and search method
CN110612563A (zh) * 2017-05-18 2019-12-24 三菱电机株式会社 检索装置、标签生成装置、查询生成装置、隐匿检索系统、检索程序、标签生成程序以及查询生成程序
CN110612563B (zh) * 2017-05-18 2023-05-12 三菱电机株式会社 检索装置、隐匿检索系统以及计算机能读取的存储介质
CN111066076A (zh) * 2017-09-12 2020-04-24 三菱电机株式会社 登记终端、检索终端、检索服务器、检索系统、登记程序和检索程序
CN111066076B (zh) * 2017-09-12 2023-03-17 三菱电机株式会社 登记终端、密钥服务器、检索系统和计算机能读取的存储介质

Also Published As

Publication number Publication date
JP5432736B2 (ja) 2014-03-05

Similar Documents

Publication Publication Date Title
JP5432736B2 (ja) 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体
JP5985123B1 (ja) 秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム
Boneh et al. Private database queries using somewhat homomorphic encryption
JP5253567B2 (ja) 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
JP5606642B2 (ja) データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置
JP6208586B2 (ja) 検索可能暗号処理システムおよび検索可能暗号処理方法
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
JPWO2012011575A1 (ja) 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
JP2014002365A (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
JP6770075B2 (ja) 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム
JP5670365B2 (ja) 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム
JP2024512110A (ja) データ伝送方法、装置、電子機器及び記憶媒体
CN115795514A (zh) 一种隐私信息检索方法、装置及系统
JP2007114494A (ja) 秘匿計算方法及び装置
US8594329B2 (en) Non-interactive verifiable, delegated computation
JP2010160235A (ja) 検索システム、端末装置、データベース装置、検索方法及びプログラム
JP5667969B2 (ja) 検索処理システムおよび部分一致検索方法
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法
KR100951034B1 (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
Sudo et al. An efficient private evaluation of a decision graph
JP2013217970A (ja) 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置
JP5713947B2 (ja) プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置
JP4685621B2 (ja) 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム
JP6927199B2 (ja) 暗号文照合システム、ノード装置、暗号文照合方法、およびプログラム
JP2007295444A (ja) 匿名暗号文通信システム、鍵生成装置、通信装置、それらの方法、プログラム及び記録媒体

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110624

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131107

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131206

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5432736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350