[发明专利]一种基于可信环境的智能合约保护方法和系统有效
申请号: | 201710540117.2 | 申请日: | 2017-07-05 |
公开(公告)号: | CN107342858B | 公开(公告)日: | 2019-09-10 |
发明(设计)人: | 金海;代炜琦;邹德清;代春凯 | 申请(专利权)人: | 武汉凤链科技有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/32;H04L29/06;G06Q20/38;G06Q20/40 |
代理公司: | 武汉臻诚专利代理事务所(普通合伙) 42233 | 代理人: | 宋业斌 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 可信 环境 智能 合约 保护 方法 系统 | ||
技术领域
本发明属于智能合约安全领域,更具体地,涉及一种基于可信环境的智能合约保护方法和系统。
背景技术
智能合约(Smart Contracts)是一套数字形式定义的承诺,对数字资产进行控制并规定了合约参与者的权利与义务,智能合约由计算机系统自动执行,智能合约的执行过程就是对数据的处理过程。本质上讲,智能合约就是使用计算机系统中如果-则(if-then)的方式与真实世界的财产进行交互。虽然智能合约概念提出较早,但是由于缺乏能够支持智能合约特性的系统或者技术,智能合约的目标难以实现。
区块链(Blockchain)技术因为具有去中心化,交易过程透明且可追踪等特性被广泛的应用于金融领域,区块链的出现完美的解决了智能合约实现过程中的障碍。由于区块链具有去中心化,交易记录不可篡改并且可被追踪的特性,这些特性就保证了智能合约执行的公正性,并且区块链本身就是一个应用程序,智能合约就能够与它交互。区块链的出现使得智能合约快速发展,如今智能合约被广泛应用,并且成为了区块链技术的特性之一。
在区块链执行的智能合约通常包括部署以及执行两个阶段,在部署阶段创建者创建智能合约,并将智能合约部署到区块链之上,由于区块链的公开性,部署在区块链上的智能合约对所有人都是可见的。在执行阶段,区块链节点获取要执行的智能合约,之后获取处理的数据,并通常在类似于虚拟机的环境中让智能合约对数据进行处理,之后区块链节点对结果共识,将共识结果返回给创建方。
然而,现有的智能合约系统存在以下技术问题:首先,智能合约一旦部署在区块链之上,智能合约就要被公开,这就意味着智能合约能够被智能合约创建者以外的人看到,但是有些智能合约的创建者不想让别人看到智能合约的内容,这就涉及到版权问题,非常明显,当今智能合约系统不能够保护智能合约版权;其次,智能合约的执行环境类似于虚拟机,不能够抵抗恶意主机内核级别的信息窃取,意味着恶意攻击者可以获取智能合约,通过挖掘智能合约本身代码存在的漏洞,进而损害智能合约使用者的权益;第三,智能合约在执行之前,需要获取数据源提供的数据,但是当前执行智能合约的过程中并不能够对数据源提供的数据进行保护,攻击者可能将数据源提供的数据缓存到本地或者将数据进行转发,进而窃取数据源提供的数据。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于可信环境的智能合约保护方法和系统,其目的在于,解决现有智能合约系统中存在的容易出现智能合约信息泄漏而导致无法保护智能合约版权、智能合约使用者权益受损的技术问题,以及容易出现数据泄露而导致数据被窃取的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于可信环境的智能合约保护方法,其是应用在一种智能合约保护系统中,所述智能合约保护系统包括区块链节点、客户端和数据提供方,其特征在于,所述方法包括以下步骤:
(1)客户端创建智能合约,并在可信环境下对该智能合约进行哈希运算,使用对称加密算法对智能合约进行加密处理,并将加密处理后的智能合约部署在区块链上,以获得智能合约地址。
(2)区块链节点向客户端发送合约信息获取请求,客户端根据该信息获取请求与区块链节点进行可信环境认证,如果可信环境认证通过则进入步骤(3),否则过程结束。
(3)客户端在可信环境中使用区块链节点提供的一次性公钥对步骤(1)中哈希运算的结果、对称加密智能合约过程使用的密钥、以及智能合约地址作为合约信息进行非对称加密,并将加密结果传送到区块链节点;
(4)区块链节点在可信环境中使用与一次性公钥对应的一次性私钥对加密结果进行非对称解密,并使用非对称加密算法对解密得到的对称密钥以及哈希值进行加密,连同智能合约地址一同存储在本地合约信息存储池;
(5)区块链节点从客户端获取其需要执行的智能合约地址,根据该智能合约地址获取区块链中对应的智能合约密文、以及步骤(4)中本地存储的合约信息,在可信环境中对合约信息进行非对称解密,以得到哈希运算的结果以及加密智能合约时使用的对称密钥,使用该对称密钥解密智能合约密文,并对解密后的智能合约进行哈希运算,判断得到的结果与哈希运算的结果是否一致,如果一致则进入步骤(6),否则过程结束。
(6)区块链节点向数据提供方发送数据获取请求,数据提供方根据该数据获取请求与区块链节点进行可信环境认证,如果可信环境认证通过则进入步骤(7),否则过程结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉凤链科技有限公司,未经武汉凤链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710540117.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:分组方法及装置
- 下一篇:一种匿名认证方法及其应用