JP2013161154A - Retrieval system, retrieval method and retrieval program - Google Patents
Retrieval system, retrieval method and retrieval program Download PDFInfo
- Publication number
- JP2013161154A JP2013161154A JP2012020691A JP2012020691A JP2013161154A JP 2013161154 A JP2013161154 A JP 2013161154A JP 2012020691 A JP2012020691 A JP 2012020691A JP 2012020691 A JP2012020691 A JP 2012020691A JP 2013161154 A JP2013161154 A JP 2013161154A
- Authority
- JP
- Japan
- Prior art keywords
- files
- keyword
- verification
- server
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、検索システム、検索方法、および、検索プログラムに関し、特に、キーワード検索におけるサーバの不正を検出可能な検索システム、検索方法、および、検索プログラムに関する。 The present invention relates to a search system, a search method, and a search program, and more particularly, to a search system, a search method, and a search program that can detect server fraud in keyword search.
この技術分野において周知のように、Yahoo!データボックスなどのデータストレージ(データ保管)サービスにおいては、ユーザ端末は、写真などの多くのファイルを(Yahoo!データボックスなどの)サーバに格納し、保管することができる。また、ユーザ端末は、ファイル名についてキーワード検索を行って、サーバから所望のファイルの集合を取得することもできる。尚、ユーザ端末は、クライアントとも呼ばれる。 As is well known in this technical field, in data storage (data storage) services such as Yahoo! Data Box, user terminals store and store many files such as photos on a server (such as Yahoo! Data Box). can do. The user terminal can also perform a keyword search for the file name and acquire a desired set of files from the server. The user terminal is also called a client.
これに対して、非特許文献1は、ファイルおよびキーワード検索の際、サーバに対し内容を秘匿する暗号化検索方式を開示している。この暗号化検索方式は、ファイルとキーワードとを暗号化する方式である。
On the other hand, Non-Patent
一方、悪意のあるサーバ、あるいはウィルスに汚染されたサーバは、キーワード検索の際、対応する全てのファイルを正しく返すのではなく、ファイルの一部を削除、追加、改ざん、あるいはすり替えてしまう、といった不正を行うことが考えられる。 On the other hand, a malicious server or a virus-contaminated server does not return all the corresponding files correctly when searching for keywords, but deletes, adds, alters, or replaces some of the files. It is possible to cheat.
この問題に対し、上記非特許文献1では、ファイルの削除、追加、改ざんをユーザ端末が検出できる検索システムを開示している。以下では、この非特許文献1に開示された検索システムを、「先行検索システム」と呼ぶことにする。
In response to this problem, Non-Patent
尚、一般に、検索システムの動作は、ユーザ端末がファイルをサーバに格納する「格納フェーズ」と、ユーザ端末がサーバから所望のファイルを検索する「検索フェーズ」と、に分けられる。 In general, the operation of the search system is divided into a “storage phase” in which the user terminal stores a file in the server and a “search phase” in which the user terminal searches for a desired file from the server.
以下、先行検索システムの概略の動作について説明する。 The general operation of the advance search system will be described below.
格納フェーズにおいて、ユーザ端末は、各ファイルDnの暗号文E(Dn)と当該暗号文のデジタル署名sign(E(Dn))とを一組(E(Dn), sign(E(Dn)))として、サーバに格納する。ここで、nは1以上N以下の整数であって(1≦n≦N)、Nはファイルの総数である。また、ユーザ端末は、各キーワードiを含むファイル数のデジタル署名Yiも、サーバに格納する。ここで、iはは1以上I以下の整数であって(1≦i≦I)、Iはキーワードの総数である。 In the storage phase, the user terminal sets a set (E (Dn), sign (E (Dn))) of the ciphertext E (Dn) of each file Dn and the digital signature sign (E (Dn)) of the ciphertext. Is stored in the server. Here, n is an integer of 1 to N (1 ≦ n ≦ N), and N is the total number of files. The user terminal also stores the digital signature Yi of the number of files including each keyword i in the server. Here, i is an integer between 1 and I (1 ≦ i ≦ I), and I is the total number of keywords.
検索フェーズにおいて、ユーザ端末は、キーワードiの暗号文E(キーワードi)をサーバへ送る。そのとき、サーバは、キーワードiを含む各組(E(Dn), sign(E(Dn)))とその対応するデジタル署名Yiと、をユーザ端末へ返す。ユーザ端末では、返送された各組のデジタル署名sign(E(Dn))をチェックすることにより、当該ファイルDnの改ざんを検出することができる。また、ユーザ端末は、返送されたデジタル署名Yiをチェックすることにより、キーワードiを含むファイル数の変化を検出することができる。 In the search phase, the user terminal sends the ciphertext E (keyword i) of the keyword i to the server. At that time, the server returns each set (E (Dn), sign (E (Dn))) including the keyword i and the corresponding digital signature Yi to the user terminal. The user terminal can detect falsification of the file Dn by checking each returned digital signature sign (E (Dn)). Further, the user terminal can detect a change in the number of files including the keyword i by checking the returned digital signature Yi.
しかしながら、非特許文献1に開示された先行検索システムでは、サーバの不正として、ファイルのすり替えを検出することができない。その理由は、次の通りである。
However, the prior search system disclosed in Non-Patent
例えば、ファイルDnが別のファイルDmにすり替えられたとする(n≠m)。この場合、上記キーワードiの暗号文E(キーワードi)に応答して、サーバは、ユーザ端末へ各組(E(Dn), sign(E(Dn)))のいずれか1つを別の組(E(Dm), sign(E(Dm)))にすり替えて返送することになる。ユーザ端末では、上述したように、デジタル署名sign(E(Dn))またはsign(E(Dm))をチェックするだけなので、ファイルDnが別のファイルDmにすり替えられたのを判断することができない。また、ユーザ端末には、デジタル署名Yiが返送されるが、すり替えの場合はファイル数が変化しないので、正しいと判断してしまう。よって、ファイルのすり替えを自動的に検出することができない。 For example, it is assumed that the file Dn is replaced with another file Dm (n ≠ m). In this case, in response to the ciphertext E (keyword i) of the keyword i, the server sends one of each pair (E (Dn), sign (E (Dn))) to the user terminal to another pair. It will be returned to (E (Dm), sign (E (Dm))). Since the user terminal only checks the digital signature sign (E (Dn)) or sign (E (Dm)) as described above, it cannot be determined that the file Dn has been replaced with another file Dm. . In addition, the digital signature Yi is returned to the user terminal, but in the case of replacement, the number of files does not change, so it is determined to be correct. Therefore, file replacement cannot be automatically detected.
尚、非特許文献1では、ユーザ自身が、人手により、ファイルDmがキーワードiを含むかをチェックすることにより、ファイルのすり替えをチェックできると記載(主張)している。しかしながら、ファイルDn、Dmが写真などの場合、そのようなチェックを行うことは不可能である。
In
したがって本発明の目的は、サーバの不正として、ファイルの削除、追加、改ざんのみならず、ファイルのすり替えをも検出できる、検索システム、検索方法、および検索プログラムを提供することにある。 Accordingly, an object of the present invention is to provide a search system, a search method, and a search program capable of detecting not only file deletion, addition, and alteration but also file replacement as a server fraud.
本発明の第1の態様に係る検索システムは、ユーザ端末がサーバに複数のファイルを保管し、ユーザ端末がキーワード検索によってサーバから所望のファイルの集合を取得する検索システムであって、ユーザ端末は、複数のファイルをサーバに保管するファイル保管手段と、キーワードと当該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、この生成した検証情報をサーバに保管する検証情報生成部と、検索キーワードをサーバへ送って、サーバから検索キーワードを含むファイルの集合と検索キーワードに対応する検証情報とを取得するファイル取得手段と、この取得した検証情報が、検索キーワードと取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して取得したファイルの集合を所望のファイルの集合として得、そうでなければ拒否する検証部と、を備える。 A search system according to a first aspect of the present invention is a search system in which a user terminal stores a plurality of files in a server, and the user terminal acquires a set of desired files from the server by keyword search. Generating verification information according to a predetermined generation algorithm for a file storage means for storing a plurality of files in a server and a generation set of a keyword and a set of all files including the keyword, and generating the verification information A verification information generation unit to be stored in the server, a file acquisition means for transmitting a search keyword to the server, and acquiring a set of files including the search keyword and verification information corresponding to the search keyword from the server, and the acquired verification information , Whether or not the verification information of the verification pair between the search keyword and the set of acquired files is predetermined Checked by verification algorithm, to obtain a set of files acquired approved is correct a check result as a set of desired file, and a reject verification unit otherwise.
本発明の第2の態様による検索システムは、ユーザ端末がサーバに複数の暗号ファイルを保管し、ユーザ端末がキーワード検索によってサーバから所望のファイルの集合を取得する検索システムであって、ユーザ端末は、暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、複数の暗号ファイルをサーバに保管する暗号ファイル保管手段と、キーワードと当該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、その生成した検証情報をサーバに保管する検証情報生成部と、暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードをサーバへ送って、サーバから暗号検索キーワードを含む暗号ファイルの集合と検索キーワードに対応する検証情報とを取得する暗号ファイル取得手段と、その取得した検証情報が、検索キーワードと取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して取得した暗号ファイルの集合を復号して所望のファイルの集合を得、そうでなければ拒否する検証部と、を備える。 A search system according to a second aspect of the present invention is a search system in which a user terminal stores a plurality of encrypted files in a server, and the user terminal acquires a set of desired files from the server by keyword search. A cryptographic file storage means for encrypting a plurality of files using an encryption private key and storing the plurality of encrypted files on a server, and a generation set of a keyword and a set of all encrypted files including the keyword On the other hand, a verification information generation unit that generates verification information according to a predetermined generation algorithm, stores the generated verification information in the server, and an encrypted search keyword obtained by encrypting the search keyword using the encryption secret key To the set of encrypted files containing the encrypted search keyword and the search corresponding to the searched keyword. The encryption file acquisition means for acquiring information, and whether the acquired verification information is verification information of a verification pair between the search keyword and the acquired set of encrypted files is checked by a predetermined verification algorithm. A verification unit that decrypts a set of encrypted files that are approved and acquired if the result is correct, obtains a desired set of files, and rejects otherwise.
本発明では、キーワードと当該キーワードを含む全てのファイル(暗号ファイル)の集合との生成用組に対して所定のアルゴリズムに従って検証情報を生成し、その生成した検証情報をサーバに保管しているので、サーバの不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えをも検出することができる。 In the present invention, verification information is generated according to a predetermined algorithm for a generation set of a keyword and a set of all files (encrypted files) including the keyword, and the generated verification information is stored in the server. It is possible to detect not only file deletion, addition, and alteration as well as file replacement as a server fraud.
[概要]
以下、本発明の実施形態の概要について説明する。
[Overview]
Hereinafter, an outline of an embodiment of the present invention will be described.
本発明の実施形態による検索システムは、キーワード検索におけるサーバの不正を検出するシステムであるが、サーバの不正として、ファイルの「削除」、「追加」、「改ざん」のみならず、ファイルの「すり替え」をも検出できる検索システムである。 The search system according to the embodiment of the present invention is a system that detects server fraud in keyword search. However, as server fraud, not only “deletion”, “addition”, and “tampering” of files but also “replacement” of files. It is a search system that can detect "
本実施形態に係る検索システムは、ファイルが暗号化されている場合と、ファイルが暗号化されていない場合との両者に適用できる。また、この技術分野において周知のように、メッセージの認証機能には、デジタル署名を利用する場合と、メッセージ認証コード(Message Authentication code,MAC)を利用して認証子を生成する場合とがある。なお、デジタル署名と認証子とは、総称して、検証情報と呼ばれる。従って、本実施形態に係る検索システムは、以下の第1乃至第4の実施形態に分けられる。 The search system according to the present embodiment can be applied to both a case where a file is encrypted and a case where a file is not encrypted. As is well known in this technical field, the message authentication function includes a case where a digital signature is used and a case where an authenticator is generated using a message authentication code (Message Authentication Code, MAC). The digital signature and the authenticator are collectively referred to as verification information. Therefore, the search system according to this embodiment is divided into the following first to fourth embodiments.
一般に、検証情報は、所定の生成アルゴリズムによって生成され、所定の検証アルゴリズムによって検証(チェック)される。検証情報がデジタル署名の場合、所定の生成アルゴリズムは署名生成アルゴリズムから成り、所定の検証アルゴリズムは署名検証アルゴリズムから成る。一方、検証情報が認証子の場合、所定の生成アルゴリズムはMAC生成アルゴリズムから成り、所定の検証アルゴリズムはMAC検証アルゴリズムから成る。 In general, the verification information is generated by a predetermined generation algorithm and verified (checked) by the predetermined verification algorithm. When the verification information is a digital signature, the predetermined generation algorithm is a signature generation algorithm, and the predetermined verification algorithm is a signature verification algorithm. On the other hand, when the verification information is an authenticator, the predetermined generation algorithm is a MAC generation algorithm, and the predetermined verification algorithm is a MAC verification algorithm.
本発明の第1の実施形態に係る検索システムは、ユーザ端末がファイルを暗号化せずにサーバに保管する場合であって、メッセージの認証機能(検証情報)としてデジタル署名を利用する検索システムである。 The search system according to the first embodiment of the present invention is a search system that uses a digital signature as a message authentication function (verification information) when a user terminal stores a file in a server without encryption. is there.
このようなユーザ端末がファイルを暗号化せずにサーバに保管する場合、従来においては、サーバの不正を検出する方法は知られていない。本第1の実施形態に係る検索システムでは、このような場合においても、後述するように、サーバの不正を検出することができる。 When such a user terminal stores a file in the server without encrypting it, conventionally, a method for detecting fraud of the server is not known. In such a case, the search system according to the first embodiment can detect server fraud as described later.
本発明の第2の実施形態に係る検索システムは、ユーザ端末がファイルを暗号化せずにサーバに保管する場合であって、メッセージの認証機能(検証情報)としてMAC(認証子)を利用する検索システムである。 The search system according to the second embodiment of the present invention is a case where a user terminal stores a file in a server without encrypting the file, and uses a MAC (authenticator) as a message authentication function (verification information). Search system.
この技術分野において周知のように、デジタル署名とは異なり、MACは裁判での証拠能力がない。その代わりに、デジタル署名と比較して、MACは高速であるという利点がある。 As is well known in the art, unlike digital signatures, MACs are not capable of trial evidence. Instead, MAC has the advantage of being faster than digital signatures.
本発明の第3の実施形態に係る検索システムは、ユーザ端末がファイルおよびキーワードを暗号化してサーバに保管する場合であって、メッセージの認証機能(検証情報)としてデジタル署名を利用する検索システムである。 The search system according to the third embodiment of the present invention is a search system in which a user terminal encrypts a file and a keyword and stores them in a server, and uses a digital signature as a message authentication function (verification information). is there.
前述したように、先行検索システムでは、ユーザ端末は、サーバの不正として、ファイルの削除、追加、改ざんのみを検出できる。これに対して、本第3の実施形態に係る検索システムでは、それらに加え、ファイルのすり替えをも検出できる。また、先行検索システムに比べ、本第3の実施形態に係る検索システムは通信量も少ない。 As described above, in the preceding search system, the user terminal can detect only the deletion, addition, and alteration of the file as the server fraud. In contrast, in the search system according to the third embodiment, in addition to them, file replacement can also be detected. Further, the search system according to the third embodiment has a smaller communication volume than the preceding search system.
本発明の第4の実施形態に係る検索システムは、ユーザ端末がファイルおよびキーワードを暗号化してサーバに保管する場合であって、メッセージの認証機能(検証情報)としてMAC(認証子)を利用する検索システムである。 The search system according to the fourth embodiment of the present invention is a case where a user terminal encrypts a file and a keyword and stores them in a server, and uses a MAC (authenticator) as a message authentication function (verification information). Search system.
尚、前述したように、検索システムの動作は、ユーザ端末がファイル(暗号ファイル)をサーバに格納する「格納フェーズ」と、ユーザ端末がサーバから所望のファイルを検索する「検索フェーズ」と、に分けられる。 As described above, the search system operates in a “storage phase” in which the user terminal stores a file (encrypted file) in the server and a “search phase” in which the user terminal searches for a desired file from the server. Divided.
以下、図面を参照して、本発明の第1乃至第4の実施形態に係る検索システムについて説明する。 Hereinafter, a search system according to first to fourth embodiments of the present invention will be described with reference to the drawings.
[第1の実施形態]
図1および図2を参照して、本発明の第1の実施形態に係る検索システム100について説明する。図示の第1の実施形態に係る検索システム100は、ユーザ端末200と、サーバ300とから構成される。
[First Embodiment]
A
検索システム100は、ユーザ端末200が複数のファイルをサーバ300に保管し、ユーザ端末200がキーワード検索によってサーバ300から所望のファイルの集合を取得するシステムである。
The
先ず、図1を参照して、本発明の第1の実施形態に係る検索システム100における格納フェーズについて説明する。
First, the storage phase in the
格納フェーズにおいては、ユーザ端末200は、以下の動作を行う。
In the storage phase, the
先ず、ユーザ端末200は、N(Nは1以上の整数)個のファイルである、ファイル1、・・・、ファイルNをサーバ300に保管する。また、必要に応じ、ユーザ端末200は、索引を生成し、その生成した索引をサーバ300に保管する。ここで、索引とは、キーワードとファイルとの対応表のことをいう。
First, the
ユーザ端末200は、鍵生成アルゴリズムに従って、デジタル署名の公開鍵vkと秘密鍵skとを生成する。ここで、ユーザ端末200は、公開鍵vkを公開し、秘密鍵skを秘密に保持する。尚、公開鍵vkは検証鍵又は検査鍵とも呼ばれ、秘密鍵skは署名鍵又は生成鍵とも呼ばれる。
The
次に、ユーザ端末200は、各キーワードについて、以下の動作を行う。ここで、キーワードの総数がI(Iは1以上の整数)個であるとし、キーワード1、・・・、キーワードIから成るとする。キーワードi(1≦i≦I)を含むファイルの集合Piを下記の数式のようにおく。
Pi={ファイルj|ファイルjはキーワードiを含む}
Next, the
P i = {file j | file j contains keyword i}
ユーザ端末200は、秘密鍵skを使い、キーワードiと当該キーワードiを含む全てのファイルの集合Piとの生成用組(キーワードi、Pi)に対するデジタル署名σiを、署名生成アルゴリズムに従って下記の数式のように生成する。
σi=sign{キーワードi、Pi}
The
σ i = sign {keyword i, P i }
そして、ユーザ端末200は、この生成したデジタル署名σiをサーバ300に保管する。
Then, the
次に、図2を参照して、本発明の第1の実施形態に係る検索システム100における検索フェーズについて説明する。
Next, a search phase in the
検索フェーズにおいて、ユーザ端末200のユーザがキーワードiについて検索したいと仮定する。したがって、キーワードiが検索キーワードiである。
Assume that the user of the
この場合、ユーザ端末200は、検索キーワードiをサーバ300に送る。図2では、検索キーワードとしてキーワード1をサーバ300に送る場合の例を示している。この例では、キーワード1を含むファイルの集合P1が、以下の数式であるとしている。
P1={ファイル2、ファイル5}
In this case, the
P 1 = {
したがって、そのデジタル署名σ1は、以下の数式で表わされる。
σ1=sign(キーワード1、ファイル2、ファイル5)
Therefore, the digital signature σ 1 is expressed by the following mathematical formula.
σ 1 = sign (
サーバ300は、検索キーワードiを含むファイルの集合Piと当該検索キーワードiに対応するデジタル署名σiとをユーザ端末200へ返す。したがって、ユーザ端末200は、ファイルの集合Piとデジタル署名σiとを取得する。
The
次に、ユーザ端末200は、公開鍵vkを使い、取得したデジタル署名σiが検索キーワードiと取得したファイルの集合Piとの検証用組(キーワードi、Pi)のデジタル署名であるか否かを、署名生成アルゴリズムに従ってチェックする。ユーザ端末200は、チェックの結果が正しければ、承認して(accept)、取得したファイルの集合Piを所望のファイルの集合として得、そうでなければ拒否する(reject)。
Next, the
このように、本発明の第1の実施形態では、ユーザ端末200が各キーワードiと当該キーワードiを含む全てのファイルの集合Piとを一組(生成用組)として、それに対するデジタル署名σiを生成し、生成したデジタル署名σiをサーバ300に保管しているので、検索時に、サーバ300の不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えも検出することができる。
As described above, in the first embodiment of the present invention, the
[第2の実施形態]
図3および図4を参照して、本発明の第2の実施形態に係る検索システム100Aについて説明する。図示の第2の実施形態に係る検索システム100Aは、ユーザ端末200Aと、サーバ300Aとから構成される。
[Second Embodiment]
With reference to FIG. 3 and FIG. 4, a
検索システム100Aは、ユーザ端末200Aが複数のファイルをサーバ300Aに保管し、ユーザ端末200Aがキーワード検索によってサーバ300Aから所望のファイルの集合を取得するシステムである。
The
先ず、図3を参照して、本発明の第2の実施形態に係る検索システム100Aにおける格納フェーズについて説明する。
First, the storage phase in the
格納フェーズにおいては、ユーザ端末200Aは、以下の動作を行う。
In the storage phase, the
先ず、ユーザ端末200Aは、N(Nは1以上の整数)個のファイルである、ファイル1、・・・、ファイルNをサーバ300Aに保管する。また、必要に応じ、ユーザ端末200Aは、索引を生成し、その生成した索引をサーバ300Aに保管する。ここで、索引とは、キーワードとファイルの対応表のことをいう。
First, the
ユーザ端末200Aは、MACの秘密鍵Kを生成し、秘密鍵Kを秘密に保持する。
The
次に、ユーザ端末200Aは、各キーワードについて、以下の動作を行う。ここで、キーワードの総数がI(Iは1以上の整数)個であるとし、キーワード1、・・・、キーワードIから成るとする。キーワードi(1≦i≦I)を含むファイルの集合Piを下記の数式のようにおく。
Pi={ファイルj|ファイルjはキーワードiを含む}
Next, the
P i = {file j | file j contains keyword i}
ユーザ端末200Aは、MACの秘密鍵Kを使い、キーワードiと当該キーワードiを含む全てのファイルの集合Piとの生成用組(キーワードi、Pi)に対する認証子Tagiを、MAC生成アルゴリズムに従って、下記の数式によって生成する。
Tagi=sign{キーワードi、Pi}
The
Tag i = sign {keyword i, P i }
そして、ユーザ端末200Aは、この生成した認証子Tagiをサーバ300Aに保管する。
Then, the
次に、図4を参照して、本発明の第2の実施形態に係る検索システム100Aにおける検索フェーズについて説明する。
Next, with reference to FIG. 4, the search phase in the
検索フェーズにおいて、ユーザ端末200Aのユーザがキーワードiについて検索したいと仮定する。したがって、キーワードiが検索キーワードiである。
Assume that the user of the
この場合、ユーザ端末200Aは、検索キーワードiをサーバ300に送る。図4では、ユーザ端末200Aが検索キーワードとしてキーワード1をサーバ300Aに送る場合の例を示している。この例では、キーワード1を含むファイルの集合P1が、下記の数式であるとしている。
P1={ファイル2、ファイル5}
In this case, the
P 1 = {
したがって、その認証子Tag1は、下記の数式で表わされる。
Tag1=sign(キーワード1、ファイル2、ファイル5)
Therefore, the authenticator Tag 1 is expressed by the following mathematical formula.
Tag 1 = sign (
サーバ300Aは、検索キーワードiを含むファイルの集合Piと、当該検索キーワードiに対応する認証子Tagiとをユーザ端末200Aへ返す。したがって、ユーザ端末200Aは、ファイルの集合Piと認証子Tagiと取得する。
The
ユーザ端末200Aは、MACの秘密鍵Kを使い、取得した認証子Tagiが、検索キーワードiと取得したファイルの集合Piとの検証用組(キーワードi、Pi)の認証子であるか否かを、MAC検証アルゴリズムに従ってチェックする。ユーザ端末200Aは、チェックの結果が正しければ、承認して(accept)、取得したファイルの集合Piを所望のファイルの集合として得、そうでなければ拒否する(reject)。
Whether the
このように、本発明の第2の実施形態では、ユーザ端末200Aが各キーワードiと当該キーワードiを含む全てのファイルの集合Piとを一組(生成用組)として、それに対する認証子Tagiを生成して、生成した認証子Tagiをサーバ300Aに保管しているので、検索時に、サーバ300Aの不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えも検出することができる。
Thus, in the second embodiment of the present invention, the
[第3の実施形態]
図5および図6を参照して、本発明の第3の実施形態に係る検索システム100Bについて説明する。図示の第3の実施形態に係る検索システム100Bは、ユーザ端末200Bと、サーバ300Bとから構成される。
[Third Embodiment]
With reference to FIGS. 5 and 6, a
検索システム100Bは、ユーザ端末200Bがサーバ300Bに複数の暗号ファイルを保管し、ユーザ端末200Bがキーワード検索によってサーバ300Bから所望のファイルの集合を取得するシステムである。
The
先ず、図5を参照して、本発明の第3の実施形態に係る検索システム100Bにおける格納フェーズについて説明する。
First, the storage phase in the
格納フェーズにおいては、ユーザ端末200Bは、以下の動作を行う。
In the storage phase, the
先ず、ユーザ端末200Bは、暗号化の秘密鍵Kを生成し、その秘密鍵Kを秘密に保持する。
First, the
次に、ユーザ端末200Bは、暗号化の秘密鍵Kを使い、N(Nは1以上の整数)個のファイルである、ファイル1、・・・、ファイルNの暗号文E(ファイル1)、・・・、E(ファイルN)を計算し、それら暗号文(暗号ファイル)をサーバ300Bに保管する。また、必要に応じ、ユーザ端末200Bは、索引を生成し、その生成した索引を、暗号化して、サーバ300Bに保管する。ここで、索引とは、キーワードとファイルの対応表のことをいう。
Next, the
また、ユーザ端末200Bは、デジタル署名の公開鍵(検証鍵)vkと秘密鍵(署名鍵)skとを鍵生成アルゴリズムに従って生成する。ここで、ユーザ端末200Bは、公開鍵(検証鍵)vkを公開し、秘密鍵(署名鍵)skを秘密に保持する。
Also, the
次に、ユーザ端末200Bは、各キーワードについて、以下の動作を行う。ここで、キーワードの総数がI(Iは2以上の整数)個であるとし、キーワード1、・・・、キーワードIから成るとする。キーワードi(1≦i≦I)を含むファイルの暗号文(暗号ファイル)の集合Qiを、下記の数式のようにおく。
Qi={E(ファイルj)|ファイルjはキーワードiを含む}
Next, the
Q i = {E (file j) | file j contains keyword i}
ユーザ端末200Bは、デジタル署名の秘密鍵skを使い、キーワードiと当該キーワードiを含む全ての暗号ファイルの集合Qiとの生成用組(キーワードi、Qi)に対するデジタル署名σiを、署名生成アルゴリズムに従って、下記の数式のように生成する。
σi=sign{キーワードi、Qi}
The
σ i = sign {keyword i, Q i }
そして、ユーザ端末200Bは、この生成したデジタル署名σiをサーバ300Bに保管する。
Then, the
その代わりに、ユーザ端末200Bは、デジタル署名の秘密鍵skを使い、暗号化の秘密鍵Kを使ってキーワードiを暗号化して得られる暗号キーワードE’(キーワードi)と当該暗号キーワードE’(キーワードi)を含む全ての暗号ファイルの集合Qiとの生成用組(E’(キーワードi)、Qi)に対するデジタル署名σiを、署名生成アルゴリズムに従って、下記の数式のように生成し、
σi=sign{E’(キーワードi)、Qi}
この生成したデジタル署名σiをサーバ300Bに保管してもよい。
Instead, the
σ i = sign {E ′ (keyword i), Q i }
The generated digital signature σ i may be stored in the
次に、図6を参照して、本発明の第3の実施形態に係る検索システム100Bにおける検索フェーズについて説明する。
Next, with reference to FIG. 6, the search phase in the
検索フェーズにおいて、ユーザ端末200Bのユーザがキーワードiについて検索したいと仮定する。したがって、キーワードiが検索キーワードiである。
Assume that the user of the
この場合、ユーザ端末200Bは、暗号化の秘密鍵Kを使って検索キーワードiを暗号化して得られる暗号検索キーワードE’(キーワードi)をサーバ300Bに送る。図6では、検索キーワードとしてキーワード1の暗号文である暗号検索キーワードE’(キーワード1)をサーバ300Bに送る場合の例を示している。この例では、キーワード1を含むファイルの暗号文(暗号ファイル)の集合Q1が、下記の数式であるとしている。
Q1={E(ファイル2)、E(ファイル5)}
In this case, the
Q 1 = {E (file 2), E (file 5)}
したがって、そのデジタル署名σ1は、下記の数式で表わされる。
σ1=sign(キーワード1、E(ファイル2)、E(ファイル5))
Therefore, the digital signature σ 1 is expressed by the following mathematical formula.
σ 1 = sign (
または、そのデジタル署名σ1は、下記の数式で表わされる。
σ1=sign(E’(キーワード1)、E(ファイル2)、E(ファイル5))
Alternatively, the digital signature σ 1 is expressed by the following mathematical formula.
σ 1 = sign (E ′ (keyword 1), E (file 2), E (file 5))
サーバ300Bは、キーワードiを含むファイルの暗号文(暗号ファイル)の集合Qiとそのデジタル署名σiとをユーザ端末200Bへ返す。したがって、ユーザ端末200Bは、暗号ファイルの集合Qiとそのデジタル署名σiとを取得する。
The
ユーザ端末200Bは、デジタル署名の公開鍵vkを使い、取得したデジタル署名σiが、検索キーワードiと取得した暗号ファイルの集合Qiとの検証用組(キーワードi、Qi)のデジタル署名であるか否かを、署名検証アルゴリズムに従ってチェックする。
The
或いは、ユーザ端末200Bは、デジタル署名の公開鍵vkを使い、取得したデジタル署名σiが、暗号検索キーワード(E’(キーワードi)と取得した暗号ファイルの集合Qiとの検証用組(E’(キーワードi)、Qi)のデジタル署名であるか否かを、署名検証アルゴリズムに従ってチェックする。
Alternatively, the
ユーザ端末200Bは、チェックした結果が正しければ、承認して(accept)、取得した暗号ファイルの集合Qiを復号して所望のファイルの集合Piを得、そうでなければ拒否する(reject)。
If the check result is correct, the
このように、本発明の第3の実施形態では、ユーザ端末200Bが各キーワードi(又は暗号キーワード)と当該キーワードi(又は暗号キーワード)を含む全てのファイルの暗号文(暗号ファイル)の集合Qiとを一組(生成用組)として、それに対するデジタル署名σiを生成し、生成したデジタル署名σiをサーバ300Bに保管しているので、検索時に、サーバ300Bの不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えも検出することができる。
Thus, in the third embodiment of the present invention, the
[第4の実施形態]
図7および図8を参照して、本発明の第4の実施形態に係る検索システム100Cについて説明する。図示の第4の実施形態に係る検索システム100Cは、ユーザ端末200Cと、サーバ300Cとから構成される。
[Fourth Embodiment]
With reference to FIG. 7 and FIG. 8, a
検索システム100Cは、ユーザ端末200Cがサーバ300Cに複数の暗号ファイルを保管し、ユーザ端末200Cがキーワード検索によってサーバ300Cから所望のファイルの集合を取得するシステムである。
The
先ず、図7を参照して、本発明の第4の実施形態に係る検索システム100Cにおける格納フェーズについて説明する。
First, the storage phase in the
格納フェーズにおいては、ユーザ端末200Cは、以下の動作を行う。
In the storage phase, the
先ず、ユーザ端末200Cは、暗号化の秘密鍵K0およびMACの秘密鍵K1を生成し、両者を秘密に保持する。
First, the
次に、ユーザ端末200Cは、暗号化の暗号鍵K0を使い、N(Nは1以上の整数)個のファイルである、ファイル1、・・・、ファイルNの暗号文(暗号ファイル)E(ファイル1)、・・・、E(ファイルN)をサーバ300Cに保管する。また、必要に応じ、ユーザ端末200Cは、索引を生成し、その生成した索引を暗号化して、サーバ300Cに保管する。ここで、索引とは、キーワードとファイルの対応表のことをいう。
Next, the
次に、ユーザ端末200Cは、各キーワードについて、以下の動作を行う。ここで、キーワードの総数がI(Iは1以上の整数)個であるとし、キーワード1、・・・、キーワードIから成るとする。キーワードi(1≦i≦I)を含むファイルの暗号文(暗号ファイル)の集合Qiを下記の数式のようにおく。
Qi={E(ファイルj)|ファイルjはキーワードiを含む}
Next, the
Q i = {E (file j) | file j contains keyword i}
ユーザ端末200Cは、MACの秘密鍵K1を使い、キーワードiと当該キーワードiを含む全ての暗号ファイルの集合Qiとの生成用組(キーワードi、Qi)に対する認証子Tagiを、MAC生成アルゴリズムに従って、下記の数式のように生成する。
Tagi=sign{キーワードi、Qi}
The
Tag i = sign {keyword i, Q i }
そして、ユーザ端末200Cは、この生成した認証子Tagiをサーバ300Cに保管する。
Then, the
その代わりに、ユーザ端末200Cは、MACの秘密鍵K1を使い、暗号化の暗号鍵K0を使ってキーワードiを暗号化して得られる暗号キーワードE’(キーワードi)と当該暗号キーワードE’(キーワードi)を含む全ての暗号ファイルの集合Qiとの生成用組(E’(キーワードi)、Qi)に対する認証子Tagiを、MAC生成アルゴリズムに従って、下記の数式のように生成し、
Tagi=sign{E’(キーワードi)、Qi}
この生成した認証子Tagiをサーバ300Cに保管してもよい。
Instead, the
Tag i = sign {E ′ (keyword i), Q i }
The generated authenticator Tag i may be stored in the
次に、図8を参照して、本発明の第4の実施形態に係る検索システム100Cにおける検索フェーズについて説明する。
Next, a search phase in the
検索フェーズにおいて、ユーザ端末200Cのユーザがキーワードiについて検索したいと仮定する。したがって、キーワードiが検索キーワードiである。
Assume that the user of the
この場合、ユーザ端末200Cは、暗号化の秘密鍵K0を使って検索キーワードiを暗号して得られる暗号検索キーワードE’(キーワードi)をサーバ300Cに送る。図8では、検索キーワードとしてキーワード1の暗号文である暗号検索キーワードE’(キーワード1)をサーバ300Aに送る場合の例を示している。この例では、キーワード1を含むファイルの暗号文(暗号ファイル)の集合Q1が、下記の数式であるとしている。
Q1={E(ファイル2)、E(ファイル5)}
In this case, the
Q 1 = {E (file 2), E (file 5)}
したがって、その認証子Tag1は、下記の数式で表わされる。
Tag1=
sign(キーワード1、E(ファイル2)、E(ファイル5))
Therefore, the authenticator Tag 1 is expressed by the following mathematical formula.
Tag 1 =
sign (
または、その認証子Tag1は、下記の数式で表わされる。
Tag1=
sign(E’(キーワード1)、E(ファイル2)、E(ファイル5))
Alternatively, the authenticator Tag 1 is represented by the following mathematical formula.
Tag 1 =
sign (E '(keyword 1), E (file 2), E (file 5))
サーバ300Cは、検索キーワードiを含むファイルの暗号文(暗号ファイル)の集合Qiとその認証子Tagiとをユーザ端末200Cへ返す。したがって、ユーザ端末200Cは、暗号ファイルの集合Qiとその認証子Tagiとを取得する。
The
ユーザ端末200Cは、MACの秘密鍵K1を使い、取得した認証子Tagiが、検索キーワードiと取得した暗号ファイルの集合Qiとの検証用組(キーワードi、Qi)の認証子であるか否かを、MAC検証アルゴリズムに従ってチェックする。
The
或いは、ユーザ端末200Cは、MACの秘密鍵K1を使い、取得した認証子Tagiが、暗号検索キーワードE’(キーワードi)と取得した暗号ファイルの集合Qiとの検証用組(E’(キーワードi)、Qi)の認証子であるか否かを、MAC検証アルゴリズムに従ってチェックする。
Alternatively, the
ユーザ端末200Cは、チェックした結果が正しければ、承認して(accept)、取得した暗号ファイルの集合Qiを復号して所望のファイルの集合Piを得、そうでなければ拒否する(reject)。
If the check result is correct, the
このように、本発明の第4の実施形態では、ユーザ端末200Cが各キーワードi(又は暗号キーワード)と当該キーワードi(又は暗号キーワード)を含む全てのファイルの暗号文(暗号ファイル)の集合Qiとを一組(生成用組)として、それに対する認証子Tagiを生成し、生成した認証子Tagiをサーバ300Cに保管しているので、検索時に、サーバ300Cの不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えも検出することができる。
As described above, in the fourth embodiment of the present invention, the
図9を参照して、本発明の第1の実施例に係る検索システム100Dについて説明する。図示の検索システム100Dは、上述した本発明の第2の実施形態(又は、第1の実施形態)に係る検索システムに相当する検証システムである。検索システム100Dは、クライアント200Dとサーバ300Dとから構成される。クライアント200Dは、ユーザ端末とも呼ばれる。
With reference to FIG. 9, a
図示の検索システム100Dは、クライアント(ユーザ端末)200Dがサーバ300Dに複数のファイルを保管し、クライアント(ユーザ端末)200Dがキーワード検索によってサーバ300Dから所望のファイルの集合を取得するシステムである。
The illustrated
クライアント200Dは、秘密鍵生成部210と、秘密鍵保持部220と、検証情報生成部230と、検証部240と、第1乃至第3の信号線(伝送線)260、270、280と、から構成されている。一方、サーバ300Dは、記憶領域310と、検索部320とから構成されている。
The client 200D includes a secret
秘密鍵生成部210は、MACの秘密鍵Kを生成する。秘密鍵保持部220は、この生成されたMACの秘密鍵Kを保持する。
The secret
クライアント200Dは、N個のファイルを第1の信号線(伝送線)260を介してサーバ300Dへ送信する。サーバ300Dは、その送られてきたN個のファイルを記憶領域310に保管する。したがって、第1の信号線(伝送線)260は、サーバ300DにN個のファイルを保管するファイル保管手段として働く。
The client 200D transmits N files to the
また、クライアント200Dは、索引を生成し、生成した索引を第2の信号線(伝送線)270を介してサーバ300Dへ送信する。サーバ300Dは、その送られてきた索引を記憶領域310に記憶する。したがって、第2の信号線(伝送線)270は、生成した索引をサーバ300Dに保管する索引保管手段として働く。
In addition, the client 200D generates an index, and transmits the generated index to the
図10に索引の具体例を示す。前述したように、索引は、キーワードと、それに対応するファイルの番号(ファイル番号)の対応表である。 FIG. 10 shows a specific example of the index. As described above, the index is a correspondence table of keywords and file numbers (file numbers) corresponding to the keywords.
図示の例では、索引の番号1には、キーワードとして「情報工学」が記憶され、そのキーワードに対応するファイル番号として、「1」、「6」、「8」、「11」が記憶されている。また、索引の番号2には、キーワードとして「茨城大学」が記憶され、そのキーワードに対応するファイル番号として、「3」、「6」、「10」が記憶されている。
In the illustrated example, “information engineering” is stored as a keyword in
図11を参照して、クライアント200Dの検索情報生成部230の動作について説明する。
The operation of the search
検証情報生成部230は、MACの秘密鍵K、索引、ファイルの集合{D1、D2、…}を読み込む(ステップS110)。次に、検証情報生成部230は、各キーワードWiについて以下の処理を実行する(ステップS120)。ここでは、キーワードWiに対応するファイル番号を(i1、i2、…)とする。この場合、検索情報生成部230は、MACの秘密鍵Kを使い、生成用組(Wi、Di1、Di2、…)に対応する認証子Tagiを下記の数式によって計算する。
Tagi=fK(Wi、Di1、Di2、…)
ここで、fはMAC生成アルゴリズムである。
The verification
Tag i = f K (W i , D i1 , D i2 ,...)
Here, f is a MAC generation algorithm.
尚、検証情報として、認証子Tagiの代わりにデジタル署名σiを使用する場合、fは署名生成アルゴリズムであって、検索情報生成部230は、MACの秘密鍵Kの代わりにデジタル署名の秘密鍵skを使用し、生成用組(Wi、Di1、Di2、…)に対応するデジタル署名σiを下記の数式によって計算する。
σi=fsk(Wi、Di1、Di2、…)
When the digital signature σ i is used instead of the authenticator Tag i as verification information, f is a signature generation algorithm, and the search
σ i = f sk (W i , D i1 , D i2 ,...)
検索情報生成部230は、計算して得られた検証情報(Tag1、Tag2、…)を出力する(ステップS130)。これら検証情報(認証子)は、サーバ300Dに送られ、サーバ300Dは、これら検証情報(認証子)を記憶領域310に記憶する。
The search
次に、図12を参照して、検証情報生成部230の動作について具体例を挙げて説明する。ここでは、キーワードが索引番号2の「茨城大学」である場合を例に挙げて説明する。
Next, the operation of the verification
この場合、検証情報生成部230は、索引を参照して、キーワード「茨城大学」を含む、該当するファイルの集合を選択する。この場合、索引番号2のファイル番号には、「3」、「6」、「10」が記憶されているので、検索情報生成部230は、該当ファイルの集合P2として、ファイルD3、D6、およびD10を選択する。
In this case, the verification
そして、検証情報生成部230は、MACの秘密鍵Kを使い、生成用組(茨城大学、D3、D6、D10)に対する検証情報(認証子)Tag2を、MAC生成アルゴリズムに従って、下記数式で示されるように生成する。
Tag2=fK(茨城大学、D3、D6、D10)
Then, the verification
Tag 2 = f K (Ibaraki University, D3, D6, D10)
検証情報生成部230は、このようにして、キーワードi毎の検証情報(認証子)Tagiを生成する。生成された検証情報(認証子)Tagiは、サーバ300Dへ送られ、サーバ300Dは、送られてきた検証情報(認証子)Tagiを記憶領域310に記憶する。
In this way, the verification
尚、検証情報がデジタル署名σiの場合、サーバ300Dはデジタル署名σiを記憶領域310に記憶する。
When the verification information is the digital signature σ i , the
検索時、クライアント200Dは、検索キーワードWを第3の信号線(伝送線)280を介してサーバ300Dに送る。サーバ300Dにおいては、検索キーワードWに応答して、検索部320は、その検索キーワードWを含むファイルの集合Pi=(Di1、Di2、…)とその検証情報(認証子)Tagとをクライアント200Dへ返す。したがって、クライアント200Dは、ファイルの集合Pi=(Di1、Di2、…)とその検証情報(認証子)Tagとを取得する。すなわち、第2の信号線(伝送線)280は、検索キーワードWをサーバ300Dへ送って、サーバ300Dから、検索キーワードWを含むファイルの集合Pi=(Di1、Di2、…)とその検証情報(認証子)Tagとを取得するファイル取得手段として働く。
During the search, the client 200D sends the search keyword W to the
次に、図13を参照して、クライアント200Dの検証部240の動作について説明する。
Next, the operation of the
検証部240は、秘密鍵保持部220に保持されたMACの秘密鍵Kと、検索キーワードWとを読み込む(ステップS210)。次に、検証部240は、サーバ300Dから送られてきたファイルの集合Pi=(Di1、Di2、…)とその検証情報(認証子)Tagとを読み込む(ステップS220)。
The
検証部240は、MACの秘密鍵Kを使い、検証情報(認証子)Tagが検証用組(W、Di1、Di2、…)の認証子であるか否かを、MAC検証アルゴリズムに従って、下記の数式に示されるように計算する(ステップS230)。
VerifyK(W、Di1、Di2、…、Tag)=accept or reject
The
Verify K (W, D i1 , D i2 ,..., Tag) = accept or reject
検証部240は、acceptなら(ステップS240のYes)、取得したファイルの集合Pi=(Di1、Di2、…)を所望のファイルの集合として出力し(ステップS250)、rejectなら(ステップS240のNo)、rejectを出力する(ステップS260)。
The
尚、検証情報がデジタル署名σである場合、検証部240は、デジタル署名の公開鍵(検証鍵)vkを使い、デジタル署名σが、検証用組(W、Di1、Di2、…)の認証子であるか否かを、署名検証アルゴリズムに従って、下記の数式に示されるように計算する。
Verifyvk(W、Di1、Di2、…、σ)=accept or reject
If the verification information is a digital signature σ, the
Verify vk (W, D i1 , D i2 ,..., Σ) = accept or reject
次に、図14を参照して、検証部240の動作について具体例を挙げて説明する。ここでは、検索キーワードWが索引番号2の「茨城大学」である場合を例に挙げて説明する。
Next, the operation of the
この場合、検証部240は、秘密鍵保持部220からMACの秘密鍵Kを読み込み、検索キーワードとして「茨城大学」を読み込み、サーバ300Dから送られてきた、ファイルの集合P2=(D3、D6、D10)と検証情報(認証子)Tag2とを読み込む。
In this case, the
そして、検証部240は、MACの秘密鍵Kを使い、検証情報(認証子)Tag2が検証用組(茨城大学、D3、D6、D10)の認証子であるか否かを、MAC検証アルゴリズムに従って、下記の数式に示されるように計算する。
VerifyK(茨城大学、D3、D6、D10、Tag2)=accept or reject
Then, the
Verify K (Ibaraki University, D3, D6, D10, Tag 2 ) = accept or reject
検証部240は、acceptなら、取得したファイルの集合P2=(D3、D6、D10)を所望のファイルの集合として出力し、rejectなら、rejectを出力する。
The
次に、本第1の実施例の効果について説明する。 Next, effects of the first embodiment will be described.
本第1の実施例の検索システム100Dは、サーバ300Dの不正として、ファイルの削除、追加、改ざんのみならず、ファイルのすり替えをも検出できる。その理由は、クライアント(ユーザ端末)200Dが各キーワードWiと当該キーワードWiを含む全てのファイルの集合Pi=(Di1、Di2、…)とを一組(生成用組)として、それに対する検証情報Tagi(又はσi)を生成し、生成した検証情報Tagi(又はσi)をサーバ300Dに保管しているからである。
The
図15を参照して、本発明の第2の実施例に係る検索システム100Eについて説明する。図示の検索システム100Eは、上述した本発明の第4の実施形態(又は、第3の実施形態)に係る検索システムに相当する検証システムである。検索システム100Eは、クライアント200Eとサーバ300Eとから構成される。クライアント200Eは、ユーザ端末とも呼ばれる。
A
検索システム100Eは、クライアント(ユーザ端末)200Eがサーバ300Eに複数の暗号ファイルを保管し、クライアント(ユーザ端末)200Eがキーワード検索によってサーバ300Eから所望のファイルの集合を取得するシステムである。
The
クライアント200Eは、秘密鍵生成部210Aと、秘密鍵保持部220Aと、検証情報生成部230Aと、検証部240Aと、第1乃至第3の暗号化部260A、270A、および280Aと、から構成されている。一方、サーバ300Eは、記憶領域310と、検索部320とから構成されている。
The client 200E includes a secret
秘密鍵生成部210Aは、暗号化の秘密鍵K0とMACの秘密鍵K1とを生成する。秘密鍵保持部220は、この生成された暗号化の秘密鍵K0とMACの秘密鍵K1とを保持する。
The secret
尚、検証情報がデジタル署名である場合、秘密鍵生成部210Aは、暗号化の秘密鍵Kとデジタル署名の公開鍵vkと秘密鍵skとを生成する。
When the verification information is a digital signature, the secret
第1の暗号化部260Aは、暗号化の秘密鍵K0を使い、N個のファイルの暗号文である暗号ファイル{E(D1)、E(D2)、…}を計算する。これら暗号ファイル{E(D1)、E(D2)、…}は、サーバ300Eへ送られ、サーバ300Eは、その送られてきた暗号ファイル{E(D1)、E(D2)、…}を記憶領域310に記憶する。したがって、第1の暗号化部260Aは、暗号化の秘密鍵K0を使って複数のファイルをそれぞれ暗号化し、複数の暗号ファイルをサーバ300Eに保管する暗号ファイル保管手段として働く。
The
尚、検証情報がデジタル署名である場合、第1の暗号化部260Aは、暗号化の秘密鍵Kを使い、N個のファイルの暗号文(暗号ファイル)を計算する。
When the verification information is a digital signature, the
また、クライアント200Eは、索引を生成する。 In addition, the client 200E generates an index.
図16に索引の具体例を示す。前述したように、索引は、キーワードと、それに対応するファイルの番号(ファイル番号)の対応表である。 FIG. 16 shows a specific example of the index. As described above, the index is a correspondence table of keywords and file numbers (file numbers) corresponding to the keywords.
図示の例では、索引の番号1には、キーワードとして「情報工学」が記憶され、そのキーワードに対応するファイル番号として、「1」、「6」、「8」、「11」が記憶されている。また、索引の番号2には、キーワードとして「茨城大学」が記憶され、そのキーワードに対応するファイル番号として、「3」、「6」、「10」が記憶されている。
In the illustrated example, “information engineering” is stored as a keyword in
第2の暗号化部270Aは、暗号化の秘密鍵K0を使い、生成した索引を暗号化して、暗号索引をサーバ300Eへ送信する。サーバ300Eは、その送られてきた暗号索引を記憶領域310に記憶する。したがって、第2の暗号化部270Aは、生成した索引を暗号化して、暗号索引をサーバ300Eへ保管する暗号索引保管手段として働く。
The
図17を参照して、クライアント200Eの検証情報生成部230Aの動作について説明する。
The operation of the verification
検証情報生成部230Aは、MACの秘密鍵K1、索引、暗号ファイルの集合{E(D1)、E(D2)、…}を読み込む(ステップS110A)。次に、検証情報生成部230Aは、各キーワードWiについて以下の処理を実行する(ステップS120A)。ここでは、キーワードWiに対応するファイル番号を(i1、i2、…)とする。この場合、検索情報生成部230は、MACの秘密鍵K1を使い、生成用組(Wi、E(Di1)、E(Di2)、…)に対応する検証情報(認証子)Tagiを下記の数式のように計算する。
Tagi=fK1(Wi、E(Di1)、E(Di2)、…)
ここで、fはMAC生成アルゴリズムである。
The verification
Tag i = f K1 (W i , E (D i1 ), E (D i2 ),...)
Here, f is a MAC generation algorithm.
尚、検証情報として、認証子Tagiの代わりにデジタル署名σiを使用する場合、fは署名生成アルゴリズムであって、検証情報生成部230Aは、MACの暗号鍵K1の代わりにデジタル署名の秘密鍵skを使用して、生成用組(Wi、E(Di1)、E(Di2)、…)に対応するデジタル署名σiを下記の数式のように計算する。
σi=fsk(Wi、E(Di1)、E(Di2)、…)
When the digital signature σ i is used instead of the authenticator Tag i as the verification information, f is a signature generation algorithm, and the verification
σ i = f sk (W i , E (D i1 ), E (D i2 ),...)
検索情報生成部230Aは、計算して得られた検証情報(Tag1、Tag2、…)を出力する(ステップS130A)。これら検証情報(認証子)は、サーバ300Eに送られ、サーバ300Eは、これら検証情報(認証子)を記憶領域310に記憶する。
The search
次に、図18を参照して、検証情報生成部230Aの動作について具体例を挙げて説明する。ここでは、キーワードが索引番号2の「茨城大学」である場合を例に挙げて説明する。
Next, the operation of the verification
この場合、検証情報生成部230Aは、索引を参照して、キーワード「茨城大学」を含む、該当する暗号化されたファイル(暗号ファイル)の集合Q2を選択する。この場合、索引番号2のファイル番号には、「3」、「6」、「10」が記憶されているので、検索情報生成部230Aは、該当暗号ファイルの集合Q2として、暗号ファイルE(D3)、E(D6)、およびE(D10)を選択する。
In this case, the verification
そして、検証情報生成部230Aは、MACの秘密鍵K1を使い、生成用組(茨城大学、E(D3)、E(D6)、E(D10))に対する検証情報(認証子)Tag2を、MAC生成アルゴリズムに従って、下記数式で示されるように生成する。
Tag2=fK1(茨城大学、E(D3)、E(D6)、E(D10))
Then, the verification
Tag 2 = f K1 (Ibaraki University, E (D3), E (D6), E (D10))
検証情報生成部230Aは、このようにして、キーワードi毎の検証情報(認証子)Tagiを生成する。生成された検証情報(認証子)Tagiは、サーバ300Eへ送られ、サーバ300Eは、送られてきた検証情報(認証子)Tagiを記憶領域310に記憶する。
In this way, the verification
尚、検証情報がデジタル署名σiの場合、サーバ300Eは、デジタル署名σiを記憶領域310に記憶する。
When the verification information is the digital signature σ i , the
検索時、クライアント200Eでは、第3の暗号化部280Aが、暗号化の秘密鍵K0を使って検索キーワードWを暗号化し、暗号検索キーワードE’(W)をサーバ300Eに送る。サーバ300Eにおいては、暗号検索キーワードE’(W)に応答して、検索部320は、その検索キーワードWを含む暗号ファイルの集合Qi=(E(Di1)、E(Di2)、…)とその検証情報(認証子)Tagとをクライアント200Eへ返す。したがって、クライアント200Eは、暗号ファイルの集合Qi=(E(Di1)、E(Di2)、…)とその検証情報(認証子)Tagとを取得する。すなわち、第3の暗号化部280Aは、暗号化の秘密鍵K0を使って検索キーワードWを暗号化して得られる暗号検索キーワードE’(W)をサーバ300Eへ送って、サーバ300Eから、暗号ファイルの集合Qi=(E(Di1)、E(Di2)、…)と検索キーワードWに対応する検証情報(認証子)Tagとを取得する暗号ファイル取得手段として働く。
At the time of the search, in the client 200E, the
次に、図19を参照して、クライアント200Eの検証部240Aの動作について説明する。
Next, the operation of the
検証部240Aは、秘密鍵保持部220Aに保持されたMACの秘密鍵K1と、検索キーワードWとを読み込む(ステップS210A)。次に、検証部240Aは、サーバ300Eから送られてきた暗号ファイルの集合Qiである暗号ファイル(E(Di1)、E(Di2)、…)とその検証情報(認証子)Tagとを読み込む(ステップS220A)。
The
検証部240Aは、MACの秘密鍵K1を使い、検証情報(認証子)Tagが検証用組(W、E(Di1)、E(Di2)、…)の認証子であるか否かを、MAC検証アルゴリズムに従って、下記の数式に示されるように計算する(S230A)。
VerifyK1(W、E(Di1)、E(Di2)、…、Tag)=accept or reject
The
Verify K1 (W, E (D i1 ), E (D i2 ),..., Tag) = accept or reject
検証部240Aは、計算結果がacceptなら(ステップS240AのYes)、取得した暗号ファイルの集合Qi=(E(Di1)、E(Di2)、…)を復号して、所望のファイルの集合Pi=(Di1、Di2、…)を出力し(ステップS250A)、rejectなら(ステップS240AのNo)、rejectを出力する(ステップS260A)。
If the calculation result is accept (Yes in step S240A), the
尚、検証情報がデジタル署名σである場合、検証部240Aは、デジタル署名の公開鍵vkを使い、デジタル署名σが検証用組(W、E(Di1)、E(Di2)、…)のデジタル署名であるか否かを、署名検証アルゴリズムに従って、下記の数式に示されるように計算する。
Verifyvk(W、E(Di1)、E(Di2)、…、σ)=accept or reject
If the verification information is a digital signature σ, the
Verify vk (W, E (D i1 ), E (D i2 ),..., Σ) = accept or reject
次に、図20を参照して、検証部240Aの動作について具体例を挙げて説明する。ここでは、検索キーワードWが索引番号2の「茨城大学」である場合を例に挙げて説明する。
Next, the operation of the
この場合、検証部240Aは、秘密鍵保持部220AからMACの秘密鍵K1を読み込み、検索キーワードとして「茨城大学」を読み込み、サーバ300Eから送られてきた、暗号ファイルの集合Q2である暗号ファイル(E(D3)、E(D6)、E(D10))と検証情報(認証子)Tag2とを読み込む。
In this case, the
そして、検証部240Aは、MACの秘密鍵K1を使い、検証情報(認証子)Tag2が検証用組(茨城大学、E(D3)、E(D6)、E(D10))の認証子であるか否かを、MAC検証アルゴリズムに従って下記の数式のように計算する。
VerifyK1(茨城大学、E(D3)、E(D6)、E(D10)、Tag2)
=accept or reject
Then, the
Verify K1 (Ibaraki University, E (D3), E (D6), E (D10), Tag 2 )
= Accept or reject
検証部240Aは、計算結果がacceptなら、暗号ファイルの集合Q2=(E(D3)、E(D6)、E(D10))を復号して、所望のファイルの集合P2=(D3、D6、D10)を出力し、rejectなら、rejectを出力する。
If the calculation result is accept, the
次に、本第2の実施例の効果について説明する。 Next, the effect of the second embodiment will be described.
本第2の実施例の検索システム100Eは、サーバの不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えも検出することができる。その理由は、クライアント(ユーザ端末)200Eが各キーワードWiと当該キーワードWiを含む全てのファイルを暗号化して得られる暗号ファイルの集合Qi={E(Di1、E(Di2)、…}とを一組(生成用組)として、それに対する検証情報Tagi(又はσi)を生成し、生成した検証情報Tagi(又はσi)をサーバ300Eに保管しているからである。
The
以上、実施形態(実施例)を参照して本発明を説明したが、本発明は上記実施形態(実施例)に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 As mentioned above, although this invention was demonstrated with reference to embodiment (Example), this invention is not limited to the said embodiment (Example). Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
上記の実施形態(実施例)の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 Part or all of the above-described embodiments (examples) can be described as in the following supplementary notes, but are not limited thereto.
(付記1) ユーザ端末がサーバに複数のファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索システムであって、前記ユーザ端末は、
前記複数のファイルを前記サーバに保管するファイル保管手段と、
キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、該生成した検証情報を前記サーバに保管する検証情報生成部と、
検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得するファイル取得手段と、
該取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否する検証部と、
を有する検索システム。
(Supplementary note 1) A search system in which a user terminal stores a plurality of files in a server, and the user terminal acquires a set of desired files from the server by keyword search, wherein the user terminal includes:
File storage means for storing the plurality of files in the server;
A verification information generating unit that generates verification information according to a predetermined generation algorithm for a generation set of a keyword and a set of all files including the keyword, and stores the generated verification information in the server;
A file acquisition means for sending a search keyword to the server and acquiring a set of files including the search keyword and verification information corresponding to the search keyword from the server;
Whether the acquired verification information is verification information of a verification set of the search keyword and the acquired set of files is checked by a predetermined verification algorithm, and if the check result is correct, it is approved and acquired. A verification unit that obtains the set of files obtained as the set of desired files, and rejects otherwise.
Search system having
(付記2) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記検証情報生成部は、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
前記検証部は、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
付記1に記載の検索システム。
(Supplementary note 2) The predetermined generation algorithm comprises a signature generation algorithm,
The predetermined verification algorithm comprises a signature verification algorithm;
The verification information generation unit generates a digital signature for the generation set as the verification information according to the signature generation algorithm using a digital signature private key,
The verification unit checks whether the acquired digital signature is a digital signature of the verification set according to the signature verification algorithm using a public key of the digital signature.
The search system according to
(付記3) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記検証情報生成部は、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
前記検証部は、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
付記1に記載の検索システム。
(Supplementary Note 3) The predetermined generation algorithm includes a MAC (Message Authentication Code) generation algorithm,
The predetermined verification algorithm comprises a MAC verification algorithm;
The verification information generation unit generates an authenticator for the generation set as the verification information according to the MAC generation algorithm using a MAC secret key,
The verification unit uses the MAC secret key to check whether the acquired authenticator is an authenticator of the verification set according to the MAC verification algorithm.
The search system according to
(付記4) ユーザ端末がサーバに複数のファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索方法であって、
前記ユーザ端末が、前記複数のファイルを前記サーバに保管するステップと、
前記ユーザ端末が、キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成するステップと、
前記ユーザ端末が、前記生成した検証情報を前記サーバに保管するステップと、
前記ユーザ端末が、検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得するステップと、
前記ユーザ端末が、前記取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックするステップと、
前記ユーザ端末が、チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否するステップと、
を含む検索方法。
(Supplementary Note 4) A search method in which a user terminal stores a plurality of files in a server, and the user terminal acquires a desired set of files from the server by keyword search,
The user terminal storing the plurality of files in the server;
The user terminal generating verification information according to a predetermined generation algorithm for a generation set of a keyword and a set of all files including the keyword;
The user terminal storing the generated verification information in the server;
The user terminal sends a search keyword to the server, and acquires a set of files including the search keyword and verification information corresponding to the search keyword from the server;
The user terminal checking whether the acquired verification information is verification information of a verification set of the search keyword and the acquired set of files by a predetermined verification algorithm;
The user terminal approves if the check result is correct, obtains the acquired set of files as the desired set of files, and rejects otherwise;
Search method including
(付記5) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記生成するステップは、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
前記チェックするステップは、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
付記4に記載の検索方法。
(Supplementary Note 5) The predetermined generation algorithm includes a signature generation algorithm,
The predetermined verification algorithm comprises a signature verification algorithm;
The generating step generates a digital signature for the generation set as the verification information according to the signature generation algorithm using a digital signature private key,
The checking step checks whether the obtained digital signature is a digital signature of the verification set according to the signature verification algorithm using a public key of the digital signature;
The search method according to
(付記6) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記生成するステップは、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
前記チェックするステップは、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
付記4に記載の検索方法。
(Supplementary Note 6) The predetermined generation algorithm includes a MAC (Message Authentication Code) generation algorithm,
The predetermined verification algorithm comprises a MAC verification algorithm;
The generating step generates an authenticator for the generation set as the verification information according to the MAC generation algorithm using a MAC secret key,
The checking step checks whether the acquired authenticator is the authenticator of the verification set according to the MAC verification algorithm using the secret key of the MAC.
The search method according to
(付記7) サーバに複数のファイルを保管し、キーワード検索によって前記サーバから所望のファイルの集合を取得する処理を、コンピュータであるユーザ端末に実行させる検索プログラムであって、前記コンピュータに、
前記複数のファイルを前記サーバに保管する手順と、
キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成する手順と、
前記生成した検証情報を前記サーバに保管する手順と、
検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得する手順と、
前記取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックする手順と、
チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否する手順と、
を実行させるための検索プログラム。
(Supplementary note 7) A search program for storing a plurality of files in a server and causing a user terminal, which is a computer, to execute a process of acquiring a desired set of files from the server by keyword search.
Storing the plurality of files on the server;
A procedure for generating verification information in accordance with a predetermined generation algorithm for a generation set of a keyword and a set of all files including the keyword;
A procedure for storing the generated verification information in the server;
Sending a search keyword to the server, and obtaining a set of files containing the search keyword and verification information corresponding to the search keyword from the server;
A procedure for checking whether or not the acquired verification information is verification information of a verification set of the search keyword and the acquired set of files by a predetermined verification algorithm;
If the check result is correct, approve and obtain the acquired set of files as the desired set of files, otherwise reject,
Search program to execute.
(付記8) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記生成する手順は、前記コンピュータに、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成させ、
前記チェックする手順は、前記コンピュータに、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックさせる、
付記7に記載の検索プログラム。
(Supplementary Note 8) The predetermined generation algorithm includes a signature generation algorithm,
The predetermined verification algorithm comprises a signature verification algorithm;
The generating step causes the computer to generate a digital signature for the generation set as the verification information according to the signature generation algorithm using a digital signature private key,
The checking step causes the computer to check whether the obtained digital signature is a digital signature of the verification set according to the signature verification algorithm using a digital signature public key.
The search program according to
(付記9) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記生成する手順は、前記コンピュータに、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成させ、
前記チェックする手順は、前記コンピュータに、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックさせる、
付記7に記載の検索プログラム。
(Supplementary Note 9) The predetermined generation algorithm includes a MAC (Message Authentication Code) generation algorithm,
The predetermined verification algorithm comprises a MAC verification algorithm;
The generating step causes the computer to generate an authenticator for the generation set as the verification information according to the MAC generation algorithm using a MAC secret key,
The checking step causes the computer to check whether the acquired authenticator is the authenticator of the verification set according to the MAC verification algorithm using the MAC secret key.
The search program according to
(付記10) ユーザ端末がサーバに複数の暗号ファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索システムであって、前記ユーザ端末は、
暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する暗号ファイル保管手段と、
キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、該生成した検証情報を前記サーバに保管する検証情報生成部と、
前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得する暗号ファイル取得手段と、
該取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する検証部と、
を有する検索システム。
(Supplementary Note 10) A search system in which a user terminal stores a plurality of encrypted files in a server, and the user terminal acquires a set of desired files from the server by keyword search, wherein the user terminal includes:
Encrypted file storage means for encrypting each of a plurality of files using an encryption private key and storing the plurality of encrypted files in the server;
A verification information generating unit for generating verification information according to a predetermined generation algorithm for a generation set of a keyword and a set of all encrypted files including the keyword, and storing the generated verification information in the server;
Sending an encrypted search keyword obtained by encrypting a search keyword using the encryption private key to the server, a set of encrypted files including the encrypted search keyword from the server, and verification information corresponding to the search keyword; Encrypted file acquisition means for acquiring
Whether the acquired verification information is verification information of a verification set of the search keyword and the acquired set of encrypted files is checked by a predetermined verification algorithm, and if the check result is correct, it is approved and A verification unit that decrypts the obtained set of encrypted files to obtain the desired set of files, and rejects otherwise;
Search system having
(付記11) ユーザ端末がサーバに複数の暗号ファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索システムであって、前記ユーザ端末は、
暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する暗号ファイル保管手段と、
前記暗号化の秘密鍵を使ってキーワードを暗号化して得られる暗号キーワードと該暗号キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、該生成した検証情報を前記サーバに保管する検証情報生成部と、
前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記暗号検索キーワードに対応する検証情報とを取得する暗号ファイル取得手段と、
該取得した検証情報が、前記暗号検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する検証部と、
を有する検索システム。
(Supplementary Note 11) A search system in which a user terminal stores a plurality of encrypted files in a server, and the user terminal acquires a set of desired files from the server by keyword search, wherein the user terminal includes:
Encrypted file storage means for encrypting each of a plurality of files using an encryption private key and storing the plurality of encrypted files in the server;
Generating verification information according to a predetermined generation algorithm for a generation set of an encryption keyword obtained by encrypting a keyword using the encryption private key and a set of all encryption files including the encryption keyword, A verification information generation unit for storing the generated verification information in the server;
A cryptographic search keyword obtained by encrypting a search keyword using the encryption private key is sent to the server, and a set of cryptographic files including the cryptographic search keyword from the server and verification information corresponding to the cryptographic search keyword Encrypted file acquisition means for acquiring
Whether the acquired verification information is verification information of a verification set of the cryptographic search keyword and the acquired set of encrypted files is checked by a predetermined verification algorithm, and if the check result is correct, it is approved. A verification unit that decrypts the obtained set of encrypted files to obtain the desired set of files, and rejects otherwise;
Search system having
(付記12) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記検証情報生成部は、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
前記検証部は、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
付記10又は11に記載の検索システム。
(Supplementary Note 12) The predetermined generation algorithm includes a signature generation algorithm,
The predetermined verification algorithm comprises a signature verification algorithm;
The verification information generation unit generates a digital signature for the generation set as the verification information according to the signature generation algorithm using a digital signature private key,
The verification unit checks whether the acquired digital signature is a digital signature of the verification set according to the signature verification algorithm using a public key of the digital signature.
The search system according to appendix 10 or 11.
(付記13) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記検証情報生成部は、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
前記検証部は、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
付記10又は11に記載の検索システム。
(Supplementary note 13) The predetermined generation algorithm comprises a MAC (Message Authentication Code) generation algorithm,
The predetermined verification algorithm comprises a MAC verification algorithm;
The verification information generation unit generates an authenticator for the generation set as the verification information according to the MAC generation algorithm using a MAC secret key,
The verification unit uses the MAC secret key to check whether the acquired authenticator is an authenticator of the verification set according to the MAC verification algorithm.
The search system according to appendix 10 or 11.
(付記14) ユーザ端末がサーバに複数の暗号ファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索方法であって、
前記ユーザ端末が、暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管するステップと、
前記ユーザ端末が、キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成するステップと、
前記ユーザ端末が、前記生成した検証情報を前記サーバに保管するステップと、
前記ユーザ端末が、前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得するステップと、
前記ユーザ端末が、前記取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックするステップと、
前記ユーザ端末が、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否するステップと、
を含む検索方法。
(Supplementary note 14) A search method in which a user terminal stores a plurality of encrypted files in a server, and the user terminal acquires a desired set of files from the server by keyword search,
The user terminal encrypts each of a plurality of files using an encryption private key, and stores the plurality of encrypted files in the server;
The user terminal generating verification information according to a predetermined generation algorithm for a generation set of a keyword and a set of all encrypted files including the keyword;
The user terminal storing the generated verification information in the server;
The user terminal sends an encrypted search keyword obtained by encrypting a search keyword using the encrypted secret key to the server, and a set of encrypted files including the encrypted search keyword and the search keyword are sent from the server. Obtaining corresponding verification information;
The user terminal checks whether the acquired verification information is verification information of a verification set of the search keyword and the acquired set of encrypted files by a predetermined verification algorithm;
The user terminal approves if the check result is correct and decrypts the acquired set of encrypted files to obtain the desired set of files, otherwise rejects;
Search method including
(付記15) ユーザ端末がサーバに複数の暗号ファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索方法であって、
前記ユーザ端末が、暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管するステップと、
前記ユーザ端末が、前記暗号化の秘密鍵を使って暗号化して得られる暗号キーワードと該暗号キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成するステップと、
前記ユーザ端末が、前記生成した検証情報を前記サーバに保管するステップと、
前記ユーザ端末が、前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記暗号検索キーワードに対応する検証情報とを取得するステップと、
前記ユーザ端末が、前記取得した検証情報が、前記暗号検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックするステップと、
前記ユーザ端末が、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否するステップと、
を含む検索方法。
(Supplementary note 15) A search method in which a user terminal stores a plurality of encrypted files in a server, and the user terminal acquires a set of desired files from the server by keyword search,
The user terminal encrypts each of a plurality of files using an encryption private key, and stores the plurality of encrypted files in the server;
The user terminal generates verification information according to a predetermined generation algorithm for a generation set of an encryption keyword obtained by encryption using the encryption private key and a set of all encryption files including the encryption keyword And steps to
The user terminal storing the generated verification information in the server;
The user terminal sends an encryption search keyword obtained by encrypting a search keyword using the encryption private key to the server, and a set of encrypted files including the encryption search keyword from the server and the encryption search keyword Obtaining verification information corresponding to
The user terminal checks whether or not the acquired verification information is verification information of a verification set of the cryptographic search keyword and the acquired set of encrypted files by a predetermined verification algorithm;
The user terminal approves if the check result is correct and decrypts the acquired set of encrypted files to obtain the desired set of files, otherwise rejects;
Search method including
(付記16) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記生成するステップは、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
前記チェックするステップは、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
付記14又は15に記載の検索方法。
(Supplementary Note 16) The predetermined generation algorithm includes a signature generation algorithm,
The predetermined verification algorithm comprises a signature verification algorithm;
The generating step generates a digital signature for the generation set as the verification information according to the signature generation algorithm using a digital signature private key,
The checking step checks whether the obtained digital signature is a digital signature of the verification set according to the signature verification algorithm using a public key of the digital signature;
The search method according to appendix 14 or 15.
(付記17) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記生成するステップは、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
前記チェックするステップは、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
付記14又は15に記載の検索方法。
(Supplementary Note 17) The predetermined generation algorithm includes a MAC (Message Authentication Code) generation algorithm,
The predetermined verification algorithm comprises a MAC verification algorithm;
The generating step generates an authenticator for the generation set as the verification information according to the MAC generation algorithm using a MAC secret key,
The checking step checks whether the acquired authenticator is the authenticator of the verification set according to the MAC verification algorithm using the secret key of the MAC.
The search method according to appendix 14 or 15.
(付記18) サーバに複数の暗号ファイルを保管し、キーワード検索によって前記サーバから所望のファイルの集合を取得する処理を、コンピュータであるユーザ端末に実行させる検索プログラムであって、前記コンピュータに、
暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する手順と、
キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成する手順と、
前記生成した検証情報を前記サーバに保管する手順と、
前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得する手順と、
前記取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックする手順と、
チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する手順と、
を実行させるための検索プログラム。
(Supplementary Note 18) A search program for storing a plurality of encrypted files in a server and causing a user terminal, which is a computer, to execute a process of acquiring a desired set of files from the server by keyword search,
Encrypting each of a plurality of files using an encryption private key, and storing the plurality of encrypted files in the server;
Generating verification information according to a predetermined generation algorithm for a generation set of a keyword and a set of all encrypted files including the keyword;
A procedure for storing the generated verification information in the server;
Sending an encrypted search keyword obtained by encrypting a search keyword using the encryption private key to the server, a set of encrypted files including the encrypted search keyword from the server, and verification information corresponding to the search keyword; With the steps to get
A procedure for checking whether or not the acquired verification information is verification information of a verification set of the search keyword and the acquired set of encrypted files by a predetermined verification algorithm;
Approve if the check result is correct, decrypt the acquired set of encrypted files to obtain the desired set of files, otherwise reject,
Search program to execute.
(付記19) サーバに複数の暗号ファイルを保管し、キーワード検索によって前記サーバから所望のファイルの集合を取得する処理を、コンピュータであるユーザ端末に実行させる検索プログラムであって、前記コンピュータに、
暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する手順と、
前記暗号化の秘密鍵を使ってキーワードを暗号化して得られる暗号キーワードと該暗号キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成する手順と、
前記生成した検証情報を前記サーバに保管する手順と、
前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記暗号検索キーワードに対応する検証情報とを取得する手順と、
前記取得した検証情報が、前記暗号検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックする手順と、
チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する手順と、
を実行させるための検索プログラム。
(Supplementary Note 19) A search program for storing a plurality of encrypted files in a server and causing a user terminal, which is a computer, to execute a process of acquiring a desired set of files from the server by keyword search,
Encrypting each of a plurality of files using an encryption private key, and storing the plurality of encrypted files in the server;
A procedure for generating verification information according to a predetermined generation algorithm for a generation set of an encryption keyword obtained by encrypting a keyword using the encryption secret key and a set of all encryption files including the encryption keyword; ,
A procedure for storing the generated verification information in the server;
A cryptographic search keyword obtained by encrypting a search keyword using the encryption private key is sent to the server, and a set of cryptographic files including the cryptographic search keyword from the server and verification information corresponding to the cryptographic search keyword And steps to get and
A procedure for checking whether or not the acquired verification information is verification information of a verification set of the cryptographic search keyword and the acquired set of encrypted files by a predetermined verification algorithm;
Approve if the check result is correct, decrypt the acquired set of encrypted files to obtain the desired set of files, otherwise reject,
Search program to execute.
(付記20) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記生成する手順は、前記コンピュータに、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成させ、
前記チェックする手順は、前記コンピュータに、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックせる、
付記18又は19に記載の検索プログラム。
(Supplementary note 20) The predetermined generation algorithm includes a signature generation algorithm,
The predetermined verification algorithm comprises a signature verification algorithm;
The generating step causes the computer to generate a digital signature for the generation set as the verification information according to the signature generation algorithm using a digital signature private key,
The checking step causes the computer to check whether the acquired digital signature is a digital signature of the verification set according to the signature verification algorithm using a public key of the digital signature.
The search program according to appendix 18 or 19.
(付記21) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記生成する手順は、前記コンピュータに、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成させ、
前記チェックする手順は、前記コンピュータに、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックさせる、
付記18又は19に記載の検索プログラム。
(Supplementary note 21) The predetermined generation algorithm includes a MAC (Message Authentication Code) generation algorithm,
The predetermined verification algorithm comprises a MAC verification algorithm;
The generating step causes the computer to generate an authenticator for the generation set as the verification information according to the MAC generation algorithm using a MAC secret key,
The checking step causes the computer to check whether the acquired authenticator is the authenticator of the verification set according to the MAC verification algorithm using the MAC secret key.
The search program according to appendix 18 or 19.
本発明は、キーワード検索におけるサーバの不正を検出する方式に利用可能である。 The present invention can be used for a method for detecting fraud of a server in keyword search.
100、100A、100B、100C、100D、100E 検索システム
200、200A、200B、200C ユーザ端末
200D、200E クライアント
210、210A 秘密鍵生成部
220、220A 秘密鍵保持部
230、230A 検証情報生成部
240、240A 検証部
260 第1の信号線(ファイル保管手段)
260A 第1の暗号化部(暗号ファイル保管手段)
270 第2の信号線(索引保管手段)
270A 第2の暗号化部(暗号索引保管手段)
280 第3の信号線(ファイル取得手段)
280A 第3の暗号化部(暗号ファイル取得手段)
300、300A、300B、300C、300D、300E サーバ
310 記憶領域
320 検索部
100, 100A, 100B, 100C, 100D,
260A First encryption unit (encrypted file storage means)
270 Second signal line (index storage means)
270A Second encryption unit (cryptographic index storage means)
280 Third signal line (file acquisition means)
280A Third encryption unit (encrypted file acquisition means)
300, 300A, 300B, 300C, 300D,
Claims (10)
前記複数のファイルを前記サーバに保管するファイル保管手段と、
キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、該生成した検証情報を前記サーバに保管する検証情報生成部と、
検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得するファイル取得手段と、
該取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否する検証部と、
を有する検索システム。 A user terminal stores a plurality of files in a server, and the user terminal acquires a desired set of files from the server by keyword search, wherein the user terminal includes:
File storage means for storing the plurality of files in the server;
A verification information generating unit that generates verification information according to a predetermined generation algorithm for a generation set of a keyword and a set of all files including the keyword, and stores the generated verification information in the server;
A file acquisition means for sending a search keyword to the server and acquiring a set of files including the search keyword and verification information corresponding to the search keyword from the server;
Whether the acquired verification information is verification information of a verification set of the search keyword and the acquired set of files is checked by a predetermined verification algorithm, and if the check result is correct, it is approved and acquired. A verification unit that obtains the set of files obtained as the set of desired files, and rejects otherwise.
Search system having
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記検証情報生成部は、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
前記検証部は、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
請求項1に記載の検索システム。 The predetermined generation algorithm comprises a signature generation algorithm;
The predetermined verification algorithm comprises a signature verification algorithm;
The verification information generation unit generates a digital signature for the generation set as the verification information according to the signature generation algorithm using a digital signature private key,
The verification unit checks whether the acquired digital signature is a digital signature of the verification set according to the signature verification algorithm using a public key of the digital signature.
The search system according to claim 1.
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記検証情報生成部は、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
前記検証部は、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
請求項1に記載の検索システム。 The predetermined generation algorithm comprises a MAC (Message Authentication Code) generation algorithm,
The predetermined verification algorithm comprises a MAC verification algorithm;
The verification information generation unit generates an authenticator for the generation set as the verification information according to the MAC generation algorithm using a MAC secret key,
The verification unit uses the MAC secret key to check whether the acquired authenticator is an authenticator of the verification set according to the MAC verification algorithm.
The search system according to claim 1.
前記ユーザ端末が、前記複数のファイルを前記サーバに保管するステップと、
前記ユーザ端末が、キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成するステップと、
前記ユーザ端末が、前記生成した検証情報を前記サーバに保管するステップと、
前記ユーザ端末が、検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得するステップと、
前記ユーザ端末が、前記取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックするステップと、
前記ユーザ端末が、チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否するステップと、
を含む検索方法。 A search method in which a user terminal stores a plurality of files in a server, and the user terminal acquires a set of desired files from the server by keyword search,
The user terminal storing the plurality of files in the server;
The user terminal generating verification information according to a predetermined generation algorithm for a generation set of a keyword and a set of all files including the keyword;
The user terminal storing the generated verification information in the server;
The user terminal sends a search keyword to the server, and acquires a set of files including the search keyword and verification information corresponding to the search keyword from the server;
The user terminal checking whether the acquired verification information is verification information of a verification set of the search keyword and the acquired set of files by a predetermined verification algorithm;
The user terminal approves if the check result is correct, obtains the acquired set of files as the desired set of files, and rejects otherwise;
Search method including
前記複数のファイルを前記サーバに保管する手順と、
キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成する手順と、
前記生成した検証情報を前記サーバに保管する手順と、
検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得する手順と、
前記取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックする手順と、
チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否する手順と、
を実行させるための検索プログラム。 A search program for storing a plurality of files in a server and causing a user terminal, which is a computer, to execute processing for acquiring a set of desired files from the server by keyword search,
Storing the plurality of files on the server;
A procedure for generating verification information in accordance with a predetermined generation algorithm for a generation set of a keyword and a set of all files including the keyword;
A procedure for storing the generated verification information in the server;
Sending a search keyword to the server, and obtaining a set of files containing the search keyword and verification information corresponding to the search keyword from the server;
A procedure for checking whether or not the acquired verification information is verification information of a verification set of the search keyword and the acquired set of files by a predetermined verification algorithm;
If the check result is correct, approve and obtain the acquired set of files as the desired set of files, otherwise reject,
Search program to execute.
暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する暗号ファイル保管手段と、
キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、該生成した検証情報を前記サーバに保管する検証情報生成部と、
前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得する暗号ファイル取得手段と、
該取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する検証部と、
を有する検索システム。 A user terminal stores a plurality of encrypted files in a server, and the user terminal acquires a desired set of files from the server by keyword search, wherein the user terminal includes:
Encrypted file storage means for encrypting each of a plurality of files using an encryption private key and storing the plurality of encrypted files in the server;
A verification information generating unit for generating verification information according to a predetermined generation algorithm for a generation set of a keyword and a set of all encrypted files including the keyword, and storing the generated verification information in the server;
Sending an encrypted search keyword obtained by encrypting a search keyword using the encryption private key to the server, a set of encrypted files including the encrypted search keyword from the server, and verification information corresponding to the search keyword; Encrypted file acquisition means for acquiring
Whether the acquired verification information is verification information of a verification set of the search keyword and the acquired set of encrypted files is checked by a predetermined verification algorithm, and if the check result is correct, it is approved and A verification unit that decrypts the obtained set of encrypted files to obtain the desired set of files, and rejects otherwise;
Search system having
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記検証情報生成部は、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
前記検証部は、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
請求項6に記載の検索システム。 The predetermined generation algorithm comprises a signature generation algorithm;
The predetermined verification algorithm comprises a signature verification algorithm;
The verification information generation unit generates a digital signature for the generation set as the verification information according to the signature generation algorithm using a digital signature private key,
The verification unit checks whether the acquired digital signature is a digital signature of the verification set according to the signature verification algorithm using a public key of the digital signature.
The search system according to claim 6.
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記検証情報生成部は、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
前記検証部は、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
請求項6に記載の検索システム。 The predetermined generation algorithm comprises a MAC (Message Authentication Code) generation algorithm,
The predetermined verification algorithm comprises a MAC verification algorithm;
The verification information generation unit generates an authenticator for the generation set as the verification information according to the MAC generation algorithm using a MAC secret key,
The verification unit uses the MAC secret key to check whether the acquired authenticator is an authenticator of the verification set according to the MAC verification algorithm.
The search system according to claim 6.
前記ユーザ端末が、暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管するステップと、
前記ユーザ端末が、キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成するステップと、
前記ユーザ端末が、前記生成した検証情報を前記サーバに保管するステップと、
前記ユーザ端末が、前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得するステップと、
前記ユーザ端末が、前記取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックするステップと、
前記ユーザ端末が、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否するステップと、
を含む検索方法。 A search method in which a user terminal stores a plurality of encrypted files in a server, and the user terminal acquires a set of desired files from the server by keyword search,
The user terminal encrypts each of a plurality of files using an encryption private key, and stores the plurality of encrypted files in the server;
The user terminal generating verification information according to a predetermined generation algorithm for a generation set of a keyword and a set of all encrypted files including the keyword;
The user terminal storing the generated verification information in the server;
The user terminal sends an encrypted search keyword obtained by encrypting a search keyword using the encrypted secret key to the server, and a set of encrypted files including the encrypted search keyword and the search keyword are sent from the server. Obtaining corresponding verification information;
The user terminal checks whether the acquired verification information is verification information of a verification set of the search keyword and the acquired set of encrypted files by a predetermined verification algorithm;
The user terminal approves if the check result is correct and decrypts the acquired set of encrypted files to obtain the desired set of files, otherwise rejects;
Search method including
暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する手順と、
キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成する手順と、
前記生成した検証情報を前記サーバに保管する手順と、
前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得する手順と、
前記取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックする手順と、
チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する手順と、
を実行させるための検索プログラム。 A search program for storing a plurality of encrypted files in a server and causing a user terminal, which is a computer, to execute a process of acquiring a desired set of files from the server by keyword search.
Encrypting each of a plurality of files using an encryption private key, and storing the plurality of encrypted files in the server;
Generating verification information according to a predetermined generation algorithm for a generation set of a keyword and a set of all encrypted files including the keyword;
A procedure for storing the generated verification information in the server;
Sending an encrypted search keyword obtained by encrypting a search keyword using the encryption private key to the server, a set of encrypted files including the encrypted search keyword from the server, and verification information corresponding to the search keyword; With the steps to get
A procedure for checking whether or not the acquired verification information is verification information of a verification set of the search keyword and the acquired set of encrypted files by a predetermined verification algorithm;
Approve if the check result is correct, decrypt the acquired set of encrypted files to obtain the desired set of files, otherwise reject,
Search program to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012020691A JP5970193B2 (en) | 2012-02-02 | 2012-02-02 | SEARCH SYSTEM, SEARCH METHOD, AND SEARCH PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012020691A JP5970193B2 (en) | 2012-02-02 | 2012-02-02 | SEARCH SYSTEM, SEARCH METHOD, AND SEARCH PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013161154A true JP2013161154A (en) | 2013-08-19 |
JP5970193B2 JP5970193B2 (en) | 2016-08-17 |
Family
ID=49173372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012020691A Expired - Fee Related JP5970193B2 (en) | 2012-02-02 | 2012-02-02 | SEARCH SYSTEM, SEARCH METHOD, AND SEARCH PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5970193B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015107561A1 (en) * | 2014-01-14 | 2015-07-23 | 三菱電機株式会社 | Search system, search method, and search program |
US10361840B2 (en) | 2014-10-21 | 2019-07-23 | Mitsubishi Electric Corporation | Server apparatus, search system, terminal apparatus, search method, non-transitory computer readable medium storing server program, and non-transitory computer readable medium storing terminal program |
JP2021090151A (en) * | 2019-12-04 | 2021-06-10 | 株式会社日立製作所 | Storage system and data protection method thereof |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001147898A (en) * | 1999-11-18 | 2001-05-29 | Ricoh Co Ltd | Electronic preserving method and device for guaranteeing originality and computer readable recording medium |
JP2002229835A (en) * | 2001-01-31 | 2002-08-16 | Olympus Optical Co Ltd | File management system by computer and its program and program recording medium |
JP2010205258A (en) * | 2008-11-11 | 2010-09-16 | Nec (China) Co Ltd | Search method, search apparatus, index generation method, and index generation apparatus |
-
2012
- 2012-02-02 JP JP2012020691A patent/JP5970193B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001147898A (en) * | 1999-11-18 | 2001-05-29 | Ricoh Co Ltd | Electronic preserving method and device for guaranteeing originality and computer readable recording medium |
JP2002229835A (en) * | 2001-01-31 | 2002-08-16 | Olympus Optical Co Ltd | File management system by computer and its program and program recording medium |
JP2010205258A (en) * | 2008-11-11 | 2010-09-16 | Nec (China) Co Ltd | Search method, search apparatus, index generation method, and index generation apparatus |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015107561A1 (en) * | 2014-01-14 | 2015-07-23 | 三菱電機株式会社 | Search system, search method, and search program |
US10361840B2 (en) | 2014-10-21 | 2019-07-23 | Mitsubishi Electric Corporation | Server apparatus, search system, terminal apparatus, search method, non-transitory computer readable medium storing server program, and non-transitory computer readable medium storing terminal program |
JP2021090151A (en) * | 2019-12-04 | 2021-06-10 | 株式会社日立製作所 | Storage system and data protection method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP5970193B2 (en) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220407720A1 (en) | Electronic identification verification methods and systems with storage of certification records to a side chain | |
CN111566649B (en) | Verifying integrity of data stored in a federated blockchain using public side chains | |
KR102051288B1 (en) | Methods and systems for verifying the integrity of digital assets using distributed hash tables and peer-to-peer distributed ledgers | |
US8392709B1 (en) | System and method for a single request—single response protocol with mutual replay attack protection | |
CN111047324B (en) | Method and apparatus for updating a set of public keys at a blockchain node | |
CN110998556A (en) | Data isolation in blockchain networks | |
JP5957095B2 (en) | Tamper detection device, tamper detection method, and program | |
JP2019511151A (en) | Cryptographic method and system for secure extraction of data from blockchain | |
CN111130757A (en) | Multi-cloud CP-ABE access control method based on block chain | |
CN110009349B (en) | Method and device for generating and verifying linkable ring signature in block chain | |
US10917249B2 (en) | Processing data elements stored in blockchain networks | |
JP2023501152A (en) | Random node selection for permissioned blockchains | |
CN110597836B (en) | Information inquiry request response method and device based on block chain network | |
US20210203511A1 (en) | Blockchain-based transaction verification | |
US11943339B2 (en) | Information processing apparatus, information processing method, and program | |
JP2018112827A (en) | Information processing system | |
US20220337392A1 (en) | Automatic digital media authenticator | |
JP2024507908A (en) | Blockchain network identity management using SSI | |
JP5970193B2 (en) | SEARCH SYSTEM, SEARCH METHOD, AND SEARCH PROGRAM | |
JP2023530594A (en) | Permitted Event Processing in Distributed Databases | |
CN111770081B (en) | Role authentication-based big data confidential file access method | |
JP6095057B2 (en) | SEARCH SYSTEM, SEARCH METHOD, AND SEARCH PROGRAM | |
JP2014137474A (en) | Tamper detection device, tamper detection method, and program | |
CN110827034A (en) | Method and apparatus for initiating a blockchain transaction | |
CN110457954B (en) | Contract management device and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151216 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20160204 |
|
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: 20160629 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5970193 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |