CN111737256A - 一种基于可信执行环境和区块链的数据库表操作方法和系统 - Google Patents
一种基于可信执行环境和区块链的数据库表操作方法和系统 Download PDFInfo
- Publication number
- CN111737256A CN111737256A CN202010532375.8A CN202010532375A CN111737256A CN 111737256 A CN111737256 A CN 111737256A CN 202010532375 A CN202010532375 A CN 202010532375A CN 111737256 A CN111737256 A CN 111737256A
- Authority
- CN
- China
- Prior art keywords
- transaction
- execution environment
- operation rule
- trusted execution
- key
- 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.)
- Withdrawn
Links
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
-
- 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
- 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Computer Hardware Design (AREA)
- Finance (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种基于可信执行环境和区块链的数据库表操作方法,包括:S1,交易发起方创建表交易TX,表交易TX包括明文表操作规则SQLRule1;S2,交易发起方在可信执行环境中对SQLRule1进行加密处理,得到密文表操作规则SQLRule2;S3,交易发起方将表交易TX中的表操作规则更新为SQLRule2;S4,区块链节点广播表交易TX;S5,区块链节点对表交易TX进行共识;S6,区块链节点共识通过后,将表交易TX记录在区块链上;S7,区块链节点读取表交易TX中的SQLRule2,将SQLRule2放入可信执行环境还原为SQLRule1,并且在可信执行环境中对SQLRule1进行数据库表执行。本发明将表操作规则以密文的形式记录在区块链上,以交易和密文形式的表操作规则方式驱动数据库表中数据的改变,保证了交易的隐秘性和安全性。
Description
技术领域
本发明一般涉及区块链领域,尤其涉及一种基于可信执行环境和区块链的数据库表操作方法和系统。
背景技术
区块链技术构建在分布式传输网络之上。分布式传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。目前区块链平台技术上最大的两个挑战就是隐私和性能,往往这两个挑战很难同时解决。大多解决方案都是通过损失性能换取隐私,或者不大考虑隐私去追求性能。常见的解决隐私问题的加密技术,如同态加密和零知识证明等,复杂度高,通用性差,而且还可能带来严重的性能损失。
可信执行环境(Trusted Execution Environment,TEE)是另一种解决隐私问题的方式。TEE是设备(智能手机、平板电脑、智能电视)CPU上的一块区域。这块区域的作用是给数据和代码的执行提供一个更安全的空间,并保证它们的机密性和完整性。TEE提供了一个与系统运行环境(REE)隔离的环境保存用户的敏感信息,TEE可以直接获取REE的信息,而REE不能获取TEE的信息。这样在TEE中执行的代码和数据操作系统层都无法偷窥,只有代码中预先定义的接口才能对其进行操作。在效率方面,由于TEE的黑箱性质,在TEE中进行运算的是明文数据,而不是同态加密中的复杂密码学运算,计算过程效率没有损失,因此与TEE相结合可以在性能损失较小的前提下很大程度上提升区块链的安全性和隐私性。
目前工业界十分关注TEE的方案,几乎所有主流的芯片和软件联盟都有自己的TEE解决方案,包括软件方面的TPM(Trusted Platform Module,可信赖平台模块)以及硬件方面的Intel SGX(Software Guard Extensions,软件保护扩展)、ARM Trustzone(信任区)和AMD PSP(Platform Security Processor,平台安全处理器)。
发明内容
本发明提出一种基于可信执行环境和区块链的数据库表操作方法,包括:
S1,交易发起方创建表交易TX,表交易TX包括明文表操作规则SQLRule1;
S2,交易发起方在可信执行环境中对明文表操作规则SQLRule1进行加密处理,得到密文表操作规则SQLRule2;
S3,交易发起方将表交易TX中的表操作规则更新为所述密文表操作规则SQLRule2;
S4,区块链节点广播表交易TX;
S5,区块链节点对表交易TX进行共识;
S6,区块链节点共识通过后,将表交易TX记录在区块链上;
S7,区块链节点读取表交易TX中的所述密文操作规则SQLRule2,将密文操作规则SQLRule2放入可信执行环境还原为所述明文表操作规则SQLRule1,并且在可信执行环境中对所述明文表操作规则SQLRule1进行数据库表执行。
本发明还提出一种基于可信执行环境和区块链的数据库表操作系统,所述系统包括交易发起方和区块链节点,所述交易发起方和所述区块链节点完成如下步骤:
S1,交易发起方创建表交易TX,表交易TX包括明文表操作规则SQLRule1;
S2,交易发起方在可信执行环境中对明文表操作规则SQLRule1进行加密处理,得到密文表操作规则SQLRule2;
S3,交易发起方将表交易TX中的表操作规则更新为所述密文表操作规则SQLRule2;
S4,区块链节点广播表交易TX;
S5,区块链节点对表交易TX进行共识;
S6,区块链节点共识通过后,将表交易TX记录在区块链上;
S7,区块链节点读取表交易TX中的所述密文操作规则SQLRule2,将密文操作规则SQLRule2放入可信执行环境还原为所述明文表操作规则SQLRule1,并且在可信执行环境中对所述明文表操作规则SQLRule1进行数据库表执行。
本发明可以将表操作规则以密文的形式记录在区块链上进而保护数据表结构及表数据,这样能以交易和密文形式的表操作规则方式驱动数据库表中数据的改变,保证了数据库表操作规则在区块链系统中的隐秘性和安全性。
附图说明
为了更容易理解本发明,将通过参照附图中示出的具体实施方式更详细地描述本发明。这些附图只描绘了本发明的典型实施方式,不应认为对本发明保护范围的限制。
图1为本发明方法的流程图。
图2为可信执行环境验证的时序图。
具体实施方式
下面参照附图描述本发明的实施方式,其中相同的部件用相同的附图标记表示。在不冲突的情况下,下述的实施例及实施例中的技术特征可以相互组合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面以Intel SGX技术为例来描述本发明,以Intel SGX作为可信执行环境的技术基础。本发明首先提出一种基于可信执行环境和区块链的数据库操作方法,包括步骤S1-S7。
S1,交易发起方创建表交易TX,表交易TX包括表操作规则SQLRule1(如createtable,insert,update,select)。
S2,交易发起方在可信执行环境中对SQLRule1进行加密处理,得到加密的表操作规则SQLRule2。具体包括:1)验证可信执行环境;2)在可信执行环境中将明文的SQLRule1加密生成明文形式的SQLRule2。
S3,交易发起方将表交易TX中的表操作规则更新为SQLRule2。
S4,区块链节点广播表交易TX。
S5,区块链节点对表交易TX进行共识。
S6,区块链节点共识通过后,将表交易TX记录在区块链上。
S7,区块链节点读取表交易TX中操作规则SQLRule2,将SQLRule2放入可信执行环境还原为表操作规则SQLRule1,并且在可信执行环境中对表操作规则SQLRule1进行数据库表执行。具体包括:1),验证可信执行环境。2),在可信执行环境中将密文形式的SQLRule2解密还原成明文形式的SQLRule1。3),在可信执行环境中对表操作规则SQLRule1进行数据库表执行。
在一个实施方式中,在步骤S2中,验证可信执行环节和在可信执行环境中对SQLRule1进行加密处理,还包括如下步骤:
S2.1,交易发起方基于ECC算法生成一对公私钥对ecc1。
S2.2,交易发起方向区块链节点发送一个交易提交请求Req1,请求包括但不限于基于S2.1生成的公钥ecc1.public_key;同时将ecc1.public_key也记录在表交易TX中。
S2.3,区块链节点接收到请求Req1后,使用公钥ecc1.public_key创建可信执行环境,并且返回可信执行环境的上下文context和可信环境标志teeid。
S2.4,区块链节点使用context、teeid与交易发起方执行三次握手交互协议。
S2.5,在握手交互协议中,交易节点验证完可信执行环境并且验证节点环境可信,那么在交易发起方就会有基于context推导生成的加密密钥sk。此时,交易节点可以使用加密秘钥sk对明文的SQLRule1进行加密得到密文SQLRule2。
S2.6,同时在区块链节点上可以使用context在可信执行环境中推导出解密密钥sk。
在另一个优选实施方式中,如图2所示,在Intel SGX(Software GuardExtensions,软件保护扩展)平台上,步骤S2中在可信执行环境中对SQLRule1进行加密处理的步骤,包括如下步骤:
S2.1,交易发起方基于ECC算法生成一对公私钥对ecc1。
S2.2,交易发起方向区块链节点发送一个交易提交请求Req1,请求包括但不限于基于S2.1生成的公钥ecc1.public_key;同时将公钥ecc1.pubic_key记录至表交易TX中。
S2.3,区块链节点接收到请求Req1后,调用sgx_create_enclave和enclave_init_ra接口创建和初始化可信执行环境。
S2.4,在可信执行环境中调用enclave_init_ra的时候,将公钥ecc1.public_key传入此函数中,这样能保证将此公钥编入至可信执行环境中。
S2.5,enclave_init_ra函数在可信执行环境中返回context,接着从可信环境将context回值区块节点的系统运行环境中。
S2.6,区块链节点调用sgx_get_extended_epid_group_id API获取epid_group_id,并将epid_group_id封装至msg0中再发送给交易发起方。
S2.7,交易发起方检查epid_group_id是否被支持,如果不支持,可信环境验证失败,放弃后续操作;否则,继续步骤S2.8-S2.9。
S2.8,区块链节点调用sgx_ra_get_msg1 API,传入S2.5获取的context;此API调用成功后,会构建一个数据包msg1=(ga||GID)。
S2.9,区块链节点将msg1发送给交易发起方,交易发起方接收到msg1后,调用tx_proc_msg1_req过程用于处理msg1,如果msg1处理成功,将会生成数据包msg2=gb||SPID||2-byte type||2-byte KDF-ID||SigSP(gb,ga)||CMAC_SMK(gb||SPID||2-byte TYPE||2-byte KDF_ID||SigSP(gb,ga))||SigRL;同时将msg2发送给区块链节点。
S2.10,区块链节点接收到msg2后调用sgx_ra_proc_msg2 API处理msg2,在处理的过程中依然传入S2.5获取的context;此API接口调用成功后,会构造一个数据包msg3=CMAC_SMK(M)||M,这里M=ga||PS_SECURITY_PROPERTY||QUOTE;同时将msg3发送给交易发起方。
S2.11,交易发起方接收到msg3后,调用tx_proc_msg3_req处理msg3;在处理msg3的过程中会调用sgx_sha256_init/sgx_sha256_update/sgx_sha256_get_hash等API会获取到交易发起方和可信执行环境之间共享的加解密秘钥sk。
S2.12,交易发起验证msg3中quote数据,如果验证通过,交易发起方就讲SQLRule使用sk秘钥加密数据。
另一方面,在一个实施方式中,步骤S7中的验证可信执行环境和解密密文,包括如下步骤:
S7.1,交易发起方向区块链节点发送一个交易提交请求Req1,请求包括基于交易发起方生成的ecc1.public_key;此公钥ecc1.public_key从表交易TX中获取。
S7.2,区块链节点接收到请求Req1后,使用ecc1.public_key创建可信执行环境,并且返回可信执行环境的上下文context和可信环境标志teeid。
S7.3,区块链节点使用上下文context、可信环境标志teeid与交易发起方执行三次握手交互协议。
S7.4,在握手交互协议中,交易节点验证完可信执行环境并且验证节点环境可信,那么在交易发起方端就会有基于context推到生成的加密密钥sk。
S7.5,同时在区块链节点上可以使用context在可信执行环境中推到出解密密钥sk。此时,在可信执行环境中使用sk将SQLRule2解密还原成SQLRule1,同时在可信执行环境中对表操作规则SQLRule1进行数据库表执行。
在另一个实施方式中,如图2所示,在Intel SGX(Software Guard Extensions,软件保护扩展)平台上,步骤S7中的验证可信执行环境和解密密文,包括如下步骤:
S7.1,交易发起方向区块链节点发送一个交易提交请求Req1,请求包括但不限于基于交易发起方生成的公钥ecc1.public_key;此公钥ecc1.public key从交易TX中获取。
S7.2,区块链节点接收到请求Req1后,调用sgx_create_enclave和enclave_init_ra接口创建和初始化可信执行环境。
S7.3,区块链节点在可信执行环境中调用enclave_init_ra的时候,将ecc1.public_key传入此函数中,这样能保证将此公钥编入至可信执行环境中。
S7.4,enclave_init_ra函数在可信执行环境中返回context,接着从可信环境将context返回值区块节点的系统运行环境中。
S7.5,区块链节点调用sgx_get_extended_epid_group_id API获取epid_group_id,并将epid_group_id封装至msg0中再发送给交易发起方。
S7.6,交易发起方检查epid_group_id是否被支持。如果不支持,可信环境验证失败,放弃后续操作;否则,继续下列步骤。
S7.7,区块链节点调用sgx_ra_get_msg1 API,传入S7.4获取的context;此API调用成功后,会构建一个数据包msg1=(ga||GID)。
S7.8,区块链节点将msg1发送给交易发起方,交易发起方接收到msg1后,调用tx_proc_msg1_req过程用于处理msg1,如果msg1处理成功,将会生成数据包msg2=gb||SPID||2-byte type||2-byte KDF-ID||SigSP(gb,ga)||CMAC_SMK(gb||SPID||2-byte TYPE||2-byte KDF_ID||SigSP(gb,ga))||SigRL;同时将msg2发送给区块链节点。
S7.9,区块链节点接收到msg2后调用sgx_ra_proc_msg2 API处理msg2,在处理的过程中依然传入S7.4获取的context;此API接口调用成功后,构造数据包msg3=CMAC_SMK(M)||M,这里的M=ga||PS_SECURITY_PROPERTY||QUOTE;同时将msg3发送给交易发起方。
S7.10,交易发起方接收到msg3后,调用tx_proc_msg3_req处理msg3;在处理msg3的过程中会调用sgx_sha256_init/sgx_sha256_update/sgx_sha256_get_hash等API,获取到交易发起方交易发起方和可信执行环境之间共享的加解密秘钥sk。
S7.11,交易发起方验证msg3中quote数据,如果验证通过,交易发起方会将attestation_report发送给区块链节点;验证节点验证attestation_report;如果验证成功,区块链节点将在可信执行去内获取到交易发起方交易发起方和可信执行环境之间共享的加解密秘钥sk;区块链节点从而可以使用这个sk解密SQLRule2,还原明文的SQLRule1表操作规则。
本发明还对应提出一种基于可信执行环境和区块链的数据库表操作系统,其特征在于,所述系统包括交易发起方和区块链节点,所述交易发起方和所述区块链节点完成如前所述的步骤。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (10)
1.一种基于可信执行环境和区块链的数据库表操作方法,其特征在于,包括:
S1,交易发起方创建表交易TX,表交易TX包括明文表操作规则SQLRule1;
S2,交易发起方在可信执行环境中对明文表操作规则SQLRule1进行加密处理,得到密文表操作规则SQLRule2;
S3,交易发起方将表交易TX中的表操作规则更新为所述密文表操作规则SQLRule2;
S4,区块链节点广播表交易TX;
S5,区块链节点对表交易TX进行共识;
S6,区块链节点共识通过后,将表交易TX记录在区块链上;
S7,区块链节点读取表交易TX中的所述密文操作规则SQLRule2,将密文操作规则SQLRule2放入可信执行环境还原为所述明文表操作规则SQLRule1,并且在可信执行环境中对所述明文表操作规则SQLRule1进行数据库表执行。
2.根据权利要求1所述的数据库表操作方法,其特征在于,步骤S2包括:
1)交易发起方验证可信执行环境;
2)交易发起方在可信执行环境中将明文表操作规则SQLRule1加密生成密文表操作规则SQLRule2。
3.根据权利要求1所述的数据库表操作方法,其特征在于,步骤S2包括:
S2.1,交易发起方生成一对公私钥对ecc1;
S2.2,交易发起方向区块链节点发送交易提交请求Req1,交易提交请求Req1包括公私钥对ecc1中的公钥ecc1.public_key;同时将公钥ecc1.public_key记录在表交易TX中;
S2.3,区块链节点接收到所述请求Req1后,使用所述公钥ecc1.public_key创建可信执行环境,返回可信执行环境的上下文context和可信环境标志teeid;
S2.4,区块链节点使用上下文context、可信环境标志teeid与交易发起方执行握手交互协议;
S2.5,在握手交互协议中,交易节点验证完可信执行环境并且验证节点环境可信,在交易发起方有基于上下文context推导出的加密密钥sk,交易节点使用加密秘钥sk对明文表操作规则SQLRule1进行加密得到密文表操作规则SQLRule2;
S2.6,区块链节点使用上下文context在可信执行环境中推导出解密密钥sk。
4.根据权利要求3所述的数据库表操作方法,其特征在于,步骤S7包括:
1),区块链节点验证可信执行环境;
2),区块链节点在可信执行环境中将密文表操作规则SQLRule2解密还原成明文表操作规则SQLRule1;
3),区块链节点在可信执行环境中对明文表操作规则SQLRule1进行数据库表执行。
5.根据权利要求3所述的数据库表操作方法,其特征在于,步骤S7包括:
S7.1,交易发起方向区块链节点发送交易提交请求Req1,所述请求Req1包括基于交易发起方生成的公钥ecc1.public_key;公钥ecc1.public_key从表交易TX中获取;
S7.2,区块链节点接收到请求Req1后,使用公钥ecc1.public_key创建可信执行环境,并且返回可信执行环境的上下文context和可信环境标志teeid;
S7.3,区块链节点使用上下文context和可信环境标志teeid与交易发起方执行握手交互协议;
S7.4,在握手交互协议中,交易节点验证完可信执行环境并且验证节点环境可信,在交易发起方有基于上下文context推导生成的加密密钥sk;
S7.5,区块链节点使用上下文context在可信执行环境中推导出解密密钥sk,在可信执行环境中使用解密密钥sk将密文表操作规则SQLRule2解密还原成明文表操作规则SQLRule1,同时在可信执行环境中对明文表操作规则SQLRule1进行数据库表执行。
6.一种基于可信执行环境和区块链的数据库表操作系统,其特征在于,所述系统包括交易发起方和区块链节点,所述交易发起方和所述区块链节点完成如下步骤:
S1,交易发起方创建表交易TX,表交易TX包括明文表操作规则SQLRule1;
S2,交易发起方在可信执行环境中对明文表操作规则SQLRule1进行加密处理,得到密文表操作规则SQLRule2;
S3,交易发起方将表交易TX中的表操作规则更新为所述密文表操作规则SQLRule2;
S4,区块链节点广播表交易TX;
S5,区块链节点对表交易TX进行共识;
S6,区块链节点共识通过后,将表交易TX记录在区块链上;
S7,区块链节点读取表交易TX中的所述密文操作规则SQLRule2,将密文操作规则SQLRule2放入可信执行环境还原为所述明文表操作规则SQLRule1,并且在可信执行环境中对所述明文表操作规则SQLRule1进行数据库表执行。
7.根据权利要求6所述的数据库表操作系统,其特征在于,交易发起方在步骤S2中进行如下操作:
1)交易发起方验证可信执行环境;
2)交易发起方在可信执行环境中将明文表操作规则SQLRule1加密生成密文表操作规则SQLRule2。
8.根据权利要求6所述的数据库表操作系统,其特征在于,交易发起方和区块链节点在步骤S2中进行如下操作:
S2.1,交易发起方生成一对公私钥对ecc1;
S2.2,交易发起方向区块链节点发送交易提交请求Req1,交易提交请求Req1包括公私钥对ecc1中的公钥ecc1.public_key;同时将公钥ecc1.public_key记录在表交易TX中;
S2.3,区块链节点接收到所述请求Req1后,使用所述公钥ecc1.public_key创建可信执行环境,返回可信执行环境的上下文context和可信环境标志teeid;
S2.4,区块链节点使用上下文context和可信环境标志teeid与交易发起方执行握手交互协议;
S2.5,在握手交互协议中,交易节点验证完可信执行环境并且验证节点环境可信,在交易发起方有基于上下文context推导出的加密密钥sk,交易节点使用加密秘钥sk对明文表操作规则SQLRule1进行加密得到密文表操作规则SQLRule2;
S2.6,区块链节点使用上下文context在可信执行环境中推导出解密密钥sk。
9.根据权利要求8所述的数据库表操作系统,其特征在于,区块链节点在步骤S7中进行如下操作:
1),区块链节点验证可信执行环境;
2),区块链节点在可信执行环境中将密文表操作规则SQLRule2解密还原成明文表操作规则SQLRule1;
3),区块链节点在可信执行环境中对明文表操作规则SQLRule1进行数据库表执行。
10.根据权利要求9所述的数据库表操作系统,其特征在于,交易发起方和区块链节点在步骤S7中进行如下操作:
S7.1,交易发起方向区块链节点发送交易提交请求Req1,所述请求Req1包括交易发起方生成的公钥ecc1.public_key;此公钥ecc1.public_key从表交易TX中获取;
S7.2,区块链节点接收到请求Req1后,使用ecc1.public_key创建可信执行环境,并且返回可信执行环境的上下文context和可信环境标志teeid;
S7.3,区块链节点使用上下文context和可信环境标志teeid与交易发起方执行握手交互协议;
S7.4,在握手交互协议中,交易节点验证完可信执行环境并且验证节点环境可信,交易发起方基于上下文context推导生成的加密密钥sk;
S7.5,区块链节点使用上下文context在可信执行环境中推导出解密密钥sk,在可信执行环境中使用解密密钥sk将密文表操作规则SQLRule2解密还原成明文表操作规则SQLRule1,同时在可信执行环境中对明文表操作规则SQLRule1进行数据库表执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010532375.8A CN111737256A (zh) | 2020-06-12 | 2020-06-12 | 一种基于可信执行环境和区块链的数据库表操作方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010532375.8A CN111737256A (zh) | 2020-06-12 | 2020-06-12 | 一种基于可信执行环境和区块链的数据库表操作方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111737256A true CN111737256A (zh) | 2020-10-02 |
Family
ID=72648973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010532375.8A Withdrawn CN111737256A (zh) | 2020-06-12 | 2020-06-12 | 一种基于可信执行环境和区块链的数据库表操作方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737256A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008216A (zh) * | 2019-04-02 | 2019-07-12 | 北京众享比特科技有限公司 | 基于区块链的数据库表操作方法、装置、设备和存储介质 |
CN110032883A (zh) * | 2019-01-31 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、系统和节点 |
CN110060054A (zh) * | 2019-02-19 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、节点、系统和存储介质 |
CN110245506A (zh) * | 2019-05-30 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
CN110457875A (zh) * | 2019-07-31 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 基于区块链的数据授权方法及装置 |
CN110546636A (zh) * | 2017-04-25 | 2019-12-06 | 微软技术许可有限责任公司 | 联盟区块链网络中的机密性 |
CN110692071A (zh) * | 2017-05-26 | 2020-01-14 | 区块链控股有限公司 | 基于脚本的区块链交互 |
CN110851870A (zh) * | 2019-11-14 | 2020-02-28 | 中国人民解放军国防科技大学 | 基于可信执行环境的区块链隐私保护方法、系统及介质 |
-
2020
- 2020-06-12 CN CN202010532375.8A patent/CN111737256A/zh not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110546636A (zh) * | 2017-04-25 | 2019-12-06 | 微软技术许可有限责任公司 | 联盟区块链网络中的机密性 |
CN110692071A (zh) * | 2017-05-26 | 2020-01-14 | 区块链控股有限公司 | 基于脚本的区块链交互 |
CN110032883A (zh) * | 2019-01-31 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、系统和节点 |
CN110060054A (zh) * | 2019-02-19 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、节点、系统和存储介质 |
CN110008216A (zh) * | 2019-04-02 | 2019-07-12 | 北京众享比特科技有限公司 | 基于区块链的数据库表操作方法、装置、设备和存储介质 |
CN110245506A (zh) * | 2019-05-30 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
CN110457875A (zh) * | 2019-07-31 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 基于区块链的数据授权方法及装置 |
CN110851870A (zh) * | 2019-11-14 | 2020-02-28 | 中国人民解放军国防科技大学 | 基于可信执行环境的区块链隐私保护方法、系统及介质 |
Non-Patent Citations (3)
Title |
---|
代春凯: "基于区块链的安全数据交易生态系统", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
史锦山;李茹;: "物联网下的区块链访问控制综述", 软件学报 * |
张家硕;高健博;王利朋;李青山;陈钟;: "区块链隐私保护技术综述", 保密科学技术 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10482291B2 (en) | Secure field-programmable gate array (FPGA) architecture | |
US10785019B2 (en) | Data transmission method and apparatus | |
CN107506659B (zh) | 一种基于sgx的通用数据库的数据保护系统及方法 | |
KR101725847B1 (ko) | 키 복원 공격들을 좌절시키기 위한 대책으로서 송신기-수신기 페어링을 위한 마스터 키 암호화 기능들 | |
CN102271037B (zh) | 基于在线密钥的密钥保护装置 | |
CN113302871B (zh) | 通信方法、通信系统、网络接口控制器 | |
Biham et al. | Breaking the Bluetooth pairing–the fixed coordinate invalid curve attack | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
CN110059458B (zh) | 一种用户口令加密认证方法、装置及系统 | |
CN107453880B (zh) | 一种云数据安全存储方法和系统 | |
US8904195B1 (en) | Methods and systems for secure communications between client applications and secure elements in mobile devices | |
CN110889696A (zh) | 一种基于sgx技术的联盟区块链秘钥存储方法、装置、设备及介质 | |
US11005828B1 (en) | Securing data at rest | |
CN108718233B (zh) | 一种加密方法、计算机设备及存储介质 | |
CN111130799B (zh) | 一种基于tee进行https协议传输的方法及系统 | |
CN112035860A (zh) | 文件加密方法、终端、装置、设备及介质 | |
CN113810382A (zh) | 一种用于抵御sgx侧信道攻击的密文加载方法 | |
Fan et al. | One secure access scheme based on trusted execution environment | |
CN112580056A (zh) | 一种终端设备、数据加密方法、解密方法、及电子设备 | |
US20230153445A1 (en) | Enhanced security systems and methods using a hybrid security solution | |
CN114785527B (zh) | 数据传输方法、装置、设备及存储介质 | |
WO2022206502A1 (zh) | 访问数据库的方法和装置 | |
CN115001744B (zh) | 一种云平台数据完整性验证方法及系统 | |
CN111737256A (zh) | 一种基于可信执行环境和区块链的数据库表操作方法和系统 | |
CN117118613B (zh) | 整车仪表数据安全保护方法、设备及可读存储介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201002 |
|
WW01 | Invention patent application withdrawn after publication |