Information processing terminal, data search system, data search method, and data search program

JP2025031445APending Publication Date: 2025-03-07HITACHI LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023196169
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-24
Filing Date
2023-11-17
Publication Date
2025-03-07

AI Technical Summary

Benefits of technology

【0011】 本発明によれば、厳格にアクセス制御された記憶領域を必要とせずに秘匿情報処理に用いる秘密鍵を保管できる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025031445000001_ABST
    Figure 2025031445000001_ABST
Patent Text Reader

Abstract

To store a private key used in a secure search process without requiring a storage area with strict access control.SOLUTION: A user terminal 103, which cooperates with a confidential search server 101 to execute confidential search processing, includes a biometric key extraction function unit 351 that extracts a biometric key 441 from user's biometric information, a key derivation function unit 410 that derives a first private key on the basis of the biometric key 441, an encryption unit (confidential search user key encryption / decryption function unit 360) that encrypts data related to the confidential search processing using the first private key, and a decryption unit (confidential search user key encryption / decryption function unit 360) that decrypts data related to the confidential search processing using the first private key.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing terminal, a data search system, a data search method, and a data search program. [Background technology]

[0002] With the recent improvement in computer capabilities and advances in information processing technology, data analysis, which obtains useful knowledge by collecting and analyzing data owned by multiple companies and individuals, has come to play an important role in the operation of society. However, data owned by multiple companies and individuals is often reluctant to be disclosed because it contains a large amount of sensitive information.

[0003] Therefore, confidential information processing technology is being researched and developed as a technology that can balance data utilization with confidentiality of individual pieces of information.

[0004] One of the confidential information processing technologies is the confidential search technology, which searches encrypted data without decrypting it. The confidential search technology is a technology that specializes in the basic search function of information processing, and is based on the premise that a device that owns data entrusts the storage of the data to a device of a data administrator, such as a cloud storage, and extracts and uses the necessary data as appropriate.

[0005] For example, Patent Document 1 discloses a method in which ciphertext data in which data (keywords) are encrypted using a random number and a ciphertext query in which a query (keyword) is encrypted using a different random number are input, and a match between the keywords is determined.

[0006] In addition, for example, in Patent Document 2, a key used for user authentication is stored in a subscriber identity module (SIM) of a mobile terminal, and further, masking processing is performed using biometric information to protect the key. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Patent No. 5412414 [Patent Document 2] JP 2016-103752 A Summary of the Invention [Problem to be solved by the invention]

[0008] However, the conventional technology disclosed in the above-mentioned Patent Document 1 does not disclose a method for storing keys used to encrypt data and queries. Also, the conventional technology disclosed in the above-mentioned Patent Document 2 requires a storage area with strict access control, such as a SIM.

[0009] The present invention has been made in consideration of the above circumstances, and has an object to store a private key used in confidential information processing without requiring a storage area with strict access control. [Means for solving the problem]

[0010] As one aspect for solving the above problem, an information processing terminal that performs secret information processing in cooperation with an information processing server is characterized in having a biometric key extraction unit that extracts a biometric key from a user's biometric information, a key derivation unit that derives a first secret key based on the biometric key, an encryption unit that encrypts data related to the secret information processing using the first secret key, and a decryption unit that decrypts data related to the secret information processing using the first secret key. Effect of the Invention

[0011] According to the present invention, a private key used in confidential information processing can be stored without requiring a storage area with strict access control. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a data search system according to a first embodiment. [Figure 2A] FIG. 2 is a diagram showing an example of the configuration of a confidential search server according to the first embodiment. [Figure 2B]FIG. 4 is a diagram showing an example of the configuration of a ciphertext entry according to the first embodiment. [Diagram 3] FIG. 2 is a diagram showing an example of the configuration of a user terminal according to the first embodiment. [Figure 4] FIG. 2 is a diagram showing an example of the arrangement of a key encryption key generation function unit according to the first embodiment. [Diagram 5] FIG. 4 is a diagram showing an example of the configuration of a confidential search user key encryption / decryption unit according to the first embodiment. [Figure 6] FIG. 2 is a diagram showing an example of the configuration of a confidential search client according to the first embodiment. [Figure 7] FIG. 4 is a sequence diagram showing a user registration process according to the first embodiment. [Figure 8] FIG. 4 is a sequence diagram showing a data registration process according to the first embodiment. [Figure 9] FIG. 4 is a sequence diagram showing a data search process according to the first embodiment. [Figure 10] FIG. 4 is a sequence diagram showing a biometric authentication process and a data search process according to the first embodiment. [Figure 11] FIG. 2 is a diagram for explaining an outline of a key update process for a ciphertext entry according to the first embodiment. [Figure 12] FIG. 4 is a sequence diagram showing a ciphertext entry key update process according to the first embodiment. [Figure 13] FIG. 13 is a diagram showing an example of the configuration of a data search system according to a second embodiment. [Figure 14A] FIG. 11 is a diagram showing an example of the arrangement of a private data storage according to the second embodiment. [Figure 14B] FIG. 11 is a diagram showing an example of the configuration of a private data entry according to the second embodiment. [Figure 15] FIG. 11 is a sequence diagram showing a user registration process according to the second embodiment. [Figure 16] FIG. 11 is a sequence diagram showing a data registration process according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. Note that the embodiments described below do not limit the invention according to the claims, and all of the elements and combinations thereof described in the embodiments are not necessarily essential to the solution of the invention.

[0014] In the following description, a program realizing each processing function unit is executed by a computer processor to perform a predetermined process using a storage resource (e.g., a memory) and / or a communication interface device (e.g., a port) as appropriate. The processor is, for example, a CPU (Central Processing Unit). Therefore, the process executed by each processing function unit may be a process performed by a processor or a computer having the processor.

[0015] In the following description, identical or similar components are given the same reference numerals, and in the following embodiments and examples, the description may be omitted or only the differences may be described. In addition, when there are multiple identical or similar components, they may be described with different subscripts added to the same reference numerals. In addition, when it is not necessary to distinguish between these multiple components, the subscripts may be omitted. The number of each component may be singular or plural unless otherwise specified.

[0016] In the following embodiment, a confidential search system based on a common key cryptography is disclosed. A method for realizing a confidential search can be, for example, the method described in Patent Document 1. In addition, the technology for storing a key for concealing data in a confidential search process that executes a search process while keeping information confidential as disclosed in the present application can be widely applied to an information processing terminal and an information processing system that execute confidential information processing in cooperation with other devices.

[0017] [Embodiment 1] (Configuration of data search system S according to embodiment 1) FIG. 1 is a diagram showing an example of the configuration of a data search system S according to the first embodiment.

[0018] The data search system S includes a confidential search server 101, one or more user terminals (information processing terminals) 103 owned by one or more users 102, and a biosensor 104 connected to the user terminal 103. The confidential search server 101 and the user terminal 103 communicate with each other via a network 105. The confidential search server 101 is an example of an information processing server.

[0019] The biometric sensor 104 is a device for reading biometric information such as a fingerprint, finger vein, or iris of the user 102. In the configuration of the data search system S, one user terminal 103 may be shared by a plurality of users 102.

[0020] (Configuration of the confidential search server 101 according to the first embodiment) FIG. 2A is a diagram showing an example of the configuration of the confidential search server 101 according to the first embodiment.

[0021] The confidential search server 101 includes, as functions for executing a confidential search, a network IF (Interface) 210 that communicates with other devices via the network 105, a ciphertext database 220, and a ciphertext search function unit 230. The ciphertext search function unit 230 is an example of a ciphertext search unit.

[0022] The confidential search server 101 also includes a user authentication server function unit 240 and a second storage (second storage unit) 250 that stores user authentication verification data 251 as functions for executing user authentication.

[0023] 2A, the second storage 250 and the ciphertext database 220 are separate devices, but in terms of hardware, they may be a single storage device. The ciphertext database 220 stores a plurality of entries (ciphertext entries 221).

[0024] (Configuration of Ciphertext Entry 221 According to the First Embodiment) FIG. 2B is a diagram showing an example of the configuration of the ciphertext entry 221 according to the first embodiment.

[0025] The ciphertext entry 221 includes a user ID 222 representing the user 102, one or more ciphertext keywords 223 obtained by encrypting a keyword used for a search, and a ciphertext payload 224 obtained by encrypting the data itself. When it is desired to conceal the association between the ciphertext entry 221 and the user 102, the user ID 222 may be excluded. The ciphertext payload 224 is an example of main data. The ciphertext entry 221 is an example of encrypted data.

[0026] (Configuration of the user terminal 103 according to the first embodiment) FIG. 3 is a diagram showing an example of the configuration of the user terminal 103 according to the first embodiment.

[0027] The user terminal 103 includes a CPU (Central Processing Unit), a memory, a network IF 310 for communicating with other devices via a network 105, a first storage (first memory unit) 320 for storing data, and a peripheral device IF 330 for communicating with the biosensor 104. The user terminal 103 also includes a confidential search client processing unit 340, a key encryption key generation function unit 350, and a confidential search user key encryption / decryption function unit 360. The confidential search client processing unit 340 is an example of a confidential information client processing unit.

[0028] The key encryption key generation function unit 350 includes a biometric signature function unit 351 that extracts a biometric key (a uniform random fixed-length bit string) from fluctuating biometric information having a certain level of entropy and issues a signature.

[0029] The first storage 320 stores a confidential search user key 321 used by the confidential search client processing unit 340 in an encrypted state (encrypted user key 322). The first storage 320 also stores a biometric authentication template 323 used by the biometric signature function unit 351.

[0030] The confidential search client processing unit 340 encrypts the data and registers it in the confidential search server 101. In addition, the confidential search client processing unit 340 encrypts the search query using the confidential search user key 321 and searches the ciphertext entry 221 registered in the confidential search server 101.

[0031] Moreover, the confidential search user key encryption / decryption function unit 360 executes encryption and decryption processing of the confidential search user key 321. The confidential search user key encryption / decryption function unit 360 is an example of a key encryption / decryption unit including an encryption unit and a decryption unit.

[0032] The biometric sensor 104 may be built into the user terminal 103, and in this case may directly exchange data with the biometric signature function unit 351. For example, a typical smartphone has a built-in camera and a fingerprint sensor.

[0033] (Configuration of the key encryption key generation function unit 350 according to the first embodiment) FIG. 4 is a diagram showing an example of the configuration of the key encryption key generation function unit 350 according to the first embodiment.

[0034] The key encryption key generation function unit 350 includes a biometric signature function unit 351 and a key derivation function unit 410. The biometric signature function unit 351 includes a biometric key extraction function unit 421 and a signature generation function unit 422. The biometric key extraction function unit 421 extracts a biometric key 441, which is a unique value corresponding to the biometric information 431, from the biometric information 431 acquired by the biometric sensor 104 and the biometric authentication template 323 stored in the first storage 320. The biometric key extraction function unit 421 is an example of a biometric key extraction unit. The method of extracting the biometric key 441 from the biometric information 431 can be, for example, the method disclosed in Japanese Patent No. 5707311.

[0035] The key derivation function unit 410 receives as input the biometric key 441 and a first request 451 including key accompanying information received from the confidential search user key encryption / decryption function unit 360, and outputs a key encryption key 461. The key derivation function unit 410 may be configured from a cryptographic function such as a hash function such as SHA-2 or a block cipher such as AES. The key derivation function unit 410 is an example of a key derivation unit. The key encryption key 461 is an example of a first secret key.

[0036] (Configuration of the confidential search user key encryption / decryption function unit 360) FIG. 5 is a diagram showing an example of the configuration of the confidential search user key encryption / decryption function unit 360 according to the first embodiment.

[0037] The confidential search user key encryption / decryption function unit 360 includes a key encryption function unit 511 and a key decryption function unit 512. The confidential search user key encryption / decryption function unit 360 transmits a second request 521 including the key accompanying information received from the confidential search client processing unit 340 to the key encryption key generation function unit 350 and receives the key encryption key 461.

[0038] Moreover, the confidential search user key encryption / decryption function unit 360 calls the key encryption function unit 511, and encrypts the confidential search user key 321 received from the confidential search client processing unit 340 with the key encryption key 461 received from the key encryption key generation function unit 350. The confidential search user key encryption / decryption function unit 360 stores the encrypted confidential search user key 321 in the first storage 320. The confidential search user key 321 is an example of a second secret key.

[0039] In addition, the confidential search user key encryption / decryption function unit 360 calls the key decryption function unit 512, decrypts the encrypted confidential search user key 321 stored in the first storage 320 with the key encryption key 461, and transmits it to the confidential search client processing unit 340.

[0040] Here, the encryption method for encrypting the confidential search user key 321 may be a general common key encryption method such as AES. Also, a mode of operation specialized for key encryption such as AES-keyrap may be used.

[0041] The confidential search user key encryption / decryption function unit 360 may have a random number generation function unit 513 in addition to the key encryption function unit 511 and the key decryption function unit 512. A random number generated by the random number generation function unit 513 may be added to key-associated information included in a second request 521 that requests the key encryption key generation function unit 350 to generate a key. This random number is input to the key derivation function unit 410, and is also necessary information for decrypting the key encryption key 461. Therefore, this random number is stored in the first storage 320 by attaching it to the biometric authentication template 323 or the encrypted user key 322. By including key-associated information or key-associated information including a random number in the second request 521, multiple different private keys can be derived from one biometric key, and the confidentiality of the private key can be improved and different private keys can be used.

[0042] (Configuration of the confidential search client processing unit 340 according to the first embodiment) FIG. 6 is a diagram illustrating an example of the configuration of the confidential search client processing unit 340 according to the first embodiment.

[0043] The confidential search client processing unit 340 includes a ciphertext query generation function unit 641, a ciphertext entry generation function unit 642, a ciphertext response decryption function unit 643, and a user key generation function unit 644 as functions for executing a confidential search.

[0044] Moreover, the confidential search client processing unit 340 is configured to include a user authentication client function unit 645 as a function for executing user authentication required by the server. The user key generation function unit 644 is a function for generating a confidential search user key 321 associated with a user at the time of user registration. The generated confidential search user key 321 is encrypted by a key encryption key generation function unit 350 and stored in the first storage 320. The user key generation function unit 644 is an example of a user key generation unit. The user authentication client function unit 645 is an example of a user authentication unit.

[0045] If necessary, the confidential search client processing unit 340 reads the confidential search user key 321. The plaintext entry 611 is composed of a payload and a keyword associated with the payload.

[0046] The ciphertext entry generation function unit 642 encrypts the plaintext entry 611 input by the user 102 with the confidential search user key 321, and outputs the ciphertext entry 221. The ciphertext entry generation function unit 642 is an example of a ciphertext entry generation unit. The plaintext query 612 is composed of one or more search keywords. The plaintext query 612 is an example of plaintext data.

[0047] The ciphertext query generation function unit 641 encrypts the plaintext query 612 input by the user 102 with the confidential search user key 321, and outputs the ciphertext query 622. The ciphertext query generation function unit 641 is an example of a ciphertext query generation unit. The ciphertext query 622 is an example of encrypted data.

[0048] The ciphertext response decryption function unit 643 decrypts the ciphertext response 623 of the confidential search server 101 in response to the ciphertext query 622, and outputs a plaintext response 613. The ciphertext response decryption function unit 643 is an example of a ciphertext response decryption unit. The ciphertext response 623 is an example of encrypted response data. The plaintext response 613 is an example of plaintext response data.

[0049] The ciphertext entry generation function unit 642 encrypts the keyword using an encryption method that allows a match determination while the keyword is encrypted, as described in Patent Document 1. Similarly, the ciphertext query generation function unit 641 encrypts the keyword using an encryption method that allows a match determination while the keyword is encrypted. The method for encrypting the plaintext payload may be a general data encryption method such as AES-CBC.

[0050] In this embodiment, the user 102 who owns the user terminal 103 inputs the plaintext entry 611 and the plaintext query 612, but these input data may be automatically input by a preset command or script. Also, the keyword included in the plaintext entry 611 may not be input by the user 102, but the confidential search client may analyze the payload and automatically generate one or more keywords.

[0051] In addition, in this embodiment, the confidential search user key 321 is used for both the encryption of the keyword and the encryption of the payload, but the keys used for the keyword and the payload may be different values ​​by inputting the confidential search user key 321 and the purpose of the key into the key derivation function.

[0052] (User registration process according to the first embodiment) Fig. 7 is a sequence diagram showing user registration processing according to embodiment 1. Fig. 7 is a message sequence chart showing the procedure of a protocol in which the user 102 executes user registration in the confidential search server 101 in this embodiment.

[0053] First, in steps S101 to S102, the confidential search client processing unit 340 transmits a user registration request signal to the confidential search server 101. When the confidential search server 101 receives the user registration request signal, it returns a user registration response signal to the confidential search client processing unit 340 and starts the user registration process.

[0054] Next, in steps S103 to S104, the confidential search client processing unit 340 calls the user key generation function unit 644 to generate the confidential search user key 321, and transmits it together with key-accompanying information such as a user ID to the confidential search user key encryption / decryption function unit 360. The key-accompanying information may include not only information on the user 102 or the user terminal 103, but also information on the service to be used, the confidential search server 101, or a random number.

[0055] Next, in step S107, upon receiving the data in step S104, the confidential search user key encryption / decryption function unit 360 transmits the key accompanying information to the key encryption key generation function unit 350.

[0056] Next, in steps S108 to S110, upon receiving the key accompanying information, the key encryption key generation function unit 350 transmits a biometric information acquisition request to the biometric sensor 104 and acquires the biometric information 431 of the user 102.

[0057] Next, in steps S111 to S113, the key encryption key generation function unit 350 extracts the biometric key 441 from the acquired biometric information 431, and inputs it together with the key accompanying information to the key derivation function unit 410 to generate a key encryption key 461. The key encryption key generation function unit 350 transmits the generated key encryption key 461 to the confidential search user key encryption / decryption function unit 360.

[0058] Next, in step S114, the confidential search user key encryption / decryption function unit 360 encrypts the confidential search user key 321 received in step S104 with the key encryption key 461 received in step S113, and writes the encrypted confidential search user key 321 to the first storage 320.

[0059] On the other hand, in step S105, the user authentication client function unit 645 outputs user authentication verification data.

[0060] Next, in step S106, the confidential search client processing unit 340 transmits to the confidential search server 101 the user information and the user authentication verification data generated in step S105.

[0061] Then, the confidential search server 101 writes the received user information and user authentication verification data into the second storage 250.

[0062] The user authentication verification data generated in step S105 may be generated using a message authentication code generation algorithm such as HMAC from information linked to the user's memory, such as a password entered by the user 102 from the user terminal 103. Alternatively, it may be generated from information stored in a smart card held by the user himself or from biometric information.

[0063] (Data registration process according to the first embodiment) Fig. 8 is a sequence diagram showing data registration processing according to embodiment 1. Fig. 8 is a message sequence chart showing the procedure of a protocol for the user 102 to register data in the confidential search server 101 in this embodiment.

[0064] After exchanging protocol start request / response signals similar to those in steps S101 and S102 (FIG. 7), first, in step S121, the confidential search server 101 transmits a user authentication request to the confidential search client processing unit 340.

[0065] Next, in step S122, when the confidential search client processing unit 340 receives the user authentication request, it calls the user authentication client function unit 645 to generate user authentication verification data. Next, in step S123, the confidential search client processing unit 340 transmits the generated user authentication verification data to the confidential search server 101 as a user authentication response.

[0066] Next, in step S124, when the confidential search server 101 receives the user authentication response, it calls the user authentication server function unit 240 and executes user authentication processing. If the user authentication is successful, the confidential search server 101 and the confidential search client processing unit 340 execute steps S125 and onward. If the user authentication is unsuccessful, the data registration processing is terminated.

[0067] In step S125, the confidential search client processing unit 340 transmits a confidential search user key decryption request including the key accompanying information to the confidential search user key encryption / decryption function.

[0068] Next, in step S126 , the confidential search user key encryption / decryption function unit 360 transmits the key accompanying information included in the received request to the key encryption key generation function unit 350 .

[0069] Next, in step S127, the key encryption key generation function unit 350 transmits a biometric information acquisition request to the biometric sensor 104. Next, in step S128, the biometric sensor 104 acquires the biometric information 431 of the user 102 in response to the biometric information acquisition request. Next, in step S129, the biometric sensor 104 transmits the acquired biometric information 431 to the key encryption key generation function unit 350.

[0070] Next, in step S130, the key encryption key generation function unit 350 extracts the biometric key 441 from the acquired biometric information 431. Next, in step S131, the key encryption key generation function unit 350 inputs the biometric key 441 together with the key accompanying information to the key derivation function unit 410 to restore the key encryption key 461. Next, in step S132, the key encryption key generation function unit 350 transmits the generated key encryption key 461 to the confidential search user key encryption / decryption function unit 360.

[0071] Next, in step S133, upon receiving the key encryption key 461, the confidential search user key encryption / decryption function unit 360 reads out the encrypted user key 322 stored in the first storage 320, decrypts it with the key encryption key 461, and extracts the confidential search user key 321. Next, in step S134, the confidential search user key encryption / decryption function unit 360 transmits the extracted confidential search user key 321 to the confidential search client processing unit 340.

[0072] Next, in step S135, the confidential search client processing unit 340 calls the ciphertext entry generation function unit 642 and encrypts the plaintext entry 611 input by the user 102 with the received confidential search user key 321. Next, in step S136, the confidential search client processing unit 340 transmits the generated ciphertext entry to the confidential search server 101.

[0073] Next, in step S137 , the confidential search server 101 registers the received ciphertext entry 221 in the ciphertext database 220 .

[0074] (Data Search Process According to the First Embodiment) Fig. 9 is a sequence diagram showing a data search process according to embodiment 1. Fig. 9 is a message sequence chart showing the procedure of a protocol in which the user 102 registers data in the confidential search server 101 in this embodiment.

[0075] First, the confidential search server 101 and the confidential search client processing unit 340 execute user authentication (steps S131 to S132) in the same procedure as steps S121 to S123 of the data registration process (FIG. 8). If the user authentication is successful, the confidential search server 101 and the confidential search client processing unit 340 execute steps S134 and onward. If the user authentication is unsuccessful, the data search process is terminated.

[0076] Next, the confidential search client processing unit 340 decrypts the confidential search user key 321 in the same procedure as steps S124 to S133 of the data registration process (FIG. 8) (steps S134 to S142). Then, in step S143, the confidential search client processing unit 340 transmits the user key decrypted in step S142 to the confidential search client processing unit 340. Then, the confidential search client repeats step S144 and subsequent steps as many times as necessary.

[0077] In step S144, the confidential search client processing unit 340 calls the ciphertext query generation function unit 641 and encrypts the plaintext query 612 input by the user 102 with the confidential search user key 321. Next, in step S145, the confidential search client processing unit 340 transmits the ciphertext query 622 encrypted in step S144 to the confidential search server 101.

[0078] Next, in step S146, the confidential search server 101 inputs the ciphertext entry 221 and the ciphertext query 622 stored in the ciphertext database 220 to the ciphertext search function. Here, the ciphertext search function unit 230 inputs the ciphertext keyword 223 included in the ciphertext entry and the ciphertext query 622, determines whether the keywords match, and outputs the processing result. In step S147, the confidential search server 101 transmits the processing result, which summarizes the ciphertext entries 221 for which the ciphertext search function unit 230 has output "match", to the confidential search client processing unit 340 as a ciphertext response.

[0079] Next, in step S148, the confidential search client processing unit 340 decrypts the received ciphertext response and outputs a plaintext response.

[0080] (Biometric authentication processing + data search processing according to embodiment 1) Fig. 10 is a sequence diagram showing the biometric authentication process+data search process according to embodiment 1. Fig. 10 is a message sequence chart showing the procedure for generating authentication verification data and a user authentication response from the biometric information 431 acquired in step S137 of the data search certificate process in Fig. 9. This makes it possible to perform user authentication and decrypt the confidential search user key 321 with one biometric authentication without inputting both user authentication and biometric information when executing a search.

[0081] In the user registration process in FIG. 7 and the data registration process in FIG. 8, similarly to the data search process, user authentication and decryption of the confidential search user key 321 may be performed in one biometric authentication.

[0082] First, the confidential search server 101 and the confidential search client processing unit 340 exchange protocol start request / response signals in the same procedure as steps S101 to S102 of the user registration process (FIG. 7).

[0083] Next, in step S141, the confidential search server 101 transmits a user authentication challenge (random number) to the confidential search client processing unit 340.

[0084] Next, in step S142, the confidential search client processing unit 340 transmits a confidential search user key decryption request including the key accompanying information and the authentication challenge to the confidential search user key encryption / decryption function unit 360.

[0085] Next, in step S143, the confidential search user key encryption / decryption function unit 360 transmits the key accompanying information and the authentication challenge included in the received request to the key encryption key generation function unit 350.

[0086] Next, in step S144, upon receiving the key associated information and the authentication challenge, the key encryption key generation function unit 350 transmits a biometric information acquisition request to the biometric sensor 104. Next, in step S145, the biometric sensor 104 acquires the biometric information 431 of the user 102 in response to the biometric information acquisition request. Next, in step S146, the biometric sensor 104 transmits the acquired biometric information 431 to the key encryption key generation function unit 350.

[0087] Next, in step S147, the key encryption key generation function unit 350 extracts the biometric key 441 from the received biometric information 431. Next, in step S148, the biometric signature function unit 351 of the key encryption key generation function unit 350 inputs the biometric key 441 and the authentication challenge to the signature generation function unit 422 to obtain an authentication response by signing the challenge. Next, in step S149, the key encryption key generation function unit 350 transmits the authentication response to the confidential search client processing unit 340. Next, in step S150, the confidential search client processing unit 340 transfers the authentication response to the confidential search server 101.

[0088] Next, in step S151, the confidential search server 101 verifies the authentication response. If the user authentication is successful, the confidential search server 101 and the confidential search client processing unit 340 execute steps S152 and after. If the user authentication is unsuccessful, the confidential search server 101 and the confidential search client processing unit 340 end the biometric authentication process+data search process.

[0089] In step S152, the key encryption key generation function unit 350 inputs the biometric key 441 obtained in step S147 together with the key accompanying information to the key derivation function unit 410 to restore the key encryption key 461. Next, in step S153, the key encryption key generation function unit 350 transmits the generated key encryption key 461 to the confidential search user key encryption / decryption function unit 360.

[0090] Next, in step S154, the confidential search user key encryption / decryption function unit 360 acquires the confidential search user key 321. Next, in step S155, the confidential search user key encryption / decryption function unit 360 transmits the acquired confidential search user key 321 to the confidential search client processing unit 340.

[0091] Next, in steps S156 to S159, the confidential search client processing unit 340 and the confidential search server 101 execute a search process on the ciphertext database 220 in the same manner as in steps S145 to S148 of the data search process (FIG. 9).

[0092] Now, in order to create a secure encryption system, a mechanism for setting a new key (key update) is essential as a measure in the event that the key is leaked. In the confidential search system, only the ciphertext entries 221 are stored in the confidential search server 101, and the decryption process is performed by the user terminal 103. That is, in the second embodiment, when updating the key, all the ciphertext entries 221 are downloaded to the user terminal 103, decrypted with the old confidential search user key, re-encrypted with the newly generated confidential search user key, and transmitted to the confidential search server 101. This enhances the security of the key information of the ciphertext entries.

[0093] (Outline of Key Update Processing of Ciphertext Entry According to the First Embodiment) FIG. 11 is a diagram for explaining an outline of the key update process of the ciphertext entry according to the first embodiment.

[0094] In this embodiment, the confidential search user key 321 is divided into a fixed user key 1101 and a key updating user key 1_1102.

[0095] During key updating, the user terminal 103 (confidential search client processing unit 340) updates only the key updating user key 1_1102. On the other hand, the confidential search server 101 executes re-encryption without decrypting the encrypted data.

[0096] In this embodiment, in the user key generation (step S103 (FIG. 7)), in addition to the fixed user key 1101, a key updating user key 1_1102 and a mask key 1103 are generated. The key updating user key 1_1102 and the mask key 1103 are stored in the user terminal 103 together with the fixed user key 1101 in an encrypted state.

[0097] In addition, a differential key 1 _ 1105 obtained by inputting the key updating user key 1 _ 1102 to a key stream generator 1104 and taking the exclusive OR of the key stream obtained and a mask key 1103 is registered in the confidential search server 101 .

[0098] Since the differential key 1_1105 is kept secret by the mask key 1103, even if it is sent to the confidential search server 101, the values ​​of the fixed user key 1101, the key updating user key 1_1102, and the plaintext 1106 are not leaked.

[0099] In entry encryption S135B, the output of entry encryption (step S135) similar to that of embodiment 1 is exclusive-ORed with the key stream obtained by inputting the key update user key 1_1102 to the key stream generator 1104 to obtain ciphertext 1_1107, which is stored in the confidential search server 101.

[0100] When updating the differential key, the user terminal 103 generates a user key 2_1112 for key update, and transmits the differential key 2_1115 obtained by performing an exclusive OR with the mask key 1103 to the confidential search server 101.

[0101] The confidential search server 101 performs an exclusive OR operation on the differential key 1_1105 and the differential key 2_1115, performs an exclusive OR operation on the ciphertext 1_1107, and outputs the ciphertext 2_1117.

[0102] As a result, the ciphertext 2_1117 can be searched for using the fixed user key 1101. Also, to decrypt the ciphertext 2_1117, the fixed user key 1101 and the key updating user key 1_1102 (or the key updating user key 2_1112 after the key updating) are required. Therefore, a secure search system that is resistant to key leakage can be configured.

[0103] (Ciphertext entry key update process according to the first embodiment) Fig. 12 is a sequence diagram showing a ciphertext entry key update process according to embodiment 1. Fig. 12 shows a protocol sequence for executing a key update in accordance with a key update request transmitted by the confidential search server 101.

[0104] First, in step S161, the confidential search client processing unit 340 performs user authentication on the confidential search server 101 in the same manner as in steps S131 to S134 in FIG.

[0105] Next, in step S162, the confidential search server 101 transmits a key update request to the confidential search client processing unit 340.

[0106] Next, in step S163, upon receiving the key update request from the confidential search server 101, the confidential search client processing unit 340 transmits the key update request and the key accompanying information to the confidential search user key encryption / decryption function unit 360.

[0107] Next, in step S164, the confidential search user key encryption / decryption function unit 360 acquires the key encryption key 461 in the same manner as in steps S136 to S142 in FIG.

[0108] Next, in step S165, the confidential search user key encryption / decryption function unit 360 decrypts the encrypted mask key 1103 and transmits it to the confidential search client processing unit 340.

[0109] Next, in step S167, the confidential search client processing unit 340 generates a key update user key 2_1112. Next, in step S168, the confidential search client processing unit 340 generates a differential key 2_1115 by using the mask key 1103. Next, in step S169, the confidential search client processing unit 340 transmits the differential key 2_1115 to the confidential search server 101.

[0110] Next, in step S170, the confidential search server 101 re-encrypts all ciphertext entries 1_1203 stored in the ciphertext database 220 (FIG. 2A) using the stored differential key 1_1105 and the received differential key 2_1115, and rewrites them with the ciphertext entries 2_1213. The confidential search server 101 also replaces the differential key 1_1105 with the differential key 2_1115.

[0111] On the other hand, in step S171, the confidential search client processing unit 340 transmits the generated key updating user key 2_1112 to the confidential search user key encryption / decryption function unit 360.

[0112] Next, in step S172, the confidential search user key encryption / decryption function unit 360 encrypts the received key updating user key 2_1112 with the key encryption key 461, and stores it in a storage (for example, the first storage 320).

[0113] With the above configuration and processing procedure, the user terminal 103 can execute the procedure for updating the user key without pulling back data from the confidential search server 101.

[0114] The key update request may be sent from the confidential search client processing unit 340.

[0115] In this embodiment, the confidential search user key 321 is encrypted with the key encryption key 461 generated by the key encryption key generation function unit 350. On the other hand, it is possible to protect the confidential search user key 321 even in a configuration in which the key encryption key generation function unit 350 generates the confidential search user key 321. However, by adopting the configuration of this embodiment, it is possible to provide a method for safely storing the confidential search user key 321 without making a major change to the user key generation function unit 644 of the confidential search client processing unit 340.

[0116] According to this embodiment, a unique value (biometric key) extracted from biometric information is used to encrypt a private search user key used for encrypting data or a query for private search. More specifically, this embodiment has the following three features. 1. The confidential search client generates a user key and sends it to the key encryption function. 2. The key encryption key generation function unit generates a key encryption key from the biometric information. 3. The user key is encrypted with the key encryption key and stored in storage, and the key encryption key is discarded.

[0117] As a result, it is possible to store the user key used for the confidential search without using a storage area with strict access control like a SIM. In other words, the user key used for the confidential search cannot be restored only from the data stored in the storage of the user terminal. Therefore, even if an attacker reads the data stored in the storage due to the theft of the user terminal or other reasons, the user key cannot be decrypted, so the user key and the data to be searched for confidentiality are protected.

[0118] [Embodiment 2] The second embodiment will be described below, focusing on the differences from the first embodiment, and omitting descriptions of overlapping parts as appropriate.

[0119] FIG. 13 is a diagram showing an example of the configuration of a data search system S2 according to the second embodiment.

[0120] The data search system 2S is obtained by adding a private data storage (PDS: Private Data Storage) 1201 to the data search system S (FIG. 1) of the first embodiment. In the first embodiment, the user key and the like are stored in the storage of the user terminal 103, but in the second embodiment, an encrypted user key 322 and a biometric authentication template 323 are saved in the private data storage 1201. The biometric authentication template 323 is used for a biometric signature when extracting a biometric key 441 from biometric information 431.

[0121] When executing data registration or data search, the user terminal 103 downloads the encrypted user key 322 and biometric authentication template 323 stored in the private data storage 1201 and uses them.

[0122] In this embodiment, a biometric key 441 is extracted from the biometric information 431 and used. A digital signature (biometric signature) can be generated using this biometric key 441. Therefore, a challenge-and-response type authentication using a biometric signature may be performed as user authentication for the confidential search server 101. In this case, a biometric signature verification server 1201B for verifying the biometric signature is included in the system configuration. The private data storage 1201, the biometric signature verification server 1201B, and the confidential search server 101 may be realized as functions of separate information processing devices, or may be realized as functions of a single information processing device. In other words, the hardware and software configurations of the private data storage 1201, the biometric signature verification server 1201B, and the confidential search server 101 can be integrated or distributed as appropriate.

[0123] (Configuration of the private data storage 1102 according to the first embodiment) FIG. 14A is a diagram showing an example of the configuration of the private data storage 1102 according to the second embodiment.

[0124] The private data storage 1102 is connected to the network 105 via a network IF 1204, and includes a private database 1202. The private database 1202 stores a plurality of private data entries 1203.

[0125] (Configuration of the private data entry 1203 according to the second embodiment) FIG. 14B is a diagram showing an example of the configuration of the private data entry 1203 according to the second embodiment.

[0126] The private data entry 1203 is composed of a user ID 1211 representing the user 102, and a private data payload 1212 including the biometric authentication template 323 of the user 102 and the encrypted user key 322. Since the key encryption key 461 extracted from the biometric key 441 of the user 102 is required to decrypt the encrypted user key 322, security is not compromised even if the private data entry 1203 is stored in a place where it may be accessed by persons other than the user 102.

[0127] (User registration process according to the second embodiment) FIG. 15 is a sequence diagram showing a user registration process according to the second embodiment.

[0128] First, in step S201, the confidential search client processing unit 340 transmits a user registration request signal to the confidential search server 101. Next, in step S202, upon receiving the user registration request signal, the confidential search server 101 returns a user registration response signal to the confidential search client processing unit 340 and starts the user registration process.

[0129] Next, in step S203, the confidential search client processing unit 340 transmits information such as the user ID 1211 to the private data storage 1201. Next, in step S204, the private data storage 1201 transmits to the confidential search client processing unit 340 a private data entry 1203 including the biometric authentication template 323 of the user 102 corresponding to the received user ID 1211.

[0130] Next, in step S205, upon receiving the data of step S204, the confidential search client processing unit 340 generates the confidential search user key 321. Next, in step S206, the confidential search client processing unit 340 transmits the generated confidential search user key 321, the key accompanying information, and the biometric authentication template 323 to the confidential search user key encryption / decryption function unit 360. The key accompanying information may include not only information on the user 102 or the user terminal 103, but also information on the service to be used, the confidential search server 101, or a random number.

[0131] Next, in step S207, the confidential search user key encryption / decryption function unit 360 transmits the key accompanying information and the biometric authentication template 323 received from the confidential search client processing unit 340 to the key encryption key generation function unit 350.

[0132] Next, in step S208, upon receiving the key accompanying information and the biometric authentication template 323 from the confidential search user key encryption / decryption function unit 360, the key encryption key generation function unit 350 transmits a biometric information acquisition request to the biometric sensor 104. Next, in step S209, the biometric sensor 104 acquires the biometric information 431 of the user 102. Next, in step S210, the biometric sensor 104 transmits the acquired biometric information 431 to the key encryption key generation function unit 350.

[0133] Next, in step S211, the key encryption key generation function unit 350 extracts the biometric key 441 from the received biometric information 431. Next, in step S212, the key encryption key generation function unit 350 inputs the biometric key 441 together with the key accompanying information to the key derivation function unit 410 to generate a key encryption key 461. Next, in step S213, the key encryption key generation function unit 350 transmits the generated key encryption key 461 to the confidential search user key encryption / decryption function unit 360.

[0134] Next, in step S214, the confidential search user key encryption / decryption function unit 360 encrypts the confidential search user key 321 received in step S206 with the received key encryption key 461. Next, in step S215, the confidential search user key encryption / decryption function unit 360 transmits the encrypted confidential search user key 321 to the confidential search client processing unit 340.

[0135] Next, in step S216, the confidential search client processing unit 340 adds the received encrypted confidential search user key 321 to the private data payload 1212 of the private data entry 1203 to generate the private data entry 1203. Next, in step S217, the confidential search client processing unit 340 transmits the generated private data entry 1203 to the private data storage 1201.

[0136] Next, in step S218, the private data storage 1201 stores the received private data entry 1203 in the private database 1202. The private data storage 1201 transmits the encrypted user key 322 or the private data entry 1203 including the encrypted user key 322 in response to a request from the user terminal 103 or the confidential search client processing unit 340.

[0137] The encrypted user key 322 may be stored in the user terminal 103, not limited to the private data storage 1201. Alternatively, the encrypted user key 322 may be stored in the private data storage 1201 and also saved as cache data in the user terminal 103.

[0138] By the above procedure, it is possible to obtain the same effects as those of the first embodiment without storing the encrypted confidential search user key 321 or the biometric authentication template 323 in the user terminal 103.

[0139] (Data registration process according to the second embodiment) FIG. 16 is a sequence diagram showing the data registration process according to the second embodiment. In the data registration process according to the second embodiment, similarly to the user registration process of FIG. 15, the confidential search client processing unit 340 downloads the private data entry 1203 from the private data storage 1201 prior to data registration. The data registration process according to the second embodiment is different from the data registration process according to the first embodiment (FIG. 8) in that steps S125b and S126b are executed instead of steps S125 and S126, but otherwise is the same. That is, in step S125b, the encrypted user key 322 included in the private data entry 1203 downloaded in advance is further sent, as compared with step S125. In addition, in steps S125b and S126b, the biometric authentication template 323 included in the private data entry 1203 downloaded in advance is further sent, as compared with steps S125 and S126.

[0140] In addition, the data search process and user key update process in the second embodiment can be executed in the same manner as in the first embodiment by extracting the encrypted user key 322 and the biometric authentication template 323 from the received private data entry 1203 after executing steps S203 to S204 (FIG. 15) and passing them to the confidential search user key encryption / decryption function unit 360.

[0141] Although the embodiments of the present disclosure have been described above in detail, the present disclosure is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the present disclosure. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present disclosure is not necessarily limited to those having all of the configurations described. In addition, it is possible to add, delete, or replace part of the configuration of the above-described embodiments with other configurations.

[0142] Furthermore, the above-mentioned configurations, functional units, processing units, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. The above-mentioned configurations, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the program, table, file, etc. that realizes each function can be stored in a memory, a storage device such as an HDD or SSD, or a recording medium such as an IC card, an SD card, or a DVD.

[0143] In addition, in each of the above figures, the control lines and information lines are shown as those considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the actual implementation. For example, it may be considered that almost all the components are actually connected to each other.

[0144] The above-mentioned arrangement of the functions and data of the confidential search server 101 and the user terminal 103 is merely an example. The arrangement, integration, and distribution of the functions and data can be changed to an optimal form in terms of the performance of hardware and software, processing efficiency, communication efficiency, and the like. [Explanation of symbols]

[0145] S: Overall system 1, 101: Secure search server, 103: User terminal, 104: Biometric sensor, 220: Ciphertext database, 221: Ciphertext entry, 223: Ciphertext keyword, 224: Ciphertext payload, 230: Ciphertext search function unit, 240: User authentication server function unit, 250: Second storage, 320: First storage, 321: Secure search user key, 322: Encrypted user key, 323: Biometric authentication template, 340: Secure search client processing unit, 350: Key encryption key generation function unit, 351: Biometric signature function unit, 360: Secure search user user key encryption / decryption functional unit, 410: key derivation functional unit, 421: biometric key extraction functional unit, 422: signature generation functional unit, 431: biometric information, 441: biometric key, 461: key encryption key, 511: key encryption functional unit, 512: key decryption functional unit, 513: random number generation functional unit, 611: plaintext entry, 612: plaintext query, 613: plaintext response, 622: ciphertext query, 623: ciphertext response, 641: ciphertext query generation functional unit, 642: ciphertext entry generation functional unit, 643: ciphertext response decryption functional unit, 644: user key generation functional unit, 645: user authentication client functional unit.

Claims

1. An information processing terminal that executes confidential information processing in cooperation with an information processing server, a biometric key extraction unit that extracts a biometric key from biometric information of a user; a key derivation unit for deriving a first private key based on the biometric key; an encryption unit that encrypts data related to the secret information processing using the first secret key; a decryption unit that decrypts data related to the secret information processing using the first private key; An information processing terminal comprising:

2. 2. The information processing terminal according to claim 1, a key encryption / decryption unit including the encryption unit and the decryption unit; A confidential information client processing unit, The encryption unit of the key encryption / decryption unit encrypts a second private key using the first private key, The decryption unit of the key encryption / decryption unit decrypts the encrypted second private key by using the first private key, The secret information client processing unit includes: encrypting plaintext data to be transmitted to the information processing server using the second private key decrypted by the key encryption / decryption unit to generate encrypted data; decrypting, by using the second private key, encrypted response data that is a processing result of the secret information processing based on the encrypted data in the information processing server, to generate plaintext response data; The key encryption / decryption unit Each time the private information client processing unit generates the encrypted data and the plaintext response data, the second private key is decrypted using the first private key derived by the key derivation unit, based on the biometric key extracted by the biometric key extraction unit.

1. An information processing terminal comprising:

3. 2. The information processing terminal according to claim 1, The key derivation unit Deriving a plurality of the first private keys based on the biometric key and the key associated information.

1. An information processing terminal comprising:

4. A data search system in which the information processing terminal according to claim 2 and the information processing server are communicatively connected via a network, The secret information client processing unit includes: a ciphertext entry generating unit that generates a ciphertext entry by encrypting a plaintext entry including the main data and a keyword related to the main data, using the second secret key; a ciphertext query generation unit that generates a ciphertext query by encrypting a plaintext query including the keyword using the second secret key; a ciphertext response decryption unit that decrypts a ciphertext response sent from the information processing server in response to the ciphertext query by using the second private key, The information processing server has a ciphertext search unit, The ciphertext search unit performing a search process based on a comparison between the keyword included in the ciphertext entry generated by the ciphertext entry generation unit and the keyword included in the ciphertext query generated by the ciphertext query generation unit; A result of the search process is returned to the information processing terminal as the ciphertext response.

1. A data search system comprising:

5. 5. A data search system according to claim 4, the information processing terminal has a first storage unit, the secret information client processing unit has a key generating unit that generates the second secret key, The key encryption / decryption unit The second private key generated by the key generation unit is encrypted using the first private key derived by the key derivation unit, and the encrypted second private key is stored in the first storage unit.

1. A data search system comprising:

6. 6. A data search system according to claim 5, The key encryption / decryption unit decrypting the second private key stored in the first storage unit using the first private key derived by the key derivation unit; The ciphertext entry generation unit encrypting the plaintext entry using the second private key decrypted by the key encryption / decryption unit to generate the ciphertext entry and transmitting the ciphertext entry to the information processing server; The information processing server includes: The ciphertext entry received from the ciphertext entry generating unit is stored in a database included in the own device.

1. A data search system comprising:

7. 7. A data search system according to claim 6, The key encryption / decryption unit decrypting the second private key stored in the first storage unit using the first private key derived by the key derivation unit; The ciphertext query generation unit, encrypting the plaintext query using the second private key decrypted by the key encryption / decryption unit to generate the ciphertext query and transmitting the ciphertext query to the information processing server; The ciphertext search unit of the information processing server executing the search process based on a comparison between the keyword included in the ciphertext query received from the ciphertext query generation unit and the keyword included in the ciphertext entry stored in a second storage unit; responding to the information processing terminal with the ciphertext response based on the ciphertext entry including the keyword that matches the keyword included in the ciphertext entry as a result of the search process; The ciphertext response decryption unit of the information processing terminal, Decrypting the ciphertext response using the second private key.

1. A data search system comprising:

8. A data search system according to any one of claims 5 to 7, The information processing server includes: a user authentication unit that performs authentication of the user based on the biometric key extracted from the biometric information of the user; 1. A data search system comprising:

9. A data search system according to claim 6 or 7, the information processing terminal has a key stream generation function unit that generates and outputs a key stream for an input key; the first private key includes a third private key, a fourth private key, and a fifth private key; The ciphertext entry generation unit and the ciphertext query generation unit further using the third private key and the fourth private key in generating the ciphertext entries and the ciphertext queries; The information processing server includes: storing first key updating information obtained by taking an exclusive OR between a value output by the key stream generating function unit using the fourth private key as an input and the fifth private key; The information processing terminal includes: When updating the fourth private key, a second key updating information is obtained by inputting the new fourth private key and performing an exclusive OR between a value output by the key stream generation function unit and the fifth private key, and the second key updating information is transmitted to the information processing server; The information processing server includes: Updating the ciphertext entry based on the first key updating information and the second key updating information 1. A data search system comprising:

10. 10. A data search system according to claim 9, comprising: The key generation unit generates a new second private key, The key encryption / decryption unit The new second private key generated by the key generation unit is encrypted using the first private key, and the encrypted second private key is stored in the first storage unit.

1. A data search system comprising:

11. 5. A data search system according to claim 4, a storage connected to the information processing terminal via the network so as to be able to communicate with the information processing terminal; The storage includes: storing a biometric authentication template used for a biometric signature when extracting the biometric key from the biometric information; Transmitting the biometric authentication template to the information processing terminal in response to a request from the information processing terminal.

1. A data search system comprising:

12. A data search system according to claim 11, The storage includes: storing, for each user, the biometric authentication template and the second private key encrypted using the first private key in association with each other; In response to a request from the information processing terminal, the encrypted second private key is transmitted to the information processing terminal.

1. A data search system comprising:

13. A data search method executed by a data search system configured by connecting an information processing terminal and an information processing server via a network so as to be able to communicate with each other, comprising the steps of: The information processing terminal includes: a biometric key extraction unit that extracts a biometric key from biometric information of a user; a key derivation unit for deriving a first private key based on the biometric key; a confidential search client processing unit that encrypts a second private key by using the first private key and decrypts the second private key by using the first private key, The information processing server has a ciphertext search unit, The confidential search client processing unit, generating a ciphertext entry by encrypting a plaintext entry including the main data and a keyword related to the main data using the second secret key; generating a ciphertext query by encrypting a plaintext query including the keyword using the second private key; decrypting a ciphertext response sent from the information processing server in response to the ciphertext query using the second private key; The ciphertext search unit, performing a search process based on a comparison between the keyword included in the ciphertext entry and the keyword included in the ciphertext query; A result of the search process is returned to the information processing terminal as the ciphertext response. A data search method comprising each of the processes.

14. A data search program for causing a computer to execute a processing procedure relating to a data search, A first computer includes: a biometric key extraction step of extracting a biometric key from biometric information of a user; a key derivation step of deriving a first private key based on the biometric key; a confidential search client processing procedure for encrypting a second private key by using the first private key and decrypting the second private key by using the first private key; causing a second computer to execute a ciphertext search procedure; The confidential search client processing procedure includes: generating a ciphertext entry by encrypting a plaintext entry including the main data and a keyword related to the main data using the second secret key; generating a ciphertext query by encrypting a plaintext query including the keyword using the second private key; decrypting a ciphertext response sent from the second computer to the ciphertext query using the second private key; The ciphertext search step comprises: performing a search process based on a comparison between the keyword included in the ciphertext entry and the keyword included in the ciphertext query; A result of the search process is returned to the first computer as the ciphertext response. A data retrieval program characterized by including each process.

Citation Information

Patent Citations

  • Electronic currency private key encryption and decryption method and device

    CN113421071A

  • Retrievable encryption processing system

    JP2017044779A

  • Attribute information management system and attribute information management method

    JP2020067719A

  • Secure, efficient, and flexible searchable-encryption techniques

    US20210326456A1

  • Secret search system and secret search method

    WO2022153394A1