Certification method, certification system, and program
The authentication system addresses the challenge of securely linking and authenticating data among multiple parties by using watermarks and status flags, ensuring data integrity and preventing unauthorized use.
Patent Information
- Application Number
- PCT/JP2024/006614
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-22
- Publication Date
- 2025-08-28
AI Technical Summary
Existing systems lack an efficient method for securely linking and authenticating data among multiple parties in the sharing of GHG information and other types of data across the product supply chain, particularly in ensuring data integrity and preventing unauthorized access or leakage.
An authentication system and method that involves inserting identifiers into data as watermarks, associating these identifiers with status flags, and maintaining lists of authenticated data to ensure data integrity and prevent unauthorized use.
The system effectively authenticates and tracks the status of data across multiple parties, preventing information leakage and abuse by ensuring only valid data is utilized, thereby enhancing data security and integrity.
Smart Images

Figure JP2024006614_28082025_PF_FP_ABST
Abstract
Description
Authentication Method, Authentication System, and Program
[0001] The present disclosure relates to an authentication method, an authentication system, and a program.
[0002] Generally, a mechanism for sharing GHG information such as the GHG emissions of products among companies in the product supply chain has been studied (see, for example, Non-Patent Document 1 and Non-Patent Document 2). Non-Patent Document 1 and Non-Patent Document 2 assume sharing information using an API (Application Programming Interface).
[0003] Generally, there is a method for a Credential Issuer to issue Verifiable Credential (see, for example, Non-Patent Document 3). Non-Patent Document 3 discloses presenting an access token to the Credential Issuer when requesting issuance in order to obtain Verifiable Credential from the Credential Issuer. In Non-Patent Document 3, when the Credential Issuer signs the target data with a private key to generate signature data, and a third party verifies the signature data with the public key of the Credential Issuer, if the verification is successful, it is guaranteed that the target data has been issued by a legitimate Credential Issuer and that the target data has not been tampered with.
[0004] "Technical Specifications for PCF Data Exchange (Version 2.1.1 - wip)", [online], [searched on February 10, 2024], Internet <URL: https: / / wbcsd.github.io / data-exchange-protocol / v2 / #api-auth> Green x Digital Consortium, "Technical Specifications for Data Linkage Version 1.0", [online], [searched on February 10, 2024], Internet <URL: https: / / www.gxdc.jp / pdf / data01.pdf> AUTHLETE, "OpenID for Verifiable Credential Issuance", [online], [searched on February 10, 2024], Internet <URL: https: / / www.authlete.com / ja / developers / oid4vci / #25-%E3%82%AF%E3%83%AC%E3%83%87%E3%83%B3%E3%82%B7%E3%83%A3%E3%83%AB%E6%A4%9C%E8%A8%BC>
[0005] In the data linkage of GHG information and the like, a regular provider who provides data, an authenticator who authenticates the data, and a recipient who verifies and uses the data appear. A method for securely linking data among such multiple parties is required.
[0006] The present disclosure has been made in view of the above circumstances, and the object of the present disclosure is to provide a technology capable of authenticating data linked among multiple parties.
[0007] The authentication method according to one aspect of the present disclosure is such that the providing server inserts an identifier into the provided data to generate provided data with an identifier, the providing server associates the identifier with the identifier specified from the provided data with an identifier and stores it in the identifier list data, and when the provided data with an identifier is authenticated, the authentication server associates the identifier specified from the provided data with an identifier and a status flag set to valid and stores it in the status list data.
[0008] The authentication system according to one aspect of the present disclosure includes a provider server used by a provider who generates provided data, and an authentication server used by an authenticator who authenticates the provided data. The provider server inserts an identifier into the provided data to generate watermarked provided data, associates the identifier with the identifier specified from the provided data with the identifier, stores it in the watermark list data, and includes an authentication request unit that transmits the provided data with the identifier to the authentication server. When the provided data with the identifier is authenticated, the authentication server includes an authentication unit that associates the identifier specified from the provided data with the status flag set to valid and stores it in the status list data.
[0009] One aspect of the present disclosure is that the program causes a computer to insert an identifier into provided data to generate provided data with an identifier, associate the identifier with the identifier specified from the provided data with the identifier, store it in the identifier list data, and function as an authentication request unit that transmits the provided data with the identifier to the authentication server.
[0010] According to the present disclosure, it is possible to provide a technique for authenticating data linked among a plurality of parties.
[0011] FIG. 1 is a diagram for explaining the system configuration of the authentication system of the present disclosure. FIG. 2 is a diagram for explaining the data structure and an example of the watermark list data. FIG. 3 is a diagram for explaining the data structure and an example of the status list data. FIG. 4 is a sequence diagram (Part 1) for explaining the process of transmitting and receiving authentication data. FIG. 5 is a sequence diagram (Part 2) for explaining the process of transmitting and receiving authentication data. FIG. 6 is a sequence diagram (Part 1) for explaining the process of transmitting and receiving authentication data and watermark-embedded provided data. FIG. 7 is a sequence diagram (Part 2) for explaining the process of transmitting and receiving authentication data and watermark-embedded provided data. FIG. 8 is a sequence diagram for explaining the process of invalidating the watermark-embedded provided data and sharing the status list. FIG. 9 is a diagram for explaining the functional blocks of the authentication server. FIG. 10 is a diagram for explaining the functional blocks of the providing server. FIG. 11 is a diagram for explaining the functional blocks of the receiving server. FIG. 12 is a diagram for explaining the hardware configuration of the computer used for the authentication server, the providing server, and the receiving server.
[0012] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the description of the drawings, the same reference numerals are assigned to the same parts and the description thereof will be omitted.
[0013] (Authentication System) The authentication system 5 includes a providing server 1, an authentication server 2, and a receiving server 3. The providing server 1, the authentication server २, and the receiving server 3 are connected to be communicable bidirectionally via a communication network 4. Also, in the communication between the servers, general communication technologies such as using an access token may be used. The providing server 1, the authentication server 2, and the receiving server 3 share a function for calculating a hash value from the watermark-embedded provided data (provided data with an identifier) F.
[0014] The providing server 1 is used by a provider who generates provided data. The providing server 1 inserts watermark information (identifier) into the provided data generated by the provider to generate watermarked provided data F, and provides it to the authentication server 2 or the receiving server 3. The watermark information includes the identifier of the watermark information, the identifier of the provider, the identifier of the authenticator, the identifier of the recipient, etc. The watermarked provided data F is data in which the watermark information is readable and irreversibly converted. The providing server 1 has a pair of public key Y and private key Y.
[0015] The providing server 1 transmits the authentication data C received from the authentication server 2 and the watermarked provided data F to the receiving server 3 together with the identifier specified from the watermarked provided data F. The authentication data C indicates that the authenticator has authenticated the watermarked provided data F. The identifier specified from the watermarked provided data is specifically a hash value calculated from the watermarked provided data F and a predetermined function. By the providing server 1 sending the authentication data C and the watermarked provided data F together, it indicates that the watermarked provided data F has been authenticated by the authenticator.
[0016] The providing server 1 holds watermark list data L1. The watermark list data (identifier list data) L1 shown in FIG. 2 associates the watermark information, the hash value of the watermarked provided data F into which the watermark information is inserted, and the ID (Identifier) of the recipient who utilizes the watermarked provided data F. The watermark list data L1 is referred to for specifying the hash value of the watermarked provided data F that is the target of invalidation from the watermark information in the watermarked provided data that is the target of invalidation. The target of invalidation is, for example, data that has been leaked. If the hash value of the watermarked provided data F suspected of leakage or the watermark information of the watermarked provided data F exists in the watermark list data L1, the leakage of that watermarked provided data F is confirmed.
[0017] The authentication server 2 is used by an authenticator who authenticates the watermarked provided data F. The authentication server 2 transmits authentication data C indicating that the authenticator authenticates the watermarked provided data F to the providing server 1. The authentication data C includes an identifier specified from the watermarked provided data F to be authenticated. The authentication server 2 has a pair of a public key X and a secret key X.
[0018] The authentication data C is data including an identifier of the watermarked provided data F, the date and time when the authenticator authenticated the watermarked provided data F, the expiration date of the authentication, an identifier of the providing server 1, and the authentication details. The identifier of the watermarked provided data F is, for example, a hash value. The authentication server 2 transmits the authentication data C to the providing server 1.
[0019] The authentication server 2 holds state list data L2. The state list data L2 shown in FIG. 3 associates the hash value of the watermarked provided data F, the ID of the authentication data C, and a state flag. When the authentication server 2 authenticates new watermarked provided data F, it associates the hash value, the ID of the authentication data C, and a state flag set to "valid" and inserts them into the state list data L2. When the hash value of the invalidation target is notified from the providing server 1 or the like, the authentication server 2 updates the state flag associated with the hash value to "invalid". The authentication server 2 distributes the state list data L2 at a predetermined timing or in response to a request.
[0020] The authentication server 2 converts the authentication data C into "data that can verify that the authentication server 2 generated the authentication data C" and transmits it to the providing server 1. In the present disclosure, "data that can verify that the authentication server 2 generated the authentication data C" is data obtained by the authentication server 2 signing target data including the authentication data C with the secret key X. The providing server 1 verifies the data signed with the secret key X with the public key X.
[0021] The receiving server 3 is used by the recipient who uses the watermarked provided data F. The receiving server 3 receives the watermarked provided data F and the authentication data C, and the recipient uses the watermarked provided data F and the authentication data C. When the authentication data C and the watermarked provided data F are each signed with a private key, each signature is verified using each public key.
[0022] In the present disclosure, although the authentication system 5 is assumed to authenticate provided data including GHG information, it is not limited thereto. The authentication system 5 may be applied to any cooperation, such as other information providing systems, or cooperation in an SBOM (Software Bill of Materials) in a software supply chain, degrees, course completion certificates, professional qualification certificates, personal information certificates, vaccination certificates, license certificates, insurance certificates, and other qualification certificates.
[0023] In the present disclosure, the provider, the authenticator, and the recipient may be natural persons or legal persons. In the present disclosure, it is described on the premise that the public key is obtained from the owner of the public key, but it is not limited thereto. The public key may be obtained by any method.
[0024] (Authentication method) Referring to FIGS. 4-5, in the authentication system 5 according to the present disclosure, the process of transmitting and receiving authentication data will be described.
[0025] In step S11, the providing server 1 inserts watermark information into the provided data created by the provider using the electronic watermark technology to generate the watermarked provided data F. In step S12, the providing server 1 transmits a certification request for the watermarked provided data F to the certification server 2. At this time, the providing server 1 may transmit the watermarked provided data F to the certification server 2, or the certification server 2 may obtain the watermarked provided data F from a predetermined address.
[0026] When the authenticator authenticates the watermarked provided data F in step S13, in step S14, the certification server 2 identifies the hash value H of the watermarked provided data F. In step S15, the certification server 2 obtains the public key Y from the providing server 1 and verifies it by any method.
[0027] In step S16, the authentication server 2 updates the status list data L2 by associating the ID, status flag, and hash value H of the authentication data C generated by the authenticator. At this time, the status flag is set to "valid".
[0028] In step S21, the authentication server 2 signs the first target data T1 with the private key X to generate the first signature data A1. The first target data T1 is the hash value of the watermarked provided data F, the authentication data C, and the data of the public key Y. In step S22, the providing server 1 calculates the hash value of the watermarked provided data F.
[0029] In step S23, the authentication server 2 transmits the hash value H, the authentication data C, the public key X, and the first signature data A1 to the providing server 1. In step S24, the providing server 1 verifies the first signature data A1 with the public key X. In step S25, the providing server 1 confirms that the hash value H retrieved in step S24 matches the hash value calculated in step S22. In step S26, the providing server 1 updates the watermark list data L1 by associating the watermark information with the hash value H.
[0030] Referring to FIGS. 6-7, in the authentication system 5 according to the present disclosure, the process of transmitting and receiving the authentication data C and the watermarked provided data F will be described.
[0031] In step S31, the receiving server 3 requests the providing server 1 to transmit the provided data.
[0032] In step S32, the providing server 1 signs the second target data T2 with the private key Y to generate the second signature data A2. The second target data T2 is the first signature data A1. In step S33, the providing server 1 transmits the hash value H, the public key Y, the first signature data A1, the second signature data A2, the authentication data C, and the watermarked provided data F to the receiving server 3. The receiving server 3 may obtain the watermarked provided data F from a predetermined address instead of receiving it from the providing server 1.
[0033] In step S34, the receiving server 3 confirms that the hash value included in the authentication data C, the hash value calculated from the watermarked provided data F, and the hash value obtained in step S33 match. In step S35, the receiving server 3 verifies the second signature data A2 with the public key Y.
[0034] In step S41, the receiving server 3 obtains the public key X from the authentication server 2. In step S42, the receiving server 3 verifies the first signature data A1 with the public key X. In step S43, the watermarked provided data F is used.
[0035] Referring to FIG. 8, in the authentication system 5, a process of invalidating the watermarked provided data F and sharing the status list will be described.
[0036] In step S51, the providing server 1 transmits an invalidation request to the authentication server 2. At this time, the providing server 1 transmits the hash value of the watermarked provided data F to be invalidated.
[0037] In step S52, the authentication server 2 sets the status flag of the specified watermarked provided data to "invalid" and updates the status list data L2. At this time, the authentication server 2 may set the status flag of the specified watermarked provided data to "invalid" if there is an instruction from the authenticator or the like. In step S53, the authentication server 2 transmits an invalidation response to the providing server 1.
[0038] In step S54, the receiving server 3 requests the status list from the authentication server 2. In step S55, the authentication server 2 transmits the latest status list data L2 to the receiving server 3. The receiving server 3 confirms that the status flag corresponding to the hash value of the watermarked provided data F is "valid" and utilizes the watermarked provided data F.
[0039] Although the case where the providing server 1 transmits an invalidation request and the receiving server 3 transmits a status list request in the example shown in FIG. 8 has been described, it is not limited to this. Other servers may transmit an invalidation request or a status request.
[0040] (Authentication Server) Referring to FIG. 9, the authentication server 2 will be described. The authentication server 2 includes an authentication unit 21 and an update unit 22.
[0041] The authentication unit 21 transmits authentication data C indicating that the watermarked provided data F has been authenticated to the providing server 1.
[0042] When the watermarked provided data F is authenticated by the authenticator, the authentication unit 21 associates the hash value H of the watermarked provided data F with a status flag set to valid and stores it in the status list data L2. The authentication unit 21 transmits to the providing server 1 the authentication data C indicating that the authentication server has authenticated the watermarked provided data F and the data that can verify that the authentication server 2 has generated the authentication data. The authentication data C includes an identifier specified from the watermarked provided data F. The data that can verify that the authentication server 2 has generated the authentication data C is the first signature data A1.
[0043] The authentication unit 21 acquires the watermarked provided data F to be authenticated and the public key Y together with the request for the authentication data C from the providing server 1. When the authenticator authenticates the watermarked provided data F, the authentication unit 21 associates the hash value of the watermarked provided data F, the ID of the authentication data C, and a status flag set to "valid" and stores it in the status list data L2.
[0044] The authentication unit 21 signs the data of the hash value of the watermarked provided data F, the authentication data C, and the public key Y with the private key X to generate the first signature data A1. The authentication unit 21 transmits the first signature data A1, the hash value H, the public key Y, and the authentication data C to the providing server 1.
[0045] Also, the authentication unit 21 transmits the public key X to the receiving server 3 that has received the first signature data A1 via the providing server 1.
[0046] The update unit 22 updates the status flag of the status list data L2. When the update unit 22 is notified of the hash value of the provided data to be invalidated from the providing server 1 or the like, it sets the status flag corresponding to the hash value notified from the providing server 1 in the status list data L2 to "invalid".
[0047] Further, when a status list is requested from the receiving server 3 or the like, the update unit 22 transmits the status list data L2 to the receiving server 3.
[0048] (Providing Server) Referring to FIG. 10, the providing server 1 will be described. The providing server 1 includes an authentication request unit 11, a providing unit 12, and an invalidation request unit 13.
[0049] The authentication request unit 11 inserts watermark information into the provided data generated by the provider to generate watermarked provided data F. The authentication request unit 11 transmits the watermarked provided data F to the authentication server 2 to request authentication of the watermarked provided data F. When the watermarked provided data F is authenticated, the authentication request unit 11 associates the watermark information with the hash value H of the watermarked provided data F and stores them in the watermark list data L1. The authentication request unit 11 may further associate the ID of the recipient of the watermarked provided data F and store it in the watermark list data L1.
[0050] When the watermarked provided data F is authenticated, the authentication request unit 11 transmits authentication data C indicating that the authentication server 2 has authenticated the watermarked provided data F and data that can verify that the authentication server 2 has generated the authentication data C. The data that can verify that the authentication server 2 has generated the authentication data C is the first signature data A1.
[0051] The authentication request unit 11 transmits the watermarked provided data F to be authenticated and the public key Y to the authentication server 2. When the watermarked provided data F is authenticated, the authentication request unit 11 receives the first signature data A1, the hash value H, the public key X, and the authentication data C from the authentication server 2. The authentication request unit 11 verifies the first signature data A1 using the public key X. When verified, the authentication request unit 11 inserts information regarding the newly authenticated watermarked provided data F into the watermark list data L1.
[0052] The providing unit 12 transmits the watermarked provided data F, the authentication data C, and data that can verify that the authentication server 2 has generated the authentication data C to the receiving server 3. The data that can verify that the authentication server 2 has generated the authentication data C is the first signature data A1.
[0053] The providing unit 12 may sign the first signature data A1 with the private key Y to generate the second signature data A2. The providing unit 12 transmits the hash value H, the public key Y, the first signature data A1, the second signature data A2, the watermarked provided data F, and the authentication data C to the receiving server 3.
[0054] The invalidation request unit 13 requests the authentication server 2 to invalidate the watermarked provided data F that is the invalidation target. At this time, the providing server 1 identifies the invalidation target from the watermark information of the provided data that is the invalidation target. The invalidation request unit 13 notifies the authentication server 2 of the identifier specified from the watermarked provided data F associated with the watermark information included in the provided data that is the invalidation target in the watermark list data L1. When the specified provided data is invalidated in the authentication server 2, the invalidation request unit 13 receives an invalidation response from the authentication server 2.
[0055] (Receiving Server) The receiving server 3 includes a verification unit 31 and a list request unit 32.
[0056] The verification unit 31 confirms that the identifier specified from the watermarked provided data F included in the authentication data C, the identifier specified from the watermarked provided data F included in the authentication data C, and the identifier specified from the watermarked provided data F received from the providing server 1 match. The identifier specified from the watermarked provided data F is a hash value.
[0057] The verification unit 31 receives the hash value H, the public key Y, the first signature data A1, the second signature data A2, the watermarked provided data F, and the authentication data C from the providing server 1. The verification unit 31 verifies the second signature data A2 using the public key Y. The verification unit 31 obtains the public key X from the authentication server 2 and verifies the first signature data A1 using the obtained public key X.
[0058] When the verification unit 31 verifies that the hash values match and each signature data, it utilizes the watermarked provided data F and the authentication data C.
[0059] The list request unit 32 requests a list from the authentication server 2 and acquires status list data L2 from the authentication server 2. The receiving server 3 refers to the status list data L2 and checks whether the status flag associated with the hash value of the watermarked provided data F it owns is valid or invalid. If it is valid, the receiving server 3 continues to utilize the watermarked provided data F. If it is invalid, the receiving server 3 stops utilizing the watermarked provided data F.
[0060] According to the present disclosure, from the watermark information inserted into the provided data, the watermarked provided data F, the authentication data C of the watermarked provided data F, and further, the recipient and the authenticator can be associated. Thereby, by alerting the associated person, it is possible to prevent the spread of damage caused by information leakage or abuse.
[0061] Also according to the present disclosure, status list data L2 in which a status flag is associated with the watermarked provided data F authenticated by the authenticator is distributed. The recipient can utilize the watermarked provided data F after checking the validity of the watermarked provided data F by referring to the status list data L2. Also, by setting the status flag of the status list data L2 to invalid, the utilization of the watermarked provided data F can be stopped. Even if the watermarked provided data F is illegally obtained by a third party, the abuse of the authentication of the watermarked provided data F can be prevented.
[0062] As in the present disclosure, a mechanism capable of controlling the validity or invalidity of the provided data, and further, a mechanism for associating the watermarked provided data F, the authentication data C, the recipient, and the authenticator can serve as a deterrent against information leakage or abuse.
[0063] (Modified example) In the present disclosure, the case where there is one watermarked provided data F has been described, but it is not limited thereto. The providing server 1 may generate a plurality of provided data with watermark information and insert different watermark information into each of the plurality of provided data with watermark information.
[0064] The providing server 1 may collectively request the certification server 2 to certify a plurality of pieces of provided data F containing watermark information. This can improve the efficiency of the processing related to certification between the providing server 1 and the certification server 2.
[0065] The providing server 1, the certification server 2, and the receiving server 3 described above are, for example, a general-purpose computer system including a CPU (Central Processing Unit), a memory 902, a storage 903 (HDD: Hard Disk Drive, SSD: Solid State Drive), a communication device 904, an input device 905, and an output device 906. In this computer system, each function of the providing server 1, the certification server 2, and the receiving server 3 is realized by the CPU 901 executing a program loaded on the memory 902.
[0066] The providing server 1, the certification server 2, and the receiving server 3 may be implemented by one computer or may be implemented by a plurality of computers. Also, the providing server 1, the certification server 2, and the receiving server 3 may be virtual machines implemented on a computer.
[0067] The programs of the providing server 1, the certification server 2, and the receiving server 3 can be stored in a computer-readable recording medium such as an HDD, an SSD, a USB (Universal Serial Bus) memory, a CD (Compact Disc), or a DVD (Digital Versatile Disc), or can be distributed via a network. The computer-readable recording medium is, for example, a non-transitory recording medium.
[0068] Note that the present disclosure is not limited to the above-described embodiment, and various modifications are possible within the scope of the gist.
[0069] 1 Providing server 2 Authentication server 3 Receiving server 5 Authentication system 11 Authentication request section 12 Providing section 13 Expiration request section 21 Authentication section 22 Update section 31 Verification section 32 List request section 901 CPU 902 Memory 903 Storage 904 Communication device 905 Input device 906 Output device A Signature data C Authentication data F Watermarked provided data H Hash value L1 Watermark list data L2 Status list data T Target data
Claims
1. A certification method in which a provision server inserts an identifier into provision data to generate identifier-containing provision data, the provision server associates the identifier with an identifier identified from the identifier-containing provision data and stores the associated identifier in identifier list data, and when the identifier-containing provision data is certified, an authorization server associates the identifier identified from the identifier-containing provision data with a status flag set to valid and stores the associated identifier in status list data.
2. The certification method described in claim 1, wherein the provision server notifies the certification server of an identifier identified from the identifier-containing provision data that is associated in the identifier list data with an identifier included in the provision data to be revoked, and the certification server sets the status flag in the status list data corresponding to the identifier notified from the provision server to revoked.
3. The certification method according to claim 1, wherein the certification server transmits to the providing server certification data indicating that the certification server has certified the identifier-containing providing data, and data that can verify that the certification server has generated the certification data.
4. The certification method described in claim 3, wherein the certification data includes an identifier identified from the identifier-containing provided data, the providing server transmits to the receiving server the identifier-containing provided data, the certification data, and data that can verify that the certification server has generated the certification data, and the receiving server confirms that the identifier identified from the identifier-containing provided data included in the certification data matches the identifier identified from the identifier-containing provided data received from the providing server.
5. A certification system comprising: a providing server used by a provider that generates provided data; and a certification server used by a certifier that certifies the provided data, wherein the providing server inserts an identifier into the provided data to generate identifier-containing provided data, associates the identifier with an identifier identified from the identifier-containing provided data, stores the associated identifier in identifier list data, and transmits the identifier-containing provided data to the certification server, and the certification server comprises: a certification unit that, when the identifier-containing provided data is certified, associates the identifier identified from the identifier-containing provided data with a status flag set to valid and stores the associated identifier in status list data, and an update unit that sets the status flag in the status list data corresponding to the identifier notified from the providing server to invalid.
6. A program that causes a computer to function as a certification request unit that inserts an identifier into provided data to generate identifier-containing provided data, associates the identifier with an identifier identified from the identifier-containing provided data, stores the identifier in identifier list data, and transmits the identifier-containing provided data to a certification server.
Citation Information
Patent Citations
Web page authenticity confirmation apparatus, web page authenticity confirmation method and program
JP2008242672A
Authentication methods, devices, and systems
JP2015516616A