WO2021124498A1 - 保証制御方法、情報処理装置および保証制御プログラム - Google Patents

保証制御方法、情報処理装置および保証制御プログラム Download PDF

Info

Publication number
WO2021124498A1
WO2021124498A1 PCT/JP2019/049715 JP2019049715W WO2021124498A1 WO 2021124498 A1 WO2021124498 A1 WO 2021124498A1 JP 2019049715 W JP2019049715 W JP 2019049715W WO 2021124498 A1 WO2021124498 A1 WO 2021124498A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
attribute information
information
user
hash values
Prior art date
Application number
PCT/JP2019/049715
Other languages
English (en)
French (fr)
Inventor
坂本 拓也
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2021565248A priority Critical patent/JP7222436B2/ja
Priority to PCT/JP2019/049715 priority patent/WO2021124498A1/ja
Priority to EP19956427.9A priority patent/EP4080817B1/en
Publication of WO2021124498A1 publication Critical patent/WO2021124498A1/ja
Priority to US17/744,946 priority patent/US20220271949A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • the present invention relates to a guaranteed control method and the like.
  • Hyperledger Indy registered trademark
  • Hyperledger Indy an individual has an electronically signed certificate issued by a trusted institution, and by presenting this certificate, the individual's credit information can be presented.
  • the validity of the certificate is verified by searching the public key of the institution that issued the certificate from the blockchain and verifying whether the signature is made with the private key corresponding to the public key.
  • Zero-knowledge proof is a method of proving to a verifier that a proposition is true without giving the verifier any knowledge other than that the proposition is true (for example, a patent document). 1). For example, a commitment operation is performed on the secret information s, a commitment c is generated, and the verifier confirms that the certifier "knows" the secret information s of the commitment c (see, for example, Patent Document 2). ..
  • FIG. 10 is a diagram showing a problem when a data user uses data.
  • a user provides a data user with his / her purchase data and user attributes required by the data user through a data manager (information bank).
  • the user attributes required by the data user are age and annual income.
  • the data provider of the online shopping site that provides the purchase data manages the personal attributes required to provide the purchase data, but has the attributes (age, annual income) required by the data user. Not always. Even if the data provider has the attributes (age, annual income) required by the data user, there is a possibility that this attribute has registered a value different from the actual value, which is the correct attribute of the user. Not necessarily.
  • the user may falsely provide the attributes required by the data user when providing the purchase data through the data manager (information bank). That is, the user may provide the data of another person as a set with his / her own attribute, or may provide his / her own data as a set with the attribute of another person. Therefore, it is difficult for the data user to obtain the correct combination of data and attributes of the user.
  • FIGS. 11 and 12 are diagrams showing reference examples in which the correct combination of data and attributes can be confirmed.
  • the issuer who issues the certificate certifying the identity issues the certificate incorporating the attribute for identifying an individual and other attributes to the user.
  • the user discloses personally identifiable attributes to the data provider.
  • the data provider is prominent in the data to which the attributes (name, address) that can identify an individual are added to the purchase data to be provided.
  • the user provides the signed data to the data user through the data manager.
  • the user discloses the personal identification information (for example, a certificate) and the attributes (age, annual income) required by the data user to the data user.
  • the data user confirms the identity from the personal identification information (for example, certificate) and the attribute (name, address) that can identify the individual, and the correct combination of the purchase data and the attribute (age, annual income) of the same person. Can be confirmed as.
  • personal identification information for example, certificate
  • the attribute name, address
  • the data user confirms the identity from the personal identification information (for example, certificate) and the attribute (name, address) that can identify the individual, and the correct combination of the purchase data and the attribute (age, annual income) of the same person. Can be confirmed as.
  • personal identification information for example, certificate
  • the attribute name, address
  • the issuer who issues the certificate certifying the identity issues the certificate incorporating the attribute for identifying an individual and other attributes.
  • the user discloses to the data provider the attributes required by the data user in addition to the attributes that identify the individual.
  • the data provider is prominent in the data to which the attributes that can identify an individual and the attributes required by the data user are added to the purchase data to be provided.
  • the user provides the signed data to the data user through the data manager. Then, the data user can confirm that it is the correct combination of purchase data and attributes of the same person by receiving the provided of this certified data.
  • the attributes required by the data user must be disclosed to the data provider.
  • the present invention aims to provide a correct combination of data and attribute information while limiting the disclosure of individual attribute information.
  • the computer acquires certificate data including a plurality of attribute information, transmits hash values of the plurality of attribute information to a data providing device, and identifies an individual among the plurality of attribute information.
  • the first attribute information is disclosed to the data providing device by zero knowledge proof using the hash values of the plurality of attribute information, and the provided data corresponding to the first attribute information and the plurality of attribute information.
  • the hash value and the signature information of the data including the provided data and the hash values of the plurality of attribute information are received from the data providing device, and the provided data, the hash values of the plurality of attribute information, and the signature information are received.
  • Is transmitted to the data utilization device, and the second attribute information desired by the data utilization device among the plurality of attribute information is obtained by the data utilization device by zero knowledge proof using the hash values of the plurality of attribute information. Disclosure to, do what you do.
  • FIG. 1 is a block diagram showing a functional configuration of a guarantee control system including a user device according to an embodiment.
  • FIG. 2 is a diagram showing a functional configuration of a user device according to an embodiment.
  • FIG. 3 is a diagram showing a functional configuration of the data providing device according to the embodiment.
  • FIG. 4 is a diagram showing a functional configuration of the data management device according to the embodiment.
  • FIG. 5 is a diagram showing a functional configuration of the data utilization device according to the embodiment.
  • FIG. 6 is a diagram showing a functional configuration of the issuing organization according to the embodiment.
  • FIG. 7 is a diagram showing an example of guaranteed control according to the embodiment.
  • FIG. 8 is a diagram showing an example of a guaranteed control sequence according to the embodiment.
  • FIG. 1 is a block diagram showing a functional configuration of a guarantee control system including a user device according to an embodiment.
  • FIG. 2 is a diagram showing a functional configuration of a user device according to an embodiment.
  • FIG. 3 is
  • FIG. 9 is a diagram showing an example of a computer that executes a guarantee control program.
  • FIG. 10 is a diagram showing a problem when a data user uses data.
  • FIG. 11 is a diagram showing a reference example in which the correct combination of data and attributes can be confirmed.
  • FIG. 12 is a diagram showing a reference example in which the correct combination of data and attributes can be confirmed.
  • FIG. 1 is a block diagram showing a functional configuration of a guarantee control system including a user device according to an embodiment.
  • the guarantee control system 9 includes a user device 1, a data providing device 2, a data management device 3, a data utilization device 4, and an issuing organization 5.
  • the user device 1 is connected to the data management device 3, the data providing device 2, the data utilization device 4, and the issuing organization 5 via a network.
  • the guarantee control system 9 a case where the user device 1 provides the data regarding the user and the user attributes required by the data utilization device 4 to the data utilization device 4 through the data management device 3 will be described. To do.
  • the guarantee control system 9 guarantees to the data utilization device 4 the correctness of the combination of the data related to the user and the user's attribute required by the data utilization device 4.
  • the issuing organization 5 issues a certificate with an electronic signature to the user device 1 via the network.
  • the certificate contains a plurality of attribute information including personal identification information.
  • the issuing institution 5 here means a trusted institution that issues digital certificates.
  • the issuing organization 5 includes, for example, a certificate authority (CA), a company, and the like.
  • the user device 1 acquires a certificate including a plurality of attribute information.
  • the user device 1 transmits proof information regarding a plurality of attribute information of the user used for zero-knowledge proof to the data providing device 2, and provides data of personal identification information for identifying the user among the plurality of attribute information, which will be described later. Disclosure to device 2.
  • the user device 1 certifies the validity of the user's personal identification information by zero-knowledge proof using the proof information, and transmits the verification information created from the certificate to the data providing device 2.
  • the user device 1 transmits the signature information (correspondence data) that signs the data provided from the data providing device 2 and the certification information to the data utilization device 4 through the data management device 3.
  • the user device 1 discloses the attribute information required by the data utilization device 4 to the data utilization device 4.
  • the user device 1 certifies the validity of the disclosed attribute information by zero-knowledge proof using the proof information, and transmits the verification information created from the certificate to the data utilization device 4.
  • the user device 1 can disclose the attribute information required by the data utilization device 4 to the data utilization device 4 together with the data without disclosing the personal identification information of the user to the data utilization device 4.
  • the user device 1 can provide the data utilization device 4 with a combination of correct data and attribute information. The functional configuration of the user device 1 will be described later.
  • zero-knowledge proof is a method of proving to the verifier that the proposition is true without giving the verifier any knowledge other than that the proposition is true.
  • a commitment operation is performed on the secret information s
  • a commitment c is generated
  • the verifier confirms that the certifier "knows" the secret information s of c.
  • the certifier here is the user device 1.
  • the verifiers referred to here are the data providing device 2 and the data utilization device 4. That is, even when the user device 1 discloses only a part of the attribute information included in the certificate and keeps the other attribute information secret, the user device 1 uses the zero-knowledge proof to validate the disclosed part of the attribute information. Can be proved.
  • the data providing device 2 provides data. For example, the data providing device 2 receives the personal identification information of the user who provides the data and the proof information used for the zero-knowledge proof from the user device 1. The data providing device 2 receives verification information from the user device 1. The data providing device 2 verifies the validity of the personal identification information disclosed by the zero-knowledge proof based on the proof information and the verification information. Then, the data providing device 2 associates the data corresponding to the personal identification information with the proof information, and provides the user device 1 with the signature information in which the associated data is signed. The functional configuration of the data providing device 2 will be described later.
  • the data management device 3 manages anonymized data associated with the user's personal identification information in order to utilize the user's data. That is, the data management device 3 corresponds to, for example, an information bank. The functional configuration of the data management device 3 will be described later.
  • the data utilization device 4 uses data. For example, the data utilization device 4 receives from the data management device 3 the signature information in which the data corresponding to the user's personal identification information and the certification information (correspondence data) are signed. The data utilization device 4 receives necessary user attribute information and verification information from the user device 1. The data utilization device 4 verifies the validity of the user's attribute information disclosed by the zero-knowledge proof based on the proof information and the verification information. The functional configuration of the data utilization device 4 will be described later.
  • FIG. 2 is a diagram showing a functional configuration of a user device according to an embodiment. As shown in FIG. 2, the user device 1 has a control unit 10 and a storage unit 20.
  • the control unit 10 has an internal memory for storing programs and control data that define various processing procedures, and executes various processes by these. Then, the control unit 10 corresponds to, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array) or an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). Further, the control unit 10 includes a certificate receiving unit 11, a first certification unit 12, a corresponding data receiving unit 13, a associated data management unit 14, and a second certification unit 15.
  • the certificate receiving unit 11 is an example of an acquisition unit.
  • the first certification unit 12 is an example of the first disclosure unit.
  • the associated data receiving unit 13 is an example of a receiving unit.
  • the second certification unit 15 is an example of the second disclosure unit.
  • the storage unit 20 corresponds to a storage device such as a non-volatile semiconductor memory element such as a flash memory (Flash Memory) or an FRAM (registered trademark) (Ferroelectric Random Access Memory). Further, the storage unit 20 stores the certificate 210.
  • a non-volatile semiconductor memory element such as a flash memory (Flash Memory) or an FRAM (registered trademark) (Ferroelectric Random Access Memory). Further, the storage unit 20 stores the certificate 210.
  • the certificate receiving unit 11 receives the signed certificate 210 from the issuing institution 5.
  • the signed certificate 210 contains, for example, a character string of each attribute and a hash value for the character string of each attribute for each attribute. Further, the certificate receiving unit 11 stores the received certificate 210 in the storage unit 20.
  • the hash value for the attribute string is called a commitment.
  • the first certification unit 12 proves the validity of the user's personal identification information disclosed to the data providing device 2. For example, the first certification unit 12 logs in to the data providing device 2. The first certification unit 12 requests the data providing device 2 to provide its own data. The request for provision includes personal identification information of the user. The first certification unit 12 transmits the commitments of the plurality of attributes included in the certificate 210 to the data providing device 2 as certification information. The first proof unit 12 receives a random value (nonce) from the data providing device 2 and certifies the validity of the personal identification information disclosed by using the nonce and the proof information by zero-knowledge proof. The first certification unit 12 generates verification information used for verification from the certificate 210. Then, the first certification unit 12 transmits the generated verification information to the data providing device 2.
  • the association data receiving unit 13 receives the association data from the data providing device 2. For example, the association data receiving unit 13 receives the data corresponding to the user's personal identification information and the signature information signed with the certification information as the association data.
  • the association data management unit 14 manages the association data. For example, the association data management unit 14 logs in to the data management device 3. The association data management unit 14 transmits the received data corresponding to the user's personal identification information and the signature information signed with the certification information to the data management device 3 as the association data. This is because the associated data is managed by the data management device 3.
  • the second certification unit 15 proves the validity of the attribute information disclosed to the data utilization device 4. For example, the second certification unit 15 transmits the attribute information for which the disclosure request is made to the data utilization device 4 in response to the disclosure request for the attribute of the data utilization device 4.
  • the second proof unit 15 receives a random value (nonce) from the data utilization device 4, and certifies the validity of the attribute information disclosed by using the nonce and the proof information by zero-knowledge proof.
  • the second certification unit 15 generates verification information used for verification from the certificate 210. Then, the second certification unit 15 transmits the generated verification information to the data utilization device 4.
  • FIG. 3 is a diagram showing a functional configuration of the data providing device according to the embodiment.
  • the data providing device 2 has a control unit and a storage unit (not shown).
  • the control unit has an internal memory for storing programs and control data that specify various processing procedures, and executes various processing by these.
  • the control unit corresponds to, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array) or an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • the control unit includes a verification unit 21, an association data generation unit 22, and an association data transmission unit 23.
  • the storage unit corresponds to a storage device such as a non-volatile semiconductor memory element such as a flash memory (Flash Memory) or a FRAM (registered trademark) (Ferroelectric Random Access Memory).
  • the verification unit 21 verifies the validity of the user's personal identification information. For example, the verification unit 21 receives the personal identification information of the user from the user device 1. The verification unit 21 receives proof information indicating the commitment of a plurality of attributes included in the certificate 210. The verification unit 21 generates a random value (nonce) and transmits it to the user device 1. The verification unit 21 receives verification information from the user device 1. The verification unit 21 verifies the verification information using the nonce and the proof information, and verifies the validity of the disclosed personal identification information. As a result, the verification unit 21 can confirm that the personal identification information is the attribute information included in the certificate 210.
  • the association data generation unit 22 acquires the user data corresponding to the personal identification information, and generates the acquired data and the signature information that signs the certification information as the association data.
  • the association data transmission unit 23 transmits the generated association data to the user device 1. For example, the association data transmission unit 23 transmits the data corresponding to the personal identification information of the user and the signature information signed with the certification information as the association data.
  • FIG. 4 is a diagram showing a functional configuration of the data management device according to the embodiment.
  • the data management device 3 has a control unit and a storage unit (not shown).
  • the control unit has an internal memory for storing programs and control data that specify various processing procedures, and executes various processing by these.
  • the control unit corresponds to, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array) or an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • the control unit includes the association data storage unit 31, the association data transmission unit 32, and the association data 33.
  • the storage unit corresponds to a storage device such as a non-volatile semiconductor memory element such as a flash memory (Flash Memory) or a FRAM (registered trademark) (Ferroelectric Random Access Memory).
  • the association data 33 is data indicating data corresponding to the personal identification information of the user and signature information in which the certification information is signed.
  • the association data 33 is stored in a storage unit (not shown).
  • the association data storage unit 31 When the association data storage unit 31 receives the association data from the user device 1, it stores the received association data. That is, the association data storage unit 31 stores the data corresponding to the personal identification information of the user and the signature information in which the proof information is signed in the storage unit.
  • the association data transmission unit 32 transmits the association data to the data utilization device 4 in response to the data request of the data utilization device 4. That is, the association data transmission unit 32 transmits the signature information that signs the user data and the certification information to the data utilization device 4.
  • FIG. 5 is a diagram showing a functional configuration of the data utilization device according to the embodiment.
  • the data utilization device 4 has a control unit and a storage unit (not shown).
  • the control unit has an internal memory for storing programs and control data that specify various processing procedures, and executes various processing by these.
  • the control unit corresponds to, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array) or an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • the control unit includes a correspondence data receiving unit 41 and a verification unit 42.
  • the storage unit corresponds to a storage device such as a non-volatile semiconductor memory element such as a flash memory (Flash Memory) or a FRAM (registered trademark) (Ferroelectric Random Access Memory).
  • the associated data receiving unit 41 transmits a data request to the data management device 3.
  • the association data receiving unit 41 receives the association data corresponding to the data request from the data management device 3. That is, the association data receiving unit 41 receives the data corresponding to the personal identification information of the user and the signature information in which the proof information is signed.
  • the verification unit 42 verifies the validity of the attribute information required by the user. For example, the verification unit 42 verifies the signature of the signature information of the associated data and confirms that the data is provided by the data providing device 2. For signature verification, any conventional digital signature mechanism may be used. Then, the verification unit 42 requests the user device 1 to disclose the necessary attribute information of the user. The verification unit 42 receives the necessary attribute information of the user from the user device 1. The verification unit 42 generates a random value (nonce) and transmits it to the user device 1. The verification unit 42 receives verification information from the user device 1. The verification unit 42 verifies the verification information using the nonce and the proof information, and verifies the validity of the disclosed attribute information. As a result, the verification unit 42 can confirm that the necessary attribute information belongs to a legitimate user by verifying using the certification information. Further, the verification unit 42 can guarantee the correctness of the combination of the data and the necessary attribute information by verifying the signature.
  • FIG. 6 is a diagram showing a functional configuration of the issuing organization according to the embodiment.
  • the issuing organization 5 has a control unit and a storage unit (not shown).
  • the control unit has an internal memory for storing programs and control data that specify various processing procedures, and executes various processing by these.
  • the control unit corresponds to, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array) or an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • the control unit has a certificate generation unit 51 and a certificate transmission unit 52.
  • the storage unit corresponds to a storage device such as a non-volatile semiconductor memory element such as a flash memory (Flash Memory) or a FRAM (registered trademark) (Ferroelectric Random Access Memory).
  • the certificate generation unit 51 generates a signed certificate in response to a request from the user device 1.
  • the certificate transmission unit 52 transmits the generated signed certificate to the user device 1.
  • FIG. 7 is a diagram showing an example of guaranteed control according to the embodiment.
  • the user device 1 uses the data corresponding to the user's attribute value A (personal identification information) and the attribute value B (age, annual income) required by the data utilization device 4 through the data management device 3. A case of providing the device 4 will be described.
  • the user device 1 receives the signed certificate 210 from the issuing institution 5 (p11).
  • the certificate 210 includes commitments of attribute value A (personal identification information), attribute value B (age, annual income), and attribute value C (other attribute information).
  • the user device 1 requests the data providing device 2 to provide data including its own attribute value A (personal identification information) (p12). That is, the user device 1 discloses only its own attribute value A (personal identification information) to the data providing device 2.
  • the user device 1 provides the commitments of the plurality of attribute values A, B, and C included in the certificate 210 to the data providing device 2 as proof information, and performs zero-knowledge proof with the data providing device 2.
  • P13 the user device 1 receives a random value (nonce) from the data providing device 2, and uses the nonce and the proof information to prove the validity of the disclosed attribute value A (personal identification information).
  • the user device 1 generates verification information from the certificate 210 and transmits it to the data providing device 2.
  • the data providing device 2 verifies the verification information using the nonce and the proof information, and verifies the validity of the disclosed attribute value A (personal identification information).
  • the data providing device 2 acquires the data corresponding to the attribute value A (personal identification information), generates the acquired data and the signature information that signs the certification information as the associated data, and causes the user device 1 to generate the data.
  • Send (p14) That is, the data providing device 2 associates the data with the certificate 210 by using the proof information at the time of zero-knowledge proof.
  • the user device 1 that has received the signature information that has signed the data and the certification information deposits the received signature information in the data management device 3.
  • the data utilization device 4 requests the data management device 3 for a data request, and receives the signature information in which the data corresponding to the data request and the certification information are signed from the data management device 3 (p15). That is, the data utilization device 4 receives the correspondence between the data and the certificate 210.
  • the data utilization device 4 requests the user device 1 to disclose the attribute value B (age, annual income) which is necessary attribute information, and receives the user attribute value B (p16). That is, the user device 1 discloses only its own attribute value B to the data utilization device 4.
  • the user device 1 performs zero-knowledge proof with the data utilization device 4 (p17). That is, the user device 1 receives a random value (nonce) from the data providing device 2 and proves the validity of the disclosed attribute value B (age, annual income). The user device 1 generates verification information from the certificate 210 and transmits it to the data utilization device 4. The data utilization device 4 verifies the verification information using the nonce and the verification information, and verifies the validity of the disclosed attribute value B (age, annual income). As a result, the data utilization device 4 can confirm that the required attribute value B (age, annual income) belongs to a legitimate user by using the proof information.
  • FIG. 8 is a diagram showing an example of a guaranteed control sequence according to the embodiment. It is assumed that the user device 1 requests the issuing organization 5 to issue a certificate 210 with its own signature.
  • the issuing institution 5 generates a certificate 210 signed by the requested user (S11).
  • the issuing organization 5 issues the generated certificate 210 to the requesting user device 1 (S12).
  • the user device 1 that has received the certificate 210 discloses to the data providing device 2 some of the attribute values among the plurality of attribute values included in the certificate 210 (S13). Some attribute values to be disclosed include, for example, personal identification information such as name and address. Further, the user device 1 transmits the commitment of all the attribute values included in the certificate 210 to the data providing device 2 as proof information (S14).
  • the data providing device 2 generates a nonce (random value) and transmits it to the user device 1 (S15).
  • the user device 1 that has received the nonce certifies the disclosed attribute value by zero-knowledge proof using the nonce and the proof information (S16). Then, the user device 1 generates verification information from the certificate 210 and transmits it to the data providing device 2 (S17).
  • the data providing device 2 that has received the verification information verifies the verification information using the certification information and the nonce, and verifies the validity of the disclosed attribute value (S18). Then, the data providing device 2 acquires the data corresponding to the disclosed attribute value (S19). Then, the data providing device 2 generates the signature information in which the data and the certification information are signed as the association data and transmits the data and the signature information to the user device 1 (S20). That is, the data providing device 2 generates the associated data in which the data and the certificate 210 are associated with each other.
  • the user device 1 stores the signature information that signs the data and the certification information and the access method to the user application in the data management device 3 (S21).
  • the access method to the user application referred to here refers to an access method to the user application used for accessing the user device 1 from the data utilization device 4 that wants to use the user's data.
  • the data management device 3 stores the signature information in which the data corresponding to the user and the certification information are signed and the access method to the user application in association with each other.
  • the data utilization device 4 requests data from the data management device 3 (S22).
  • the data management device 3 that has received the data request transmits the signature information that signs the data and the certification information and the access method to the user application to the data utilization device 4 (S23).
  • the data utilization device 4 that has received the signature information that has signed the data and the certification information verifies the signature of the signature information (S24A) and confirms that the data is the data provided by the data providing device 2. For signature verification, any conventional digital signature mechanism may be used. Then, the data utilization device 4 requests the user device 1 to disclose some required attribute values by using the access method to the user application (S24B). Some attribute values that require disclosure include, for example, age and annual income.
  • the user device 1 that has received the data request discloses some of the attribute values among the plurality of attribute values for which the data request has been made (S25). Here, age and annual income are disclosed.
  • the data utilization device 4 generates a nonce (random value) and transmits it to the user device 1 (S26).
  • the user device 1 that has received the nonce certifies the disclosed attribute value by zero-knowledge proof using the nonce and the proof information (S27). Then, the user device 1 generates verification information from the certificate 210 and transmits it to the data utilization device 4 (S28).
  • the data utilization device 4 that has received the verification information verifies the verification information using the certification information and the nonce, and verifies the validity of the disclosed attribute value (S29). As a result, the data utilization device 4 can confirm that the necessary attribute information belongs to a legitimate user. Further, the data utilization device 4 can guarantee the correctness of the combination of the data and the necessary attribute information.
  • the user device 1 provides the commitment of all attribute values included in the certificate 210 to the data providing device 2 and the data utilization device 4 as verification devices as proof information, and the attributes disclosed by the zero-knowledge proof. He explained that it would prove the validity of the value.
  • the user device 1 is not limited to this, and in addition to the commitment of all attribute values included in the certificate 210, the commitment of the master key (secret information possessed by the user) capable of uniquely identifying the user is provided. It may be used as proof information.
  • the user apparatus 1 provides the master key commitment to the issuing authority 5, which includes the master key commitment in the certificate 210.
  • the user device 1 provides the master key commitment to the verification device to prove that it is its own certificate 210 by a method of proving whether or not it knows the secret information by zero-knowledge proof. Is also good.
  • the data utilization device 4 requests the user device 1 to disclose some required attribute values by using the access method to the user application.
  • the method in which the data utilization device 4 accesses the user device 1 is not limited to this, and the user device 1 may be accessed via the data management device 3.
  • the user device 1 and the data management device 3 have been described separately.
  • the function of the data management device 3 may be incorporated into the user device 1, and the user device 1 may realize the function of the data management device 3.
  • the credit information (for example, public key, etc.) may be managed by using a blockchain.
  • the issuing institution 5 issues a certificate 210 with an electronic signature to the user device 1, but the user device 1 obtains a public key corresponding to the private key of the signature from the blockchain and certifies it.
  • the validity of Book 210 may be verified.
  • the data utilization device 4 verifies the signature of the signature information of the associated data, obtains the public key corresponding to the private key of the signature from the blockchain, and the data of the associated data is provided by the data providing device 2. You may confirm that it is data.
  • the guarantee control system 9 can secure the trust of the access destination by using the blockchain.
  • the user device 1 acquires the certificate 210 including a plurality of attribute information.
  • the user device 1 transmits hash values of a plurality of attribute information to the data providing device 2.
  • the user device 1 discloses the first attribute information that identifies an individual among the plurality of attribute information to the data providing device 2 by zero-knowledge proof using hash values of the plurality of attribute information.
  • the user device 1 receives the provided data corresponding to the first attribute information, the hash values of the plurality of attribute information, and the signature information of the data including the provided data and the hash values of the plurality of attribute information from the data providing device 2. To do.
  • the user device 1 transmits the provided data, hash values of a plurality of attribute information, and signature information to the data utilization device 4.
  • the user device 1 discloses the second attribute information desired by the data utilization device 4 among the plurality of attribute information to the data utilization device 4 by zero-knowledge proof using hash values of the plurality of attribute information.
  • the user apparatus 1 combines the information required for zero-knowledge proof (hash values of a plurality of attribute information) with the provided data to ensure the authenticity of the second attribute information of the user corresponding to the provided data. Can be proved. Further, the user device 1 can suppress the disclosure of unnecessary attribute information to the data providing device 2 and the data utilization device 4, respectively.
  • the user device 1 does not need to disclose the second attribute information to the data providing device 2, and does not need to disclose the first attribute information to the data utilization device 4.
  • the user device 1 does not need to disclose its own privacy more than necessary, and the data utilization device 4 and the data providing device 2 do not need to acquire unnecessary attribute information.
  • the data utilization device 4 can trust the user's second attribute information without trusting the user device 1. This is because the second attribute information of the user of the user device 1 is guaranteed by the issuing authority 5 of the certificate 210.
  • the user device 1 further causes the data utilization device 4 to verify the signature information.
  • the data utilization device 4 can verify that the provided data with the signature information is the data provided by the data providing device 2. That is, the data utilization device 4 can verify the validity of the provided data.
  • the hash value of the plurality of attribute information is the value of each commitment of the plurality of attribute information.
  • the user device 1 includes the value of each commitment of the plurality of attribute information in the certificate 210 and provides the data providing device 2 and the data utilization device 4 as the verification device. As a result, the user device 1 can prove the validity of the attribute information to be disclosed by the method of proving whether or not the secret information is known by the zero-knowledge proof.
  • the hash value of the plurality of attribute information further includes the value of the commitment of the master key used when generating the certificate 210.
  • the user device 1 includes the commitment of the master key in the certificate 210 and provides the data providing device 2 and the data utilization device 4 as the verification device. As a result, the user device 1 can prove that it is its own certificate 210 by a method of proving whether or not it knows the secret information by the zero-knowledge proof.
  • the proof of the certificate 210 and the proof of the signature information of the data are performed using the blockchain. According to such a configuration, the trust of the access destination can be ensured by certifying the certificate 210 and certifying the signature information of the data by using the blockchain.
  • each component of the illustrated user device 1 does not necessarily have to be physically configured as shown in the figure. That is, the specific embodiment of the distribution / integration of the user device 1 is not limited to the one shown in the drawing, and all or part of the distribution / integration is functionally or physically distributed in arbitrary units according to various loads and usage conditions. -Can be integrated and configured.
  • the associated data receiving unit 13 and the associated data management unit 14 may be integrated as one unit.
  • the first certification unit 12 may be dispersed into a request unit that requests data from the data providing device 2 and a certification unit that proves the validity of the disclosed information.
  • the storage unit 20 of the user device 1 may be connected as an external device of the user device 1 via a network.
  • FIG. 9 is a diagram showing an example of a computer that executes a guarantee control program.
  • the computer 200 includes a CPU (Central Processing Unit) 203 that executes various arithmetic processes, an input device 215 that receives data input from a user, and a display control unit 207 that controls the display device 209. Have. Further, the computer 200 has a drive device 213 for reading a program or the like from a storage medium, and a communication control unit 217 for exchanging data with another computer via a network. Further, the computer 200 has a memory 201 for temporarily storing various information and an HDD (Hard Disk Drive) 205. The memory 201, CPU 203, HDD 205, display control unit 207, drive device 213, input device 215, and communication control unit 217 are connected by a bus 219.
  • the drive device 213 is, for example, a device for the removable disk 211.
  • the HDD 205 stores the guarantee control program 205a and the guarantee control processing related information 205b.
  • the CPU 203 reads the guarantee control program 205a and expands it into the memory 201.
  • the guarantee control program 205a functions as a guarantee control process.
  • the guarantee control process corresponds to each functional unit of the control unit 10.
  • the guarantee control processing related information 205b corresponds to the certificate 210 and the like.
  • the guarantee control program 205a does not necessarily have to be stored in the HDD 205 from the beginning.
  • a "portable physical medium” such as a flexible disk (FD), a CD-ROM (Compact Disk Read Only Memory), a DVD (Digital Versatile Disk), a magneto-optical disk, or an IC (Integrated Circuit) card inserted into a computer 200.
  • FD flexible disk
  • CD-ROM Compact Disk Read Only Memory
  • DVD Digital Versatile Disk
  • IC Integrated Circuit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

ユーザ装置(1)は、複数の属性情報を含む証明書(210)を取得し、複数の属性情報のハッシュ値をデータ提供装置に送信し、複数の属性情報のうち個人を識別する第1の属性情報を、複数の属性情報のハッシュ値を用いたゼロ知識証明によりデータ提供装置に開示する。ユーザ装置(1)は、第1の属性情報に対応する提供データと、複数の属性情報のハッシュ値と、提供データおよび複数の属性情報のハッシュ値を含むデータの署名情報とをデータ提供装置から受信し、データ利用装置に送信する。ユーザ装置(1)は、複数の属性情報のうち、データ利用装置が所望する第2の属性情報を、複数の属性情報のハッシュ値を用いたゼロ知識証明によりデータ利用装置に開示する。これにより、ユーザ装置(1)は、個人の属性情報の開示を制限しつつ、正しいデータと属性情報の組み合わせを提供することができる。

Description

保証制御方法、情報処理装置および保証制御プログラム
 本発明は、保証制御方法等に関する。
 近年、個人の信用情報が電子的に管理されつつある。例えば、ブロックチェーンを用いた個人の信用情報の管理として、Hyperledger Indy(登録商標)がある。Hyperledger Indyでは、個人は、信頼された機関から発行された電子署名付きの証明書を持ち、この証明書を提示することにより、個人の信用情報を提示することができる。提示先では、証明書を発行した機関の公開鍵をブロックチェーンから探索して、公開鍵に対応した秘密鍵で署名がなされているかを検証することで、証明書の正当性を検証する。
 ところが、個人は、提示先に対して、開示する必要のない情報を開示したくない場合がある。しかしながら、電子署名は証明書に付されているので、通常は、証明書の全てを開示しないと、証明書の正当性を検証できない。
 そこで、ゼロ知識証明の技術を用いて、証明書の一部の情報を秘匿して証明書の正当性を検証する技術が開示されている。ゼロ知識証明とは、証明者が「命題が真である」こと以外の知識を検証者に与えることなく、「命題が真である」ことを検証者に証明する手法である(例えば、特許文献1参照)。例えば、秘密情報sに対して、コミットメント演算を施し、コミットメントcを生成し、証明者がコミットメントcの秘密情報sを「知っている」ことを検証者に確認させる(例えば、特許文献2参照)。
特開2016-208107号公報 特開平11-249560号公報
 ところで、個人情報に紐付いた購買データ等のデータを個人から預託され、データを活用するために、データを匿名化したうえで提供する事業者として情報銀行がある。情報銀行のように個人から預託されたデータを活用する例として、購買データを解析してマーケティングに利用するデータ利用者が居る。かかるデータ利用者は、データがどのような属性を持つ人のデータなのかを知りたい場合がある。
 しかしながら、例えば情報銀行からデータ利用者がデータを取得して利用するには、このデータに紐付く所有者の属性を取得することが重要であるが、このデータに紐付く所有者の信頼できる属性を取得することが難しいという問題がある。この問題について、図10を参照して説明する。
 図10は、データ利用者がデータを利用する場合の問題を示す図である。図10に示すように、例えば、ユーザはデータ管理者(情報銀行)を通じて、自身の購買データとデータ利用者が必要とするユーザの属性をデータ利用者に提供する。ここでは、データ利用者が必要とするユーザの属性は、年齢、年収であるとする。ところが、購買データの提供元となるオンラインショッピングサイトのデータ提供者は、購買データの提供に必要な個人属性を管理しているが、データ利用者が必要とする属性(年齢、年収)を持っているとは限らない。仮にデータ提供者が、データ利用者が必要とする属性(年齢、年収)を持っていたとしても、この属性が実際とは異なる値を登録している可能性もあり、ユーザの正しい属性であるとは限らない。また、ユーザは、データ管理者(情報銀行)を通じて購買データを提供する際に、データ利用者が必要とする属性を偽って提供するかもしれない。つまり、ユーザは、他人のデータを自身の属性とセットで提供したり、自身のデータを他人の属性とセットで提供したりする可能性がある。したがって、データ利用者は、ユーザの正しいデータと属性の組み合わせを取得することが難しい。
 ここで、データ利用者が正しいデータと属性の組み合わせを確認できる参考例を、図11および図12を参照して説明する。図11および図12は、正しいデータと属性の組み合わせを確認できる参考例を示す図である。
 図11に示す参考例では、身元を証明する証明書を発行する発行者は、個人を特定する属性とその他の属性を組み込んだ証明書をユーザに対して発行する。ユーザは、個人を特定する属性をデータ提供者に開示する。データ提供者は、提供する購買データに個人を特定できる属性(氏名、住所)を付加したデータに著名する。ユーザは、データ管理者を通じて、署名されたデータをデータ利用者に提供する。このとき、ユーザは、個人識別情報(例えば、証明書)と、データ利用者が必要とする属性(年齢、年収)をデータ利用者に開示する。すると、データ利用者は、個人識別情報(例えば、証明書)と個人を特定できる属性(氏名、住所)から、身元を確認して、同じ人の正しい購買データと属性(年齢、年収)の組み合わせであることを確認できる。ところが、この参考例の方法では、個人識別情報をデータ利用者に開示しなくてはならない。
 また、図12に示す参考例では、身元を証明する証明書を発行する発行者は、個人を特定する属性とその他の属性を組み込んだ証明書を発行する。ユーザは、個人を特定する属性に加えて、データ利用者が必要とする属性をデータ提供者に開示する。データ提供者は、提供する購買データに個人を特定できる属性、さらにデータ利用者が必要とする属性を付加したデータに著名する。ユーザは、データ管理者を通じて、署名されたデータをデータ利用者に提供する。すると、データ利用者は、この証明されたデータの提供を受けることで、同じ人の正しい購買データと属性の組み合わせであることを確認できる。ところが、この参考例の方法では、データ利用者が必要とする属性をデータ提供者に開示しなくてはならない。
 1つの側面では、本発明は、個人の属性情報の開示を制限しつつ、正しいデータと属性情報の組み合わせを提供することを目的とする。
 一態様の保証制御方法において、コンピュータは、複数の属性情報を含む証明書データを取得し、前記複数の属性情報のハッシュ値をデータ提供装置に送信し、前記複数の属性情報のうち個人を識別する第1の属性情報を、前記複数の属性情報のハッシュ値を用いたゼロ知識証明により前記データ提供装置に開示し、前記第1の属性情報に対応する提供データと、前記複数の属性情報のハッシュ値と、前記提供データおよび前記複数の属性情報のハッシュ値を含むデータの署名情報とを前記データ提供装置から受信し、前記提供データと、前記複数の属性情報のハッシュ値と、前記署名情報とをデータ利用装置に送信し、前記複数の属性情報のうち、前記データ利用装置が所望する第2の属性情報を、前記複数の属性情報のハッシュ値を用いたゼロ知識証明により前記データ利用装置に開示する、ことを実行する。
 一つの態様によれば、個人の属性情報の開示を制限しつつ、正しいデータと属性情報の組み合わせを提供することができる。
図1は、実施例に係るユーザ装置を含む保証制御システムの機能構成を示すブロック図である。 図2は、実施例に係るユーザ装置の機能構成を示す図である。 図3は、実施例に係るデータ提供装置の機能構成を示す図である。 図4は、実施例に係るデータ管理装置の機能構成を示す図である。 図5は、実施例に係るデータ利用装置の機能構成を示す図である。 図6は、実施例に係る発行機関の機能構成を示す図である。 図7は、実施例に係る保証制御の一例を示す図である。 図8は、実施例に係る保証制御のシーケンスの一例を示す図である。 図9は、保証制御プログラムを実行するコンピュータの一例を示す図である。 図10は、データ利用者がデータを利用する場合の問題を示す図である。 図11は、正しいデータと属性の組み合わせを確認できる参考例を示す図である。 図12は、正しいデータと属性の組み合わせを確認できる参考例を示す図である。
 以下に、本願の開示する保証制御方法、情報処理装置および保証制御プログラムの実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[保証制御システムの機能構成]
 図1は、実施例に係るユーザ装置を含む保証制御システムの機能構成を示すブロック図である。実施例に係る保証制御システム9は、ユーザ装置1と、データ提供装置2と、データ管理装置3と、データ利用装置4と、発行機関5とを有する。ユーザ装置1は、データ管理装置3、データ提供装置2、データ利用装置4および発行機関5と、ネットワークで接続される。なお、実施例に係る保証制御システム9では、ユーザ装置1が、データ管理装置3を通じて、ユーザに関するデータとデータ利用装置4が必要とするユーザの属性とをデータ利用装置4に提供する場合について説明する。保証制御システム9は、データ利用装置4に対して、ユーザに関するデータと、データ利用装置4が必要とするユーザの属性との組み合わせの正しさを保証する。
 発行機関5は、電子署名が付された証明書を、ネットワークを介してユーザ装置1に対して発行する。証明書には、個人の識別情報を含む複数の属性情報が含まれる。ここでいう発行機関5とは、電子証明書を発行する、信頼された機関のことをいう。発行機関5には、例えば、認証局(CA:Certification Authority)や企業等が含まれる。
 ユーザ装置1は、複数の属性情報を含む証明書を取得する。ユーザ装置1は、ゼロ知識証明に用いられる、ユーザの複数の属性情報に関する証明用情報をデータ提供装置2に送信するとともに、複数の属性情報のうちユーザを識別する個人識別情報を後述するデータ提供装置2に開示する。ユーザ装置1は、ユーザの個人識別情報の正当性を、証明用情報を用いたゼロ知識証明により証明し、証明書から作成する検証用情報をデータ提供装置2に送信する。ユーザ装置1は、データ提供装置2から提供されたデータおよび証明用情報を署名した署名情報(対応付けデータ)を、データ管理装置3を通じて、データ利用装置4に送信する。ユーザ装置1は、データ利用装置4が必要とする属性情報をデータ利用装置4に開示する。ユーザ装置1は、開示した属性情報の正当性を、証明用情報を用いたゼロ知識証明により証明し、証明書から作成する検証用情報をデータ利用装置4に送信する。これにより、ユーザ装置1は、データ利用装置4にユーザの個人識別情報を開示することなく、データ利用装置4が必要とする属性情報をデータとともに、データ利用装置4に開示できる。また、ユーザ装置1は、正しいデータと属性情報の組み合わせを、データ利用装置4に提供することが可能となる。なお、ユーザ装置1の機能構成は、後述する。
 ここで、ゼロ知識証明とは、証明者が「命題が真である」こと以外の知識を検証者に与えることなく、「命題が真である」ことを検証者に証明する手法である。例えば、秘密情報sに対して、コミットメント演算を施し、コミットメントcを生成し、証明者がcの秘密情報sを「知っている」ことを検証者に確認させる。ここでいう証明者はユーザ装置1である。ここでいう検証者はデータ提供装置2およびデータ利用装置4である。すなわち、ユーザ装置1は、証明書に含まれる一部の属性情報のみを開示し、他の属性情報を秘密にする場合でも、ゼロ知識証明を用いて、開示した一部の属性情報の正当性を証明することができる。
 データ提供装置2は、データを提供する。例えば、データ提供装置2は、ユーザ装置1から、データを提供するユーザの個人識別情報およびゼロ知識証明に用いられる証明用情報を受け付ける。データ提供装置2は、ユーザ装置1から、検証用情報を受け付ける。データ提供装置2は、証明用情報および検証用情報に基づいて、ゼロ知識証明により開示された個人識別情報の正当性を検証する。そして、データ提供装置2は、個人識別情報に対応するデータと証明用情報とを対応付けて、対応付けデータを署名した署名情報をユーザ装置1に提供する。なお、データ提供装置2の機能構成は、後述する。
 データ管理装置3は、ユーザのデータを活用すべく、ユーザの個人識別情報に紐付いたデータを匿名化したものを管理する。すなわち、データ管理装置3は、例えば、情報銀行に対応する。なお、データ管理装置3の機能構成は、後述する。
 データ利用装置4は、データを利用する。例えば、データ利用装置4は、データ管理装置3から、ユーザの個人識別情報に対応するデータおよび証明用情報(対応付けデータ)を署名した署名情報を受け付ける。データ利用装置4は、ユーザ装置1から、必要とするユーザの属性情報および検証用情報を受け付ける。データ利用装置4は、証明用情報および検証用情報に基づいて、ゼロ知識証明により開示されたユーザの属性情報の正当性を検証する。なお、データ利用装置4の機能構成は、後述する。
[ユーザ装置の機能構成]
 図2は、実施例に係るユーザ装置の機能構成を示す図である。図2に示すように、ユーザ装置1は、制御部10と、記憶部20とを有する。
 制御部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部10は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路又はCPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。さらに、制御部10は、証明書受信部11、第1の証明部12、対応付けデータ受信部13、対応付けデータ管理部14および第2の証明部15を有する。なお、証明書受信部11は、取得部の一例である。第1の証明部12は、第1の開示部の一例である。対応付けデータ受信部13は、受信部の一例である。第2の証明部15は、第2の開示部の一例である。
 記憶部20は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。さらに、記憶部20は、証明書210を記憶する。
 証明書受信部11は、発行機関5から署名付きの証明書210を受信する。署名付きの証明書210には、例えば、属性ごとに、各属性の文字列や、各属性の文字列に対するハッシュ値が含まれる。また、証明書受信部11は、受信した証明書210を記憶部20に格納する。なお、属性の文字列に対するハッシュ値のことをコミットメントという。
 第1の証明部12は、データ提供装置2に開示する、ユーザの個人識別情報の正当性を証明する。例えば、第1の証明部12は、データ提供装置2にログインする。第1の証明部12は、データ提供装置2に対して、自身のデータの提供要求を行う。提供要求には、自身の個人識別情報が含まれる。第1の証明部12は、証明書210に含まれる複数の属性のコミットメントを証明用情報としてデータ提供装置2に送信する。第1の証明部12は、データ提供装置2からランダム値(ナンス)を受け取り、ナンスと証明用情報を用いて開示した個人識別情報の正当性をゼロ知識証明により証明する。第1の証明部12は、証明書210から検証に用いられる検証用情報を生成する。そして、第1の証明部12は、生成した検証用情報をデータ提供装置2に送信する。
 対応付けデータ受信部13は、データ提供装置2から対応付けデータを受信する。例えば、対応付けデータ受信部13は、ユーザの個人識別情報に対応するデータおよび証明用情報を署名した署名情報を対応付けデータとして受信する。
 対応付けデータ管理部14は、対応付けデータを管理する。例えば、対応付けデータ管理部14は、データ管理装置3にログインする。対応付けデータ管理部14は、受信した、ユーザの個人識別情報に対応するデータおよび証明用情報を署名した署名情報を対応付けデータとしてデータ管理装置3に送信する。これは、対応付けデータをデータ管理装置3で管理するためである。
 第2の証明部15は、データ利用装置4に開示する、属性情報の正当性を証明する。例えば、第2の証明部15は、データ利用装置4の属性の開示要求に応じて、開示要求のあった属性情報をデータ利用装置4に送信する。第2の証明部15は、データ利用装置4からランダム値(ナンス)を受け取り、ナンスと証明用情報を用いて開示した属性情報の正当性をゼロ知識証明により証明する。第2の証明部15は、証明書210から検証に用いられる検証用情報を生成する。そして、第2の証明部15は、生成した検証用情報をデータ利用装置4に送信する。
[データ提供装置の機能構成]
 図3は、実施例に係るデータ提供装置の機能構成を示す図である。図3に示すように、データ提供装置2は、図示しない制御部および記憶部を有する。制御部は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路又はCPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。さらに、制御部は、検証部21、対応付けデータ生成部22および対応付けデータ送信部23を有する。記憶部は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。
 検証部21は、ユーザの個人識別情報の正当性を検証する。例えば、検証部21は、ユーザ装置1からユーザの個人識別情報を受信する。検証部21は、証明書210に含まれる複数の属性のコミットメントを示す証明用情報を受信する。検証部21は、ランダム値(ナンス)を生成し、ユーザ装置1に送信する。検証部21は、ユーザ装置1から検証用情報を受信する。検証部21は、ナンスと証明用情報を用いて、検証用情報を検証して、開示された個人識別情報の正当性を検証する。これにより、検証部21は、個人識別情報が証明書210に含まれている属性情報であることを確認できる。
 対応付けデータ生成部22は、個人識別情報に対応するユーザのデータを取得して、取得したデータおよび証明用情報を署名した署名情報を対応付けデータとして生成する。
 対応付けデータ送信部23は、生成された対応付けデータをユーザ装置1に送信する。例えば、対応付けデータ送信部23は、ユーザの個人識別情報に対応するデータおよび証明用情報を署名した署名情報を対応付けデータとして送信する。
[データ管理装置の機能構成]
 図4は、実施例に係るデータ管理装置の機能構成を示す図である。図4に示すように、データ管理装置3は、図示しない制御部および記憶部を有する。制御部は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路又はCPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。さらに、制御部は、対応付けデータ格納部31と、対応付けデータ送信部32と、対応付けデータ33とを有する。記憶部は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。
 対応付けデータ33は、ユーザの個人識別情報に対応するデータおよび証明用情報を署名した署名情報を示すデータである。対応付けデータ33は、図示しない記憶部に記憶される。
 対応付けデータ格納部31は、ユーザ装置1から対応付けデータを受信すると、受信した対応付けデータを格納する。すなわち、対応付けデータ格納部31は、ユーザの個人識別情報に対応するデータおよび証明用情報を署名した署名情報を管理するために記憶部に格納する。
 対応付けデータ送信部32は、データ利用装置4のデータ要求に応じて、対応付けデータをデータ利用装置4に送信する。すなわち、対応付けデータ送信部32は、ユーザのデータおよび証明用情報を署名した署名情報をデータ利用装置4に送信する。
[データ利用装置の機能構成]
 図5は、実施例に係るデータ利用装置の機能構成を示す図である。図5に示すように、データ利用装置4は、図示しない制御部および記憶部を有する。制御部は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路又はCPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。さらに、制御部は、対応付けデータ受信部41と、検証部42とを有する。記憶部は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。
 対応付けデータ受信部41は、データ管理装置3に対して、データ要求を送信する。対応付けデータ受信部41は、データ管理装置3からデータ要求に対応する対応付けデータを受信する。すなわち、対応付けデータ受信部41は、ユーザの個人識別情報に対応するデータおよび証明用情報を署名した署名情報を受信する。
 検証部42は、ユーザの必要な属性情報の正当性を検証する。例えば、検証部42は、対応付けデータの署名情報の署名を検証して、データ提供装置2が提供したデータであることを確認する。なお、署名の検証は、従来のいかなるデジタル署名の仕組みを用いても構わない。そして、検証部42は、ユーザの必要な属性情報の開示を、ユーザ装置1に対して要求する。検証部42は、ユーザ装置1からユーザの必要な属性情報を受信する。検証部42は、ランダム値(ナンス)を生成し、ユーザ装置1に送信する。検証部42は、ユーザ装置1から検証用情報を受信する。検証部42は、ナンスと証明用情報を用いて、検証用情報を検証して、開示された属性情報の正当性を検証する。これにより、検証部42は、証明用情報を用いて検証することで、必要な属性情報が正当なユーザのものであることを確認できる。また、検証部42は、署名を検証することで、データと必要な属性情報との組み合わせの正しさを保証できる。
[発行機関の機能構成]
 図6は、実施例に係る発行機関の機能構成を示す図である。図6に示すように、発行機関5は、図示しない制御部および記憶部を有する。制御部は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路又はCPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。さらに、制御部は、証明書生成部51および証明書送信部52を有する。記憶部は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。
 証明書生成部51は、ユーザ装置1からの要求に応じて、署名付きの証明書を生成する。証明書送信部52は、生成された署名付きの証明書をユーザ装置1に送信する。
[保証制御の一例]
 図7は、実施例に係る保証制御の一例を示す図である。図7では、ユーザ装置1が、データ管理装置3を通じて、ユーザの属性値A(個人識別情報)に対応するデータとデータ利用装置4が必要とする属性値B(年齢、年収)とをデータ利用装置4に提供する場合について説明する。
 ユーザ装置1は、発行機関5から署名付きの証明書210を受信する(p11)。証明書210には、属性値A(個人識別情報)、属性値B(年齢、年収)、属性値C(その他の属性情報)のコミットメントが含まれる。
 ユーザ装置1は、データ提供装置2に対して、自身の属性値A(個人識別情報)を含むデータの提供要求を行う(p12)。すなわち、ユーザ装置1は、データ提供装置2に対して、自身の属性値A(個人識別情報)のみを開示する。
 そして、ユーザ装置1は、証明書210に含まれる複数の属性値A,B,Cのコミットメントを証明用情報としてデータ提供装置2に提供し、データ提供装置2との間でゼロ知識証明を行う(p13)。すなわち、ユーザ装置1は、データ提供装置2からランダム値(ナンス)を受け取り、ナンスと証明用情報とを用いて、開示した属性値A(個人識別情報)の正当性を証明する。ユーザ装置1は、証明書210から検証用情報を生成して、データ提供装置2に送信する。データ提供装置2は、ナンスと証明用情報を用いて、検証用情報を検証して、開示された属性値A(個人識別情報)の正当性を検証する。
 そして、データ提供装置2は、属性値A(個人識別情報)に対応するデータを取得して、取得したデータおよび証明用情報を署名した署名情報を対応付けデータとして生成して、ユーザ装置1に送信する(p14)。すなわち、データ提供装置2は、ゼロ知識証明時の証明用情報を用いてデータと証明書210を対応付ける。
 データおよび証明用情報を署名した署名情報を受信したユーザ装置1は、受信した署名情報をデータ管理装置3に預託する。データ利用装置4は、データ管理装置3に対して、データ要求を依頼し、データ管理装置3からデータ要求に対応するデータおよび証明用情報を署名した署名情報を受信する(p15)。すなわち、データ利用装置4は、データと証明書210の対応付けを受信する。
 そして、データ利用装置4は、ユーザ装置1に対して、必要な属性情報である属性値B(年齢、年収)の開示を要求し、ユーザの属性値Bを受信する(p16)。すなわち、ユーザ装置1は、データ利用装置4に対して、自身の属性値Bのみを開示する。
 そして、ユーザ装置1は、データ利用装置4との間でゼロ知識証明を行う(p17)。すなわち、ユーザ装置1は、データ提供装置2からランダム値(ナンス)を受け取り、開示した属性値B(年齢、年収)の正当性を証明する。ユーザ装置1は、証明書210から検証用情報を生成して、データ利用装置4に送信する。データ利用装置4は、ナンスと証明用情報を用いて、検証用情報を検証して、開示された属性値B(年齢、年収)の正当性を検証する。これにより、データ利用装置4は、証明用情報を用いることで、必要な属性値B(年齢、年収)が正当なユーザのものであることを確認できる。
[保証制御のシーケンス]
 図8は、実施例に係る保証制御のシーケンスの一例を示す図である。なお、ユーザ装置1は、自身の署名付きの証明書210の発行を発行機関5に対して依頼したとする。
 図8に示すように、発行機関5は、依頼されたユーザの署名付きの証明書210を生成する(S11)。発行機関5は、生成した証明書210を、依頼元のユーザ装置1に対して発行する(S12)。
 証明書210を受信したユーザ装置1は、証明書210に含まれる複数の属性値のうちの一部の属性値をデータ提供装置2に開示する(S13)。開示する一部の属性値として、例えば、名前と住所のような個人識別情報が挙げられる。また、ユーザ装置1は、証明書210に含まれる全属性値のコミットメントを証明用情報としてデータ提供装置2に対して送信する(S14)。
 データ提供装置2は、ナンス(ランダム値)を生成し、ユーザ装置1に対して送信する(S15)。
 ナンスを受信したユーザ装置1は、ナンスと証明用情報を用いて、開示した属性値をゼロ知識証明で証明する(S16)。そして、ユーザ装置1は、証明書210から検証用情報を生成して、データ提供装置2に送信する(S17)。
 検証用情報を受信したデータ提供装置2は、証明用情報とナンスを用いて、検証用情報を検証して、開示された属性値の正当性を検証する(S18)。そして、データ提供装置2は、開示された属性値に対応するデータを取得する(S19)。そして、データ提供装置2は、データおよび証明用情報を署名した署名情報を対応付けデータとして生成して、ユーザ装置1に送信する(S20)。すなわち、データ提供装置2は、データと証明書210を対応付けた対応付けデータを生成する。
 ユーザ装置1は、データおよび証明用情報を署名した署名情報と、ユーザアプリへのアクセス方法をデータ管理装置3にストアする(S21)。ここでいうユーザアプリへのアクセス方法とは、ユーザのデータを利用を所望するデータ利用装置4からユーザ装置1へアクセスするために用いられるユーザアプリへのアクセス方法のことをいう。データ管理装置3は、ユーザに対応するデータおよび証明用情報を署名した署名情報と、ユーザアプリへのアクセス方法とを対応付けて格納する。
 データ利用装置4が、データ管理装置3に対してデータを要求する(S22)。
 データ要求を受信したデータ管理装置3は、データおよび証明用情報を署名した署名情報と、ユーザアプリへのアクセス方法をデータ利用装置4に送信する(S23)。
 データおよび証明用情報を署名した署名情報を受信したデータ利用装置4は、署名情報の署名を検証し(S24A)、データ提供装置2が提供したデータであることを確認する。なお、署名の検証は、従来のいかなるデジタル署名の仕組みを用いても構わない。そして、データ利用装置4は、ユーザ装置1に対して、ユーザアプリへのアクセス方法を用いて、必要とする一部の属性値の開示を要求する(S24B)。開示を要求する一部の属性値として、例えば、年齢と年収が挙げられる。
 データ要求を受信したユーザ装置1は、データ要求がされた複数の属性値のうちの一部の属性値を開示する(S25)。ここでは、年齢と年収が開示される。
 データ利用装置4は、ナンス(ランダム値)を生成し、ユーザ装置1に対して送信する(S26)。
 ナンスを受信したユーザ装置1は、ナンスと証明用情報を用いて、開示した属性値をゼロ知識証明で証明する(S27)。そして、ユーザ装置1は、証明書210から検証用情報を生成して、データ利用装置4に送信する(S28)。
 検証用情報を受信したデータ利用装置4は、証明用情報とナンスを用いて、検証用情報を検証して、開示された属性値の正当性を検証する(S29)。これにより、データ利用装置4は、必要な属性情報が正当なユーザのものであることを確認できる。また、データ利用装置4は、データと必要な属性情報との組み合わせの正しさを保証できる。
 なお、ユーザ装置1は、証明書210に含まれる全属性値のコミットメントを証明用情報として、検証装置としてのデータ提供装置2およびデータ利用装置4に提供して、ゼロ知識証明により、開示した属性値の正当性を証明すると説明した。しかしながら、ユーザ装置1は、これに限定されず、証明書210に含まれる全属性値のコミットメントに加えて、ユーザを一意に識別することが可能なマスターキー(ユーザが持つ秘密情報)のコミットメントを証明用情報として用いる場合でも良い。かかる場合には、ユーザ装置1は、マスターキーのコミットメントを発行機関5に提供して、発行機関5がマスターキーのコミットメントを証明書210に含める。そして、ユーザ装置1は、マスターキーのコミットメントを検証装置に提供して、秘密情報を知っているかどうかをゼロ知識証明で証明する方法により、自身の証明書210であることを証明するようにしても良い。
 また、データ利用装置4は、ユーザ装置1に対して、ユーザアプリへのアクセス方法を用いて、必要とする一部の属性値の開示を要求すると説明した。しかしながら、データ利用装置4がユーザ装置1へアクセスする方法は、これに限定されず、データ管理装置3を経由してユーザ装置1へアクセスしても良い。
 また、実施例では、ユーザ装置1とデータ管理装置3とを区別して説明した。しかしながら、データ管理装置3の機能をユーザ装置1に組み込んで、ユーザ装置1がデータ管理装置3の機能を実現しても良い。
 また、実施例に係る保証制御システム9では、信用情報(例えば、公開鍵等)の管理を、ブロックチェーンを用いて行っても良い。例えば、発行機関5は、電子署名が付された証明書210をユーザ装置1に対して発行するが、ユーザ装置1は、署名の秘密鍵に対応する公開鍵をブロックチェーンから取得して、証明書210の正当性を検証しても良い。データ利用装置4は、対応付けデータの署名情報の署名を検証するが、署名の秘密鍵に対応する公開鍵をブロックチェーンから取得して、対応付けデータのデータがデータ提供装置2により提供されたデータであることを確認しても良い。これにより、保証制御システム9は、ブロックチェーンを用いることで、アクセス先の信頼を確保できる。
[実施例の効果]
 上記実施例によれば、ユーザ装置1は、複数の属性情報を含む証明書210を取得する。ユーザ装置1は、複数の属性情報のハッシュ値をデータ提供装置2に送信する。ユーザ装置1は、複数の属性情報のうち個人を識別する第1の属性情報を、複数の属性情報のハッシュ値を用いたゼロ知識証明によりデータ提供装置2に開示する。ユーザ装置1は、第1の属性情報に対応する提供データと、複数の属性情報のハッシュ値と、提供データおよび複数の属性情報のハッシュ値を含むデータの署名情報とをデータ提供装置2から受信する。ユーザ装置1は、提供データと、複数の属性情報のハッシュ値と、署名情報とをデータ利用装置4に送信する。ユーザ装置1は、複数の属性情報のうち、データ利用装置4が所望する第2の属性情報を、複数の属性情報のハッシュ値を用いたゼロ知識証明によりデータ利用装置4に開示する。かかる構成によれば、ユーザ装置1は、ゼロ知識証明に必要な情報(複数の属性情報のハッシュ値)を提供データと組み合わせることで、提供データに対応するユーザの第2の属性情報の真正性を証明できる。また、ユーザ装置1は、データ提供装置2やデータ利用装置4に対して、それぞれ不要な属性情報を開示することを抑制できる。すなわち、ユーザ装置1は、データ提供装置2に第2の属性情報を開示する必要がないし、データ利用装置4に第1の属性情報を開示する必要がない。この結果、ユーザ装置1は、必要以上に自身のプライバシーを開示する必要がないうえ、データ利用装置4やデータ提供装置2は不要な属性情報を取得する必要がない。さらに、データ利用装置4は、ユーザ装置1を信頼しなくても、ユーザの第2の属性情報を信用できる。ユーザ装置1のユーザの第2の属性情報は、証明書210の発行機関5によって保証されるからである。
 また、上記実施例によれば、ユーザ装置1は、さらに、署名情報をデータ利用装置4に検証させる。かかる構成によれば、データ利用装置4は、署名情報の付いた提供データがデータ提供装置2によって提供されたデータであることを検証できる。すなわち、データ利用装置4は、提供データの正当性を検証できる。
 また、上記実施例によれば、複数の属性情報のハッシュ値は、前記複数の属性情報のそれぞれのコミットメントの値である。かかる構成によれば、ユーザ装置1は、複数の属性情報のそれぞれのコミットメントの値を証明書210に含ませ、検証装置としてのデータ提供装置2やデータ利用装置4に提供する。これにより、ユーザ装置1は、秘密情報を知っているかどうかをゼロ知識証明で証明する方法により、開示する属性情報の正当性を証明することが可能になる。
 また、上記実施例によれば、さらに、前記複数の属性情報のハッシュ値は、証明書210を生成する際に用いられるマスターキーのコミットメントの値を含む。かかる構成によれば、ユーザ装置1は、マスターキーのコミットメントを証明書210に含ませ、検証装置としてのデータ提供装置2やデータ利用装置4に提供する。これにより、ユーザ装置1は、秘密情報を知っているかどうかをゼロ知識証明で証明する方法により、自身の証明書210であることを証明することが可能になる。
 また、上記実施例によれば、証明書210の証明およびデータの署名情報の証明は、ブロックチェーンを用いて行われる。かかる構成によれば、証明書210の証明およびデータの署名情報の証明が、ブロックチェーンを用いて行われることで、アクセス先の信頼が確保できる。
[プログラム等]
 なお、図示したユーザ装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、ユーザ装置1の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、対応付けデータ受信部13と対応付けデータ管理部14とを1個の部として統合しても良い。一方、第1の証明部12を、データ提供装置2にデータを要求する要求部と、開示した情報の正当性を証明する証明部とに分散しても良い。また、ユーザ装置1の記憶部20をユーザ装置1の外部装置としてネットワーク経由で接続するようにしても良い。
 また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図2に示したユーザ装置1と同様の機能を実現する保証制御プログラムを実行するコンピュータの一例を説明する。図9は、保証制御プログラムを実行するコンピュータの一例を示す図である。
 図9に示すように、コンピュータ200は、各種演算処理を実行するCPU(Central Processing Unit)203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207を有する。また、コンピュータ200は、記憶媒体からプログラム等を読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
 ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、保証制御プログラム205a及び保証制御処理関連情報205bを記憶する。
 CPU203は、保証制御プログラム205aを読み出して、メモリ201に展開する。保証制御プログラム205aは、保証制御プロセスとして機能する。
 例えば、保証制御プロセスは、制御部10の各機能部に対応する。保証制御処理関連情報205bは、証明書210等に対応する。
 なお、保証制御プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、IC(Integrated Circuit)カード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから保証制御プログラム205aを読み出して実行するようにしても良い。
 1 ユーザ装置
 10 制御部
 11 証明書受信部
 12 第1の証明部
 13 対応付けデータ受信部
 14 対応付けデータ管理部
 15 第2の証明部
 20 記憶部
 210 証明書
 2 データ提供装置
 21 検証部
 22 対応付けデータ生成部
 23 対応付けデータ送信部
 3 データ管理装置
 31 対応付けデータ格納部
 32 対応付けデータ送信部
 33 対応付けデータ
 4 データ利用装置
 41 対応付けデータ受信部
 42 検証部
 5 発行機関
 51 証明書生成部
 52 証明書送信部

Claims (7)

  1.  複数の属性情報を含む証明書データを取得し、
     前記複数の属性情報のハッシュ値をデータ提供装置に送信し、
     前記複数の属性情報のうち個人を識別する第1の属性情報を、前記複数の属性情報のハッシュ値を用いたゼロ知識証明により前記データ提供装置に開示し、
     前記第1の属性情報に対応する提供データと、前記複数の属性情報のハッシュ値と、前記提供データおよび前記複数の属性情報のハッシュ値を含むデータの署名情報とを前記データ提供装置から受信し、
     前記提供データと、前記複数の属性情報のハッシュ値と、前記署名情報とをデータ利用装置に送信し、
     前記複数の属性情報のうち、前記データ利用装置が所望する第2の属性情報を、前記複数の属性情報のハッシュ値を用いたゼロ知識証明により前記データ利用装置に開示する
     ことをコンピュータが実行することを特徴とする保証制御方法。
  2.  さらに、前記署名情報を前記データ利用装置に証明させる
     ことを特徴とする請求項1に記載の保証制御方法。
  3.  前記複数の属性情報のハッシュ値は、前記複数の属性情報のそれぞれのコミットメントの値である
     ことを特徴とする請求項1に記載の保証制御方法。
  4.  さらに、前記複数の属性情報のハッシュ値は、前記証明書データを生成する際に用いられるマスターキーのコミットメントの値を含む
     ことを特徴とする請求項3に記載の保証制御方法。
  5.  前記証明書データの証明および前記データの署名情報の証明は、ブロックチェーンを用いて行われる
     ことを特徴とする請求項1に記載の保証制御方法。
  6.  複数の属性情報を含む証明書データを取得する取得部と、
     前記複数の属性情報のハッシュ値をデータ提供装置に送信し、前記複数の属性情報のうち個人を識別する第1の属性情報を、前記複数の属性情報のハッシュ値を用いたゼロ知識証明により前記データ提供装置に開示する第1の開示部と、
     前記第1の属性情報に対応する提供データと、前記複数の属性情報のハッシュ値と、前記提供データおよび前記複数の属性情報のハッシュ値を含むデータの署名情報とを前記データ提供装置から受信する受信部と、
     前記提供データと、前記複数の属性情報のハッシュ値と、前記署名情報とをデータ利用装置に送信し、前記複数の属性情報のうち、前記データ利用装置が所望する第2の属性情報を、前記複数の属性情報のハッシュ値を用いたゼロ知識証明により前記データ利用装置に開示する第2の開示部と、
     を有することを特徴とする情報処理装置。
  7.  複数の属性情報を含む証明書データを取得し、
     前記複数の属性情報のハッシュ値をデータ提供装置に送信し、
     前記複数の属性情報のうち個人を識別する第1の属性情報を、前記複数の属性情報のハッシュ値を用いたゼロ知識証明により前記データ提供装置に開示し、
     前記第1の属性情報に対応する提供データと、前記複数の属性情報のハッシュ値と、前記提供データおよび前記複数の属性情報のハッシュ値を含むデータの署名情報とを前記データ提供装置から受信し、
     前記提供データと、前記複数の属性情報のハッシュ値と、前記署名情報とをデータ利用装置に送信し、
     前記複数の属性情報のうち、前記データ利用装置が所望する第2の属性情報を、前記複数の属性情報のハッシュ値を用いたゼロ知識証明により前記データ利用装置に開示する
     ことをコンピュータに実行させることを特徴とする保証制御プログラム。
PCT/JP2019/049715 2019-12-18 2019-12-18 保証制御方法、情報処理装置および保証制御プログラム WO2021124498A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021565248A JP7222436B2 (ja) 2019-12-18 2019-12-18 保証制御方法、情報処理装置および保証制御プログラム
PCT/JP2019/049715 WO2021124498A1 (ja) 2019-12-18 2019-12-18 保証制御方法、情報処理装置および保証制御プログラム
EP19956427.9A EP4080817B1 (en) 2019-12-18 2019-12-18 Guarantee control method, information processing device, and guarantee control program
US17/744,946 US20220271949A1 (en) 2019-12-18 2022-05-16 Guaranteed control method, information processing device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/049715 WO2021124498A1 (ja) 2019-12-18 2019-12-18 保証制御方法、情報処理装置および保証制御プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/744,946 Continuation US20220271949A1 (en) 2019-12-18 2022-05-16 Guaranteed control method, information processing device, and storage medium

Publications (1)

Publication Number Publication Date
WO2021124498A1 true WO2021124498A1 (ja) 2021-06-24

Family

ID=76478593

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/049715 WO2021124498A1 (ja) 2019-12-18 2019-12-18 保証制御方法、情報処理装置および保証制御プログラム

Country Status (4)

Country Link
US (1) US20220271949A1 (ja)
EP (1) EP4080817B1 (ja)
JP (1) JP7222436B2 (ja)
WO (1) WO2021124498A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023026343A1 (ja) * 2021-08-23 2023-03-02 富士通株式会社 データ管理プログラム、データ管理方法、データ管理装置およびデータ管理システム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249560A (ja) 1998-02-27 1999-09-17 Nippon Telegr & Teleph Corp <Ntt> 合同多項式認証方法及び認証プログラムを記録した記録媒体及び鍵寄託暗号方法及び暗号プログラムを記録した記録媒体
JP2002215027A (ja) * 2001-01-22 2002-07-31 Toshiba Corp 属性証明プログラム及び装置
JP2009146154A (ja) * 2007-12-13 2009-07-02 Nippon Telegr & Teleph Corp <Ntt> 属性情報流通制御システムおよび属性情報流通制御方法
JP2009200696A (ja) * 2008-02-20 2009-09-03 Nec Corp 通信システム、通信装置、通信方法
JP2009199573A (ja) * 2008-01-25 2009-09-03 Nippon Telegr & Teleph Corp <Ntt> 属性情報開示システム、属性情報開示方法および属性情報開示処理プログラム
US20100115281A1 (en) * 2008-08-28 2010-05-06 International Business Machines Corporation Attributes in cryptographic credentials
WO2011007697A1 (ja) * 2009-07-13 2011-01-20 日本電気株式会社 匿名認証署名システム、ユーザ装置、検証装置、署名方法、検証方法およびそれらのプログラム
US20110035241A1 (en) * 2009-08-06 2011-02-10 International Business Machines Corporation Anonymous Separation of Duties with Credentials
WO2011129380A1 (ja) * 2010-04-13 2011-10-20 日本電気株式会社 属性情報仲介システム、仲介装置、属性情報仲介方法および属性情報仲介プログラム
US20170033934A1 (en) * 2015-07-29 2017-02-02 International Business Machines Corporation Privacy-preserving attribute-based credentials

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281149B2 (en) * 2009-06-23 2012-10-02 Google Inc. Privacy-preserving flexible anonymous-pseudonymous access

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249560A (ja) 1998-02-27 1999-09-17 Nippon Telegr & Teleph Corp <Ntt> 合同多項式認証方法及び認証プログラムを記録した記録媒体及び鍵寄託暗号方法及び暗号プログラムを記録した記録媒体
JP2002215027A (ja) * 2001-01-22 2002-07-31 Toshiba Corp 属性証明プログラム及び装置
JP2009146154A (ja) * 2007-12-13 2009-07-02 Nippon Telegr & Teleph Corp <Ntt> 属性情報流通制御システムおよび属性情報流通制御方法
JP2009199573A (ja) * 2008-01-25 2009-09-03 Nippon Telegr & Teleph Corp <Ntt> 属性情報開示システム、属性情報開示方法および属性情報開示処理プログラム
JP2009200696A (ja) * 2008-02-20 2009-09-03 Nec Corp 通信システム、通信装置、通信方法
US20100115281A1 (en) * 2008-08-28 2010-05-06 International Business Machines Corporation Attributes in cryptographic credentials
WO2011007697A1 (ja) * 2009-07-13 2011-01-20 日本電気株式会社 匿名認証署名システム、ユーザ装置、検証装置、署名方法、検証方法およびそれらのプログラム
US20110035241A1 (en) * 2009-08-06 2011-02-10 International Business Machines Corporation Anonymous Separation of Duties with Credentials
WO2011129380A1 (ja) * 2010-04-13 2011-10-20 日本電気株式会社 属性情報仲介システム、仲介装置、属性情報仲介方法および属性情報仲介プログラム
US20170033934A1 (en) * 2015-07-29 2017-02-02 International Business Machines Corporation Privacy-preserving attribute-based credentials

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CAMENISCH, J. ET AL.: "Composable & modular anonymous credentials: definitions and practical constructions", CRYPTOLOGYEPRINT ARCHIVE, REPORT 2015/580, 2015, pages 1 - 43, XP061018718, Retrieved from the Internet <URL:https://eprint.iacr.org/2015/580> *
CAMENISCH, J. ET AL.: "Efficient attributes for anonymous credentials", PROCEEDINGS OF THE 15TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, vol. 4, 2008, pages 345 - 356, XP058344878, DOI: 10.1145/1455770.1455814 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023026343A1 (ja) * 2021-08-23 2023-03-02 富士通株式会社 データ管理プログラム、データ管理方法、データ管理装置およびデータ管理システム

Also Published As

Publication number Publication date
US20220271949A1 (en) 2022-08-25
JPWO2021124498A1 (ja) 2021-06-24
EP4080817B1 (en) 2023-11-15
JP7222436B2 (ja) 2023-02-15
EP4080817A4 (en) 2022-12-28
EP4080817A1 (en) 2022-10-26

Similar Documents

Publication Publication Date Title
US10673632B2 (en) Method for managing a trusted identity
US10609039B2 (en) Traitor tracing for obfuscated credentials
CA3015695C (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
KR101071790B1 (ko) 어써션 메세지 시그너처
US8713691B2 (en) Attribute information providing system
KR102280061B1 (ko) 블록체인 기반의 did를 이용한 법인 관련 증명서 발급 시스템 및 방법
US20090271635A1 (en) Methods and systems for authentication
JP2004023796A (ja) 選択的に開示可能なデジタル証明書
JP2006523995A (ja) 認可証明書におけるユーザ・アイデンティティのプライバシ
CN114666168B (zh) 去中心化身份凭证验证方法、装置,以及,电子设备
KR20010008063A (ko) 컴팩트 디스크를 이용한 공개키 기반구조의 인증서, 인증서의 발급과 이용 방법 및 시스템
JP4678956B2 (ja) 属性証明プログラム及び装置
CN114389810B (zh) 证明生成方法及装置、电子设备、存储介质
JP2003348077A (ja) 属性証明書検証方法および装置
CN113901424A (zh) 一种数字身份属性的选择性披露方法和装置
US20100005311A1 (en) Electronic-data authentication method, Elctronic-data authentication program, and electronic-data, authentication system
WO2021124498A1 (ja) 保証制御方法、情報処理装置および保証制御プログラム
JP2023540739A (ja) 分散型台帳上の、匿名性取消を伴う、セキュアな、トレース可能な、および、プライバシー保護の、デジタル通貨送金のための方法
US20230289423A1 (en) System and method for providing secure, verified, and authenticated identification for an individual
WO2022208724A1 (ja) 検証方法、制御方法、情報処理装置および検証プログラム
WO2020261396A1 (ja) 検証方法、検証システム及び証明プログラム
JP2024507376A (ja) 識別情報伝達システム
JPH11110464A (ja) 電子証券の発行、移転、証明、消去のための処理システム及びその処理方法
Bauer et al. Copy-Resistant Credentials with Minimum Information Disclosure

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: 19956427

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021565248

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019956427

Country of ref document: EP

Effective date: 20220718