JP5970193B2 - 検索システム、検索方法および検索プログラム - Google Patents

検索システム、検索方法および検索プログラム Download PDF

Info

Publication number
JP5970193B2
JP5970193B2 JP2012020691A JP2012020691A JP5970193B2 JP 5970193 B2 JP5970193 B2 JP 5970193B2 JP 2012020691 A JP2012020691 A JP 2012020691A JP 2012020691 A JP2012020691 A JP 2012020691A JP 5970193 B2 JP5970193 B2 JP 5970193B2
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.)
Expired - Fee Related
Application number
JP2012020691A
Other languages
English (en)
Other versions
JP2013161154A (ja
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.)
Ibaraki University NUC
Original Assignee
Ibaraki University NUC
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 Ibaraki University NUC filed Critical Ibaraki University NUC
Priority to JP2012020691A priority Critical patent/JP5970193B2/ja
Publication of JP2013161154A publication Critical patent/JP2013161154A/ja
Application granted granted Critical
Publication of JP5970193B2 publication Critical patent/JP5970193B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、検索システム、検索方法、および、検索プログラムに関し、特に、キーワード検索におけるサーバの不正を検出可能な検索システム、検索方法、および、検索プログラムに関する。
この技術分野において周知のように、Yahoo!データボックスなどのデータストレージ(データ保管)サービスにおいては、ユーザ端末は、写真などの多くのファイルを(Yahoo!データボックスなどの)サーバに格納し、保管することができる。また、ユーザ端末は、ファイル名についてキーワード検索を行って、サーバから所望のファイルの集合を取得することもできる。尚、ユーザ端末は、クライアントとも呼ばれる。
これに対して、非特許文献1は、ファイルおよびキーワード検索の際、サーバに対し内容を秘匿する暗号化検索方式を開示している。この暗号化検索方式は、ファイルとキーワードとを暗号化する方式である。
一方、悪意のあるサーバ、あるいはウィルスに汚染されたサーバは、キーワード検索の際、対応する全てのファイルを正しく返すのではなく、ファイルの一部を削除、追加、改ざん、あるいはすり替えてしまう、といった不正を行うことが考えられる。
この問題に対し、上記非特許文献1では、ファイルの削除、追加、改ざんをユーザ端末が検出できる検索システムを開示している。以下では、この非特許文献1に開示された検索システムを、「先行検索システム」と呼ぶことにする。
尚、一般に、検索システムの動作は、ユーザ端末がファイルをサーバに格納する「格納フェーズ」と、ユーザ端末がサーバから所望のファイルを検索する「検索フェーズ」と、に分けられる。
以下、先行検索システムの概略の動作について説明する。
格納フェーズにおいて、ユーザ端末は、各ファイル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はキーワードの総数である。
検索フェーズにおいて、ユーザ端末は、キーワードiの暗号文E(キーワードi)をサーバへ送る。そのとき、サーバは、キーワードiを含む各組(E(Dn), sign(E(Dn)))とその対応するデジタル署名Yiと、をユーザ端末へ返す。ユーザ端末では、返送された各組のデジタル署名sign(E(Dn))をチェックすることにより、当該ファイルDnの改ざんを検出することができる。また、ユーザ端末は、返送されたデジタル署名Yiをチェックすることにより、キーワードiを含むファイル数の変化を検出することができる。
Y.Chang and M. Mitzenmacher, "Privacy Preserving Keyword Searches on Remote Encrypted Data", ACNS 2005: pp. 442-455 (2005)
しかしながら、非特許文献1に開示された先行検索システムでは、サーバの不正として、ファイルのすり替えを検出することができない。その理由は、次の通りである。
例えば、ファイル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が返送されるが、すり替えの場合はファイル数が変化しないので、正しいと判断してしまう。よって、ファイルのすり替えを自動的に検出することができない。
尚、非特許文献1では、ユーザ自身が、人手により、ファイルDmがキーワードiを含むかをチェックすることにより、ファイルのすり替えをチェックできると記載(主張)している。しかしながら、ファイルDn、Dmが写真などの場合、そのようなチェックを行うことは不可能である。
したがって本発明の目的は、サーバの不正として、ファイルの削除、追加、改ざんのみならず、ファイルのすり替えをも検出できる、検索システム、検索方法、および検索プログラムを提供することにある。
本発明の第1の態様に係る検索システムは、ユーザ端末がサーバに複数のファイルを保管し、ユーザ端末がキーワード検索によってサーバから所望のファイルの集合を取得する検索システムであって、ユーザ端末は、複数のファイルをサーバに保管するファイル保管手段と、キーワードと当該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、この生成した検証情報をサーバに保管する検証情報生成部と、検索キーワードをサーバへ送って、サーバから検索キーワードを含むファイルの集合と検索キーワードに対応する検証情報とを取得するファイル取得手段と、この取得した検証情報が、検索キーワードと取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して取得したファイルの集合を所望のファイルの集合として得、そうでなければ拒否する検証部と、を備える。
本発明の第2の態様による検索システムは、ユーザ端末がサーバに複数の暗号ファイルを保管し、ユーザ端末がキーワード検索によってサーバから所望のファイルの集合を取得する検索システムであって、ユーザ端末は、暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、複数の暗号ファイルをサーバに保管する暗号ファイル保管手段と、キーワードと当該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、その生成した検証情報をサーバに保管する検証情報生成部と、暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードをサーバへ送って、サーバから暗号検索キーワードを含む暗号ファイルの集合と検索キーワードに対応する検証情報とを取得する暗号ファイル取得手段と、その取得した検証情報が、検索キーワードと取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して取得した暗号ファイルの集合を復号して所望のファイルの集合を得、そうでなければ拒否する検証部と、を備える。
本発明では、キーワードと当該キーワードを含む全てのファイル(暗号ファイル)の集合との生成用組に対して所定のアルゴリズムに従って検証情報を生成し、その生成した検証情報をサーバに保管しているので、サーバの不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えをも検出することができる。
本発明の第1の実施形態に係る検索システムの格納フェーズの動作を説明するための概略ブロック図である。 本発明の第1の実施形態に係る検索システムの検索フェーズの動作を説明するための概略ブロック図である。 本発明の第2の実施形態に係る検索システムの格納フェーズの動作を説明するための概略ブロック図である。 本発明の第2の実施形態に係る検索システムの検索フェーズの動作を説明するための概略ブロック図である。 本発明の第3の実施形態に係る検索システムの格納フェーズの動作を説明するための概略ブロック図である。 本発明の第3の実施形態に係る検索システムの検索フェーズの動作を説明するための概略ブロック図である。 本発明の第4の実施形態に係る検索システムの格納フェーズの動作を説明するための概略ブロック図である。 本発明の第4の実施形態に係る検索システムの検索フェーズの動作を説明するための概略ブロック図である。 本発明の第1の実施例に係る検索システムの構成を示すブロック図である。 図9に示した検索システムに使用される索引の一具体例を示す図である。 図9に示した検索システムに使用される、クライアントの検証情報生成部の動作を説明するためのフローチャートである。 図11に示した検証情報生成部の動作の一具体例を示す図である。 図9に示した検索システムに使用される、クライアントの検証部の動作を説明するためのフローチャートである。 図13に示した検証部の動作の一具体例を示す図である。 本発明の第2の実施例に係る検索システムの構成を示すブロック図である。 図15に示した検索システムに使用される索引の一具体例を示す図である。 図15に示した検索システムに使用される、クライアントの検証情報生成部の動作を説明するためのフローチャートである。 図17に示した検証情報生成部の動作の一具体例を示す図である。 図15に示した検索システムに使用される、クライアントの検証部の動作を説明するためのフローチャートである。 図19に示した検証部の動作の一具体例を示す図である。
[概要]
以下、本発明の実施形態の概要について説明する。
本発明の実施形態による検索システムは、キーワード検索におけるサーバの不正を検出するシステムであるが、サーバの不正として、ファイルの「削除」、「追加」、「改ざん」のみならず、ファイルの「すり替え」をも検出できる検索システムである。
本実施形態に係る検索システムは、ファイルが暗号化されている場合と、ファイルが暗号化されていない場合との両者に適用できる。また、この技術分野において周知のように、メッセージの認証機能には、デジタル署名を利用する場合と、メッセージ認証コード(Message Authentication code,MAC)を利用して認証子を生成する場合とがある。なお、デジタル署名と認証子とは、総称して、検証情報と呼ばれる。従って、本実施形態に係る検索システムは、以下の第1乃至第4の実施形態に分けられる。
一般に、検証情報は、所定の生成アルゴリズムによって生成され、所定の検証アルゴリズムによって検証(チェック)される。検証情報がデジタル署名の場合、所定の生成アルゴリズムは署名生成アルゴリズムから成り、所定の検証アルゴリズムは署名検証アルゴリズムから成る。一方、検証情報が認証子の場合、所定の生成アルゴリズムはMAC生成アルゴリズムから成り、所定の検証アルゴリズムはMAC検証アルゴリズムから成る。
本発明の第1の実施形態に係る検索システムは、ユーザ端末がファイルを暗号化せずにサーバに保管する場合であって、メッセージの認証機能(検証情報)としてデジタル署名を利用する検索システムである。
このようなユーザ端末がファイルを暗号化せずにサーバに保管する場合、従来においては、サーバの不正を検出する方法は知られていない。本第1の実施形態に係る検索システムでは、このような場合においても、後述するように、サーバの不正を検出することができる。
本発明の第2の実施形態に係る検索システムは、ユーザ端末がファイルを暗号化せずにサーバに保管する場合であって、メッセージの認証機能(検証情報)としてMAC(認証子)を利用する検索システムである。
この技術分野において周知のように、デジタル署名とは異なり、MACは裁判での証拠能力がない。その代わりに、デジタル署名と比較して、MACは高速であるという利点がある。
本発明の第3の実施形態に係る検索システムは、ユーザ端末がファイルおよびキーワードを暗号化してサーバに保管する場合であって、メッセージの認証機能(検証情報)としてデジタル署名を利用する検索システムである。
前述したように、先行検索システムでは、ユーザ端末は、サーバの不正として、ファイルの削除、追加、改ざんのみを検出できる。これに対して、本第3の実施形態に係る検索システムでは、それらに加え、ファイルのすり替えをも検出できる。また、先行検索システムに比べ、本第3の実施形態に係る検索システムは通信量も少ない。
本発明の第4の実施形態に係る検索システムは、ユーザ端末がファイルおよびキーワードを暗号化してサーバに保管する場合であって、メッセージの認証機能(検証情報)としてMAC(認証子)を利用する検索システムである。
尚、前述したように、検索システムの動作は、ユーザ端末がファイル(暗号ファイル)をサーバに格納する「格納フェーズ」と、ユーザ端末がサーバから所望のファイルを検索する「検索フェーズ」と、に分けられる。
以下、図面を参照して、本発明の第1乃至第4の実施形態に係る検索システムについて説明する。
[第1の実施形態]
図1および図2を参照して、本発明の第1の実施形態に係る検索システム100について説明する。図示の第1の実施形態に係る検索システム100は、ユーザ端末200と、サーバ300とから構成される。
検索システム100は、ユーザ端末200が複数のファイルをサーバ300に保管し、ユーザ端末200がキーワード検索によってサーバ300から所望のファイルの集合を取得するシステムである。
先ず、図1を参照して、本発明の第1の実施形態に係る検索システム100における格納フェーズについて説明する。
格納フェーズにおいては、ユーザ端末200は、以下の動作を行う。
先ず、ユーザ端末200は、N(Nは1以上の整数)個のファイルである、ファイル1、・・・、ファイルNをサーバ300に保管する。また、必要に応じ、ユーザ端末200は、索引を生成し、その生成した索引をサーバ300に保管する。ここで、索引とは、キーワードとファイルとの対応表のことをいう。
ユーザ端末200は、鍵生成アルゴリズムに従って、デジタル署名の公開鍵vkと秘密鍵skとを生成する。ここで、ユーザ端末200は、公開鍵vkを公開し、秘密鍵skを秘密に保持する。尚、公開鍵vkは検証鍵又は検査鍵とも呼ばれ、秘密鍵skは署名鍵又は生成鍵とも呼ばれる。
次に、ユーザ端末200は、各キーワードについて、以下の動作を行う。ここで、キーワードの総数がI(Iは1以上の整数)個であるとし、キーワード1、・・・、キーワードIから成るとする。キーワードi(1≦i≦I)を含むファイルの集合Pを下記の数式のようにおく。
={ファイルj|ファイルjはキーワードiを含む}
ユーザ端末200は、秘密鍵skを使い、キーワードiと当該キーワードiを含む全てのファイルの集合Pとの生成用組(キーワードi、P)に対するデジタル署名σを、署名生成アルゴリズムに従って下記の数式のように生成する。
σ=sign{キーワードi、P
そして、ユーザ端末200は、この生成したデジタル署名σをサーバ300に保管する。
次に、図2を参照して、本発明の第1の実施形態に係る検索システム100における検索フェーズについて説明する。
検索フェーズにおいて、ユーザ端末200のユーザがキーワードiについて検索したいと仮定する。したがって、キーワードiが検索キーワードiである。
この場合、ユーザ端末200は、検索キーワードiをサーバ300に送る。図2では、検索キーワードとしてキーワード1をサーバ300に送る場合の例を示している。この例では、キーワード1を含むファイルの集合Pが、以下の数式であるとしている。
={ファイル2、ファイル5}
したがって、そのデジタル署名σは、以下の数式で表わされる。
σ=sign(キーワード1、ファイル2、ファイル5)
サーバ300は、検索キーワードiを含むファイルの集合Pと当該検索キーワードiに対応するデジタル署名σとをユーザ端末200へ返す。したがって、ユーザ端末200は、ファイルの集合Pとデジタル署名σとを取得する。
次に、ユーザ端末200は、公開鍵vkを使い、取得したデジタル署名σが検索キーワードiと取得したファイルの集合Pとの検証用組(キーワードi、P)のデジタル署名であるか否かを、署名生成アルゴリズムに従ってチェックする。ユーザ端末200は、チェックの結果が正しければ、承認して(accept)、取得したファイルの集合Pを所望のファイルの集合として得、そうでなければ拒否する(reject)。
このように、本発明の第1の実施形態では、ユーザ端末200が各キーワードiと当該キーワードiを含む全てのファイルの集合Pとを一組(生成用組)として、それに対するデジタル署名σを生成し、生成したデジタル署名σをサーバ300に保管しているので、検索時に、サーバ300の不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えも検出することができる。
[第2の実施形態]
図3および図4を参照して、本発明の第2の実施形態に係る検索システム100Aについて説明する。図示の第2の実施形態に係る検索システム100Aは、ユーザ端末200Aと、サーバ300Aとから構成される。
検索システム100Aは、ユーザ端末200Aが複数のファイルをサーバ300Aに保管し、ユーザ端末200Aがキーワード検索によってサーバ300Aから所望のファイルの集合を取得するシステムである。
先ず、図3を参照して、本発明の第2の実施形態に係る検索システム100Aにおける格納フェーズについて説明する。
格納フェーズにおいては、ユーザ端末200Aは、以下の動作を行う。
先ず、ユーザ端末200Aは、N(Nは1以上の整数)個のファイルである、ファイル1、・・・、ファイルNをサーバ300Aに保管する。また、必要に応じ、ユーザ端末200Aは、索引を生成し、その生成した索引をサーバ300Aに保管する。ここで、索引とは、キーワードとファイルの対応表のことをいう。
ユーザ端末200Aは、MACの秘密鍵Kを生成し、秘密鍵Kを秘密に保持する。
次に、ユーザ端末200Aは、各キーワードについて、以下の動作を行う。ここで、キーワードの総数がI(Iは1以上の整数)個であるとし、キーワード1、・・・、キーワードIから成るとする。キーワードi(1≦i≦I)を含むファイルの集合Pを下記の数式のようにおく。
={ファイルj|ファイルjはキーワードiを含む}
ユーザ端末200Aは、MACの秘密鍵Kを使い、キーワードiと当該キーワードiを含む全てのファイルの集合Pとの生成用組(キーワードi、P)に対する認証子Tagを、MAC生成アルゴリズムに従って、下記の数式によって生成する。
Tag=sign{キーワードi、P
そして、ユーザ端末200Aは、この生成した認証子Tagをサーバ300Aに保管する。
次に、図4を参照して、本発明の第2の実施形態に係る検索システム100Aにおける検索フェーズについて説明する。
検索フェーズにおいて、ユーザ端末200Aのユーザがキーワードiについて検索したいと仮定する。したがって、キーワードiが検索キーワードiである。
この場合、ユーザ端末200Aは、検索キーワードiをサーバ300に送る。図4では、ユーザ端末200Aが検索キーワードとしてキーワード1をサーバ300Aに送る場合の例を示している。この例では、キーワード1を含むファイルの集合Pが、下記の数式であるとしている。
={ファイル2、ファイル5}
したがって、その認証子Tagは、下記の数式で表わされる。
Tag=sign(キーワード1、ファイル2、ファイル5)
サーバ300Aは、検索キーワードiを含むファイルの集合Pと、当該検索キーワードiに対応する認証子Tagとをユーザ端末200Aへ返す。したがって、ユーザ端末200Aは、ファイルの集合Pと認証子Tagと取得する。
ユーザ端末200Aは、MACの秘密鍵Kを使い、取得した認証子Tagが、検索キーワードiと取得したファイルの集合Pとの検証用組(キーワードi、P)の認証子であるか否かを、MAC検証アルゴリズムに従ってチェックする。ユーザ端末200Aは、チェックの結果が正しければ、承認して(accept)、取得したファイルの集合Pを所望のファイルの集合として得、そうでなければ拒否する(reject)。
このように、本発明の第2の実施形態では、ユーザ端末200Aが各キーワードiと当該キーワードiを含む全てのファイルの集合Pとを一組(生成用組)として、それに対する認証子Tagを生成して、生成した認証子Tagをサーバ300Aに保管しているので、検索時に、サーバ300Aの不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えも検出することができる。
[第3の実施形態]
図5および図6を参照して、本発明の第3の実施形態に係る検索システム100Bについて説明する。図示の第3の実施形態に係る検索システム100Bは、ユーザ端末200Bと、サーバ300Bとから構成される。
検索システム100Bは、ユーザ端末200Bがサーバ300Bに複数の暗号ファイルを保管し、ユーザ端末200Bがキーワード検索によってサーバ300Bから所望のファイルの集合を取得するシステムである。
先ず、図5を参照して、本発明の第3の実施形態に係る検索システム100Bにおける格納フェーズについて説明する。
格納フェーズにおいては、ユーザ端末200Bは、以下の動作を行う。
先ず、ユーザ端末200Bは、暗号化の秘密鍵Kを生成し、その秘密鍵Kを秘密に保持する。
次に、ユーザ端末200Bは、暗号化の秘密鍵Kを使い、N(Nは1以上の整数)個のファイルである、ファイル1、・・・、ファイルNの暗号文E(ファイル1)、・・・、E(ファイルN)を計算し、それら暗号文(暗号ファイル)をサーバ300Bに保管する。また、必要に応じ、ユーザ端末200Bは、索引を生成し、その生成した索引を、暗号化して、サーバ300Bに保管する。ここで、索引とは、キーワードとファイルの対応表のことをいう。
また、ユーザ端末200Bは、デジタル署名の公開鍵(検証鍵)vkと秘密鍵(署名鍵)skとを鍵生成アルゴリズムに従って生成する。ここで、ユーザ端末200Bは、公開鍵(検証鍵)vkを公開し、秘密鍵(署名鍵)skを秘密に保持する。
次に、ユーザ端末200Bは、各キーワードについて、以下の動作を行う。ここで、キーワードの総数がI(Iは2以上の整数)個であるとし、キーワード1、・・・、キーワードIから成るとする。キーワードi(1≦i≦I)を含むファイルの暗号文(暗号ファイル)の集合Qを、下記の数式のようにおく。
={E(ファイルj)|ファイルjはキーワードiを含む}
ユーザ端末200Bは、デジタル署名の秘密鍵skを使い、キーワードiと当該キーワードiを含む全ての暗号ファイルの集合Qとの生成用組(キーワードi、Q)に対するデジタル署名σを、署名生成アルゴリズムに従って、下記の数式のように生成する。
σ=sign{キーワードi、Q
そして、ユーザ端末200Bは、この生成したデジタル署名σをサーバ300Bに保管する。
その代わりに、ユーザ端末200Bは、デジタル署名の秘密鍵skを使い、暗号化の秘密鍵Kを使ってキーワードiを暗号化して得られる暗号キーワードE’(キーワードi)と当該暗号キーワードE’(キーワードi)を含む全ての暗号ファイルの集合Qとの生成用組(E’(キーワードi)、Q)に対するデジタル署名σを、署名生成アルゴリズムに従って、下記の数式のように生成し、
σ=sign{E’(キーワードi)、Q
この生成したデジタル署名σをサーバ300Bに保管してもよい。
次に、図6を参照して、本発明の第3の実施形態に係る検索システム100Bにおける検索フェーズについて説明する。
検索フェーズにおいて、ユーザ端末200Bのユーザがキーワードiについて検索したいと仮定する。したがって、キーワードiが検索キーワードiである。
この場合、ユーザ端末200Bは、暗号化の秘密鍵Kを使って検索キーワードiを暗号化して得られる暗号検索キーワードE’(キーワードi)をサーバ300Bに送る。図6では、検索キーワードとしてキーワード1の暗号文である暗号検索キーワードE’(キーワード1)をサーバ300Bに送る場合の例を示している。この例では、キーワード1を含むファイルの暗号文(暗号ファイル)の集合Qが、下記の数式であるとしている。
={E(ファイル2)、E(ファイル5)}
したがって、そのデジタル署名σは、下記の数式で表わされる。
σ=sign(キーワード1、E(ファイル2)、E(ファイル5))
または、そのデジタル署名σは、下記の数式で表わされる。
σ=sign(E’(キーワード1)、E(ファイル2)、E(ファイル5))
サーバ300Bは、キーワードiを含むファイルの暗号文(暗号ファイル)の集合Qとそのデジタル署名σとをユーザ端末200Bへ返す。したがって、ユーザ端末200Bは、暗号ファイルの集合Qとそのデジタル署名σとを取得する。
ユーザ端末200Bは、デジタル署名の公開鍵vkを使い、取得したデジタル署名σが、検索キーワードiと取得した暗号ファイルの集合Qとの検証用組(キーワードi、Q)のデジタル署名であるか否かを、署名検証アルゴリズムに従ってチェックする。
或いは、ユーザ端末200Bは、デジタル署名の公開鍵vkを使い、取得したデジタル署名σが、暗号検索キーワード(E’(キーワードi)と取得した暗号ファイルの集合Qとの検証用組(E’(キーワードi)、Q)のデジタル署名であるか否かを、署名検証アルゴリズムに従ってチェックする。
ユーザ端末200Bは、チェックした結果が正しければ、承認して(accept)、取得した暗号ファイルの集合Qを復号して所望のファイルの集合Pを得、そうでなければ拒否する(reject)。
このように、本発明の第3の実施形態では、ユーザ端末200Bが各キーワードi(又は暗号キーワード)と当該キーワードi(又は暗号キーワード)を含む全てのファイルの暗号文(暗号ファイル)の集合Qとを一組(生成用組)として、それに対するデジタル署名σを生成し、生成したデジタル署名σをサーバ300Bに保管しているので、検索時に、サーバ300Bの不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えも検出することができる。
[第4の実施形態]
図7および図8を参照して、本発明の第4の実施形態に係る検索システム100Cについて説明する。図示の第4の実施形態に係る検索システム100Cは、ユーザ端末200Cと、サーバ300Cとから構成される。
検索システム100Cは、ユーザ端末200Cがサーバ300Cに複数の暗号ファイルを保管し、ユーザ端末200Cがキーワード検索によってサーバ300Cから所望のファイルの集合を取得するシステムである。
先ず、図7を参照して、本発明の第4の実施形態に係る検索システム100Cにおける格納フェーズについて説明する。
格納フェーズにおいては、ユーザ端末200Cは、以下の動作を行う。
先ず、ユーザ端末200Cは、暗号化の秘密鍵K0およびMACの秘密鍵K1を生成し、両者を秘密に保持する。
次に、ユーザ端末200Cは、暗号化の暗号鍵K0を使い、N(Nは1以上の整数)個のファイルである、ファイル1、・・・、ファイルNの暗号文(暗号ファイル)E(ファイル1)、・・・、E(ファイルN)をサーバ300Cに保管する。また、必要に応じ、ユーザ端末200Cは、索引を生成し、その生成した索引を暗号化して、サーバ300Cに保管する。ここで、索引とは、キーワードとファイルの対応表のことをいう。
次に、ユーザ端末200Cは、各キーワードについて、以下の動作を行う。ここで、キーワードの総数がI(Iは1以上の整数)個であるとし、キーワード1、・・・、キーワードIから成るとする。キーワードi(1≦i≦I)を含むファイルの暗号文(暗号ファイル)の集合Qを下記の数式のようにおく。
={E(ファイルj)|ファイルjはキーワードiを含む}
ユーザ端末200Cは、MACの秘密鍵K1を使い、キーワードiと当該キーワードiを含む全ての暗号ファイルの集合Qとの生成用組(キーワードi、Q)に対する認証子Tagを、MAC生成アルゴリズムに従って、下記の数式のように生成する。
Tag=sign{キーワードi、Q
そして、ユーザ端末200Cは、この生成した認証子Tagをサーバ300Cに保管する。
その代わりに、ユーザ端末200Cは、MACの秘密鍵K1を使い、暗号化の暗号鍵K0を使ってキーワードiを暗号化して得られる暗号キーワードE’(キーワードi)と当該暗号キーワードE’(キーワードi)を含む全ての暗号ファイルの集合Qとの生成用組(E’(キーワードi)、Q)に対する認証子Tagを、MAC生成アルゴリズムに従って、下記の数式のように生成し、
Tag=sign{E’(キーワードi)、Q
この生成した認証子Tagをサーバ300Cに保管してもよい。
次に、図8を参照して、本発明の第4の実施形態に係る検索システム100Cにおける検索フェーズについて説明する。
検索フェーズにおいて、ユーザ端末200Cのユーザがキーワードiについて検索したいと仮定する。したがって、キーワードiが検索キーワードiである。
この場合、ユーザ端末200Cは、暗号化の秘密鍵K0を使って検索キーワードiを暗号して得られる暗号検索キーワードE’(キーワードi)をサーバ300Cに送る。図8では、検索キーワードとしてキーワード1の暗号文である暗号検索キーワードE’(キーワード1)をサーバ300Aに送る場合の例を示している。この例では、キーワード1を含むファイルの暗号文(暗号ファイル)の集合Qが、下記の数式であるとしている。
={E(ファイル2)、E(ファイル5)}
したがって、その認証子Tagは、下記の数式で表わされる。
Tag
sign(キーワード1、E(ファイル2)、E(ファイル5))
または、その認証子Tagは、下記の数式で表わされる。
Tag
sign(E’(キーワード1)、E(ファイル2)、E(ファイル5))
サーバ300Cは、検索キーワードiを含むファイルの暗号文(暗号ファイル)の集合Qとその認証子Tagとをユーザ端末200Cへ返す。したがって、ユーザ端末200Cは、暗号ファイルの集合Qとその認証子Tagとを取得する。
ユーザ端末200Cは、MACの秘密鍵K1を使い、取得した認証子Tagが、検索キーワードiと取得した暗号ファイルの集合Qとの検証用組(キーワードi、Q)の認証子であるか否かを、MAC検証アルゴリズムに従ってチェックする。
或いは、ユーザ端末200Cは、MACの秘密鍵K1を使い、取得した認証子Tagが、暗号検索キーワードE’(キーワードi)と取得した暗号ファイルの集合Qとの検証用組(E’(キーワードi)、Q)の認証子であるか否かを、MAC検証アルゴリズムに従ってチェックする。
ユーザ端末200Cは、チェックした結果が正しければ、承認して(accept)、取得した暗号ファイルの集合Qを復号して所望のファイルの集合Pを得、そうでなければ拒否する(reject)。
このように、本発明の第4の実施形態では、ユーザ端末200Cが各キーワードi(又は暗号キーワード)と当該キーワードi(又は暗号キーワード)を含む全てのファイルの暗号文(暗号ファイル)の集合Qとを一組(生成用組)として、それに対する認証子Tagを生成し、生成した認証子Tagをサーバ300Cに保管しているので、検索時に、サーバ300Cの不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えも検出することができる。
図9を参照して、本発明の第1の実施例に係る検索システム100Dについて説明する。図示の検索システム100Dは、上述した本発明の第2の実施形態(又は、第1の実施形態)に係る検索システムに相当する検証システムである。検索システム100Dは、クライアント200Dとサーバ300Dとから構成される。クライアント200Dは、ユーザ端末とも呼ばれる。
図示の検索システム100Dは、クライアント(ユーザ端末)200Dがサーバ300Dに複数のファイルを保管し、クライアント(ユーザ端末)200Dがキーワード検索によってサーバ300Dから所望のファイルの集合を取得するシステムである。
クライアント200Dは、秘密鍵生成部210と、秘密鍵保持部220と、検証情報生成部230と、検証部240と、第1乃至第3の信号線(伝送線)260、270、280と、から構成されている。一方、サーバ300Dは、記憶領域310と、検索部320とから構成されている。
秘密鍵生成部210は、MACの秘密鍵Kを生成する。秘密鍵保持部220は、この生成されたMACの秘密鍵Kを保持する。
クライアント200Dは、N個のファイルを第1の信号線(伝送線)260を介してサーバ300Dへ送信する。サーバ300Dは、その送られてきたN個のファイルを記憶領域310に保管する。したがって、第1の信号線(伝送線)260は、サーバ300DにN個のファイルを保管するファイル保管手段として働く。
また、クライアント200Dは、索引を生成し、生成した索引を第2の信号線(伝送線)270を介してサーバ300Dへ送信する。サーバ300Dは、その送られてきた索引を記憶領域310に記憶する。したがって、第2の信号線(伝送線)270は、生成した索引をサーバ300Dに保管する索引保管手段として働く。
図10に索引の具体例を示す。前述したように、索引は、キーワードと、それに対応するファイルの番号(ファイル番号)の対応表である。
図示の例では、索引の番号1には、キーワードとして「情報工学」が記憶され、そのキーワードに対応するファイル番号として、「1」、「6」、「8」、「11」が記憶されている。また、索引の番号2には、キーワードとして「茨城大学」が記憶され、そのキーワードに対応するファイル番号として、「3」、「6」、「10」が記憶されている。
図11を参照して、クライアント200Dの検索情報生成部230の動作について説明する。
検証情報生成部230は、MACの秘密鍵K、索引、ファイルの集合{D1、D2、…}を読み込む(ステップS110)。次に、検証情報生成部230は、各キーワードWについて以下の処理を実行する(ステップS120)。ここでは、キーワードWに対応するファイル番号を(i1、i2、…)とする。この場合、検索情報生成部230は、MACの秘密鍵Kを使い、生成用組(W、Di1、Di2、…)に対応する認証子Tagを下記の数式によって計算する。
Tag=f(W、Di1、Di2、…)
ここで、fはMAC生成アルゴリズムである。
尚、検証情報として、認証子Tagの代わりにデジタル署名σを使用する場合、fは署名生成アルゴリズムであって、検索情報生成部230は、MACの秘密鍵Kの代わりにデジタル署名の秘密鍵skを使用し、生成用組(W、Di1、Di2、…)に対応するデジタル署名σを下記の数式によって計算する。
σ=fsk(W、Di1、Di2、…)
検索情報生成部230は、計算して得られた検証情報(Tag、Tag、…)を出力する(ステップS130)。これら検証情報(認証子)は、サーバ300Dに送られ、サーバ300Dは、これら検証情報(認証子)を記憶領域310に記憶する。
次に、図12を参照して、検証情報生成部230の動作について具体例を挙げて説明する。ここでは、キーワードが索引番号2の「茨城大学」である場合を例に挙げて説明する。
この場合、検証情報生成部230は、索引を参照して、キーワード「茨城大学」を含む、該当するファイルの集合を選択する。この場合、索引番号2のファイル番号には、「3」、「6」、「10」が記憶されているので、検索情報生成部230は、該当ファイルの集合Pとして、ファイルD3、D6、およびD10を選択する。
そして、検証情報生成部230は、MACの秘密鍵Kを使い、生成用組(茨城大学、D3、D6、D10)に対する検証情報(認証子)Tagを、MAC生成アルゴリズムに従って、下記数式で示されるように生成する。
Tag=f(茨城大学、D3、D6、D10)
検証情報生成部230は、このようにして、キーワードi毎の検証情報(認証子)Tagを生成する。生成された検証情報(認証子)Tagは、サーバ300Dへ送られ、サーバ300Dは、送られてきた検証情報(認証子)Tagを記憶領域310に記憶する。
尚、検証情報がデジタル署名σの場合、サーバ300Dはデジタル署名σを記憶領域310に記憶する。
検索時、クライアント200Dは、検索キーワードWを第3の信号線(伝送線)280を介してサーバ300Dに送る。サーバ300Dにおいては、検索キーワードWに応答して、検索部320は、その検索キーワードWを含むファイルの集合P=(Di1、Di2、…)とその検証情報(認証子)Tagとをクライアント200Dへ返す。したがって、クライアント200Dは、ファイルの集合P=(Di1、Di2、…)とその検証情報(認証子)Tagとを取得する。すなわち、第2の信号線(伝送線)280は、検索キーワードWをサーバ300Dへ送って、サーバ300Dから、検索キーワードWを含むファイルの集合P=(Di1、Di2、…)とその検証情報(認証子)Tagとを取得するファイル取得手段として働く。
次に、図13を参照して、クライアント200Dの検証部240の動作について説明する。
検証部240は、秘密鍵保持部220に保持されたMACの秘密鍵Kと、検索キーワードWとを読み込む(ステップS210)。次に、検証部240は、サーバ300Dから送られてきたファイルの集合P=(Di1、Di2、…)とその検証情報(認証子)Tagとを読み込む(ステップS220)。
検証部240は、MACの秘密鍵Kを使い、検証情報(認証子)Tagが検証用組(W、Di1、Di2、…)の認証子であるか否かを、MAC検証アルゴリズムに従って、下記の数式に示されるように計算する(ステップS230)。
Verify(W、Di1、Di2、…、Tag)=accept or reject
検証部240は、acceptなら(ステップS240のYes)、取得したファイルの集合P=(Di1、Di2、…)を所望のファイルの集合として出力し(ステップS250)、rejectなら(ステップS240のNo)、rejectを出力する(ステップS260)。
尚、検証情報がデジタル署名σである場合、検証部240は、デジタル署名の公開鍵(検証鍵)vkを使い、デジタル署名σが、検証用組(W、Di1、Di2、…)の認証子であるか否かを、署名検証アルゴリズムに従って、下記の数式に示されるように計算する。
Verifyvk(W、Di1、Di2、…、σ)=accept or reject
次に、図14を参照して、検証部240の動作について具体例を挙げて説明する。ここでは、検索キーワードWが索引番号2の「茨城大学」である場合を例に挙げて説明する。
この場合、検証部240は、秘密鍵保持部220からMACの秘密鍵Kを読み込み、検索キーワードとして「茨城大学」を読み込み、サーバ300Dから送られてきた、ファイルの集合P=(D3、D6、D10)と検証情報(認証子)Tagとを読み込む。
そして、検証部240は、MACの秘密鍵Kを使い、検証情報(認証子)Tagが検証用組(茨城大学、D3、D6、D10)の認証子であるか否かを、MAC検証アルゴリズムに従って、下記の数式に示されるように計算する。
Verify(茨城大学、D3、D6、D10、Tag)=accept or reject
検証部240は、acceptなら、取得したファイルの集合P=(D3、D6、D10)を所望のファイルの集合として出力し、rejectなら、rejectを出力する。
次に、本第1の実施例の効果について説明する。
本第1の実施例の検索システム100Dは、サーバ300Dの不正として、ファイルの削除、追加、改ざんのみならず、ファイルのすり替えをも検出できる。その理由は、クライアント(ユーザ端末)200Dが各キーワードWと当該キーワードWを含む全てのファイルの集合P=(Di1、Di2、…)とを一組(生成用組)として、それに対する検証情報Tag(又はσ)を生成し、生成した検証情報Tag(又はσ)をサーバ300Dに保管しているからである。
図15を参照して、本発明の第2の実施例に係る検索システム100Eについて説明する。図示の検索システム100Eは、上述した本発明の第4の実施形態(又は、第3の実施形態)に係る検索システムに相当する検証システムである。検索システム100Eは、クライアント200Eとサーバ300Eとから構成される。クライアント200Eは、ユーザ端末とも呼ばれる。
検索システム100Eは、クライアント(ユーザ端末)200Eがサーバ300Eに複数の暗号ファイルを保管し、クライアント(ユーザ端末)200Eがキーワード検索によってサーバ300Eから所望のファイルの集合を取得するシステムである。
クライアント200Eは、秘密鍵生成部210Aと、秘密鍵保持部220Aと、検証情報生成部230Aと、検証部240Aと、第1乃至第3の暗号化部260A、270A、および280Aと、から構成されている。一方、サーバ300Eは、記憶領域310と、検索部320とから構成されている。
秘密鍵生成部210Aは、暗号化の秘密鍵K0とMACの秘密鍵K1とを生成する。秘密鍵保持部220は、この生成された暗号化の秘密鍵K0とMACの秘密鍵K1とを保持する。
尚、検証情報がデジタル署名である場合、秘密鍵生成部210Aは、暗号化の秘密鍵Kとデジタル署名の公開鍵vkと秘密鍵skとを生成する。
第1の暗号化部260Aは、暗号化の秘密鍵K0を使い、N個のファイルの暗号文である暗号ファイル{E(D1)、E(D2)、…}を計算する。これら暗号ファイル{E(D1)、E(D2)、…}は、サーバ300Eへ送られ、サーバ300Eは、その送られてきた暗号ファイル{E(D1)、E(D2)、…}を記憶領域310に記憶する。したがって、第1の暗号化部260Aは、暗号化の秘密鍵K0を使って複数のファイルをそれぞれ暗号化し、複数の暗号ファイルをサーバ300Eに保管する暗号ファイル保管手段として働く。
尚、検証情報がデジタル署名である場合、第1の暗号化部260Aは、暗号化の秘密鍵Kを使い、N個のファイルの暗号文(暗号ファイル)を計算する。
また、クライアント200Eは、索引を生成する。
図16に索引の具体例を示す。前述したように、索引は、キーワードと、それに対応するファイルの番号(ファイル番号)の対応表である。
図示の例では、索引の番号1には、キーワードとして「情報工学」が記憶され、そのキーワードに対応するファイル番号として、「1」、「6」、「8」、「11」が記憶されている。また、索引の番号2には、キーワードとして「茨城大学」が記憶され、そのキーワードに対応するファイル番号として、「3」、「6」、「10」が記憶されている。
第2の暗号化部270Aは、暗号化の秘密鍵K0を使い、生成した索引を暗号化して、暗号索引をサーバ300Eへ送信する。サーバ300Eは、その送られてきた暗号索引を記憶領域310に記憶する。したがって、第2の暗号化部270Aは、生成した索引を暗号化して、暗号索引をサーバ300Eへ保管する暗号索引保管手段として働く。
図17を参照して、クライアント200Eの検証情報生成部230Aの動作について説明する。
検証情報生成部230Aは、MACの秘密鍵K1、索引、暗号ファイルの集合{E(D1)、E(D2)、…}を読み込む(ステップS110A)。次に、検証情報生成部230Aは、各キーワードWについて以下の処理を実行する(ステップS120A)。ここでは、キーワードWに対応するファイル番号を(i1、i2、…)とする。この場合、検索情報生成部230は、MACの秘密鍵K1を使い、生成用組(W、E(Di1)、E(Di2)、…)に対応する検証情報(認証子)Tagを下記の数式のように計算する。
Tag=fK1(W、E(Di1)、E(Di2)、…)
ここで、fはMAC生成アルゴリズムである。
尚、検証情報として、認証子Tagの代わりにデジタル署名σを使用する場合、fは署名生成アルゴリズムであって、検証情報生成部230Aは、MACの暗号鍵K1の代わりにデジタル署名の秘密鍵skを使用して、生成用組(W、E(Di1)、E(Di2)、…)に対応するデジタル署名σを下記の数式のように計算する。
σ=fsk(W、E(Di1)、E(Di2)、…)
検索情報生成部230Aは、計算して得られた検証情報(Tag、Tag、…)を出力する(ステップS130A)。これら検証情報(認証子)は、サーバ300Eに送られ、サーバ300Eは、これら検証情報(認証子)を記憶領域310に記憶する。
次に、図18を参照して、検証情報生成部230Aの動作について具体例を挙げて説明する。ここでは、キーワードが索引番号2の「茨城大学」である場合を例に挙げて説明する。
この場合、検証情報生成部230Aは、索引を参照して、キーワード「茨城大学」を含む、該当する暗号化されたファイル(暗号ファイル)の集合Qを選択する。この場合、索引番号2のファイル番号には、「3」、「6」、「10」が記憶されているので、検索情報生成部230Aは、該当暗号ファイルの集合Qとして、暗号ファイルE(D3)、E(D6)、およびE(D10)を選択する。
そして、検証情報生成部230Aは、MACの秘密鍵K1を使い、生成用組(茨城大学、E(D3)、E(D6)、E(D10))に対する検証情報(認証子)Tagを、MAC生成アルゴリズムに従って、下記数式で示されるように生成する。
Tag=fK1(茨城大学、E(D3)、E(D6)、E(D10))
検証情報生成部230Aは、このようにして、キーワードi毎の検証情報(認証子)Tagを生成する。生成された検証情報(認証子)Tagは、サーバ300Eへ送られ、サーバ300Eは、送られてきた検証情報(認証子)Tagを記憶領域310に記憶する。
尚、検証情報がデジタル署名σの場合、サーバ300Eは、デジタル署名σを記憶領域310に記憶する。
検索時、クライアント200Eでは、第3の暗号化部280Aが、暗号化の秘密鍵K0を使って検索キーワードWを暗号化し、暗号検索キーワードE’(W)をサーバ300Eに送る。サーバ300Eにおいては、暗号検索キーワードE’(W)に応答して、検索部320は、その検索キーワードWを含む暗号ファイルの集合Q=(E(Di1)、E(Di2)、…)とその検証情報(認証子)Tagとをクライアント200Eへ返す。したがって、クライアント200Eは、暗号ファイルの集合Q=(E(Di1)、E(Di2)、…)とその検証情報(認証子)Tagとを取得する。すなわち、第3の暗号化部280Aは、暗号化の秘密鍵K0を使って検索キーワードWを暗号化して得られる暗号検索キーワードE’(W)をサーバ300Eへ送って、サーバ300Eから、暗号ファイルの集合Q=(E(Di1)、E(Di2)、…)と検索キーワードWに対応する検証情報(認証子)Tagとを取得する暗号ファイル取得手段として働く。
次に、図19を参照して、クライアント200Eの検証部240Aの動作について説明する。
検証部240Aは、秘密鍵保持部220Aに保持されたMACの秘密鍵K1と、検索キーワードWとを読み込む(ステップS210A)。次に、検証部240Aは、サーバ300Eから送られてきた暗号ファイルの集合Qである暗号ファイル(E(Di1)、E(Di2)、…)とその検証情報(認証子)Tagとを読み込む(ステップS220A)。
検証部240Aは、MACの秘密鍵K1を使い、検証情報(認証子)Tagが検証用組(W、E(Di1)、E(Di2)、…)の認証子であるか否かを、MAC検証アルゴリズムに従って、下記の数式に示されるように計算する(S230A)。
VerifyK1(W、E(Di1)、E(Di2)、…、Tag)=accept or reject
検証部240Aは、計算結果がacceptなら(ステップS240AのYes)、取得した暗号ファイルの集合Q=(E(Di1)、E(Di2)、…)を復号して、所望のファイルの集合P=(Di1、Di2、…)を出力し(ステップS250A)、rejectなら(ステップS240AのNo)、rejectを出力する(ステップS260A)。
尚、検証情報がデジタル署名σである場合、検証部240Aは、デジタル署名の公開鍵vkを使い、デジタル署名σが検証用組(W、E(Di1)、E(Di2)、…)のデジタル署名であるか否かを、署名検証アルゴリズムに従って、下記の数式に示されるように計算する。
Verifyvk(W、E(Di1)、E(Di2)、…、σ)=accept or reject
次に、図20を参照して、検証部240Aの動作について具体例を挙げて説明する。ここでは、検索キーワードWが索引番号2の「茨城大学」である場合を例に挙げて説明する。
この場合、検証部240Aは、秘密鍵保持部220AからMACの秘密鍵K1を読み込み、検索キーワードとして「茨城大学」を読み込み、サーバ300Eから送られてきた、暗号ファイルの集合Qである暗号ファイル(E(D3)、E(D6)、E(D10))と検証情報(認証子)Tagとを読み込む。
そして、検証部240Aは、MACの秘密鍵K1を使い、検証情報(認証子)Tagが検証用組(茨城大学、E(D3)、E(D6)、E(D10))の認証子であるか否かを、MAC検証アルゴリズムに従って下記の数式のように計算する。
VerifyK1(茨城大学、E(D3)、E(D6)、E(D10)、Tag
=accept or reject
検証部240Aは、計算結果がacceptなら、暗号ファイルの集合Q=(E(D3)、E(D6)、E(D10))を復号して、所望のファイルの集合P=(D3、D6、D10)を出力し、rejectなら、rejectを出力する。
次に、本第2の実施例の効果について説明する。
本第2の実施例の検索システム100Eは、サーバの不正として、ファイルの削除、追加、改ざんばかりでなく、ファイルのすり替えも検出することができる。その理由は、クライアント(ユーザ端末)200Eが各キーワードWと当該キーワードWを含む全てのファイルを暗号化して得られる暗号ファイルの集合Q={E(Di1、E(Di2)、…}とを一組(生成用組)として、それに対する検証情報Tag(又はσ)を生成し、生成した検証情報Tag(又はσ)をサーバ300Eに保管しているからである。
以上、実施形態(実施例)を参照して本発明を説明したが、本発明は上記実施形態(実施例)に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記の実施形態(実施例)の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1) ユーザ端末がサーバに複数のファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索システムであって、前記ユーザ端末は、
前記複数のファイルを前記サーバに保管するファイル保管手段と、
キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、該生成した検証情報を前記サーバに保管する検証情報生成部と、
検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得するファイル取得手段と、
該取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否する検証部と、
を有する検索システム。
(付記2) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記検証情報生成部は、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
前記検証部は、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
付記1に記載の検索システム。
(付記3) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記検証情報生成部は、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
前記検証部は、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
付記1に記載の検索システム。
(付記4) ユーザ端末がサーバに複数のファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索方法であって、
前記ユーザ端末が、前記複数のファイルを前記サーバに保管するステップと、
前記ユーザ端末が、キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成するステップと、
前記ユーザ端末が、前記生成した検証情報を前記サーバに保管するステップと、
前記ユーザ端末が、検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得するステップと、
前記ユーザ端末が、前記取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックするステップと、
前記ユーザ端末が、チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否するステップと、
を含む検索方法。
(付記5) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記生成するステップは、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
前記チェックするステップは、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
付記4に記載の検索方法。
(付記6) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記生成するステップは、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
前記チェックするステップは、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
付記4に記載の検索方法。
(付記7) サーバに複数のファイルを保管し、キーワード検索によって前記サーバから所望のファイルの集合を取得する処理を、コンピュータであるユーザ端末に実行させる検索プログラムであって、前記コンピュータに、
前記複数のファイルを前記サーバに保管する手順と、
キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成する手順と、
前記生成した検証情報を前記サーバに保管する手順と、
検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得する手順と、
前記取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックする手順と、
チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否する手順と、
を実行させるための検索プログラム。
(付記8) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記生成する手順は、前記コンピュータに、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成させ、
前記チェックする手順は、前記コンピュータに、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックさせる、
付記7に記載の検索プログラム。
(付記9) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記生成する手順は、前記コンピュータに、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成させ、
前記チェックする手順は、前記コンピュータに、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックさせる、
付記7に記載の検索プログラム。
(付記10) ユーザ端末がサーバに複数の暗号ファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索システムであって、前記ユーザ端末は、
暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する暗号ファイル保管手段と、
キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、該生成した検証情報を前記サーバに保管する検証情報生成部と、
前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得する暗号ファイル取得手段と、
該取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する検証部と、
を有する検索システム。
(付記11) ユーザ端末がサーバに複数の暗号ファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索システムであって、前記ユーザ端末は、
暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する暗号ファイル保管手段と、
前記暗号化の秘密鍵を使ってキーワードを暗号化して得られる暗号キーワードと該暗号キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、該生成した検証情報を前記サーバに保管する検証情報生成部と、
前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記暗号検索キーワードに対応する検証情報とを取得する暗号ファイル取得手段と、
該取得した検証情報が、前記暗号検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する検証部と、
を有する検索システム。
(付記12) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記検証情報生成部は、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
前記検証部は、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
付記10又は11に記載の検索システム。
(付記13) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記検証情報生成部は、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
前記検証部は、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
付記10又は11に記載の検索システム。
(付記14) ユーザ端末がサーバに複数の暗号ファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索方法であって、
前記ユーザ端末が、暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管するステップと、
前記ユーザ端末が、キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成するステップと、
前記ユーザ端末が、前記生成した検証情報を前記サーバに保管するステップと、
前記ユーザ端末が、前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得するステップと、
前記ユーザ端末が、前記取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックするステップと、
前記ユーザ端末が、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否するステップと、
を含む検索方法。
(付記15) ユーザ端末がサーバに複数の暗号ファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索方法であって、
前記ユーザ端末が、暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管するステップと、
前記ユーザ端末が、前記暗号化の秘密鍵を使って暗号化して得られる暗号キーワードと該暗号キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成するステップと、
前記ユーザ端末が、前記生成した検証情報を前記サーバに保管するステップと、
前記ユーザ端末が、前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記暗号検索キーワードに対応する検証情報とを取得するステップと、
前記ユーザ端末が、前記取得した検証情報が、前記暗号検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックするステップと、
前記ユーザ端末が、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否するステップと、
を含む検索方法。
(付記16) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記生成するステップは、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
前記チェックするステップは、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
付記14又は15に記載の検索方法。
(付記17) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記生成するステップは、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
前記チェックするステップは、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
付記14又は15に記載の検索方法。
(付記18) サーバに複数の暗号ファイルを保管し、キーワード検索によって前記サーバから所望のファイルの集合を取得する処理を、コンピュータであるユーザ端末に実行させる検索プログラムであって、前記コンピュータに、
暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する手順と、
キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成する手順と、
前記生成した検証情報を前記サーバに保管する手順と、
前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得する手順と、
前記取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックする手順と、
チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する手順と、
を実行させるための検索プログラム。
(付記19) サーバに複数の暗号ファイルを保管し、キーワード検索によって前記サーバから所望のファイルの集合を取得する処理を、コンピュータであるユーザ端末に実行させる検索プログラムであって、前記コンピュータに、
暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する手順と、
前記暗号化の秘密鍵を使ってキーワードを暗号化して得られる暗号キーワードと該暗号キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成する手順と、
前記生成した検証情報を前記サーバに保管する手順と、
前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記暗号検索キーワードに対応する検証情報とを取得する手順と、
前記取得した検証情報が、前記暗号検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックする手順と、
チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する手順と、
を実行させるための検索プログラム。
(付記20) 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
前記生成する手順は、前記コンピュータに、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成させ、
前記チェックする手順は、前記コンピュータに、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックせる、
付記18又は19に記載の検索プログラム。
(付記21) 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
前記生成する手順は、前記コンピュータに、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成させ、
前記チェックする手順は、前記コンピュータに、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックさせる、
付記18又は19に記載の検索プログラム。
本発明は、キーワード検索におけるサーバの不正を検出する方式に利用可能である。
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 検索部

Claims (10)

  1. ユーザ端末がサーバに複数のファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索システムであって、前記ユーザ端末は、
    前記複数のファイルを前記サーバに保管するファイル保管手段と、
    キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、該生成した検証情報を前記サーバに保管する検証情報生成部と、
    検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得するファイル取得手段と、
    該取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否する検証部と、
    を有する検索システム。
  2. 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
    前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
    前記検証情報生成部は、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
    前記検証部は、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
    請求項1に記載の検索システム。
  3. 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
    前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
    前記検証情報生成部は、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
    前記検証部は、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
    請求項1に記載の検索システム。
  4. ユーザ端末がサーバに複数のファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索方法であって、
    前記ユーザ端末が、前記複数のファイルを前記サーバに保管するステップと、
    前記ユーザ端末が、キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成するステップと、
    前記ユーザ端末が、前記生成した検証情報を前記サーバに保管するステップと、
    前記ユーザ端末が、検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得するステップと、
    前記ユーザ端末が、前記取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックするステップと、
    前記ユーザ端末が、チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否するステップと、
    を含む検索方法。
  5. サーバに複数のファイルを保管し、キーワード検索によって前記サーバから所望のファイルの集合を取得する処理を、コンピュータであるユーザ端末に実行させる検索プログラムであって、前記コンピュータに、
    前記複数のファイルを前記サーバに保管する手順と、
    キーワードと該キーワードを含む全てのファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成する手順と、
    前記生成した検証情報を前記サーバに保管する手順と、
    検索キーワードを前記サーバへ送って、前記サーバから前記検索キーワードを含むファイルの集合と前記検索キーワードに対応する検証情報とを取得する手順と、
    前記取得した検証情報が、前記検索キーワードと前記取得したファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックする手順と、
    チェックの結果が正しければ承認して前記取得したファイルの集合を前記所望のファイルの集合として得、そうでなければ拒否する手順と、
    を実行させるための検索プログラム。
  6. ユーザ端末がサーバに複数の暗号ファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索システムであって、前記ユーザ端末は、
    暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する暗号ファイル保管手段と、
    キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成し、該生成した検証情報を前記サーバに保管する検証情報生成部と、
    前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得する暗号ファイル取得手段と、
    該取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックし、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する検証部と、
    を有する検索システム。
  7. 前記所定の生成アルゴリズムが署名生成アルゴリズムから成り、
    前記所定の検証アルゴリズムが署名検証アルゴリズムから成り、
    前記検証情報生成部は、デジタル署名の秘密鍵を使って、前記署名生成アルゴリズムに従って、前記検証情報として前記生成用組に対するデジタル署名を生成し、
    前記検証部は、デジタル署名の公開鍵を使って、前記署名検証アルゴリズムに従って、取得したデジタル署名が前記検証用組のデジタル署名であるか否かをチェックする、
    請求項6に記載の検索システム。
  8. 前記所定の生成アルゴリズムがMAC(Message Authentication Code)生成アルゴリズムから成り、
    前記所定の検証アルゴリズムがMAC検証アルゴリズムから成り、
    前記検証情報生成部は、MACの秘密鍵を使って、前記MAC生成アルゴリズムに従って、前記検証情報として前記生成用組に対する認証子を生成し、
    前記検証部は、前記MACの秘密鍵を使って、前記MAC検証アルゴリズムに従って、取得した認証子が前記検証用組の認証子であるか否かをチェックする、
    請求項6に記載の検索システム。
  9. ユーザ端末がサーバに複数の暗号ファイルを保管し、前記ユーザ端末がキーワード検索によって前記サーバから所望のファイルの集合を取得する検索方法であって、
    前記ユーザ端末が、暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管するステップと、
    前記ユーザ端末が、キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成するステップと、
    前記ユーザ端末が、前記生成した検証情報を前記サーバに保管するステップと、
    前記ユーザ端末が、前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得するステップと、
    前記ユーザ端末が、前記取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックするステップと、
    前記ユーザ端末が、チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否するステップと、
    を含む検索方法。
  10. サーバに複数の暗号ファイルを保管し、キーワード検索によって前記サーバから所望のファイルの集合を取得する処理を、コンピュータであるユーザ端末に実行させる検索プログラムであって、前記コンピュータに、
    暗号化の秘密鍵を使って複数のファイルをそれぞれ暗号化し、前記複数の暗号ファイルを前記サーバに保管する手順と、
    キーワードと該キーワードを含む全ての暗号ファイルの集合との生成用組に対して所定の生成アルゴリズムに従って検証情報を生成する手順と、
    前記生成した検証情報を前記サーバに保管する手順と、
    前記暗号化の秘密鍵を使って検索キーワードを暗号化して得られる暗号検索キーワードを前記サーバへ送って、前記サーバから前記暗号検索キーワードを含む暗号ファイルの集合と前記検索キーワードに対応する検証情報とを取得する手順と、
    前記取得した検証情報が、前記検索キーワードと前記取得した暗号ファイルの集合との検証用組の検証情報であるか否かを所定の検証アルゴリズムによってチェックする手順と、
    チェックの結果が正しければ承認して前記取得した暗号ファイルの集合を復号して前記所望のファイルの集合を得、そうでなければ拒否する手順と、
    を実行させるための検索プログラム。
JP2012020691A 2012-02-02 2012-02-02 検索システム、検索方法および検索プログラム Expired - Fee Related JP5970193B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012020691A JP5970193B2 (ja) 2012-02-02 2012-02-02 検索システム、検索方法および検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012020691A JP5970193B2 (ja) 2012-02-02 2012-02-02 検索システム、検索方法および検索プログラム

Publications (2)

Publication Number Publication Date
JP2013161154A JP2013161154A (ja) 2013-08-19
JP5970193B2 true JP5970193B2 (ja) 2016-08-17

Family

ID=49173372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012020691A Expired - Fee Related JP5970193B2 (ja) 2012-02-02 2012-02-02 検索システム、検索方法および検索プログラム

Country Status (1)

Country Link
JP (1) JP5970193B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015107561A1 (ja) * 2014-01-14 2015-07-23 三菱電機株式会社 検索システム、検索方法および検索プログラム
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 (ja) * 2019-12-04 2021-06-10 株式会社日立製作所 ストレージシステムおよびストレージシステムのデータ保護方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4049498B2 (ja) * 1999-11-18 2008-02-20 株式会社リコー 原本性保証電子保存方法、装置及びコンピュータ読み取り可能な記録媒体
JP2002229835A (ja) * 2001-01-31 2002-08-16 Olympus Optical Co Ltd コンピュータによるファイル管理システムおよびそのプログラムとプログラム記録媒体
CN101739400B (zh) * 2008-11-11 2014-08-13 日电(中国)有限公司 生成索引的方法和装置以及检索方法和装置

Also Published As

Publication number Publication date
JP2013161154A (ja) 2013-08-19

Similar Documents

Publication Publication Date Title
US11799668B2 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
KR102051288B1 (ko) 분산형 해시 테이블과 피어투피어 분산 원장을 사용하여 디지털 자산의 무결성을 검증하기 위한 방법 및 시스템
CN109314636B (zh) 用于从区块链中安全提取数据的密码方法和系统
KR101999188B1 (ko) 비밀 공유를 위한 타원 곡선 암호를 사용하는 개인용 장치 보안
JP7499852B2 (ja) 許可型ブロックチェーンのためのランダムなノード選択
CN111047324B (zh) 用于更新区块链节点处的公钥集合的方法及装置
JP5957095B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
CN111130757A (zh) 一种基于区块链的多云cp-abe访问控制方法
WO2018145127A1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
CN110009349B (zh) 区块链中生成和验证可链接环签名的方法及装置
US20200366505A1 (en) Processing data elements stored in blockchain networks
CN110597836B (zh) 基于区块链网络的信息查询请求响应方法及装置
US11943339B2 (en) Information processing apparatus, information processing method, and program
US20220337392A1 (en) Automatic digital media authenticator
CN109214146A (zh) 应用软件的签名方法、验签方法和装置
JP2023530594A (ja) 分散型データベースにおける許可されたイベント処理
JP5970193B2 (ja) 検索システム、検索方法および検索プログラム
JP6095057B2 (ja) 検索システム、検索方法および検索プログラム
CN110827034B (zh) 用于发起区块链交易的方法及装置
CN110175471B (zh) 一种档案的存储方法及系统
CN111770081A (zh) 基于角色认证的大数据机密文件访问方法
CN110457954B (zh) 合同管理装置与方法
USRE49968E1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US20230031804A1 (en) Computer-readable recording medium storing information processing program, information processing apparatus, and system
CN114154179A (zh) 区块链密钥托管方法、系统、终端设备及存储介质

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