Data Management System
Patent Information
- Application Number
- JP2022157815
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-30
- Publication Date
- 2026-09-09
- Estimated Expiration
- 2042-09-30
AI Technical Summary
【0015】 本発明によれば、暗号化データを復号することなくサービス事業者に提供することができる。
Smart Images

Figure 0007918055000001 
Figure 0007918055000002 
Figure 0007918055000003
Abstract
Description
[Technical Field]
[0001] This invention relates to a data management system that uses ID-based proxy re-encryption. [Background technology]
[0002] In recent years, systems for managing and providing personal information, such as personal data stores (PDS) and data trading markets, have attracted attention (for example, Non-Patent Document 1). For example, in a PDS, users themselves manage personal information such as smartphone location information and online shopping purchase history on a data management device on a network (for example, the cloud). Then, in a PDS, users can provide data to third parties such as service providers of their own free will, and in return, they can enjoy services based on the data they have provided. It should be noted that a system that utilizes PDS and other systems to manage and provide data on behalf of users is called an information bank.
[0003] Furthermore, ID-based proxy re-encryption has been proposed as a mechanism for managing and providing various types of data (for example, Non-Patent Document 2). This ID-based proxy re-encryption uses an arbitrary ID (for example, an email address) as the public key for each user, and generates a private key for each user using a master private key and ID obtained from a trusted organization called a Key Generation Center (PKG). [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] "Personal Data Store (PDS) Mechanism | Explanation of Benefits and Differences from Information Banks," [online], [Accessed August 29, 2022], Internet<URL:https: / / privtech.co.jp / blog / data / pds_merit_structure.html> [Non-Patent Document 2] Green, Matthew, and Giuseppe Ateniese. "Identity-based proxy re-encryption." International Conference on Applied Cryptography and Network Security. Springer, Berlin, Heidelberg, 2007. [Overview of the project] [Problems that the invention aims to solve]
[0005] When users or data banks manage data, they often use data management devices such as the cloud for convenience. Since sensitive data such as location information and purchase history are managed on the data management device, it is necessary to encrypt the data to properly protect user privacy in the event of a data leak. However, with data encryption using symmetric-key encryption methods such as AES, the user, who owns the data, and the service provider, who receives the data, must possess the same key. Therefore, if a user provides data to multiple service providers, all service providers and the user must share the same key. Consequently, if the key is leaked from one service provider, there is a risk that all of the user's data, including encrypted data managed on the data management device, will be leaked. For this reason, the application of symmetric-key encryption methods is not practical.
[0006] When selecting data to be passed to each service provider, the encrypted data managed by the data management device must be decrypted and then re-encrypted. However, if the data management device is subjected to unauthorized access, there is a risk that the decrypted data may be leaked. Therefore, it is preferable to re-encrypt the encrypted data managed by the data management device without ever decrypting it.
[0007] Therefore, we will consider whether this problem can be solved by applying ID-based proxy re-encryption to the data management device. In ID-based proxy re-encryption, the data owner specifies to the data management device which encrypted data to re-encrypt. However, since all data managed by the data management device is encrypted, and this encrypted data looks like a random string of characters, it is extremely difficult to specify which encrypted data to re-encrypt. Thus, ID-based proxy re-encryption is difficult to apply to data management devices such as clouds.
[0008] Therefore, the object of the present invention is to provide a data management system that can provide encrypted data to service providers without decrypting it. [Means for solving the problem]
[0009] To solve the aforementioned problems, the data management system according to the present invention is a data management system that encrypts each of multiple data held by a data holder using ID-based proxy re-encryption and provides them to each service provider, and comprises a key generation device, a data holder device, a data management device, and a service provider device.
[0010] The key generation device includes a setup means that generates a master public parameter and a master private key using a Setup algorithm based on predetermined security parameters as input, and a decryption key generation means that generates a decryption key for the data holder and the service provider using a KeyGen algorithm based on the master public parameter, the master private key, and the IDs of the data holder and the service provider as input.
[0011] The data holder device takes the master public parameters, the data holder's ID, and the data as input, generates encrypted data using the Encrypt algorithm, and links the generated encrypted data to the data index. Stored in an index databaseAn encryption method, a re-encryption key generation method that takes the master public parameters, the data holder's decryption key, and the IDs of the data holder and service provider as input and generates a re-encryption key using the RKGen algorithm, A data transmission means that selects data to be provided by the data holder to the service provider and transmits an index of the selected data to a data management device. It is equipped with.
[0012] The data management device is, An index database stores encrypted data linked to an index, and encrypted data corresponding to an index received from a data holder device is selected from the index database. Master public parameters and re-encryption key and Selected The system includes a re-encryption means that takes encrypted data as input and re-encrypts the encrypted data using the Reencrypt algorithm.
[0013] The service provider device includes a decryption means that takes master public parameters, the service provider's decryption key, and the re-encrypted encrypted data as input and decrypts the data using a decrypt algorithm.
[0014] With this configuration, the data management system manages encrypted data by associating it with an index, allowing it to specify which encrypted data to re-encrypt. In this way, the data management system can apply ID-based proxy re-encryption using the index, and can provide encrypted data to service providers without decrypting it. [Effects of the Invention]
[0015] According to the present invention, encrypted data can be provided to service providers without decryption. [Brief explanation of the drawing]
[0016] [Figure 1] This is a schematic diagram of conventional ID-based proxy re-encryption. [Figure 2] This is a schematic diagram of the data management system according to the embodiment. [Figure 3] Figure 2 is a block diagram showing the configuration of the data management system. [Figure 4-1] Figure 2 is a sequence diagram showing the operation of the data management system. [Figure 4-2]Figure 2 is a sequence diagram showing the operation of the data management system. [Modes for carrying out the invention]
[0017] Embodiments of the present invention will be described below with reference to the drawings. However, the embodiments described below are intended to embody the technical concept of the present invention, and unless otherwise specified, the present invention is not limited to these embodiments. In addition, the same reference numerals are used for the same means, and their descriptions may be omitted.
[0018] [ID-based proxy re-encryption] Referring to Figure 1, we will now explain conventional ID-based proxy re-encryption as a prerequisite for the data management system 1 (Figure 2) according to this embodiment.
[0019] ID-based proxy re-encryption is an encryption method that performs encryption and re-encryption based on an ID (identifier), and allows decryption using a decryption key based on the ID. As shown in Figure 1, ID-based proxy re-encryption consists of six algorithms S1 to S6 (see Non-Patent Literature 2).
[0020] The Setup algorithm S1 uses the security parameter k (more precisely, 1 k This function takes the input () and generates the master public parameter params and the master private key msk. The security parameter k is a measure of cryptographic security and is related to the key size, etc. Furthermore, the master public parameter `params` is a parameter that is made public to all users and is necessary for executing each ID-based proxy re-encryption algorithm.
[0021] The KeyGen algorithm S2 uses the master public parameter params, the master private key msk, and each ID (id, id') ∈ {0, 1}. * The input is the decryption key (sk) corresponding to each ID. id sk id´ This generates the ID(id,id') which represents the ID assigned to each of the two entities (details below).
[0022] The encryption algorithm S3 receives the master public parameter params and ID(id)∈{0,1} * and data m∈M as inputs, and outputs encrypted data c based on ID(id) id , where M is an integer greater than or equal to 2. The RKGen algorithm S4 receives the master public parameter params, decryption key sk id and ID(id,id´) as inputs, and outputs re-encryption key rk id→id´ .
[0023] The Reencrypt algorithm S5 receives the master public parameter params, re-encryption key rk id→id´ and encrypted data c id as inputs, and outputs re-encrypted encrypted data c id´ . Hereinafter, the re-encrypted encrypted data may be referred to as "re-encrypted data". The Decrypt algorithm S6 receives the master public parameter params, decryption key sk id´ and re-encrypted data c id´ as inputs, and decrypts the data m.
[0024] [Overview of Data Management System] Referring to Figure 2, an overview of the data management system 1 according to the embodiment will be described. The data management system 1 encrypts each of a plurality of pieces of data m held by a data owner DO through identity-based proxy re-encryption and provides the encrypted data to each service provider SP. As shown in Figure 2, the data management system 1 is composed of four entities (organizations): a private key generator PKG, a data owner DO, a service provider SP, and a cloud CL.
[0025] The private key generator PKG is a trusted third-party organization that generates decryption keys for the respective identities of the data owner DO and the service provider SP. That is, the private key generator PKG generates a decryption key for each data owner DO and also generates a decryption key for each service provider SP.
[0026] Data holders (DOs) possess various types of data and provide that data to service providers (SPs) via cloud clients (CLs). When providing data to service providers (SPs), the data holders (DOs) encrypt the data. For example, this data could include: TV program viewing history, This includes personal information such as smartphone location data, online shopping purchase history, and medical visit history.
[0027] The service provider SP provides the desired service using the data of the data holder DO. The content of the service is not particularly limited and is arbitrary, and is not directly related to the present invention; therefore, the above explanation is omitted.
[0028] Cloud CL manages and provides data held by data holders (DOs). In other words, Cloud CL manages encrypted data from data holders (DOs), re-encrypts the encrypted data based on the service provider's (SP) ID, and provides the re-encrypted data to the service provider (SP).
[0029] In this embodiment, there is one data holder DO and one service provider SP, each with its own unique ID. Here, the ID of the data holder DO is denoted as id, and the ID of the service provider SP is denoted as id'. For example, an email address or an IP (Internet Protocol) address can be used as the ID. Note that there may be multiple data holder DOs and service provider SPs, and in this case, each also has its own unique ID.
[0030] The following describes the processing overview in data management system 1. The key generation center PKG generates the master public parameters (params) and the master private key (msk) using the Setup algorithm S1. The key generation center PKG then sends the master public parameters (params) to the data holder DO, the service provider SP, and the cloud CL. The master private key (msk) is to be kept confidential by the key generation center PKG.
[0031] The data holder DO sends its ID, id, to the key generation center PKG. The service provider SP also sends its ID, id', to the key generation center PKG. The key generation center PKG then uses the KeyGen algorithm S2 to generate the decryption key sk from the data holder DO. id And the decryption key sk of the service provider SP id´ It generates the decryption key sk. id This is the decryption key associated with the ID of the data holder DO, and the decryption key sk id´ This is the decryption key associated with the service provider SP's ID. Furthermore, the key generation center PKG contains the decryption key sk id Send to data holder DO, decryption key sk id´ Send this to the service provider SP.
[0032] The data holder DO has n data m1, ..., m n The data holder DO possesses (n≧2). Furthermore, the data holder DO encrypts the data m1,…,m using the S3 encryption algorithm. n The data is encrypted based on the ID, and the encrypted data c id (1) ,…,c id (n) It generates the encrypted data c. id (1) ,…,c id (n) to data m1, ..., m n The data is linked to indexes 1, ..., n and stored in the Cloud CL index DB32. For example, data holder DO stores encrypted data c at consecutive addresses 1, ..., j, ... n in index DB32. id (1) ,…,c id (j) ,…,c id (n) By accumulating these sequentially, the address of index DB32 can be used as an index (however, 1 ≤ j ≤ n).
[0033] The service provider (SP) shares its ID, or id, with the data holder (DO). This ID sharing method is optional; for example, if an email address is used as the ID, the service provider (SP) simply registers its email address with the data holder (DO). The data holder (DO) then uses the RKGen algorithm S4 to re-encrypt each service provider (SP) using the re-encryption key rk. id→id´ It generates and stores in the cloud CL. In other words, this re-encryption key rk id→id´ This is a key that corresponds to the combination of data holder (DO) and service provider (SP).
[0034] Data holder DO provides data m to service provider SP j Select and send index j to Cloud CL (1 ≤ j ≤ n). Cloud CL receives encrypted data c corresponding to index j. id (j) Select from index DB32. Also, Cloud CL uses the Reencrypt algorithm S5 to re-encrypt the key rk id→id´ Encrypted data c id (j) It re-encrypts the data. Then, Cloud CL re-encrypts the data c id´ (j) This information is stored in the service provider DB33.
[0035] Cloud CL uses re-encrypted data stored in the service provider DB33. id´ (j) The service provider SP sends the decryption key sk using the Decrypt algorithm S6. id´ Encrypted data c id´ (j) Decode the data m j The service provider SP then obtains the obtained data m j The desired service is provided using [this method].
[0036] [Data Management System Configuration] Refer to Figure 3 to explain the configuration of the data management system 1. As shown in Figure 3, the data management system 1 comprises a key generation device 10, a data holder device 20, a cloud server (data management device) 30, and a service provider device 40. Furthermore, the data management system 1 is assumed to be connected to each other via a network such as the Internet.
[0037] The key generation device 10 has the functions of the key generation center package shown in Figure 2, and comprises a setup means 11 and a decryption key generation means 12. Setup means 11 executes the Setup algorithm S1. The decryption key generation means 12 executes the KeyGen algorithm S2.
[0038] The data holder device 20 has the functions of the data holder DO shown in Figure 2, and includes an encryption means 21, a re-encryption key generation means 22, and a data transmission means 23. The encryption method 21 executes the Encrypt algorithm S3. The re-encryption key generation means 22 executes the RKGen algorithm S4. The data transmission means 23 transmits the data m selected by the data holder DO. j The index j, that is, the data m provided to the service provider SP. j This sends the index j to the cloud server 30.
[0039] The cloud server 30 has the functions of the cloud CL shown in Figure 2 and includes a re-encryption means 31, an index DB (index database) 32, and a service provider DB (service provider database) 33. The re-encryption means 31 executes the Reencrypt algorithm S5. Index DB32 contains encrypted data c associated with index n. id (n) It is a database that stores data. Service provider DB33 re-encrypts encrypted data c id´(n) This is a database for storing data. Note that a Service Provider DB33 is provided for each Service Provider SP, and in the example shown in Figure 2, there is one DB33.
[0040] The service provider device 40 has the functions of the service provider SP shown in Figure 2 and includes a decoding means 41 and a parameter transmission means 42. Note that the means for providing the desired service in the service provider device 40 are not directly related to the present invention, and therefore the description and illustration of these means have been omitted. The decryption means 41 executes the Decrypt algorithm S6. The parameter transmission means 42 transmits parameters such as id' to the key generation device 10.
[0041] [Data Management System Operation] The operation of the data management system 1 will be explained with reference to Figures 4-1 and 4-2. As shown in Figure 4-1, in step S10, the setup means 11 takes the security parameter k as input and generates the master public parameter params and the master private key msk using the Setup algorithm S1.
[0042] In step S11, the setup means 11 transmits the master public parameters params to the data holder device 20. In step S12, the setup means 11 transmits the master public parameters params to the service provider device 40. In step S13, the setup means 11 sends the master public parameters params to the cloud server 30.
[0043] In step S14, the data transmission means 23 transmits the ID of the data holder DO, which is id, to the key generation device 10. In step S15, the parameter transmission means 42 transmits id', which is the ID of the service provider SP, to the key generation device 10.
[0044] In step S16, the decryption key generation means 12 takes the master public parameter params, the master private key msk, and the IDs (id, id') of the data holder DO and service provider SP as input and uses the KeyGen algorithm S2 to generate the decryption key (sk) of the data holder DO and service provider SP. id sk id´ ) generates.
[0045] In step S17, the decryption key generation means 12 generates the decryption key sk of the data holder DO. id This is transmitted to the data holder device 20. In step S18, the decryption key generation means 12 generates the decryption key sk of the service provider SP. id´ This is transmitted to the service provider device 40.
[0046] In step S19, the encryption means 21 uses the master public parameter params, the ID of the data holder (id), and the data m1, ..., m n With and as input, the data m1, ..., m is encrypted using the S3 encryption algorithm. n Encrypted data c id (1) ,…,c id (n) Generates.
[0047] In step S20, the encryption means 21 encrypts the data c id (1) ,…,c id (n) Send this to the cloud server 30. In step S21, the cloud server 30 receives encrypted data c id (1) ,…,c id (n) The data is linked to index 1, ..., n and stored in index DB32.
[0048] As shown in Figure 4-2, in step S22, the re-encryption key generation means 22 generates the decryption key sk of the data holder DO. idreceives, as inputs, the IDs (id, id') of the data owner DO and the service provider SP, and generates the re-encryption key rk id→id´ by the RKGen algorithm S4.
[0049] In step S23, the re-encryption key generation means 22 transmits the re-encryption key rk id→id´ to the cloud server 30. In step S24, the data transmission means 23 selects data m that the data owner DO provides to the service provider SP j . In step S25, the data transmission means 23 transmits index j of the data m selected by the data owner DO j to the cloud server 30.
[0050] In step S26, the re-encryption means 31 selects encrypted data c corresponding to index j id (j) from the index DB 32. In step S27, the re-encryption means 31 receives, as inputs, a master public parameter params, the re-encryption key rk id→id´ and the encrypted data c associated with index j id (j) , and re-encrypts the encrypted data c id (j) by the Reencrypt algorithm S5.
[0051] In step S28, the re-encryption means 31 stores the re-encrypted data c id´ (j) in a service provider DB 33. In step S29, the re-encryption means 31 transmits the re-encrypted data c id´ (j) to a service provider apparatus 40.
[0052] In step S30, decryption means 41 receives, as inputs, the master public parameter params, a decryption key sk of the service provider SP id´ and the re-encrypted data c id´(j) as inputs, the data m is decrypted by the Decrypt algorithm S6 j .
[0053] [Operation and Effect] As described above, the data management system 1 manages encrypted data c id (1) , …, c id (n) in association with indexes 1, …, n, so that the encrypted data c can be specified by these indexes 1, …, n id (j) . Accordingly, in the data management system 1, identity-based proxy re-encryption can be applied to the cloud server 30, and the encrypted data can be provided to the service provider SP without being decrypted.
[0054] That is, the data management system 1 uses an identity-based re-encryption method to manage data m on the cloud server 30 in a fully encrypted state without decrypting the data m, and re-encrypts the data m such that only the specified service provider SP can decrypt the encrypted data c id (n) . The re-encrypted data c id´ (n) can only be decrypted by the service provider SP having the specified identity. Furthermore, since the data management system 1 eliminates the need for the cloud server 30 to manage decryption keys, high security can be ensured.
[0055] Although the embodiments have been described in detail above, the present invention is not limited to the above-described embodiments, and also includes design changes and the like within a scope not departing from the gist of the present invention. In the above-described embodiment, the description has been given assuming that the data management device is a cloud server, but the present invention is not limited thereto. For example, the data management device may be a general server including a database.
[0056] In the above-described embodiment, the description has been given assuming that there is one data owner DO and one service provider SP, but there may be a plurality of data owners DO and a plurality of service providers SP. Here, let num be the number of data holders DO, and num' be the number of service providers SP. In this case, the decryption key generation means 12 generates the decryption key sk of the data holders DO. id Generate num of these, and the decryption key sk of the service provider SP. id´ It is sufficient to generate num' of these. Furthermore, the re-encryption key generation means 22 generates num × num' re-encryption keys rk id→id´ You just need to generate it. Also, the service provider DB33 only needs to have the same number of num' items as the service provider SPs. [Explanation of Symbols]
[0057] 1. Data Management System 10 Key generator 11 Setup methods 12. Decryption key generation means 20 Data Holder Device 21 Encryption methods 22 Re-encryption key generation means 23. Data transmission means 30. Cloud Server (Data Management Device) 31 Re-encryption means 32. Index DB (Index Database) 33. Service Provider Database 40 Service Provider Equipment CL Cloud DO Data holder PKG Key Generation Center SP Service Provider
Claims
1. A data management system that encrypts each of the multiple data held by a data holder using ID-based proxy re-encryption and provides them to each service provider, A setup means that generates a master public parameter and a master private key using a setup algorithm, taking predetermined security parameters as input. A key generation device comprising: a decryption key generation means that generates decryption keys for the data holder and the service provider using the KeyGen algorithm, taking the master public parameters, the master private key, and the IDs of the data holder and the service provider as inputs; An encryption means that generates encrypted data using an Encrypt algorithm with the aforementioned master public parameters, the ID of the data holder, and the data as input, and stores the generated encrypted data in an index database, linked to the index of the data. A re-encryption key generation means that takes the aforementioned master public parameters, the data holder's decryption key, and the IDs of the data holder and the service provider as inputs and generates a re-encryption key using the RKGen algorithm, A data holder device comprising: data transmission means for selecting data to be provided by the data holder to the service provider and transmitting an index of the selected data to a data management device; The index database stores encrypted data associated with the aforementioned index, A data management device comprising: a data management device comprising: a data management device that selects encrypted data corresponding to an index received from the data holder device from the index database, and a re-encryption means that takes the master public parameters, the re-encryption key, and the selected encrypted data as inputs and re-encrypts the encrypted data using the Reencrypt algorithm; A service provider device comprising: a decryption means that takes the master public parameters, the service provider's decryption key, and the re-encrypted encrypted data as input, and decrypts the data using a Decrypt algorithm; A data management system characterized by having the following features.
2. The aforementioned data management device is The data management system according to claim 1, characterized in that it includes a service provider database for storing the re-encrypted encrypted data for each service provider.
3. The data management device is a cloud server, as described in claim 1 or 2.
Citation Information
Patent Citations
Data distribution system, data generation device, mediation device, data distribution method, and program
JP2018107625A
Data sharing method, data sharing system, communication terminal, data sharing server, and program
JP2019121999A