CN115361163A - 基于可信执行环境的区块链计算方法、系统、设备和介质 - Google Patents

基于可信执行环境的区块链计算方法、系统、设备和介质 Download PDF

Info

Publication number
CN115361163A
CN115361163A CN202210806105.0A CN202210806105A CN115361163A CN 115361163 A CN115361163 A CN 115361163A CN 202210806105 A CN202210806105 A CN 202210806105A CN 115361163 A CN115361163 A CN 115361163A
Authority
CN
China
Prior art keywords
data
request
calculation
intelligent
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.)
Pending
Application number
CN202210806105.0A
Other languages
English (en)
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 Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
State Grid Beijing Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
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 Corp of China SGCC, China Electric Power Research Institute Co Ltd CEPRI, State Grid Beijing Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202210806105.0A priority Critical patent/CN115361163A/zh
Publication of CN115361163A publication Critical patent/CN115361163A/zh
Pending legal-status Critical Current

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
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/104Peer-to-peer [P2P] networks
    • 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)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种基于可信执行环境的区块链计算方法、系统、设备和介质,包括:获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据计算请求确定计算所需数据;根据计算所需数据进行数据检索,得到样本数据;将所述计算请求和样本数据通过非对称加密算法进行数据加密,得到待计算的加密数据,并传输至智能计算模块;智能计算模块将所述加密数据采用私钥进行解密,得到解密数据,基于所述解密数据在区块链的链下执行智能计算,并将所述智能计算结果发送至区块链进行验证和广播。本发明通过将繁重的智能计算任务置于链下的可信执行环境中执行降低数据链上处理的计算负担,并提供可信计算能力。

Description

基于可信执行环境的区块链计算方法、系统、设备和介质
技术领域
本发明属于智能计算领域,具体涉及一种基于可信执行环境的区块链计算方法、系统、设备和介质。
背景技术
区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用前景。
狭义区块链是按照时间顺序,将数据区块以顺序相连的方式组合成的链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本;广义区块链技术是利用块链式数据结构验证与存储数据,利用分布式节点共识算法生成和更新数据,利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的合约代码,编程和操作数据的全新的分布式基础架构与计算范式。
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。
目前,区块链技术与人工智能技术在蓬勃发展并不断融合,但将人工智能技术用于区块链上的节点进行智能计算时,面临着算力与安全二者无法兼顾的情况,难以将人工智能应用部署在区块链的节点中。
发明内容
为克服上述现有技术的不足,本发明提出一种基于可信执行环境的区块链计算方法,包括:
获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据;
根据所述计算所需数据进行数据检索,得到样本数据;
将所述计算请求和样本数据通过非对称加密算法进行数据加密,得到待计算的加密数据,并将所述待计算的加密数据传输至智能计算模块。
优选的,所述针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据,包括:
根据所述计算请求,获取对应的公钥,并判断所述公钥是否在预设的策略列表中存在;
若是,权限验证通过,确定所述计算请求对应的计算所需数据;
否则,权限验证不通过。
优选的,所述根据所述计算所需数据进行数据检索,得到样本数据,包括:
根据所述计算所需数据,获取对应的请求索引;其中,所述请求索引包括:数据存储地址和数据占用内存;
根据所述请求索引,在预构建的多源异构数据存储系统中对目标数据进行查找,将查找到的数据作为样本数据。
优选的,所述获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据之前,还包括:
根据获取的外部数据,生成数据上传请求,通过分布式数据管理合约对所述数据上传请求进行请求验证,确定请求验证结果;
根据所述请求验证结果,确定上传数据,将所述上传数据进行存储。
优选的,所述根据获取的外部数据,生成数据上传请求,对所述数据上传请求进行请求验证,确定请求验证结果,包括:
基于所述数据上传请求,通过分布式数据管理合约验证所述数据上传请求是否被接受,若是,通过区块链客户端向网关返回允许上传数据的消息;
其中,所述数据上传请求包括:请求元数据、用于验证的数字签名和对应的时间戳。
优选的,所述根据所述请求验证结果,确定上传数据,将所述上传数据进行存储,包括:
当所述数据上传请求被接受时,获取上传数据,对所述上传数据通过非对称加密算法进行一次加密,得到一次加密数据,并将所述一次加密数据存储至多源异构数据存储系统。
基于同一发明构思,本发明还提供了一种可信数据管理装置,包括:可信数据管理模块,所述可信数据管理模块包括:
分布式数据管理合约:用于获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据;
多源异构数据存储系统:用于根据所述计算所需数据进行数据检索,得到样本数据;将所述计算请求和样本数据通过非对称加密算法进行数据加密,得到待计算的加密数据,并将所述待计算的加密数据传输至智能计算模块。
优选的,所述分布式数据管理合约中针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据,包括:
根据所述计算请求,获取对应的公钥,并判断所述公钥是否在预设的策略列表中存在;
若是,权限验证通过,确定所述计算请求对应的计算所需数据;
否则,权限验证不通过。
优选的,所述多源异构数据存储系统中根据所述计算所需数据进行数据检索,得到样本数据,包括:
根据所述计算所需数据,获取对应的请求索引;其中,所述请求索引包括:数据存储地址和数据占用内存;
根据所述请求索引,在预构建的多源异构数据存储系统中对目标数据进行查找,将查找到的数据作为样本数据。
优选的,所述分布式数据管理合约中在获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据之前,还包括:
根据获取的外部数据,生成数据上传请求,对所述数据上传请求进行请求验证,确定请求验证结果;
根据所述请求验证结果,确定上传数据,将所述上传数据进行存储。
优选的,所述分布式数据管理合约中根据获取的外部数据,生成数据上传请求,对所述数据上传请求进行请求验证,确定请求验证结果,包括:
基于所述数据上传请求,通过分布式数据管理合约验证所述数据上传请求是否被接受,若是,通过区块链客户端向网关返回允许上传数据的消息;
其中,所述数据上传请求包括:请求元数据、用于验证的数字签名和对应的时间戳。
优选的,所述多源异构数据存储系统中根据所述请求验证结果,确定上传数据,将所述上传数据进行存储,包括:
当所述数据上传请求被接受时,获取上传数据,对所述上传数据通过非对称加密算法进行一次加密,得到一次加密数据,并将所述一次加密数据存储至多源异构数据存储系统。
基于同一发明构思,本发明还提供了一种基于可信执行环境的区块链计算方法,包括:
获取待计算的加密数据;
将所述加密数据采用私钥进行解密,得到解密数据,基于所述解密数据在区块链的链下执行智能计算,得到智能计算结果,并将所述智能计算结果发送至区块链进行验证和广播。
优选的,所述将所述加密数据采用私钥进行解密,得到解密数据,针对所述解密数据在区块链的链下执行智能计算,得到智能计算结果,包括:
获取所述加密数据对应的公钥,根据所述公钥确定对应的私钥;
基于所述私钥,对所述加密数据进行解密,得到计算请求和样本数据;其中,所述计算请求包括:合约签名和请求签名;
根据所述合约签名提取合约代码,并在可信执行环境中采用所述合约代码对样本数据执行智能计算,得到智能计算结果。
优选的,所述根据所述合约签名提取合约代码,并在可信执行环境中采用所述合约代码对样本数据进行智能计算,得到智能计算结果,包括:
针对所述计算请求进行签名验证,
当签名验证通过时,根据所述合约签名提取链上的合约代码;
获取所述合约代码和样本数据的准备状态,当所述合约代码和样本数据处于待计算状态时,将所述合约代码和样本数据初始化,并将初始化后的合约代码和样本数据在可信执行环境中执行智能计算,得到智能计算结果;其中,所述智能计算结果包括:新状态、计算结果值和结果值认证。
优选的,所述将所述智能计算结果在区块链进行验证和广播,包括:
将所述新状态、计算结果值和结果认证值打包成事务,针对所述事务基于预设的验证项进行事务验证,得到事务验证结果;
当事务验证结果通过时,将所述事务验证结果在区块链进行广播;
其中,所述预设的验证项包括:签名、安全计算认证和当前状态的散列值。
优选的,所述智能计算的函数定义为:
k=f(λ,Dec(cid))
其中,k表示智能计算结果,f()表示初始化函数,λ为样本数据,Dec是解密函数,cid表示区块链共识节点。
基于同一发明构思,本发明还提供了一种智能计算装置,包括:智能计算模块,所述智能计算模块包括:
富执行环境:用于获取待计算的加密数据;
可信执行环境:用于将所述加密数据采用私钥进行解密,得到解密数据,针对所述解密数据在区块链的链下执行智能计算,得到智能计算结果,并将所述智能计算结果发送至区块链进行验证和广播。
优选的,所述可信执行环境中将所述加密数据采用私钥进行解密,得到解密数据,针对所述解密数据在区块链的链下执行智能计算,得到智能计算结果,包括:
获取所述加密数据对应的公钥,根据所述公钥确定对应的私钥;
基于所述私钥,对所述加密数据进行解密,得到计算请求和样本数据;其中,所述计算请求包括:合约签名和请求签名;
根据所述合约签名提取合约代码,并在可信执行环境中采用所述合约代码对样本数据执行智能计算,得到智能计算结果。
优选的,所述可信执行环境中根据所述合约签名提取合约代码,并采用所述合约代码对样本数据进行智能计算,得到智能计算结果,包括:
针对所述计算请求进行签名验证,
当签名验证通过时,根据所述合约签名提取链上的合约代码;
获取所述合约代码和样本数据的准备状态,当所述合约代码和样本数据处于待计算状态时,将所述合约代码和样本数据初始化,并将初始化后的合约代码和样本数据执行智能计算,得到智能计算结果;其中,所述智能计算结果包括:新状态、计算结果值和结果值认证。
优选的,所述可信执行环境中将所述智能计算结果在区块链进行验证和广播,包括:
将所述新状态、计算结果值和结果认证值打包成事务,针对所述事务基于预设的验证项进行事务验证,得到事务验证结果;
当事务验证结果通过时,将所述事务验证结果在区块链进行广播;
其中,所述预设的验证项包括:签名、安全计算认证和当前状态的散列值。
优选的,所述可信执行环境中的智能计算的函数定义为:
k=f(λ,Dec(cid))
其中,k表示智能计算结果,f()表示初始化函数,λ为样本数据,Dec是解密函数,cid表示区块链共识节点。
基于同一发明构思,本发明还提供了一种基于可信执行环境的区块链计算系统,包括:
如前所述的智能计算装置、如前所述的可信数据管理装置和区块链;所述可信数据管理装置、智能计算装置和区块链两两连接;所述智能计算装置获取可信数据管理装置发送的数据;
所述区块链:用于针对智能计算装置中的智能计算结果进行验证和广播。
基于同一发明构思,本发明还提供了一种计算机设备,包括:一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,实现如前所述的任一项所述的一种基于可信执行环境的区块链计算方法。
基于同一发明构思,本发明还提供了一种计算机可读存储介质,其上存有计算机程序,所述计算机程序被执行时,实现如前所述的任一项所述的一种基于可信执行环境的区块链计算方法。
与最接近的现有技术相比,本发明具有的有益效果如下:
1、本发明提供的一种基于可信执行环境的区块链计算方法、系统、设备和介质中可信数据管理模块执行的方法,包括:获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据;根据所述计算所需数据进行数据检索,得到样本数据;将所述计算请求和样本数据通过非对称加密算法进行数据加密,得到待计算的加密数据,并将所述待计算的加密数据传输至智能计算模块。通过对链下获取到的外部数据进行可信管理与存储,并通过分布式数据管理合约控制数据与多源异构数据存储系统的供给和消费,在进行数据检索过程中,使用私钥对计算请求进行签名,提高了访问数据的效率;通过使用非对称加密算法对检索到的数据进行加密,保障了数据的安全性。
2、本发明提供的一种基于可信执行环境的区块链计算方法、系统、设备和介质中智能计算模块执行的方法,包括:获取待计算的加密数据;将所述加密数据采用私钥进行解密,得到解密数据,基于所述解密数据在区块链的链下执行智能计算,得到智能计算结果,并将所述智能计算结果发送至区块链进行验证和广播。通过将繁重的计算任务置于链下的可信执行环境中运行,能够降低数据链上处理的计算负担,并提供可信计算能力和计算过程中的安全性。
附图说明
图1为本发明提供的一种基于可信执行环境的区块链计算方法中可信数据管理模块执行方法的流程示意图;
图2为本发明提供的一种可信数据管理装置中可信数据管理模块的结构图;
图3为本发明提供的一种可信数据管理装置的组成结构示意图;
图4为本发明提供的一种基于可信执行环境的区块链计算方法中智能计算模块执行方法的流程示意图;
图5为执行智能计算的主体框架示意图;
图6为本发明提供的一种基于可信执行环境的区块链计算系统中各模块交互示意图;
图7为本发明提供的一种智能计算装置的组成结构示意图;
图8为本发明提供的一种基于可信执行环境的区块链计算系统的结构组成示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步的详细说明。
实施例1:
本发明提供的一种基于可信执行环境的区块链计算方法,可信数据管理模块执行流程示意图如图1所示,包括:
步骤1:获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据;
步骤2:根据所述计算所需数据进行数据检索,得到样本数据;
步骤3:将所述计算请求和样本数据通过非对称加密算法进行数据加密,得到待计算的加密数据,并将所述待计算的加密数据传输至智能计算模块。
具体的,步骤1之前包括:
根据获取的外部数据,生成数据上传请求,通过分布式数据管理合约对所述数据上传请求进行请求验证,确定请求验证结果;
根据所述请求验证结果,确定上传数据,将所述上传数据进行存储;
所述根据获取的外部数据,生成数据上传请求,对所述数据上传请求进行请求验证,确定请求验证结果,包括:
基于所述数据上传请求,通过分布式数据管理合约验证所述数据上传请求是否被接受,若是,通过区块链客户端向网关返回允许上传数据的消息;
其中,所述数据上传请求包括:请求元数据、用于验证的数字签名和对应的时间戳。
所述根据所述请求验证结果,确定上传数据,将所述上传数据进行存储,包括:
当所述数据上传请求被接受时,获取上传数据,对所述上传数据通过非对称加密算法进行一次加密,得到一次加密数据,并将所述一次加密数据存储至多源异构数据存储系统。
步骤1包括:
根据所述计算请求,获取对应的公钥,并判断所述公钥是否在预设的策略列表中存在;
若是,权限验证通过,确定所述计算请求对应的计算所需数据;
否则,权限验证不通过。
步骤2包括:
根据所述计算所需数据,获取对应的请求索引;其中,所述请求索引包括:数据存储地址和数据占用内存;
根据所述请求索引,在预构建的多源异构数据存储系统中对目标数据进行查找,将查找到的数据作为样本数据;
在一个具体的实施例中,可信数据管理模块基于多源异构数据存储系统对从链下获取的外部数据进行管理和存储,其中,可信数据管理模块的结构图如图2所示,可信数据管理模块中通过分布式数据管理合约控制数据和多源异构数据存储系统的数据供给和数据消费过程,其中,数据供给的流程具体包括:网关通过创建区块链账号加入区块链网络,并将数据上传请求初始化为上传数据的事务,事务中包括请求元数据(网关ID)、用于验证的数字签名和时间戳,以及用于存储的索引,数据供给节点将请求初始化为新的交易,数据供给节点中的区块链客户端处理并发送交易到用于验证的分布式数据管理合约,分布式数据管理合约通过策略存储中的策略列表,验证交易是否被接受,如果交易被接受,则通过区块链客户端向网关返回允许上传数据的消息;数据完成上传后,使用公钥加密数据对上传数据进行加密,并将加密文件上传到多源异构数据存储系统中进行存储,多源异构数据存储系统将待存储的加密文件存储到一个使用上传信息响应存储节点并自动返回一个哈希值,上传的数据被分组到数据块中,然后插入到交易池中经矿工确认并附加到区块链;除了将数据添加到云存储之外,上传事务的元数据也被插入到无签名事务池中,矿机会定期将池中的事务形成块进行挖掘,验证数据块的最快的矿机将把签名发送给其他矿机进行验证,如果所有的矿工都达成了协议,那么经过验证的区块及其签名就会按照时间顺序被追加到区块链中,最后,所有网络用户收到这个块,并通过区块链客户端同步区块链的副本,由于在区块链上存储的是哈希值而不是原始数据,因此避免了数据泄露的风险,从而保证了数据的安全性。
数据消费的流程具体包括:数据消费节点通过创建区块链账户加入区块链网络,该帐户包括用于签署交易的私钥和用于用户身份验证的公钥,用户就可以访问区块链,为了请求数据,数据消费节点还需要提供数据描述作为请求的元数据,事务随后将发送到数据管理合约进行访问验证准备具有请求信息的事务,以及使用私钥对其进行签名,以便访问数据;用户连接区块链并向分布式数据管理合约发送数据访问请求,管理员预先部署分布式数据管理合约来设置并更新用户的访问权限的控制策略,确认访问请求,将请求信息转发到多源异构数据存储系统,如果用户公钥在策略列表中可用,当数据检索完毕后,分布式数据管理合约使用非对称加密算法对检索的数据进行加密,此部分加密的数据即为计算所需数据,并将计算所需数据返回给数据请求者。
实施例2:
本发明提供的一种可信数据管理装置,装置组成结构示意图如图3所示,包括:
可信数据管理模块,所述可信数据管理模块包括:
分布式数据管理合约:用于获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据;
多源异构数据存储系统:用于根据所述计算所需数据进行数据检索,得到样本数据;将所述计算请求和样本数据通过非对称加密算法进行数据加密,得到待计算的加密数据,并将所述待计算的加密数据传输至智能计算模块。
具体的,所述分布式数据管理合约中针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据,包括:
根据所述计算请求,获取对应的公钥,并判断所述公钥是否在预设的策略列表中存在;
若是,权限验证通过,确定所述计算请求对应的计算所需数据;
否则,权限验证不通过。
所述多源异构数据存储系统中根据所述计算所需数据进行数据检索,得到样本数据,包括:
根据所述计算所需数据,获取对应的请求索引;其中,所述请求索引包括:数据存储地址和数据占用内存;
根据所述请求索引,在预构建的多源异构数据存储系统中对目标数据进行查找,将查找到的数据作为样本数据。
所述分布式数据管理合约中在获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据之前,还包括:
根据获取的外部数据,生成数据上传请求,对所述数据上传请求进行请求验证,确定请求验证结果;
根据所述请求验证结果,确定上传数据,将所述上传数据进行存储。
所述分布式数据管理合约中根据获取的外部数据,生成数据上传请求,对所述数据上传请求进行请求验证,确定请求验证结果,包括:
基于所述数据上传请求,通过分布式数据管理合约验证所述数据上传请求是否被接受,若是,通过区块链客户端向网关返回允许上传数据的消息;
其中,所述数据上传请求包括:请求元数据、用于验证的数字签名和对应的时间戳。
所述多源异构数据存储系统中根据所述请求验证结果,确定上传数据,将所述上传数据进行存储,包括:
当所述数据上传请求被接受时,获取上传数据,对所述上传数据通过非对称加密算法进行一次加密,得到一次加密数据,并将所述一次加密数据进行存储。
实施例3:
本发明提供的一种基于可信执行环境的区块链计算方法,智能计算模块执行流程示意图如图4所示,包括:
获取待计算的加密数据;
将所述加密数据采用私钥进行解密,得到解密数据,基于所述解密数据在区块链的链下执行智能计算,得到智能计算结果,并将所述智能计算结果发送至区块链进行验证和广播。
所述将所述加密数据采用私钥进行解密,得到解密数据,针对所述解密数据在区块链的链下执行智能计算,得到智能计算结果,包括:
获取所述加密数据对应的公钥,根据所述公钥确定对应的私钥;
基于所述私钥,对所述加密数据进行解密,得到计算请求和样本数据;其中,所述计算请求包括:合约签名和请求签名;
根据所述合约签名提取合约代码,并在可信执行环境中采用所述合约代码对样本数据执行智能计算,得到智能计算结果。
所述根据所述合约签名提取合约代码,并在可信执行环境中采用所述合约代码对样本数据进行智能计算,得到智能计算结果,包括:
针对所述计算请求进行签名验证,
当签名验证通过时,根据所述合约签名提取链上的合约代码;
获取所述合约代码和样本数据的准备状态,当所述合约代码和样本数据处于待计算状态时,将所述合约代码和样本数据初始化,并将初始化后的合约代码和样本数据在可信执行环境中执行智能计算,得到智能计算结果;其中,所述智能计算结果包括:新状态、计算结果值和结果值认证。
所述将所述智能计算结果在区块链进行验证和广播,包括:
将所述新状态、计算结果值和结果认证值打包成事务,针对所述事务基于预设的验证项进行事务验证,得到事务验证结果;
当事务验证结果通过时,将所述事务验证结果在区块链进行广播;
其中,所述预设的验证项包括:签名、安全计算认证和当前状态的散列值。
所述智能计算的函数定义为:
k=f(λ,Dec(cid))
其中,k表示智能计算结果,f()表示初始化函数,λ为样本数据,Dec是解密函数,cid表示区块链共识节点;
在一个具体的实施例中,区块链中的执行智能计算的主体框架示意图如图5-图6所示,用户通过可信数据管理模块中的分布式数据管理合约发起计算请求,计算请求包括:合约签名和请求签名等,可信数据管理模块将计算请求委托给智能计算模块中的计算节点,然后,可信数据管理模块与智能计算模块之间进行加密通信,为智能计算模块提供计算所需的数据,最后,智能计算模块将结果加密传输给区块链的共识节点,并由共识节点向全网进行验证结果的广播;计算节点是支持运行可信执行环境的CPU的链下节点,具有较高的计算能力,计算节点验证交易发送方的签名,根据合约签名提取链上的合约代码,当样本数据和合约代码准备好时,它们被初始化并在Intel SGX的可信执行环境中执行智能计算,当执行完成后,将新状态、计算结果和结果认证打包成事务发送到区块链的共识节点。共识节点是区块链网络中的提交者,负责计算结果的验证和打包确认,合约执行状态和认证结果在此区块链上被持久化,共识节点用于检查使用TEE认证的计算节点提交的状态更新的有效性,当共识节点收到由计算节点发送的事务时,共识节点将验证请求发送方的签名(Sigs)、安全计算认证
Figure BDA0003737437360000114
和当前状态的散列值(H(Stateprev)),如果验证通过,就将验证结果加入交易池,并在整个共识网络中广播交易。共识节点将事务打包并形成共识。在可信执行环境中执行合同之后,将生成认证(δTEE),然后由计算节点将该认证发送给IAS以生成
Figure BDA0003737437360000111
其中,
Figure BDA0003737437360000112
的定义是为:
Figure BDA0003737437360000113
其中α是δTEE的效度,α∈{0,1};δIAS是α和δTEE的IAS签名。
实施例4:
本发明提供的一种智能计算装置,装置的组成结构示意图如图7所示,包括:智能计算模块,所述智能计算模块包括:
富执行环境:用于获取待计算的加密数据;
可信执行环境:用于将所述加密数据采用私钥进行解密,得到解密数据,针对所述解密数据在区块链的链下执行智能计算,得到智能计算结果,并将所述智能计算结果发送至区块链进行验证和广播;
具体的,所述可信执行环境中将所述加密数据采用私钥进行解密,得到解密数据,针对所述解密数据在区块链的链下执行智能计算,得到智能计算结果,包括:
获取所述加密数据对应的公钥,根据所述公钥确定对应的私钥;
基于所述私钥,对所述加密数据进行解密,得到计算请求和样本数据;其中,所述计算请求包括:合约签名和请求签名;
根据所述合约签名提取合约代码,并采用所述合约代码对样本数据执行智能计算,得到智能计算结果。
所述可信执行环境中根据所述合约签名提取合约代码,并在可信执行环境中采用所述合约代码对样本数据进行智能计算,得到智能计算结果,包括:
针对所述计算请求进行签名验证,
当签名验证通过时,根据所述合约签名提取链上的合约代码;
获取所述合约代码和样本数据的准备状态,当所述合约代码和样本数据处于待计算状态时,将所述合约代码和样本数据初始化,并将初始化后的合约代码和样本数据执行智能计算,得到智能计算结果;其中,所述智能计算结果包括:新状态、计算结果值和结果值认证。
所述可信执行环境中将所述智能计算结果在区块链进行验证和广播,包括:
将所述新状态、计算结果值和结果认证值打包成事务,针对所述事务基于预设的验证项进行事务验证,得到事务验证结果;
当事务验证结果通过时,将所述事务验证结果在区块链进行广播;
其中,所述预设的验证项包括:签名、安全计算认证和当前状态的散列值。
所述可信执行环境中的智能计算的函数定义为:
k=f(λ,Dec(cid))
其中,k表示智能计算结果,f()表示初始化函数,λ为样本数据,Dec是解密函数,cid表示区块链共识节点。
智能计算模块的执行分为密钥生成与注册阶段、智能计算阶段和结果验证阶段。
所述秘钥生成与注册的过程包括:
密钥生成阶段将在分布式数据管理合约、区块链的共识节点和智能计算模块中的计算节点的SGX上生成RSA密钥对。注册阶段中,分布式数据管理合约将公钥(pk)共享给SGX。类似地,共识节点cid和共识节点pk被共享给SGX;SGX pk与分布式智能管理合约和共识节点共享,以确保后续通信的安全,其具体流程如算法1所示:
Figure BDA0003737437360000131
在计算阶段,使用会话密钥(sek)和签名(Sig)来保证分布式数据管理合约与可信执行环境之间的通信安全。sek是随机生成的对称密钥,每个事务都会生成一个新的sek。在分布式数据管理合约共享过程中,Sig可以避免修改攻击和中间人攻击(MITM)。可信执行环境收到合约后,执行智能计算过程并将状态发送回分布式数据管理合约。算法2描述了分布式数据管理合约和智能计算模块中计算节点之间的计算流程。
Figure BDA0003737437360000132
Figure BDA0003737437360000141
验证阶段的主要功能是验证计算结果的签名并将事务提交到区块链,同时向可信执行环境返回结果验证情况,算法3描述了智能计算模块中计算节点和区块链中共识节点之间的安全验证流程:
Figure BDA0003737437360000142
实施例5:
本发明提供的一种基于可信执行环境的区块链计算系统,结构组成示意图如图8所示,包括:如前所述的智能计算装置、如前所述的可信数据管理装置以及区块链;所述可信数据管理装置、智能计算装置和区块链两两连接;所述智能计算装置获取可信数据管理装置发送的数据;
所述区块链:用于针对智能计算装置中的智能计算结果进行验证和广播。
实施例6:
基于同一种发明构思,本发明还提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor、DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能,以实现上述实施例中一种基于可信执行环境的区块链计算方法的步骤。
实施例7:
基于同一种发明构思,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中一种基于可信执行环境的区块链计算方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用于说明本发明的技术方案而非对其保护范围的限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本发明后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。

Claims (16)

1.一种基于可信执行环境的区块链计算方法,其特征在于,包括:
获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据;
根据所述计算所需数据进行数据检索,得到样本数据;
将所述计算请求和样本数据通过非对称加密算法进行数据加密,得到待计算的加密数据,并将所述待计算的加密数据传输至智能计算模块。
2.如权利要求1所述的方法,其特征在于,所述针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据,包括:
根据所述计算请求,获取对应的公钥,并判断所述公钥是否在预设的策略列表中存在;
若是,权限验证通过,确定所述计算请求对应的计算所需数据;
否则,权限验证不通过。
3.如权利要求1所述的方法,其特征在于,所述根据所述计算所需数据进行数据检索,得到样本数据,包括:
根据所述计算所需数据,获取对应的请求索引;其中,所述请求索引包括:数据存储地址和数据占用内存;
根据所述请求索引,在预构建的多源异构数据存储系统中对目标数据进行查找,将查找到的数据作为样本数据。
4.如权利要求1所述的方法,其特征在于,所述获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据之前,还包括:
根据获取的外部数据,生成数据上传请求,通过分布式数据管理合约对所述数据上传请求进行请求验证,确定请求验证结果;
根据所述请求验证结果,确定上传数据,将所述上传数据进行存储。
5.如权利要求4所述的方法,其特征在于,所述根据获取的外部数据,生成数据上传请求,对所述数据上传请求进行请求验证,确定请求验证结果,包括:
基于所述数据上传请求,通过分布式数据管理合约验证所述数据上传请求是否被接受,
若是,通过区块链客户端向网关返回允许上传数据的消息;
其中,所述数据上传请求包括:请求元数据、用于验证的数字签名和对应的时间戳。
6.如权利要求4所述的方法,其特征在于,所述根据所述请求验证结果,确定上传数据,将所述上传数据进行存储,包括:
当所述数据上传请求被接受时,获取上传数据,对所述上传数据通过非对称加密算法进行一次加密,得到一次加密数据,并将所述一次加密数据存储至多源异构数据存储系统。
7.一种可信数据管理装置,其特征在于,包括:可信数据管理模块,所述可信数据管理模块包括:
分布式数据管理合约:用于获取计算请求,针对所述计算请求进行权限验证,当所述权限验证通过时,根据所述计算请求确定计算所需数据;
多源异构数据存储系统:用于根据所述计算所需数据进行数据检索,得到样本数据;将所述计算请求和样本数据通过非对称加密算法进行数据加密,得到待计算的加密数据,并将所述待计算的加密数据传输至智能计算模块。
8.一种基于可信执行环境的区块链计算方法,其特征在于,包括:
获取权利要求1-6任意项的待计算的加密数据;
将所述加密数据采用私钥进行解密,得到解密数据,基于所述解密数据在区块链的链下执行智能计算,得到智能计算结果,并将所述智能计算结果发送至区块链进行验证和广播。
9.如权利要求8所述的方法,其特征在于,所述将所述加密数据采用私钥进行解密,得到解密数据,针对所述解密数据在区块链的链下执行智能计算,得到智能计算结果,包括:
获取所述加密数据对应的公钥,根据所述公钥确定对应的私钥;
基于所述私钥,对所述加密数据进行解密,得到计算请求和样本数据;其中,所述计算请求包括:合约签名和请求签名;
根据所述合约签名提取合约代码,并在可信执行环境中采用所述合约代码对样本数据执行智能计算,得到智能计算结果。
10.如权利要求9所述的方法,其特征在于,所述根据所述合约签名提取合约代码,并在可信执行环境中采用所述合约代码对样本数据进行智能计算,得到智能计算结果,包括:
针对所述计算请求进行签名验证,
当签名验证通过时,根据所述合约签名提取链上的合约代码;
获取所述合约代码和样本数据的准备状态,当所述合约代码和样本数据处于待计算状态时,将所述合约代码和样本数据初始化,并将初始化后的合约代码和样本数据在可信执行环境中执行智能计算,得到智能计算结果;其中,所述智能计算结果包括:新状态、计算结果值和结果值认证。
11.如权利要求10所述的方法,其特征在于,所述将所述智能计算结果在区块链进行验证和广播,包括:
将所述新状态、计算结果值和结果认证值打包成事务,针对所述事务基于预设的验证项进行事务验证,得到事务验证结果;
当事务验证结果通过时,将所述事务验证结果在区块链进行广播;
其中,所述预设的验证项包括:签名、安全计算认证和当前状态的散列值。
12.如权利要求8所述的方法,其特征在于,所述智能计算的函数定义为:
k=f(λ,Dec(cid))
其中,k表示智能计算结果,f()表示初始化函数,λ为样本数据,Dec是解密函数,cid表示区块链共识节点。
13.一种智能计算装置,其特征在于,包括:智能计算模块,所述智能计算模块包括:
富执行环境:用于获取待计算的加密数据;
可信执行环境:用于将所述加密数据采用私钥进行解密,得到解密数据,针对所述解密数据在区块链的链下执行智能计算,得到智能计算结果,并将所述智能计算结果发送至区块链进行验证和广播。
14.一种基于可信执行环境的区块链计算系统,其特征在于,包括:如权利要求7所述的可信数据管理装置、如权利要求13所述的智能计算装置以及区块链;所述可信数据管理装置、智能计算装置和区块链两两连接;所述智能计算装置获取可信数据管理装置发送的数据;
所述区块链:用于针对智能计算装置中的智能计算结果进行验证和广播。
15.一种计算机设备,其特征在于,包括:一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,实现如权利要求1至6或者8至12中任一项所述的一种基于可信执行环境的区块链计算方法。
16.一种计算机可读存储介质,其特征在于,其上存有计算机程序,所述计算机程序被执行时,实现如权利要求1至6或者8至12中任一项所述的一种基于可信执行环境的区块链计算方法。
CN202210806105.0A 2022-07-08 2022-07-08 基于可信执行环境的区块链计算方法、系统、设备和介质 Pending CN115361163A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210806105.0A CN115361163A (zh) 2022-07-08 2022-07-08 基于可信执行环境的区块链计算方法、系统、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210806105.0A CN115361163A (zh) 2022-07-08 2022-07-08 基于可信执行环境的区块链计算方法、系统、设备和介质

Publications (1)

Publication Number Publication Date
CN115361163A true CN115361163A (zh) 2022-11-18

Family

ID=84032572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210806105.0A Pending CN115361163A (zh) 2022-07-08 2022-07-08 基于可信执行环境的区块链计算方法、系统、设备和介质

Country Status (1)

Country Link
CN (1) CN115361163A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115549906A (zh) * 2022-11-24 2022-12-30 富算科技(上海)有限公司 基于区块链的隐私计算方法、系统、设备和介质
CN117726421A (zh) * 2024-02-07 2024-03-19 湖南三湘银行股份有限公司 一种应用于银行的权益管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115549906A (zh) * 2022-11-24 2022-12-30 富算科技(上海)有限公司 基于区块链的隐私计算方法、系统、设备和介质
CN115549906B (zh) * 2022-11-24 2023-04-11 富算科技(上海)有限公司 基于区块链的隐私计算方法、系统、设备和介质
CN117726421A (zh) * 2024-02-07 2024-03-19 湖南三湘银行股份有限公司 一种应用于银行的权益管理方法

Similar Documents

Publication Publication Date Title
CN111541785B (zh) 基于云计算的区块链数据处理方法及装置
EP3685334B1 (en) Improving integrity of communications between blockchain networks and external data sources
EP3721603B1 (en) System and method for creating decentralized identifiers
EP3688930B1 (en) System and method for issuing verifiable claims
CN111090888B (zh) 验证合约的方法及装置
US20230023857A1 (en) Data processing method and apparatus, intelligent device, and storage medium
US11341466B2 (en) Transferring digital tickets based on blockchain networks
CN112199701B (zh) 调用合约的方法及装置
CN111914027B (zh) 一种区块链交易关键字可搜索加密方法及系统
CN102170440B (zh) 适用于存储云间数据安全迁移的方法
CN115361163A (zh) 基于可信执行环境的区块链计算方法、系统、设备和介质
WO2018187410A1 (en) Systems and methods for data backup and authentication using blockchain
CN110958111B (zh) 一种基于区块链的电力移动终端身份认证机制
CN110362357A (zh) 一种应用程序的配置文件管理方法及装置
CN111988147B (zh) 组合签名及验证签名方法、系统及存储介质
CN112380578A (zh) 一种基于区块链和可信执行环境的边缘计算框架
CN112527912B (zh) 基于区块链网络的数据处理方法、装置及计算机设备
CN103268460A (zh) 一种云存储数据完整性验证方法
US20200322134A1 (en) Onboarding Software on Secure Devices to Generate Device Identities for Authentication with Remote Servers
CN113162768A (zh) 一种基于区块链的智能物联网设备认证方法及系统
CN110716724B (zh) 基于fpga实现隐私区块链的方法及装置
CN115459928A (zh) 数据共享方法、装置、设备及介质
CN110290111B (zh) 操作权限管理方法、装置及区块链节点、存储介质
CN114143312A (zh) 基于区块链的边缘计算终端认证方法、系统及设备
CN111597537B (zh) 基于区块链网络的证书签发方法、相关设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication