SECURE MULTI-PARTY PROTOCOL
0 Assignments
0 Petitions
Accused Products
Abstract
A requestor and a responder may conduct secure communication by making API calls based on a secure multi-party protocol. The requestor may send a request data packet sent in a API request to the responder, where the request data packet can include at least a control block that is asymmetrically encrypted and a data block that is symmetrically encrypted. The responder may return a response data packet to the requestor, where the response data packet can include at least a control block and a data block that are both symmetrically encrypted. The requestor and the responder may derive the keys for decrypting the encrypted portions of the request and response data packets based on some information only known to the requestor and the responder. The secure multi-party protocol forgoes the need to store and manage keys in a hardware security module.
0 Citations
40 Claims
-
1-20. -20. (canceled)
-
21. A method for securing communications between a first computer and a second computer, the method comprising:
-
securing a communication connection over a communications network at least in part by; encrypting, by the first computer, a first data block with a first symmetric key; generating, by the first computer, a first control block comprising the first symmetric key; generating, by the first computer, a request data packet of the communication connection, the request data packet including the first control block and the encrypted first data block; sending, by the first computer, the request data packet to the second computer over the communications network; receiving, by the first computer, a response data packet of the communication connection from the second computer over the communications network; generating, by the first computer, a second symmetric key using a predetermined algorithm based on data in the second control block; decrypting, by the first computer, the second control block with the generated second symmetric key; extracting, by the first computer, the first symmetric key from the second control block; and decrypting, by the first computer, the second data block with the extracted first symmetric key. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer system comprising:
-
a processor; and a computer readable medium coupled with the processor, the computer readable medium comprising code executable to perform a method for securing communications between a first computer and a second computer, the method comprising; securing a communication connection over a communications network at least in part by; encrypting, by the first computer, a first data block with a first symmetric key; generating, by the first computer, a first control block comprising the first symmetric key; generating, by the first computer, a request data packet of the communication connection, the request data packet including the first control block and the encrypted first data block; sending, by the first computer, the request data packet to the second computer over the communications network; receiving, by the first computer, a response data packet of the communication connection from the second computer over the communications network; generating, by the first computer, a second symmetric key using a predetermined algorithm based on data in the second control block; decrypting, by the first computer, the second control block with the generated second symmetric key; extracting, by the first computer, the first symmetric key from the second control block; and decrypting, by the first computer, the second data block with the extracted first symmetric key. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. One or more non-transient computer-readable media having collectively stored thereon computer-executable instructions that, when executed with one or more computers, collectively perform a method comprising:
-
securing a communication connection over a communications network at least in part by; encrypting, by a first computer, a first data block with a first symmetric key; generating, by the first computer, a first control block comprising the first symmetric key; generating, by the first computer, a request data packet of the communication connection, the request data packet including the first control block and the encrypted first data block; sending, by the first computer, the request data packet to a second computer over the communications network; receiving, by the first computer, a response data packet of the communication connection from the second computer over the communications network; generating, by the first computer, a second symmetric key using a predetermined algorithm based on data in the second control block; decrypting, by the first computer, the second control block with the generated second symmetric key; extracting, by the first computer, the first symmetric key from the second control block; and decrypting, by the first computer, the second data block with the extracted first symmetric key. - View Dependent Claims (40)
-
Specification