JP5557683B2 - Information search apparatus and information search method - Google Patents
Information search apparatus and information search method Download PDFInfo
- Publication number
- JP5557683B2 JP5557683B2 JP2010227906A JP2010227906A JP5557683B2 JP 5557683 B2 JP5557683 B2 JP 5557683B2 JP 2010227906 A JP2010227906 A JP 2010227906A JP 2010227906 A JP2010227906 A JP 2010227906A JP 5557683 B2 JP5557683 B2 JP 5557683B2
- Authority
- JP
- Japan
- Prior art keywords
- query
- search request
- search
- keyword
- entry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 56
- 238000007726 management method Methods 0.000 claims description 54
- 238000013500 data storage Methods 0.000 claims description 48
- 238000010586 diagram Methods 0.000 description 52
- 238000004891 communication Methods 0.000 description 16
- 238000007689 inspection Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 235000009508 confectionery Nutrition 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この発明は、暗号化された情報を暗号化された検索要求用キーワードにより秘匿検索する情報検索装置および情報検索方法に関する。 The present invention relates to an information search apparatus and an information search method for performing a secret search on encrypted information using an encrypted search request keyword.
秘匿検索とは、検索者(以下ユーザと称する)の要求に応じて、情報検索システム(情報検索装置)が必要な情報を検索する場合に、情報検索システム(情報検索装置)は、暗号化された情報(以下暗号化情報と称する)を復号することなく、暗号化された状態で検索をすることである。(以下、秘匿検索に用いる情報検索システム(情報検索装置)を秘匿検索システムと称する)。
秘匿検索システムが暗号化情報そのものを検索することは出来ないので、秘匿検索システムは、検索可能な情報キーワードを暗号化したもの(以下タグと称する)を暗号化情報に付加してデータセンターに登録(記録もしくは保存)する。
The secret search is an information search system (information search device) that is encrypted when the information search system (information search device) searches for necessary information in response to a request from a searcher (hereinafter referred to as a user). The search is performed in an encrypted state without decrypting the information (hereinafter referred to as encrypted information). (Hereinafter, an information search system (information search apparatus) used for a secret search is referred to as a secret search system).
Since the secret search system cannot search the encrypted information itself, the secret search system adds a searchable information keyword encrypted (hereinafter referred to as a tag) to the encrypted information and registers it in the data center. (Record or save).
ここでデータセンターとは、例えばデータサーバなどの大容量の記憶装置である。データセンターが登録した情報もしくはデータを、データセンターの管理者(データセンターの管理部門もしくは管理会社の人間)は閲覧することが可能である。
データセンターはユーザが用いる端末(以下ユーザ端末と称する)が入力した情報を保存し、保存した情報を管理し、ユーザ端末の要求に応じて検索し、ユーザ端末の要求に応じて検索した情報をユーザ端末に出力する等の機能を有する。
Here, the data center is a large-capacity storage device such as a data server. Information or data registered by the data center can be viewed by a data center manager (data center management department or management company person).
The data center stores information input by a terminal used by a user (hereinafter referred to as user terminal), manages the stored information, searches in response to a request from the user terminal, and retrieves information searched in response to a request from the user terminal. It has a function of outputting to a user terminal.
また、秘匿検索システムにおいて、ユーザは、タグの検索に用いる検索要求用キーワードも暗号化されたものを用いる(以下、暗号化された検索要求用キーワードを暗号化検索要求用キーワードと称する。また、暗号化検索要求用キーワードには以下に説明のタグ暗号化検索要求用キーワードとクエリ暗号化検索要求用キーワードとが有るが、特に区別の必要が無い場合は、暗号化検索要求用キーワードと称する)。もしくは、ユーザは、タグの検索に検索要求用クエリを用いる(ここで、検索要求用クエリとは、1つ以上の暗号化検索要求用キーワードで構成されたユーザ端末からの検索要求のことである。)。
すなわち、秘匿検索システムがデータセンターに保存した暗号化情報および、秘匿検索システムがデータセンターに保存した暗号化情報を検索する際に使用するクエリ暗号化検索要求用キーワード(もしくは検索要求用クエリ)とタグは全て暗号化されている。従って、解読可能な情報は、第3者(以下、第3者とは、例えばデータセンターの管理会社の人間などを示す)に漏れることが無い。
In the secret search system, the user uses an encrypted search request keyword used for tag search (hereinafter, the encrypted search request keyword is referred to as an encrypted search request keyword. (The encrypted search request keyword includes a tag encrypted search request keyword and a query encrypted search request keyword, which will be described below. If there is no need to distinguish between them, the keyword is referred to as an encrypted search request keyword.) . Alternatively, the user uses a search request query for searching for a tag (here, the search request query is a search request from a user terminal composed of one or more encrypted search request keywords. .)
That is, the encrypted search request keyword (or search request query) used when searching the encrypted information stored in the data center by the secret search system and the encrypted information stored in the data center by the secret search system; All tags are encrypted. Therefore, the decipherable information does not leak to a third party (hereinafter, the third party indicates, for example, a person of a data center management company).
その為に、ユーザは第3者が管理するデータセンターに暗号化情報の保存、管理を委託することが可能である。
すなわち、ユーザはユーザ端末から暗号化情報をデータセンターに登録し、必要に応じてクエリ暗号化検索要求用キーワード(もしくは検索要求用クエリ)を用いて、データセンターに登録された暗号化情報に対応するタグを検索する。そして、ユーザは検索されたタグに対応する暗号化情報をユーザ端末に保存し、ユーザ端末で暗号化情報の復号処理を行い、暗号化情報の内容を閲覧する。
近年、例えばクラウドサービスなどのインターネット上にユーザが情報を保存する際、秘匿検索は、情報盗難などの脅威から守るためのセキュリティ技術として注目されている。
Therefore, the user can entrust the storage and management of encryption information to a data center managed by a third party.
In other words, the user registers the encrypted information from the user terminal in the data center, and responds to the encrypted information registered in the data center by using a query encryption search request keyword (or search request query) as necessary. Search for the tag you want. And a user preserve | saves the encryption information corresponding to the searched tag in a user terminal, performs a decoding process of encryption information in a user terminal, and browses the content of encryption information.
In recent years, for example, when a user saves information on the Internet such as a cloud service, confidential search has attracted attention as a security technique for protecting against threats such as information theft.
一方、秘匿検索は、保存されている暗号化情報、クエリ暗号化検索要求用キーワード(もしくは検索要求用クエリ)やタグから一切の情報を得られない。そこで、データセンターは暗号化情報の内容に応じて分類分け等の管理が出来ず、データセンターは分類毎の検索が出来ない。その為、一般的にはユーザから検索要求が有った際に、データセンターは保存されているすべてのタグを検索対象とする必要があり、保存された暗号化情報の増加による検索時間の増加が問題となる。 On the other hand, the secret search cannot obtain any information from the stored encrypted information, query encryption search request keyword (or search request query) or tag. Therefore, the data center cannot manage classification and the like according to the contents of the encrypted information, and the data center cannot perform search for each classification. Therefore, in general, when there is a search request from the user, the data center needs to search all the stored tags, and the search time increases due to an increase in the stored encrypted information Is a problem.
そこで、検索履歴(以下インデックス)を利用した秘匿検索の高速化手法が存在する。(例えば、特許文献1、非特許文献1参照)。
また、更に秘匿検索の検索効率改善手法として、複数の暗号化検索要求用キーワードを用いて秘匿検索を行う手法(例えば、非特許文献2参照)や、複数のユーザがタグを共有する手法(例えば、非特許文献3参照)が存在する。
Therefore, there is a method for speeding up a secret search using a search history (hereinafter referred to as an index). (For example, refer to
Furthermore, as a method for improving the search efficiency of a secret search, a method for performing a secret search using a plurality of keywords for encrypted search requests (for example, see Non-Patent Document 2), a method for sharing a tag by a plurality of users (for example, And non-patent document 3).
この発明の実施の形態は、例えば、複数の暗号化検索要求用キーワードを用いて高速な秘匿検索を行う情報検索装置を実現することを目的とする。 An object of the embodiment of the present invention is to realize an information search apparatus that performs high-speed secret search using a plurality of encrypted search request keywords, for example.
この発明に係る情報検索装置は、
1つ以上のクエリ暗号化検索要求用キーワードを有するエントリ用検索クエリと前記エントリ用検索クエリが有する属性と1つ以上の暗号化代表元用キーワードを有するエントリ用代表元タグとを対応させて記憶するインデックス記憶部と、
登録暗号化情報と前記登録暗号化情報に対応する1つ以上の暗号化登録キーワードを有する登録キーワードタグとを受信する登録データ受信部と、
前記インデックス記憶部に記憶された前記エントリ用検索クエリと前記登録データ受信部が受信した前記登録キーワードタグとを照合し、前記エントリ用検索クエリと前記登録キーワードタグとが対応する場合に、前記登録データ受信部が受信した前記登録暗号化情報が前記インデックス記憶部に記憶された前記エントリ用検索クエリに対応する前記登録暗号化情報であると判定して、前記インデックス記憶部において前記登録暗号化情報を前記エントリ用検索クエリに関連付けるインデックス更新管理部と、
1つ以上のクエリ暗号化検索要求用キーワードを有する検索要求用クエリを受信する検索要求受信部と、
前記検索要求受信部が受信した検索要求用クエリから前記検索要求用クエリが有する属性を検出するインデックス分類部と、
前記インデックス記憶部に記憶された前記エントリ用代表元タグと前記検索要求受信部が受信した前記検索要求用クエリとを照合し、前記エントリ用代表元タグと前記検索要求用クエリとが対応する場合で、かつ前記インデックス記憶部に記憶された前記エントリ用検索クエリが有する属性と前記インデックス分類部が検出した検索要求用クエリが有する属性とを照合し、前記エントリ用検索クエリが有する属性と前記検索要求用クエリが有する属性とが対応する場合に、前記エントリ用代表元タグに関連付けられた前記登録用情報を出力する検索処理部と
を備えたことを特徴とする。
The information retrieval apparatus according to the present invention is
An entry search query having one or more query encryption search request keywords, an attribute of the entry search query, and an entry representative tag having one or more encryption representative keywords are stored in association with each other. An index storage unit,
A registration data receiving unit for receiving registration encryption information and a registration keyword tag having one or more encryption registration keywords corresponding to the registration encryption information;
The entry search query stored in the index storage unit is compared with the registered keyword tag received by the registration data receiving unit, and the registration query is registered when the entry search query and the registered keyword tag correspond to each other. The registration encryption information received by the data reception unit is determined to be the registration encryption information corresponding to the search query for entry stored in the index storage unit, and the registration encryption information in the index storage unit An index update management unit associating the search query for entry with the entry query,
A search request receiving unit that receives a search request query having one or more query encrypted search request keywords;
An index classification unit that detects an attribute of the search request query from the search request query received by the search request reception unit;
When the entry representative tag stored in the index storage unit and the search request query received by the search request receiving unit are collated, and the entry representative tag and the search request query correspond to each other And the attribute of the entry search query stored in the index storage unit is matched with the attribute of the search request query detected by the index classification unit, and the attribute of the entry search query and the search And a search processing unit that outputs the registration information associated with the entry representative tag when the attribute of the request query corresponds.
この発明に係る情報検索装置は、複数の暗号化検索要求用キーワードを用いて高速な秘匿検索を行うことが可能となる。 The information search apparatus according to the present invention can perform a high-speed secret search using a plurality of encrypted search request keywords.
実施の形態1.
本実施の形態では、ユーザ(検索者、登録者)とデータセンター(データ管理者)の間で、複数のキーワードに対応した検索履歴を利用した秘匿検索を実施する際の、誤検索や検索漏れを防止する手法の例を説明する。
In the present embodiment, an erroneous search or a search omission when a secret search using a search history corresponding to a plurality of keywords is performed between a user (searcher, registrant) and a data center (data manager). An example of a technique for preventing this will be described.
最初に、図1、図2、図3を用いて秘匿検索システムの概要を説明する。 First, an outline of the secret search system will be described with reference to FIGS. 1, 2, and 3.
図1は、秘匿検索システムの外観の一例を示す図である。
図1において、秘匿検索システム100は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・ Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
また、これらのハードウェア資源をユーザ端末201と称している。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してネットワーク101に接続されている。ネットワーク101の代表的な例はインターネットがある。
FIG. 1 is a diagram illustrating an example of an appearance of a secret search system.
In FIG. 1, the
In addition, these hardware resources are referred to as a
The system unit 910 is a computer, and is connected to the
図2は、秘匿検索システム100のハードウェア資源の一例を示す図である。
図2において、秘匿検索システム100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
FIG. 2 is a diagram illustrating an example of hardware resources of the
In FIG. 2, the
The
The
Further, the
通信ボード915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信ボード915は、LAN942に限らず、ネットワーク101、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。ネットワーク101或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
The
The
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
The
The
In addition, the arrows in the flowcharts described in the following description of the embodiments mainly indicate input / output of data and signals. The data and signal values are the
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
In addition, what is described as “to part” in the description of the embodiment described below may be “to circuit”, “to device”, “to device”, “means”, and “to step”. ”,“ ˜procedure ”, or“ ˜processing ”. That is, what is described as “˜unit” may be realized by firmware stored in the
図3は、秘匿検索システム100の構成例を示す図である。図3は、図1に示した秘匿検索システム100の外観の一例を簡略化して図示している。
秘匿検索システム100は、ユーザ端末201、データセンター301を備える。ユーザ端末201はローカルエリアネットワーク942に接続されている。ローカルエリアネットワーク942はネットワーク101を介してデータセンター301と接続されている。
ユーザ端末201は、例えば企業のユーザが利用するPC(パーソナルコンピュータ)である。
ネットワーク101は、ローカルエリアネットワーク942とデータセンター301を接続する通信路である。
ローカルエリアネットワーク942は、企業内に施設された通信路であり、企業内で利用される様々なサーバやPCが接続される。なお、通信路は専用線や無線、ルータなどで構成される複雑な通信路となる。
ここで、図1はローカルエリアネットワーク942を使用した例を示している。しかし、例えば個人が家庭でユーザ端末201を使用する場合などは、ユーザ端末201は、ローカルエリアネットワーク942を介せず、直接ネットワーク101に接続することも可能である。
FIG. 3 is a diagram illustrating a configuration example of the
The
The
The
The
Here, FIG. 1 shows an example in which a
ここで、秘匿検索システム100の大まかな動作を説明する。
秘匿検索システム100に用いる暗号方式は、基本的にはIDベース暗号(以下 IBE:Identity−Based Encryption)を用いた秘匿検索方式である。この方式によりユーザはデータセンター301に登録する情報も、検索時のキーワードも全て暗号化したまま、情報検索が可能である。以下に詳細を説明する。
まず、ユーザはユーザ端末201を用いて、ユーザが保存したい暗号化情報と暗号化情報に対応したタグ(以下、登録キーワードタグと称する)を組にしてデータセンター301に保存する。(なお、本実施の形態の説明においては、データ保管部305に保存された登録キーワードタグを保管キーワードタグと称しているが、実質的に同一のものであり、特に区別の必要が無い場合は、登録キーワードタグの表現を用いる)。
また、暗号化登録キーワードは暗号化情報を検索するための登録キーワード(暗号化情報の保存時にユーザが設定したキーワード)を暗号化したものである。そして、登録キーワードタグは1つ以上の暗号化登録キーワードから構成される。更に詳細に説明すると、暗号化登録キーワード(登録キーワードタグ)はユーザが入力した任意の平文を登録キーワードと公開鍵とで暗号化したものである。なお、任意の平文は、無意味な平文であり、以下無意味な平文と称する。ここで、暗号化情報と暗号化登録キーワード(登録キーワードタグ)は暗号化されていて、第3者は、情報を閲覧することが出来ない。
検索時には、ユーザは検索要求用キーワードをユーザ秘密鍵で暗号化したクエリ暗号化検索要求用キーワード(もしくは検索要求用クエリ)をデータセンター301に送信する。ここで、クエリ暗号化検索要求用キーワード(もしくは検索要求用クエリ)も暗号化されていて第3者は、情報を閲覧することが出来ない。
データセンター301は、検索要求用クエリを用いて、保存している登録キーワードタグと一致検査を行う。検索要求用クエリと登録キーワードタグとが一致すれば、データセンター301は、組で保存されている暗号化情報をユーザに返却する。ここで、検索要求用クエリと登録キーワードタグとが一致とは、検索要求用クエリで登録キーワードタグを復号して、元の無意味な平文が得られることをいう。復号された無意味な平文からも第3者は情報を閲覧することが出来ず、第3者は、検索要求用クエリと登録キーワードタグとが一致したという状態が分かるのみとなる。その為にユーザは第3者に対する秘匿検索が可能である。
また、データセンター301は、企業内で作成された暗号化情報および登録キーワードタグを保存する大容量の記憶装置を持つサーバである。またデータセンター301は、一度検索された暗号化検索要求用キーワードの検索結果をインデックスとして保存し、次回以降に同一のキーワードが検索された場合に、そのインデックスを利用して高速に応答する機能を備える。
Here, a rough operation of the
The encryption method used in the
First, the user uses the
The encrypted registration keyword is obtained by encrypting a registration keyword (keyword set by the user when storing the encrypted information) for searching the encrypted information. The registered keyword tag is composed of one or more encrypted registered keywords. More specifically, the encrypted registered keyword (registered keyword tag) is obtained by encrypting an arbitrary plaintext input by the user with a registered keyword and a public key. Arbitrary plaintext is meaningless plaintext and is hereinafter referred to as meaningless plaintext. Here, the encrypted information and the encrypted registered keyword (registered keyword tag) are encrypted, and a third party cannot view the information.
At the time of the search, the user transmits a query encryption search request keyword (or search request query) obtained by encrypting the search request keyword with the user secret key to the
The
The
次に、図4を用いて本実施の形態にて構成されているユーザ端末201について、更に詳しく説明する。
Next, the
図4は、ユーザ端末201の構成を示すブロック図である。
ユーザ端末201は、情報・鍵格納領域202、暗号化情報管理部203、ユーザインターフェース204、検索要求用クエリ生成部205、タグ生成部206、通信モジュール207を備える。
FIG. 4 is a block diagram illustrating a configuration of the
The
情報・鍵格納領域202は、暗号化情報の基であるオリジナルの情報を保存する。ここでオリジナルの情報とは、例えば数値データや図面や文章などの平文の情報そのものでも良いし、既に暗号化された情報でも良い。またオリジナルの情報は、情報名やファイル名、情報を保存しているデータベースの位置情報などで有っても良いし、これらの組み合わせ(例えば前記の平文の情報そのものとファイル名の組み合わせなど)でも良い。
また、情報・鍵格納領域202は、情報を暗号化して暗号化情報を生成する為の鍵(暗号化情報生成鍵)と、検索要求用キーワードを暗号化して検索要求用クエリを生成する為のユーザ秘密鍵と、タグを生成するための公開鍵を保存する。
The information /
The information /
暗号化情報管理部203は、情報・鍵格納領域202に保存されている情報を暗号化し、暗号化情報を生成する。暗号化情報からは、第3者は、情報を閲覧することはできない。暗号化の方法としては、検索要求用クエリ生成部205やタグ生成部206で用いられる暗号化の方法とは別の方法が用いられる。
ユーザインターフェース204は、秘匿検索システム100をユーザが操作するためのインタフェースである。ユーザインターフェース204は、検索要求用クエリ生成部205や、タグ生成部206で用いるキーワードと無意味な平文をユーザが入力する機能を備える。なお、ユーザは、1つ以上のキーワード入力が可能である。
The encrypted
The
通信モジュール207は、検索要求用クエリ生成部205、タグ生成部206、暗号化情報管理部203が生成した検索要求(検索要求用クエリや検索要求用代表元タグ)や登録データ(受信暗号化情報や受信キーワードタグや無意味な平文)を、データセンター301に送信するために、ローカルエリアネットワーク942もしくはネットワーク101に接続するものである。
The
ここで、検索要求と登録データの説明を行う。 Here, a search request and registration data will be described.
まず、図5、図6を用いてタグ生成部206における暗号化の動作および登録データの構造を説明する。
First, the encryption operation and the structure of registration data in the
図5は、タグ生成部206におけるタグ生成の動作を示す図である。((a)はキーワードが1つの場合、(b)はキーワードが3つの場合)。
ユーザは、ユーザインターフェース204を介して無意味な平文2305と登録キーワード2300とを入力する。
タグ生成部206は、ユーザが入力した無意味な平文2305に登録キーワード2300と情報・鍵格納領域202に保存された公開鍵とから暗号化登録キーワード2304と登録キーワードタグ2303とを生成する。また、タグ生成部206は、ユーザがユーザインターフェース204を介して入力した検索要求用キーワード2000と情報・鍵格納領域202に保存された公開鍵とからタグ暗号化検索要求用キーワード2005と検索要求用代表元タグ2004とを生成する。
FIG. 5 is a diagram illustrating an operation of tag generation in the
The user inputs
The
具体的には、図5(a)を用いて登録データの生成を説明する。
例えば、ユーザがデータセンター301に保存する情報が「自動車」に関する情報とする。そして、データセンター301に保存する情報に「エンジン」に関係する記述が有る為にユーザは、登録キーワード2300として「エンジン」をユーザインターフェース204を介してタグ生成部206に入力する。
そして、タグ生成部206は、ユーザがユーザインターフェース204を介して入力した無意味な平文2305(例えば、pencil)を登録キーワード2300の「エンジン」と情報・鍵格納領域202に保存された公開鍵とで暗号化し、暗号化登録キーワード2304(登録キーワードタグ2303)を生成する。
同様に、図5(b)のようにユーザがデータセンター301に保存する情報に「エンジン」「タイヤ」「ハンドル」に関係する記述が有る為、登録キーワード2300として「エンジン」「タイヤ」「ハンドル」の3つのキーワードを設定したとする。その場合は、タグ生成部206は、無意味な平文2305(例えば、pencil、rain、candy)を登録キーワード2300の「エンジン」「タイヤ」「ハンドル」と情報・鍵格納領域202に保存された公開鍵とで暗号化し、暗号化登録キーワード2304(登録キーワードタグ2303)を生成する。
Specifically, generation of registration data will be described with reference to FIG.
For example, information stored in the
Then, the
Similarly, since the information stored in the
図6は、登録データ2301の構成の例を示す図である。
登録データ2301は、登録暗号化情報2302と登録キーワードタグ2303と無意味な平文2305とから構成される。
ここでは、図5(b)に説明した例を用いる。ユーザがデータセンター301に保存する情報が情報・鍵格納領域202に保存されている例えば「自動車情報1」であったとする。そして、暗号化情報管理部203は、「自動車情報1」を暗号化し、登録暗号化情報2302を生成する。登録暗号化情報の暗号化の方法としては、検索要求用クエリ生成部205やタグ生成部206で用いられる暗号化の方法とは別の方法が用いられる。(例えば、登録暗号化情報2302を生成の為の独自のユーザ秘密鍵など)。また、ここでは保存する情報を平文のテキスト文書のようなものと想定しているが、数値データや画像データでも良い。また、保存する情報は、情報名やファイル名、情報を保存しているデータベースの位置情報などで有っても良いし、これらの組み合わせ(例えば前記の平文の情報そのものとファイル名の組み合わせなど)でも良い。また保存する情報そのものが元々暗号化されていても良い。
そして、登録キーワードタグ2303は、図5(b)で説明の通り、登録暗号化情報2302に対応した(関連した)3つのキーワードが設定されている。
なお、無意味な平文2305は平文のまま登録キーワードタグ2303の暗号化登録キーワード2304と対応して登録データ2301に含まれる。
また、暗号化登録キーワード2304(登録キーワードタグ2303)は暗号化されており、暗号化登録キーワード2304(登録キーワードタグ2303)を生成する為に用いた登録キーワード2300を第3者は知ることが出来ない。しかし、第3者(もしくはデータセンター301)は、登録キーワードタグ2303の属性として、登録キーワードタグ2303に含まれる暗号化登録キーワード2304の数は知ることが出来る。
FIG. 6 is a diagram illustrating an example of the configuration of the
The
Here, the example described in FIG. 5B is used. It is assumed that the information stored in the
In the registered
The
The encrypted registration keyword 2304 (registered keyword tag 2303) is encrypted, and the third party can know the registered keyword 2300 used to generate the encrypted registered keyword 2304 (registered keyword tag 2303). Absent. However, the third party (or the data center 301) can know the number of encrypted registered
そして、図7、図8を用いて検索要求用クエリ生成部205における暗号化の動作および検索要求の構造を説明する。
図7は、検索要求用クエリ生成部205における検索要求用クエリ2002生成の動作を示す図である。((a)はキーワードが1つの場合、(b)はキーワードが3つの場合)。
検索要求用クエリ生成部205は、ユーザがユーザインターフェース204を介して入力したユーザが検索したいキーワード(以下、検索要求用キーワード2000と称す)と情報・鍵格納領域202に保存されたユーザ秘密鍵とからクエリ暗号化検索要求用キーワード2003と検索要求用クエリ2002を生成する。
The encryption operation and search request structure in the search request
FIG. 7 is a diagram showing an operation of generating the
The search request
具体的には、図7(a)を用いて検索要求の生成を説明する。
例えば、ユーザが「エンジン」に関係する情報を検索したいとする。そして、ユーザは、検索要求用キーワード2000として「エンジン」をユーザインターフェース204を介して検索要求用クエリ生成部205に入力する。
そして、検索要求用クエリ生成部205は、検索要求用キーワード2000の「エンジン」を情報・鍵格納領域202にユーザ秘密鍵で暗号化し、クエリ暗号化検索要求用キーワード2003と検索要求用クエリ2002を生成する。
また、ユーザが検索要求用キーワード2000として「エンジン」「タイヤ」「ハンドル」の3つのキーワードを設定したとする。その場合は、検索要求用クエリ生成部205は、検索要求用キーワード2000の「エンジン」「タイヤ」「ハンドル」を情報・鍵格納領域202に保存されたユーザ秘密鍵で暗号化し、検索要求用クエリ2002を生成する。
Specifically, generation of a search request will be described with reference to FIG.
For example, assume that the user wants to search for information related to “engine”. Then, the user inputs “engine” as the
Then, the search request
Further, it is assumed that the user sets three keywords “engine”, “tire”, and “handle” as the
図8は、検索要求2001の構成の例を示す図である。ここでは、図5(b)と図7(b)に説明した例(3つのキーワードが設定された場合)を図示している。
検索要求2001は、検索要求用クエリ2002と検索要求用代表元タグ2004と無意味な平文2305から構成される。
検索要求2001の生成において、ユーザが入力した検索要求用キーワード2000は、図4に示すように検索要求用クエリ生成部205とタグ生成部206の両方に入力される。そして、検索要求用クエリ生成部205は、検索要求用クエリ2002を生成し、タグ生成部206は、検索要求用代表元タグ2004を生成する。そして、ユーザ端末201は、両者を組み合わせて検索要求2001を生成する。
なお、無意味な平文2305は平文のまま検索要求用代表元タグ2004のタグ暗号化検索要求用キーワード2005に対応して検索要求用クエリ2002に含まれる。(以下の説明においては、検索要求用クエリ2002に含まれる無意味な平文2305の図示は省略する)。
また、検索要求用クエリ2002は暗号化されており、検索要求用クエリ2002を生成する為に用いた検索要求用キーワード2000を第3者は知ることが出来ない。しかし、第3者(もしくはデータセンター301)は、検索要求用クエリ2002の属性として、検索要求用クエリ2002に含まれるクエリ暗号化検索要求用キーワード2003の数は知ることが出来る。
同様に、検索要求用代表元タグ2004は暗号化されており、検索要求用代表元タグ2004を生成する為に用いた検索要求用キーワード2000を第3者は知ることが出来ない。しかし、第3者(もしくはデータセンター301)は、検索要求用代表元タグ2004の属性として、検索要求用代表元タグ2004に含まれるタグ暗号化検索要求用キーワード2005の数は知ることが出来る。
FIG. 8 is a diagram illustrating an example of the configuration of the
The
In the generation of the
The
The
Similarly, the search
次に、図9を用いてデータセンター301の説明を行う。
Next, the
図9は、データセンター301の構成を示すブロック図である。
データセンター301は、検索要求受信部302、検索処理部303、インデックス記憶部304、データ保管部305、インデックス更新管理部306、検索要求回答部307、登録データ受信部308、インデックス分類部309を備える。
なお、インデックス分類部309は、検索処理部303もしくはインデックス更新管理部306に含まれていても構わない。
FIG. 9 is a block diagram showing the configuration of the
The
The
まず各構成要素の概要を説明する。 First, an outline of each component will be described.
検索要求受信部302は、ユーザ端末201から送信された検索要求2001を受信し、検索処理部303へ入力する。
登録データ受信部308は、ユーザ端末201から登録データ2301を受信すると、インデックス更新管理部306とデータ保管部305に登録データ2301を入力する。
データ保管部305は、登録データ受信部308から受信した登録データ2301を保管データ4001として保存する。その際にデータ保管部305は、登録暗号化情報2302を保管暗号化情報4002として、登録キーワードタグ2303を保管キーワードタグ4003として保存する。(登録データ2301と保管データ4001は実質的に同一のものであり、特に区別の必要が無い場合は、登録データ2301の表現を用いている。登録暗号化情報2302と保管暗号化情報4002、登録キーワードタグ2303と保管キーワードタグ4003についても同様である。)また、データ保管部305は、無意味な平文2305も保管データ4001の一部として保存する。
保管キーワードタグ4003は、登録キーワードタグ2303と同一構造であり、保管キーワードタグ4003を生成する為に用いた登録キーワード2300を第3者は知ることが出来ない。しかし、第3者(もしくはデータセンター301)は、保管キーワードタグ4003の属性として保管キーワードタグ4003に含まれる暗号化登録キーワード2304の数は知ることが出来る。
The search
When the registration
The
The storage keyword tag 4003 has the same structure as the registered
検索処理部303は、検索要求受信部302から検索要求2001を受信し、検索要求2001に応じて、インデックス記憶部304もしくはデータ保管部305の検索を行う。
インデックス記憶部304は、過去に検索処理部303が検索した検索結果を保存する。
インデックス分類部309は、クエリ暗号化検索要求用キーワード2003の数に応じてインデックス記憶部304の検索対象領域を決定する。
インデックス更新管理部306は、インデックス記憶部304に保存された内容を更新する。
検索要求回答部307は、検索処理部303によって検索された登録暗号化情報2302をユーザ端末201に送信する。
The
The
The
The index
The search
前記のデータセンター301の各構成要素の内、まずは検索処理部303がデータ保管部305の検索を行う例を詳細説明する。
Of the components of the
検索処理部303は、検索要求受信部302から入力された検索要求2001に応じて、データ保管部305に保存された保管データ4001を検索する。その際に、検索処理部303は、検索要求2001に含まれる検索要求用クエリ2002で保管データ4001に含まれる保管キーワードタグ4003を照合(復号処理)する。そして、検索要求用クエリ2002で保管キーワードタグ4003が復号出来た場合に、検索要求用クエリ2002に含まれるクエリ暗号化検索要求用キーワード2003と保管キーワードタグ4003に含まれる暗号化登録キーワード2304とが一致したと判断する。
The
ここで、図10、図11、図12を用いて検索要求用クエリ2002で保管キーワードタグ4003を復号する動作を説明する。
Here, an operation of decrypting the storage keyword tag 4003 with the
図10は、検索要求用クエリ2002で保管キーワードタグ4003を復号する動作の第1の例を示す図である。
図11は、検索要求用クエリ2002で保管キーワードタグ4003を復号する動作の第2の例を示す図である。
図12は、検索要求用クエリ2002で保管キーワードタグ4003を復号する動作の第3の例を示す図である。
なお、図10〜図12における検索要求用クエリ2002の無意味な平文2305の図示は省略している。
FIG. 10 is a diagram illustrating a first example of an operation of decrypting the storage keyword tag 4003 with the
FIG. 11 is a diagram illustrating a second example of the operation of decrypting the storage keyword tag 4003 with the
FIG. 12 is a diagram illustrating a third example of the operation of decrypting the storage keyword tag 4003 with the
The
まず図10に示す例は、登録データ2301における登録キーワードタグ2303の暗号化登録キーワード2304が3つ有る場合(図5(b)の例と同じ)である。この登録データ2301がデータ保管部305に保管データ4001として保存されることで、同じく保管キーワードタグ4003は、暗号化登録キーワード2304が3つ有る状態となっている。そして、検索要求用クエリ2002は、クエリ暗号化検索要求用キーワード2003が1つの場合(図7(a)の例と同じ)である。
First, the example shown in FIG. 10 is a case where there are three
検索処理部303は、図10に示す検索要求2001に含まれる検索要求用クエリ2002で、保管データ4001に含まれる保管キーワードタグ4003を復号する。そして、無意味な平文2305(例えばpencil)が正しく再現出来れば、検索処理部303は、検索要求用クエリ2002と保管キーワードタグ4003が一致すると判断する。ここで、無意味な平文2305は、ユーザ端末201のタグ生成部206において暗号化された登録キーワードタグ2303を生成する際に用いられたものである。(以下、復号処理により正しい無意味な平文が再現することを、「一致する」もしくは「復号出来る」と表現する)。
そして、検索処理部303は、検索要求用クエリ2002に一致した保管キーワードタグ4003に対応する保管暗号化情報4002が検索要求用キーワード2000に対応する保管暗号化情報であると判断する。
なお、無意味な平文2305は、登録キーワードタグ2303と一緒に登録データ2301の一部としてデータ保管部305に保存されている。そこで、検索処理部303は、データ保管部305に保存された無意味な平文2305を参照することで、復号において無意味な平文2305を正しく再現したかを判断する。
The
Then, the
The
次に図11に示す例は、検索要求用クエリ2002のクエリ暗号化検索要求用キーワード2003が2つの場合で、2つのクエリ暗号化検索要求用キーワード2003が両方とも保管キーワードタグ4003の暗号化登録キーワード2304に一致する場合である。この場合は、検索要求用キーワード「エンジン」と「ハンドル」それぞれに対応した無意味な平文2305(例えばPencilとCandy)は、正しく再現される。そして、検索処理部303は、検索要求用クエリ2002と保管キーワードタグ4003とが一致すると判断する。
Next, the example shown in FIG. 11 shows the case where there are two query encrypted
一方、図12に示す例は、検索要求用クエリ2002のクエリ暗号化検索要求用キーワード2003が2つの場合である。そして、2つのクエリ暗号化検索要求用キーワード2003のうち1つしか保管キーワードタグ4003の暗号化登録キーワード2304に一致しない場合である。この場合は、検索要求用キーワード「エンジン」に対応した無意味な平文2305(例えばPencil)が正しく再現されるが、検索要求用キーワード「アクセル」に対応した無意味な平文2305は誤って再現される。(例えば%6h+¥)。
そこで、検索処理部303は、検索要求用クエリ2002と保管キーワードタグ4003とが一致しないと判断する。
On the other hand, the example shown in FIG. 12 is a case where there are two query encryption
Therefore, the
次に、図13を用いて前記データセンター301の各構成要素の内、インデックス記憶部304の詳細を説明する。
図13は、インデックス記憶部304に記憶される検索結果のデータ構造の一例を示す図である。インデックス3001は、複数(例えばn個)のキーワード数別インデックス3002で構成される。キーワード数別インデックス3002は、検索要求用クエリ2002に含まれるn個(n≧1)のキーワード数に対応する。(図中に3002−1〜3002−nで表記)。さらに、キーワード数別インデックス3002は、1つ以上のエントリ3003から構成され、ユーザの検索要求により、必要に応じて生成される。
そして、エントリ3003は、エントリ用代表元タグ3004、エントリ用検索クエリ3006、エントリ用暗号化情報3007、無意味な平文2305から構成される。
エントリ用代表元タグ3004は、1つ以上の暗号化代表元用キーワードで構成される。実施の形態1においては、エントリ用代表元タグ3004は、検索要求2001に含まれる検索要求用代表元タグ2004が保存されたものである。その為、暗号化代表元用キーワードは、タグ暗号化検索要求用キーワード2005となる。また、暗号化代表元用キーワードは、無意味な平文2305が代表元用キーワードと公開鍵とで暗号化されたものである。その為、代表元用キーワードは検索要求用キーワード2000となる。エントリ用検索クエリ3006は、検索要求2001に含まれる検索要求用クエリ2002が保存されたものである。エントリ用暗号化情報3007は、複数の登録暗号化情報2302もしくは保管暗号化情報4002がエントリ3003に保存されたものである。もしくは、エントリ用暗号化情報3007は、データ保管部305における保管暗号化情報4002の識別子であっても良い。ここで、識別子とは、データの保管場所を示すアドレス情報であっても良いし、データの保管場所を示すリンクやポインタであっても良いし、データを特定可能なファイル名で有っても良い。
また、無意味な平文2305は、エントリ用代表元タグ3004が正しく復号されたかを検索処理部303が判断するのに用いられる。
Next, details of the
FIG. 13 is a diagram illustrating an example of a data structure of a search result stored in the
The
The entry
The
次いで、秘匿検索システム100のデータ検索処理の概要説明を行う。
図14は、データセンター301で実施される処理の概要を示したフローチャートである。
Next, the outline of the data search process of the
FIG. 14 is a flowchart showing an outline of processing performed in the
まず、ステップS401において、データセンター301は、ユーザ端末201からネットワーク101を経由して送信される検索要求2001を、検索要求受信部302で受信する。
次に、ステップS402において、検索要求受信部302は、検索要求2001を検索処理部303に転送する。
次に、ステップS403において、検索処理部303は、インデックス分類部309により指定されたインデックス記憶部304のキーワード数別インデックス3002を参照する。そして、検索処理部303は、検索要求受信部302から転送された検索要求用クエリ2002に含まれるキーワードが、インデックス記憶部304に保存されているか検査する。
次に、ステップS404において、検索処理部303は、受信した検索要求2001のタグ暗号化検索要求用キーワード2005がインデックス記憶部304に存在した場合(該当あり)は、エントリ3003のエントリ用暗号化情報3007から該当する暗号化情報を読み出し、検索要求回答部307を介して、検索要求のあったユーザ端末201へ回答する。
また、ステップS405において、S403の検査で検索要求2001のタグ暗号化検索要求用キーワード2005がインデックス記憶部304に存在しなかった場合(該当なし)、検索処理部303は、データ保管部305を検索する。その際、検索処理部303は、インデックス検査S403で判定したエントリ用代表元タグ3004と同じ保管キーワードタグ4003を持つ保管データ4001を検索対象から除外する。
次に、ステップS406において、インデックス更新管理部306は、S405の検索の結果、検索要求2001に一致する登録データ2301がある場合(該当暗号化情報あり)、インデックス登録を行う。そして、S404において、検索処理部303は、該当する暗号化情報を読み出し、検索要求回答部307を介して、検索要求のあったユーザ端末201へ回答する。
S405において、データ保管部305にも、検索要求に該当するデータが存在しない場合(該当暗号化情報なし)、検索処理部303は、検索要求回答部307を介して、検索要求のあったユーザ端末201へ該当データが存在しない旨を回答する。
First, in step S <b> 401, the
Next, in step S <b> 402, the search
Next, in step S <b> 403, the
Next, in step S404, when the tag encryption
In step S405, when the tag encryption
Next, in step S406, the index
In S405, if the data corresponding to the search request does not exist in the data storage unit 305 (there is no corresponding encryption information), the
そして、秘匿検索システム100のデータ検索処理の詳細説明を行う。
Then, a detailed description of the data search process of the
まず図15を参照し、本実施の形態におけるインデックス検査S403を詳しく説明する。
図15は、検索処理部303におけるインデックス検査S403の動作を示すフローチャートである。
まず、ステップS501において、検索処理部303は、受信した検索要求2001をインデックス分類部309に入力する。インデックス分類部309は、検索要求2001の検索要求用クエリ2002に含まれるクエリ暗号化検索要求用キーワード2003の数に応じてキーワード数別インデックス3002の内、どのキーワード数別インデックスを検索するかを選択する。
次に、ステップS502において、検索処理部303は、インデックス分類部309が選択したキーワード数別インデックスから、未検査のエントリ3003があるかを検査する。
次に、ステップS503において、検索処理部303は、未検査のエントリが無い場合は、検索要求2001に該当するデータが存在しないため「該当なし」とし、保管データ全探索S405に進むため、インデックス検査S403を終了する。未検査のエントリがある場合、そこに保存されているエントリ用代表元タグ3004と検索要求2001における検索要求用クエリ2002とが一致するかを検査する。エントリ用代表元タグ3004と検索要求2001における検索要求用クエリ2002とが一致しなかった場合(不一致)、検索処理部303は、他の未検査のエントリ3003を検査するため、S502に戻る。
次に、ステップS504において、検索処理部303は、エントリ用代表元タグ3004と検索要求用クエリ2002とが一致した場合(一致)、エントリ用代表元タグ3004が対応するエントリ用暗号化情報3007を読み取る。そして、検索処理部303は、読み取ったエントリ用暗号化情報3007を検索要求回答部307に出力する。
なお、エントリ用暗号化情報3007に記憶されている情報が、保管暗号化情報4002の識別子である場合、検索処理部303は、識別子が示す保管暗号化情報4002をデータ保管部305から取り出す。そして、検索処理部303は、その保管暗号化情報4002を検索要求回答部307に出力する。(以下、エントリ用暗号化情報3007に記憶されている情報が、保管暗号化情報4002の識別子である場合の検索処理部303からの出力処理は同様である。そのため、以下、エントリ用暗号化情報3007に記憶されている情報が、保管暗号化情報4002の識別子である場合の説明を省略する)。
First, the index check S403 in the present embodiment will be described in detail with reference to FIG.
FIG. 15 is a flowchart showing the operation of the index check S403 in the
First, in step S501, the
Next, in step S502, the
Next, in step S503, if there is no unchecked entry, the
In step S504, when the
When the information stored in the
次に図16を参照し、本実施の形態におけるインデックス登録S406を詳しく説明する。
図16は、インデックス更新管理部306におけるインデックス登録S406の動作を示すフローチャートである。
保管データ全探索S405において、データ保管部305から、検索要求2001に合致する検索結果(すなわち検索要求2001に合致する保管データ4001)が得られた場合に、検索処理部303は、保管データ4001に含まれる保管暗号化情報4002もしくは保管暗号化情報4002の識別子をエントリ用暗号化情報3007として、インデックス更新管理部306に転送する。また、検索処理部303は、登録データ2301に合致した検索要求2001もインデックス更新管理部306に転送する。
そして、ステップS601において、インデックス更新管理部306は検索処理部303から転送されたエントリ用暗号化情報3007と検索要求2001をインデックス分類部309に入力する。そして、インデックス分類部309は、検索要求2001に含まれる検索要求用クエリ2002のクエリ暗号化検索要求用キーワード2003の数に応じて、インデックス3001のキーワード数別インデックス3002のどこにエントリ用暗号化情報3007を登録するか決定する。
次に、ステップS602において、インデックス更新管理部306は、検索結果に対応した新規のエントリ3003を作成する。
次に、ステップS603において、インデックス更新管理部306は、作成したエントリのエントリ用代表元タグ3004には検索要求2001の検索要求用代表元タグ2004を設定する。
次に、ステップS604において、インデックス更新管理部306は、作成したエントリのエントリ用検索クエリ3006に検索要求2001の検索要求用クエリ2002を設定する。
次に、ステップS605において、インデックス更新管理部306は、作成したエントリのエントリ用暗号化情報3007を設定する。
なお、S603からS605までの処理は順不同である。
Next, the index registration S406 in the present embodiment will be described in detail with reference to FIG.
FIG. 16 is a flowchart showing the operation of index registration S406 in the index
When the search result that matches the search request 2001 (that is, the stored data 4001 that matches the search request 2001) is obtained from the
In step S <b> 601, the index
In step S602, the index
Next, in step S603, the index
Next, in step S604, the index
Next, in step S605, the index
Note that the processing from S603 to S605 is in no particular order.
次に図17を参照して、秘匿検索システム100のデータ新規登録処理の説明を行う。
図17は、ユーザが新規にデータをデータセンター301に登録する際の動作を示したフローチャートである。
まず、ステップS701において、登録データ受信部308が、ユーザ端末201から登録データ2301を受信すると、登録データ受信部308は、データ保管部305とインデックス更新管理部306とに登録データ2301を転送する。
次に、ステップS702において、インデックス更新管理部306は、登録データ2301の登録キーワードタグ2303と全てのキーワード数別インデックスに保存されたエントリ3003のエントリ用検索クエリ3006との一致判定を行う。(ここで、インデックス分類部309は、全てのキーワード数別インデックスとの照合を指定する)。
次に、ステップS703において、インデックス更新管理部306は、登録データ2301における登録キーワードタグ2303に一致するエントリ用検索クエリ3006を保存したエントリがある場合(一致)、該当する全てのエントリに登録暗号化情報2302をエントリ用暗号化情報3007として追加する。登録キーワードタグ2303とエントリ用検索クエリ3006とが一致しない場合(不一致)、インデックス更新管理部306は、インデックス3001の更新を行わない。
次に、ステップS704において、登録キーワードタグ2303とエントリ用検索クエリ3006とが一致/不一致に関わらず、データ保管部305は、登録データ受信部308から転送された登録データ2301を保管データ4001として保存する。保管データ4001は、保管キーワードタグ4003として保存された登録キーワードタグ2303と、保管暗号化情報4002として保存された登録暗号化情報2302とで構成される。
すなわち、登録キーワードタグ2303とエントリ用検索クエリ3006とが一致する場合は、登録暗号化情報2302は、インデックス記憶部304のエントリ3003とデータ保管部305との両方に保存される。
あるいは、図17のフローチャートには図示しないが、例えば、ユーザが登録暗号化情報2302をインデックス記憶部304とデータ保管部305との両方に保存する必要が無いと判断する場合が想定される。その場合には、インデックス更新管理部306は、ステップS704において登録データ受信部308が保存した保管暗号化情報4002の識別子をデータ保管部305から取得する。そして、インデックス更新管理部306は、登録暗号化情報2302の代わりに保管暗号化情報4002の識別子をエントリ用暗号化情報3007としてエントリ3003に保存することも出来る。
ユーザは例えば登録暗号化情報2302の容量が大きい場合は、保管暗号化情報4002の識別子をエントリ用暗号化情報3007として保存することが可能である。またユーザは例えば登録暗号化情報2302の容量が小さい場合は登録暗号化情報2302を保存するなどの選択が可能である。そして、ユーザは登録暗号化情報2302に応じて、保管暗号化情報4002の識別子と登録暗号化情報2302を混在してエントリ用暗号化情報3007として保存することが可能である。
Next, the new data registration process of the
FIG. 17 is a flowchart showing an operation when a user newly registers data in the
First, in step S <b> 701, when the registration
In step S <b> 702, the index
Next, in step S703, if there is an entry storing the
In step S704, the
That is, when the registered
Alternatively, although not shown in the flowchart of FIG. 17, for example, it is assumed that the user determines that it is not necessary to save the registered
For example, when the capacity of the registered
ここで、秘匿検索システム100のデータ新規登録処理及びデータ検索処理の具体例を示す。
図18は、登録データ2301と保管データ4001との具体例を示す図である。((a)は登録データ2301a、(b)は登録データ2301b、(c)は登録データ2301c、(d)は保管データ4001a、(e)は保管データ4001b、(f)は保管データ4001c)。ここで、登録データと保管データとに含まれる無意味な平文2305は図示を省略している。
図19は、検索要求2001の具体例を示す図である。((a)は検索要求2001a、(b)は検索要求2001b、(c)は検索要求2001c)。
図20は、ステップS405の保管データ全探索の動作を示す図である。
図21は、検索要求2001aに基づくインデックス登録の例を示す図である。
図22は、検索要求2001a〜cに基づくインデックス登録の例を示す図である。
図23は、検索要求2001a〜cに基づくエントリ登録の例を示す図である。((a)はエントリ3003a、(b)はエントリ3003b、(c)はエントリ3003c)。
図24は、登録データ2301dを示す図である。
図25は、登録データ2301dに含まれる登録暗号化情報がエントリに追加された例を示す図である。
図26は、検索要求2001の更なる具体例を示す図である。((a)は検索要求2001d、(b)は検索要求2001e)。
Here, a specific example of data new registration processing and data search processing of the
FIG. 18 is a diagram illustrating a specific example of the
FIG. 19 is a diagram illustrating a specific example of the
FIG. 20 is a diagram illustrating an operation of searching for all stored data in step S405.
FIG. 21 is a diagram illustrating an example of index registration based on the
FIG. 22 is a diagram illustrating an example of index registration based on the
FIG. 23 is a diagram illustrating an example of entry registration based on the
FIG. 24 is a diagram showing
FIG. 25 is a diagram illustrating an example in which the registration encryption information included in the
FIG. 26 is a diagram showing a further specific example of the
まず、登録データの新規登録処理を説明する。
ここで、初期状態としては、秘匿検索システム100に保管データ4001が何も無い状態を想定する。
そして、登録データ受信部308は、図18に示す登録データ2301a〜cを受信したとする。そして、図17に示すステップS702においてエントリ用検索クエリ3006が何も無い状態なので、登録データ2301a〜cは、保管データ4001a〜cとしてデータ保管部305に保存される。
First, registration data new registration processing will be described.
Here, as an initial state, it is assumed that there is no storage data 4001 in the
Then, it is assumed that the registration
そして、次に検索要求による検索処理を説明する。
検索要求受信部302は、図19(a)に示す検索要求2001aを受信したとする。図14のステップS403において、インデックス3001に何もデータが無い状態なので、検索処理部303は、図14のステップS405の保管データ全探索を行う。
図20に示すように、クエリ暗号化検索要求用キーワード2003a「エンジン」とクエリ暗号化検索要求用キーワード2003b「タイヤ」との両方に一致する保管キーワードタグ4003は、第1の保管データ4001aと第2の保管データ4001bとに存在する。
そこで、図16に示すステップS406内のステップS601において、インデックス分類部309は、検索要求2001aのクエリ暗号化検索要求用キーワード2003がクエリ暗号化検索要求用キーワード2003a「エンジン」とクエリ暗号化検索要求用キーワード2003b「タイヤ」の2つで有ることを認識する。
従って、図21に示すようにインデックス更新管理部306は、キーワード数別インデックス3002の内、2キーワードインデックスの箇所(例えば3002−2)に検索要求2001aに基づくエントリ3003bを登録する。すなわち、インデックス更新管理部306は、検索要求2001aの検索要求用代表元タグ2004をエントリ用代表元タグ3004としてエントリ3003bに保存する。さらに、インデックス更新管理部306は、検索要求2001aの検索要求用クエリ2002をエントリ用検索クエリ3006としてエントリ3003bに保存する。また、インデックス更新管理部306は、保管データ4001aの保管暗号化情報4002aもしくは保管暗号化情報4002aの識別子と、保管データ4001bの保管暗号化情報4002aもしくは保管暗号化情報4002aの識別子とをエントリ用暗号化情報3007bとして保存する。
Next, search processing by a search request will be described.
Assume that the search
As shown in FIG. 20, the storage keyword tag 4003 that matches both the query encrypted
Therefore, in step S601 in step S406 shown in FIG. 16, the
Therefore, as shown in FIG. 21, the index
さらに検索要求受信部302は図19(b)に示す検索要求2001bと図19(c)に示す検索要求2001cとを受信したとする。その場合、インデックス更新管理部306は、同様の手順で図22に示すインデックス3001を形成する。そして、各エントリは、図23に示すエントリ3003a〜3003cの通りとなる。
Further, it is assumed that the search
さらに追加登録データの登録処理について説明する。
図24に示す登録データ2301dを検索要求受信部302が受信したとする。そして、インデックス更新管理部306は、エントリ3003a〜3003cのエントリ用検索クエリ3006a〜3006cと登録データ2301dの登録キーワードタグ2303dが一致するかを検査する。そして、インデックス更新管理部306は、エントリ3003aのエントリ用検索クエリ3006aとエントリ3003bのエントリ用検索クエリ3006bとが登録データ2301dの登録キーワードタグ2303と一致すると判断する。インデックス更新管理部306は、登録データ2301dの登録暗号化情報2302d「自動車情報4」をエントリ3003aのエントリ用暗号化情報3007aとエントリ3003bのエントリ用暗号化情報3007bに追加する。(図25参照)。
Furthermore, the registration process of additional registration data is demonstrated.
Assume that the search
さらに追加検索要求による検索処理について説明する。
検索要求受信部302は、図26(a)に示す検索要求2001dを受信したとする。検索要求2001dのクエリ暗号化検索要求用キーワード2003の数は、2つである。その為に、図14のステップS403において、インデックス分類部309は、インデックス3001における2キーワード用インデックス(例えば3002b)の参照を決定する。そして、検索処理部303は、図25に示すエントリ3003bのエントリ用代表元タグ3004bと検索要求2001dの検索要求用クエリ2002dとが一致すると判断する。そして、検索処理部303は、検索結果として、図25に示すエントリ用暗号化情報3007dに記憶されている「自動車情報1」「自動車情報2」「自動車情報4」を検索要求回答部307に出力する。
Further, a search process by an additional search request will be described.
Assume that the search
そして、検索要求受信部302は、図26(b)に示す検索要求2001eを受信したとする。
検索要求2001eのクエリ暗号化検索要求用キーワード2003の数は、1つである。その為に、図14のステップS403において、インデックス分類部309は、インデックス3001における1キーワード用インデックス(例えば3002a)の参照を決定する。そして、検索処理部303は、検索要求2001eの検索要求用クエリ2002eに一致するエントリが無いと判断する(図25参照)。その為、検索処理部303は、図14に示すステップS405の処理に移り、データ保管部305の検索を実施する。そして、検索処理部303は、データ保管部305に図18に示す保管データ4001cを見つけることが出来る。
ここで、仮にキーワード数別インデックス3002が存在しない場合を想定する。その場合、図25に示すエントリは混在することになる。そして、検索要求受信部302は、図26(b)に示す検索要求2001eを受信したとする。そして、図25に示すエントリ3003bのエントリ用代表元タグ3004bの暗号化登録キーワード2304は「タイヤ」が含まれている。すると、検索処理部303は、検索要求2001eの検索要求用クエリ2002eとエントリ3003bのエントリ用代表元タグ3004bとが一致すると判断する。そして、検索処理部303は、データ保管部305の保管データ4001cを検出出来ない。
Then, it is assumed that the search
The number of query encryption
Here, it is assumed that the keyword-
本実施の形態の秘匿検索システムは、ユーザが複数のキーワードを利用した検索を行うことが可能であり、ユーザの検索要求をより柔軟に表現できる。また、本実施の形態の秘匿検索システムは、複数のキーワード対応の検索履歴を用いた秘匿検索を誤一致や検索漏れなく実施することが出来、効率的な検索を実施出来る。
更に、本実施の形態の秘匿検索システムは、過去に検索した1つ以上のキーワードに対する検索結果をインデックスから必ず一意に特定できるため、誤った検索結果を出力することを防止する。
また、ユーザがデータを登録する際に、そのデータをインデックスに反映させることにより、秘匿検索システムがインデックスを利用して検索を高速化する際に、本実施の形態の秘匿検索システムは、検索漏れが発生しない。
また、1つのキーワードにつき1つのタグおよび検索クエリを生成する方式と比較し、本実施の形態の秘匿検索システムは、キーワードの増加による、タグおよび検索クエリの数の増加を低減し、かつ、キーワードの一致判定の回数を低減する。
The secret search system according to the present embodiment allows a user to perform a search using a plurality of keywords, and can express a user's search request more flexibly. In addition, the secret search system according to the present embodiment can perform a secret search using a search history corresponding to a plurality of keywords without erroneous matches or omissions, and can perform an efficient search.
Furthermore, since the secret search system of this embodiment can always uniquely specify search results for one or more keywords searched in the past from the index, it prevents output of erroneous search results.
Further, when the user registers data, the data is reflected in the index so that the secret search system according to the present embodiment is not searched when the search is accelerated using the index. Does not occur.
Compared with a method of generating one tag and a search query for one keyword, the secret search system according to the present embodiment reduces an increase in the number of tags and search queries due to an increase in keywords, and a keyword. The number of coincidence determinations is reduced.
実施の形態2.
実施の形態1では、インデックス分類部309は、検索結果を保存するインデックスを暗号化検索要求用キーワード数ごとに分類していた。また、インデックスのエントリの検索要求用代表元タグ2004はユーザが指定していた。(ユーザは、検索要求2001を送信する際に検索要求用クエリ2002以外に検索要求用代表元タグ2004を送信していた)。
実施の形態2では、複数のキーワードを用いた検索要求において、ユーザが検索対象の登録キーワードの特定が可能な場合に、インデックスの暗号化検索要求用キーワード数ごとの分類や、ユーザによる検索要求用代表元タグの設定を不要とする秘匿検索システム100を示す。
In the first embodiment, the
In the second embodiment, in a search request using a plurality of keywords, when the user can specify a registered keyword to be searched, the index is classified according to the number of keywords for the encrypted search request, or the search request by the user. 1 shows a
まず、図27を用いてフィールド番号を含んだ登録データ2301の構造を説明する。
図27は、フィールド番号を含んだ登録データ2301の構成の例を示す図である。
登録データ2301は、登録暗号化情報2302と登録キーワードタグ2303と無意味な平文2305と登録フィールド番号2404とから構成される。
登録暗号化情報2302と登録キーワードタグ2303は実施の形態1と同様であり、説明を省略する。
登録フィールド番号2404は平文であり、暗号化登録キーワード2304に対応している。すなわち、登録フィールド番号2404は登録キーワードタグ2303の属性を示すものである。図27に示す例では、暗号化登録キーワード「エンジン」は登録フィールド番号「1」、暗号化登録キーワード「タイヤ」は登録フィールド番号「2」、暗号化登録キーワード「ハンドル」は登録フィールド番号「3」と例えばユーザが定義している。
First, the structure of
FIG. 27 is a diagram showing an example of the configuration of
The
The registered
The
次に図28を用いてフィールド番号を含んだ検索要求2001の構造を説明する。
図28は、フィールド番号を含んだ検索要求2001の構成の例を示す図である。
検索要求2001は、検索要求用クエリ2002と検索要求用フィールド番号2104から構成される。
検索要求用クエリ2002は実施の形態1と同様であり、説明を省略する。
検索要求用フィールド番号2104は、平文であり、検索要求用クエリ2002のクエリ暗号化検索要求用キーワード2003に対応している。すなわち、検索要求用フィールド番号2104は、検索要求用クエリ2002の属性を示すものである。また、検索要求用フィールド番号2104は、クエリ暗号化検索要求用キーワード2003がどの登録フィールド番号2404の暗号化登録キーワード2304を照合するかを示している。
すなわち、登録データとして図27の例が存在する場合では、図28に示すクエリ暗号化検索要求用キーワード「エンジン」は検索要求用フィールド番号が「1」であり、図27の登録フィールド番号「1」の暗号化登録キーワード「エンジン」を照合する。
Next, the structure of the
FIG. 28 is a diagram showing an example of the configuration of a
The
The
The search
That is, when the example of FIG. 27 exists as registration data, the query encryption search request keyword “engine” shown in FIG. 28 has the search request field number “1”, and the registration field number “1” of FIG. The encrypted registration keyword “engine” of “is collated.
そして、図29を用いてフィールド番号を含んだインデックス記憶部304におけるインデックス3001の構造を説明する。
図29は、フィールド番号を含んだインデックス記憶部304に記憶される検索結果のデータ構造の一例を示す図である。
インデックス3001は、複数のエントリ3003で構成される。
そして、エントリ3003は、エントリ用代表元タグ3004、エントリ用検索クエリ3006、エントリ用暗号化情報3007、無意味な平文2305、エントリ用フィールド番号3105から構成される。
エントリ用代表元タグ3004は、1つ以上の暗号化代表元用キーワードで構成される。実施の形態2においては、エントリ用代表元タグ3004は、登録データ2301に含まれる登録キーワードタグ2303が保存されたものである。その為、暗号化代表元用キーワードは、暗号化登録キーワード2304となる。また、暗号化代表元用キーワードは、無意味な平文2305が代表元用キーワードと公開鍵とで暗号化されたものである。その為、代表元用キーワードは登録キーワード2300となる。
エントリ用検索クエリ3006、エントリ用暗号化情報3007、無意味な平文2305は、実施の形態1と同様である為説明を省略する。
エントリ用フィールド番号3105は、平文であり、エントリ用検索クエリ3006とエントリ用代表元タグ3004とに対応している。すなわち、エントリ用フィールド番号3105は、エントリ用検索クエリ3006とエントリ用代表元タグ3004との属性を示すものである。
The structure of the
FIG. 29 is a diagram illustrating an example of a data structure of a search result stored in the
The
The
The entry
Since the
The
次いで、実施の形態2におけるフィールド番号を含んだ秘匿検索システム100のデータ検索処理の説明を行う。
実施の形態2におけるデータ検索処理の手順は、実施の形態1で説明した図14と同様である。
ここで、実施の形態1では、インデックス分類部309は、クエリ暗号化検索要求用キーワード2003の数に応じて、照合するキーワード数別インデックス3002を決定している。しかし、実施の形態2では、インデックス分類部309は、検索要求2001の検索要求用フィールド番号2104とエントリ3003のエントリ用フィールド番号3105とを照合する役割を担う。
そこで、図14において実施の形態1との相違点があるインデックス検査S403とインデックス登録S406の説明を行う。
Next, the data search process of the
The procedure of the data search process in the second embodiment is the same as that in FIG. 14 described in the first embodiment.
Here, in the first embodiment, the
Therefore, an index check S403 and an index registration S406 that are different from the first embodiment in FIG. 14 will be described.
まず、図30を用いて実施の形態2におけるインデックス検査S403の説明を行う。
図30は、インデックス検査S403の手順を示したフローチャートである。
実施の形態1と同様に、ユーザから検索要求2001を受信したデータセンター301は、インデックス記憶部304から、検索要求2001に一致するエントリ3003を検索する。
まず、ステップS511において、検索処理部303は、インデックス3001に未検査のエントリ3003があるかを検査する。未検査のエントリが無い場合、検索要求に該当するデータが存在しないため検索処理部303は、「該当なし」と判断し、保管データ全探索S405に進むため、インデックス検査を終了する。
次に、ステップS512において、検索処理部303は、S511で未検査のエントリがある場合、検索要求用クエリ2002とエントリ用代表元タグ3004との一致検査を行う。
さらにインデックス分類部309は、検索要求用フィールド番号2104とエントリ用フィールド番号3105との一致検査を行う。
次に、ステップS513において、検索処理部303は、S513の一致検査の結果、一致する場合(一致)に該当エントリのエントリ用暗号化情報3007を検索要求回答部307に出力する。一致しない場合(不一致)は、他の未検査のエントリについて同様の検査を行う。
First, the index check S403 in the second embodiment will be described with reference to FIG.
FIG. 30 is a flowchart showing the procedure of the index check S403.
Similar to the first embodiment, the
First, in step S511, the
Next, in step S512, when there is an entry that has not been checked in step S511, the
Further, the
Next, in step S 513, the
次に図31を用いて実施の形態2におけるインデックス登録S406の説明を行う。
図31は、インデックス登録S406の手順を示したフローチャートである。
検索処理時、検索処理部303は、実施の形態1と同様にインデックス参照を実施した結果、検索要求に該当するエントリが見つからなかった場合、データ保管部305を検索する。
その結果、検索要求に該当する保管データ4001が存在する場合に、インデックス登録処理S406を行う。
まず、ステップS611において、インデックス更新管理部306は、インデックス記憶部304に保存するための新規エントリを作成する。
次に、ステップS612において、インデックス更新管理部306は、作成した新規エントリのエントリ用代表元タグ3004検索結果の保管キーワードタグ4003から選択し、設定する。
次に、ステップS613において、インデックス更新管理部306は、作成した新規エントリのエントリ用フィールド番号3105として、保管データ4001に含まれる登録フィールド番号2404を設定する。(実施の形態2における保管データ4001の例は、図示を省略しているが、実施の形態1と同じく、保管データ4001と登録データ2301は実質的に同一であり、登録フィールド番号2404が保管データ4001に含まれている)。
次に、ステップS614において、インデックス更新管理部306は、作成した新規エントリのエントリ用検索クエリ3006として検索要求用クエリ2002を保存する。この時に、インデックス更新管理部306は、エントリ用フィールド番号3105をエントリ用検索クエリ3006のクエリ暗号化検索要求用キーワード2003にも関連付けする。
次に、ステップS615において、インデックス更新管理部306は、作成した新規エントリのエントリ用暗号化情報3007に、検索結果の保管暗号化情報4002もしくは保管暗号化情報4002の識別子を保存する。
なお、S612からS615は順不同である。
Next, the index registration S406 in the second embodiment will be described with reference to FIG.
FIG. 31 is a flowchart showing the procedure of index registration S406.
During the search process, the
As a result, when the storage data 4001 corresponding to the search request exists, the index registration process S406 is performed.
First, in step S611, the index
In step S612, the index
In step S613, the index
Next, in step S614, the index
Next, in step S615, the index
Note that S612 to S615 are in no particular order.
ユーザが新規にデータを登録する場合は、実施の形態1と同様に図17の手順で行う。保管データ4001は、実施の形態1と同様に登録データ2301と同じ構造のものである。従って、実施の形態2における保管データ4001は、図27に示すように、登録フィールド番号2404も含んでいる。
実施の形態2で説明しなかった部分については、実施の形態1と同様であるので省略する。
When the user newly registers data, the procedure shown in FIG. 17 is performed as in the first embodiment. The storage data 4001 has the same structure as the
Since the parts not described in the second embodiment are the same as those in the first embodiment, the description thereof is omitted.
ここで、図32を用いて、インデックス検査S403における一致検査の具体例を示す。
(前記の通り、インデックス登録S406における一致検査(保管データ4001と検索要求2001との一致検査)は、実施の形態1と同様の処理なので、説明を省略する)。
図32は、インデックス検査S403における一致検査の具体例を示す図である。((a)はエントリ3003の具体例、(b)は、検索要求2001a、(c)は、検索要求2001b、(d)は、検索要求2001c)。
まず、エントリ3003と検索要求2001aとを照合した場合、インデックス分類部309は、エントリ用フィールド番号3105と検索要求用フィールド番号2104aとが一致する為、エントリ3003と第1の検索要求2001aは一致と判断する。そして、検索処理部303は、エントリ用代表元タグ3004と検索要求用クエリ2002とが一致する為、最終的にエントリ3003と検索要求2001aは一致と判断する。
次に、エントリ3003と検索要求2001bとを照合した場合、インデックス分類部309は、エントリ用フィールド番号3105と検索要求用フィールド番号2104bとが一致しない為、エントリ3003と検索要求2001aは不一致と判断する。
そして、エントリ3003と検索要求2001cとを照合した場合、インデックス分類部309は、エントリ用フィールド番号3105と検索要求用フィールド番号2104cとが一致しない為、エントリ3003と検索要求2001cは不一致と判断する。
Here, a specific example of the coincidence inspection in the index inspection S403 will be described with reference to FIG.
(As described above, the matching check in the index registration S406 (matching check between the stored data 4001 and the search request 2001) is the same processing as that in the first embodiment, and thus the description is omitted).
FIG. 32 is a diagram illustrating a specific example of the coincidence inspection in the index inspection S403. ((A) is a specific example of the
First, when the
Next, when the
When the
実施の形態2によれば、実施の形態1の効果を奏するのに加えて、インデックスのエントリ用代表元タグは、検索結果の登録キーワードタグ2303を設定可能となる。従って、ユーザは、エントリ用代表元タグ3004用の検索要求用代表元タグ2004としてデータセンターに送らずに済む。そのため、ユーザ端末201とデータセンター301間の通信データ量を低減できるという効果がある。
また、データセンター301は、インデックス内を暗号化検索要求用キーワード数毎に分類しなくても良く、実施の形態1と比較してインデックスの管理の手間を削減できるという効果がある。
According to the second embodiment, in addition to the effects of the first embodiment, the index entry representative tag can set the registered
Further, the
実施の形態3.
実施の形態1、2では、複数のキーワードを利用した秘匿検索システムにおいて、データセンター301は、検索履歴から正確な検索結果を取得し、高速にユーザへ出力する。すなわち、実施の形態1、2は、インデックスの設定法に関する実施の形態である。実施の形態3は、複数のユーザが秘匿検索システムを利用する場合の、ユーザ毎のデータ保管とインデックス構築を行う実施形態を示す。
ここで複数のユーザとは、例えば企業における課、部などを指し、それぞれの範囲内でデータ登録およびデータ検索を行う。また、特定のユーザ間で共通のデータを検索する場合もあり、その場合を「グループ共有」と呼ぶ。
以下では、ユーザ1〜ユーザnのnユーザ(n≧1)が秘匿検索システムを利用しているものとする。また、ここでは、あるユーザの集合をユーザグループと呼ぶ。以下では、インデックス記憶部304とデータ保管部305をユーザ毎に管理する高速化手法を説明する。
In
Here, the plurality of users refers to, for example, a section or department in a company, and performs data registration and data search within each range. In some cases, data common to specific users is searched, and this case is called “group sharing”.
In the following, it is assumed that n users (n ≧ 1) of
図33を用いて実施の形態3におけるデータ保管部305の構造を説明する。
図33は、データ保管部305の構造の一例を示す図である。
データ保管部305はデータ領域3051から構成される。(図中に3051−1〜3051−nで表記)。データ領域3051は複数のユーザ(ユーザ1〜ユーザn)用に割り当てられる。またグループ共有を行う場合は、データ保管部305はグループ用にデータ領域を割り当て、そこにデータを保管する。
データ登録時、データセンター301はデータ登録要求のあったユーザに対応するデータ領域に登録データを保管する。これを「ユーザデータ領域」と呼ぶ。グループ共有する場合は、データセンター301は「共通データ領域」としてデータ領域3051を割り当て、該当するデータを「共通データ領域」にデータを保存する。なお、共通データ領域は複数あってもよいので、ユーザは、グループ毎に共通データ領域を作成してもよい。
データ検索時、データセンター301は検索要求を送信したユーザのユーザデータ領域と、共通データ領域のみ参照する。このように、データセンター301は、データ保管部305の全探索時に、検索要求に関連のないユーザのデータを検索対象から除外することが可能となり、全探索にかかる時間を削減することができる。
The structure of the
FIG. 33 is a diagram illustrating an example of the structure of the
The
At the time of data registration, the
At the time of data search, the
次に図34を用いて、実施の形態3におけるインデックス記憶部304に保存されるインデックスの構造を説明する。
図34は、インデックス記憶部304に保存されるインデックス3001の構造の一例を示す図である。
インデックス3001は、複数のサブインデックス3202から構成される。(図中に3202−1〜3202−nで表記)。サブインデックス3202内の構成は、例えば、実施の形態1、2のインデックス3001のようになる。つまり、インデックス3001はインデックス3001内に複数のインデックスを構築する構成である。
サブインデックスは、ユーザ毎に割り当てられ、ここでは「ユーザサブインデックス」と呼ぶ。また、グループ共有データのインデックス化のため、グループに対してサブインデックスを割り当てても良い。ここでは、グループに対するサブインデックスを「共通サブインデックス」と呼ぶ。
Next, the structure of the index stored in the
FIG. 34 is a diagram illustrating an example of the structure of the
The
A sub-index is assigned for each user, and is referred to herein as a “user sub-index”. Further, a sub-index may be assigned to a group for indexing group shared data. Here, the sub-index for the group is called a “common sub-index”.
ここで、実施の形態3における検索処理の説明を行う。
実施の形態3における検索処理の手順は実施の形態1で説明した図14と同様である。実施の形態1と同様に、ユーザから検索要求を受信したデータセンター301は、インデックス記憶部304から、検索要求に一致するエントリを検索する。
実施の形態1との相違点はインデックス検査S403の手順である。図35、図36を用いて、グループ共有の有無に応じた動作例を説明する。
図35は、グループ共有を行わない場合のインデックス検査S403の手順を示したフローチャートである。
図36は、グループ共有を行う場合のインデックス検査S403の手順を示したフローチャートである。
Here, the search process in the third embodiment will be described.
The search processing procedure in the third embodiment is the same as that in FIG. 14 described in the first embodiment. As in the first embodiment, the
The difference from the first embodiment is the procedure of the index check S403. An operation example according to the presence / absence of group sharing will be described with reference to FIGS. 35 and 36.
FIG. 35 is a flowchart showing the procedure of the index check S403 when group sharing is not performed.
FIG. 36 is a flowchart showing the procedure of the index check S403 when group sharing is performed.
まず、グループ共有しない場合を説明する。
グループ共有を行わない場合は、検索要求を送信したユーザに関連するユーザサブインデックスを検索対象として、検索処理部303は、インデックス検索を行う(図35参照)。
まず、ステップS801において、検索処理部303は、検索要求を送信したユーザのユーザサブインデックスを検索の対象として、検索要求に該当するエントリを検索する。
次に、ステップS802において、検索処理部303は、エントリの検索処理を行う。エントリの検索処理は実施の形態1の方法で有っても良いし、実施の形態2の方法で有っても良い。検索処理部303は、検索要求に該当するエントリが存在した場合(該当あり)、S803に進む。該当するエントリが存在しない場合(該当なし)、保管データ全探索S405に進むため、インデックス検査を終了する。
次に、ステップS803において、検索処理部303は、検索要求に該当するエントリに保存されているエントリ用暗号化情報3007を出力する。
First, a case where group sharing is not described.
When group sharing is not performed, the
First, in step S801, the
In step S802, the
In step S803, the
次に、グループ共有する場合を説明する。
グループ共有を行う場合は、共通サブインデックスと、検索要求を送信したユーザに関連するユーザサブインデックスを検索対象として、検索処理部303は、インデックス検索を行う(図36参照)。
まず、ステップS901において、検索処理部303は、検索要求を送信したユーザに関連する共通サブインデックスを検索対象として、検索要求に該当するエントリを検索する。
次に、ステップS902において、検索処理部303は、検索要求を送信したユーザのユーザサブインデックスを検索の対象として、検索要求に該当するエントリを検索する。
なお、S901、S902の検索の順序は逆でも良い。
次に、ステップS903において、検索処理部303は、S901とS902のエントリ探索の結果、該当するエントリが存在しない場合(該当なし)、保管データ全探索S405に進むため、インデックス検査を終了する。
次に、ステップS904において、検索処理部303は、S901とS902のエントリ探索の結果、検索要求に該当するエントリが存在した場合(該当あり)、該当エントリに保存されているエントリ用暗号化情報3007を出力する。
Next, the case of group sharing will be described.
When group sharing is performed, the
First, in step S901, the
Next, in step S902, the
Note that the search order of S901 and S902 may be reversed.
Next, in step S903, the
Next, in step S904, if there is an entry corresponding to the search request as a result of the entry search in S901 and S902 (applicable), the
以上のようにインデックス検査S403を実施した結果、検索要求に該当するエントリが見つからなかった場合、検索処理部303は、データ保管部305を検索する。その結果、検索要求に該当する保管データ4001が存在する場合に、検索処理部303は、インデックス登録処理S406を行う。
As a result of performing the index check S403 as described above, when no entry corresponding to the search request is found, the
次に、インデックス登録処理S406の説明を行う。インデックス登録処理S406は、グループ共有の有無により動作が異なる。以下、それぞれの場合について説明する。 Next, the index registration process S406 will be described. The index registration process S406 operates differently depending on whether or not group sharing is performed. Hereinafter, each case will be described.
まず、グループ共有しない場合を説明する。
この場合、検索処理部303は、検索要求を送信したユーザのユーザサブインデックスに、検索結果を保存する。
First, a case where group sharing is not described.
In this case, the
次に、グループ共有する場合を説明する。
グループ共有データ領域から検索された検索結果を、検索処理部303は、共通サブインデックスに保存する。そして、ユーザ用データ領域から検索された検索結果を、検索処理部303は、そのユーザに対応したユーザサブインデックスに保存する。
Next, the case of group sharing will be described.
The
さらに、実施の形態3におけるデータ登録処理の説明を行う。 Further, the data registration process in the third embodiment will be described.
まず、グループ共有しない場合を説明する。
この場合、データ保管部305は、登録データをユーザ用データ領域に保存する。
First, a case where group sharing is not described.
In this case, the
次に、グループ共有する場合を説明する。
この場合、ユーザ端末201は、登録データ2301と共に登録データ2301が、グループ共有データなのかユーザ専用データなのかをデータセンター301に通知する。
データセンター301は、登録データ2301がグループ共有データの場合は共通データ領域に保存し、登録データ2301がユーザ専用データの場合はユーザデータ領域に保存する。
Next, the case of group sharing will be described.
In this case, the
When the
実施の形態3で説明しなかった部分については、実施の形態1、2と同様であるので省略する。 Since portions not described in the third embodiment are the same as those in the first and second embodiments, a description thereof will be omitted.
実施の形態3によれば、実施の形態1、2の効果を奏するのに加えて、複数ユーザ対応の秘匿検索システムは、インデックスの検索範囲を限定出来る。その為、秘匿検索システムは、インデックス検索に要する時間を低減するという効果がある。
また、秘匿検索システムは、データ保管部305の全探索の際に、検索者に関連のあるデータのみを検索対象とするため、全探索に要する時間を低減する、という効果がある。
According to the third embodiment, in addition to the effects of the first and second embodiments, the secret search system for a plurality of users can limit the search range of the index. Therefore, the secret search system has an effect of reducing the time required for index search.
In addition, since the secret search system searches only data related to the searcher when performing a full search in the
以上、実施の形態1から実施の形態3にわたり、複数キーワード対応の検索履歴を用いた秘匿検索システムを開示したが、これは、暗号化情報のキーワード検索に限らない。任意のデータに対応した検索のためのキーデータ(検索キー)であれば、本実施の形態1〜3は、応用可能なことは明らかである。すなわち、本実施の形態1〜3によれば、データを暗号化したままで複数の検索キーを用いた検索を高速に実施することができる。したがって、本実施の形態1〜3は、画像検索、動画検索、音声検索などへの応用が可能である。 As described above, the secret search system using the search history corresponding to a plurality of keywords has been disclosed from the first embodiment to the third embodiment, but this is not limited to the keyword search of the encrypted information. It is clear that the first to third embodiments can be applied to key data (search key) for search corresponding to arbitrary data. That is, according to the first to third embodiments, a search using a plurality of search keys can be performed at high speed while the data is encrypted. Therefore, the first to third embodiments can be applied to image search, video search, voice search, and the like.
既に、説明したように、本実施の形態1〜3に示す秘匿検索システム100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
As described above, the
Then, as described above, the functions indicated as “˜units” are realized using these processing devices, storage devices, input devices, and output devices.
100 秘匿検索システム、101 ネットワーク、201 ユーザ端末、202 情報・鍵格納領域、203 暗号化情報管理部、204 ユーザインターフェース、205 検索要求用クエリ生成部、206 タグ生成部、207 通信モジュール、301 データセンター、302 検索要求受信部、305 データ保管部、306 インデックス更新管理部、308 登録データ受信部、901 表示装置、902 キーボード、903 マウス、904 FDD、905 コンパクトディスク装置、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、941 ゲートウェイ、942 ローカルエリアネットワーク、2000 検索要求用キーワード、2001 検索要求、2002 検索要求用クエリ、2003 クエリ暗号化検索要求用キーワード、2004 検索要求用代表元タグ、2005 タグ暗号化検索要求用キーワード、2104 検索要求用フィールド番号、2300 登録キーワード、2301 登録データ、2302 登録暗号化情報、2303 登録キーワードタグ、2304 暗号化登録キーワード、2305 無意味な平文、2404 登録フィールド番号、3001 インデックス、3002 キーワード数別インデックス、3003 エントリ、3004 エントリ用代表元タグ、3006 エントリ用検索クエリ、3007 エントリ用暗号化情報、3105 エントリ用フィールド番号、3051 データ領域、3202 サブインデックス、4001 保管データ、4002 保管暗号化情報、4003 保管キーワードタグ。 100 Secret Search System, 101 Network, 201 User Terminal, 202 Information / Key Storage Area, 203 Encrypted Information Management Unit, 204 User Interface, 205 Search Request Query Generation Unit, 206 Tag Generation Unit, 207 Communication Module, 301 Data Center , 302 Search request reception unit, 305 Data storage unit, 306 Index update management unit, 308 Registration data reception unit, 901 Display device, 902 Keyboard, 903 Mouse, 904 FDD, 905 Compact disk device, 906 Printer device, 907 Scanner device, 910 system unit, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 magnetic disk unit, 921 operating system, 922 window System, 923 program group, 924 file group, 931 telephone, 932 facsimile machine, 941 gateway, 942 local area network, 2000 search request keyword, 2001 search request, 2002 search request query, 2003 query encryption search request keyword 2004 search request representative tag, 2005 tag encryption search request keyword, 2104 search request field number, 2300 registration keyword, 2301 registration data, 2302 registration encryption information, 2303 registration keyword tag, 2304 encryption registration keyword, 2305 meaningless plain text, 2404 registered field number, 3001 index, 3002 index by number of keywords, 3003 entry, representative for 3004 entry Tag 3006 entries for the search query, 3007 entry for encrypted information, 3105 entry for field number, 3051 data area, 3202 subindex, 4001 stored data, 4002 store encrypted information 4003 stored keyword tag.
Claims (13)
登録暗号化情報と前記登録暗号化情報に対応する1つ以上の暗号化登録キーワードを有する登録キーワードタグとを受信する登録データ受信部と、
前記インデックス記憶部に記憶された前記エントリ用検索クエリと前記登録データ受信部が受信した前記登録キーワードタグとを照合し、前記エントリ用検索クエリと前記登録キーワードタグとが対応する場合に、前記登録データ受信部が受信した前記登録暗号化情報が前記インデックス記憶部に記憶された前記エントリ用検索クエリに対応する前記登録暗号化情報であると判定して、前記インデックス記憶部において前記登録暗号化情報を前記エントリ用検索クエリに関連付けるインデックス更新管理部と、
1つ以上のクエリ暗号化検索要求用キーワードを有する検索要求用クエリを受信する検索要求受信部と、
前記検索要求受信部が受信した検索要求用クエリから前記検索要求用クエリが有する属性を検出するインデックス分類部と、
前記インデックス記憶部に記憶された前記エントリ用代表元タグと前記検索要求受信部が受信した前記検索要求用クエリとを照合し、前記エントリ用代表元タグと前記検索要求用クエリとが対応する場合で、かつ前記インデックス記憶部に記憶された前記エントリ用検索クエリが有する属性と前記インデックス分類部が検出した検索要求用クエリが有する属性とを照合し、前記エントリ用検索クエリが有する属性と前記検索要求用クエリが有する属性とが対応する場合に、前記エントリ用代表元タグに関連付けられた登録用情報を出力する検索処理部と
を備えたことを特徴とする情報検索装置。 An entry search query having one or more query encryption search request keywords, an attribute of the entry search query, and an entry representative tag having one or more encryption representative keywords are stored in association with each other. An index storage unit,
A registration data receiving unit for receiving registration encryption information and a registration keyword tag having one or more encryption registration keywords corresponding to the registration encryption information;
The entry search query stored in the index storage unit is compared with the registered keyword tag received by the registration data receiving unit, and the registration query is registered when the entry search query and the registered keyword tag correspond to each other. The registration encryption information received by the data reception unit is determined to be the registration encryption information corresponding to the search query for entry stored in the index storage unit, and the registration encryption information in the index storage unit An index update management unit associating the search query for entry with the entry query,
A search request receiving unit that receives a search request query having one or more query encrypted search request keywords;
An index classification unit that detects an attribute of the search request query from the search request query received by the search request reception unit;
When the entry representative tag stored in the index storage unit and the search request query received by the search request receiving unit are collated, and the entry representative tag and the search request query correspond to each other And the attribute of the entry search query stored in the index storage unit is matched with the attribute of the search request query detected by the index classification unit, and the attribute of the entry search query and the search if the attributes included in the request for query corresponding information retrieval apparatus characterized by comprising a search processor for outputting the registration information associated with the representative original tag the entry.
登録暗号化情報を記憶するデータ保管部
を備え、
前記登録データ受信部は、受信した登録暗号化情報を前記データ保管部に記憶し、
前記インデックス更新管理部は、前記エントリ用検索クエリと前記登録キーワードタグとが対応する場合に、前記登録キーワードタグとともに受信した登録暗号化情報であって前記データ保管部に記憶された登録暗号化情報の識別子を前記インデックス記憶部に記憶することを特徴とした請求項1又は2記載の情報検索装置。 The information retrieval device further includes a data storage unit for storing registered encryption information,
The registration data receiving unit stores the received registration encryption information in the data storage unit,
The index update management unit is registered encryption information received together with the registered keyword tag when the entry search query corresponds to the registered keyword tag and stored in the data storage unit The information retrieval apparatus according to claim 1, wherein the identifier is stored in the index storage unit.
前記検索処理部は、前記データ保管部が記憶した登録キーワードタグと前記検索要求受信部が受信した前記検索要求用クエリとを照合し、前記データ保管部が記憶した登録キーワードタグと前記検索要求用クエリとが対応する場合に前記データ保管部が記憶した登録キーワードタグに対応する登録暗号化情報もしくは前記データ保管部が記憶した登録暗号化情報の識別子を前記インデックス記憶部に記憶することを特徴とした請求項3記載の情報検索装置。 The data storage unit further stores a registered keyword tag corresponding to the registered encryption information,
The search processing unit compares the registered keyword tag stored in the data storage unit with the search request query received by the search request receiving unit, and stores the registered keyword tag stored in the data storage unit and the search request When the query corresponds, the registered encryption information corresponding to the registered keyword tag stored in the data storage unit or the identifier of the registered encryption information stored in the data storage unit is stored in the index storage unit. The information retrieval apparatus according to claim 3.
前記インデックス分類部は、前記検索要求用クエリが有する属性として前記検索要求用クエリが有するクエリ暗号化検索要求用キーワードの数を検出し、
前記インデックス更新管理部は、前記インデックス分類部が検出したクエリ暗号化検索要求用キーワードの数に応じて、該当するキーワード数別インデックスに、前記登録暗号化情報と前記エントリ用代表元タグとの関連付けを記憶することを特徴とする請求項1〜4のいずれか一項に記載の情報検索装置。 The index storage unit stores an index by number of keywords for each number of query encryption search request keywords, using the number of query encryption search request keywords as an attribute. Store one or more pairs of search queries for entries and entry representative tags with the same number of search request keywords and encrypted representative keywords,
The index classification unit detects the number of query encryption search request keywords included in the search request query as an attribute included in the search request query;
The index update management unit associates the registered encryption information and the entry representative tag with the corresponding keyword-specific index according to the number of query encryption search request keywords detected by the index classification unit. storing the information retrieval apparatus according to any one of claims 1 to 4, characterized in.
前記検索要求受信部は、クエリ暗号化検索要求用キーワードと前記クエリ暗号化検索要求用キーワードの検索要求用フィールド番号を有する検索要求用クエリを受信し、
前記インデックス分類部は、前記検索要求用クエリが有する属性として前記検索要求用クエリが有するクエリ暗号化検索要求用キーワードの検索要求用フィールド番号を一つ以上検出し、
前記インデックス更新管理部は、前記インデックス分類部が検出した一つ以上のクエリ暗号化検索要求用キーワードの検索要求用フィールド番号に対応するエントリに、前記登録暗号化情報と前記エントリ用代表元タグとの関連付けを記憶することを特徴とする請求項1〜4のいずれか一項に記載の情報検索装置。 The index storage unit stores an entry describing a correspondence relationship between a registration field number of the encryption registration keyword and a query encryption search request keyword, using the registration field number of the encryption registration keyword as an attribute, Each of which stores an entry representative tag together with the correspondence between the search request field number and the query encryption search request keyword,
The search request receiving unit receives a search request query having a query encrypted search request keyword and a search request field number of the query encrypted search request keyword,
The index classification unit detects one or more search request field numbers of a query encrypted search request keyword included in the search request query as an attribute included in the search request query;
The index update management unit includes, in an entry corresponding to a search request field number of one or more query encryption search request keywords detected by the index classification unit, the registered encryption information, the entry representative tag, the association information retrieval apparatus according to claim 1, characterized in that storing.
前記インデックス記憶部は、平文の検索要求用キーワードYがユーザ秘密鍵で暗号化されたクエリ暗号化検索要求用キーワードCYを含む前記エントリ用検索クエリを記憶し、
前記インデックス更新管理部は、前記暗号化登録キーワードCXに対応した任意の平文Zが、前記登録キーワードタグの各暗号化登録キーワードCXを前記エントリ用検索クエリの各クエリ暗号化検索要求用キーワードCYで復号処理して前記任意の平文Zが復号されるか否かにより前記登録キーワードタグと前記エントリ用検索クエリとを照合し、前記エントリ用検索クエリが含む全てのクエリ暗号化検索要求用キーワードCYで前記任意の平文Zが復号出来る場合に、前記登録キーワードタグと前記エントリ用検索クエリとが対応すると判断することを特徴とする請求項5記載の情報検索装置。 The registration data receiving unit receives a registration keyword tag including one or more encrypted registration keywords CX encrypted with a plain text registration keyword X and a public key,
The index storage unit stores the entry search query including a query encrypted search request keyword CY in which a plaintext search request keyword Y is encrypted with a user secret key,
The index update management unit is configured such that an arbitrary plaintext Z corresponding to the encrypted registration keyword CX uses each encrypted registration keyword CX of the registration keyword tag as a query encryption search request keyword CY of the entry search query. The registered keyword tag and the entry search query are collated according to whether or not the arbitrary plaintext Z is decrypted by decryption processing, and all the query encrypted search request keywords CY included in the entry search query are used. 6. The information search apparatus according to claim 5, wherein when the arbitrary plaintext Z can be decrypted, it is determined that the registered keyword tag corresponds to the entry search query.
前記インデックス記憶部は、平文の検索要求用キーワードYがユーザ秘密鍵で暗号化されたクエリ暗号化検索要求用キーワードCYと前記クエリ暗号化検索要求用キーワードCYに対応した検索要求用フィールド番号とを含む前記エントリ用検索クエリを記憶し、
前記インデックス更新管理部は、前記暗号化登録キーワードCXに対応した任意の平文Zが、前記登録キーワードタグの各暗号化登録キーワードCXを前記エントリ用検索クエリの各クエリ暗号化検索要求用キーワードCYで復号処理して前記任意の平文Zが復号されるか否かにより前記登録キーワードタグと前記エントリ用検索クエリとを照合し、かつ、
前記インデックス分類部は、前記暗号化登録キーワードCXに対応する登録フィールド番号と前記クエリ暗号化検索要求用キーワードCYに対応する検索要求用フィールド番号とを比較し、
前記インデックス更新管理部は、前記エントリ用検索クエリが含む全てのクエリ暗号化検索要求用キーワードCYで前記任意の平文Zが復号出来て、かつ、前記暗号化登録キーワードCXに対応する登録フィールド番号と前記クエリ暗号化検索要求用キーワードCYに対応する検索要求用フィールド番号とが一致する場合に、前記登録キーワードタグと前記エントリ用検索クエリとが対応すると判断することを特徴とする請求項5記載の情報検索装置。 The registration data receiving unit includes a registration keyword tag including at least one of an encrypted registration keyword CX encrypted with a plaintext registration keyword X and a public key, and a registration field number corresponding to the encrypted registration keyword CX. Receive
The index storage unit includes a query encrypted search request keyword CY in which a plaintext search request keyword Y is encrypted with a user secret key, and a search request field number corresponding to the query encrypted search request keyword CY. Storing the entry search query including:
The index update management unit is configured such that an arbitrary plaintext Z corresponding to the encrypted registration keyword CX uses each encrypted registration keyword CX of the registration keyword tag as a query encryption search request keyword CY of the entry search query. The registered keyword tag is matched with the entry search query based on whether or not the arbitrary plaintext Z is decrypted by decryption, and
The index classification unit compares a registration field number corresponding to the encrypted registration keyword CX and a search request field number corresponding to the query encrypted search request keyword CY,
The index update management unit can decrypt the arbitrary plaintext Z with all the query encrypted search request keywords CY included in the entry search query, and has a registration field number corresponding to the encrypted registration keyword CX; 6. The method according to claim 5, wherein when the search request field number corresponding to the query encrypted search request keyword CY matches, it is determined that the registered keyword tag corresponds to the entry search query. Information retrieval device.
前記インデックス記憶部は、平文の代表元用キーワードWと公開鍵とで暗号化された暗号化代表元用キーワードCWを一つ以上含むエントリ代表元タグを前記暗号化代表元用キーワードCWの数毎に関連付けられたキーワード数別インデックス毎に記憶し、
前記検索処理部は、前記暗号化代表元用キーワードCWに対応した任意の平文Zが、前記エントリ代表元タグの各暗号化代表元用キーワードCWを前記検索要求用クエリの各クエリ暗号化検索要求用キーワードCYで復号処理して前記任意の平文Zが復号されるか否かにより前記エントリ代表元タグと前記検索要求用クエリとを照合し、前記検索要求用クエリが含む全てのクエリ暗号化検索要求用キーワードCYで前記任意の平文Zが復号出来る場合に、前記登録キーワードタグと前記エントリ用検索クエリとが対応すると判断することを特徴とする請求項6記載の情報検索装置。 The registration data receiving unit receives the search request query including one or more query encrypted search request keywords CY in which the plaintext search request keyword Y is encrypted with a user secret key,
The index storage unit, in the representative source keyword W plaintext with the public key of the encrypted one or more encryption representative source keyword CW including non-picture entry representing the original tag the encrypted representative source keyword CW and stored for each keyword-specific index numbers associated with each number,
The search processing unit is configured so that an arbitrary plaintext Z corresponding to the encrypted representative keyword CW uses each encrypted representative keyword CW of the entry representative tag as each query encrypted search request of the search request query. The entry representative tag and the search request query are collated based on whether or not the arbitrary plaintext Z is decrypted by decrypting with the keyword CY, and all the query encrypted searches included in the search request query The information search apparatus according to claim 6, wherein when the arbitrary plaintext Z can be decrypted with the request keyword CY, it is determined that the registered keyword tag corresponds to the entry search query.
前記インデックス記憶部は、平文の代表元用キーワードWと公開鍵とで暗号化された暗号化代表元用キーワードCWと前記暗号化代表元用キーワードCWに対応したエントリ用フィールド番号とをそれぞれ一つ以上含むエントリ代表元タグを前記暗号化代表元用キーワードCWの数毎に関連付けられたキーワード数別インデックス毎に記憶し、
前記検索処理部は、前記暗号化代表元用キーワードCWに対応した任意の平文Zが、前記エントリ代表元タグの各暗号化代表元用キーワードCWを前記検索要求用クエリの各クエリ暗号化検索要求用キーワードCYで復号処理して前記任意の平文Zが復号されるか否かにより前記エントリ代表元タグと前記検索要求用クエリとを照合し、かつ、
前記インデックス分類部は、前記クエリ暗号化検索要求用キーワードCYに対応する検索要求用フィールド番号と前記暗号化代表元用キーワードCWに対応するエントリ用フィールド番号とを比較し、
前記検索処理部は、前記検索要求用クエリが含む全てのクエリ暗号化検索要求用キーワードCYで前記任意の平文Zが復号出来て、かつ、前記クエリ暗号化検索要求用キーワードCYに対応する検索要求用フィールド番号と前記暗号化代表元用キーワードCWに対応するエントリ用フィールド番号とが一致する場合に、前記登録キーワードタグと前記エントリ用検索クエリとが対応すると判断することを特徴とする請求項6記載の情報検索装置。 The registered data receiving unit includes a query encrypted search request keyword CY in which a plaintext search request keyword Y is encrypted with a user secret key, and a search request field number corresponding to the query encrypted search request keyword CY. Receiving the search request query including one or more of each,
The index storage unit includes one encrypted representative keyword CW encrypted with a plaintext representative keyword W and a public key, and one entry field number corresponding to the encrypted representative keyword CW. or containing non-picture entry representative based tag storage for each keyword by number index associated with each number of the encryption representative source keyword CW,
The search processing unit is configured so that an arbitrary plaintext Z corresponding to the encrypted representative keyword CW uses each encrypted representative keyword CW of the entry representative tag as each query encrypted search request of the search request query. The entry representative tag and the search request query are collated according to whether or not the arbitrary plaintext Z is decrypted by decrypting with the keyword CY, and
The index classification unit compares a search request field number corresponding to the query encrypted search request keyword CY with an entry field number corresponding to the encrypted representative source keyword CW;
The search processing unit is capable of decrypting the arbitrary plaintext Z with all the query encrypted search request keywords CY included in the search request query and corresponding to the query encrypted search request keyword CY. 7. The registration keyword tag and the entry search query are determined to correspond to each other when the entry field number matches the entry field number corresponding to the encrypted representative keyword CW. The information retrieval device described.
1つ以上のクエリ暗号化検索要求用キーワードを有するエントリ用検索クエリと前記エントリ用検索クエリが有する属性と1つ以上の暗号化代表元用キーワードを有するエントリ用代表元タグとを対応させて記憶するインデックス記憶ステップと、 An entry search query having one or more query encryption search request keywords, an attribute of the entry search query, and an entry representative tag having one or more encryption representative keywords are stored in association with each other. Index storage step to perform,
登録暗号化情報と前記登録暗号化情報に対応する1つ以上の暗号化登録キーワードを有する登録キーワードタグとを受信する登録データ受信ステップと、 A registration data receiving step of receiving registration encryption information and a registration keyword tag having one or more encryption registration keywords corresponding to the registration encryption information;
前記インデックス記憶ステップで記憶された前記エントリ用検索クエリと前記登録データ受信ステップで受信した前記登録キーワードタグとを照合し、前記エントリ用検索クエリと前記登録キーワードタグとが対応する場合に、前記登録データ受信ステップで受信した前記登録暗号化情報が前記インデックス記憶ステップで記憶された前記エントリ用検索クエリに対応する前記登録暗号化情報であると判定して、前記登録暗号化情報を前記エントリ用検索クエリに関連付けるインデックス更新管理ステップと、 The entry search query stored in the index storage step and the registration keyword tag received in the registration data reception step are collated, and the registration query is matched when the entry search query and the registration keyword tag correspond to each other. It is determined that the registered encrypted information received in the data receiving step is the registered encrypted information corresponding to the entry search query stored in the index storing step, and the registered encrypted information is searched for the entry. An index update management step to associate with the query;
1つ以上のクエリ暗号化検索要求用キーワードを有する検索要求用クエリを受信する検索要求受信ステップと、 A search request receiving step of receiving a search request query having one or more query encrypted search request keywords;
前記検索要求受信ステップで受信した検索要求用クエリから前記検索要求用クエリが有する属性を検出するインデックス分類ステップと、 An index classification step of detecting an attribute of the search request query from the search request query received in the search request receiving step;
前記インデックス記憶ステップで記憶された前記エントリ用代表元タグと前記検索要求受信ステップで受信した前記検索要求用クエリとを照合し、前記エントリ用代表元タグと前記検索要求用クエリとが対応する場合で、かつ前記インデックス記憶ステップで記憶された前記エントリ用検索クエリが有する属性と前記インデックス分類ステップで検出した検索要求用クエリが有する属性とを照合し、前記エントリ用検索クエリが有する属性と前記検索要求用クエリが有する属性とが対応する場合に、前記エントリ用代表元タグに関連付けられた登録用情報を出力する検索処理ステップと When the entry representative tag stored in the index storing step and the search request query received in the search request receiving step are collated, and the entry representative tag corresponds to the search request query And the attribute of the search query for entry stored in the index storage step and the attribute of the query for search request detected in the index classification step are collated, and the attribute of the search query for entry and the search A search processing step of outputting registration information associated with the entry representative tag when the attribute of the request query corresponds;
を実行させるためのプログラム。A program for running
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010227906A JP5557683B2 (en) | 2010-10-07 | 2010-10-07 | Information search apparatus and information search method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010227906A JP5557683B2 (en) | 2010-10-07 | 2010-10-07 | Information search apparatus and information search method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012083863A JP2012083863A (en) | 2012-04-26 |
JP5557683B2 true JP5557683B2 (en) | 2014-07-23 |
Family
ID=46242682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010227906A Active JP5557683B2 (en) | 2010-10-07 | 2010-10-07 | Information search apparatus and information search method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5557683B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2808803B1 (en) | 2012-01-25 | 2017-03-01 | Mitsubishi Electric Corporation | Data search device, data search method, data search program, data registration device, data registration method, data registration program and information processing device |
JP5963936B2 (en) * | 2013-02-25 | 2016-08-03 | 三菱電機株式会社 | Server device, secret search program, recording medium, and secret search system |
JP6208586B2 (en) * | 2014-01-16 | 2017-10-04 | 株式会社日立製作所 | Searchable cryptographic processing system and searchable cryptographic processing method |
WO2017138122A1 (en) * | 2016-02-10 | 2017-08-17 | 株式会社日立製作所 | Encrypted information search method, encrypted information search system, and encrypted information search program |
JP6351890B1 (en) * | 2017-05-18 | 2018-07-04 | 三菱電機株式会社 | Search device, secret search system, and search program |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2682448B2 (en) * | 1994-05-23 | 1997-11-26 | 日本電気株式会社 | Index search method |
JP3457184B2 (en) * | 1998-06-25 | 2003-10-14 | シャープ株式会社 | Search device and medium storing control program therefor |
JP4837362B2 (en) * | 2005-10-31 | 2011-12-14 | 株式会社エヌ・ティ・ティ・データ | Data search system, information processing apparatus, data search method, and program. |
CN101593196B (en) * | 2008-05-30 | 2013-09-25 | 日电(中国)有限公司 | Method, device and system for rapidly searching ciphertext |
CN101739400B (en) * | 2008-11-11 | 2014-08-13 | 日电(中国)有限公司 | Method and device for generating indexes and retrieval method and device |
CN101770462A (en) * | 2008-12-30 | 2010-07-07 | 日电(中国)有限公司 | Device for ciphertext index and search and method thereof |
JP5274271B2 (en) * | 2009-01-16 | 2013-08-28 | 三菱電機株式会社 | SEARCH SYSTEM, INDEX ENCRYPTION DEVICE, SEARCH ENCRYPTION DEVICE, SEARCH DEVICE, COMPUTER PROGRAM, AND SEARCH METHOD |
-
2010
- 2010-10-07 JP JP2010227906A patent/JP5557683B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012083863A (en) | 2012-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10498706B2 (en) | Searchable encryption enabling encrypted search based on document type | |
US10235539B2 (en) | Server device, recording medium, and concealed search system | |
JP5606642B2 (en) | Data search device, data search method, data search program, data registration device, data registration method, data registration program, and information processing device | |
EP3803668A1 (en) | Obfuscating information related to personally identifiable information (pii) | |
US9600677B2 (en) | Database apparatus, method, and program | |
US20120036365A1 (en) | Combining request-dependent metadata with media content | |
US20080016372A1 (en) | Method, apparatus, and program product for revealing redacted information | |
US10872158B2 (en) | Secret search system, secret search method, and computer readable medium | |
US10902063B2 (en) | Wildcard search in encrypted text | |
CN109766707B (en) | Data processing method, device, equipment and medium based on block chain | |
JP5557683B2 (en) | Information search apparatus and information search method | |
US8510860B2 (en) | Local storage of information pedigrees | |
RU2373572C2 (en) | System and method for resolution of names | |
JP2015041319A (en) | Data management device, data management method, and program | |
Ananthi et al. | FSS-SDD: fuzzy-based semantic search for secure data discovery from outsourced cloud data | |
US11442922B2 (en) | Data management method, data management apparatus, and non-transitory computer readable medium | |
WO2020140616A1 (en) | Data encryption method and related device | |
JP2000029751A (en) | Log managing method/device | |
JP2018018420A (en) | Information processing device and information processing program | |
US8005849B2 (en) | Database access server with reformatting | |
WO2015107561A1 (en) | Search system, search method, and search program | |
US11106740B2 (en) | Search device, search system, search method, and computer readable medium | |
JP2018022218A (en) | Information processing apparatus and information processing program | |
US20080104682A1 (en) | Secure Content Routing | |
US20140320905A1 (en) | Data managing system, image processing apparatus, image restoring apparatus, storage medium, and data managing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130802 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140411 |
|
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: 20140507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140603 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5557683 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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |