WO2017203698A1 - 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム - Google Patents

登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム Download PDF

Info

Publication number
WO2017203698A1
WO2017203698A1 PCT/JP2016/065743 JP2016065743W WO2017203698A1 WO 2017203698 A1 WO2017203698 A1 WO 2017203698A1 JP 2016065743 W JP2016065743 W JP 2016065743W WO 2017203698 A1 WO2017203698 A1 WO 2017203698A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
registration
data management
registration destination
search
Prior art date
Application number
PCT/JP2016/065743
Other languages
English (en)
French (fr)
Inventor
伊藤 隆
松田 規
充洋 服部
陽一 柴田
拓海 森
貴人 平野
義博 小関
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201680085947.4A priority Critical patent/CN109154970B/zh
Priority to US16/091,690 priority patent/US10936757B2/en
Priority to PCT/JP2016/065743 priority patent/WO2017203698A1/ja
Priority to JP2018518922A priority patent/JP6381861B2/ja
Publication of WO2017203698A1 publication Critical patent/WO2017203698A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication

Definitions

  • This invention relates to a data registration technique for preventing frequency analysis attacks.
  • the secret search system is expected to be applied to confidential data management outsourcing and filtering of encrypted mail in a mail data management apparatus.
  • various techniques for achieving various safety requirements and various techniques for reducing the storage usage, communication overhead, and computation overhead of the data management apparatus and the search apparatus are being researched.
  • Secret search can be broadly divided into methods based on deterministic encryption and methods based on probabilistic encryption.
  • a secret search based on deterministic encryption the same keyword becomes the same encryption keyword. Therefore, the data management apparatus can perform a search only by performing a binary match determination based on the designated encryption keyword. Therefore, a secret search based on deterministic encryption has an advantage that it can be speeded up using an existing search technique.
  • keyword frequency information appears as it is as encrypted keyword frequency information. Therefore, the secret search based on deterministic encryption has a demerit that an attack called “frequency analysis” in which the data management device guesses the corresponding keyword by examining the frequency of the encrypted keyword is possible.
  • Patent Document 1 describes a secret search method based on deterministic encryption that takes measures against a frequency analysis attack.
  • Non-Patent Document 1 describes a secret search method based on probabilistic encryption.
  • the frequency of the keyword is not known only by the data management device browsing the encrypted keyword, but the search is actually performed by the secret search system. Is performed, the frequency of keywords hit in the search is determined. For this reason, when the system is operated for a long period of time, a lot of frequency information leaks to the data management device, and finally there is a problem that a frequency analysis attack by the data management device becomes possible.
  • the hit rate is changed by sending a search request to the data management device as a search request that is wider than the search condition specified by the searcher, and the hit rate is made uniform. The method is described. This makes it difficult to guess keywords by the data management device.
  • Patent Documents 2 and 3 since a condition wider than the search condition specified by the searcher is transmitted to the data management apparatus as a search request, data that is not required by the searcher is transmitted as a search result. There was communication overhead. Further, since it is necessary to make the hit rate uniform, there is a limitation that the appearance frequency distribution of each keyword must be known in advance. An object of the present invention is to make it difficult to estimate registration data by a data management device with a simple configuration.
  • the registration destination determination device is: The appearance frequency distribution of the values set in the target type of the registered data managed by each of the plurality of data management devices is managed by the plurality of data management devices, with the data type constituting the registration data as the target type.
  • a registration destination determination unit that determines which data management device of the plurality of data management devices is to manage the registration data so as to be different from the appearance frequency distribution of the value set for the target type of the registration data. .
  • FIG. 1 is a configuration diagram of a secret search system 10 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a data management apparatus 20 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a registration device 30 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a search device 40 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a registration destination determining device 50 according to Embodiment 1.
  • FIG. FIG. 4 is a diagram showing data stored in a data storage unit 221 according to the first embodiment.
  • FIG. 4 shows data stored in an encryption key storage unit 321 according to Embodiment 1.
  • FIG. 6 is a diagram showing data stored in a registration destination storage unit 322 and a registration destination storage unit 422 according to the first embodiment.
  • FIG. 4 shows data stored in a search key storage unit 421 according to Embodiment 1.
  • FIG. 5 is a flowchart of (1) initial setting processing according to the first embodiment.
  • 10 is a flowchart of (2) data registration processing according to the first embodiment.
  • 10 is a flowchart of (3) data search processing according to the first embodiment.
  • FIG. The block diagram of the data management apparatus 20 which concerns on the modification 8.
  • FIG. The block diagram of the registration destination determination apparatus 50 which concerns on the modification 8.
  • FIG. The figure which shows the data memorize
  • FIG. 5 is a flowchart of (1) initial setting processing according
  • Embodiment 1 FIG. *** Explanation of configuration *** With reference to FIG. 1, the structure of the confidential search system 10 which concerns on Embodiment 1 is demonstrated.
  • the secret search system 10 includes a plurality of data management devices 20, a registration device 30, and a search device 40.
  • the registration device 30 includes a registration destination determination device 50.
  • Each data management device 20, registration device 30, and search device 40 are connected via a network 60.
  • the number of data management devices 20 included in the confidential search system 10 may be two or more.
  • FIG. 1 an example in which the secret search system 10 includes two data management devices 20A and 20B as a plurality of data management devices 20 will be described.
  • the data management device 20 is a computer.
  • the data management device 20 includes hardware including a processor 21, a storage device 22, and a communication interface 23.
  • the processor 21 is connected to other hardware via the system bus and controls these other hardware.
  • the data management apparatus 20 includes a registration unit 211 and a search unit 212 as functional components.
  • the functions of the registration unit 211 and the search unit 212 are realized by software.
  • the storage device 22 stores a program that realizes the functions of the respective units of the data management device 20. This program is read and executed by the processor 21. In addition, the storage device 22 implements the function of the data storage unit 221.
  • the registration device 30 is a computer.
  • the registration device 30 includes hardware of a processor 31, a storage device 32, and a communication interface 33.
  • the processor 31 is connected to other hardware via the system bus and controls these other hardware.
  • the registration device 30 includes a registration destination determination device 50.
  • the registration device 30 includes a registration data generation unit 311 and a transmission unit 312 as functional components.
  • the functions of the registration data generation unit 311 and the transmission unit 312 are realized by software.
  • the storage device 32 stores a program that realizes the functions of the respective units of the registration device 30. This program is read and executed by the processor 31. Further, the storage device 32 realizes the functions of the encryption key storage unit 321 and the registration destination storage unit 322.
  • the search device 40 is a computer.
  • the search device 40 includes hardware of a processor 41, a storage device 42, and a communication interface 43.
  • the processor 41 is connected to other hardware via the system bus and controls these other hardware.
  • the search device 40 includes a search request generation unit 411, a transmission unit 412, and a decryption unit 413 as functional components.
  • the functions of the search request generation unit 411, the transmission unit 412, and the decryption unit 413 are realized by software.
  • the storage device 42 stores a program that realizes the functions of the respective units of the search device 40. This program is read and executed by the processor 41. Further, the storage device 42 realizes the functions of the search key storage unit 421 and the registration destination storage unit 422.
  • the registration destination determination device 50 is a computer.
  • the registration destination determination device 50 includes hardware of a processor 51, a storage device 52, and a communication interface 53.
  • the processor 51 is connected to other hardware via the system bus and controls these other hardware.
  • the registration destination determination device 50 includes a registration destination determination unit 511 as a functional component.
  • the function of the registration destination determination unit 511 is realized by software.
  • the storage device 52 stores a program that realizes the function of the registration destination determination unit 511. This program is read and executed by the processor 51.
  • the storage device 52 implements the function of the determination information storage unit 521.
  • the registration device 30 and the registration destination determination device 50 are separate computers here, the registration device 30 and the registration destination determination device 50 may be integrated and realized as one computer.
  • the processors 21, 31, 41 and 51 are integrated circuits (ICs) that perform processing. Specific examples of the processors 21, 31, 41, and 51 are a CPU, a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).
  • the storage devices 22, 32, 42, and 52 are a non-volatile memory that can keep an execution program and data while the power is off, and a volatile memory that can move data at high speed while the power is on. It consists of.
  • Specific examples of the nonvolatile memory include an HDD (Hard Disk Drive), an SSD (Solid State Drive), and a flash memory.
  • the non-volatile memory may be a portable storage medium such as an SD (Secure Digital) memory card, a CF (Compact Flash), a NAND flash, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD.
  • Specific examples of the volatile memory include DDR2-SDRAM (Double-Data-Rate2 Synchronous Random Access Memory) and DDR3-SDRAM (Double-Data-Rate3 Synchronous Dynamic Memory).
  • the communication interfaces 23, 33, 43, and 53 are devices for communicating with other devices via the network 60.
  • the communication interfaces 23, 33, 43, and 53 are terminals of Ethernet (registered trademark), RS232C, USB, and IEEE1394.
  • the data management apparatus 20 may include a plurality of processors that replace the processor 21.
  • the plurality of processors share the execution of programs that realize the functions of the respective units of the data management apparatus 20.
  • Each processor is an IC that performs processing in the same manner as the processor 21.
  • FIGS. 3 to 5 only one processor 31, 41, 51 is shown.
  • the registration device 30, the search device 40, and the registration destination determination device 50 may include a plurality of processors that replace the processors 31, 41, and 51, respectively.
  • the operation of the confidential search system 10 according to the first embodiment corresponds to the confidential search method according to the first embodiment.
  • the operation of the confidential search system 10 according to the first embodiment corresponds to the process of the confidential search program according to the first embodiment.
  • the data storage unit 221 stores the encrypted data obtained by encrypting the data by the registration device 30 and the encrypted keyword generated for the confidential search by the registration device 30 in association with each other.
  • a function F is a function for generating an encrypted keyword for secret search from a keyword
  • a function E is a function for encrypting data.
  • “Takahashi”, “Men” and “31” are encrypted for secret search as keywords for searching for encrypted data “Taro Takahashi, man, 31,... Has been remembered.
  • data types of “first name”, “sex”, and “age” are specified for ease of explanation, but these may be encrypted so that the data management device 20 does not know them.
  • the encryption key storage unit 321 stores an encryption key for generating encrypted data and an encryption key for generating encrypted keywords.
  • the encryption key for generating encrypted data is, as a specific example, an AES (Advanced Encryption Standard) key or an RSA public key.
  • the encryption key for generating the encryption keyword is, as a specific example, an encryption key of an existing secret search technique described in Non-Patent Document 1 or the like. As shown in FIG.
  • the encryption key storage unit 321 may store an encryption key for generating encrypted data and an encryption key for generating an encryption keyword that are common to all the data management apparatuses 20, Different encryption keys for generating encrypted data and different encryption keys for generating encrypted keywords may be stored for each data management device 20.
  • the registration destination storage unit 322 and the registration destination storage unit 422 store information for specifying each data management device 20.
  • the registration destination storage unit 322 and the registration destination storage unit 422 store the IP address of each data management device 20.
  • the search key storage unit 421 stores a data decryption encryption key and a trapdoor generation encryption key that is a search request.
  • the encryption key for data decryption is, as a specific example, an AES key or an RSA private key.
  • the encryption key for trapdoor generation is, as a specific example, an encryption key for trapdoor generation of the existing secret search technology described in Non-Patent Document 1 or the like.
  • the encryption key for data decryption and the encryption key for generating encrypted data stored in the encryption key storage unit 321 are corresponding keys.
  • the encryption key for generating the trapdoor and the encryption key for generating the encryption keyword stored in the encryption key storage unit 321 are corresponding keys. Therefore, when different encryption keys for generating encrypted data and different encryption keys for generating encrypted keywords are stored in the encryption key storage unit 321 for each data management device 20, the search key storage unit 421 is stored. In addition, for each data management device 20, a different encryption key for data decryption and a different encryption key for trapdoor generation are stored.
  • the determination information storage unit 521 stores selection probabilities for selecting each of the plurality of data management devices 20 for each value set for the data type for which the appearance frequency distribution is desired to be disturbed in order to prevent the frequency analysis attack, that is, for each keyword.
  • the data for which the search keyword is “Sato” is registered in the data management device 20A with the probability 0.4 and the data management device ID “A”. This means that the data is registered in the data management apparatus 20B having the data management apparatus ID “B” with a probability of 0.6.
  • the bottom record indicates that a surname that does not exist in FIG.
  • each data management device 20 is registered in each data management device 20 with a probability of 0.5.
  • the bottom record is provided because it is not practical to list all surnames. For data types such as sex and blood type that have a small number of set values, selection probabilities may be stored for all values.
  • the operation of the confidential search system 10 according to the first embodiment will be described on the premise of data stored in each of the above storage units.
  • the operation of the confidential search system 10 according to the first embodiment is broadly divided into three processes: (1) initial setting process, (2) data registration process, and (3) data search process.
  • (1) initial setting process (2) data registration process
  • (3) data search process (3) data search process.
  • initial setting process initial setting of the entire secret search system 10 is performed.
  • Step S11 Search key storage process
  • the decryption unit 413 of the search device 40 generates a pair of an encryption key for data decryption and an encryption key for generation of encrypted data, and writes the encryption key for data decryption in the search key storage unit 421.
  • the transmission unit 412 discloses the encryption key for generating encrypted data corresponding to the encryption key for data decryption, or transmits the encryption key to the registration device 30.
  • the search request generation unit 411 of the search device 40 generates a pair of an encryption key for generating a trap door and an encryption key for generating an encryption keyword, and stores the encryption key for generating a trap door as a search key storage unit 421. Write to.
  • the transmission unit 412 discloses the encryption key for generating the encryption keyword corresponding to the encryption key for generating the trapdoor, or transmits it to the registration device 30.
  • the search key storage unit 421 stores an encryption key for data decryption and an encryption key for trap door generation.
  • the decryption unit 413 may acquire an externally generated pair instead of generating a pair of an encryption key for data decryption and an encryption key for generating encrypted data.
  • the search request generation unit 411 may acquire an externally generated pair instead of generating a pair of trap key generation encryption key and encryption keyword generation encryption key.
  • Step S12 registration destination storage process
  • the transmission unit 412 of the search device 40 writes information for specifying each data management device 20 in the registration destination storage unit 422.
  • the transmission unit 412 acquires the IP address of each data management device 20 via the communication interface 43 and writes it in the registration destination storage unit 422.
  • information for specifying each data management device 20 is stored in the registration destination storage unit 422.
  • Step S13 Encryption key storage process
  • the registration data generation unit 311 of the registration device 30 acquires the encryption key for generating encrypted data and the encryption key for generating the encryption keyword that have been released or transmitted in step S11, and the encryption key storage unit 321. Write to.
  • the encryption key storage unit 321 stores the encryption key for generating the encrypted data and the encryption key for generating the encryption keyword.
  • Step S14 Registration destination storage process
  • the transmission unit 312 of the registration device 30 writes information for specifying each data management device 20 in the registration destination storage unit 322.
  • the transmission unit 312 acquires the IP address of each data management device 20 via the communication interface 33 and writes it in the registration destination storage unit 322.
  • the same information as the information written in the registration destination storage unit 422 in step S12 is written in the registration destination storage unit 322.
  • information for specifying each data management device 20 is stored in the registration destination storage unit 322.
  • Step S15 Determination information storage process
  • the registration destination determination unit 511 of the registration destination determination device 50 sets at least a part of the data types constituting the registration data as the target type, sets a selection probability for each value set in the target type, and determines the information storage unit 521. Write to.
  • the registration destination determining unit 511 registers each data management device 20 with data that uses the surname as a keyword for each surname. Is set as the registration destination, and is written in the decision information storage unit 521.
  • the registration destination determination unit 511 receives an input of a selection probability for each value set for the target type from the user, and writes the received selection probability in the determination information storage unit 521.
  • the registration destination determination unit 511 may set a selection probability at random for each value set for the target type and write the selection probability in the determination information storage unit 521.
  • the point here is to set different selection probabilities for each set value.
  • the selection probability is stored in the determination information storage unit 521 for each value set for the target type.
  • the data registration process is a process in which the data management apparatus 20 as a registration destination is determined for each data to be registered, and the encryption keyword and the encrypted data are stored in the determined data management apparatus 20.
  • data “Taro Takahashi, male, 31,...” Is registered so that it can be searched confidentially with keywords of the last name “Takahashi”, gender “male”, and age “31”.
  • Step S21 Registration destination determination process
  • the registration destination determination unit 511 of the registration destination determination device 50 determines a registration destination with reference to the selection probability stored in the determination information storage unit 521 for a keyword, that is, a value whose appearance frequency distribution is to be disturbed.
  • the registration destination determination unit 511 acquires the selection probability for the last name “Takahashi” as a keyword because it wants to disturb the appearance frequency distribution of the last name.
  • the selection probability shown in FIG. 10 is stored in the decision information storage unit 521, the data is distributed to the data management device 20A with a probability of 0.2 and is distributed to the data management device 20B with a probability of 0.8.
  • the registration destination determination unit 511 determines the data management apparatus 20 as the registration destination based on the acquired selection probability. Here, it is assumed that the registration destination is determined by the data management device 20B.
  • Step S22 Data encryption processing
  • the registration data generation unit 311 of the registration apparatus 30 encrypts data using the encryption key for generating encrypted data stored in the encryption key storage unit 321 to generate encrypted data.
  • the registered data generation unit 311 uses an encryption key corresponding to the data management device 20 of the registration destination.
  • the registration data generation unit 311 encrypts the data “Taro Takahashi, male, 31,...” To generate encrypted data E (Taro Takahashi, male, 31,).
  • Step S23 keyword encryption processing
  • the registration data generation unit 311 of the registration device 30 encrypts the keyword using the encryption key for encryption keyword generation stored in the encryption key storage unit 321 to generate an encryption keyword.
  • the registered data generation unit 311 uses an encryption key corresponding to the data management device 20 of the registration destination.
  • the registration data generation unit 311 encrypts “Takahashi”, “Men”, and “31” as keywords, and generates F (Takahashi), F (male), and F (31) as encrypted keywords.
  • the encryption key for generating the encrypted keyword may be different for each data type such as last name, gender, and age, or may be the same regardless of the data type.
  • the registered data generation unit 311 uses an encryption key corresponding to each data type.
  • Step S24 Data transmission process
  • the transmission unit 312 of the registration device 30 reads information for specifying the registration-destination data management device 20 determined in step S21 from the registration destination storage unit 322. Then, according to the read information, the transmission unit 312 transmits the encrypted data generated in step S22 and the encrypted keyword generated in step S23 to the registration destination data management apparatus 20.
  • the information illustrated in FIG. 8 is stored in the registration destination storage unit 322, “YYYY” that is the IP address of the data management apparatus 20B is read here. Then, the transmitting unit 312 transmits the encrypted data and the encrypted keyword to the data management apparatus 20B according to the IP address “YYYYY”.
  • Step S25 Data storage process
  • the registration unit 211 of the registration-destination data management apparatus 20 writes the encrypted data and the encrypted keyword transmitted in step S24 in the data storage unit 221.
  • the data shown in the first row of FIG. 6 is written in the data storage unit 221.
  • the data search process is a process for performing a secret search on data stored in each data management device 20 with a keyword specified.
  • Step S31 Request generation processing
  • the search request generation unit 411 of the search device 40 receives an input of a keyword. Then, the search request generation unit 411 generates a search request by encrypting the accepted keyword using the trap door generation encryption key stored in the search key storage unit 421. When a different encryption key is stored for each data management device 20 in the search key storage unit 421, the search request generation unit 411 generates a search request corresponding to each data management device 20 using each encryption key. To do.
  • the search request generation unit 411 accepts the last name “Takahashi” as a keyword. Then, the search request generation unit 411 generates T (Takahashi) using the encryption key for trap door generation. T is a trapdoor generation function.
  • T is a trapdoor generation function.
  • the search request generation unit 411 uses an encryption key corresponding to each data type.
  • Step S32 Request transmission processing
  • the transmission unit 412 of the search device 40 transmits the search request generated in step S31 to each data management device 20.
  • a search request generated using the corresponding encryption key is transmitted to the data management device 20.
  • Step S33 Search process
  • the search unit 212 of each data management device 20 searches the data stored in the data storage unit 221 in accordance with the search request transmitted in step S32.
  • the search unit 212 executes an existing confidential search process described in Non-Patent Document 1.
  • T Teakahashi
  • E Tearo Takahashi, man, 31,
  • Shown in the first line of FIG. 6 is hit.
  • Step S34 Result transmission processing
  • the search unit 212 of each data management device 20 transmits the data hit in step S33 to the search device 40.
  • E Toro Takahashi, male, 31,...) Shown in the first line of FIG. 6 is transmitted.
  • Step S35 Decoding process
  • the decryption unit 413 of the search device 40 decrypts the data transmitted in step S34 using the data decryption encryption key stored in the search key storage unit 421.
  • decryption is performed using the encryption key corresponding to the data management apparatus 20 that is the data transmission source.
  • E Toro Takahashi, male, 31,
  • Embodiment 1 *** Effects of Embodiment 1 *** As described above, in the confidential search system 10 according to Embodiment 1, the appearance frequency distribution of registered data values in each data management apparatus is disturbed. This makes it difficult to estimate registered data by the data management device.
  • each data management device 20 is selected with a different probability for each value.
  • the original appearance frequency distribution of the values and the appearance frequency distribution of the values in each data management device 20 are different.
  • the appearance frequency distribution of surnames in the data management device 20A is “Sato” 1.28%, “Suzuki” 1.96%, “ Takahashi "is 0.48%, and the distribution is different from the original. Therefore, even if the secret search system 10 has been operating for a long time and the data management apparatus 20 can observe these frequencies (1.28%, 1.96%, 0.48%,%) Cannot be guessed correctly, and security against frequency analysis attacks is maintained.
  • the surplus frequency distribution of surnames is 1.92% for “Sato”, 0.84% for “Suzuki”, and 1.92% for “Takahashi”, thus maintaining safety against frequency analysis attacks. .
  • unnecessary data is not transmitted / received, and there is no communication overhead.
  • safety can be realized even if the keyword appearance frequency distribution is unknown. That is, safety can be realized even in a situation where the user does not know the appearance frequency distribution and only the attacker knows the appearance frequency distribution.
  • the existing secret search technology is used for generating the encrypted keyword and generating the search request.
  • a definite encryption such as AES or a keyed hash function such as HMAC (Hash-based Message Authentication Code) may be used instead of the existing secret search technology.
  • HMAC Hash-based Message Authentication Code
  • the registration destination determination device 50 may determine the registration destination from the encryption keyword instead of determining the registration destination from the keyword. This eliminates the need for the registration destination determination device 50 to handle unencrypted data and keywords. As a result, the registration destination determination device 50 can be made independent of the registration device 30 and the registration destination determination device 50 can be managed by a third party other than the registrant and the searcher.
  • the selection information storage unit 521 stores the selection probability for each value.
  • the selection probability for one data management device 20 may be 1, and the selection probability for another data management device 20 may be 0.
  • the specific value is always stored in the specific data management device 20. If the selection probability is also stored in the search device 40, the data management device 20 to which the search device 40 transmits a search request can be limited in the data search process.
  • the appearance frequency distribution may be disturbed for a plurality of data types.
  • the appearance frequency distribution is disturbed only for the surname, but the appearance frequency distribution may be disturbed for the surname and gender.
  • the registration destination determination unit 511 may select a target data type for disturbing the appearance frequency distribution at random, and determine a registration destination based on the selection probability for the selected data type.
  • the selection probability illustrated in FIG. 14 is stored in the determination information storage unit 521, for example, the registration destination determination unit 511 randomly selects the last name and the gender with a probability of 0.5.
  • the encrypted data and the encrypted keyword are stored in the data storage unit 221 in an integrated manner.
  • the encrypted data and the encrypted keyword may be associated with each other by interposing a data ID, and the encrypted data and the encrypted keyword may be stored separately.
  • the encrypted data and the encrypted keyword may be stored in different devices.
  • the registration device 30 and the search device 40 are separate devices.
  • the registration device 30 and the search device 40 may be combined into one device.
  • the secret search system can be operated without giving extra information to the attacker.
  • the encryption key is stored in the encryption key storage unit 321 of the registration device 30 and the search key storage unit 421 of the search device 40.
  • the encryption key may be acquired from the outside when necessary.
  • the encryption key may be acquired from an IC card, or the encryption key may be automatically generated from a password or biometric information.
  • ⁇ Modification 7> In the first embodiment, only one registration device 30 and search device 40 are used. However, as a seventh modification, a plurality of registration devices 30 and a plurality of search devices 40 may be used so that each of data registration and search can be executed. In this case, the same search result can be obtained from different devices by sharing the encryption key for trapdoor generation among the plurality of search devices 40. On the other hand, if it is desired to change the search result for each device even with the same search keyword, the trap door generation encryption key may be changed for each device.
  • the functions of the respective units of the data management device 20, the registration device 30, the search device 40, and the registration destination determination device 50 are realized by software.
  • the function of each unit of each device may be realized by hardware. In the modification 8, differences from the first embodiment will be described.
  • each device includes processing circuits 24, 34, 44, 54 instead of the processors 21, 31, 41, 51 and the storage devices 22, 32, 42, 52.
  • the processing circuits 24, 34, 44, 54 are dedicated electronic circuits that realize the functions of the respective units of each device and the functions of the storage device 22.
  • the processing circuits 24, 34, 44, and 54 are a single circuit, a composite circuit, a programmed processor, a processor programmed in parallel, a logic IC, a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-). Programmable Gate Array) is assumed.
  • Each device may include a plurality of processing circuits that replace the processing circuits 24, 34, 44, and 54. The function of each unit is realized as a whole by the plurality of processing circuits.
  • Each processing circuit is a dedicated electronic circuit, like the processing circuits 24, 34, 44, 54.
  • Modification 9 As Modification 9, some functions may be realized by hardware, and other functions may be realized by software. That is, some functions of each unit of each device may be realized by hardware, and other functions may be realized by software.
  • the processors 21, 31, 41, 51, the storage devices 22, 32, 42, 52 and the processing circuits 24, 34, 44, 54 are collectively referred to as “processing circuits”. That is, the function of each part is realized by a processing circuit.
  • the first embodiment does not mention protection of communication between devices.
  • communication may be protected using an existing encryption technology such as TLS (Transport Layer Security).
  • Embodiment 2 is different from the first embodiment in that the selection probability is calculated when the value of the data type for which the appearance frequency distribution is desired to be disturbed is specified. In the second embodiment, this different point will be described.
  • the operation of the secret search system 10 according to the second embodiment corresponds to the secret search method according to the second embodiment.
  • the operation of the confidential search system 10 according to the second embodiment corresponds to the process of the confidential search program according to the second embodiment.
  • the decision information storage unit 521 stores secret information for deterministically selecting the selection probability from each value.
  • the determination information storage unit 521 stores an HMAC key. If different selection probabilities for each value can be deterministically derived, secret information other than the HMAC key may be stored.
  • step S11 to step S14 is the same as in the first embodiment.
  • Step S15 Determination information storage process
  • the registration destination determination unit 511 of the registration destination determination device 50 writes secret information for deterministically selecting the selection probability in the determination information storage unit 521.
  • the registration destination determination unit 511 writes the HMAC key in the determination information storage unit 521.
  • step S22 to step S25 is the same as in the first embodiment.
  • Step S21 Registration destination determination process
  • the registration destination determination unit 511 of the registration destination determination device 50 calculates the selection probability from the keyword that is desired to disturb the appearance frequency distribution, that is, the value, and the secret information stored in the determination information storage unit 521. Then, the registration destination determination unit 511 determines the registration destination with reference to the calculated selection probability.
  • the registration destination determination unit 511 calculates a hash value from the keyword and the HMAC key. Then, the registration destination determination unit 511 sets a value obtained by normalizing the calculated hash value to a value between 0 and 1 as a selection probability for the data management device 20A. Further, the registration destination determination unit 511 sets a value obtained by subtracting the selection probability for the data management device 20A from 1 as the selection probability for the data management device 20B.
  • the selection probability is calculated when data is stored. Therefore, it is not necessary to prepare a selection probability for each value in advance. Even if keywords can be freely set at the time of data registration and when the values of keywords are limited, prepare probabilities of selection for each value in advance when possible values are diverse. Is difficult. Even in such a case, the secure search system 10 according to Embodiment 2 can realize a secure search.
  • the decision information storage unit 521 only needs to store secret information such as an HMAC key. Therefore, the amount of data stored in the decision information storage unit 521 can be reduced.
  • the selection probability is directly calculated from the hash value in step S21.
  • a hash value may be given as a random number seed of a stochastic algorithm that probabilistically calculates a selection probability, and the selection probability may be deterministically calculated from the hash value.
  • 10 confidential search system 20 data management device, 21 processor, 22 storage device, 23 communication interface, 24 processing circuit, 211 registration unit, 212 search unit, 221 data storage unit, 30 registration device, 31 processor, 32 storage device, 33 Communication interface, 34 processing circuit, 311 registration data generation unit, 312 transmission unit, 321 encryption key storage unit, 322 registration destination storage unit, 40 search device, 41 processor, 42 storage device, 43 communication interface, 44 processing circuit, 411 search Request generation unit, 412 transmission unit, 413 decryption unit, 421 search key storage unit, 422 registration destination storage unit, 50 registration destination determination device, 51 processor, 52 storage device, 53 communication interface, 54 processing circuit, 511 registration destination determination unit 521 determining information storage unit, 60 network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

登録先決定装置(50)は、登録データを構成するデータ種別を対象種別として、複数のデータ管理装置(20A,20B)それぞれで管理される登録データの対象種別に設定された値の出現頻度分布が、複数のデータ管理装置(20A,20B)全体で管理される登録データの対象種別に設定された値の出現頻度分布と異なるように、複数のデータ管理装置(20A,20B)のうちどのデータ管理装置に登録データを管理させるかを決定する。

Description

登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム
 この発明は、頻度分析攻撃を防止するデータの登録技術に関する。
 データ管理装置で管理されたデータを、検索装置がキーワードを指定して検索でき、かつその際にデータ及びキーワードをデータ管理装置に対して秘匿する秘匿検索システムがある。
 秘匿検索システムは、機密データ管理のアウトソーシングと、メールデータ管理装置における暗号化メールのフィルタリングとに対する応用が期待されている。秘匿検索システムでは、種々の安全性要件を達成するための技術と、データ管理装置及び検索装置のストレージ使用量と通信オーバーヘッドと演算オーバーヘッドとを削減するための様々な技術が研究されている。
 秘匿検索は、確定的暗号をベースとした方式と、確率的暗号をベースとした方式とに大別できる。
 確定的暗号をベースとした秘匿検索では、同じキーワードが同じ暗号化キーワードになる。そのため、データ管理装置は、指定された暗号化キーワードに基づくバイナリ一致判定を行うだけで検索を行うことができる。したがって、確定的暗号をベースとした秘匿検索は、既存の検索技術を用いた高速化が可能というメリットがある。
 しかし、確定的暗号をベースとした秘匿検索では、キーワードの頻度情報がそのまま暗号化キーワードの頻度情報として現れる。そのため、確定的暗号をベースとした秘匿検索は、データ管理装置が暗号化キーワードの頻度を調べることによって対応するキーワードを推測する「頻度分析」と呼ばれる攻撃が可能となるデメリットがある。
 特許文献1には、頻度分析攻撃への対策を行った、確定的暗号をベースとした秘匿検索方式が記載されている。
 一方で、確率的暗号をベースとした秘匿検索では、同じキーワードから異なる暗号化キーワードが生成される。そのため、確率的暗号をベースとした秘匿検索では、データ管理装置が暗号化キーワードの頻度を調べても、キーワードを推測することができず、安全性が高いというメリットがある。
 しかし、確率的暗号をベースとした秘匿検索では、暗号化キーワードと検索要求(トラップドア)との照合に、バイナリ一致判定ではない特別な演算が必要となる。また、確率的暗号をベースとした秘匿検索では、既存の検索技術を用いた高速化ができない。そのため、確率的暗号をベースとした秘匿検索は、検索に要する時間が確定的暗号ベースの方式よりも長くなるというデメリットがある。
 非特許文献1には、確率的暗号をベースとした秘匿検索方式が記載されている。
 特許文献1に記載された方式及び非特許文献1に記載された方式では、データ管理装置が暗号化キーワードを閲覧するだけではキーワードの頻度が分からないが、実際に秘匿検索システムが稼働して検索が行われると、検索にヒットしたキーワードの頻度が判明する。そのため、システムを長期稼働すると頻度情報の多くがデータ管理装置に漏えいし、最終的にはデータ管理装置による頻度分析攻撃が可能になってしまうという課題があった。
 特許文献2,3には、検索者に指定された検索条件よりも広い条件を検索要求としてデータ管理装置に送信することでヒット率を変化させるとともに、ヒット率が均一になるような工夫を行う方式が記載されている。これにより、データ管理装置によるキーワードの推測を困難にしている。
国際公開第2012/115031号 特開2014-98989号公報 特開2014-98990号公報
D. Boneh, G.D. Crescenzo, R. Ostrovsky, and G. Persiano, "Public key encryption with keyword search", EUROCRYPT 2004, LNCS 3027, pp.506-522, Interlaken, Switzerland, May 2004.
 特許文献2,3に記載された方式は、検索者に指定された検索条件よりも広い条件を検索要求としてデータ管理装置に送信するため、検索結果として、検索者が必要としないデータまで送信され、通信のオーバーヘッドが発生していた。また、ヒット率を均一にする必要があるため、各キーワードの出現頻度分布が事前に判明していなければならないという制限もあった。
 この発明は、簡便な構成により、データ管理装置による登録データの推測を困難にすることを目的とする。
 この発明に係る登録先決定装置は、
 登録データを構成するデータ種別を対象種別として、複数のデータ管理装置それぞれで管理される前記登録データの前記対象種別に設定された値の出現頻度分布が、前記複数のデータ管理装置で管理される前記登録データの前記対象種別に設定された値の出現頻度分布と異なるように、前記複数のデータ管理装置のうちどのデータ管理装置に前記登録データを管理させるかを決定する登録先決定部
を備える。
 この発明では、各データ管理装置における登録データの値の出現頻度分布が撹乱される。そのため、データ管理装置による登録データの推測が困難になる。
実施の形態1に係る秘匿検索システム10の構成図。 実施の形態1に係るデータ管理装置20の構成図。 実施の形態1に係る登録装置30の構成図。 実施の形態1に係る検索装置40の構成図。 実施の形態1に係る登録先決定装置50の構成図。 実施の形態1に係るデータ記憶部221に記憶されるデータを示す図。 実施の形態1に係る暗号鍵記憶部321に記憶されるデータを示す図。 実施の形態1に係る登録先記憶部322及び登録先記憶部422に記憶されるデータを示す図。 実施の形態1に係る検索鍵記憶部421に記憶されるデータを示す図。 実施の形態1に係る決定情報記憶部521に記憶されるデータを示す図。 実施の形態1に係る(1)初期設定処理のフローチャート。 実施の形態1に係る(2)データ登録処理のフローチャート。 実施の形態1に係る(3)データ検索処理のフローチャート。 変形例3に係る決定情報記憶部521に記憶されるデータを示す図。 変形例8に係るデータ管理装置20の構成図。 変形例8に係る登録装置30の構成図。 変形例8に係る検索装置40の構成図。 変形例8に係る登録先決定装置50の構成図。 実施の形態2に係る決定情報記憶部521に記憶されるデータを示す図。
 実施の形態1.
 ***構成の説明***
 図1を参照して、実施の形態1に係る秘匿検索システム10の構成を説明する。
 秘匿検索システム10は、複数のデータ管理装置20と、登録装置30と、検索装置40とを備える。登録装置30は、登録先決定装置50を備える。各データ管理装置20と登録装置30と検索装置40とは、ネットワーク60を介して接続されている。
 秘匿検索システム10が備えるデータ管理装置20は、2台以上であればよい。実施の形態1では、図1に示すように、秘匿検索システム10が、複数のデータ管理装置20として、データ管理装置20Aとデータ管理装置20Bと2台を備える例を説明する。
 図2を参照して、実施の形態1に係るデータ管理装置20の構成を説明する。
 データ管理装置20は、コンピュータである。
 データ管理装置20は、プロセッサ21と、記憶装置22と、通信インタフェース23とのハードウェアを備える。プロセッサ21は、システムバスを介して他のハードウェアと接続され、これら他のハードウェアを制御する。
 データ管理装置20は、機能構成要素として、登録部211と、検索部212とを備える。登録部211と、検索部212との各部の機能は、ソフトウェアにより実現される。
 記憶装置22には、データ管理装置20の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21により読み込まれ実行される。また、記憶装置22は、データ記憶部221の機能を実現する。
 図3を参照して、実施の形態1に係る登録装置30の構成を説明する。
 登録装置30は、コンピュータである。
 登録装置30は、プロセッサ31と、記憶装置32と、通信インタフェース33とのハードウェアを備える。プロセッサ31は、システムバスを介して他のハードウェアと接続され、これら他のハードウェアを制御する。また、登録装置30は、登録先決定装置50を備える。
 登録装置30は、機能構成要素として、登録データ生成部311と、送信部312とを備える。登録データ生成部311と、送信部312との各部の機能は、ソフトウェアにより実現される。
 記憶装置32には、登録装置30の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ31により読み込まれ実行される。また、記憶装置32は、暗号鍵記憶部321と、登録先記憶部322との機能を実現する。
 図4を参照して、実施の形態1に係る検索装置40の構成を説明する。
 検索装置40は、コンピュータである。
 検索装置40は、プロセッサ41と、記憶装置42と、通信インタフェース43とのハードウェアを備える。プロセッサ41は、システムバスを介して他のハードウェアと接続され、これら他のハードウェアを制御する。
 検索装置40は、機能構成要素として、検索要求生成部411と、送信部412と、復号部413とを備える。検索要求生成部411と、送信部412と、復号部413との各部の機能は、ソフトウェアにより実現される。
 記憶装置42には、検索装置40の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ41により読み込まれ実行される。また、記憶装置42は、検索鍵記憶部421と、登録先記憶部422との機能を実現する。
 図5を参照して、実施の形態1に係る登録先決定装置50の構成を説明する。
 登録先決定装置50は、コンピュータである。
 登録先決定装置50は、プロセッサ51と、記憶装置52と、通信インタフェース53とのハードウェアを備える。プロセッサ51は、システムバスを介して他のハードウェアと接続され、これら他のハードウェアを制御する。
 登録先決定装置50は、機能構成要素として、登録先決定部511を備える。登録先決定部511の機能は、ソフトウェアにより実現される。
 記憶装置52には、登録先決定部511の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ51により読み込まれ実行される。また、記憶装置52は、決定情報記憶部521の機能を実現する。
 なお、ここでは、登録装置30と登録先決定装置50とは別のコンピュータとしたが、登録装置30と登録先決定装置50とは1つのコンピュータとして一体化されて実現されてもよい。
 プロセッサ21,31,41,51は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ21,31,41,51は、具体例としては、CPU、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
 記憶装置22,32,42,52は、電源がオフの間も実行プログラム及びデータを保持し続けることが可能な不揮発性メモリと、電源がオンの間にデータを高速に移動可能な揮発性メモリとで構成される。
 不揮発性メモリは、具体例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリである。不揮発性メモリは、SD(Secure Digital)メモリカード、CF(CompactFlash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体であってもよい。
 揮発性メモリは、具体例としては、DDR2-SDRAM(Double-Data-Rate2 Synchronous Dynamic Random Access Memory)、DDR3-SDRAM(Double-Data-Rate3 Synchronous Dynamic Random Access Memory)である。
 通信インタフェース23,33,43,53は、ネットワーク60を介して他の装置と通信するための装置である。通信インタフェース23,33,43,53は、具体例としては、Ethernet(登録商標)、RS232C、USB、IEEE1394の端子である。
 図2では、プロセッサ21は、1つだけ示されている。しかし、データ管理装置20は、プロセッサ21を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、データ管理装置20の各部の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ21と同じように、プロセッシングを行うICである。同様に、図3から図5では、プロセッサ31,41,51は、1つだけ示されている。しかし、登録装置30と検索装置40と登録先決定装置50とは、それぞれプロセッサ31,41,51を代替する複数のプロセッサを備えていてもよい。
 ***動作の説明***
 図6から図13を参照して、実施の形態1に係る秘匿検索システム10の動作を説明する。
 実施の形態1に係る秘匿検索システム10の動作は、実施の形態1に係る秘匿検索方法に相当する。また、実施の形態1に係る秘匿検索システム10の動作は、実施の形態1に係る秘匿検索プログラムの処理に相当する。
 秘匿検索システム10の動作の前提として、各記憶部に記憶されるデータについて説明する。
 図6を参照して、実施の形態1に係るデータ記憶部221に記憶されるデータについて説明する。
 データ記憶部221には、登録装置30によってデータが暗号化された暗号化データと、登録装置30によって秘匿検索用に生成された暗号化キーワードとが、関連付けて記憶される。
 図6では、関数Fはキーワードから秘匿検索用の暗号化キーワードを生成する関数であり、関数Eはデータを暗号化する関数である。例えば1行目のレコードでは、暗号化された「高橋太郎、男、31、・・・」というデータを検索するためのキーワードとして、「高橋」「男」「31」が秘匿検索用に暗号化されて記憶されている。なお、図6では説明を容易にするため「名字」「性別」「年齢」というデータ種別が明記されているが、これらはデータ管理装置20に分からないように暗号化されていてもよい。
 図7を参照して、実施の形態1に係る暗号鍵記憶部321に記憶されるデータについて説明する。
 暗号鍵記憶部321は、暗号化データ生成用の暗号鍵と、暗号化キーワード生成用の暗号鍵とを記憶する。暗号化データ生成用の暗号鍵は、具体例としては、AES(Advanced Encryption Standard)の鍵、又は、RSAの公開鍵である。暗号化キーワード生成用の暗号鍵は、具体例としては、非特許文献1等に記載された既存の秘匿検索技術の暗号鍵である。
 暗号鍵記憶部321は、図7に示すように、全てのデータ管理装置20に共通の暗号化データ生成用の暗号鍵と、暗号化キーワード生成用の暗号鍵とを記憶してもよいし、データ管理装置20毎に、異なる暗号化データ生成用の暗号鍵と、異なる暗号化キーワード生成用の暗号鍵とを記憶してもよい。
 図8を参照して、実施の形態1に係る登録先記憶部322及び登録先記憶部422に記憶されるデータについて説明する。
 登録先記憶部322及び登録先記憶部422は、各データ管理装置20を特定するための情報を記憶する。図8では、登録先記憶部322及び登録先記憶部422は、各データ管理装置20のIPアドレスを記憶している。
 図9を参照して、実施の形態1に係る検索鍵記憶部421に記憶されるデータについて説明する。
 検索鍵記憶部421は、データ復号用の暗号鍵と、検索要求であるトラップドア生成用の暗号鍵とを記憶する。データ復号用の暗号鍵は、具体例としては、AESの鍵、又は、RSAの秘密鍵である。トラップドア生成用の暗号鍵は、具体例としては、非特許文献1等に記載された既存の秘匿検索技術のトラップドア生成用の暗号鍵である。
 データ復号用の暗号鍵と、暗号鍵記憶部321に記憶された暗号化データ生成用の暗号鍵とは対応する鍵である。また、トラップドア生成用の暗号鍵と、暗号鍵記憶部321に記憶された暗号化キーワード生成用の暗号鍵とは対応する鍵である。したがって、暗号鍵記憶部321に、データ管理装置20毎に、異なる暗号化データ生成用の暗号鍵と、異なる暗号化キーワード生成用の暗号鍵とが記憶される場合には、検索鍵記憶部421も、データ管理装置20毎に、異なるデータ復号用の暗号鍵と、異なるトラップドア生成用の暗号鍵とが記憶される。
 図10を参照して、実施の形態1に係る決定情報記憶部521に記憶されるデータについて説明する。
 決定情報記憶部521は、頻度分析攻撃を防ぐために出現頻度分布を撹乱したいデータ種別に設定される値毎、つまりキーワード毎に、複数データ管理装置20それぞれを選択する選択確率を記憶する。図10では、名字の出現頻度分布を撹乱する場合において、検索用のキーワードが「佐藤」であるデータを確率0.4でデータ管理装置IDが“A”であるデータ管理装置20Aに登録し、確率0.6でデータ管理装置IDが“B”であるデータ管理装置20Bに登録することを表している。また、一番下のレコードは、図10に存在しない名字については、確率0.5ずつで各データ管理装置20に登録することを表している。一番下のレコードは、名字を全て列挙することは現実的でないために設けられている。性別及び血液型のように、設定される値の種類が少ないようなデータ種別については、全ての値について選択確率を記憶してもよい。
 以上の各記憶部に記憶されるデータを前提として、実施の形態1に係る秘匿検索システム10の動作を説明する。実施の形態1に係る秘匿検索システム10の動作は、(1)初期設定処理、(2)データ登録処理、(3)データ検索処理の3つの処理に大別される。
 なお、以下では、各データ管理装置20における名字の出現頻度分布を撹乱する例について説明する。つまり、各データ管理装置20による名字の推測を困難にする例について説明する。
 図11を参照して、実施の形態1に係る(1)初期設定処理について説明する。
 初期設定処理では、秘匿検索システム10全体の初期設定が行われる。
 (ステップS11:検索鍵格納処理)
 検索装置40の復号部413は、データ復号用の暗号鍵と暗号化データ生成用の暗号鍵とのペアを生成して、データ復号用の暗号鍵を検索鍵記憶部421に書き込む。送信部412は、データ復号用の暗号鍵に対応する暗号化データ生成用の暗号鍵を公開する、又は、登録装置30に送信する。
 また、検索装置40の検索要求生成部411は、トラップドア生成用の暗号鍵と暗号化キーワード生成用の暗号鍵とのペアを生成して、トラップドア生成用の暗号鍵を検索鍵記憶部421に書き込む。送信部412は、トラップドア生成用の暗号鍵に対応する暗号化キーワード生成用の暗号鍵を公開する又は、登録装置30に送信する。
 その結果、図9に示すように検索鍵記憶部421に、データ復号用の暗号鍵と、トラップドア生成用の暗号鍵とが記憶される。
 なお、復号部413は、データ復号用の暗号鍵と暗号化データ生成用の暗号鍵とのペアを、生成するのではなく、外部で生成されたものを取得してもよい。同様に、検索要求生成部411は、トラップドア生成用の暗号鍵と暗号化キーワード生成用の暗号鍵とのペアを、生成するのではなく、外部で生成されたものを取得してもよい。
 (ステップS12:登録先格納処理)
 検索装置40の送信部412は、各データ管理装置20を特定するための情報を登録先記憶部422に書き込む。具体例としては、送信部412は、通信インタフェース43を介して各データ管理装置20のIPアドレスを取得して、登録先記憶部422に書き込む。
 その結果、図8に示すように、登録先記憶部422に各データ管理装置20を特定するための情報が記憶される。
 (ステップS13:暗号鍵格納処理)
 登録装置30の登録データ生成部311は、ステップS11で公開された、又は送信された暗号化データ生成用の暗号鍵と、暗号化キーワード生成用の暗号鍵とを取得し、暗号鍵記憶部321に書き込む。
 その結果、図7に示すように暗号鍵記憶部321に、暗号化データ生成用の暗号鍵と、暗号化キーワード生成用の暗号鍵とが記憶される。
 (ステップS14:登録先格納処理)
 登録装置30の送信部312は、各データ管理装置20を特定するための情報を登録先記憶部322に書き込む。具体例としては、送信部312は、通信インタフェース33を介して各データ管理装置20のIPアドレスを取得して、登録先記憶部322に書き込む。ここでは、ステップS12で登録先記憶部422に書き込まれた情報と同じ情報が登録先記憶部322に書き込まれる。
 その結果、図8に示すように、登録先記憶部322に各データ管理装置20を特定するための情報が記憶される。
 (ステップS15:決定情報格納処理)
 登録先決定装置50の登録先決定部511は、登録データを構成する少なくとも一部のデータ種別を対象種別として、対象種別に設定される値毎に選択確率を設定して、決定情報記憶部521に書き込む。例えば、名字の出現頻度分布の撹乱を目的とする場合、登録先決定部511は、各名字に対し、当該名字をキーワードとしたデータをデータ管理装置20に登録する際に、各データ管理装置20を登録先として選択する選択確率を設定して、決定情報記憶部521に書き込む。
 具体例としては、登録先決定部511は、対象種別に設定される値毎に選択確率の入力をユーザから受け付け、受け付けられた選択確率を決定情報記憶部521に書き込む。あるいは、登録先決定部511は、対象種別に設定される値毎にランダムに選択確率を設定して、決定情報記憶部521に書き込んでもよい。ここでのポイントは、設定される値毎に異なる選択確率を設定することである。
 その結果、図10に示すように、決定情報記憶部521に対象種別に設定される値毎に、選択確率が記憶される。
 図12を参照して、実施の形態1に係る(2)データ登録処理について説明する。
 データ登録処理は、登録するデータ毎に登録先のデータ管理装置20が決定され、暗号化キーワードと暗号化データとを決定されたデータ管理装置20に記憶させる処理である。
 ここでは、「高橋太郎、男、31、・・・」というデータを、名字「高橋」、性別「男」、年齢「31」というキーワードで秘匿検索できるように登録する例について説明する。
 (ステップS21:登録先決定処理)
 登録先決定装置50の登録先決定部511は、出現頻度分布を撹乱したいキーワード、つまり値に対し、決定情報記憶部521が記憶する選択確率を参照して、登録先を決定する。
 ここでは、登録先決定部511は、名字の出現頻度分布を撹乱したいため、キーワードである名字「高橋」に対する選択確率を取得する。図10に示す選択確率が決定情報記憶部521に記憶されている場合、データは、データ管理装置20Aに確率0.2で振り分けられ、データ管理装置20Bに確率0.8で振り分けられる。登録先決定部511は、取得された選択確率に基づき、登録先のデータ管理装置20を決定する。ここでは、登録先がデータ管理装置20Bに決定されたとする。
 (ステップS22:データ暗号化処理)
 登録装置30の登録データ生成部311は、暗号鍵記憶部321に記憶された暗号化データ生成用の暗号鍵を用いて、データを暗号化して、暗号化データを生成する。なお、暗号鍵記憶部321に、データ管理装置20毎に異なる暗号鍵が記憶されている場合、登録データ生成部311は、登録先のデータ管理装置20に対応する暗号鍵を利用する。
 ここでは、登録データ生成部311は、データ「高橋太郎、男、31、・・・」を暗号化して、暗号化データE(高橋太郎、男、31、・・・)を生成する。
 (ステップS23:キーワード暗号化処理)
 登録装置30の登録データ生成部311は、暗号鍵記憶部321に記憶された暗号化キーワード生成用の暗号鍵を用いて、キーワードを暗号化して、暗号化キーワードを生成する。なお、暗号鍵記憶部321に、データ管理装置20毎に異なる暗号鍵が記憶されている場合、登録データ生成部311は、登録先のデータ管理装置20に対応する暗号鍵を利用する。
 ここでは、登録データ生成部311は、キーワードとして「高橋」と「男」と「31」とを暗号化して、暗号化キーワードとしてF(高橋)とF(男)とF(31)とを生成する。なお、暗号化キーワード生成用の暗号鍵は、名字と性別と年齢といったデータ種別毎に異なっていてもよいし、データ種別によらず同一であってもよい。暗号鍵がデータ種別毎に異なる場合には、登録データ生成部311は、データ種別毎に対応する暗号鍵を利用する。
 (ステップS24:データ送信処理)
 登録装置30の送信部312は、ステップS21で決定された登録先のデータ管理装置20を特定するための情報を登録先記憶部322から読み出す。そして、送信部312は、読み出された情報に従い、ステップS22で生成された暗号化データと、ステップS23で生成された暗号化キーワードとを、登録先のデータ管理装置20に送信する。
 図8に示す情報が登録先記憶部322に記憶されている場合、ここでは、データ管理装置20BのIPアドレスである「Y.Y.Y.Y」が読み出される。そして、送信部312は、暗号化データと暗号化キーワードとを、IPアドレス「Y.Y.Y.Y」に従いデータ管理装置20Bに送信する。
 (ステップS25:データ記憶処理)
 登録先のデータ管理装置20の登録部211は、ステップS24で送信された暗号化データと暗号化キーワードとを、データ記憶部221に書き込む。
 ここでは、図6の1行目に示すデータがデータ記憶部221に書き込まれる。
 図13を参照して、実施の形態1に係る(3)データ検索処理について説明する。
 データ検索処理は、キーワードが指定され、各データ管理装置20に記憶されたデータに対して秘匿検索を行う処理である。
 (ステップS31:要求生成処理)
 検索装置40の検索要求生成部411は、キーワードの入力を受け付ける。そして、検索要求生成部411は、検索鍵記憶部421に記憶されたトラップドア生成用の暗号鍵を用いて、受け付けられたキーワードを暗号化して、検索要求を生成する。なお、検索鍵記憶部421に、データ管理装置20毎に異なる暗号鍵が記憶されている場合、検索要求生成部411は、各暗号鍵を用いて各データ管理装置20に対応する検索要求を生成する。
 ここでは、検索要求生成部411は、キーワードとして名字「高橋」を受け付ける。そして、検索要求生成部411は、トラップドア生成用の暗号鍵を用いてT(高橋)を生成する。Tは、トラップドア生成関数である。暗号鍵がデータ種別毎に異なる場合には、検索要求生成部411は、データ種別毎に対応する暗号鍵を利用する。
 (ステップS32:要求送信処理)
 検索装置40の送信部412は、ステップS31で生成された検索要求を各データ管理装置20に送信する。なお、検索鍵記憶部421に、データ管理装置20毎に異なる暗号鍵が記憶されている場合、対応する暗号鍵を用いて生成された検索要求をデータ管理装置20に送信する。
 (ステップS33:検索処理)
 各データ管理装置20の検索部212は、ステップS32で送信された検索要求に従い、データ記憶部221に記憶されたデータに対して検索を行う。具体例としては、検索部212は、非特許文献1に記載された既存の秘匿検索処理を実行する。
 ここでは、T(高橋)を用いて検索を行った結果、図6の1行目に示すE(高橋太郎、男、31、・・・)がヒットする。
 (ステップS34:結果送信処理)
 各データ管理装置20の検索部212は、ステップS33でヒットしたデータを検索装置40へ送信する。
 ここでは、図6の1行目に示すE(高橋太郎、男、31、・・・)が送信される。
 (ステップS35:復号処理)
 検索装置40の復号部413は、検索鍵記憶部421に記憶されたデータ復号用の暗号鍵を用いて、ステップS34で送信されたデータを復号する。なお、検索鍵記憶部421に、データ管理装置20毎に異なる暗号鍵が記憶されている場合、データの送信元のデータ管理装置20に対応する暗号鍵を用いて復号する。
 ここでは、E(高橋太郎、男、31、・・・)が復号されて、高橋太郎、男、31、・・・というデータが得られる。
 ***実施の形態1の効果***
 以上のように、実施の形態1に係る秘匿検索システム10では、各データ管理装置における登録データの値の出現頻度分布が撹乱される。そのため、データ管理装置による登録データの推測が困難になる。
 具体的には、(2)データ登録処理において、値毎に異なる確率で各データ管理装置20が選択される。これにより、値の本来の出現頻度分布と、各データ管理装置20における値の出現頻度分布とが異なる。
 例えば、名字の本来の出現頻度分布が、「佐藤」1.6%、「鈴木」1.4%、「高橋」1.2%である場合、データ管理装置20Aには、キーワードが「佐藤」であるデータが全体の0.64%(=1.6%×0.4)登録される。同様に、「鈴木」は全体の0.98%(=1.4%×0.7)が、「高橋」は全体の0.24%(=1.2%×0.2)が登録される。したがって、各データ管理装置20への登録データの総量が均等であると仮定すると、データ管理装置20Aにおける名字の出現頻度分布は、「佐藤」1.28%、「鈴木」1.96%、「高橋」0.48%となり、本来と異なる分布になる。
 そのため、秘匿検索システム10が長期稼働するなどして、データ管理装置20がこれらの頻度(1.28%、1.96%、0.48%、・・・)を観測できたとしても、キーワードを正しく推測することができず、頻度分析攻撃に対する安全性が保たれる。なお、データ管理装置20Bに関しても、名字の出現頻度分布は「佐藤」1.92%、「鈴木」0.84%、「高橋」1.92%となり、頻度分析攻撃に対する安全性が保たれる。
 また、実施の形態1に係る秘匿検索システム10では、余計なデータが送受信されることがなく、通信のオーバーヘッドがない。
 また、実施の形態1に係る秘匿検索システム10では、キーワードの出現頻度分布が未知であっても安全性を実現できる。つまり、利用者が出現頻度分布を知らず、攻撃者のみ出現頻度分布を知っている状況でも安全性を実現できる。
 ***他の構成***
 <変形例1>
 実施の形態1では、暗号化キーワードの生成と、検索要求の生成とには、既存の秘匿検索技術を用いた。しかし、変形例1として、既存の秘匿検索技術に代えて、AESといった確定的暗号、又は、HMAC(Hash-based Message Authentication Code)といった鍵付ハッシュ関数を用いてもよい。
 AES又はHMACを用いて暗号化キーワードを確定的に生成する場合、登録先決定装置50がキーワードから登録先を決定する代わりに、暗号化キーワードから登録先を決定するようにしてもよい。これにより、登録先決定装置50が暗号化されていないデータ及びキーワードを扱う必要がなくなる。その結果、登録先決定装置50を登録装置30から独立させ、登録先決定装置50を登録者及び検索者以外の第三者が管理するシステム構成とすることも可能である。
 <変形例2>
 実施の形態1では、決定情報記憶部521には値毎に選択確率が記憶された。しかし、変形例2として、各値について、ある1つのデータ管理装置20に対する選択確率を1とし、他のデータ管理装置20に対する選択確率を0としてもよい。これにより、特定の値は、必ず特定のデータ管理装置20に記憶されることになる。検索装置40にも、この選択確率を記憶させておけば、データ検索処理で、検索装置40が検索要求を送信する先のデータ管理装置20を、限定することができる。
 <変形例3>
 実施の形態1では、1つのデータ種別について出現頻度分布を撹乱する場合を説明した。しかし、変形例3として、複数のデータ種別について出現頻度分布を撹乱してもよい。例えば、実施の形態1では、名字についてのみ出現頻度分布を撹乱したが、名字と性別とについて出現頻度分布を撹乱してもよい。
 複数のデータ種別について出現頻度分布を撹乱する場合、図14に示すように、決定情報記憶部521に、データ種別毎に選択確率を記憶しておく必要がある。その上で、登録先決定部511は、出現頻度分布を撹乱する対象のデータ種別をランダムに選択して、選択されたデータ種別についての選択確率に基づき登録先を決定すればよい。図14に示す選択確率が決定情報記憶部521に記憶されている場合、例えば、登録先決定部511は、名字と性別とを確率0.5ずつでランダムに選択する。
 <変形例4>
 実施の形態1では、データ記憶部221に暗号化データと暗号化キーワードとが一元的に記憶された。しかし、変形例4として、データIDを介在させる等して、暗号化データと暗号化キーワードとを関連付けておき、暗号化データと暗号化キーワードと別々に記憶してもよい。特に、暗号化データと暗号化キーワードとを別の装置に記憶してもよい。
 <変形例5>
 実施の形態1では、登録装置30と検索装置40とを別々の装置とした。しかし、変形例5として、情報検索者のみが情報登録可能であるような場合には、登録装置30と検索装置40とを1つの装置にまとめてもよい。この場合、暗号化キーワード生成用の暗号鍵及び暗号化データ生成用の暗号鍵を外部に公開する必要がなくなるため、攻撃者に余分な情報を与えることなく秘匿検索システムを運用することができる。
 <変形例6>
 実施の形態1では、登録装置30の暗号鍵記憶部321、及び、検索装置40の検索鍵記憶部421に暗号鍵を記憶した。しかし、変形例6として、暗号鍵を必要時に外部から取得するようにしてもよい。例えば、暗号鍵をICカードから取得してもよいし、パスワードあるいは生体情報から暗号鍵を自動生成してもよい。
 <変形例7>
 実施の形態1では、登録装置30及び検索装置40を1台だけ利用した。しかし、変形例7として、複数の登録装置30及び複数の検索装置40を利用して、データの登録及び検索をそれぞれが実行できるようにしてもよい。この場合、複数の検索装置40間でトラップドア生成用の暗号鍵を共有することで、異なる装置からでも同じ検索結果を得ることが可能となる。一方で、同じ検索キーワードでも、装置毎に検索結果を変えたい場合は、トラップドア生成用の暗号鍵を装置毎に変えればよい。
 <変形例8>
 実施の形態1では、データ管理装置20と登録装置30と検索装置40と登録先決定装置50との各装置の各部の機能がソフトウェアで実現された。変形例8として、各装置の各部の機能はハードウェアで実現されてもよい。この変形例8について、実施の形態1と異なる点を説明する。
 図15から図18を参照して、変形例8に係る各装置の構成を説明する。
 各部の機能がハードウェアで実現される場合、各装置は、プロセッサ21,31,41,51と記憶装置22,32,42,52とに代えて、処理回路24,34,44,54を備える。処理回路24,34,44,54は、各装置の各部の機能と、記憶装置22の機能とを実現する専用の電子回路である。
 処理回路24,34,44,54は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)が想定される。
 各装置は、処理回路24,34,44,54を代替する複数の処理回路を備えていてもよい。これら複数の処理回路により、全体として各部の機能が実現される。それぞれの処理回路は、処理回路24,34,44,54と同じように、専用の電子回路である。
 <変形例9>
 変形例9として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、各装置の各部のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
 プロセッサ21,31,41,51と記憶装置22,32,42,52と処理回路24,34,44,54とを、総称して「プロセッシングサーキットリー」という。つまり、各部の機能は、プロセッシングサーキットリーにより実現される。
 <変形例10>
 実施の形態1では、各装置間の通信の保護には言及していない。しかし、変形例10として、TLS(Transport Layer Security)といった既存の暗号技術を利用して通信を保護してもよい。
 実施の形態2.
 実施の形態2は、出現頻度分布を撹乱したいデータ種別の値が指定された時点で選択確率を計算する点が実施の形態1と異なる。実施の形態2では、この異なる点を説明する。
 ***動作の説明***
 図19と、図11から図12とを参照して、実施の形態2に係る秘匿検索システム10の動作を説明する。
 実施の形態2に係る秘匿検索システム10の動作は、実施の形態2に係る秘匿検索方法に相当する。また、実施の形態2に係る秘匿検索システム10の動作は、実施の形態2に係る秘匿検索プログラムの処理に相当する。
 図19を参照して、実施の形態2に係る決定情報記憶部521に記憶されるデータについて説明する。
 決定情報記憶部521は、各値から選択確率を確定的に導出するための秘密情報を記憶する。具体例としては、決定情報記憶部521は、HMAC鍵を記憶する。値毎に異なる選択確率を確定的に導出できるなら、HMAC鍵以外の秘密情報を記憶してもよい。
 図11を参照して、実施の形態2に係る(1)初期設定処理について説明する。
 ステップS11からステップS14までの処理は、実施の形態1と同じである。
 (ステップS15:決定情報格納処理)
 登録先決定装置50の登録先決定部511は、選択確率を確定的に導出するための秘密情報を決定情報記憶部521に書き込む。実施の形態2では、登録先決定部511は、HMAC鍵を決定情報記憶部521に書き込む。
 図12を参照して、実施の形態2に係る(2)データ登録処理について説明する。
 ステップS22からステップS25までの処理は、実施の形態1と同じである。
 (ステップS21:登録先決定処理)
 登録先決定装置50の登録先決定部511は、出現頻度分布を撹乱したいキーワード、つまり値と、決定情報記憶部521に記憶された秘密情報とから、選択確率を計算する。そして、登録先決定部511は、計算された選択確率を参照して、登録先を決定する。
 実施の形態2では、登録先決定部511は、キーワードと、HMAC鍵とからハッシュ値を計算する。そして、登録先決定部511は、計算されたハッシュ値を、0以上1以下の値に正規化して得られた値を、データ管理装置20Aに対する選択確率とする。また、登録先決定部511は、データ管理装置20Aに対する選択確率を1から減じた値を、データ管理装置20Bに対する選択確率とする。
 ***実施の形態2の効果***
 以上のように、実施の形態2に係る秘匿検索システム10では、データを記憶する場合に選択確率が計算される。そのため、事前に各値に対する選択確率を準備しておく必要がない。
 データ登録時にキーワードを自由に設定できる場合と、キーワードの値が限定されている場合であっても、取り得る値が多岐にわたる場合等には、事前に各値に対する選択確率を準備しておくことが難しい。このような場合にも、実施の形態2に係る秘匿検索システム10では、安全な秘匿検索を実現することが可能である。
 また、実施の形態2に係る秘匿検索システム10では、決定情報記憶部521にはHMAC鍵といった秘密情報を記憶しておくだけでよい。そのため、決定情報記憶部521に記憶されるデータ量を少なくすることができる。
 ***他の構成***
 <変形例11>
 実施の形態2では、ステップS21でハッシュ値から選択確率が直接計算された。しかし、変形例11として、選択確率を確率的に計算する確率的アルゴリズムの乱数シードとしてハッシュ値が与えられ、ハッシュ値から確定的に選択確率が計算されてもよい。
 10 秘匿検索システム、20 データ管理装置、21 プロセッサ、22 記憶装置、23 通信インタフェース、24 処理回路、211 登録部、212 検索部、221 データ記憶部、30 登録装置、31 プロセッサ、32 記憶装置、33 通信インタフェース、34 処理回路、311 登録データ生成部、312 送信部、321 暗号鍵記憶部、322 登録先記憶部、40 検索装置、41 プロセッサ、42 記憶装置、43 通信インタフェース、44 処理回路、411 検索要求生成部、412 送信部、413 復号部、421 検索鍵記憶部、422 登録先記憶部、50 登録先決定装置、51 プロセッサ、52 記憶装置、53 通信インタフェース、54 処理回路、511 登録先決定部、521 決定情報記憶部、60 ネットワーク。

Claims (9)

  1.  登録データを構成するデータ種別を対象種別として、複数のデータ管理装置それぞれで管理される前記登録データの前記対象種別に設定された値の出現頻度分布が、前記複数のデータ管理装置で管理される前記登録データの前記対象種別に設定された値の出現頻度分布と異なるように、前記複数のデータ管理装置のうちどのデータ管理装置に前記登録データを管理させるかを決定する登録先決定部
    を備える登録先決定装置。
  2.  前記登録先決定部は、前記対象種別に設定された値毎に、異なる確率で各データ管理装置を選択することにより、どのデータ管理装置に前記登録データを管理させるかを決定する
    請求項1に記載の登録先決定装置。
  3.  前記登録先決定装置は、さらに、
     前記対象種別に設定された値毎に、前記複数のデータ管理装置それぞれを選択する選択確率を記憶した決定情報記憶部
    を備え、
     前記登録先決定部は、前記決定情報記憶部に記憶された選択確率に従い、データ管理装置を選択する
    請求項2に記載の登録先決定装置。
  4.  前記登録先決定部は、前記登録データと秘密情報とから前記複数のデータ管理装置それぞれを選択する選択確率を計算し、計算された選択確率に従い、データ管理装置を選択する
    請求項2に記載の登録先決定装置。
  5.  前記登録データは、秘匿検索用のキーワードである
    請求項1から4までのいずれか1項に記載の登録先決定装置。
  6.  請求項5に記載の登録先決定装置と、
     前記登録先決定装置により前記登録データを管理させると決定されたデータ管理装置に、前記登録データを送信する送信部と
    を備える登録装置。
  7.  請求項6に記載の登録装置と、
     前記複数のデータ管理装置と、
     前記複数のデータ管理装置に検索要求を送信して、送信された検索要求に対応するキーワードを特定させる検索装置と
    を備える秘匿検索システム。
  8.  コンピュータが、登録データを構成するデータ種別を対象種別として、複数のデータ管理装置それぞれで管理される前記登録データの前記対象種別に設定された値の出現頻度分布が、前記複数のデータ管理装置で管理される前記登録データの前記対象種別に設定された値の出現頻度分布と異なるように、前記複数のデータ管理装置のうちどのデータ管理装置に前記登録データを管理させるかを決定する登録先決定方法。
  9.  登録データを構成するデータ種別を対象種別として、複数のデータ管理装置それぞれで管理される前記登録データの前記対象種別に設定された値の出現頻度分布が、前記複数のデータ管理装置で管理される前記登録データの前記対象種別に設定された値の出現頻度分布と異なるように、前記複数のデータ管理装置のうちどのデータ管理装置に前記登録データを管理させるかを決定する登録先決定処理
    をコンピュータに実行させる登録先決定プログラム。
PCT/JP2016/065743 2016-05-27 2016-05-27 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム WO2017203698A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201680085947.4A CN109154970B (zh) 2016-05-27 2016-05-27 登记目的地决定装置、登记装置、隐匿检索系统、登记目的地决定方法和计算机可读的存储介质
US16/091,690 US10936757B2 (en) 2016-05-27 2016-05-27 Registration destination determination device, searchable encryption system, destination determination method, and computer readable medium
PCT/JP2016/065743 WO2017203698A1 (ja) 2016-05-27 2016-05-27 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム
JP2018518922A JP6381861B2 (ja) 2016-05-27 2016-05-27 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/065743 WO2017203698A1 (ja) 2016-05-27 2016-05-27 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム

Publications (1)

Publication Number Publication Date
WO2017203698A1 true WO2017203698A1 (ja) 2017-11-30

Family

ID=60411983

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/065743 WO2017203698A1 (ja) 2016-05-27 2016-05-27 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム

Country Status (4)

Country Link
US (1) US10936757B2 (ja)
JP (1) JP6381861B2 (ja)
CN (1) CN109154970B (ja)
WO (1) WO2017203698A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277388B2 (en) 2019-04-26 2022-03-15 Kabushiki Kaisha Yaskawa Denki Communication system, communication method, and information storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181546A (ja) * 2008-02-01 2009-08-13 Toshiba Corp コーディネータサーバ、データ割当方法及びプログラム
WO2012115031A1 (ja) * 2011-02-22 2012-08-30 三菱電機株式会社 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136851B2 (en) * 2004-05-14 2006-11-14 Microsoft Corporation Method and system for indexing and searching databases
JP3946243B2 (ja) * 2005-03-23 2007-07-18 株式会社Ihc 認証システム
CN101071478B (zh) * 2006-06-15 2010-12-15 腾讯科技(深圳)有限公司 一种好友分组管理方法
KR100859162B1 (ko) * 2007-10-16 2008-09-19 펜타시큐리티시스템 주식회사 암호화된 칼럼을 포함하는 데이터베이스에서의 쿼리의 암호화 변조를 통한 사용자 쿼리 처리 장치 및 방법
EP2513799B1 (en) * 2009-12-16 2014-03-12 Telefonaktiebolaget L M Ericsson (PUBL) A method, server and computer program for caching
US8909614B2 (en) * 2010-03-29 2014-12-09 Nec Corporation Data access location selecting system, method, and program
US8375030B2 (en) 2010-12-03 2013-02-12 Mitsubishi Electric Research Laboratories, Inc. Differentially private aggregate classifier for multiple databases
CN103403707B (zh) * 2010-12-28 2017-11-14 思杰系统有限公司 用于数据库代理请求交换的系统和方法
EP2665052B1 (en) * 2011-01-13 2018-08-15 Mitsubishi Electric Corporation Data processing device and data archiving device
JP5573859B2 (ja) * 2012-02-09 2014-08-20 コニカミノルタ株式会社 エアタグ情報登録装置、エアタグ情報登録システムおよびプログラム
JP5991155B2 (ja) 2012-11-13 2016-09-14 富士通株式会社 検索処理方法、データ生成方法及び情報処理装置
JP5983333B2 (ja) 2012-11-13 2016-08-31 富士通株式会社 検索処理方法、データ生成方法及び情報処理装置
JP5963936B2 (ja) * 2013-02-25 2016-08-03 三菱電機株式会社 サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム
US9646166B2 (en) * 2013-08-05 2017-05-09 International Business Machines Corporation Masking query data access pattern in encrypted data
JPWO2015063905A1 (ja) 2013-10-31 2017-03-09 株式会社日立製作所 データ分析システム
JP2015170057A (ja) 2014-03-05 2015-09-28 富士通株式会社 秘匿検索装置、秘匿検索方法および秘匿検索プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181546A (ja) * 2008-02-01 2009-08-13 Toshiba Corp コーディネータサーバ、データ割当方法及びプログラム
WO2012115031A1 (ja) * 2011-02-22 2012-08-30 三菱電機株式会社 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277388B2 (en) 2019-04-26 2022-03-15 Kabushiki Kaisha Yaskawa Denki Communication system, communication method, and information storage medium

Also Published As

Publication number Publication date
CN109154970A (zh) 2019-01-04
JP6381861B2 (ja) 2018-08-29
US10936757B2 (en) 2021-03-02
US20190163934A1 (en) 2019-05-30
CN109154970B (zh) 2021-07-20
JPWO2017203698A1 (ja) 2018-11-29

Similar Documents

Publication Publication Date Title
US10873450B2 (en) Cryptographic key generation for logically sharded data stores
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
JP5420085B2 (ja) データ処理装置及びデータ保管装置
US10235539B2 (en) Server device, recording medium, and concealed search system
US10361840B2 (en) Server apparatus, search system, terminal apparatus, search method, non-transitory computer readable medium storing server program, and non-transitory computer readable medium storing terminal program
US9122888B2 (en) System and method to create resilient site master-key for automated access
US10872158B2 (en) Secret search system, secret search method, and computer readable medium
JP6632780B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
CN114417073B (zh) 一种加密图的邻居节点查询方法及装置、电子设备
JP6289768B2 (ja) 暗号化装置、暗号化プログラム及び暗号化方法
AU2017440029A1 (en) Cryptographic key generation for logically sharded data stores
KR20120002729A (ko) 암호화 문서에 대한 다자간 검색 시스템 및 그 방법
JP6381861B2 (ja) 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム
JP6462968B1 (ja) データ管理装置、データ管理方法及びデータ管理プログラム
WO2017221308A1 (ja) データ管理装置、データ管理方法、データ管理プログラム、検索装置、検索方法及び検索プログラム
US20210288798A1 (en) Jigsaw key encryption/decryption

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018518922

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16903179

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16903179

Country of ref document: EP

Kind code of ref document: A1