WO2014128958A1 - サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム - Google Patents
サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム Download PDFInfo
- Publication number
- WO2014128958A1 WO2014128958A1 PCT/JP2013/054735 JP2013054735W WO2014128958A1 WO 2014128958 A1 WO2014128958 A1 WO 2014128958A1 JP 2013054735 W JP2013054735 W JP 2013054735W WO 2014128958 A1 WO2014128958 A1 WO 2014128958A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- keyword
- search
- encryption
- encrypted
- deterministic
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Definitions
- the present invention relates to a server device that performs a secret search, a secret search program, a recording medium, and a secret search system.
- the secret search system allows a searcher to search for data stored in a server by specifying a keyword, and at that time, the data and the keyword are kept secret from the server.
- the secret search system is expected to be applied to outsourcing of confidential data management and filtering of encrypted mail in a mail server.
- technologies for achieving various safety requirements and various technologies for reducing server, searcher storage, communication overhead, and calculation overhead have been proposed.
- Secure search can be broadly divided into those based on deterministic encryption and those based on probabilistic encryption.
- a secure search based on deterministic encryption the same keyword corresponds to the same encrypted keyword. Therefore, the server only needs to perform binary match determination based on the specified encrypted keyword. It has the merit that it can be made.
- the frequency information of the keyword appears as the frequency information of the encrypted keyword as it is, there is a disadvantage that an attack called “frequency analysis” in which the server guesses the corresponding keyword by examining the frequency of the encrypted keyword is possible.
- Patent Document 1 a table for storing a value of probabilistic encryption and a table for storing a value of deterministic encryption are prepared, and a table that encrypts and holds the relationship between the two tables is used. A method for quickly searching for the value of is disclosed.
- both the probabilistic encryption value and the deterministic encryption value are transmitted to the server. Since the information related to these correspondences is encrypted in subsequent processing, if data is leaked to an external attacker, the attacker may link the probabilistic encryption value and the deterministic encryption value. This is not possible, and the security of the data is kept at the same level as the stochastic encryption.
- the server itself can link the value of the probabilistic encryption and the value of the deterministic encryption at the time of the data registration process, and if it is a malicious server, a frequency analysis attack using this information is possible. is there. For this reason, there is a problem that the security for the server is reduced to the same level as that of the deterministic encryption.
- the present invention has been made to solve the above-described problem, and by searching for the entire secret search system by incorporating deterministic encryption elements without reducing the security for the server from the stochastic encryption-based secret search.
- the goal is to improve speed.
- the server device of this invention In a server device that executes a secret search, A trapdoor generated from a keyword by a probabilistic encryption method as a secret search request from a search device, wherein the keyword of search target data in the secret search is encrypted by a stochastic encryption method A server-side communication unit that receives a set of a trapdoor used for matching determination and a deterministic encryption keyword generated by a deterministic encryption method from the keyword that is a source of generation of the trapdoor; As a history of past secret search requests, a search history storage unit that stores a set of the trapdoor and the deterministic encryption keyword received by the server-side communication unit; The search target data and the encryption keyword of the search target data are associated with each other, and if known, the keyword information in which the deterministic encryption keyword corresponding to the encryption keyword is further associated is stored.
- a data storage unit It is determined whether or not the deterministic encryption keyword that matches the deterministic encryption keyword received by the server side communication unit is present in the search history storage unit.
- a secret search of search target data based on a deterministic encryption method using the deterministic encryption keyword existing in the search history storage unit, and determining that it does not exist, Using the received trap door and the encrypted keyword of the keyword information stored in the data storage unit as a target, a secret search of search target data based on a probabilistic encryption method is performed. And a determination unit to be executed.
- the search speed of the entire secret search system can be improved without reducing the security for the server from the stochastic encryption-based secret search.
- FIG. 1 is a diagram illustrating a configuration of a secret search system 100 according to a first embodiment.
- FIG. 2 is a block diagram of the server apparatus 201 according to the first embodiment.
- FIG. 2 is a block diagram of a registration device 301 according to the first embodiment.
- FIG. 3 is a block diagram of the search device 401 according to the first embodiment.
- FIG. 3 shows an encrypted keyword storage area 211 in the first embodiment.
- FIG. 3 shows a data storage area 212 according to the first embodiment.
- FIG. 3 shows a search history storage area 213 according to the first embodiment.
- FIG. 3 shows an encrypted keyword storage area 211 in the first embodiment.
- FIG. 3 shows a data storage area 212 according to the first embodiment.
- FIG. 3 shows an encrypted keyword storage area 211 in the first embodiment.
- FIG. 3 shows a data storage area 212 according to the first embodiment.
- FIG. 3 shows an encrypted keyword storage area 211 in the first embodiment.
- FIG. 3 shows a data storage area 212 according to the first embodiment.
- FIG. 3 shows a search history storage area 213 according to the first embodiment.
- FIG. 3 shows an encrypted keyword storage area 211 in the first embodiment.
- FIG. 3 shows an encrypted keyword storage area 211 in the first embodiment.
- FIG. 3 shows a search history storage area 213 according to the first embodiment.
- FIG. 3 shows an encrypted keyword storage area 211 in the first embodiment.
- FIG. 3 shows a search history storage area 213 according to the first embodiment.
- FIG. FIG. 3 shows an encrypted keyword storage area 211 in the first embodiment.
- FIG. 3 shows an encrypted keyword storage area 211 in the first embodiment.
- FIG. 5 is a flow showing initial settings of the server device 201, the registration device 301, and the search device 401 according to the first embodiment.
- FIG. 3 is a diagram showing a flow of transmission processing of the registration device 301 according to the first embodiment.
- FIG. 3 is a diagram showing a flow of registration processing of the server device 201 according to the first embodiment. .
- FIG. . The figure which shows the flow of the secret search of the search device 401 of Embodiment 1.
- FIG. FIG. 6 is a diagram illustrating an example of an appearance of a server device 201 or the like according to the second embodiment.
- FIG. 3 is a diagram showing a flow of transmission processing of the registration device 301 according to the first embodiment.
- FIG. 3 is a diagram showing a flow of registration processing of the server device
- FIG. 1 The first embodiment will be described with reference to FIGS. 1 to 4 are diagrams showing the configuration of the confidential search system 100 and each device.
- 5 to 20 are diagrams showing the state of each storage area.
- 21 to 25 are flowcharts showing the operation of each device.
- a component is indicated by () in each flow, it indicates that the component is a subject of processing.
- FIG. 1 is a configuration example of a secret search system 100.
- the secret search system 100 allows a user to search for data (search target data) stored in the server device 201 by specifying a keyword. At that time, the secret search system 100 keeps the data and keywords secret from the server device 201.
- the secret search system 100 includes a server device 201, an information registration device 301, and an information search device 401.
- the server apparatus 201, the information registration apparatus 301, and the information search apparatus 401 are connected to the network 101, and communicate with each other via the network 101.
- the information registration apparatus 301 and the information search apparatus 401 are referred to as a registration apparatus 301 and a search apparatus 401.
- FIG. 2 is a block diagram illustrating a configuration example of the server apparatus 201 that holds data and keywords and performs a search in the secret search system 100. The components of each device shown in FIG. 2 will be described below.
- the encrypted keyword storage area 211 corresponds to a keyword encrypted by probabilistic encryption (hereinafter referred to as an encrypted keyword) and a keyword encrypted by deterministic encryption (hereinafter referred to as a definitive encrypted keyword).
- the data ID is stored in association with the data ID.
- FIG. 5 shows an example of data stored in the encrypted keyword storage area 211.
- the data storage area 212 stores data in association with the corresponding data ID.
- FIG. 6 shows an example of data stored in the data storage area 212. Examples of data include numerical values such as age, attributes such as gender, character strings such as names, files such as documents, and the like. A plurality of types of data may be held for one data ID.
- the encrypted keyword storage area 211 and the data storage area 212 constitute a data storage unit 210.
- the encrypted keyword and the data are associated with each other through the data ID.
- the encryption keyword (c 1 ) and the data (d 1 ) are associated with each other via the data ID (id 1 ).
- the related deterministic encryption keyword (det) it is known for the encryption keyword (c) and the data (d) as will be described later with reference to FIG.
- a definitive encryption keyword (det) is associated.
- Information having this relationship is referred to as keyword information.
- the keyword information may be realized by the encrypted keyword storage area 211 and the data storage area 212, or may be realized by the contents described later in FIG.
- the search history storage area 213 stores past search requests sent from the search device 401 as a search history.
- FIG. 7 shows an example of data stored in the search history storage area 213.
- the cache policy storage area 214 (policy storage unit) stores the search request sent from the search device 401 and the search processing result in the search history storage area 213 and the encrypted keyword storage area 211. This policy is memorized. Examples of policies include “Cache all search requests and search results”, “Cache search request and search results only when specified by the searcher”, “Cache all search requests and also cache search results for search requests executed n times or more”, “Cache deterministic encrypted keywords and all search results in search requests", Examples are given.
- the probabilistic cipher collation unit 221 uses a keyword for the trap door included in the search request sent from the search device 401 and the encrypted keyword (by probabilistic encryption) stored in the encrypted keyword storage area 211. Determine whether or not. In addition, keyword matching determination is also performed for the trap door stored in the search history storage area 213 and the encrypted keyword sent from the registration device 301. These processes can be realized using an existing encryption technique (a stochastic encryption-based secret search technique).
- the deterministic encryption matching unit 222 matches the keywords for the definitive encryption keyword included in the search request transmitted by the search device 401 and the definitive encryption keyword stored in the encryption keyword storage area 211. Determine whether or not. This process can be realized using binary match determination.
- the probabilistic cryptographic verification unit 221 and the definitive cryptographic verification unit 222 constitute a determination unit 220.
- the cache processing unit 223 Based on the contents of the cache policy storage area 214, the cache processing unit 223 sends the search request sent from the search device 401 and the search processing result to the search history storage area 213 and the encrypted keyword storage area 211.
- the registration unit 224 stores the encrypted keyword, encrypted data, etc. received from the registration device 301 in the encrypted keyword storage area 211 and the data storage area 212.
- the communication unit 231 (server side communication unit) communicates with the registration device 301 and the search device 401.
- FIG. 3 is a block diagram illustrating a configuration example of a registration device 301 that registers encrypted data (search target data) in the server device 201 in the secure search system 100.
- the registration encryption key storage area 311 stores an encryption key used for data encryption and encryption keyword generation at the time of data registration.
- the data encryption processing unit 321 encrypts data using the data encryption key stored in the registration encryption key storage area 311. This process can be realized using an existing encryption technique (for example, a public key encryption technique such as RSA (registered trademark)).
- the encrypted keyword generation unit 322 generates an encrypted keyword for secret search from the keyword using the encrypted keyword generation key stored in the registration encryption key storage area 311. This process can be realized using an existing encryption technique (a probabilistic encryption-based secret search technique).
- the communication unit 331 communicates with the server device 201.
- FIG. 4 is a block diagram illustrating a configuration example of the search device 401 that requests the server device 201 to search for encrypted data in the secret search system 100.
- the search encryption key storage area 411 stores secret information used for trapdoor generation, deterministic encryption keyword generation, and data decryption at the time of data search.
- the data decryption processing unit 421 decrypts data by using the data decryption key stored in the search encryption key storage area 411. This process can be realized using an existing encryption technique (for example, a public key encryption technique such as RSA (registered trademark)).
- the trap door generation unit 422 uses the trap door generation key stored in the search encryption key storage area 411 to generate a secret search search request (trap door) from the keyword. This process can be realized using an existing encryption technique (a probabilistic encryption-based secret search technique).
- the deterministic encryption keyword generation unit 423 generates a deterministic encryption keyword from the keyword using the deterministic encryption keyword generation key stored in the search encryption key storage area 411. This process can be realized using an existing encryption technique (for example, a common key encryption technique such as AES).
- the communication unit 431 search side transmission unit communicates with the server device 201.
- the procedure in the secure search system 100 is as follows: (A) A part for initial setting of each device, (B) A part in which the registration device 301 transmits and stores search target data to the server device 201. (C) a portion where the search device 401 searches for and acquires data on the server device 201; It is divided roughly into. Each procedure will be described below.
- FIG. 21 shows initial settings of the server apparatus 201 and the like.
- the server apparatus 201 stores the cache policy in the cache policy storage area 214.
- the cache policy is, for example, a policy of “whether the search request sent from the search device 401 or the search processing result is stored in the search history storage area 213 or the encrypted keyword storage area 211”.
- the cache policy may be determined by an administrator of a search apparatus 401 or a company using the confidential search system 100 and sent to the server apparatus 201. Alternatively, the server device 201 itself may determine. In the following description, it is assumed that the cache policy is “cache all search requests and search results”.
- the search device 401 stores secret information used for data decryption, trapdoor generation, and deterministic encryption keyword generation in the search encryption key storage area 411. This may be generated by the data decryption processing unit 421, the trapdoor generation unit 422, or the definitive encryption keyword generation unit 423. Alternatively, secret information appropriately generated outside may be acquired. When the secret information for data decryption and trapdoor generation is generated by itself, the corresponding encryption key for data encryption and encryption keyword generation is disclosed or sent to the registration device 301.
- the registration device 301 stores an encryption key used for data encryption and encryption keyword generation in a registration encryption key storage area 311. Normally, the registration device 301 acquires and stores an encryption key corresponding to the secret information stored in the search encryption key storage area 411 of the search device 401 so that the valid search device 401 can correctly perform the search / decryption process. . This procedure is complete.
- FIG. 22 is a flow of transmission processing by the registration apparatus 301.
- a data transmission process to the server apparatus 201 by the registration apparatus 301 will be described.
- the data encryption processing unit 321 of the registration device 301 assigns a unique data ID (id x ) to the data.
- the data encryption processing unit 321 encrypts data using the data encryption key stored in the registration encryption key storage area 311.
- an existing encryption technology that can be decrypted only by a valid search device 401 is used (encrypted data is d x ).
- step S103 the encryption keyword generation unit 322 encrypts the keyword associated with the data using the encryption keyword generation key stored in the registration encryption key storage area 311.
- the communication unit 331 transmits the data ID, the encrypted keyword, and the encrypted data set (id x , c x , d x ) to the server apparatus 201.
- FIG. 23 is a flow of data registration processing by the server apparatus 201. With reference to FIG. 23, the data registration process of the server apparatus 201 is demonstrated.
- the registration unit 224 associates the encryption keyword (c x ) with the data ID (id x ) and encrypts the keyword
- the data is stored in the storage area 211, and the encrypted data (d x ) is stored in the data storage area 212 in association with the data ID (id x ) (S201).
- the registration unit 224 stores the information in association with each other like (c x , id x ) and (d x , id x ).
- the contents of the encrypted keyword storage area 211 and the data storage area 212 before this procedure are as shown in FIGS.
- the server apparatus 201 receives (id 6 , c 6 , d 6 ) and performs processing, the contents of the encrypted keyword storage area 211 and the data storage area 212 are updated as shown in FIGS. 10 and 11, respectively. Is done.
- the probabilistic cryptographic verification unit 221 determines whether there is a trapdoor in the search history storage area 213.
- the “trap door” is information transmitted as a confidential search request from the search device 401 to the server device 201.
- the trap door will be described later in S301 of FIG. If there is a trap door (YES in S202), the stochastic cipher collation unit 221 performs collation processing using the trap door (if there is no trap door, this processing is skipped). (3) If there is a trap door, in S203, the stochastic cipher collation unit 221 determines for each trap door (td i ) stored in the search history storage area 213 and the received encrypted keyword (c x ). A match determination is performed as to whether or not the keywords match (a matching process is executed).
- the probabilistic cryptographic collation unit 221 determines whether there is a matching trap door (td i ) in the search history storage area 213. If there is a match (and td y), the probabilistic encryption verification unit 221, are stored in the search-history storage area 213 in association with the trapdoor (td y), deterministic encryption keyword (det y) Is identified. The probabilistic encryption verification unit 221 stores the specified (det y ) as a definitive encryption keyword in the encryption keyword storage area 211 in association with the received encryption keyword (c x ) (S205).
- the probabilistic encryption verification unit 221 uses the trapdoors (td 1 ) to (td 5 ) and the encrypted keyword (c 6 ) Perform keyword matching judgment.
- the definitive encryption keyword corresponding to the encryption keyword (c 6 ) is (det 2 ). Therefore, (c 6 ) and (det 2 ) are stored in the encrypted keyword storage area 211 in association with each other.
- the encrypted keyword storage area 211 is updated as shown in FIG. If no keyword match is found, no particular processing is performed. This procedure is complete.
- the legitimate search device 401 can perform a secret search by specifying a keyword for the data stored in the server device 201.
- a secret search by specifying a keyword for the data stored in the server device 201.
- FIG. 24 is a flow of search request processing by the search apparatus 401.
- search request transmission processing by the search device 401 will be described.
- the trap door generation unit 422 of the search device 401 generates a trap door from a keyword to be searched using the trap door generation key stored in the search encryption key storage area 411.
- an existing encryption technique probabilistic encryption-based secret search technique
- a trapdoor is information generated by a probabilistic encryption method from a keyword to be searched. The trapdoor is used for matching determination with an encrypted keyword obtained by encrypting a keyword of search target data in a secret search by a probabilistic encryption method.
- the deterministic encryption keyword generation unit 423 generates a deterministic encryption keyword from the keyword to be searched using the deterministic encryption keyword generation key stored in the search encryption key storage area 411.
- an existing encryption technique for example, a common key encryption technique such as AES
- the deterministic encryption method deterministic encryption keyword is det x . That is, the deterministic encryption keyword generation unit 423 generates a deterministic encryption keyword (det x ) from the keyword td x that is a source of generation of the trapdoor d x by a deterministic encryption method.
- the communication unit 431 transmits a set (td x , det x ) of the trap door (td x ) and the definitive encryption keyword (det x ) to the server apparatus 201 as a secret search request (S303). Since (det x ) is generated by deterministic encryption, if the keyword to be searched is the same, the same value is always obtained. (3) The search device 401 receives the search result from the server device 201 (S401).
- FIG. 25 is a processing flow of the secret search by the server device 201.
- the communication unit 231 receives a search request (td x , det x ) from the search device 401.
- the server apparatus 201 first determines whether or not the keyword to be searched is included in the search history so far. Specifically, the deterministic encryption matching unit 222 determines each deterministic encryption keyword (det i ) stored in the search history storage area 213 and the deterministic encryption keyword included in the search request (td x , det x ).
- search it is determined whether or not the keywords match for (det x ) (S304, S305). Since this determination (search) may be binary match determination, an existing search technique (when encryption is not considered) can be used. Examples of existing search techniques include speeding up by sorting data in advance and speeding up by using a hash table.
- the previous search result can be used.
- the fact that the previous search results can be used is based on the cache processing (S312) by the cache processing unit described later.
- the deterministic encryption collating unit 222 extracts a record in which the definitive encrypted keyword matches the definitive encrypted keyword (det x ) included in the search request from the encrypted keyword storage area 211. Similar to the above (S304), this extraction process may be binary match determination, so existing search techniques can be used.
- the definitive cryptographic verification unit 222 acquires the data ID (id) from the matched record (S306), and acquires the encrypted data (d) corresponding to the acquired data ID from the data storage area 212 (S307). ).
- the communication unit 231 transmits the encrypted data acquired in S307 to the search device 401 (S308). Note that. When a plurality is acquired, all may be transmitted, or a part may be transmitted.
- the existing keyword search technique is used to search the records in the encrypted keyword storage area 211 one by one.
- the probabilistic cryptographic collation unit 221 targets all the encrypted keywords (c i ) included in the encrypted keyword storage area 211 as trap targets (td x , det x ) included in the search request (td x , det x ).
- a keyword match determination with td x ) is performed (S309). If the encrypted keyword (c) that matches the received trap door (td x ) is hit (YES in S310), the probabilistic encryption matching unit 221 reads data from the matched record from the encrypted keyword storage area 211. ID (id) is acquired, and encrypted data corresponding to the data ID (id) is acquired from the data storage area 212 (S311). Thereafter, the communication unit 231 transmits the encrypted data acquired above to the search device 401 (S308).
- a cache process of “search request and search result” is further performed (S312). Specifically, the cache processing unit 223 stores the search request in the search history storage area 213 according to the contents of the cache policy (history policy) stored in the cache policy storage area 214. Further, the cache processing unit 223 uses the deterministic encryption keyword (det x ) included in the search request as the deterministic encryption keyword (det) for the record that matches the keyword among the records in the encryption keyword storage area 211. Is stored (S311 and S312).
- the cache processing unit 223 determines whether to store det x included in the search request (td x , det x ) according to the contents of the cache policy (association policy) stored in the cache policy storage area 214. To do.
- the cache policy instructs storage, the cache processing unit 223 stores det x of the search request in association with (c k ) in the encrypted keyword storage area 211.
- the cache processing in S312 enables high-speed search (binary match search) using the definitive encrypted keyword (det) when the search is performed with the same keyword from the next time (S306, S307). Further, even when data (id, c, d) is additionally registered by transmission from the registration device 301, it matches the past search keyword (td) using the trap door in the search history storage area 213. Since the encrypted keyword (c) to be searched can be identified in advance, the time required for the search process can be shortened (S202 to S205 in FIG. 23).
- the data decryption processing unit 421 of the search device 401 uses the data decryption key stored in the search encryption key storage area 411. Decrypt encrypted data.
- an existing encryption technology is used so that only a valid search device 401 can decrypt the data. This procedure is complete.
- the probabilistic encryption verification unit 221 searches the encryption keyword storage area 211 (FIG. 10) for an encryption keyword that matches the trap door (td 6 ). As a result, for example, if (c 2 ) and (c 5 ) match, the server apparatus 201 transmits the encrypted data (d 2 ) and (d 5 ) corresponding to these to the search apparatus 401 as a search result. .
- the cache processing unit 223 of the server device 201 stores the definitive encryption keyword (det 6 ) in the matched record in the encryption keyword storage area 211 (FIG. 10) based on the cache policy, and the search history storage area 213.
- the search request (td 6 , det 6 ) is stored in (FIG. 12).
- the encrypted keyword storage area 211 and the search history storage area 213 are updated as shown in FIGS.
- the search device 401 further transmits a search request (td 7 , det 6 ) generated from the same keyword to the server device 201 (deterministic encryption keywords have the same value, but the trap door Note that the values are different).
- a search request (td 7 , det 6 ) generated from the same keyword
- the server device 201 retrieves the deterministic encryption keyword (det 6 ) from the search history storage area 213 (FIG. 15)
- the deterministic encryption collating unit 222 searches the encrypted keyword storage area 211 (FIG. 14) for a record including the definitive encrypted keyword (det 6 ).
- the server apparatus 201 transmits the encrypted data (d 2 ) and (d 5 ) corresponding to these to the search apparatus 401 as the search results. .
- the cache processing related to the search request / search result is not performed.
- a secret search system is realized in which the search device 401 can search data and keywords while keeping the data and keywords secret from the server device 201 by the procedures of (A. Initial setting of each device) to (C. Data search and acquisition). it can.
- A. Initial setting of each device to (C. Data search and acquisition).
- C. Data search and acquisition the processing by the stochastic encryption matching unit 221 (probabilistic encryption-based secret search) is not performed at all. All the keyword match determinations are only binary match determinations by the deterministic cipher matching unit 222. For this reason, the time required for the search process can be greatly reduced.
- the security with respect to the server device 201 is not lowered at all.
- the identity of keywords for some encrypted keywords ((c 2 ) and (c 5 ) in FIG. 14) stored in the encrypted keyword storage area 211. May be leaked.
- this is information that can be acquired by the server apparatus 201 even with a conventional secret search (using only probabilistic encryption), the security of the server apparatus 201 is not reduced.
- the server device 201 stores the deterministic encryption keyword
- data is leaked to an external attacker
- extra information is leaked to the attacker.
- an external attacker cannot perform a frequency analysis attack at the time of data leakage, but in the method shown in this embodiment, a frequency analysis attack is performed on a searched keyword.
- all search histories and search results may be cached as in the present embodiment.
- a cache policy may be set.
- Another meaning of the cache policy is to control the number of trap doors stored in the search history storage area 213.
- the number of trap doors increases, data registration for the procedure (B. transmission and storage of search target data) It takes time for the verification process (S203) between the encrypted keyword and each trapdoor. Therefore, it is conceivable to set a cache policy that limits the number of trapdoors stored in the search history storage area 213 so that it does not take too much time for data registration.
- the encrypted keyword (c) that has been verified against the certain trap door (td x ) (verified in S309) and the encrypted keyword (c) that has not been verified are mixed. There are things to do. For this reason, information for distinguishing these is required.
- the encrypted keyword storage area 211 stores contents as shown in FIG. 16, and the search history storage area 213 stores contents as shown in FIG. 16 and 17 can express the following contents. The following can be said from FIG. For the record IDs 1 to 5 (c 1 to c 5 ) in the encrypted keyword storage area 211 (FIG.
- trap doors corresponding to (det 1 ) to (det 6 ), that is, (td 1 ) to (td 6 ) are set.
- the collation used search collation
- the server apparatus 201 that has received (td 7 , det 1 ) from the search apparatus 401 as a search request matches the search for the record IDs 1 to 5 in FIG. 16 (without using the trap door (td 7 )). I understand that I don't. From FIG.
- the registration device 301 also encrypts data not used for the search (data before encryption of the encrypted data) and transmits it to the server device 201. However, if it is not necessary to conceal the data, the data may be transmitted to the server device 201 without being encrypted. Further, when data that is not used for the search includes data that needs to be concealed and data that does not need to be concealed, only data that needs to be concealed may be encrypted and transmitted to the server apparatus 201.
- a means for generating a deterministic encryption keyword encryption in which the same keyword is always converted to the same value (for example, common key encryption such as AES) is used.
- common key encryption such as AES
- the encryption is not necessarily performed. That is, since it is not necessary to restore the original keyword from the deterministic encryption keyword, a keyed hash function such as HMAC may be used.
- a trap door that is generated stochastically from a keyword and a deterministic encryption keyword are used together as a search request.
- a trapdoor that can be matched with an encryption keyword (probably generated) can be deterministically generated from the keyword, one deterministic trapdoor should have both the role of trapdoor and deterministic encryption keyword.
- This can be realized, for example, by deterministically generating a random number used for generating a stochastic trapdoor (by applying a hash function to a keyword).
- the cache policy determined by the procedure (A. Initial setting of each device) is unchanged in the entire system.
- changes may be made during system operation, for example, by an administrator of a system user company.
- the encrypted keyword storage area 211 contains a mixture of encrypted keywords that have already been verified against trapdoors in the search history storage area 213, and non-matched encrypted keywords. Information is required.
- the registration device 301 assigns a data ID for each data, and associates the encrypted keyword with the encrypted data.
- the server device 201 may perform this. Specifically, the registration device 301 transmits an encryption keyword and a set of encrypted data (c x , d x ) to the server device 201, and the server device 201 assigns a unique data ID (id x ) thereto.
- (c x , id x ) is stored in the encrypted keyword storage area 211, and (id x , d x ) is stored in the data storage area 212.
- the server device 201 stores the encrypted keyword and the encrypted data separately in the encrypted keyword storage area 211 and the data storage area 212. However, it is also possible to manage this centrally. In this case, the stored data is as shown in FIG.
- one keyword corresponds to one data
- a plurality of keywords may be associated with one data.
- the data of FIG. 19 is stored in the encrypted keyword storage area 211.
- the encryption keywords (c 3 ) and (c 4 ) correspond to the data associated with (id 3 ).
- the data storage area 212 is used to return encrypted data as a search result. However, if there is no need to return encrypted data, the server apparatus 201 may not have the data storage area 212. For example, the encrypted data may be held by another device and only the data ID may be returned to enable access to the encrypted data.
- the registration device 301 and the search device 401 are separate devices. However, when only the information searcher can register information, these may be combined into one device. In this case, since it is not necessary to disclose the encrypted keyword generation key or the like to the outside, the secret search system 100 can be operated without giving extra information to the attacker.
- the encryption key and the secret information are stored in the registration encryption key storage area 311 of the registration apparatus 301 and the search encryption key storage area 411 of the search apparatus 401.
- they may be acquired from the outside when necessary without storing them. For example, acquisition from an IC card or automatic generation from a password / biological information may be executed.
- only one registration device 301 or search device 401 is used.
- a plurality of registration devices 301 and search devices 401 may be used to perform data registration and search, respectively.
- the same search result can be obtained from different devices by sharing the trap door generation key and the deterministic encryption keyword generation key among the plurality of search devices 401.
- FIG. The second embodiment will be described with reference to FIGS.
- a hardware configuration of a server device 201, a registration device 301, and a search device 401, which are computers, will be described. Since the server device 201, the registration device 301, and the search device 401 are all computers, the following description will be made assuming the server device 201. The following description of the server device 201 also applies to the registration device 301 and the search device 401.
- FIG. 26 is a diagram illustrating an example of an appearance of the server apparatus 201 that is a computer.
- FIG. 27 is a diagram illustrating an example of hardware resources of the server apparatus 201.
- the server device 201 includes a system unit 830, a display device 813 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, a keyboard 814 (KeyBoard: K / B), and a mouse 815. And hardware resources such as a compact disk device 818 (CDD: Compact Disk Drive), which are connected by a cable or a signal line.
- the system unit 830 is connected to the network.
- the server apparatus 201 includes a CPU 810 (Central Processing Unit) for executing a program.
- the CPU 810 is connected to a ROM (Read Only Memory) 811, a RAM (Random Access Memory) 812, a display device 813, a keyboard 814, a mouse 815, a communication board 816, a CDD 818, and a magnetic disk device 820 via a bus 825.
- Control hardware devices instead of the magnetic disk device 820, a storage device such as an optical disk device or a flash memory may be used.
- the RAM 812 is an example of a volatile memory.
- Storage media such as the ROM 811, the CDD 818, and the magnetic disk device 820 are examples of nonvolatile memories. These are examples of a storage device or a storage unit, a storage unit, a buffer, and a storage area.
- the communication board 816, the keyboard 814, and the like are examples of an input unit and an input device.
- the communication board 816, the display device 813, and the like are examples of an output unit and an output device.
- the communication board 816 (communication unit) is connected to a network.
- the magnetic disk device 820 stores an operating system 821 (OS), a window system 822, a program group 823, and a file group 824.
- the programs in the program group 823 are executed by the CPU 810, the operating system 821, and the window system 822.
- the program group 823 stores a program for executing the function described as “unit” in the description of the above embodiment.
- the program is read and executed by the CPU 810.
- the file group 824 includes “determination result”, “calculation result”, “extraction result”, “generation result”, and “processing result”.
- the described information, data, signal values, variable values, parameters, and the like are stored as items of “ ⁇ file” and “ ⁇ database”.
- the “ ⁇ file” and “ ⁇ database” are stored in a recording medium such as a disk or a memory.
- information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 810 via a read / write circuit, and extracted, searched, referenced, and compared. Used for CPU operations such as calculation, calculation, processing, output, printing, display, etc.
- Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.
- the data and signal values are the memory of the RAM 812, the compact disk of the CDD 818, the magnetic disk of the magnetic disk device 820, other optical disks, mini disks, and DVDs (Digital Versatile Disk). Or the like. Data and signals are transmitted on-line via the bus 825, signal lines, cables, and other transmission media.
- to part may be “to means”, and “to step”, “to procedure”, and “to process”. May be. That is, what has been described as “ ⁇ unit” may be implemented by software alone, a combination of software and hardware, or a combination of firmware.
- Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD.
- the program is read by the CPU 810 and executed by the CPU 810.
- the program causes the computer to function as the “ ⁇ unit” described above.
- it causes a computer to execute the procedures and methods of “to part” described above.
- the server device 201 has been described. However, it is obvious from the above description that the server device 201 can also be grasped as a secret search program for causing the server device 201 to function. Also, it is clear from the above description that the operations of each “ ⁇ unit” of the server apparatus 201 can be grasped as a secret search method.
- 100 secret search system 201 server device, 210 data storage unit, 211 encrypted keyword storage region, 212 data storage region, 213 search history storage region, 214 cache policy storage region, 220 determination unit, 221 probabilistic encryption verification unit, 222 Deterministic encryption verification unit, 223 cache processing unit, 224 registration unit, 231 communication unit, 301 information registration device, 311 registration encryption key storage area, 321 data encryption processing unit, 322 encrypted keyword generation unit, 331 communication unit, 401 Information search device, 411, search encryption key storage area, 421 data decryption processing unit, 422 trap door generation unit, 423 deterministic encryption keyword generation unit, 431 communication unit.
Abstract
Description
秘匿検索を実行するサーバ装置において、
検索装置から秘匿検索要求として、キーワードから確率的暗号化方式によって生成されるトラップドアであって、前記秘匿検索における検索対象データのキーワードが確率的暗号化方式によって暗号化された暗号化キーワードとの一致判定に使用されるトラップドアと、前記トラップドアの生成の元となる前記キーワードから確定的暗号化方式によって生成される確定的暗号化キーワードとの組を受信するサーバ側通信部と、
過去の秘匿検索要求の履歴として、前記サーバ側通信部によって受信された前記トラップドアと前記確定的暗号化キーワードとの組を格納する検索履歴記憶部と、
検索対象データと、この検索対象データの暗号化キーワードとが関連付けられると共に、判明している場合には、前記暗号化キーワードに対応する前記確定的暗号化キーワードがさらに関連付けられたキーワード情報を格納するデータ記憶部と、
前記サーバ側通信部が受信した前記確定的暗号化キーワードと一致する前記確定的暗号化キーワードが、前記検索履歴記憶部に存在するかどうかを判定し、存在すると判定した場合には、前記データ記憶部を対象として、前記検索履歴記憶部に存在する前記確定的暗号化キーワードを用いて、確定的暗号化方式に基づく検索対象データの秘匿検索を実行し、存在しないと判定した場合には、前記データ記憶部を対象として、受信した前記トラップドアと、前記データ記憶部に格納されている前記キーワード情報の前記暗号化キーワードとを用いて、確率的暗号化方式に基づく検索対象データの秘匿検索を実行する判定部と
を備えたことを特徴とする。
図1~図25を参照して実施の形態1を説明する。
図1~図4は秘匿検索システム100及び各装置の構成を示す図である。
図5~図20は、各記憶領域の状態を示す図である。
図21~図25は、各装置の動作を示すフローである。なお、各フローに()で構成要素が示されている場合は、その構成要素が処理の主体であることを示す。
図5は、暗号化キーワード記憶領域211が記憶するデータの一例を表す。
(2)データ記憶領域212は、データを、対応するデータIDと関連付けて記憶する。
図6は、データ記憶領域212が記憶するデータの一例を表す。なお、データの例としては年齢などの数値、性別などの属性、氏名などの文字列、文書などのファイルなどが挙げられる。また、一つのデータIDに対して複数種類のデータを保持しても良い。暗号化キーワード記憶領域211とデータ記憶領域212とは、データ記憶部210を構成する。なお、後述の図23のS201で述べるように、暗号化キーワード記憶領域211とデータ記憶領域212において、データIDを介して暗号化キーワードとデータとは関連付けられている。例えば図5、図6において、データID(id1)を介して暗号化キーワード(c1)とデータ(d1)とが関連付けられている。また関連する確定的暗号化キーワード(det)が判明している場合には、図13の説明で後述するように、暗号化キーワード(c)とデータ(d)とに対して、判明している確定的暗号化キーワード(det)が関連づけられる。この関係を有する情報をキーワード情報という。キーワード情報は暗号化キーワード記憶領域211とデータ記憶領域212とで実現してもよいし、図18で後述する内容で実現してもよい。
(3)検索履歴記憶領域213(検索履歴記憶部)は、検索装置401から送られてきた過去の検索要求を、検索履歴として記憶する。
図7は、検索履歴記憶領域213が記憶するデータの一例を表す。
(4)キャッシュポリシー記憶領域214(ポリシー記憶部)は、検索装置401から送られてきた検索要求や、検索処理の結果を、検索履歴記憶領域213や暗号化キーワード記憶領域211に記憶するか否かのポリシーを記憶する。
ポリシーの例としては、
「全ての検索要求と検索結果をキャッシュする」、
「検索者から指定があった場合に限り、検索要求と検索結果をキャッシュする」、
「全ての検索要求をキャッシュするとともに、n回以上実行された検索要求に対する検索結果もキャッシュする」、
「検索要求のうち確定的暗号化キーワード、および全ての検索結果をキャッシュする」、
などの例が挙げられる。
(5)確率的暗号照合部221は、検索装置401から送られてきた検索要求に含まれるトラップドアと、暗号化キーワード記憶領域211が記憶する、(確率的暗号による)暗号化キーワードについて、キーワードが一致するかどうかを判定する。また、検索履歴記憶領域213が記憶するトラップドアと、登録装置301から送られてきた暗号化キーワードについての、キーワード一致判定も行う。これらの処理は、既存の暗号技術(確率的暗号ベースの秘匿検索技術)を用いて実現できる。
(6)確定的暗号照合部222は、検索装置401が送信した検索要求に含まれる確定的暗号化キーワードと、暗号化キーワード記憶領域211が記憶する、確定的暗号化キーワードについて、キーワードが一致するかどうかを判定する。この処理は、バイナリ一致判定を用いて実現できる。確率的暗号照合部221と確定的暗号照合部222とは、判定部220を構成する。
(7)キャッシュ処理部223は、キャッシュポリシー記憶領域214の内容に基づき、検索装置401から送られてきた検索要求や、検索処理の結果を、検索履歴記憶領域213や暗号化キーワード記憶領域211に記憶する。
(8)登録部224は登録装置301から受信した暗号化キーワード、暗号化データ等を暗号化キーワード記憶領域211、データ記憶領域212に格納する。
(9)通信部231(サーバ側通信部)は、登録装置301や検索装置401と通信を行う。
(2)データ暗号処理部321は、登録用暗号鍵記憶領域311が記憶するデータ暗号化鍵を用い、データを暗号化する。この処理は、既存の暗号技術(例えばRSA(登録商標)などの公開鍵暗号技術)を用いて実現できる。
(3)暗号化キーワード生成部322は、登録用暗号鍵記憶領域311が記憶する暗号化キーワード生成鍵を用い、キーワードから、秘匿検索用の暗号化キーワードを生成する。この処理は、既存の暗号技術(確率的暗号ベースの秘匿検索技術)を用いて実現できる。
(4)通信部331は、サーバ装置201と通信を行う。
(2)データ復号処理部421は、検索用暗号鍵記憶領域411が記憶するデータ復号鍵を用い、データを復号する。この処理は、既存の暗号技術(例えばRSA(登録商標)などの公開鍵暗号技術)を用いて実現できる。
(3)トラップドア生成部422は、検索用暗号鍵記憶領域411が記憶するトラップドア生成鍵を用い、キーワードから、秘匿検索用の検索要求(トラップドア)を生成する。この処理は、既存の暗号技術(確率的暗号ベースの秘匿検索技術)を用いて実現できる。
(4)確定的暗号化キーワード生成部423は、検索用暗号鍵記憶領域411が記憶する確定的暗号化キーワード生成鍵を用い、キーワードから、確定的暗号化キーワードを生成する。この処理は、既存の暗号技術(例えばAESなどの共通鍵暗号技術)を用いて実現できる。
(5)通信部431(検索側送信部)は、サーバ装置201と通信を行う。
(A)各装置の初期設定を行う部分、
(B)登録装置301が検索対象データをサーバ装置201に送信、格納する部分、
(C)検索装置401がサーバ装置201上にあるデータを検索、取得する部分、
に大別される。以下、それぞれの手続きについて説明する。
図21は、サーバ装置201等の初期設定を示す。図21に示すように、サーバ装置201は、キャッシュポリシーをキャッシュポリシー記憶領域214に格納する。キャッシュポリシーは、例えば、「検索装置401から送られてきた検索要求や、検索処理の結果を、検索履歴記憶領域213や暗号化キーワード記憶領域211に記憶するか否か」のポリシーである。キャッシュポリシーは、検索装置401や、秘匿検索システム100を利用する企業などの管理者が決定してサーバ装置201に送付しても良い。あるいは、サーバ装置201自身が決定しても良い。なお、以降の説明では、キャッシュポリシーが「全ての検索要求と検索結果をキャッシュする」であるとして説明を行う。
登録装置301がデータをサーバ装置201に送信する場合、登録装置301は、後に検索装置401による秘匿検索が行えるよう、キーワードとデータを別々に暗号化したものを送信する。これらを受信したサーバ装置201は、必要に応じて検索履歴記憶領域213を参照しながら、暗号化キーワード記憶領域211、データ記憶領域212への格納を行う。以下、本手続きの手順を具体例とともに説明する。
(1)まず、S101において、登録装置301のデータ暗号処理部321が、データに対し、ユニークなデータID(idxとする)を割り当てる。
(2)次にS102において、データ暗号処理部321が、登録用暗号鍵記憶領域311が記憶するデータ暗号化鍵を用いて、データの暗号化を行う。ここでは、正当な検索装置401だけが復号できるような、既存の暗号技術を利用する(暗号化データをdxとする)。
(3)その後、S103において、暗号化キーワード生成部322が、データに関連付けられたキーワードを、登録用暗号鍵記憶領域311が記憶する暗号化キーワード生成鍵を用いて暗号化する。ここでは、正当な検索装置401だけが検索できるような、既存の暗号技術(確率的暗号ベースの秘匿検索技術)を利用する(暗号化キーワードをcxとする)。
(4)そしてS104において、通信部331が、データID、暗号化キーワード、暗号化データの組(idx,cx,dx)をサーバ装置201に送信する。
図23は、サーバ装置201によるデータの登録処理のフローである。図23を参照して、サーバ装置201のデータ登録処理を説明する。
(1)通信部231が登録装置301から(idx,cx,dx)を受信すると、登録部224は、暗号化キーワード(cx)をデータID(idx)と関連付けて暗号化キーワード記憶領域211に格納し、暗号化データ(dx)をデータID(idx)と関連付けてデータ記憶領域212に格納する(S201)。つまり登録部224は、(cx、idx)、(dx、idx)の様に対応付けて格納する。例えば、本手続き前の暗号化キーワード記憶領域211、データ記憶領域212の内容がそれぞれ図8、図9のとおりであったとする。この場合、サーバ装置201が(id6,c6,d6)を受信して処理を行うと、暗号化キーワード記憶領域211、データ記憶領域212の内容はそれぞれ図10、図11のように更新される。
(2)S202において、確率的暗号照合部221は、検索履歴記憶領域213にトラップドアが存在するかどうかを判定する。「トラップドア」とは、検索装置401からサーバ装置201に、秘匿検索要求として送信される情報である。トラップドアについては、図24のS301で後述する。トラップドアが存在する場合(S202でYES)、確率的暗号照合部221がトラップドアを用いた照合処理を行う(トラップドアが存在しない場合は本処理をスキップする)。
(3)トラップドアが存在する場合、S203において、確率的暗号照合部221が、検索履歴記憶領域213が記憶する各トラップドア(tdi)と、受信した暗号化キーワード(cx)とについて、キーワードが一致するかどうかの一致判定を実行(照合処理を実行)する。
(4)確率的暗号照合部221は、S204において、検索履歴記憶領域213のトラップドア(tdi)の中に一致するものがあるかどうか判定する。一致するものがあれば(tdyとする)、確率的暗号照合部221は、検索履歴記憶領域213でトラップドア(tdy)と関連付けて格納されている、確定的暗号化キーワード(dety)を特定する。確率的暗号照合部221は、特定した(dety)を、暗号化キーワード記憶領域211内の確定的暗号化キーワードとして、受信した暗号化キーワード(cx)と関連付けて格納する(S205)。
正当な検索装置401は、サーバ装置201に格納されたデータに対し、キーワードを指定して秘匿検索を行うことができる。以下、本手続きの手順を具体例とともに説明する。
図24は、検索装置401による検索要求の処理のフローである。図24を参照して、検索装置401による検索要求の送信処理を説明する。
(1)まず、S301において、検索装置401のトラップドア生成部422が、検索用暗号鍵記憶領域411が記憶するトラップドア生成鍵を用いて、検索したいキーワードからトラップドアを生成する。ここでは、既存の暗号技術(確率的暗号ベースの秘匿検索技術)を利用する(トラップドアをtdxとする)。トラップドアとは、検索したいキーワードから確率的暗号化方式によって生成される情報である。トラップドアは、秘匿検索における検索対象データのキーワードが確率的暗号化方式によって暗号化された暗号化キーワードとの一致判定に使用される。同時に、S302において、確定的暗号化キーワード生成部423が、検索用暗号鍵記憶領域411が記憶する確定的暗号化キーワード生成鍵を用いて、検索したいキーワードから確定的暗号化キーワードを生成する。ここでは、確定的暗号化方式として既存の暗号技術(例えばAESなどの共通鍵暗号技術)を利用する(確定的暗号化キーワードをdetxとする)。つまり確定的暗号化キーワード生成部423は、トラップドアdxの生成の元となるキーワードtdxから、確定的暗号化方式によって確定的暗号化キーワード(detx)を生成する。
そして、
(2)通信部431が、トラップドア(tdx)、確定的暗号化キーワード(detx)の組(tdx,detx)を、秘匿検索要求としてサーバ装置201に送信する(S303)。
なお、(detx)は確定的暗号によって生成されるため、検索したいキーワードが同一であれば、常に同一の値が得られることになる。
(3)検索装置401は、サーバ装置201から検索結果を受信する(S401)。
図25は、サーバ装置201による秘匿検索の処理フローである。図25を参照して、サーバ装置201による秘匿検索処理を説明する。
(1)通信部231は検索装置401から検索要求(tdx,detx)を受信する。
(2)この検索要求を受信したサーバ装置201は、まず、検索しようとするキーワードが、これまでの検索履歴に含まれているか否かを判定する。具体的には、確定的暗号照合部222が、検索履歴記憶領域213が記憶する各確定的暗号化キーワード(deti)と、検索要求(tdx,detx)に含まれる確定的暗号化キーワード(detx)について、キーワードが一致するかどうかを判定する(S304、S305)。この判定(検索)はバイナリ一致判定で良いため、既存の(暗号化を考えない場合の)検索技術が利用できる。既存の検索技術の例としては、データをあらかじめソートしておくことによる高速化や、ハッシュテーブルの利用による高速化などが挙げられる。
(4)その後、通信部231が検索装置401に、S307で取得された暗号化データを送信する(S308)。なお。複数取得された場合は全て送信するようにしても、一部を送信するようにしても良い。
確定的暗号化キーワードのバイナリ一致が見つからなかった場合(S305でNO)では、さらに、「検索要求および検索結果」のキャッシュ処理を実施する(S312)。具体的には、キャッシュ処理部223が、キャッシュポリシー記憶領域214に格納されたキャッシュポリシー(履歴ポリシー)の内容に従って、検索要求を検索履歴記憶領域213に格納する。また、キャッシュ処理部223は、暗号化キーワード記憶領域211のレコードのうち、キーワードが一致したレコードについて、確定的暗号化キーワード(det)として、検索要求に含まれる確定的暗号化キーワード(detx)を格納する(S311,S312)。この場合、S310の判定で暗号化キーワード記憶領域211に検索要求(tdx、detx)の(tdx)に対応する暗号化キーワード(c)がヒットした場合には(ヒットしたcをckとする)、キャッシュ処理部223は、キャッシュポリシー記憶領域214に格納されたキャッシュポリシー(関連付けポリシー)の内容に従って、検索要求(tdx、detx)に含まれるdetxを格納するかどうかを決定する。キャッシュポリシーが格納を指示する場合は、キャッシュ処理部223は検索要求のdetxを、暗号化キーワード記憶領域211の(ck)に対応付けて格納する。S312のキャッシュ処理によって、次回以降、同じキーワードで検索が行われる際に、確定的暗号化キーワード(det)を利用した高速な検索(バイナリ一致検索)が可能となる(S306,S307)。また、登録装置301からの送信により、データ(id,c,d)が追加で登録された際にも、検索履歴記憶領域213のトラップドアを利用して、過去の検索キーワード(td)と一致する暗号化キーワード(c)をあらかじめ洗い出すことができるので、検索処理に要する時間を短縮できる(図23のS202~S205)。
最後に、図24のS401に示すように、検索結果である暗号化データを受信した検索装置401のデータ復号処理部421が、検索用暗号鍵記憶領域411が記憶するデータ復号鍵を用いて、暗号化データを復号する。ここでは、正当な検索装置401だけが復号できるような、既存の暗号技術を利用する。以上で本手続きは完了である。
図26、図27を参照して実施の形態2を説明する。実施の形態2は、コンピュータであるサーバ装置201,登録装置301,検索装置401のハードウェア構成を説明する。サーバ装置201,登録装置301,検索装置401はいずれもコンピュータであるので、以下ではサーバ装置201を想定して説明する。以下のサーバ装置201の説明は登録装置301,検索装置401にも当てはまる。
図27は、サーバ装置201のハードウェア資源の一例を示す図である。
Claims (7)
- 秘匿検索を実行するサーバ装置において、
検索装置から秘匿検索要求として、キーワードから確率的暗号化方式によって生成されるトラップドアであって、前記秘匿検索における検索対象データのキーワードが確率的暗号化方式によって暗号化された暗号化キーワードとの一致判定に使用されるトラップドアと、前記トラップドアの生成の元となる前記キーワードから確定的暗号化方式によって生成される確定的暗号化キーワードとの組を受信するサーバ側通信部と、
過去の秘匿検索要求の履歴として、前記サーバ側通信部によって受信された前記トラップドアと前記確定的暗号化キーワードとの組を格納する検索履歴記憶部と、
検索対象データと、この検索対象データの暗号化キーワードとが関連付けられると共に、判明している場合には、前記暗号化キーワードに対応する前記確定的暗号化キーワードがさらに関連付けられたキーワード情報を格納するデータ記憶部と、
前記サーバ側通信部が受信した前記確定的暗号化キーワードと一致する前記確定的暗号化キーワードが、前記検索履歴記憶部に存在するかどうかを判定し、存在すると判定した場合には、前記データ記憶部を対象として、前記検索履歴記憶部に存在する前記確定的暗号化キーワードを用いて、確定的暗号化方式に基づく検索対象データの秘匿検索を実行し、存在しないと判定した場合には、前記データ記憶部を対象として、受信した前記トラップドアと、前記データ記憶部に格納されている前記キーワード情報の前記暗号化キーワードとを用いて、確率的暗号化方式に基づく検索対象データの秘匿検索を実行する判定部と
を備えたことを特徴とするサーバ装置。 - 前記サーバ装置は、さらに、
前記サーバ側通信部によって受信された前記トラップドアと前記確定的暗号化キーワードとの組を前記検索履歴記憶部に格納するかどうかの履歴ポリシーを格納するポリシー記憶部と、
前記判定部が、前記サーバ側通信部が受信した前記確定的暗号化キーワードと一致する前記確定的暗号化キーワードが前記検索履歴記憶部に存在しないと判定した場合には、受信した前記トラップドアと前記確定的暗号化キーワードとの組を前記検索履歴記憶部に格納するかどうかを前記ポリシー記憶部の前記履歴ポリシーに従って決定するキャッシュ処理部と
を備えたことを特徴とする請求項1記載のサーバ装置。 - 前記判定部は、
前記サーバ側通信部が受信した前記確定的暗号化キーワードと一致する前記確定的暗号化キーワードが前記検索履歴記憶部に存在しないと判定した場合には、前記データ記憶部を対象として、受信した前記トラップドアと、前記データ記憶部に格納されている前記キーワード情報の前記暗号化キーワードとの一致判定を実行し、
前記ポリシー記憶部は、
前記判定部が前記一致判定によって、受信した前記トラップドアと一致する前記暗号化キーワードを前記データ記憶部から検出した場合には、検出された前記暗号化キーワードに、受信した前記トラップドアの組の前記確定的暗号化キーワードを関連付けるかどうかの関連付けポリシーを含み、
前記キャッシュ処理部は、
前記判定部が前記一致判定によって、受信した前記トラップドアと一致する前記暗号化キーワードを前記データ記憶部から検出した場合には、検出された前記暗号化キーワードの前記キーワード情報に、受信した前記トラップドアの組の前記確定的暗号化キーワードを関連付けるかどうかを前記関連付けポリシーに従って決定することを特徴とする請求項2記載のサーバ装置。 - 前記サーバ側通信部は、
検索対象データの登録を要求する登録装置から、検索対象データと、この検索対象データの暗号化キーワードとを受信し、
前記サーバ装置は、さらに、
前記サーバ側通信部が受信した前記検索対象データと前記暗号化キーワードとを関連付けて前記データ記憶部に格納する登録部を
備え、
前記判定部は、
前記サーバ側通信部が受信した前記暗号化キーワードと、前記検索履歴記憶部に格納された前記トラップドアとの一致判定を実行し、前記一致判定によって前記サーバ側通信部が受信した前記暗号化キーワードと一致する前記トラップドアを検出した場合には、検出された前記トラップドアと組をなす前記確定的暗号化キーワードを、前記登録部によって前記データ記憶部に格納された前記暗号化キーワードに関連付けることを特徴とする請求項1~3のいずれかに記載のサーバ装置。 - コンピュータを、
検索装置から秘匿検索要求として、キーワードから確率的暗号化方式によって生成されるトラップドアであって、秘匿検索における検索対象データのキーワードが確率的暗号化方式によって暗号化された暗号化キーワードとの一致判定に使用されるトラップドアと、前記トラップドアの生成の元となる前記キーワードから確定的暗号化方式によって生成される確定的暗号化キーワードとの組を受信するサーバ側通信部、
過去の秘匿検索要求の履歴として、前記サーバ側通信部によって受信された前記トラップドアと前記確定的暗号化キーワードとの組を格納する検索履歴記憶部、
検索対象データと、この検索対象データの暗号化キーワードとが関連付けられると共に、判明している場合には、前記暗号化キーワードに対応する前記確定的暗号化キーワードがさらに関連付けられたキーワード情報を格納するデータ記憶部、
前記サーバ側通信部が受信した前記確定的暗号化キーワードと一致する前記確定的暗号化キーワードが、前記検索履歴記憶部に存在するかどうかを判定し、存在すると判定した場合には、前記データ記憶部を対象として、前記検索履歴記憶部に存在する前記確定的暗号化キーワードを用いて、確定的暗号化方式に基づく検索対象データの秘匿検索を実行し、存在しないと判定した場合には、前記データ記憶部を対象として、受信した前記トラップドアと、前記データ記憶部に格納されている前記キーワード情報の前記暗号化キーワードとを用いて、確率的暗号化方式に基づく検索対象データの秘匿検索を実行する判定部、
として機能させるための秘匿検索プログラム。 - 請求項5記載の秘匿検索プログラムを記録したコンピュータ読み取り可能な記録媒体。
- 秘匿検索要求をサーバ装置に送信する検索装置と、前記秘匿検索要求に応じて秘匿検索を実行するサーバ装置とを備えた秘匿検索システムにおいて、
前記検索装置は、
前記秘匿検索要求として、キーワードから確率的暗号化方式によって生成されるトラップドアであって、前記秘匿検索における検索対象データのキーワードが確率的暗号化方式によって暗号化された暗号化キーワードとの一致判定に使用されるトラップドアと、前記トラップドアの生成の元となる前記キーワードから確定的暗号化方式によって生成される確定的暗号化キーワードとの組を送信する検索側送信部を備え、
前記サーバ装置は、
前記検索側送信部が送信した前記トラップドアと、前記確定的暗号化キーワードとの組を受信するサーバ側通信部と、
過去の秘匿検索要求の履歴として、前記サーバ側通信部によって受信された前記トラップドアと前記確定的暗号化キーワードとの組を格納する検索履歴記憶部と、
検索対象データと、この検索対象データの暗号化キーワードとが関連付けられると共に、判明している場合には、前記暗号化キーワードに対応する前記確定的暗号化キーワードがさらに関連付けられたキーワード情報を格納するデータ記憶部と、
前記サーバ側通信部が受信した前記確定的暗号化キーワードと一致する前記確定的暗号化キーワードが、前記検索履歴記憶部に存在するかどうかを判定し、存在すると判定した場合には、前記データ記憶部を対象として、前記検索履歴記憶部に存在する前記確定的暗号化キーワードを用いて、確定的暗号化方式に基づく検索対象データの秘匿検索を実行し、存在しないと判定した場合には、前記データ記憶部を対象として、受信した前記トラップドアと、前記データ記憶部に格納されている前記キーワード情報の前記暗号化キーワードとを用いて、確率的暗号化方式に基づく検索対象データの秘匿検索を実行する判定部と
を備えたことを特徴とする秘匿検索システム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015501221A JP5963936B2 (ja) | 2013-02-25 | 2013-02-25 | サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム |
CN201380072944.3A CN104995621B (zh) | 2013-02-25 | 2013-02-25 | 服务器装置以及隐匿检索系统 |
US14/765,050 US10235539B2 (en) | 2013-02-25 | 2013-02-25 | Server device, recording medium, and concealed search system |
EP13875718.2A EP2960808A4 (en) | 2013-02-25 | 2013-02-25 | SERVER DEVICE, PRIVATE SEARCH PROGRAM, RECORDING MEDIA AND PRIVATE SEARCH SYSTEM |
PCT/JP2013/054735 WO2014128958A1 (ja) | 2013-02-25 | 2013-02-25 | サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/054735 WO2014128958A1 (ja) | 2013-02-25 | 2013-02-25 | サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014128958A1 true WO2014128958A1 (ja) | 2014-08-28 |
Family
ID=51390781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/054735 WO2014128958A1 (ja) | 2013-02-25 | 2013-02-25 | サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10235539B2 (ja) |
EP (1) | EP2960808A4 (ja) |
JP (1) | JP5963936B2 (ja) |
CN (1) | CN104995621B (ja) |
WO (1) | WO2014128958A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016206555A (ja) * | 2015-04-27 | 2016-12-08 | 株式会社東芝 | 秘匿化装置、復号装置、秘匿化方法および復号方法 |
WO2017122393A1 (ja) * | 2016-01-14 | 2017-07-20 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム |
KR20180130249A (ko) * | 2017-05-29 | 2018-12-07 | 성균관대학교산학협력단 | 클라우드 저장 기반 암호화 시스템 및 방법 |
US11005645B2 (en) | 2016-01-15 | 2021-05-11 | Mitsubishi Electric Corporation | Encryption device, encryption method, computer readable medium, and storage device |
US11106740B2 (en) | 2017-04-25 | 2021-08-31 | Mitsubishi Electric Corporation | Search device, search system, search method, and computer readable medium |
CN113904823A (zh) * | 2021-09-28 | 2022-01-07 | 长沙学院 | 常数级授权计算复杂度的属性基可搜索加密方法及系统 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702781A (zh) * | 2015-02-04 | 2015-06-10 | 深圳市中兴移动通信有限公司 | 一种信息加密的方法及装置 |
US10936757B2 (en) * | 2016-05-27 | 2021-03-02 | Mitsubishi Electric Corporation | Registration destination determination device, searchable encryption system, destination determination method, and computer readable medium |
FR3057123A1 (fr) * | 2016-09-30 | 2018-04-06 | Orange | Procede et systeme de detection d'intrusions sur un reseau |
US11777729B2 (en) | 2017-01-20 | 2023-10-03 | Enveil, Inc. | Secure analytics using term generation and homomorphic encryption |
US11196541B2 (en) | 2017-01-20 | 2021-12-07 | Enveil, Inc. | Secure machine learning analytics using homomorphic encryption |
US10790960B2 (en) | 2017-01-20 | 2020-09-29 | Enveil, Inc. | Secure probabilistic analytics using an encrypted analytics matrix |
US11507683B2 (en) | 2017-01-20 | 2022-11-22 | Enveil, Inc. | Query processing with adaptive risk decisioning |
WO2018136811A1 (en) * | 2017-01-20 | 2018-07-26 | Enveil, Inc. | Secure web browsing via homomorphic encryption |
US10880275B2 (en) | 2017-01-20 | 2020-12-29 | Enveil, Inc. | Secure analytics using homomorphic and injective format-preserving encryption |
CN110226190A (zh) * | 2017-01-27 | 2019-09-10 | 三菱电机株式会社 | 检索装置、监视装置、监视方法和检索程序 |
AU2018387969B2 (en) * | 2017-12-18 | 2021-07-22 | Nippon Telegraph And Telephone Corporation | Secret computation system and method |
WO2019124134A1 (ja) * | 2017-12-19 | 2019-06-27 | 日本電信電話株式会社 | 検索装置、検索方法、プログラム、および記録媒体 |
CN111602127B (zh) * | 2018-01-17 | 2023-05-16 | 三菱电机株式会社 | 数据管理装置、数据管理方法和计算机能读取的存储介质 |
WO2019220531A1 (ja) * | 2018-05-15 | 2019-11-21 | 三菱電機株式会社 | 秘匿検索装置および秘匿検索方法 |
US10902133B2 (en) | 2018-10-25 | 2021-01-26 | Enveil, Inc. | Computational operations in enclave computing environments |
US10817262B2 (en) | 2018-11-08 | 2020-10-27 | Enveil, Inc. | Reduced and pipelined hardware architecture for Montgomery Modular Multiplication |
CN109766314A (zh) * | 2019-01-07 | 2019-05-17 | 西安电子科技大学 | 基于概率陷门的密文数据多关键词搜索方法 |
US11601258B2 (en) | 2020-10-08 | 2023-03-07 | Enveil, Inc. | Selector derived encryption systems and methods |
CN112784309B (zh) * | 2021-02-20 | 2022-08-23 | 青岛大学 | 数据安全管理方法、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002044072A (ja) * | 2000-03-24 | 2002-02-08 | Contentguard Holdings Inc | 秘話化電子著作物の生成方法、保護された電子著作物、及び電子著作物を再生の際に保護する方法 |
JP2011198079A (ja) | 2010-03-19 | 2011-10-06 | Hitachi Solutions Ltd | データベース暗号化システム及び方法 |
JP2012083863A (ja) * | 2010-10-07 | 2012-04-26 | Mitsubishi Electric Corp | 情報検索装置および情報検索方法 |
JP2012164031A (ja) * | 2011-02-03 | 2012-08-30 | Mitsubishi Electric Corp | データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991414A (en) | 1997-09-12 | 1999-11-23 | International Business Machines Corporation | Method and apparatus for the secure distributed storage and retrieval of information |
JP3457184B2 (ja) | 1998-06-25 | 2003-10-14 | シャープ株式会社 | 検索装置及びその制御プログラムを記憶した媒体 |
US6519700B1 (en) | 1998-10-23 | 2003-02-11 | Contentguard Holdings, Inc. | Self-protecting documents |
US7068787B1 (en) | 1998-10-23 | 2006-06-27 | Contentguard Holdings, Inc. | System and method for protection of digital works |
JP4519963B2 (ja) | 1999-06-21 | 2010-08-04 | 富士通株式会社 | 生体情報の暗号化・復号化方法および装置並びに、生体情報を利用した本人認証システム |
US7496767B2 (en) | 2001-01-19 | 2009-02-24 | Xerox Corporation | Secure content objects |
WO2003025722A2 (en) * | 2001-09-14 | 2003-03-27 | Computer Associates Think, Inc. | Virus detection system |
US7171557B2 (en) | 2001-10-31 | 2007-01-30 | Hewlett-Packard Development Company, L.P. | System for optimized key management with file groups |
JP2003178070A (ja) | 2001-12-12 | 2003-06-27 | Canon Inc | 情報検索装置 |
US20050271246A1 (en) | 2002-07-10 | 2005-12-08 | Sharma Ravi K | Watermark payload encryption methods and systems |
US20050004924A1 (en) * | 2003-04-29 | 2005-01-06 | Adrian Baldwin | Control of access to databases |
CN100353342C (zh) * | 2003-09-26 | 2007-12-05 | 日本电信电话株式会社 | 标签隐私保护方法、标签装置、后端装置 |
JP4395611B2 (ja) | 2003-10-28 | 2010-01-13 | 独立行政法人情報通信研究機構 | 暗号化データベース検索装置および方法ならびに暗号化データベース検索プログラム |
US20050138393A1 (en) | 2003-12-22 | 2005-06-23 | Challener David C. | Determining user security level using trusted hardware device |
JP2005284915A (ja) | 2004-03-30 | 2005-10-13 | Canon Inc | 情報検索装置および方法、ならびに情報検索システムおよびその制御方法 |
CN101057448B (zh) | 2004-11-16 | 2012-02-15 | 皇家飞利浦电子股份有限公司 | 安全地计算相似性度量 |
JP2006210964A (ja) | 2005-01-24 | 2006-08-10 | National Institute Of Information & Communication Technology | エルガマル暗号による情報授受伝達方法及び装置 |
JP2006262333A (ja) | 2005-03-18 | 2006-09-28 | Ic Brains Co Ltd | 生体認証システム |
JP4722620B2 (ja) | 2005-08-19 | 2011-07-13 | Kddi株式会社 | 暗号化文書検索方法および暗号化文書検索システム |
JP4961214B2 (ja) | 2006-03-29 | 2012-06-27 | 株式会社日立情報制御ソリューションズ | 生体認証方法およびシステム |
JP2008097438A (ja) | 2006-10-13 | 2008-04-24 | Hitachi Ltd | ユーザ認証システム、認証サーバ、端末、及び耐タンパデバイス |
US20090094200A1 (en) * | 2007-10-05 | 2009-04-09 | Yahoo! Inc. | Method for Admission-controlled Caching |
JP2009129210A (ja) | 2007-11-25 | 2009-06-11 | Tokyo Institute Of Technology | チャレンジ・レスポンス生体認証方法 |
US8995665B1 (en) | 2008-08-20 | 2015-03-31 | Symantec Corporation | Role based encryption without key management system |
US8165305B2 (en) | 2008-12-08 | 2012-04-24 | Harrison Corporation | Enhanced relational database security through encryption of table indices |
JP5147673B2 (ja) | 2008-12-18 | 2013-02-20 | 株式会社日立製作所 | 生体認証システムおよびその方法 |
JP2010160235A (ja) | 2009-01-07 | 2010-07-22 | Nippon Telegr & Teleph Corp <Ntt> | 検索システム、端末装置、データベース装置、検索方法及びプログラム |
JP2010165275A (ja) | 2009-01-19 | 2010-07-29 | Mitsubishi Electric Corp | データ格納システム及び情報送信装置及びサーバ装置 |
US8837718B2 (en) | 2009-03-27 | 2014-09-16 | Microsoft Corporation | User-specified sharing of data via policy and/or inference from a hierarchical cryptographic store |
WO2010125653A1 (ja) | 2009-04-28 | 2010-11-04 | 富士通株式会社 | 生体認証装置、生体認証方法および生体認証プログラム |
US8495056B2 (en) * | 2009-09-21 | 2013-07-23 | At&T Intellectual Property I, L.P. | System and method for caching database reports |
EP2495908A4 (en) | 2009-10-29 | 2017-07-19 | Mitsubishi Electric Corporation | Data processing device |
US20120324240A1 (en) | 2010-01-13 | 2012-12-20 | Mitsubishi Electric Corporation | Secure search system, public parameter generation device, encryption device, user secret key generation device, query issuing device, search device, computer program, secure search method, public parameter generation method, encryption method, user secret key generation method, query issuing method, and search method |
US8615668B2 (en) | 2010-01-15 | 2013-12-24 | Mitsubishi Electric Corporation | Confidential search system and cryptographic processing system |
JP5432736B2 (ja) | 2010-01-18 | 2014-03-05 | 日本電信電話株式会社 | 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 |
JP5573293B2 (ja) | 2010-03-30 | 2014-08-20 | 富士通株式会社 | 認証装置、暗号化装置、トークンデバイス、認証方法、および認証プログラム |
JP5412414B2 (ja) * | 2010-12-08 | 2014-02-12 | 株式会社日立製作所 | 検索可能暗号処理システム |
US8429421B2 (en) * | 2010-12-17 | 2013-04-23 | Microsoft Corporation | Server-side encrypted pattern matching |
WO2012095973A1 (ja) | 2011-01-13 | 2012-07-19 | 三菱電機株式会社 | データ処理装置及びデータ保管装置 |
EP2667538A4 (en) | 2011-01-18 | 2017-08-16 | Mitsubishi Electric Corporation | Encryption system, encryption processing method for encryption system, encryption device, encryption program, decryption device, decryption program, setup device, setup program, key generation device, key generation program, key assignment device and key assignment program |
WO2012114452A1 (ja) | 2011-02-22 | 2012-08-30 | 三菱電機株式会社 | 類似度算出システム及び類似度算出装置及びコンピュータプログラム及び類似度算出方法 |
JP2012248940A (ja) * | 2011-05-25 | 2012-12-13 | Mitsubishi Electric Corp | データ生成装置、データ生成方法、データ生成プログラム及びデータベースシステム |
US8549653B2 (en) | 2011-09-14 | 2013-10-01 | Morgan Stanley | Secure wildcard searchable database |
CN103975553B (zh) | 2011-11-30 | 2016-10-12 | 三菱电机株式会社 | 数据处理装置以及数据处理方法 |
US9087212B2 (en) * | 2012-01-25 | 2015-07-21 | Massachusetts Institute Of Technology | Methods and apparatus for securing a database |
EP2808803B1 (en) | 2012-01-25 | 2017-03-01 | Mitsubishi Electric Corporation | Data search device, data search method, data search program, data registration device, data registration method, data registration program and information processing device |
US20140019454A1 (en) * | 2012-07-10 | 2014-01-16 | Jason A. Carter | Systems and Methods for Caching Data Object Identifiers |
EP2945313B1 (en) | 2013-01-12 | 2017-09-06 | Mitsubishi Electric Corporation | Key generation device, key generation program, concealed data search system, and key distribution method |
-
2013
- 2013-02-25 US US14/765,050 patent/US10235539B2/en active Active
- 2013-02-25 EP EP13875718.2A patent/EP2960808A4/en not_active Ceased
- 2013-02-25 JP JP2015501221A patent/JP5963936B2/ja active Active
- 2013-02-25 WO PCT/JP2013/054735 patent/WO2014128958A1/ja active Application Filing
- 2013-02-25 CN CN201380072944.3A patent/CN104995621B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002044072A (ja) * | 2000-03-24 | 2002-02-08 | Contentguard Holdings Inc | 秘話化電子著作物の生成方法、保護された電子著作物、及び電子著作物を再生の際に保護する方法 |
JP2011198079A (ja) | 2010-03-19 | 2011-10-06 | Hitachi Solutions Ltd | データベース暗号化システム及び方法 |
JP2012083863A (ja) * | 2010-10-07 | 2012-04-26 | Mitsubishi Electric Corp | 情報検索装置および情報検索方法 |
JP2012164031A (ja) * | 2011-02-03 | 2012-08-30 | Mitsubishi Electric Corp | データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム |
Non-Patent Citations (2)
Title |
---|
See also references of EP2960808A4 |
TAKANORI SUGA ET AL.: "Security of Searchable Encryption Revisited", CSS2011 COMPUTER SECURITY SYMPOSIUM 2011 RONBUNSHU HEISAI ANTI MALWARE ENGINEERING WORKSHOP 2011, IPSJ SYMPOSIUM SERIES, vol. 2011, no. 3, 12 October 2011 (2011-10-12), pages 125 - 130, XP008180432 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016206555A (ja) * | 2015-04-27 | 2016-12-08 | 株式会社東芝 | 秘匿化装置、復号装置、秘匿化方法および復号方法 |
WO2017122393A1 (ja) * | 2016-01-14 | 2017-07-20 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム |
WO2017122696A1 (ja) * | 2016-01-14 | 2017-07-20 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム |
WO2017122326A1 (ja) * | 2016-01-14 | 2017-07-20 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム |
JP6239213B1 (ja) * | 2016-01-14 | 2017-11-29 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム |
US10872158B2 (en) | 2016-01-14 | 2020-12-22 | Mitsubishi Electric Corporation | Secret search system, secret search method, and computer readable medium |
US11005645B2 (en) | 2016-01-15 | 2021-05-11 | Mitsubishi Electric Corporation | Encryption device, encryption method, computer readable medium, and storage device |
US11106740B2 (en) | 2017-04-25 | 2021-08-31 | Mitsubishi Electric Corporation | Search device, search system, search method, and computer readable medium |
KR20180130249A (ko) * | 2017-05-29 | 2018-12-07 | 성균관대학교산학협력단 | 클라우드 저장 기반 암호화 시스템 및 방법 |
KR101979267B1 (ko) * | 2017-05-29 | 2019-05-16 | 성균관대학교산학협력단 | 클라우드 저장 기반 암호화 시스템 및 방법 |
CN113904823A (zh) * | 2021-09-28 | 2022-01-07 | 长沙学院 | 常数级授权计算复杂度的属性基可搜索加密方法及系统 |
CN113904823B (zh) * | 2021-09-28 | 2024-02-27 | 长沙学院 | 常数级授权计算复杂度的属性基可搜索加密方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104995621B (zh) | 2018-06-05 |
EP2960808A1 (en) | 2015-12-30 |
JPWO2014128958A1 (ja) | 2017-02-02 |
US20150371062A1 (en) | 2015-12-24 |
US10235539B2 (en) | 2019-03-19 |
JP5963936B2 (ja) | 2016-08-03 |
CN104995621A (zh) | 2015-10-21 |
EP2960808A4 (en) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5963936B2 (ja) | サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム | |
KR101760617B1 (ko) | 컴퓨터 프로그램, 비밀관리방법 및 시스템 | |
EP2731034B1 (en) | Client computer for querying a database stored on a server via a network | |
US7912223B2 (en) | Method and apparatus for data protection | |
US8874929B2 (en) | Cross domain discovery | |
US8245042B2 (en) | Shielding a sensitive file | |
US11232222B2 (en) | Access management system, access management method and program | |
KR101371608B1 (ko) | Dbms 및 데이터베이스에서 암호화 방법 | |
CN107077469B (zh) | 服务器装置、检索系统、终端装置以及检索方法 | |
CN101925913A (zh) | 加密文件访问的方法和系统 | |
US20240061790A1 (en) | Locally-stored remote block data integrity | |
JP2006523995A (ja) | 認可証明書におけるユーザ・アイデンティティのプライバシ | |
CN104239820A (zh) | 一种安全存储设备 | |
JP7302600B2 (ja) | 情報処理システムおよび情報処理方法 | |
JP2012164031A (ja) | データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム | |
WO2017122326A1 (ja) | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム | |
CN103973698A (zh) | 一种云存储环境中的用户访问权限回收方法 | |
US20210081562A1 (en) | Data processing apparatus, data processing method, and computer readable medium | |
CN111753312B (zh) | 数据处理方法、装置、设备和系统 | |
US8499357B1 (en) | Signing a library file to verify a callback function | |
WO2017126000A1 (ja) | 暗号化装置、検索装置、暗号化プログラム、検索プログラム、暗号化方法及び検索方法 | |
CN109154970B (zh) | 登记目的地决定装置、登记装置、隐匿检索系统、登记目的地决定方法和计算机可读的存储介质 | |
WO2018034192A1 (ja) | 情報処理装置、情報処理方法、及び、記録媒体 | |
KR102615556B1 (ko) | 키 관리 서버를 이용한 데이터의 실시간 암복호화 보안 시스템 및 방법 | |
US20210288798A1 (en) | Jigsaw key encryption/decryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13875718 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015501221 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14765050 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013875718 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |