WO2020003821A1 - 情報処理システム、情報処理方法、および情報処理装置 - Google Patents
情報処理システム、情報処理方法、および情報処理装置 Download PDFInfo
- Publication number
- WO2020003821A1 WO2020003821A1 PCT/JP2019/020337 JP2019020337W WO2020003821A1 WO 2020003821 A1 WO2020003821 A1 WO 2020003821A1 JP 2019020337 W JP2019020337 W JP 2019020337W WO 2020003821 A1 WO2020003821 A1 WO 2020003821A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information processing
- user
- key
- hash value
- sharing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Definitions
- the present disclosure relates to an information processing system, an information processing method, and an information processing device.
- Patent Literature 1 discloses a technique for speeding up a search process for large-scale data in an information search using searchable encryption.
- the present disclosure proposes a new and improved information processing system, information processing method, and information processing apparatus capable of realizing a more secure information search corresponding to a multi-user.
- a first device that divides a user key of a sharing source user by a secret sharing process and generates a plurality of shared keys, and one of the plurality of shared keys generated by the first device.
- a second device that transmits a processing request related to the execution of a predetermined process using one of the plurality of shared keys generated by the first device, and a second device that receives the processing request from the second device.
- a third device that makes a determination based on a processing request, wherein the first device uses a shared key different from one of the generated shared keys by a sharing destination user.
- the third device respectively, and the second device transmits the received shared key and a hash value calculated by a homomorphic hash operation based on the input data to the third device,
- the third device is as described above.
- An information processing system is provided for comparing and determining whether to execute the predetermined process.
- the first device divides the user key of the sharing source user by secret sharing processing to generate a plurality of shared keys, and the second device Transmitting a processing request related to execution of a predetermined process using one of the plurality of shared keys generated, and allowing a third device to generate a plurality of shared keys generated by the first device; Performing a determination based on the processing request received from the second device and the first device, wherein the first device identifies the different shared keys among the generated plurality of shared keys, The distribution to the second device and the third device used by the sharing destination user, respectively, and the second device is calculated by a homomorphic hash operation based on the received shared key and input data.
- the third device calculates a hash value received by the homomorphic hash operation based on the hash value received from the second device and the shared key received from the first device, Comparing the hash value calculated by the homomorphic hash calculation based on the user key, and determining whether to execute the predetermined process.
- a secret sharing processing unit that divides a user key of a sharing source user by secret sharing processing and generates a plurality of shared keys, and shares a different shared key among a plurality of shared keys with each other.
- an information processing apparatus including: a terminal used by a destination user; and a communication unit that transmits the encrypted data to a server that stores the encrypted data.
- FIG. 5 is a diagram for describing a difference between an information processing method and a comparison method according to an embodiment of the present disclosure.
- FIG. 2 is a block diagram illustrating a configuration example of an information processing system according to the embodiment.
- FIG. 3 is a block diagram illustrating a functional configuration example of the information processing terminal according to the embodiment.
- FIG. 3 is a block diagram illustrating a functional configuration example of an information processing server according to the embodiment.
- FIG. 4 is a diagram for describing generation of an encryption index according to the embodiment.
- FIG. 9 is a diagram for describing search of encrypted data by the user who has registered the encrypted data and the encrypted index according to the embodiment.
- FIG. 5 is a diagram for describing a difference between an information processing method and a comparison method according to an embodiment of the present disclosure.
- FIG. 2 is a block diagram illustrating a configuration example of an information processing system according to the embodiment.
- FIG. 3 is a block diagram illustrating a functional configuration example of the information processing terminal according to the embodiment
- FIG. 4 is a diagram for describing search of encrypted data by a sharing destination user according to the embodiment.
- FIG. 3 is a diagram illustrating an example of a shared key management table according to the embodiment.
- FIG. 4 is a diagram for describing decryption of encrypted data by an information processing terminal used by a sharing destination user according to the embodiment.
- FIG. 3 is a diagram illustrating an example of a user interface controlled by the information processing server according to the embodiment.
- FIG. 11 is a diagram for describing processing when a plurality of sharing destination users according to the embodiment exist.
- FIG. 9 is a diagram illustrating an example of an approval flow to which the information processing method according to the embodiment is applied.
- FIG. 14 is a diagram illustrating an example of processing execution by matching all sharing destination users to which the information processing method according to the embodiment is applied.
- FIG. 4 is a sequence diagram showing a flow of registration of encrypted data and an encrypted index according to the embodiment.
- FIG. 4 is a sequence diagram illustrating a flow of distributed key distribution according to the same embodiment.
- FIG. 3 is a sequence diagram illustrating a flow of a search process according to the embodiment.
- FIG. 2 is a diagram illustrating a hardware configuration example according to an embodiment of the present disclosure.
- a decryption key for decrypting data may be managed by the server, and an authorized service administrator or service vendor may use the decryption key to decrypt user data. Decoding is also possible. In order to prevent such a situation, it is important to control the user data stored on the server so that the user data can be decrypted only by the user terminal used by the user.
- encryption of user data by the client side can be mentioned.
- the user transmits and stores the encrypted data encrypted using the user unique key (hereinafter, also referred to as a user key) managed by the client terminal to the server, and decrypts the encrypted data downloaded from the server. Encrypted data can be decrypted using the user key.
- the decryption key since the decryption key is not managed on the server, it is possible to prevent the above-described unauthorized acquisition of data by a service manager or the like.
- FIG. 1 is a diagram for explaining searchable encryption. On the left side of FIG. 1, an example of a process when the user U registers the encrypted data ED in a server installed on the cloud side is shown.
- the user U uses a client terminal installed on the local side to encrypt arbitrary data D using the user key UK to generate encrypted data ED.
- the client terminal similarly encrypts the keyword list extracted from the data D using the user key UK, and generates an encrypted index EI.
- the encrypted data ED and the encrypted index EI generated by the client terminal are transmitted to and stored in a server installed on the cloud side.
- ⁇ Circle around (1) ⁇ on the right side of FIG. 1 shows an example of processing when the user U searches for the encrypted data ED stored in the server.
- the client terminal encrypts the search word input by the user U using the user key UK, and transmits the generated encrypted keyword EKW to the server. Subsequently, the server determines whether the received encrypted keyword EKW is included in the stored encryption index EI. Here, when the encryption keyword EKW is included in the encryption index EI, the server transmits the saved encrypted data ED to the client terminal as a search result corresponding to the encryption keyword EKW. Next, the client terminal decrypts the received encrypted data ED with the user key UK, and presents the obtained plaintext and the like to the user U.
- information can be searched for the encrypted data without decrypting the encrypted data at all, and the security can be further improved.
- a sharing destination user can perform information search on the encrypted data without sharing the user key of the sharing source user who registered the encrypted data with the sharing destination user. Becomes possible.
- an information processing system for realizing an information processing method includes a first device that divides a user key of a sharing source user by secret sharing processing and generates a plurality of shared keys, and a plurality of shared keys generated by the first device.
- a second device that transmits a processing request related to the execution of a predetermined process using one of the shared keys, one of a plurality of shared keys generated by the first device, and a second device.
- a third device that makes a determination based on the processing request received from the third device.
- the first device may distribute different shared keys among the plurality of generated shared keys to the second device and the third device used by the sharing destination user.
- the second device may transmit the received shared key and the hash value calculated by the homomorphic hash operation based on the input data to the third device.
- the third device performs a homomorphic hash operation based on the hash value received from the second device and the homogenous hash operation based on the shared key received from the first device, and a homomorphic hash operation based on the user key. It may be compared with the calculated hash value to determine whether to execute a predetermined process.
- the third device performs a homomorphic hash operation based on the hash value received from the second device and the homogenous hash operation based on the shared key received from the first device, and a homomorphic hash operation based on the user key. If the calculated hash value matches, a predetermined process may be executed.
- FIG. 2 is a diagram for explaining a difference between the information processing method and the comparison method according to an embodiment of the present disclosure.
- the sharing source user who has generated the encrypted data ED and the encrypted index EI using his own user key UK and registered in the server is shown as a user Ua, and the encrypted data based on the permission of the user Ua.
- the sharing destination user performing the search for the ED is shown as the user Ub.
- the user Ub who is the sharing destination user must share the user key UK of the user Ua used by the user Ua who is the sharing source user to generate the encrypted data ED and the encryption index EI from the user Ua.
- the search for the encrypted data ED stored in the server can be performed.
- the user key UK is shared with other users in this way, impersonation and the like can be performed, so that security is reduced.
- the outline of the information processing method (proposed method) according to the present embodiment is shown on the right side of FIG.
- the first device used by the user Ua which is the sharing source user, performs the secret sharing process on the user key UK used for generating the encrypted data ED and the encryption index EI. It is divided into a shared key S1 and a shared key S2. Further, the first device distributes the generated shared key S1 and shared key S2 to the second device used by the user Ub who is the sharing destination user and the third device installed on the cloud side, respectively.
- the second device used by the user Ub performs a homomorphic hash operation based on the search word input by the user Ub and the shared key S1, and transmits the calculated hash value to the third device.
- the third device performs a further homomorphic hash operation on the hash value received from the second device using the shared key S2 received from the first device. Subsequently, the third device determines whether or not the hash value calculated by the above homomorphic hash operation is included in the encryption index EI, and when the hash value is included in the encryption index EI, A search result corresponding to the search word input by the user Ub may be transmitted to the second device.
- examples of the search result include the encrypted data ED including the search word and a list of the encrypted data ED including the search word.
- the sharing destination user searches for encrypted data without sharing the sharing source user key with the sharing destination user. And security can be further improved.
- FIG. 3 is a block diagram illustrating a configuration example of the information processing system 1 according to the present embodiment.
- the information processing system 1 according to the present embodiment includes a plurality of information processing terminals 10 and an information processing server 20.
- the above-described components are connected via a network 30 so that they can communicate with each other.
- the information processing terminal 10 according to the present embodiment is an information processing device used by a sharing source user or a sharing destination user. That is, the information processing terminal 10 according to the present embodiment corresponds to the first device and the second device described above. Note that the information processing terminal 10 according to the present embodiment may be the first device and the second device at the same time.
- a user using the information processing terminal 10 is, for example, a sharing source user who permits another user to search for encrypted data registered by himself / herself, and is also permitted to search for encrypted data registered by another user. Shared user.
- the information processing terminal 10 may be, for example, a PC (Personal Computer), a smartphone, a tablet, or the like.
- the information processing terminal 10 may be referred to as a client. Further, in the present disclosure, the processing by the information processing terminal 10 may be referred to as local processing.
- the information processing server 20 stores encrypted data and an encrypted index generated by the information processing terminal 10, and information for executing a search process on the encrypted data based on a processing request by the information processing terminal 10. Processing device. That is, the information processing server 20 according to the present embodiment corresponds to the above-described third device.
- the information processing server 20 may be simply referred to as a server. Further, in the present disclosure, the processing by the information processing server 20 may be referred to as processing on the cloud side.
- the network 30 has a function of connecting the information processing terminals 10, the information processing server 20, and the information processing terminals 10.
- the network 30 may include a public network such as the Internet, a telephone network, or a satellite communication network, various LANs (Local Area Network) including Ethernet (registered trademark), and a WAN (Wide Area Network). Further, the network 30 may include a dedicated line network such as an IP-VPN (Internet Protocol-Virtual Private Network).
- the network 30 may include a wireless communication network such as Wi-Fi (registered trademark) and Bluetooth (registered trademark).
- the configuration example of the information processing system 1 according to an embodiment of the present disclosure has been described.
- the configuration described above with reference to FIG. 3 is merely an example, and the configuration of the information processing system 1 according to the present embodiment is not limited to the example.
- the configuration of the information processing system 1 according to the present embodiment can be flexibly modified according to specifications and operations.
- FIG. 4 is a block diagram illustrating a functional configuration example of the information processing terminal 10 according to the present embodiment.
- the information processing terminal 10 according to the present embodiment includes a user key management unit 110, an input unit 120, an encryption unit 130, a secret sharing processing unit 140, a decryption unit 150, a display unit 160, and a communication unit 170.
- a user key management unit 110 receives a user key from a user key management unit 110
- an input unit 120 an encryption unit 130
- a secret sharing processing unit 140 a secret sharing processing unit 140
- decryption unit 150 a display unit 160
- a communication unit 170 a communication unit 170.
- the user key management unit 110 generates and stores a user key.
- the user key management unit 110 may include, for example, a user key generation unit and a user key storage unit.
- the input unit 120 detects input of data to be encrypted and input of a search word by a user.
- the input unit 120 includes, for example, an input device such as a keyboard and a mouse.
- the encryption unit 130 performs a homomorphic hash operation using a user key and a shared key.
- the encryption unit 130 according to the present embodiment includes a registration processing unit that generates encrypted data and an encryption index using a user key, and a search processing unit that performs a homomorphic hash operation based on an input search word and a shared key.
- the secret sharing processing unit 140 generates a shared key, stores a shared key received from another information processing terminal 10, and the like.
- the secret sharing processing unit 140 according to the present embodiment for example, divides a user key by secret sharing processing to generate a plurality of shared keys.
- the decryption unit 150 decrypts the encrypted data received from the information processing server 20 using the user key.
- the display unit 160 outputs visual information such as images and text.
- the display unit 160 according to the present embodiment includes, for example, a user interface for inputting input data such as a search word and displaying a result of a processing request such as presentation of a search result.
- the display unit 160 includes a display device that presents visual information.
- the display device include a liquid crystal display (LCD: Liquid Crystal Display) device, an OLED (Organic Light Emitting Diode) device, and a touch panel.
- LCD Liquid Crystal Display
- OLED Organic Light Emitting Diode
- the communication unit 170 performs information communication with the information processing server 20 and another information processing terminal 10 via the network 30.
- the communication unit 170 according to the present embodiment transmits, for example, the encrypted data and the encryption index encrypted by the encryption unit 130 to the information processing server 20 in the registration process.
- the communication unit 170 transmits, for example, a hash value calculated by the homomorphic hash operation by the encryption unit 130 to the information processing server 20 or another information processing terminal 10 in a search process.
- the communication unit 170 transmits the shared key generated by the secret sharing processing unit 140 to the information processing server 20 or another information processing terminal 10, for example. Further, the communication unit 170 receives a shared key generated by another information processing terminal 10.
- the functional configuration example of the information processing terminal 10 according to the present embodiment has been described.
- the configuration described above with reference to FIG. 4 is merely an example, and the functional configuration of the information processing terminal 10 according to the present embodiment is not limited to the example.
- the functional configuration of the information processing terminal 10 according to the present embodiment can be flexibly modified according to specifications and operations.
- FIG. 5 is a block diagram illustrating a functional configuration example of the information processing server 20 according to the present embodiment.
- the information processing server 20 according to the present embodiment includes a shared key management unit 210, a data management unit 220, a processing unit 230, and a terminal communication unit 240.
- the shared key management unit 210 manages storage of the shared key received from the information processing terminal 10, matching of the shared key distributed by the sharing source user to the sharing destination user, and the like.
- the data management unit 220 stores the encrypted data and the encrypted index received from the information processing terminal 10.
- the processing unit 230 performs a determination based on the hash value received from the information processing terminal 10, and performs processing such as presentation of a search result to the information processing terminal 10.
- the processing unit 230 according to the present embodiment may include a homomorphic hash processing unit, a determination unit that performs a bit match determination on a hash value, and the like.
- the processing executed by the processing unit 230 according to the present embodiment is not limited to the above.
- the processing unit 230 according to the present embodiment may perform a payment process based on the received hash value, publish a document, and the like, as described later.
- Terminal communication unit 240 The terminal communication unit 240 according to the present embodiment performs information communication with the information processing terminal 10 via the network 30.
- the terminal communication unit 240 according to the present embodiment receives, for example, encrypted data and an encrypted index from the information processing terminal 10. Further, the terminal communication unit 240 according to the present embodiment receives, for example, a hash value from the information processing terminal 10 and transmits a result of processing based on the hash value to the information processing terminal 10.
- the functional configuration example of the information processing server 20 according to the present embodiment has been described. Note that the above-described functional configuration described with reference to FIG. 5 is merely an example, and the functional configuration of the information processing server 20 according to the present embodiment is not limited to this example.
- the functional configuration of the information processing server 20 according to the present embodiment can be flexibly modified according to specifications and operations.
- the information processing system 1 according to the present embodiment realizes a highly secure multi-user search using searchable encryption technology.
- typical methods of the searchable encryption technology include a public key encryption method, a common key encryption method, and a hash method.
- the above-mentioned public key cryptosystem has a problem in performance because it is a system using pairing, and the common key cryptosystem has a performance that can withstand practical use compared with the public key cryptosystem for a single user. Although obtainable, it is difficult to apply to multi-users.
- the information processing method according to the present embodiment employs a searchable encryption technology in a hash format.
- the hash format is a method of using a hashed keyword list as an encryption index.
- a keyed hash (Keyed @ hash) using a user key unique to each user is used. It is possible to secure confidentiality by using.
- a fixed-length encrypted index that does not depend on the number of keywords can be generated, and processing by hash calculation can be performed, so that processing can be performed at a higher speed than encryption.
- an encryption index obtained by encoding the hash value in an AMQ (Approximate @ Membership @ Query) format may be used.
- the AMQ format includes, for example, a Bloom filter and a counting filter.
- FIG. 6 is a diagram for describing generation of an encrypted index according to the present embodiment.
- the encryption unit 130 of the information processing terminal 10 extracts a keyword W included in arbitrary data D based on a user operation, and generates a keyword list KL.
- the encryption unit 130 may perform, for example, keyword extraction by morphological analysis or word extraction by n-gram.
- the encryption unit 130 hashes the generated keyword list KL using the user key UK to generate an encryption index EI.
- the encryption unit 130 according to the present embodiment performs a homomorphic hash operation based on the homomorphic hash parameter g, the user key UK, and the keyword W, which are public information, for each keyword W, and calculates the calculated hash.
- the encryption index EI can be generated by mapping the value g (UK + W) to the Bloom filter. Therefore, when a plurality of keywords W are included in the keyword list KL, a plurality of bits are set in the Bloom filter.
- the encryption unit 130 can calculate a hash value using a different hash function for one keyword W and set a plurality of bits.
- the communication unit 170 transmits the encryption index EI generated by the encryption unit 130 as described above to the information processing server 20 together with the corresponding encrypted data ED. Further, the data management unit 220 of the information processing server 20 stores the received encrypted index EI and the encrypted data ED.
- FIG. 7 is a diagram for describing a search for encrypted data by the user who has registered the encrypted data ED and the encrypted index EI according to the present embodiment.
- the encryption unit 130 performs the above-described homomorphic hash operation on the search word list SWL output from the input unit 120, and maps the calculated hash value to a Bloom filter. Generate the keyword EKW.
- the encryption unit 130 converts the hash value of each search word into a single Bloom filter. May be mapped.
- the search word list SWL includes a plurality of search words and the OR search is specified as the search condition, the encryption unit 130 performs mapping to the Bloom filter for each search word.
- the communication unit 170 transmits the encrypted keyword EKW generated by the encryption unit 130 as described above to the information processing server 20.
- the processing unit 230 of the information processing server 20 compares the encrypted keyword EKW received from the information processing terminal 10 with a plurality of encrypted indexes EI stored in the data management unit 220. Specifically, the processing unit 230 may perform a bit-by-bit match determination between the encryption keyword EKW and the encryption indexes EI1 to EI3.
- the processing unit 230 determines that the encryption keyword EKW is included in the encryption index EI. And transmits the search result SR to the information processing terminal 10 via the terminal communication unit 240.
- the search result SR includes, for example, encrypted data ED corresponding to the encrypted index EI, a list of the encrypted data ED, and the like.
- FIG. 8 is a diagram for describing a search for encrypted data by the sharing destination user according to the present embodiment.
- the information processing terminal 10a corresponds to a first device used by the sharing source user
- the information processing terminal 10b corresponds to a second device used by the sharing destination user
- the information processing server 20 corresponds to a third device.
- the secret sharing processing unit 140 of the information processing terminal 10a used by the sharing destination user divides the user key UK of the sharing source user by secret sharing processing, and generates two sharing keys S1 and S2. At this time, the secret sharing processing unit 140 generates a shared key using a secret sharing process having additive homomorphism. Note that the secret sharing processing unit 140 may generate the shared key only once when the sharing source user permits the search by the sharing destination user. However, when the information processing terminal 10b used by the sharing destination user is lost or the like, the secret sharing processing unit 140 may generate a shared key again.
- ⁇ Communication section 170 also distributes shared keys S1 and S2 to information processing terminal 10b and information processing server 20, respectively.
- the distribution key S1 is distributed to the information processing terminal 10b by, for example, distribution using short-range wireless communication, transmission via image data such as a QR code (registered trademark), and end-to-end transmission via the information processing server 20. Distribution by end (end to to end) communication or the like is assumed.
- the encryption unit 130 of the information processing terminal 10b converts the received shared key S1 and homomorphic hash parameter g for each of the keyword words W 1 to W N input as search words.
- a used power homomorphic hash operation is performed to calculate a hash value g (S1 + WN) .
- the homomorphic hash parameter g is public information having the same value, which is shared in advance by the information processing terminal 10b and the information processing server 20.
- the communication unit 170 of the information processing terminal 10b transmits the calculated hash value to the information processing server 20.
- the processing unit 230 of the information processing server 20 performs a homomorphic hash operation based on the hash value g (S1 + WN) received from the information processing terminal 10b and the shared key S2 received from the information processing terminal 10a.
- two shared keys S1 and S2 obtained by dividing the user key of the sharing source user are transmitted to the information processing terminal 10b and the information processing server 20 used by the sharing destination user.
- the sharing destination user can perform the same information search as the sharing source user only when the pair of the shared keys S1 and S2 matches.
- the encrypted data ED cannot be obtained only by the shared key S1 or S2, it is possible to effectively prevent unauthorized data acquisition by a service manager or the like. It becomes.
- the shared key management unit 210 of the information processing server 20 may delete the corresponding shared key. According to the above function, for example, even when the permitted period has elapsed or when the information processing terminal 10b is lost, the encrypted data ED stored in the information processing server 20 can be safely protected. .
- the processing unit 230 performs the homomorphic hash operation of the multiplication based on the hash value received from the information processing terminal 10b and the hash value calculated using the shared key received from the information processing terminal 10a.
- the processing unit 230 specifies the shared key corresponding to the information processing terminal 10b based on the management table stored in the shared key management unit 210, and assigns the shared key to the shared key management unit. 210.
- FIG. 9 is a diagram showing an example of a shared key management table according to the present embodiment. As illustrated in FIG. 9, for example, a shared key ID, a shared user ID, a shared user ID, and a shared key are registered in the shared key management table according to the present embodiment.
- the sharing destination user (user B), who is a user of the information processing terminal 10b, logs in to the service via the above-described user interface. Is specified as the sharing destination user ID (user ID B ).
- the sharing destination user specifies the encrypted data owned by the sharing source user (user A) as a search target on the user interface, thereby specifying the sharing source user ID (user ID A ). You.
- the processing unit 230 searches the management table using the sharing destination user ID (user ID B ) and sharing source user ID (user ID A ) identified above as a key, thereby distributing the information. It is possible to obtain a shared key (shared key BA ) corresponding to the key ID (5).
- FIG. 9 shows an example in which the secret sharing process is also applied to the key when the sharing source user performs the search (the shared key AA and the shared key BB are applicable). In this case, even when the sharing source user performs a search, a process based on a homomorphic hash operation using a shared key as shown in FIG. 8 may be performed.
- the sharing source user can store his or her own user key UK in the information processing terminal 10, so that his or her shared key (shared key AA and shared key BB ) shown in FIG.
- the information need not always be stored in the information processing server 20.
- the processing unit 230 stores all the sharing source IDs associated with the sharing destination user ID and the corresponding shared key. It is also possible to acquire by scanning.
- the information processing terminal 10b used by the sharing destination user can download the encrypted data ED from the information processing server 20 as a search result.
- the information processing terminal 10b that does not hold the user key UK decrypts the encrypted data ED as it is. I can't.
- the information processing method solves the above problem by applying re-encryption using proxy encryption.
- FIG. 10 is a diagram for describing decryption of encrypted data by the information processing terminal 10 used by the sharing destination user according to the present embodiment.
- the information processing terminal 10a used by the sharing source user transmits the generated shared keys S1 and S2 to the information processing server 20 and
- the encrypted data ED is distributed to the information processing terminals 10b used by the sharing destination users who are permitted to search the encrypted data ED by the sharing source user.
- the secret sharing processing unit 140 of the information processing terminal 10a receives the public key PK of the sharing destination user from the information processing terminal 10b used by the sharing destination user, and transmits the public key PK and the secret key SK A of the sharing source user. To generate a re-encryption key REK.
- the communication unit 170 transmits the re-encryption key REK generated by the secret sharing processing unit 140 to the information processing server 20.
- the processing unit 230 transmits the re-encryption key received from the information processing terminal 10a.
- the terminal communication unit 240 generates the re-encrypted data RED obtained by re-encrypting the encrypted data ED using the REK, and transmits the re-encrypted data RED as a search result to the information processing terminal 10b.
- the decryption unit 150 of the information processing terminal 10b is decrypted using the secret key SK B of the shared destination user re-encrypted data RED received.
- the information processing terminal 10b does not share the secret key of the sharing source user with the information processing terminal 10b used by the sharing destination user. , The data of the sharing source user can be browsed.
- the information processing server 20 may control a user interface for inputting input data such as a search word and displaying a result of a processing request.
- the sharing source user and the sharing destination user can perform a search request and browse a search result via the above-described user interface.
- FIG. 11 is an example of a user interface UI controlled by the information processing server 20 according to the present embodiment.
- the user inputs a search word for recognition in a search field F1 displayed on the user interface UI and presses a search button, so that encrypted data including the search word is entered. May be obtained.
- a list of encrypted data including the search word “land” entered by the user in the search field F1 is displayed on the user interface UI for each data owner. If the user is a sharing destination user to whom other users are permitted to search for data, the search results include not only a list of his / her data such as “diary 1” and “diary 2” but also “inheritance”. A list related to the data of the sharing source user such as “1” is also displayed.
- the sharing destination user can select the data such as “Inheritance 1” from the displayed list to confirm the detailed information of the selected data as shown on the right side of FIG. it can.
- the above detailed information may include the data itself before encryption, the disclosure status, and the like.
- the information processing system 1 that realizes the information processing method according to the present embodiment, it is possible to allow only a licensed user to search for highly confidential document data such as a diary and a will with a small processing load. Is possible, and it is expected to be utilized in various services involving search processing.
- the number of the second device according to the present embodiment is one, that is, the case where the number of sharing destination users is one has been mainly described.
- the number of second devices ie, the number of share-destination users, which is excessive in the present embodiment, is not limited to this example.
- the second device and the sharing destination user according to the present embodiment may be plural.
- the secret sharing processing unit 140 of the information processing terminal 10a used by the sharing source user may generate the sharing keys by adding 1 to the number of sharing destination users by the secret sharing process. For example, when the sharing destination user is one, the secret sharing processing unit 140 of the information processing terminal 10a used by the sharing source user distributes the information to the information processing terminal 10b and the information processing server 20 used by the sharing destination user. May be generated. Further, for example, when the sharing destination user is three, the secret sharing processing unit 140 of the information processing terminal 10a used by the sharing source user is connected to the three information processing terminals 10b used by the three sharing destination users. A total of four shared keys for distribution to the server 20 may be generated.
- FIG. 12 is a diagram for describing a process when there are a plurality of sharing destination users according to the present embodiment.
- two users using the information processing terminals 10b-1 and 10b-2 corresponding to the second device are shared by the sharing source user using the information processing terminal 10a corresponding to the first device.
- An example in which a destination user is set is shown.
- the secret sharing processing unit 140 of the information processing terminal 10a used by the sharing source user divides the user key UK of the sharing source user by secret sharing processing and generates three sharing keys S1 to S3. are doing.
- the communication unit 170 of the information processing terminal 10a distributes the three shared keys S1 to S3 generated by the secret sharing processing unit 140 to the information processing terminal 10b-1, the information processing terminal 10b-2, and the information processing server 20, respectively. are doing.
- the information processing server 20 corresponding to the third device is configured such that all of the plurality of information processing terminals 10b corresponding to the second device sequentially perform the homomorphic hash operation using the shared key.
- the calculated hash value By comparing the calculated hash value with a hash value calculated by the homomorphic hash calculation based on the user key UK, it may be determined whether the predetermined process can be executed.
- the plurality of information processing terminals 10b corresponding to the second device according to the present embodiment are divided into an origin terminal that is the origin of the processing request and a transit terminal through which the processing request passes.
- the processing request is a request related to presentation of a search result
- the above-mentioned starting terminal indicates a terminal to which an arbitrary search word is input by one of the sharing destination users who wants to execute the search.
- the information processing terminal 10b-1 to which the shared key S1 has been distributed from the information processing terminal 10a corresponds to the above-mentioned origin terminal.
- the information processing terminal 10b-1 converts the hash value calculated by the homomorphic hash operation based on the distribution key S1 and the search word list SWL extracted from the search word input by the user into the information processing terminal corresponding to the via terminal. Send to 10b-2.
- the information processing terminal 10b-2 corresponding to the via terminal calculates the hash value received from the information processing terminal 10b-1 corresponding to the via terminal and the hash value calculated by the homomorphic hash operation based on the shared key S2. I do.
- the information processing terminal 10b-2 transmits the calculated hash value to one of the other transit terminals. Good.
- the information processing terminal 10b-2 transmits the calculated hash value to the information processing server 20 corresponding to the third device. Send to
- the information processing server 20 compares the hash values sequentially calculated by the information processing terminals 10b to which the shared keys are distributed from all the second devices, that is, the information processing terminals 10a, with the hash values received from the information processing terminals 10a. By multiplying the hash value calculated by the homomorphic hash operation based on the key S3, a hash value similar to the user key UK can be obtained.
- the information processing terminal 10b can be prevented from accessing data alone.
- each information processing terminal 10b since each information processing terminal 10b receives only the hash value as a result of the homomorphic hash operation, it cannot obtain the shared key distributed to the other information processing terminals 10b, so that the sharing destination user Can intercept the shared key distributed to other sharing destination users and obtain unauthorized information.
- the process executed by the processing unit 230 of the information processing server 20 according to the present embodiment is not limited to the presentation of the search result of the encrypted data.
- the information processing method according to the present embodiment can be applied to various processes based on the above-described secret sharing process and searchable encryption technology.
- the information processing method according to the present embodiment can be used as a part of an approval flow related to a settlement process or the like.
- FIG. 13 is a diagram for describing an example of an approval flow to which the information processing method according to the present embodiment is applied.
- FIG. 13 shows an example in which the accounting department approves the settlement process requested by the responsible employee via the section manager and the section manager.
- the user key UK is divided by the secret sharing process by the first device managed by the accounting unit, and the generated shared keys S1 to S3 are divided by the responsible employee, the section manager, and the manager. It is distributed to each of the second devices used.
- the second device used by the responsible employee After the above-described distribution processing, the second device used by the responsible employee performs a homomorphic hash operation based on the distributed key S1, the homomorphic hash parameter g, and the data D which is a settlement document input by the responsible employee. Processing is performed, and the calculated hash value is transmitted to the second device used by the section manager who is the direct superior.
- the second device used by the section manager performs a homomorphic hash operation based on the received hash value, the shared key S2, and the homomorphic hash parameter g, and outputs the calculated hash value to the next approval destination manager. Transmit to the second device to be used.
- the second device used by the manager performs a homomorphic hash operation based on the received hash value, the shared key S3, and the homomorphic hash parameter g.
- the information is transmitted to the third device to be managed.
- the hash values sequentially calculated by the plurality of second devices as described above may serve as electronic signatures.
- the third device can determine whether to execute the payment process by verifying the received digital signature.
- the third device may execute the payment process on the data D that is the payment document.
- the information processing method according to the present embodiment may be applied to the execution of a predetermined process by matching all the sharing destination users to whom the distribution key has been distributed.
- FIG. 14 is a diagram illustrating an example of execution of a process by matching all sharing destination users to which the information processing method according to the present embodiment is applied.
- FIG. 14 shows an example in which a will left by a father is disclosed with the agreement of the whole family.
- the first device divides the user key UK by the secret sharing process, and the generated shared keys S1 to S3 are used by the second device used by the mother, the eldest daughter, and the eldest son. Will be distributed to each.
- data D as a will disclosure request generated by the first device is transmitted to the second device used by the mother as the origin terminal.
- the second device used by the mother After the above distribution process, the second device used by the mother performs a homomorphic hash operation process based on the distributed key S1, the homomorphic hash parameter g, and the data D that is the will disclosure request, and calculates The hash value is transmitted to the second device used by the eldest daughter.
- the second device used by the eldest daughter and the eldest son performs the same processing as the processing shown in FIG.
- the third device uses the encrypted data ED in which the father's will is encrypted by the mother, eldest daughter, and eldest son. It may be transmitted to two devices.
- the first device and the third device may be realized as the same device.
- the functional configuration of the information processing system 1 according to the present embodiment can be flexibly modified according to the service to be applied.
- FIG. 15 is a sequence diagram showing a flow of registering the encrypted data and the encrypted index according to the present embodiment.
- the user key management unit 110a of the information processing terminal 10a corresponding to the first device used by the sharing source user generates a user key (S1101).
- the user key management unit 110a stores the user key generated in step S1101 in an internal storage or the like.
- the input unit 120a acquires data to be encrypted based on the user's input operation (S1103). Further, the input unit 120a transmits the data acquired in step S1102 to the encryption unit 130a (S1104).
- the user key management unit 110a transmits the user key stored in step S1102 to the encryption unit 130a based on a request from the encryption unit 130a.
- the encryption unit 130a extracts a keyword from the data received in step S1104 (S1106).
- the encryption unit 130a encrypts the data received in step S1104 using the user key received in step S1105 to generate encrypted data (S1107), and similarly encrypts the keyword extracted in step S1106. Then, an encrypted index is generated (S1108).
- the encryption unit 130a transmits the encrypted data and the encryption index generated in steps S1107 and S1108 to the information processing server 20 corresponding to the third device via the communication unit 170a (S1109).
- the data management unit 220 of the information processing server 20 stores the encrypted data and the encrypted index received in step S1109 (S1110 and S1111).
- FIG. 16 is a sequence diagram illustrating a flow of distributed key distribution according to the present embodiment.
- the user key management unit 110a of the information processing terminal 10a corresponding to the first device used by the sharing source user transmits the user key stored in step S1102 shown in FIG. (S1201).
- the secret sharing processing unit 140a divides the user key received in step S1201 by secret sharing processing to generate two shared keys (S1202).
- the secret sharing processing unit 140a distributes one of the shared keys generated in step S1202 to the information processing terminal 10b corresponding to the second device via the communication unit 170a (S1203).
- the secret sharing processing unit 140b of the information processing terminal 10b stores the sharing key received in step S1203 (S1204).
- the secret sharing processing unit 140a distributes the other of the shared keys generated in step S1202 to the information processing server 20 corresponding to the third device via the communication unit 170a (S1205).
- the shared key management unit 210 of the information processing server 20 stores the shared key received in step S1205 (S1206).
- FIG. 17 is a sequence diagram illustrating the flow of the search process according to the present embodiment.
- the input unit 120b of the information processing terminal 10b corresponding to the second device acquires a search word based on an input operation by a user (S1301). Further, the input unit 120b transmits the search word acquired in step S1301 to the encryption unit 130 (S1302).
- the secret sharing processing unit 140b transmits the shared key stored in step S1204 shown in FIG. 16 to the encryption unit 130 based on a request from the encryption unit 130b and the like (S1303).
- the encryption unit 130b performs a homomorphic hash operation based on the search word received in step S1302 and the shared key received in step S1303 (S1304).
- the encryption unit 130b transmits the hash value calculated in step S1304 to the information processing server 20 corresponding to the third device via the communication unit 170b (S1305).
- the shared key management unit 210 of the information processing server 20 transmits the shared key stored in step S1206 in FIG. 16 to the processing unit 230 based on a request from the processing unit 230 that has received the hash value in step S1305. (S1306).
- the processing unit 230 performs a hash operation based on the hash value received in step S1305 and the shared key received in step S1306 (S1307).
- the processing unit 230 makes a bit match determination between the hash value calculated in step S1307 and the encryption index stored in step S1111 shown in FIG. 15 (S1308).
- the processing unit 230 transmits a search result corresponding to the search word to the information processing terminal 10b (1309).
- the decryption unit 150b of the information processing terminal 10b decrypts the search result received in step S1309 (S1310).
- FIG. 18 is a block diagram illustrating a hardware configuration example of the information processing terminal 10 and the information processing server 20 according to an embodiment of the present disclosure.
- the information processing server 20 includes, for example, a processor 871, a ROM 872, a RAM 873, a host bus 874, a bridge 875, an external bus 876, an interface 877, an input device 878, and an output device 879.
- a storage 880, a drive 881, a connection port 882, and a communication device 883 Note that the hardware configuration shown here is an example, and some of the components may be omitted. Further, components other than the components shown here may be further included.
- the processor 871 functions as, for example, an arithmetic processing device or a control device, and controls the overall operation of each component or a part thereof based on various programs recorded in the ROM 872, the RAM 873, the storage 880, or the removable recording medium 901. .
- the ROM 872 is a means for storing a program read by the processor 871, data used for calculation, and the like.
- the RAM 873 temporarily or permanently stores, for example, a program read by the processor 871 and various parameters that appropriately change when the program is executed.
- the processor 871, the ROM 872, and the RAM 873 are mutually connected, for example, via a host bus 874 capable of high-speed data transmission.
- the host bus 874 is connected to, for example, an external bus 876 having a relatively low data transmission speed via a bridge 875.
- the external bus 876 is connected to various components via an interface 877.
- Input device 8708 As the input device 878, for example, a mouse, a keyboard, a touch panel, a button, a switch, a lever, and the like are used. Further, as the input device 878, a remote controller (hereinafter, remote controller) capable of transmitting a control signal using infrared rays or other radio waves may be used. In addition, the input device 878 includes a voice input device such as a microphone.
- the output device 879 transmits acquired information to the user, such as a display device such as a CRT (Cathode Ray Tube), an LCD or an organic EL, an audio output device such as a speaker or a headphone, a printer, a mobile phone, or a facsimile.
- a display device such as a CRT (Cathode Ray Tube), an LCD or an organic EL
- an audio output device such as a speaker or a headphone, a printer, a mobile phone, or a facsimile.
- the output device 879 according to the present disclosure includes various vibration devices that can output a tactile stimulus.
- the storage 880 is a device for storing various data.
- a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like is used.
- the drive 881 is a device that reads information recorded on a removable recording medium 901 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, or writes information on the removable recording medium 901.
- a removable recording medium 901 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory
- the removable recording medium 901 is, for example, a DVD medium, a Blu-ray (registered trademark) medium, an HD DVD medium, various semiconductor storage media, and the like.
- the removable recording medium 901 may be, for example, an IC card on which a non-contact type IC chip is mounted, or an electronic device.
- connection port 882 is a port for connecting an external connection device 902 such as a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface), an RS-232C port, or an optical audio terminal. is there.
- an external connection device 902 such as a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface), an RS-232C port, or an optical audio terminal. is there.
- the external connection device 902 is, for example, a printer, a portable music player, a digital camera, a digital video camera, or an IC recorder.
- the communication device 883 is a communication device for connecting to a network, for example, a communication card for wired or wireless LAN, Bluetooth (registered trademark), or WUSB (Wireless USB), a router for optical communication, an ADSL (Asymmetric Digital) Subscriber Line) or a modem for various communications.
- a network for example, a communication card for wired or wireless LAN, Bluetooth (registered trademark), or WUSB (Wireless USB), a router for optical communication, an ADSL (Asymmetric Digital) Subscriber Line) or a modem for various communications.
- the information processing system that implements the information processing method according to an embodiment of the present disclosure divides a user key of a sharing source user by secret sharing processing and generates a plurality of shared keys.
- a second device that transmits a processing request related to execution of a predetermined process using one of a plurality of shared keys generated by the first device, and a plurality of shared keys generated by the first device
- a third device that makes a determination based on the processing request received from the second device.
- the first device may distribute different shared keys among the plurality of generated shared keys to the second device and the third device used by the sharing destination user.
- the second device may transmit the received shared key and the hash value calculated by the homomorphic hash operation based on the input data to the third device.
- the third device performs a homomorphic hash operation based on the hash value received from the second device and the homogenous hash operation based on the shared key received from the first device, and a homomorphic hash operation based on the user key. It may be compared with the calculated hash value to determine whether to execute a predetermined process.
- a program for causing hardware such as a CPU, a ROM, and a RAM built in the computer to exhibit the same function as the configuration of the information processing terminal 10 or the information processing server 20 can be created.
- a computer-readable recording medium can be provided.
- each step related to the processing of the information processing system 1 in the present specification does not necessarily need to be processed in a time series in the order described in the sequence diagram.
- each step related to the processing of the information processing system 1 may be processed in an order different from the order described in the sequence diagram, or may be processed in parallel.
- a first device that divides a user key of a sharing source user by a secret sharing process to generate a plurality of shared keys, and uses one of the plurality of shared keys generated by the first device.
- a second device that transmits a processing request related to execution of a predetermined process,
- a third device that makes a determination based on one of the shared keys generated by the first device and the processing request received from the second device;
- the first device distributes the different shared keys among the generated plurality of shared keys to the second device and the third device used by the sharing destination user, respectively, and the second device
- the device transmits the received shared key, and a hash value calculated by a homomorphic hash operation based on the input data to the third device, A third hash value calculated by a homomorphic hash operation based on the hash value received from the second device and the shared key received from the first device; and a homomorphic hash based on the user key.
- the third device is based on a hash value received by the homomorphic hash operation based on the hash value received from the second device and the shared key received from the first device, and the user key.
- the predetermined process is executed.
- the information processing system according to (1).
- the predetermined process includes presentation of a search result for the encrypted data stored by the third device, and the second device performs a homomorphic hash operation based on the received shared key and a search word.
- the third device transmits a search result corresponding to the search word to the second device when the hash value received from the second device is included in an encryption index corresponding to the encrypted data.
- the encryption index is a keyword list extracted from the encrypted data, and a hash value calculated by a homomorphic hash operation based on the user key of the sharing source user,
- the information processing system according to (1) (4) the search result includes at least one of the encrypted data including the search word and a list of the encrypted data including the search word; The information processing system according to (3).
- the third device transmits to the second device re-encrypted data obtained by re-encrypting the encrypted data using proxy encryption, as the search result.
- the information processing system receives the public key of the sharing destination user from the second device to which the shared key has been distributed, and generates a public key using the public key and the secret key of the sharing source user. Transmitting an encryption key to the third device; The third device transmits the re-encrypted data obtained by re-encrypting the encrypted data using the received re-encryption key to the second device, The second device decrypts the received re-encrypted data using a secret key of the sharing destination user, The information processing system according to (5). (7) The first device stores the encrypted data and the encrypted index generated by a homomorphic hash operation based on the keyword list extracted from the encrypted data and the user key of the sharing source user.
- the first device transmits to the third device, The information processing system according to any one of the above (3) to (6).
- the first device generates the encryption index obtained by encoding a hash value calculated by a homomorphic hash operation based on the keyword list and the user key of the sharing source user in an AMQ (Approximate Membership Query) format.
- the AMQ format includes at least a Bloom filter.
- the third device deletes the shared key received from the first device based on a deletion request from the first device;
- (11) The first device generates, by the secret sharing process, a number of the sharing keys equal to the number of the sharing destination users plus one.
- the information processing system according to any one of (1) to (10). (12)
- the first device distributes the shared keys different from each other to a plurality of the second devices and the third devices, respectively.
- all of the plurality of second devices are sequentially calculated by a homomorphic hash operation using the shared key, and are calculated by a homomorphic hash operation based on the user key. Compare with hash value, The information processing system according to (11).
- the plurality of second devices include an origin terminal that is a starting point of the processing request, and a transit terminal through which the processing request passes,
- the origin terminal transmits the received shared key, and a hash value calculated by a homomorphic hash operation based on input data to the intermediate terminal,
- the information processing system according to (12) wherein the information is transmitted to the via terminal or the third device.
- the transit terminal transmits the hash value to one of the other transit terminals when there is another transit terminal that has not performed the homomorphic hash operation, and performs the homomorphic hash operation. If there is no other intermediate terminal that has not performed, the calculated hash value is transmitted to the third device.
- the predetermined process includes a settlement process, The third device executes the settlement process when the hash value received from the second device matches a hash value calculated by a homomorphic hash operation based on the user key and the input data. , The information processing system according to any one of the above (1) to (14).
- the predetermined process includes a document publication process
- the third device when the hash value received from the second device matches the hash value calculated by the homomorphic hash operation based on the user key and the input data, performs the publication process of the document. Execute, The information processing system according to any one of the above (1) to (15). (17) the third device controls an interface for inputting the input data and displaying a result of the processing request; The information processing system according to any one of (1) to (16).
- the first device divides the user key of the sharing source user by secret sharing processing to generate a plurality of shared keys, A second device transmitting a processing request related to execution of a predetermined process using one of the plurality of shared keys generated by the first device; A third device performing a determination based on one of the plurality of shared keys generated by the first device and the processing request received from the second device; Including The first device distributing the shared keys different from each other among the generated shared keys to the second device and the third device used by the sharing destination user, respectively; The second device transmits to the third device a hash value calculated by a homomorphic hash operation based on the received shared key and the input data; A hash value calculated by a homomorphic hash operation based on the hash value received from the second device and the shared key received from the first device, and a homomorphic hash based on the user key; Comparing the hash value calculated by the operation to determine whether to execute the predetermined process; Further comprising, Information processing method.
- a secret sharing processing unit that divides the user key of the sharing source user by secret sharing processing and generates a plurality of shared keys;
- a communication unit that transmits the shared keys different from each other among the plurality of shared keys to a terminal used by a sharing destination user and a server where encrypted data is stored, Comprising, Information processing device.
- an encryption unit that generates the encrypted data using the user key; Further comprising The communication unit transmits the encrypted data to the server,
- the sharing destination user is a user who is permitted to search the encrypted data by the sharing source user.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
共有元ユーザのユーザ鍵(UK)を秘密分散処理により分割し、複数の分散鍵(S1,S2)を生成する第1の装置(10a)と、前記第1の装置が生成した複数の前記分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信する第2の装置(10b)と、前記第1の装置が生成した複数の前記分散鍵のうちの1つと、前記第2の装置から受信した前記処理リクエストに基づく判定を行う第3の装置(20)と、を備える、情報処理システムが提供される。
Description
本開示は、情報処理システム、情報処理方法、および情報処理装置に関する。
近年、クラウドサービス等の普及に伴い、個人や企業などのデータをサービス提供者が管理するサーバに保管する場面が増加している。上記のようなサーバでは、セキュリティ性を確保するために、データの暗号化などを行うのが一般的である。また、近年では、データを暗号化したまま情報検索を実現する検索可能暗号技術も開発されている。例えば、特許文献1には、検索可能暗号を用いた情報検索において、大規模データに対する検索処理を高速化する技術が開示されている。
ここで、暗号化されたデータの検索は、当該データの所有者のみではなく、例えば、所有者に検索を許諾された他のユーザにより行われる場合も想定される。しかし、特許文献1に記載される技術では、マルチユーザによる情報検索に対する考慮が十分ではない。
そこで、本開示では、マルチユーザに対応した、よりセキュリティ性の高い情報検索を実現することが可能な、新規かつ改良された情報処理システム、情報処理方法、および情報処理装置を提案する。
本開示によれば、共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する第1の装置と、前記第1の装置が生成した複数の前記分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信する第2の装置と、前記第1の装置が生成した複数の前記分散鍵のうちの1つと、前記第2の装置から受信した前記処理リクエストに基づく判定を行う第3の装置と、を備え、前記第1の装置は、生成した複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する前記第2の装置、および前記第3の装置にそれぞれ配布し、前記第2の装置は、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信し、前記第3の装置は、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、前記所定の処理を実行するか否かを判定する、情報処理システムが提供される。
また、本開示によれば、第1の装置が、共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成することと、第2の装置が、前記第1の装置が生成した複数の前記分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信することと、第3の装置が、前記第1の装置が生成した複数の前記分散鍵のうちの1つと、前記第2の装置から受信した前記処理リクエストに基づく判定を行うことと、を含み、前記第1の装置が、生成した複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する前記第2の装置、および前記第3の装置にそれぞれ配布することと、前記第2の装置が、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信することと、前記第3の装置が、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、前記所定の処理を実行するか否かを判定することと、をさらに含む、情報処理方法が提供される。
また、本開示によれば、共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する秘密分散処理部と、複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する端末、および暗号化データが保存されるサーバにそれぞれ送信する通信部と、を備える、情報処理装置が提供される。
以上説明したように本開示によれば、マルチユーザに対応した、よりセキュリティ性の高い情報検索を実現することが可能となる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.実施形態
1.1.背景
1.2.情報処理システム1の構成例
1.3.情報処理端末10の機能構成例
1.4.情報処理サーバ20の機能構成例
1.5.機能の詳細
1.6.動作の流れ
2.ハードウェア構成例
3.まとめ
1.実施形態
1.1.背景
1.2.情報処理システム1の構成例
1.3.情報処理端末10の機能構成例
1.4.情報処理サーバ20の機能構成例
1.5.機能の詳細
1.6.動作の流れ
2.ハードウェア構成例
3.まとめ
<1.実施形態>
<<1.1.背景>>
まず、本開示の一実施形態に係る背景について述べる。上述したように、近年では、クラウドサービス等の普及に伴い、個人や企業などのデータを、サービス提供者が管理するサーバに保管する場面が増加している。また、一般的なサーバでは、データベースを暗号化するなどの手法によりユーザのデータを保護している。
<<1.1.背景>>
まず、本開示の一実施形態に係る背景について述べる。上述したように、近年では、クラウドサービス等の普及に伴い、個人や企業などのデータを、サービス提供者が管理するサーバに保管する場面が増加している。また、一般的なサーバでは、データベースを暗号化するなどの手法によりユーザのデータを保護している。
しかし、一般的なクラウドサービスでは、データを復号するための復号鍵もサーバで管理あれている場合もあり、権限を有するサービス管理者やサービスベンダーであれば、当該復号鍵を用いてユーザデータを復号することも可能である。このような事態を防ぐためには、サーバ上に保管されるユーザデータを、ユーザが利用するユーザ端末のみで復号できるように制御することが重要となる。
ここで、上記のような制御を実現する手法としては、例えば、クライアント側によるユーザデータの暗号化が挙げられる。ユーザは、クライアント端末が管理するユーザ固有鍵(以下、ユーザ鍵、とも称する)を用いて暗号化した暗号化データをサーバに送信、また保管し、復号の際には、サーバからダウンロードした上記暗号化データをユーザ鍵を用いて復号することができる。上記のようなクライアント側による暗号化技術によれば、復号鍵がサーバ上で管理されないため、上述したようなサービス管理者などによる不正なデータ取得を防止することが可能となる。
また、近年では、検索対象となるデータと検索ワードとを暗号化したまま検索処理を行うことが可能な検索可能暗号も普及している。
図1は、検索可能暗号について説明するための図である。図1の左側には、ユーザUが、クラウド側に設置されるサーバに暗号化データEDを登録する場合の処理の一例が示されている。
ユーザUは、まず、ローカル側に設置されるクライアント端末を用いて、任意のデータDをユーザ鍵UKを用いて暗号化し、暗号化データEDを生成する。また、この際、クライアント端末は、データDから抽出したキーワードリストをユーザ鍵UKを用いて同様に暗号化し、暗号化インデックスEIを生成する。クライアント端末が生成した暗号化データEDおよび暗号化インデックスEIは、クラウド側に設置されるサーバに送信され、保管される。
また、図1の右側には、ユーザUが、サーバに保管される暗号化データEDに対する検索を行う場合の処理の一例が示されている。
検索処理においては、まず、クライアント端末が、ユーザUにより入力された検索ワードをユーザ鍵UKを用いて暗号化し、生成した暗号化キーワードEKWをサーバに送信する。続いて、サーバは、受信した暗号化キーワードEKWが、保存する暗号化インデックスEIに含まれるか否かを判定する。ここで、暗号化キーワードEKWが暗号化インデックスEIに含まれる場合、サーバは、暗号化キーワードEKWに対応する検索結果として、保存する暗号化データEDをクライアント端末に送信する。次に、クライアント端末は、受信した暗号化データEDをユーザ鍵UKにより復号し、取得した平文などをユーザUに提示する。
このように、検索可能暗号技術によれば、暗号化データを一度も復号することなく、当該暗号化データに対する情報検索を行うことができ、セキュリティ性をより向上させることが可能となる。
しかし、例えば、特許文献1に記載されるような検索可能暗号技術では、一般的に、マルチユーザによる情報検索が十分に考慮されていない。このため、暗号化データの登録を行ったユーザ以外が、当該暗号データに対する検索を行いたい場合、例えば、暗号化データの生成に用いた共有元ユーザのユーザ鍵を共有先ユーザにシェアすることなどが求められる。ここで、共有元ユーザとは、自身のユーザ鍵を用いて生成した暗号化データをサーバに登録したユーザであり、共有先ユーザとは、共有元ユーザにより当該暗号化データの検索が許諾されたユーザを指す。しかし、共有元ユーザのユーザ鍵を共有先ユーザにシェアする場合、なりすましなどが可能となることから、セキュリティ性が低下することとなる。
また、マルチユーザによる検索を実現するために、共有元ユーザの端末で、共有先ユーザ毎に検索用の暗号化インデックスを生成することも可能であるが、この場合、共有先ユーザが増加した場合には、過去データを端末に取得して暗号化インデックスを再生成する必要があり、処理負担が大きい。
また上記の他にも、放送型暗号方式や、ペアリング方式、代理人再暗号化方式などが想定されるが、いずれも重い演算が必要となる。
本開示の一実施形態に係る技術思想は上記の点に着目して発想されたものであり、マルチユーザに対応した、セキュリティ性および性能の高い情報検索を実現する。本開示の一実施形態に係る技術思想によれば、暗号化データを登録した共有元ユーザのユーザ鍵を共有先ユーザにシェアすることなく、共有先ユーザが当該暗号化データに対する情報検索を行うことが可能となる。
このために、情報処理方法を実現する情報処理システムは、共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する第1の装置と、第1の装置が生成した複数の分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信する第2の装置と、第1の装置が生成した複数の分散鍵のうちの1つと、第2の装置から受信した処理リクエストに基づく判定を行う第3の装置と、を備える。ここで、第1の装置は、生成した複数の分散鍵のうち互いに異なる分散鍵を、共有先ユーザが利用する第2の装置、および第3の装置にそれぞれ配布してよい。また、第2の装置は、受信した分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を第3の装置に送信してよい。また、第3の装置は、第2の装置から受信したハッシュ値および第1の装置から受信した分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、上記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、所定の処理を実行するか否かを判定してよい。
また、第3の装置は、第2の装置から受信したハッシュ値および第1の装置から受信した分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、上記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とが一致する場合、所定の処理を実行してよい。
図2は、本開示の一実施形態に係る情報処理方法と比較手法との差異について説明するための図である。なお、図2においては、自身のユーザ鍵UKを用いて暗号化データEDおよび暗号化インデックスEIを生成しサーバに登録した共有元ユーザがユーザUaとして示され、ユーザUaの許諾に基づく暗号化データEDに対する検索を行う共有先ユーザがユーザUbとして示されている。
まず、比較手法について説明する。図2の左側には、一般的な検索可能暗号技術をマルチユーザ検索に適用した場合の比較手法の概要が示されている。
比較手法の場合、共有先ユーザであるユーザUbは、共有元ユーザであるユーザUaが暗号化データEDおよび暗号化インデックスEIの生成に用いたユーザUaのユーザ鍵UKをユーザUaからシェアされることで、サーバに保管される暗号化データEDに対する検索を行うことができる。しかし、このようにユーザ鍵UKを他のユーザにシェアする場合、なりすましなどが可能となることから、セキュリティ性が低下することとなる。
一方、図2の右側には、本実施形態に係る情報処理方法(提案手法)の概要が示されている。本実施形態に係る情報処理方法では、まず、共有元ユーザであるユーザUaが利用する第1の装置が、暗号化データEDおよび暗号化インデックスEIの生成に用いたユーザ鍵UKを秘密分散処理により分散鍵S1および分散鍵S2に分割する。また、第1の装置は、生成した分散鍵S1および分散鍵S2を、共有先ユーザであるユーザUbが利用する第2の装置およびクラウド側に設置される第3の装置にそれぞれ配布する。
次に、ユーザUbが利用する第2の装置は、ユーザUbにより入力された検索ワードと分散鍵S1に基づく準同型ハッシュ演算を行い、算出したハッシュ値を第3の装置に送信する。
次に、第3の装置は、第2の装置から受信したハッシュ値に対し、第1の装置から受信した分散鍵S2を用いてさらなる準同型ハッシュ演算を行う。続いて、第3の装置は、上記の準同型ハッシュ演算により算出したハッシュ値が暗号化インデックスEIに含まれるか否かを判定し、当該ハッシュ値が暗号化インデックスEIに含まれる場合には、ユーザUbが入力した検索ワードに対応する検索結果を第2の装置に送信してよい。ここで、上記の検索結果には、例えば、検索ワードを含む暗号化データEDや、検索ワードを含む暗号化データEDのリストなどが挙げられる。
このように、本実施形態に係る情報処理方法を実現する情報処理システムによれば、共有元ユーザのユーザ鍵を共有先ユーザにシェアすることなく、共有先ユーザが暗号化データの検索を行うことができ、セキュリティ性をより向上させることが可能となる。
以下、本実施形態に係る情報処理方法を実現する情報処理システムが有する特徴と当該特徴により奏される効果について詳細に説明する。
<<1.2.情報処理システム1の構成例>>
まず、本開示の一実施形態に係る情報処理システム1の構成例について説明する。図3は、本実施形態に係る情報処理システム1の構成例を示すブロック図である。図3を参照すると、本実施形態に係る情報処理システム1は、複数の情報処理端末10と情報処理サーバ20を備える。また、上記の各構成は、ネットワーク30を介して、互いに通信が行えるように接続される。
まず、本開示の一実施形態に係る情報処理システム1の構成例について説明する。図3は、本実施形態に係る情報処理システム1の構成例を示すブロック図である。図3を参照すると、本実施形態に係る情報処理システム1は、複数の情報処理端末10と情報処理サーバ20を備える。また、上記の各構成は、ネットワーク30を介して、互いに通信が行えるように接続される。
(情報処理端末10)
本実施形態に係る情報処理端末10は、共有元ユーザまたは共有先ユーザが用いる情報処理装置である。すなわち、本実施形態に係る情報処理端末10は、上述した第1の装置や第2の装置に相当する。なお、本実施形態に係る情報処理端末10は、第1の装置であると同時に第2に装置であってもよい。情報処理端末10を利用するユーザは、例えば、自身の登録した暗号化データに対する検索を他のユーザに許諾する共有元ユーザであると同時に、他のユーザが登録した暗号化データに対する検索を許諾された共有先ユーザで有り得る。
本実施形態に係る情報処理端末10は、共有元ユーザまたは共有先ユーザが用いる情報処理装置である。すなわち、本実施形態に係る情報処理端末10は、上述した第1の装置や第2の装置に相当する。なお、本実施形態に係る情報処理端末10は、第1の装置であると同時に第2に装置であってもよい。情報処理端末10を利用するユーザは、例えば、自身の登録した暗号化データに対する検索を他のユーザに許諾する共有元ユーザであると同時に、他のユーザが登録した暗号化データに対する検索を許諾された共有先ユーザで有り得る。
本実施形態に係る情報処理端末10は、例えば、PC(Personal Computer)、スマートフォン、タブレットなどであってもよい。
なお、本開示では、情報処理端末10を、クライアントと称する場合がある。また、本開示では、情報処理端末10による処理を、ローカル側の処理、と称する場合がある。
(情報処理サーバ20)
本実施形態に係る情報処理サーバ20は、情報処理端末10が生成した暗号化データや暗号化インデックスを保管し、また情報処理端末10により処理リクエストに基づいて暗号化データに対する検索処理を実行する情報処理装置である。すなわち、本実施形態に係る情報処理サーバ20は、上述した第3の装置に相当する。
本実施形態に係る情報処理サーバ20は、情報処理端末10が生成した暗号化データや暗号化インデックスを保管し、また情報処理端末10により処理リクエストに基づいて暗号化データに対する検索処理を実行する情報処理装置である。すなわち、本実施形態に係る情報処理サーバ20は、上述した第3の装置に相当する。
なお、本開示では、情報処理サーバ20を、単に、サーバと称する場合がある。また、本開示では、情報処理サーバ20による処理を、クラウド側の処理、と称する場合がある。
(ネットワーク30)
ネットワーク30は、情報処理端末10と情報処理サーバ20、また情報処理端末10同士を接続する機能を有する。ネットワーク30は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク30は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。また、ネットワーク30は、Wi-Fi(登録商標)、Bluetooth(登録商標)など無線通信網を含んでもよい。
ネットワーク30は、情報処理端末10と情報処理サーバ20、また情報処理端末10同士を接続する機能を有する。ネットワーク30は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク30は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。また、ネットワーク30は、Wi-Fi(登録商標)、Bluetooth(登録商標)など無線通信網を含んでもよい。
以上、本開示の一実施形態に係る情報処理システム1の構成例について説明した。なお、図3を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理システム1の構成は係る例に限定されない。本実施形態に係る情報処理システム1の構成は、仕様や運用に応じて柔軟に変形可能である。
<<1.3.情報処理端末10の機能構成例>>
次に、本開示の一実施形態に係る情報処理端末10の機能構成例について説明する。図4は、本実施形態に係る情報処理端末10の機能構成例を示すブロック図である。図4を参照すると、本実施形態に係る情報処理端末10は、ユーザ鍵管理部110、入力部120、暗号化部130、秘密分散処理部140、復号部150、表示部160、通信部170を備える。
次に、本開示の一実施形態に係る情報処理端末10の機能構成例について説明する。図4は、本実施形態に係る情報処理端末10の機能構成例を示すブロック図である。図4を参照すると、本実施形態に係る情報処理端末10は、ユーザ鍵管理部110、入力部120、暗号化部130、秘密分散処理部140、復号部150、表示部160、通信部170を備える。
(ユーザ鍵管理部110)
本実施形態に係るユーザ鍵管理部110は、ユーザ鍵の生成や保存を行う。ユーザ鍵管理部110は、例えば、ユーザ鍵生成部とユーザ鍵保存部とを含んでもよい。
本実施形態に係るユーザ鍵管理部110は、ユーザ鍵の生成や保存を行う。ユーザ鍵管理部110は、例えば、ユーザ鍵生成部とユーザ鍵保存部とを含んでもよい。
(入力部120)
本実施形態に係る入力部120は、ユーザによる暗号化対象データの入力や、検索ワードの入力を検出する。このために、本実施形態に係る入力部120は、例えば、キーボードやマウスなどの入力デバイスを備える。
本実施形態に係る入力部120は、ユーザによる暗号化対象データの入力や、検索ワードの入力を検出する。このために、本実施形態に係る入力部120は、例えば、キーボードやマウスなどの入力デバイスを備える。
(暗号化部130)
本実施形態に係る暗号化部130は、ユーザ鍵や分散鍵を用いた準同型ハッシュ演算を行う。本実施形態に係る暗号化部130は、ユーザ鍵を用いて暗号化データや暗号化インデックスを生成する登録処理部や、入力された検索ワードや分散鍵に基づく準同型ハッシュ演算を行う検索処理部として動作する。
本実施形態に係る暗号化部130は、ユーザ鍵や分散鍵を用いた準同型ハッシュ演算を行う。本実施形態に係る暗号化部130は、ユーザ鍵を用いて暗号化データや暗号化インデックスを生成する登録処理部や、入力された検索ワードや分散鍵に基づく準同型ハッシュ演算を行う検索処理部として動作する。
(秘密分散処理部140)
本実施形態に係る秘密分散処理部140は、分散鍵の生成や、他の情報処理端末10から受信した分散鍵の保管などを行う。本実施形態に係る秘密分散処理部140は、例えば、ユーザ鍵を秘密分散処理により分割し複数の分散鍵を生成する。
本実施形態に係る秘密分散処理部140は、分散鍵の生成や、他の情報処理端末10から受信した分散鍵の保管などを行う。本実施形態に係る秘密分散処理部140は、例えば、ユーザ鍵を秘密分散処理により分割し複数の分散鍵を生成する。
(復号部150)
本実施形態に係る復号部150は、情報処理サーバ20から受信した暗号化データをユーザ鍵を用いて復号する。
本実施形態に係る復号部150は、情報処理サーバ20から受信した暗号化データをユーザ鍵を用いて復号する。
(表示部160)
本実施形態に係る表示部160は、画像やテキストなどの視覚情報を出力する。本実施形態に係る表示部160は、例えば、検索ワードなどの入力データの入力、および検索結果の提示などの処理リクエストの結果に係る表示を行うためのユーザインタフェースを具備する。
本実施形態に係る表示部160は、画像やテキストなどの視覚情報を出力する。本実施形態に係る表示部160は、例えば、検索ワードなどの入力データの入力、および検索結果の提示などの処理リクエストの結果に係る表示を行うためのユーザインタフェースを具備する。
このために、本実施形態に係る表示部160は、視覚情報を提示する表示デバイスを備える。上記の表示デバイスには、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)装置、OLED(Organic Light Emitting Diode)装置、タッチパネルなどが挙げられる。
(通信部170)
本実施形態に係る通信部170は、ネットワーク30を介して、情報処理サーバ20や他の情報処理端末10との情報通信を行う。本実施形態に係る通信部170は、例えば、登録処理において、暗号化部130が暗号化した暗号化データや暗号化インデックスを情報処理サーバ20に送信する。また、通信部170は、例えば、検索処理において、暗号化部130が準同型ハッシュ演算により算出したハッシュ値を情報処理サーバ20や他の情報処理端末10に送信する。また、通信部170は、例えば、秘密分散処理部140が生成した分散鍵を情報処理サーバ20や他の情報処理端末10に送信する。また、通信部170は、他の情報処理端末10が生成した分散鍵を受信する。
本実施形態に係る通信部170は、ネットワーク30を介して、情報処理サーバ20や他の情報処理端末10との情報通信を行う。本実施形態に係る通信部170は、例えば、登録処理において、暗号化部130が暗号化した暗号化データや暗号化インデックスを情報処理サーバ20に送信する。また、通信部170は、例えば、検索処理において、暗号化部130が準同型ハッシュ演算により算出したハッシュ値を情報処理サーバ20や他の情報処理端末10に送信する。また、通信部170は、例えば、秘密分散処理部140が生成した分散鍵を情報処理サーバ20や他の情報処理端末10に送信する。また、通信部170は、他の情報処理端末10が生成した分散鍵を受信する。
以上、本実施形態に係る情報処理端末10の機能構成例について説明した。なお、図4を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理端末10の機能構成は係る例に限定されない。本実施形態に係る情報処理端末10の機能構成は、仕様や運用に応じて柔軟に変形可能である。
<<1.4.情報処理サーバ20の機能構成例>>
次に、本開示の一実施形態に係る情報処理サーバ20の機能構成例について説明する。図5は、本実施形態に係る情報処理サーバ20の機能構成例を示すブロック図である。図5を参照すると、本実施形態に係る情報処理サーバ20は、分散鍵管理部210、データ管理部220、処理部230、および端末通信部240を備える。
次に、本開示の一実施形態に係る情報処理サーバ20の機能構成例について説明する。図5は、本実施形態に係る情報処理サーバ20の機能構成例を示すブロック図である。図5を参照すると、本実施形態に係る情報処理サーバ20は、分散鍵管理部210、データ管理部220、処理部230、および端末通信部240を備える。
(分散鍵管理部210)
本実施形態に係る分散鍵管理部210は、情報処理端末10から受信した分散鍵の保管や、共有元ユーザが共有先ユーザに配布した分散鍵のマッチングなどを管理する。
本実施形態に係る分散鍵管理部210は、情報処理端末10から受信した分散鍵の保管や、共有元ユーザが共有先ユーザに配布した分散鍵のマッチングなどを管理する。
(データ管理部220)
本実施形態に係るデータ管理部220は、情報処理端末10から受信した暗号化データや暗号化インデックスを保管する。
本実施形態に係るデータ管理部220は、情報処理端末10から受信した暗号化データや暗号化インデックスを保管する。
(処理部230)
本実施形態に係る処理部230は、情報処理端末10から受信したハッシュ値に基づく判定を行い、情報処理端末10に対する検索結果の提示などの処理を実行する。本実施形態に係る処理部230は、準同型ハッシュ処理部や、ハッシュ値に係るビット一致判定を行う判定部などを含んでもよい。なお、本実施形態に係る処理部230が実行する処理は、上記に限定されない。本実施形態に係る処理部230は、後述するように、受信したハッシュ値に基づく決済処理や文書公開などを行ってもよい。
本実施形態に係る処理部230は、情報処理端末10から受信したハッシュ値に基づく判定を行い、情報処理端末10に対する検索結果の提示などの処理を実行する。本実施形態に係る処理部230は、準同型ハッシュ処理部や、ハッシュ値に係るビット一致判定を行う判定部などを含んでもよい。なお、本実施形態に係る処理部230が実行する処理は、上記に限定されない。本実施形態に係る処理部230は、後述するように、受信したハッシュ値に基づく決済処理や文書公開などを行ってもよい。
(端末通信部240)
本実施形態に係る端末通信部240は、ネットワーク30を介して、情報処理端末10との情報通信を行う。本実施形態に係る端末通信部240は、例えば、情報処理端末10から暗号化データや暗号化インデックスを受信する。また、本実施形態に係る端末通信部240は、例えば、情報処理端末10からハッシュ値を受信し、当該ハッシュ値に基づく処理の結果などを情報処理端末10に送信する。
本実施形態に係る端末通信部240は、ネットワーク30を介して、情報処理端末10との情報通信を行う。本実施形態に係る端末通信部240は、例えば、情報処理端末10から暗号化データや暗号化インデックスを受信する。また、本実施形態に係る端末通信部240は、例えば、情報処理端末10からハッシュ値を受信し、当該ハッシュ値に基づく処理の結果などを情報処理端末10に送信する。
以上、本実施形態に係る情報処理サーバ20の機能構成例について説明した。なお、図5を用いて説明した上記の機能構成はあくまで一例であり、本実施形態に係る情報処理サーバ20の機能構成は係る例に限定されない。本実施形態に係る情報処理サーバ20の機能構成は、仕様や運用に応じて柔軟に変形可能である。
<<1.5.機能の詳細>>
次に、本実施形態に係る情報処理システム1が有する機能について詳細に説明する。上述したように、本実施形態に係る情報処理システム1は、検索可能暗号技術を用いたセキュリティ性の高いマルチユーザ検索を実現する。ここで、検索可能暗号技術の代表的な手法としては、公開鍵暗号方式、共通鍵暗号方式、ハッシュ方式などが挙げられる。
次に、本実施形態に係る情報処理システム1が有する機能について詳細に説明する。上述したように、本実施形態に係る情報処理システム1は、検索可能暗号技術を用いたセキュリティ性の高いマルチユーザ検索を実現する。ここで、検索可能暗号技術の代表的な手法としては、公開鍵暗号方式、共通鍵暗号方式、ハッシュ方式などが挙げられる。
しかし、上記の公開鍵暗号方式は、ペアリングを用いた方式であるため性能に課題を有し、また共通鍵暗号方式は、シングルユーザであれば公開鍵暗号方式に比べ実用に耐え得る性能を得られるものの、マルチユーザへの適用が困難である。
このため、本実施形態に係る情報処理方法では、ハッシュ形式による検索可能暗号技術を採用する。ハッシュ形式とは、キーワードリストをハッシュ化したものを暗号化インデックスとして用いる方式であり、本実施形態に係る情報処理方法では、ユーザごとに固有のユーザ鍵を利用した鍵付きハッシュ(Keyed hash)を用いることで秘匿性を確保することが可能である。
また、ハッシュ方式によれば、キーワード数に依らない固定長の暗号化インデックスを生成することができ、ハッシュ計算による処理が可能なため暗号化に比べ処理を高速化することが可能である。
なお、本実施形態に係る情報処理方法では、準同型ハッシュ演算により算出したハッシュ値をそのものの他、当該ハッシュ値をAMQ(Approximate Membership Query)形式にエンコードした暗号化インデックスが用いられてよい。上記のAMQ形式には、例えば、ブルームフィルタやカウンティングフィルタが挙げられる。
ここで、情報処理端末10による上記の暗号化インデックスの生成について詳細に述べる。図6は、本実施形態に係る暗号化インデックスの生成について説明するための図である。
まず、本実施形態に係る情報処理端末10の暗号化部130は、ユーザ操作に基づいて、任意のデータDに含まれるキーワードWを抽出し、キーワードリストKLを生成する。この際、暗号化部130は、例えば、形態素解析によるキーワード抽出やn-gramによる単語抽出を行ってもよい。
次に、本実施形態に係る暗号化部130は、生成したキーワードリストKLをユーザ鍵UKを用いてハッシュ化し、暗号化インデックスEIを生成する。具体的には、本実施形態に係る暗号化部130は、各キーワードWごとに、公開情報である準同型ハッシュパラメータg、ユーザ鍵UK、キーワードWに基づく準同型ハッシュ演算を行い、算出したハッシュ値g(UK+W)をブルームフィルタにマッピングすることで暗号化インデックスEIを生成することができる。このため、キーワードリストKLに複数のキーワードWが含まれる場合には、ブルームフィルタには複数のビットが立つこととなる。暗号化部130は、1つのキーワードWに対して異なるハッシュ関数を用いてハッシュ値を計算し複数のビットを立てることもできる。
通信部170は、暗号化部130が上記のように生成した暗号化インデックスEIを、対応する暗号化データEDと共に情報処理サーバ20に送信する。また、情報処理サーバ20のデータ管理部220は、受信した暗号化インデックスEIおよび暗号化データEDを保管する。
次に、暗号化データEDおよび暗号化インデックスEIの登録を行ったユーザ本人による暗号化データの検索について述べる。図7は、本実施形態に係る暗号化データEDおよび暗号化インデックスEIの登録を行ったユーザ本人による暗号化データの検索について説明するための図である。
登録を行ったユーザ本人による検索の場合、暗号化部130は、入力部120から出力される検索ワードリストSWLに対し上述の準同型ハッシュ演算を行い、算出したハッシュ値をブルームフィルタにマッピングした暗号化キーワードEKWを生成する。この際、検索ワードリストSWLに複数の検索ワードが含まれ、かつ検索条件としてAND検索が指定された場合には、暗号化部130は、各検索ワードに係るハッシュ値を単一のブルームフィルタにマッピングしてよい。一方、検索ワードリストSWLに複数の検索ワードが含まれ、かつ検索条件としてOR検索が指定された場合には、暗号化部130は、各検索ワードごとにブルームフィルタへのマッピングを行う。
また、通信部170は、暗号化部130が上記のように生成した暗号化キーワードEKWを、情報処理サーバ20に送信する。
次に、情報処理サーバ20の処理部230は、情報処理端末10から受信した暗号化キーワードEKWと、データ管理部220が保管する複数の暗号化インデックスEIの比較を行う。具体的には、処理部230は、暗号化キーワードEKWと暗号化インデックスEI1~EI3の間でビット単位の一致判定を行ってよい。
ここで、暗号化キーワードEKWの1値ビットに対応するビットが、暗号化インデックスEIにおいても同様に1値ビットである場合、処理部230は、暗号化キーワードEKWが暗号化インデックスEIに含まれていると判定し、検索結果SRを端末通信部240を介して情報処理端末10に送信する。検索結果SRとしては、例えば、暗号化インデックスEIに対応する暗号化データEDや、暗号化データEDのリストなどが挙げられる。
次に、本実施形態に係る共有先ユーザによる暗号化データの検索について説明する。図8は、本実施形態に係る共有先ユーザによる暗号化データの検索について説明するための図である。なお、図2においては、情報処理端末10aが共有元ユーザが利用する第1の装置に相当し、情報処理端末10bが共有先ユーザが利用する第2の装置に相当する。また、情報処理サーバ20は、第3の装置に相当する。
まず、共有先ユーザが利用する情報処理端末10aの秘密分散処理部140は、共有元ユーザのユーザ鍵UKを秘密分散処理により分割し、2つの分散鍵S1およびS2を生成する。この際、秘密分散処理部140は、加法準同型性を有する秘密分散処理を用いて分散鍵の生成を行う。なお、秘密分散処理部140は、共有元ユーザが共有先ユーザによる検索を許諾した際に1度だけ分散鍵の生成を行ってよい。ただし、共有先ユーザが利用する情報処理端末10bの紛失時などにおいては、秘密分散処理部140は、再度、分散鍵の生成を行ってもよい。
また、通信部170は、分散鍵S1およびS2を情報処理端末10bおよび情報処理サーバ20にそれぞれ配布する。なお、情報処理端末10bに対する分散鍵S1の配布については、例えば、近距離無線通信を利用した配布、QRコード(登録商標)などの画像データを介した送付、情報処理サーバ20を介したエンドツーエンド(end to end)通信による配布などが想定される。
次に、情報処理端末10bの暗号化部130は、図中右側に示すように、検索ワードとして入力されたキーワードワードW1~WNごとに、受信した分散鍵S1および準同型ハッシュパラメータgを用いた、べき乗の準同型ハッシュ演算を行いハッシュ値g(S1+WN)を算出する。ここで、準同型ハッシュパラメータgは、予め情報処理端末10bと情報処理サーバ20とに共有された、同一の値を有する公開情報である。また、情報処理端末10bの通信部170は、算出されたハッシュ値を情報処理サーバ20に送信する。
次に、情報処理サーバ20の処理部230は、情報処理端末10bから受信したハッシュ値g(S1+WN)および情報処理端末10aから受信した分散鍵S2に基づく準同型ハッシュ演算を行う。
具体的には、処理部230は、分散鍵S2と準同型ハッシュパラメータgに基づいてべき乗の準同型ハッシュ演算を行いハッシュ値gS2を算出する。続いて、処理部230は、算出したハッシュ値gS2と情報処理端末10bから受信したハッシュ値g(S1+WN)とに基づく乗算の準同型ハッシュ演算を行う。この際、算出されるハッシュ値は、g(S1+W)*gS2=g(S1+S2+W)=g(UK+W)、となり、図7を用いて説明した登録者本人による検索時のハッシュ値と同一となる。
このように、本実施形態に係る情報処理方法によれば、共有元ユーザのユーザ鍵を分割した2つの分散鍵S1およびS2を、共有先ユーザが利用する情報処理端末10bおよび情報処理サーバ20にそれぞれ配布することで、分散鍵S1およびS2のペアがマッチする場合にのみ、共有先ユーザが共有元ユーザと同様の情報検索を行うことが可能となる。
本実施形態に係る情報処理方法によれば、分散鍵S1またはS2のみでは、暗号化データEDの取得が行えないため、サービス管理者などによる不正なデータ取得などを効果的に防止することが可能となる。
また、本実施形態に係る情報処理サーバ20の分散鍵管理部210は、情報処理端末10aの秘密分散処理部140からの削除リクエストを受信した場合、該当する分散鍵を削除してよい。上記の機能によれば、例えば、許諾した期間が経過した場合や、情報処理端末10bの紛失時などにおいても、情報処理サーバ20が保管する暗号化データEDを安全に保護することが可能となる。
次に、本実施形態に係る分散鍵管理部210による分散鍵の管理方法について説明する。上記では、処理部230が、情報処理端末10bから受信したハッシュ値と、情報処理端末10aから受信した分散鍵を用いて算出したハッシュ値とに基づく乗算の準同型ハッシュ演算を行うことを述べた。この際、本実施形態に係る処理部230は、例えば、分散鍵管理部210が記憶する管理テーブルに基づいて、情報処理端末10bに対応する分散鍵を特定し、当該分散鍵を分散鍵管理部210から取得することができる。
図9は、本実施形態に係る分散鍵の管理テーブルの一例を示す図である。図9に示すように、本実施形態に係る分散鍵の管理テーブルには、例えば、分散鍵ID、共有先ユーザID、共有元ユーザID、および分散鍵が登録される。
例えば、図8に示した一例の場合、情報処理端末10bの利用者である共有先ユーザ(ユーザB)が、上述したユーザインタフェースを介してサービスにログインすることで、共有先ユーザ(ユーザB)に対応する共有先ユーザID(ユーザIDB)が特定される。
また、共有先ユーザ(ユーザB)が上記ユーザインタフェース上において、検索対象として共有元ユーザ(ユーザA)が所有する暗号化データを指定することで、共有元ユーザID(ユーザIDA)が特定される。
この場合、本実施形態に係る処理部230は、上記で特定された共有先ユーザID(ユーザIDB)と共有元ユーザID(ユーザIDA)とをキーに管理テーブルを検索することで、分散鍵ID(5)に対応する分散鍵(分散鍵BA)を取得することが可能である。
なお、図9では、共有元ユーザ本人が検索を行う場合の鍵にも秘密分散処理が適用される一例を示している(分散鍵AA、分散鍵BBが該当)。この場合、共有元ユーザ本人が検索を行う場合にも図8に示したような分散鍵を用いた準同型ハッシュ演算による処理が行われてよい。
一方、上述したように、共有元ユーザは、自身のユーザ鍵UKを情報処理端末10に保管することができるため、図9に示す自身の分散鍵(分散鍵AA、分散鍵BBが該当)は、必ずしも情報処理サーバ20に保管されなくてもよい。
なお、共有先ユーザが、検索が許諾されている全ての共有元ユーザのデータを検索する場合、処理部230は、共有先ユーザIDに紐付く全ての共有元IDと、対応する分散鍵とをスキャンして取得することも可能である。
次に、共有先ユーザが利用する情報処理端末10による暗号化データの復号について説明する。図8に示した検索により、共有先ユーザが利用する情報処理端末10bは、検索結果として暗号化データEDを情報処理サーバ20からダウンロードすることが可能である。
しかし、暗号化データEDは、共有元ユーザに固有のユーザ鍵UK(秘密鍵)で暗号化されているため、ユーザ鍵UKを保持しない情報処理端末10bは、そのままでは暗号化データEDを復号することができない。
そこで、本実施形態に係る情報処理方法では、プロキシ暗号による再暗号化を適用することで、上記の点を解決する。
図10は、本実施形態に係る共有先ユーザが利用する情報処理端末10による暗号化データの復号について説明するための図である。
上述したように、共有元ユーザが利用する情報処理端末10aは、暗号化データEDおよび暗号化インデックスEIを情報処理サーバ20に送信した後、生成した分散鍵S1およびS2を、情報処理サーバ20および共有元ユーザにより暗号化データEDの検索が許諾された共有先ユーザが利用する情報処理端末10bにそれぞれ配布する。
次に、情報処理端末10aの秘密分散処理部140は、共有先ユーザが利用する情報処理端末10bから、共有先ユーザの公開鍵PKを受信し、公開鍵PKと共有元ユーザの秘密鍵SKAを用いて再暗号化鍵REKを生成する。また、通信部170は、秘密分散処理部140が生成した再暗号化鍵REKを情報処理サーバ20に送信する。
この後、共有先ユーザが利用する情報処理端末10bによる情報検索に係る処理リクエストの結果、対応する暗号化データEDが存在する場合、処理部230は、情報処理端末10aから受信した再暗号化鍵REKを用いて暗号化データEDを再暗号化した再暗号化データREDを生成し、端末通信部240が検索結果として再暗号化データREDを情報処理端末10bに送信する。
次に、情報処理端末10bの復号部150は、受信した再暗号化データREDを共有先ユーザの秘密鍵SKBを用いて復号する。
このように、本実施形態に係る情報処理方法によれば、共有元ユーザの秘密鍵を共有先ユーザが利用する情報処理端末10bにシェアしなくとも、情報処理端末10bが共有先ユーザの秘密鍵を用いて、共有元ユーザのデータを閲覧することが可能となる。
次に、本実施形態に係るユーザインタフェースについて説明する。上述したように、本実施形態に係る情報処理サーバ20は、検索ワードなどの入力データの入力、および処理リクエストのけ結果に係る表示を行うためのユーザインタフェースを制御してよい。共有元ユーザや共有先ユーザは、上記のユーザインタフェースを介して、検索のリクエストや検索結果の閲覧を行うことができる。
図11は、本実施形態に係る情報処理サーバ20が制御するユーザインタフェースUIの一例である。ユーザは、例えば、図11の左側に示すように、ユーザインタフェースUIに表示される検索フィールドF1に認識の検索ワードを入力し、検索ボタンを押下することで、当該検索ワードが含まれる暗号化データのリストの一覧を取得できてもよい。
図11に示す一例の場合、ユーザインタフェースUIには、ユーザが検索フィールドF1に入力した検索ワード「土地」が含まれる暗号化データのリストが、データの所有者ごとに表示されている。ユーザが他のユーザにデータの検索を許諾されている共有先ユーザである場合、検索結果には、「日記1」や「日記2」のような自身のデータに係るリストのみではなく、「相続1」のような共有元ユーザのデータに係るリストも表示される。
また、この際、共有先ユーザは、例えば、表示されるリストから「相続1」などのデータを選択することで、図11の右側に示すように、選択したデータの詳細情報を確認することができる。上記の詳細情報には、暗号化される前のデータそのものや、公開状況などが含まれてもよい。
このように、本実施形態に係る情報処理方法を実現する情報処理システム1によれば、日記や遺言などの秘匿性の高い文書データを、許諾したユーザにのみ安全かつ少ない処理負担で検索させることが可能となり、検索処理を伴う各種のサービスにおいて活用が見込まれる。
なお、上記では、本実施形態に係る第2の装置が1つである場合、すなわち共有先ユーザが1人である場合を主な例として説明した。一方、本実施形態に過かある第2の装置の数、すなわち共有先ユーザの数は係る例に限定されない。本実施形態に係る第2の装置、共有先ユーザは複数であってもよい。
すなわち、共有元ユーザが利用する情報処理端末10aの秘密分散処理部140は、秘密分散処理により、共有先ユーザの数に1を加えた数の分散鍵を生成してよい。例えば、共有先ユーザが1人である場合、共有元ユーザが利用する情報処理端末10aの秘密分散処理部140は、共有先ユーザが利用する情報処理端末10bと情報処理サーバ20にそれぞれ配布するための合計2つの分散鍵を生成してよい。また、例えば、共有先ユーザが3人である場合、共有元ユーザが利用する情報処理端末10aの秘密分散処理部140は、3人の共有先ユーザが利用する3つの情報処理端末10bと情報処理サーバ20にそれぞれ配布するための合計4つの分散鍵を生成してよい。
図12は、本実施形態に係る複数の共有先ユーザが存在する場合の処理について説明するための図である。なお、図12には、第1の装置に相当する情報処理端末10aを利用する共有元ユーザにより、第2の装置に相当する情報処理端末10b-1および10b-2を利用する2人の共有先ユーザが設定された場合の一例が示されている。
図12に示す一例の場合、共有元ユーザが利用する情報処理端末10aの秘密分散処理部140は、共有元ユーザのユーザ鍵UKを秘密分散処理により分割し、3の分散鍵S1~S3を生成している。また、情報処理端末10aの通信部170は、秘密分散処理部140が生成した3つの分散鍵S1~S3を、情報処理端末10b-1、情報処理端末10b-2、情報処理サーバ20にそれぞれ配布している。
この際、本実施形態に係る第3の装置に相当する情報処理サーバ20は、第2の装置に相当する複数の情報処理端末10bのすべてが、分散鍵を用いた準同型ハッシュ演算により、順に算出したハッシュ値と、ユーザ鍵UKに基づく準同型ハッシュ演算により算出されたハッシュ値との比較を行うことで、所定の処理の実行可否を判定してよい。
より具体的には、本実施形態に係る第2の装置に相当する複数の情報処理端末10bは、処理理リクエストの起点となる起点端末と、処理リクエストが経由する経由端末に分けられる。例えば、処理リクエストが、検索結果の提示に係るリクエストである場合、上記の起点端末とは、検索を実行したい共有先ユーザの一人により任意の検索ワードが入力される端末を指す。
図12に示す一例の場合、情報処理端末10aから分散鍵S1を配布された情報処理端末10b-1が上記の起点端末に相当する。この際、情報処理端末10b-1は、分散鍵S1、およびユーザが入力した検索ワードから抽出した検索ワードリストSWLに基づく準同型ハッシュ演算により算出したハッシュ値を、経由端末に相当する情報処理端末10b-2に送信する。
次に、経由端末に相当する情報処理端末10b-2は、経由端末に相当する情報処理端末10b-1から受信したハッシュ値、および分散鍵S2に基づく準同型ハッシュ演算により算出したハッシュ値を算出する。
ここで、未だ他の準同型ハッシュ演算を行っていない他の経由端末が存在する場合、情報処理端末10b-2は、算出したハッシュ値を当該他の経由端末のうちの1つに送信してよい。一方、図12に示すように、準同型ハッシュ演算を行っていない他の経由端末が存在しない場合、情報処理端末10b-2は、算出したハッシュ値を第3の装置に相当する情報処理サーバ20に送信する。
次に、情報処理サーバ20は、すべての第2の装置、すなわち情報処理端末10aから分散鍵が配布された情報処理端末10bにより順に算出されたハッシュ値に対し、情報処理端末10aから受信した分散鍵S3に基づく準同型ハッシュ演算により算出したハッシュ値を乗算することで、ユーザ鍵UKと同様のハッシュ値を取得することができる。
このように、本実施形態に係る情報処理システム1によれば、情報処理端末10aから分散鍵を配布された他の情報処理端末10bによる準同型ハッシュ演算が行われない限り、ある情報処理端末10bが単独でデータにアクセスすることを防止することができる。また、それぞれの情報処理端末10bは、準同型ハッシュ演算の結果としてのハッシュ値のみを受信するため、他の情報処理端末10bに配布された分散鍵を入手することができないことから、共有先ユーザの1人が他の共有先ユーザに配布された分散鍵を傍受し不当な情報取得を行うことを防止することができる。
なお、本実施形態に係る情報処理サーバ20の処理部230が実行する処理は、暗号化データの検索結果の提示に限定されない。本実施形態に係る情報処理方法は、上述した秘密分散処理および検索可能暗号技術をベースとした種々の処理に適用され得る。
例えば、本実施形態に係る情報処理方法は、決算処理等に係る承認フローの一部として用いることが可能である。図13は、本実施形態に係る情報処理方法を適用した承認フローの一例について説明するための図である。
図13には、担当社員により依頼された決済処理を、課長、部長を経て経理部が承認する場合の一例が示されている。
図12に示す一例の場合、まず、経理部が管理する第1の装置により、ユーザ鍵UKが秘密分散処理により分割され、また生成された分散鍵S1~S3が、担当社員、課長、部長が利用する第2の装置にそれぞれ配布される。
上記の配布処理の後、担当社員が利用する第2の装置は、配布された分散鍵S1、準同型ハッシュパラメータg、および担当社員により入力された決済文書であるデータDに基づく準同型ハッシュ演算処理を行い、算出したハッシュ値を直属の上長である課長が利用する第2の装置に送信する。
次に、課長が利用する第2の装置は、受信したハッシュ値と、分散鍵S2、準同型ハッシュパラメータgに基づく準同型ハッシュ演算を行い、算出したハッシュ値を次の承認先である部長が利用する第2の装置に送信する。
次に、部長が利用する第2の装置は、受信したハッシュ値と、分散鍵S3、準同型ハッシュパラメータgに基づく準同型ハッシュ演算を行い、算出したハッシュ値を最終承認先である経理部が管理する第3の装置に送信する。
ここで、上記のように複数の第2の装置により順に算出されたハッシュ値は、電子署名としての役割を果たすものあってよい。第3の装置は、受信した上記の電子署名の検証を行うことで、決済処理を実行するか否かを判定することができる。
具体的には、経理部が管理する第3の装置は、部長が利用する第2の装置から受信したハッシュ値が、ユーザ鍵UKと決済文書であるデータDに基づく準同型ハッシュ演算により算出されたハッシュ値とが一致するか否かを判定する(g(S1+S2+S3+D)?=g(UK+D))。
ここで、両者が一致する場合(g(S1+S2+S3+D)==g(UK+D))、第3の装置は、決済文書であるデータDに係る決済処理を実行してよい。
以上、本実施形態に係る情報処理方法が、決済処理などに係る承認フローの一部として適用される場合について説明した。本実施形態に係る情報処理方法を適用した上記のような承認フローによれば、非常にセキュリティ性の高い承認フローを実現するとともに、正規の承認ルートを通っていない申請を確実に棄却することが可能となる。
また、本実施形態に係る情報処理方法は、分散鍵が配布された共有先ユーザの全員一致による所定の処理の実行に適用されてもよい。図14は、本実施形態に係る情報処理方法を適用した共有先ユーザの全員一致による処理実行の一例を示す図である。
図14には、父が遺した遺言が家族全員の意思の一致により公開される場合の一例が示されている。
図13に示す一例の場合、まず、第1の装置により、ユーザ鍵UKが秘密分散処理により分割され、また生成された分散鍵S1~S3が、母、長女、長男が利用する第2の装置にそれぞれ配布される。また、図13に示す一例では、第1の装置により生成された遺言公開リクエストであるデータDが、起点端末である母が利用する第2の装置に送信されている。
上記の配布処理の後、母が利用する第2の装置は、配布された分散鍵S1、準同型ハッシュパラメータg、および遺言公開リクエストであるデータDに基づく準同型ハッシュ演算処理を行い、算出したハッシュ値を長女が利用する第2の装置に送信する。
その後、長女および長男が利用する第2の装置は、図13で示した処理と同様の処理を行う。
また、父の残した遺言を保管する第3の装置は、長男が利用する第2の装置から受信したハッシュ値が、ユーザ鍵UKとデータDに基づく準同型ハッシュ演算により算出されたハッシュ値とが一致するか否かを判定する(g(S1+S2+S3+D)?=g(UK+D))。
ここで、両者が一致する場合(g(S1+S2+S3+D)==g(UK+D))、第3の装置は、父の遺言が暗号化された暗号化データEDを、母、長女、長男が利用する第2装置に送信してよい。
以上、本実施形態に係る情報処理方法が、分散鍵が配布された共有先ユーザの全員一致による所定の処理の実行に適用される場合について説明した。本実施形態に係る情報処理方法を適用した上記のような処理実行によれば、秘匿性が高くかつ重要な文書の公開などを、関係者全員の意思の一致にのみ基づいて実行することが可能となる。
なお、図13および図14に示した一例の場合、第1の装置および第3の装置は、同一の装置として実現されてもよい。本実施形態に係る情報処理システム1の機能構成は、適用されるサービスに応じて柔軟に変形可能である。
<<1.6.動作の流れ>>
次に、本開示の一実施形態に係る情報処理システム1の動作の流れについて詳細に説明する。
次に、本開示の一実施形態に係る情報処理システム1の動作の流れについて詳細に説明する。
まず、本実施形態に係る情報処理システム1による暗号化データおよび暗号化インデックスの登録の流れについて述べる。図15は、本実施形態に係る暗号化データおよび暗号化インデックスの登録の流れを示すシーケンス図である。
図15を参照すると、まず、共有元ユーザが利用する第1の装置に相当する情報処理端末10aのユーザ鍵管理部110aが、ユーザ鍵の生成を行う(S1101)。また、ユーザ鍵管理部110aは、ステップS1101において生成したユーザ鍵を内部ストレージなどに保存する。
次に、入力部120aがユーザの入力操作に基づいて、暗号化の対象となるデータを取得する(S1103)。また、入力部120aは、ステップS1102において取得したデータを暗号化部130aに送信する(S1104)。
また、ユーザ鍵管理部110aは、暗号化部130aからの要求などに基づいて、ステップS1102において保存したユーザ鍵を暗号化部130aに送信する。
次に、暗号化部130aは、ステップS1104において受信したデータからキーワードの抽出を行う(S1106)。
また、暗号化部130aは、ステップS1104において受信したデータを、ステップS1105において受信したユーザ鍵を用いて暗号化して暗号化データを生成し(S1107)、同様に、ステップS1106において抽出したキーワードを暗号化し暗号化インデックスを生成する(S1108)。
続いて、暗号化部130aは、ステップS1107およびS1108において生成した暗号化データおよび暗号化インデックスを、通信部170aを介して、第3の装置に相当する情報処理サーバ20に送信する(S1109)。
次に、情報処理サーバ20のデータ管理部220は、ステップS1109において受信した暗号化データおよび暗号化インデックスの保存を行う(S1110およびS1111)。
以上、本実施形態に係る暗号化データおよび暗号化インデックスの登録の流れについて説明した。次に、本実施形態に係る分散鍵配布の流れについて説明する。図16は、本実施形態に係る分散鍵配布の流れを示すシーケンス図である。
図16を参照すると、まず、共有元ユーザが利用する第1の装置に相当する情報処理端末10aのユーザ鍵管理部110aが、図15に示すステップS1102において保存したユーザ鍵を秘密分散処理部140aに送信する(S1201)。
次に、秘密分散処理部140aは、ステップS1201において受信したユーザ鍵を秘密分散処理により分割し2つの分散鍵を生成する(S1202)。
次に、秘密分散処理部140aは、ステップS1202において生成した分散鍵のうちの一方を、通信部170aを介して、第2の装置に相当する情報処理端末10bに配布する(S1203)。
情報処理端末10bの秘密分散処理部140bは、ステップS1203において受信した分散鍵を保存する(S1204)。
また、秘密分散処理部140aは、ステップS1202において生成した分散鍵のうちのもう一方を、通信部170aを介して、第3の装置に相当する情報処理サーバ20に配布する(S1205)。
情報処理サーバ20の分散鍵管理部210は、ステップS1205において受信した分散鍵を保存する(S1206)。
以上、本実施形態に係る分散鍵配布の流れについて説明した。次に、本実施形態に係る検索処理の流れについて説明する。図17は、本実施形態に係る検索処理の流れを示すシーケンス図である。
図17を参照すると、まず、第2の装置に相当する情報処理端末10bの入力部120bが、ユーザによる入力操作に基づいて、検索ワードを取得する(S1301)。また、入力部120bは、ステップS1301において取得した検索ワードを暗号化部130に送信する(S1302)。
次に、秘密分散処理部140bが、暗号化部130bによる要求などに基づいて、図16に示すステップS1204において保存した分散鍵を暗号化部130に送信する(S1303)。
次に、暗号化部130bは、ステップS1302において受信した検索ワード、およびステップS1303において受信した分散鍵に基づく準同型ハッシュ演算を行う(S1304)。
暗号化部130bは、ステップS1304において算出したハッシュ値を、通信部170bを介して、第3の装置に相当する情報処理サーバ20に送信する(S1305)。
次に、情報処理サーバ20の分散鍵管理部210は、ステップS1305においてハッシュ値を受信した処理部230による要求などに基づいて、図16のステップS1206において保存した分散鍵を処理部230に送信する(S1306)。
次に、処理部230は、ステップS1305において受信したハッシュ値、およびステップS1306において受信した分散鍵に基づくハッシュ演算を行う(S1307)。
続いて、処理部230は、ステップS1307において算出したハッシュ値と、図15に示すステップS1111において保存した暗号化インデックスと、の間におけるビット一致判定を行う(S1308)。
ここで、検索ワードが暗号化インデックスに含めていると判定した場合、処理部230は、当該検索ワードに対応する検索結果を情報処理端末10bに送信する(1309)。
次に、情報処理端末10bの復号部150bは、ステップS1309において受信した検索結果の復号を行う(S1310)。
<2.ハードウェア構成例>
次に、本開示の一実施形態に係る情報処理端末10および情報処理サーバ20に共有するハードウェア構成例について説明する。図18は、本開示の一実施形態に係る情報処理端末10および情報処理サーバ20のハードウェア構成例を示すブロック図である。図18を参照すると、情報処理サーバ20は、例えば、プロセッサ871と、ROM872と、RAM873と、ホストバス874と、ブリッジ875と、外部バス876と、インターフェース877と、入力装置878と、出力装置879と、ストレージ880と、ドライブ881と、接続ポート882と、通信装置883と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
次に、本開示の一実施形態に係る情報処理端末10および情報処理サーバ20に共有するハードウェア構成例について説明する。図18は、本開示の一実施形態に係る情報処理端末10および情報処理サーバ20のハードウェア構成例を示すブロック図である。図18を参照すると、情報処理サーバ20は、例えば、プロセッサ871と、ROM872と、RAM873と、ホストバス874と、ブリッジ875と、外部バス876と、インターフェース877と、入力装置878と、出力装置879と、ストレージ880と、ドライブ881と、接続ポート882と、通信装置883と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
(プロセッサ871)
プロセッサ871は、例えば、演算処理装置又は制御装置として機能し、ROM872、RAM873、ストレージ880、又はリムーバブル記録媒体901に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。
プロセッサ871は、例えば、演算処理装置又は制御装置として機能し、ROM872、RAM873、ストレージ880、又はリムーバブル記録媒体901に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。
(ROM872、RAM873)
ROM872は、プロセッサ871に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM873には、例えば、プロセッサ871に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
ROM872は、プロセッサ871に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM873には、例えば、プロセッサ871に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
(ホストバス874、ブリッジ875、外部バス876、インターフェース877)
プロセッサ871、ROM872、RAM873は、例えば、高速なデータ伝送が可能なホストバス874を介して相互に接続される。一方、ホストバス874は、例えば、ブリッジ875を介して比較的データ伝送速度が低速な外部バス876に接続される。また、外部バス876は、インターフェース877を介して種々の構成要素と接続される。
プロセッサ871、ROM872、RAM873は、例えば、高速なデータ伝送が可能なホストバス874を介して相互に接続される。一方、ホストバス874は、例えば、ブリッジ875を介して比較的データ伝送速度が低速な外部バス876に接続される。また、外部バス876は、インターフェース877を介して種々の構成要素と接続される。
(入力装置878)
入力装置878には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力装置878としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。また、入力装置878には、マイクロフォンなどの音声入力装置が含まれる。
入力装置878には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力装置878としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。また、入力装置878には、マイクロフォンなどの音声入力装置が含まれる。
(出力装置879)
出力装置879は、例えば、CRT(Cathode Ray Tube)、LCD、又は有機EL等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。また、本開示に係る出力装置879は、触覚刺激を出力することが可能な種々の振動デバイスを含む。
出力装置879は、例えば、CRT(Cathode Ray Tube)、LCD、又は有機EL等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。また、本開示に係る出力装置879は、触覚刺激を出力することが可能な種々の振動デバイスを含む。
(ストレージ880)
ストレージ880は、各種のデータを格納するための装置である。ストレージ880としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。
ストレージ880は、各種のデータを格納するための装置である。ストレージ880としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。
(ドライブ881)
ドライブ881は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体901に記録された情報を読み出し、又はリムーバブル記録媒体901に情報を書き込む装置である。
ドライブ881は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体901に記録された情報を読み出し、又はリムーバブル記録媒体901に情報を書き込む装置である。
(リムーバブル記録媒体901)
リムーバブル記録媒体901は、例えば、DVDメディア、Blu-ray(登録商標)メディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体901は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。
リムーバブル記録媒体901は、例えば、DVDメディア、Blu-ray(登録商標)メディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体901は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。
(接続ポート882)
接続ポート882は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS-232Cポート、又は光オーディオ端子等のような外部接続機器902を接続するためのポートである。
接続ポート882は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS-232Cポート、又は光オーディオ端子等のような外部接続機器902を接続するためのポートである。
(外部接続機器902)
外部接続機器902は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。
外部接続機器902は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。
(通信装置883)
通信装置883は、ネットワークに接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデム等である。
通信装置883は、ネットワークに接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデム等である。
<3.まとめ>
以上説明したように、本開示の一実施形態に係る情報処理方法を実現する情報処理システムは、共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する第1の装置と、第1の装置が生成した複数の分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信する第2の装置と、第1の装置が生成した複数の分散鍵のうちの1つと、第2の装置から受信した処理リクエストに基づく判定を行う第3の装置と、を備える。ここで、第1の装置は、生成した複数の分散鍵のうち互いに異なる分散鍵を、共有先ユーザが利用する第2の装置、および第3の装置にそれぞれ配布してよい。また、第2の装置は、受信した分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を第3の装置に送信してよい。また、第3の装置は、第2の装置から受信したハッシュ値および第1の装置から受信した分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、上記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、所定の処理を実行するか否かを判定してよい。
以上説明したように、本開示の一実施形態に係る情報処理方法を実現する情報処理システムは、共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する第1の装置と、第1の装置が生成した複数の分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信する第2の装置と、第1の装置が生成した複数の分散鍵のうちの1つと、第2の装置から受信した処理リクエストに基づく判定を行う第3の装置と、を備える。ここで、第1の装置は、生成した複数の分散鍵のうち互いに異なる分散鍵を、共有先ユーザが利用する第2の装置、および第3の装置にそれぞれ配布してよい。また、第2の装置は、受信した分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を第3の装置に送信してよい。また、第3の装置は、第2の装置から受信したハッシュ値および第1の装置から受信した分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、上記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、所定の処理を実行するか否かを判定してよい。
上記の構成によれば、マルチユーザに対応した、よりセキュリティ性の高い情報検索を実現することが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
また、コンピュータに内蔵されるCPU、ROMおよびRAMなどのハードウェアに、情報処理端末10や情報処理サーバ20が有する構成と同等の機能を発揮させるためのプログラムも作成可能であり、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。
また、本明細書の情報処理システム1の処理に係る各ステップは、必ずしもシーケンス図に記載された順序に沿って時系列に処理される必要はない。例えば、情報処理システム1の処理に係る各ステップは、シーケンス図に記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
なお、以下のような構成も本開示の技術的範囲に属する。
(1) 共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する第1の装置と、 前記第1の装置が生成した複数の前記分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信する第2の装置と、
前記第1の装置が生成した複数の前記分散鍵のうちの1つと、前記第2の装置から受信した前記処理リクエストに基づく判定を行う第3の装置と、
を備え、
前記第1の装置は、生成した複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する前記第2の装置、および前記第3の装置にそれぞれ配布し、 前記第2の装置は、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信し、
前記第3の装置は、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、前記所定の処理を実行するか否かを判定する、
情報処理システム。
(2) 前記第3の装置は、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とが一致する場合、前記所定の処理を実行する、
前記(1)に記載の情報処理システム。
(3) 前記所定の処理は、前記第3の装置が保存する暗号化データに対する検索結果の提示を含み、 前記第2の装置は、受信した前記分散鍵、および検索ワードに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信し、
前記第3の装置は、前記第2の装置から受信したハッシュ値が、前記暗号化データに対応する暗号化インデックスに含まれる場合、前記検索ワードに対応する検索結果を前記第2の装置に送信し、
前記暗号化インデックスは、前記暗号化データから抽出されたキーワードリスト、および前記共有元ユーザの前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値である、
前記(1)に記載の情報処理システム。
(4) 前記検索結果は、前記検索ワードを含む前記暗号化データ、または前記検索ワードを含む前記暗号化データのリストのうち少なくともいずれか含む、
前記(3)に記載の情報処理システム。
(5) 前記第3の装置は、前記検索結果として、プロキシ暗号を用いて前記暗号化データを再暗号化した再暗号化データを前記第2の装置に送信する、
前記(3)に記載の情報処理システム。
(6) 前記第1の装置は、前記分散鍵を配布した前記第2の装置から前記共有先ユーザの公開鍵を受信し、前記公開鍵と前記共有元ユーザの秘密鍵を用いて生成した再暗号化鍵を前記第3の装置に送信し、
前記第3の装置は、受信した前記再暗号化鍵を用いて前記暗号化データを再暗号化した前記再暗号化データを前記第2の装置に送信し、
前記第2の装置は、受信した前記再暗号化データを前記共有先ユーザの秘密鍵を用いて復号する、
前記(5)に記載の情報処理システム。
(7) 前記第1の装置は、前記暗号化データと、前記暗号化データから抽出した前記キーワードリストおよび前記共有元ユーザの前記ユーザ鍵に基づく準同型ハッシュ演算により生成した前記暗号化インデックスとを、前記第3の装置に送信する、
前記(3)~(6)のいずれかに記載の情報処理システム。
(8) 前記第1の装置は、前記キーワードリストおよび前記共有元ユーザの前記ユーザ鍵に基づく準同型ハッシュ演算により算出したハッシュ値をAMQ(Approximate Membership Query)形式にエンコードした前記暗号化インデックスを生成する、前記(7)に記載の情報処理システム。
(9) 前記AMQ形式は、少なくともブルームフィルタを含む、
前記(8)に記載の情報処理システム。
(10)前記第3の装置は、前記第1の装置からの削除リクエストに基づいて、前記第1の装置から受信した前記分散鍵を削除する、
前記(1)~(9)のいずれかに記載の情報処理システム。
(11) 前記第1の装置は、前記秘密分散処理により、前記共有先ユーザの数に1を加えた数の前記分散鍵を生成する、
前記(1)~(10)のいずれかに記載の情報処理システム。
(12) 前記第1の装置は、互いに異なる前記分散鍵を、複数の前記第2の装置および前記第3の装置にそれぞれ配布し、
前記第3の装置は、複数の前記第2の装置のすべてが、前記分散鍵を用いた準同型ハッシュ演算により、順に算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較する、
前記(11)に記載の情報処理システム。
(13) 複数の前記第2の装置は、前記処理リクエストの起点となる起点端末と、前記処理リクエストが経由する経由端末とを含み、
前記起点端末は、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記経由端末に送信し、
前記経由端末は、受信した前記分散鍵、および前記起点端末または他の前記経由端末から受信したハッシュ値に基づく準同型ハッシュ演算により算出したハッシュ値を、当該準同型ハッシュ演算を行っていない他の前記経由端末または前記第3の装置に送信する、前記(12)に記載の情報処理システム。
(14) 前記経由端末は、準同型ハッシュ演算を行っていない他の前記経由端末が存在する場合、前記ハッシュ値を当該他の前記経由端末のうちの1つに送信し、準同型ハッシュ演算を行っていない他の前記経由端末が存在しない場合、算出したハッシュ値を前記第3の装置に送信する、
前記(13)に記載の情報処理システム。
(15) 前記所定の処理は、決済処理を含み、
前記第3の装置は、前記第2の装置から受信したハッシュ値と、前記ユーザ鍵と前記入力データに基づく準同型ハッシュ演算により算出されたハッシュ値とが一致する場合、前記決済処理を実行する、
前記(1)~(14)のいずれかに記載の情報処理システム。
(16) 前記所定の処理は、文書の公開処理を含み、
前記第3の装置は、前記第2の装置から受信したハッシュ値と、前記ユーザ鍵と前記入力データに基づく準同型ハッシュ演算により算出されたハッシュ値とが一致する場合、前記文書の公開処理を実行する、
前記(1)~(15)のいずれかに記載の情報処理システム。
(17) 前記第3の装置は、前記入力データの入力、および前記処理リクエストの結果に係る表示を行うためのインタフェースを制御する、
前記(1)~(16)のいずれかに記載の情報処理システム。
(18) 第1の装置が、共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成することと、
第2の装置が、前記第1の装置が生成した複数の前記分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信することと、
第3の装置が、前記第1の装置が生成した複数の前記分散鍵のうちの1つと、前記第2の装置から受信した前記処理リクエストに基づく判定を行うことと、
を含み、
前記第1の装置が、生成した複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する前記第2の装置、および前記第3の装置にそれぞれ配布することと、 前記第2の装置が、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信することと、
前記第3の装置が、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、前記所定の処理を実行するか否かを判定することと、
をさらに含む、
情報処理方法。
(19) 共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する秘密分散処理部と、
複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する端末、および暗号化データが保存されるサーバにそれぞれ送信する通信部と、
を備える、
情報処理装置。
(20) 前記ユーザ鍵を用いて前記暗号化データを生成する暗号化部、
をさらに備え、
前記通信部は、前記暗号化データを前記サーバに送信し、
前記共有先ユーザは、前記共有元ユーザにより前記暗号化データの検索が許諾されたユーザである、
前記(19)に記載の情報処理装置。
(1) 共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する第1の装置と、 前記第1の装置が生成した複数の前記分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信する第2の装置と、
前記第1の装置が生成した複数の前記分散鍵のうちの1つと、前記第2の装置から受信した前記処理リクエストに基づく判定を行う第3の装置と、
を備え、
前記第1の装置は、生成した複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する前記第2の装置、および前記第3の装置にそれぞれ配布し、 前記第2の装置は、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信し、
前記第3の装置は、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、前記所定の処理を実行するか否かを判定する、
情報処理システム。
(2) 前記第3の装置は、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とが一致する場合、前記所定の処理を実行する、
前記(1)に記載の情報処理システム。
(3) 前記所定の処理は、前記第3の装置が保存する暗号化データに対する検索結果の提示を含み、 前記第2の装置は、受信した前記分散鍵、および検索ワードに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信し、
前記第3の装置は、前記第2の装置から受信したハッシュ値が、前記暗号化データに対応する暗号化インデックスに含まれる場合、前記検索ワードに対応する検索結果を前記第2の装置に送信し、
前記暗号化インデックスは、前記暗号化データから抽出されたキーワードリスト、および前記共有元ユーザの前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値である、
前記(1)に記載の情報処理システム。
(4) 前記検索結果は、前記検索ワードを含む前記暗号化データ、または前記検索ワードを含む前記暗号化データのリストのうち少なくともいずれか含む、
前記(3)に記載の情報処理システム。
(5) 前記第3の装置は、前記検索結果として、プロキシ暗号を用いて前記暗号化データを再暗号化した再暗号化データを前記第2の装置に送信する、
前記(3)に記載の情報処理システム。
(6) 前記第1の装置は、前記分散鍵を配布した前記第2の装置から前記共有先ユーザの公開鍵を受信し、前記公開鍵と前記共有元ユーザの秘密鍵を用いて生成した再暗号化鍵を前記第3の装置に送信し、
前記第3の装置は、受信した前記再暗号化鍵を用いて前記暗号化データを再暗号化した前記再暗号化データを前記第2の装置に送信し、
前記第2の装置は、受信した前記再暗号化データを前記共有先ユーザの秘密鍵を用いて復号する、
前記(5)に記載の情報処理システム。
(7) 前記第1の装置は、前記暗号化データと、前記暗号化データから抽出した前記キーワードリストおよび前記共有元ユーザの前記ユーザ鍵に基づく準同型ハッシュ演算により生成した前記暗号化インデックスとを、前記第3の装置に送信する、
前記(3)~(6)のいずれかに記載の情報処理システム。
(8) 前記第1の装置は、前記キーワードリストおよび前記共有元ユーザの前記ユーザ鍵に基づく準同型ハッシュ演算により算出したハッシュ値をAMQ(Approximate Membership Query)形式にエンコードした前記暗号化インデックスを生成する、前記(7)に記載の情報処理システム。
(9) 前記AMQ形式は、少なくともブルームフィルタを含む、
前記(8)に記載の情報処理システム。
(10)前記第3の装置は、前記第1の装置からの削除リクエストに基づいて、前記第1の装置から受信した前記分散鍵を削除する、
前記(1)~(9)のいずれかに記載の情報処理システム。
(11) 前記第1の装置は、前記秘密分散処理により、前記共有先ユーザの数に1を加えた数の前記分散鍵を生成する、
前記(1)~(10)のいずれかに記載の情報処理システム。
(12) 前記第1の装置は、互いに異なる前記分散鍵を、複数の前記第2の装置および前記第3の装置にそれぞれ配布し、
前記第3の装置は、複数の前記第2の装置のすべてが、前記分散鍵を用いた準同型ハッシュ演算により、順に算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較する、
前記(11)に記載の情報処理システム。
(13) 複数の前記第2の装置は、前記処理リクエストの起点となる起点端末と、前記処理リクエストが経由する経由端末とを含み、
前記起点端末は、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記経由端末に送信し、
前記経由端末は、受信した前記分散鍵、および前記起点端末または他の前記経由端末から受信したハッシュ値に基づく準同型ハッシュ演算により算出したハッシュ値を、当該準同型ハッシュ演算を行っていない他の前記経由端末または前記第3の装置に送信する、前記(12)に記載の情報処理システム。
(14) 前記経由端末は、準同型ハッシュ演算を行っていない他の前記経由端末が存在する場合、前記ハッシュ値を当該他の前記経由端末のうちの1つに送信し、準同型ハッシュ演算を行っていない他の前記経由端末が存在しない場合、算出したハッシュ値を前記第3の装置に送信する、
前記(13)に記載の情報処理システム。
(15) 前記所定の処理は、決済処理を含み、
前記第3の装置は、前記第2の装置から受信したハッシュ値と、前記ユーザ鍵と前記入力データに基づく準同型ハッシュ演算により算出されたハッシュ値とが一致する場合、前記決済処理を実行する、
前記(1)~(14)のいずれかに記載の情報処理システム。
(16) 前記所定の処理は、文書の公開処理を含み、
前記第3の装置は、前記第2の装置から受信したハッシュ値と、前記ユーザ鍵と前記入力データに基づく準同型ハッシュ演算により算出されたハッシュ値とが一致する場合、前記文書の公開処理を実行する、
前記(1)~(15)のいずれかに記載の情報処理システム。
(17) 前記第3の装置は、前記入力データの入力、および前記処理リクエストの結果に係る表示を行うためのインタフェースを制御する、
前記(1)~(16)のいずれかに記載の情報処理システム。
(18) 第1の装置が、共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成することと、
第2の装置が、前記第1の装置が生成した複数の前記分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信することと、
第3の装置が、前記第1の装置が生成した複数の前記分散鍵のうちの1つと、前記第2の装置から受信した前記処理リクエストに基づく判定を行うことと、
を含み、
前記第1の装置が、生成した複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する前記第2の装置、および前記第3の装置にそれぞれ配布することと、 前記第2の装置が、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信することと、
前記第3の装置が、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、前記所定の処理を実行するか否かを判定することと、
をさらに含む、
情報処理方法。
(19) 共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する秘密分散処理部と、
複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する端末、および暗号化データが保存されるサーバにそれぞれ送信する通信部と、
を備える、
情報処理装置。
(20) 前記ユーザ鍵を用いて前記暗号化データを生成する暗号化部、
をさらに備え、
前記通信部は、前記暗号化データを前記サーバに送信し、
前記共有先ユーザは、前記共有元ユーザにより前記暗号化データの検索が許諾されたユーザである、
前記(19)に記載の情報処理装置。
10 情報処理端末
110 ユーザ鍵管理部
120 入力部
130 暗号化部
140 秘密分散処理部
150 復号部
160 表示部
170 通信部
20 情報処理サーバ
210 分散鍵管理部
220 データ管理部
230 処理部
240 端末通信部
110 ユーザ鍵管理部
120 入力部
130 暗号化部
140 秘密分散処理部
150 復号部
160 表示部
170 通信部
20 情報処理サーバ
210 分散鍵管理部
220 データ管理部
230 処理部
240 端末通信部
Claims (20)
- 共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する第1の装置と、 前記第1の装置が生成した複数の前記分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信する第2の装置と、
前記第1の装置が生成した複数の前記分散鍵のうちの1つと、前記第2の装置から受信した前記処理リクエストに基づく判定を行う第3の装置と、
を備え、
前記第1の装置は、生成した複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する前記第2の装置、および前記第3の装置にそれぞれ配布し、 前記第2の装置は、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信し、
前記第3の装置は、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、前記所定の処理を実行するか否かを判定する、
情報処理システム。 - 前記第3の装置は、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とが一致する場合、前記所定の処理を実行する、
請求項1に記載の情報処理システム。 - 前記所定の処理は、前記第3の装置が保存する暗号化データに対する検索結果の提示を含み、 前記第2の装置は、受信した前記分散鍵、および検索ワードに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信し、
前記第3の装置は、前記第2の装置から受信したハッシュ値が、前記暗号化データに対応する暗号化インデックスに含まれる場合、前記検索ワードに対応する検索結果を前記第2の装置に送信し、
前記暗号化インデックスは、前記暗号化データから抽出されたキーワードリスト、および前記共有元ユーザの前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値である、
請求項1に記載の情報処理システム。 - 前記検索結果は、前記検索ワードを含む前記暗号化データ、または前記検索ワードを含む前記暗号化データのリストのうち少なくともいずれか含む、
請求項3に記載の情報処理システム。 - 前記第3の装置は、前記検索結果として、プロキシ暗号を用いて前記暗号化データを再暗号化した再暗号化データを前記第2の装置に送信する、
請求項3に記載の情報処理システム。 - 前記第1の装置は、前記分散鍵を配布した前記第2の装置から前記共有先ユーザの公開鍵を受信し、前記公開鍵と前記共有元ユーザの秘密鍵を用いて生成した再暗号化鍵を前記第3の装置に送信し、
前記第3の装置は、受信した前記再暗号化鍵を用いて前記暗号化データを再暗号化した前記再暗号化データを前記第2の装置に送信し、
前記第2の装置は、受信した前記再暗号化データを前記共有先ユーザの秘密鍵を用いて復号する、
請求項5に記載の情報処理システム。 - 前記第1の装置は、前記暗号化データと、前記暗号化データから抽出した前記キーワードリストおよび前記共有元ユーザの前記ユーザ鍵に基づく準同型ハッシュ演算により生成した前記暗号化インデックスとを、前記第3の装置に送信する、
請求項3に記載の情報処理システム。 - 前記第1の装置は、前記キーワードリストおよび前記共有元ユーザの前記ユーザ鍵に基づく準同型ハッシュ演算により算出したハッシュ値をAMQ(Approximate Membership Query)形式にエンコードした前記暗号化インデックスを生成する、請求項7に記載の情報処理システム。
- 前記AMQ形式は、少なくともブルームフィルタを含む、
請求項8に記載の情報処理システム。 - 前記第3の装置は、前記第1の装置からの削除リクエストに基づいて、前記第1の装置から受信した前記分散鍵を削除する、
請求項1に記載の情報処理システム。 - 前記第1の装置は、前記秘密分散処理により、前記共有先ユーザの数に1を加えた数の前記分散鍵を生成する、
請求項1に記載の情報処理システム。 - 前記第1の装置は、互いに異なる前記分散鍵を、複数の前記第2の装置および前記第3の装置にそれぞれ配布し、
前記第3の装置は、複数の前記第2の装置のすべてが、前記分散鍵を用いた準同型ハッシュ演算により、順に算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較する、
請求項11に記載の情報処理システム。 - 複数の前記第2の装置は、前記処理リクエストの起点となる起点端末と、前記処理リクエストが経由する経由端末とを含み、
前記起点端末は、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記経由端末に送信し、
前記経由端末は、受信した前記分散鍵、および前記起点端末または他の前記経由端末から受信したハッシュ値に基づく準同型ハッシュ演算により算出したハッシュ値を、当該準同型ハッシュ演算を行っていない他の前記経由端末または前記第3の装置に送信する、請求項12に記載の情報処理システム。 - 前記経由端末は、準同型ハッシュ演算を行っていない他の前記経由端末が存在する場合、前記ハッシュ値を当該他の前記経由端末のうちの1つに送信し、準同型ハッシュ演算を行っていない他の前記経由端末が存在しない場合、算出したハッシュ値を前記第3の装置に送信する、
請求項13に記載の情報処理システム。 - 前記所定の処理は、決済処理を含み、
前記第3の装置は、前記第2の装置から受信したハッシュ値と、前記ユーザ鍵と前記入力データに基づく準同型ハッシュ演算により算出されたハッシュ値とが一致する場合、前記決済処理を実行する、
請求項1に記載の情報処理システム。 - 前記所定の処理は、文書の公開処理を含み、
前記第3の装置は、前記第2の装置から受信したハッシュ値と、前記ユーザ鍵と前記入力データに基づく準同型ハッシュ演算により算出されたハッシュ値とが一致する場合、前記文書の公開処理を実行する、
請求項1に記載の情報処理システム。 - 前記第3の装置は、前記入力データの入力、および前記処理リクエストの結果に係る表示を行うためのインタフェースを制御する、
請求項1に記載の情報処理システム。 - 第1の装置が、共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成することと、
第2の装置が、前記第1の装置が生成した複数の前記分散鍵のうちの1つを用いて所定の処理の実行に係る処理リクエストを送信することと、
第3の装置が、前記第1の装置が生成した複数の前記分散鍵のうちの1つと、前記第2の装置から受信した前記処理リクエストに基づく判定を行うことと、
を含み、
前記第1の装置が、生成した複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する前記第2の装置、および前記第3の装置にそれぞれ配布することと、 前記第2の装置が、受信した前記分散鍵、および入力データに基づく準同型ハッシュ演算により算出したハッシュ値を前記第3の装置に送信することと、
前記第3の装置が、前記第2の装置から受信したハッシュ値および前記第1の装置から受信した前記分散鍵に基づく準同型ハッシュ演算により算出したハッシュ値と、前記ユーザ鍵に基づく準同型ハッシュ演算により算出されたハッシュ値とを比較し、前記所定の処理を実行するか否かを判定することと、
をさらに含む、
情報処理方法。 - 共有元ユーザのユーザ鍵を秘密分散処理により分割し、複数の分散鍵を生成する秘密分散処理部と、
複数の前記分散鍵のうち互いに異なる前記分散鍵を、共有先ユーザが利用する端末、および暗号化データが保存されるサーバにそれぞれ送信する通信部と、
を備える、
情報処理装置。 - 前記ユーザ鍵を用いて前記暗号化データを生成する暗号化部、
をさらに備え、
前記通信部は、前記暗号化データを前記サーバに送信し、
前記共有先ユーザは、前記共有元ユーザにより前記暗号化データの検索が許諾されたユーザである、
請求項19に記載の情報処理装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201980041880.8A CN112567441A (zh) | 2018-06-29 | 2019-05-22 | 信息处理系统、信息处理方法和信息处理装置 |
| US16/972,207 US11595209B2 (en) | 2018-06-29 | 2019-05-22 | Information processing system, information processing method, and information processing apparatus |
| JP2020527286A JP7302600B2 (ja) | 2018-06-29 | 2019-05-22 | 情報処理システムおよび情報処理方法 |
| DE112019003304.2T DE112019003304T5 (de) | 2018-06-29 | 2019-05-22 | Datenverarbeitungssystem, datenverarbeitungsverfahren und datenverarbeitungseinrichtung |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018124568 | 2018-06-29 | ||
| JP2018-124568 | 2018-06-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020003821A1 true WO2020003821A1 (ja) | 2020-01-02 |
Family
ID=68986396
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2019/020337 Ceased WO2020003821A1 (ja) | 2018-06-29 | 2019-05-22 | 情報処理システム、情報処理方法、および情報処理装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11595209B2 (ja) |
| JP (1) | JP7302600B2 (ja) |
| CN (1) | CN112567441A (ja) |
| DE (1) | DE112019003304T5 (ja) |
| WO (1) | WO2020003821A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022137668A1 (ja) * | 2020-12-25 | 2022-06-30 | 株式会社日立製作所 | データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 |
| JP7217836B1 (ja) * | 2021-12-27 | 2023-02-03 | 三菱電機株式会社 | データ管理装置、秘匿検索システム、秘匿検索方法、および、秘匿検索プログラム |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11611431B2 (en) * | 2020-07-01 | 2023-03-21 | Red Hat, Inc. | Network bound encryption for recovery of trusted execution environments |
| US11671412B2 (en) | 2020-07-01 | 2023-06-06 | Red Hat, Inc. | Network bound encryption for orchestrating workloads with sensitive data |
| US11741221B2 (en) | 2020-07-29 | 2023-08-29 | Red Hat, Inc. | Using a trusted execution environment to enable network booting |
| KR102568418B1 (ko) * | 2021-08-26 | 2023-08-18 | 하이파이브랩 주식회사 | 다중 서명을 지원하는 전자 인증 시스템 및 방법 |
| US12164634B2 (en) * | 2021-09-30 | 2024-12-10 | Mcafee, Llc | Object inspection via operating system share function |
| US12494917B1 (en) * | 2025-06-30 | 2025-12-09 | Intuit Inc. | Privacy-preserving authenticated key rotation |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013026954A (ja) * | 2011-07-25 | 2013-02-04 | Nec Corp | 暗号データ検索システム、装置、方法及びプログラム |
| US20130275752A1 (en) * | 2012-04-17 | 2013-10-17 | Futurewei Technologies, Inc. | Method and system for secure multiparty cloud computation |
| JP2014060614A (ja) * | 2012-09-18 | 2014-04-03 | Hitachi Solutions Ltd | 暗号化データ管理システム |
| JP2018097034A (ja) * | 2016-12-08 | 2018-06-21 | 株式会社日立製作所 | 計算機システム及びデータ管理方法 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6785810B1 (en) * | 1999-08-31 | 2004-08-31 | Espoc, Inc. | System and method for providing secure transmission, search, and storage of data |
| JP6208586B2 (ja) | 2014-01-16 | 2017-10-04 | 株式会社日立製作所 | 検索可能暗号処理システムおよび検索可能暗号処理方法 |
| US10013567B2 (en) * | 2015-01-27 | 2018-07-03 | Apple Inc. | Private and public sharing of electronic assets |
| US10866945B2 (en) * | 2016-10-10 | 2020-12-15 | AlphaPoint | User account management via a distributed ledger |
| CN107979590B (zh) | 2017-11-02 | 2020-01-17 | 财付通支付科技有限公司 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
| US11646878B2 (en) * | 2020-07-10 | 2023-05-09 | International Business Machines Corporation | Distributing encrypted data objects with encryption information as metadata |
-
2019
- 2019-05-22 WO PCT/JP2019/020337 patent/WO2020003821A1/ja not_active Ceased
- 2019-05-22 JP JP2020527286A patent/JP7302600B2/ja active Active
- 2019-05-22 US US16/972,207 patent/US11595209B2/en active Active
- 2019-05-22 CN CN201980041880.8A patent/CN112567441A/zh not_active Withdrawn
- 2019-05-22 DE DE112019003304.2T patent/DE112019003304T5/de not_active Withdrawn
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013026954A (ja) * | 2011-07-25 | 2013-02-04 | Nec Corp | 暗号データ検索システム、装置、方法及びプログラム |
| US20130275752A1 (en) * | 2012-04-17 | 2013-10-17 | Futurewei Technologies, Inc. | Method and system for secure multiparty cloud computation |
| JP2014060614A (ja) * | 2012-09-18 | 2014-04-03 | Hitachi Solutions Ltd | 暗号化データ管理システム |
| JP2018097034A (ja) * | 2016-12-08 | 2018-06-21 | 株式会社日立製作所 | 計算機システム及びデータ管理方法 |
Non-Patent Citations (1)
| Title |
|---|
| FINANCIAL RESEARCH: "Information leakage countermeasures using high-performance encryption , Latest Trends in Encryption State Processing Technology (non-official translation )", SEITO TAKENOBU ET AL, vol. 33, no. 4, 20 October 2014 (2014-10-20), pages 105 - 111 * |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022137668A1 (ja) * | 2020-12-25 | 2022-06-30 | 株式会社日立製作所 | データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 |
| JP2022102086A (ja) * | 2020-12-25 | 2022-07-07 | 株式会社日立製作所 | データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 |
| JP7325396B2 (ja) | 2020-12-25 | 2023-08-14 | 株式会社日立製作所 | データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 |
| JP7217836B1 (ja) * | 2021-12-27 | 2023-02-03 | 三菱電機株式会社 | データ管理装置、秘匿検索システム、秘匿検索方法、および、秘匿検索プログラム |
| WO2023127038A1 (ja) * | 2021-12-27 | 2023-07-06 | 三菱電機株式会社 | 登録要求装置、検索要求装置、データ管理装置、秘匿検索システム、秘匿検索方法、および、秘匿検索プログラム |
| DE112021008395T5 (de) | 2021-12-27 | 2024-09-05 | Mitsubishi Electric Corporation | Registrierungsanforderungseinrichtung, suchabfrageeinrichtung, datenverwaltungseinrichtung, system der durchsuchbaren verschlüsselung, verfahren der durchsuchbaren verschlüsselung und programm der durchsuchbaren verschlüsselung |
| DE112021008395B4 (de) | 2021-12-27 | 2026-04-02 | Mitsubishi Electric Corporation | System der durchsuchbaren verschlüsselung, datenverwaltungseinrichtung, verfahren der durchsuchbaren verschlüsselung und programm der durchsuchbaren verschlüsselung |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2020003821A1 (ja) | 2021-08-02 |
| DE112019003304T5 (de) | 2021-04-08 |
| CN112567441A (zh) | 2021-03-26 |
| US20210234684A1 (en) | 2021-07-29 |
| JP7302600B2 (ja) | 2023-07-04 |
| US11595209B2 (en) | 2023-02-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7302600B2 (ja) | 情報処理システムおよび情報処理方法 | |
| JP4958246B2 (ja) | 高速検索可能な暗号化のための方法、装置およびシステム | |
| CN103119594B (zh) | 可检索密码处理系统 | |
| CN105960775B (zh) | 用于迁移密钥的方法和装置 | |
| WO2017181911A1 (zh) | 基于公钥可搜索加密的文件存储、搜索方法及存储系统 | |
| JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
| CN102668503B (zh) | 对加密文件系统的安全Kerberos化访问 | |
| US10063372B1 (en) | Generating pre-encrypted keys | |
| CN107113286B (zh) | 跨设备的漫游内容擦除操作 | |
| JP6678457B2 (ja) | データセキュリティサービス | |
| US10013567B2 (en) | Private and public sharing of electronic assets | |
| JP2020009500A (ja) | データセキュリティサービス | |
| US12041176B2 (en) | Information processing device and information processing method for providing secure encryption by sharing word division between client and server | |
| US20140281520A1 (en) | Secure cloud data sharing | |
| WO2019215818A1 (ja) | 登録装置、サーバ装置、秘匿検索システム、秘匿検索方法、登録プログラムおよびサーバプログラム | |
| JP2012164031A (ja) | データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム | |
| WO2020155812A1 (zh) | 一种数据存储方法、装置及设备 | |
| CN111191289A (zh) | 一种隐私数据的展示与存储的方法 | |
| US9641328B1 (en) | Generation of public-private key pairs | |
| WO2014183671A1 (zh) | 一种云存储安全控制的方法 | |
| US8990583B1 (en) | Forensic investigation tool | |
| CN113411323A (zh) | 基于属性加密的医疗病历数据访问控制系统及方法 | |
| CN120675710B (zh) | 一种前向安全的策略隐藏型属性基关键词搜索方法 | |
| US7673134B2 (en) | Backup restore in a corporate infrastructure | |
| Mahalakshmi et al. | Effectuation of secure authorized deduplication in hybrid cloud |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19826055 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020527286 Country of ref document: JP Kind code of ref document: A |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19826055 Country of ref document: EP Kind code of ref document: A1 |