JP5388727B2 - Information processing system, information processing apparatus, server apparatus, information processing method, and program - Google Patents

Information processing system, information processing apparatus, server apparatus, information processing method, and program Download PDF

Info

Publication number
JP5388727B2
JP5388727B2 JP2009160755A JP2009160755A JP5388727B2 JP 5388727 B2 JP5388727 B2 JP 5388727B2 JP 2009160755 A JP2009160755 A JP 2009160755A JP 2009160755 A JP2009160755 A JP 2009160755A JP 5388727 B2 JP5388727 B2 JP 5388727B2
Authority
JP
Japan
Prior art keywords
calculation
data
search
generation
time
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.)
Expired - Fee Related
Application number
JP2009160755A
Other languages
Japanese (ja)
Other versions
JP2011018976A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009160755A priority Critical patent/JP5388727B2/en
Publication of JP2011018976A publication Critical patent/JP2011018976A/en
Application granted granted Critical
Publication of JP5388727B2 publication Critical patent/JP5388727B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数の情報処理装置とサーバ装置とが含まれる情報処理システムに関し、特に、情報処理装置が、検索のためのキーワードをサーバ装置に秘匿した状態でサーバ装置に蓄積されているデータを検索する秘匿検索システムに関する。   The present invention relates to an information processing system including a plurality of information processing devices and a server device. In particular, the information processing device stores data stored in a server device in a state where a keyword for search is concealed from the server device. The present invention relates to a secret search system for searching.

サーバ装置(以下、単にサーバともいう)に保存されたデータを、検索者がキーワードを指定して検索でき、かつその際にデータ・キーワードをサーバに対して秘匿する秘匿検索システムは、機密データ管理のアウトソーシングや、メールサーバにおける暗号化メールのフィルタリングへの応用が期待されており、種々の安全性要件を達成するための技術や、サーバや検索者のストレージ・通信オーバーヘッド・演算オーバーヘッドを削減するための様々な技術が提案されている。
さらに、複数のユーザによる検索を可能とする場合には、ユーザの加入・脱退に柔軟に対処するための技術が必要とされる。
A secret search system in which data stored in a server device (hereinafter also simply referred to as a server) can be searched by a searcher by specifying a keyword and the data / keyword is concealed from the server at that time is classified data management Is expected to be applied to outsourcing and filtering of encrypted mail in a mail server, and to reduce the storage, communication overhead, and computation overhead of servers and searchers, as well as technologies for achieving various security requirements. Various technologies have been proposed.
Furthermore, in order to enable a search by a plurality of users, a technique for flexibly dealing with user participation / withdrawal is required.

非特許文献1では、ユーザが保持する秘密情報をハッシュチェーンで管理し、ユーザの加入・脱退に伴って世代が更新されるたびに新しい秘密情報を正当ユーザに配布し、正当ユーザは最新の秘密情報から過去の秘密情報を導出できるようにすることで、ユーザに必要なストレージを抑えつつ、世代更新に対応した秘匿検索を達成する方式が開示されている。   In Non-Patent Document 1, secret information held by a user is managed by a hash chain, and new secret information is distributed to a legitimate user every time a generation is updated as a user joins / leaves. Disclosed is a method for achieving secret search corresponding to generation update while suppressing storage necessary for a user by enabling past secret information to be derived from information.

また、特許文献1では、データ中継サーバを利用することで、検索内容のサーバに対する秘匿を実現する秘匿検索方式が開示されている。   Further, Patent Document 1 discloses a secret search method that realizes secrecy of search contents to a server by using a data relay server.

特開2002−297606号公報Japanese Patent Laid-Open No. 2002-297606

H.Park、 J.W.Byun、 and D.H.Lee、 “Secure Index Search for Groups、” TrustBus 2005、 LNCS 3592、 pp.128−140、 2005.H. Park, J.M. W. Byun, and D.D. H. Lee, “Secure Index Search for Groups,” TrustBus 2005, LNCS 3592, pp. 128-140, 2005.

世代更新を伴う秘匿検索システムでは、正当ユーザが、過去の世代で登録された情報を検索できるようにしたいという要求がある。
これを実現するために、非特許文献1にて開示されている方式では、検索者が最新の秘密情報から過去全ての世代の秘密情報を導出し、これらとキーワードからトラップドア(検索用の情報)を世代数分計算し、全てのトラップドアをサーバに送信し、トラップドアを受け取ったサーバが検索・取得処理を行っていた。
このため、検索者にとって計算量・通信量が世代数に比例して増大するという課題がある。
In a secret search system with generation update, there is a request that a legitimate user wants to be able to search information registered in past generations.
In order to realize this, in the method disclosed in Non-Patent Document 1, a searcher derives secret information of all the past generations from the latest secret information, and uses these and keywords as trapdoors (information for search). ) Is calculated for the number of generations, all trap doors are sent to the server, and the server that receives the trap doors performs search / acquisition processing.
For this reason, there is a problem that the amount of calculation / communication increases for the searcher in proportion to the number of generations.

本発明は上記の課題を解決することを主な目的の一つとしており、検索者が用いる情報処理装置からサーバに送信すべきトラップドアの数を削減して、結果として検索者が用いる情報処理装置における計算量、情報処理装置とサーバ間の通信量を削減することを主な目的とする。   One of the main objects of the present invention is to solve the above-described problems, and the number of trapdoors to be transmitted from the information processing device used by the searcher to the server is reduced, and as a result, the information processing used by the searcher. The main purpose is to reduce the amount of calculation in the apparatus and the amount of communication between the information processing apparatus and the server.

本発明に係る情報処理システムは、
複数の情報処理装置と、サーバ装置とを有する情報処理システムであって、
各情報処理装置は、
他の情報処理装置との間で共有され更新されていく秘密情報を更新の度に記憶する秘密情報記憶部と、
データの生成を指示するデータ生成指示と、データの検索を指示するデータ検索指示とを入力する指示入力部と、
前記データ生成指示の入力があった際に、前記データ生成指示の入力時点で最新の秘密情報である生成時秘密情報で第1の演算を行って、生成時第1演算値データを生成し、前記データ検索指示の入力があった際に、前記データ検索指示の入力時点で最新の秘密情報である検索時秘密情報で第1の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを先行世代の秘密情報を用いた第1の演算を伴わない前記サーバ装置における第2の演算により導出可能な検索時第1演算値データを生成する第1演算実行部と、
前記第1演算実行部により生成された検索時第1演算値データを前記サーバ装置に送信する送信部とを有し、
前記サーバ装置は、
情報処理装置により生成された生成時第1演算値データ又は生成時第1演算値データに対して所定の演算がなされた後のデータを登録データとして記憶する登録データ記憶部と、
情報処理装置から送信された検索時第1演算値データを受信する受信部と、
前記受信部により受信された検索時第1演算値データで第2の演算を行って、先行第1演算値データを先行世代の各々に対して生成する第2演算実行部と、
検索時第1演算値データ及び前記第2演算実行部により生成された先行第1演算値データの少なくともいずれかと、前記登録データ記憶部内の登録データとを用いてデータの検索を行うデータ検索部とを有することを特徴とする。
An information processing system according to the present invention includes:
An information processing system having a plurality of information processing devices and a server device,
Each information processing device
A secret information storage unit that stores secret information that is shared and updated with other information processing apparatuses each time it is updated;
An instruction input unit for inputting a data generation instruction for instructing generation of data and a data search instruction for instructing data search;
When the data generation instruction is input, the first calculation is performed with the generation secret information that is the latest secret information at the time of the input of the data generation instruction to generate the first calculation value data at the time of generation, When the data search instruction is input, the first calculation is performed on the search secret information that is the latest secret information at the time of the data search instruction input, and the previous generation preceding the search secret information is performed. At the time of retrieval in which the first calculation value data obtained when the first calculation is performed with the secret information can be derived by the second calculation in the server device without the first calculation using the secret information of the previous generation. A first calculation execution unit for generating first calculation value data;
A transmission unit that transmits the first calculation value data during search generated by the first calculation execution unit to the server device;
The server device
A registration data storage unit that stores, as registration data, first calculation value data at the time of generation generated by the information processing apparatus or data after a predetermined calculation is performed on the first calculation value data at the time of generation;
A receiving unit for receiving the first calculation value data at the time of search transmitted from the information processing device;
A second calculation execution unit that performs a second calculation on the first calculation value data at the time of search received by the receiving unit and generates the first calculation value data for each of the preceding generations;
A data search unit that searches for data using at least one of the first calculation value data at the time of search and the preceding first calculation value data generated by the second calculation execution unit, and the registration data in the registration data storage unit; It is characterized by having.

本発明によれば、情報処理装置において、サーバ装置における第2の演算により先行第1演算値データの各々を導出可能な検索時第1演算値データを生成することで、情報処理装置からサーバ装置に送信するデータを検索時第1演算値データに限定することができ、情報処理装置において先行第1演算値データの各々を生成する必要がないので情報処理装置における計算量を抑えることができ、また、情報処理装置とサーバ装置間の通信量を削減することができる。   According to the present invention, the information processing apparatus generates the first calculation value data at the time of retrieval from which each of the preceding first calculation value data can be derived by the second calculation in the server apparatus. Can be limited to the first calculation value data at the time of retrieval, and since it is not necessary to generate each of the preceding first calculation value data in the information processing apparatus, the amount of calculation in the information processing apparatus can be suppressed, In addition, the amount of communication between the information processing apparatus and the server apparatus can be reduced.

実施の形態1に係るシステム構成例を示す図。FIG. 3 is a diagram illustrating an example of a system configuration according to the first embodiment. 実施の形態1に係るサーバ装置の構成例を示す図。FIG. 3 shows a configuration example of a server apparatus according to the first embodiment. 実施の形態1に係る情報処理装置の構成例を示す図。2 is a diagram illustrating a configuration example of an information processing device according to Embodiment 1. FIG. 実施の形態1に係るグループ管理装置の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a group management apparatus according to the first embodiment. 実施の形態1に係る暗号化キーワード記憶領域における記憶内容の例を示す図。FIG. 4 is a diagram showing an example of stored contents in an encrypted keyword storage area according to the first embodiment. 実施の形態1に係る暗号化データ記憶領域における記憶内容の例を示す図。The figure which shows the example of the memory content in the encryption data storage area which concerns on Embodiment 1. FIG. 実施の形態1に係る暗号鍵記憶領域における記憶内容の例を示す図。FIG. 3 is a diagram showing an example of stored contents in an encryption key storage area according to the first embodiment. 実施の形態1に係る暗号鍵記憶領域における記憶内容の例を示す図。FIG. 3 is a diagram showing an example of stored contents in an encryption key storage area according to the first embodiment. 実施の形態3に係る情報処理装置の構成例を示す図。FIG. 10 illustrates a configuration example of an information processing apparatus according to a third embodiment. 実施の形態3に係る暗号化キーワード記憶領域における記憶内容の例を示す図。FIG. 10 is a diagram showing an example of stored contents in an encrypted keyword storage area according to the third embodiment. 実施の形態1に係る暗号化データの送信・格納処理におけるデータフロー例を示す図。FIG. 5 is a diagram showing an example of a data flow in encrypted data transmission / storage processing according to the first embodiment. 実施の形態1に係る暗号化データの検索・取得処理におけるデータフロー例を示す図。FIG. 6 is a diagram showing an example of a data flow in encrypted data search / acquisition processing according to the first embodiment. 実施の形態2に係る暗号化データの送信・格納処理におけるデータフロー例を示す図。The figure which shows the example of a data flow in the transmission / storage process of the encryption data which concerns on Embodiment 2. FIG. 実施の形態2に係る暗号化データの検索・取得処理におけるデータフロー例を示す図。The figure which shows the example of a data flow in the search / acquisition process of the encryption data which concerns on Embodiment 2. FIG. 実施の形態3に係る暗号化データの送信・格納処理におけるデータフロー例を示す図。FIG. 10 is a diagram showing an example of a data flow in encrypted data transmission / storage processing according to the third embodiment. 実施の形態3に係る暗号化データの検索・取得処理におけるデータフロー例を示す図。FIG. 10 is a diagram illustrating an example of a data flow in encrypted data search / acquisition processing according to the third embodiment. 実施の形態1に係る暗号化データの送信処理における動作例を示すフローチャート図。FIG. 4 is a flowchart showing an operation example in encrypted data transmission processing according to the first embodiment. 実施の形態1に係る暗号化データの格納処理における動作例を示すフローチャート図。FIG. 6 is a flowchart showing an operation example in the encrypted data storage process according to the first embodiment. 実施の形態1に係る暗号化データの検索・取得処理における動作例を示すフローチャート図。FIG. 5 is a flowchart showing an operation example in encrypted data search / acquisition processing according to the first embodiment; 実施の形態1に係る暗号化データの検索・取得処理における動作例を示すフローチャート図。FIG. 5 is a flowchart showing an operation example in encrypted data search / acquisition processing according to the first embodiment; 実施の形態1〜3に係るサーバ装置等のハードウェア構成例を示す図。The figure which shows the hardware structural examples, such as a server apparatus which concerns on Embodiment 1-3.

実施の形態1.
本実施の形態及び実施の形態2以降では、秘密情報やトラップドアの導出方法を工夫することで、サーバ装置が最新のトラップドアから過去のトラップドアを導出できるようにし、検索者が送信すべきトラップドアの数を削減して、結果として検索者の計算量・通信量を削減する情報処理システムについて説明する。
Embodiment 1 FIG.
In the present embodiment and the second and subsequent embodiments, the server apparatus can derive the past trap door from the latest trap door by devising the method for deriving the secret information and the trap door, and the searcher should transmit An information processing system that reduces the number of trap doors and, as a result, reduces the amount of searchers' computation and communication will be described.

図1は、サーバ装置に保存されたデータを、複数のユーザがキーワードを指定して検索でき、かつその際にデータ・キーワードをサーバに対して秘匿する秘匿検索システムの構成例である。
図1に示すように、複数の情報処理装置301が、ネットワーク101を介してサーバ装置201とグループ管理装置401に接続している。
各装置の詳細は後述するが、ここで、各装置の概要を説明する。
FIG. 1 is a configuration example of a secret search system in which data stored in a server device can be searched by a plurality of users by specifying a keyword, and data keywords are kept secret from the server at that time.
As shown in FIG. 1, a plurality of information processing apparatuses 301 are connected to a server apparatus 201 and a group management apparatus 401 via a network 101.
Although details of each device will be described later, an outline of each device will be described here.

複数の情報処理装置301は、グループを形成し、グループ内でデータを共用することができる。例えば、情報処理装置301を利用するユーザの属性(帰属組織、職務等)により、情報処理装置301のグループの分類が行われる。
同じグループの情報処理装置301は、秘密情報(例えば、暗号鍵)を共有するとともに、例えば、新規ユーザの追加、既存ユーザの脱退等に伴って秘密情報が更新されていく。
秘密情報は、グループ管理装置401によりユーザの追加、脱退等に従って更新され、同じグループに属する情報処理装置301に更新後の秘密情報が配布される。
各情報処理装置301では、グループ管理装置401から新たな秘密情報が配布される度に過去の秘密情報に上書きして保存する。
なお、秘密情報は世代数により管理される(更新により世代数の値が1つ増える)。
The plurality of information processing apparatuses 301 can form a group and share data within the group. For example, the groups of the information processing devices 301 are classified according to the attributes (affiliated organization, duties, etc.) of the users who use the information processing devices 301.
The information processing apparatuses 301 of the same group share secret information (for example, encryption key), and the secret information is updated with addition of a new user, withdrawal of an existing user, and the like.
The secret information is updated by the group management device 401 according to the addition or withdrawal of the user, and the updated secret information is distributed to the information processing devices 301 belonging to the same group.
Each information processing device 301 overwrites and stores past secret information every time new secret information is distributed from the group management device 401.
The secret information is managed by the number of generations (the value of the number of generations is increased by one by updating).

各情報処理装置301は、生成したデータを所定の暗号化方式により暗号化した後にサーバ装置201に登録する。
各情報処理装置301は、ユーザから暗号データの生成を指示するデータ生成指示を入力した際に、データ生成指示の入力時点の最新世代の秘密情報(生成時秘密情報)を用いて、暗号化データとともに登録するキーワード(平文)(登録対象キーワード)に対して所定の第1の演算を行ってトラップドアを生成し、更にトラップドアに対して第3の演算を行って暗号化キーワードを生成する。暗号化キーワードは、サーバ装置201に対して内容を秘匿化できる。
トラップドアは、後述するデータ検索段階で、データ検索要求の送信元が正当なアクセス権限を有する情報処理装置301(グループに属している情報処理装置301)であることをサーバ装置201において認証可能にするためのデータであり、また、検索対象のキーワードの内容を秘匿化したままサーバ装置201において検索対象のキーワードを特定可能にするためのデータである。
トラップドアは第1演算値データの例であり、データ生成指示入力時に生成されるトラップドアは生成時第1演算値データの例である。
また、暗号化キーワードは、第3演算値データ及び登録暗号化キーワードの例である。
なお、トラップドア、第1の演算、第3の演算の詳細は後述する。
Each information processing apparatus 301 registers the generated data in the server apparatus 201 after encrypting the generated data using a predetermined encryption method.
Each information processing device 301 uses the latest generation secret information (generation secret information) at the time of input of the data generation instruction when the user generates a data generation instruction to instruct generation of encrypted data. A trap door is generated by performing a predetermined first calculation on a keyword (plain text) (registration target keyword) to be registered, and an encryption keyword is generated by performing a third calculation on the trap door. The content of the encryption keyword can be concealed from the server device 201.
The trapdoor can authenticate in the server device 201 that the data search request transmission source is the information processing device 301 (information processing device 301 belonging to a group) having a legitimate access authority in the data search stage described later. This is data for enabling the server device 201 to specify the keyword to be searched while keeping the content of the keyword to be searched confidential.
The trap door is an example of the first calculation value data, and the trap door generated when the data generation instruction is input is an example of the first calculation value data at the time of generation.
The encryption keyword is an example of third operation value data and a registered encryption keyword.
The details of the trap door, the first calculation, and the third calculation will be described later.

そして、登録対象の暗号化データと、当該暗号化データのデータID(Identification)、暗号化キーワード、当該暗号化キーワードの生成に用いた秘密情報(生成時秘密情報)の世代数をサーバ装置201に送信し、サーバ装置201では、これらを関連付けて記憶する。   Then, the encrypted data to be registered, the data ID (Identification) of the encrypted data, the encrypted keyword, and the number of generations of secret information (secret information at generation) used to generate the encrypted keyword are stored in the server apparatus 201. And the server apparatus 201 stores them in association with each other.

そして、情報処理装置301では、ユーザからサーバ装置201に登録されている暗号化キーワードの検索、更には暗号化キーワードに関連付けられている暗号化データの検索を指示するデータ検索指示を入力した際に、データ検索指示の入力時点で最新世代の秘密情報(検索時秘密情報)を用いて、検索すべきキーワード(平文)(検索対象キーワード)に対して第1の演算を行ってトラップドアを生成する。
サーバ装置201では、キーワード(検索対象キーワード)から生成されたトラップドアから、当該キーワードに対応する暗号化キーワードを検索し、検索した暗号化キーワードに関連付けられている暗号化データを検索することになる。
なお、この時点で生成されるトラップドアは、検索時第1演算値データの例である。
そして、情報処理装置301では、トラップドアをサーバ装置201に送信する。
なお、このトラップドア(検索時第1演算値データ)に対してサーバ装置201において第2の演算を行うことにより、検索時秘密情報に先行する世代の秘密情報で第1の演算を行った場合に得られる歴代のトラップドア(先行第1演算値データ)を算出することができる。
In the information processing apparatus 301, when the user inputs a search for an encrypted keyword registered in the server apparatus 201 and a data search instruction for instructing a search for encrypted data associated with the encrypted keyword. Using the latest generation secret information (retrieval information at the time of search) at the time of inputting the data search instruction, a trap door is generated by performing a first calculation on the keyword to be searched (plain text) (search target keyword). .
In the server apparatus 201, the encrypted keyword corresponding to the keyword is searched from the trap door generated from the keyword (search target keyword), and the encrypted data associated with the searched encrypted keyword is searched. .
Note that the trapdoor generated at this time is an example of the first calculation value data at the time of search.
Then, the information processing device 301 transmits the trap door to the server device 201.
In addition, when the server apparatus 201 performs the second calculation on the trap door (first calculation value data at the time of search), the first calculation is performed with the secret information of the generation preceding the secret information at the time of the search. It is possible to calculate successive trap doors (preceding first calculation value data) obtained in the above.

サーバ装置201では、受信したトラップドアに対して第2の演算を行い、先行世代の秘密情報で第1の演算を行った場合に得られる先行世代のトラップドア(先行第1演算値データ)を秘密情報の世代を順次遡って生成する。
なお、第2の演算では、第1の演算は行われない。すなわち、第1の演算を行わなくても、先行世代の秘密情報で第1の演算を行った場合に得られる歴代のトラップドア(先行第1演算値データ)を得ることができる。
そして、サーバ装置201では、生成した先行世代のトラップドアの各々に対して第3の演算を行って暗号化キーワードの候補(第3演算値データ)を導出し、いずれかの暗号化キーワード候補と一致する暗号化キーワードを検索し、検索した暗号化キーワードから検索対象の暗号化データを抽出し、抽出した暗号化データを情報処理装置301に送信する。
In the server apparatus 201, the second operation is performed on the received trap door, and the previous generation trap door (previous first operation value data) obtained when the first operation is performed with the secret information of the previous generation. Generate generations of confidential information retroactively.
Note that the first calculation is not performed in the second calculation. That is, even if the first calculation is not performed, it is possible to obtain successive trap doors (preceding first calculation value data) obtained when the first calculation is performed with the secret information of the previous generation.
Then, the server apparatus 201 performs a third operation on each of the generated previous generation trap doors to derive encryption keyword candidates (third operation value data), and selects any one of the encryption keyword candidates. A search is made for a matching encrypted keyword, the encrypted data to be searched is extracted from the searched encrypted keyword, and the extracted encrypted data is transmitted to the information processing apparatus 301.

以上が、各装置の概要である。
次に、図2〜図4を用いて、サーバ装置201、情報処理装置301及びグループ管理装置401の構成例を説明する。
The above is the outline of each device.
Next, configuration examples of the server apparatus 201, the information processing apparatus 301, and the group management apparatus 401 will be described with reference to FIGS.

図2は、本秘匿検索システム(図1)において、データ・キーワードを保持し、検索を行うサーバ装置201の構成例を表すブロック図である。   FIG. 2 is a block diagram illustrating a configuration example of the server apparatus 201 that holds data and keywords and performs a search in the secret search system (FIG. 1).

図2において、暗号化キーワード記憶領域211は、暗号化されたキーワードを、対応するデータIDと関連付けて記憶するデータ記憶手段である。
図5は暗号化キーワード記憶領域211が記憶するデータの一例を表す。
図5に示すように、暗号化キーワード記憶領域211は、暗号化キーワードcを、対応する暗号化データのデータIDと、暗号化キーワードの生成に用いられた秘密情報の世代数と関連付けて記憶している。
なお、本実施の形態では、暗号化キーワードが登録データの例となり、登録データの例である暗号化キーワードを記憶している暗号化キーワード記憶領域211は登録データ記憶部の例である。
In FIG. 2, an encrypted keyword storage area 211 is data storage means for storing encrypted keywords in association with corresponding data IDs.
FIG. 5 shows an example of data stored in the encrypted keyword storage area 211.
As shown in FIG. 5, the encrypted keyword storage area 211 stores the encrypted keyword c in association with the data ID of the corresponding encrypted data and the generation number of the secret information used for generating the encrypted keyword. ing.
In this embodiment, the encryption keyword is an example of registration data, and the encryption keyword storage area 211 that stores the encryption keyword, which is an example of registration data, is an example of a registration data storage unit.

暗号化データ記憶領域212は、暗号化されたデータを、対応するデータIDと関連付けて記憶するデータ記憶手段である。
図6は暗号化データ記憶領域212が記憶するデータの一例を表す。
図6に示すように、暗号化データ記憶領域212は、情報処理装置301からの暗号化データdを、そのデータIDと関連付けて記憶する。
The encrypted data storage area 212 is data storage means for storing the encrypted data in association with the corresponding data ID.
FIG. 6 shows an example of data stored in the encrypted data storage area 212.
As shown in FIG. 6, the encrypted data storage area 212 stores the encrypted data d from the information processing apparatus 301 in association with the data ID.

トラップドア生成部221は、情報処理装置301から受信したトラップドアで第2の演算を行って、過去の世代のトラップドアを順次生成する手段である。
トラップドア生成部221は、第2演算実行部の例である。
The trap door generation unit 221 is a unit that sequentially generates the trap doors of past generations by performing the second calculation on the trap door received from the information processing apparatus 301.
The trap door generation unit 221 is an example of a second calculation execution unit.

比較部222は、トラップドア生成部221が生成した複数のトラップドアで第3の演算を行って暗号化キーワード候補を生成し、生成した暗号化キーワード候補と、暗号化キーワード記憶領域211に記憶されている暗号化キーワードを比較し、情報処理装置301の指定したキーワードに合致する暗号化キーワードを暗号化キーワード記憶領域211から検索する手段である。
比較部222は、データ検索部の例である。
The comparison unit 222 performs a third operation on the plurality of trap doors generated by the trap door generation unit 221 to generate encrypted keyword candidates, and the generated encrypted keyword candidates and the encrypted keyword storage area 211 are stored. The encrypted keyword storage area 211 is searched for an encrypted keyword that matches the keyword specified by the information processing apparatus 301.
The comparison unit 222 is an example of a data search unit.

通信部231は、情報処理装置301やグループ管理装置401と通信を行う手段である。
通信部231は、受信部の例である。
The communication unit 231 is a unit that communicates with the information processing apparatus 301 and the group management apparatus 401.
The communication unit 231 is an example of a receiving unit.

パラメータ記憶領域213は、トラップドア生成部221が過去のトラップドアを生成する際に用いるパラメータを記憶している。
パラメータの詳細は後述する。
The parameter storage area 213 stores parameters used when the trap door generation unit 221 generates past trap doors.
Details of the parameters will be described later.

図3は、本秘匿検索システム(図1)において、サーバ装置201への暗号化データの登録、サーバ装置201からの暗号化データの検索を行う情報処理装置301の構成例を表すブロック図である。   FIG. 3 is a block diagram illustrating a configuration example of the information processing apparatus 301 that performs registration of encrypted data in the server apparatus 201 and retrieval of encrypted data from the server apparatus 201 in the confidential search system (FIG. 1). .

図3において、暗号鍵記憶領域311は、データの暗号化・検索に用いる秘密情報を記憶するデータ記憶手段である。
図7は暗号鍵記憶領域311が記憶するデータの一例を表す。
本実施の形態では、秘密情報として暗号鍵を使用する例を説明する。
図7に示すように、暗号鍵記憶領域311は、暗号鍵kを、その世代数とともに記憶している。
暗号鍵記憶領域311は、秘密情報記憶部の例である。
In FIG. 3, an encryption key storage area 311 is data storage means for storing secret information used for data encryption / retrieval.
FIG. 7 shows an example of data stored in the encryption key storage area 311.
In this embodiment, an example in which an encryption key is used as secret information will be described.
As shown in FIG. 7, the encryption key storage area 311 stores the encryption key k together with the number of generations thereof.
The encryption key storage area 311 is an example of a secret information storage unit.

トラップドア生成部321は、暗号鍵とキーワードで第1の演算を行って、対応するトラップドアを生成する手段である。
トラップドア生成部321は、第1演算実行部の例である。
The trap door generation unit 321 is a means for generating a corresponding trap door by performing a first calculation using an encryption key and a keyword.
The trap door generation unit 321 is an example of a first calculation execution unit.

暗号化キーワード生成部322は、あるキーワードに対応したトラップドアとデータIDで第3の演算を行って、暗号化キーワードを生成する手段である。
暗号化キーワード生成部322は、第3演算実行部の例である。
The encrypted keyword generation unit 322 is means for generating an encrypted keyword by performing a third operation using a trapdoor and a data ID corresponding to a certain keyword.
The encrypted keyword generation unit 322 is an example of a third calculation execution unit.

通信部331は、サーバ装置201やグループ管理装置401と通信を行う手段である。
通信部331は、送信部の例である。
The communication unit 331 is a unit that communicates with the server device 201 and the group management device 401.
The communication unit 331 is an example of a transmission unit.

入力部324は、ユーザからデータ生成指示やデータ検索指示を入力する手段である。
入力部324は、データ生成指示として、サーバ装置201に送信するデータを生成し、生成したデータをデータ暗号化部323で暗号化することを指示するコマンドを入力し、また、暗号化データとともにサーバ装置201に登録するキーワード(登録対象キーワード)を入力し、当該キーワードから暗号化キーワードを生成するよう指示するコマンドを入力する。
また、入力部324は、データ検索指示として、サーバ装置201に登録されている暗号化キーワード及び暗号化データを検索するよう指示するコマンドを入力し、また、暗号化データの検索に用いられるキーワード(検索対象キーワード)を入力し、当該キーワードからトラップドアを生成するよう指示するコマンドを入力する。
入力部324は、指示入力部の例である。
The input unit 324 is a means for inputting a data generation instruction and a data search instruction from the user.
The input unit 324 generates data to be transmitted to the server apparatus 201 as a data generation instruction, inputs a command for instructing the generated data to be encrypted by the data encryption unit 323, and the server together with the encrypted data A keyword to be registered in the apparatus 201 (registration target keyword) is input, and a command for instructing to generate an encryption keyword from the keyword is input.
Further, the input unit 324 inputs, as a data search instruction, an encryption keyword registered in the server device 201 and a command for instructing to search the encrypted data, and a keyword ( Search keyword) and a command for instructing to generate a trapdoor from the keyword.
The input unit 324 is an example of an instruction input unit.

データ暗号化部323は、サーバ装置201に登録させるデータの暗号化を行う手段である。
データ暗号化部323は、暗号鍵記憶領域311に記憶されている暗号鍵と異なる情報を用いてデータの暗号化を行う。
The data encryption unit 323 is means for encrypting data to be registered in the server apparatus 201.
The data encryption unit 323 performs data encryption using information different from the encryption key stored in the encryption key storage area 311.

パラメータ記憶領域312は、トラップドア生成部321が、トラップドアを生成する際に用いるパラメータを記憶している。
パラメータの詳細は後述する。
The parameter storage area 312 stores parameters used when the trap door generation unit 321 generates a trap door.
Details of the parameters will be described later.

図4は、本秘匿検索システム(図1)において、初期設定や、情報処理装置301が保持する暗号鍵の生成・管理などを行うグループ管理装置401の構成例を表すブロック図である。   FIG. 4 is a block diagram illustrating a configuration example of the group management apparatus 401 that performs initial setting, generation / management of encryption keys held by the information processing apparatus 301, and the like in the secure search system (FIG. 1).

図4において、暗号鍵記憶領域411は、情報処理装置301が利用する暗号鍵を記憶するデータ記憶手段である。
図8は暗号鍵記憶領域411が記憶するデータの一例を表す。
図8に示すように、暗号鍵記憶領域411は、暗号鍵kを、その世代数とともに記憶している。
In FIG. 4, an encryption key storage area 411 is data storage means for storing an encryption key used by the information processing apparatus 301.
FIG. 8 shows an example of data stored in the encryption key storage area 411.
As shown in FIG. 8, the encryption key storage area 411 stores the encryption key k together with the number of generations thereof.

暗号鍵生成部421は、情報処理装置301が利用する暗号鍵を生成する手段である。   The encryption key generation unit 421 is a unit that generates an encryption key used by the information processing apparatus 301.

通信部431は、サーバ装置201や情報処理装置301と通信を行う手段である。   The communication unit 431 is a unit that communicates with the server device 201 and the information processing device 301.

本秘匿検索システムにおける手続きは、(1)グループ管理装置401が初期設定を行う部分、(2)グループ管理装置401が情報処理装置301が保持する暗号鍵の世代更新を行う部分、(3)情報処理装置301が暗号化データをサーバ装置201に送信・格納する部分、(4)情報処理装置301が暗号化データをサーバ装置201から検索・取得する部分、に大別される。以下、それぞれの手続きについて説明する。   The procedure in this secret search system is as follows: (1) a part where the group management device 401 performs initial setting, (2) a part where the group management device 401 updates the generation of the encryption key held by the information processing device 301, and (3) information The processing device 301 is broadly divided into a portion for transmitting and storing encrypted data to the server device 201, and (4) a portion for the information processing device 301 to retrieve and acquire encrypted data from the server device 201. Each procedure will be described below.

(1)グループ管理装置の初期設定
グループ管理装置401は、パラメータp、p、N、e、e、qを以下のように決定し、このうちN、e、e、qを公開情報とする。
、pとして十分大きな素数を選び、N=p×pとする。e、eはZ から、(p−1)(p−1)と互いに素となるようランダムに選択する。
qは世代数の最大値であり、世代の更新頻度やシステムの運用期間から適切に設定する。
また、適当な一方向性関数Fを選択し、公開情報とする。
(1) Initial setting of group management apparatus The group management apparatus 401 determines parameters p 1 , p 2 , N, e 1 , e 2 , and q as follows, and among these, N, e 1 , e 2 , q Is public information.
A sufficiently large prime number is selected as p 1 and p 2 so that N = p 1 × p 2 . e 1 and e 2 are randomly selected from Z N * so as to be relatively prime to (p 1 -1) (p 2 -1).
q is the maximum number of generations, and is set appropriately from the update frequency of generations and the operation period of the system.
Also, an appropriate one-way function F is selected and made public information.

次に、暗号鍵生成部421が、情報処理装置301が利用する暗号鍵を生成する。
まず、q世代目の暗号鍵kを、Z からランダムに選択する。そして、それ以前の暗号鍵を、式(1)によって順次計算する。
j−1=k e1 modN 式(1)
なお、modはモジュロ演算子を表す。
こうして得られた全ての暗号鍵k〜kを、暗号鍵記憶領域411に格納する。
最後に、通信部431が、全ての正当な情報処理装置301に、1世代目の暗号鍵kを送信する。
これは、暗号鍵の安全性が保たれる方式であれば、オフラインで行っても良いし、既存の鍵配送技術を用いてオンラインで行っても良い。
暗号鍵kを受信した情報処理装置301は、この暗号鍵kを、世代とともに暗号鍵記憶領域311に格納する。
また、別途、グループ管理装置401は、パラメータe、e2、q、N及び一方向性関数Fを各情報処理装置301及びサーバ装置201に通知し、各情報処理装置301では、これらの値をパラメータ記憶領域312に記憶し、サーバ装置201では、これらの値をパラメータ記憶領域213に記憶する。
なお、パラメータe、eは、e1、e2とも表記する。
Next, the encryption key generation unit 421 generates an encryption key used by the information processing apparatus 301.
First, a q-th generation encryption key k q is randomly selected from Z N * . Then, the previous encryption key is sequentially calculated by the equation (1).
k j−1 = k j e1 modN Formula (1)
Note that mod represents a modulo operator.
All the encryption keys k 1 to k q thus obtained are stored in the encryption key storage area 411.
Finally, the communication unit 431 transmits the first generation encryption key k 1 to all valid information processing apparatuses 301.
This may be performed offline as long as the encryption key security is maintained, or may be performed online using an existing key distribution technique.
The information processing apparatus 301 which has received the encryption key k 1 stores the encryption key k 1, the encryption key storage area 311 together with the generation.
Separately, the group management apparatus 401 notifies the parameters e 1 , e 2, q, N and the one-way function F to each information processing apparatus 301 and the server apparatus 201, and each information processing apparatus 301 receives these values. Is stored in the parameter storage area 312, and the server apparatus 201 stores these values in the parameter storage area 213.
The parameters e 1 and e 2 are also expressed as e1 and e2.

(2)暗号鍵の世代更新
正当な情報処理装置301のグループに対し、ユーザの加入・脱退があった際に、暗号鍵の世代更新が必要となる場合がある。
この場合、以下のように世代更新を実施する。
i世代目からi+1世代目に更新する場合(ただしi+1≦q)、グループ管理装置401の通信部431が、全ての正当な情報処理装置301に、i+1世代目の暗号鍵ki+1を送信する。
これは、暗号鍵の安全性が保たれる方式であれば、オフラインで行っても良いし、既存の鍵配送技術を用いてオンラインで行っても良い。
i+1を受信した情報処理装置301は、暗号鍵記憶領域311の内容を、世代i+1と暗号鍵ki+1で置き換える(秘密情報記憶ステップ)。
(2) Encryption Key Generation Update When a user joins or leaves a valid group of information processing apparatuses 301, the encryption key generation may need to be updated.
In this case, the generation update is performed as follows.
When updating from the i-th generation to the i + 1-th generation (where i + 1 ≦ q), the communication unit 431 of the group management device 401 transmits the i + 1-th generation encryption key k i + 1 to all valid information processing devices 301.
This may be performed offline as long as the encryption key security is maintained, or may be performed online using an existing key distribution technique.
k i + 1 information processing apparatus 301 which has received the contents of the encryption key storage area 311 is replaced by generation i + 1 and the encryption key k i + 1 (secret information storing step).

(3)暗号化データの送信・格納
正当な情報処理装置301がデータをサーバ装置201に送信する場合、後に秘匿検索が行えるよう、キーワードとデータを別々に暗号化したものを送信する。
i世代目における具体的な手順を図11のデータフロー図、図17及び図18のフローチャートを参照しながら以下に述べる。
(3) Transmission / Storage of Encrypted Data When a legitimate information processing device 301 transmits data to the server device 201, a keyword and data separately encrypted are transmitted so that a secret search can be performed later.
A specific procedure in the i-th generation will be described below with reference to the data flow diagram of FIG. 11 and the flowcharts of FIGS.

まず、情報処理装置301において、ユーザが、データに対し、ユニークなデータIDを割り当てる(idとする)。データID(id)は、データ生成指示の一部として入力部324が入力する。さらに、データ暗号化部323がデータの暗号化を行う(S1701)。
ここでは、正当な情報処理装置301だけが復号できるような、既存の暗号技術(グループ暗号技術)を利用する(暗号化データをdとする)。
次に、入力部324が、暗号化データdに関連付けられる複数のキーワード(wxjとする)をユーザから入力する(S1702)。
次に、トラップドア生成部321が、複数のキーワード(wxj)に対し、それぞれトラップドアを生成する(S1703)。
具体的には、各キーワードwxjに対し、トラップドアtdxjを以下の式(2)に従って計算する(^はべき乗を表す。以下においても同様)。
tdxj=(k×wxj^(e q−i))e2 modN 式(2)
は、データ生成指示の入力時点で暗号鍵記憶領域311に保持されている最新世代の暗号鍵を意味する。
パラメータe1、e2、q、Nは、パラメータ記憶領域312に記憶されている。
また、上記の式(2)に従った演算が第1の演算に相当する。
First, in the information processing apparatus 301, a user assigns a unique data ID to data (referred to as id x ). The data ID (id x ) is input by the input unit 324 as part of the data generation instruction. Further, the data encryption unit 323 performs data encryption (S1701).
Here, an existing encryption technology (group encryption technology) that only the legitimate information processing device 301 can decrypt is used (encrypted data is d x ).
Next, the input unit 324 inputs a plurality of keywords ( denoted w xj ) associated with the encrypted data d x from the user (S1702).
Next, the trap door generation unit 321 generates a trap door for each of a plurality of keywords (w xj ) (S1703).
Specifically, for each keyword w xj , trap door td xj is calculated according to the following equation (2) (^ represents a power, and so on).
td xj = (k i × w xj ^ (e 1 q-i)) e2 modN formula (2)
k i means the latest generation encryption key held in the encryption key storage area 311 at the time of inputting the data generation instruction.
The parameters e1, e2, q, N are stored in the parameter storage area 312.
Further, the calculation according to the above formula (2) corresponds to the first calculation.

その後、暗号化キーワード生成部322が、各トラップドアtdxjに対し、暗号化キーワードcxjを以下の式(3)に従って計算する(S1704)。
xj=F(id、tdxj) 式(3)
一方向性関数Fの内容は、パラメータ記憶領域312に記憶されている。
また、上記の式(3)に従った演算が第3の演算に相当する。
Thereafter, the encryption keyword generation unit 322 calculates the encryption keyword c xj for each trapdoor td xj according to the following equation (3) (S1704).
c xj = F (id x , td xj ) Expression (3)
The content of the one-way function F is stored in the parameter storage area 312.
The calculation according to the above formula (3) corresponds to the third calculation.

最後に、通信部331が、世代、データID、暗号化データ、暗号化キーワードの組(i、id、d、cx1、cx2、...)をサーバ装置201に送信する(S1705)。 Finally, the communication unit 331 transmits a set of generation, data ID, encrypted data, and encrypted keyword (i, id x , d x , c x1 , c x2 ,...) To the server apparatus 201 (S1705). ).

サーバ装置201では、通信部231がこれらを受信し(S1801)、暗号化データdをデータIDと関連付けて暗号化データ記憶領域212に格納し、各暗号化キーワードcxjを世代、データIDと関連付けて暗号化キーワード記憶領域211に格納する(S1802)(登録データ記憶ステップ)。 In the server apparatus 201, the communication unit 231 receives these (S 1801), associates the encrypted data d x with the data ID, stores the encrypted data d x in the encrypted data storage area 212, and sets each encryption keyword c xj to the generation, the data ID, and the like. The data are stored in the encrypted keyword storage area 211 in association with each other (S1802) (registered data storage step).

(4)暗号化データの検索・取得
正当な情報処理装置301は、現在もしくは過去の世代にサーバ装置201に格納されたデータに対し、キーワードを指定して秘匿検索を行うことができる。
i世代目における具体的な手順を図12のデータフロー図、図19及び図20のフローチャートを参照しながら以下に述べる。
(4) Search / Acquisition of Encrypted Data The legitimate information processing apparatus 301 can perform a confidential search by specifying a keyword with respect to data stored in the server apparatus 201 at the current or past generation.
A specific procedure in the i-th generation will be described below with reference to the data flow diagram of FIG. 12 and the flowcharts of FIGS.

まず、情報処理装置301において、入力部324が、データ検索指示として、ユーザから検索対象のキーワードwを入力する(S1901)(指示入力ステップ)。
次に、トラップドア生成部321が、検索したいキーワードwに対応するトラップドアを生成する(S1902)(第1演算実行ステップ)。
具体的には、キーワードwに対し、トラップドアtd(i世代目で生成されたトラップドア)を以下の式(4)に従って計算する。
td=(k×w^(e q−i))e2 modN 式(4)
は、データ検索指示の入力時点で暗号鍵記憶領域311に保持されている最新世代の暗号鍵を意味する。
また、上記の式(4)に従った演算は第1の演算に相当する。
First, in the information processing apparatus 301, the input unit 324 inputs a search target keyword w from the user as a data search instruction (S1901) (instruction input step).
Next, the trap door generation unit 321 generates a trap door corresponding to the keyword w to be searched (S1902) (first calculation execution step).
Specifically, for the keyword w, the trap door td i (the trap door generated in the i-th generation) is calculated according to the following equation (4).
td i = (k i × w ^ (e 1 q−i )) e 2 mod N Formula (4)
k i means the latest generation encryption key held in the encryption key storage area 311 at the time of inputting the data search instruction.
The calculation according to the above equation (4) corresponds to the first calculation.

次に、通信部331が、世代、トラップドアの組(i、td)をデータ検索要求としてサーバ装置201に送信する(S1903)(送信ステップ)。 Next, the communication unit 331 transmits the generation and the set of trap doors (i, td i ) to the server apparatus 201 as a data search request (S1903) (transmission step).

サーバ装置201では、通信部231がこれらを受信し(S2001)(受信ステップ)、トラップドア生成部221が、過去全ての世代に対応するトラップドアtd〜tdi−1を以下の式(5)に従って世代を1つずつ遡りながら順次計算する(S2002)(第2演算実行ステップ)。
tdj−1=td e1 modN 式(5)
なお、上記の式(5)に従った演算は第2の演算に相当する。
In the server apparatus 201, the communication unit 231 receives these (S2001) (reception step), and the trap door generation unit 221 calculates trap doors td 1 to td i-1 corresponding to all previous generations using the following formula (5). ), The generations are sequentially calculated while going back one by one (S2002) (second calculation execution step).
td j−1 = td j e1 modN Formula (5)
The calculation according to the above equation (5) corresponds to the second calculation.

その後、比較部222が、暗号化キーワード記憶領域211を参照し、トラップドアに対応する暗号化キーワードが存在するかを確認する(S2003)(データ検索ステップ)。
具体的には、暗号化キーワード記憶領域211の各行の世代、データID、暗号化キーワードの組(j、id、c)に対し、以下の式(6)の等式が成立するかを確認する。
c=F(id、td) 式(6)
つまり、比較部222は、式(6)に従って、暗号化キーワード記憶領域211に示されているデータIDと前述のS2002で生成されたトラップドアに対して一方向性関数Fを適用して暗号化キーワード候補を算出し、算出した暗号化キーワード候補が、暗号化キーワード記憶領域211の対応する行の暗号化キーワードに一致するか否かの照合を行う。
なお、一方向性関数Fの適用対象となるのは、世代数が一致しているデータIDとトラップドアである(暗号化キーワード記憶領域211に示されている世代数jとトラップドアtdの世代数jが一致している)。
なお、上記の式(6)に従った演算は第3の演算に相当する。
Thereafter, the comparison unit 222 refers to the encrypted keyword storage area 211 and confirms whether there is an encrypted keyword corresponding to the trapdoor (S2003) (data search step).
Specifically, it is confirmed whether or not the following equation (6) is established for the generation (data ID) and encryption keyword pair (j, id, c) of each row in the encrypted keyword storage area 211. .
c = F (id, td j ) Equation (6)
That is, the comparison unit 222 applies the one-way function F to the data ID indicated in the encrypted keyword storage area 211 and the trap door generated in S2002 described above according to the equation (6) and encrypts the data ID. A keyword candidate is calculated, and whether or not the calculated encrypted keyword candidate matches the encrypted keyword in the corresponding row of the encrypted keyword storage area 211 is checked.
Note that the application target of the one-way function F is the data ID and the trap door having the same number of generations (the generation number j and the trap door td j shown in the encrypted keyword storage area 211). The generation number j matches).
The calculation according to the above equation (6) corresponds to the third calculation.

上記の式(6)が成立した場合、すなわち、暗号化キーワード候補が、暗号化キーワード記憶領域211に示されている暗号化キーワードに一致する場合に、当該暗号化キーワードは、ユーザにより指定されたキーワードwに対応する暗号化キーワードとなるため、比較部222は、暗号化キーワード記憶領域211から対応するデータID(id)を抽出し(S2004)、抽出したデータID(id)をキーに暗号化データ記憶領域212を検索して暗号化データdを取得し(S2005)、通信部231が情報処理装置301に、キーワードwに対応する暗号化データdを送信する(S2006)。
なお、式(6)の等式が複数行において成立し、複数の暗号化データが抽出された場合は暗号化データの全て送信するようにしても、一部を送信するようにしても良い。
一方、上記の式(6)の等式が暗号化キーワード記憶領域211のどの行においても不成立であった場合は、情報処理装置301にその旨を送信する。
なお、存在しないキーワードを指定した場合の他、データ検索の要求元が正当なアクセス権限を有しない場合(正しい暗号鍵を有しない又は正しいパラメータを有しないので、適切なトラップドアを作成できない)に、上記の式(6)の等式が暗号化キーワード記憶領域211のどの行においても不成立となると考えられる。
When the above formula (6) is satisfied, that is, when the encryption keyword candidate matches the encryption keyword shown in the encryption keyword storage area 211, the encryption keyword is designated by the user. Since the encrypted keyword corresponds to the keyword w, the comparison unit 222 extracts the corresponding data ID (id) from the encrypted keyword storage area 211 (S2004), and encrypts using the extracted data ID (id) as a key. The data storage area 212 is searched to obtain the encrypted data d (S2005), and the communication unit 231 transmits the encrypted data d corresponding to the keyword w to the information processing apparatus 301 (S2006).
Note that when the equation (6) is satisfied in a plurality of rows and a plurality of encrypted data is extracted, all of the encrypted data may be transmitted or a part of the encrypted data may be transmitted.
On the other hand, if the above equation (6) is not valid in any row of the encrypted keyword storage area 211, the fact is transmitted to the information processing apparatus 301.
In addition to the case where a keyword that does not exist is specified, the request source of the data search does not have a legitimate access right (because it does not have a correct encryption key or does not have a correct parameter, so an appropriate trap door cannot be created). It is considered that the above equation (6) is not valid in any row of the encrypted keyword storage area 211.

暗号化データdを受信した情報処理装置301では、例えば、データ暗号化部323で暗号化データdの復号を行う。
ここでは、正当な情報処理装置301だけが復号できるような、既存の暗号技術(グループ暗号技術)を利用する。
In the information processing apparatus 301 that has received the encrypted data d, for example, the data encryption unit 323 decrypts the encrypted data d.
Here, an existing encryption technology (group encryption technology) that only a legitimate information processing device 301 can decrypt is used.

なお、サーバ装置201が最新のトラップドアから生成した過去のトラップドアと、情報処理装置301が過去の暗号鍵から生成したトラップドアが一致し、本秘匿検索システムが正常に機能することは、例えば以下のように確認される。   Note that the past trap door generated by the server apparatus 201 from the latest trap door and the trap door generated by the information processing apparatus 301 from the past encryption key match, and this secure search system functions normally. It is confirmed as follows.

サーバ装置201がi世代目のトラップドアtdから生成した、i−1世代目のトラップドアtdi−1は、
tdi−1=td e1 modN
=(k×w^(e q−i))e1e2 modN
=(k e1×w^(e q−(i−1)))e2 modN
=(ki−1×w^(e q−(i−1)))e2 modN
となり、これは情報処理装置301がi−1世代目に生成するトラップドアと一致する。
The server device 201 is generated from the i-th generation of the trap door td i, i-1-th generation of the trap door td i-1 is,
td i-1 = td i e1 modN
= (K i × w ^ ( e 1 q-i)) e1e2 modN
= (K i e1 × w ^ (e 1 q- (i-1))) e2 modN
= (K i-1 × w ^ (e 1 q- (i-1))) e2 modN
This is consistent with the trapdoor generated by the information processing apparatus 301 in the (i-1) th generation.

また、システムの安全性、すなわちサーバ装置201がトラップドアや暗号化キーワードからキーワードを類推できないことや、ある世代の暗号鍵を持つ情報処理装置301が未来の世代の暗号鍵を類推できないことは、RSA(登録商標)暗号の安全性に基づいている。   In addition, the security of the system, that is, that the server device 201 cannot infer keywords from trapdoors and encryption keywords, or that the information processing device 301 having a certain generation of encryption keys cannot infer future generation encryption keys, This is based on the security of RSA (registered trademark) encryption.

以上によって、情報処理装置301がデータ・キーワードをサーバ装置201に対して秘匿したまま検索できる秘匿検索システムが実現できる。
サーバ装置201が、受信した最新のトラップドアから過去のトラップドアを生成できるため、検索時に情報処理装置301が送信すべきトラップドアが削減でき、情報処理装置301の計算量や通信量の削減を達成できる。
As described above, it is possible to realize a secret search system in which the information processing apparatus 301 can search while keeping the data / keyword secret from the server apparatus 201.
Since the server apparatus 201 can generate a past trap door from the latest received trap door, the trap door to be transmitted by the information processing apparatus 301 at the time of search can be reduced, and the calculation amount and communication amount of the information processing apparatus 301 can be reduced. Can be achieved.

なお、本実施の形態では、検索結果として暗号化データを返すために暗号化データ記憶領域212を利用しているが、暗号化データを返す必要がない場合、サーバ装置201が暗号化データ記憶領域212を持たなくても良い。
例えば、暗号化データは別の装置が保持し、そこへのアクセスを可能とするためにデータIDだけを返すようにしても良い。
In this embodiment, the encrypted data storage area 212 is used to return the encrypted data as the search result. However, if the encrypted data does not need to be returned, the server apparatus 201 stores the encrypted data storage area. 212 may not be provided.
For example, the encrypted data may be held by another device and only the data ID may be returned to enable access to the encrypted data.

また、本実施の形態では、各処理において世代数を送信しているが、システム全体で現在の世代数の同期が取れている場合は、世代数の送信は不要である。
また、システム全体で現在の世代数の同期が取れている場合にも世代数の送信を行って、サーバ装置201が、S1801やS2001で、現在の世代に対応するデータを受信したときのみ格納・検索処理を続行し、そうでない場合は処理を中断するようにしても良い。
In the present embodiment, the number of generations is transmitted in each process. However, if the current number of generations is synchronized in the entire system, transmission of the number of generations is not necessary.
In addition, even when the current generation number is synchronized in the entire system, the generation number is transmitted, and only when the server apparatus 201 receives data corresponding to the current generation in S1801 or S2001, The search process may be continued, and if not, the process may be interrupted.

また、本実施の形態では、異なるデータに関連付けられた同一のキーワードが別の暗号化キーワードとなるようにするため、暗号化キーワードをc=F(id、td)のように生成しているが、この区別をつける必要がない場合、本処理を省略し、トラップドアを暗号化キーワードとして使うことも可能である。この場合、検索時にサーバ装置201がidごとにFを適用する必要がなくなり、検索を高速化することができる。
なお、このような運用については、実施の形態3で詳述する。
In the present embodiment, the encrypted keyword is generated as c = F (id, td) so that the same keyword associated with different data becomes another encrypted keyword. If it is not necessary to make this distinction, it is possible to omit this processing and use the trapdoor as an encryption keyword. In this case, it is not necessary for the server apparatus 201 to apply F for each id during the search, and the search can be speeded up.
Such an operation will be described in detail in the third embodiment.

また、本実施の形態では、グループ管理装置401が初期設定の際に、全ての暗号鍵k〜kを生成し、暗号鍵記憶領域411に格納しているが、Nの素因数分解p×pを知るグループ管理装置401はkからkj+1を導出可能であるため、暗号鍵記憶領域411には最新の暗号鍵のみを格納し、世代更新のたびに次の暗号鍵を導出するようにしても良い。 Further, in the present embodiment, when the group management apparatus 401 performs initial setting, all the encryption keys k 1 to k q are generated and stored in the encryption key storage area 411. However, N prime factorization p 1 × for group management apparatus 401 to know p 2 can be derived for k j + 1 from k j, and stores only the latest encryption key in the encryption key storage area 411, to derive the following encryption key for each generation update You may do it.

また、本実施の形態では、データに複数のキーワードが関連付けられている場合、各キーワードに対し暗号化キーワードを送信し、これらを暗号化キーワード記憶領域211の複数行に格納しているが、複数キーワードを効率的に処理するBloom Filterなどの既存技術と組み合わせて、複数キーワードを1行でまとめて処理できるようにしても良い。   In this embodiment, when a plurality of keywords are associated with data, encrypted keywords are transmitted for each keyword and stored in a plurality of rows in the encrypted keyword storage area 211. In combination with an existing technology such as a Bloom Filter that efficiently processes keywords, a plurality of keywords may be processed together in one line.

実施の形態2.
本実施の形態では、秘匿検索システム(図1)において、情報処理装置301が暗号鍵とキーワードからトラップドアを生成する際、双線形写像を利用する方式について述べる。なお、双線形写像とは、E(g、h)≡E(g、h)abを満たす関数Eのことであり、例えばWeilペアリングやTateペアリングなどが利用できる。
Embodiment 2. FIG.
In the present embodiment, a method of using a bilinear map when the information processing apparatus 301 generates a trap door from an encryption key and a keyword in the secret search system (FIG. 1) will be described. Note that the bilinear map, E (g a, h b ) is that of ≡E (g, h) function satisfy ab E, for example, Weil pairing or Tate pairing can be utilized.

サーバ装置201、情報処理装置301、グループ管理装置401の構成例については、実施の形態1にて記述したものと同一であるため、説明は省略する。   Since the configuration examples of the server apparatus 201, the information processing apparatus 301, and the group management apparatus 401 are the same as those described in the first embodiment, description thereof is omitted.

本実施の形態においても、本秘匿検索システムにおける手続きは、実施の形態1にて記述した四つの手続きに大別される。以下、それぞれの手続きについて説明する。   Also in the present embodiment, the procedure in the confidential search system is roughly divided into the four procedures described in the first embodiment. Each procedure will be described below.

(1)グループ管理装置の初期設定
グループ管理装置401は、パラメータp、p、N、e、qを以下のように決定し、このうちN、e、qを公開情報とする。
、pとして十分大きな素数を選び、N=p×pとする。eはZ から、(p−1)(p−1)と互いに素となるようランダムに選択する。
qは世代数の最大値であり、世代の更新頻度やシステムの運用期間から適切に設定する。
また、適当な一方向性関数F、および双線形写像Eを選択し、公開情報とする。
(1) Initial setting of group management device The group management device 401 determines parameters p 1 , p 2 , N, e 1 , and q as follows, and N, e 1 , and q are public information.
A sufficiently large prime number is selected as p 1 and p 2 so that N = p 1 × p 2 . e 1 is randomly selected from Z N * so as to be relatively prime to (p 1 -1) (p 2 -1).
q is the maximum number of generations, and is set appropriately from the update frequency of generations and the operation period of the system.
Also, an appropriate one-way function F and bilinear map E are selected and made public information.

次に、暗号鍵生成部421が、情報処理装置301が利用する暗号鍵を生成する。
まず、q世代目の暗号鍵kを、Z からランダムに選択する。そして、それ以前の暗号鍵を、式(7)によって順次計算する。
j−1=k e1 modN 式(7)
こうして得られた全ての暗号鍵k〜kを、暗号鍵記憶領域411に格納する。
最後に、通信部431が、全ての正当な情報処理装置301に、1世代目の暗号鍵kを送信する。
これは、暗号鍵の安全性が保たれる方式であれば、オフラインで行っても良いし、既存の鍵配送技術を用いてオンラインで行っても良い。
を受信した情報処理装置301は、この暗号鍵kを、世代とともに暗号鍵記憶領域311に格納する。
また、実施の形態1と同様に、グループ管理装置401は、パラメータe、q、N、一方向性関数F及び双線形写像Eを各情報処理装置301及びサーバ装置201に通知し、各情報処理装置301では、これらの値をパラメータ記憶領域312に記憶し、サーバ装置201では、これらの値をパラメータ記憶領域213に記憶する。
Next, the encryption key generation unit 421 generates an encryption key used by the information processing apparatus 301.
First, a q-th generation encryption key k q is randomly selected from Z N * . Then, the previous encryption key is sequentially calculated by Expression (7).
k j−1 = k j e1 modN Formula (7)
All the encryption keys k 1 to k q thus obtained are stored in the encryption key storage area 411.
Finally, the communication unit 431 transmits the first generation encryption key k 1 to all valid information processing apparatuses 301.
This may be performed offline as long as the encryption key security is maintained, or may be performed online using an existing key distribution technique.
The information processing apparatus 301 that has received k 1 stores the encryption key k 1 in the encryption key storage area 311 together with the generation.
Similarly to the first embodiment, the group management device 401 notifies the information processing devices 301 and the server device 201 of the parameters e 1 , q, N, the one-way function F, and the bilinear mapping E, and each information The processing device 301 stores these values in the parameter storage area 312, and the server device 201 stores these values in the parameter storage area 213.

(2)暗号鍵の世代更新
実施の形態1にて記述したものと同一であるため、説明は省略する。
(2) Encryption Key Generation Update Since this is the same as that described in the first embodiment, a description thereof will be omitted.

(3)暗号化データの送信・格納
正当な情報処理装置301がデータをサーバ装置201に送信する場合、後に秘匿検索が行えるよう、キーワードとデータを別々に暗号化したものを送信する。
i世代目における具体的な手順を図13のデータフロー図を参照して以下に述べる。
なお、フローチャートは、図17及び図18に示したとおりである。
(3) Transmission / Storage of Encrypted Data When a legitimate information processing device 301 transmits data to the server device 201, a keyword and data separately encrypted are transmitted so that a secret search can be performed later.
A specific procedure in the i-th generation will be described below with reference to the data flow diagram of FIG.
The flowchart is as shown in FIG. 17 and FIG.

まず、情報処理装置301において、ユーザが、データに対し、ユニークなデータIDを割り当てる(idとする)。データID(id)は、データ生成指示の一部として入力部324が入力する。さらに、データ暗号化部323がデータの暗号化を行う(S1701)。
ここでは、正当な情報処理装置301だけが復号できるような、既存の暗号技術(グループ暗号技術)を利用する(暗号化データをdとする)。
次に、入力部324が、暗号化データdに関連付けられる複数のキーワード(wxjとする)をユーザから入力する(S1702)。
次に、トラップドア生成部321が、複数のキーワード(wxj)に対し、それぞれトラップドアを生成する(S1703)。
具体的には、各キーワードwxjに対し、トラップドアtdxjを以下の式(8)に従って計算する。
tdxj=E(k、wxj) 式(8)
は、データ生成指示の入力時点で暗号鍵記憶領域311に保持されている最新世代の暗号鍵を意味する。
上記の式(8)に従った演算が第1の演算に相当する。
First, in the information processing apparatus 301, a user assigns a unique data ID to data (referred to as id x ). The data ID (id x ) is input by the input unit 324 as part of the data generation instruction. Further, the data encryption unit 323 performs data encryption (S1701).
Here, an existing encryption technology (group encryption technology) that only the legitimate information processing device 301 can decrypt is used (encrypted data is d x ).
Next, the input unit 324 inputs a plurality of keywords ( denoted w xj ) associated with the encrypted data d x from the user (S1702).
Next, the trap door generation unit 321 generates a trap door for each of a plurality of keywords (w xj ) (S1703).
Specifically, the trap door td xj is calculated according to the following equation (8) for each keyword w xj .
td xj = E (k i, w xj) (8)
k i means the latest generation encryption key held in the encryption key storage area 311 at the time of inputting the data generation instruction.
The calculation according to the above equation (8) corresponds to the first calculation.

その後、暗号化キーワード生成部322が、各トラップドアtdxjに対し、暗号化キーワードcxjを以下の式(3)に従って計算する(S1704)。
xj=F(id、tdxj) 式(3)
上記の式(3)に従った演算が第3の演算に相当する。
Thereafter, the encryption keyword generation unit 322 calculates the encryption keyword c xj for each trapdoor td xj according to the following equation (3) (S1704).
c xj = F (id x , td xj ) Expression (3)
The calculation according to the above equation (3) corresponds to the third calculation.

最後に、通信部331が、世代、データID、暗号化データ、暗号化キーワードの組(i、id、d、cx1、cx2、...)をサーバ装置201に送信する(S1705)。 Finally, the communication unit 331 transmits a set of generation, data ID, encrypted data, and encrypted keyword (i, id x , d x , c x1 , c x2 ,...) To the server apparatus 201 (S1705). ).

サーバ装置201では、通信部231がこれらを受信し(S1801)、暗号化データdをデータIDと関連付けて暗号化データ記憶領域212に格納し、各暗号化キーワードcxjを世代、データIDと関連付けて暗号化キーワード記憶領域211に格納する(S1802)(登録データ記憶ステップ)。 In the server apparatus 201, the communication unit 231 receives these (S 1801), associates the encrypted data d x with the data ID, stores the encrypted data d x in the encrypted data storage area 212, and sets each encryption keyword c xj to the generation, the data ID, and the like. The data are stored in the encrypted keyword storage area 211 in association with each other (S1802) (registered data storage step).

(4)暗号化データの検索・取得
正当な情報処理装置301は、現在もしくは過去の世代にサーバ装置201に格納されたデータに対し、キーワードを指定して秘匿検索を行うことができる。
i世代目における具体的な手順を図14のデータフロー図を参照しながら以下に述べる。
なお、フローチャートは、図19及び図20に示すとおりである。
(4) Search / Acquisition of Encrypted Data The legitimate information processing apparatus 301 can perform a confidential search by specifying a keyword with respect to data stored in the server apparatus 201 at the current or past generation.
A specific procedure in the i-th generation will be described below with reference to the data flow diagram of FIG.
The flowchart is as shown in FIG. 19 and FIG.

情報処理装置301において、入力部324が、データ検索指示として、ユーザから検索対象のキーワードwを入力する(S1901)(指示入力ステップ)。
次に、トラップドア生成部321が、検索したいキーワードwに対応するトラップドアを生成する(S1902)(第1演算実行ステップ)。
具体的には、キーワードwに対し、トラップドアtd(i世代目で生成されたトラップドア)を以下の式(9)に従って計算する。
td=E(k、w) 式(9)
は、データ検索指示の入力時点で暗号鍵記憶領域311に保持されている最新世代の暗号鍵を意味する。
また、上記の式(9)に従った演算は第1の演算に相当する。
In the information processing apparatus 301, the input unit 324 inputs a search target keyword w from the user as a data search instruction (S1901) (instruction input step).
Next, the trap door generation unit 321 generates a trap door corresponding to the keyword w to be searched (S1902) (first calculation execution step).
Specifically, the trap door td i (the trap door generated in the i-th generation) is calculated according to the following equation (9) for the keyword w.
td i = E (k i, w) (9)
k i means the latest generation encryption key held in the encryption key storage area 311 at the time of inputting the data search instruction.
The calculation according to the above equation (9) corresponds to the first calculation.

サーバ装置201では、通信部231がこれらを受信し(S2001)(受信ステップ)、トラップドア生成部221が、過去全ての世代に対応するトラップドアtd〜tdi−1を以下の式(5)に従って世代を1つずつ遡りながら順次計算する(S2002)(第2演算実行ステップ)。
tdj−1=td e1 modN 式(5)
なお、上記の式(5)に従った演算は第2の演算に相当する。
In the server apparatus 201, the communication unit 231 receives these (S2001) (reception step), and the trap door generation unit 221 calculates trap doors td 1 to td i-1 corresponding to all previous generations using the following formula (5). ), The generations are sequentially calculated while going back one by one (S2002) (second calculation execution step).
td j−1 = td j e1 modN Formula (5)
The calculation according to the above equation (5) corresponds to the second calculation.

その後、比較部222が、暗号化キーワード記憶領域211を参照し、トラップドアに対応する暗号化キーワードが存在するかを確認する(S2003)(データ検索ステップ)。
具体的には、暗号化キーワード記憶領域211の各行の世代、データID、暗号化キーワードの組(j、id、c)に対し、以下の式(6)の等式が成立するかを確認する。
c=F(id、td) 式(6)
つまり、比較部222は、式(6)に従って、暗号化キーワード記憶領域211に示されているデータIDと前述のS2002で生成されたトラップドアに対して一方向性関数Fを適用して暗号化キーワード候補を算出し、算出した暗号化キーワード候補が、暗号化キーワード記憶領域211の対応する行の暗号化キーワードに一致するか否かの照合を行う。
なお、一方向性関数Fの適用対象となるのは、世代数が一致しているデータIDとトラップドアである(暗号化キーワード記憶領域211に示されている世代数jとトラップドアtdの世代数jが一致している)。
なお、上記の式(6)に従った演算は第3の演算に相当する。
Thereafter, the comparison unit 222 refers to the encrypted keyword storage area 211 and confirms whether there is an encrypted keyword corresponding to the trapdoor (S2003) (data search step).
Specifically, it is confirmed whether or not the following equation (6) is established for the generation (data ID) and encryption keyword pair (j, id, c) of each row in the encrypted keyword storage area 211. .
c = F (id, td j ) Equation (6)
That is, the comparison unit 222 applies the one-way function F to the data ID indicated in the encrypted keyword storage area 211 and the trap door generated in S2002 described above according to the equation (6) and encrypts the data ID. A keyword candidate is calculated, and whether or not the calculated encrypted keyword candidate matches the encrypted keyword in the corresponding row of the encrypted keyword storage area 211 is checked.
Note that the application target of the one-way function F is the data ID and the trap door having the same number of generations (the generation number j and the trap door td j shown in the encrypted keyword storage area 211). The generation number j matches).
The calculation according to the above equation (6) corresponds to the third calculation.

上記の式(6)が成立した場合、すなわち、暗号化キーワード候補が、暗号化キーワード記憶領域211に示されている暗号化キーワードに一致する場合に、当該暗号化キーワードは、ユーザにより指定されたキーワードwに対応する暗号化キーワードとなるため、比較部222は、暗号化キーワード記憶領域211から対応するデータID(id)を抽出し(S2004)抽出したデータID(id)をキーに暗号化データ記憶領域212を検索して暗号化データdを取得し(S2005)、通信部231が情報処理装置301に、キーワードwに対応する暗号化データdを送信する(S2006)。
なお、式(6)の等式が複数行において成立し、複数の暗号化データが抽出された場合は暗号化データの全て送信するようにしても、一部を送信するようにしても良い。
一方、上記の式(6)の等式が暗号化キーワード記憶領域211のどの行においても不成立であった場合は、情報処理装置301にその旨を送信する。
なお、存在しないキーワードを指定した場合の他、データ検索の要求元が正当なアクセス権限を有しない場合(正しい暗号鍵を有しない又は正しいパラメータを有しないので、適切なトラップドアを作成できない)に、上記の式(6)の等式が暗号化キーワード記憶領域211のどの行においても不成立となると考えられる。
When the above formula (6) is satisfied, that is, when the encryption keyword candidate matches the encryption keyword shown in the encryption keyword storage area 211, the encryption keyword is designated by the user. Since the encrypted keyword corresponds to the keyword w, the comparison unit 222 extracts the corresponding data ID (id) from the encrypted keyword storage area 211 (S2004), and the encrypted data using the extracted data ID (id) as a key. The storage area 212 is searched to obtain the encrypted data d (S2005), and the communication unit 231 transmits the encrypted data d corresponding to the keyword w to the information processing apparatus 301 (S2006).
Note that when the equation (6) is satisfied in a plurality of rows and a plurality of encrypted data is extracted, all of the encrypted data may be transmitted or a part of the encrypted data may be transmitted.
On the other hand, if the above equation (6) is not valid in any row of the encrypted keyword storage area 211, the fact is transmitted to the information processing apparatus 301.
In addition to the case where a keyword that does not exist is specified, the request source of the data search does not have a legitimate access right (because it does not have a correct encryption key or does not have a correct parameter, so an appropriate trap door cannot be created). It is considered that the above equation (6) is not valid in any row of the encrypted keyword storage area 211.

暗号化データdを受信した情報処理装置301では、例えば、データ暗号化部323で暗号化データdの復号を行う。
ここでは、正当な情報処理装置301だけが復号できるような、既存の暗号技術(グループ暗号技術)を利用する。
In the information processing apparatus 301 that has received the encrypted data d, for example, the data encryption unit 323 decrypts the encrypted data d.
Here, an existing encryption technology (group encryption technology) that only a legitimate information processing device 301 can decrypt is used.

なお、サーバ装置201が最新のトラップドアから生成した過去のトラップドアと、情報処理装置301が過去の暗号鍵から生成したトラップドアが一致し、本秘匿検索システムが正常に機能することは、例えば以下のように確認される。   Note that the past trap door generated by the server apparatus 201 from the latest trap door and the trap door generated by the information processing apparatus 301 from the past encryption key match, and this secure search system functions normally. It is confirmed as follows.

サーバ装置201がi世代目のトラップドアtdから生成した、i−1世代目のトラップドアtdi−1は、
tdi−1=td e1 modN
=E(k、w)e1 modN
=E(k e1、w) modN
=E(ki−1、w) modN
となり、これは情報処理装置301がi−1世代目に生成するトラップドアと一致する。
The server device 201 is generated from the i-th generation of the trap door td i, i-1-th generation of the trap door td i-1 is,
td i-1 = td i e1 modN
= E (k i, w) e1 modN
= E (k i e1, w ) modN
= E (ki -1 , w) modN
This is consistent with the trapdoor generated by the information processing apparatus 301 in the (i-1) th generation.

また、システムの安全性、すなわちサーバ装置201がトラップドアや暗号化キーワードからキーワードを類推できないことや、ある世代の暗号鍵を持つ情報処理装置301が未来の世代の暗号鍵を類推できないことは、RSA(登録商標)暗号、および双線形写像の安全性に基づいている。   In addition, the security of the system, that is, that the server device 201 cannot infer keywords from trapdoors and encryption keywords, or that the information processing device 301 having a certain generation of encryption keys cannot infer future generation encryption keys, It is based on the security of RSA® cryptography and bilinear mapping.

以上によって、情報処理装置301がデータ・キーワードをサーバ装置201に対して秘匿したまま検索できる秘匿検索システムが実現できる。
サーバ装置201が、受信した最新のトラップドアから過去のトラップドアを生成できるため、検索時に情報処理装置301が送信すべきトラップドアが削減でき、情報処理装置301の計算量や通信量の削減を達成できる。
As described above, it is possible to realize a secret search system in which the information processing apparatus 301 can search while keeping the data / keyword secret from the server apparatus 201.
Since the server apparatus 201 can generate a past trap door from the latest received trap door, the trap door to be transmitted by the information processing apparatus 301 at the time of search can be reduced, and the calculation amount and communication amount of the information processing apparatus 301 can be reduced. Can be achieved.

さらに、本実施の形態においては、実施の形態1とは異なり、情報処理装置301のトラップドア生成部321がキーワードからトラップドアを生成する際に、世代数の最大値qを利用する必要がない。
したがって、qの値を大きく設定しても、情報処理装置301の計算量には影響しないという利点がある。
また、実施の形態1でも述べたように、グループ管理装置401はkからkj+1を導出可能であるため、初期設定にてkのみを生成し、世代更新のたびに次の暗号鍵を導出することで、世代数の最大値という制限を設けることなく秘匿検索システムを運用することが可能となる。
Furthermore, in the present embodiment, unlike the first embodiment, when the trap door generation unit 321 of the information processing device 301 generates a trap door from a keyword, it is not necessary to use the maximum value q of the number of generations. .
Therefore, there is an advantage that even if the value of q is set large, the calculation amount of the information processing apparatus 301 is not affected.
Moreover, as mentioned in the first embodiment, since the group management device 401 is capable of deriving the k j + 1 from k j, it generates only k 1 in the initial setting, the next encryption key each time the generation update By deriving it, it is possible to operate the confidential search system without setting a limit of the maximum number of generations.

なお、本実施の形態では、検索結果として暗号化データを返すために暗号化データ記憶領域212を利用しているが、暗号化データを返す必要がない場合、サーバ装置201が暗号化データ記憶領域212を持たなくても良い。
例えば、暗号化データは別の装置が保持し、そこへのアクセスを可能とするためにデータIDだけを返すようにしても良い。
In this embodiment, the encrypted data storage area 212 is used to return the encrypted data as the search result. However, if the encrypted data does not need to be returned, the server apparatus 201 stores the encrypted data storage area. 212 may not be provided.
For example, the encrypted data may be held by another device and only the data ID may be returned to enable access to the encrypted data.

また、本実施の形態では、各処理において世代数を送信しているが、システム全体で現在の世代数の同期が取れている場合は、世代数の送信は不要である。
また、システム全体で現在の世代数の同期が取れている場合にも世代数の送信を行って、サーバ装置201が、S1801やS2001で、現在の世代に対応するデータを受信したときのみ格納・検索処理を続行し、そうでない場合は処理を中断するようにしても良い。
In the present embodiment, the number of generations is transmitted in each process. However, if the current number of generations is synchronized in the entire system, transmission of the number of generations is not necessary.
In addition, even when the current generation number is synchronized in the entire system, the generation number is transmitted, and only when the server apparatus 201 receives data corresponding to the current generation in S1801 or S2001, The search process may be continued, and if not, the process may be interrupted.

また、本実施の形態では、異なるデータに関連付けられた同一のキーワードが別の暗号化キーワードとなるようにするため、暗号化キーワードをc=F(id、td)のように生成しているが、この区別をつける必要がない場合、本処理を省略し、トラップドアを暗号化キーワードとして使うことも可能である。この場合、検索時にサーバ装置201がidごとにFを適用する必要がなくなり、検索を高速化することができる。
なお、このような運用については、実施の形態3で詳述する。
In the present embodiment, the encrypted keyword is generated as c = F (id, td) so that the same keyword associated with different data becomes another encrypted keyword. If it is not necessary to make this distinction, it is possible to omit this processing and use the trapdoor as an encryption keyword. In this case, it is not necessary for the server apparatus 201 to apply F for each id during the search, and the search can be speeded up.
Such an operation will be described in detail in the third embodiment.

また、本実施の形態では、データに複数のキーワードが関連付けられている場合、各キーワードに対し暗号化キーワードを送信し、これらを暗号化キーワード記憶領域211の複数行に格納しているが、複数キーワードを効率的に処理するBloom Filterなどの既存技術と組み合わせて、複数キーワードを1行でまとめて処理できるようにしても良い。   In this embodiment, when a plurality of keywords are associated with data, encrypted keywords are transmitted for each keyword and stored in a plurality of rows in the encrypted keyword storage area 211. In combination with an existing technology such as a Bloom Filter that efficiently processes keywords, a plurality of keywords may be processed together in one line.

実施の形態3.
本実施の形態では、トラップドアを暗号化キーワードとして使う例を説明する。
Embodiment 3 FIG.
In this embodiment, an example in which a trapdoor is used as an encryption keyword will be described.

図9は、本実施の形態に係る情報処理装置301の構成例を示す。
本実施の形態では、トラップドアを暗号化キーワードとして使用するため、図3の構成に含まれていた暗号化キーワード生成部322を省略している。
他の構成要素は、図3に示したものと同様であり、説明を省略する。
なお、本実施の形態においても、サーバ装置201及びグループ管理装置401は、図2及び図4に示した構成のとおりである。
なお、サーバ装置201において、暗号化キーワード記憶領域211では、図10に示すように、暗号化キーワードとしてトラップドアtを用いトラップドアtと、対応する暗号化データのデータIDと、トラップドアの生成に用いられた暗号鍵の世代数とを関連付けて記憶している。
FIG. 9 shows a configuration example of the information processing apparatus 301 according to this embodiment.
In this embodiment, since the trapdoor is used as an encryption keyword, the encryption keyword generation unit 322 included in the configuration of FIG. 3 is omitted.
Other components are the same as those shown in FIG.
Also in the present embodiment, the server apparatus 201 and the group management apparatus 401 have the configurations shown in FIGS.
Incidentally, in the server device 201, the encrypted keyword storage area 211, as shown in FIG. 10, using a trapdoor t d as the encryption keyword, and the trap door t d, the data ID of the corresponding encrypted data, trap The number of generations of the encryption key used for generating the door is stored in association with each other.

また、本実施の形態においても、本秘匿検索システムにおける手続きは、実施の形態1にて記述した四つの手続きに大別される。
なお、(1)グループ管理装置の初期設定及び(2)暗号鍵の世代更新は、実施の形態1及び実施の形態2に示したものと同様であるため、説明を省略し、以下では、(3)暗号化データの送信・格納及び(4)暗号化データの検索・取得を説明する。
Also in the present embodiment, the procedure in the secure search system is roughly divided into the four procedures described in the first embodiment.
Note that (1) the initial setting of the group management device and (2) the generation update of the encryption key are the same as those described in the first and second embodiments. 3) Transmission / storage of encrypted data and (4) Search / acquisition of encrypted data will be described.

(3)暗号化データの送信・格納
正当な情報処理装置301がデータをサーバ装置201に送信する場合、後に秘匿検索が行えるよう、キーワードとデータを別々に暗号化したものを送信する。
i世代目における具体的な手順は図15のデータフロー図に示すとおりである。
なお、図15では、実施の形態1に示したべき乗剰余演算(式(2))を利用してトラップドアを生成する例を示しているが、実施の形態2に示した式(8)を用いることで、実施の形態2に示した双線形写像を利用することも可能である。
なお、本実施の形態では、図17のフローチャートからS1704の動作を省略し、S1705で送信する暗号化キーワードをトラップドアとする。図17の他の動作は、実施の形態1及び実施の形態2において説明したとおりである。
また、図18のフローチャートにおいて、S1801で受信する暗号化キーワード及びS1802で記憶する暗号化キーワードをトラップドアとする。
(3) Transmission / Storage of Encrypted Data When a legitimate information processing device 301 transmits data to the server device 201, a keyword and data separately encrypted are transmitted so that a secret search can be performed later.
The specific procedure in the i-th generation is as shown in the data flow diagram of FIG.
FIG. 15 shows an example in which the trapdoor is generated using the power-residue calculation (equation (2)) shown in the first embodiment, but the equation (8) shown in the second embodiment is expressed as follows. By using it, it is possible to use the bilinear map shown in the second embodiment.
In the present embodiment, the operation of S1704 is omitted from the flowchart of FIG. 17, and the encrypted keyword transmitted in S1705 is used as a trap door. Other operations in FIG. 17 are as described in the first embodiment and the second embodiment.
In the flowchart of FIG. 18, the encryption keyword received in S1801 and the encryption keyword stored in S1802 are set as trap doors.

(4)暗号化データの検索・取得
正当な情報処理装置301は、現在もしくは過去の世代にサーバ装置201に格納されたデータに対し、キーワードを指定して秘匿検索を行うことができる。
i世代目における具体的な手順は図16のデータフロー図に示すとおりである。
なお、図16では、情報処理装置301において、実施の形態1に示したべき乗剰余演算(式(4))を利用してトラップドアを生成する例を示しているが、実施の形態2に示した式(9)を用いることで、実施の形態2に示した双線形写像を利用することも可能である。
なお、情報処理装置301の動作は、図19のフローチャートに示すとおりである。
一方、サーバ装置201の動作では、図20のフローチャートのS2003の処理に代えて、S2002で導出された過去の世代のトラップドアのうちのいずれかと同じトラップドアが示されている行を暗号化キーワード記憶領域211(図10)において検索し、該当する行に示されているデータIDを抽出し(S2004)、抽出したデータIDをキーに暗号化データ記憶領域212を検索して暗号化データdを取得し(S2005)、通信部231が情報処理装置301に、キーワードwに対応する暗号化データdを送信する(S2006)。
その他の動作は、実施の形態1及び実施の形態2で説明したものと同様である。
(4) Search / Acquisition of Encrypted Data The legitimate information processing apparatus 301 can perform a confidential search by specifying a keyword with respect to data stored in the server apparatus 201 at the current or past generation.
The specific procedure in the i-th generation is as shown in the data flow diagram of FIG.
FIG. 16 shows an example in which the information processing apparatus 301 generates a trapdoor using the power-residue calculation (equation (4)) shown in the first embodiment. It is also possible to use the bilinear mapping shown in Embodiment 2 by using the equation (9).
The operation of the information processing apparatus 301 is as shown in the flowchart of FIG.
On the other hand, in the operation of the server apparatus 201, instead of the process of S2003 in the flowchart of FIG. 20, a row in which the same trap door as any of the previous generations of trap doors derived in S2002 is shown as an encrypted keyword. A search is made in the storage area 211 (FIG. 10), the data ID shown in the corresponding row is extracted (S2004), and the encrypted data storage area 212 is searched using the extracted data ID as a key to obtain the encrypted data d. Obtained (S2005), the communication unit 231 transmits the encrypted data d corresponding to the keyword w to the information processing apparatus 301 (S2006).
Other operations are the same as those described in the first and second embodiments.

このように、本実施の形態によれば、トラップドアを暗号化キーワードとして使用することにより、データ生成時に情報処理装置301において一方向性関数Fを適用する必要がなくなり、また、データ検索時にサーバ装置201が一方向性関数Fを適用する必要がなくなり、情報処理装置301及びサーバ装置201における処理を高速化でき、また、計算機リソースを有効に活用することができる。   As described above, according to the present embodiment, by using the trapdoor as an encryption keyword, it is not necessary to apply the one-way function F in the information processing apparatus 301 at the time of data generation. The apparatus 201 does not need to apply the one-way function F, the processing in the information processing apparatus 301 and the server apparatus 201 can be speeded up, and computer resources can be used effectively.

以上の実施の形態1〜3では、サーバに保存されたデータを、ユーザがキーワードを指定して検索でき、かつその際にデータ・キーワードをサーバに対して秘匿する秘匿検索システムで、検索の際に利用する秘密情報を世代ごとに更新するシステムにおいて、データ保存・検索時にユーザがサーバに送信するトラップドアを、サーバが最新のトラップドアから過去のトラップドアを導出できるようなものにすることで、検索時にユーザが送信すべきトラップドアの数を削減し、結果として計算量や通信量を削減する方式を説明した。   In the above-described first to third embodiments, the data stored in the server can be searched by a user specifying a keyword, and the data / keyword is concealed from the server at that time. In a system that updates secret information used for each generation, the trap door that the user sends to the server during data storage / retrieval can be derived from the latest trap door by the server. The method of reducing the number of trapdoors to be transmitted by the user at the time of search and reducing the amount of calculation and communication as a result has been described.

また、実施の形態1及び実施の形態3では、ユーザが秘密情報とキーワードからトラップドアを生成する際に、べき乗剰余演算を利用する方式を説明した。   In the first and third embodiments, the method of using the exponentiation remainder calculation when the user generates the trap door from the secret information and the keyword has been described.

また、実施の形態2及び実施の形態3では、ユーザが秘密情報とキーワードからトラップドアを生成する際に、双線形写像を利用する方式を説明した。   In the second embodiment and the third embodiment, the method of using the bilinear mapping when the user generates the trap door from the secret information and the keyword has been described.

最後に、実施の形態1〜3に示したサーバ装置201、情報処理装置301及びグループ管理装置401(以下、三者をまとめてサーバ装置201等と表記する)のハードウェア構成例について説明する。
図21は、実施の形態1〜3に示すサーバ装置201等のハードウェア資源の一例を示す図である。
なお、図21の構成は、あくまでもサーバ装置201等のハードウェア構成の一例を示すものであり、サーバ装置201等のハードウェア構成は図21に記載の構成に限らず、他の構成であってもよい。
Finally, a hardware configuration example of the server apparatus 201, the information processing apparatus 301, and the group management apparatus 401 (hereinafter, collectively referred to as the server apparatus 201 etc.) described in the first to third embodiments will be described.
FIG. 21 is a diagram illustrating an example of hardware resources such as the server device 201 illustrated in the first to third embodiments.
The configuration in FIG. 21 is merely an example of the hardware configuration of the server device 201 and the like, and the hardware configuration of the server device 201 and the like is not limited to the configuration illustrated in FIG. Also good.

図21において、サーバ装置201等は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜3で説明した「〜記憶領域」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
In FIG. 21, the server apparatus 201 and the like include a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, a processing unit, a microprocessor, a microcomputer, and a processor) that executes a program.
The CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
Further, the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907. Further, instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card (registered trademark) read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
The “to storage area” described in the first to third embodiments is realized by the RAM 914, the magnetic disk device 920, and the like.
A communication board 915, a keyboard 902, a mouse 903, a scanner device 907, an FDD 904, and the like are examples of input devices.
The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていても構わない。   As shown in FIG. 1, the communication board 915 is connected to a network. For example, the communication board 915 may be connected to a LAN (local area network), the Internet, a WAN (wide area network), a SAN (storage area network), or the like.

磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
The programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.

また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
The RAM 914 stores various data necessary for processing by the CPU 911.

また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
サーバ装置201等の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The ROM 913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 920 stores a boot program.
When the server device 201 or the like is activated, the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.

上記プログラム群923には、実施の形態1〜3の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。   The program group 923 stores a program for executing the function described as “˜unit” in the description of the first to third embodiments. The program is read and executed by the CPU 911.

ファイル群924には、実施の形態1〜3の説明において、「〜の判断」、「〜の判定」、「〜の計算」、「〜の演算」、「〜の生成」、「〜の比較」、「〜の照合」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜3で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the file group 924, in the description of the first to third embodiments, “determination of”, “determination of”, “calculation of”, “calculation of”, “generation of”, “comparison of” "," Matching "," updating "," setting of "," registration of "," selection of ", information, data, signal values and variables indicating the results of the processing Values and parameters are stored as items of “˜file” and “˜database”.
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, editing, output, printing, and display.
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
In addition, arrows in the flowcharts described in the first to third embodiments mainly indicate input / output of data and signals, and the data and signal values are the memory of the RAM 914, the flexible disk of the FDD904, the compact disk of the CDD905, and the magnetic field. Recording is performed on a recording medium such as a magnetic disk of the disk device 920, other optical disks, mini disks, DVDs, and the like. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、実施の形態1〜3の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜3の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜3の「〜部」の手順や方法をコンピュータに実行させるものである。   In addition, what is described as “˜unit” in the description of the first to third embodiments may be “˜circuit”, “˜device”, “˜device”, and “˜step”, It may be “˜procedure” or “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” in the first to third embodiments. Alternatively, the computer executes the procedure and method of “to part” in the first to third embodiments.

このように、実施の形態1〜3に示すサーバ装置201等は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。   As described above, the server device 201 and the like described in the first to third embodiments include a CPU that is a processing device, a memory that is a storage device, a magnetic disk, a keyboard that is an input device, a mouse, a communication board, and a display device that is an output device and a communication device. A computer including a board or the like, and implements the functions indicated as “to part” as described above using these processing devices, storage devices, input devices, and output devices.

101 ネットワーク、201 サーバ装置、211 暗号化キーワード記憶領域、212 暗号化データ記憶領域、213 パラメータ記憶領域、221 トラップドア生成部、222 比較部、231 通信部、301 情報処理装置、311 暗号鍵記憶領域、312 パラメータ記憶領域、321 トラップドア生成部、322 暗号化キーワード生成部、323 データ暗号化部、324 入力部、331 通信部、401 グループ管理装置、411 暗号鍵記憶領域、421 暗号鍵生成部、431 通信部。   DESCRIPTION OF SYMBOLS 101 Network, 201 Server apparatus, 211 Encryption keyword storage area, 212 Encryption data storage area, 213 Parameter storage area, 221 Trap door generation part, 222 Comparison part, 231 Communication part, 301 Information processing apparatus, 311 Encryption key storage area , 312 Parameter storage area, 321 Trap door generation section, 322 Encryption keyword generation section, 323 Data encryption section, 324 input section, 331 communication section, 401 group management device, 411 encryption key storage area, 421 encryption key generation section, 431 Communication unit.

Claims (16)

複数の情報処理装置と、サーバ装置とを有する情報処理システムであって、
各情報処理装置は、
他の情報処理装置との間で共有され更新されていく秘密情報を更新の度に記憶する秘密情報記憶部と、
データの生成を指示するデータ生成指示と、データの検索を指示するデータ検索指示とを入力する指示入力部と、
前記データ生成指示の入力があった際に、前記データ生成指示の入力時点で最新の秘密情報である生成時秘密情報で第1の演算を行って、生成時第1演算値データを生成し、前記データ検索指示の入力があった際に、前記データ検索指示の入力時点で最新の秘密情報である検索時秘密情報で第1の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを先行世代の秘密情報を用いた第1の演算を伴わない前記サーバ装置における第2の演算により導出可能な検索時第1演算値データを生成する第1演算実行部と、
前記第1演算実行部により生成された検索時第1演算値データを前記サーバ装置に送信する送信部とを有し、
前記サーバ装置は、
情報処理装置により生成された生成時第1演算値データ又は生成時第1演算値データに対して所定の演算がなされた後のデータを登録データとして記憶する登録データ記憶部と、
情報処理装置から送信された検索時第1演算値データを受信する受信部と、
前記受信部により受信された検索時第1演算値データで第2の演算を行って、先行第1演算値データを先行世代の各々に対して生成する第2演算実行部と、
検索時第1演算値データ及び前記第2演算実行部により生成された先行第1演算値データの少なくともいずれかと、前記登録データ記憶部内の登録データとを用いてデータの検索を行うデータ検索部とを有することを特徴とする情報処理システム。
An information processing system having a plurality of information processing devices and a server device,
Each information processing device
A secret information storage unit that stores secret information that is shared and updated with other information processing apparatuses each time it is updated;
An instruction input unit for inputting a data generation instruction for instructing generation of data and a data search instruction for instructing data search;
When the data generation instruction is input, the first calculation is performed with the generation secret information that is the latest secret information at the time of the input of the data generation instruction to generate the first calculation value data at the time of generation, When the data search instruction is input, the first calculation is performed on the search secret information that is the latest secret information at the time of the data search instruction input, and the previous generation preceding the search secret information is performed. At the time of retrieval in which the first calculation value data obtained when the first calculation is performed with the secret information can be derived by the second calculation in the server device without the first calculation using the secret information of the previous generation. A first calculation execution unit for generating first calculation value data;
A transmission unit that transmits the first calculation value data during search generated by the first calculation execution unit to the server device;
The server device
A registration data storage unit that stores, as registration data, first calculation value data at the time of generation generated by the information processing apparatus or data after a predetermined calculation is performed on the first calculation value data at the time of generation;
A receiving unit for receiving the first calculation value data at the time of search transmitted from the information processing device;
A second calculation execution unit that performs a second calculation on the first calculation value data at the time of search received by the receiving unit and generates the first calculation value data for each of the preceding generations;
A data search unit that searches for data using at least one of the first calculation value data at the time of search and the preceding first calculation value data generated by the second calculation execution unit, and the registration data in the registration data storage unit; An information processing system comprising:
記サーバ装置において、
前記第2演算実行部は、
前記検索時第1演算値データで第2の演算を行って、前記検索時秘密情報の1つ前の世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを生成し、以降、生成した先行第1演算値データで第2の演算を行う処理を繰返すことにより秘密情報の世代を順次遡って先行世代の各々の先行第1演算値データを生成することを特徴とする請求項1に記載の情報処理システム。
In the previous Symbol server device,
The second calculation execution unit includes:
The first calculation value data obtained when the second calculation is performed with the first calculation value data at the time of search and the first calculation is performed with the secret information of the generation immediately before the search secret information. And then, by repeating the process of performing the second calculation with the generated first first calculation value data, the first generation calculation value data of each of the previous generations is generated by sequentially tracing back the generation of the secret information. The information processing system according to claim 1.
前記サーバ装置において、
前記登録データ記憶部は、
情報処理装置により生成された生成時第1演算値データを登録データとして記憶し、
前記データ検索部は、
検索時第1演算値データ及び先行第1演算値データの少なくともいずれかと、前記登録データ記憶部内の生成時第1演算値データとを用いてデータの検索を行うことを特徴とする請求項1又は2に記載の情報処理システム。
In the server device,
The registered data storage unit
Storing the first calculation value data generated by the information processing device as registration data;
The data search unit
The data is searched using at least one of the first calculation value data at the time of retrieval and the first calculation value data at the preceding time and the first calculation value data at the time of generation in the registered data storage unit. 2. The information processing system according to 2.
各情報処理装置において、
前記指示入力部は、
平文の登録対象キーワードを含み、前記サーバ装置に内容を秘匿する暗号化キーワードを登録対象キーワードから生成するよう指示するデータ生成指示と、平文の検索対象キーワードを含み、検索対象キーワードを用いて暗号化キーワードを検索するよう指示するデータ検索指示とを入力し、
前記第1演算実行部は、
前記データ生成指示の入力があった際に、前記生成時秘密情報と前記登録対象キーワードで第1の演算を行って、生成時第1演算値データとして登録暗号化キーワードを生成し、前記データ検索指示の入力があった際に、前記検索時秘密情報と検索対象キーワードで第1の演算を行って、検索時第1演算値データを生成し、
前記サーバ装置において、
前記登録データ記憶部は、
情報処理装置により生成された登録暗号化キーワードと登録暗号化キーワードに関連するID(Identification)情報とを対応付けて登録データとして記憶し、
前記データ検索部は、
検索時第1演算値データ及び先行第1演算値データのうちのいずれかと値が一致する登録暗号化キーワードに対応付けられているID情報を検索することを特徴とする請求項3に記載の情報処理システム。
In each information processing device,
The instruction input unit includes:
A data generation instruction for instructing the server device to generate an encrypted keyword for concealing the contents from the registration target keyword, including a plain text registration target keyword, and a plaintext search target keyword, and encryption using the search target keyword Enter data search instructions to instruct you to search for keywords,
The first calculation execution unit includes:
When the data generation instruction is input, a first calculation is performed with the generation secret information and the registration target keyword to generate a registered encryption keyword as first calculation value data at the generation, and the data search When an instruction is input, a first calculation is performed using the search secret information and the search target keyword to generate first calculation value data during the search,
In the server device,
The registered data storage unit
A registration encryption keyword generated by the information processing device and ID (Identification) information related to the registration encryption keyword are associated with each other and stored as registration data.
The data search unit
4. The information according to claim 3, wherein ID information associated with a registered encryption keyword whose value matches one of the first calculated value data and the preceding first calculated value data at the time of search is searched. Processing system.
各情報処理装置は、更に、
前記第1演算実行部により生成された生成時第1演算値データで第3の演算を行って第3演算値データを生成する第3演算実行部を有し、
前記サーバ装置において、
前記登録データ記憶部は、
情報処理装置により生成された第3演算値データを登録データとして記憶し、
前記データ検索部は、
検索時第1演算値データ及び先行第1演算値データの各々で第3の演算を行って各々の第1演算値データに対応する第3演算値データを生成し、生成した第3演算値データの少なくともいずれかと、前記登録データ記憶部内の第3演算値データとを用いてデータの検索を行うことを特徴とする請求項1〜4のいずれかに記載の情報処理システム。
Each information processing device further
A third calculation execution unit for generating a third calculation value data by performing a third calculation on the first calculation value data generated at the time of generation by the first calculation execution unit;
In the server device,
The registered data storage unit
Storing the third calculation value data generated by the information processing device as registration data;
The data search unit
A third calculation value data corresponding to each first calculation value data is generated by performing a third calculation on each of the first calculation value data and the preceding first calculation value data at the time of search, and the generated third calculation value data 5. The information processing system according to claim 1, wherein data search is performed using at least one of the data and the third calculation value data in the registered data storage unit.
各情報処理装置において、
前記指示入力部は、
平文の登録対象キーワードを含み、前記サーバ装置に内容を秘匿する暗号化キーワードを登録対象キーワードから生成するよう指示するデータ生成指示と、平文の検索対象キーワードを含み、検索対象キーワードを用いて暗号化キーワードを検索するよう指示するデータ検索指示とを入力し、
前記第1演算実行部は、
前記データ生成指示の入力があった際に、前記生成時秘密情報と前記登録対象キーワードで第1の演算を行って、生成時第1演算値データを生成し、前記データ検索指示の入力があった際に、前記検索時秘密情報と検索対象キーワードで第1の演算を行って、検索時第1演算値データを生成し、
前記第3演算実行部は、
前記第1演算実行部により生成された生成時第1演算値データで第3の演算を行って、第3演算値データとして登録暗号化キーワードを生成し、
前記サーバ装置において、
前記登録データ記憶部は、
情報処理装置により生成された登録暗号化キーワードと登録暗号化キーワードに関連するID(Identification)情報とを対応付けて登録データとして記憶し、
前記データ検索部は、
検索時第1演算値データ及び先行第1演算値データの各々で第3の演算を行って各々の第1演算値データに関連する第3演算値データを生成し、生成した第3演算値データのうちのいずれかと値が一致する登録暗号化キーワードに対応付けられているID情報を検索することを特徴とする請求項5に記載の情報処理システム。
In each information processing device,
The instruction input unit includes:
A data generation instruction for instructing the server device to generate an encrypted keyword for concealing the contents from the registration target keyword, including a plain text registration target keyword, and a plaintext search target keyword, and encryption using the search target keyword Enter data search instructions to instruct you to search for keywords,
The first calculation execution unit includes:
When the data generation instruction is input, the first calculation is performed using the generation secret information and the registration target keyword to generate first calculation value data at the time of generation, and the data search instruction is input. A first calculation is performed with the search secret information and the search target keyword to generate first calculation value data during the search,
The third calculation execution unit
Performing a third operation on the generated first operation value data generated by the first operation execution unit to generate a registered encrypted keyword as the third operation value data;
In the server device,
The registered data storage unit
A registration encryption keyword generated by the information processing device and ID (Identification) information related to the registration encryption keyword are associated with each other and stored as registration data.
The data search unit
A third calculation value data related to each first calculation value data is generated by performing a third calculation on each of the first calculation value data and the preceding first calculation value data at the time of search, and the generated third calculation value data The information processing system according to claim 5, wherein ID information associated with a registered encryption keyword whose value matches one of the IDs is searched.
前記情報処理装置において、
前記第1演算実行部は、
第1の演算として、べき乗剰余演算を行い、
前記サーバ装置において、
前記第2演算実行部は、
第2の演算として、べき乗剰余演算を行うことを特徴とする請求項1〜6のいずれかに記載の情報処理システム。
In the information processing apparatus,
The first calculation execution unit includes:
As a first operation, a power-residue operation is performed,
In the server device,
The second calculation execution unit includes:
The information processing system according to claim 1, wherein a power-residue operation is performed as the second operation.
前記情報処理装置において、
前記第1演算実行部は、
生成時第1演算値データ又は検索時第1演算値データをtdとし、生成時秘密情報又は検索時秘密情報をkとし、生成時秘密情報又は検索時秘密情の世代数の値をiとし、キーワードをWとし、秘密情報の世代数の最大値をqとし、秘密情報の生成に用いられるパラメータをe1、e2及びNとした場合に、
td=(k×w^(e q−i))e2 modN
(^はべき乗を表し、modはモジュロ演算子を表す)
により第1の演算を行って、生成時第1演算値データ又は検索時第1演算値データを生成し、
前記サーバ装置において、
前記第2演算実行部は、
生成対象の先行第1演算値データをtdj−1とし、先行第1演算値データtdj−1に対応する秘密情報の世代数の値をj−1とし、世代数j−1の秘密情報の1つ後の世代の秘密情報の世代数の値をjとし、世代数jの秘密情報に対応する第1演算値データをtdとした場合に、
tdj−1=td e1 modN
により第2の演算を行って、先行第1演算値データを生成することを特徴とする請求項7に記載の情報処理システム。
In the information processing apparatus,
The first calculation execution unit includes:
The first calculated value data at the time of generation or the first calculated value data at the time of search is set to td i , the secret information at the time of generation or the secret information at the time of search is set to k i, and the generation number value of the secret information at the time of generation or the secret information at the time of search is set to i When the keyword is W, the maximum number of generations of secret information is q, and the parameters used for generating secret information are e1, e2, and N,
td i = (k i × w ^ (e 1 q−i )) e 2 mod N
(^ Represents power, mod represents modulo operator)
To generate the first calculation value data at the time of generation or the first calculation value data at the time of search,
In the server device,
The second calculation execution unit includes:
The preceding first operation value data to be generated is td j−1 , the generation number value of the secret information corresponding to the preceding first operation value data td j−1 is j−1, and the secret information of the generation number j−1. If the value of the generation number of the secret information of the next generation of j is j and the first calculation value data corresponding to the secret information of the generation number j is td j ,
td j-1 = td j e1 modN
The information processing system according to claim 7, wherein the second calculation is performed to generate preceding first calculation value data.
サーバ装置に接続される情報処理装置であって、
更新されていく秘密情報を更新の度に記憶する秘密情報記憶部と、
データの検索を指示するデータ検索指示を入力する指示入力部と、
前記データ検索指示の入力時点で最新の秘密情報である検索時秘密情報で第1の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを先行世代の秘密情報を用いた第1の演算を伴わない前記サーバ装置における第2の演算により導出可能な検索時第1演算値データを生成する第1演算実行部と、
前記第1演算実行部により生成された検索時第1演算値データを前記サーバ装置に送信する送信部とを有することを特徴とする情報処理装置。
An information processing device connected to a server device,
A secret information storage unit for storing secret information to be updated at each update;
An instruction input unit for inputting a data search instruction for instructing data search;
When the first calculation is performed with the search secret information that is the latest secret information at the time of inputting the data search instruction, and the first calculation is performed with the secret information of the previous generation preceding the search secret information First calculation execution for generating first calculation value data at the time of retrieval that can be derived from the first calculation value data obtained by the second calculation in the server device without the first calculation using the secret information of the previous generation. And
An information processing apparatus comprising: a transmission unit configured to transmit the first calculation value data at the time of search generated by the first calculation execution unit to the server device.
前記第1演算実行部は、
前記サーバ装置が前記検索時第1演算値データで第2の演算を行うと前記検索時秘密情報の1つ前の世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを生成でき、以降、生成された先行第1演算値データで第2の演算を行う処理を繰返すことにより秘密情報の世代を順次遡って先行世代の各々の先行第1演算値データを生成できる第1の演算を前記検索時秘密情報で行って、前記検索時第1演算値データを生成することを特徴とする請求項に記載の情報処理装置。
The first calculation execution unit includes:
If the server device performs the second operation with the first operation value data at the time of search, the first operation that is obtained when the first operation is performed with the secret information of the previous generation of the secret information at the time of search Value data can be generated, and thereafter the first calculation value data of each of the preceding generations is generated by sequentially going back the generation of the secret information by repeating the process of performing the second calculation with the generated preceding first calculation value data. 10. The information processing apparatus according to claim 9 , wherein a first calculation that can be performed is performed on the search secret information to generate the first calculation value data during the search.
秘密情報が更新される度に更新後の秘密情報を記憶する情報処理装置に接続されるサーバ装置であって、
情報処理装置が、データの生成を指示するデータ生成指示を入力した時点における最新の秘密情報である生成時秘密情報で第1の演算を行って生成した生成時第1演算値データ又は生成時第1演算値データに対して所定の演算がなされた後のデータを、登録データとして記憶する登録データ記憶部と、
情報処理装置が、データの検索を指示するデータ検索指示を入力した時点における最新の秘密情報である検索時秘密情報で第1の演算を行って生成した検索時第1演算値データを、受信する受信部と、
前記受信部により受信された検索時第1演算値データで第2の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを、先行世代の秘密情報を用いた第1の演算を行わずに先行世代の各々に対して生成する第2演算実行部と、
検索時第1演算値データ及び前記第2演算実行部により生成された先行第1演算値データの少なくともいずれかと、前記登録データ記憶部内の登録データとを用いてデータの検索を行うデータ検索部とを有することを特徴とするサーバ装置。
A server device connected to an information processing device for storing updated secret information every time secret information is updated,
The first calculation value data at the time of generation or the first value at the time of generation generated by performing the first calculation on the secret information at the time of generation, which is the latest secret information at the time when the data processing instruction for instructing the generation of data is input. A registered data storage unit for storing data after a predetermined calculation is performed on one calculated value data as registered data;
The information processing device receives the first calculation value data at the time of search generated by performing the first calculation on the secret information at the time of search, which is the latest secret information at the time of inputting the data search instruction for instructing the search of data. A receiver,
The second calculation is performed on the first calculation value data at the time of search received by the receiving unit, and the first calculation obtained when the first calculation is performed on the secret information of the previous generation preceding the secret information at the time of search. A second calculation execution unit that generates one calculation value data for each of the preceding generations without performing the first calculation using the secret information of the preceding generation;
A data search unit that searches for data using at least one of the first calculation value data at the time of search and the preceding first calculation value data generated by the second calculation execution unit, and the registration data in the registration data storage unit; The server apparatus characterized by having.
前記第2演算実行部は、
前記検索時第1演算値データで第2の演算を行って、前記検索時秘密情報の1つ前の世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを生成し、以降、生成した先行第1演算値データで第2の演算を行う処理を繰返すことにより秘密情報の世代を順次遡って先行世代の各々の先行第1演算値データを生成することを特徴とする請求項11に記載のサーバ装置。
The second calculation execution unit includes:
The first calculation value data obtained when the second calculation is performed with the first calculation value data at the time of search and the first calculation is performed with the secret information of the generation immediately before the search secret information. And then, by repeating the process of performing the second calculation with the generated first first calculation value data, the first generation calculation value data of each of the previous generations is generated by sequentially tracing back the generation of the secret information. The server device according to claim 11 .
サーバ装置に接続される情報処理装置が行う情報処理方法であって、
更新されていく秘密情報を更新の度に記憶する秘密情報記憶ステップと、
データの検索を指示するデータ検索指示を入力する指示入力ステップと、
前記データ検索指示の入力があった際に、前記データ検索指示の入力時点で最新の秘密情報である検索時秘密情報で第1の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを先行世代の秘密情報を用いた第1の演算を伴わない前記サーバ装置における第2の演算により導出可能な検索時第1演算値データを生成する第1演算実行ステップと、
前記第1演算実行ステップにより生成された検索時第1演算値データを前記サーバ装置に送信する送信ステップとを有することを特徴とする情報処理方法。
An information processing method performed by an information processing apparatus connected to a server apparatus,
Secret information storage step for storing secret information to be updated every time it is updated;
An instruction input step for inputting a data search instruction for instructing data search;
When the data search instruction is input, the first calculation is performed on the search secret information that is the latest secret information at the time of the data search instruction input, and the previous generation preceding the search secret information is performed. At the time of retrieval in which the first calculation value data obtained when the first calculation is performed with the secret information can be derived by the second calculation in the server device without the first calculation using the secret information of the previous generation. A first calculation execution step for generating first calculation value data;
An information processing method comprising: a transmission step of transmitting the first calculation value data at the time of search generated by the first calculation execution step to the server device.
秘密情報が更新される度に更新後の秘密情報を記憶する情報処理装置に接続されるサーバ装置が行う情報処理方法であって、
情報処理装置が、データの生成を指示するデータ生成指示を入力した時点における最新の秘密情報である生成時秘密情報で第1の演算を行って生成した生成時第1演算値データ又は生成時第1演算値データに対して所定の演算がなされた後のデータを、登録データとして記憶する登録データ記憶ステップと、
情報処理装置が、データの検索を指示するデータ検索指示を入力した時点における最新の秘密情報である検索時秘密情報で第1の演算を行って生成した検索時第1演算値データを、受信する受信ステップと、
前記受信ステップにより受信された検索時第1演算値データで第2の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを、先行世代の秘密情報を用いた第1の演算を行わずに先行世代の各々に対して生成する第2演算実行ステップと、
検索時第1演算値データ及び前記第2演算実行ステップにより生成された先行第1演算値データの少なくともいずれかと、前記登録データ記憶ステップにより記憶されている登録データとを用いてデータの検索を行うデータ検索ステップとを有することを特徴とする情報処理方法。
An information processing method performed by a server device connected to an information processing device that stores updated secret information every time secret information is updated,
The first calculation value data at the time of generation or the first value at the time of generation generated by performing the first calculation on the secret information at the time of generation, which is the latest secret information at the time when the data processing instruction for instructing the generation of data is input A registered data storing step for storing data after a predetermined calculation is performed on one calculated value data as registered data;
The information processing device receives the first calculation value data at the time of search generated by performing the first calculation on the secret information at the time of search, which is the latest secret information at the time of inputting the data search instruction for instructing the search of data. Receiving step;
The second calculation is performed on the first calculation value data at the time of search received in the receiving step, and the first calculation obtained when the first calculation is performed on the secret information of the previous generation preceding the secret information at the time of search. A second calculation execution step of generating one calculation value data for each of the preceding generations without performing the first calculation using the secret information of the preceding generation;
Data search is performed using at least one of the first calculation value data at the time of search and the preceding first calculation value data generated by the second calculation execution step and the registration data stored by the registration data storage step. And a data search step.
サーバ装置に接続される情報処理装置に、
更新されていく秘密情報を更新の度に記憶する秘密情報記憶処理と、
データの検索を指示するデータ検索指示を入力する指示入力処理と、
前記データ検索指示の入力があった際に、前記データ検索指示の入力時点で最新の秘密情報である検索時秘密情報で第1の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを先行世代の秘密情報を用いた第1の演算を伴わない前記サーバ装置における第2の演算により導出可能な検索時第1演算値データを生成する第1演算実行処理と、
前記第1演算実行処理により生成された検索時第1演算値データを前記サーバ装置に送信する送信処理とを実行させることを特徴とするプログラム。
In the information processing device connected to the server device,
Secret information storage processing for storing secret information to be updated every time it is updated,
An instruction input process for inputting a data search instruction for instructing a data search;
When the data search instruction is input, the first calculation is performed on the search secret information that is the latest secret information at the time of the data search instruction input, and the previous generation preceding the search secret information is performed. At the time of retrieval in which the first calculation value data obtained when the first calculation is performed with the secret information can be derived by the second calculation in the server device without the first calculation using the secret information of the previous generation. A first calculation execution process for generating first calculation value data;
A program for executing a search process for transmitting the first calculation value data at the time of search generated by the first calculation execution process to the server device.
秘密情報が更新される度に更新後の秘密情報を記憶する情報処理装置に接続されるサーバ装置に、
情報処理装置が、データの生成を指示するデータ生成指示を入力した時点における最新の秘密情報である生成時秘密情報で第1の演算を行って生成した生成時第1演算値データ又は生成時第1演算値データに対して所定の演算がなされた後のデータを、登録データとして記憶する登録データ記憶処理と、
情報処理装置が、データの検索を指示するデータ検索指示を入力した時点における最新の秘密情報である検索時秘密情報で第1の演算を行って生成した検索時第1演算値データを、受信する受信処理と、
前記受信処理により受信された検索時第1演算値データで第2の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを、先行世代の秘密情報を用いた第1の演算を行わずに先行世代の各々に対して生成する第2演算実行処理と、
検索時第1演算値データ及び前記第2演算実行処理により生成された先行第1演算値データの少なくともいずれかと、前記登録データ記憶処理により記憶されている登録データとを用いてデータの検索を行うデータ検索処理とを実行させることを特徴とするプログラム。
The server device connected to the information processing device that stores the updated secret information every time the secret information is updated,
The first calculation value data at the time of generation or the first value at the time of generation generated by performing the first calculation on the secret information at the time of generation, which is the latest secret information at the time when the data processing instruction for instructing the generation of data is input. A registered data storage process for storing data after a predetermined calculation is performed on one calculated value data as registered data;
The information processing device receives the first calculation value data at the time of search generated by performing the first calculation on the secret information at the time of search, which is the latest secret information at the time of inputting the data search instruction for instructing the search of data. Receive processing,
The second calculation is performed with the first calculation value data at the time of search received by the reception process, and the first calculation obtained when the first calculation is performed with the secret information of the previous generation preceding the secret information at the time of search. A second calculation execution process for generating one calculation value data for each of the preceding generations without performing the first calculation using the secret information of the previous generation;
Data search is performed using at least one of the first calculation value data at the time of search and the preceding first calculation value data generated by the second calculation execution process and the registration data stored by the registration data storage process. A program for executing data search processing.
JP2009160755A 2009-07-07 2009-07-07 Information processing system, information processing apparatus, server apparatus, information processing method, and program Expired - Fee Related JP5388727B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009160755A JP5388727B2 (en) 2009-07-07 2009-07-07 Information processing system, information processing apparatus, server apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009160755A JP5388727B2 (en) 2009-07-07 2009-07-07 Information processing system, information processing apparatus, server apparatus, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2011018976A JP2011018976A (en) 2011-01-27
JP5388727B2 true JP5388727B2 (en) 2014-01-15

Family

ID=43596457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009160755A Expired - Fee Related JP5388727B2 (en) 2009-07-07 2009-07-07 Information processing system, information processing apparatus, server apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP5388727B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5441726B2 (en) * 2010-01-14 2014-03-12 三菱電機株式会社 Information processing system, management device, server device, and information processing device
JP5442161B2 (en) * 2011-02-22 2014-03-12 三菱電機株式会社 SEARCH SYSTEM, SEARCH SYSTEM SEARCH METHOD, INFORMATION PROCESSING DEVICE, SEARCH PROGRAM, Corresponding Keyword Management Device, and Corresponding Keyword Management Program
CN106972167A (en) 2011-09-30 2017-07-21 旭硝子株式会社 Positive electrode active material for lithium ion secondary battery and its manufacture method
JP5816299B2 (en) * 2011-12-01 2015-11-18 株式会社日立製作所 Secret search method and secret search device
JP5800721B2 (en) * 2012-01-24 2015-10-28 三菱電機株式会社 Search device, search terminal device, data registration device, search method, search program, data registration method, and data registration program
JP6089881B2 (en) * 2013-03-28 2017-03-08 富士通株式会社 Data search method, data addition / update method, data search program, and relay device
US20190340389A1 (en) * 2017-01-27 2019-11-07 Mitsubishi Electric Corporation Search device, monitoring system, and computer readable medium
CN112784309B (en) * 2021-02-20 2022-08-23 青岛大学 Data security management method, electronic device and storage medium

Also Published As

Publication number Publication date
JP2011018976A (en) 2011-01-27

Similar Documents

Publication Publication Date Title
JP5388727B2 (en) Information processing system, information processing apparatus, server apparatus, information processing method, and program
JP5679018B2 (en) Database encryption system, method and program
JP5963936B2 (en) Server device, secret search program, recording medium, and secret search system
JP5420085B2 (en) Data processing device and data storage device
JP6048414B2 (en) Database apparatus, method and program
JP5084817B2 (en) Ciphertext indexing and retrieval method and apparatus
Li et al. Efficient keyword search over encrypted data with fine-grained access control in hybrid cloud
US9418238B2 (en) Search system, search method of search system, and information processing device
CN107077469B (en) Server device, search system, terminal device, and search method
Van Rompay et al. Multi-user searchable encryption in the cloud
JP6770075B2 (en) Encrypted message search method, message sending / receiving system, terminal, program
JP2010517448A (en) Secure file encryption
JP2007114494A (en) Secrecy computing method and device
CN111753312B (en) Data processing method, device, equipment and system
US10673627B2 (en) Encryption device, search device, computer readable medium, encryption method, and search method
Ren et al. Privacy-preserving ranked multi-keyword search leveraging polynomial function in cloud computing
Bandaru et al. Block chain enabled auditing with optimal multi‐key homomorphic encryption technique for public cloud computing environment
US8499357B1 (en) Signing a library file to verify a callback function
KR101217491B1 (en) A method for searching keyword based on public key
JP5441726B2 (en) Information processing system, management device, server device, and information processing device
Tosun et al. FSDS: A practical and fully secure document similarity search over encrypted data with lightweight client
JP6381861B2 (en) Registration destination determination device, registration device, secret search system, registration destination determination method, and registration destination determination program
JP5213839B2 (en) Method and apparatus for k-anonymity update for encrypted transposed index table
Sude et al. Authenticated CRF based improved ranked multi-keyword search for multi-owner model in cloud computing
Liu et al. ESMAC: Efficient and secure multi-owner access control with TEE in multi-level data processing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130826

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131008

R150 Certificate of patent or registration of utility model

Ref document number: 5388727

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees