# US 10,121,143 B1 · Method and system for blockchain-based combined identity, ownership, integrity and custody management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,121,143 B1
- Document ID: US10121143B1
- Status: Granted
- Kind: B1
- Application number: 16/032,480
- Filed: 2018-07-11
- Published: 2018-11-08
- Granted: 2018-11-06
- Earliest claimed: 2017-03-31
- Assignees: Vijay K. Madisetti
- Applicants: Vijay K. Madisetti; Arshdeep Bahga
- Inventors: Vijay K. Madisetti; Arshdeep Bahga
- Web page: https://patentgrep.com/patent/US10121143B1

## CPC

- G06Q 20/38215: {Use of certificates or encrypted proofs of transaction rights}
- G06Q 20/02: involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06Q 20/06: Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q 20/065: {using e-cash}
- G06Q 20/0658: {e-cash managed locally}
- G06Q 20/367: {involving electronic purses or money safes}
- G06Q 20/3823: {combining multiple encryption tools for a transaction}
- G06Q 20/3825: {Use of electronic signatures}
- G06Q 20/3827: {Use of message hashing}
- G06Q 20/3829: {involving key management}
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- G06Q 20/4014: {Identity check for transactions}
- G06Q 40/04: Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- H04L 9/3247: {involving digital signatures}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- H04L 67/1042: using topology management mechanisms
- G06Q 2220/00: Business processing using cryptography
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method of issuing blockchain-based digital certificates comprising receiving from a user hashed user identification information and object information, recording to a digital certificate smart contract deployed at a digital certificate smart contract address on a blockchain network the hashed user identification information and object information and a timestamp of when the hashed user identification information and the object information were received, defined as a received timestamp, signing the digital certificate smart contract with an issuer signature, performing a user identity verification process to confirm a user identity, upon confirming the user identity, generating a combination certificate configured to be shared by the user to verify the user's ownership of an object associated with the object information, and sending the combination certificate to the user.

## Claims

### Claim 1

A method of issuing blockchain-based digital certificates comprising:
receiving from a user hashed user identification information and object information;
recording to a digital certificate smart contract deployed at a digital certificate smart contract address on a blockchain network the hashed user identification information and object information and a timestamp of when the hashed user identification information and the object information were received, defined as a received timestamp;
signing the digital certificate smart contract with an issuer signature;
performing a user identity verification process to confirm a user identity;
upon confirming the user identity, generating a combination certificate configured to be shared by the user to verify the user's ownership of an object associated with the object information;
sending the combination certificate to the user;
receiving hashed second user identification information associated with a second user and a derivative of the object information, defining a derivative object information;
recording to a second digital certificate smart contract deployed at a second digital certificate smart contract address on a second blockchain network the hashed second user identification information and the derivative object information and a timestamp of when the hashed second user identification information and the derivative object information were received, defined as a received timestamp;
signing the second digital certificate smart contract with a second issuer signature;
generating a second combination certificate configured to be shared by the second user to verify the second user's ownership of a derivative object associated with the derivative object information; and
sending the second combination certificate to the second user.

### Claim 2 (depends on 1)

The method of claim 1 wherein the object information is derived from a digital object comprising content; and wherein the object information comprises a unique identifier generated by applying a cryptographic hash function to the content of the digital object.

### Claim 3 (depends on 1)

The method of claim 1 wherein the object information is derived from a physical object comprising an object identifier; and wherein the object information comprise a unique identifier generated by applying a cryptographic hash to the object identifier of the physical object.

### Claim 4 (depends on 1)

The method of claim 1 further comprising:
receiving a combination certificate from a consumer, defining a received combination certificate;
performing a combination certificate verification process on the received ownership certification to verify the received combination certificate; and
upon verifying the received combination certificate, sending a confirmation verification response to the consumer.

### Claim 5 (depends on 4)

The method of claim 4 further comprising:
generating a combination certificate hash value by applying a hash function to the received combination certificate; and
recording the combination certificate hash value to the digital certificate smart contract;
wherein the combination certificate verification process comprises:
identifying a signature of the received combination certificate;
obtaining a received digital certificate smart contract address from the received combination certificate;
generating a query hash value by applying a hash function to the received combination certificate;
looking up the combination certificate on the digital certificate smart contract at the digital certificate smart contract address;
verifying the query hash value matches an combination certificate hash value comprised by the digital certificate smart contract;
verifying the signature of the combination certificate matches the issuer signature of the digital certificate smart contract; and
verifying the combination certificate is valid and active.

### Claim 6 (depends on 4)

The method of claim 4 further comprising:
receiving from the user a digital certificate smart contract address, hashed user identification information signed by a private key of the user, and hashed object information;
obtaining a user certification record address from a digital certificate smart contract at the digital certificate smart contract address;
obtaining a sealed user record address, a sealed verification record address, and a token from a user certification record at the user certification record address;
retrieving hashed user identification information, defined as retrieved user identification information, from a sealed user record at the sealed user record address;
decrypting the received user identification information using the user's public key, defining decrypted user identification information;
comparing the decrypted user identification information with the retrieved user identification information;
retrieving a hashed verification record from a sealed verification record at the sealed verification record address;
determining if the token from the user certification record address is valid;
generating a generated verification record comprising the retrieved user identification information and the token;
generating a hashed generated verification record by applying a hash function to the generated verification record; and
comparing the hashed generated verification record to the hashed verification record;
retrieving object information, defining retrieved object information, from the digital certificate at the digital certificate address;
comparing the retrieved object information with the hashed object information;
retrieving from the digital certificate smart contract a timestamp, defining a retrieved timestamp; and
upon determining the decrypted user identification information with the retrieved user identification information are at least a partial match, the hashed generated verification record to the hashed verification record are at least a partial match, and the retrieved object information and the hashed object information are at least a partial match, sending to the user the retrieved user identification information, the retrieved object information, and the retrieved timestamp.

### Claim 7 (depends on 1)

The method of claim 1 wherein performing a user validation process comprises:
receiving from the user a user certification record address, hashed user identification information that has been signed with a private key of the user defined as received user identification information, hashed object information defined as received object information, and a user public key;
obtaining each of a sealed user record address, a sealed verification record address, and a token from a user certification record address at the user certification record address;
retrieving hashed user identification information from a sealed user record at the sealed user record address, defining retrieved user identification information;
decrypting the received user identification information using the user public key, defining decrypted user identification information;
comparing the decrypted user identification information with the retrieved user identification information;
retrieving a hashed verification record from a sealed verification record at the sealed verification record address, defining a retrieved verification record;
determining if the token from the user certification record address is valid;
upon determining the token from the user certification record address is valid, generating a generated verification record comprising the retrieved user identification information and the token;
generating a hashed verification record by applying a hash function to the generated verification record;
comparing the hashed verification record with the retrieved verification record; and
confirming the user identity by determining the decrypted user identification information and the retrieved user identification information are at least a partial match and the hashed verification record and the retrieved verification record are at least a partial match.

### Claim 8 (depends on 7)

The method of claim 7 wherein generating the combination certificate comprises:
generating a combination certificate comprising the user's certification record address, the received object information, and the received timestamp;
generating a combination certificate hash value from a hash function including the combination certificate as an input;
encrypting the combination certificate hash value with an issuer private key, defining an issuer signature;
signing the combination certificate with the issuer signature, defining a signed combination certificate; and
recording the signed combination certificate to the digital certificate smart contract.

### Claim 9 (depends on 1)

The method of claim 1 wherein the object information is derived from a digital object comprising content; wherein the derivative object is a digital object comprising a subset of the content of the digital object from which the digital object is derived; and wherein the derivative object information comprises a unique identifier generated by applying a cryptographic hash function to the derivative object.

### Claim 10 (depends on 1)

The method of claim 1 further comprising:
receiving hashed third user identification information associated with a third user and the derivative object information;
recording to a third digital certificate smart contract deployed at a third digital certificate smart contract address on a third blockchain network the hashed third user identification information and the derivative object information and a timestamp of when the hashed third user identification information and the derivative object information were received, defined as a received timestamp;
signing the third digital certificate smart contract with a third issuer signature;
generating a third combination certificate configured to be shared by the third user to verify the third user's ownership of a derivative object associated with the derivative object information;
sending the third combination certificate to the third user; and
recording to the second digital certificate smart contract an indication that the second digital certificate smart contract is expired.

### Claim 11 (depends on 1)

The method of claim 1 further comprising:
receiving hashed third user identification information associated with a third user and a second derivative of the object information, defining a second derivative object information;
recording to a third digital certificate smart contract deployed at a third digital certificate smart contract address on a third blockchain network the hashed third user identification information and the second derivative object information and a timestamp of when the hashed third user identification information and the second derivative object information were received, defined as a received timestamp;
signing the third digital certificate smart contract with a third issuer signature;
generating a third combination certificate configured to be shared by the third user to verify the third user's ownership of a derivative object associated with the second derivative object information; and
sending the third combination certificate to the third user;
wherein the second derivative object information exists concurrently with the derivative object information.

### Claim 12 (depends on 1)

The method of claim 1 further comprising:
generating a secondary combination certificate configured to be shared by the user to verify the user's ownership of a subset of information object associated with the object information; and
sending the secondary combination certificate to a second user.

### Claim 13 (depends on 12)

The method of claim 12 further comprising:
receiving a secondary combination certificate from a consumer, defining a received combination certificate;
performing a combination certificate verification process on the received ownership certification to verify the received combination certificate;
upon verifying the received combination certificate, sending a confirmation verification response to the consumer; and
sending a subset of information comprised by the object information to the consumer.

### Claim 14 (depends on 1)

The method of claim 1 further comprising recording to the digital certificate smart contract a location of the user when the user identification information and the object information were received.

### Claim 15 (depends on 1)

The method of claim 1 wherein the blockchain network supports at least one decentralized consensus protocols of proof-of-work proof-of-stake, proof-of-activity, proof-of-burn, proof-of-capacity, and proof-of-elapsed time.

### Claim 16

A system for issuing blockchain-based digital certificates comprising:
a processor;
a data store positioned in communication with the processor; and
a network communication device positioned in communication with each of the processor, the data store, and a network;
wherein the network communication device is operable to receive from a user hashed user identification information, object information, and a user public key;
wherein the processor is operable to record to a digital certificate smart contract deployed at a digital certificate smart contract address on a blockchain network the hashed user identification information and object information and a timestamp of when the hashed user identification information and the object information were received, defined as a received timestamp;
wherein the processor is operable to sign the digital certificate smart contract with an issuer signature;
wherein the system is operable to perform a user identity verification process to confirm a user identity, comprising:
the network communication device obtaining each of a sealed user record address, a sealed verification record address, and a token from a user certification record address at the user certification record address;
the network communication device retrieving hashed user identification information from a sealed user record at the sealed user record address, defining retrieved user identification information;
the processor decrypting the received user identification information using the user public key, defining decrypted user identification information;
the processor comparing the decrypted user identification information with the retrieved user identification information;
the network communication device retrieving a hashed verification record from a sealed verification record at the sealed verification record address, defining a retrieved verification record;
the processor determining if the token from the user certification record address is valid;
upon determining the token from the user certification record address is valid, the processor generating a generated verification record comprising the retrieved user identification information and the token;
the processor generating a hashed verification record by applying a hash function to the generated verification record;
the processor comparing the hashed verification record with the retrieved verification record; and
the processor confirming a user identity by determining the decrypted user identification information and the retrieved user identification information are at least a partial match and the hashed verification record and the retrieved verification record are at least a partial match;
wherein the processor is operable to, upon the user identity being confirmed, generate a combination certificate configured to be shared by the user to verify the user's ownership of an object associated with the object information;
wherein the network communication device is operable to send the combination certificate to the user;
wherein network communication device is operable to receive hashed second user identification information associated with a second user and a derivative of the object information, defining a derivative object information;
wherein the processor is operable to record to a second digital certificate smart contract deployed at a second digital certificate smart contract address on a second blockchain network the hashed second user identification information and the derivative object information and a timestamp of when the hashed second user identification information and the derivative object information were received, defined as a received timestamp;
wherein the processor is operable to sign the second digital certificate smart contract with a second issuer signature;
wherein the processor is operable to generate a second combination certificate configured to be shared by the second user to verify the second user's ownership of a derivative object associated with the derivative object information; and
wherein the network communication device is operable to send the second combination certificate to the second user.

### Claim 17 (depends on 16)

The system of claim 16 wherein:
the network communication device is operable to receive a secondary combination certificate from a consumer, defining a received combination certificate;
the processor is operable to perform a combination certificate verification process on the received ownership certification to verify the received combination certificate;
the network communication devices is operable to, upon the processor verifying the received combination certificate, send a confirmation verification response to the consumer; and
the network communication devices is operable to send a subset of information comprised by the object information to the consumer.

### Claim 18 (depends on 16)

The system of claim 16 wherein:
the network communication device is operable to receive hashed third user identification information associated with a third user and the derivative object information;
the processor is operable to record to a third digital certificate smart contract deployed at a third digital certificate smart contract address on a third blockchain network the hashed third user identification information and the derivative object information and a timestamp of when the hashed third user identification information and the derivative object information were received, defined as a received timestamp;
the processor is operable to sign the third digital certificate smart contract with a third issuer signature;
the processor is operable to generate a third combination certificate configured to be shared by the third user to verify the third user's ownership of a derivative object associated with the derivative object information;
the network communication device is operable to send the third combination certificate to the third user; and
the processor is operable to record to the second digital certificate smart contract an indication that the second digital certificate smart contract is expired.

### Claim 19 (depends on 16)

The system of claim 16 further comprising:
the network communication device is operable to receive hashed third user identification information associated with a third user and a second derivative of the object information, defining a second derivative object information;
the processor is operable to record to a third digital certificate smart contract deployed at a third digital certificate smart contract address on a third blockchain network the hashed third user identification information and the second derivative object information and a timestamp of when the hashed third user identification information and the second derivative object information were received, defined as a received timestamp;
the processor is operable to sign the third digital certificate smart contract with a third issuer signature;
the processor is operable to generate a third combination certificate configured to be shared by the third user to verify the third user's ownership of a derivative object associated with the second derivative object information; and
the network communication device is operable to send the third combination certificate to the third user;
wherein the second derivative object information exists concurrently with the derivative object information.

### Claim 20 (depends on 16)

The system of claim 16 wherein the processor is operable to record to the digital certificate smart contract a location of the user when the user identification information and the object information were received.
