WO2013111284A1 - データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 - Google Patents
データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 Download PDFInfo
- Publication number
- WO2013111284A1 WO2013111284A1 PCT/JP2012/051533 JP2012051533W WO2013111284A1 WO 2013111284 A1 WO2013111284 A1 WO 2013111284A1 JP 2012051533 W JP2012051533 W JP 2012051533W WO 2013111284 A1 WO2013111284 A1 WO 2013111284A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- search
- unit
- key
- encryption
- Prior art date
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/065—Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
-
- 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
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Definitions
- the present invention relates to a data search device, a data search method, a data search program, a data registration device, a data registration method, a data registration program, and an information processing device.
- PLC Public Key Cryptography
- PKS searchable public key cryptography
- This searchable public key encryption realizes the following application, for example.
- server an external database
- a sender sends a data file containing confidential information to a recipient via an external database (hereinafter referred to as “server”). That is, consider a situation in which a sender uploads a data file to a server and a receiver downloads a necessary data file from the server by keyword search.
- the sender and the receiver want to share both the data file and the keyword without being known to the server.
- Recipients use public key encryption public / private key pair (used to encrypt / decrypt data file itself) and searchable public key encryption public / private key pair (keyword encryption, creation of search query) Prepared in advance). Then, the receiver makes each public key public.
- the sender generates a ciphertext of the data file by encrypting the data file using the public key of the receiver's public key encryption.
- the sender encrypts the keyword using the public key of the searchable public key encryption to generate a ciphertext of the keyword.
- the ciphertext of the keyword generated using the public key of the searchable public key encryption is referred to as “encryption tag”.
- the sender uploads the ciphertext of the data file and the encryption tag to the server together.
- the receiver encrypts the keyword using the secret key of the searchable public key encryption to generate a ciphertext of the keyword.
- the keyword ciphertext generated using the searchable public key encryption private key is hereinafter referred to as “trap door”.
- the recipient transmits this trapdoor as a search query to the server.
- the server uses the received trapdoor to perform a secret search on the encryption tags of the ciphertexts of all data files in the database. Then, the server transmits the ciphertext of the data file hit in the confidential search to the receiver.
- the searchable public key cryptography has a problem that the search processing time becomes proportional to the number of data files because all cases must be searched. Several methods have been proposed to solve this.
- Patent Document 1 provides an index storage unit that stores keywords and document names in association with each other and an encrypted database that stores encrypted documents, searches for keywords in the index storage unit, and does not hit the search.
- a method for full text retrieval of documents in an encrypted database is disclosed.
- the index storage unit is updated according to the search result.
- this method has a problem that the full text search is necessary until the index storage unit is appropriately updated, and therefore the search process cannot be accelerated.
- this method has a problem that when a large number of various search requests are generated, the effect of the index storage unit is diminished and the search process cannot be accelerated.
- this method also has a problem that it is necessary to greatly change an existing searchable public key cryptosystem.
- An object of the present invention is to increase the speed of search processing using, for example, searchable public key cryptography.
- the data retrieval apparatus of the present invention A data storage unit that stores a plurality of data groups including one or more data and a plurality of decryption keys for decrypting encrypted information in association with each other; A key determination information storage unit that stores key determination information for determining a decryption key; A search condition input unit for inputting a search condition for searching for data and encrypted information obtained by encrypting predetermined information; The encryption information input by the search condition input unit is decrypted using each of the plurality of decryption keys stored in the data storage unit, and the encryption information of the plurality of decryption keys is used as the key determination information.
- a data group selection unit that selects a decryption key decrypted to the same information and selects a data group associated with the selected decryption key among the plurality of data groups stored in the data storage unit as a search destination group; , A data search unit that acquires data satisfying the search condition input by the search condition input unit as data of a search result from one or more data included in the search destination group selected by the data group selection unit; A search result output unit that outputs data of the search results acquired by the data search unit.
- the search process using searchable public key cryptography can be speeded up.
- FIG. 1 is a configuration diagram of a data search system 900 according to Embodiment 1.
- FIG. 2 is a functional configuration diagram of a data search terminal 100 according to Embodiment 1.
- FIG. 3 shows a system public key 140 and a system secret key 150 in the first embodiment. The figure which shows the public key correspondence table 160 in Embodiment 1.
- FIG. 3 shows a search query 170 in the first embodiment.
- FIG. 3 is a functional configuration diagram of a data registration terminal 200 in the first embodiment.
- FIG. 3 is a diagram showing a system ciphertext 230 according to the first embodiment.
- FIG. 3 is a functional configuration diagram of a data search server 300 in the first embodiment.
- FIG. 6 shows a secret key correspondence table 350 according to the first embodiment.
- 5 is a flowchart showing a setup process of the data search terminal 100 according to the first embodiment.
- 5 is a flowchart showing a data registration process of the data registration terminal 200 in the first embodiment.
- 5 is a flowchart showing data registration processing of the data search server 300 according to the first embodiment.
- 5 is a flowchart showing data search request processing of the data search terminal 100 according to the first embodiment.
- 5 is a flowchart showing data search processing of the data search server 300 according to the first embodiment.
- 6 is a flowchart showing category registration request processing of the data search terminal 100 according to the first embodiment.
- 5 is a flowchart showing category registration processing of the data search server 300 according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of hardware resources of the data search system 900 according to the first embodiment.
- FIG. 9 is a flowchart showing a setup process of the data search terminal 100 according to the second embodiment.
- 9 is a flowchart showing data registration request processing of the data registration terminal 200 in the second embodiment.
- 9 is a flowchart showing data registration processing of the data search server 300 according to the second embodiment.
- 9 is a flowchart showing data search request processing of the data search terminal 100 according to Embodiment 2.
- 9 is a flowchart showing data search processing of the data search server 300 according to the second embodiment.
- FIG. 10 is a flowchart showing category registration request processing of the data search terminal 100 according to the second embodiment.
- 9 is a flowchart showing category registration processing of the data search server 300 according to the second embodiment.
- FIG. 10 is a diagram showing a system public key 140 and a system secret key 150 according to the third embodiment.
- Embodiment 1 A system for performing a high-speed search using searchable public key cryptography (PEKS) will be described.
- Searchable public key cryptography is a technique for performing keyword search without decrypting encrypted data (see Non-Patent Document 1).
- FIG. 1 is a configuration diagram of a data search system 900 according to the first embodiment.
- the configuration of the data search system 900 according to Embodiment 1 will be described with reference to FIG.
- the data search system 900 is an example of a system that performs search using searchable public key cryptography.
- searchable public key encryption By using the searchable public key encryption, it is possible to perform keyword search while concealing search target data and search keywords.
- the data search system 900 includes one data search terminal 100, a plurality of data registration terminals 200, and one data search server 300. However, there may be a plurality of data search terminals 100 and data search servers 300, or a single data registration terminal 200.
- the data search terminal 100, the data registration terminal 200, and the data search server 300 are communicatively connected via a network 909 (for example, the Internet).
- the data registration terminal 200 (an example of a data registration device) is a device (computer) for encrypting search target data and registering it in the data search server 300.
- the data search terminal 100 (an example of an information processing terminal device) is a device for requesting a keyword search by specifying an encrypted search keyword to the data search server 300.
- the data search server 300 (an example of a data search device) performs keyword search for searchable public key cryptography according to the encryption keyword specified by the data search terminal 100 for the encrypted data registered by the data registration terminal 200. It is a device for.
- the data search server 300 returns the search result to the data search terminal 100.
- e-mail is an example of search target data.
- the data search server 300 functions as a mail server
- the data registration terminal 200 functions as a computer used by an e-mail sender
- the data search terminal 100 functions as a computer used by an e-mail receiver.
- the data search system 900 is used as follows. However, the following usage method is an example of a usage method of the data search system 900.
- Each of the email senders A, B, and C transmits the email that is encrypted using the data registration terminal 200 to the data search server 300.
- the data search server 300 stores the encrypted emails of the senders A, B, and C, respectively.
- the e-mail recipient When the e-mail recipient wants to view the e-mail of the sender A, the e-mail recipient designates the identifier (e.g., e-mail address) of the sender A as an e-mail search keyword to the data search terminal 100.
- the data search terminal 100 encrypts the search keyword (identifier of the sender A) and transmits it to the data search server 300.
- the data search server 300 performs a search for a searchable public key encryption keyword according to the encrypted search keyword, and transmits the encrypted email of the sender A to the data search terminal 100.
- the data retrieval terminal 100 receives the encrypted email of the sender A, decrypts the received email, and displays the decrypted email.
- the senders A, B, and C of the electronic mail and the receiver can keep the electronic mail secret. Further, the e-mail recipient can conceal the e-mail search keyword.
- FIG. 2 is a functional configuration diagram of the data search terminal 100 according to the first embodiment. A functional configuration of data search terminal 100 in the first embodiment will be described with reference to FIG.
- the data search terminal 100 (an example of an information processing apparatus) includes a setup processing unit 110, a search request processing unit 120, a category registration request unit 130, and a search terminal storage unit 190.
- the setup processing unit 110 includes a system key generation unit 111, a public key correspondence table generation unit 112, and a key information disclosure unit 113.
- the system key generation unit 111 generates a key determination value 191, a system public key 140, and a system secret key 150 described later.
- the public key correspondence table generating unit 112 generates a public key correspondence table 160 described later.
- the key information disclosure unit 113 publishes the system public key 140, the system secret key 150, and the public key correspondence table 160 to the data registration terminal 200 or the data search server 300. Details of the system key generation unit 111, the public key correspondence table generation unit 112, and the key information disclosure unit 113 will be described based on a flowchart of a setup process to be described later.
- FIG. 3 is a diagram showing the system public key 140 and the system secret key 150 in the first embodiment.
- the system public key 140 and the system secret key 150 in the first embodiment will be described with reference to FIG.
- the system public key 140 and the system private key 150 constitute a key pair of public key encryption (or searchable public key encryption) used in the data search system 900.
- the system public key 140 includes one data public key 141, one keyword public key 142, and a plurality of category determination public keys 143 (an example of a plurality of encryption keys).
- the data public key 141 is key data (encryption key) for encrypting search target data.
- the keyword public key 142 is key data (encryption key) for encrypting a keyword (data keyword) attached to data to be searched or a keyword (search keyword) specified when searching for data.
- the category determination public key 143 is key data (encryption key) for encrypting information (key determination value 191) for determining the category (data category) to which the search target data belongs.
- the category determination public key 143 is different for each category of data.
- the system secret key 150 includes one data secret key 151, one keyword secret key 152, and a plurality of category determination secret keys 153 (an example of a plurality of decryption keys).
- the data secret key 151 is key data (decryption key) for decrypting encrypted data to be searched.
- the keyword secret key 152 is key data (master secret key) for generating a secret key (search trap door 171 to be described later) corresponding to the search keyword.
- the category determination secret key 153 is key data (decryption key) for decrypting an encrypted key determination value 191 (an index tag 172 or an index tag 233 described later).
- the category determination secret key 153 is different for each category of data.
- the data public key 141 and the data private key 151 constitute a data key pair (public key encryption key pair).
- the keyword public key 142 and the keyword private key 152 constitute a key pair for data keywords (a key pair for searchable public key encryption).
- the keyword public key 142 and the keyword private key 152 may be used as a data key pair. In this case, the data public key 141 and the data private key 151 are not necessary.
- the category determination public key 143 and the category determination secret key 153 constitute a plurality of key pairs for data category determination (key pairs for public key encryption).
- FIG. 4 is a diagram showing the public key correspondence table 160 in the first embodiment.
- the public key correspondence table 160 in the first embodiment will be described with reference to FIG.
- the public key correspondence table 160 is data that associates the category determination public key 143 with the data category.
- the public key correspondence table 160 shown in FIG. 4 associates the category determination public key 143 identified by “PK 1 ” with the “patent” category, and the category determination public key 143 identified by “PK 2 ”.
- the “design” category is associated.
- the search request processing unit 120 includes a search keyword input unit 121, a search query generation unit 122, a search request unit 123, and a search result output unit 124.
- the search keyword input unit 121 (an example of a search condition input unit) inputs a search keyword (an example of a search condition) designated by a user (data searcher) and a search target category from an input device or a storage device.
- the search query generation unit 122 (an example of an encryption tag generation unit) generates a search query 170 based on the search keyword and the search target category.
- the search query 170 is data for specifying a search keyword.
- the search request unit 123 (an example of a data search request unit) transmits a search query 170 to the data search server 300 and receives a search result 199 including encrypted data corresponding to the search keyword from the data search server 300.
- the search result output unit 124 decrypts the encrypted data included in the search result 199 using the data secret key 151, and outputs the data obtained by the decryption. Details of the search keyword input unit 121, the search query generation unit 122, the search request unit 123, and the search result output unit 124 will be described based on a flowchart of data search request processing described later.
- FIG. 5 is a diagram showing the search query 170 in the first embodiment.
- the search query 170 in the first embodiment will be described with reference to FIG.
- the search query 170 is data including a search trap door 171 (an example of search condition information) and an index tag 172 (an example of an encryption tag).
- the search trap door 171 is a secret key corresponding to the search keyword.
- the search trap door 171 is generated using the keyword secret key 152.
- the index tag 172 is a key determination value 191 encrypted using the category determination public key 143 for the category to be searched.
- the category registration request unit 130 requests the data search server 300 to generate a database for data belonging to a specific category. Details of the category registration request unit 130 will be described based on a flowchart of a category registration request process described later.
- the search terminal storage unit 190 (an example of an encryption key storage unit) stores data used in the data search terminal 100.
- the search terminal storage unit 190 stores a key determination value 191, a system public key 140, a system secret key 150, a public key correspondence table 160, a search query 170, and a search result 199.
- FIG. 6 is a functional configuration diagram of the data registration terminal 200 in the first embodiment.
- the functional configuration of the data registration terminal 200 according to Embodiment 1 will be described with reference to FIG.
- the data registration terminal 200 (an example of a data registration device) includes a public information acquisition unit 210, a data registration request processing unit 220, and a registration terminal storage unit 290.
- the public information acquisition unit 210 acquires the key determination value 191, the system public key 140, and the public key correspondence table 160 disclosed by the data search terminal 100. Details of the public information acquisition unit 210 will be described based on a flowchart of a setup process to be described later.
- the data registration request processing unit 220 includes a registration information input unit 221, a data ciphertext generation unit 222, a keyword ciphertext generation unit 223, an index tag generation unit 224, and a data registration request unit 225.
- the registration information input unit 221 (an example of a classification information input unit) inputs data designated by a user (data registrant), a data keyword, and a data category from an input device or a storage device.
- the data ciphertext generation unit 222 (an example of a data generation unit) encrypts data using the data public key 141.
- the keyword ciphertext generation unit 223 encrypts the data keyword using the keyword public key 142.
- the index tag generation unit 224 (an example of an encryption tag generation unit) encrypts the key determination value 191 using the category determination public key 143 for the data category.
- the data registration request unit 225 (an example of a data registration request unit) requests the data search server 300 to register the system ciphertext 230 including the encrypted data, the keyword, and the key determination value 191. Details of the registration information input unit 221, the data ciphertext generation unit 222, the keyword ciphertext generation unit 223, the index tag generation unit 224, and the data registration request unit 225 will be described based on a flowchart of data registration request processing described later. .
- FIG. 7 is a diagram showing the system ciphertext 230 in the first embodiment.
- System ciphertext 230 according to the first embodiment will be described with reference to FIG.
- the system ciphertext 230 is data including a data ciphertext 231, a keyword ciphertext 232, and an index tag 233.
- the data ciphertext 231 (an example of data) is obtained by encrypting data using the data public key 141.
- the keyword ciphertext 232 is obtained by encrypting a data keyword using the keyword public key 142.
- the index tag 233 (an example of an encryption tag) is obtained by encrypting the key determination value 191 using the category determination public key 143 of the category to which the data belongs.
- the registration terminal storage unit 290 stores data used by the data registration terminal 200.
- the registered terminal storage unit 290 stores a key determination value 191, a system public key 140, a public key correspondence table 160, and a system ciphertext 230.
- FIG. 8 is a functional configuration diagram of the data search server 300 according to the first embodiment. A functional configuration of the data search server 300 according to the first embodiment will be described with reference to FIG.
- the data search server 300 (an example of a data search device) includes a category secret key management unit 310, a data registration processing unit 320, a data search processing unit 330, a category determination unit 340, and a search server storage unit 390. . Furthermore, the data search server 300 includes a database for each category of data (hereinafter, referred to as “category DB unit 391”). In addition, the data search server 300 includes a database for data that is not classified into any category (hereinafter referred to as “unclassified DB unit 392”).
- the category secret key management unit 310 (an example of an additional decryption key input unit and a data group registration unit) manages the key determination value 191 and the category determination secret key 153 generated by the data search terminal 100. Also, the category secret key management unit 310 generates a category-specific DB unit 391 that is associated with the category determination secret key 153. Furthermore, the category secret key management unit 310 generates a secret key correspondence table 350 that associates the category determination secret key 153 with the category-specific DB unit 391. Details of the category private key management unit 310 will be described based on a flowchart of a setup process and a flowchart of a category registration process described later.
- the data registration processing unit 320 includes a registration request receiving unit 321 and a data registration unit 322.
- the registration request receiving unit 321 (an example of a new data input unit) receives a registration request for data (system ciphertext 230 shown in FIG. 7) transmitted from the data registration terminal 200.
- the data registration unit 322 (an example of a new data registration unit) stores data in the category-specific DB unit 391 for the category to which the data belongs in accordance with the data registration request. Details of the registration request receiving unit 321 and the data registration unit 322 will be described based on a flowchart of data registration processing to be described later.
- the data search processing unit 330 includes a search request receiving unit 331, a data search unit 332, and a search result transmission unit 333.
- the search request receiving unit 331 receives a data search request (search query shown in FIG. 5) transmitted from the data search terminal 100.
- the data search unit 332 (an example of a data search unit) searches the category-specific DB unit 391 for the search target category according to the data search request.
- the search result transmission unit 333 (an example of a search result output unit) transmits a search result including data satisfying the search condition (system ciphertext 230 shown in FIG. 7) to the data search terminal 100. Details of the search request reception unit 331, the data search unit 332, and the search result transmission unit 333 will be described based on a flowchart of data search processing described later.
- the category determination unit 340 determines the category-specific DB unit 391 to which the data belongs based on the data registration request, and determines the category for the category to be searched based on the data search request. Another DB unit 391 is determined. Details of the category determination unit 340 will be described based on a flowchart of data registration processing and a flowchart of data search processing described later.
- the search server storage unit 390 stores data used by the data search server 300.
- the search server storage unit 390 stores a key determination value 191, a category determination secret key 153, and a secret key correspondence table 350.
- FIG. 9 is a diagram showing the private key correspondence table 350 in the first embodiment.
- the secret key correspondence table 350 in the first embodiment will be described with reference to FIG.
- the secret key correspondence table 350 is data that associates the category determination secret key 153 with the category-specific DB unit 391.
- the secret key correspondence table 350 shown in FIG. 9 associates the category determination secret key 153 identified by “SK 1 ” with the category-specific DB unit 391 identified by “DB 1 ”, and “SK 2 ”.
- the category determination secret key 153 identified is associated with the category-specific DB unit 391 identified by “DB 2 ”.
- the category-specific DB unit 391 (an example of a data storage unit) stores one or more system ciphertexts 230 (an example of a data group) classified into the same category.
- the unclassified DB unit 392 (an example of a data storage unit) stores one or more system ciphertexts 230 (an example of an unclassified group) that are not classified into any category.
- FIG. 10 is a flowchart showing the setup process of data search terminal 100 in the first embodiment. The setup process of the data search terminal 100 in Embodiment 1 will be described based on FIG.
- searcher A user who wants to perform data search (hereinafter referred to as “searcher”) activates the setup processing unit 110 of the data search terminal 100, and the setup processing unit 110 of the data search terminal 100 performs the following setup processing (S110 to S131). Execute.
- the system key generation unit 111 generates a system public key 140 and a system secret key 150 (see FIG. 3). See Non-Patent Document 3 for the key generation method. At this time, the system key generation unit 111 generates a key pair of the data public key 141 and the data private key 151 using a key generation algorithm of a public key cryptosystem. RSA cryptography (RSA is a registered trademark) is an example of a public key cryptosystem. Further, the system key generation unit 111 generates a key pair of the keyword public key 142 and the keyword private key 152 by a searchable public key cryptosystem key generation algorithm.
- the system key generation unit 111 generates a plurality of key pairs of the category determination public key 143 and the category determination secret key 153 using a key generation algorithm of a public key cryptosystem.
- the system key generation unit 111 uses a public key encryption method having key anonymity (key-privacy) such as ElGamal encryption or Cramer-Shoop encryption.
- key anonymity is a property that it is not known which public key is used even if the ciphertext is viewed.
- the number of key pairs of the category determination public key 143 and the category determination secret key 153 is the number of categories for classifying data, and the searcher designates (inputs) to the system key generation unit 111 of the data search terminal 100. To do. It progresses to S120 after S110.
- the searcher In S120, the searcher generates category information indicating the category of data associated with the category determination public key 143 generated in S110 using the input device (for example, a keyboard or a mouse) and generates the public key correspondence table of the data search terminal 100. Input to the unit 112. That is, the public key correspondence table generating unit 112 inputs the category information designated by the searcher from the input device. The public key correspondence table generating unit 112 generates a public key correspondence table 160 as shown in FIG. 4 according to the input category information.
- the public key correspondence table 160 is data that associates the category determination public key 143 with the data category.
- the public key correspondence table generation unit 112 associates “PK 1 ” with “patent”. This is set in the public key correspondence table 160. It progresses to S130 after S120.
- the key information disclosure unit 113 discloses the predetermined key determination value 191, the system public key 140 generated in S ⁇ b> 110 and the public key correspondence table 160 generated in S ⁇ b> 120 as public information to the data registration terminal 200.
- the key determination value 191 is a predetermined value (for example, “1”).
- the key information disclosure unit 113 of the data search terminal 100 registers the public information in a predetermined server (for example, the data search server 300), and the public information acquisition unit 210 of the data registration terminal 200 acquires the public information from the predetermined server. To do.
- the public information acquisition unit 210 stores the acquired public information in the registered terminal storage unit 290.
- the public information acquisition unit 210 of the data registration terminal 200 transmits a public request for requesting public information to the data search terminal 100, and the key information public unit 113 of the data search terminal 100 receives the public request. Then, the key information disclosure unit 113 of the data search terminal 100 transmits the public information to the data registration terminal 200, and the public information acquisition unit 210 of the data registration terminal 200 receives the public information.
- the public information acquisition unit 210 stores the received public information in the registered terminal storage unit 290. It progresses to S131 after S130.
- the key information disclosure unit 113 transmits the predetermined key determination value 191 and the plurality of category determination secret keys 153 generated in S110 to the data search server 300.
- the key determination value 191 is the same as the value disclosed to the data registration terminal 200.
- the key information disclosure unit 113 may transmit only at least one of the category determination secret keys 153 among the plurality of category determination secret keys 153 to the data search server 300. That is, there may be a category determination secret key 153 that is not transmitted to the data search server 300.
- the searcher specifies the category determination secret key 153. Then, the key information disclosure unit 113 transmits the category determination secret key 153 designated by the searcher among the plurality of category determination secret keys 153 to the data search server 300.
- the category secret key management unit 310 of the data search server 300 receives the key determination value 191 and the category determination secret key 153 transmitted by the key information disclosure unit 113 of the data search terminal 100.
- the category secret key management unit 310 stores the received key determination value 191 and the category determination secret key 153 in the search server storage unit 390.
- the category secret key management unit 310 generates a category-specific DB unit 391 for each received category determination secret key 153.
- the category-specific DB unit 391 stores the system ciphertext 230 (see FIG. 7) including the index tag 233 generated using the category determination public key 143 and the category determination secret key 153. It is a database for.
- the category secret key management unit 310 generates a secret key correspondence table 350 as shown in FIG. For example, a case of generating a category DB unit 391 identified by "DB 1" for the category determination private key 153 identified by "SK 1", category secret key management unit 310 is "SK 1" “DB 1 ” is associated and set in the secret key correspondence table 350. By S131, the setup process ends.
- FIG. 11 is a flowchart showing a data registration process of data registration terminal 200 in the first embodiment. Data registration processing of the data registration terminal 200 in Embodiment 1 will be described based on FIG.
- a user who wants to register data to be searched (hereinafter referred to as “registrant”) activates the data registration request processing unit 220 of the data registration terminal 200, and the data registration request processing unit 220 of the data registration terminal 200 performs the following data registration. Processing (S210 to S251) is executed.
- the registrant uses the input device to register the data to be registered as a search target, keywords related to the data, and category information indicating the category to which the data belongs to the registration information input unit 221 of the data registration terminal 200. input. That is, the registration information input unit 221 inputs data, keywords, and category information designated by the registrant from the input device. It progresses to S220 after S210.
- the data ciphertext generation unit 222 acquires the data public key 141 from the registered terminal storage unit 290, and encrypts the data input in S210 using the acquired data public key 141.
- the encrypted data is referred to as “data ciphertext 231”. It progresses to S230 after S220.
- the keyword ciphertext generation unit 223 acquires the keyword public key 142 from the registered terminal storage unit 290, and encrypts the keyword input in S210 using the acquired keyword public key 142.
- the encrypted keyword is referred to as “keyword ciphertext 232”. It progresses to S240 after S230.
- the index tag generation unit 224 refers to the public key correspondence table 160 stored in the registered terminal storage unit 290. Then, the index tag generating unit 224 makes the category determination disclosure associated with the category indicated by the category information input in S210 out of the plurality of category determination public keys 143 shown in the public key correspondence table 160. The key 143 is selected, and the selected category determination public key 143 is acquired from the registered terminal storage unit 290. It progresses to S241 after S240.
- the index tag generation unit 224 acquires the key determination value 191 from the registered terminal storage unit 290, and encrypts the key determination value 191 using the category determination public key 143 acquired in S240.
- the encrypted key determination value 191 is referred to as “index tag 233”. It progresses to S250 after S241.
- the data registration request unit 225 receives the system ciphertext 230 (see FIG. 7) including the data ciphertext 231 generated in S220, the keyword ciphertext 232 generated in S230, and the index tag 233 generated in S241. Generate. After S250, the process proceeds to S251.
- the data registration request unit 225 transmits a registration request for requesting registration of the system ciphertext 230 generated in S250 to the data search server 300.
- the registration request is data including the system ciphertext 230.
- the data registration request process ends.
- FIG. 12 is a flowchart showing data registration processing of the data search server 300 according to the first embodiment. Data registration processing of the data search server 300 in the first embodiment will be described with reference to FIG.
- the registration request receiving unit 321 receives a registration request for the system ciphertext 230 transmitted from the data registration terminal 200. It progresses to S320 after S310.
- the category determination unit 340 determines whether or not the search server storage unit 390 has an unselected category determination secret key 153 that has not been selected in S330 described later. If there is an unselected category determination secret key 153 (YES), the process proceeds to S330. If there is no unselected category determination private key 153 (NO), the process proceeds to S321.
- the category determination unit 340 selects one unselected category determination secret key 153 from the search server storage unit 390, and acquires the selected category determination secret key 153 from the search server storage unit 390. It progresses to S331 after S330.
- the category determination unit 340 acquires the index tag 233 from the system ciphertext 230 received in S310, and decrypts the acquired index tag 233 using the category determination secret key 153 acquired in S330.
- a value obtained by decoding the index tag 233 is referred to as a decoded value of the index tag 233. It progresses to S332 after S331.
- the category determination unit 340 compares the decrypted value of the index tag 233 obtained in S ⁇ b> 331 with the key determination value 191 stored in the search server storage unit 390. When the decrypted value of the index tag 233 and the key determination value 191 are the same value (YES), the process proceeds to S340. When the decrypted value of the index tag 233 and the key determination value 191 are different values (NO), the process returns to S320.
- the data registration unit 322 refers to the private key correspondence table 350 (see FIG. 9) stored in the search server storage unit 390, and a plurality of category-specific DB units 391 shown in the private key correspondence table 350. Of these, the category-specific DB unit 391 associated with the category determination secret key 153 selected in S330 is selected. Then, the data registration unit 322 stores the system ciphertext 230 received in S310 in the selected category-specific DB unit 391. By S340, the data registration process ends.
- the data registration unit 322 stores the system ciphertext 230 received in S310 in the unclassified DB unit 392. That is, when the data ciphertext 231 of the system ciphertext 230 is not classified into any category of the category-specific DB unit 391, the data registration unit 322 stores the system ciphertext 230 in the unclassified DB unit 392.
- the uncategorized DB unit 392 is generated in the data search server 300 in advance.
- the system ciphertext 230 is stored in any category DB unit 391 or unclassified DB unit 392 of the data search server 300 by the data registration request process shown in FIG. 11 and the data registration process shown in FIG.
- FIG. 13 is a flowchart showing data search request processing of the data search terminal 100 according to the first embodiment.
- the data search request process of the data search terminal 100 in the first embodiment will be described based on FIG.
- the searcher activates the search request processing unit 120 of the data search terminal 100, and the search request processing unit 120 of the data search terminal 100 executes the following data search request processing (S410 to S441).
- the searcher inputs the search keyword and category information indicating the search target category to the search keyword input unit 121 of the data search terminal 100 using the input device. That is, the search keyword input unit 121 inputs the search keyword designated by the searcher and the category information from the input device. It progresses to S420 after S410.
- the search query generation unit 122 acquires the keyword secret key 152 from the search terminal storage unit 190, and encrypts the search keyword input in S410 using the acquired keyword secret key 152.
- the encrypted search keyword is referred to as “search trap door 171”. It progresses to S421 after S420.
- the search query generation unit 122 refers to the public key correspondence table 160 stored in the search terminal storage unit 190, and among the plurality of category determination public keys 143 shown in the public key correspondence table 160, S410 The category determination public key 143 associated with the category indicated by the category information input in is selected. It progresses to S422 after S421.
- the search query generation unit 122 acquires the key determination value 191 from the search terminal storage unit 190, and encrypts the acquired key determination value 191 using the category determination public key 143 selected in S421.
- the encrypted key determination value 191 is referred to as “index tag 172”.
- the search query generation unit 122 generates a search query 170 (see FIG. 5) including the search trap door 171 generated in S420 and the index tag 172 generated in S422. It progresses to S430 after S423.
- the search request unit 123 transmits the search query 170 generated in S423 to the data search server 300. It progresses to S431 after S430.
- the search request unit 123 receives the search result transmitted from the data search server 300.
- the search result is data including the data ciphertext 231 corresponding to the search query 170 (in other words, “data ciphertext 231 satisfying the search condition” or “data ciphertext 231 hit by the search process”). It progresses to S440 after S431.
- the search result output unit 124 acquires the data secret key 151 from the search terminal storage unit 190, and uses the acquired data secret key 151 to store the data ciphertext 231 included in the search result received in S431. Decrypt. By decrypting the data ciphertext 231, data before encryption is obtained. It progresses to S441 after S440.
- the search result output unit 124 outputs a search result including the data obtained in S440.
- the search result output unit 124 displays the search result on the display.
- FIG. 14 is a flowchart showing data search processing of the data search server 300 according to the first embodiment. Data search processing of the data search server 300 in the first embodiment will be described with reference to FIG.
- the search request receiving unit 331 receives the search query 170 transmitted from the data search terminal 100.
- the search query 170 is data including a search trap door 171 and an index tag 172 (see FIG. 5). It progresses to S520 after S510.
- the category determination unit 340 determines whether or not the search server storage unit 390 has an unselected category determination secret key 153 that has not been selected in S530, which will be described later. If there is an unselected category determination secret key 153 (YES), the process proceeds to S530. If there is no unselected category determination private key 153 (NO), the process proceeds to S521.
- the category determination unit 340 selects one unselected category determination secret key 153 from the search server storage unit 390, and acquires the selected category determination secret key 153 from the search server storage unit 390. It progresses to S531 after S530.
- the category determination unit 340 acquires the index tag 172 from the search query 170 received in S510, and decrypts the acquired index tag 172 using the category determination secret key 153 acquired in S530.
- a value obtained by decoding the index tag 172 is referred to as a decoded value of the index tag 172.
- the category determination unit 340 compares the decrypted value of the index tag 172 obtained in S531 with the key determination value 191 stored in the search server storage unit 390. When the decrypted value of the index tag 172 and the key determination value 191 are the same value (YES), the process proceeds to S540. When the decrypted value of the index tag 172 and the key determination value 191 are different values (NO), the process returns to S520.
- the data search unit 332 refers to the secret key correspondence table 350 (see FIG. 9) stored in the search server storage unit 390, and a plurality of category-specific DB units 391 shown in the secret key correspondence table 350. Of these, the category-specific DB unit 391 associated with the category determination secret key 153 selected in S530 is selected as a search target. Then, the data search unit 332 acquires the search trap door 171 from the search query 170 received in S510, and uses the acquired search trap door 171 to search the category to be searched by the search algorithm of the searchable public key cryptosystem. The other DB unit 391 is searched.
- the data search unit 332 searches as follows.
- the data search unit 332 selects the system ciphertext 230 one by one from the category-specific DB unit 391 to be searched, and acquires the keyword ciphertext 232 from the selected system ciphertext 230.
- the data search unit 332 executes a search algorithm (search program) of a searchable public key cryptosystem using the keyword ciphertext 232 and the search trap door 171 as input data.
- the data search unit 332 determines whether the data keyword before encryption into the keyword ciphertext 232 matches the search keyword before encryption into the search trap door 171 based on the execution result of the search algorithm. To do.
- the data search unit 332 acquires the search trap door 171 from the search query 170 received in S510, and uses the acquired search trap door 171 to search the unclassified DB by the search algorithm of the searchable public key cryptosystem.
- the part 392 is searched. That is, the data search unit 332 performs a search process using the unclassified DB unit 392 as a search target instead of the category-specific DB unit 391.
- the search method is the same as S540. It progresses to S550 after S521.
- the search result transmission unit 333 transmits the search result including the data ciphertext 231 hit in the search process of S540 or S521 to the data search terminal 100.
- the data search process ends.
- the data search server 300 searches for the category-specific DB unit 391 (or unclassified DB unit 392) for the category designated by the searcher using the searchable public key cryptosystem. It can be performed. That is, the data search server 300 can perform a keyword search while keeping the data, the search keyword, and the search target category secret. Further, the data search server 300 searches for all the data ciphertexts 231 by performing a search using the category-specific DB unit 391 (or the unclassified DB unit 392) specified by the searcher as a search target. The search time can be shortened compared to.
- FIG. 15 is a flowchart showing category registration request processing of the data search terminal 100 according to the first embodiment.
- the category registration request process of the data search terminal 100 in the first embodiment will be described with reference to FIG.
- the searcher inputs category information indicating a category in which the unclassified system ciphertext 230 is desired to be classified to the category registration request unit 130 of the data search terminal 100 using the input device. That is, the category registration request unit 130 inputs the category information designated by the searcher from the input device. It progresses to S602 after S601.
- the category registration request unit 130 refers to the public key correspondence table 160 (see FIG. 4) stored in the search terminal storage unit 190, and a plurality of category determination secrets shown in the public key correspondence table 160.
- the category determination secret key 153 associated with the category indicated by the category information input in S601 is selected. After S602, the process proceeds to S603.
- the category registration request unit 130 acquires the category determination secret key 153 selected in S ⁇ b> 602 from the search terminal storage unit 190, and sends the category registration request including the acquired category determination secret key 153 to the data search server 300. Send.
- the category registration request process ends.
- FIG. 16 is a flowchart showing category registration processing of the data search server 300 according to the first embodiment.
- the category registration process of the data search server 300 in the first embodiment will be described with reference to FIG.
- step S ⁇ b> 610 the category secret key management unit 310 receives the category registration request transmitted from the data search terminal 100.
- the category registration request is data including a category determination secret key 153.
- the category secret key management unit 310 acquires the category determination secret key 153 from the received category registration request, and stores the acquired category determination secret key 153 in the search server storage unit 390. It progresses to S620 after S610.
- the category secret key management unit 310 newly generates a category-specific DB unit 391. It progresses to S630 after S620.
- the category secret key management unit 310 associates the category determination secret key 153 acquired in S610 with the category-specific DB unit 391 generated in S620 and sets them in the secret key correspondence table 350 (see FIG. 9). . It progresses to S640 after S630.
- the category private key management unit 310 determines whether or not the unselected system ciphertext 230 that has not been selected in S641 described later exists in the unclassified DB unit 392. When the unselected system ciphertext 230 exists in the unclassified DB unit 392 (YES), the process proceeds to S641. If there is no unselected system ciphertext 230 in the unclassified DB unit 392 (NO), the category registration process ends.
- the category secret key management unit 310 selects one unselected system ciphertext 230 from the unclassified DB unit 392, and acquires the selected system ciphertext 230 from the unclassified DB unit 392. After S641, the process proceeds to S642.
- the category secret key management unit 310 acquires the index tag 233 from the system ciphertext 230 selected in S641, and decrypts the acquired index tag 233 using the category determination secret key 153 acquired in S610. To do.
- a value obtained by decoding the index tag 233 is referred to as a decoded value of the index tag 233.
- the category secret key management unit 310 compares the decrypted value of the index tag 233 obtained in S642 with the key determination value 191 stored in the search server storage unit 390. When the decrypted value of the index tag 233 and the key determination value 191 are the same (YES), the process proceeds to S644. If the decrypted value of the index tag 233 is different from the key determination value 191 (NO), the process returns to S640.
- the category private key management unit 310 moves the system ciphertext 230 selected in S641 from the unclassified DB unit 392 to the new category-specific DB unit 391 generated in S620. After S644, the process returns to S640.
- the category registration request process shown in FIG. 15 and the category registration process shown in FIG. 16 generate a category-specific DB unit 391 for a new category, and the generated category-specific DB unit 391 classifies it into a new category.
- System ciphertext 230 to be stored is stored.
- FIG. 17 is a diagram illustrating an example of hardware resources of the data search system 900 according to the first embodiment.
- a data search terminal 100, a data registration terminal 200, and a data search server 300 include a CPU 901 (Central Processing Unit).
- the CPU 901 is connected to hardware devices such as a ROM 903, a RAM 904, a communication board 905, a display 911 (display device), a keyboard 912, a mouse 913, a drive 914, and a magnetic disk device 920 via a bus 902, and these hardware devices.
- a bus 902 a bus 901
- the drive 914 is a device that reads and writes a storage medium such as an FD (Flexible Disk Drive), a CD (Compact Disc), and a DVD (Digital Versatile Disc).
- the ROM 903, the RAM 904, the magnetic disk device 920, and the drive 914 are examples of storage devices.
- a keyboard 912, a mouse 913, and a communication board 905 are examples of input devices.
- the display 911 and the communication board 905 are examples of output devices.
- the communication board 905 is wired or wirelessly connected to a communication network such as a LAN (Local Area Network), the Internet, or a telephone line.
- a communication network such as a LAN (Local Area Network), the Internet, or a telephone line.
- the magnetic disk device 920 stores an OS 921 (operating system), a program group 922, and a file group 923.
- OS 921 operating system
- program group 922 program group 922
- file group 923 file group 923
- the program group 922 includes a program for executing a function described as “unit” in the embodiment.
- Programs for example, a data search program, a data registration program, and an information processing program
- the program causes the computer to function as “to part” and causes the computer to execute the procedures and methods of “to part”.
- the file group 923 includes various data (input, output, determination result, calculation result, processing result, etc.) used in “ ⁇ part” described in the embodiment.
- arrows included in the configuration diagrams and flowcharts mainly indicate input and output of data and signals.
- the processing of the embodiment described based on the flowchart and the like is executed using hardware such as the CPU 901, a storage device, an input device, and an output device.
- what is described as “to part” may be “to circuit”, “to apparatus”, and “to device”, and “to step”, “to procedure”, and “to processing”. May be. That is, what is described as “ ⁇ unit” may be implemented by any of firmware, software, hardware, or a combination thereof.
- the data search system 900 has the following features, for example.
- An index tag is added to both the ciphertext (system ciphertext 230) and the search query (see FIGS. 5 and 7).
- the secret key category determination secret key 153
- the index tag in the search query is decrypted with the secret key, and the search target is limited by referring to the result (see FIG. 14).
- the data search system 900 according to Embodiment 1 can provide the following effects, for example. (1) There is an effect that the search speed can be increased in the searchable public key encryption. (2) There is an effect that the search can be speeded up by targeting specific data (for example, data corresponding to a certain category). (3) There is an effect that the searcher can adaptively increase the category for speeding up the search (see FIGS. 15 and 16). (4) By using a public key cryptosystem having key anonymity such as ElGamal cipher or Cramer-Shoup cipher as public key cipher used for creating the index tag, the ciphertext category information is sent to the data search server 300. This has the effect of speeding up the search while keeping it secret.
- a public key cryptosystem having key anonymity such as ElGamal cipher or Cramer-Shoup cipher as public key cipher used for creating the index tag.
- the data search system 900 according to Embodiment 1 may be configured as follows.
- the system ciphertext 230 may include a plurality of index tags 233.
- the registrant designates (inputs) a plurality of category information to the data registration terminal 200.
- the data registration terminal 200 generates an index tag 233 for each designated category, and sets the generated plurality of index tags 233 in the system ciphertext 230.
- the data search server 300 stores the system ciphertext 230 in the plurality of category-specific DB units 391 corresponding to the plurality of index tags 233 included in the system ciphertext 230. Thereby, it is possible to deal with data extending over a plurality of categories.
- the category classification may be detailed using a plurality of key determination values 191. By refining the category classification, a faster search can be realized.
- the data search system 900 operates as follows.
- the data search terminal 100 generates a key determination value correspondence table 192 as shown in FIG. 18 and provides the generated key determination value correspondence table 192 to the data registration terminal 200 and the data search server 300.
- the data search terminal 100 and the data registration terminal 200 are designated by the user as the major category and minor category of the category, and use the key determination value 191 associated with the designated major category and minor category.
- the data search server 300 generates a category-specific DB unit 391 for each major category category (for each category determination secret key 153), and stores the system ciphertext 230 for each minor category category in the category-specific DB unit 391. For example, the data search server 300 categorizes the system ciphertext 230 in which the decryption value of the index tag 233 is “11” and the system ciphertext 230 in which the decryption value of the index tag 233 is “12” into the category-specific DB unit 391. Manage separately within.
- FIG. 18 is a diagram illustrating the key determination value correspondence table 192 according to the first embodiment. As shown in FIG. 18, the key determination value correspondence table 192 is data that associates the major classification category, the minor classification category, and the key determination value 191.
- the category classification may be three or more levels (for example, major classification, middle classification, and minor classification).
- the category may be adaptively decreased.
- the searcher operates the data search terminal 100 to transmit a category deletion request to the data search server 300.
- the category deletion request is data specifying the category determination secret key 153 of the category to be deleted.
- the data search server 300 deletes the category determination secret key 153 according to the deletion request, extracts the system ciphertext 230 from the category-specific DB unit 391 associated with the category determination secret key 153, and moves to the unclassified DB unit 392. Then, the category-specific DB unit 391 is deleted.
- a predetermined number of key pairs of the category determination public key 143 and the category determination secret key 153 are generated.
- the category determination public key 143 and the category determination secret key 153 are generated.
- a key pair may be added as necessary.
- the searcher inputs additional category information to the data search terminal 100.
- the data search terminal 100 newly generates a key pair of the category determination public key 143 and the category determination secret key 153 based on the additional category information, updates the public key correspondence table 160, and determines the category determination.
- the public key 143, the category determination secret key 153, and the public key correspondence table 160 are provided to the data registration terminal 200 and the data search server 300 in the same manner as the setup process.
- the system ciphertext 230 is classified according to the category (for example, “patent” and “design”) related to the contents of data (data ciphertext 231) and keywords (keyword ciphertext 232). However, the system ciphertext 230 may be classified according to other attributes of data (creation date, data size, etc.). As a result, the system ciphertext 230 can be managed according to the attribute (type) of the data, and the search can be speeded up.
- FIG. 19 is a diagram showing another example of the public key correspondence table 160 in the first embodiment.
- the data search terminal 100 generates a public key correspondence table 160 as shown in FIG. 19 and provides the generated public key correspondence table 160 to the data registration terminal 200.
- the data registration terminal 200 uses the category determination public key 143 associated with the creation date of the system ciphertext 230 among the plurality of category determination public keys 143 shown in the public key correspondence table 160 to use the system ciphertext 230.
- the index tag 233 is generated.
- the searcher inputs the creation date of data to be acquired to the data search terminal 100.
- the data search terminal 100 uses the category determination public key 143 associated with the creation date of the input data among the plurality of category determination public keys 143 shown in the public key correspondence table 160. 170 index tags 172 are generated.
- public key cryptosystem or searchable public key cryptosystem
- another cryptosystem for example, a common key cryptosystem
- data and keywords may be registered without encryption as necessary.
- the data search device includes a data storage unit, a key determination information storage unit, a search condition input unit, a data group selection unit, a data search unit, and a search result output unit.
- the data storage unit includes a plurality of data groups (category DB unit 391) including one or more data (system ciphertext 230) and a plurality of decryption keys (category determination) for decrypting the encrypted information. Private key 153) for use in association with each other.
- the key determination information storage unit (search server storage unit 390) stores key determination information (key determination value 191) for determining a decryption key.
- the search condition input unit includes a search condition (search trap door 171) for searching for data, and encrypted information (index tag) obtained by encrypting predetermined information (key determination value 191). 172).
- the data group selection unit decrypts the encryption information input by the search condition input unit using each of a plurality of decryption keys stored in the data storage unit.
- the data group selection unit selects a decryption key obtained by decrypting the encrypted information into the same information as the key determination information among the plurality of decryption keys.
- the data group selection unit selects a data group associated with the selected decryption key among the plurality of data groups stored in the data storage unit as a search destination group.
- the data search unit acquires, as search result data, data satisfying the search condition input by the search condition input unit from one or more data included in the search destination group selected by the data group selection unit. To do.
- the search result output unit (search result transmission unit 333) outputs search result data acquired by the data search unit.
- the data search apparatus further includes a new data input unit and a new data registration unit.
- the new data input unit (registration request receiving unit 321) inputs new data (data ciphertext 231) and an encryption tag (index tag 233) obtained by encrypting predetermined information (key determination value 191).
- the new data registration unit (data registration unit 322) adds the new data input by the new data input unit to the registration destination group selected by the data group selection unit among the plurality of data groups.
- the data group selection unit decrypts the encryption tag input by the new data input unit using each of the plurality of decryption keys.
- the data group selection unit selects a decryption key obtained by decrypting the encryption tag into the same information as the key determination information from among a plurality of decryption keys, and registers a data group associated with the selected decryption key among the plurality of data groups. Select as destination group.
- the data storage unit (storage device) further stores an unclassified group (unclassified DB unit 392) as a data group including a plurality of data and a plurality of encrypted tags obtained by encrypting predetermined information in association with each other.
- the data search apparatus further includes an additional decryption key input unit and a data group registration unit.
- the additional decryption key input unit (category secret key management unit 310) inputs a new decryption key (category determination secret key 153) as an additional decryption key.
- the data group registration unit (category secret key management unit 310) decrypts the plurality of encryption tags included in the unclassified group using the additional decryption key input by the additional decryption key input unit.
- the data group registration unit selects an encryption tag decrypted to the same information as the key determination information from among a plurality of encryption tags.
- the data group registration unit extracts data associated with the selected encryption tag from the plurality of data included in the unclassified group, and includes the extracted data as a new data group to be added to the plurality of data groups. Generate additional groups.
- the data group registration unit stores the generated additional group and the additional decryption key in association with each other in the data storage unit.
- the data registration device includes a data generation unit, a classification information input unit, an encryption tag generation unit, and a data registration request unit.
- the data generation unit (data ciphertext generation unit 222) generates data (data ciphertext 231).
- the classification information input unit (registration information input unit 221) inputs classification information indicating the classification of data generated by the data generation unit.
- the encryption tag generation unit (index tag generation unit 224) encrypts predetermined information (key determination value 191) based on the classification information input by the classification information input unit, thereby encrypting the tag (index tag 233). ) Is generated.
- the data registration request unit (data registration request unit 225) transmits the data generated by the data generation unit and the encryption tag generated by the encryption tag generation unit to the data search device (data search server 300). Accordingly, the data registration request unit causes the data search apparatus to execute a process of adding data as search target data to the data group of the classification indicated by the classification information.
- the data registration apparatus further includes an encryption key storage unit (registered terminal storage unit 290) that stores a plurality of encryption keys (category determination public key 143) and a plurality of classification information (category information) in association with each other. .
- the encryption tag generation unit selects and selects an encryption key associated with the same classification information as the classification information input by the classification information input unit from among a plurality of encryption keys stored in the encryption key storage unit The encryption tag is generated by encrypting predetermined information using the encryption key.
- the information processing apparatus includes a search condition input unit, an encryption tag generation unit, and a data search request unit.
- the search condition input unit (search keyword input unit 121) inputs a search condition (search keyword) for searching for data (data ciphertext 231) and classification information (category information) indicating the classification of data.
- the encryption tag generation unit (search query generation unit 122) encrypts predetermined information (key determination value 191) based on the classification information input by the search condition input unit, thereby encrypting the tag (index tag 172). Is generated.
- the data search request unit receives the search condition information (search trap door 171) input by the search condition input unit and the encryption tag generated by the encryption tag generation unit. Search server 300).
- the data search request unit receives data satisfying the search condition from the data included in the classification data group indicated by the classification information from the data search apparatus as search result data.
- the information processing apparatus further includes an encryption key storage unit (search terminal storage unit 190) that stores a plurality of encryption keys (category determination public key 143) and a plurality of classification information in association with each other.
- the encryption tag generation unit selects and selects an encryption key associated with the same classification information as the classification information input by the search condition input unit from among a plurality of encryption keys stored in the encryption key storage unit
- the encryption tag is generated by encrypting predetermined information using the encryption key.
- Embodiment 2 An embodiment using ID-based encryption (IBE: Identity-Based Encryption) instead of public key encryption will be described.
- ID-based encryption is an encryption method that uses an identifier (ID) such as a user name, IP address, or mail address as a public key.
- ID identifier
- IBE Identity-Based Encryption
- items different from the first embodiment will be mainly described. Matters whose description is omitted are the same as those in the first embodiment.
- the configuration of the data search system 900 and the functional configurations of the data search terminal 100, the data registration terminal 200, and the data search server 300 are the same as those in the first embodiment (see FIGS. 1, 2, 6, and 8).
- the data search system 900 is different from the first embodiment in the following points.
- the public key correspondence table 160 (see FIG. 4) described in the first embodiment is not necessary. For this reason, the public key correspondence table generation unit 112 of the data search terminal 100 is also unnecessary. Details of the processing will be described later.
- FIG. 20 is a diagram showing the system public key 140 and the system secret key 150 according to the second embodiment.
- the system public key 140 and the system secret key 150 in the second embodiment will be described with reference to FIG.
- the system public key 140 has one IBE master public key 144 instead of the plurality of category determination public keys 143 described in the first embodiment (see FIG. 3).
- the IBE master public key 144 is an ID-based encryption master public key.
- the system secret key 150 has one IBE master secret key 154 instead of the plurality of category determination secret keys 153 described in the first embodiment (see FIG. 3).
- the IBE master secret key 154 is an ID-based encryption master secret key.
- FIG. 21 is a flowchart showing a setup process of data search terminal 100 in the second embodiment.
- a setup process of the data search terminal 100 according to the second embodiment will be described with reference to FIG. S110B to S131B described below are processes corresponding to S110 to S131 described in the first embodiment (see FIG. 10).
- a process partially different from that of the first embodiment is indicated by “B” at the end.
- the system key generation unit 111 generates a system public key 140 and a system secret key 150.
- the system public key 140 includes an IBE master public key 144
- the system private key 150 includes an IBE master private key 154.
- the system key generation unit 111 generates a key pair of the IBE master public key 144 and the IBE master secret key 154 by executing an ID-based encryption master key generation algorithm.
- the system key generation unit 111 includes anonymity such as Boneh-Franklin ID-based encryption (BF-IBE) (see Non-Patent Document 4) and Boyen-Waters ID-based encryption (BW-IBE) (see Non-Patent Document 5).
- An ID-based encryption scheme having (anonymity) is used.
- Anonymity is a property that even if a ciphertext is viewed, it is not known which ID is used as a public key (see Non-Patent Document 6).
- the system key generation unit 111 may use an ID-based encryption method that does not have anonymity (for example, Boneh-Boyen ID-based encryption (BB-IBE)). It progresses to S130B after S110B.
- BB-IBE Boneh-Boyen ID-based encryption
- the key information disclosing unit 113 discloses the system public key 140, the key determination value 191 and the ID-based encryption public parameter to the data registration terminal 200, as in S130 of the first embodiment.
- the public key correspondence table 160 is not necessary. It progresses to S131B after S130B.
- the key information disclosure unit 113 executes an ID-based encryption user secret key generation algorithm using the IBE master secret key 154 and category information, and generates a user secret key for each category.
- the category information is specified (input) to the data search terminal 100 by the user.
- the key information disclosure unit 113 receives the user secret key for each category (instead of the category determination secret key 153), the key determination value 191, and the ID-based encryption public parameter, as the data search server 300. Register with.
- the data search server 300 generates a secret key correspondence table 350 that associates the user secret key for each category with the DB unit 391 for each category.
- the setup process ends.
- FIG. 22 is a flowchart showing data registration request processing of the data registration terminal 200 in the second embodiment.
- Data registration request processing of the data registration terminal 200 in Embodiment 2 will be described with reference to FIG. S210 to S251 described below are processes corresponding to S210 to S251 described in the first embodiment (see FIG. 11). A process partially different from that of the first embodiment is indicated by “B” at the end.
- S210 to S230 are the same as those in the first embodiment. After S230, the process proceeds to S241B.
- the index tag generation unit 224 executes an ID-based encryption algorithm using the IBE master public key 144 and the category information, and generates an index tag 233 in which the key determination value 191 is encrypted. That is, the index tag generation unit 224 encrypts the key determination value 191 using the IBE master public key 144 using the category information as a parameter. After S241B, the process proceeds to S250.
- S250 and S251 are the same as those in the first embodiment. By S251, the data registration request process ends.
- FIG. 23 is a flowchart showing data registration processing of the data search server 300 according to the second embodiment.
- Data registration processing of the data search server 300 in the second embodiment will be described with reference to FIG. S310 to S340B described below are processes corresponding to S310 to S340 described in the first embodiment (see FIG. 12).
- a process partially different from that of the first embodiment is indicated by “B” at the end.
- the registration request receiving unit 321 receives a registration request for the system ciphertext 230 from the data registration terminal 200. After S310, the process proceeds to S320B.
- the category determination unit 340 determines whether or not the search server storage unit 390 has an unselected user secret key for each category not selected in S330B described later. When there is an unselected user secret key for each category (YES), the process proceeds to S330B. When there is no unselected user secret key for each category (NO), the process proceeds to S321. In S321, the data registration unit 322 stores the system ciphertext 230 in the unclassified DB unit 392.
- the category determination unit 340 selects one user secret key for each category that has not been selected from the search server storage unit 390. It progresses to S331B after S330B.
- the category determination unit 340 decrypts the index tag 233 included in the system ciphertext 230 using the category-specific user secret key selected in S330B. It progresses to S332 after S331B.
- the category determination unit 340 compares the key determination value 191 with the decrypted value of the index tag 233 obtained in S331B. When the key determination value 191 and the decryption value of the index tag 233 are the same value (YES), the process proceeds to S340B. When the key determination value 191 and the decrypted value of the index tag 233 are different values (NO), the process returns to S320B.
- the data registration unit 322 stores the system ciphertext 230 in the category-specific DB unit 391 corresponding to the category-specific user secret key selected in S330B. With S340B, the data registration process ends.
- FIG. 24 is a flowchart showing data search request processing of the data search terminal 100 according to the second embodiment.
- Data search request processing of the data search terminal 100 in the second embodiment will be described with reference to FIG. S410 to S441 described below are processes corresponding to S410 to S441 described in the first embodiment (see FIG. 13). A process partially different from that of the first embodiment is indicated by “B” at the end.
- S410 and S420 are the same as those in the first embodiment. It progresses to S422B after S420.
- the search query generation unit 122 executes an ID-based encryption algorithm using the IBE master public key 144 and the category information, and generates an index tag 172 in which the key determination value 191 is encrypted. That is, the search query generation unit 122 encrypts the key determination value 191 using the IBE master public key 144 using the category information as a parameter. It progresses to S423 after S422B.
- S423 to S441 are the same as those in the first embodiment.
- S441 the data search request process ends.
- FIG. 25 is a flowchart showing data search processing of the data search server 300 according to the second embodiment.
- Data search processing of the data search server 300 in the second embodiment will be described with reference to FIG. S510 to S550 described below are processes corresponding to S510 to S550 described in the first embodiment (see FIG. 14).
- a process partially different from that of the first embodiment is indicated by “B” at the end.
- the search request receiving unit 331 receives the search query 170 including the search trap door 171 and the index tag 172 from the data search terminal 100. After S510, the process proceeds to S520B.
- the category determination unit 340 determines whether or not the search server storage unit 390 has user secret keys for unselected categories that are not selected in S530B described later. If there is an unselected user secret key for each category (YES), the process proceeds to S530B. If there is no unselected category user secret key (NO), the process proceeds to S521. In S ⁇ b> 521, the data search unit 332 searches the unclassified DB unit 392 using the search trapdoor 171 using the search algorithm of the searchable public key cryptosystem.
- the category determination unit 340 selects one user secret key for each category that has not been selected from the search server storage unit 390. It progresses to S531B after S530B.
- the category determination unit 340 decrypts the index tag 172 using the category-specific user secret key selected in S530B. After S531B, the process proceeds to S532.
- the category determination unit 340 compares the key determination value 191 with the decrypted value of the index tag 172 obtained in S531B. When the key determination value 191 and the decryption value of the index tag 172 are the same value (YES), the process proceeds to S540B. If the key determination value 191 and the decryption value of the index tag 172 are different values (NO), the process returns to S520B.
- the data search unit 332 searches the category-specific DB unit 391 corresponding to the category-specific user secret key selected in S530B using the search trapdoor 171 by a search algorithm of a searchable encryption method. It progresses to S550 after S540B.
- the search result transmission unit 333 transmits the search result including the data ciphertext 231 hit in the search process of S540B or S521 to the data search terminal 100.
- the data search process ends.
- FIG. 26 is a flowchart showing category registration request processing of the data search terminal 100 according to the second embodiment.
- the category registration request process of the data search terminal 100 in the second embodiment will be described with reference to FIG. S601 to S603B described below are processes corresponding to S601 to S603 described in the first embodiment (see FIG. 15). A process partially different from that of the first embodiment is indicated by “B” at the end.
- step S601 the category registration request unit 130 inputs category information designated by the searcher. After S601, the process proceeds to S602B.
- the category registration request unit 130 executes an ID-based user secret key generation algorithm using the IBE master secret key 154 and the category information, and generates a user secret key for each category. After S602B, the process proceeds to S603B.
- the category registration request unit 130 transmits a category registration request including the user secret key for each category generated in S602B to the data search server 300.
- the category registration request process ends.
- FIG. 27 is a flowchart showing category registration processing of the data search server 300 according to the second embodiment.
- the category registration process of the data search server 300 in the second embodiment will be described with reference to FIG. S610B to S644 described below are processes corresponding to S610 to S644 described in the first embodiment (see FIG. 16). A process partially different from that of the first embodiment is indicated by “B” at the end.
- the category secret key management unit 310 receives a category registration request including the user secret key for each category from the data search terminal 100. It progresses to S620 after S610B.
- the category private key management unit 310 In S620, the category private key management unit 310 generates a new category-specific DB unit 391. It progresses to S630B after S620.
- the category secret key management unit 310 sets the correspondence between the category user secret key and the new category DB unit 391 in the secret key correspondence table 350. It progresses to S640 after S630B.
- the category private key management unit 310 determines whether there is an unselected system ciphertext 230 that has not been selected in S641 described later. If there is an unselected system ciphertext 230 (YES), the process proceeds to S641. If there is no unselected system ciphertext 230 (NO), the category registration process ends.
- the category secret key management unit 310 selects one unselected system ciphertext 230 from the registered terminal storage unit 290. After S641, the process proceeds to S642B.
- the category secret key management unit 310 decrypts the index tag 233 using the category-specific user secret key. After S642B, the process proceeds to S643.
- the category secret key management unit 310 compares the key determination value 191 with the decrypted value of the index tag 233 obtained in S642B.
- the process proceeds to S644.
- the key determination value 191 and the decryption value of the index tag 233 are different values (NO)
- the process returns to S640.
- the category secret key management unit 310 moves the system ciphertext 230 selected in S641 from the unclassified DB unit 392 to a new category-specific DB unit 391. After S644, the process returns to S640.
- the public key correspondence table 160 may be used as in the first embodiment.
- the data search terminal 100 and the data registration terminal 200 operate as follows.
- FIG. 28 is a diagram showing the public key correspondence table 160 in the second embodiment.
- the public key correspondence table 160 is data associating an ID used as a category determination public key with a category.
- the data search terminal 100 and the data registration terminal 200 generate an ID corresponding to a category indicated by the category information among a plurality of IDs shown in the public key correspondence table 160 instead of generating a category-specific user public key using the category information.
- a user public key for each category is generated using.
- the data search system 900 according to Embodiment 2 can provide the following effects, for example. (1) The same effects as those of the first embodiment can be obtained.
- the search speed can be increased in searchable public key cryptography.
- the category information of a ciphertext can be concealed by using ID-based encryption having anonymity.
- the public key correspondence table is unnecessary, the data registration terminal 200 can immediately generate the index tag 233 without referring to the public key correspondence table. However, a public key correspondence table may be used.
- Embodiment 3 A mode of using functional encryption (FE) instead of ID-based encryption will be described.
- Functional encryption is an encryption method that uses a parameter y when generating a user secret key using the parameter x as a public key.
- the parameter x and the parameter y satisfy the predetermined relationship R (x, y)
- the ciphertext can be decrypted.
- R (x, y) There are various types of parameter x, parameter y, and relationship R (x, y).
- x and y are numerical vectors, and the relationship R is generally a relationship in which the inner product value of x and y is 0.
- Such x, y, and R (x, y) are called inner product predicates.
- Non-Patent Document 8 Katz-Sahai-Waters inner product predicate encryption (KSW-IPE) (see Non-Patent Document 7) and Okamoto-Takashima inner product predicate encryption (OT-IPE) (see Non-Patent Document 8) are functional encryption schemes having attribute confidentiality. It is an example. Sahai-Waters fuzzy ID-based encryption (SW-FIDE) is an example of a functional encryption that does not have attribute confidentiality.
- the configuration of the data search system 900 and the functional configurations of the data search terminal 100, the data registration terminal 200, and the data search server 300 are the same as those in the first embodiment (see FIGS. 1, 2, 6, and 8).
- the data search system 900 is different from the first and second embodiments in the following points.
- the public key correspondence table 160 Since the data search system 900 uses functional encryption, the public key correspondence table 160 is not required as in the case where ID-based encryption is used (see Embodiment 2). For this reason, the public key correspondence table generation unit 112 of the data search terminal 100 is also unnecessary. However, as in the second embodiment (see FIG. 28), the public key correspondence table 160 that associates the parameter x (instead of ID) with the category may be used.
- FIG. 29 is a diagram showing the system public key 140 and the system secret key 150 according to the third embodiment.
- the system public key 140 and the system secret key 150 in the third embodiment will be described with reference to FIG.
- the system public key 140 has one FE master public key 145 instead of the plurality of category determination public keys 143 described in the first embodiment (see FIG. 3).
- the FE master public key 145 is a functional public master key.
- the system secret key 150 has one FE master secret key 155 instead of the plurality of category determination secret keys 153 described in the first embodiment (see FIG. 3).
- the FE master secret key 155 is a functional secret master secret key.
- the setup process of the data search terminal 100 is the same as that in the second embodiment (see FIG. 21).
- the system key generation unit 111 generates the system public key 140 including the functional public key master public key instead of the IBE master public key 144, and uses the functional cryptographic master secret key instead of the IBE master private key 154.
- the included system secret key 150 is generated (S110B).
- the data registration request process of the data registration terminal 200 is the same as that in the second embodiment (see FIG. 22).
- the index tag generation unit 224 generates the index tag 233 by encrypting the key determination value 191 using the functional public encryption master public key instead of the IBE master public key 144 (S241B).
- the registrant may specify the category under complicated conditions utilizing the characteristics of the functional encryption. For example, it is known that an AND condition or an OR condition can be specified by using inner product predicate encryption. It is also known that NOT conditions can be specified by using functional encryption that does not have attribute confidentiality.
- the index tag generation unit 224 uses a vector x in a format corresponding to the search condition as a public key.
- Data registration processing of the data search server 300 is the same as that of the second embodiment (see FIG. 23).
- the user secret key for each category is not a ID-based encryption but a functional encryption user secret key.
- the data search request process of the data search terminal 100 is the same as that in the second embodiment (see FIG. 24). However, similarly to the above-described index tag generation unit 224, the search query generation unit 122 executes the encryption algorithm of the functional encryption scheme using the functional public encryption master public key instead of the IBE master public key 144, The key determination value 191 is encrypted to generate the index tag 172 (S422B).
- the data search process of the data search server 300 is the same as that in the second embodiment (see FIG. 25).
- the user secret key for each category is not a ID-based encryption but a functional encryption user secret key.
- CN is category information (category name). That is, the index tag generation unit 224 generates a user secret key for each category using the parameter y including the category information.
- the searcher may specify a category under complicated conditions by taking advantage of the characteristics of functional encryption.
- an AND condition or an OR condition can be specified by using inner product predicate encryption. It is also known that NOT conditions can be specified by using functional encryption that does not have attribute confidentiality.
- the category registration request unit 130 uses a vector y in a format according to the conditions.
- the category registration process of the data search server 300 is the same as that in the second embodiment (see FIG. 27).
- the user secret key for each category is not a ID-based encryption but a functional encryption user secret key.
- the data search system 900 according to Embodiment 3 can provide the following effects, for example. (1) The same effect as in the first and second embodiments can be obtained.
- the search speed can be increased in searchable public key cryptography.
- the category information of a ciphertext can be concealed by using the functional encryption which has attribute secrecy.
- a category can be specified under conditions (AND condition, OR condition, NOT condition, etc.) that are more flexible than the category conditions (ID matching) when ID-based encryption is used.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
送信者が機密情報を含んだデータファイルを外部データベース(以下、「サーバ」という)経由で受信者に送る、という状況を考える。すなわち、送信者がサーバにデータファイルをアップロードしておき、受信者がキーワード検索により必要なデータファイルをサーバからダウンロードする、という状況を考える。
ここで、送信者と受信者は、データファイルとキーワードとの両方をサーバに知られずに共有したい。
受信者は、公開鍵暗号の公開鍵・秘密鍵ペア(データファイル本体の暗号化・復号に使用)と、検索可能公開鍵暗号の公開鍵・秘密鍵ペア(キーワードの暗号化、検索クエリの作成に使用)とを予め用意する。そして、受信者は、それぞれの公開鍵を公開しておく。
送信者は、受信者の公開鍵暗号の公開鍵を用いてデータファイルを暗号化してデータファイルの暗号文を生成する。これに加えて、送信者は、検索可能公開鍵暗号の公開鍵を用いてキーワードを暗号化してキーワードの暗号文を生成する。以下、検索可能公開鍵暗号の公開鍵を用いて生成したキーワードの暗号文を「暗号化タグ」という。送信者は、データファイルの暗号文と暗号化タグとを合わせてサーバにアップロードする。
受信者は、検索可能公開鍵暗号の秘密鍵を用いてキーワードを暗号化してキーワードの暗号文を生成する。以下、検索可能公開鍵暗号の秘密鍵を用いて生成したキーワードの暗号文を「トラップドア」という。受信者は、このトラップドアを検索クエリとしてサーバに送信する。
サーバは、受け取ったトラップドアを用いてデータベース内の全てのデータファイルの暗号文それぞれの暗号化タグに対して秘匿検索を行う。そして、サーバは、秘匿検索でヒットしたデータファイルの暗号文を受信者に送信する。
これを解決するためにいくつかの方法が提案されている。
但し、この方法には、インデックス記憶部が適切に更新されるまでは全文検索が必要なため、検索処理を高速化することができない、という課題がある。また、この方法には、様々な検索要求が大量に発生した場合にインデックス記憶部の効果が薄まり、検索処理を高速化することができない、という課題もある。さらに、この方法には、既存の検索可能公開鍵暗号方式のシステムを大きく変更する必要がある、という課題もある。
1つ以上のデータを含んだ複数のデータグループと暗号化された情報を復号する複数の復号鍵とを対応付けて記憶するデータ記憶部と、
復号鍵を判定するための鍵判定情報を記憶する鍵判定情報記憶部と、
データを検索するための検索条件と、所定の情報を暗号化した暗号化情報とを入力する検索条件入力部と、
前記検索条件入力部が入力した前記暗号化情報を前記データ記憶部に記憶される前記複数の復号鍵それぞれを用いて復号し、前記複数の復号鍵のうち前記暗号化情報を前記鍵判定情報と同じ情報に復号した復号鍵を選択し、前記データ記憶部に記憶される前記複数のデータグループのうち前記選択した復号鍵に対応付けられたデータグループを検索先グループとして選択するデータグループ選択部と、
前記データグループ選択部によって選択された前記検索先グループに含まれる1つ以上のデータから前記検索条件入力部が入力した前記検索条件を満たすデータを検索結果のデータとして取得するデータ検索部と、
前記データ検索部によって取得された前記検索結果のデータを出力する検索結果出力部とを備える。
検索可能公開鍵暗号(PEKS)を用いて高速に検索を行うシステムについて説明する。
検索可能公開鍵暗号とは、暗号化したデータを復号しないでキーワード検索を行うための技術である(非特許文献1参照)。
実施の形態1におけるデータ検索システム900の構成について、図1に基づいて説明する。
データ検索端末100とデータ登録端末200とデータ検索サーバ300とはネットワーク909(例えば、インターネット)を介して通信接続している。
データ検索端末100(情報処理端末装置の一例)は、データ検索サーバ300に対して暗号化した検索キーワードを指定してキーワード検索を要求するための装置である。
データ検索サーバ300(データ検索装置の一例)は、データ登録端末200によって登録された暗号化データを対象にしてデータ検索端末100によって指定された暗号化キーワードに従って検索可能公開鍵暗号のキーワード検索を行うための装置である。データ検索サーバ300は検索結果をデータ検索端末100に応答する。
電子メールの送信者A、B、Cはそれぞれ、データ登録端末200を用いて暗号化した電子メールをデータ検索サーバ300へ送信する。データ検索サーバ300は送信者A、B、Cそれぞれの暗号化された電子メールを記憶する。
電子メールの受信者は、送信者Aの電子メールを見たい場合、データ検索端末100に対して電子メールの検索キーワードとして送信者Aの識別子(例えば、電子メールアドレス)を指定する。データ検索端末100は、検索キーワード(送信者Aの識別子)を暗号化してデータ検索サーバ300へ送信する。
データ検索サーバ300は、暗号化された検索キーワードに従って検索可能公開鍵暗号のキーワード検索を行い、送信者Aの暗号化された電子メールをデータ検索端末100へ送信する。
データ検索端末100は送信者Aの暗号化された電子メールを受信し、受信した電子メールを復号し、復号した電子メールを表示する。
これにより、電子メールの送信者A、B、Cおよび受信者は電子メールを秘匿することができる。さらに、電子メールの受信者は電子メールの検索キーワードを秘匿することができる。
実施の形態1におけるデータ検索端末100の機能構成について、図2に基づいて説明する。
システム鍵生成部111は、後述する鍵判定値191とシステム公開鍵140とシステム秘密鍵150とを生成する。
公開鍵対応表生成部112は、後述する公開鍵対応表160を生成する。
鍵情報公開部113は、システム公開鍵140とシステム秘密鍵150と公開鍵対応表160とをデータ登録端末200またはデータ検索サーバ300に対して公開する。
システム鍵生成部111、公開鍵対応表生成部112および鍵情報公開部113の詳細については、後述するセットアップ処理のフローチャートに基づいて説明する。
実施の形態1におけるシステム公開鍵140とシステム秘密鍵150とについて、図3に基づいて説明する。
データ用公開鍵141は、検索対象のデータを暗号化するための鍵データ(暗号化鍵)である。
キーワード用公開鍵142は、検索対象のデータに添付するキーワード(データキーワード)またはデータの検索時に指定するキーワード(検索キーワード)を暗号化するための鍵データ(暗号化鍵)である。
カテゴリ判定用公開鍵143は、検索対象のデータが属するカテゴリ(データカテゴリ)を判定するための情報(鍵判定値191)を暗号化するための鍵データ(暗号化鍵)である。カテゴリ判定用公開鍵143はデータのカテゴリ毎に異なる。
データ用秘密鍵151は、暗号化された検索対象のデータを復号するための鍵データ(復号鍵)である。
キーワード用秘密鍵152は、検索キーワードに対応する秘密鍵(後述する検索用トラップドア171)を生成するための鍵データ(マスタ秘密鍵)である。
カテゴリ判定用秘密鍵153は、暗号化された鍵判定値191(後述する索引用タグ172または索引用タグ233)を復号するための鍵データ(復号鍵)である。カテゴリ判定用秘密鍵153はデータのカテゴリ毎に異なる。
キーワード用公開鍵142およびキーワード用秘密鍵152はデータのキーワード用の鍵ペア(検索可能公開鍵暗号の鍵ペア)を構成する。キーワード用公開鍵142とキーワード用秘密鍵152とをデータ用の鍵ペアとして兼用しても構わない。この場合、データ用公開鍵141およびデータ用秘密鍵151は不要である。
カテゴリ判定用公開鍵143およびカテゴリ判定用秘密鍵153はデータのカテゴリ判定用の複数の鍵ペア(公開鍵暗号の鍵ペア)を構成する。
実施の形態1における公開鍵対応表160について、図4に基づいて説明する。
図4に示す公開鍵対応表160は、「PK1」で識別されるカテゴリ判定用公開鍵143と「特許」カテゴリとを対応付け、「PK2」で識別されるカテゴリ判定用公開鍵143と「意匠」カテゴリとを対応付けている。
検索キーワード入力部121(検索条件入力部の一例)は、利用者(データの検索者)に指定された検索キーワード(検索条件の一例)と検索対象のカテゴリとを入力装置または記憶装置から入力する。
検索クエリ生成部122(暗号化タグ生成部の一例)は、検索キーワードと検索対象のカテゴリとに基づいて検索クエリ170を生成する。検索クエリ170は検索キーワードを指定するためのデータである。
検索要求部123(データ検索要求部の一例)は、検索クエリ170をデータ検索サーバ300へ送信し、検索キーワードに該当する暗号化データを含んだ検索結果199をデータ検索サーバ300から受信する。
検索結果出力部124は、検索結果199に含まれる暗号化データをデータ用秘密鍵151を用いて復号し、復号して得られたデータを出力する。
検索キーワード入力部121、検索クエリ生成部122、検索要求部123および検索結果出力部124の詳細については、後述するデータ検索要求処理のフローチャートに基づいて説明する。
実施の形態1における検索クエリ170について、図5に基づいて説明する。
検索用トラップドア171は検索キーワードに対応する秘密鍵である。検索用トラップドア171はキーワード用秘密鍵152を用いて生成される。
索引用タグ172は、検索対象のカテゴリ用のカテゴリ判定用公開鍵143を用いて暗号化した鍵判定値191である。
カテゴリ登録要求部130の詳細については、後述するカテゴリ登録要求処理のフローチャートに基づいて説明する。
例えば、検索端末記憶部190は、鍵判定値191、システム公開鍵140、システム秘密鍵150、公開鍵対応表160、検索クエリ170および検索結果199を記憶する。
実施の形態1におけるデータ登録端末200の機能構成について、図6に基づいて説明する。
公開情報取得部210の詳細については、後述するセットアップ処理のフローチャートに基づいて説明する。
登録情報入力部221(分類情報入力部の一例)は、利用者(データの登録者)に指定されたデータとデータのキーワードとデータのカテゴリとを入力装置または記憶装置から入力する。
データ暗号文生成部222(データ生成部の一例)は、データ用公開鍵141を用いてデータを暗号化する。
キーワード暗号文生成部223は、キーワード用公開鍵142を用いてデータのキーワードを暗号化する。
索引用タグ生成部224(暗号化タグ生成部の一例)は、データのカテゴリ用のカテゴリ判定用公開鍵143を用いて鍵判定値191を暗号化する。
データ登録要求部225(データ登録要求部の一例)は、暗号化したデータとキーワードと鍵判定値191とを含んだシステム暗号文230の登録をデータ検索サーバ300に対して要求する。
登録情報入力部221、データ暗号文生成部222、キーワード暗号文生成部223、索引用タグ生成部224およびデータ登録要求部225の詳細については、後述するデータ登録要求処理のフローチャートに基づいて説明する。
実施の形態1におけるシステム暗号文230について、図7に基づいて説明する。
データ暗号文231(データの一例)は、データ用公開鍵141を用いてデータを暗号化したものである。
キーワード暗号文232は、キーワード用公開鍵142を用いてデータのキーワードを暗号化したものである。
索引用タグ233(暗号化タグの一例)は、データが属するカテゴリのカテゴリ判定用公開鍵143を用いて鍵判定値191を暗号化したものである。
例えば、登録端末記憶部290は、鍵判定値191、システム公開鍵140、公開鍵対応表160およびシステム暗号文230を記憶する。
実施の形態1におけるデータ検索サーバ300の機能構成について、図8に基づいて説明する。
さらに、データ検索サーバ300は、データのカテゴリ別にデータベース(以下、「カテゴリ別DB部391」という)を備える。
また、データ検索サーバ300は、いずれのカテゴリにも分類されていないデータ用のデータベース(以下、「未分類DB部392」という)を備える。
また、カテゴリ用秘密鍵管理部310は、カテゴリ判定用秘密鍵153に対応付けるカテゴリ別DB部391を生成する。
さらに、カテゴリ用秘密鍵管理部310は、カテゴリ判定用秘密鍵153とカテゴリ別DB部391とを対応付ける秘密鍵対応表350を生成する。
カテゴリ用秘密鍵管理部310の詳細については、後述するセットアップ処理のフローチャートおよびカテゴリ登録処理のフローチャートに基づいて説明する。
登録要求受信部321(新規データ入力部の一例)は、データ登録端末200から送信されるデータ(図7に示したシステム暗号文230)の登録要求を受信する。
データ登録部322(新規データ登録部の一例)は、データの登録要求に従ってデータが属するカテゴリ用のカテゴリ別DB部391にデータを記憶する。
登録要求受信部321およびデータ登録部322の詳細については、後述するデータ登録処理のフローチャートに基づいて説明する。
検索要求受信部331(検索条件入力部の一例)は、データ検索端末100から送信されるデータの検索要求(図5に示した検索クエリ)を受信する。
データ検索部332(データ検索部の一例)は、データの検索要求に従って検索対象のカテゴリ用のカテゴリ別DB部391を検索する。
検索結果送信部333(検索結果出力部の一例)は、検索条件を満たすデータ(図7に示したシステム暗号文230)を含んだ検索結果をデータ検索端末100へ送信する。
検索要求受信部331、データ検索部332および検索結果送信部333の詳細については、後述するデータ検索処理のフローチャートに基づいて説明する。
カテゴリ判定部340の詳細については、後述するデータ登録処理のフローチャートおよびデータ検索処理のフローチャートに基づいて説明する。
例えば、検索サーバ記憶部390は、鍵判定値191、カテゴリ判定用秘密鍵153および秘密鍵対応表350を記憶する。
実施の形態1における秘密鍵対応表350について、図9に基づいて説明する。
図9に示す秘密鍵対応表350は、「SK1」で識別されるカテゴリ判定用秘密鍵153と、「DB1」で識別されるカテゴリ別DB部391とを対応付け、「SK2」で識別されるカテゴリ判定用秘密鍵153と、「DB2」で識別されるカテゴリ別DB部391とを対応付けている。
実施の形態1におけるデータ検索端末100のセットアップ処理について、図10に基づいて説明する。
このとき、システム鍵生成部111は、データ用公開鍵141とデータ用秘密鍵151との鍵ペアを公開鍵暗号方式の鍵生成アルゴリズムによって生成する。RSA暗号(RSAは登録商標)は公開鍵暗号方式の一例である。
また、システム鍵生成部111は、キーワード用公開鍵142とキーワード用秘密鍵152との鍵ペアを検索可能公開鍵暗号方式の鍵生成アルゴリズムによって生成する。
また、システム鍵生成部111は、カテゴリ判定用公開鍵143とカテゴリ判定用秘密鍵153との複数の鍵ペアを公開鍵暗号方式の鍵生成アルゴリズムによって生成する。例えば、システム鍵生成部111は、ElGamal暗号やCramer-Shoup暗号など、鍵匿名性(key-privacy)を有する公開鍵暗号方式を使用する。鍵匿名性とは、暗号文を見てもどの公開鍵を用いたかわからない、という性質である。カテゴリ判定用公開鍵143とカテゴリ判定用秘密鍵153との鍵ペアの個数はデータを分類するカテゴリの個数であり、検索者がデータ検索端末100のシステム鍵生成部111に対して指定(入力)する。
S110の後、S120に進む。
公開鍵対応表生成部112は、入力したカテゴリ情報に従って図4に示すような公開鍵対応表160を生成する。公開鍵対応表160は、カテゴリ判定用公開鍵143とデータのカテゴリとを対応付けるデータである。
例えば、「PK1」で識別されるカテゴリ判定用公開鍵143に対応付けるデータのカテゴリが「特許」である場合、公開鍵対応表生成部112は「PK1」と「特許」とを対応付けて公開鍵対応表160に設定する。
S120の後、S130に進む。
例えば、データ検索端末100の鍵情報公開部113が公開情報を所定のサーバ(例えば、データ検索サーバ300)に登録し、データ登録端末200の公開情報取得部210が所定のサーバから公開情報を取得する。公開情報取得部210は取得した公開情報を登録端末記憶部290に記憶する。
また例えば、データ登録端末200の公開情報取得部210が公開情報を要求する公開要求をデータ検索端末100へ送信し、データ検索端末100の鍵情報公開部113が公開要求を受信する。そして、データ検索端末100の鍵情報公開部113が公開情報をデータ登録端末200へ送信し、データ登録端末200の公開情報取得部210が公開情報を受信する。公開情報取得部210は受信した公開情報を登録端末記憶部290に記憶する。
S130の後、S131に進む。
但し、鍵情報公開部113は、複数のカテゴリ判定用秘密鍵153のうち少なくともいずれかのカテゴリ判定用秘密鍵153だけをデータ検索サーバ300へ送信してもよい。つまり、データ検索サーバ300に対して送信しないカテゴリ判定用秘密鍵153があっても構わない。例えば、検索者がカテゴリ判定用秘密鍵153を指定する。そして、鍵情報公開部113は、複数のカテゴリ判定用秘密鍵153のうち検索者によって指定されたカテゴリ判定用秘密鍵153をデータ検索サーバ300へ送信する。
そして、カテゴリ用秘密鍵管理部310は、受信したカテゴリ判定用秘密鍵153別にカテゴリ別DB部391を生成する。カテゴリ別DB部391は、カテゴリ判定用秘密鍵153と鍵ペアを構成するカテゴリ判定用公開鍵143を用いて生成された索引用タグ233を含んだシステム暗号文230(図7参照)を記憶するためのデータベースである。
また、カテゴリ用秘密鍵管理部310は、図9に示すような秘密鍵対応表350を生成する。例えば、「SK1」で識別されるカテゴリ判定用秘密鍵153に対して「DB1」で識別されるカテゴリ別DB部391を生成した場合、カテゴリ用秘密鍵管理部310は「SK1」と「DB1」とを対応付けて秘密鍵対応表350に設定する。
S131により、セットアップ処理は終了する。
実施の形態1におけるデータ登録端末200のデータ登録処理について、図11に基づいて説明する。
S210の後、S220に進む。
S220の後、S230に進む。
S230の後、S240に進む。
そして、索引用タグ生成部224は、公開鍵対応表160に示されている複数のカテゴリ判定用公開鍵143のうちS210で入力されたカテゴリ情報が示すカテゴリに対応付けられているカテゴリ判定用公開鍵143を選択し、選択したカテゴリ判定用公開鍵143を登録端末記憶部290から取得する。
S240の後、S241に進む。
S241の後、S250に進む。
S250の後、S251に進む。
S251により、データ登録要求処理は終了する。
実施の形態1におけるデータ検索サーバ300のデータ登録処理について、図12に基づいて説明する。
S310の後、S320に進む。
未選択のカテゴリ判定用秘密鍵153が有る場合(YES)、S330に進む。
未選択のカテゴリ判定用秘密鍵153が無い場合(NO)、S321に進む。
S330の後、S331に進む。
S331の後、S332に進む。
索引用タグ233の復号値と鍵判定値191とが同じ値である場合(YES)、S340に進む。
索引用タグ233の復号値と鍵判定値191とが異なる値である場合(NO)、S320に戻る。
そして、データ登録部322は、選択したカテゴリ別DB部391にS310で受信されたシステム暗号文230を記憶する。
S340により、データ登録処理は終了する。
S321により、データ登録処理は終了する。
実施の形態1におけるデータ検索端末100のデータ検索要求処理について、図13に基づいて説明する。
S410の後、S420に進む。
S420の後、S421に進む。
S421の後、S422に進む。
S422の後、S423に進む。
S423の後、S430に進む。
S430の後、S431に進む。
S431の後、S440に進む。
S440の後、S441に進む。
S441により、データ検索要求処理は終了する。
実施の形態1におけるデータ検索サーバ300のデータ検索処理について、図14に基づいて説明する。
S510の後、S520に進む。
未選択のカテゴリ判定用秘密鍵153が有る場合(YES)、S530に進む。
未選択のカテゴリ判定用秘密鍵153が無い場合(NO)、S521に進む。
S530の後、S531に進む。
S531の後、S532に進む。
索引用タグ172の復号値と鍵判定値191とが同じ値である場合(YES)、S540に進む。
索引用タグ172の復号値と鍵判定値191とが異なる値である場合(NO)、S520に戻る。
そして、データ検索部332は、S510で受信された検索クエリ170から検索用トラップドア171を取得し、取得した検索用トラップドア171を用いて検索可能公開鍵暗号方式の検索アルゴリズムによって検索対象のカテゴリ別DB部391を検索する。
データ検索部332は、検索対象のカテゴリ別DB部391からシステム暗号文230を一つずつ選択し、選択したシステム暗号文230からキーワード暗号文232を取得する。
データ検索部332は、キーワード暗号文232と検索用トラップドア171とを入力データにして検索可能公開鍵暗号方式の検索アルゴリズム(検索プログラム)を実行する。
データ検索部332は、検索アルゴリズムの実行結果に基づいて、キーワード暗号文232へ暗号化する前のデータキーワードと検索用トラップドア171へ暗号化する前の検索キーワードとが一致するか否かを判定する。キーワード暗号文232のデータキーワードと検索用トラップドア171の検索キーワードとが一致する場合、そのキーワード暗号文232と共にシステム暗号文230に含まれているデータ暗号文231が検索処理でヒットしたデータ暗号文231である。
S540の後、S550に進む。
S521の後、S550に進む。
S550により、データ検索処理は終了する。
実施の形態1におけるデータ検索端末100のカテゴリ登録要求処理について、図15に基づいて説明する。
S601の後、S602に進む。
S602の後、S603に進む。
S603により、カテゴリ登録要求処理は終了する。
実施の形態1におけるデータ検索サーバ300のカテゴリ登録処理について、図16に基づいて説明する。
カテゴリ用秘密鍵管理部310は、受信したカテゴリ登録要求からカテゴリ判定用秘密鍵153を取得し、取得したカテゴリ判定用秘密鍵153を検索サーバ記憶部390に記憶する。
S610の後、S620に進む。
S620の後、S630に進む。
S630の後、S640に進む。
未選択のシステム暗号文230が未分類DB部392にある場合(YES)、S641に進む。
未選択のシステム暗号文230が未分類DB部392に無い場合(NO)、カテゴリ登録処理は終了する。
S641の後、S642に進む。
S642の後、S643に進む。
索引用タグ233の復号値と鍵判定値191とが同じである場合(YES)、S644に進む。
索引用タグ233の復号値と鍵判定値191とが異なる場合(NO)、S640に戻る。
S644の後、S640に戻る。
図17において、データ検索端末100、データ登録端末200およびデータ検索サーバ300(いずれもコンピュータの一例)は、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信ボード905、ディスプレイ911(表示装置)、キーボード912、マウス913、ドライブ914、磁気ディスク装置920などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ914は、FD(Flexible Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
ROM903、RAM904、磁気ディスク装置920およびドライブ914は記憶装置の一例である。キーボード912、マウス913および通信ボード905は入力装置の一例である。ディスプレイ911および通信ボード905は出力装置の一例である。
フローチャートなどに基づいて説明する実施の形態の処理はCPU901、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
(1)暗号文(システム暗号文230)と検索クエリとの両方に索引用タグを付加する(図5、7参照)。
(2)データ検索サーバ300に秘密鍵(カテゴリ判定用秘密鍵153)を開示することによって、秘密鍵に対応した特定のデータを全体から分離する。
(3)検索クエリ内の索引用タグを秘密鍵で復号し、その結果を見て検索対象を限定する(図14参照)。
(4)上記の(1)から(3)を組み合わせることにより、全件検索を回避し、検索を高速化する。
(1)検索可能公開鍵暗号において検索の高速化を実現できる、という効果がある。
(2)特定のデータ(例えば、あるカテゴリに該当するデータ)に狙いを定めて検索を高速化することができる、という効果がある。
(3)検索者が検索の高速化を行うカテゴリを適応的に増加させることができる、という効果がある(図15、16参照)。
(4)索引用タグの作成に使用する公開鍵暗号としてElGamal暗号やCramer-Shoup暗号などの鍵匿名性を有する公開鍵暗号方式を利用することにより、暗号文のカテゴリ情報をデータ検索サーバ300に秘匿したままで検索を高速化できる、という効果がある。また、鍵匿名性を有さない公開鍵暗号方式を利用することにより、公開鍵暗号方式の選択肢を増やすことができる、という効果がある。
(5)既存の検索可能公開鍵暗号に対してカテゴリ判定用鍵ペア群(図3参照)や索引用タグ(図5、7参照)を増設する(アドオンする)構成をとっているため、既存の検索可能公開鍵暗号を大きく変更することなく実装することができる、という効果がある。これにより、実装コストを低減させることができる、という効果がある。
例えば、キーワード暗号文232(図7参照)のハッシュ値を索引用タグの平文として用いてもよい。このようにすれば、キーワード暗号文232と索引用タグとの間に対応関係が生じるため、通信路上におけるデータの取り替え攻撃に耐性を持たせることができる。この場合、データ検索端末100、データ登録端末200およびデータ検索サーバ300は鍵判定値191を使用する代わりにキーワード暗号文232のハッシュ値を算出して使用する。
例えば、データ検索システム900は以下のように動作する。
データ検索端末100は図18に示すような鍵判定値対応表192を生成し、生成した鍵判定値対応表192をデータ登録端末200およびデータ検索サーバ300に提供する。
データ検索端末100およびデータ登録端末200は利用者からカテゴリの大分類と小分類とを指定され、指定されたカテゴリの大分類と小分類とに対応付けられた鍵判定値191を使用する。
データ検索サーバ300は、カテゴリの大分類毎(カテゴリ判定用秘密鍵153毎)にカテゴリ別DB部391を生成し、カテゴリ別DB部391内でカテゴリの小分類別にシステム暗号文230を記憶する。例えば、データ検索サーバ300は、索引用タグ233の復号値が「11」であるシステム暗号文230と索引用タグ233の復号値が「12」であるシステム暗号文230とをカテゴリ別DB部391内で別々に管理する。
図18は、実施の形態1における鍵判定値対応表192を示す図である。図18に示すように、鍵判定値対応表192は大分類のカテゴリと小分類のカテゴリと鍵判定値191とを対応付けるデータである。カテゴリの分類は3階層以上(例えば、大分類、中分類、小分類)であっても構わない。
例えば、検索者はデータ検索端末100を操作してカテゴリの削除要求をデータ検索サーバ300へ送信する。カテゴリの削除要求は削除したいカテゴリのカテゴリ判定用秘密鍵153を指定するデータである。データ検索サーバ300は削除要求に従ってカテゴリ判定用秘密鍵153を削除し、カテゴリ判定用秘密鍵153に対応付けられたカテゴリ別DB部391からシステム暗号文230を取り出して未分類DB部392へ移動し、カテゴリ別DB部391を削除する。
例えば、検索者はカテゴリを追加したい場合に追加のカテゴリ情報をデータ検索端末100に入力する。この場合、データ検索端末100は追加のカテゴリ情報に基づいて新たにカテゴリ判定用公開鍵143とカテゴリ判定用秘密鍵153との鍵ペアを生成し、公開鍵対応表160を更新し、カテゴリ判定用公開鍵143とカテゴリ判定用秘密鍵153と公開鍵対応表160とをセットアップ処理と同様にデータ登録端末200およびデータ検索サーバ300に提供する。
図19は、実施の形態1における公開鍵対応表160の別例を示す図である。
例えば、データ検索端末100は図19に示すような公開鍵対応表160を生成し、生成した公開鍵対応表160をデータ登録端末200に提供する。データ登録端末200は、公開鍵対応表160に示される複数のカテゴリ判定用公開鍵143のうちシステム暗号文230の作成日に対応付けられているカテゴリ判定用公開鍵143を用いてシステム暗号文230の索引用タグ233を生成する。検索者は、取得したいデータの作成日をデータ検索端末100に入力する。そして、データ検索端末100は、公開鍵対応表160に示される複数のカテゴリ判定用公開鍵143のうち入力されたデータの作成日に対応付けられているカテゴリ判定用公開鍵143を用いて検索クエリ170の索引用タグ172を生成する。
データ検索装置(データ検索サーバ300)は、データ記憶部と、鍵判定情報記憶部と、検索条件入力部と、データグループ選択部と、データ検索部と、検索結果出力部とを備える。
データ記憶部(記憶装置)は、1つ以上のデータ(システム暗号文230)を含んだ複数のデータグループ(カテゴリ別DB部391)と暗号化された情報を復号する複数の復号鍵(カテゴリ判定用秘密鍵153)とを対応付けて記憶する。
鍵判定情報記憶部(検索サーバ記憶部390)は、復号鍵を判定するための鍵判定情報(鍵判定値191)を記憶する。
検索条件入力部(検索要求受信部331)は、データを検索するための検索条件(検索用トラップドア171)と、所定の情報(鍵判定値191)を暗号化した暗号化情報(索引用タグ172)とを入力する。
データグループ選択部(カテゴリ判定部340)は、検索条件入力部が入力した暗号化情報をデータ記憶部に記憶される複数の復号鍵それぞれを用いて復号する。データグループ選択部は、複数の復号鍵のうち暗号化情報を鍵判定情報と同じ情報に復号した復号鍵を選択する。データグループ選択部は、データ記憶部に記憶される複数のデータグループのうち選択した復号鍵に対応付けられたデータグループを検索先グループとして選択する。
データ検索部(データ検索部332)は、データグループ選択部によって選択された検索先グループに含まれる1つ以上のデータから検索条件入力部が入力した検索条件を満たすデータを検索結果のデータとして取得する。
検索結果出力部(検索結果送信部333)は、データ検索部によって取得された検索結果のデータを出力する。
新規データ入力部(登録要求受信部321)は、新規データ(データ暗号文231)と所定の情報(鍵判定値191)を暗号化した暗号化タグ(索引用タグ233)とを入力する。
新規データ登録部(データ登録部322)は、新規データ入力部が入力した新規データを複数のデータグループのうちデータグループ選択部によって選択される登録先グループに追加する。
データグループ選択部は、新規データ入力部が入力した暗号化タグを複数の復号鍵それぞれを用いて復号する。データグループ選択部は、複数の復号鍵のうち暗号化タグを鍵判定情報と同じ情報に復号した復号鍵を選択し、複数のデータグループのうち選択した復号鍵に対応付けられたデータグループを登録先グループとして選択する。
データ検索装置は、さらに、追加復号鍵入力部とデータグループ登録部とを備える。
追加復号鍵入力部(カテゴリ用秘密鍵管理部310)は、新たな復号鍵(カテゴリ判定用秘密鍵153)を追加復号鍵として入力する。
データグループ登録部(カテゴリ用秘密鍵管理部310)は、未分類グループに含まれる複数の暗号化タグを追加復号鍵入力部が入力した追加復号鍵を用いて復号する。データグループ登録部は、複数の暗号化タグのうち鍵判定情報と同じ情報に復号された暗号化タグを選択する。データグループ登録部は、未分類グループに含まれる複数のデータから、選択した暗号化タグに対応付けられたデータを抽出し、複数のデータグループに加える新たなデータグループとして、抽出したデータを含んだ追加グループを生成する。データグループ登録部は、生成した追加グループと追加復号鍵とを対応付けてデータ記憶部に記憶する。
データ生成部(データ暗号文生成部222)はデータ(データ暗号文231)を生成する。
分類情報入力部(登録情報入力部221)は、データ生成部によって生成されたデータの分類を示す分類情報を入力する。
暗号化タグ生成部(索引用タグ生成部224)は、分類情報入力部が入力した分類情報に基づいて所定の情報(鍵判定値191)を暗号化することによって暗号化タグ(索引用タグ233)を生成する。
データ登録要求部(データ登録要求部225)は、データ生成部が生成したデータと暗号化タグ生成部が生成した暗号化タグとをデータ検索装置(データ検索サーバ300)へ送信する。これにより、データ登録要求部は、分類情報が示す分類のデータグループにデータを検索対象のデータとして追加する処理をデータ検索装置に実行させる。
暗号化タグ生成部は、暗号化鍵記憶部に記憶される複数の暗号化鍵のうち分類情報入力部が入力した分類情報と同じ分類情報に対応付けられた暗号化鍵を選択し、選択した暗号化鍵を用いて所定の情報を暗号化して暗号化タグを生成する。
検索条件入力部(検索キーワード入力部121)は、データ(データ暗号文231)を検索するための検索条件(検索キーワード)とデータの分類を示す分類情報(カテゴリ情報)とを入力する。
暗号化タグ生成部(検索クエリ生成部122)は、検索条件入力部が入力した分類情報に基づいて所定の情報(鍵判定値191)を暗号化することによって暗号化タグ(索引用タグ172)を生成する。
データ検索要求部(検索要求部123)は、検索条件入力部が入力した検索条件の情報(検索用トラップドア171)と暗号化タグ生成部によって生成された暗号化タグとをデータ検索装置(データ検索サーバ300)へ送信する。データ検索要求部は、分類情報が示す分類のデータグループに含まれるデータのうち検索条件を満たすデータを検索結果のデータとしてデータ検索装置から受信する。
暗号化タグ生成部は、暗号化鍵記憶部に記憶される複数の暗号化鍵のうち検索条件入力部が入力した分類情報と同じ分類情報に対応付けられた暗号化鍵を選択し、選択した暗号化鍵を用いて所定の情報を暗号化して暗号化タグを生成する。
公開鍵暗号の代わりにIDベース暗号(IBE:Identity-Based Encryption)を用いる形態について説明する。
IDベース暗号とは、ユーザ名、IPアドレス、メールアドレスなどの識別子(ID)を公開鍵として用いる暗号方式である。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。
実施の形態2におけるシステム公開鍵140とシステム秘密鍵150とについて、図20に基づいて説明する。
システム秘密鍵150は、実施の形態1(図3参照)で説明した複数のカテゴリ判定用秘密鍵153の代わりに、一つのIBEマスタ秘密鍵154を有する。IBEマスタ秘密鍵154はIDベース暗号のマスタ秘密鍵である。
実施の形態2におけるデータ検索端末100のセットアップ処理について、図21に基づいて説明する。
以下に説明するS110BからS131Bは、実施の形態1(図10参照)で説明したS110からS131に対応する処理である。実施の形態1と一部が異なる処理には末尾に「B」を付記する。
図20に示したように、システム公開鍵140はIBEマスタ公開鍵144を含み、システム秘密鍵150はIBEマスタ秘密鍵154を含む。
システム鍵生成部111は、IDベース暗号方式のマスタ鍵生成アルゴリズムを実行してIBEマスタ公開鍵144とIBEマスタ秘密鍵154との鍵ペアを生成する。
例えば、システム鍵生成部111は、Boneh-Franklin IDベース暗号(BF-IBE)(非特許文献4参照)やBoyen-Waters IDベース暗号(BW-IBE)(非特許文献5参照)など、匿名性(anonymity)を有するIDベース暗号方式を使用する。匿名性とは、暗号文を見てもどのIDを公開鍵として用いたかわからない、という性質である(非特許文献6参照)。
但し、システム鍵生成部111は、匿名性を有さないIDベース暗号方式(例えば、Boneh-Boyen IDベース暗号(BB-IBE))を使用しても構わない。
S110Bの後、S130Bに進む。
S130Bの後、S131Bに進む。
鍵情報公開部113は、実施の形態1のS131と同様にカテゴリ別のユーザ秘密鍵(カテゴリ判定用秘密鍵153の代わり)と鍵判定値191とIDベース暗号の公開パラメータとをデータ検索サーバ300に登録する。データ検索サーバ300は、カテゴリ別のユーザ秘密鍵とカテゴリ別DB部391とを対応付ける秘密鍵対応表350を生成する。
S131Bにより、セットアップ処理は終了する。
実施の形態2におけるデータ登録端末200のデータ登録要求処理について、図22に基づいて説明する。
以下に説明するS210からS251は、実施の形態1(図11参照)で説明したS210からS251に対応する処理である。実施の形態1と一部が異なる処理には末尾に「B」を付記する。
S241Bの後、S250に進む。
実施の形態2におけるデータ検索サーバ300のデータ登録処理について、図23に基づいて説明する。
以下に説明するS310からS340Bは、実施の形態1(図12参照)で説明したS310からS340に対応する処理である。実施の形態1と一部が異なる処理には末尾に「B」を付記する。
S310の後、S320Bに進む。
未選択のカテゴリ別のユーザ秘密鍵が有る場合(YES)、S330Bに進む。
未選択のカテゴリ別のユーザ秘密鍵が無い場合(NO)、S321に進む。S321において、データ登録部322はシステム暗号文230を未分類DB部392に記憶する。
S330Bの後、S331Bに進む。
S331Bの後、S332に進む。
鍵判定値191と索引用タグ233の復号値とが同じ値である場合(YES)、S340Bに進む。
鍵判定値191と索引用タグ233の復号値とが異なる値である場合(NO)、S320Bに戻る。
S340Bにより、データ登録処理は終了する。
実施の形態2におけるデータ検索端末100のデータ検索要求処理について、図24に基づいて説明する。
以下に説明するS410からS441は、実施の形態1(図13参照)で説明したS410からS441に対応する処理である。実施の形態1と一部が異なる処理には末尾に「B」を付記する。
S422Bの後、S423に進む。
実施の形態2におけるデータ検索サーバ300のデータ検索処理について、図25に基づいて説明する。
以下に説明するS510からS550は、実施の形態1(図14参照)で説明したS510からS550に対応する処理である。実施の形態1と一部が異なる処理には末尾に「B」を付記する。
S510の後、S520Bに進む。
未選択のカテゴリ別のユーザ秘密鍵が有る場合(YES)、S530Bに進む。
未選択のカテゴリ別のユーザ秘密鍵が無い場合(NO)、S521に進む。S521において、データ検索部332は、検索用トラップドア171を用いて検索可能公開鍵暗号方式の検索アルゴリズムにより未分類DB部392を検索する。
S530Bの後、S531Bに進む。
S531Bの後、S532に進む。
鍵判定値191と索引用タグ172の復号値とが同じ値である場合(YES)、S540Bに進む。
鍵判定値191と索引用タグ172の復号値とが異なる値である場合(NO)、S520Bに戻る。
S540Bの後、S550に進む。
S550により、データ検索処理は終了する。
実施の形態2におけるデータ検索端末100のカテゴリ登録要求処理について、図26に基づいて説明する。
以下に説明するS601からS603Bは、実施の形態1(図15参照)で説明したS601からS603に対応する処理である。実施の形態1と一部が異なる処理には末尾に「B」を付記する。
S601の後、S602Bに進む。
S602Bの後、S603Bに進む。
S603Bにより、カテゴリ登録要求処理は終了する。
実施の形態2におけるデータ検索サーバ300のカテゴリ登録処理について、図27に基づいて説明する。
以下に説明するS610BからS644は、実施の形態1(図16参照)で説明したS610からS644に対応する処理である。実施の形態1と一部が異なる処理には末尾に「B」を付記する。
S610Bの後、S620に進む。
S620の後、S630Bに進む。
S630Bの後、S640に進む。
未選択のシステム暗号文230が有る場合(YES)、S641に進む。
未選択のシステム暗号文230が無い場合(NO)、カテゴリ登録処理は終了する。
S641の後、S642Bに進む。
S642Bの後、S643に進む。
鍵判定値191と索引用タグ233の復号値とが同じ値である場合(YES)、S644に進む。
鍵判定値191と索引用タグ233の復号値とが異なる値である場合(NO)、S640に戻る。
S644の後、S640に戻る。
図28は、実施の形態2における公開鍵対応表160を示す図である。図28に示すように、公開鍵対応表160は、カテゴリ判定用公開鍵として用いるIDとカテゴリとを対応付けるデータである。
データ検索端末100およびデータ登録端末200は、カテゴリ情報を用いてカテゴリ別のユーザ公開鍵を生成する代わりに、公開鍵対応表160に示される複数のIDのうちカテゴリ情報が示すカテゴリに対応するIDを用いてカテゴリ別のユーザ公開鍵を生成する。
(1)実施の形態1と同様な効果を得ることができる。特に、検索可能公開鍵暗号において検索の高速化を実現することができる。また、匿名性を有するIDベース暗号を用いることにより暗号文のカテゴリ情報を秘匿することができる。
(2)公開鍵対応表が不要なため、データ登録端末200は公開鍵対応表を参照することなく直ちに索引用タグ233を生成することができる。但し、公開鍵対応表を用いても構わない。
(3)IBEマスタ公開鍵144およびIBEマスタ秘密鍵154を用いることにより、カテゴリ数の増加や減少に直ちに対応することができる。
IDベース暗号の代わりに関数型暗号(FE:Functional Encryption)を用いる形態について説明する。
パラメータx、パラメータyおよび関係R(x,y)には様々な種類がある。例えば、属性秘匿性を有する関数型暗号の場合、xおよびyは数値ベクトルであり、関係Rはxとyとの内積値が0となる関係であることが一般的である。このようなx、y、R(x,y)を内積述語と呼ぶ。例えば、x=(1,34,5)、y=(-29, 1, -1)のとき、xとyの内積値は0になるので、このxおよびyは関係R(x,y)を満たすことになる。
属性秘匿性とは、暗号文を見てもどの属性を用いて暗号化したかわからない、という性質である(非特許文献8参照)。Katz-Sahai-Waters内積述語暗号(KSW-IPE)(非特許文献7参照)や岡本-高島内積述語暗号(OT-IPE)(非特許文献8参照)は、属性秘匿性を有する関数型暗号方式の一例である。Sahai-WatersファジイIDベース暗号(SW-FIDE)は属性秘匿性を有さない関数型暗号の一例である。
実施の形態3におけるシステム公開鍵140とシステム秘密鍵150とについて、図29に基づいて説明する。
システム秘密鍵150は、実施の形態1(図3参照)で説明した複数のカテゴリ判定用秘密鍵153の代わりに、一つのFEマスタ秘密鍵155を有する。FEマスタ秘密鍵155は関数型暗号のマスタ秘密鍵である。
但し、システム鍵生成部111はIBEマスタ公開鍵144の代わりに関数型暗号のマスタ公開鍵を含んだシステム公開鍵140を生成し、IBEマスタ秘密鍵154の代わりに関数型暗号のマスタ秘密鍵を含んだシステム秘密鍵150を生成する(S110B)。
但し、索引用タグ生成部224は、IBEマスタ公開鍵144の代わりに関数型暗号のマスタ公開鍵を用いて鍵判定値191を暗号化して索引用タグ233を生成する(S241B)。
例えば、索引用タグ生成部224は、マスタ公開鍵「ベクトルx=(CN、1)」の「CN」にカテゴリ情報(カテゴリ名)を設定してユーザ公開鍵を生成し、生成したユーザ公開鍵を用いて鍵判定値191を暗号化して索引用タグ233を生成する。つまり、索引用タグ生成部224はカテゴリ情報を含んだパラメータxを公開鍵として用いて索引用タグ233を生成する。
登録者は、関数型暗号の特性を活かして複雑な条件でカテゴリを指定してもよい。例えば、内積述語暗号を用いればAND条件またはOR条件を指定できることが知られている。また、属性秘匿性を有さない関数型暗号を用いればNOT条件を指定できることが知られている。索引用タグ生成部224は検索条件に応じた形式のベクトルxを公開鍵として用いる。
但し、カテゴリ別のユーザ秘密鍵はIDベース暗号ではなく関数型暗号のユーザ秘密鍵である。
但し、検索クエリ生成部122は、上記の索引用タグ生成部224と同様に、IBEマスタ公開鍵144の代わりに関数型暗号のマスタ公開鍵を用いて関数型暗号方式の暗号アルゴリズムを実行し、鍵判定値191を暗号化して索引用タグ172を生成する(S422B)。
但し、カテゴリ別のユーザ秘密鍵はIDベース暗号ではなく関数型暗号のユーザ秘密鍵である。
但し、カテゴリ登録要求部130は、IBEマスタ秘密鍵154の代わりに関数型暗号のマスタ秘密鍵を用いてカテゴリ別のユーザ秘密鍵を生成する(S602B)。
例えば、カテゴリ登録要求部130は、関数型暗号のマスタ秘密鍵とベクトルy=(-1、CN)とを入力にして関数型暗号方式のユーザ秘密鍵生成アルゴリズムを実行し、カテゴリ別のユーザ秘密鍵を生成する。CNはカテゴリ情報(カテゴリ名)である。つまり、索引用タグ生成部224はカテゴリ情報を含んだパラメータyを用いてカテゴリ別のユーザ秘密鍵を生成する。
検索者は、関数型暗号の特性を活かして複雑な条件でカテゴリを指定してもよい。例えば、内積述語暗号を用いればAND条件またはOR条件を指定できることが知られている。また、属性秘匿性を有さない関数型暗号を用いればNOT条件を指定できることが知られている。この場合、カテゴリ登録要求部130は条件に応じた形式のベクトルyを用いる。
但し、カテゴリ別のユーザ秘密鍵はIDベース暗号ではなく関数型暗号のユーザ秘密鍵である。
(1)実施の形態1、2と同様な効果を得ることができる。特に、検索可能公開鍵暗号において検索の高速化を実現することができる。また、属性秘匿性を有する関数型暗号を用いることにより暗号文のカテゴリ情報を秘匿することができる。
(2)IDベース暗号を用いた場合のカテゴリの条件(IDの一致)よりも柔軟な条件(AND条件、OR条件、NOT条件など)でカテゴリを指定することができる。
Claims (17)
- 1つ以上のデータを含んだ複数のデータグループと暗号化された情報を復号する複数の復号鍵とを対応付けて記憶するデータ記憶部と、
復号鍵を判定するための鍵判定情報を記憶する鍵判定情報記憶部と、
データを検索するための検索条件と、所定の情報を暗号化した暗号化情報とを入力する検索条件入力部と、
前記検索条件入力部が入力した前記暗号化情報を前記データ記憶部に記憶される前記複数の復号鍵それぞれを用いて復号し、前記複数の復号鍵のうち前記暗号化情報を前記鍵判定情報と同じ情報に復号した復号鍵を選択し、前記データ記憶部に記憶される前記複数のデータグループのうち前記選択した復号鍵に対応付けられたデータグループを検索先グループとして選択するデータグループ選択部と、
前記データグループ選択部によって選択された前記検索先グループに含まれる1つ以上のデータから前記検索条件入力部が入力した前記検索条件を満たすデータを検索結果のデータとして取得するデータ検索部と、
前記データ検索部によって取得された前記検索結果のデータを出力する検索結果出力部と
を備えることを特徴とするデータ検索装置。 - 前記データ検索装置は、さらに、
新規データと所定の情報を暗号化した暗号化タグとを入力する新規データ入力部と、
前記新規データ入力部が入力した前記新規データを前記複数のデータグループのうち前記データグループ選択部によって選択される登録先グループに追加する新規データ登録部と、を備え、
前記データグループ選択部は、
前記新規データ入力部が入力した前記暗号化タグを前記複数の復号鍵それぞれを用いて復号し、前記複数の復号鍵のうち前記暗号化タグを前記鍵判定情報と同じ情報に復号した復号鍵を選択し、前記複数のデータグループのうち前記選択した復号鍵に対応付けられたデータグループを前記登録先グループとして選択する
ことを特徴とする請求項1記載のデータ検索装置。 - 前記データ記憶部は、さらに、複数のデータと所定の情報を暗号化した複数の暗号化タグとを対応付けて含んだデータグループとして未分類グループを記憶し、
前記データ検索装置は、さらに、
新たな復号鍵を追加復号鍵として入力する追加復号鍵入力部と、
前記未分類グループに含まれる前記複数の暗号化タグを前記追加復号鍵入力部が入力した前記追加復号鍵を用いて復号し、前記複数の暗号化タグのうち前記鍵判定情報と同じ情報に復号された暗号化タグを選択し、前記未分類グループに含まれる前記複数のデータから前記選択した暗号化タグに対応付けられたデータを抽出し、前記複数のデータグループに加える新たなデータグループとして前記抽出したデータを含んだ追加グループを生成し、生成した前記追加グループと前記追加復号鍵とを対応付けて前記データ記憶部に記憶するデータグループ登録部と、を備える
ことを特徴とする請求項1または請求項2記載のデータ検索装置。 - 1つ以上のデータを含んだ複数のデータグループと暗号化された情報を復号する複数の復号鍵とを対応付けて記憶するデータ記憶部と、復号鍵を判定するための鍵判定情報を記憶する鍵判定情報記憶部と、検索条件入力部と、データグループ選択部と、データ検索部と、検索結果出力部と、を備えるデータ検索装置を用いて実行するデータ検索方法であって、
前記検索条件入力部が、データを検索するための検索条件と、所定の情報を暗号化した暗号化情報とを入力し、
前記データグループ選択部が、前記検索条件入力部が入力した前記暗号化情報を前記データ記憶部に記憶される前記複数の復号鍵それぞれを用いて復号し、前記複数の復号鍵のうち前記暗号化情報を前記鍵判定情報と同じ情報に復号した復号鍵を選択し、前記データ記憶部に記憶される前記複数のデータグループのうち前記選択した復号鍵に対応付けられたデータグループを検索先グループとして選択し、
前記データ検索部が、前記データグループ選択部によって選択された前記検索先グループに含まれる1つ以上のデータから前記検索条件入力部が入力した前記検索条件を満たすデータを検索結果のデータとして取得し、
前記検索結果出力部が、前記データ検索部によって取得された前記検索結果のデータを出力する
ことを特徴とするデータ検索方法。 - 請求項4記載のデータ検索方法をコンピュータに実行させるためのデータ検索プログラム。
- データを生成するデータ生成部と、
前記データ生成部によって生成されたデータの分類を示す分類情報を入力する分類情報入力部と、
前記分類情報入力部が入力した前記分類情報に基づいて所定の情報を暗号化することによって暗号化タグを生成する暗号化タグ生成部と、
前記データ生成部が生成した前記データと前記暗号化タグ生成部が生成した前記暗号化タグとをデータ検索装置へ送信することによって、前記分類情報が示す前記分類のデータグループに前記データを検索対象のデータとして追加する処理を前記データ検索装置に実行させるデータ登録要求部と
を備えることを特徴とするデータ登録装置。 - 前記データ登録装置は、さらに、
複数の暗号化鍵と複数の分類情報とを対応付けて記憶する暗号化鍵記憶部を備え、
前記暗号化タグ生成部は、
前記暗号化鍵記憶部に記憶される前記複数の暗号化鍵のうち前記分類情報入力部が入力した前記分類情報と同じ分類情報に対応付けられた暗号化鍵を選択し、選択した暗号化鍵を用いて前記所定の情報を暗号化して前記暗号化タグを生成する
ことを特徴とする請求項6記載のデータ登録装置。 - 前記暗号化タグ生成部は、前記分類情報に基づくIDを用いてIDベース暗号方式によって前記所定の情報を暗号化して前記暗号化タグを生成する
ことを特徴とする請求項6記載のデータ登録装置。 - 前記暗号化タグ生成部は、前記分類情報を含んだベクトルを用いて関数型暗号方式によって前記所定の情報を暗号化して前記暗号化タグを生成する
ことを特徴とする請求項6記載のデータ登録装置。 - データ生成部と、分類情報入力部と、暗号化タグ生成部と、データ登録要求部と、を備えるデータ登録装置を用いて実行するデータ登録方法であって、
前記データ生成部が、データを生成し、
前記分類情報入力部が、前記データ生成部によって生成されたデータの分類を示す分類情報を入力し、
前記暗号化タグ生成部が、前記分類情報入力部が入力した前記分類情報に基づいて所定の情報を暗号化することによって暗号化タグを生成し、
前記データ登録要求部が、前記データ生成部が生成した前記データと前記暗号化タグ生成部が生成した前記暗号化タグとをデータ検索装置へ送信することによって、前記分類情報が示す前記分類のデータグループに前記データを検索対象のデータとして追加する処理を前記データ検索装置に実行させる
ことを特徴とするデータ登録方法。 - 請求項10記載のデータ登録方法をコンピュータに実行させるためのデータ登録プログラム。
- データを検索するための検索条件とデータの分類を示す分類情報とを入力する検索条件入力部と、
前記検索条件入力部が入力した前記分類情報に基づいて所定の情報を暗号化することによって暗号化タグを生成する暗号化タグ生成部と、
前記検索条件入力部が入力した前記検索条件の情報と前記暗号化タグ生成部によって生成された前記暗号化タグとをデータ検索装置へ送信し、前記分類情報が示す前記分類のデータグループに含まれるデータのうち前記検索条件を満たすデータを検索結果のデータとして前記データ検索装置から受信するデータ検索要求部と
を備えることを特徴とする情報処理装置。 - 前記情報処理装置は、さらに、
複数の暗号化鍵と複数の分類情報とを対応付けて記憶する暗号化鍵記憶部を備え、
前記暗号化タグ生成部は、
前記暗号化鍵記憶部に記憶される前記複数の暗号化鍵のうち前記検索条件入力部が入力した前記分類情報と同じ分類情報に対応付けられた暗号化鍵を選択し、選択した暗号化鍵を用いて前記所定の情報を暗号化して前記暗号化タグを生成する
ことを特徴とする請求項12記載の情報処理装置。 - 前記暗号化タグ生成部は、前記分類情報に基づくIDを用いてIDベース暗号方式によって前記所定の情報を暗号化して前記暗号化タグを生成する
ことを特徴とする請求項12記載の情報処理装置。 - 前記暗号化タグ生成部は、前記分類情報を含んだベクトルを用いて関数型暗号方式によって前記所定の情報を暗号化して前記暗号化タグを生成する
ことを特徴とする請求項12記載の情報処理装置。 - 検索条件入力部と、暗号化タグ生成部と、データ検索要求部と、を備える情報処理装置を用いて実行するデータ検索方法であって、
前記検索条件入力部が、データを検索するための検索条件とデータの分類を示す分類情報とを入力し、
前記暗号化タグ生成部が、前記検索条件入力部が入力した前記分類情報に基づいて所定の情報を暗号化することによって暗号化タグを生成し、
前記データ検索要求部が、前記検索条件入力部が入力した前記検索条件の情報と前記暗号化タグ生成部によって生成された前記暗号化タグとをデータ検索装置へ送信し、前記分類情報が示す前記分類のデータグループに含まれるデータのうち前記検索条件を満たすデータを検索結果のデータとして前記データ検索装置から受信する
ことを特徴とするデータ検索方法。 - 請求項16記載のデータ検索方法をコンピュータに実行させるためのデータ検索プログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201280068055.5A CN104081390B (zh) | 2012-01-25 | 2012-01-25 | 数据检索装置、数据检索方法、数据检索程序、数据登记装置、数据登记方法、数据登记程序以及信息处理装置 |
US14/350,987 US9391965B2 (en) | 2012-01-25 | 2012-01-25 | Data search device, data search method, data search program, data registration device, data registration method, data registration program, and information processing device |
PCT/JP2012/051533 WO2013111284A1 (ja) | 2012-01-25 | 2012-01-25 | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 |
EP12866425.7A EP2808803B1 (en) | 2012-01-25 | 2012-01-25 | Data search device, data search method, data search program, data registration device, data registration method, data registration program and information processing device |
US15/984,468 USRE48146E1 (en) | 2012-01-25 | 2012-01-25 | Data search device, data search method, computer readable medium storing data search program, data registration device, data registration method, computer readable medium storing data registration program, and information processing device |
JP2013555046A JP5606642B2 (ja) | 2012-01-25 | 2012-01-25 | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/051533 WO2013111284A1 (ja) | 2012-01-25 | 2012-01-25 | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013111284A1 true WO2013111284A1 (ja) | 2013-08-01 |
Family
ID=48873055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/051533 WO2013111284A1 (ja) | 2012-01-25 | 2012-01-25 | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | USRE48146E1 (ja) |
EP (1) | EP2808803B1 (ja) |
JP (1) | JP5606642B2 (ja) |
CN (1) | CN104081390B (ja) |
WO (1) | WO2013111284A1 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016206555A (ja) * | 2015-04-27 | 2016-12-08 | 株式会社東芝 | 秘匿化装置、復号装置、秘匿化方法および復号方法 |
EP3096245A4 (en) * | 2014-01-16 | 2017-09-13 | Hitachi, Ltd. | Retrievable cryptograph processing system and retrievable cryptograph processing method |
WO2017221308A1 (ja) * | 2016-06-20 | 2017-12-28 | 三菱電機株式会社 | データ管理装置、データ管理方法、データ管理プログラム、検索装置、検索方法及び検索プログラム |
WO2018131129A1 (ja) * | 2017-01-12 | 2018-07-19 | 三菱電機株式会社 | 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム |
CN109672525A (zh) * | 2018-12-14 | 2019-04-23 | 华中科技大学 | 一种具有高效前向索引的可搜索公钥加密方法及系统 |
JP2019117232A (ja) * | 2017-12-26 | 2019-07-18 | 日本電信電話株式会社 | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム |
JP2020524864A (ja) * | 2017-06-22 | 2020-08-20 | セントリクス インフォメーション セキュリティ テクノロジーズ リミテッド | データへのアクセスの制御 |
WO2023007595A1 (ja) * | 2021-07-27 | 2023-02-02 | 三菱電機株式会社 | 検索実行装置、検索実行方法、検索実行プログラム及び秘匿検索システム |
CN117272394A (zh) * | 2023-11-21 | 2023-12-22 | 中债金科信息技术有限公司 | 债券市场数据共享方法及装置、存储介质及电子设备 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5606642B2 (ja) | 2012-01-25 | 2014-10-15 | 三菱電機株式会社 | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 |
CN104704493B (zh) * | 2012-08-15 | 2019-06-07 | 维萨国际服务协会 | 可搜索的经加密的数据 |
US9602473B2 (en) * | 2012-09-06 | 2017-03-21 | Zixcorp Systems, Inc. | Secure message forwarding with sender controlled decryption |
US10235539B2 (en) | 2013-02-25 | 2019-03-19 | Mitsubishi Electric Corporation | Server device, recording medium, and concealed search system |
JP6144992B2 (ja) * | 2013-08-08 | 2017-06-07 | 株式会社日立製作所 | 検索可能暗号処理システム及び方法 |
US9660930B2 (en) * | 2014-03-17 | 2017-05-23 | Splunk Inc. | Dynamic data server nodes |
US9753818B2 (en) | 2014-09-19 | 2017-09-05 | Splunk Inc. | Data forwarding using multiple data pipelines |
US9838467B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Dynamically instantiating dual-queue systems |
US9838346B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Alerting on dual-queue systems |
US9836358B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Ephemeral remote data store for dual-queue systems |
US10417442B2 (en) * | 2015-02-09 | 2019-09-17 | Nec Corporation | Server device, data search system, search method, and recording medium for extracting concealed data |
CN107251479B (zh) * | 2015-02-20 | 2020-08-11 | 三菱电机株式会社 | 数据保管装置和数据处理方法 |
WO2018047698A1 (ja) | 2016-09-12 | 2018-03-15 | 日本電信電話株式会社 | 暗号化メッセージ検索方法、メッセージ送受信システム、サーバ、端末、プログラム |
JP6813773B2 (ja) * | 2016-10-17 | 2021-01-13 | 富士通株式会社 | データ収集プログラム、データ収集システム及びデータ収集方法 |
US20190340389A1 (en) * | 2017-01-27 | 2019-11-07 | Mitsubishi Electric Corporation | Search device, monitoring system, and computer readable medium |
CN110612563B (zh) * | 2017-05-18 | 2023-05-12 | 三菱电机株式会社 | 检索装置、隐匿检索系统以及计算机能读取的存储介质 |
US11170123B2 (en) * | 2017-09-12 | 2021-11-09 | Mitsubishi Electric Corporation | Registration terminal, key server, search system, and computer readable medium |
JP6849102B2 (ja) * | 2017-12-14 | 2021-03-24 | 三菱電機株式会社 | 検索システム |
CN108259172B (zh) * | 2018-01-12 | 2021-02-05 | 哈尔滨工业大学深圳研究生院 | 云存储系统中的密文搜索方法 |
JP6462968B1 (ja) * | 2018-01-17 | 2019-01-30 | 三菱電機株式会社 | データ管理装置、データ管理方法及びデータ管理プログラム |
WO2019142268A1 (ja) * | 2018-01-17 | 2019-07-25 | 三菱電機株式会社 | 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム |
CN108449309B (zh) * | 2018-01-19 | 2019-08-20 | 华中科技大学 | 一种混合型可搜索加密方法和系统 |
DE112018007433T5 (de) * | 2018-05-08 | 2020-12-31 | Mitsubishi Electric Corporation | Registrierungsvorrichtung, servervorrichtung, durchsuchbares verschlüsselungssystem, durchsuchbares verschlüsselungs-verfahren, registrierungsprogramm und serverprogramm |
CN112074889B (zh) * | 2018-05-15 | 2023-07-04 | 三菱电机株式会社 | 隐匿检索装置和隐匿检索方法 |
CN112115506B (zh) * | 2020-08-21 | 2022-10-25 | 山东师范大学 | 一种支持布尔查询的属性基数据搜索方法及系统 |
CN113014563B (zh) * | 2021-02-10 | 2022-03-25 | 华中科技大学 | 一种保障可搜索公钥加密检索完备性的方法及系统 |
CN116975884A (zh) * | 2023-06-30 | 2023-10-31 | 萍乡逗花科技有限公司 | 一种数据安全存储方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003178070A (ja) * | 2001-12-12 | 2003-06-27 | Canon Inc | 情報検索装置 |
JP2005134990A (ja) | 2003-10-28 | 2005-05-26 | National Institute Of Information & Communication Technology | 暗号化データベース検索装置および方法ならびに暗号化データベース検索プログラム |
JP2005284915A (ja) * | 2004-03-30 | 2005-10-13 | Canon Inc | 情報検索装置および方法、ならびに情報検索システムおよびその制御方法 |
JP2010165275A (ja) * | 2009-01-19 | 2010-07-29 | Mitsubishi Electric Corp | データ格納システム及び情報送信装置及びサーバ装置 |
WO2011086668A1 (ja) | 2010-01-13 | 2011-07-21 | 三菱電機株式会社 | 秘匿検索システム及び公開パラメータ生成装置及び暗号化装置及びユーザ秘密鍵生成装置及びクエリ発行装置及び検索装置及びコンピュータプログラム及び秘匿検索方法及び公開パラメータ生成方法及び暗号化方法及びユーザ秘密鍵生成方法及びクエリ発行方法及び検索方法 |
WO2011086687A1 (ja) * | 2010-01-15 | 2011-07-21 | 三菱電機株式会社 | 秘匿検索システム及び暗号処理システム |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3457184B2 (ja) | 1998-06-25 | 2003-10-14 | シャープ株式会社 | 検索装置及びその制御プログラムを記憶した媒体 |
US7068787B1 (en) | 1998-10-23 | 2006-06-27 | Contentguard Holdings, Inc. | System and method for protection of digital works |
US6519700B1 (en) | 1998-10-23 | 2003-02-11 | Contentguard Holdings, Inc. | Self-protecting documents |
CA2341979A1 (en) | 2000-03-24 | 2001-09-24 | Contentguard Holdings, Inc. | System and method for protection of digital works |
US7496767B2 (en) * | 2001-01-19 | 2009-02-24 | Xerox Corporation | Secure content objects |
US7171557B2 (en) | 2001-10-31 | 2007-01-30 | Hewlett-Packard Development Company, L.P. | System for optimized key management with file groups |
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 |
US20050138393A1 (en) * | 2003-12-22 | 2005-06-23 | Challener David C. | Determining user security level using trusted hardware device |
JP2006210964A (ja) | 2005-01-24 | 2006-08-10 | National Institute Of Information & Communication Technology | エルガマル暗号による情報授受伝達方法及び装置 |
JP2006284915A (ja) | 2005-03-31 | 2006-10-19 | Toshiba Matsushita Display Technology Co Ltd | 表示装置及びアレイ基板 |
JP4722620B2 (ja) | 2005-08-19 | 2011-07-13 | Kddi株式会社 | 暗号化文書検索方法および暗号化文書検索システム |
US20090094200A1 (en) | 2007-10-05 | 2009-04-09 | Yahoo! Inc. | Method for Admission-controlled Caching |
US8165305B2 (en) * | 2008-12-08 | 2012-04-24 | Harrison Corporation | Enhanced relational database security through encryption of table indices |
JP2010160235A (ja) | 2009-01-07 | 2010-07-22 | Nippon Telegr & Teleph Corp <Ntt> | 検索システム、端末装置、データベース装置、検索方法及びプログラム |
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 |
JP5432736B2 (ja) | 2010-01-18 | 2014-03-05 | 日本電信電話株式会社 | 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 |
JP5411034B2 (ja) | 2010-03-19 | 2014-02-12 | 株式会社日立ソリューションズ | データベース暗号化システム及び方法 |
CN101859323B (zh) * | 2010-05-31 | 2013-01-16 | 广西大学 | 密文全文检索系统 |
JP5557683B2 (ja) | 2010-10-07 | 2014-07-23 | 三菱電機株式会社 | 情報検索装置および情報検索方法 |
JP5412414B2 (ja) | 2010-12-08 | 2014-02-12 | 株式会社日立製作所 | 検索可能暗号処理システム |
US8429421B2 (en) | 2010-12-17 | 2013-04-23 | Microsoft Corporation | Server-side encrypted pattern matching |
JP5420085B2 (ja) | 2011-01-13 | 2014-02-19 | 三菱電機株式会社 | データ処理装置及びデータ保管装置 |
CN103329478B (zh) | 2011-01-18 | 2015-11-25 | 三菱电机株式会社 | 密码系统以及密码系统的密码处理方法 |
JP2012164031A (ja) | 2011-02-03 | 2012-08-30 | 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 |
JP5606642B2 (ja) | 2012-01-25 | 2014-10-15 | 三菱電機株式会社 | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 |
US20140019454A1 (en) | 2012-07-10 | 2014-01-16 | Jason A. Carter | Systems and Methods for Caching Data Object Identifiers |
WO2014109066A1 (ja) | 2013-01-12 | 2014-07-17 | 三菱電機株式会社 | 鍵生成装置、鍵生成プログラム、秘匿検索システム及び鍵配布方法 |
-
2012
- 2012-01-25 JP JP2013555046A patent/JP5606642B2/ja active Active
- 2012-01-25 CN CN201280068055.5A patent/CN104081390B/zh active Active
- 2012-01-25 EP EP12866425.7A patent/EP2808803B1/en active Active
- 2012-01-25 US US15/984,468 patent/USRE48146E1/en active Active
- 2012-01-25 US US14/350,987 patent/US9391965B2/en not_active Ceased
- 2012-01-25 WO PCT/JP2012/051533 patent/WO2013111284A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003178070A (ja) * | 2001-12-12 | 2003-06-27 | Canon Inc | 情報検索装置 |
JP2005134990A (ja) | 2003-10-28 | 2005-05-26 | National Institute Of Information & Communication Technology | 暗号化データベース検索装置および方法ならびに暗号化データベース検索プログラム |
JP2005284915A (ja) * | 2004-03-30 | 2005-10-13 | Canon Inc | 情報検索装置および方法、ならびに情報検索システムおよびその制御方法 |
JP2010165275A (ja) * | 2009-01-19 | 2010-07-29 | Mitsubishi Electric Corp | データ格納システム及び情報送信装置及びサーバ装置 |
WO2011086668A1 (ja) | 2010-01-13 | 2011-07-21 | 三菱電機株式会社 | 秘匿検索システム及び公開パラメータ生成装置及び暗号化装置及びユーザ秘密鍵生成装置及びクエリ発行装置及び検索装置及びコンピュータプログラム及び秘匿検索方法及び公開パラメータ生成方法及び暗号化方法及びユーザ秘密鍵生成方法及びクエリ発行方法及び検索方法 |
WO2011086687A1 (ja) * | 2010-01-15 | 2011-07-21 | 三菱電機株式会社 | 秘匿検索システム及び暗号処理システム |
Non-Patent Citations (11)
Title |
---|
ALFRED J. MENEZES; PAUL C. VAN OORSCHOT; SCOTT A. VANSTONE: "Handbook of Applied Cryptography", 2006, CRC PRESS, article "Public-Key Encryption" |
DAN BONEH; GIOVANNI DI CRESCENZO; RAFAIL OSTROVSKY; GIUSEPPE PERSIANO: "Public Key Encryption with Keyword Search", EUROCRYPT 2004, LECTURE NOTES IN COMPUTER SCIENCE, vol. 3027, 2004, pages 506 - 522, XP019005037 |
DAN BONEH; MATTHEW FRANKLIN: "Identity-Based Encryption from the Weil Pairing", CRYPTO 2001, LECTURE NOTES IN COMPUTER SCIENCE, vol. 2139, 2001, pages 213 - 229 |
JONATHAN KATZ; AMIT SAHAI; BRENT WATERS: "Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products", EUROCRYPT 2008, LECTURE NOTES IN COMPUTER SCIENCE, vol. 4965, 2008, pages 146 - 162, XP047030435, DOI: doi:10.1007/978-3-540-78967-3_9 |
MICHEL ABDALLA; MIHIR BELLARE; DARIO CATALANO; EIKE KILTZ; TADAYOSHI KOHNO; TANJA LANGE; JOHN MALONE-LEE; GREGORY NEVEN; PASCAL PA: "Searchable Encryption Revisited: Consistency Properties, Relation to Anonymous IBE, and Extensions", CRYPTO 2005, LECTURE NOTES IN COMPUTER SCIENCE, vol. 3621, 2005, pages 205 - 222 |
MIHIR BELLARE; ALEXANDRA BOLDYREVA; ANAND DESAI; DAVID POINTCHEVAL: "Key-Privacy in Public-Key Encryption", ASIACRYPT 2001, LECTURE NOTES IN COMPUTER SCIENCE, vol. 2248, 2001, pages 566 - 582 |
MITSUHIRO HATTORI ET AL.: "Anzensei to Kosokusei no Ryoritsu o Mezashita Kensaku Kano Ango (2)", SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY KOEN RONBUNSHU, vol. 2012, no. 1A3-2, 30 January 2012 (2012-01-30), pages 1 - 6, XP008173926 * |
NORI MATSUDA ET AL.: "Anzensei to Kosokusei no Ryoritsu o Mezashita Kensaku Kano Ango (1)", SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY KOEN RONBUSHU, vol. 2012, no. 1A3-1, 30 January 2012 (2012-01-30), pages 1 - 6, XP008173929 * |
See also references of EP2808803A4 |
TATSUAKI OKAMOTO; KATSUYUKI TAKASHIMA: "Adaptively Attribute-Hiding (Hierarchical) Inner Product Encryption", CRYPTOLOGY EPRINT ARCHIVE, 2011 |
XAVIER BOYEN; BRENT WATERS: "Anonymous Hierarchical Identity-Based Encryption (Without Random Oracles", CRYPTO 2006, LECTURE NOTES IN COMPUTER SCIENCE, vol. 4117, 2006, pages 290 - 307 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3096245A4 (en) * | 2014-01-16 | 2017-09-13 | Hitachi, Ltd. | Retrievable cryptograph processing system and retrievable cryptograph processing method |
US10489604B2 (en) | 2014-01-16 | 2019-11-26 | Hitachi, Ltd. | Searchable encryption processing system and searchable encryption processing method |
JP2016206555A (ja) * | 2015-04-27 | 2016-12-08 | 株式会社東芝 | 秘匿化装置、復号装置、秘匿化方法および復号方法 |
WO2017221308A1 (ja) * | 2016-06-20 | 2017-12-28 | 三菱電機株式会社 | データ管理装置、データ管理方法、データ管理プログラム、検索装置、検索方法及び検索プログラム |
JPWO2018131129A1 (ja) * | 2017-01-12 | 2019-06-27 | 三菱電機株式会社 | 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム |
JP6494893B2 (ja) * | 2017-01-12 | 2019-04-03 | 三菱電機株式会社 | 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム |
WO2018131129A1 (ja) * | 2017-01-12 | 2018-07-19 | 三菱電機株式会社 | 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム |
JP2020524864A (ja) * | 2017-06-22 | 2020-08-20 | セントリクス インフォメーション セキュリティ テクノロジーズ リミテッド | データへのアクセスの制御 |
JP2019117232A (ja) * | 2017-12-26 | 2019-07-18 | 日本電信電話株式会社 | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム |
CN109672525A (zh) * | 2018-12-14 | 2019-04-23 | 华中科技大学 | 一种具有高效前向索引的可搜索公钥加密方法及系统 |
WO2023007595A1 (ja) * | 2021-07-27 | 2023-02-02 | 三菱電機株式会社 | 検索実行装置、検索実行方法、検索実行プログラム及び秘匿検索システム |
JP7350220B2 (ja) | 2021-07-27 | 2023-09-25 | 三菱電機株式会社 | 検索実行装置、検索実行方法、検索実行プログラム及び秘匿検索システム |
CN117272394A (zh) * | 2023-11-21 | 2023-12-22 | 中债金科信息技术有限公司 | 债券市场数据共享方法及装置、存储介质及电子设备 |
CN117272394B (zh) * | 2023-11-21 | 2024-02-02 | 中债金科信息技术有限公司 | 债券市场数据共享方法及装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104081390B (zh) | 2017-11-03 |
JP5606642B2 (ja) | 2014-10-15 |
USRE48146E1 (en) | 2020-08-04 |
EP2808803A4 (en) | 2016-01-20 |
EP2808803A1 (en) | 2014-12-03 |
US9391965B2 (en) | 2016-07-12 |
EP2808803B1 (en) | 2017-03-01 |
US20140298009A1 (en) | 2014-10-02 |
JPWO2013111284A1 (ja) | 2015-05-11 |
CN104081390A (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5606642B2 (ja) | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 | |
JP5501482B2 (ja) | 暗号システム、暗号システムの暗号処理方法、暗号化装置、暗号化プログラム、復号装置および復号プログラム | |
JP5420085B2 (ja) | データ処理装置及びデータ保管装置 | |
Zhao et al. | Multi-user keyword search scheme for secure data sharing with fine-grained access control | |
JP5985123B1 (ja) | 秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム | |
TWI749444B (zh) | 可靠的使用者服務系統和方法 | |
Liu et al. | Practical ciphertext-policy attribute-based encryption: traitor tracing, revocation, and large universe | |
JP5432736B2 (ja) | 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 | |
JP6770075B2 (ja) | 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム | |
JP5492007B2 (ja) | コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム | |
Zhang et al. | An improved anonymous multi‐receiver identity‐based encryption scheme | |
Liu et al. | Broadcast authenticated encryption with keyword search | |
JP6700797B2 (ja) | 鍵生成装置、中間暗号化装置、委託暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム | |
Xu et al. | Efficient attribute-based encryption with blackbox traceability | |
Ling et al. | Server-aided revocable predicate encryption: formalization and lattice-based instantiation | |
Aronesty et al. | Encapsulated search index: Public-key, sub-linear, distributed, and delegatable | |
JP2010160235A (ja) | 検索システム、端末装置、データベース装置、検索方法及びプログラム | |
WO2015107561A1 (ja) | 検索システム、検索方法および検索プログラム | |
Pareek et al. | Proxy re-encryption scheme for access control enforcement delegation on outsourced data in public cloud | |
Zhenhua et al. | A ciphertext‐policy hidden vector encryption scheme supporting multiuser keyword search | |
Rhee et al. | Anonymous ibe from peks: A generic construction | |
Chaudhari et al. | Privacy-Preserving Proxy Re-encryption with Fine-Grained Access Control | |
Lima et al. | A secure collaborative network protocol | |
Rahman et al. | Implementation of a conditional searchable encryption system for data storage | |
Xu et al. | Mergeable and revocable identity-based encryption |
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: 12866425 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013555046 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14350987 Country of ref document: US |
|
REEP | Request for entry into the european phase |
Ref document number: 2012866425 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012866425 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |