CN114938301B - 一种智能合约安全运行方法、装置及区块链系统 - Google Patents

一种智能合约安全运行方法、装置及区块链系统 Download PDF

Info

Publication number
CN114938301B
CN114938301B CN202210539251.1A CN202210539251A CN114938301B CN 114938301 B CN114938301 B CN 114938301B CN 202210539251 A CN202210539251 A CN 202210539251A CN 114938301 B CN114938301 B CN 114938301B
Authority
CN
China
Prior art keywords
node
intelligent contract
isolation area
account book
verification
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.)
Active
Application number
CN202210539251.1A
Other languages
English (en)
Other versions
CN114938301A (zh
Inventor
杨珂
郭庆雷
李达
王合建
陈帅
张禄
严嘉慧
王伟贤
潘鸣宇
李香龙
冯景丽
段婷婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Blockchain Technology Beijing Co ltd
State Grid Digital Technology Holdings Co ltd
State Grid Corp of China SGCC
State Grid Beijing Electric Power Co Ltd
Original Assignee
State Grid Blockchain Technology Beijing Co ltd
State Grid Digital Technology Holdings Co ltd
State Grid Corp of China SGCC
State Grid Beijing Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Blockchain Technology Beijing Co ltd, State Grid Digital Technology Holdings Co ltd, State Grid Corp of China SGCC, State Grid Beijing Electric Power Co Ltd filed Critical State Grid Blockchain Technology Beijing Co ltd
Priority to CN202210539251.1A priority Critical patent/CN114938301B/zh
Publication of CN114938301A publication Critical patent/CN114938301A/zh
Application granted granted Critical
Publication of CN114938301B publication Critical patent/CN114938301B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种智能合约安全运行方法、装置及区块链系统,通过在区块链节点构建安全隔离区,为面向隔离区的区块链智能合约运行以及区块链账本和相关敏感数据的存储提供高安全的运行与存储环境。并通过基于安全隔离区的验证机制对安全隔离区及安全隔离区内智能合约进行安全认证,为面向安全隔离区的区块链智能合约提供合法性校验,提高了智能合约运行的安全性。

Description

一种智能合约安全运行方法、装置及区块链系统
技术领域
本发明涉及区块链技术领域,更具体的,涉及一种智能合约安全运行方法、装置及区块链系统。
背景技术
智能合约是区块链领域中的关键技术之一,定义了每个相关方为了参与相应业务而采取的适当行动,在区块链领域的应用越来越广泛。
目前,智能合约一般运行在区块链节点容器内,容易遭受来自高系统权限恶意软件的攻击,存在安全隐患。
发明内容
有鉴于此,本发明提供了一种智能合约安全运行方法、装置及区块链系统,提高了智能合约运行的安全性。
为了实现上述发明目的,本发明提供的具体技术方案如下:
第一方面,本发明实施例公开了一种智能合约安全运行方法,应用于区块链中的背书节点,区块链还包括客户端节点与提交节点,所述方法包括:
接收所述客户端节点发起的智能合约调用请求,并接收所述客户端节点对智能合约安全隔离区中的目标智能合约的合法性校验;
若合法性校验通过,运行所述目标智能合约,并向所述提交节点发起安全隔离区双向校验;
在安全隔离区双向校验通过的情况下,向所述提交节点发送所述目标智能合约的执行结果,使所述提交节点更新账本安全隔离区内的账本数据。
在一些实施例中,接收所述客户端节点对智能合约安全隔离区中的目标智能合约的合法性校验,包括:
在接收到所述客户端节点发起的智能合约调用请求之后,生成基于SGX的身份报告与安全隔离区信息清单;
对所述身份报告与所述安全隔离区信息清单基于SGX的群签名进行签名授权,并将其发送到所述客户端节点,使所述客户端节点调用远程校验模块对所述智能合约安全隔离区进行身份校验,并对所述目标智能合约进行合法性校验。
在一些实施例中,运行所述目标智能合约,包括:
对所述智能合约调用请求进行预处理,得到智能合约调用数据;
利用预先配置的主体-资源权限-角色模型,确定所述智能合约调用数据中的调用者是否符合访问控制要求,并在符合所述访问控制要求的情况下运行相应的智能合约。
在一些实施例中,向所述提交节点发起安全隔离区双向校验,包括:
向所述提交节点发送合约隔离区报告,所述合约隔离区报告是基于SGX对所述智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
接收所述提交节点发送的账本隔离区报告,所述账本隔离区报告是所述提交节点基于SGX对所述账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;
获取所述账本安全隔离区的可信标识公钥,对所述账本隔离区报告签名进行验证,若验证通过,确定对所述提交节点中的所述账本安全隔离区的合法性校验通过;
在接收到所述提交节点发送的对所述智能合约安全隔离区合法性校验通过的反馈信息的情况下,确定安全隔离区双向校验通过。
第二方面,本发明实施例公开了一种智能合约安全运行方法,应用于区块链中的客户端节点,区块链还包括背书节点与提交节点,所述方法包括:
向所述背书节点发起智能合约调用请求,对所述背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验;
若合法性校验通过,向所述背书节点发送合法性校验通过反馈信息,使所述背书节点运行所述目标智能合约,向所述提交节点发起安全隔离区双向校验,在安全隔离区双向校验通过的情况下,所述背书节点向所述提交节点发送所述目标智能合约的执行结果,使所述提交节点更新账本安全隔离区内的账本数据。
在一些实施例中,对所述背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验,包括:
接收所述背书节点发送的基于SGX的身份报告与安全隔离区信息清单,所述身份报告与所述安全隔离区信息清单已基于SGX的群签名进行签名授权;
调用远程校验模块对所述智能合约安全隔离区进行身份校验;
在身份校验通过的情况下,根据所述安全隔离区信息清单对所述目标智能合约进行合法性校验。
第三方面,本发明实施例公开了一种智能合约安全运行方法,应用于区块链中的提交节点,区块链还包括客户端节点与背书节点,所述方法包括:
在所述背书节点中的智能合约安全隔离区中的目标智能合约通过所述客户端节点的合法性校验且所述背书节点运行所述目标智能合约之后,接收所述背书节点发起的安全隔离区双向校验;
若安全隔离区双向校验通过,接收所述目标智能合约的执行结果并更新账本安全隔离区内的账本数据。
在一些实施例中,接收所述目标智能合约的执行结果并更新账本安全隔离区内的账本数据,包括:
接收所述目标智能合约的执行结果,所述目标智能合约的执行结果由所述背书节点利用安全通信对称密钥进行加密,所述安全通信对称密钥是在双向校验通过后由所述背书节点和所述提交节点通过密钥协商得到的;
利用所述安全通信对称密钥对接收到的数据进行解密,并检测解密后得到的数据是否符合预设规范,并对其进行预处理;
基于预处理后的数据更新账本安全隔离区内的账本数据。
第四方面,本发明实施例公开了一种智能合约安全运行装置,应用于区块链中的背书节点,区块链还包括客户端节点与提交节点,所述装置包括:
合约调用请求接收单元,用于接收所述客户端节点发起的智能合约调用请求,并接收所述客户端节点对智能合约安全隔离区中的目标智能合约的合法性校验;
合约运行单元,用于若合法性校验通过,运行所述目标智能合约;
双向校验单元,用于向所述提交节点发起安全隔离区双向校验;
合约执行结果发送单元,用于在安全隔离区双向校验通过的情况下,向所述提交节点发送所述目标智能合约的执行结果,使所述提交节点更新账本安全隔离区内的账本数据。
在一些实施例中,所述合约调用请求接收单元,具体用于:
在接收到所述客户端节点发起的智能合约调用请求之后,生成基于SGX的身份报告与安全隔离区信息清单;
对所述身份报告与所述安全隔离区信息清单基于SGX的群签名进行签名授权,并将其发送到所述客户端节点,使所述客户端节点调用远程校验模块对所述智能合约安全隔离区进行身份校验,并对所述目标智能合约进行合法性校验。
在一些实施例中,所述合约运行单元,具体用于:
对所述智能合约调用请求进行预处理,得到智能合约调用数据;
利用预先配置的主体-资源权限-角色模型,确定所述智能合约调用数据中的调用者是否符合访问控制要求,并在符合所述访问控制要求的情况下运行相应的智能合约。
在一些实施例中,所述双向校验单元,具体用于:
向所述提交节点发送合约隔离区报告,所述合约隔离区报告是基于SGX对所述智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
接收所述提交节点发送的账本隔离区报告,所述账本隔离区报告是所述提交节点基于SGX对所述账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;
获取所述账本安全隔离区的可信标识公钥,对所述账本隔离区报告签名进行验证,若验证通过,确定对所述提交节点中的所述账本安全隔离区的合法性校验通过;
在接收到所述提交节点发送的对所述智能合约安全隔离区合法性校验通过的反馈信息的情况下,确定安全隔离区双向校验通过。
第五方面,本发明实施例公开了一种智能合约安全运行装置,应用于区块链中的客户端节点,区块链还包括背书节点与提交节点,所述装置包括:
合法性校验单元,用于向所述背书节点发起智能合约调用请求,对所述背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验;
反馈信息发送单元,用于若合法性校验通过,向所述背书节点发送合法性校验通过反馈信息,使所述背书节点运行所述目标智能合约,向所述提交节点发起安全隔离区双向校验,在安全隔离区双向校验通过的情况下,所述背书节点向所述提交节点发送所述目标智能合约的执行结果,使所述提交节点更新账本安全隔离区内的账本数据。
在一些实施例中,所述合法性校验单元,具体用于:
接收所述背书节点发送的基于SGX的身份报告与安全隔离区信息清单,所述身份报告与所述安全隔离区信息清单已基于SGX的群签名进行签名授权;
调用远程校验模块对所述智能合约安全隔离区进行身份校验;
在身份校验通过的情况下,根据所述安全隔离区信息清单对所述目标智能合约进行合法性校验。
第六方面,本发明实施例公开了一种智能合约安全运行装置,应用于区块链中的提交节点,区块链还包括客户端节点与背书节点,所述装置包括:
双向校验单元,用于在所述背书节点中的智能合约安全隔离区中的目标智能合约通过所述客户端节点的合法性校验且所述背书节点运行所述目标智能合约之后,接收所述背书节点发起的安全隔离区双向校验;
账本更新单元,用于若安全隔离区双向校验通过,接收所述目标智能合约的执行结果并更新账本安全隔离区内的账本数据。
在一些实施例中,所述账本更新单元,具体用于:
接收所述目标智能合约的执行结果,所述目标智能合约的执行结果由所述背书节点利用安全通信对称密钥进行加密,所述安全通信对称密钥是在双向校验通过后由所述背书节点和所述提交节点通过密钥协商得到的;
利用所述安全通信对称密钥对接收到的数据进行解密,并检测解密后得到的数据是否符合预设规范,并对其进行预处理;
基于预处理后的数据更新账本安全隔离区内的账本数据。
第七方面,本发明实施例公开了一种区块链系统,包括:客户端节点、背书节点以及提交节点;
所述背书节点和所述提交节点分别部署有安全隔离区,所述背书节点的智能合约安全隔离区内包括至少一个智能合约,所述提交节点的账本安全隔离区内包括账本数据;
所述背书节点,用于执行第一方面中任一实施方式所述的智能合约安全运行方法;
所述客户端节点,用于执行第二方面中任一实施方式所述的智能合约安全运行方法;
所述提交节点,用于执行第三方面中任一实施方式所述的智能合约安全运行方法。
相对于现有技术,本发明的有益效果如下:
本发明公开的一种智能合约安全运行方法,通过在区块链节点构建安全隔离区,为面向隔离区的区块链智能合约运行以及区块链账本和相关敏感数据的存储提供高安全的运行与存储环境。并通过基于安全隔离区的验证机制对安全隔离区及安全隔离区内智能合约进行安全认证,为面向安全隔离区的区块链智能合约提供合法性校验,提高了智能合约运行的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种应用于背书节点的智能合约安全运行方法的流程示意图;
图2为本发明实施例公开的一种应用于背书节点的智能合约安全运行方法的部分方法流程示意图;
图3为本发明实施例公开的一种应用于背书节点的智能合约安全运行方法的部分方法流程示意图;
图4为本发明实施例公开的一种应用于客户端节点的智能合约安全运行方法的流程示意图;
图5为本发明实施例公开的一种应用于提交节点的智能合约安全运行方法的流程示意图;
图6为本发明实施例公开的一种应用于背书节点的智能合约安全运行装置的结构示意图;
图7为本发明实施例公开的一种应用于客户端节点的智能合约安全运行装置的结构示意图;
图8为本发明实施例公开的一种应用于提交节点的智能合约安全运行装置的结构示意图;
图9为本发明实施例公开的一种区块链系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人经过研究发现:当前智能合约应用于区块链相关场景时存在着诸多安全隐患。以联盟链fabric为例,智能合约的运行面临着如下问题:(1)智能合约自身代码完整性缺乏保护。区块链在各行业的应用越来越多的涉及关键敏感业务。例如,使用区块链智能合约完成电力匹配、电力交易等关键业务,这些业务对于智能合约的运行安全性提出了更高的要求。然而,fabric智能合约多数运行在区块链节点容器docker内,虽然基于容器的虚拟化技术相比于虚拟机技术(virtual machine)提高了整体运行效率,但也使得依赖于docker容器的智能合约容易遭受来自高系统权限恶意软件的攻击。恶意软件可以通过区块链主系统的漏洞获取管理员权限,从而进一步攻击docker容器中的智能合约。(2)智能合约的合法性缺乏验证机制。在各类应用场景中(如电力安全生产、物资供应等),往往需要通过智能合约完成行业内各相关部门的协同工作。然而,在联盟链fabric区块链中,智能合约可以由单一组织发起并任意安装,缺乏对智能合约合法性的验证过程。这使得各电力部门区块链节点存在被安装非法的、恶意的智能合约的可能,从而导致区块链数据的不一致性。
为了解决上述技术问题,本发明提供了一种智能合约安全运行方法及区块链系统,区块链系统可以为fabric联盟链,包括客户端节点、背书节点和提交节点,将可信硬件引入区块链系统,通过在区块链节点构建安全隔离区,为面向隔离区的区块链智能合约运行以及区块链账本和相关敏感数据的存储提供高安全的运行与存储环境。并通过基于安全隔离区的验证机制对安全隔离区及安全隔离区内智能合约进行安全认证,为面向安全隔离区的区块链智能合约提供合法性校验,提高了智能合约运行的安全性。
本发明本实施例公开的一种智能合约安全运行方法,应用于区块链系统中的背书节点,该区块链系统还包括客户端节点和提交节点。其中,客户端节点用于发起区块链交易;背书节点用于完成交易的智能合约模拟执行以及结果的背书功能,通过非对称密钥算法对交易结果进行签名背书;提交节点用于负责区块的提交与本地账本的更新。该节点需要根据背书策略对交易区块的背书进行验证。具体的,请参阅图1,该智能合约安全运行方法包括以下步骤:
S101:接收客户端节点发起的智能合约调用请求,并接收客户端节点对智能合约安全隔离区中的目标智能合约的合法性校验;
客户端节点在发起区块链交易时向背书节点发起智能合约调用请求。
背书节点中的智能合约安全隔离区是通过SGX安全硬件构建的,Intel SGX是Intel架构新的扩展,在原有架构上增加了一组新的指令集和内存访问机制。这些扩展允许应用程序实现一个被称为Enclave的容器,在应用程序的地址空间中划分出一块被保护的区域,为容器内的代码和数据提供机密性和完整性的保护,免受拥有特殊权限的恶意软件的破坏。
请参阅图2,本实施例公开了一种客户端节点对背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验方法,包括:
S201:背书节点在接收到客户端节点发起的智能合约调用请求之后,生成基于SGX的身份报告与安全隔离区信息清单;
需要说明的是,背书节点预先为智能合约安全隔离区生成可信标识,每个智能合约安全隔离区拥有自己的唯一可信标识。可信标识包括ID信息和属性信息。ID信息包括:隔离区号、隔离区类型、创建主体及时间、系统服务列表、主体证书列表、隔离区公钥、标识有效期、哈希及签名值。属性信息包括:合约功能以及具体描述、数据类型以及具体描述、扩展字段以及自定义格式。其中,创建主体及时间主要描述创建隔离区的组织名称以及创建时间。系统服务列表主要描述隔离区管理服务、访问代理服务和共识服务的数字身份信息。主体证书列表主要描述该隔离区创建者的数字身份信息,由联盟链MSP为电力组织设置的数字证书组成。标识有效期主要描述当前标识的有效时间长度。隔离区公钥描述的是该隔离区唯一的公钥信息,各个隔离区有对应的私钥,这对密钥用于各个隔离区之间的认证与签名操作。
背书节点在接收到智能合约调用请求的情况下,生成基于SGX的身份报告与安全隔离区信息清单,安全隔离区信息清单包括:隔离区号及类型号、合约版本号、序列号、合约名、背书策略、合约创建者、合约参与者等信息。
S202:背书节点对身份报告与安全隔离区信息清单基于SGX的群签名进行签名授权,并将其发送到客户端节点。
具体的,背书节点将身份报告与安全隔离区信息清单发送给SGX引用enclave,该enclave通过EPID群签名进行签名授权,生成一个引用,并将该引用发送给客户端节点。
S203:客户端节点调用远程校验模块对智能合约安全隔离区进行身份校验。
客户端节点调用远程校验模块通过验证上述群签名是否正确对智能合约安全隔离区进行身份校验。
S204:在身份校验通过的情况下,客户端节点根据安全隔离区信息清单对目标智能合约进行合法性校验。
客户端节点进一步解析安全隔离区信息清单,逐一校对隔离区号及类型号、合约版本号、序列号、合约名、背书策略、合约创建者、合约参与者等信息与预期值是否相符,从而对安全隔离区信息清单进行合法性校验,在合法性校验通过的情况下,客户端节点对目标智能合约合法性校验通过,并将校验结果返回给背书节点。
进一步,背书节点还可以校验合约创建者与参与者是否符合策略要求。
S102:若合法性校验通过,运行目标智能合约,并向提交节点发起安全隔离区双向校验;
本实施例提供了一种背书节点运行目标智能合约的实现方式,包括:
首先,背书节点对智能合约调用请求进行预处理,得到的智能合约调用数据;
背书节点对智能合约调用请求进行预处理包括:检查调用数据是否符合规范,是否加密,并进行必要预处理,如传入空参数异常处理,加密参数的解密工作。
然后,背书节点利用预先配置的主体-资源权限-角色模型,确定智能合约调用数据中的调用者是否符合访问控制要求,并在符合访问控制要求的情况下运行相应的智能合约。
需要说明的是,背书节点为了实现对智能合约调用者的访问控制,预先配置主体-资源权限-角色模型,即配置调用者主体的角色以及资源权限,通过调用该模型确定智能合约调用数据中的调用者是否符合访问控制要求,并在符合访问控制要求的情况下运行相应的智能合约。
访问控制策略能够建立多层级的访问控制策略,有利于能源电力管理部门根据业务需求灵活设置。当数据使用者访问智能合约时,检查调用者是否符合访问控制策略,如果通过,则该请求被允许执行。否则拒绝执行相应操作。
请参阅图3,本实施例提供了一种背书节点向提交节点发起安全隔离区双向校验的实现方式,包括:
S301:背书节点向提交节点发送合约隔离区报告,合约隔离区报告是基于SGX对智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
S302:提交节点向背书节点发送账本隔离区报告,账本隔离区报告是基于SGX对账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;
S303:背书节点获取账本安全隔离区的可信标识公钥,对账本隔离区报告签名进行验证,若验证通过,确定对提交节点中的账本安全隔离区的合法性校验通过;
S304:提交节点获取智能合约安全隔离区的可信标识公钥,对合约隔离区报告签名进行验证,若验证通过,确定对背书节点中的智能合约安全隔离区的合法性校验通过。
S103:在安全隔离区双向校验通过的情况下,向提交节点发送目标智能合约的执行结果,使提交节点更新账本安全隔离区内的账本数据。
进一步,为了提高背书节点与提交节点之间通信的安全性,在安全隔离区双向校验通过后,背书节点和提交节点通过密钥协商得到安全通信对称密钥。密钥协商包括:背书节点生成对称密钥与随机数a,并用账本安全隔离区的公钥加密后发送给提交节点,提交节点通过自身的账本安全隔离区的私钥解密该对称密钥和随机数a,然后生成随机数b,利用对称密钥加密随机数a,b发送给背书节点。背书节点使用对称密钥解密并验证随机数a是否解密成功,如果成功,则双方完成密钥协商,该对称密钥即为安全通信对称密钥。
背书节点利用安全通信对称密钥对目标智能合约的执行结果进行加密,并将加密后的目标智能合约的执行结果发送到提交节点。提交节点接收加密后的目标智能合约的执行结果,利用安全通信对称密钥对接收到的数据进行解密。
提交节点还需要检测解密后得到的数据是否符合预设规范,并对其进行预处理,如传入空参数异常处理,加密参数的解密处理等,提交节点基于预处理后的数据更新账本安全隔离区内的账本数据。
本实施例还公开了一种智能合约安全运行方法,应用于区块链中的客户端节点,请参阅图4,该方法包括:
S401:向背书节点发起智能合约调用请求,对背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验;
具体的,客户端节点接收背书节点发送的基于SGX的身份报告与安全隔离区信息清单,身份报告与安全隔离区信息清单已基于SGX的群签名进行签名授权,然后调用远程校验模块对所述智能合约安全隔离区进行身份校验,校验群签名是否正确,在身份校验通过的情况下,根据安全隔离区信息清单对所述目标智能合约进行合法性校验,具体的,解析安全隔离区信息清单,逐一校对隔离区号及类型号、合约版本号、序列号、合约名、背书策略、合约创建者、合约参与者等信息与预期值是否相符,从而对安全隔离区信息清单进行合法性校验。
S402:若合法性校验通过,向背书节点发送合法性校验通过反馈信息,使背书节点运行目标智能合约,向提交节点发起安全隔离区双向校验,在安全隔离区双向校验通过的情况下,背书节点向提交节点发送目标智能合约的执行结果,使提交节点更新账本安全隔离区内的账本数据。
其中,背书节点向提交节点发起安全隔离区双向校验,以及背书节点向提交节点发送目标智能合约的执行结果,使提交节点更新账本安全隔离区内的账本数据的具体实现方式,请参阅上述实施例,这里不再赘述。
本实施例还公开了一种智能合约安全运行方法,应用于区块链中的提交节点,请参阅图5,该方法包括:
S501:在背书节点中的智能合约安全隔离区中的目标智能合约通过客户端节点的合法性校验且背书节点运行目标智能合约之后,接收背书节点发起的安全隔离区双向校验;
这里客户端节点对背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验,以及背书节点与提交节点之间安全隔离区双向校验,请参阅上述实施例,这里不再赘述。
S502:若安全隔离区双向校验通过,接收目标智能合约的执行结果并更新账本安全隔离区内的账本数据。
具体的,提交节点首先接收目标智能合约的执行结果,目标智能合约的执行结果由背书节点利用安全通信对称密钥进行加密,安全通信对称密钥是在双向校验通过后由背书节点和提交节点通过密钥协商得到的。
然后,利用安全通信对称密钥对接收到的数据进行解密,并检测解密后得到的数据是否符合预设规范,并对其进行预处理。
最后,基于预处理后的数据更新账本安全隔离区内的账本数据。
可见,本实施例公开的一种智能合约安全运行方法,通过在区块链节点构建安全隔离区,为面向隔离区的区块链智能合约运行以及区块链账本和相关敏感数据的存储提供高安全的运行与存储环境。并通过基于安全隔离区的验证机制对安全隔离区及安全隔离区内智能合约进行安全认证,为面向安全隔离区的区块链智能合约提供合法性校验,提高了智能合约运行的安全性。
基于上述实施例公开的一种应用于背书节点的智能合约安全运行方法,本实施例对应公开了一种应用于背书节点的智能合约安全运行装置,请参阅图6,该装置包括:
合约调用请求接收单元601,用于接收所述客户端节点发起的智能合约调用请求,并接收所述客户端节点对智能合约安全隔离区中的目标智能合约的合法性校验;
合约运行单元602,用于若合法性校验通过,运行所述目标智能合约;
双向校验单元603,用于向所述提交节点发起安全隔离区双向校验;
合约执行结果发送单元604,用于在安全隔离区双向校验通过的情况下,向所述提交节点发送所述目标智能合约的执行结果,使所述提交节点更新账本安全隔离区内的账本数据。
在一些实施例中,所述合约调用请求接收单元601,具体用于:
在接收到所述客户端节点发起的智能合约调用请求之后,生成基于SGX的身份报告与安全隔离区信息清单;
对所述身份报告与所述安全隔离区信息清单基于SGX的群签名进行签名授权,并将其发送到所述客户端节点,使所述客户端节点调用远程校验模块对所述智能合约安全隔离区进行身份校验,并对所述目标智能合约进行合法性校验。
在一些实施例中,所述合约运行单元602,具体用于:
对所述智能合约调用请求进行预处理,得到智能合约调用数据;
利用预先配置的主体-资源权限-角色模型,确定所述智能合约调用数据中的调用者是否符合访问控制要求,并在符合所述访问控制要求的情况下运行相应的智能合约。
在一些实施例中,所述双向校验单元603,具体用于:
向所述提交节点发送合约隔离区报告,所述合约隔离区报告是基于SGX对所述智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
接收所述提交节点发送的账本隔离区报告,所述账本隔离区报告是所述提交节点基于SGX对所述账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;
获取所述账本安全隔离区的可信标识公钥,对所述账本隔离区报告签名进行验证,若验证通过,确定对所述提交节点中的所述账本安全隔离区的合法性校验通过;
在接收到所述提交节点发送的对所述智能合约安全隔离区合法性校验通过的反馈信息的情况下,确定安全隔离区双向校验通过。
基于上述实施例公开的一种应用于客户端节点的智能合约安全运行方法,本实施例对应公开了一种应用于客户端节点的智能合约安全运行装置,请参阅图7,该装置包括:
合法性校验单元701,用于向所述背书节点发起智能合约调用请求,对所述背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验;
反馈信息发送单元702,用于若合法性校验通过,向所述背书节点发送合法性校验通过反馈信息,使所述背书节点运行所述目标智能合约,向所述提交节点发起安全隔离区双向校验,在安全隔离区双向校验通过的情况下,所述背书节点向所述提交节点发送所述目标智能合约的执行结果,使所述提交节点更新账本安全隔离区内的账本数据。
在一些实施例中,所述合法性校验单元701,具体用于:
接收所述背书节点发送的基于SGX的身份报告与安全隔离区信息清单,所述身份报告与所述安全隔离区信息清单已基于SGX的群签名进行签名授权;
调用远程校验模块对所述智能合约安全隔离区进行身份校验;
在身份校验通过的情况下,根据所述安全隔离区信息清单对所述目标智能合约进行合法性校验。
基于上述实施例公开的一种应用于提交节点的智能合约安全运行方法,本实施例对应公开了一种应用于提交节点的智能合约安全运行装置,请参阅图8,该装置包括:
双向校验单元801,用于在所述背书节点中的智能合约安全隔离区中的目标智能合约通过所述客户端节点的合法性校验且所述背书节点运行所述目标智能合约之后,接收所述背书节点发起的安全隔离区双向校验;
账本更新单元802,用于若安全隔离区双向校验通过,接收所述目标智能合约的执行结果并更新账本安全隔离区内的账本数据。
在一些实施例中,所述账本更新单元802,具体用于:
接收所述目标智能合约的执行结果,所述目标智能合约的执行结果由所述背书节点利用安全通信对称密钥进行加密,所述安全通信对称密钥是在双向校验通过后由所述背书节点和所述提交节点通过密钥协商得到的;
利用所述安全通信对称密钥对接收到的数据进行解密,并检测解密后得到的数据是否符合预设规范,并对其进行预处理;
基于预处理后的数据更新账本安全隔离区内的账本数据。
本发明实施例还公开了一种区块链系统,请参阅图9,区块链系统包括:客户端节点100、背书节点200以及提交节点300;
所述背书节点和所述提交节点分别部署有安全隔离区,所述背书节点的智能合约安全隔离区内包括至少一个智能合约,所述提交节点的账本安全隔离区内包括账本数据;
所述背书节点200,用于执行如下智能合约安全运行方法:
接收所述客户端节点100发起的智能合约调用请求,并接收所述客户端节点100对智能合约安全隔离区中的目标智能合约的合法性校验;
若合法性校验通过,运行所述目标智能合约,并向所述提交节点300发起安全隔离区双向校验;
在安全隔离区双向校验通过的情况下,向所述提交节点300发送所述目标智能合约的执行结果,使所述提交节点300更新账本安全隔离区内的账本数据。
进一步,接收所述客户端节点100对智能合约安全隔离区中的目标智能合约的合法性校验,包括:
在接收到所述客户端节点100发起的智能合约调用请求之后,生成基于SGX的身份报告与安全隔离区信息清单;
对所述身份报告与所述安全隔离区信息清单基于SGX的群签名进行签名授权,并将其发送到所述客户端节点100,使所述客户端节点100调用远程校验模块对所述智能合约安全隔离区进行身份校验,并对所述目标智能合约进行合法性校验。
进一步,运行所述目标智能合约,包括:
对所述智能合约调用请求进行预处理,得到智能合约调用数据;
利用预先配置的主体-资源权限-角色模型,确定所述智能合约调用数据中的调用者是否符合访问控制要求,并在符合所述访问控制要求的情况下运行相应的智能合约。
进一步,向所述提交节点300发起安全隔离区双向校验,包括:
向所述提交节点300发送合约隔离区报告,所述合约隔离区报告是基于SGX对所述智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
接收所述提交节点300发送的账本隔离区报告,所述账本隔离区报告是所述提交节点300基于SGX对所述账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;
获取所述账本安全隔离区的可信标识公钥,对所述账本隔离区报告签名进行验证,若验证通过,确定对所述提交节点300中的所述账本安全隔离区的合法性校验通过;
在接收到所述提交节点300发送的对所述智能合约安全隔离区合法性校验通过的反馈信息的情况下,确定安全隔离区双向校验通过。
所述客户端节点100,用于执行如下智能合约安全运行方法:
向所述背书节点200发起智能合约调用请求,对所述背书节点200中的智能合约安全隔离区中的目标智能合约进行合法性校验;
若合法性校验通过,向所述背书节点200发送合法性校验通过反馈信息,使所述背书节点200运行所述目标智能合约,向所述提交节点300发起安全隔离区双向校验,在安全隔离区双向校验通过的情况下,所述背书节点200向所述提交节点300发送所述目标智能合约的执行结果,使所述提交节点300更新账本安全隔离区内的账本数据。
进一步,对所述背书节点200中的智能合约安全隔离区中的目标智能合约进行合法性校验,包括:
接收所述背书节点200发送的基于SGX的身份报告与安全隔离区信息清单,所述身份报告与所述安全隔离区信息清单已基于SGX的群签名进行签名授权;
调用远程校验模块对所述智能合约安全隔离区进行身份校验;
在身份校验通过的情况下,根据所述安全隔离区信息清单对所述目标智能合约进行合法性校验。
所述提交节点300,用于执行如下智能合约安全运行方法:
在所述背书节点200中的智能合约安全隔离区中的目标智能合约通过所述客户端节点100的合法性校验且所述背书节点200运行所述目标智能合约之后,接收所述背书节点200发起的安全隔离区双向校验;
若安全隔离区双向校验通过,接收所述目标智能合约的执行结果并更新账本安全隔离区内的账本数据。
进一步,接收所述目标智能合约的执行结果并更新账本安全隔离区内的账本数据,包括:
接收所述目标智能合约的执行结果,所述目标智能合约的执行结果由所述背书节点200利用安全通信对称密钥进行加密,所述安全通信对称密钥是在双向校验通过后由所述背书节点200和所述提交节点300通过密钥协商得到的;
利用所述安全通信对称密钥对接收到的数据进行解密,并检测解密后得到的数据是否符合预设规范,并对其进行预处理;
基于预处理后的数据更新账本安全隔离区内的账本数据。
本实施例公开的一种区块链系统,通过在区块链节点构建安全隔离区,为面向隔离区的区块链智能合约运行以及区块链账本和相关敏感数据的存储提供高安全的运行与存储环境。并通过基于安全隔离区的验证机制对安全隔离区及安全隔离区内智能合约进行安全认证,为面向安全隔离区的区块链智能合约提供合法性校验,提高了智能合约运行的安全性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
上述各个实施例之间可任意组合,对所公开的实施例的上述说明,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种智能合约安全运行方法,其特征在于,应用于区块链中的背书节点,区块链还包括客户端节点与提交节点,所述方法包括:
接收所述客户端节点发起的智能合约调用请求,并接收所述客户端节点对智能合约安全隔离区中的目标智能合约的合法性校验;
若合法性校验通过,运行所述目标智能合约,并向所述提交节点发起安全隔离区双向校验;
在安全隔离区双向校验通过的情况下,向所述提交节点发送所述目标智能合约的执行结果,使所述提交节点更新账本安全隔离区内的账本数据;
其中,接收所述客户端节点对智能合约安全隔离区中的目标智能合约的合法性校验,包括:
在接收到所述客户端节点发起的智能合约调用请求之后,生成基于SGX的身份报告与安全隔离区信息清单;
对所述身份报告与所述安全隔离区信息清单基于SGX的群签名进行签名授权,并将其发送到所述客户端节点,使所述客户端节点调用远程校验模块对所述智能合约安全隔离区进行身份校验,并对所述目标智能合约进行合法性校验;
其中,向所述提交节点发起安全隔离区双向校验,包括:
向所述提交节点发送合约隔离区报告,所述合约隔离区报告是基于SGX对所述智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
接收所述提交节点发送的账本隔离区报告,所述账本隔离区报告是所述提交节点基于SGX对所述账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;
获取所述账本安全隔离区的可信标识公钥,对所述账本隔离区报告签名进行验证,若验证通过,确定对所述提交节点中的所述账本安全隔离区的合法性校验通过;
在接收到所述提交节点发送的对所述智能合约安全隔离区合法性校验通过的反馈信息的情况下,确定安全隔离区双向校验通过。
2.根据权利要求1所述的方法,其特征在于,运行所述目标智能合约,包括:
对所述智能合约调用请求进行预处理,得到智能合约调用数据;
利用预先配置的主体-资源权限-角色模型,确定所述智能合约调用数据中的调用者是否符合访问控制要求,并在符合所述访问控制要求的情况下运行相应的智能合约。
3.一种智能合约安全运行方法,其特征在于,应用于区块链中的客户端节点,区块链还包括背书节点与提交节点,所述方法包括:
向所述背书节点发起智能合约调用请求,对所述背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验;
若合法性校验通过,向所述背书节点发送合法性校验通过反馈信息,使所述背书节点运行所述目标智能合约,向所述提交节点发起安全隔离区双向校验,在安全隔离区双向校验通过的情况下,所述背书节点向所述提交节点发送所述目标智能合约的执行结果,使所述提交节点更新账本安全隔离区内的账本数据;
其中,对所述背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验,包括:
接收所述背书节点发送的基于SGX的身份报告与安全隔离区信息清单,所述身份报告与所述安全隔离区信息清单已基于SGX的群签名进行签名授权;
调用远程校验模块对所述智能合约安全隔离区进行身份校验;
在身份校验通过的情况下,根据所述安全隔离区信息清单对所述目标智能合约进行合法性校验;
其中,向所述提交节点发起安全隔离区双向校验,包括:
向所述提交节点发送合约隔离区报告,所述合约隔离区报告是基于SGX对所述智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
接收所述提交节点发送的账本隔离区报告,所述账本隔离区报告是所述提交节点基于SGX对所述账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;
获取所述账本安全隔离区的可信标识公钥,对所述账本隔离区报告签名进行验证,若验证通过,确定对所述提交节点中的所述账本安全隔离区的合法性校验通过;
在接收到所述提交节点发送的对所述智能合约安全隔离区合法性校验通过的反馈信息的情况下,确定安全隔离区双向校验通过。
4.一种智能合约安全运行方法,其特征在于,应用于区块链中的提交节点,区块链还包括客户端节点与背书节点,所述方法包括:
在所述背书节点中的智能合约安全隔离区中的目标智能合约通过所述客户端节点的合法性校验且所述背书节点运行所述目标智能合约之后,接收所述背书节点发起的安全隔离区双向校验;
若安全隔离区双向校验通过,接收所述目标智能合约的执行结果并更新账本安全隔离区内的账本数据;
其中,所述背书节点中的智能合约安全隔离区中的目标智能合约通过所述客户端节点的合法性校验,包括:
背书节点在接收到智能合约调用请求的情况下,生成基于SGX的身份报告与安全隔离区信息清单;
背书节点对所述身份报告与所述安全隔离区信息清单基于SGX的群签名进行签名授权,并将其发送到所述客户端节点,使所述客户端节点调用远程校验模块对所述智能合约安全隔离区进行身份校验,并对所述目标智能合约进行合法性校验;
其中,所述接收所述背书节点发起的安全隔离区双向校验,包括:
接收到背书节点发送的合约隔离区报告,所述合约隔离区报告是基于SGX对所述智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
向背书节点发送账本隔离区报告,所述账本隔离区报告是所述提交节点基于SGX对所述账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;使得背书节点获取所述账本安全隔离区的可信标识公钥,对所述账本隔离区报告签名进行验证,若验证通过,确定对所述提交节点中的所述账本安全隔离区的合法性校验通过;
获取智能合约安全隔离区的可信标识公钥,对合约隔离区报告签名进行验证,若验证通过,确定对背书节点中的智能合约安全隔离区的合法性校验通过。
5.根据权利要求4所述的方法,其特征在于,接收所述目标智能合约的执行结果并更新账本安全隔离区内的账本数据,包括:
接收所述目标智能合约的执行结果,所述目标智能合约的执行结果由所述背书节点利用安全通信对称密钥进行加密,所述安全通信对称密钥是在双向校验通过后由所述背书节点和所述提交节点通过密钥协商得到的;
利用所述安全通信对称密钥对接收到的数据进行解密,并检测解密后得到的数据是否符合预设规范,并对其进行预处理;
基于预处理后的数据更新账本安全隔离区内的账本数据。
6.一种智能合约安全运行装置,其特征在于,应用于区块链中的背书节点,区块链还包括客户端节点与提交节点,所述装置包括:
合约调用请求接收单元,用于接收所述客户端节点发起的智能合约调用请求,并接收所述客户端节点对智能合约安全隔离区中的目标智能合约的合法性校验;
合约运行单元,用于若合法性校验通过,运行所述目标智能合约;
双向校验单元,用于向所述提交节点发起安全隔离区双向校验;
合约执行结果发送单元,用于在安全隔离区双向校验通过的情况下,向所述提交节点发送所述目标智能合约的执行结果,使所述提交节点更新账本安全隔离区内的账本数据;
其中,接收所述客户端节点对智能合约安全隔离区中的目标智能合约的合法性校验,包括:
在接收到所述客户端节点发起的智能合约调用请求之后,生成基于SGX的身份报告与安全隔离区信息清单;
对所述身份报告与所述安全隔离区信息清单基于SGX的群签名进行签名授权,并将其发送到所述客户端节点,使所述客户端节点调用远程校验模块对所述智能合约安全隔离区进行身份校验,并对所述目标智能合约进行合法性校验;
其中,向所述提交节点发起安全隔离区双向校验,包括:
向所述提交节点发送合约隔离区报告,所述合约隔离区报告是基于SGX对所述智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
接收所述提交节点发送的账本隔离区报告,所述账本隔离区报告是所述提交节点基于SGX对所述账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;
获取所述账本安全隔离区的可信标识公钥,对所述账本隔离区报告签名进行验证,若验证通过,确定对所述提交节点中的所述账本安全隔离区的合法性校验通过;
在接收到所述提交节点发送的对所述智能合约安全隔离区合法性校验通过的反馈信息的情况下,确定安全隔离区双向校验通过。
7.一种智能合约安全运行装置,其特征在于,应用于区块链中的客户端节点,区块链还包括背书节点与提交节点,所述装置包括:
合法性校验单元,用于向所述背书节点发起智能合约调用请求,对所述背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验;
反馈信息发送单元,用于若合法性校验通过,向所述背书节点发送合法性校验通过反馈信息,使所述背书节点运行所述目标智能合约,向所述提交节点发起安全隔离区双向校验,在安全隔离区双向校验通过的情况下,所述背书节点向所述提交节点发送所述目标智能合约的执行结果,使所述提交节点更新账本安全隔离区内的账本数据;
其中,对所述背书节点中的智能合约安全隔离区中的目标智能合约进行合法性校验,包括:
接收所述背书节点发送的基于SGX的身份报告与安全隔离区信息清单,所述身份报告与所述安全隔离区信息清单已基于SGX的群签名进行签名授权;
调用远程校验模块对所述智能合约安全隔离区进行身份校验;
在身份校验通过的情况下,根据所述安全隔离区信息清单对所述目标智能合约进行合法性校验;
其中,向所述提交节点发起安全隔离区双向校验,包括:
向所述提交节点发送合约隔离区报告,所述合约隔离区报告是基于SGX对所述智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
接收所述提交节点发送的账本隔离区报告,所述账本隔离区报告是所述提交节点基于SGX对所述账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;
获取所述账本安全隔离区的可信标识公钥,对所述账本隔离区报告签名进行验证,若验证通过,确定对所述提交节点中的所述账本安全隔离区的合法性校验通过;
在接收到所述提交节点发送的对所述智能合约安全隔离区合法性校验通过的反馈信息的情况下,确定安全隔离区双向校验通过。
8.一种智能合约安全运行装置,其特征在于,应用于区块链中的提交节点,区块链还包括客户端节点与背书节点,所述装置包括:
双向校验单元,用于在所述背书节点中的智能合约安全隔离区中的目标智能合约通过所述客户端节点的合法性校验且所述背书节点运行所述目标智能合约之后,接收所述背书节点发起的安全隔离区双向校验;
账本更新单元,用于若安全隔离区双向校验通过,接收所述目标智能合约的执行结果并更新账本安全隔离区内的账本数据;
其中,所述背书节点中的智能合约安全隔离区中的目标智能合约通过所述客户端节点的合法性校验,包括:
背书节点在接收到智能合约调用请求的情况下,生成基于SGX的身份报告与安全隔离区信息清单;
背书节点对所述身份报告与所述安全隔离区信息清单基于SGX的群签名进行签名授权,并将其发送到所述客户端节点,使所述客户端节点调用远程校验模块对所述智能合约安全隔离区进行身份校验,并对所述目标智能合约进行合法性校验;
其中,所述接收所述背书节点发起的安全隔离区双向校验,包括:
接收到背书节点发送的合约隔离区报告,所述合约隔离区报告是基于SGX对所述智能合约安全隔离区的可信标识、身份信息、合约创建者信息进行计算后得到的;
向背书节点发送账本隔离区报告,所述账本隔离区报告是所述提交节点基于SGX对所述账本安全隔离区的可信标识、身份信息、账本创建者信息进行计算后得到的;使得背书节点获取所述账本安全隔离区的可信标识公钥,对所述账本隔离区报告签名进行验证,若验证通过,确定对所述提交节点中的所述账本安全隔离区的合法性校验通过;
获取智能合约安全隔离区的可信标识公钥,对合约隔离区报告签名进行验证,若验证通过,确定对背书节点中的智能合约安全隔离区的合法性校验通过。
9.一种区块链系统,其特征在于,包括:客户端节点、背书节点以及提交节点;
所述背书节点和所述提交节点分别部署有安全隔离区,所述背书节点的智能合约安全隔离区内包括至少一个智能合约,所述提交节点的账本安全隔离区内包括账本数据;
所述背书节点,用于执行权利要求1或2所述的智能合约安全运行方法;
所述客户端节点,用于执行权利要求3所述的智能合约安全运行方法;
所述提交节点,用于执行权利要求4或5所述的智能合约安全运行方法。
CN202210539251.1A 2022-05-18 2022-05-18 一种智能合约安全运行方法、装置及区块链系统 Active CN114938301B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210539251.1A CN114938301B (zh) 2022-05-18 2022-05-18 一种智能合约安全运行方法、装置及区块链系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210539251.1A CN114938301B (zh) 2022-05-18 2022-05-18 一种智能合约安全运行方法、装置及区块链系统

Publications (2)

Publication Number Publication Date
CN114938301A CN114938301A (zh) 2022-08-23
CN114938301B true CN114938301B (zh) 2023-01-24

Family

ID=82865117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210539251.1A Active CN114938301B (zh) 2022-05-18 2022-05-18 一种智能合约安全运行方法、装置及区块链系统

Country Status (1)

Country Link
CN (1) CN114938301B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222160A (zh) * 2019-12-30 2020-06-02 联动优势(北京)数字科技有限公司 一种智能合约执行方法及系统
CN111565204A (zh) * 2020-07-16 2020-08-21 百度在线网络技术(北京)有限公司 区块链运行方法、装置、设备及存储介质
CN114374548A (zh) * 2021-12-29 2022-04-19 中国电信股份有限公司 区块链系统及其通信方法、存储介质、程序产品

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11777738B2 (en) * 2019-06-04 2023-10-03 International Business Machines Corporation Metadata-based endorsement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222160A (zh) * 2019-12-30 2020-06-02 联动优势(北京)数字科技有限公司 一种智能合约执行方法及系统
CN111565204A (zh) * 2020-07-16 2020-08-21 百度在线网络技术(北京)有限公司 区块链运行方法、装置、设备及存储介质
CN114374548A (zh) * 2021-12-29 2022-04-19 中国电信股份有限公司 区块链系统及其通信方法、存储介质、程序产品

Also Published As

Publication number Publication date
CN114938301A (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
US10484185B2 (en) Method and system for distributing attestation key and certificate in trusted computing
CN110602138B (zh) 区块链网络的数据处理方法、装置、电子设备及存储介质
JP6869374B2 (ja) トラステッド実行環境のための分散型鍵管理
CN109309565B (zh) 一种安全认证的方法及装置
CN111066286B (zh) 使用高可用性的可信执行环境检索区块链网络的公共数据
CN111563261A (zh) 一种基于可信执行环境的隐私保护多方计算方法和系统
CN111095256A (zh) 在可信执行环境中安全地执行智能合约操作
US10972272B2 (en) Providing high availability computing service by issuing a certificate
US20140281500A1 (en) Systems, methods and apparatuses for remote attestation
US20060195689A1 (en) Authenticated and confidential communication between software components executing in un-trusted environments
KR102177794B1 (ko) 사물인터넷 블록체인 환경에서의 디바이스 분산 인증 방법 및 이를 이용한 디바이스 분산 인증 시스템
Zhong et al. Distributed blockchain-based authentication and authorization protocol for smart grid
JP2017529729A (ja) データ処理方法およびデータ処理装置
CN113676334B (zh) 基于区块链的分布式边缘设备身份认证系统及认证方法
WO2018112482A1 (en) Method and system for distributing attestation key and certificate in trusted computing
CN114760071A (zh) 基于零知识证明的跨域数字证书管理方法、系统和介质
CN113726733B (zh) 一种基于可信执行环境的加密智能合约隐私保护方法
CN112948789B (zh) 身份认证方法及装置、存储介质及电子设备
KR20200016506A (ko) 익명 디지털 아이덴티티 수립 방법
CN114938301B (zh) 一种智能合约安全运行方法、装置及区块链系统
US20240113898A1 (en) Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity
Kim et al. Secure user authentication based on the trusted platform for mobile devices
CN110290113B (zh) 基于PoW算法的设备标识构造方法、装置及计算机可读存储介质
CN113159774A (zh) 一种区块链中可监管零知识证明验证方法及系统
KR20200101140A (ko) 다중 인증 절차를 적용한 블록체인 기반 인증 정보 관리 서버

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
GR01 Patent grant
GR01 Patent grant