JP2013145420A - High-speed similarity retrieval processing system of encrypted data - Google Patents
High-speed similarity retrieval processing system of encrypted data Download PDFInfo
- Publication number
- JP2013145420A JP2013145420A JP2012004631A JP2012004631A JP2013145420A JP 2013145420 A JP2013145420 A JP 2013145420A JP 2012004631 A JP2012004631 A JP 2012004631A JP 2012004631 A JP2012004631 A JP 2012004631A JP 2013145420 A JP2013145420 A JP 2013145420A
- Authority
- JP
- Japan
- Prior art keywords
- encryption
- unit
- search
- management server
- plaintext
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、サーバが格納する暗号化データを復号せずに、サーバに暗号化データの高速な類似検索を委託可能な検索処理システムに関する。 The present invention relates to a search processing system that can entrust high-speed similarity search of encrypted data to a server without decrypting the encrypted data stored in the server.
近年、バイオインフォマティクス分野では、分析装置の普及などに伴い、ゲノム解析が飛躍的に進展している。その解析において、ある断片的なゲノム情報が、蓄積されたゲノムデータのどの部分に類似しているかを判定することが必要だが、そのための標準的なアルゴリズムがある。しかし、大容量のゲノムデータを保管し、判定処理を実行するには多大な計算リソースが必要なため、クラウド上での類似検索サービスが提供されることが望まれている。 In recent years, in the bioinformatics field, genome analysis has progressed dramatically with the spread of analyzers. In the analysis, it is necessary to determine to which part of the accumulated genome data a certain piece of genomic information is similar, but there are standard algorithms for that purpose. However, a large amount of computational resources are required to store a large amount of genome data and execute the determination process, and therefore it is desired to provide a similar search service on the cloud.
一方、クラウドシステムにおいては、情報システムを管理する組織が、情報システムを利用する組織とは異なるため、情報漏えいの防止策や、事故発生後の原因究明、再発防止策等が自組織だけでは立てにくい。そのため、事前に、データの不正流出の予防策として、暗号技術を活用し、データの機密性を確保する必要がある。 On the other hand, in the cloud system, the organization that manages the information system is different from the organization that uses the information system. Therefore, measures to prevent information leakage, investigation of the cause after the occurrence of an accident, measures to prevent recurrence, etc. can be established only by the organization itself. Hateful. Therefore, it is necessary to ensure the confidentiality of data in advance by using encryption technology as a preventive measure against illegal data leakage.
そこで、クラウドシステムに暗号化したデータを預託し、クラウドシステムにデータを暗号化したまま検索させる、暗号技術が研究されている。例えば、非特許文献1や非特許文献2には、復号せずに暗号化データを検索する検索処理方式が記載されている。
Therefore, research has been conducted on encryption technology that deposits encrypted data in a cloud system and allows the cloud system to search the data while it is encrypted. For example, Non-Patent
非特許文献1は、共通鍵暗号をベースとしており、高速であるが、完全一致検索のみが可能であり、類似検索ができない。例えば、データ「abcd」を検索する場合、その部分文字列である「ab」を検索リードでは、「abcd」を検索できない。一方、非特許文献2の技術は、部分一致検索が可能であるものの、演算処理の重い合成数位数の双線形群によるペアリングを用いるため、低速である。そのため、検索キーワードと被検索データを共に暗号化しながら、それらの類似性を高速に解析する処理方式が必要とされている。
Non-Patent
前記課題を解決するために、本発明は、データの暗号化処理と復号処理に関するプログラムを記憶部に格納する検索エージェントと、暗号化データの一致検索処理に関するプログラムを記憶部に格納する管理サーバが、ネットワーク経由で連携する検索処理システムであって、検索エージェントは、非特許文献1や非特許文献2などのデータの暗号化と復号を実現するプログラムを記憶部に格納し、管理サーバは非特許文献1や非特許文献2などの暗号化データの一致検索を実現するプログラムを記憶部に格納し、検索エージェントは記憶部に格納された平文リファレンスを、ブロック単位に分割したデータを暗号化して1次暗号化リファレンスと2次暗号化リファレンスを作成し、また検索エージェントは記憶部に格納された検索エージェントは記憶部に格納された平文リードを、ブロック単位に分割したデータを暗号化して1次暗号化リードと2次暗号化リードを作成し、管理サーバによる1次暗号化リファレンスと1次暗号化リードの検索結果と、管理サーバによる2次暗号化リファレンスと2次暗号化リードの検索結果の是非による得点に従い、得点の高い2次暗号化リファレンスが2次暗号化リードと類似している、と判定する。
In order to solve the above-described problems, the present invention provides a search agent that stores a program related to data encryption processing and decryption processing in a storage unit, and a management server that stores a program related to encrypted data match search processing in the storage unit. A search processing system that cooperates via a network, the search agent stores a program for realizing encryption and decryption of data such as Non-Patent
検索エージェントは、検索キーワードと被検索データを共に暗号化したまま、検索キーワードに類似した、被検索データを管理サーバに検知させる処理を高速に行うことができる。 The search agent can perform a process of causing the management server to detect the searched data similar to the search keyword while encrypting both the search keyword and the searched data.
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態において、同一の部材には原則として同一の符号を付け、繰り返しの説明は省略する。
(実施の形態1)
図1は、本発明の第一の実施の形態である検索処理システムの概略図である。図示するように、検索処理システムは、検索エージェント200と、管理サーバ300と、を備え、検索エージェント200と管理サーバ300は、ネットワーク100を介して相互に情報を送受信できるように設計されている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that, in the embodiment, the same members are, in principle, given the same reference numerals, and repeated description is omitted.
(Embodiment 1)
FIG. 1 is a schematic diagram of a search processing system according to the first embodiment of the present invention. As shown in the figure, the search processing system includes a
本実施形態における検索エージェント200は、データと検索用のリファレンス(以下、リファレンスと呼ぶ)を管理サーバ300に送信し、受信結果を管理サーバ300から受信する送受信装置として機能し、かつ検索処理委託用のリード(以下、リードと呼ぶ)を管理サーバ300に送信し、その検索結果を管理サーバ300から受信する送受信装置として機能し、管理サーバ300は、リファレンスを記憶し、また受信したリードを用いて、リファレンスを検索する送受信装置として機能する。
The
<図2>
図2は、検索エージェント200の機能概略図である。図示するように、登録エージェント200は、制御部210と、記憶部220と、入力部201と、出力部202と、通信部203と、を備える。
<Figure 2>
FIG. 2 is a functional schematic diagram of the
記憶部220は、データ記憶部230と、プログラム記憶部260と、一時情報記憶部280と、を備える。
The
データ記憶部230には、管理サーバ300に送信するデータである、暗号化前のリファレンス(以下、平文リファレンス231と呼ぶ)に関する情報が記憶される。本実施形態においては、入力部201を介して、受け付けた平文リファレンス231に関する情報と、検索処理に用いる暗号化前のリード(以下、平文リード233)に関する情報と、管理サーバ300に(暗号化後に)登録する、平文リファレンス231に関する情報と、公開パラメータ237に関する情報が記憶される。また、リファレンス暗号化部213が出力する1次暗号化リファレンスと2次暗号化リファレンスに関する情報と、リード暗号化部217が出力する1次暗号化リードと2次暗号化リードに関する情報も記憶される。また、安全性の観点から登録エージェント200が秘密に管理すべき、秘密鍵251に関する情報も記憶される。
The
プログラム記憶部260には、鍵生成、暗号化、復号などの暗号処理全般を含めた、1次暗号化リファレンスと2次暗号化リファレンスの登録処理に関するプログラムと、1次暗号化リードと2次暗号化リードによる検索処理に関するプログラムが記憶されている。1次暗号化リファレンスと2次暗号化リファレンスの登録処理については、図5を用い、後で詳しく報告する。また、1次暗号化リードによる2次暗号化リファレンスの検索処理については、図8を用い、後で詳しく報告する。2次暗号化リードによる2次暗号化リファレンスの検索処理については、図9を用い、後で詳しく報告する。
The
一時情報記憶部280には、制御部210などの処理に必要な情報が記憶される。
The temporary
制御部210は、全体処理部211と、鍵生成部212と、リファレンス暗号化部213と、リファレンス復号部215と、リード暗号化部217と、を備える。
The
全体処理部211は、プログラム記憶部260から、1次暗号化リファレンスと2次暗号化リファレンスの登録処理に関するプログラムをロードし、検索エージェント200における各モジュール間の制御を行い、さらに簡単な演算処理を実施する。
The overall processing unit 211 loads a program related to the registration processing of the primary encryption reference and the secondary encryption reference from the
例えば、全体処理部211は、入力部201を介して、入力を受け付けた情報を、データ記憶部230に、平文リファレンス231として、記憶する処理を行う。また、本実施形態において、全体処理部211は、平文リファレンス231を、出力部202に表示する処理を行う。
For example, the overall processing unit 211 performs processing for storing the information received through the input unit 201 as the
また、本実施形態において、全体処理部211は、データ記憶部230に記憶した平文リファレンス231を読み込み、リファレンス暗号化部213に入力し、出力されたデータを、データ記憶部230に、1次暗号化リファレンスまたは2次暗号化リファレンスとして、記憶する処理を行う。
In this embodiment, the overall processing unit 211 reads the
また、本実施形態において、全体処理部211は、データ記憶部230に記憶した平文リード233を読み込み、リード暗号化部217に入力し、出力されたデータを、データ記憶部230に、1次暗号化リードまたは2次暗号化リードとして、記憶する処理を行う。
Further, in this embodiment, the overall processing unit 211 reads the plaintext read 233 stored in the
また、本実施形態において、全体処理部211は、1次暗号化リファレンス、2次暗号化リファレンス、1次暗号化リード、2次暗号化リードを、通信部203を介して、管理サーバ300に送信し、受信結果を管理サーバ300から受信する処理を行う。
In this embodiment, the overall processing unit 211 transmits the primary encryption reference, the secondary encryption reference, the primary encryption read, and the secondary encryption lead to the
また、本実施形態において、全体処理部211は、1次暗号化リードと2次暗号化リードを、通信部203を介して、管理サーバ300に送信し、2次暗号化リファレンスの検索結果を管理サーバ300から受信する処理を行う。
In this embodiment, the overall processing unit 211 transmits the primary encryption lead and the secondary encryption lead to the
さらに、本実施形態において、全体処理部211は、管理サーバ300より、通信部203を介して受信した、2次暗号化リファレンスを一時情報記憶部280に記憶する処理と、出力部202に表示する処理を行う。
Further, in the present embodiment, the overall processing unit 211 stores the secondary encryption reference received from the
鍵生成部212は、秘密鍵251と公開パラメータ237を生成する処理を行う。例えば、本実施形態において、全体処理部211が公開パラメータ237を入力し、鍵生成部212が秘密鍵251を出力する処理を行う。なお、全体処理部211は公開パラメータ237の一部として記憶された公開パラメータ237をロードしてもよいし、入力部201を経由して鍵生成部212に入力してもよい。
The key generation unit 212 performs processing for generating the
秘密鍵251の実現方法については、各暗号方式の鍵生成アルゴリズム(AES暗号、DES暗号、検索可能暗号など)の実装により、実現可能であるため、その詳細な説明は省く。
The method for realizing the
リファレンス暗号化部213(と、検索エージェント200のリード暗号化部217)が用いる、秘密鍵251と公開パラメータ237の実現方法については、各暗号方式の鍵生成方法(検索可能暗号など)の実装により、実現可能であるため、その詳細な説明は省く。
The method of realizing the
リファレンス暗号化部213は、全体処理部211と連携し、平文リファレンス231を暗号化する処理を行う。平文リファレンス231とは、文字、数字、記号から構成されるディジタルデータである。図6(a)は、DNAの塩基配列を意味する文字(A:アデニン、G:グアニン、C:シトシン、T:チミン)から構成されるディジタルデータである、平文リファレンス231を例示したものである。
The
リード暗号化部217は、全体処理部211と連携し、平文リード233を暗号化する処理を行う。平文リード233は、平文リファレンス231と同様に、文字、数字、記号から構成されるディジタルデータである。
The read encryption unit 217 cooperates with the overall processing unit 211 to perform processing for encrypting the
本実施形態においては、全体処理部211が平文リファレンス231と秘密鍵251をリファレンス暗号化部213に入力し、リファレンス暗号化部213は1次暗号化リファレンスと2次暗号化リファレンスを出力する処理を行う。1次暗号化リファレンスの作成方法については、図8を用い、後で詳しく説明する。2次暗号化リファレンスの作成方法については、図9を用い、後で詳しく説明する。
In this embodiment, the overall processing unit 211 inputs the
本実施形態において、全体処理部211が平文リード233と秘密鍵251をリード暗号化部217に入力し、リード暗号化部217は1次暗号化リードと2次暗号化リードを出力する処理を行う。1次暗号化リードの作成方法については、図10を用い、後で詳しく説明する。2次暗号化リードの作成方法については、図11を用い、後で詳しく説明する。
In this embodiment, the overall processing unit 211 inputs the
<図3>
図3は、管理サーバ300の機能概略図である。図示するように、管理サーバ300は、制御部310と、記憶部320と、入力部301と、出力部302と、通信部303と、を備える。
<Figure 3>
FIG. 3 is a functional schematic diagram of the
記憶部320は、プログラム記憶部360と、データ記憶部330と、一時情報記憶部380と、を備える。
The
データ記憶部330には、通信部303を介して、登録エージェント200から受信したデータに関する情報が、記憶される。本実施形態において、通信部303を介して、受信した1次暗号化リファレンス331と2次暗号化リファレンス332に関する情報が記憶される。また、公開パラメータ337に関する情報が記憶される。また、通信部303を介して、検索エージェント200から受信したデータに関する情報が、記憶される。本実施形態において、通信部303を介して、受信した1次暗号化リードと2次暗号化リードに関する情報が一時的に記憶される。
Information relating to data received from the
プログラム記憶部360には、2次暗号化リファレンス332の検索処理に関するプログラムが記憶されている。2次暗号化リファレンス332の検索処理については、図10と図12を用い、後で詳しく報告する。
The
一時情報記憶部380には、制御部310での処理で必要となる情報が記憶される。
The temporary
制御部310は、全体処理部311と、検索部312と、を備える。
The
全体処理部311は、プログラム記憶部360から、2次暗号化リファレンス332の検索処理に関するプログラムをロードし、管理サーバ300における各モジュール間の制御を行い、さらに簡単な演算処理を実施する。
The overall processing unit 311 loads a program related to the search processing of the
例えば、全体処理部311は、通信部303を介して、1次暗号化リファレンス331、2次暗号化リファレンス332、1次暗号化リード、2次暗号化リードを、登録エージェント200から受信し、データ記憶部330に、記憶する処理を行う。1次暗号化リファレンス331と2次暗号化リファレンス332の保管方法については、図6(a)と図6(b)を用い、後で詳しく報告する。
For example, the overall processing unit 311 receives the
また、本実施形態において、全体処理部311は、通信部303を介して、1次暗号化リードと2次暗号化リードを、検索エージェント200から受信し、データ記憶部330に、記憶する処理を行う。
In the present embodiment, the overall processing unit 311 receives the primary encryption lead and the secondary encryption lead from the
また、本実施形態において、全体処理部311は、1次暗号化リードと1次暗号化リファレンス331を検索部312に入力し、または2次暗号化リードと2次暗号化リファレンス332を検索部312に入力し、検索部312が出力したデータを、受け取る処理を行う。
In the present embodiment, the overall processing unit 311 inputs the primary encryption lead and the
さらに、全体処理部311は、検索エージェント200または登録エージェント200より、通信部303を介して受信したデータに関する情報を、一時情報記憶部380に記憶する処理と、出力部302に表示する処理を行う。
Furthermore, the overall processing unit 311 performs processing for storing information related to data received from the
<図4>
以上に示した検索エージェント200、管理サーバ300は、例えば、図4(コンピュータの概略図)に示すような、CPU501と、メモリ502と、HDD等の外部記憶装置503と、CDやDVD等の可搬性を有する記憶媒体508に対して情報を読み書きする読書装置507と、キーボードやマウス等の入力装置506と、ディスプレイ等の出力装置505と、通信ネットワークに接続するためのNIC等の通信装置504と、これらを連結するシステムバス等の内部通信線(システムバスという)と、を備えた一般的なコンピュータで実現できる。
<Figure 4>
The
例えば、記憶部220、320は、CPU501がメモリ502または外部記憶装置503を利用することにより実現可能であり、制御部210、310に含まれる各処理部は、外部記憶装置503に記憶されている所定のプログラムをメモリ502にロードしてCPU501で実行することで実現可能であり、入力部201、301は、CPU501が入力装置506を利用することで実現可能であり、出力部202、302は、CPU501が出力装置505を利用することで実現可能であり、通信部203、303は、CPU501が通信装置504を利用することで実現可能である。
For example, the
この所定のプログラムは、読書装置507を介して記憶媒体508から、あるいは、通信装置504を介してネットワーク100から、外部記憶装置503に記憶(ダウンロード)され、それから、メモリ502上にロードされて、CPU501により実行されるようにしてもよい。また、読書装置507を介して、記憶媒体508から、あるいは通信装置504を介してネットワーク100から、メモリ502上に直接ロードされ、CPU501により実行されるようにしてもよい。
The predetermined program is stored (downloaded) in the
<図5:1次暗号化リファレンス331と2次暗号化リファレンス332の登録処理>
図5は、本実施形態において、ネットワーク100を経由し、検索エージェント200が送信した1次暗号化リファレンスと2次暗号化リファレンスを、管理サーバ300が、記憶部320へ登録する処理を示すシーケンス図である。
<FIG. 5: Registration Process of
FIG. 5 is a sequence diagram illustrating processing in which the
検索エージェント200の全体処理部211は、平文リファレンス231をロードし、リファレンス暗号化部213へ入力する(S601)。
The entire processing unit 211 of the
検索エージェント200のリファレンス暗号化部213は、記憶部220に格納された秘密鍵251と公開パラメータ237をロードし、平文リファレンス231を1次暗号化リファレンスと2次暗号化リファレンスに変換する。なお、変換方法については、図8と図9を用い、後で詳しく説明する(S602)。
The
検索エージェント200の通信部203は、リファレンス暗号化部213より出力された1次暗号化リファレンスと2次暗号化リファレンスを、ネットワーク100を経由し、管理サーバ300へ送信する処理を行う(S603)。
The communication unit 203 of the
管理サーバ300の通信部303から、ネットワーク100を経由し、登録エージェント200が送信した1次暗号化リファレンスと2次暗号化リファレンスを受信する処理を行う(S604)。
A process of receiving the primary encryption reference and the secondary encryption reference transmitted by the
管理サーバ300の全体処理部311は、1次暗号化リファレンス331と2次暗号化リファレンス332を記憶部320へ格納する(S605)。
管理サーバ300は、1次暗号化リファレンス331と2次暗号化リファレンス332の記憶部320への格納処理を終えた場合、「登録成功」とし、通信部303から、ネットワーク100を経由し、「登録成功」を示すデータを検索エージェント200へ送信する処理を行う。また、記憶量の制限等を理由に、格納処理が終了できなかった場合、「登録失敗」とし、通信部303から、ネットワーク100を経由し、「登録失敗」を示すデータを検索エージェント200へ送信する処理を行う(S606)。
The overall processing unit 311 of the
When the
検索エージェント200の通信部203から、ネットワーク100を経由し、管理サーバ300が送信した「登録成功」または「登録失敗」を示すデータを受信する処理を行う(S607)。
A process of receiving data indicating “registration success” or “registration failure” transmitted from the
上記の処理(S601からS607)により、検索エージェント200は、ネットワーク100経由で、管理サーバ300に平文リファレンス231を暗号化し、管理サーバ300のの記憶部320への格納を指示し、その処理結果を確認できる。
Through the above processing (S601 to S607), the
なお、上記の処理手順は、固定されたものではなく、処理手順を変更して実施してもかまわない。例えば、検索エージェント200は、1次暗号化リファレンスを作成、送信後に、2次暗号化リファレンス332を作成、送信するようにS602とS603を変更してもよい。また、管理サーバ300も、1次暗号化リファレンスと2次暗号化リファレンスの受信、記憶処理を個別に実施してもよい。同様に、他の処理内容を変更してもよい。
Note that the above processing procedure is not fixed, and the processing procedure may be changed. For example, the
<図6:平文リファレンス231と1次暗号化リファレンス331と2次暗号化リファレンス332>
図6(a)は、検索エージェント200の記憶部220内のデータ記憶部230における平文リファレンス231を例示している。図6(a)の例では、平文リファレンス231は1文字毎に分割可能なアルファベットや記号(終端文字など)による、m文字のデータ(バイトコードなどで表現)として表現されている。
<FIG. 6:
FIG. 6A illustrates the
図6(b)は、管理サーバ300の記憶部320内のデータ記憶部330における1次暗号化リファレンス331と2次暗号化リファレンス332を例示している。図6(b)の例では、1次暗号化リファレンス331は一定数の文字列毎(11文字毎など)に平文リファレンス231が暗号化されている。図6(a)の例を用いると、 B1ブロックはGCTATACTGCTの11文字の文字列からなり、これを暗号化したEs(B1)が1つの暗号文として保存されている。同様に、B2ブロックは、B1ブロックを1文字ずらしたCTATACTGCTAの文字列からなり、これを暗号化したEs(B2)がEs(B1)と同様に保存されている。また、2次暗号化リファレンス332はある暗号化されたインデックスと平文リファレンス231の一文字を連結し、これが暗号化して保存されている。同様に、他の文字列も暗号化され、(m-10)個の暗号文から、1次暗号化リファレンス331は構成される。図6(b)の例では、インデックス1が暗号化されたE(1)と平文リファレンス231の一文字目であるGが(G||E(1))として連結され(ただし、||はデータの連結を意味する)、これを暗号化したEs(G||E(1))が一つの暗号文として保存されている。同様に、インデックス2が暗号化されたE(2)と平文リファレンス231の一文字目であるCが(C||E(2))として連結され、これを暗号化したEs(C||E(2))が、Es(G||E(1))と同様に保存されている。同様に、他の文字も暗号化され、m個の暗号文から、2次暗号化リファレンス332は構成される。
FIG. 6B illustrates the
<図7と図13:1次暗号化リファレンスと2次暗号化リファレンスの検索処理>
図7は、本実施形態において、ネットワーク100を経由し、検索エージェント200が送信した暗号化リードを用い、管理サーバ300が、記憶部320へ登録された1次暗号化リファレンス331と2次暗号化リファレンス332から、暗号化リードに関連する部分的な2次暗号化リファレンスを発見する処理を示すシーケンス図である。
<FIGS. 7 and 13: Search processing of primary encryption reference and secondary encryption reference>
FIG. 7 shows that in this embodiment, the
検索エージェント200の全体処理部211は、平文リード233をロードし、リード暗号化部217へ入力する(S801)。
The entire processing unit 211 of the
検索エージェント200のリード暗号化部217は、記憶部220に格納された秘密鍵251と公開パラメータ237をロードし、平文リード233を1次暗号化リード213に変換する。なお、変換方法については、S1101からS1108の各処理で詳しく説明する(S802)。
The read encryption unit 217 of the
検索エージェント200の通信部203は、リード暗号化部217より出力された1次暗号化リードを、ネットワーク100を経由し、管理サーバ300へ送信する処理を行う(S803)。
The communication unit 203 of the
管理サーバ300の通信部303から、ネットワーク100を経由し、登録エージェント200が送信した1次暗号化リードを受信する処理を行う(S804)。
From the communication unit 303 of the
管理サーバ300の全体処理部311は、記憶部320へ格納された2次暗号化リファレンス332から、1次暗号化リードに該当する、2次暗号化リファレンス332の部分データを抽出する。この抽出にあたっては、図10を用い、後で詳しく報告する(S805)。
The overall processing unit 311 of the
管理サーバ300は、通信部303から、ネットワーク100を経由し、抽出した2次暗号化リファレンス332の部分データを検索エージェント200へ送信する処理を行う(S806)。
The
検索エージェント200は、通信部203から、ネットワーク100を経由し、管理サーバ300が送信した2次暗号化リファレンスの部分データを受信する処理を行う(S807)。
The
検索エージェント200は、記憶部220に格納された秘密鍵251と公開パラメータ237をロードし、リファレンス復号部215を用い、2次暗号化リファレンスの部分データを、平文リファレンスの部分データに復号する(S808)。
The
検索エージェント200は、平文リファレンスの部分データを用い、リード暗号化部217は、2次暗号化リード213を作成する。なお、2次暗号化リードの作成方法については、図11を用い、後で詳しく説明する(S809)。
The
検索エージェント200の通信部203は、リード暗号化部217より出力された2次暗号化リードを、ネットワーク100を経由し、管理サーバ300へ送信する処理を行う(S810)。
The communication unit 203 of the
管理サーバ300の通信部303から、ネットワーク100を経由し、登録エージェント200が送信した1次暗号化リードを受信する処理を行う(S811)。
From the communication unit 303 of the
管理サーバ300の全体処理部311は、記憶部320へ格納された2次暗号化リファレンス332から、2次暗号化リードに該当する、2次暗号化リファレンス332の部分データを抽出する。この抽出にあたっては、図12を用い、後で詳しく報告する(S812)
管理サーバ300は、通信部303から、ネットワーク100を経由し、抽出した2次暗号化リファレンスの部分データを検索エージェント200へ送信する処理を行う(S813)。
The overall processing unit 311 of the
The
検索エージェント200は、通信部203から、ネットワーク100を経由し、管理サーバ300が送信した2次暗号化リファレンスの部分データを受信する処理を行う(S814)。
The
検索エージェント200の全体処理部211は、記憶部220に格納された秘密鍵251と公開パラメータ237をロードし、リファレンス復号部215を用い、2次暗号化リファレンスの部分データを、平文リファレンス231の部分データに復号する(S815)。
The entire processing unit 211 of the
検索エージェント200の全体処理部211は、平文リファレンスの部分データと平文リード233のエディット距離が最も近くなるよう、平文リファレンスの部分データを変更する(S816)。
The entire processing unit 211 of the
上記の処理(S801からS816)により、検索エージェント200は、ネットワーク100経由で、管理サーバ300の記憶部320へ登録された1次暗号化リファレンス331と2次暗号化リファレンスから、1次暗号化リードと2次暗号化リードに類似した2次暗号化リファレンスの部分データを発見できる。
Through the above processing (S801 to S816), the
図13に、検索エージェント200の全体処理部211が出力部に表示した検索結果を例示する。1行目の合致率とは、2次暗号化クエリと2次暗号化リファレンスの検索結果が同じである割合を指す。2行目の得点については、図14を用い、後で詳しく説明する。3行目以降に、類似する2次暗号化クエリと2次暗号化リファレンスを復号した結果を表示している。
FIG. 13 illustrates search results displayed on the output unit by the overall processing unit 211 of the
なお、上記の処理手順は、固定されたものではなく、処理手順や処理内容を変更して実施してもかまわない。例えば、検索エージェント200は、1次暗号化リードと、2次暗号化リードを作成(S808)後、1次暗号化リードの送信(S804)、2次暗号化リードの送信(S808)を実行してもよい。同様に、他の処理内容を変更してもよい。
Note that the above processing procedure is not fixed, and the processing procedure and processing content may be changed and executed. For example, the
<図8:1次暗号化リファレンスの作成処理>
図8は、本実施形態の(S602)において、検索エージェント200が、平文リファレンスを1次暗号化リファレンスに変換する処理を示すシーケンス図である。
<Figure 8: Primary encryption reference creation process>
FIG. 8 is a sequence diagram illustrating processing in which the
検索エージェント200の全体処理部211は、リファレンス暗号化部213に、ロードした秘密鍵251と公開パラメータ237と、平文リファレンスを入力する(S901)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、リファレンスの分割単位を意味するブロック長wを設定する(S902)。(図6(b)の例では、1次暗号化リファレンスのブロック長wは11文字である。)
検索エージェント200の全体処理部211は、インデックスiの値を初期値1に設定(i←1)し、また終了値を設定する(S903)。以降は、図6(b)の例に倣い、終了値は文字数mが設定されるものとする。
The overall processing unit 211 of the
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、平文リファレンスにおけるi番目の文字からw+(i-1)番目の文字を抜き出し、これをブロックBiとして、リファレンス暗号化部213へ入力する(従って、1ブロックはw個の文字列からなる)(S904)。
The overall processing unit 211 of the
検索エージェント200のリファレンス暗号化部213は、ブロックBiを暗号化し、暗号文Es(Bi)を作成する(S905)。
The
検索エージェント200の全体処理部211は、インデックスiを1つインクリメントする(i←i+1)(S906)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスiが終了値を超えているかを判定する(i>m?)(S907)。越えていない場合は、S904へ戻る。越えている場合は、S908へ進む。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、S905において、逐次的に作成したEs(B1)からEs(Bm)を、1次暗号化リファレンスとして、記憶部220へ格納する(S908)。
The entire processing unit 211 of the
上記の処理(S901からS908)により、検索エージェント200は、平文リファレンスをワード長毎に分割し、これをリファレンス暗号化部により暗号化した、1次暗号化リファレンス331を作成できる。
Through the above processing (S901 to S908), the
なお、上記の処理手順は、固定されたものではなく、処理手順や処理内容を変更して実施してもかまわない。例えば、検索エージェント200は、複数のブロックを抜き出し(S904)、それらを暗号化し(S905)、インクリメントする数を増やしてもよい(S906)。同様に、他の処理内容を変更してもよい。
Note that the above processing procedure is not fixed, and the processing procedure and processing content may be changed and executed. For example, the
<図9:2次暗号化リファレンスの作成処理>
図9は、本実施形態の(S602)において、検索エージェント200が、平文リファレンスを2次暗号化リファレンスに変換する処理を示すシーケンス図である。
<Figure 9: Processing for creating secondary encryption reference>
FIG. 9 is a sequence diagram illustrating processing in which the
検索エージェント200のリファレンス暗号化部213に、全体処理部211によってロードされた秘密鍵251と公開パラメータ237と、平文リファレンスが入力される(S1001)。
The
検索エージェント200の全体処理部211は、リファレンスの分割単位を意味するブロック長wを設定する(S1002)。(図6(b)の例では、2次暗号化リファレンスのブロック長wは1文字である。)
検索エージェント200の全体処理部211は、インデックスiの値を初期値1に設定(i←1)し、また終了値を設定する(S1003)。以降は、図6(b)の例に倣い、終了値は文字数mが設定されるものとする。
The overall processing unit 211 of the
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスiを暗号化し、暗号文E(i)を作成する(S1004)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、平文リファレンスにおけるi番目の文字からw+(i-1)番目の文字を抜き出し、これをブロックCiとする(従って、1ブロックはw個の文字列からなる)(S1005)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、抽出したブロックCiと暗号化したインデックスE(i)を連結し、それをリファレンス暗号化部213に入力し、暗号文Es(Ci||E(i))を作成する(S1006)。ただし、||はデータの連結を意味する(S1006)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスiを1つインクリメントする(i←i+1)(S1007)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスiが終了値を超えているかを判定する(i>m?)(S1008)。越えていない場合は、S1005へ戻る。越えている場合は、S1009へ進む。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、S1005において、逐次的に作成したEs(C1||E(1))からEs(Cm||E(m))を、2次暗号化リファレンスとして、記憶部220へ格納する(S1009)。
The entire processing unit 211 of the
上記の処理(S1001からS1009)により、検索エージェント200は、平文リファレンスをワード長毎に分割し、インデックスを連結したデータをリファレンス暗号化部により暗号化した、2次暗号化リファレンス332を作成できる。
Through the above processing (S1001 to S1009), the
なお、上記の処理手順は、固定されたものではなく、処理手順や処理内容を変更して実施してもかまわない。例えば、検索エージェント200は、複数のブロックを抜き出し(S1005)、それらを暗号化し(S1006)、インデックスiのインクリメントする数を増やしてもよい(S1006)。同様に、他の処理内容を変更してもよい。
Note that the above processing procedure is not fixed, and the processing procedure and processing content may be changed and executed. For example, the
<図なし:1次暗号化リードの作成処理>
本実施形態の(S802)において、検索エージェント200が、平文リード233を1次暗号化リードに変換する処理を示す。
<No figure: Creation of primary encryption lead>
In (S802) of the present embodiment, a process in which the
検索エージェント200のリード暗号化部217に、全体処理部211によってロードされた秘密鍵251と公開パラメータ237と、平文リード233が入力される(S1101)。
The
検索エージェント200の全体処理部211は、リファレンスの分割単位を意味するブロック長wを設定する(S1102)。(図6(b)の例では、1次暗号化リードのブロック長wは11文字である。)
検索エージェント200の全体処理部211は、インデックスiの値を初期値1に設定(i←1)し、また終了値を設定する(S1103)。以降は、リードの終了値はnを設定するものとする。
The overall processing unit 211 of the
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、平文リード233におけるi番目の文字からw+(i-1)番目の文字を抜き出し、これをブロックBiとして、リード暗号化部217へ入力する(従って、1ブロックはw個の文字列からなる)(S1104)。
The entire processing unit 211 of the
検索エージェント200のリード暗号化部217は、ブロックBiを暗号化し、暗号文E(Bi)を作成する(S1105)。
The read encryption unit 217 of the
検索エージェント200の全体処理部211は、インデックスiを1つインクリメントする(i←i+1)(S1106)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスiが終了値を超えているかを判定する(i>n?)(S1107)。越えていない場合は、S1104へ戻る。越えている場合は、S1108へ進む。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、S1105において、逐次的に作成したE(B1)からE(Bn)を、1次暗号化リードとして、記憶部220へ格納する(S1108)。
The entire processing unit 211 of the
上記の処理(S901からS908)により、検索エージェント200は、平文リードをリード暗号化部により暗号化した、1次暗号化リードを作成できる。
Through the above processing (S901 to S908), the
なお、上記の処理手順は、固定されたものではなく、処理手順や処理内容を変更して実施してもかまわない。例えば、検索エージェント200は、複数のブロックを抜き出し(S1105)、それらを暗号化し(S1106)、インクリメントする数を増やしてもよい(S1107)。同様に、他の処理内容を変更してもよい。
Note that the above processing procedure is not fixed, and the processing procedure and processing content may be changed and executed. For example, the
<図10:2次暗号化リードの抽出処理>
図10は、本実施形態の(S805)において、管理サーバ300が、2次暗号化リファレンス332を抽出する処理を示すシーケンス図である。
<Figure 10: Secondary encryption lead extraction process>
FIG. 10 is a sequence diagram illustrating processing in which the
管理サーバ300の検査部312に、全体処理部311によってロードされた公開パラメータ337が入力される(S1201)。
The
管理サーバ300の全体処理部311は、ブロック長wを設定する(S1202)。(図6(b)の例に倣い、1次暗号化リファレンス331のブロック長wは11とする。)
管理サーバ300の全体処理部311は、インデックスiの値を初期値に設定し、また終了値を設定する(S1203)。以降では、S908に倣い、一次暗号化リードとしてE(B1)からE(Bn)を受信したものとし、初期値を1(i←1)、終了値をnに設定するものとする。
The overall processing unit 311 of the
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、1次暗号化リードから暗号文E(Bi)を抽出する(S1204)。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、インデックスjの値を初期値に設定し、また終了値を設定する(S1205)。以降では、図6(b)に倣い、1次暗号化リファレンス331としてEs(B1)からEs(B(m-w+1))を記憶しているものとし、初期値を1(i←1)、終了値を(m-w+1)に設定するものとする。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、1次暗号化リファレンス331から暗号文Es(Bi)を抽出する(S1206)。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、S1204で抽出した暗号文E(Bi)と、S1205で抽出した暗号文Es(Bi)を検索部へ入力する。検査部312は、暗号文E(Bi)と暗号文Es(Bi)が暗号化前は同じ平文値を有するかを判定し、等しい場合は1を、等しくない場合は0を返す(S1207)。検索部が1を出力した場合はS1208へ進み、0を出力した場合はS1209へ進む。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、暗号文Es(Bi)と同じインデックスiを有する2次暗号化リファレンスEs(Ci)と、Es(Ci+1)、Es(Ci+2)、・・・、Es(Ci+w-1)を抽出し、記憶部220に格納する(S1208)。ただし、既に同じ暗号文が抽出されている場合は、その暗号文は抽出しない。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、インデックスjを1つインクリメントする(j←j+1)(S1209)。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、インデックスjが終了値を超えているかを判定する(j>m-w+1?)(S1210)。越えていない場合は、S1206へ戻る。越えている場合は、S1211へ進む。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、インデックスiを1つインクリメントする(i←i+1)(S1211)。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、インデックスiが終了値を超えているかを判定する(i>n?)(S1212)。越えていない場合は、S1205へ戻る。越えている場合は、S1212へ進む。
なお、上記の処理手順は、固定されたものではなく、処理手順や処理内容を変更して実施してもかまわない。例えば、検索エージェント200は、複数のブロックを抜き出し(S1206)、それらを検索し(S1207)、インデックスjの更新する数を増やしてもよい(S1209)。同様に、他の処理内容を変更してもよい。
The overall processing unit 311 of the
Note that the above processing procedure is not fixed, and the processing procedure and processing content may be changed and executed. For example, the
<図11:2次暗号化リードの作成処理>
図10は、本実施形態の(S808)と(S809)において、検索エージェント200が、平文リード233を2次暗号化リードに変換する処理を示すシーケンス図である。
<Figure 11: Secondary encryption lead creation process>
FIG. 10 is a sequence diagram showing processing in which the
検索エージェント200は、通信部203を介し、2次暗号化リードを受信する処理を行う(S1301)。
The
検索エージェント200の全体処理部211は、リファレンス復号部215とリード暗号化部217に、ロードした秘密鍵251と公開パラメータ237と、2次暗号化リファレンスを入力する(S1302)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、リファレンスの分割単位を意味するブロック長wを設定する(S1303)。以降では、2次暗号化リファレンスのブロック長wは1文字とする。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスiの値を初期値1に設定(i←1)し、また終了値を設定する(S1304)。以降は、図6(b)の例に倣い、終了値は文字数nが設定されるものとする。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、2次暗号化リファレンスにおけるi番目の文字を抜き出し、これをブロックE(Ci||E(i))とみなして、リファレンス復号部215へ入力する(S1305)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、リファレンス復号部215が出力したCi||E(i)からE(i)を抽出し、再びリファレンス復号部215に入力する(S1306)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、リファレンス復号部215が出力したiを取得する(S1307)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスiを1つインクリメントする(i←i+1)(S1308)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスiが終了値を超えているかを判定する(i>m?)(S1309)。越えていない場合は、S1305へ戻る。越えている場合は、S1310へ進む。
The overall processing unit 211 of the
上記S1301からS1309の処理により、2次暗号化リファレンスに埋め込まれていたインデックスi、i+1、…、i+n-1を取得した。 Through the processes from S1301 to S1309, indexes i, i + 1,..., I + n−1 embedded in the secondary encryption reference are acquired.
検索エージェント200の全体処理部211は、ターゲットレンジ長vを設定する(S1310)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスjの値を初期値i-Vに設定し、また終了値としてi-1を設定する(S1311)。ただし、初期値であるi-Vが0以下(i-V<=0)である場合は、初期値を1とする。また、終了値であるi-1が0以下(i-1<=0)である場合は、S1311からS1315の処理を飛ばし、S1316へと進む。
The overall processing unit 211 of the
検索エージェント200のリード暗号化部217は、インデックスjを暗号化し、暗号文E(j)を作成する(S1312)。
The read encryption unit 217 of the
検索エージェント200の全体処理部211は、抽出したブロックCjと暗号化したインデックスE(j)を連結し、それを暗号化し、暗号文E(Ci||E(i))を作成する(S1313)。ただし、||はデータの連結を意味する。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスjを1つインクリメントする(j←j+1)(S1314)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスiが終了値を超えているかを判定する(j>i-1?)(S1315)。越えていない場合は、S1312へ戻る。越えている場合は、S1316へ進む。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、ターゲットレンジ長vを再設定する(S1316)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスjの値を初期値i+nに設定し、また終了値としてi+n+v-1を設定する(S1317)。ただし、初期値であるi+nがm以上(i-V<0)である場合は、S1317からS1311の処理を飛ばし、S1312へと進む。また、終了値であるi+n+v-1がm以上(i-1<0)である場合は、終了値もmとする(S1317)。
The entire processing unit 211 of the
検索エージェント200のリード暗号化部217は、インデックスjを暗号化し、暗号文E(j)を作成する(S1318)。
The read encryption unit 217 of the
検索エージェント200の全体処理部211は、抽出したブロックCjと暗号化したインデックスE(j)を連結し、それを暗号化し、暗号文E(Ci||E(i))を作成する(S1319)。ただし、||はデータの連結を意味する。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスjを1つインクリメントする(j←j+1)(S1320)。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、インデックスiが終了値を超えているかを判定する(j>i-1?)(S1321)。越えていない場合は、S1318へ戻る。越えている場合は、S1322へ進む。
The overall processing unit 211 of the
検索エージェント200の全体処理部211は、S1313とS1319において、逐次的に作成した暗号文を、2次暗号化リードとして、記憶部220へ格納する(S1322)。
The entire processing unit 211 of the
上記のS1310からS1322の処理により、S1301からS1309の処理で抽出したインデックスi、i+1、・・・、i+n-1に対応する2次暗号化リードを作成できた。
なお、上記の処理手順は、固定されたものではなく、処理手順や処理内容を変更して実施してもかまわない。
By the processes from S1310 to S1322, the secondary encrypted read corresponding to the indexes i, i + 1,..., I + n−1 extracted by the processes from S1301 to S1309 can be created.
Note that the above processing procedure is not fixed, and the processing procedure and processing content may be changed and executed.
<図12:2次暗号化リファレンスの検索処理>
図12は、本実施形態の(S812)において、管理サーバ300が、2次暗号化リファレンス332を抽出する処理を示すシーケンス図である。
<Figure 12: Secondary Encryption Reference Search Processing>
FIG. 12 is a sequence diagram illustrating processing in which the
管理サーバ300の全体処理部311は、合計点S、得点A、減点B、最大値M、しきい値T、インデックスL、インデックスR、ブール値bの初期値を設定する。例えば、S、A、B、M、T、L、R、bの初期値はそれぞれ0、5、4、0、-50、0、0、0とする(S1401)。以降では、ブール値bは2次暗号化リードの調査順序の設定(降順または昇順)に用いる。
The overall processing unit 311 of the
管理サーバ300の検査部312に、全体処理部311によってロードされた公開パラメータ237が入力される(S1402)。
The
管理サーバ300の全体処理部311は、ブロック長wを設定する(S1403)。(図6(b)の例に倣い、2次暗号化リファレンス332のブロック長wは1とする。)
管理サーバ300の全体処理部311は、インデックスkの値を初期値に設定し、また終了値を設定する(S1404)。以降では、v個の2次暗号化リードE(C(i-v))からE(C(i-1))を受信したものとし、インデックスkの初期値をi、終了値をi-v+1に設定するものとする。
The overall processing unit 311 of the
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、2次暗号化リードから暗号文E(Ck)を抽出する(S1405)。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、2次暗号化リファレンス332から暗号文Es(Ck)を抽出する(S1406)。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、S1404で抽出した暗号文E(Ck)と、S1406で抽出した暗号文Es(Ck)を検索部へ入力する。検査部312は、暗号文E(Ck)と暗号文Es(Ck)が暗号化前は同じ平文値を有するかを判定し、等しい場合は1を、等しくない場合は0を返す(S1407)。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、S1404で抽出した暗号文E(Ck)と、S1406で抽出した暗号文Es(Ck)を検索部へ入力する。検査部312は、暗号文E(Ck)と暗号文Es(Ck)が暗号化前は同じ平文値を有するかを判定し、等しい場合は1を、等しくない場合は0を返す(S1407)。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、得点Sと最大値を更新する(S1408)。S1407で検査部312が1を出力した場合は、Sを得点A分だけ加え(S←S+A)、検査部312が0を出力した場合は、Sを減点B分だけ減らす(S←S―B)。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、得点Sとしきい値Tを比較し、得点Sがしきい値以下である(S <= T)場合は、S1414へ進み、そうでなければS1410へと進む。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、最大値Mが得点Sより低い場合、その差分(S-M)だけ、しきい値Tを増やす(T←T+S-M)(S1410)。
When the maximum value M is lower than the score S, the overall processing unit 311 of the
管理サーバ300の全体処理部311は、最大値Mが得点Sより低い(M<S)場合、得点Sの値を最大値Mの値にコピーする(M←S)。また、最大値を更新し、かつブール値bが0であった場合は、インデックスLにkの値をコピーする(L←kif (b==0 && M<S))。最大値を更新し、かつブール値bが1であった場合は、インデックスRにkの値をコピーする(R←kif (b==1 && M<S))。(S1411)
管理サーバ300の全体処理部311は、ブール値bが0である場合は、インデックスkを1つインクリメントし(k←k-1)、ブール値bが1である場合は、インデックスkを1つインクリメントし(k←k+1)、(S1412)。
When the maximum value M is lower than the score S (M <S), the overall processing unit 311 of the
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、インデックスkが終了値を超えているかを判定する(k>i+v-1?)(S1413)。越えていない場合は、S1405へ戻る。越えている場合は、S1413へ進む。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、インデックスkがi+nを超えているかを判定する(k>i+n?)(S1414)。越えていない場合は、S1414へ進む。越えている場合は、S1415へ進む。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、インデックスkの値を初期値に設定し、また終了値を設定する(S1415)。以降では、2次暗号化リードとしてE(C(i+n))からE(C(i+n+v-1))を受信したものとし、インデックスkの初期値をi+n、終了値をi+n+v-1に設定するものとする。
The overall processing unit 311 of the
管理サーバ300の全体処理部311は、S1404で設定した初期値(i-1)からインデックスLまでの2次暗号化リファレンスにおける暗号文E(C(L))、・・・, E(C(i-1))を抽出する。ただし、インデックスLが0である場合は、この処理を省く。また同様に、S1415で設定した初期値(i+n)からインデックスRまでの2次暗号化リファレンスにおける暗号文E(C(i+n))、・・・, E(C(R))を抽出する。ただし、インデックスRが0である場合は、この処理を省く(S1416)。
The overall processing unit 311 of the
上記の処理により、一文字毎の暗号化データの完全一致検索を用い、暗号化リファレンスと暗号化リードの類似検索が実施できた。
なお、上記の処理手順は、固定されたものではなく、処理手順や処理内容を変更して実施してもかまわない。
By the above processing, the similarity search between the encrypted reference and the encrypted lead can be performed using the exact match search of the encrypted data for each character.
Note that the above processing procedure is not fixed, and the processing procedure and processing content may be changed and executed.
100:ネットワーク、200:検索エージェント、300:管理サーバ、
500:コンピュータ、201、301:入力部、202、302:出力部、203、303:通信部、210、310:制御部、211、311:全体処理部、212:鍵生成部、213:リファレンス暗号化部、215:リファレンス復号部、217:リード暗号化部、312:検索部、220、320:記憶部、230、330:データ記憶部、231:平文リファレンス、、233:平文リード、237、337:公開パラメータ、331:1次暗号化リファレンス、332:2次暗号化リファレンス、251:秘密鍵、260、360:プログラム記憶部、280、380:一時情報記憶部、501:CPU(Central Processing Unit)、502:メモリ、503:外部記憶装置、508:記憶媒体、507:読書装置、506:入力装置、505:出力装置、504:通信装置、509:内部通信線
100: network, 200: search agent, 300: management server,
500: Computer, 201, 301: Input unit, 202, 302: Output unit, 203, 303: Communication unit, 210, 310: Control unit, 211, 311: Overall processing unit, 212: Key generation unit, 213: Reference cipher 215: reference decryption unit, 217: read encryption unit, 312: search unit, 220, 320: storage unit, 230, 330: data storage unit, 231: plaintext reference, 233: plaintext read, 237, 337 : Public parameter, 331: primary encryption reference, 332: secondary encryption reference, 251: secret key, 260, 360: program storage unit, 280, 380: temporary information storage unit, 501: CPU (Central Processing Unit) 502: Memory, 503: External storage device, 508: Storage medium, 507: Reading device, 506: Input device, 5 5: Output device 504: communication device, 509: internal communication line
Claims (3)
検索エージェントは平文リファレンスから1次暗号化リファレンスと2次暗号化リファレンスを作成し、
検索エージェントは平文リードから1次暗号化リードと2次暗号化リードを作成し、
管理サーバによる1次暗号化リファレンスと1次暗号化リードの検索結果と、管理サーバによる2次暗号化リファレンスと2次暗号化リードの検索結果により、平文リファレンスと平文リードの類似性を判定すること、
を特徴とする検索処理システム。 A search processing system in which a search agent that stores a program related to data encryption processing and decryption processing in a storage unit and a management server that stores a program related to encrypted data match search processing in the storage unit cooperate via a network. ,
The search agent creates a primary encryption reference and a secondary encryption reference from the plaintext reference,
The search agent creates a primary encryption lead and a secondary encryption lead from the plaintext lead,
The similarity between the plaintext reference and the plaintext read is determined based on the search result of the primary encryption reference and the primary encryption lead by the management server and the search result of the secondary encryption reference and the secondary encryption lead by the management server. ,
A search processing system characterized by this.
前記1次暗号化リファレンスとは、ブロック単位に分割された平文リファレンスを暗号化して作成されたものであって、
前記2次暗号化リファレンスとは、ブロック単位に分割された平文リファレンスとインデックスを連結したデータを暗号化して作成されたものであって、
前記1次暗号化リードとは、前記1次暗号化リファレンスと同じブロック単位に分割された平文リードを暗号化して作成されたものであって、
前記2次暗号化リードとは、前記1次暗号化リファレンスと同じブロック単位に分割された平文リードとインデックスを連結したデータを暗号化して作成されたものであること、
を特徴とする検索処理システム。 The search processing system according to claim 1,
The primary encryption reference is created by encrypting a plaintext reference divided into blocks,
The secondary encryption reference is created by encrypting data obtained by concatenating a plaintext reference divided into blocks and an index,
The primary encryption read is created by encrypting a plaintext read divided into the same block units as the primary encryption reference,
The secondary encryption read is created by encrypting data obtained by concatenating a plaintext read and an index divided into the same block units as the primary encryption reference,
A search processing system characterized by this.
管理サーバによる2次暗号化リファレンスと2次暗号化リードの前記検索結果とは、2次暗号化リファレンスと2次暗号化リードの判定の是非により加点と減点を用いて得点化し、得点の高い場合に2次暗号化リファレンスが2次暗号化リードと類似している、と判定すること、
を特徴とする検索処理システム。 The search processing system according to claim 1,
The search result of the secondary encryption reference and secondary encryption lead by the management server is scored using the points added and subtracted depending on whether the secondary encryption reference and secondary encryption lead are judged. Determining that the secondary encryption reference is similar to the secondary encryption lead,
A search processing system characterized by this.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012004631A JP5948060B2 (en) | 2012-01-13 | 2012-01-13 | High-speed similarity search processing system for encrypted data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012004631A JP5948060B2 (en) | 2012-01-13 | 2012-01-13 | High-speed similarity search processing system for encrypted data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013145420A true JP2013145420A (en) | 2013-07-25 |
JP5948060B2 JP5948060B2 (en) | 2016-07-06 |
Family
ID=49041197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012004631A Active JP5948060B2 (en) | 2012-01-13 | 2012-01-13 | High-speed similarity search processing system for encrypted data |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5948060B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016203555A1 (en) * | 2015-06-16 | 2016-12-22 | 株式会社日立製作所 | System for confidentially searching for similarity, and method for confidentially searching for similarity |
JP2017022697A (en) * | 2015-07-13 | 2017-01-26 | 富士通株式会社 | Equivalence checking method using relational encryption, computer program, and storage medium |
JP2017021330A (en) * | 2015-07-13 | 2017-01-26 | 富士通株式会社 | Equivalence confirmation method using relational encryption and computer program |
KR20170041187A (en) * | 2014-07-08 | 2017-04-14 | 소프트키네틱 센서스 엔브이 | A high dynamic range pixel and a method for operating it |
US10594473B2 (en) | 2015-02-10 | 2020-03-17 | Kabushikikaisha Rnai | Terminal device, database server, and calculation system |
US10673614B2 (en) | 2015-10-09 | 2020-06-02 | Mitsubishi Electric Corporation | Secret search system, management device, secret search method and computer readable medium |
US11360978B2 (en) | 2017-05-18 | 2022-06-14 | Mitsubishi Electric Corporation | Search device, tag generation device, query generation device, searchable encryption system and computer readable medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102050888B1 (en) | 2017-11-29 | 2019-12-02 | 고려대학교 산학협력단 | Method and system for similarity search over encrypted data in cloud computing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008068675A2 (en) * | 2006-12-05 | 2008-06-12 | Koninklijke Philips Electronics N.V. | Secure matching of dna profiles |
JP2009271584A (en) * | 2008-04-30 | 2009-11-19 | Tokyo Metropolitan Univ | Similar information retrieval system and similar information retrieval program |
WO2011013463A1 (en) * | 2009-07-29 | 2011-02-03 | 日本電気株式会社 | Range retrieval system, range retrieval method, and program for range retrieval |
-
2012
- 2012-01-13 JP JP2012004631A patent/JP5948060B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008068675A2 (en) * | 2006-12-05 | 2008-06-12 | Koninklijke Philips Electronics N.V. | Secure matching of dna profiles |
JP2009271584A (en) * | 2008-04-30 | 2009-11-19 | Tokyo Metropolitan Univ | Similar information retrieval system and similar information retrieval program |
WO2011013463A1 (en) * | 2009-07-29 | 2011-02-03 | 日本電気株式会社 | Range retrieval system, range retrieval method, and program for range retrieval |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170041187A (en) * | 2014-07-08 | 2017-04-14 | 소프트키네틱 센서스 엔브이 | A high dynamic range pixel and a method for operating it |
KR102332287B1 (en) * | 2014-07-08 | 2021-11-29 | 소니 뎁쓰센싱 솔루션즈 에스에이/엔브이 | A high dynamic range pixel and a method for operating it |
US10594473B2 (en) | 2015-02-10 | 2020-03-17 | Kabushikikaisha Rnai | Terminal device, database server, and calculation system |
WO2016203555A1 (en) * | 2015-06-16 | 2016-12-22 | 株式会社日立製作所 | System for confidentially searching for similarity, and method for confidentially searching for similarity |
JPWO2016203555A1 (en) * | 2015-06-16 | 2018-02-15 | 株式会社日立製作所 | Concealed similarity search system and similarity concealment search method |
JP2017022697A (en) * | 2015-07-13 | 2017-01-26 | 富士通株式会社 | Equivalence checking method using relational encryption, computer program, and storage medium |
JP2017021330A (en) * | 2015-07-13 | 2017-01-26 | 富士通株式会社 | Equivalence confirmation method using relational encryption and computer program |
US10673614B2 (en) | 2015-10-09 | 2020-06-02 | Mitsubishi Electric Corporation | Secret search system, management device, secret search method and computer readable medium |
US11360978B2 (en) | 2017-05-18 | 2022-06-14 | Mitsubishi Electric Corporation | Search device, tag generation device, query generation device, searchable encryption system and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
JP5948060B2 (en) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5948060B2 (en) | High-speed similarity search processing system for encrypted data | |
EP3012754B1 (en) | Searchable symmetric encryption processing system | |
EP2894810B1 (en) | Searchable Code Processing System and Method | |
CN107480163B (en) | Efficient ciphertext image retrieval method supporting privacy protection in cloud environment | |
CN103927357B (en) | Data encryption and retrieval method for database | |
EP2951945B1 (en) | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data | |
CN108111587B (en) | Cloud storage searching method based on time release | |
Rane et al. | Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data | |
CN1941691B (en) | Apparatus and method for generating data for detecting false alteration of encrypted data during processing | |
JP6961324B2 (en) | Searchable cryptographic processing system | |
CN108416037B (en) | Central keyword ciphertext searching method based on two-stage index in cloud environment | |
EP3264314B1 (en) | System and method for searching over encrypted data | |
CN108370312B (en) | Encryption device, search device, computer-readable recording medium, encryption method, and search method | |
CN104794243B (en) | Third party's cipher text retrieval method based on filename | |
JPWO2019053788A1 (en) | Data processing device, data processing method, and data processing program | |
CN106227783B (en) | A kind of government data polyplant, data provide end, system and method | |
CN114285575B (en) | Image encryption and decryption method and device, storage medium and electronic device | |
CN111475690B (en) | Character string matching method and device, data detection method and server | |
WO2021144834A1 (en) | Secret retrieval system, secret retrieval method, and secret retrieval program | |
CN115238689B (en) | Word segmentation and sentence segmentation index processing method, document retrieval equipment and storage medium | |
US20170132279A1 (en) | Criteria generation device, criteria generation method, recording medium containing criteria generation program, database search system, and recording medium containing database search program | |
JP2015108682A (en) | Secrecy comparison method, program, and system | |
EP3975472A1 (en) | Private set intersection protocol based on commutative deterministic encryption | |
US20210248262A1 (en) | Secret search system and secret search method | |
Pabboju | A Comparative Result Analysis of Text Based Steganographic Approaches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151027 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160308 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160325 |
|
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: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160606 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5948060 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |