CN114584293A - 一种基于TrustZone的区块链智能合约执行系统及方法 - Google Patents

一种基于TrustZone的区块链智能合约执行系统及方法 Download PDF

Info

Publication number
CN114584293A
CN114584293A CN202210185335.XA CN202210185335A CN114584293A CN 114584293 A CN114584293 A CN 114584293A CN 202210185335 A CN202210185335 A CN 202210185335A CN 114584293 A CN114584293 A CN 114584293A
Authority
CN
China
Prior art keywords
intelligent contract
application program
block chain
trustzone
program module
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.)
Granted
Application number
CN202210185335.XA
Other languages
English (en)
Other versions
CN114584293B (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.)
Tongji University
Original Assignee
Tongji University
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 Tongji University filed Critical Tongji University
Priority to CN202210185335.XA priority Critical patent/CN114584293B/zh
Publication of CN114584293A publication Critical patent/CN114584293A/zh
Application granted granted Critical
Publication of CN114584293B publication Critical patent/CN114584293B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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)

Abstract

本发明涉及一种基于TrustZone的区块链智能合约执行系统及方法,其中智能合约执行系统包括:基于TrustZone将硬件空间划分为普通环境和安全环境;在普通环境内部署有:区块链节点模块,用于部署区块链节点,实现包括运行智能合约和执行共识算法在内的区块链功能;普通应用程序模块,分别接入区块链节点和安全应用程序模块,用于对智能合约与安全应用程序之间的交互数据进行格式转换;在安全环境内部署有:安全存储模块,用于存储隐私数据和隐私密钥;安全应用程序模块,接入安全存储模块,用于调用安全存储模块中的隐私数据和隐私密钥完成智能合约提出的计算需求。与现有技术相比,本发明具有全性高、可信性高等优点。

Description

一种基于TrustZone的区块链智能合约执行系统及方法
技术领域
本发明涉及区块链隐私安全技术领域,尤其是涉及一种基于TrustZone的区块链智能合约执行系统及方法。
背景技术
近年来,随着区块链技术的发展,已经有多个领域将区块链作为革新的重要技术手段,使得不同机构、企业之间的信任建立更加高效便捷,信息更加公开化,区块链系统中智能合约的使用也使得业务流程更加自动化。
智能合约的概念由Nick Szabo在1994年提出,是一种旨在以信息化方式传播、验证或执行合同的计算机协议,允许在没有第三方的情况下进行可追踪、不可逆转的交易。后来以太坊开发了智能合约平台支持其运行,使得智能合约成为了区块链进入2.0时代的重要特征。
由于区块链技术本身的特性所决定的信息公开透明,一方面为许多应用场景提供了解决方案,但同时带来的隐私数据的安全问题,制约了其进一步的发展。区块链系统中智能合约的使用令业务开展的成本降低、效率提高,但其能够使用的数据必须是公开在区块链上的信息,在商业应用中,公开的信息有可能会造成企业机密的泄露,后续可能带来经济损失。
在区块链系统中应用智能合约时的隐私保护问题已经成为了一个研究的热点,现有的方案主要是基于密码学的原理,利用如零知识证明、同态加密、多方安全技术等技术,将隐私数据经过加密再上传至区块链,或让智能合约直接通过密码学技术实现隐私的可用不可见。但这一方面增加了计算成本,另一方面加密后的隐私数据依旧公开在链上,仍有被破解的风险。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种安全性高、可信性高的基于TrustZone的区块链智能合约执行系统及方法。
本发明的目的可以通过以下技术方案来实现:
一种基于TrustZone的区块链智能合约执行系统,所述的智能合约执行系统包括:
区块链节点模块,用于部署区块链节点,实现包括运行智能合约和执行共识算法在内的区块链功能;
普通应用程序模块,分别接入区块链节点和安全应用程序模块,用于对智能合约与安全应用程序之间的交互数据进行格式转换;
安全存储模块,用于存储隐私数据和隐私密钥;
安全应用程序模块,接入安全存储模块,用于调用安全存储模块中的隐私数据和隐私密钥完成智能合约提出的计算需求;
所述的区块链节点模块和普通应用程序模块部署在基于TrustZone划分的普通环境内;
所述的安全存储模块和安全应用程序模块部署在基于TrustZone划分的安全环境内。
优选地,所述的智能合约执行系统还包括:
TrustZone安全监视器,用于普通应用程序模块与安全应用程序模块的数据交换。
优选地,所述的区块链节点内的智能合约从区块链获取公开数据、公开密钥和硬件公钥。
优选地,所述的安全存储模块内存储有基于硬件自身配置生成的硬件私钥。
更加优选地,所述的安全应用程序模块调用安全存储模块中的数据包括隐私数据、隐私密钥和硬件私钥。
一种用于上述基于TrustZone的区块链智能合约执行系统的基于TrustZone的区块链智能合约执行方法,所述的智能合约执行方法包括:
步骤1:获取用户的计算请求,触发智能合约;
步骤2:判断用户的计算请求是否涉及隐私数据,若是,则执行步骤3;否则,直接完成计算,然后执行步骤7;
步骤3:普通应用程序模块对计算请求进行格式处理,完成后通过TrustZone安全监视器传入安全应用程序模块;
步骤4:安全应用程序模块调用隐私数据和隐私密钥进行计算;
步骤5:安全应用程序模块将计算结果通过TrustZone安全监视器传入普通应用程序模块;
步骤6:普通应用程序模块对返回的计算结果进行格式处理,并传送给智能合约;
步骤7:完成智能合约,并将计算结果进行共识上链。
优选地,所述步骤1获取的用户计算请求包括公开数据需求、公开密钥需求、隐私数据需求、隐私密钥需求和计算函数。
更加优选地,所述的步骤2具体为:
根据计算请求中的隐私数据需求和隐私密钥需求是否为空,若是,则当前计算需求无需隐私数据,直接执行计算函数获得计算结果,若隐私数据需求和隐私密钥需求不为空,则执行步骤3。
优选地,所述的步骤3具体为:
普通应用程序模块将计算请求、公开数据和公开密钥转化为TrustZone安全环境内能够使用的数据格式后,通过TrustZone安全监视器传入安全应用程序模块。
优选地,所述的步骤4还包括:安全应用程序模块在完成计算后调用硬件私钥对计算结果进行签名;
所述的步骤5还包括:安全应用程序模块将签名后的计算结果过TrustZone安全监视器传入普通应用程序模块;
所述的步骤6还包括:从区块链上获取当前硬件的硬件公钥,对签名的计算结果进验签,若验签成功,则执行步骤7,若验签失败,则终止合约。
与现有技术相比,本发明具有以下有益效果:
一、有效避免隐私数据泄露,安全性高:本发明中的基于TrustZone的区块链智能合约执行系统及方法通过调整智能合约的执行流程,将其中涉及隐私数据的部分移至安全环境中进行,这样能够使隐私数据只存储在安全环境中、并只在安全环境中使用,从根源上避免了隐私泄露的风险。
二、形成信任闭环,可信性高:本发明中的基于TrustZone的区块链智能合约执行系统及方法用硬件密钥对安全应用程序的计算结果进行签名,在智能合约恢复中断后先对于该签名进行验证,保证返回智能合约的数据是由可信的设备计算后的结果;另外,由于智能合约在链上自动执行,其技术特性本身就决定了可信性。因此所有流程都能够保证在可信基础上进行,形成了信任闭环。
附图说明
图1为本发明中区块链智能合约执行系统的结构示意图;
图2为本发明中区块链智能合约执行方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
一种基于TrustZone的区块链智能合约执行系统,其结构如图1所示,包括:
基于TrustZone将硬件空间划分为普通环境和安全环境;
在普通环境内部署有:
区块链节点模块,用于部署区块链节点,实现包括运行智能合约和执行共识算法在内的区块链功能;
普通应用程序模块,分别接入区块链节点和安全应用程序模块,用于对智能合约与安全应用程序之间的交互数据进行格式转换,使得智能合约→安全应用程序模块、安全应用程序模块→智能合约进行的数据传递满足相互可用。
在安全环境内部署有:
安全存储模块,用于存储隐私数据和隐私密钥;
安全应用程序模块,接入安全存储模块,用于调用安全存储模块中的隐私数据和隐私密钥完成智能合约提出的计算需求,以及实现硬件密钥签名功能。
智能合约执行系统还包括:
TrustZone安全监视器,用于普通应用程序模块与安全应用程序模块的数据交换。
本实施例中的安全存储模块内存储有基于硬件自身配置生成的硬件私钥。区块链节点内的智能合约从区块链获取公开数据、公开密钥和硬件公钥。安全应用程序模块调用安全存储模块中的数据包括隐私数据、隐私密钥和硬件私钥。
本实施例还涉及一种用于上述系统的基于TrustZone的区块链智能合约执行方法,其流程如图2所示,包括:
步骤1:获取用户的计算请求,触发智能合约;
计算请求Request为结构体,包括:公开数据需求data_pub_req、公开密钥需求key_pub_req、隐私数据需求data_sec_req、隐私密钥需求key_sec_req和计算函数Func_req;
其中,data_pub_req代表完成计算请求Request需要使用的公开数据;
key_pub_req代表完成计算请求Request需要使用的公开密钥;
data_sec_req代表完成计算请求Request需要使用的隐私数据;
key_sec_req代表完成计算请求Request需要使用的隐私密钥;
Func_req定义了需要智能合约完成的计算内容;
步骤2:判断用户的计算请求是否涉及隐私数据,若是,则执行步骤3;否则,直接完成计算,然后执行步骤7;
判断计算请求是否涉及隐私数据的具体方法为:
根据计算请求中的隐私数据需求data_sec_req和隐私密钥需求key_sec_req是否为空,若是,则当前计算需求无需隐私数据,直接执行计算函数Func_req获得计算结果,若隐私数据需求和隐私密钥需求不为空,则执行步骤3;
步骤3:普通应用程序模块对计算请求进行格式处理,完成后通过TrustZone安全监视器传入安全应用程序模块;
具体为:普通应用程序模块将计算请求Request、公开数据data_pub和公开密钥key_pub转化为TrustZone安全环境内能够使用的数据格式后,通过TrustZone安全监视器传入安全应用程序模块;
步骤4:安全应用程序模块根据计算请求Request的信息,从安全存储模块调用隐私数据data_sec和隐私密钥key_sec完成计算函数Func_req的计算,获得计算结果result;
步骤5:安全应用程序模块将计算结果result通过TrustZone安全监视器传入普通应用程序模块;
步骤6:普通应用程序模块对返回的计算结果进行格式处理,并传送给智能合约;
步骤7:完成智能合约,并将计算结果进行共识上链。
本实施例中的智能合约执行方法还包括使用硬件密钥进行签名验签的加密过程,具体为:
步骤4还包括:安全应用程序模块在完成计算后调用硬件私钥hwk_sec对计算结果result进行签名,获得signed_result;
步骤5还包括:安全应用程序模块将签名后的计算结果过TrustZone安全监视器传入普通应用程序模块;
步骤6还包括:从区块链上获取当前硬件的硬件公钥hwk_pub,对签名的计算结果进验签,若验签成功,则执行步骤7,若验签失败,则终止合约。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于TrustZone的区块链智能合约执行系统,其特征在于,所述的智能合约执行系统包括:
区块链节点模块,用于部署区块链节点,实现包括运行智能合约和执行共识算法在内的区块链功能;
普通应用程序模块,分别接入区块链节点和安全应用程序模块,用于对智能合约与安全应用程序之间的交互数据进行格式转换;
安全存储模块,用于存储隐私数据和隐私密钥;
安全应用程序模块,接入安全存储模块,用于调用安全存储模块中的隐私数据和隐私密钥完成智能合约提出的计算需求;
所述的区块链节点模块和普通应用程序模块部署在基于TrustZone划分的普通环境内;
所述的安全存储模块和安全应用程序模块部署在基于TrustZone划分的安全环境内。
2.根据权利要求1所述的一种基于TrustZone的区块链智能合约执行系统,其特征在于,所述的智能合约执行系统还包括:
TrustZone安全监视器,用于普通应用程序模块与安全应用程序模块的数据交换。
3.根据权利要求1所述的一种基于TrustZone的区块链智能合约执行系统,其特征在于,所述的区块链节点内的智能合约从区块链获取公开数据、公开密钥和硬件公钥。
4.根据权利要求1所述的一种基于TrustZone的区块链智能合约执行系统,其特征在于,所述的安全存储模块内存储有基于硬件自身配置生成的硬件私钥。
5.根据权利要求4所述的一种基于TrustZone的区块链智能合约执行系统,其特征在于,所述的安全应用程序模块调用安全存储模块中的数据包括隐私数据、隐私密钥和硬件私钥。
6.一种用于如权利要求1所述基于TrustZone的区块链智能合约执行系统的基于TrustZone的区块链智能合约执行方法,其特征在于,所述的智能合约执行方法包括:
步骤1:获取用户的计算请求,触发智能合约;
步骤2:判断用户的计算请求是否涉及隐私数据,若是,则执行步骤3;否则,直接完成计算,然后执行步骤7;
步骤3:普通应用程序模块对计算请求进行格式处理,完成后通过TrustZone安全监视器传入安全应用程序模块;
步骤4:安全应用程序模块调用隐私数据和隐私密钥进行计算;
步骤5:安全应用程序模块将计算结果通过TrustZone安全监视器传入普通应用程序模块;
步骤6:普通应用程序模块对返回的计算结果进行格式处理,并传送给智能合约;
步骤7:完成智能合约,并将计算结果进行共识上链。
7.根据权利要求6所述的一种基于TrustZone的区块链智能合约执行方法,其特征在于,所述步骤1获取的用户计算请求包括公开数据需求、公开密钥需求、隐私数据需求、隐私密钥需求和计算函数。
8.根据权利要求7所述的一种基于TrustZone的区块链智能合约执行方法,其特征在于,所述的步骤2具体为:
根据计算请求中的隐私数据需求和隐私密钥需求是否为空,若是,则当前计算需求无需隐私数据,直接执行计算函数获得计算结果,若隐私数据需求和隐私密钥需求不为空,则执行步骤3。
9.根据权利要求6所述的一种基于TrustZone的区块链智能合约执行方法,其特征在于,所述的步骤3具体为:
普通应用程序模块将计算请求、公开数据和公开密钥转化为TrustZone安全环境内能够使用的数据格式后,通过TrustZone安全监视器传入安全应用程序模块。
10.根据权利要求6所述的一种基于TrustZone的区块链智能合约执行方法,其特征在于,所述的步骤4还包括:安全应用程序模块在完成计算后调用硬件私钥对计算结果进行签名;
所述的步骤5还包括:安全应用程序模块将签名后的计算结果过TrustZone安全监视器传入普通应用程序模块;
所述的步骤6还包括:从区块链上获取当前硬件的硬件公钥,对签名的计算结果进验签,若验签成功,则执行步骤7,若验签失败,则终止合约。
CN202210185335.XA 2022-02-28 2022-02-28 一种基于TrustZone的区块链智能合约执行系统及方法 Active CN114584293B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210185335.XA CN114584293B (zh) 2022-02-28 2022-02-28 一种基于TrustZone的区块链智能合约执行系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210185335.XA CN114584293B (zh) 2022-02-28 2022-02-28 一种基于TrustZone的区块链智能合约执行系统及方法

Publications (2)

Publication Number Publication Date
CN114584293A true CN114584293A (zh) 2022-06-03
CN114584293B CN114584293B (zh) 2024-03-26

Family

ID=81776430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210185335.XA Active CN114584293B (zh) 2022-02-28 2022-02-28 一种基于TrustZone的区块链智能合约执行系统及方法

Country Status (1)

Country Link
CN (1) CN114584293B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2019207311A1 (en) * 2019-04-26 2019-07-18 Advanced New Technologies Co., Ltd. Securely executing smart contract operations in a trusted execution environment
CN111047450A (zh) * 2020-03-18 2020-04-21 支付宝(杭州)信息技术有限公司 链上数据的链下隐私计算方法及装置
CN112288435A (zh) * 2020-11-20 2021-01-29 天翼电子商务有限公司 一种支持可信执行环境的智能合约执行方法
CN112380565A (zh) * 2020-11-20 2021-02-19 天翼电子商务有限公司 一种基于可信硬件与区块链的安全多方计算方法
CN113114476A (zh) * 2021-06-15 2021-07-13 支付宝(杭州)信息技术有限公司 基于合约的隐私存证方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2019207311A1 (en) * 2019-04-26 2019-07-18 Advanced New Technologies Co., Ltd. Securely executing smart contract operations in a trusted execution environment
CN111047450A (zh) * 2020-03-18 2020-04-21 支付宝(杭州)信息技术有限公司 链上数据的链下隐私计算方法及装置
WO2021184975A1 (zh) * 2020-03-18 2021-09-23 支付宝(杭州)信息技术有限公司 链上数据的链下隐私计算方法及装置
CN112288435A (zh) * 2020-11-20 2021-01-29 天翼电子商务有限公司 一种支持可信执行环境的智能合约执行方法
CN112380565A (zh) * 2020-11-20 2021-02-19 天翼电子商务有限公司 一种基于可信硬件与区块链的安全多方计算方法
CN113114476A (zh) * 2021-06-15 2021-07-13 支付宝(杭州)信息技术有限公司 基于合约的隐私存证方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
梅秋丽;龚自洪;刘尚焱;王妮娜;: "区块链平台安全机制研究", 信息安全研究, no. 01, 5 January 2020 (2020-01-05) *

Also Published As

Publication number Publication date
CN114584293B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
CN110992027B (zh) 在区块链中实现隐私保护的高效交易方法及装置
US20210328791A1 (en) Blockchain data processing methods and apparatuses based on cloud computing
CN105873031B (zh) 基于可信平台的分布式无人机密钥协商方法
US11546348B2 (en) Data service system
CN112287379B (zh) 业务数据使用方法、装置、设备、存储介质和程序产品
CN111949602A (zh) 一种支持完整性验证的外包数据安全迁移方法与系统
CN105610837B (zh) 用于scada系统主站与从站间身份认证的方法及系统
CN114255031A (zh) 用于执行交易的跨区块链的系统、跨链交易方法及设备
CN104408371A (zh) 一种基于可信执行环境高安全应用系统的实现方法
CN113722683B (zh) 模型保护方法、装置、设备、系统以及存储介质
CN109547218A (zh) 一种改进bip协议的联盟链节点秘钥分配及备份系统
CN115580413B (zh) 一种零信任的多方数据融合计算方法和装置
CN101789939B (zh) 一种有效的可信OpenSSH的实现方法
CN115129518B (zh) Tee内存储数据的备份和恢复方法、装置、设备及介质
CN114584293A (zh) 一种基于TrustZone的区块链智能合约执行系统及方法
CN114329395A (zh) 一种基于区块链的供应链金融隐私保护方法和系统
CN114362961A (zh) 基于区块链的账户恢复方法、装置、设备及存储介质
CN102708491A (zh) 基于可信计算的新型USB Key设备及其安全交易方法
CN114884714A (zh) 任务处理方法、装置、设备及存储介质
CN114372245A (zh) 基于区块链的物联网终端认证方法、系统、设备及介质
CN109191125A (zh) 一种eos利用扩展数据保证安全性的方法
CN117786757B (zh) 一种隐私计算管理系统及方法
CN113449343B (zh) 基于量子技术的可信计算系统
CN112862483B (zh) 一种基于智能合约的身份验证方法和装置
CN116015679B (zh) 政务云基于sm2数字签名的多云管理认证系统

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