Guarantee report generation device, guarantee report generation method, and program
Patent Information
- Application Number
- PCT/JP2025/010598
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-19
- Publication Date
- 2026-09-24
Smart Images

Figure JP2025010598_24092026_PF_FP_ABST
Abstract
Description
Guarantee report generation apparatus, guarantee report generation method, and program
[0001] The present disclosure relates to attribute attestation technology.
[0002] As a new type of attribute credential, Verifiable Credential (VC) is being discussed by the World Wide Web Consortium (W3C). For utilization of VCs, an issuing authority issues, for example, a VC for a driver's license and provides it to a holder. For example, when a clerk at a convenience store acting as a verifier requests the holder to present an attribute credential, the holder presents their owned VC to the clerk.
[0003] As a use case of VCs, there are cases where a verifier wants to know only a predetermined calculation result calculated from the holder's attributes while keeping the holder's attribute information confidential. For example, consider a situation where a bank acting as a verifier lends money to a customer acting as a holder. In this case, the bank calculates a reliability level based on a predetermined algorithm of the bank from information such as the holder's age, annual income, and family structure, and determines the amount of money that can be lent. That is, the verifier has a demand to confirm that the attributes input to the function for calculating the reliability are attributes described in an authentic VC issued by a certain issuing authority. On the other hand, the holder has a demand to keep the attributes indicated by the VC confidential from the verifier. Zero-knowledge proof is known as a technology for realizing these requirements (see, for example, Non-Patent Document 1).
[0004] Jens Groth,“On the Size of Pairing-based Non-interactive Arguments”, 2016.
[0005] However, in the zero-knowledge proof described in Non-Patent Document 1, the more complex the calculation is, the more the proof cost increases. Therefore, even when attribute information and calculation method information have confidentiality, there has been a tendency to hesitate to use zero-knowledge proof if the calculation is complicated.
[0006] Therefore, an object of the present disclosure is to provide a technology that enables faster proof than zero-knowledge proof and can keep predetermined information used for processing confidential.
[0007] To solve the above problem, an assurance report generation apparatus according to one aspect of the present disclosure is configured as an environment of a TEE (Trusted Execution Environment). The assurance report generation apparatus comprises an attestation unit and a report generation unit. The attestation unit attests to predetermined matters based on each attribute certificate including at least one type of attribute information issued by at least one issuing apparatus. The report generation unit generates a report which is an attestation report including content attested by the attestation unit, a report signature that attests to the authenticity of the report, and a report key for accessing the report.
[0008] According to the assurance report generation apparatus of the present disclosure, attestation can be performed at a higher speed than zero-knowledge proof, and predetermined information used for processing can be kept confidential.
[0009] FIG. 1 is a diagram showing an example of the functional configuration of the attribute assurance system according to the present embodiment. FIG. 2 is a diagram showing an example of the functional configuration of the attestation unit in the assurance report generation apparatus according to the present embodiment. FIG. 3 is a sequence diagram for explaining an example of a processing procedure executed in the attribute assurance system according to the present embodiment. FIG. 4 is a diagram illustrating the functional configuration of a computer.
[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. Further, constituent elements having the same functions are denoted by the same reference numerals, and duplicate descriptions will be omitted. In the present disclosure, n, m, and l are each integers of 1 or more, i = 1, 2, 3, ..., n, j = 1, 2, 3, ..., m, and k = 1, 2, 3, ..., l. These reference signs shall be used as subscripts for identifying apparatuses and information.
[0011] FIG. 1 is a diagram showing an example of the functional configuration of the attribute assurance system according to the present embodiment. The attribute assurance system 100 includes a plurality of issuing apparatuses 1 i , an assurance report generation apparatus 2, and a verification apparatus 3. The issuing apparatus 1 i , the assurance report generation apparatus 2, and the verification apparatus 3 are connected via a network such as the Internet.
[0012] The issuing apparatus 1 i(i=1, 2, 3, ..., n) represents attribute information m of the holder j (j=1, 2, 3, ..., m), and is an attribute certificate M that certifies the above i and generates a signature σ i that proves the authenticity of the attribute certificate M i . The attribute certificate M i is, for example, a certificate issued by a financial institution, housing agency, enterprise, or the like using the issuing device 1 i . Each attribute certificate M i includes attribute information m j . The attribute information is information indicating attributes of the holder such as age, annual income, family structure, and the like. That is, each attribute certificate M i is a certificate that certifies one or more types of attribute information.
[0013] The assurance report generation device 2 is configured as a TEE environment, which is an environment in which external tampering of data is restricted. The assurance report generation device 2 includes an attestation unit 200 and a report generation unit 250. The attestation unit 200 attests predetermined items described below based on each of the attribute certificates M including at least one type of attribute information m issued from at least one issuing device 1 i j i . The report generation unit 250 generates a report R which is an attestation report including the content of the attestation result obtained by the attestation unit 200, a report signature Rσ which is a signature proving the authenticity of the report R, and a report key Rk which is a key for accessing the report R. In the present disclosure, the attestation report and the report R are also referred to as assurance reports. Note that TEE can be implemented with reference to, for example, the technology of Non-Patent Document 2 shown below.
[0014] (Non-patent document 2) AMD SEV-SNP, "Strengthening VM Isolation with Integrity Protection and More", January, 2020. <URL:https: / / www.amd.com / system / files / TechDocs / SEV-SNP-strengthening-vm-isolation-withintegrity-protection-and-more.pdf>
[0015] Under a TEE environment, external data tampering is restricted, and data can be processed in plain text. TEE is a technology that allows verifiers to verify whether the TEE's configuration information (such as the CPU chip identifier, the virtual machine boot firmware OVMF, the initialization RAM disk initrd, the kernel image file kernel-image, and the command line executed by the kernel kernel-cmdline) has been tampered with, by using an attestation report signed by the hardware module that serves as the base of trust. However, the TEE disclosed in Non-Patent Document 2 does not have a mechanism to write information such as verification results to the attestation report, as described later.
[0016] Figure 2 shows an example of the functional configuration of the certification unit in the guarantee report generation device according to this embodiment. The certification unit 200 includes a score calculation unit 210, a signature verification unit 220, and a personal identity verification unit 230. The certification unit 200 in this disclosure may be configured to include at least one of the score calculation unit 210, the signature verification unit 220, and the personal identity verification unit 230. In this disclosure, the processing performed by the score calculation unit 210 may be referred to as the first processing, the processing performed by the signature verification unit 220 as the second processing, and the processing performed by the personal identity verification unit 230 as the third processing.
[0017] The score calculation unit 210 includes an attribute extraction unit 211 and a calculation unit 212. The attribute extraction unit 211 is attribute certificate M i Attribute information that it possesses m j Therefore, attribute information m that satisfies condition α, which is a predetermined condition. j Attribute Certificate M iExtract each attribute, and the extracted attribute information is called the extracted attribute information m'. k The calculation unit 212 generates (k = 1, 2, 3, ..., l). The calculation unit 212 generates extracted attribute information m' k Attribute certificate M as input i For each calculation, the result (calculation result y) is based on a predetermined algorithm β. i The following is calculated: Conditions α and β can be specified in advance if the verifier does not wish to make them public. Alternatively, conditions α and β agreed upon in advance between the holder and the verifier can be entered.
[0018] This disclosure includes attribute information m j or extracted attribute information m' k However, which attribute certificate M i To identify where it was generated, attribute information m is used, if necessary, with the subscript i. ij , extracted attribute information m' ik It may be written as follows. If we define an operation program based on algorithm β using the function f(•), the operation result y i This can be calculated, for example, using the following formula. Here, unlike the zero-knowledge proof described above, the function f(•) can be determined and pre-entered by the verifier if they do not wish to disclose it to the holder. If the verifier and the holder agree beforehand, they can also enter the agreed-upon function f(•). In the latter case, the input can be made by either the verifier or the holder.
[0019] The signature verification unit 220 is a key obtained by the holder from an external source, and at least one issuing device 1 i The acquisition key gk is the key that was supposedly issued by [source]. i Each of them, and attribute certificate M i Attribute information that it possesses m j Based on attribute certificate M i The attribute signature σ is the signature associated with it. i The legitimacy of the signature is verified, and the signature verification result x is generated. The signature verification result x is generated for each attribute certificate M iThis is the result of verifying whether it was correctly issued by the Issuer. This verification is performed, for example, by using the following formula to check that this value is 1 (True).
[0020] The identity verification unit 230 uses the holder identification information H, which is the holder ID calculated based on the input of the private key sk (described later), and each attribute certificate M. i Attribute information that it possesses m j Issuer Identification Information I, which is the issuer ID included within it. i The identity of each is verified, and the identity verification result w is generated. Issuer identification information I i This refers to attribute certificate M i Each of them has attribute information m j This is identification information included as one of the pieces of information, and it is information used to identify the owner. This verification is performed, for example, as follows:
[0021] The DID calculation unit 231 of the identity verification unit 230 calculates holder identification information H based on a pre-specified algorithm γ, upon input of the private key sk held by the holder (the person concerned). Examples of calculation methods include, but are not limited to, a self-signed certificate or a self-certifying identifier.
[0022] The DID verification unit 232 of the identity verification unit 230 verifies the holder identification information H and each attribute certificate M i Attribute information that it possesses m j Issuer identification information I included within i The identity is verified, and the identity verification result w is generated. During verification, it is checked that this value is 1 (True). The calculation method may include, but is not limited to, a Self-signed certificate or a Self-certifying identifier.
[0023] The report generation unit 250 (Figure 1) calculates the result y j Based on the input of signature verification result x and identity verification result w, the execution environment of the guarantee report generation device 2 and attribute certificate M are generated. i Information, calculation program, calculation result y jThe system generates a report R, which is an attestation report containing at least one type of information from among the information related to signature verification result x and identity verification result w; a report signature Rσ that guarantees the authenticity of report R; and a report key Rk for accessing report R. Here, the execution environment refers to the basic information described in the attestation report issued by the TEE, such as the execution OS and enclave environment information. Attribute certificate M i This refers to each attribute certificate M i This includes the hash value and information indicating which issuer period it was issued from. The calculation program refers to the functions and program information used in the calculation. Note that TEE can be implemented by referring to the technology in Non-Patent Document 2 shown below, for example.
[0024] (Non-patent document 2) AMD SEV-SNP, "Strengthening VM Isolation with Integrity Protection and More", January, 2020. <URL:https: / / www.amd.com / system / files / TechDocs / SEV-SNP-strengthening-vm-isolation-withintegrity-protection-and-more.pdf>
[0025] Verification device 3 verifies the contents of report R using report signature Rσ and report key Rk, and generates verification result Z. Verification device 3 performs at least one of the following processes (1) and (2): (1) Verifies the issued report R. Verification checks whether the report key Rk is the key of the correct TEE enclave. (2) Verifies whether report R has not been tampered with using the report signature Rσ and report key Rk associated with the issued report R. Verification device 3 can perform verification using, for example, the following formula. In this disclosure, since we assume there is one or more issuing authorities, Report R contains multiple attribute certificates M. i It is also possible to include this. Therefore, verifiers can verify attestation reports using attribute certificates issued by multiple issuing authorities.
[0026] The following describes the processing procedures performed in the attribute assurance system 100. Figure 3 is a sequence diagram illustrating an example of the processing procedures performed in the attribute assurance system according to this embodiment.
[0027] In step S101, the issuing device 1 i (i = 1, 2, 3, ..., n) represents the attribute information of the owner m j Attribute certificate M that proves (j = 1, 2, 3, ..., m) i (i = 1, 2, 3, ..., n) and attribute certificate M i Signature σ that proves the authenticity i Generate and send to the warranty report generation device 2. Attribute M i , signature σ i Each of these is input to the score calculation unit 210, the signature verification unit 220, and the identity verification unit 230, respectively.
[0028] In step S102, the score calculation unit 210 of the certification unit 200 calculates the attribute certificate M i Attribute information included m j Therefore, attribute information that satisfies condition α is obtained from attribute certificate M i Extract each piece, and extract attribute information m' ik Generates.
[0029] In step S103, the calculation unit 210 calculates the extracted attribute information m' ik Attribute certificate M as input i Each time, the calculation result y is the result of the calculation. i The result of the calculation is calculated as y. i Each of these is sent to the report generation unit 250 (step S104).
[0030] In step S105, the signature verification unit 220 of the certification unit 200 uses a key obtained by the holder from an external source, and at least one issuing device 1 i Each of the acquisition keys gki issued by and attribute certificate M i Attribute information included m j Based on this, attribute certificate M i Attribute signature σ associated with iThe legitimacy of the signature is verified, and a signature verification result x is generated. The signature verification result x is sent to the report generation unit 250 (step S106).
[0031] In step S107, the DID calculation unit 231 of the identity verification unit 230 calculates the holder identification information H based on a pre-specified algorithm γ, upon input of the private key sk held by the holder.
[0032] In step S108, the DID verification unit 232 of the identity verification unit 230 verifies the holder identification information H and the issuer identification information I i The identity of each individual is verified, and the identity verification result w is generated. The identity verification result w is sent to the report generation unit 250 (step S109).
[0033] In step S110, the report generation unit 250 generates the calculation result y i Based on the input of signature verification result x and identity verification result w, the execution environment of the guarantee report generation device 2 and attribute certificate M are generated. i Information, calculation program, calculation result y i The system generates a report R, which is an attestation report containing at least one type of information from among the information related to verification result x and verification result w, a report signature Rσ that guarantees the authenticity of report R, and a report key Rk for accessing report R. The generated report R, report signature Rσ, and report key Rk are sent to the verification device 3 (step S111).
[0034] In step S112, the verification device 3 uses the report signature Rσ and the report key Rk to verify the contents of report R and generate the verification result Z.
[0035] The guarantee report generation device 2 in the attribute guarantee system 100 of this disclosure has a TEE, which is an environment where data tampering from external sources is restricted. Therefore, the guarantee report generation device 2 generates attribute information m jFurthermore, the scoring unit 210, signature verification unit 220, and identity verification unit 230 can perform processing while concealing conditions α, β, and γ. In addition, since the assurance report generation device 2 has a TEE, processing within the assurance report generation device 2 is possible in plain text, enabling proof faster than zero-knowledge proof. Therefore, by using the attribute assurance system of this disclosure, proof faster than zero-knowledge proof is possible, and predetermined information used in processing can be kept confidential.
[0036] Calculation result y by the score calculation unit 210 i In the calculation, it is possible to prove and verify that a certain operation was performed for any operation while protecting the privacy of the input data. In the generation of the signature verification result x by the signature verification unit 220, it is possible to prove and verify that the input data to the operation is signed data. In the generation of the identity verification result w by the identity verification unit 230, it is possible to prove and verify that the input data to the operation is an attribute issued to the owner themselves. In other words, it is possible to prevent the theft (impersonation) of signed data, which is a threat to virtual identity.
[0037] Therefore, the verifier can conceal the processing details, such as the functions used in the calculation itself, from the owner. For the owner, this means concealing their own attribute information. j It allows one to prove their own attribute information while keeping it secret from the verifier.
[0038] Furthermore, the device (terminal) may also be used for using the device, system, or method of disclosure via a network (telecommunication line). The "device (terminal) for use" may be equipped with functions necessary to obtain the effects of implementing the device, system, or method of disclosure (for example, control functions, decoding functions, restoration functions, input / output functions, etc.).
[0039] [Processors, Programs, Recording Media] The functions realized by the components described herein may be implemented in a circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), CPUs (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to realize the functions described herein. A processor includes transistors and other circuits and is considered a circuitry or processing circuitry. A processor may be a programmed processor that executes a program stored in memory.
[0040] In this specification, circuitry, unit, and means are hardware programmed to perform or execute the functions described herein. Such hardware may be any hardware disclosed herein, or any hardware known to be programmed to perform or execute the functions described herein.
[0041] If the hardware is a processor that is considered to be a type of circuitry, then the circuitry, means, or unit is a combination of hardware and software used to constitute the hardware and / or processor.
[0042] The various processes described above can be carried out by loading a program that executes each step of the above method into the recording unit 2020 of the computer 2000 shown in Figure 4, and then causing the control unit 2010, input unit 2030, output unit 2040, display unit 2050, etc. to operate.
[0043] The program describing this process can be recorded on a computer-readable recording medium. Any computer-readable recording medium can be used, such as a magnetic recording device, optical disc, magneto-optical recording medium, or semiconductor memory.
[0044] A program describing this process may be included in a computer program product.
[0045] Furthermore, this program may be distributed, for example, by selling, transferring, or lending portable recording media such as DVDs or CD-ROMs on which the program is recorded. Alternatively, the program may be stored in the storage device of a server computer and distributed by transferring the program from the server computer to other computers via a network.
[0046] A computer executing such a program may, for example, first store the program recorded on a portable storage medium or a program transferred from a server computer in its own storage device. Then, when processing is to be executed, the computer reads the program stored on its own storage medium and executes the processing according to the read program. Alternatively, the computer may directly read the program from the portable storage medium and execute the processing according to that program, or it may sequentially execute the processing according to the received program each time a program is transferred to it from a server computer. Furthermore, the processing may be executed using a so-called ASP (Application Service Provider) type service, where the processing function is realized only by issuing execution instructions and obtaining results, without transferring the program from the server computer to this computer.In addition, the processing may be executed using a so-called SaaS (Software as a Service) type service, where a part of the server computer is made available to the user along with the program. Furthermore, the term "program" in this form includes information used for processing by an electronic computer that is equivalent to a program (data, etc., that is not a direct instruction to the computer but has the property of defining the processing of the computer).
[0047] Furthermore, in this configuration, the device is configured by executing a predetermined program on a computer, but at least a part of these processes may be implemented in hardware.
Claims
1. A guarantee report generation device configured as a TEE (Trusted Execution Environment), comprising: a certification unit that certifies predetermined matters based on attribute certificates containing at least one type of attribute information issued by at least one issuing device; a report that is an attestation report containing the content of the certification by the certification unit; a report signature that certifies the authenticity of the report; and a report key for accessing the report.
2. The certification by the certification unit extracts attribute information that meets predetermined conditions from the attribute information for each attribute certificate, and performs predetermined calculations for each attribute certificate using the extracted attribute information as input, the certification report generation device according to claim 1.
3. The certification by the certification unit verifies the legitimacy of the attribute signature attached to the attribute certificate based on each of the acquired keys, which are keys obtained by the holder from an external source and which were issued by at least one of the issuing devices, and the attribute information contained in the attribute certificate, as described in claim 1.
4. The certification by the certification unit verifies the identity between the holder ID calculated based on the input of a private key and the issuer ID included as one of the attribute pieces of information in each attribute certificate, as described in claim 1.
5. The certification by the certification unit comprises a number of the following processes: a first process of extracting attribute information that meets predetermined conditions from the attribute information for each attribute certificate and performing a predetermined calculation for each attribute certificate using the extracted attribute information as input; a second process of verifying the legitimacy of the attribute signature attached to the attribute certificate based on each of the acquired keys obtained by the holder from an external source and issued by at least one of the issuing devices, and the attribute information contained in the attribute certificate; and a third process of verifying the identity between the holder ID calculated based on the input of a private key and each of the issuer IDs included in each attribute certificate as one of the attribute information.
6. The warranty report generating apparatus according to claim 1, wherein the attestation report includes information about the execution environment of the warranty report generating apparatus at the time the attestation report was generated.
7. A method for generating a report performed by a guarantee report generating device configured as a TEE (Trusted Execution Environment), wherein the certification unit of the guarantee report generating device certifies predetermined matters based on each of attribute certificates containing at least one type of attribute information issued by at least one issuing device, and the report generation unit of the guarantee report generating device generates a report which is an attestation report containing the content of the certification by the certification unit, a report signature which certifies the authenticity of the report, and a report key for accessing the report.
8. A program for causing a computer to operate the warranty report generating device according to any one of claims 1 to 4.