System and method for issuing verifiable claims
AssigneeAdvanced New Technologies Co., Ltd.
InventorsRenhui Yang, Jiawei Liu, Yuan Chen, Yuqi Lin
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for verifiable-claim issuance. One of the methods includes: receiving, from a first entity, a request for creating a verifiable claim (VC) for a decentralized identifier (DID) associated with a second entity; obtaining, in response to receiving the request, a digital signature associated with the first entity; and generating the VC based on the received request and the obtained digital signature.
Claims19
A computer-implemented method for verifiable-claim issuance, comprising:
- receiving, by a server from a first entity, a request for creating a verifiable claim (VC) for a decentralized identifier (DID) associated with a second entity, wherein the server comprises a key management system (KMS) storing a plurality of public-private key pairs respectively corresponding to a plurality of key identifiers;
- determining, by the server based on the received request, a key identifier associated with the first entity;
- creating, by the server, an unsigned VC based on the received request;
- determining, by the server, a hash value of the unsigned VC;
- creating, by the server via the KMS, a digital signature associated with the first entity by:
- identifying, from the plurality of public-private key pairs, a public-private key pair of the first entity based on the key identifier associated with the first entity;
- encrypting the hash value of the unsigned VC using a private key of the public-private key pair of the first entity;
- generating, by the server, the VC by combining the unsigned VC and the digital signature;
- generating, by the server, a blockchain transaction comprising the hash value and a status of the VC;
- sending, by the server, the blockchain transaction to one or more blockchain nodes associated with a blockchain for adding to the blockchain;
- determining, by the server, that the hash value and the status of the VC has been stored in the blockchain;
- and
- sending, by the server to the first entity, a confirmation of successful storage.
A non-transitory computer-readable storage medium associated with a server for verifiable-claim issuance, configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:
- receiving, from a first entity, a request for creating a verifiable claim (VC) for a decentralized identifier (DID) associated with a second entity, wherein the server comprises a key management system (KMS) storing a plurality of public-private key pairs respectively corresponding to a plurality of key identifiers;
- determining, based on the received request, a key identifier associated with the first entity;
- creating an unsigned VC based on the received request;
- determining a hash value of the unsigned VC;
- creating, via the KMS, a digital signature associated with the first entity by:
- identifying, from the plurality of public-private key pairs, a public-private key pair of the first entity based on the key identifier associated with the first entity;
- encrypting the hash value of the unsigned VC using a private key of the public-private key pair of the first entity;
- generating the VC by combining the unsigned VC and the digital signature;
- generating a blockchain transaction comprising the hash value and a status of the VC;
- sending the blockchain transaction to one or more blockchain nodes associated with a blockchain for adding to the blockchain;
- determining that the hash value and the status of the VC has been stored in the blockchain;
- and
- sending, to the first entity, a confirmation of successful storage.
A system for verifiable-claim issuance, comprising a processor and a non-transitory computer-readable storage medium storing instructions executable by the processor to cause the system to perform operations comprising:
- receiving, from a first entity, a request for creating a verifiable claim (VC) for a decentralized identifier (DID) associated with a second entity, wherein the system comprises a key management system (KMS) storing a plurality of public-private key pairs respectively corresponding to a plurality of key identifiers;
- determining, based on the received request, a key identifier associated with the first entity;
- creating an unsigned VC based on the received request;
- determining a hash value of the unsigned VC;
- creating, via the KMS, a digital signature associated with the first entity by:
- identifying, from the plurality of public-private key pairs, a public-private key pair of the first entity based on the key identifier associated with the first entity;
- encrypting the hash value of the unsigned VC using a private key of the public-private key pair of the first entity;
- generating the VC by combining the unsigned VC and the digital signature;
- generating a blockchain transaction comprising the hash value and a status of the VC;
- sending the blockchain transaction to one or more blockchain nodes associated with a blockchain for adding to the blockchain;
- determining that the hash value and the status of the VC has been stored in the blockchain;
- and
- sending, to the first entity, a confirmation of successful storage.
Dependencies are inferred from the claim text.