CN112889040A - 数据库管理 - Google Patents
数据库管理 Download PDFInfo
- Publication number
- CN112889040A CN112889040A CN201980068078.8A CN201980068078A CN112889040A CN 112889040 A CN112889040 A CN 112889040A CN 201980068078 A CN201980068078 A CN 201980068078A CN 112889040 A CN112889040 A CN 112889040A
- Authority
- CN
- China
- Prior art keywords
- database
- transaction log
- distributed
- secure
- secure processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 64
- 238000003860 storage Methods 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000004891 communication Methods 0.000 claims abstract description 13
- 230000008859 change Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012550 audit Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000013175 transesophageal echocardiography Methods 0.000 description 2
- 101000831928 Homo sapiens Stomatin-like protein 1 Proteins 0.000 description 1
- 102100024173 Stomatin-like protein 1 Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
数据库事务在具有安全处理飞地的联网计算机的系统中的计算机中被执行。在安全处理飞地内,针对被执行的数据库事务的数据库事务日志记录被生成,并且使用被保持在安全处理飞地的安全存储装置中的私钥对被加密保护。分布式数据库的状态被记录在一系列事务日志记录中,该一系列事务日志记录在联网计算机可访问的分布式计算机存储装置中被复制。共识消息经由联网计算机的安全处理飞地之间的安全通信链路而被传输和接收,以根据分布式共识协议将数据库事务日志记录并入该一系列事务日志记录中,该分布式共识协议基于被保持在安全处理飞地内的共识协议逻辑而被实现。
Description
技术领域
本公开涉及数据库管理技术。
背景技术
常规数据库系统(例如,提供多个用户对数据库的共享访问的数据库系统)通常依赖于可信第三方(例如,数据库管理员)来管理访问许可和与数据库有关的其他配置方面。因此,用户请求在数据库中或关于数据库来执行的事务将受到通过由数据库管理员应用的配置设置而施加的任何约束。可以由数据库系统维护审核日志(audit log),从而记录在访问数据库时的用户活动的特定细节。配置设置通常确定审核日志中记录的内容。数据库管理员可以访问审核日志以用于管理目的,例如,用于执行日志记录分析,用于存档目的,或者用于调用任何适用的数据保留策略。
数据库可以是使用诸如SQL(结构化查询语言)等数据库管理编程语言为其定义事务的关系数据库。SQL是用于在关系数据库管理系统(RDBMS)内管理数据的标准语言。通过提交给消息接口或SQL“前端”的SQL语句形式的命令来促进数据库相关操作。SQL是包含一系列功能(包括数据查询、数据操纵、数据定义和数据控制)的一种全面的语言。SQL提供了用于访问和处理不同形式的关系数据库的综合框架。
发明内容
根据本文中公开的第一方面,提供了一种在具有安全处理飞地的联网计算机的系统中的计算机中执行数据库事务的方法。在计算机的安全处理飞地处接收用于针对分布式数据库执行数据库事务的、按照定义数据库查询语言的一个或多个语句。由在安全处理飞地中被执行的数据库事务处理引擎根据数据库查询语言来处理一个或多个语句,以针对分布式数据库执行数据库事务。在安全处理飞地内,针对被执行的数据库事务生成数据库事务日志记录,并且使用被保持在安全处理飞地的安全存储装置中的私钥对数据库事务日志记录加密保护。分布式数据库的状态被记录在一系列事务日志记录中,该一系列事务日志记录在联网计算机可访问的分布式计算机存储装置中被复制。经由联网计算机的安全处理飞地之间的安全通信链路来传输和接收共识消息,以根据分布式共识协议将数据库事务日志记录并入该一系列事务日志记录中,该分布式共识协议基于被保持在安全处理飞地内的共识协议逻辑而被实现。
附图说明
为了帮助理解本公开并且示出如何实施实施例,通过示例的方式参考附图,在附图中:
图1示出了可以在其中实现数据库管理系统的区块链网络架构的示例;
图2示出了关系数据库管理系统的示意性功能框图;
图3示出了分布式数据库系统的示例;
图4示出了具有安全处理飞地的服务器单元的示意性框图;
图5示出了记录在区块链中的数据库事务的示例;
图6示出了将事务处理引擎托管在安全处理飞地中的服务器单元的功能框图;
图7示出了一组示例事务日志记录;
图8示出了由区块链网络基于可信硬件来保护的示例区块链数据结构。
具体实施方式
简要地参考图1,描述了一种区块链设计,该区块链设计允许相互不信任的企业联盟建立并且操作具有强大机密性和防篡改保证的基于SQL的区块链30。区块链网络132由由不同企业操作的一组事务处理SQL服务器实例组成。每个SQL实例将数据库事务处理引擎15和应用逻辑托管在TEE(可信执行环境)内部,TEE在本文中也可以被称为安全处理飞地。也就是说,是SQL服务器实例充当区块链网络。每个数据库事务处理引擎15采用SQL引擎(例如,Hekaton)的形式。应用可以例如采用用SQL编写的“智能合约”的形式。
TEE在图1中未示出,但在图3中示出并且稍后描述。
TEE和保密计算的原理本身是已知的。可信执行环境基于加密被保护使得被存储在其中的数据和代码(指令)以及在其中执行的任何操作都无法从外部查看或推断,而且还使得对该数据或代码的任何更改尽管如此也是可检测的。如果检测到任何这样的更改,则可以禁用TEE,以确保仅可以执行授权操作并且仅对授权数据执行操作。SGX(软件防护扩展)是合适的TEE架构的一个示例。这允许跨安全硬件飞地中对应用进行划分。另一示例是的基于虚拟化的安全性(VBS)架构,该架构使用硬件虚拟化通过以下方式来提供可信执行环境:将物理存储器的安全区域与操作系统隔离并且使用完整性检查以确保只能在授权签名人签名时在TEE内执行代码。这是所谓的“飞地认证”(验证安全飞地的过程)的一部分。本文中没有描述机密计算的更多细节,因为可以使用现有机密计算技术来提供能够保证被执行和存储在其中的代码和数据的完整性和机密性的TEE。
区块链网络132托管分布式关系数据库(DB)110,该DB 110是使用SQL来管理的并且由一种形式的区块链技术来支持。现在将描述这种布置的细节。
图1是示出如何使用区块链技术来支持DB 110的高度示意性的框图。
如图1所示,SQL引擎15被互连以便形成区块链网络132。SQL引擎15和托管它们的服务器实例作为区块链网络132的节点来操作以存储、维护和保护上述区块链30。区块链30被视为DB 110的状态的权威定义。
为此,在托管SQL引擎15的不同TEE之间设置有多个安全通信链路17,这些安全通信链路用于实现区块链网络132内的通信,尤其是实现区块链网络的底层协议。这些协议针对区块链网络132的操作至关重要并且定义由区块链网络132管理和保护区块链30的方式。
底层协议包括共识协议128和分布式治理协议130。
区块链网络的SQL实例15运行共识协议132以执行事务,同时保证一致性和容错性。共识协议132是一种机制,SQL引擎通过该机制就区块链30的状态达成共识并且从而就由区块链30定义的DB 110的权威状态达成共识。
区块链网络132使用去中心化治理模型,在该模型中,根据区块链网络132的分布式治理协议130来授权和执行操作,诸如添加/删除用户以及进行数据库模式改变(诸如添加或删除表、索引和存储过程,以及定义访问控制策略)。
共识协议128和分布式治理协议130被托管在TEE中,因为它们基于安全协议逻辑而被实现,该协议逻辑存储在TEE中并且因此可以被信任。这并不是说协议必须由被托管在TEE中的安全协议逻辑来专门定义。例如,当所定义的协议改变要求满足时(例如,基于区块链网络内的投票),安全协议逻辑可以允许改变一个或两个协议。但是,安全协议逻辑定义TEE外部的外部信息、事件等影响协议(如果有)的实现的方式。对共识协议128和分布式治理协议132的许可更改可以由分布式治理协议130本身来定义。这样的更改在被实现时也可以被记录在区块链30中(例如)。
区块链网络132可以是使用可信硬件而设计的任何形式的区块链网络。
例如,的企业区块链网络的CoCo(机密联盟)框架提供可信基础,该可信基础提供有效的共识算法和灵活的机密性方案,并且该可信基础可以支持具有增强的延迟、吞吐量和机密性保障的新的和现有的区块链协议(诸如以太坊、Quorum、Corda等)。例如,在该上下文中参考美国专利公开号US 2018/0225661 A1,并且另外参考2017年8月10日发布的可公开获取的CoCo白皮书(“CoCo Framework-Technical Overview”;https://github.com/Azure/coco-framework/blob/master/docs/Coco%20Fra mework%20whitepaper.pdf)。在当前上下文中,区块链网络132可以通过在分布式TEE网络内的CoCo框架之上运行SQL引擎15而被实现。
尽管传统区块链协议通常基于“工作量证明”要求,但在当前情况中可以使用不同形式的共识协议来保护区块链30。例如,上述CoCo框架可以支持有效的Paxos或Caesar共识协议(以及其他协议)。如上所述,通过可信硬件实现,使用公私钥加密来保护区块链本身,其中要添加到区块链的有效事务在由可信硬件提供的TEE内被加密签名,而无需昂贵的工作证明算法。
已知这样的区块链网络根据分布式治理协议进行操作,该协议例如可以定义哪些区块链用户被授权向区块链网络124提交事务以及哪些用户被允许访问区块链30。针对后者,尽管某些公共区块链以任何用户都可以访问的明文来存储数据,但是基于可信执行硬件的机密/联盟网络允许经由可信硬件提供的可信执行环境(TEE)进行访问控制来对区块链数据加密。其他区块链架构也可以用于提供封闭的(即,加密或部分加密的)区块链,对该区块链的访问可以根据治理协议来监管。分布式治理协议可以例如基于区块链网络内的投票而被实现,其中投票权和要求由该协议定义。如上所述,网络可以同意对分布式治理协议进行改变,并且这样做的条件可以由划分治理协议本身来定义。
由于共识和分布式治理的原理是已知的,例如在CoCo框架的上下文中,本文中仅在与所描述的实施例相关的程度上来描述其他细节。在这点上要注意的一个方面是它们与DB 110的关系:共识协议128用于就分布式DB 110的状态达成共识(区块链30最终是数据库状态的权威来源),并且分布式治理协议130用于调节可以对DB执行的操作。
共识协议128还为DB 110提供了容错能力:因为SQL引擎15就区块链30和数据库110的商定状态达成共识,因此可以将错误检测为与商定状态之间的偏差。
图2示出了示出所描述的技术的某些原理的高度示意性的系统框图。关系数据库管理系统(RDBMS)5被示出为具有SQL前端100,SQL客户端25可以向该SQL前端100提交由SQL语句形成的输入。SQL前端100接受并且处理这样的输入,以允许客户端25发起与由RDBMS管理的分布式关系DB 110有关的数据库事务。SQL前端100由区块链网络132的SQL引擎15提供。
数据库管理系统(DBMS)是指用于创建和管理数据库的计算机程序或一组计算机程序。DBMS在数据库系统的一个或多个处理器(例如,CPU、GPU、加速器等)上执行。DBMS允许用户和应用与由DBMS管理的数据库交互以执行操作,诸如数据创建、操纵、查询和控制以及数据库管理。
企业使用SQL客户端25向由区块链网络132管理和保护的区块链30发送执行事务的加密请求(事务执行消息)。这些请求包含SQL语句形式的命令,该命令定义要执行的数据库事务。数据库事务根据在至少一个事务执行消息中接收的一个或多个命令而被执行,以引起DB 110的状态从先前状态到新状态的改变。为每个执行的数据库事务生成事务日志记录,并且将事务日志记录存储在区块链30中。因此,随着时间的流逝,在区块链30中创建一系列事务日志记录。
每个事务日志记录对应于数据库事务之一,并且包括(i)根据其来执行事务日志记录的一个或多个命令,以及(ii)事务日志记录执行的结果,从而使得可以从该事务日志记录和数据库的先前状态中恢复数据库的新状态,从而数据库110可以从存储在区块链30中的该一系列事务日志记录中完全恢复。
所有事务日志记录被签名并且包括对应签名请求以进行全面审核。该日志可以被任何人验证,并且可以用于将数据库110的状态恢复到任意点。可以使用被安全地存储在TEE中的(多个)私钥对日志记录加密,以保留某些表/事务的机密性。
事务日志记录记录包括由发布查询/语句的客户端25签名的每个提交的SQL查询/语句的全文、以及由处理该查询/语句的SQL引擎15生成的结果。可选地,事务日志记录还可以包括在事务执行期间对DB 110中的数据进行的一组任何写入(插入、更新和删除)。
由于各种原因,数据库事务可能会中止或失败。在某些情况中,中止/失败的事务也会被记录在区块链中。
数据库110具有一组定义用户118,该组定义用户118可以根据至少一个访问控制策略120被授权对DB 110执行操作。如上所述,这最终是基于分布式治理协议130来确定的。因此,最终确定数据库100的授权用户118及其角色、权限等的是分布式治理协议130。角色和权限是数据库技术中明确定义的概念。可以为用户分配一个或多个角色,这些角色又可以与一个或多个许可相关联,或者可以将用户直接与一个或多个许可相关联。与用户相关联的许可(直接或间接)指定用户是否有权关于数据库110进行哪些操作。
现在将描述在执行数据库事务时可以执行的操作类型的其他示例。
SQL前端100被示出为包括数据操纵组件102、数据查询组件104、数据定义组件106和数据控制组件108。应当理解,这些是由SQL引擎15作为SQL前端100的一部分而提供的特定类功能的高级表示,尽管被示出为不同组件,但它们可以具有一定程度的重叠。
数据定义106是指数据库模式的创建和修改,该数据库模式定义体现在DB 110中的数据结构。数据结构可以包括表112(关系)和相关组件,诸如数据库110的索引114和存储在数据库字典中并且可以由被授权这样做的用户118/客户端25应用于DB 110的存储过程116(STORP)。数据操纵102是指在表112和/或DB 110的其他这样的数据结构内的数据的存储、删除和修改。数据查询是指对DB 110的查询以获取期望数据。数据控制是指与访问控制策略120有关的功能,访问控制策略120又定义哪些用户118可以针对哪些数据执行查询、操纵和控制操作。这可以例如由与数据库用户118相关联的权限、角色等来支持。可以执行数据控制操作以实现访问控制改变,诸如创建新的或修改现有的权限、角色等。
SQL的一个方面是通常通过与一个或多个操作语句相关联地提交的提交语句来“提交”数据库事务以在数据库中或关于数据库来执行的能力,诸如数据查询、数据访问、数据控制、数据操纵语句或其任何组合(尽管“提交”针对某些操作语句可能是隐式的)。当提交数据库事务时,假定它是有效的,则针对DB 110执行其中包含的语句使得结果对其他用户可见。数据库语句根据与DB 110相关联的提交协议122(提交逻辑)来提交。本文中可以将其称为已提交数据库事务。
参考图3,提供了示出在其中执行RDBMS 5的数据库系统1的示例中的组件的示意性框图。系统1被示出为包括多个TEE 35。尽管在图3中未示出,但是每个TEE由在其上执行SQL引擎15的物理服务器单元上的安全硬件来提供。
SQL引擎15在TEE 15(也未示出)中执行,并且可以访问TEE35内的安全存储装置12。如上所述,在本示例中,每个SQL引擎15由数据库服务器实例托管,该数据库服务器实例是指在诸如服务器单元等物理计算机上执行的虚拟机。一个服务器单元可以托管一个或多个服务器实例。
图4示出了示例服务器单元10的示意性框图,该服务器单元10被示出为包括TEE35、用于执行SQL引擎15的至少一个安全处理器11(诸如CPU等)、和安全处理器11可访问的安全存储装置12。安全处理器11和安全存储装置12都在TEE 11内,因此它们的完整性和机密性得到来保证。服务器单元10还被示出为包括安全处理器11可访问但在TEE 35外部的不可信存储50、以及用于在区块链网络132内通信的网络接口402。可以经由网络接口402在TEE 11与远程TEE之间建立安全通信链路。该链路基于在TEE内应用的加密被保护。
如图4所示,服务器单元10还可以包括可以在其上执行计算机程序的在TEE外部的不可信硬件,诸如一个或多个不可信处理器(诸如CPU、GPU等)。取决于实现,可以是服务器实例在TEE 35内的(多个)处理器上被完全执行,或者可以是服务器实例在(多个)不可信处理器13上被部分执行。例如,可以跨服务器单元10的可信和不可信硬件的组合来划分服务器实例。
如上所述,安全协议逻辑25也被托管在每个TEE 25内,TEE 25可以采取存储在安全存储装置12中的协议实现指令的形式。
例如,事务请求可以包括读取存储在数据库中的选定数据、将数据写入数据库或修改存储在数据库中的数据的请求。事务可以包括例如请求查看或编辑数据库的模式,例如请求查看或编辑字段或表的属性,请求添加或删除字段或表,或者请求查看或改变数据库模式的某个其他方面。事务可以包括添加或删除用户、改变用户的访问权限或用户的其他属性的请求。事务还可以包括添加或改变企业或其他定义的用户组的属性的请求。事务还可以包括添加或改变由系统1实现的治理规则或治理模型的其他方面的请求。如相关领域的普通技术人员很清楚的,可以接收其他数据库事务类型。
组成区块链网络132的服务器单元可以被托管在不同企业系统中,并且所描述的技术的好处是不承担企业之间的任何相互信任关系。也就是说,联盟的企业或定义的用户组可以是完全独立并且“互不信任”的实体,即,在通过数据库系统1共享对数据库的访问时没有理由彼此信任的实体。本文中公开的系统1的实施例为联盟中的用户提供了一种用于例如共享对一个或多个数据库的访问并且管理数据库的配置和用户对数据库的访问的方法,而无需用户之间的信任并且无需可信第三方管理用于访问共享数据库的规则和共享数据库的配置。在系统1中,数据库的配置、访问数据库的规则、以及用于控制如何改变访问规则和配置的治理模型由联盟内的企业使用由SQL引擎15的网络而操作的过程来定义和协商,如将在下面进一步详细描述的。
参考图5,区块链30在系统1的分布式存储中被复制。更具体地说,每个服务器单元或服务器实例将区块链30的本地副本存储在它的不可信外部存储装置50的持久性存储器中。区块链30被保持在不可信存储50中的TEE外部,它以下面描述的方式被加密保护。响应于客户请求而发起的事务T1、T2、T3在整个区块链网络132上被传送,并且根据共识协议128被记录在区块链30的每个本地副本中。例如,图5示出了事务T1和T3由SQL引擎15中的第一SQL引擎执行并且事务T2由SQL引擎15中的第二SQL引擎执行。共识协议128允许区块链网络132内的SQL引擎15在区块链中的事务T1、T2和T3的记录方面达成共识,从而使得区块链30的本地副本在它的组成事务以及这些事务的顺序方面是一致的。这将在下面进一步详细描述。
图6示出了服务器单元10的示意性功能框图,并且示出了区块链30如何增长和保护。在所描述的示例中,托管SQL引擎15的数据库服务器实例19完全在TEE 35内运行,尽管如上所述,但是可以通过仅在TEE 35内执行某些DB服务器功能来实现该技术。在下面的示例中,执行数据库事务并且在TEE 35内专门生成区块链30的区块,以确保对区块链30的信任。
在TEE中执行的事务处理引擎15可以访问体现在TEE 35的安全存储装置12(图4)中的安全密钥存储库500。安全密钥存储库500仅在TEE 35内可访问;其内容无法从外部访问。安全密钥存储库500保持至少一个私钥502,尽管在图6中该私钥502被示出为在TEE 35外部,但是该私钥502永不离开TEE 35并且在TEE 35外部是不可访问的。针对由事务处理引擎15执行的每个数据库事务,生成事务日志记录。在TEE 35内为区块链30生成新的区块75,该区块75包括一个或多个事务日志记录记录90和区块指针85,该区块指针85是指向区块链30中的先前区块80的指针。区块指针85可以是作为先前区块80的数据哈希而计算的哈希指针。(多个)事务日志记录90和区块指针85每个构成区块有效载荷81的一部分,该区块有效载荷81在TEE 35内被加密签名。也就是说,使用私钥502从区块有效载荷86计算至少一个密码区块签名95,并且将其包括在区块75中以验证有效载荷86。
然而,应当注意,执行数据库事务的DB服务器实例19不一定是将对应事务日志记录添加到区块链30的区块链网络节点。这是根据共识协议128来确定的。例如,使用Paxos共识协议,根据该协议来指定领导者节点,并且然后使用安全通信链路17将要验证的事务日志记录传输给领导者节点。例如,图6示出了TEE 35与远程TEE 35'之间的安全通信链路17,该远程TEE 35'例如可以是领导者节点的TEE。DB服务器实例可以根据需要将事务日志记录转发给远程TEE35'以进行验证。假定其被确定为有效,则领导者节点以与上述完全相同的方式将其添加到区块链30。
共识协议128还定义如何在区块链网络132内传送新区块。例如,使用Paxos协议,一旦被提名的领导者节点添加了新区块,则将新区块根据共识协议128传送给其他节点并且其他节点将新区块添加到其区块链30的本地副本(即,领导者的确定是权威的)。
共识协议128是一种实现容错的方法。它允许以容忍本地区块链副本中的故障的方式从本地副本中确定区块链30的权威状态并且从而确定数据库110的权威状态。区块链30的权威状态可以例如是大多数节点(服务器实例)在网络132内协商的状态。这种故障可能由于外部存储装置50的损坏或故意篡改而发生。通常,这样的故障将是可检测到的,因为至少一些加密签名的区块链数据将不再有效(即,不再与在TEE中被应用的(多个)对应加密签名匹配;也可以从加密签名的区块指针中检测到丢失区块)。然而,共识协议128提供了附加级别的容错能力以提高鲁棒性。
当新节点(服务器实例)加入区块链网络132时,它需要重建区块链30直到其当前状态。容错机制用于确保重建的区块链与网络内的大多数本地区块链副本匹配。为了使新节点能够加入网络,它必须成为联盟的成员;允许新成员加入联盟的条件由分布式治理协议130设置。
数据库110可以被实现为分布式内存(in-memory)数据库,即,每个服务器实例在它被托管在的服务器单元10的主存储器65的一部分中维护数据库110的本地副本(数据库实例)。托管内存数据库的主存储器65中的一部分优选地在TEE 35内。合适的内存数据库的示例是Hekaton。
备选地,包含数据库事务的日志的区块链30可以是数据库的唯一持久表示,并且执行每个事务所需要的状态仅当需要执行事务时才可以从区块链被重构。
图7示出了存储在区块链30中的一组示例事务日志记录700。每个事务日志记录701包括:一条订购数据,订购数据在该示例中为序号702;定义原始数据库事务的完整SQL文本704;用于验证SQL文本704的至少一个客户端加密签名706;数据库事务708的执行结果;以及用于验证执行结果708的至少一个服务器加密签名710。客户端加密签名708是使用客户端可用的私钥根据由客户端25提交以用于执行的SQL文本704而生成的签名(该私钥例如可以是颁发给已经由客户端25认证的特定用户的私钥)。服务器加密签名710是由执行事务的SQL引擎15使用可用于其的私钥而生成的签名。
备选地,可以省略序列号,并且可以通过事务在区块链30内的顺序来定义事务的顺序。
事务的顺序可以例如由领导者节点确定,即,领导者节点负责定义数据库110上数据库事务的顺序。更一般地,该顺序可以根据共识协议128来确定。
序列号、时间戳等用作用于标识其被应用于的事务日志记录的事务标识符。
图5示出了区块链30的示例数据结构。区块链30被示出为由一系列区块形成。每个区块800包括有效载荷802,该有效载荷802又被示出为包括图4所示的种类的一组事务700。另外,每个区块700的有效载荷802(除了在图4中未示出的创世区块)包含指向区块链中的先前区块的指针802。指针804可以例如是通过对先前区块的数据进行哈希计算而得到的哈希指针。
在该示例中,区块有效载荷802由区块加密签名95保护,该区块加密签名95可以用于验证区块有效载荷802并且因此验证改组事务日志记录700和包含在有效载荷802中的区块指针804。如上所述,区块签名95由在区块链网络132的TEE 808内执行的加密签名功能512使用被保持在TEE 808的安全存储装置中的私钥510来生成。该加密机制完全独立于数据库系统1进行操作并且TEE 808内的密钥510根本无法在数据库系统1内访问,即使它已经被破坏。TEE由区块链网络132内的可信硬件提供,并且在本文中也可以被称为安全飞地。
这三个加密签名(即,与区块签名95一起应用的客户端签名706和服务器签名710)相结合为事务日志记录700提供高度可靠的数据验证机制。
虽然图4示出了一组三个事务日志记录,但是区块有效载荷可以包含任何数目的事务日志记录,包括一个。
如上所述,根据本文中公开的第一方面,提供了一种在具有安全处理飞地的联网计算机的系统中的计算机中执行数据库事务的方法。在计算机的安全处理飞地处接收用于针对分布式数据库执行数据库事务的、按照定义数据库查询语言的一个或多个语句。由在安全处理飞地中被执行的数据库事务处理引擎根据数据库查询语言来处理一个或多个语句,以针对分布式数据库执行数据库事务。在安全处理飞地内,针对被执行的数据库事务生成数据库事务日志记录,并且使用被保持在安全处理飞地的安全存储装置中的私钥对数据库事务日志记录加密保护。分布式数据库的状态被记录在一系列事务日志记录中,该一系列事务日志记录在联网计算机可访问的分布式计算机存储装置中被复制。经由联网计算机的安全处理飞地之间的安全通信链路来传输和接收共识消息,以根据分布式共识协议将数据库事务日志记录并入该一系列事务日志记录中,该分布式共识协议基于被保持在安全处理飞地内的共识协议逻辑而被实现。
通过示例,在下面阐述可以在第一方面的实施例中实现的可选实现特征。
该一系列事务日志记录可以被存储在区块链中,并且数据库事务日志记录可以被包含在数据块中,该数据块根据共识协议被添加到区块链。
数据库事务可以根据一组数据库特权而被执行。该组数据库特权可以由分布式治理协议定义,该分布式治理协议基于被保持在安全处理飞地内的治理协议逻辑而被实现。
数据库可以包含加密数据,并且该组数据库特权包括针对加密数据的访问特权,其中该一系列事务日志记录使用被安全地保持在安全处理飞地中的一个或多个安全处理飞地中的一个或多个私钥被至少部分地加密,从而使得被存储在数据库中的加密数据在安全处理飞地外部无法从该一系列事务日志记录被恢复。
分布式数据库可以是关系数据库,并且数据库查询语言可以是结构化查询语言(SQL)。
数据库事务日志记录可以通过使用私钥生成用于验证数据库事务日志记录的加密签名来被加密保护。
数据库事务日志记录可以通过使用私钥对数据库事务日志记录加密来被加密保护。
分布式数据库是内存数据库,并且内存数据库的实例被体现在联网计算机中的每个联网计算机的处理器主存储器中。
体现内存数据库实例的处理器主存储器的一部分可以被包含在该计算机的安全处理飞地内。
数据库事务可以引起数据库从先前状态到新状态的状态改变。数据库事务日志记录可以包括该一个或多个语句,从而使得数据库的新状态从数据库事务日志记录和数据库的先前状态可恢复。
数据库事务日志记录可以包括由事务处理引擎生成的数据库事务的执行的结果。
该方法还可以包括以下步骤:从安全处理飞地输出加密保护的数据库事务日志记录以用于存储在安全处理飞地外部的分布式计算机存储装置中。
该方法还可以包括以下步骤:经由安全通信链路从安全处理飞地向远程安全处理飞地传输加密保护的数据库事务日志记录以用于处理。
数据库事务的执行可以引起以下至少一项:针对分布式数据库的数据库模式改变、以及与数据库相关联的一组数据库许可的改变。
数据库事务的执行可以引起数据从分布式数据库被查询,在分布式数据库中被插入或更新,或者从分布式数据库被删除。
分布式治理协议可以用于确定与数据库相关联的至少一个角色和/或至少一个许可。
协议逻辑可以采用被存储在安全处理飞地的安全存储装置中的协议实现指令的形式。
本公开的第二方面提供了一种用于执行数据库事务的计算机,该计算机包括:包含用于执行指令的至少一个处理器和该处理器可访问的安全存储装置的安全处理飞地;以及用于建立安全通信链路以用于向安全处理飞地传输数据以及从安全处理飞地接收数据的网络接口。至少一个处理器被配置为在安全处理飞地内执行计算机可读指令,该计算机可读指令在被执行时使得至少一个处理器执行本文中公开的任何步骤。
另一方面提供了一种分布式数据库系统,该分布式数据库系统包括多个联网计算机,每个联网计算机如先前段落所述进行配置。
另一方面提供了一种计算机程序,该计算机程序包括被存储在计算机可读存储介质上的指令,该指令被配置为当在具有安全处理飞地的计算机上被执行时,实现本文中公开的任何步骤。
注意,对在一个或多个处理器(等)上执行的代码、软件、指令等的引用可以表示所有软件在同一处理器上执行,或者部分代码可以在不同处理器上执行,这些处理器可以、也可以不在同一位置。对“计算机存储装置”、“电子存储装置”和任何其他形式的“存储装置”通常是指一个或多个计算机可读存储设备,诸如磁性或固态存储设备。针对多个设备,可以、也可以不在空间上在同一位置。本文中描述的技术的特征是与平台无关的,这表示,这些技术可以在具有各种处理器的各种商业计算平台上实现。例如,这些系统可以包括计算机可读介质,该计算机可读介质可以被配置为维护引起系统、尤其是在其上执行的任何操作系统以及该系统的相关联的硬件执行操作的指令。因此,这些指令起到将操作系统和相关联的硬件配置为执行这些操作的作用,并且以这种方式导致操作系统和相关联的硬件的转换以执行功能。这些指令可以由计算机可读介质通过各种不同配置提供给(多个)系统处理器。计算机可读介质的一种这样的配置是信号承载介质,并且因此被配置为诸如经由网络将指令(例如,作为载波)传输给计算设备。计算机可读介质还可以被配置为计算机可读存储介质,并且因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器、以及可以使用磁性、光学和其他技术来存储指令和其他数据的其他存储器设备。本文中描述的示例将被理解为本发明的实施例的说明性示例。设想了其他实施例和示例。关于任何一个示例或实施例而描述的任何特征可以单独使用或与其他特征组合使用。另外,关于任何一个示例或实施例而描述的任何特征也可以与任何其他示例或实施例的一个或多个特征或者任何其他示例或实施例的任何组合结合使用。尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求书中定义的主题不必限于上述特定特征或动作。而是,以上描述的特定特征和动作被公开作为实现权利要求的示例形式。
Claims (15)
1.一种执行数据库事务的方法,所述方法包括在具有安全处理飞地的联网计算机的系统中的计算机中:
在所述计算机的所述安全处理飞地处接收用于针对分布式数据库执行数据库事务的、按照定义数据库查询语言的一个或多个语句;
由在所述安全处理飞地中被执行的数据库事务处理引擎根据所述数据库查询语言来处理所述一个或多个语句,以针对所述分布式数据库执行所述数据库事务;以及
在所述安全处理飞地内,针对被执行的所述数据库事务生成数据库事务日志记录并且使用被保持在所述安全处理飞地的安全存储装置中的私钥对所述数据库事务日志记录加密保护;
其中所述分布式数据库的状态被记录在一系列事务日志记录中,所述一系列事务日志记录在所述联网计算机可访问的分布式计算机存储装置中被复制,并且所述方法还包括:
经由所述联网计算机的所述安全处理飞地之间的安全通信链路来传输和接收共识消息,以根据分布式共识协议将所述数据库事务日志记录并入所述一系列事务日志记录中,所述分布式共识协议基于被保持在所述安全处理飞地内的共识协议逻辑而被实现。
2.根据权利要求1所述的方法,其中所述一系列事务日志记录被存储在区块链中,并且所述数据库事务日志记录被包含在数据块中,所述数据块根据所述共识协议被添加到所述区块链。
3.根据权利要求1或2所述的方法,其中所述数据库事务根据一组数据库特权而被执行,其中所述一组数据库特权由分布式治理协议定义,所述分布式治理协议基于被保持在所述安全处理飞地内的治理协议逻辑而被实现。
4.根据权利要求3所述的方法,其中所述数据库包含加密数据,并且所述一组数据库特权包括针对所述加密数据的访问特权,其中所述一系列事务日志记录使用被安全地保持在所述安全处理飞地中的一个或多个安全处理飞地中的一个或多个私钥被至少部分地加密,从而使得被存储在所述数据库中的所述加密数据在所述安全处理飞地外部无法从所述一系列事务日志记录被恢复。
5.根据权利要求3所述的方法,其中所述分布式治理协议被用于确定与所述数据库相关联的至少一个角色和/或至少一个许可。
6.根据任一前述权利要求所述的方法,其中所述分布式数据库是关系数据库,并且所述数据库查询语言是结构化查询语言(SQL)。
7.根据任一前述权利要求所述的方法,其中所述数据库事务日志记录通过以下各项被加密保护:
使用所述私钥生成用于验证所述数据库事务日志记录的加密签名,和/或
使用所述私钥对所述数据库事务日志记录加密。
8.根据任一前述权利要求所述的方法,其中所述分布式数据库是内存数据库,并且所述内存数据库的实例被体现在所述联网计算机中的每个联网计算机的处理器主存储器中,其中体现所述内存数据库实例的所述处理器主存储器的一部分被包含在所述计算机的所述安全处理飞地内。
9.根据任一前述权利要求所述的方法,其中所述数据库事务引起所述数据库从先前状态到新状态的状态改变,其中所述数据库事务日志记录包括所述一个或多个语句,从而使得所述数据库的所述新状态从所述数据库事务日志记录和所述数据库的所述先前状态可恢复,其中所述数据库事务日志记录可选地包括由所述事务处理引擎生成的所述数据库事务的所述执行的结果。
10.一种用于执行数据库事务的计算机,所述计算机包括:
安全处理飞地,包含用于执行指令的至少一个处理器和所述处理器可访问的安全存储装置;以及
网络接口,用于建立安全通信链路以用于向所述安全处理飞地传输数据以及从所述安全处理飞地接收数据;
其中所述至少一个处理器被配置为在所述安全处理飞地内执行计算机可读指令,所述计算机可读指令在被执行时使得所述至少一个处理器执行根据权利要求1至9或11至14中的任一项所述的步骤。
11.根据权利要求1至9中的任一项所述的方法,其中所述方法还包括以下步骤:从所述安全处理飞地输出加密保护的所述数据库事务日志记录以用于存储在所述安全处理飞地外部的所述分布式计算机存储装置中。
12.根据权利要求1至9或11中的任一项所述的方法,其中所述方法还包括以下步骤:经由安全通信链路从所述安全处理飞地向远程安全处理飞地传输加密保护的所述数据库事务日志记录以用于处理。
13.根据权利要求1至9或11至12中的任一项所述的方法,其中所述数据库事务的所述执行引起以下至少一项:针对所述分布式数据库的数据库模式改变、以及与所述数据库相关联的一组数据库许可的改变。
14.根据权利要求1至9或11至13中的任一项所述的方法,其中所述数据库事务的所述执行引起数据从所述分布式数据库被查询,在所述分布式数据库中被插入或更新,或者从所述分布式数据库被删除。
15.一种计算机程序,包括被存储在计算机可读存储介质上的指令,所述指令被配置为当在具有安全处理飞地的计算机上被执行时,实现根据权利要求1至9或11至14中的任一项所述的步骤。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1816837.7A GB201816837D0 (en) | 2018-10-16 | 2018-10-16 | Database management |
GB1816837.7 | 2018-10-16 | ||
US16/200,641 | 2018-11-26 | ||
US16/200,641 US11017113B2 (en) | 2018-10-16 | 2018-11-26 | Database management of transaction records using secure processing enclaves |
PCT/US2019/049616 WO2020081164A1 (en) | 2018-10-16 | 2019-09-05 | Database management |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112889040A true CN112889040A (zh) | 2021-06-01 |
Family
ID=64394930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980068078.8A Pending CN112889040A (zh) | 2018-10-16 | 2019-09-05 | 数据库管理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11017113B2 (zh) |
EP (1) | EP3867769A1 (zh) |
CN (1) | CN112889040A (zh) |
GB (1) | GB201816837D0 (zh) |
WO (1) | WO2020081164A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023075828A1 (en) * | 2021-10-28 | 2023-05-04 | Intel Corporation | Secure key management for service mesh deployments |
CN117493344A (zh) * | 2023-11-09 | 2024-02-02 | 兰州大学 | 一种基于机密计算技术的高效数据组织方法 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11133925B2 (en) * | 2017-12-07 | 2021-09-28 | Palantir Technologies Inc. | Selective access to encrypted logs |
CN110032568B (zh) * | 2018-12-20 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 数据结构的读取及更新方法、装置、电子设备 |
CN109886037B (zh) * | 2019-01-21 | 2023-06-09 | 江汉大学 | 一种基于区块链的电子证据审计方法 |
CN111095899B (zh) * | 2019-04-26 | 2021-12-24 | 创新先进技术有限公司 | 针对可信执行环境的分布式密钥管理 |
US10783277B2 (en) * | 2019-05-31 | 2020-09-22 | Alibaba Group Holding Limited | Blockchain-type data storage |
US11394718B2 (en) * | 2019-06-10 | 2022-07-19 | Microsoft Technology Licensing, Llc | Resolving decentralized identifiers using multiple resolvers |
SG11202005059PA (en) * | 2019-06-28 | 2020-06-29 | Alibaba Group Holding Ltd | System and method for updating data in blockchain |
US10903989B2 (en) * | 2019-08-30 | 2021-01-26 | Advanced New Technologies Co., Ltd. | Blockchain transaction processing method and apparatus |
US11836130B2 (en) * | 2019-10-10 | 2023-12-05 | Unisys Corporation | Relational database blockchain accountability |
CN110781525B (zh) * | 2019-11-22 | 2024-08-09 | 中国科学院深圳先进技术研究院 | 一种基于区块链的档案信息安全管理系统和方法 |
US11200335B2 (en) * | 2020-03-05 | 2021-12-14 | Sap Se | Secure in-memory database in container |
NL2027048B1 (en) * | 2020-12-04 | 2022-07-07 | Ing Bank N V | Methods, systems and networks for recovering distributed databases, and computer program products, data carrying media and non-transitory tangible data storage media with computer programs and/or databases stored thereon useful in recovering a distributed database. |
CN112597241A (zh) * | 2020-12-10 | 2021-04-02 | 浙江大学 | 一种基于区块链的分布式数据库存储方法及系统 |
US11748169B2 (en) * | 2021-01-25 | 2023-09-05 | Capital One Services, Llc | System and method for access management for applications |
CN113608907B (zh) * | 2021-07-21 | 2024-03-29 | 阿里巴巴(中国)有限公司 | 数据库审计方法、装置、设备、系统及存储介质 |
US20240037092A1 (en) * | 2022-07-29 | 2024-02-01 | Microsoft Technology Licensing, Llc | Confidential blockchain database |
DE102022132943A1 (de) * | 2022-12-12 | 2024-06-13 | KyooBe Tech GmbH | Produktionsanlage zur Herstellung eines Produkts |
CN117555874B (zh) * | 2024-01-11 | 2024-03-29 | 成都大成均图科技有限公司 | 一种分布式数据库的日志存储方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436490A (zh) * | 2010-10-28 | 2012-05-02 | 微软公司 | 多功能存储器内数据库恢复 |
CN105122241A (zh) * | 2013-03-15 | 2015-12-02 | 亚马逊科技公司 | 具有数据库引擎和独立分布式存储服务的数据库系统 |
WO2018170504A1 (en) * | 2017-03-17 | 2018-09-20 | Labyrinth Research Llc | Unified control of privacy-impacting devices |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904793B2 (en) * | 2015-03-23 | 2018-02-27 | Intel Corporation | Systems, methods, and apparatus to provide private information retrieval |
WO2017090041A1 (en) | 2015-11-24 | 2017-06-01 | Ben-Ari Adi | A system and method for blockchain smart contract data privacy |
US10013573B2 (en) | 2015-12-16 | 2018-07-03 | International Business Machines Corporation | Personal ledger blockchain |
US10713654B2 (en) | 2016-01-21 | 2020-07-14 | International Business Machines Corporation | Enterprise blockchains and transactional systems |
US10063572B2 (en) * | 2016-03-28 | 2018-08-28 | Accenture Global Solutions Limited | Antivirus signature distribution with distributed ledger |
GB201611948D0 (en) | 2016-07-08 | 2016-08-24 | Kalypton Int Ltd | Distributed transcation processing and authentication system |
US10097344B2 (en) | 2016-07-15 | 2018-10-09 | Mastercard International Incorporated | Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains |
EP3497581A4 (en) | 2016-08-08 | 2020-03-11 | The Dun and Bradstreet Corporation | SECURED PLATFORM AND INTEGRATED BOP APPLICATIONS FOR NETWORKING BOP COMPONENTS |
US10185550B2 (en) | 2016-09-28 | 2019-01-22 | Mcafee, Inc. | Device-driven auto-recovery using multiple recovery sources |
US10484346B2 (en) | 2017-02-07 | 2019-11-19 | Microsoft Technology Licensing, Llc | Establishment of consortium blockchain network |
CN106874440B (zh) | 2017-02-07 | 2019-11-12 | 杭州秘猿科技有限公司 | 一种基于sql数据库的区块链状态存储方法 |
US10225078B2 (en) * | 2017-02-09 | 2019-03-05 | International Business Machines Corporation | Managing a database management system using a blockchain database |
US20180232693A1 (en) | 2017-02-16 | 2018-08-16 | United Parcel Service Of America, Inc. | Autonomous services selection system and distributed transportation database(s) |
US11392724B2 (en) * | 2017-12-21 | 2022-07-19 | City University Of Hong Kong | Method for accelerating execution of application in a trusted execution environment |
US10701054B2 (en) * | 2018-01-31 | 2020-06-30 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment |
-
2018
- 2018-10-16 GB GBGB1816837.7A patent/GB201816837D0/en not_active Ceased
- 2018-11-26 US US16/200,641 patent/US11017113B2/en active Active
-
2019
- 2019-09-05 CN CN201980068078.8A patent/CN112889040A/zh active Pending
- 2019-09-05 EP EP19769966.3A patent/EP3867769A1/en not_active Withdrawn
- 2019-09-05 WO PCT/US2019/049616 patent/WO2020081164A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436490A (zh) * | 2010-10-28 | 2012-05-02 | 微软公司 | 多功能存储器内数据库恢复 |
CN105122241A (zh) * | 2013-03-15 | 2015-12-02 | 亚马逊科技公司 | 具有数据库引擎和独立分布式存储服务的数据库系统 |
WO2018170504A1 (en) * | 2017-03-17 | 2018-09-20 | Labyrinth Research Llc | Unified control of privacy-impacting devices |
Non-Patent Citations (1)
Title |
---|
赵冬琼, 周敬利, 尹申明: "分布式数据库事务的处理", 舰船电子工程, no. 06, 20 December 2003 (2003-12-20) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023075828A1 (en) * | 2021-10-28 | 2023-05-04 | Intel Corporation | Secure key management for service mesh deployments |
CN117493344A (zh) * | 2023-11-09 | 2024-02-02 | 兰州大学 | 一种基于机密计算技术的高效数据组织方法 |
Also Published As
Publication number | Publication date |
---|---|
US11017113B2 (en) | 2021-05-25 |
EP3867769A1 (en) | 2021-08-25 |
WO2020081164A1 (en) | 2020-04-23 |
US20200117825A1 (en) | 2020-04-16 |
GB201816837D0 (en) | 2018-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11017113B2 (en) | Database management of transaction records using secure processing enclaves | |
US11860822B2 (en) | Immutable ledger with efficient and secure data destruction, system and method | |
CN111800268B (zh) | 用于区块链背书的零知识证明 | |
US11227057B2 (en) | Membership access management of a database | |
US10671308B2 (en) | Private and fault-tolerant storage of segmented data | |
US10826705B2 (en) | Compact state database system | |
US11232221B2 (en) | Right to be forgotten on an immutable ledger | |
US20200117730A1 (en) | Database management | |
US11362805B2 (en) | Database encryption layer | |
JP2022533770A (ja) | 共有の秘密及び読み取りの合意を用いてメタデータ駆動型ブロックチェーン上で忘れられる権利を実施するシステム又は方法 | |
US20190295182A1 (en) | Digital asset architecture | |
CN111144881A (zh) | 对资产转移数据的选择性访问 | |
CN111881129A (zh) | 用于数据库的索引管理 | |
CN111670436B (zh) | 数据库系统 | |
CN112084186B (zh) | 拆分和合并存储 | |
CN111698198B (zh) | 秘密生成和份额分发 | |
EP3472720B1 (en) | Digital asset architecture | |
CN111859411B (zh) | 用于区块链网络中的区块链的方法和系统 | |
US11314771B2 (en) | Splitting and merging of storages | |
US20230412389A1 (en) | System And Method For Verifying Private Channel Data Using Synchronization Log | |
CN112084187B (zh) | 存储的拆分和合并 | |
Biskup | Design of Selected Systems | |
AJ et al. | An Efficient and Secure System for Cloud Transactions using Policy Based Access Control Mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |