一种基于可信执行环境和区块链的数据库表操作方法和系统技术方案

技术编号:25835101 阅读:47 留言:0更新日期:2020-10-02 14:16
本发明专利技术提出一种基于可信执行环境和区块链的数据库表操作方法,包括:S1,交易发起方创建表交易TX,表交易TX包括明文表操作规则SQLRule1;S2,交易发起方在可信执行环境中对SQLRule1进行加密处理,得到密文表操作规则SQLRule2;S3,交易发起方将表交易TX中的表操作规则更新为SQLRule2;S4,区块链节点广播表交易TX;S5,区块链节点对表交易TX进行共识;S6,区块链节点共识通过后,将表交易TX记录在区块链上;S7,区块链节点读取表交易TX中的SQLRule2,将SQLRule2放入可信执行环境还原为SQLRule1,并且在可信执行环境中对SQLRule1进行数据库表执行。本发明专利技术将表操作规则以密文的形式记录在区块链上,以交易和密文形式的表操作规则方式驱动数据库表中数据的改变,保证了交易的隐秘性和安全性。

【技术实现步骤摘要】
一种基于可信执行环境和区块链的数据库表操作方法和系统
本专利技术一般涉及区块链领域,尤其涉及一种基于可信执行环境和区块链的数据库表操作方法和系统。
技术介绍
区块链技术构建在分布式传输网络之上。分布式传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。目前区块链平台技术上最大的两个挑战就是隐私和性能,往往这两个挑战很难同时解决。大多解决方案都是通过损失性能换取隐私,或者不大考虑隐私去追求性能。常见的解决隐私问题的加密技术,如同态加密和零知识证明等,复杂度高,通用性差,而且还可能带来严重的性能损失。可信执行环境(TrustedExecutionEnvironment,TEE)是另一种解决隐私问题的方式。TEE是设备(智能手机、平板电脑、智能电视)CPU上的一块区域。这块区域的作用是给数据和代码的执行提供一个更安全的空间,并保证它们的机密性和完整性。TEE提供了一个与系统运行环境(REE)隔离的环境保存用户的敏感信息,TEE可以直接获取REE的信息,而REE不能获取TEE的信息。这样在TEE中执行本文档来自技高网...

【技术保护点】
1.一种基于可信执行环境和区块链的数据库表操作方法,其特征在于,包括:/nS1,交易发起方创建表交易TX,表交易TX包括明文表操作规则SQLRule1;/nS2,交易发起方在可信执行环境中对明文表操作规则SQLRule1进行加密处理,得到密文表操作规则SQLRule2;/nS3,交易发起方将表交易TX中的表操作规则更新为所述密文表操作规则SQLRule2;/nS4,区块链节点广播表交易TX;/nS5,区块链节点对表交易TX进行共识;/nS6,区块链节点共识通过后,将表交易TX记录在区块链上;/nS7,区块链节点读取表交易TX中的所述密文操作规则SQLRule2,将密文操作规则SQLRule2放...

【技术特征摘要】
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.一种基于可信执行环境和区块链的数据库表操作系统,其特征在于,所述系统包括...

【专利技术属性】
技术研发人员:刘榴严挺陈鸿刚卢小明陈姝吴飞鹏
申请(专利权)人:北京众享比特科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1