JP7833355B2 - Secure search system, secure search method - Google Patents
Secure search system, secure search methodInfo
- Publication number
- JP7833355B2 JP7833355B2 JP2022098483A JP2022098483A JP7833355B2 JP 7833355 B2 JP7833355 B2 JP 7833355B2 JP 2022098483 A JP2022098483 A JP 2022098483A JP 2022098483 A JP2022098483 A JP 2022098483A JP 7833355 B2 JP7833355 B2 JP 7833355B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- search
- owner
- ciphertext
- aforementioned
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、秘匿検索システム、および、秘匿検索方法に関する。 This invention relates to a secure search system and a secure search method.
計算機能力の拡大および情報処理技術の進展により、複数の企業や個人が所有するデータを集積、分析することで有用な知見を得るデータ解析が社会の運用において重要な役割を担うようになってきた。その一方で、これらのデータには機微な情報が多数含まれるため、開示に消極的なデータ所有者装置も多い。データ活用と個々の情報の秘匿性を両立する技術として、秘匿情報処理技術が研究開発されている。秘匿情報処理技術の一端として、暗号化されたデータを復号せずに検索する秘匿検索技術がある。秘匿検索技術は情報処理の中でも基本的な検索機能に特化した技術で、データ所有者装置がクラウドストレージ等のデータ管理者装置にデータの保管を委託し、必要なデータを適宜抽出して利用することを想定している。 With the expansion of computing power and advancements in information processing technology, data analysis—which involves aggregating and analyzing data owned by multiple companies and individuals to gain useful insights—has come to play a crucial role in the operation of society. However, because this data often contains sensitive information, many data owners and institutions are reluctant to disclose it. To balance data utilization with the confidentiality of individual information, confidential information processing technologies are being researched and developed. One example of confidential information processing technology is confidential search technology, which allows searching encrypted data without decryption. Confidential search technology is a technology specializing in basic search functions within information processing, and is envisioned as a system where data owners entrust data storage to data management devices such as cloud storage, and then extract and use the necessary data as needed.
例えば、特許文献1では、秘密分散技術をベースにした秘匿計算について、処理の証跡を取る方法を開示している。 For example, Patent Document 1 discloses a method for obtaining evidence of processing for secure computation based on secret sharing technology.
秘匿検索の実現方法は複数あるが、公開鍵暗号技術を用いる方法は、処理速度が大幅に低下し、また、暗号化によりデータサイズが大幅に増大することから、大量なデータへ適用することは容易ではないと考えられる。その一方で、ビッグデータ分析では、データ所有者装置とデータ利用者装置が異なるケースが多々あり、共通鍵暗号技術をベースとした方式では、データ所有者装置は検索やデータの復号の実行に必要な秘密鍵をデータ利用者装置に開示する必要がある。この場合、データ利用者装置はデータ所有者装置が許諾した範囲を超えてデータを利用するリスクがある。 While there are several methods for implementing secure searches, using public-key cryptography significantly reduces processing speed and drastically increases data size due to encryption, making it difficult to apply to large datasets. On the other hand, in big data analysis, the data owner's device and the data user's device are often different. In systems based on symmetric-key cryptography, the data owner's device must disclose the private key necessary for searching and decrypting data to the data user's device. In this case, the data user's device faces the risk of using data beyond the scope authorized by the data owner's device.
そこで、本発明は、データ利用者装置のデータ利用が適切であるかどうかについて把握し、社会的な観点で(すなわち、セキュリティの観点で)貢献することができる秘匿検索システムおよび秘匿検索方法を提供することを目的とする。 Therefore, the present invention aims to provide a confidential search system and method that can determine whether data usage by data user devices is appropriate and contribute from a social perspective (i.e., from a security perspective).
本発明の第1の態様によれば、下記の秘匿検索システムが提供される。この秘匿検索システムは、データ所有者装置と、データ利用者装置と、データ管理者装置と、監視者装置と、を備え、共通鍵暗号を用いるシステムである。前記データ管理者装置は、第一のデータベースを備え、前記データ所有者装置が所持するデータに関し、第一の秘密鍵で暗号化された暗号文データと、前記データ所有者装置の所有者IDと、を前記第一のデータベースに保管する。前記データ利用者装置は、前記第一の秘密鍵と、前記第一の秘密鍵に紐づけられた前記暗号文データの検索に用いる検索鍵と、を保管する。前記データ監視者装置は、第二のデータベースを備え、前記データ所有者装置の所有者IDと、前記データ所有者装置の所有者への報告先の情報と、を前記第二のデータベースに保管する。また、前記データ利用者装置は、データ検索実行の際に、前記検索鍵で暗号化した暗号文検索クエリを前記データ管理者装置に送信し、前記データ管理者装置は、前記暗号文検索クエリを受信した際に、前記第一のデータベースから前記暗号文検索クエリに合致する前記暗号文データを抽出し、前記暗号文データに紐づけられた前記データ所有者装置の所有者IDと、前記暗号文検索クエリと、を組として前記監視者装置に送信する。前記第二のデータベースは、検索ログとして記録する、前記データ所有者装置の所有者ID、前記報告先、前記暗号文検索クエリのエントリを含み、前記監視者装置は、前記データ管理者装置からデータを受信した際に、前記データ所有者装置の所有者IDをキーとして、前記第二のデータベースに前記暗号文検索クエリを登録する。そして、前記監視者装置は、期間をおいて、前記第二のデータベースに蓄積した前記検索ログから、前記データ所有者装置の所有者IDに紐づけられた前記暗号文検索クエリの一覧を抽出し、前記データ所有者装置に送信し、前記データ所有者装置は、前記監視者装置から送信された前記暗号文検索クエリの一覧を取得する。 According to a first aspect of the present invention, the following confidential search system is provided. This confidential search system comprises a data owner device, a data user device, a data administrator device, and a monitor device, and is a system that uses symmetric-key cryptography. The data administrator device has a first database and stores in the first database ciphertext data encrypted with a first secret key and the owner ID of the data owner device with respect to the data held by the data owner device. The data user device stores the first secret key and a search key used to search the ciphertext data associated with the first secret key. The data monitor device has a second database and stores in the second database the owner ID of the data owner device and information on who to report to the owner of the data owner device. Furthermore, when the data user device performs a data search, it sends a ciphertext search query encrypted with the search key to the data administrator device. Upon receiving the ciphertext search query, the data administrator device extracts the ciphertext data matching the query from the first database and sends the owner ID of the data owner device associated with the ciphertext data, along with the ciphertext search query, as a pair to the monitoring device. The second database contains entries for the owner ID of the data owner device, the reporting destination, and the ciphertext search query, which are recorded as search logs. Upon receiving data from the data administrator device, the monitoring device registers the ciphertext search query in the second database using the owner ID of the data owner device as the key. Then, after a period of time, the monitoring device extracts a list of ciphertext search queries associated with the owner ID of the data owner device from the search logs accumulated in the second database and sends it to the data owner device. The data owner device then obtains the list of ciphertext search queries sent from the monitoring device.
本発明の第2の態様によれば、下記の秘匿検索方法が提供される。この秘匿検索方法は、データ所有者装置と、データ利用者装置と、第一のデータベースを備えるデータ管理者装置と、第二のデータベースを備える監視者装置を用いて行う方法であり、共通鍵暗号が用いられ、登録フェーズと、検索フェーズと、報告フェーズと、を含む。登録フェーズは、前記データ所有者装置の使用者が、所持するデータを第一の秘密鍵で暗号化して、前記データ所有者装置の所有者IDと共に前記データ管理者装置に委託し、前記第一のデータベースに委託されたデータを保管するステップと、前記データ所有者装置の使用者が、前記データ利用者装置に前記第一の秘密鍵と、第一の秘密鍵に紐づけられた暗号文データを検索するための検索鍵を委託するステップと、前記データ所有者装置の使用者が、前記データ所有者装置の所有者IDと報告先の情報を前記監視者装置に事前に連絡し、前記データ所有者装置の所有者ID、前記データ所有者装置の使用者への連絡先、クエリを、エントリとして含み、検索ログを記録する前記第二のデータベースに連絡を受けた情報を保管するステップと、を含む。検索フェーズは、前記データ利用者装置が、検索実行の際に検索クエリを前記検索鍵で暗号化した暗号文検索クエリを前記データ管理者装置に送信するステップと、前記データ管理者装置が、前記暗号文検索クエリを受信すると、前記第一のデータベースから前記暗号文検索クエリに合致する暗号文データを抽出し、暗号文データに紐づけられた前記データ所有者装置の所有者ID、前記暗号文検索クエリを組として前記監視者装置に送信するステップと、前記監視者装置が、前記データ管理者装置からデータを受信すると、前記データ所有者装置の所有者IDをキーとして、前記第二のデータベースに前記暗号文検索クエリを登録するステップと、を含む。前記報告フェーズは、前記監視者装置が、前記データ所有者装置に対して、期間をおいて前記第二のデータベースに蓄積した検索ログから所有者IDに紐づけられた暗号文検索クエリの一覧を抽出し、前記データ所有者装置に送信するステップと、前記データ所有者装置が、受信した前記暗号文検索クエリの一覧を取得するステップと、を含む。 According to a second aspect of the present invention, the following confidential search method is provided. This confidential search method is performed using a data owner device, a data user device, a data administrator device having a first database, and a monitor device having a second database, and uses symmetric-key cryptography, and includes a registration phase, a search phase, and a reporting phase. The registration phase includes the steps of: a user of the data owner device encrypting the data they possess with a first secret key and entrusting it to the data administrator device along with the owner ID of the data owner device, and storing the entrusted data in the first database; a user of the data owner device entrusting the data user device with the first secret key and a search key for searching ciphertext data associated with the first secret key; and a user of the data owner device contacting the monitor device in advance with the owner ID of the data owner device and information to report to, and storing the contacted information in the second database, which includes the owner ID of the data owner device, contact information for the user of the data owner device, and queries as entries and records search logs. The search phase includes the steps of: the data user device sending a ciphertext search query, encrypted with the search key, to the data administrator device upon execution of the search; the data administrator device, upon receiving the ciphertext search query, extracting ciphertext data matching the ciphertext search query from the first database and sending the owner ID of the data owner device associated with the ciphertext data, along with the ciphertext search query, to the monitor device; and the monitor device, upon receiving data from the data administrator device, registering the ciphertext search query in the second database using the owner ID of the data owner device as the key. The reporting phase includes the steps of: the monitor device extracting a list of ciphertext search queries associated with the owner ID from the search logs accumulated in the second database over a period of time and sending it to the data owner device; and the data owner device obtaining the list of received ciphertext search queries.
本発明によれば、データ利用者装置のデータ利用が適切であるかどうかについて把握し、社会的な観点で(すなわち、セキュリティの観点で)貢献することができる秘匿検索システムおよび秘匿検索方法が提供される。なお、上記した以外の課題、構成および効果は、以下の発明を実施するための形態の説明により明らかにされる。 According to the present invention, a confidential search system and method are provided that can determine whether data usage by data user devices is appropriate and contribute from a social perspective (i.e., from a security perspective). Other issues, configurations, and effects not mentioned above will be clarified by the following description of embodiments for carrying out the invention.
以下、図面を参照して本発明の実施形態を説明する。実施形態は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
各種情報の例として、「テーブル」、「リスト」、「キュー」等の表現にて説明することがあるが、各種情報はこれら以外のデータ構造で表現されてもよい。例えば、「XXテーブル」、「XXリスト」、「XXキュー」等の各種情報は、「XX情報」としてもよい。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
同一あるいは同様の機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。また、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
実施形態において、プログラムを実行して行う処理について説明する場合がある。ここで、計算機は、プロセッサ(例えばCPU、GPU)によりプログラムを実行し、記憶資源(例えばメモリ)やインターフェースデバイス(例えば通信ポート)等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路を含んでいてもよい。ここで、専用回路とは、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)、CPLD(Complex Programmable Logic Device)等である。
プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施形態において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
Embodiments of the present invention will be described below with reference to the drawings. The embodiments are illustrative examples for explaining the present invention, and have been omitted and simplified as appropriate for clarity of explanation. The present invention can also be implemented in various other forms. Unless otherwise specified, each component may be singular or plural.
The positions, sizes, shapes, and ranges of the components shown in the drawings may not represent their actual positions, sizes, shapes, and ranges in order to facilitate understanding of the invention. Therefore, the present invention is not necessarily limited to the positions, sizes, shapes, and ranges disclosed in the drawings.
Examples of various types of information may be described using terms such as "table,""list," and "queue," but these types of information may also be represented by other data structures. For example, various types of information such as "XX table,""XXlist," and "XX queue" may be referred to as "XX information." When describing identification information, terms such as "identification information,""identifier,""name,""ID," and "number" are used, but these terms are interchangeable.
When there are multiple components with the same or similar function, they may be described using the same symbol but with different subscripts. Furthermore, if it is not necessary to distinguish between these multiple components, the subscripts may be omitted in the description.
In embodiments, processing performed by executing a program may be described. Here, the computer executes the program using a processor (e.g., CPU, GPU) and performs processing defined by the program using memory resources (e.g., memory) and interface devices (e.g., communication ports). Therefore, the main entity performing the processing by executing the program may be the processor. Similarly, the main entity performing the processing by executing the program may be a controller, device, system, computer, or node having a processor. The main entity performing the processing by executing the program may be an arithmetic unit, and may include a dedicated circuit that performs a specific processing. Here, a dedicated circuit is, for example, an FPGA (Field Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), a CPLD (Complex Programmable Logic Device), etc.
The program may be installed on the computer from the program source. The program source may be, for example, a program distribution server or a storage medium readable by the computer. If the program source is a program distribution server, the program distribution server includes a processor and storage resources for storing the program to be distributed, and the processor of the program distribution server may distribute the program to other computers. In addition, in some embodiments, two or more programs may be implemented as a single program, or one program may be implemented as two or more programs.
実施形態では、共通鍵暗号に基づく秘匿情報処理システム(秘匿検索システム)を想定する。このような秘匿検索を実現する方法として、公知の技術(例えば、特開2012-123614号公報に開示の技術)を用いればよい。 In this embodiment, a secure information processing system (secure search system) based on symmetric-key cryptography is assumed. A known technology (for example, the technology disclosed in Japanese Patent Application Publication No. 2012-123614) can be used to implement such a secure search.
先ず、図1を参照しながら、システム構成の一例について説明する。秘匿情報処理システムは、1台以上のデータ所有者装置(101)、1台以上のデータ利用者装置(102)、データ管理者装置(103)、監視者装置(104)備える。そして、これらのエンティティは、ネットワーク(105)を介して相互に接続されている。 First, an example of the system configuration will be described with reference to Figure 1. The confidential information processing system comprises one or more data owner devices (101), one or more data user devices (102), a data administrator device (103), and a monitor device (104). These entities are interconnected via a network (105).
次に、図2を参照しながら、システムに用いる計算機の構成の一例について説明する。計算機(201)は、一般的な計算機とされ、CPU(211)と、メモリ(212)と、ストレージ(220)と、通信インタフェース(230)と、を備える。CPU(211)は演算を実行し、所定の処理を実行する主体となる。メモリ(212)は演算結果を一時的に保管する。CPU(211)はメモリ(212)にデータを読み込んで処理を実行する。ストレージ(220)はデータを長期的に保管する。通信インタフェース(230)はネットワーク(105)と有線若しくは無線で接続され、ネットワーク(105)を介した通信に用いる。なお、本実施形態では、プロセッサとしてCPU(211)を用いる例を説明するが、所定の処理を実行することができればよく、CPUとは異なる半導体デバイスが用いられてもよい。 Next, with reference to Figure 2, an example of the configuration of the computer used in the system will be described. The computer (201) is a general-purpose computer and comprises a CPU (211), memory (212), storage (220), and a communication interface (230). The CPU (211) is the main component that performs calculations and executes predetermined processes. The memory (212) temporarily stores the calculation results. The CPU (211) reads data into the memory (212) and executes processing. The storage (220) stores data long-term. The communication interface (230) is connected to the network (105) by wired or wireless connection and is used for communication via the network (105). In this embodiment, an example using a CPU (211) as the processor is described, but any semiconductor device other than the CPU may be used as long as it can perform predetermined processes.
本実施形態において、2者間の通信は通信路暗号機能(240)で暗号化されており、他のエンティティは盗聴できないものとする。この通信路暗号化は一般的なTLS(Transport Layer Security)などを用いれば良い。 In this embodiment, communication between the two parties is encrypted using a channel encryption function (240), preventing eavesdropping by other entities. This channel encryption can be achieved using a general-purpose TLS (Transport Layer Security) or similar.
次に、図3を参照しながら、各エンティティの役割について説明する。データ所有者装置(101)は、データ(301)の所有者の装置である。データ所有者装置(101)は個人の装置であっても良いし、顧客データ等を持つ法人の装置であっても良い。データ管理者装置(103)は、データ所有者装置(101)から委託されたデータ(301)を暗号化した状態で保管し、データ利用者装置(102)からの要求に応じて検索を実行し、検索結果をデータ利用者装置(102)に回答する。データ利用者装置(102)は、データ(301)の利用について、データ所有者装置(101)から一定の範囲で許諾を受けたエンティティである。データ利用者装置(102)は、データ(301)を利用するときには、データ管理者装置(103)に対して検索要求として必要な情報を取り出すクエリを送信し、データ管理者装置(103)からの検索回答である暗号文を復号して利用する。監視者装置(104)は、データ利用者装置(102)の検索を監視し、その結果をデータ所有者装置(101)に報告する。 Next, the role of each entity will be explained with reference to Figure 3. The data owner device (101) is the device of the owner of the data (301). The data owner device (101) may be an individual's device or a corporate device that holds customer data, etc. The data administrator device (103) stores the data (301) entrusted to it by the data owner device (101) in an encrypted state, performs searches in response to requests from the data user device (102), and returns the search results to the data user device (102). The data user device (102) is an entity that has received permission from the data owner device (101) to use the data (301) to a certain extent. When the data user device (102) uses the data (301), it sends a query to the data administrator device (103) to retrieve the necessary information as a search request, and decrypts and uses the ciphertext, which is the search response from the data administrator device (103). The monitoring device (104) monitors the search performed by the data user device (102) and reports the results to the data owner device (101).
次に、図4を参照しながら、データ所有者装置の機能構成、および、データ所有者装置が保持する情報の一例について説明する。図4は、データ所有者装置(101)の使用する計算機の機能構成、および、データ所有者装置(101)が保持する情報をまとめた図である。 Next, referring to Figure 4, we will explain the functional configuration of the data owner device and an example of the information it holds. Figure 4 is a diagram summarizing the functional configuration of the computer used by the data owner device (101) and the information held by the data owner device (101).
データ所有者装置(101)の使用する計算機は、一般的な計算機201が具備する機能に加えて、鍵生成機能(401)および秘匿情報処理システムで保護対象のデータを暗号化し、暗号文データ(451)を出力する秘匿検索データ暗号化機能(402)を備える。また、ストレージ(220)には、保護対象のデータ(301)、および、データの利用範囲を規定した規約(411)が保存されている。また、鍵生成機能401を用いて生成した秘密鍵1(421)、秘密鍵2(422)、秘密鍵3(423)、秘密鍵1(421)に紐づけられた検索鍵1(431)、所有者ID(441)、連絡先アドレス(442)が保存されている。 The computer used by the data owner device (101) is equipped with, in addition to the functions of a general computer 201, a key generation function (401) and a secure search data encryption function (402) that encrypts the data to be protected using a secure information processing system and outputs ciphertext data (451). Furthermore, the storage (220) stores the data to be protected (301) and the regulations (411) that define the scope of data use. Also stored are the private key 1 (421), private key 2 (422), private key 3 (423) generated using the key generation function 401, the search key 1 (431) associated with private key 1 (421), the owner ID (441), and the contact address (442).
次に、図5を参照しながら、データ管理者装置の機能構成、および、データ管理者装置が保持する情報の一例を説明する。図5は、データ管理者装置(103)の使用する計算機の機能構成、および、データ管理者装置(103)が保持する情報をまとめた図である。 Next, referring to Figure 5, we will explain the functional configuration of the data management device and an example of the information it holds. Figure 5 is a diagram summarizing the functional configuration of the computer used by the data management device (103) and the information held by the data management device (103).
データ管理者装置(103)の使用する計算機は、一般的な計算機(201)が具備する機能に加えて、秘匿検索暗号で暗号化されたデータと秘匿検索暗号でクエリを照合する秘匿検索暗号文照合機能(501)を具備する。また、ストレージ(220)には、データ所有者装置(101)から委託された暗号文データ(511)および暗号化されたID(512)を含むデータベース1(510)があり、また、データ所有者装置(101)と共有する秘密鍵3(523)が保存されている。 The computer used by the data administrator device (103) is equipped with, in addition to the functions of a general-purpose computer (201), a secure search ciphertext matching function (501) that matches data encrypted with a secure search cipher with queries using the secure search cipher. Furthermore, the storage (220) contains a database 1 (510) containing ciphertext data (511) and encrypted IDs (512) entrusted by the data owner device (101), and also stores a secret key 3 (523) shared with the data owner device (101).
次に、図6を参照しながら、データ利用者装置の機能構成、および、データ利用者装置が保持する情報の一例を説明する。図6は、データ利用者装置(102)の使用する計算機の機能構成、および、データ利用者装置(102)が保持する情報をまとめた図である。 Next, referring to Figure 6, we will explain the functional configuration of the data user device and an example of the information it holds. Figure 6 is a diagram summarizing the functional configuration of the computer used by the data user device (102) and the information held by the data user device (102).
データ利用者装置(102)の使用する計算機は、一般的な計算機(201)が具備する機能に加えて、秘匿検索においてクエリを暗号化して暗号文クエリ(651)を出力する秘匿検索クエリ暗号化機能(601)、受信した検索結果を復号する秘匿検索データ復号機能(602)、復号したデータを用いて分析を行うデータ分析機能(603)を具備する。また、ストレージ(220)には、データ所有者装置(101)から受け取った秘密鍵1(621)および検索鍵(631)が保存されている。 The computer used by the data user device (102) has, in addition to the functions of a general-purpose computer (201), a secure search query encryption function (601) that encrypts queries and outputs ciphertext queries (651) during secure searches, a secure search data decryption function (602) that decrypts received search results, and a data analysis function (603) that performs analysis using the decrypted data. Furthermore, the storage (220) stores the secret key 1 (621) and search key (631) received from the data owner device (101).
次に、図7を参照しながら、監視者装置の機能構成、および、監視者装置が保持する情報の一例を説明する。図7は、監視者装置(104)の使用する計算機の機能構成、および、監視者装置(104)が保持する情報をまとめた図である。 Next, referring to Figure 7, we will explain the functional configuration of the monitoring device and an example of the information it holds. Figure 7 is a diagram summarizing the functional configuration of the computer used by the monitoring device (104) and the information held by the monitoring device (104).
監視者装置(104)の使用する計算機は、一般的な計算機(201)が具備する機能に加えて、所有者IDを照合する所有者ID照合機能(701)を具備する。なお、図においては、ユーザID照合機能と記載されている。また、ストレージ(220)には、所有者ID(711)と紐づけられた、ユーザの連絡先(712)および秘密鍵3で暗号化された暗号文クエリ(713)が格納されたデータベース2(710)と、データ所有者装置(101)から受け取った秘密鍵2(722)が保存されている。 The computer used by the monitoring device (104) has, in addition to the functions of a general-purpose computer (201), an owner ID verification function (701) for verifying the owner ID. In the diagram, this is labeled as the user ID verification function. Furthermore, the storage (220) stores a database 2 (710) containing user contact information (712) and ciphertext queries (713) encrypted with the private key 3, all linked to the owner ID (711), as well as the private key 2 (722) received from the data owner device (101).
次に、図8を参照しながら、秘匿情報処理システムの処理の一例について説明する。図8は、本実施形態における、エンティティ間の通信プロトコルを表すメッセージシーケンスチャートである。このプロトコルは、登録(801)、検索(802)、報告(803)の3つのフェーズで構成される。以下、それぞれについて説明する。 Next, an example of the processing of the confidential information processing system will be described with reference to Figure 8. Figure 8 is a message sequence chart representing the communication protocol between entities in this embodiment. This protocol consists of three phases: registration (801), retrieval (802), and reporting (803). Each of these will be described below.
先ず、登録フェーズについて説明する。データ所有者装置(101)とデータ利用者装置(102)の使用者は、あらかじめデータ(301)の利用について協議を行い、その利用範囲を規約(411)にまとめ、相互のストレージに保管しておく(登録ステップ1)。 First, let's explain the registration phase. The users of the data owner device (101) and the data user device (102) consult in advance regarding the use of the data (301), summarize the scope of use in an agreement (411), and store it in each other's storage (Registration Step 1).
データ所有者装置(101)は、鍵生成機能(401)を用いて秘密鍵1(421)と、それに紐づいた検索鍵1(431)を生成し、データ利用者装置(102)に送信し、また、自身のストレージ(220)に保管する。データ利用者装置(102)は、受信した秘密鍵1(621)と検索鍵1(631)をストレージ(220)に保管する(登録ステップ2)。 The data owner device (101) generates a private key 1 (421) and its associated search key 1 (431) using its key generation function (401), transmits them to the data user device (102), and also stores them in its own storage (220). The data user device (102) stores the received private key 1 (621) and search key 1 (631) in its storage (220) (registration step 2).
データ所有者装置(101)は、鍵生成機能(401)を用いて秘密鍵2(422)を生成し、ストレージ(220)に保管する。また、秘密鍵2(422)、データ所有者装置(101)の所有者ID(441)、データ所有者装置の報告先アドレス(442)を監視者装置(104)に送信する。監視者装置(104)は、受信した秘密鍵2(722)、データ所有者装置(101)の所有者ID(441)、データ所有者装置の報告先アドレス(442)をストレージ(220)に保管する(登録ステップ3)。 The data owner device (101) generates a private key 2 (422) using the key generation function (401) and stores it in the storage (220). It also transmits the private key 2 (422), the owner ID (441) of the data owner device (101), and the reporting address (442) of the data owner device to the monitoring device (104). The monitoring device (104) stores the received private key 2 (722), the owner ID (441) of the data owner device (101), and the reporting address (442) of the data owner device in the storage (220) (registration step 3).
データ所有者装置(101)は、鍵生成機能(401)を用いて秘密鍵3(423)を生成し、データ管理者装置(103)に送信する。データ管理者装置(103)は、受信した秘密鍵3(523)をストレージ(220)に保管する(登録ステップ4)。 The data owner device (101) generates a private key 3 (423) using the key generation function (401) and transmits it to the data administrator device (103). The data administrator device (103) stores the received private key 3 (523) in the storage (220) (registration step 4).
データ所有者装置(101)は、秘匿検索データ暗号化機能(402)と秘密鍵1(421)を用いてデータ(301)を暗号化し、暗号文データ(451)を生成する。また、秘密鍵2(422)を用いて所有者ID(441)を暗号化し、暗号文ID(452)を生成する。データ所有者装置(101)は、暗号文データ(451)と暗号文ID(452)を対にしてデータ管理者装置(103)に送信する。データ管理者装置(103)は、受信した暗号文データ(451)と暗号文ID(452)と登録ステップ4で受信した秘密鍵3(523)を紐づけ、データベース1(510)に保管する(登録ステップ5)。 The data owner device (101) encrypts the data (301) using the confidential search data encryption function (402) and secret key 1 (421), generating ciphertext data (451). It also encrypts the owner ID (441) using secret key 2 (422), generating ciphertext ID (452). The data owner device (101) sends the ciphertext data (451) and ciphertext ID (452) as a pair to the data administrator device (103). The data administrator device (103) links the received ciphertext data (451), ciphertext ID (452), and secret key 3 (523) received in registration step 4, and stores them in database 1 (510) (registration step 5).
次に、検索フェーズについて説明する。データ利用者装置(102)は、検索鍵1(631)を使って検索クエリを暗号化した暗号文クエリ(651)を生成し、データ管理者装置(103)に送信する(検索ステップ1)。 Next, the search phase will be described. The data user device (102) generates an encrypted query (651) by encrypting the search query using the search key 1 (631) and sends it to the data administrator device (103) (search step 1).
データ管理者装置(103)は、受信した暗号文クエリ(651)で暗号文データ(511)が保管されているデータベース1(510)を検索し、検索にヒットした暗号文データ(511)と暗号文所有者ID(512)の対を監視者装置(104)に送信する。また、秘密鍵3(523)で暗号化した暗号文クエリ(651)を監視者装置(104)に送信する(検索ステップ2)。 The data administrator device (103) searches database 1 (510) where the ciphertext data (511) is stored using the received ciphertext query (651), and sends the pairs of ciphertext data (511) and ciphertext owner IDs (512) that match the search result to the monitoring device (104). It also sends the ciphertext query (651), encrypted with the secret key 3 (523), to the monitoring device (104) (search step 2).
監視者装置(104)は、受信した暗号文データ(511)をデータ利用者装置(102)に送信する(検索ステップ3)。 The monitoring device (104) transmits the received ciphertext data (511) to the data user device (102) (search step 3).
監視者装置(104)は、受信した暗号文ID(512)を、秘密鍵2(722)を用いて復号し、該当する所有者ID(711)に秘密鍵3で暗号化された検索クエリ(651)を紐づける(検索ステップ4)。 The monitoring device (104) decrypts the received ciphertext ID (512) using the secret key 2 (722) and associates the corresponding owner ID (711) with the search query (651) encrypted with the secret key 3 (search step 4).
データ利用者装置(102)は、受信した暗号文データ(511)を秘密鍵1(621)で復号し、データ利用者装置(102)の使用者は、該データを利用する(検索ステップ5)。 The data user device (102) decrypts the received ciphertext data (511) using the secret key 1 (621), and the user of the data user device (102) utilizes the data (search step 5).
次に、報告フェーズについて説明する。監視者装置(104)は、データ所有者装置ごとに、検索ステップ4で蓄積した秘密鍵3で暗号化された検索クエリ(713)のリストから、所有者ID(711)に紐づけられたデータを抽出し、同じく所有者ID(711)に紐づけられたデータ所有者装置の連絡先アドレス(712)に暗号文クエリ(713)のリストを送信する(報告ステップ1)。 Next, the reporting phase will be described. The monitoring device (104) extracts data associated with the owner ID (711) from the list of search queries (713) encrypted with the secret key 3 accumulated in search step 4, for each data owner device, and sends the list of encrypted queries (713) to the contact address (712) of the data owner device also associated with the owner ID (711) (reporting step 1).
データ所有者装置(101)は、受信した秘密鍵3で暗号化された暗号文クエリ(713)のリストを秘密鍵3(423)で復号し、規約(411)に照らし合わせて、利用範囲を超えた利用の有無を確認する(報告ステップ2)。 The data owner device (101) decrypts the list of ciphertext queries (713) encrypted with the received secret key 3 using the secret key 3 (423), and checks whether there has been any use beyond the scope of use by comparing it with the agreement (411) (reporting step 2).
本実施形態によれば、データ利用者装置(102)が知りえる情報は検索結果として得られたデータの部分情報のみである。また、検索内容はデータ所有者装置(101)に知られるため、データ利用者装置(102)による無制限なデータ(301)の利用を抑止できると考えられる。データ管理者装置(103)は、共通鍵暗号ベースの従来の秘匿検索データベースとして知りえる以上の情報を得ることは無い。また、監視者装置(104)は暗号化された検索クエリと所有者IDを受信するが、検索クエリ自体は暗号化されているため、有用な情報を得ることはできない。 According to this embodiment, the data user device (102) can only access partial information about the data obtained as a search result. Furthermore, since the search content is known to the data owner device (101), it is considered possible to deter the data user device (102) from using the data (301) without restriction. The data administrator device (103) does not obtain any information beyond what it would know as a conventional secure search database based on symmetric-key cryptography. Additionally, the monitor device (104) receives encrypted search queries and owner IDs, but since the search queries themselves are encrypted, it cannot obtain any useful information.
なお、以下のようにしてもよい。本実施形態では、登録ステップ2において、データ所有者装置(101)が秘密鍵1(421)と検索鍵1(431)を生成しているが、この鍵はデータ利用者装置(102)が生成しても良い。この場合、データ利用者装置(102)は、生成した秘密鍵1(421)をデータ所有者装置(101)に送信する。また、データ所有者装置(101)は、登録ステップ5において、受信した秘密鍵1(421)でデータ(301)を暗号化し、暗号文データ(451)を生成する。 Furthermore, the following may also be used. In this embodiment, in registration step 2, the data owner device (101) generates the secret key 1 (421) and the search key 1 (431), but these keys may also be generated by the data user device (102). In this case, the data user device (102) transmits the generated secret key 1 (421) to the data owner device (101). Also, in registration step 5, the data owner device (101) encrypts the data (301) with the received secret key 1 (421) and generates ciphertext data (451).
また、本実施形態では、検索ステップ1において、データ利用者装置(102)はデータ管理者装置(103)に暗号文クエリ(651)を送信しているが、データ利用者装置(102)は監視者装置(104)に暗号文クエリ(651)を送信し、監視者装置(104)がデータ管理者装置(103)に暗号文クエリ(651)を転送しても良い。また、検索ステップ2において、データ管理者装置(103)は、暗号文データ(511)をデータ利用者装置(102)に送信しても良い。この場合、検索ステップ103において、監視者装置(104)が暗号文データ(511)をデータ利用者装置(102)に送信することが省略されても良い。 Furthermore, in this embodiment, in search step 1, the data user device (102) transmits the ciphertext query (651) to the data administrator device (103). However, the data user device (102) may transmit the ciphertext query (651) to the monitor device (104), and the monitor device (104) may forward the ciphertext query (651) to the data administrator device (103). Also, in search step 2, the data administrator device (103) may transmit the ciphertext data (511) to the data user device (102). In this case, the transmission of the ciphertext data (511) by the monitor device (104) to the data user device (102) in search step 103 may be omitted.
また、本実施形態では、データ所有者装置(101)はデータ(301)を直接利用しないため、登録フェーズが完了した段階で、データ所有者装置(101)から平文のデータ(301)を削除しても良い。同様に、秘密鍵1(421)、秘密鍵2(422)も自身では使用しないため、データ所有者装置(101)から削除しても良い。 Furthermore, in this embodiment, since the data owner device (101) does not directly use the data (301), the plaintext data (301) may be deleted from the data owner device (101) once the registration phase is complete. Similarly, since the private key 1 (421) and private key 2 (422) are not used by the data owner device (101), they may also be deleted from the data owner device (101).
また、本実施形態においてデータ利用者装置が複数である場合に、本実施形態の検索ステップ1において、データ利用者装置(102)がデータ監視者装置(104)に暗号文クエリ(651)と共にデータ利用者装置のID情報を送信し、データ管理者装置(103)は、受信したデータ利用者装置のID情報を秘密鍵3(523)で暗号化して監視者装置(104)に送信し、監視者装置(104)は秘密鍵3(523)で暗号化されたデータ利用者装置のID情報を暗号文のリストと共にデータ所有者装置(101)に送信しても良い。これにより、データ所有者装置(101)は、それぞれのクエリを実行したデータ利用者装置を特定することができる。すなわち、個々のデータ利用者装置について、許諾の範囲を超えたデータ利用があったかどうかを確認することができる。 Furthermore, in this embodiment, if there are multiple data user devices, in search step 1 of this embodiment, the data user device (102) may transmit the ID information of the data user device along with the ciphertext query (651) to the data monitor device (104). The data administrator device (103) may encrypt the received ID information of the data user device with the secret key 3 (523) and transmit it to the monitor device (104). The monitor device (104) may then transmit the ID information of the data user device encrypted with the secret key 3 (523) along with a list of ciphertexts to the data owner device (101). This allows the data owner device (101) to identify the data user device that executed each query. In other words, it can verify whether data usage exceeded the scope of the license for each individual data user device.
次に、図9を参照しながら、報告レポートの形式の一例について説明する。図9は、本実施例の報告ステップ2において、データ所有者装置(101)が受信、復号した報告の表示例である。ここで、図4に記載のデータ所有者装置(101)は、さらに情報を表示するディスプレイ(910)と、検索クエリが規約に準拠しているか判定する検索クエリ判定機能(920)とを具備する。 Next, an example of the report format will be described with reference to Figure 9. Figure 9 shows an example of the display of the report received and decoded by the data owner device (101) in reporting step 2 of this embodiment. Here, the data owner device (101) described in Figure 4 further includes a display (910) for displaying information and a search query determination function (920) for determining whether the search query conforms to the rules.
検索クエリ判定機能(920)は、復号された検索ログのエントリ(940)ごとに、規約(411)への準拠性を判定し、ディスプレイ(910)に出力する。ディスプレイ(910)に表示される項目としては、たとえば、クエリが発行された時刻(941)、データ利用者のID(942)、検索コマンド(943)、1つ以上の検索キーワード(944)がある。 The search query determination function (920) determines compliance with the rules (411) for each decrypted search log entry (940) and outputs the result to the display (910). Items displayed on the display (910) include, for example, the time the query was issued (941), the data user's ID (942), the search command (943), and one or more search keywords (944).
ディスプレイ上では、規約に準拠していない、もしくは準拠していることが明確でないエントリに対して、色やフォントで強調したり、アラート文(950)を表示したりすることで、データ所有者に対する視認の容易性を高めることができる。また、デフォルトでは規約に準拠していないエントリのみ表示しても良い。また、規約に準拠していないエントリの比率など、統計的な情報を表示しても良い。 On the display, entries that do not comply with the rules, or whose compliance is unclear, can be highlighted with color or font, or an alert message (950) can be displayed to improve visibility for data owners. Alternatively, only entries that do not comply with the rules may be displayed by default. Statistical information, such as the percentage of entries that do not comply with the rules, may also be displayed.
データ利用者が検索キーワードの開示を望まない場合には、規約でその旨を定め、検索ステップ2において、データ管理者装置(103)が検索クエリからキーワードを取り除いても良い。 If a data user does not wish to disclose their search keywords, this may be stipulated in the terms of service, and the data administrator device (103) may remove the keywords from the search query in search step 2.
時刻情報(941)は、検索ステップ1において、データ利用者装置(102)が送信時の時刻を送信情報に付加しても良い。また、検索ステップ2において、データ管理者装置(103)が受信時の時刻を送信情報に付加しても良い。 In search step 1, the time information (941) may be added to the transmission information by the data user device (102) at the time of transmission. Alternatively, in search step 2, the data administrator device (103) may add the time of reception to the transmission information.
以上、本発明の実施形態について詳述したが、本発明は、前記の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の精神を逸脱しない範囲で、種々の設計変更を行うことができるものである。例えば、前記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。さらに、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 Although embodiments of the present invention have been described in detail above, the present invention is not limited to the embodiments described above, and various design modifications can be made without departing from the spirit of the invention as described in the claims. For example, the embodiments described above are described in detail for the purpose of clearly explaining the present invention, and are not necessarily limited to those having all the configurations described. Furthermore, it is possible to replace parts of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add configurations from other embodiments to the configuration of one embodiment. Moreover, it is possible to add, delete, or replace parts of the configuration of each embodiment with other configurations.
各種の機能は、一例として、プログラムをプロセッサが実行することで実現される。ここで、プログラムはストレージに格納され、プロセッサがデータをメモリに読み出して所定の処理を実行してもよい。また、プログラムは、外部装置の記憶媒体からネットワーク経由、可搬型記憶媒体経由等により取得されてもよい。 Various functions are implemented, for example, by the processor executing a program. Here, the program may be stored in storage, and the processor may read the data into memory and execute predetermined processing. Alternatively, the program may be acquired from an external storage device via a network, portable storage medium, etc.
105…ネットワーク、211…CPU、212…メモリ、220…ストレージ、230…通信インターフェース、240…通信路暗号機能、401…鍵生成機能、402…秘匿検索データ暗号化機能 105…Network, 211…CPU, 212…Memory, 220…Storage, 230…Communication Interface, 240…Channel Encryption Function, 401…Key Generation Function, 402…Secure Search Data Encryption Function
Claims (15)
前記データ管理者装置は、
第一のデータベースを備え、
前記データ所有者装置が所持するデータに関し、第一の秘密鍵で暗号化された暗号文データと、前記データ所有者装置の所有者IDと、を前記第一のデータベースに保管し、
前記データ利用者装置は、
前記第一の秘密鍵と、前記第一の秘密鍵に紐づけられた前記暗号文データの検索に用いる検索鍵と、を保管し、
前記監視者装置は、
第二のデータベースを備え、
前記データ所有者装置の所有者IDと、前記データ所有者装置の所有者への報告先の情報と、を前記第二のデータベースに保管し、
前記データ利用者装置は、
データ検索実行の際に、前記検索鍵で暗号化した暗号文検索クエリを前記データ管理者装置に送信し、
前記データ管理者装置は、
前記暗号文検索クエリを受信した際に、前記第一のデータベースから前記暗号文検索クエリに合致する前記暗号文データを抽出し、前記暗号文データに紐づけられた前記データ所有者装置の所有者IDと、前記暗号文検索クエリと、を組として前記監視者装置に送信し、
前記第二のデータベースは、検索ログとして記録する、前記データ所有者装置の所有者ID、前記報告先、前記暗号文検索クエリのエントリを含み、
前記監視者装置は、
前記データ管理者装置からデータを受信した際に、前記データ所有者装置の所有者IDをキーとして、前記第二のデータベースに前記暗号文検索クエリを登録し、
前記監視者装置は、
期間をおいて、前記第二のデータベースに蓄積した前記検索ログから、前記データ所有者装置の所有者IDに紐づけられた前記暗号文検索クエリの一覧を抽出し、前記データ所有者装置に送信し、
前記データ所有者装置は、
前記監視者装置から送信された前記暗号文検索クエリの一覧を取得する、
ことを特徴とする秘匿検索システム。 A secure search system comprising a data owner device, a data user device, a data administrator device, and a monitor device, using symmetric-key cryptography,
The aforementioned data administrator device is
Equipped with the first database,
With respect to the data held by the data owner device, the ciphertext data encrypted with the first secret key and the owner ID of the data owner device are stored in the first database.
The aforementioned data user device is
The system stores the first private key and a search key used to search for the ciphertext data associated with the first private key.
The monitoring device is,
Equipped with a second database,
The owner ID of the data owner device and the information of the recipient of the report to the owner of the data owner device are stored in the second database.
The aforementioned data user device is
When performing a data search, the ciphertext search query encrypted with the search key is sent to the data administrator device.
The aforementioned data administrator device is
Upon receiving the aforementioned ciphertext search query, the system extracts the ciphertext data matching the ciphertext search query from the first database, and transmits the owner ID of the data owner device associated with the ciphertext data and the ciphertext search query as a pair to the monitoring device.
The second database includes, as a search log, the owner ID of the data owner device, the reporting destination, and entries for the ciphertext search query.
The monitoring device is,
When data is received from the data management device, the ciphertext search query is registered in the second database using the owner ID of the data owner device as the key.
The monitoring device is,
After a period of time, a list of the ciphertext search queries associated with the owner ID of the data owner device is extracted from the search logs accumulated in the second database and sent to the data owner device.
The aforementioned data owner device is
Obtain a list of the ciphertext search queries transmitted from the monitoring device.
A secure search system characterized by the following features.
前記データ管理者装置は、
前記データ利用者装置から送信された前記暗号文検索クエリに合致する暗号文データを、前記データ利用者装置に送信し、
前記データ利用者装置は、
受信した前記暗号文データを前記第一の秘密鍵で復号する、
ことを特徴とする秘匿検索システム。 A secure search system according to claim 1,
The aforementioned data administrator device is
The ciphertext data that matches the ciphertext search query transmitted from the data user device is transmitted to the data user device.
The aforementioned data user device is
The received ciphertext data is decrypted using the first secret key.
A secure search system characterized by the following features.
前記データ管理者装置は、
前記データ利用者装置から送信された前記暗号文検索クエリに合致する暗号文データを、前記監視者装置に送信し、
前記監視者装置は、
前記暗号文データを前記データ利用者装置に転送し、
前記データ利用者装置は、
受信した前記暗号文データを前記第一の秘密鍵で復号する、
ことを特徴とする秘匿検索システム。 A secure search system according to claim 1,
The aforementioned data administrator device is
The ciphertext data that matches the ciphertext search query transmitted from the data user device is transmitted to the monitor device.
The monitoring device is,
The ciphertext data is transferred to the data user device.
The aforementioned data user device is
The received ciphertext data is decrypted using the first secret key.
A secure search system characterized by the following features.
前記第一のデータベースが保管する前記データ所有者装置の所有者IDは、第二の秘密鍵で暗号化されており、
前記監視者装置は、
前記第二の秘密鍵を保管し、
受信した前記データ所有者装置の所有者IDを前記第二の秘密鍵で復号してから、前記第二のデータベースに前記検索ログの登録を行う、
ことを特徴とする秘匿検索システム。 A secure search system according to claim 1,
The owner ID of the data owner device stored in the first database is encrypted with a second secret key.
The monitoring device is,
Store the aforementioned second private key,
The owner ID of the data owner device received is decrypted with the second secret key, and then the search log is registered in the second database.
A secure search system characterized by the following features.
前記第一のデータベースが保管する前記データ所有者装置の所有者IDは、第二の秘密鍵で暗号化されており、
前記監視者装置は、
前記第二の秘密鍵を保管し、
受信した前記データ所有者装置の所有者IDを前記第二の秘密鍵で復号してから、前記第二のデータベースに前記検索ログの登録を行う、
ことを特徴とする秘匿検索システム。 The confidential search system according to claim 2,
The owner ID of the data owner device stored in the first database is encrypted with a second secret key.
The monitoring device is,
Store the aforementioned second private key,
The owner ID of the data owner device received is decrypted with the second secret key, and then the search log is registered in the second database.
A secure search system characterized by the following features.
前記第一のデータベースが保管する前記データ所有者装置の所有者IDは、第二の秘密鍵で暗号化されており、
前記監視者装置は、
前記第二の秘密鍵を保管し、
受信した前記データ所有者装置の所有者IDを前記第二の秘密鍵で復号してから、前記第二のデータベースに前記検索ログの登録を行う、
ことを特徴とする秘匿検索システム。 The confidential search system according to claim 3,
The owner ID of the data owner device stored in the first database is encrypted with a second secret key.
The monitoring device is,
Store the aforementioned second private key,
The owner ID of the data owner device received is decrypted with the second secret key, and then the search log is registered in the second database.
A secure search system characterized by the following features.
前記データ所有者装置および前記データ管理者装置は、
第三の秘密鍵を保管し、
前記データ管理者装置は、
前記暗号文検索クエリを前記第三の秘密鍵で暗号化してから送信し、
前記データ所有者装置は、
取得した前記暗号文検索クエリを前記第三の秘密鍵で復号する、
ことを特徴とする秘匿検索システム。 A secure search system according to claim 1,
The data owner device and the data administrator device are
Store the third private key,
The aforementioned data administrator device is
The aforementioned ciphertext search query is encrypted with the third secret key and then sent.
The aforementioned data owner device is
The acquired ciphertext search query is decrypted with the third secret key.
A secure search system characterized by the following features.
前記データ所有者装置および前記データ管理者装置は、
第三の秘密鍵を保管し、
前記データ管理者装置は、
前記暗号文検索クエリを前記第三の秘密鍵で暗号化してから送信し、
前記データ所有者装置は、
取得した前記暗号文検索クエリを前記第三の秘密鍵で復号する、
ことを特徴とする秘匿検索システム。 The confidential search system according to claim 2,
The data owner device and the data administrator device are
Store the third private key,
The aforementioned data administrator device is
The aforementioned ciphertext search query is encrypted with the third secret key and then sent.
The aforementioned data owner device is
The acquired ciphertext search query is decrypted with the third secret key.
A secure search system characterized by the following features.
前記データ所有者装置および前記データ管理者装置は、
第三の秘密鍵を保管し、
前記データ管理者装置は、
前記暗号文検索クエリを前記第三の秘密鍵で暗号化してから送信し、
前記データ所有者装置は、
取得した前記暗号文検索クエリを前記第三の秘密鍵で復号する、
ことを特徴とする秘匿検索システム。 The confidential search system according to claim 3,
The data owner device and the data administrator device are
Store the third private key,
The aforementioned data administrator device is
The aforementioned ciphertext search query is encrypted with the third secret key and then sent.
The aforementioned data owner device is
The acquired ciphertext search query is decrypted with the third secret key.
A secure search system characterized by the following features.
前記データ所有者装置および前記データ管理者装置は、
第三の秘密鍵を保管し、
前記データ管理者装置は、
前記暗号文検索クエリを前記第三の秘密鍵で暗号化してから送信し、
前記データ所有者装置は、
取得した前記暗号文検索クエリを前記第三の秘密鍵で復号する、
ことを特徴とする秘匿検索システム。 The confidential search system according to claim 4,
The data owner device and the data administrator device are
Store the third private key,
The aforementioned data administrator device is
The aforementioned ciphertext search query is encrypted with the third secret key and then sent.
The aforementioned data owner device is
The acquired ciphertext search query is decrypted with the third secret key.
A secure search system characterized by the following features.
前記データ所有者装置および前記データ管理者装置は、
第三の秘密鍵を保管し、
前記データ管理者装置は、
前記暗号文検索クエリを前記第三の秘密鍵で暗号化してから送信し、
前記データ所有者装置は、
取得した前記暗号文検索クエリを前記第三の秘密鍵で復号する、
ことを特徴とする秘匿検索システム。 The confidential search system according to claim 5,
The data owner device and the data administrator device are
Store the third private key,
The aforementioned data administrator device is
The aforementioned ciphertext search query is encrypted with the third secret key and then sent.
The aforementioned data owner device is
The acquired ciphertext search query is decrypted with the third secret key.
A secure search system characterized by the following features.
前記データ所有者装置および前記データ管理者装置は、
第三の秘密鍵を保管し、
前記データ管理者装置は、
前記暗号文検索クエリを前記第三の秘密鍵で暗号化してから送信し、
前記データ所有者装置は、
取得した前記暗号文検索クエリを前記第三の秘密鍵で復号する、
ことを特徴とする秘匿検索システム。 The confidential search system according to claim 6,
The data owner device and the data administrator device are
Store the third private key,
The aforementioned data administrator device is
The aforementioned ciphertext search query is encrypted with the third secret key and then sent.
The aforementioned data owner device is
The acquired ciphertext search query is decrypted with the third secret key.
A secure search system characterized by the following features.
前記データ所有者装置は、
ディスプレイを備え、
取得した前記暗号文検索クエリの一覧に基づいて、前記データ利用者装置によるデータ検索実行に関する内容を前記ディスプレイに表示する、
ことを特徴とする秘匿検索システム。 A secure search system according to claim 1,
The aforementioned data owner device is
Equipped with a display,
Based on the list of ciphertext search queries obtained, the content related to the data search execution by the data user device is displayed on the display.
A secure search system characterized by the following features.
前記データ所有者装置は、
データの利用範囲を規定した規約を保管し、
前記規約に準拠していない、もしくは、準拠していることが明確でない前記データ利用者装置によるデータ検索実行に関する内容について、アラート文を前記ディスプレイに表示する、
ことを特徴とする秘匿検索システム。 A confidential search system according to claim 13,
The aforementioned data owner device is
We will keep a record of the terms and conditions that define the scope of data use.
Regarding the content of data retrieval execution by the data user device that does not comply with the aforementioned regulations, or whose compliance is not clear, an alert message will be displayed on the display.
A secure search system characterized by the following features.
前記秘匿検索方法は、
共通鍵暗号を用いた方法であり、登録フェーズと、検索フェーズと、報告フェーズと、を含み、
前記登録フェーズは、
前記データ所有者装置の使用者が、所持するデータを第一の秘密鍵で暗号化して、前記データ所有者装置の所有者IDと共に前記データ管理者装置に委託し、前記第一のデータベースに委託されたデータを保管するステップと、
前記データ所有者装置の使用者が、前記データ利用者装置に前記第一の秘密鍵と、第一の秘密鍵に紐づけられた暗号文データを検索するための検索鍵を委託するステップと、
前記データ所有者装置の使用者が、前記データ所有者装置の所有者IDと報告先の情報を前記監視者装置に事前に連絡し、前記データ所有者装置の所有者ID、前記データ所有者装置の使用者への連絡先、クエリを、エントリとして含み、検索ログを記録する前記第二のデータベースに連絡を受けた情報を保管するステップと、を含み、
前記検索フェーズは、
前記データ利用者装置が、検索実行の際に検索クエリを前記検索鍵で暗号化した暗号文検索クエリを前記データ管理者装置に送信するステップと、
前記データ管理者装置が、前記暗号文検索クエリを受信すると、前記第一のデータベースから前記暗号文検索クエリに合致する暗号文データを抽出し、暗号文データに紐づけられた前記データ所有者装置の所有者ID、前記暗号文検索クエリを組として前記監視者装置に送信するステップと、
前記監視者装置が、前記データ管理者装置からデータを受信すると、前記データ所有者装置の所有者IDをキーとして、前記第二のデータベースに前記暗号文検索クエリを登録するステップと、を含み、
前記報告フェーズは、
前記監視者装置が、前記データ所有者装置に対して、期間をおいて前記第二のデータベースに蓄積した検索ログから所有者IDに紐づけられた暗号文検索クエリの一覧を抽出し、前記データ所有者装置に送信するステップと、
前記データ所有者装置が、受信した前記暗号文検索クエリの一覧を取得するステップと、を含む、
ことを特徴とする秘匿検索方法。 A confidential search method using a data owner device, a data user device, a data administrator device equipped with a first database, and a monitor device equipped with a second database,
The aforementioned confidential search method is:
This method uses symmetric-key cryptography and includes a registration phase, a search phase, and a reporting phase.
The aforementioned registration phase is
The user of the data owner device encrypts the data they possess with a first secret key, entrusts it to the data administrator device along with the owner ID of the data owner device, and stores the entrusted data in the first database.
The user of the data owner device entrusts the data user device with the first private key and a search key for searching for ciphertext data associated with the first private key,
The steps include: the user of the data owner device in advance contacts the monitoring device with the owner ID of the data owner device and information of the reporting destination; and stores the contacted information in the second database which records a search log and includes the owner ID of the data owner device, contact information for the user of the data owner device, and queries as entries;
The aforementioned search phase is,
The data user device sends a ciphertext search query, which is the search query encrypted with the search key, to the data administrator device when performing a search.
When the data administrator device receives the ciphertext search query, it extracts ciphertext data matching the ciphertext search query from the first database, and sends the owner ID of the data owner device associated with the ciphertext data and the ciphertext search query as a set to the monitor device.
The monitoring device, upon receiving data from the data administrator device, includes the step of registering the ciphertext search query in the second database using the owner ID of the data owner device as the key.
The aforementioned reporting phase is,
The monitoring device extracts a list of ciphertext search queries associated with the owner ID from the search logs accumulated in the second database after a period of time, and sends it to the data owner device.
The data owner device includes the step of obtaining a list of received ciphertext search queries,
A confidential search method characterized by the following features.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022098483A JP7833355B2 (en) | 2022-06-17 | 2022-06-17 | Secure search system, secure search method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022098483A JP7833355B2 (en) | 2022-06-17 | 2022-06-17 | Secure search system, secure search method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023184362A JP2023184362A (en) | 2023-12-28 |
| JP7833355B2 true JP7833355B2 (en) | 2026-03-19 |
Family
ID=89333516
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022098483A Active JP7833355B2 (en) | 2022-06-17 | 2022-06-17 | Secure search system, secure search method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7833355B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025196989A1 (en) * | 2024-03-21 | 2025-09-25 | 日本電気株式会社 | Data management device, monitoring support device, management support device, data management method, monitoring support method, management support method, and recording medium |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003157259A (en) | 2001-09-05 | 2003-05-30 | Fuji Xerox Co Ltd | Information retrieval system |
| JP2011227618A (en) | 2010-04-16 | 2011-11-10 | Mars Flag Corp | Information providing server, client terminal, and computer program |
| JP2012123614A (en) | 2010-12-08 | 2012-06-28 | Hitachi Ltd | Searchable encryption processing system |
| US20130179495A1 (en) | 2012-01-10 | 2013-07-11 | Electronics And Telecommunications Research Institute | System and method for alerting leakage of personal information in cloud computing environment |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20170069116A (en) * | 2015-12-10 | 2017-06-20 | 윤재영 | Copyright tracking and verification system |
-
2022
- 2022-06-17 JP JP2022098483A patent/JP7833355B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003157259A (en) | 2001-09-05 | 2003-05-30 | Fuji Xerox Co Ltd | Information retrieval system |
| JP2011227618A (en) | 2010-04-16 | 2011-11-10 | Mars Flag Corp | Information providing server, client terminal, and computer program |
| JP2012123614A (en) | 2010-12-08 | 2012-06-28 | Hitachi Ltd | Searchable encryption processing system |
| US20130179495A1 (en) | 2012-01-10 | 2013-07-11 | Electronics And Telecommunications Research Institute | System and method for alerting leakage of personal information in cloud computing environment |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023184362A (en) | 2023-12-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Bay et al. | Practical multi-party private set intersection protocols | |
| CN112800472B (en) | Industrial internet identification data protection system based on micro-service architecture | |
| JP6962629B1 (en) | Data sharing systems, data sharing methods, and data sharing programs | |
| JP6180177B2 (en) | Encrypted data inquiry method and system capable of protecting privacy | |
| US8447983B1 (en) | Token exchange | |
| JP6925686B1 (en) | Information processing system, information processing device, information processing method, and information processing program | |
| CN103238295B (en) | System and method for hosting encrypted monitoring data | |
| US20140172830A1 (en) | Secure search processing system and secure search processing method | |
| JP7011874B1 (en) | Data sharing systems, data sharing methods and data sharing programs | |
| EP4185978B1 (en) | Encrypted information retrieval | |
| EP3871127A1 (en) | Privacy preserving server | |
| CN108170753B (en) | A method for encryption and secure query of Key-Value database in public cloud | |
| JP7833355B2 (en) | Secure search system, secure search method | |
| JP4594078B2 (en) | Personal information management system and personal information management program | |
| CN111295656B (en) | Privacy-preserving log analysis | |
| Riad et al. | Secure storage and retrieval of IoT data based on private information retrieval | |
| CN118153075B (en) | Data storage encryption method, device and electronic equipment | |
| CN118869237B (en) | Power grid physical asset data protection method and system based on G-AES algorithm | |
| CN118199992B (en) | Data encryption method and device, electronic equipment and storage medium | |
| Tang et al. | Functional Privacy-preserving Outsourcing Scheme with Computation Verifiability in Fog Computing. | |
| Ghunaim et al. | Secure kNN query of outsourced spatial data using two-cloud architecture: T. Ghunaim et al. | |
| US12197615B2 (en) | Secured search for ready-made search software | |
| Kodada et al. | FSACE: finite state automata-based client-side encryption for secure data deduplication in cloud computing | |
| Katre et al. | Trusted third party for data security in cloud environment | |
| CN116881516B (en) | Anonymous query method, device, equipment and medium for enterprise information |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20241204 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250911 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250930 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251114 |
|
| 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: 20260217 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260309 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7833355 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |