Cryptlet binding key graph

US11728992B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11728992-B2
Application numberUS-202217708462-A
CountryUS
Kind codeB2
Filing dateMar 30, 2022
Priority dateSep 19, 2017
Publication dateAug 15, 2023
Grant dateAug 15, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The disclosed technology is generally directed to secure transactions. In one example of the technology, an enclave is used for executing a cryptlet binary of a first cryptlet. The enclave is a secure execution environment for which results of a secure execution are capable of being attested to have run unaltered and in private, the enclave stores an enclave private key, and the first cryptlet is associated with at least a first counterparty. A cryptlet binding that is associated with the first cryptlet is generated. The cryptlet binding includes counterparty information that is associated with at least the first counterparty. Cryptlet binding information is provided to a cryptlet binding key graph. A location of a hardware security module (HSM) that stores a key that is associated with the first counterparty is received from the cryptlet binding key graph.

First claim

Opening claim text (preview).

I claim: 1. An apparatus, comprising: a device including at least one memory adapted to store run-time data for the device, and at least one processor that is adapted to execute processor-executable code that, in response to execution, enables the device to perform actions, including: identifying an enclave to be used for executing a cryptlet binary of a first cryptlet, wherein: the enclave is a secure execution environment for which results of a secure execution are capable of being attested to have run unaltered and in private, the enclave stores an enclave private key, and the first cryptlet is associated with at least a first counterparty and a second counterparty; generating a cryptlet binding that is associated with the first cryptlet, wherein the cryptlet binding includes counterparty information that is associated with at least the first counterparty; providing cryptlet binding information to a cryptlet binding key graph; receiving, from the cryptlet binding key graph, a first location of a first hardware security module (HSM) that stores a first key that is associated with the first counterparty, a first address of the first key being on a first network; and a second location of a second HSM that stores a second key that is associated with the second counterparty, a second address of the second key being on a second network, the second network being a private network that is separate from the first network; and initiating execution of the cryptlet binary within the enclave, and in which, based on execution of the cryptlet binary within the enclave, the first cryptlet executes smart contact logic associated with a first smart contract involving at least the first counterparty, generates a secret that enables resumption of the cryptlet binary, and persists secret to the first HSM. 2. The apparatus of claim 1 , wherein the actions further include dynamically establishing a secure encrypted communication tunnel between the enclave and the first HSM for securely transmitting the first key to the first cryptlet executing in the enclave. 3. The apparatus of claim 2 , wherein establishing the secure encrypted communication tunnel includes: deriving a session public/private enclave key pair, including a session enclave private key and a session enclave public key, from the enclave private key and an enclave public key; sending the session enclave public key to the first HSM; receiving, from the first HSM, a session HSM public key; encrypting additional information with the session enclave private key to generate encrypted additional information; sending the encrypted additional information to the first HSM; receiving further encrypted information from the first HSM; and decrypting the further encrypted information with the session enclave private key. 4. The apparatus of claim 1 , wherein the cryptlet binding key graph provides a multi-party registry for locating keys and their corresponding storage endpoints. 5. The apparatus of claim 1 , wherein the actions further include communicating the cryptlet binary, the cryptlet binding, and the first location of the first HSM to the enclave. 6. The apparatus of claim 1 , wherein the cryptlet binding information is the cryptlet binding. 7. The apparatus of claim 1 , wherein the first HSM is a key vault. 8. The apparatus of claim 1 , wherein the actions further include, after identifying the enclave, injecting a cryptlet container into the enclave. 9. The apparatus of claim 1 , wherein the enclave is a private, tamper-resistant execution environment that is secure from external interference. 10. The apparatus of claim 1 , wherein persistent storage of the first key that is associated with the first counterparty is not permitted outside of the first HSM. 11. A method, comprising: identifying an enclave to be used for executing a cryptlet binary of a first cryptlet, wherein: the enclave is a secure execution environment for which results of a secure execution are capable of being attested to have run unaltered and in private, the enclave stores an enclave private key, and the first cryptlet is associated with at least a first counterparty and a second counterparty; generating a cryptlet binding that is associated with the first cryptlet, wherein the cryptlet binding includes counterparty information that is associated with at least the first counterparty; providing cryptlet binding information to a cryptlet binding key graph; receiving, from the cryptlet binding key graph, a first location of a first hardware security module (HSM) that stores a first key that is associated with the first counterparty, a first address of the first key being on a first network; and a second location of a second HSM that stores a second key that is associated with the second counterparty, a second address of the second key being on a second network, the second network being a private network that is separate from the first network; and initiating execution of the cryptlet binary within the enclave, and in which, based on execution of the cryptlet binary within the enclave, the first cryptlet executes smart contact logic associated with a first smart contract involving at least the first counterparty, generates a secret that enables resumption of the cryptlet binary, and persists secret to the first HSM. 12. The method of claim 11 , further comprising dynamically establishing a secure encrypted communication tunnel between the enclave and the first HSM for securely transmitting the first key to the first cryptlet executing in the enclave. 13. The method of claim 12 , wherein establishing the secure encrypted communication tunnel includes: deriving a session public/private enclave key pair, including a session enclave private key and a session enclave public key, from the enclave private key and an enclave public key; sending the session enclave public key to the first HSM; receiving, from the first HSM, a session HSM public key; encrypting additional information with the session enclave private key to generate encrypted additional information; sending the encrypted additional information to the first HSM; receiving further encrypted information from the first HSM; and decrypting the further encrypted information with the session enclave private key. 14. The method of claim 11 , wherein the cryptlet binding key graph provides a multi-party registry for locating keys and their corresponding storage endpoints. 15. The method of claim 11 , further comprising communicating the cryptlet binary, the cryptlet binding, and the first location of the first HSM to the enclave. 16. The method of claim 11 , wherein the cryptlet binding information is the cryptlet binding. 17. The method of claim 11 , wherein the first HSM is a key vault. 18. A processor-readable storage medium, having stored thereon processor-executable code that, upon execution by at least one processor, enables actions, comprising: identifying an enclave to be used for executing a cryptlet binary of a first cryptlet, wherein: the enclave is a secure execution environment for which results of a secure execution are capable of being attested to have run unaltered and in private, the enclave stores an enclave private key, and the first cryptlet is associated with at least a first counterparty and a second counterparty; generating a cryptlet binding that is associated with the first cryptlet, wherein the cryptlet binding includes counterparty information that is associated with at least the first counterparty; providing cryptlet

Assignees

Inventors

Classifications

  • H04L9/3226Primary

    using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083) · CPC title

  • G06F21/53Primary

    by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

  • Use of secure elements separate from M-devices · CPC title

  • using an alias or single-use codes · CPC title

  • Use of electronic signatures · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11728992B2 cover?
The disclosed technology is generally directed to secure transactions. In one example of the technology, an enclave is used for executing a cryptlet binary of a first cryptlet. The enclave is a secure execution environment for which results of a secure execution are capable of being attested to have run unaltered and in private, the enclave stores an enclave private key, and the first cryptlet …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L9/3226. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 15 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).