US 11,991,294 B2
Peer-to-peer secure conditional transfer of cryptographic data
Karl J. Kreder, III, Austin, TX (US); and Daniel Wayne Veenstra, Austin, TX (US)
Assigned to GRIDPLUS, INC., Austin, TX (US)
Filed by GRIDPLUS, INC., Austin, TX (US)
Filed on Nov. 12, 2021, as Appl. No. 17/454,756.
Prior Publication US 2023/0155839 A1, May 18, 2023
Int. Cl. H04L 9/32 (2006.01); H04L 9/08 (2006.01); H04L 9/14 (2006.01)
CPC H04L 9/3247 (2013.01) [H04L 9/0825 (2013.01); H04L 9/14 (2013.01); H04L 9/3236 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a first device comprising:
a first general computing environment comprising:
a first communication interface;
a first memory storing first computer-executable instructions; and
a first processor in communication with the first communication interface and the first memory, the first processor executing the first computer-executable instructions to:
receive, from a first secure computing environment, a first invoice identifier;
determine first proposal data comprising:
 a first asset public key,
 the first invoice identifier,
 a second asset public key,
 data indicative of a condition whereby a first asset private key is sent and a second asset private key is received, and
 a first device public key;
send, using the first communication interface, the first proposal data to a second device;
receive, using the first communication interface, signed second proposal data comprising:
 second proposal data indicative of acceptance of the first proposal data, and
 a first digital signature of the second proposal data that is signed by the second device;
send the signed second proposal data to the first secure computing environment; and
send signed first transfer data to the second device using the first communication interface; and
the first secure computing environment comprising:
a first secure encrypted memory storing:
a first device private key, and
the first asset private key;
a second memory storing second computer-executable instructions; and
a second processor in communication with: the first processor, the first secure encrypted memory, and the second memory, the second processor executing the second computer-executable instructions to:
determine first invoice data comprising the first invoice identifier (ID) and a first invoice key;
determine the signed second proposal data is validly signed;
establish a secure channel with a second secure computing environment of the second device;
determine the first secure computing environment and the second secure computing environment are associated with a common authority;
send, using the secure channel, the first invoice data to the second device;
receive, using the secure channel, second invoice data, wherein the second invoice data comprises:
a second invoice identifier, and
a second invoice key;
determine first transfer data comprising:
the first invoice identifier,
a first hash of at least a portion of the second proposal data, and
first encrypted data, encrypted using the first invoice key, the first encrypted data comprising the first asset private key;
determine the signed first transfer data by digitally signing the first transfer data using the first device private key; and
send the signed first transfer data to the first general computing environment.