JP7276767B2 - Dynamic Searchable Cryptographic Processing System - Google Patents

Dynamic Searchable Cryptographic Processing System Download PDF

Info

Publication number
JP7276767B2
JP7276767B2 JP2019111977A JP2019111977A JP7276767B2 JP 7276767 B2 JP7276767 B2 JP 7276767B2 JP 2019111977 A JP2019111977 A JP 2019111977A JP 2019111977 A JP2019111977 A JP 2019111977A JP 7276767 B2 JP7276767 B2 JP 7276767B2
Authority
JP
Japan
Prior art keywords
identifier
address
information
terminal
server
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
JP2019111977A
Other languages
Japanese (ja)
Other versions
JP2020112773A (en
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.)
THE UNIVERSITY OF ELECTRO-COMUNICATINS
National Institute of Information and Communications Technology
Original Assignee
THE UNIVERSITY OF ELECTRO-COMUNICATINS
National Institute of Information and Communications Technology
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 THE UNIVERSITY OF ELECTRO-COMUNICATINS, National Institute of Information and Communications Technology filed Critical THE UNIVERSITY OF ELECTRO-COMUNICATINS
Publication of JP2020112773A publication Critical patent/JP2020112773A/en
Application granted granted Critical
Publication of JP7276767B2 publication Critical patent/JP7276767B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、端末とサーバがネットワークを介して接続され、暗号化されたデータテーブルを用いた動的検索可能暗号システムに関する。 The present invention relates to a dynamically searchable encryption system in which a terminal and a server are connected via a network and an encrypted data table is used.

近年、クラウドサービスの普及により、企業等はオンラインストレージ等の外部ストレージサービスを利用し、社内における膨大な文書ファイルを管理サーバ(クラウドサーバ)上で保存・管理させる事例が増加しつつある。管理サーバ上に保存・管理される文書ファイルは、管理サーバ上に保存される前に暗号化される。そして、暗号化された文書ファイルは、外部ストレージサービスで提供される管理サーバの暗号化データベースに保存される。暗号化された文書ファイルは、暗号化されたままの状態でキーワード検索することが可能であり、このような暗号化処理技術は検索可能暗号(Searchable Symmetric Encryption : SSE)として知られている。 In recent years, with the spread of cloud services, companies are increasingly using external storage services such as online storage to store and manage a large number of internal document files on a management server (cloud server). Document files stored and managed on the management server are encrypted before being stored on the management server. The encrypted document file is then stored in the encrypted database of the management server provided by the external storage service. Encrypted document files can be searched with keywords while they are still encrypted, and such an encryption processing technique is known as searchable symmetric encryption (SSE).

さらに、検索可能暗号の中でも、管理サーバ上の暗号化データベースに保存された暗号化文書ファイルに対して、任意のタイミングで暗号化文書ファイルを追加及び削除等の動的な更新を可能にする研究が進められており、動的検索可能暗号(Dynamic Searchable Symmetric Encryption : DSSE)として知られている。 Furthermore, among searchable encryption, research to enable dynamic updating such as addition and deletion of encrypted document files at any time for encrypted document files stored in the encrypted database on the management server has been advanced and is known as Dynamic Searchable Symmetric Encryption (DSSE).

動的検索暗号では、管理サーバ上に保存された暗号化データベース上のファイルに対してキーワード検索を行えることができることに加え、プロトコルの途中であっても、ファイル及びそれに付随するキーワードの暗号化データベースへの追加や削除が可能となる。以前より、最も強い安全性(例えば、検索を何度実行しても、検索データベース上のファイルについて全く情報が漏れない)を満たすためには、理論的に非効率な方法でしか実現できないことが知られていたため、最低限満たすべき安全性(例えば、検索回数に応じて、多少の本質的ではない情報の漏洩を許す)を満たした上で効率的な方式の研究が行われ、さらに、最低限満たすべき安全性に加え、フォワード安全性(新たに追加されたファイルに、過去に検索されたキーワードが含まれていることが漏れない)を満たす方式が知られている(例えば、非特許文献1参照)。 With dynamic search encryption, in addition to being able to perform keyword searches for files on the encrypted database stored on the management server, even during the protocol, the encrypted database of files and accompanying keywords can be searched. can be added to or deleted from. In the past, it is theoretically possible to achieve the highest degree of security (for example, no information is leaked about files in the search database no matter how many times the search is performed). Since it was known, research was conducted on an efficient method that satisfies the minimum level of security (for example, allowing some non-essential information to be leaked depending on the number of searches). In addition to the security that must be satisfied, there is a known method that satisfies forward security (newly added files do not contain keywords that have been searched in the past) (for example, non-patent literature 1).

非特許文献1の開示技術では、端末側でキーワードに関する情報 (各キーワードのこれまでの検索回数、各キーワードを含むファイルの数) をステート情報として保持し、ステート情報を利用して、暗号化インデックステーブルのアドレス部を作成することを特徴としており、アドレス部の生成はサーバ側で行う。なお、暗号化インデックステーブルへのダミーエントリの追加方法については開示されていない。 In the technology disclosed in Non-Patent Document 1, information about keywords (the number of times each keyword has been searched so far, the number of files containing each keyword) is held as state information on the terminal side, and the state information is used to create an encrypted index. It is characterized by creating the address part of the table, and the address part is created on the server side. A method for adding dummy entries to the encrypted index table is not disclosed.

M.Etemad、A.Kupcu、C.Papamanthou、D.Evans、「Efficient dynamic searchable encryption with forward privacy」、In Proceedings of Privacy Enhancing Technologies (PoPETs)、2018年、p.5-20M. Etemad, A. Kupcu, C. Papamanthou, D. Evans, "Efficient dynamic searchable encryption with forward privacy", In Proceedings of Privacy Enhancing Technologies (PoPETs), 2018, p.5-20

非特許文献1の開示技術では、端末側でキーワードに関する情報をステート情報として保持する必要があり、ステート情報は端末が保持するキーワード数に依存するため、対象データの大きさの効率性に問題があった。また、アドレス部の生成をサーバ側で行うため、フォワード安全性を達成するためには検索時にアドレス部の再登録が必要である。本来は検索の処理だけのところを、検索と再登録の2つの処理が必要となるため、再登録の操作や処理の分だけ操作が発生し、効率性を低下させることになる。さらに、暗号化インデックステーブルへのダミーエントリの追加方法は不明であり、より強い、現実的な状況に整合した安全性を達成できるか不明である。 In the technology disclosed in Non-Patent Document 1, it is necessary for the terminal side to hold information about keywords as state information, and since the state information depends on the number of keywords held by the terminal, there is a problem with the efficiency of the size of the target data. there were. In addition, since the address part is generated on the server side, it is necessary to re-register the address part at the time of searching in order to achieve forward security. Since two processes of search and re-registration are required instead of only search process, operations for re-registration and processing occur, and efficiency is reduced. Furthermore, it is unclear how to add dummy entries to the encrypted index table, and it is unclear whether stronger security consistent with real-world situations can be achieved.

そこで、本発明は、上述した問題点に鑑みて案出されたものであり、その目的とするところは、効率性を向上させることができ、フォワード安全性を満たすようなことができる、動的検索可能暗号処理システムを提供することにある。 SUMMARY OF THE INVENTION Accordingly, the present invention has been devised in view of the above-mentioned problems, and an object of the present invention is to improve efficiency and satisfy forward safety. The object is to provide a searchable cryptographic processing system.

第1発明に係る動的検索可能暗号処理システムは、端末とサーバがネットワークを介して接続され、暗号化されたデータテーブルを用いた動的検索可能暗号システムであって、文書ファイルに対応する識別子とキーワードとの関係を示す参照テーブルから、前記文書ファイルに含まれる前記キーワードを抽出キーワードとして抽出するとともに、前記文書ファイルに対応する識別子を抽出識別子として抽出する抽出手段と、前記抽出手段により抽出された前記抽出キーワードと前記抽出識別子とを連結させ、1組としたアドレス情報と、前記アドレス情報に含まれる前記抽出識別子との関係を示す第1テーブルを生成する第1テーブル生成手段と、前記第1テーブルにおける前記アドレスを擬似乱数生成関数により乱数化情報に変換して変換アドレスを生成し、前記変換アドレスと前記抽出識別子との関係を示す第2テーブルを生成する第2テーブル生成手段と、を備えることを特徴とする。 A dynamically searchable cryptographic processing system according to a first invention is a dynamically searchable cryptographic system in which a terminal and a server are connected via a network and using an encrypted data table, wherein an identifier corresponding to a document file extraction means for extracting the keyword contained in the document file as an extraction keyword and an identifier corresponding to the document file as an extraction identifier from a reference table showing the relationship between the document and the keyword; a first table generating means for connecting the extracted keyword and the extracted identifier to generate a first table showing the relationship between address information as a set and the extracted identifier included in the address information; a second table generating means for generating a conversion address by converting the address in one table into randomization information by a pseudo-random number generation function, and generating a second table showing the relationship between the conversion address and the extraction identifier; It is characterized by having

第2発明に係る動的検索可能暗号処理システムは、第1発明において、前記第2テーブル生成手段は、前記端末が保持する疑似乱数生成関数に関する鍵情報、前記端末が保持するステート情報に基づき、前記抽出識別子を初期化した第2テーブルを生成し、前記鍵情報と前記ステート情報の記憶後に、前記生成した前記第2テーブルを前記サーバに送信すること、を特徴とする。 A dynamically searchable cryptographic processing system according to a second invention is the first invention, wherein the second table generating means is based on key information related to a pseudorandom number generation function held by the terminal and state information held by the terminal, It is characterized by generating a second table in which the extraction identifier is initialized, and transmitting the generated second table to the server after storing the key information and the state information.

第3発明に係る動的検索可能暗号処理システムは、第1発明又は第2発明において、前記端末は、追加する文書ファイルに対応する識別子とキーワードとの関係を示す参照テーブルから、前記文書ファイルに含まれる前記キーワードを抽出キーワードとして抽出するとともに、前記文書ファイルに対応する識別子を抽出識別子として抽出し、前記抽出した前記抽出キーワードと前記抽出識別子とを連結させ、1組としたアドレス情報と、前記アドレス情報に含まれる前記抽出識別子との関係を示す第1テーブルを生成し、前記アドレスを擬似乱数生成関数により乱数化情報に変換して変換追加アドレスを生成し、前記抽出識別子をステート情報に記憶し、前記変換アドレスと前記抽出識別子を前記サーバに送信し、前記サーバは、前記端末により送信された前記変換アドレスを受信し、前記変換アドレスの乱数化情報のそれぞれが示すアドレスに、前記受信した前記抽出識別子を格納し、前記第2テーブルを更新すること、を特徴とする。 A dynamically searchable cryptographic processing system according to a third aspect of the invention is, in the first aspect of the invention or the second aspect of the invention, wherein the terminal, from a reference table showing the relationship between an identifier and a keyword corresponding to a document file to be added, searches the document file. extracting the included keyword as an extraction keyword, extracting an identifier corresponding to the document file as an extraction identifier, linking the extracted extraction keyword and the extraction identifier to form a set; address information; generating a first table showing the relationship with the extracted identifier included in the address information; converting the address into randomized information by a pseudo-random number generating function to generate a converted additional address; storing the extracted identifier in the state information; and the conversion address and the extracted identifier are transmitted to the server, the server receives the conversion address transmitted by the terminal, and stores the received It is characterized by storing the extraction identifier and updating the second table.

第4発明に係る動的検索可能暗号処理システムは、第1発明~第3発明において、前記端末は、削除する文書ファイルに対応する前記抽出識別子を、前記ステート情報から削除し、前記削除した前記抽出識別子を前記サーバに送信し、前記サーバは、前記端末により送信された前記抽出識別子を受信し、前記サーバの第2テーブルで前記抽出識別子に対応する全ての格納領域をNULLに変換し、前記第2テーブルを更新すること、を特徴とする。 A dynamically searchable cryptographic processing system according to a fourth invention is, in the first to third inventions, wherein the terminal deletes the extracted identifier corresponding to the document file to be deleted from the state information, transmitting an extraction identifier to the server, the server receiving the extraction identifier transmitted by the terminal, converting all storage areas corresponding to the extraction identifier to NULL in a second table of the server; and updating the second table.

第5発明に係る動的検索可能暗号処理システムは、第1発明~第4発明において、前記第2テーブル生成手段は、追加する文書ファイルと同じ大きさの文書ファイルのうち、最も多い抽出キーワードを含むことができる文書ファイルを特定し、前記追加文書ファイルに対応する変換アドレスの個数が、前記特定した文書ファイルに含まれる抽出キーワード数となるまで、ダミーフラグを示す識別情報と、カウンタ情報と、前期追加文書ファイルの抽出識別子とを連結させ、1組のダミーアドレス情報とし、前期ダミーアドレス情報を疑似乱数生成関数により乱数化情報に変換して変換ダミーアドレスを生成し、前記変換ダミーアドレス情報が指し示すアドレスに前記抽出識別子を格納すること、を繰り返し、前記第2テーブルを生成すること、を特徴とする。 A dynamically searchable encryption processing system according to a fifth aspect of the invention is, in the first to fourth aspects of the invention, wherein the second table generating means selects the most extracted keyword from the document files having the same size as the document file to be added. identification information indicating a dummy flag, counter information, until the number of conversion addresses corresponding to the additional document file reaches the number of extracted keywords included in the specified document file; The extracted identifier of the additional document file is concatenated to form a set of dummy address information, the dummy address information is converted into randomized information by a pseudo-random number generation function to generate a conversion dummy address, and the conversion dummy address information is generated. Storing the extracted identifier in the indicated address is repeated to generate the second table.

第6発明に係る動的検索可能暗号処理システムは、第1発明~第5発明において、前記端末は、検索するキーワードと前記ステート情報に含まれる各識別子を検索識別子として連結させ、1組としたアドレス情報と、前記アドレス情報を擬似乱数生成関数により乱数化情報に変換して変換アドレスを生成し、前記変換アドレスとを前記サーバに送信し、前記サーバは、前記端末により送信された前記変換アドレスを受信し、前記サーバの第2テーブルで前記変換アドレスに対応する全ての格納領域を参照し、前記格納領域がNULLではなく、所定の識別子が格納される格納先の抽出識別子を取得し、前記端末に送信すること、を特徴とする。 A dynamically searchable cryptographic processing system according to a sixth aspect of the invention is, in the first to fifth aspects of the invention, wherein the terminal connects the keyword to be searched and each identifier included in the state information as a search identifier to form a set. generating a conversion address by converting address information and said address information into randomized information by a pseudo-random number generation function, and transmitting said conversion address to said server, said server receiving said conversion address sent by said terminal; , refers to all storage areas corresponding to the conversion address in the second table of the server, acquires an extraction identifier of a storage destination in which the storage area is not NULL and a predetermined identifier is stored, and and transmitting to a terminal.

第1発明~第6発明によれば、動的検索可能システムは、参照テーブルから文書ファイルと検索キーワードとの対応を示すアドレス情報を抽出し、第1テーブルと第2テーブルとを生成する。これにより、端末が保持する全ての文書ファイルとキーワードの対応を識別子により操作することができ、識別子のみを保存すれば良く、端末側が保持する情報を小さくできる。これにより、端末とサーバにおける効率性を向上させることができる。 According to the first to sixth inventions, the dynamically searchable system extracts address information indicating the correspondence between the document file and the search keyword from the reference table, and generates the first table and the second table. As a result, the correspondence between all document files held by the terminal and keywords can be manipulated using the identifiers, and only the identifiers need to be saved, so that the information held by the terminal can be reduced. This can improve the efficiency of the terminal and the server.

特に、第1発明によれば、第1テーブル生成手段は、抽出された抽出キーワードと文書ファイルの識別子とを連結させ、1組としたアドレス情報と、アドレス情報に含まれる抽出識別子との関係を示す第1テーブルを生成する。このため、ステート情報はキーワード数に依存することがない。これにより、効率性を向上させることができる。 In particular, according to the first invention, the first table generating means connects the extracted keyword and the identifier of the document file to form a set of address information and the relationship between the extracted identifier included in the address information. Generate a first table shown. Therefore, the state information does not depend on the number of keywords. This can improve efficiency.

特に、第1発明によれば、第2テーブル生成手段は、アドレス情報を端末が保持する擬似乱数生成関数により端末側で乱数化情報に変換する。このため、疑似乱数生成用の鍵をキーワードごとに生成、サーバに渡し、サーバ側で疑似乱数を生成させる必要がなくなる。これにより、第三者へ必要以上の情報が漏洩することを防ぎ、フォワード安全性を達成することができる。 In particular, according to the first invention, the second table generating means converts the address information into randomized information on the terminal side by a pseudo-random number generating function held by the terminal. Therefore, there is no need to generate a key for generating pseudo-random numbers for each keyword, pass it to the server, and have the server generate the pseudo-random numbers. As a result, it is possible to prevent leakage of information more than necessary to a third party and achieve forward security.

特に第2発明によれば、第2テーブル生成手段は、端末が保持する疑似乱数生成関数に関する鍵情報、端末が保持するステート情報により、初期化した第2テーブルを生成し、サーバに送信する。このため、端末とサーバで共通の初期化テーブルを介したやり取りが可能となる。 Especially according to the second invention, the second table generating means generates the initialized second table based on the key information related to the pseudo-random number generating function held by the terminal and the state information held by the terminal, and transmits it to the server. Therefore, the terminal and the server can communicate via a common initialization table.

特に、第3発明によれば、端末は、追加する文書ファイルに対応する抽出識別子と抽出キーワードとを連結させ、1組としたアドレス情報と、前記アドレス情報に含まれる前記抽出識別子との関係を示す第1テーブルを生成し、前記アドレスを擬似乱数生成関数により乱数化情報に変換して変換追加アドレスを生成し、前記抽出識別子をステート情報に記憶し、前記変換アドレスと前記抽出識別子を前記サーバに送信し、前記サーバは、前記端末により送信された前記変換アドレスを受信し、前記変換アドレスの乱数化情報のそれぞれが示すアドレスに、前記受信した前記抽出識別子を格納し、前記第2テーブルを更新する。このため、追加依頼された抽出識別子を適切な箇所に格納することができる。 In particular, according to the third invention, the terminal connects the extraction identifier and the extraction keyword corresponding to the document file to be added, and determines the relationship between the address information as a set and the extraction identifier included in the address information. converts the address into randomized information by a pseudo-random number generation function to generate a converted additional address; stores the extracted identifier in the state information; stores the converted address and the extracted identifier in the server , the server receives the translation address transmitted by the terminal, stores the received extraction identifier in the address indicated by each of the randomization information of the translation address, and stores the second table in Update. Therefore, the requested extraction identifier can be stored in an appropriate location.

特に、第4発明によれば、端末は削除する文書ファイルに対応する抽出識別子をステート情報から削除し、抽出識別子をサーバに送信し、サーバは、抽出識別子を受信し、第2テーブルで抽出識別子に対応する全ての格納領域をNULLに変換し、前記第2テーブルを更新する。このため、削除依頼された抽出識別子が格納されている箇所を、全て空(NULL)に設定することができる。 In particular, according to the fourth invention, the terminal deletes the extraction identifier corresponding to the document file to be deleted from the state information, transmits the extraction identifier to the server, the server receives the extraction identifier, and stores the extraction identifier in the second table. to NULL and update the second table. Therefore, it is possible to set all the locations where the deletion-requested extraction identifiers are stored to null (NULL).

特に、第5発明によれば、第2テーブルに保存される変換アドレスの個数が、対象とする文書ファイルと同じ大きさの文書ファイルのうち、最も多い抽出キーワードを含む文書ファイルを特定する。このため、文書ファイルは、登録したい文書ファイルと同じ大きさの文書ファイルのうち、最も多くのキーワードを含むもののキーワード数と等しくなるようダミーエントリを容易に生成できる。これにより、サーバは、文書ファイルの候補を絞り込むことができなくなり、より強い安全性を実現させることができる。 In particular, according to the fifth aspect, the number of conversion addresses stored in the second table specifies the document file containing the largest number of extracted keywords among the document files having the same size as the target document file. Therefore, among the document files having the same size as the document file to be registered, dummy entries can be easily generated so that the number of keywords is equal to the number of keywords in the document file containing the largest number of keywords. This prevents the server from narrowing down the document file candidates, thereby realizing stronger security.

特に、第6発明によれば、端末は端末上に保存されている各識別子を用い、検索キーワードと各識別子を連結したものを元に疑似乱数生成関数により乱数化情報を生成し、それら全てをサーバに送信し、サーバは各乱数化情報がアドレス情報として指し示す第2テーブルの格納値を調べ、NULL以外の格納値を全て端末に送り返す。このため、端末とサーバ間においてやり取りされる情報に文書ファイルに関する情報は含まれない。これにより、フォワード安全性を満たすことができる。 In particular, according to the sixth invention, the terminal uses each identifier stored on the terminal, generates randomized information by a pseudo-random number generation function based on the concatenation of the search keyword and each identifier, and generates all of them The data is sent to the server, and the server checks the stored values of the second table indicated by each piece of randomization information as the address information, and sends back all the stored values other than NULL to the terminal. Therefore, the information exchanged between the terminal and the server does not include information about the document file. This makes it possible to satisfy forward security.

図1は、第1実施形態における動的検索可能暗号処理システムの全体構成を示すブロック図である。FIG. 1 is a block diagram showing the overall configuration of a dynamically searchable cryptographic processing system according to the first embodiment. 図2(a)は、第1実施形態における動的検索可能暗号処理システム100の構成の一例を示す模式図であり、図2(b)は、動的検索可能暗号処理システム100の機能の一例を示す模式図である。FIG. 2(a) is a schematic diagram showing an example of the configuration of the dynamically searchable cryptographic processing system 100 according to the first embodiment, and FIG. 2(b) is an example of the functions of the dynamically searchable cryptographic processing system 100. It is a schematic diagram showing. 図3(a)は、第1実施形態におけるセットアップ処理における対応テーブルの一例を示す管理テーブルであり、図3(b)は、第1実施形態におけるセットアップ処理における第1テーブルの一例を示す管理テーブルであり、図3(c)は、第1実施形態におけるセットアップ処理における第2テーブルの一例を示す管理テーブルである。FIG. 3A is a management table showing an example of a correspondence table in setup processing in the first embodiment, and FIG. 3B is a management table showing an example of a first table in setup processing in the first embodiment. , and FIG. 3C is a management table showing an example of the second table in the setup process in the first embodiment. 図4は、第1実施形態における検索処理の対応を示す説明図である。FIG. 4 is an explanatory diagram showing correspondence of search processing in the first embodiment. 図5は、第1実施形態における検索処理の対応を示す説明図である。FIG. 5 is an explanatory diagram showing correspondence of search processing in the first embodiment. 図6は、第1実施形態における文書ファイルが含み得る最大のキーワード個数を示す説明図である。FIG. 6 is an explanatory diagram showing the maximum number of keywords that a document file can contain in the first embodiment. 図7(a)、(b)は、第1実施形態における動的検索可能暗号処理システムの動作の一例を示すフローチャートである。FIGS. 7A and 7B are flowcharts showing an example of the operation of the dynamically searchable cryptographic processing system according to the first embodiment.

以下、本発明の実施形態における動的検索可能暗号処理システム100の一例について、図面を参照しながら説明する。 An example of a dynamically searchable cryptographic processing system 100 according to an embodiment of the present invention will be described below with reference to the drawings.

(第1実施形態)
図1は、本実施形態における動的検索可能暗号処理システム100の全体構成を示すブロック図である。
(First embodiment)
FIG. 1 is a block diagram showing the overall configuration of a dynamically searchable cryptographic processing system 100 according to this embodiment.

本実施形態の動的検索可能暗号処理システム100は、図1に示すように、例えば、社内の複数の端末2(登録端末2a、検索端末2b)と公衆通信網5(ネットワーク)を介して接続されるサーバ3により構成される。サーバ3は、暗号化データベース4を備え、暗号化された文書ファイル及び暗号化インデックステーブル (または第2テーブル)を保存する。 A dynamically searchable cryptographic processing system 100 of this embodiment, as shown in FIG. It is composed of a server 3 configured as The server 3 has an encrypted database 4 and stores encrypted document files and encrypted index tables (or second tables).

登録端末2a及び検索端末2bは、例えば、パーソナルコンピュータ(PC)等の電子機器が用いられ、文書ファイルを暗号化し、サーバ3への登録操作や処理を行う。サーバ3は、例えば、オンラインストレージ等の外部ストレージサービスを運用するクラウドサーバ等の電子機器が用いられる。サーバ3は、暗号化データベース4に保管される暗号化文書ファイルの更新や検索(動的検索)を行う。 The registration terminal 2a and the search terminal 2b are electronic devices such as personal computers (PCs), encrypt document files, and perform registration operations and processing in the server 3. FIG. The server 3 is, for example, an electronic device such as a cloud server that operates an external storage service such as online storage. The server 3 updates and searches (dynamic search) encrypted document files stored in the encrypted database 4 .

図2は、本発明が適用される動的検索可能暗号処理システムの構成の一例を示すブロック図である。 FIG. 2 is a block diagram showing an example of the configuration of a dynamically searchable cryptographic processing system to which the present invention is applied.

図2(a)は、第1実施形態における動的検索可能暗号処理システム100の構成の一例を示す模式図である。 FIG. 2(a) is a schematic diagram showing an example of the configuration of the dynamically searchable cryptographic processing system 100 according to the first embodiment.

図2(a)に示すように、動的検索可能暗号処理システム100を構成する端末2は、筐体10と、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、記憶部分14と、I/F15~17とを備える。各々の構成であるI/F15~18は、内部バス18により接続される。 As shown in FIG. 2(a), the terminal 2 constituting the dynamically searchable cryptographic processing system 100 includes a housing 10, a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, and a RAM ( Random Access Memory) 13, a storage portion 14, and I/Fs 15-17. The I/Fs 15 to 18 of each configuration are connected by an internal bus 18 .

CPU11は、動的検索可能暗号処理システム100全体を制御する。ROM12は、CPU11の動作コードを格納する。RAM13は、CPU11の動作時に使用される作業領域である。記憶部分14は、例えば、端末の属性情報、関連情報、登録端末2aに生成される各テーブル、擬似ランダム関数の他に、暗号共通鍵等の情報を記憶する。記憶部分14は、例えば、端末の操作者に関する情報、操作者に関する認証情報等の各種情報、その他、登録、更新、検索ログ等の各種情報が各々対応付けられて記憶されてもよい。なお、例えば、動的検索可能暗号処理システム100は、図示しないGPU(Graphics Processing Unit)を有してもよい。GPUを有することで、通常よりも高速演算処理が可能となる。 The CPU 11 controls the dynamic searchable cryptographic processing system 100 as a whole. The ROM 12 stores operation codes for the CPU 11 . The RAM 13 is a work area used when the CPU 11 operates. The storage unit 14 stores, for example, terminal attribute information, related information, tables generated in the registered terminal 2a, pseudo-random functions, and information such as cryptographic common keys. The storage part 14 may store, for example, information on the operator of the terminal, various information such as authentication information on the operator, and various other information such as registration, update, search log, etc. in association with each other. Note that, for example, the dynamically searchable cryptographic processing system 100 may have a GPU (Graphics Processing Unit) not shown. Having a GPU enables higher-speed arithmetic processing than usual.

I/F15は、公衆通信網5を介して端末2等との各種情報の送受信を行うためのインターフェースである。I/F16は、入力部分20との情報の送受信を行うためのインターフェースである。入力部分20として、例えば、キーボードが用いられ、動的検索可能暗号処理システム100の管理者等は、入力部分20を介して、各種情報又はサーバ3の制御コマンド等を入力する。I/F17は、出力部分19との各種情報の送受信を行うためのインターフェースである。出力部分19は、記憶部分14に保存された各種情報、又はサーバ3の処理状況等を出力する。出力部分19として、ディスプレイが用いられ、例えばタッチパネル式でもよい。 The I/F 15 is an interface for transmitting and receiving various information with the terminal 2 and the like via the public communication network 5 . The I/F 16 is an interface for transmitting and receiving information with the input section 20 . A keyboard, for example, is used as the input section 20 , and the administrator of the dynamically searchable cryptographic processing system 100 inputs various information or control commands for the server 3 through the input section 20 . The I/F 17 is an interface for transmitting and receiving various information to and from the output section 19 . The output section 19 outputs various information stored in the storage section 14, the processing status of the server 3, and the like. A display is used as the output part 19, and may be of a touch panel type, for example.

図2(b)は、動的検索可能暗号処理システム100の機能の一例を示す模式図である。動的検索可能暗号処理システム100を構成する端末2とサーバ3の機能を示す。 FIG. 2(b) is a schematic diagram showing an example of the functions of the dynamically searchable cryptographic processing system 100. As shown in FIG. The functions of the terminal 2 and the server 3 that constitute the dynamically searchable cryptographic processing system 100 are shown.

端末2は、例えば、端末2の全体を制御する制御部21、文書ファイルに含まれるキーワードの抽出、文書ファイルに対応する識別子を抽出識別子として抽出する抽出部22、第1テーブルの生成を行う第1テーブル生成部23、第2テーブルの生成を行う第2テーブル生成部24、公衆通信網5を介してサーバ3とデータのやり取りを行う送受信部25、文書ファイル、キーワード、各テーブル、擬似乱数生成関数、鍵情報、ステータス情報、各種アプリケーション等のデータ及び情報を記憶する記憶部26を少なくとも備える。 The terminal 2 includes, for example, a control unit 21 that controls the entire terminal 2, an extraction unit 22 that extracts keywords contained in document files, an identifier corresponding to the document file as an extraction identifier, and a first table that generates a first table. 1 table generation unit 23, second table generation unit 24 for generating the second table, transmission/reception unit 25 for exchanging data with the server 3 via the public communication network 5, document files, keywords, each table, pseudorandom number generation It includes at least a storage unit 26 that stores data and information such as functions, key information, status information, and various applications.

サーバ3は、例えば、サーバ3の全体及び暗号化データベース4を制御する制御部31、端末2から受信した第2テーブルの初期化、追加、削除等を行う更新部32、端末2からの検索を実行し、検索結果を出力する検索部33、公衆通信網5を介して複数の端末2とデータのやり取りを行う送受信部35、暗号化文書ファイル、第2テーブル、擬似乱数生成関数、鍵情報、各種アプリケーション等のデータ及び情報を記憶する記憶部35を少なくとも備える。 The server 3 includes, for example, a control unit 31 that controls the entire server 3 and the encrypted database 4, an update unit 32 that initializes, adds, and deletes the second table received from the terminal 2, and performs searches from the terminal 2. A search unit 33 that executes and outputs search results, a transmission/reception unit 35 that exchanges data with a plurality of terminals 2 via the public communication network 5, an encrypted document file, a second table, a pseudorandom number generation function, key information, At least a storage unit 35 for storing data and information such as various applications is provided.

図2(b)に示した端末2及びサーバ3の機能は、CPU11が、RAM13を作業領域として、記憶部分14等に記憶されたプログラムを実行することにより実現される。 The functions of the terminal 2 and the server 3 shown in FIG. 2B are realized by the CPU 11 using the RAM 13 as a work area and executing a program stored in the storage section 14 or the like.

記憶部26及び記憶部35として、例えばHDDのほか、SSD等のデータ保存装置が用いられ、例えば、暗号化データベース4と一体に具現化されてもよい。記憶部26及び記憶部35には、例えば、RAM及びROMを含み、各々で実行されるプログラム等が記憶される。なお、端末2及びサーバ3により実行される各機能は、各制御部が、RAMを作業領域として、各々の記憶部に記憶されたプログラムを実行することにより実現することができる。 As the storage unit 26 and the storage unit 35, for example, a data storage device such as an SSD is used in addition to the HDD, and may be embodied integrally with the encrypted database 4, for example. The storage unit 26 and the storage unit 35 include, for example, RAM and ROM, and store programs and the like to be executed respectively. Each function executed by the terminal 2 and the server 3 can be realized by each control unit executing a program stored in each storage unit using the RAM as a work area.

図3は、動的検索可能暗号処理システム100のセットアップ処理における各テーブルの一例を示す管理テーブルである。 FIG. 3 is a management table showing an example of each table in the setup process of the dynamically searchable cryptographic processing system 100. As shown in FIG.

図3(a)は、例えば、端末2に保持される参照テーブル40aであり、文書ファイル(fn)と各々の文書ファイル対応する識別子(idn)と各文書ファイル(fn)に対応するキーワードとの関係を対応付けて格納される。図3(b)は、端末2で生成される第1テーブル40bであり、参照テーブル40aから抽出部22により抽出され、抽出キーワード(wd)と抽出識別子(idn)とを連結させ、1組としたアドレス情報と、アドレス情報に含まれる抽出識別子(idn)とが各々対応付けて格納される。図3(c)は、第1テーブル40bにおけるアドレスを擬似乱数生成関数により乱数化情報に変換して変換アドレスを生成し、変換アドレスと抽出識別子(idn)とが各々対応付けられて格納される。 FIG. 3(a) is, for example, a reference table 40a held in the terminal 2, which corresponds to a document file (f n ), an identifier (id n ) corresponding to each document file, and each document file (f n ). It is stored in association with the relationship with the keyword. FIG. 3(b) shows a first table 40b generated by the terminal 2, which is extracted by the extraction unit 22 from the reference table 40a, connects the extracted keyword (w d ) and the extracted identifier (id n ), The paired address information and the extraction identifier (id n ) included in the address information are stored in association with each other. FIG. 3(c) shows that the addresses in the first table 40b are converted into random number information by a pseudo-random number generation function to generate conversion addresses, and the conversion addresses and extraction identifiers (id n ) are stored in association with each other. be.

ここで、文書ファイルは、文書ファイルの集合をFで表し、各文書ファイルfid∈Fには、それぞれ対応する識別子id∈{0,1}l(lはkの多項式)が付され、文書ファイルfidを単にidと書く。Λ:={0,1}λ(λはkの多項式)をあり得る全てのキーワードの集合とし、例えば、ビット列ではなく文字列として表現されてもよい。また、識別子idiである文書ファイルに含まれるキーワードの集合をWiとする。 Here, the document files represent a set of document files by F, and each document file f id εF is assigned a corresponding identifier idε{0, 1} l (l is a polynomial of k). Write the file f id simply as id. Let Λ:={0,1}λ (where λ is a polynomial in k) be the set of all possible keywords, which may be represented, for example, as character strings instead of bit strings. Also, let W i be a set of keywords included in the document file with the identifier id i .

動的検索可能暗号処理システム100は、セットアップ(Setup)の実行時に、タイムスタンプt:=0として初期化し、登録端末2aまたは検索端末2bは、検索(Search)及び更新(Update)の各操作を行うごとに、タイムスタンプをインクリメントされるようにしてもよい。 The dynamically searchable cryptographic processing system 100 is initialized with a time stamp t:=0 when setup is executed, and the registration terminal 2a or the search terminal 2b performs search and update operations. The timestamp may be incremented each time.

図3(a)は、第1実施形態における参照テーブル40aの一例を示す参照テーブルである。参照テーブル40aは、暗号化対象の文書ファイルとその文書ファイルが含むキーワードの集合(id,Wid) として対応付けられる。参照テーブル40aは、例えば、t時点での文書ファイルf1(識別子id1)~文書ファイルfn(識別子idn)に含まれる全てのキーワードw1~wdが各々対応付ける。文書ファイルf1にキーワードw1が含まれている場合は、例えば、参照テーブル40aの対応する箇所にフラグ(例えば、×)が付されて記憶される。 FIG. 3A is a reference table showing an example of the reference table 40a in the first embodiment. The reference table 40a associates a document file to be encrypted with a keyword set (id, W id ) included in the document file. The reference table 40a, for example, associates all the keywords w 1 to w d included in the document file f 1 (identifier id 1 ) to document file f n (identifier id n ) at time t. If the document file f 1 contains the keyword w 1 , for example, the corresponding location in the reference table 40a is marked with a flag (for example, x) and stored.

図3(b)は、第1実施形態における第1テーブル40bの一例を示す管理テーブルである。インデックステーブル40bは、対応テーブル40aから各文書ファイルにキーワードが含まれている対応箇所のみ(フラグ×の箇所)が抽出される。 FIG. 3B is a management table showing an example of the first table 40b in the first embodiment. The index table 40b is obtained by extracting only corresponding portions (portions marked with a flag x) where keywords are included in each document file from the corresponding table 40a.

次に、第1テーブル40bは、アドレス情報(部)と抽出識別子(例えば、文書管理番号)の組み(対)の関係により構成される。アドレス情報は、例えば、キーワードwiと文書ファイルの文書番号idの連結(wi||id)であり、抽出識別子は、例えば、文書ファイルfidの抽出識別子idとなる。 Next, the first table 40b is configured by the relationship between pairs of address information (sections) and extraction identifiers (for example, document management numbers). The address information is, for example, the concatenation of the keyword wi and the document number id of the document file ( wi ||id), and the extraction identifier is, for example, the extraction identifier id of the document file fid.

図3(c)は、第1実施形態における第2テーブルの一例を示す管理テーブルである。第2テーブル40cは、第1テーブル40bのアドレス情報(部)と抽出識別子(例えば、文書管理番号)の対の関係性を隠すため、例えば、ユーザのみが知る擬似乱数生成関数πを用いて、変換された関係性の対として生成される。 FIG. 3C is a management table showing an example of the second table in the first embodiment. The second table 40c hides the relationship between the pair of address information (part) and extraction identifier (eg, document management number) in the first table 40b. Generated as pairs of transformed relationships.

第2テーブル40cは、第1テーブル40bのキーワードwiと文書ファイルの文書番号idの連結(wi||id)を、擬似乱数生成関数πを用いて乱数化される。アドレスは、例えば、π(k,wi||id)として変換され、識別子は、例えば、文書ファイルfidの識別子idがアドレスπ(k,wi||id)と関連付けられて記憶される。 In the second table 40c, the concatenation (w i ||id) of the keyword wi in the first table 40b and the document number id of the document file is randomized using the pseudo-random number generating function π. The addresses are converted, for example, as π(k, w i ||id), and the identifiers are stored, for example, by associating the identifier id of the document file f id with the address π(k, w i ||id). .

図4は、第1実施形態における検索処理の対応を示す説明図である。検索端末2bから入力される検索キーワードqを用いて、サーバ3の暗号化データベース4に記憶されている暗号化文書ファイルの検索を行う。 FIG. 4 is an explanatory diagram showing correspondence of search processing in the first embodiment. The encrypted document files stored in the encrypted database 4 of the server 3 are searched using the search keyword q input from the search terminal 2b.

第2テーブル40cは、第2テーブル生成部24により、 第1テーブル40bの検索キーワードqと文書ファイルの文書番号idの 連結(q||id)を、擬似乱数生成関数πを用いて乱数化し、 検索端末2bは、変換アドレスをサーバ3に送信し、 サーバ3は、検索端末2bにより送信された変換アドレスを受信する。サーバ3の第2テーブル40cで変換アドレスに 対応する全ての格納領域を参照し、格納領域がNULLではなく、 所定の識別子が格納される格納先の抽出識別子を取得する。 In the second table 40c, the second table generator 24 randomizes the concatenation (q||id) of the search keyword q in the first table 40b and the document number id of the document file using a pseudo-random number generation function π, The search terminal 2b transmits the conversion address to the server 3, and the server 3 receives the conversion address transmitted by the search terminal 2b. All the storage areas corresponding to the translation address are referred to in the second table 40c of the server 3, and the extraction identifier of the storage destination where the storage area is not NULL and the predetermined identifier is stored is acquired.

図5は、第1実施形態における検索処理の対応を示す説明図である。暗号化サーバ3は、例えば、検索端末2bから送信された変換アドレスを受信し、第2テーブル40cを参照し、検索依頼のあったアドレス情報のうち、π(k,q||id1)及びアドレス情報π(k,q||id3)と対になる検索識別子で関連付けられる文書ファイルが登録されているため、該当する検索識別子id1及びid3を、検索端末2bに送信する。 FIG. 5 is an explanatory diagram showing correspondence of search processing in the first embodiment. The encryption server 3, for example, receives the converted address transmitted from the search terminal 2b, refers to the second table 40c, and among the address information requested for the search, π(k, q||id 1 ) and Since the document files associated with the address information π(k, q||id 3 ) by the search identifier paired are registered, the corresponding search identifiers id 1 and id 3 are sent to the search terminal 2b.

図6は、文書ファイルfidが含み得る最大のキーワード数を示す説明図である。文書ファイルfidはwidに含まれるキーワードの組み合わせからなるファイルとみなすが、maxidをfidが含むことのできるキーワードの最大個数(例えば、10個)とする。文書ファイルの最大キーワードの個数は、最も小さいキーワードw∈Λから順にそのサイズを加算し、|fid|を超える手前までに加算したキーワードwjの合計個数となる。 FIG. 6 is an explanatory diagram showing the maximum number of keywords that a document file f id can contain. A document file f id is regarded as a file consisting of a combination of keywords contained in w id , and let max id be the maximum number of keywords that f id can contain (eg, 10). The maximum number of keywords in the document file is the total number of keywords w j added up to the point where |f id | is exceeded, starting with the smallest keyword wεΛ.

文書ファイルの最大キーワードの個数、例えば、μid個のエントリを登録すると同時に、(maxid ― μid) 個のダミーエントリを追加してもよく、これにより、idを格納しているアドレスの個数を|fid|個に常に統一することが可能となる。そのため、サーバは文書ファイルfidの候補を絞り込むことができない。 At the same time as registering the maximum number of keywords in the document file, for example μ id entries, (max id - μ id ) dummy entries may be added, thereby increasing the number of addresses storing id can always be unified into |f id | pieces. Therefore, the server cannot narrow down the candidates for the document file f id .

次に、図7(a)、(b)は、第1実施形態における動的検索可能暗号処理システムの動作の一例を示すフローチャートである。 Next, FIGS. 7A and 7B are flow charts showing an example of the operation of the dynamically searchable cryptographic processing system in the first embodiment.

先ず、動的検索可能暗号処理システム100の登録端末2aは、抽出ステップS110~第2テーブル生成ステップS130を実行する。 First, the registration terminal 2a of the dynamically searchable cryptographic processing system 100 executes the extraction step S110 to the second table generation step S130.

<抽出ステップS110>
登録端末2aの抽出部22は、文書ファイルと抽出キーワードの抽出を行う(抽出ステップS110)。抽出ステップS110では、文書ファイルに対応する識別子とキーワードとの関係を示す参照テーブルから、文書ファイルに含まれるキーワードを抽出キーワードとして抽出する。そして、文書ファイルに対応する識別子を抽出識別子として抽出する。
<Extraction step S110>
The extraction unit 22 of the registration terminal 2a extracts the document file and the extraction keyword (extraction step S110). In the extraction step S110, keywords included in the document file are extracted as extracted keywords from a reference table showing the relationship between identifiers and keywords corresponding to the document file. Then, an identifier corresponding to the document file is extracted as an extraction identifier.

<第1テーブル生成ステップS120>
次に、第1テーブル生成部23は、抽出ステップS110により抽出されたアドレス情報と識別子に対して、アドレス情報と識別子との対応を第1テーブル40bとして生成する(第1テーブル生成ステップS120)。第1テーブル生成部は、抽出ステップS110により抽出された抽出キーワードと抽出識別子とを連結させ、1組としたアドレス情報と、アドレス情報に含まれる前記抽出識別子との関係を示す第1テーブルを生成する。
<First table generation step S120>
Next, the first table generation unit 23 generates the correspondence between the address information and the identifiers extracted in the extraction step S110 as the first table 40b (first table generation step S120). The first table generation unit links the extraction keyword and the extraction identifier extracted in the extraction step S110, and generates a first table showing the relationship between the address information as a set and the extraction identifier included in the address information. do.

また、第1テーブル生成部23は、抽出ステップS110により抽出された全てのアドレス情報及び識別子に、更新があるかを判別する。そして、追加または削除の変更がある場合は、アドレス情報に含まれる文書ファイルを特定する抽出識別子を変更に応じて、暗号化文書ファイルの追加または削除する変更を行う。 Also, the first table generation unit 23 determines whether or not all the address information and identifiers extracted in the extraction step S110 are updated. If there is a change such as addition or deletion, the encrypted document file is added or deleted in accordance with the change of the extraction identifier specifying the document file included in the address information.

<第2テーブル生成ステップS130>
第2テーブル生成部24は、第1テーブルの各アドレス情報を乱数化情報に変換して第2テーブルを生成する(第2テーブル生成ステップS130)。第2テーブル生成部24は、第1テーブル40bに含まれる各アドレス情報を、登録端末2aの記憶部26に記憶される擬似乱数生成関数及びその鍵により乱数化情報に変換し、第2テーブル40cとして生成する。
<Second Table Generation Step S130>
The second table generation unit 24 converts each address information in the first table into randomized information to generate a second table (second table generation step S130). The second table generation unit 24 converts each piece of address information included in the first table 40b into randomized information using a pseudo-random number generation function and its key stored in the storage unit 26 of the registration terminal 2a, and converts each address information into a second table 40c. Generate as

(第2実施形態)
図7(b)は、動的検索可能暗号処理システム100のサーバ3における検索処理について、受信ステップS210~結果送信ステップS230を実行する。
(Second embodiment)
FIG. 7B shows the search processing in the server 3 of the dynamically searchable cryptographic processing system 100, in which the reception step S210 to the result transmission step S230 are executed.

まず、検索端末2bは、検索するキーワードとステート情報に含まれる各識別子を検索識別子として連結させ、1組としたアドレス情報を生成する。 First, the search terminal 2b connects each identifier included in the keyword to be searched and the state information as a search identifier to generate a set of address information.

次に、アドレスを擬似乱数生成関数により乱数化情報に変換して変換アドレスを生成し、変換アドレスをサーバ3に送信する。 Next, the address is converted into randomized information by a pseudo-random number generation function to generate a conversion address, and the conversion address is transmitted to the server 3 .

<受信ステップS210>
サーバ3の送受信部34は、検索端末2bから送信された変換アドレスを受信する(受信ステップS210)。
<Reception step S210>
The transmission/reception unit 34 of the server 3 receives the conversion address transmitted from the search terminal 2b (reception step S210).

<更新ステップS220>
検索部33は、暗号化データベース4に格納される第2テーブルを参照し、第2テーブル40cで変換アドレスに対応する全ての格納領域を参照し、格納領域がNULLではなく、所定の識別子が格納される格納先の抽出識別子を取得する。(検索ステップS220)。判別の結果に応じて、Xq (t)に加え、送られてきた値の全ての変換アドレスをチェックする。ここで、tは現時点での時刻を表す。
<Update step S220>
The search unit 33 refers to the second table stored in the encrypted database 4, refers to all storage areas corresponding to the conversion address in the second table 40c, and stores a predetermined identifier instead of NULL in the storage area. Gets the extraction identifier of the storage location where the data is stored. (Search step S220). Depending on the result of the determination, in addition to X q (t) , check all translation addresses of the value sent. Here, t represents the current time.

<結果送信ステップS230>
送受信部34は、検索依頼のあった検索端末2bに、検索結果である検索識別子を送信する。(送信ステップS230)。検索結果である各文書ファイルfid∈Fは、共通鍵暗号で暗号化され(図示せず)、サーバ3の暗号化データベース4に保存される。なお、全ての暗号化文書ファイルは、文書ファイルの識別子idと併せて、サーバ3の暗号化データベース4に保存される。
<Result Transmission Step S230>
The transmitting/receiving unit 34 transmits the search identifier, which is the search result, to the search terminal 2b that requested the search. (Transmission step S230). Each document file f id εF, which is the search result, is encrypted with common key encryption (not shown) and stored in the encrypted database 4 of the server 3 . All encrypted document files are stored in the encrypted database 4 of the server 3 together with the document file identifier id.

これにより、本実施形態における動的検索可能暗号処理システム100の動作が終了する。 This completes the operation of the dynamically searchable cryptographic processing system 100 in this embodiment.

(第3実施形態)
次に、端末2(登録端末2a)における第2テーブルの初期化処理について説明する。端末2は、第2テーブル生成ステップS130において、端末2aが保持する 疑似乱数生成関数に関する鍵情報、端末2aが保持するステート情報に基づき、抽出識別子を初期化した第2テーブル40cを生成し、鍵情報とステート情報の端末2bの記憶部26に記憶させる。その後に、生成した第2テーブル40cをサーバ3に送信する。
(Third Embodiment)
Next, initialization processing of the second table in terminal 2 (registered terminal 2a) will be described. In the second table generation step S130, the terminal 2 generates the second table 40c in which the extraction identifier is initialized based on the key information related to the pseudo-random number generation function held by the terminal 2a and the state information held by the terminal 2a. The information and the state information are stored in the storage unit 26 of the terminal 2b. After that, the generated second table 40 c is transmitted to the server 3 .

本実施例によれば、検索端末2bは検索依頼の対象となる検索キーワードと端末に保存されたステート情報に含まれる全ての検索識別子idに応じて生成された変換アドレスを生成し、送信する。サーバ3は、受信した変換アドレスから、第2テーブルの変換アドレスが指し示すアドレスに格納された値を確認する。そのため、サーバ3はステート情報に含まれる識別子に関する変換アドレスに対応する格納領域のみを参照する。これにより、検索端末2bとサーバ3との間で、その時点の検索に必要なだけの情報がやり取りされ、検索後のアドレスの再登録が不要となり、フォワード安全性を達成することができるとともに、効率性を向上させることができる。 According to this embodiment, the search terminal 2b generates and transmits a conversion address generated according to all search identifiers id included in the search keyword to be searched and the state information stored in the terminal. The server 3 confirms the value stored at the address indicated by the conversion address of the second table from the received conversion address. Therefore, the server 3 refers only to the storage area corresponding to the translation address for the identifier included in the state information. As a result, only the information necessary for the search at that time is exchanged between the search terminal 2b and the server 3, re-registration of the address after the search becomes unnecessary, and forward security can be achieved. Efficiency can be improved.

(第4実施形態)
次に、動的検索可能暗号処理システム100における、端末2とサーバ3における文書ファイルの追加の処理について説明する。
(Fourth embodiment)
Next, document file addition processing in the terminal 2 and the server 3 in the dynamically searchable cryptographic processing system 100 will be described.

まず、登録端末2aは、追加する文書ファイルに対応する識別子とキーワードとの関係を示す参照テーブル40aから、文書ファイルに含まれる前記キーワードを抽出キーワードとして抽出する。そして、文書ファイルに対応する識別子を抽出識別子として抽出し、抽出した抽出キーワードと抽出識別子とを連結させ、1組としたアドレス情報と、アドレス情報に含まれる抽出識別子との関係を示す第1テーブルを生成する。 First, the registration terminal 2a extracts the keyword included in the document file as an extraction keyword from the reference table 40a showing the relationship between the identifier and the keyword corresponding to the document file to be added. Then, an identifier corresponding to the document file is extracted as an extraction identifier, the extracted extraction keyword and the extraction identifier are linked, and a first table showing the relationship between the address information and the extraction identifier included in the address information is formed as a set. to generate

次に、登録端末2aの記憶部26に記憶される擬似乱数生成関数により、アドレス情報を乱数化情報に変換して、変換追加アドレスを生成する。登録端末2aは、抽出識別子をステート情報に記憶し、その後に、変換アドレスと抽出識別子をサーバ3に送信する。 Next, the pseudo-random number generation function stored in the storage unit 26 of the registration terminal 2a is used to convert the address information into randomized information to generate a converted additional address. The registration terminal 2a stores the extracted identifier in the state information, and then transmits the converted address and the extracted identifier to the server 3. FIG.

登録端末2aにおける文書ファイルの更新(追加)は、例えば、以下の処理で実行される。 The update (addition) of the document file in the registration terminal 2a is executed, for example, by the following processing.

<<時刻tにおける文書ファイル(id,Wid) の追加>>
端末2(登録端末2a)は記憶部26に登録されるアプリケーション(Updateアルゴリズム:図示せず)により、全てのw∈Wid に対してπ(k,w||id) を計算する。ダミーアドレスではないことを示すため、π(k,0||w||id)としてもよい。ここで計算された値が、第2テーブル40cのアドレスとなる。登録端末2aは、計算した値全て及びidをサーバ3に送信し、登録端末2aに記憶されるステート情報σ(t)にidを追加し、ステート情報σ(t+1)とする。
<<Addition of document file (id, W id ) at time t>>
The terminal 2 (registered terminal 2a) calculates π(k, w||id) for all wεW id using an application (Update algorithm: not shown) registered in the storage unit 26 . To indicate that it is not a dummy address, π(k, 0||w||id) may be used. The value calculated here becomes the address of the second table 40c. The registration terminal 2a transmits all the calculated values and id to the server 3, adds the id to the state information σ (t) stored in the registration terminal 2a, and sets the state information σ (t+1) .

サーバ3は、登録端末2aにより送信された変換アドレス及び抽出識別子を受信し、第2テーブル40cの変換アドレスの乱数化情報のそれぞれが示すアドレスに、受信した抽出識別子を格納し、第2テーブル40cを更新し、EDB(t+1)とする。 The server 3 receives the conversion address and the extraction identifier transmitted by the registration terminal 2a, stores the received extraction identifier in the address indicated by each of the conversion address randomization information in the second table 40c, and stores the extraction identifier in the second table 40c. to be EDB (t+1) .

(第5実施形態)
次に、動的検索可能暗号処理システム100における、端末2とサーバ3における文書ファイルの削除の処理について説明する。
(Fifth embodiment)
Next, document file deletion processing in the terminal 2 and the server 3 in the dynamically searchable cryptographic processing system 100 will be described.

本実施形態によれば、idが格納値として第2テーブルに含まれる数μidを、対応する文書ファイルfidが含み得るキーワードの最大数maxidに合わせるため、 (maxidid) 個のダミーアドレスとして、π(k,1||1||id)~π(k,1|| maxidid ||id)を生成し、それぞれが指し示す第2テーブル中のアドレスにidを格納してもよい。このため、文書ファイルfidが含むことのできる最大数のキーワード(maxid個)になるまでidのダミーエントリを追加することができる。これにより、より強い安全性を備えることが可能となる。 According to this embodiment, (max idid ) number of keywords is adjusted in order to adjust the number μ id of id contained in the second table as a stored value to the maximum number of keywords max id that can be included in the corresponding document file f id . π(k, 1||1||id) to π(k, 1|| max idid ||id) are generated as dummy addresses of , and id is assigned to the address in the second table indicated by each may be stored. Therefore, dummy entries for id can be added up to the maximum number of keywords (max id ) that the document file f id can contain. This makes it possible to provide stronger safety.

登録端末2aは、削除する文書ファイルに対応する抽出識別子を、記憶部26に記憶されるステート情報から削除し、削除した抽出識別子をサーバ3に送信する。 The registration terminal 2 a deletes the extraction identifier corresponding to the document file to be deleted from the state information stored in the storage unit 26 and transmits the deleted extraction identifier to the server 3 .

<<時刻tにおけるidに対応する文書ファイルの削除>>
登録端末2aは、サーバ3に操作の対象となる抽出識別子(id)を送信する。そして記憶部26に記憶されるステート情報σ(t)から対象の抽出識別子(id)を削除し、ステート情報σ(t+1)とする。
<<Deletion of document file corresponding to id at time t>>
The registration terminal 2 a transmits an extraction identifier (id) to be operated to the server 3 . Then, the target extraction identifier (id) is deleted from the state information σ (t) stored in the storage unit 26 to obtain state information σ (t+1) .

サーバ3は、削除対象となる抽出識別子を受信し、第2テーブル40cの格納されている値が抽出識別子(id)の部分を、全てNULLに置き換える処理を繰り返し、全て置き換えた第2テーブル40cを更新し、EDB(t+1)とする。 The server 3 receives the extraction identifier to be deleted, repeats the process of replacing all the extraction identifier (id) portions stored in the second table 40c with NULL, and replaces the entire replaced second table 40c with NULL. Update to EDB (t+1) .

さらに、本実施形態によれば、動的検索可能暗号処理システム100は、例えば、複数の医療機関をまたがったデータベースにおける検索サービスに適用することが可能である。これにより、病院のデータベースに記憶される個人情報が、患者カルテ(ファイル)の更新、または検索される際に、必要以上に漏洩することを防ぐことが可能となる。 Furthermore, according to this embodiment, the dynamically searchable cryptographic processing system 100 can be applied to, for example, search services in databases across multiple medical institutions. This makes it possible to prevent the personal information stored in the hospital database from leaking more than necessary when the patient chart (file) is updated or searched.

さらに、本実施形態によれば、動的検索可能暗号処理システム100は、例えば、クラウドサーバを介してやり取りされるメールサービス等において、ユーザは過去にやり取りしたメールやアーカイブしたメール等を暗号化したまま検索が可能となる。そのため、クラウド側にメールの内容が漏洩することを防ぐことが可能となる。 Furthermore, according to the present embodiment, the dynamically searchable cryptographic processing system 100 encrypts e-mails exchanged in the past or archived e-mails by users in e-mail services exchanged via a cloud server, for example. It is possible to search for Therefore, it is possible to prevent the content of the email from being leaked to the cloud side.

動的検索可能暗号処理システム100において、ステート情報は必ずしも端末に保存される必要はなく、また、端末が保持するステート情報を公開しても良い。そのため、前記ステート情報を端末ではなくサーバに保存したとしても、それによって安全性が損なわれることはない。 In the dynamically searchable cryptographic processing system 100, the state information does not necessarily need to be stored in the terminal, and the state information held by the terminal may be made public. Therefore, even if the state information is stored in the server instead of the terminal, security is not compromised.

本発明の実施形態を説明したが、各実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 While embodiments of the invention have been described, each embodiment is provided by way of example and is not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and modifications can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the scope of the invention described in the claims and equivalents thereof.

10 :筐体
11 :CPU
12 :ROM
13 :RAM
14 :記憶部分
15 :I/F
16 :I/F
17 :I/F
18 :内部バス
19 :出力部分
100 :動的検索可能暗号処理システム
2 :端末
2a :登録端末
2b :検索端末
20 :入力部分
21 :制御部
22 :抽出部
23 :第1テーブル生成部
24 :第2テーブル生成部
25 :送受信部
26 :記憶部
3 :サーバ
31 :制御部
32 :更新部
33 :検索部
34 :送受信部
35 :記憶部
4 :暗号化データベース
40a :参照テーブル
40b :第1テーブル
40c :第2テーブル
5 :公衆通信網
S110 :抽出ステップ
S120 :第1テーブル生成ステップ
S130 :第2テーブル生成ステップ
S210 :受信ステップ
S220 :更新ステップ
S230 :結果送信ステップ
10: Housing 11: CPU
12: ROM
13: RAM
14: Storage part 15: I/F
16: I/F
17: I/F
18: Internal bus 19: Output unit 100: Dynamically searchable cryptographic processing system 2: Terminal 2a: Registration terminal 2b: Search terminal 20: Input unit 21: Control unit 22: Extraction unit 23: First table generation unit 24: Second 2 Table generation unit 25 : Transmission/reception unit 26 : Storage unit 3 : Server 31 : Control unit 32 : Update unit 33 : Search unit 34 : Transmission/reception unit 35 : Storage unit 4 : Encrypted database 40a : Reference table 40b : First table 40c : Second table 5 : Public communication network S110 : Extraction step S120 : First table generation step S130 : Second table generation step S210 : Reception step S220 : Update step S230 : Result transmission step

Claims (6)

端末とサーバがネットワークを介して接続され、暗号化されたデータテーブルを用いた動的検索可能暗号システムであって、
文書ファイルに対応する識別子とキーワードとの関係を示す参照テーブルから、前記文書ファイルに含まれる前記キーワードを抽出キーワードとして抽出するとともに、前記文書ファイルに対応する識別子を抽出識別子として抽出する抽出手段と、
前記抽出手段により抽出された前記抽出キーワードと前記抽出識別子とを連結させ、1組としたアドレス情報と、前記アドレス情報に含まれる前記抽出識別子との関係を示す第1テーブルを生成する第1テーブル生成手段と、
前記第1テーブルにおける前記アドレスを擬似乱数生成関数により乱数化情報に変換して変換アドレスを生成し、前記変換アドレスと前記抽出識別子との関係を示す第2テーブルを生成する第2テーブル生成手段と、
を備えること
を特徴とする動的検索可能暗号システム。
A dynamic searchable encryption system in which a terminal and a server are connected via a network and using an encrypted data table,
extracting means for extracting the keyword included in the document file as an extraction keyword from a reference table showing the relationship between the identifier and the keyword corresponding to the document file, and extracting the identifier corresponding to the document file as an extraction identifier;
A first table for linking the extracted keyword and the extracted identifier extracted by the extracting means to generate a first table showing a relationship between address information as a set and the extracted identifier included in the address information. a generating means;
a second table generating means for generating a conversion address by converting the address in the first table into random number information by a pseudo-random number generation function, and generating a second table showing the relationship between the conversion address and the extraction identifier; ,
A dynamically searchable cryptosystem, comprising:
前記第2テーブル生成手段は、
前記端末が保持する疑似乱数生成関数に関する鍵情報、前記端末が保持するステート情報に基づき、前記抽出識別子を初期化した第2テーブルを生成し、前記鍵情報と前記ステート情報の記憶後に、前記生成した前記第2テーブルを前記サーバに送信すること、
を特徴とする請求項1記載の動的検索可能暗号システム。
The second table generation means is
generating a second table in which the extraction identifier is initialized based on key information related to a pseudo-random number generation function held by the terminal and state information held by the terminal; transmitting the second table to the server;
The dynamically searchable cryptosystem of claim 1, characterized by:
前記端末は、
追加する文書ファイルに対応する識別子とキーワードとの関係を示す参照テーブルから、前記文書ファイルに含まれる前記キーワードを抽出キーワードとして抽出するとともに、前記文書ファイルに対応する識別子を抽出識別子として抽出し、前記抽出した前記抽出キーワードと前記抽出識別子とを連結させ、1組としたアドレス情報と、前記アドレス情報に含まれる前記抽出識別子との関係を示す第1テーブルを生成し、前記アドレスを擬似乱数生成関数により乱数化情報に変換して変換追加アドレスを生成し、前記抽出識別子をステート情報に記憶し、前記変換アドレスと前記抽出識別子を前記サーバに送信し、
前記サーバは、
前記端末により送信された前記変換アドレスを受信し、前記変換アドレスの乱数化情報のそれぞれが示すアドレスに、前記受信した前記抽出識別子を格納し、前記第2テーブルを更新すること、
を特徴とする請求項1又は2のいずれかに記載の動的検索可能暗号システム。
The terminal is
extracting the keyword included in the document file as an extraction keyword from a reference table showing the relationship between the identifier and the keyword corresponding to the document file to be added, and extracting the identifier corresponding to the document file as an extraction identifier; linking the extracted keyword and the extracted identifier to generate a first table showing the relationship between address information as a set and the extracted identifier included in the address information; generating a converted additional address by converting into randomized information by, storing the extracted identifier in the state information, transmitting the converted address and the extracted identifier to the server;
The server is
receiving the translation address transmitted by the terminal, storing the received extraction identifier in an address indicated by each piece of randomization information of the translation address, and updating the second table;
3. A dynamically searchable cryptosystem according to claim 1 or 2, characterized by:
前記端末は、
削除する文書ファイルに対応する前記抽出識別子を、前記ステート情報から削除し、前記削除した前記抽出識別子を前記サーバに送信し、
前記サーバは、
前記端末により送信された前記抽出識別子を受信し、前記サーバの第2テーブルで前記抽出識別子に対応する全ての格納領域をNULLに変換し、前記第2テーブルを更新すること、
を特徴とする請求項1~3のいずれかに記載の動的検索可能暗号システム。
The terminal is
deleting the extraction identifier corresponding to the document file to be deleted from the state information, transmitting the deleted extraction identifier to the server;
The server is
receiving the extraction identifier transmitted by the terminal, converting all storage areas corresponding to the extraction identifier to NULL in the second table of the server, and updating the second table;
The dynamically searchable cryptosystem according to any one of claims 1 to 3, characterized by:
前記第2テーブル生成手段は、
追加する文書ファイルと同じ大きさの文書ファイルのうち、最も多い抽出キーワードを含むことができる文書ファイルを特定し、前記追加文書ファイルに対応する変換アドレスの個数が、前記特定した文書ファイルに含まれる抽出キーワード数となるまで、ダミーフラグを示す識別情報と、カウンタ情報と、前期追加文書ファイルの抽出識別子とを連結させ、1組のダミーアドレス情報とし、前期ダミーアドレス情報を疑似乱数生成関数により乱数化情報に変換して変換ダミーアドレスを生成し、前記変換ダミーアドレス情報が指し示すアドレスに前記抽出識別子を格納すること、を繰り返し、前記第2テーブルを生成すること、を特徴とする請求項1~4のいずれかに記載の動的検索可能暗号システム。
The second table generation means is
Among document files having the same size as the document file to be added, a document file that can contain the largest number of extracted keywords is specified, and the number of conversion addresses corresponding to the additional document file is included in the specified document file. The identification information indicating the dummy flag, the counter information, and the extraction identifier of the additional document file are concatenated until the number of extracted keywords is reached to form a set of dummy address information. converting into conversion information to generate a conversion dummy address, and storing the extracted identifier in the address indicated by the conversion dummy address information, and generating the second table repeatedly. 5. The dynamically searchable cryptosystem according to any one of 4.
前記端末は、
検索するキーワードと前記ステート情報に含まれる各識別子を検索識別子として連結させ、1組としたアドレス情報と、前記アドレス情報を擬似乱数生成関数により乱数化情報に変換して変換アドレスを生成し、前記変換アドレスを前記サーバに送信し、
前記サーバは、
前記端末により送信された前記変換アドレスを受信し、前記サーバの第2テーブルで前記変換アドレスに対応する全ての格納領域を参照し、前記格納領域がNULLではなく、所定の識別子が格納される格納先の抽出識別子を取得し、前記端末に送信すること、
を特徴とする請求項1~5のいずれかに記載の動的検索可能暗号システム。
The terminal is
A keyword to be searched and each identifier included in the state information are concatenated as a search identifier to form a set of address information, and the address information is converted into randomized information by a pseudorandom number generation function to generate a converted address, sending a translated address to the server;
The server is
receiving the translation address transmitted by the terminal, referring to all storage areas corresponding to the translation address in the second table of the server, and storing a predetermined identifier instead of NULL in the storage area obtaining a previous extraction identifier and sending it to the terminal;
The dynamically searchable cryptosystem according to any one of claims 1 to 5, characterized by:
JP2019111977A 2019-01-11 2019-06-17 Dynamic Searchable Cryptographic Processing System Active JP7276767B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019003908 2019-01-11
JP2019003908 2019-01-11

Publications (2)

Publication Number Publication Date
JP2020112773A JP2020112773A (en) 2020-07-27
JP7276767B2 true JP7276767B2 (en) 2023-05-18

Family

ID=71667015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019111977A Active JP7276767B2 (en) 2019-01-11 2019-06-17 Dynamic Searchable Cryptographic Processing System

Country Status (1)

Country Link
JP (1) JP7276767B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334362A (en) 2003-05-01 2004-11-25 Hitachi Eng Co Ltd Access log management method
US20120078914A1 (en) 2010-09-29 2012-03-29 Microsoft Corporation Searchable symmetric encryption with dynamic updating
US20130046974A1 (en) 2011-08-16 2013-02-21 Microsoft Corporation Dynamic symmetric searchable encryption

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334362A (en) 2003-05-01 2004-11-25 Hitachi Eng Co Ltd Access log management method
US20120078914A1 (en) 2010-09-29 2012-03-29 Microsoft Corporation Searchable symmetric encryption with dynamic updating
US20130046974A1 (en) 2011-08-16 2013-02-21 Microsoft Corporation Dynamic symmetric searchable encryption

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
野島拓也 他,ダミーエントリの作成方法に着目した共通鍵検索可能暗号CGKO方式の改良,2018年 暗号と情報セキュリティシンポジウム,2018年01月26日,pp.1-8

Also Published As

Publication number Publication date
JP2020112773A (en) 2020-07-27

Similar Documents

Publication Publication Date Title
JP6234605B2 (en) Server device, search system, terminal device, search method, server program, and terminal program
CN103107889B (en) A kind of cloud computing environment data encryption storage system and method that can search for
JP5344109B1 (en) Database encryption system, method and program
JP6048414B2 (en) Database apparatus, method and program
CN112800445B (en) Boolean query method for forward and backward security and verifiability of ciphertext data
CN110457915B (en) Efficient searchable symmetric encryption method and system with forward and backward security
JP2007052698A (en) Method for generating and retrieving index of encrypted document and encrypted document retrieval system
CN104657673A (en) Average-complexity ideal-security order-preserving encryption
JP6239213B1 (en) Secret search system, secret search method, and secret search program
JP6599066B1 (en) Registration device, server device, secret search system, secret search method, registration program, and server program
JP2012164031A (en) Data processor, data storage device, data processing method, data storage method and program
KR102290605B1 (en) Message transmission system, communication terminal, server device, message transmission method and program
CN113434739B (en) Forward-safe multi-user dynamic symmetric encryption retrieval method in cloud environment
Salmani An efficient, verifiable, and dynamic searchable symmetric encryption with forward privacy
JP7276767B2 (en) Dynamic Searchable Cryptographic Processing System
CN115698996A (en) Data storage server and client device for securely storing data
JP2009239839A (en) Key management method in group cipher communication, and key management program
KR20230124207A (en) Document sharing service server for managing document sharing service based on cloud, and the operating method thereof
JP7016458B2 (en) Confidential search system, Confidential search method, and Confidential search program
CN114840739A (en) Information retrieval method, information retrieval device, electronic equipment and storage medium
JP5956092B1 (en) Server apparatus, information management system, information management method, and computer program
JP6099489B2 (en) Information processing apparatus, information processing method, and program
JP6493402B2 (en) Addition device, deletion device, addition request device, data search system, data search method, and computer program
JP4552044B2 (en) Encrypted data creation device and method, and program thereof
TWI743457B (en) Method and computer program product for generating secure alternative representation for numerical datum

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230425

R150 Certificate of patent or registration of utility model

Ref document number: 7276767

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150