Database management of transaction records using secure processing enclaves

US11017113B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11017113-B2
Application numberUS-201816200641-A
CountryUS
Kind codeB2
Filing dateNov 26, 2018
Priority dateOct 16, 2018
Publication dateMay 25, 2021
Grant dateMay 25, 2021

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.

A database transaction is executed in a computer of a system of networked computers having secure processing enclaves. Within the secure processing enclave, a database transaction log record for the executed database transaction is generated and cryptographically secured using a private key held in secure storage of the secure processing enclave. A state of the distributed database is recorded in a series of transaction log records which is replicated in distributed computer storage accessible to the networked computers. Consensus messages are transmitted and received via secure communication links between the secure processing enclaves of the networked computers, to incorporate the database transaction log record into the series of transaction log records in accordance with a distributed consensus protocol, which is implemented based on consensus protocol logic held within the secure processing enclave.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of executing a database transaction, the method comprising, in a computer of a system of networked computers having secure processing enclaves: receiving, at the secure processing enclave of the computer, one or more statements in a defined database query language for executing a database transaction with respect to a distributed database, wherein the secure processing enclave is secured based on cryptography such that contents of the secure processing enclave cannot be viewed externally and such that alteration to the contents of the secure processing enclave is externally detectable; processing, by a database transaction processing engine executed in the secure processing enclave, the one or more statements in accordance with the database query language to execute the database transaction with respect to the distributed database; and within the secure processing enclave, generating a database transaction log record for the executed database transaction and cryptographically securing the database transaction log record using a private key held in secure storage of the secure processing enclave; wherein a state of the distributed database is recorded in a series of transaction log records which is replicated in distributed computer storage accessible to networked computers, and the method further comprises: transmitting and receiving consensus messages via secure communication links between the secure processing enclaves of the networked computers, to incorporate the database transaction log record into the series of transaction log records in accordance with a distributed consensus protocol, which is implemented based on consensus protocol logic held within the secure processing enclave. 2. The method of claim 1 , wherein the series of transaction log records is stored in a blockchain and the database transaction log record is contained in a data block which is added to the blockchain in accordance with the consensus protocol. 3. The method of claim 1 , wherein the database transaction is executed in accordance with a set of database privileges, wherein the set of database privileges are defined by a distributed governance protocol, which is implemented based on governance protocol logic held within the secure processing enclave. 4. The method of claim 3 wherein the distributed database contains encrypted data and the set of database privileges comprises access privileges for the encrypted data, wherein the series of transaction log records is at least partially encrypted using one or more private keys held securely in one or more of the secure processing enclaves such that the encrypted data stored in the distributed database cannot be recovered from the series of transaction log records outside of the secure processing enclaves. 5. The method of claim 3 , wherein the distributed governance protocol is used to determine at least one role and/or at least one permission associated with the distributed database. 6. The method of claim 1 , wherein the distributed database is a relational database and the database query language is a Structured Query Language (SQL). 7. The method of claim 1 , wherein the database transaction log record is cryptographically secured by using the private key to generate a cryptographic signature for verifying the database transaction log record. 8. The method of claim 1 , wherein the database transaction log record is cryptographically secured by encrypting the database transaction log record using the private key. 9. The method of claim 1 , wherein the distributed database is an in-memory database, and an instance of the in-memory database is embodied in processor main memory of each of the networked computers. 10. The method of claim 9 , wherein a portion of the processor main memory embodying the in-memory database instance is contained within the secure processing enclave of that computer. 11. The method of claim 1 , wherein the database transaction causes a state change in the distributed database from a previous state to a new state, wherein the database transaction log record comprises the one or more statements, such that the new state of the distributed database is recoverable from the database transaction log record and the previous state of the distributed database. 12. The method of claim 11 , wherein the database transaction log record comprises results of the execution of the database transaction as generated by the database transaction processing engine. 13. The method of claim 1 , wherein the method further comprises an operation of outputting the cryptographically-secured database transaction log record from the secure processing enclave for storing in the distributed computer storage, which is outside of the secure processing enclaves. 14. The method of claim 1 , wherein the method further comprises an operation of transmitting the cryptographically-secured database transaction log record from the secure processing enclave via a secure communication link to a remote secure processing enclave for processing. 15. The method of claim 1 , wherein the execution of the database transaction causes at least one of: a database schema change for the distributed database, and a change in a set of database permissions associated with the distributed database. 16. The method of claim 1 , wherein the execution of the database transaction causes data to be queried from, inserted or updated in or deleted from the distributed database. 17. A computer for executing a database transaction, the computer comprising: a secure processing enclave containing at least one processor for executing instructions and secure storage accessible to the processor, wherein the secure processing enclave is secured based on cryptography such that contents of the secure processing enclave cannot be viewed externally and such that alteration to the contents of the secure processing enclave is externally detectable; and a network interface for establishing a secure communication link for transmitting and receiving data to and from the secure processing enclave; wherein the at least one processor is configured to execute computer readable instructions within the secure processing enclave which, when executed, cause the at least one processor to carry out the following operations: receiving, at the secure processing enclave of the computer, one or more statements in a defined database query language for executing a database transaction with respect to a distributed database; processing the one or more statements in accordance with the database query language to execute the database transaction with respect to the distributed database; and within the secure processing enclave, generating a database transaction log record for the executed database transaction and cryptographically securing the database transaction log record using a private key held in secure storage of the secure processing enclave; wherein a state of the distributed database is recorded in a series of transaction log records which is replicated in distributed computer storage accessible to networked computers, and said operations further comprise: transmitting and receiving consensus messages via secure communication links between the secure processing enclaves of the networked computers, to incorporate the database transaction log record into the series of transaction log records in accordance with a distributed consensus protocol, which is implemented based on consensus protocol logic held within the secure processing enclave. 18. The computer of claim 1

Assignees

Inventors

Classifications

  • using hash chains, e.g. blockchains or hash trees · CPC title

  • Query execution · CPC title

  • Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title

  • involving digital signatures · CPC title

  • where protection concerns the structure of data, e.g. records, types, queries · 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 US11017113B2 cover?
A database transaction is executed in a computer of a system of networked computers having secure processing enclaves. Within the secure processing enclave, a database transaction log record for the executed database transaction is generated and cryptographically secured using a private key held in secure storage of the secure processing enclave. A state of the distributed database is recorded …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F21/6227. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 25 2021 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 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).