JP6462968B1 - データ管理装置、データ管理方法及びデータ管理プログラム - Google Patents
データ管理装置、データ管理方法及びデータ管理プログラム Download PDFInfo
- Publication number
- JP6462968B1 JP6462968B1 JP2018543735A JP2018543735A JP6462968B1 JP 6462968 B1 JP6462968 B1 JP 6462968B1 JP 2018543735 A JP2018543735 A JP 2018543735A JP 2018543735 A JP2018543735 A JP 2018543735A JP 6462968 B1 JP6462968 B1 JP 6462968B1
- Authority
- JP
- Japan
- Prior art keywords
- search
- identifier
- data
- mapping
- unit
- 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
Links
- 238000000034 method Methods 0.000 title claims description 62
- 238000013523 data management Methods 0.000 title claims description 51
- 238000013507 mapping Methods 0.000 claims abstract description 96
- 238000003860 storage Methods 0.000 claims description 90
- 238000012545 processing Methods 0.000 claims description 36
- 238000013500 data storage Methods 0.000 claims description 10
- 239000002131 composite material Substances 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 55
- 230000006870 function Effects 0.000 description 52
- 238000004891 communication Methods 0.000 description 34
- 230000005540 biological transmission Effects 0.000 description 17
- 238000012986 modification Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 16
- 238000012217 deletion Methods 0.000 description 11
- 230000037430 deletion Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009223 counseling Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
データを登録するときは、暗号化したデータと暗号化タグとをストレージサーバに登録する。暗号化タグは、関連付けられているデータ又はデータの識別子と紐づけられて、暗号化索引として保管される。秘匿検索は、検索者が送信するトラップドアに対して、復号することなく一致する暗号化タグを暗号化索引から見つけることで、データやキーワードの情報を露出することなく検索を実現する。
公開鍵型秘匿検索は、暗号化タグとトラップドアとの生成に異なる鍵が使用されるのに対して、共通鍵型秘匿検索は、暗号化タグとトラップドアとの生成に同一の鍵が使用される。また、共通鍵型秘匿検索は、公開鍵型秘匿検索よりも検索処理を高速に行うことが可能である。
この発明は、解読及びなりすましを防止可能にすることを目的とする。
識別子毎に異なる写像skのうちの識別子U’に割り当てられた写像sk_U’によって検索ワードsが変換されたトラップドアt(s)を取得するトラップドア取得部と、
前記トラップドア取得部によって取得された前記トラップドアt(s)を、識別子毎に異なる写像fのうちの識別子U’に割り当てられた写像f_U’によって変換して、検索暗号文c(s)を生成する検索暗号文生成部と
を備える。
***構成の説明***
図1を参照して、実施の形態1に係る秘匿検索システム10の構成を説明する。
秘匿検索システム10は、鍵生成装置20と、データ管理装置30と、1台以上の登録装置40と、1台以上の検索装置50とを備える。
鍵生成装置20と、データ管理装置30と、登録装置40と、検索装置50とは、伝送路90を介して接続される。伝送路90は、具体例としては、インターネット又はLAN(Local Area Network)である。
各登録装置40と各検索装置50とには、識別子が割り当てられている。
鍵生成装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ23には、鍵生成装置20の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、鍵生成装置20の各機能構成要素の機能が実現される。
また、ストレージ23は、鍵記憶部231の機能を実現する。
データ管理装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信インタフェース34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ33には、データ管理装置30の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ31によりメモリ32に読み込まれ、プロセッサ31によって実行される。これにより、データ管理装置30の各機能構成要素の機能が実現される。
また、ストレージ33は、鍵記憶部331と、データ記憶部332との機能を実現する。
登録装置40は、プロセッサ41と、メモリ42と、ストレージ43と、通信インタフェース44とのハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ43には、登録装置40の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ41によりメモリ42に読み込まれ、プロセッサ41によって実行される。これにより、登録装置40の各機能構成要素の機能が実現される。
また、ストレージ43は、鍵記憶部431の機能を実現する。
検索装置50は、プロセッサ51と、メモリ52と、ストレージ53と、通信インタフェース54とのハードウェアを備える。プロセッサ51は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ53には、検索装置50の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ51によりメモリ52に読み込まれ、プロセッサ51によって実行される。これにより、検索装置50の各機能構成要素の機能が実現される。
また、ストレージ53は、鍵記憶部531の機能を実現する。
これら複数のプロセッサは、各機能構成要素の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ21,31,41,51と同じように、演算処理を行うICである。
図6から図10を参照して、実施の形態1に係る秘匿検索システム10の動作を説明する。
実施の形態1に係る秘匿検索システム10の動作における鍵生成装置20の動作は、実施の形態1に係る鍵生成方法に相当する。また、鍵生成装置20の動作は、実施の形態1に係る鍵生成プログラムの処理に相当する。
実施の形態1に係る秘匿検索システム10の動作におけるデータ管理装置30の動作は、実施の形態1に係るデータ管理方法に相当する。また、データ管理装置30の動作は、実施の形態1に係るデータ管理プログラムの処理に相当する。
実施の形態1に係る秘匿検索システム10の動作における登録装置40の動作は、実施の形態1に係る登録方法に相当する。また、登録装置40の動作は、実施の形態1に係る登録プログラムの処理に相当する。
実施の形態1に係る秘匿検索システム10の動作における検索装置50の動作は、実施の形態1に係る検索方法に相当する。また、検索装置50の動作は、実施の形態1に係る検索プログラムの処理に相当する。
共通鍵生成処理は、鍵生成装置20によって実行される。
パラメータ取得部211は、パラメータλを取得する。
具体的には、パラメータ取得部211は、通信インタフェース24を介して、外部の装置から送信されたパラメータλを取得する。あるいは、パラメータ取得部211は、通信インタフェース24を介して接続された入力装置によって入力されたパラメータλを取得する。パラメータ取得部211は、パラメータλをメモリ22に書き込む。
鍵生成部212は、鍵K2と、写像mkとを生成する。
具体的には、鍵生成部212は、メモリ22からパラメータλを読み出す。鍵生成部212は、パラメータλを入力として、乱数生成器により、ランダムな鍵K2を生成する。鍵生成部212は、任意に写像mkを生成する。鍵生成部212は、鍵K2及び写像mkをメモリ22に書き込む。
写像mkは、全ての登録装置40及び検索装置50に共通の写像である。つまり、写像mkは、登録装置40及び検索装置50に割り当てられた全ての識別子に共通の写像である。
鍵生成部212は、ステップS11で取得されたパラメータλと、ステップS12で生成された鍵K2及び写像mkとを、メモリ22から読み出す。鍵生成部212は、パラメータλと鍵K2と写像mkとを鍵記憶部231に書き込む。鍵K2と写像mkとは、秘密情報であるため、外部に漏えいしないように厳重に保管される。
個別鍵生成処理は、鍵生成装置20とデータ管理装置30と登録装置40又は検索装置50とによって実行される。具体的には、ステップS21からステップS23の処理は、鍵生成装置20によって実行される。ステップS24の処理は、データ管理装置30によって実行される。ステップS25の処理は、登録装置40又は検索装置50によって実行される。
鍵生成装置20のパラメータ取得部211は、処理対象とする装置の識別子を取得する。
具体的には、パラメータ取得部211は、通信インタフェース24を介して、外部の装置から送信された識別子を取得する。あるいは、パラメータ取得部211は、通信インタフェース24を介して接続された入力装置によって入力された識別子を取得する。パラメータ取得部211は、識別子をメモリ22に書き込む。
ここでは、識別子として“U”が取得されたものとする。
鍵生成部212は、鍵K1と、写像skと、写像fとを生成する。ここでは、鍵生成部212は、ステップS21で取得された識別子Uに対応する、鍵K1_Uと、写像sk_Uと、写像f_Uとを生成する。
具体的には、鍵生成部212は、ステップS21で取得された識別子Uをメモリ22から読み出す。鍵生成部212は、共通鍵生成処理で記憶されたパラメータλと写像mkとを鍵記憶部231から読み出す。鍵生成部212は、識別子Uと、パラメータλとを入力として、乱数生成器により、ランダムな鍵K1_Uを生成する。鍵生成部212は、写像mkを入力として、写像sk_Uと、写像f_Uとを生成する。この際、鍵生成部212は、写像sk_Uと、写像f_Uとを合成した合成写像が写像mkになるように、写像sk_Uと、写像f_Uとを生成する。つまり、mk=f_U・sk_Uである。鍵生成部212は、鍵K1_Uと、写像sk_Uと、写像f_Uとをメモリ22に書き込む。
鍵生成部212は、位数がnである群の元xに対して、写像mkをmk(x)=xcとする。鍵生成部212は、ab=c(mod n)を満たす整数a,bをランダムに選択する。鍵生成部212は、写像sk_U=xaとし、写像f_U=xbとする。
写像sk及び写像fは、登録装置40毎、検索装置50毎に異なる写像である。つまり、写像sk及び写像fは、登録装置40及び検索装置50に割り当てられた識別子毎に異なる写像である。また、同じ識別子に割り当てられた写像skと写像fとは、合成写像が識別子に共通の写像mkになる。
鍵送信部213は、共通鍵生成処理で記憶された鍵K2をメモリ22から読み出す。ステップS22で生成された鍵K1_Uと写像sk_Uと写像f_Uとメモリ22から読み出す。
鍵送信部213は、通信インタフェース24を介して、写像f_Uを、データ管理装置30に送信する。また、鍵送信部213は、通信インタフェース24を介して、鍵K1_Uと鍵K2と写像sk_Uとを識別子Uに対応する登録装置40又は検索装置50に送信する。
データ管理装置30の鍵取得部311は、通信インタフェース34を介して、ステップS23で送信された鍵f_Uを受信する。データ取得部311は、受信された鍵f_Uを鍵記憶部331に書き込む。鍵f_Uは、秘密情報であるため、外部に漏えいしないように厳重に保管される。
識別子Uに対応する登録装置40又は検索装置50が動作する。
登録装置40が識別子Uに対応する場合には、鍵取得部411は、通信インタフェース44を介して、ステップS23で送信された鍵K1_Uと鍵K2と写像sk_Uとを受信する。鍵取得部411は、受信された鍵K1_Uと鍵K2と写像sk_Uとを鍵記憶部431に書き込む。
検索装置50が識別子Uに対応する場合には、鍵取得部511は、通信インタフェース54を介して、ステップS23で送信された鍵K1_Uと鍵K2と写像sk_Uとを受信する。鍵取得部511は、受信された鍵K1_Uと鍵K2と写像sk_Uとを鍵記憶部531に書き込む。
鍵K1_Uと鍵K2と写像sk_Uとは、秘密情報であるため、外部に漏えいしないように厳重に保管される。なお、検索装置50が識別子Uに対応する場合には、鍵K1_Uは送信されなくてもよい。
データ登録処理は、データ管理装置30と登録装置40とによって実行される。具体的には、ステップS31からステップS34の処理は、登録装置40によって実行される。ステップS35からステップS37の処理は、データ管理装置30によって実行される。
ここでは、識別子Uの登録装置40によってデータ登録処理が実行されるとする。
登録装置40のデータ取得部412は、登録対象のデータDと、データDを識別可能な名称であるデータ名ID(D)と、データDを検索するためのキーワードwの集合W(D)とを取得する。
具体的には、データ取得部412は、通信インタフェース44を介して、外部の装置から送信されたデータDとデータ名ID(D)と集合W(D)とを取得する。あるいは、データ取得部412は、通信インタフェース24を介して接続された入力装置によって入力されたデータDとデータ名ID(D)と集合W(D)とを取得する。データ取得部412は、データDとデータ名ID(D)と集合W(D)とをメモリ42に書き込む。
暗号化タグ生成部413は、ステップS31で取得された集合W(D)に含まれる各キーワードwについての暗号化タグcを生成する。
具体的には、暗号化タグ生成部413は、データ名ID(D)と集合W(D)とをメモリ42から読み出す。また、暗号化タグ生成部413は、鍵K2と写像sk_Uとを鍵記憶部431から読み出す。暗号化タグ生成部413は、集合W(D)に含まれる各キーワードwを対象として、対象のキーワードwを暗号化して、暗号化タグcを生成する。ここでは、暗号化タグ生成部413は、c=sk_U(E(K2,w))を計算して、暗号化タグcを生成する。ここで、Eは、暗号化関数である。暗号化関数としては、AES(Advanced Encryption Standard)といった共通鍵暗号方式の暗号化関数と、HMAC(Hash−based Message Authentication Code)といったメッセージ認証関数と、SHA−256(Secure Hash Algorithm−256)といったハッシュ関数といった関数を用いることが可能である。つまり、暗号化タグ生成部413は、暗号化関数Eを用いて、鍵K2により対象のキーワードwを暗号化し、写像sk_Uで変換して、暗号化タグcを生成する。
暗号化タグ生成部413は、データ名ID(D)と、暗号化タグcの集合C(D)との組を登録暗号化データR(D)としてメモリ42に書き込む。
なお、E(K2,w)が写像sk_Uに対する入力可能な値でない場合には、何らかのエンコードを行い写像sk_Uに対する入力可能な値に変換する。
暗号化部414は、ステップS31で取得されたデータDを暗号化して暗号化データB(D)を生成する。
具体的には、暗号化部414は、データDとデータ名ID(D)とをメモリ42から読み出す。また、暗号化部414は、鍵K1_Uを鍵記憶部431から読み出す。暗号化部414は、データDを暗号化して、暗号化データB(D)を生成する。ここでは、暗号化部414は、B(D)=E(K1_U,D)を計算して、暗号化データB(D)を生成する。ここで、Eは、暗号化関数である。暗号化関数としては、ステップS32と同様に、AESといった共通鍵暗号方式の暗号化関数と、HMACといったメッセージ認証関数と、SHA−256といったハッシュ関数といった関数を用いることが可能である。また、暗号化関数としては、IDベース暗号と属性ベース暗号といった暗号化関数であってもよい。つまり、暗号化部414は、暗号化関数Eを用いて、鍵K1_UによりデータDを暗号化して、暗号化データB(D)を生成する。暗号化部414は、暗号化データB(D)をメモリ42に書き込む。
データ送信部415は、ステップS32で生成された登録暗号化データR(D)と、ステップS33で生成された暗号化データB(D)とをメモリ42から読み出す。データ送信部415は、通信インタフェース44を介して、登録暗号化データR(D)と暗号化データB(D)とをデータ管理装置30に送信する。
データ管理装置30のデータ取得部312は、通信インタフェース34を介して、ステップS34で送信された登録暗号化データR(D)と暗号化データB(D)とを受信する。データ取得部312は、登録暗号化データR(D)と暗号化データB(D)とをメモリ32に書き込む。
保管タグ生成部313は、ステップS35で受信された登録暗号化データR(D)の集合C(D)に含まれる各暗号化タグcについての保管タグc’を生成する。
具体的には、保管タグ生成部313は、登録暗号化データR(D)をメモリ32から読み出す。また、保管タグ生成部313は、写像f_Uを鍵記憶部331から読み出す。保管タグ生成部313は、登録暗号化データR(D)の集合C(D)に含まれる各暗号化タグcを対象として、対象の暗号化タグcを写像f_Uで変換して、保管タグc’を生成する。つまり、保管タグ生成部313は、c’=f_U(c)を計算して、保管タグc’を生成する。
保管タグ生成部313は、データ名ID(D)と、保管タグc’の集合C’(D)との組を保管暗号化データI(D)としてメモリ32に書き込む。
保管タグ生成部313は、ステップS36で生成された保管暗号化データI(D)を暗号化索引Iに追加する。暗号化索引Iは、データ記憶部332に記憶されている。また、保管タグ生成部313は、ステップS35で受信された暗号化データB(D)をデータ記憶部332に書き込む。
データ検索処理は、データ管理装置30と検索装置50とによって実行される。具体的には、ステップS41からステップS43と、ステップS48との処理は、検索装置50によって実行される。ステップS44からステップS47の処理は、データ管理装置30によって実行される。
ここでは、識別子U’の検索装置50によってデータ検索処理が実行されるとする。
検索装置50の検索ワード取得部512は、データDを検索するためのキーワードである検索ワードsを取得する。
具体的には、検索ワード取得部512は、通信インタフェース44を介して、外部の装置から送信された検索ワードsを取得する。あるいは、検索ワード取得部512は、通信インタフェース24を介して接続された入力装置によって入力された検索ワードsを取得する。検索ワード取得部512は、検索ワードsをメモリ52に書き込む。
トラップドア生成部513は、ステップS41で取得された検索ワードsのトラップドアt(s)を生成する。
具体的には、トラップドア生成部513は、検索ワードsをメモリ52から読み出す。また、トラップドア生成部513は、鍵K2と写像sk_U’とを鍵記憶部531から読み出す。トラップドア生成部513は、検索ワードsを暗号化して、トラップドアt(s)を生成する。ここでは、トラップドア生成部513は、t(s)=sk_U’(E(K2,s))を計算して、トラップドアt(s)を生成する。ここで、Eは、ステップS32で使用された暗号化関数と同一の暗号化関数である。つまり、トラップドア生成部513は、暗号化関数Eを用いて、鍵K2により検索ワードsを暗号化し、写像sk_Uで変換して、トラップドアt(s)を生成する。トラップドア生成部513は、トラップドアt(s)をメモリ52に書き込む。
なお、E(K2,s)が写像sk_Uに対する入力可能な値でない場合には、図8のステップS32と同じエンコードを行い写像sk_Uに対する入力可能な値に変換する。
検索依頼部514は、ステップS42で生成されたトラップドアt(s)をメモリ52から読み出す。検索依頼部514は、通信インタフェース54を介して、トラップドアt(s)をデータ管理装置30に送信する。
データ管理装置30のトラップドア取得部314は、通信インタフェース34を介して、ステップS43で送信されたトラップドアt(s)を受信する。トラップドア取得部314は、トラップドアt(s)をメモリ32に書き込む。
検索暗号文生成部315は、ステップS44で取得されたトラップドアt(s)から検索暗号文c(s)を生成する。
具体的には、検索暗号文生成部315は、トラップドアt(s)をメモリ32から読み出す。また、検索暗号文生成部315は、写像f_U’を鍵記憶部331から読み出す。検索暗号文生成部315は、トラップドアt(s)を写像f_U’ 変換して、検索暗号文c(s)を生成する。つまり、検索暗号文生成部315は、c(s)=f_U(t(s))を計算して、検索暗号文c(s)を生成する。検索暗号文生成部315は、検索暗号文c(s)をメモリ32に書き込む。
検索部316は、ステップS45で生成された検索暗号文c(s)を保管タグc’として含む保管暗号化データI(D)を暗号化索引Iから抽出する。
具体的には、検索部316は、検索暗号文c(s)をメモリ32から読み出す。検索部316は、データ記憶部332に記憶された保管暗号化データI(D)のうち、二分探索とハッシュテーブルといった技術を用いて、検索暗号文c(s)を保管タグc’として含む保管暗号化データI(D)を抽出する。検索部316は、抽出された保管暗号化データI(D)に含まれるデータ名ID(D)が示す暗号化データB(D)を特定する。検索部316は、特定された暗号化データB(D)の集合を検索結果S(s)としてメモリ32に書き込む。
なお、抽出された保管暗号化データI(D)に含まれるデータ名ID(D)の集合を検索結果S(s)としてもよい。
検索部316は、ステップS46で書き込まれた検索結果S(s)をメモリ32から読み出す。検索部316は、通信インタフェース34を介して、検索結果S(s)を検索装置50に送信する。
検索装置50の検索依頼部514は、通信インタフェース54を介して、ステップS47で送信された検索結果S(s)を受信する。検索依頼部514は、通信インタフェース54を介して、検索結果S(s)を表示装置等に出力する。
データ削除処理は、データ管理装置30と登録装置40とによって実行される。具体的には、ステップS51及びステップS52の処理は、登録装置40によって実行される。ステップS53及びステップS54の処理は、データ管理装置30によって実行される。
データ取得部412は、削除対象のデータ名ID(D)を取得する。
具体的には、データ取得部412は、通信インタフェース44を介して、外部の装置から送信されたデータ名ID(D)を取得する。あるいは、データ取得部412は、通信インタフェース24を介して接続された入力装置によって入力されたデータ名ID(D)を取得する。データ取得部412は、データ名ID(D)をメモリ42に書き込む。
データ送信部415は、ステップS51で書き込まれたデータ名ID(D)をメモリ42から読み出す。データ送信部415は、通信インタフェース44を介して、データ名ID(D)をデータ管理装置30に送信する。
データ管理装置30の削除部317は、通信インタフェース34を介して、ステップS52で送信されたデータ名ID(D)を受信する。削除部317は、データ名ID(D)をメモリ32に書き込む。
削除部317は、ステップS53で書き込まれたデータ名ID(D)をメモリ32から読み出す。削除部317は、データ名ID(D)が示す暗号化データB(D)をデータ記憶部332から削除する。また、削除部317は、データ名ID(D)を含む保管暗号化データI(D)を暗号化索引Iから削除する。
以上のように、実施の形態1に係る秘匿検索システム10は、各登録装置40及び各検索装置50が異なる鍵K1及び異なる写像skを用いる。そのため、暗号化タグとトラップドアとの解読と、なりすましとを防止することが可能である。
<変形例1>
実施の形態1では、鍵生成装置20が鍵K2と写像mkと鍵K1と写像skと写像fとを生成した。しかし、鍵K2と写像mkと鍵K1と写像skと写像fとを生成する装置を複数の装置に分けてもよい。
実施の形態1では、鍵生成装置20は、登録装置40及び検索装置50に写像sk_Uを送信した。これに代えて、鍵生成装置20は、登録装置40及び検索装置50のいずれか一方に、写像sk_Uに代えて写像mkを送信してもよい。
鍵生成装置20が登録装置40に写像mkを送信する場合には、図8のステップS32において、暗号化タグ生成部413は、写像sk_Uに代えて写像mkを用いて暗号化タグcを生成する。そして、図8のステップS36の処理は省略される。
鍵生成装置20が検索装置50に写像mkを送信する場合には、図9のステップS42において、トラップドア生成部513は、写像sk_Uに代えて写像mkを用いてトラップドアt(s)を生成する。そして、図9のステップS45は省略される。
実施の形態1では、暗号化データB(D)及び暗号化索引Iは、データ管理装置30のストレージ33によって実現されるデータ記憶部332に記憶された。しかし、暗号化データB(D)及び暗号化索引Iは、データ管理装置30の外部の記憶装置に記憶されてもよい。言い換えると、データ記憶部332は、データ管理装置30の外部の記憶装置に設けられてもよい。
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例4として、各機能構成要素はハードウェアで実現されてもよい。この変形例4について、実施の形態1と異なる点を説明する。
機能がハードウェアで実現される場合、鍵生成装置20は、プロセッサ21とメモリ22とストレージ23とに代えて、電子回路25を備える。電子回路25は、共通パラメータ生成装置20の機能構成要素と、メモリ22とストレージ23との機能とを実現する専用の回路である。
機能がハードウェアで実現される場合、データ管理装置30は、プロセッサ31とメモリ32とストレージ33とに代えて、電子回路35を備える。電子回路35は、鍵生成装置30の機能構成要素と、メモリ32とストレージ33との機能とを実現する専用の回路である。
機能がハードウェアで実現される場合、登録装置40は、プロセッサ41とメモリ42とストレージ43とに代えて、電子回路45を備える。電子回路45は、変換鍵生成装置40の機能構成要素と、メモリ42とストレージ43との機能とを実現する専用の回路である。
機能がハードウェアで実現される場合、検索装置50は、プロセッサ51とメモリ52とストレージ53とに代えて、電子回路55を備える。電子回路55は、暗号化装置50の機能構成要素と、メモリ52とストレージ53との機能とを実現する専用の回路である。
鍵生成装置20の各機能構成要素の機能を1つの電子回路25で実現してもよいし、各機能構成要素の機能を複数の電子回路25に分散させて実現してもよい。同様に、データ管理装置30と登録装置40と検索装置50とのそれぞれについて、各機能構成要素の機能を1つの電子回路35,45,55で実現してもよいし、各機能構成要素の機能を複数の電子回路35,45,55に分散させて実現してもよい。
変形例5として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
Claims (4)
- 識別子毎に異なる写像skのうちの識別子U’に割り当てられた写像sk_U’によって検索ワードsが変換されたトラップドアt(s)を取得するトラップドア取得部と、
前記トラップドア取得部によって取得された前記トラップドアt(s)を、識別子毎に異なる写像fのうちの識別子U’に割り当てられた写像f_U’によって変換して、検索暗号文c(s)を生成する検索暗号文生成部と、
識別子毎に異なる写像skのうちの識別子Uに割り当てられた写像sk_Uによってキーワードwが変換された暗号化タグcを取得するデータ取得部と、
前記データ取得部によって取得された前記暗号化タグcを、識別子毎に異なる写像fのうちの識別子Uに割り当てられた写像f_Uによって変換して、保管タグc’を生成する保管タグ生成部と、
前記検索暗号文c(s)と一致する前記保管タグc’を特定する検索部と
を備え、
同一の識別子に割り当てられた前記写像skと前記写像fとは、合成写像が識別子に共通の写像mkになるデータ管理装置。 - 前記保管タグc’は、データ記憶部に書き込まれ、
前記検索部は、前記データ記憶部に記憶された保管タグc’から、前記検索暗号文生成部によって生成された前記検索暗号文c(s)に対応する保管タグc’を検索する
請求項1に記載のデータ管理装置。 - データ管理装置のトラップドア取得部が、識別子毎に異なる写像skのうちの識別子U’に割り当てられた写像sk_U’によって検索ワードsが変換されたトラップドアt(s)を取得し、
前記データ管理装置の検索暗号文生成部が、前記トラップドアt(s)を、識別子毎に異なる写像fのうちの識別子U’に割り当てられた写像f_U’によって変換して、検索暗号文c(s)を生成し、
前記データ管理装置のデータ取得部が、識別子毎に異なる写像skのうちの識別子Uに割り当てられた写像sk_Uによってキーワードwが変換された暗号化タグcを取得し、
前記データ管理装置の保管タグ生成部が、前記暗号化タグcを、識別子毎に異なる写像fのうちの識別子Uに割り当てられた写像f_Uによって変換して、保管タグc’を生成し、
前記データ管理装置の検索部が、前記検索暗号文c(s)と一致する前記保管タグc’を特定し、
同一の識別子に割り当てられた前記写像skと前記写像fとは、合成写像が識別子に共通の写像mkになるデータ管理方法。 - 識別子毎に異なる写像skのうちの識別子U’に割り当てられた写像sk_U’によって検索ワードsが変換されたトラップドアt(s)を取得するトラップドア取得処理と、
前記トラップドア取得処理によって取得された前記トラップドアt(s)を、識別子毎に異なる写像fのうちの識別子U’に割り当てられた写像f_U’によって変換して、検索暗号文c(s)を生成する検索暗号文生成処理と、
識別子毎に異なる写像skのうちの識別子Uに割り当てられた写像sk_Uによってキーワードwが変換された暗号化タグcを取得するデータ取得処理と、
前記データ取得処理によって取得された前記暗号化タグcを、識別子毎に異なる写像fのうちの識別子Uに割り当てられた写像f_Uによって変換して、保管タグc’を生成する保管タグ生成処理と、
前記検索暗号文c(s)と一致する前記保管タグc’を特定する検索処理と
を実行するデータ管理装置としてコンピュータを機能させ、
同一の識別子に割り当てられた前記写像skと前記写像fとは、合成写像が識別子に共通の写像mkになるデータ管理プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/001225 WO2019142265A1 (ja) | 2018-01-17 | 2018-01-17 | データ管理装置、検索装置、登録装置、データ管理方法及びデータ管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6462968B1 true JP6462968B1 (ja) | 2019-01-30 |
JPWO2019142265A1 JPWO2019142265A1 (ja) | 2020-01-23 |
Family
ID=65228949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018543735A Active JP6462968B1 (ja) | 2018-01-17 | 2018-01-17 | データ管理装置、データ管理方法及びデータ管理プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210067317A1 (ja) |
EP (1) | EP3731107B1 (ja) |
JP (1) | JP6462968B1 (ja) |
CN (1) | CN111602127B (ja) |
WO (1) | WO2019142265A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019142268A1 (ja) * | 2018-01-17 | 2019-07-25 | 三菱電機株式会社 | 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011146895A (ja) * | 2010-01-14 | 2011-07-28 | Mitsubishi Electric Corp | 情報処理システム及び管理装置及びサーバ装置及び情報処理装置 |
JP6075017B2 (ja) * | 2012-11-09 | 2017-02-08 | 富士通株式会社 | 情報分析システム及び情報分析方法 |
WO2017221308A1 (ja) * | 2016-06-20 | 2017-12-28 | 三菱電機株式会社 | データ管理装置、データ管理方法、データ管理プログラム、検索装置、検索方法及び検索プログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012095973A1 (ja) * | 2011-01-13 | 2012-07-19 | 三菱電機株式会社 | データ処理装置及びデータ保管装置 |
EP2667538A4 (en) * | 2011-01-18 | 2017-08-16 | Mitsubishi Electric Corporation | Encryption system, encryption processing method for encryption system, encryption device, encryption program, decryption device, decryption program, setup device, setup program, key generation device, key generation program, key assignment device and key assignment program |
JP2013017017A (ja) * | 2011-07-04 | 2013-01-24 | Nippon Telegr & Teleph Corp <Ntt> | 紛失通信システム、紛失通信方法、およびプログラム |
CN104081390B (zh) * | 2012-01-25 | 2017-11-03 | 三菱电机株式会社 | 数据检索装置、数据检索方法、数据检索程序、数据登记装置、数据登记方法、数据登记程序以及信息处理装置 |
CN104798339B (zh) * | 2013-01-12 | 2018-06-01 | 三菱电机株式会社 | 密钥生成装置、隐匿检索系统和密钥发布方法 |
JP5963936B2 (ja) * | 2013-02-25 | 2016-08-03 | 三菱電機株式会社 | サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム |
CN105210133B (zh) * | 2013-05-15 | 2018-07-17 | 三菱电机株式会社 | 加密系统和加密方法 |
JP6171649B2 (ja) | 2013-07-16 | 2017-08-02 | 日本電気株式会社 | 暗号化装置、復号装置、暗号化方法および暗号化プログラム |
JP6348004B2 (ja) | 2014-06-30 | 2018-06-27 | Kddi株式会社 | 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム |
US20170262546A1 (en) * | 2014-07-30 | 2017-09-14 | Hewlett Packard Enterprise Development Lp | Key search token for encrypted data |
CN107077469B (zh) * | 2014-10-21 | 2020-11-27 | 三菱电机株式会社 | 服务器装置、检索系统、终端装置以及检索方法 |
US9977918B2 (en) * | 2015-09-30 | 2018-05-22 | Robert Bosch Gmbh | Method and system for verifiable searchable symmetric encryption |
EP3264314B1 (en) * | 2016-06-30 | 2021-02-17 | Huawei Technologies Co., Ltd. | System and method for searching over encrypted data |
-
2018
- 2018-01-17 CN CN201880085235.1A patent/CN111602127B/zh active Active
- 2018-01-17 EP EP18901279.2A patent/EP3731107B1/en active Active
- 2018-01-17 US US16/961,552 patent/US20210067317A1/en not_active Abandoned
- 2018-01-17 WO PCT/JP2018/001225 patent/WO2019142265A1/ja unknown
- 2018-01-17 JP JP2018543735A patent/JP6462968B1/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011146895A (ja) * | 2010-01-14 | 2011-07-28 | Mitsubishi Electric Corp | 情報処理システム及び管理装置及びサーバ装置及び情報処理装置 |
JP6075017B2 (ja) * | 2012-11-09 | 2017-02-08 | 富士通株式会社 | 情報分析システム及び情報分析方法 |
WO2017221308A1 (ja) * | 2016-06-20 | 2017-12-28 | 三菱電機株式会社 | データ管理装置、データ管理方法、データ管理プログラム、検索装置、検索方法及び検索プログラム |
Non-Patent Citations (2)
Title |
---|
RAKESH AGRAWAL, ET AL.: "Information Sharing Across Private Databases", PROCEEDINGS FO THE 2003 ACM SIGMOD INTERNATINAL CONFERENCE ON MANAGEMENT OF DATA, JPN7016001160, June 2003 (2003-06-01), US, pages 86 - 97, XP058330182, ISSN: 0003930420, DOI: 10.1145/872757.872771 * |
早坂 健一郎 ほか: "マルチユーザで利用可能な共通鍵型秘匿検索に向けて", 2018年 暗号と情報セキュリティシンポジウム, vol. 3C2−1, JPN7018001031, 23 January 2018 (2018-01-23), JP, pages 1 - 7, ISSN: 0003930419 * |
Also Published As
Publication number | Publication date |
---|---|
EP3731107B1 (en) | 2021-10-27 |
JPWO2019142265A1 (ja) | 2020-01-23 |
WO2019142265A1 (ja) | 2019-07-25 |
CN111602127B (zh) | 2023-05-16 |
EP3731107A1 (en) | 2020-10-28 |
EP3731107A4 (en) | 2020-11-11 |
CN111602127A (zh) | 2020-08-28 |
US20210067317A1 (en) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9634827B2 (en) | Encrypting data | |
US10361840B2 (en) | Server apparatus, search system, terminal apparatus, search method, non-transitory computer readable medium storing server program, and non-transitory computer readable medium storing terminal program | |
US20090296926A1 (en) | Key management using derived keys | |
US9971904B2 (en) | Method and system for range search on encrypted data | |
JP6599066B1 (ja) | 登録装置、サーバ装置、秘匿検索システム、秘匿検索方法、登録プログラムおよびサーバプログラム | |
US10872158B2 (en) | Secret search system, secret search method, and computer readable medium | |
JP2014002365A (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
JPWO2018047698A1 (ja) | 暗号化メッセージ検索方法、メッセージ送受信システム、サーバ、端末、プログラム | |
JP6632780B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP6362811B1 (ja) | 登録端末、鍵サーバ、検索システム、登録プログラム | |
JP6462968B1 (ja) | データ管理装置、データ管理方法及びデータ管理プログラム | |
US20230289345A1 (en) | Searchable encryption system | |
JPWO2017126000A1 (ja) | 暗号化装置、暗号化プログラム及び暗号化方法 | |
JP6672451B2 (ja) | 暗号化検索インデックスマージサーバ、暗号化検索インデックスマージシステム、及び暗号化検索インデックスマージ方法 | |
WO2018131129A1 (ja) | 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム | |
US10936757B2 (en) | Registration destination determination device, searchable encryption system, destination determination method, and computer readable medium | |
JP6797337B2 (ja) | メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム | |
JP7217836B1 (ja) | データ管理装置、秘匿検索システム、秘匿検索方法、および、秘匿検索プログラム | |
WO2020245898A1 (ja) | 検索装置、サーバ装置、検索方法、情報処理方法、検索プログラム及び情報処理プログラム | |
Lima et al. | A secure collaborative network protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180817 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180817 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20180817 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181030 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181121 |
|
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: 20181204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6462968 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |