CN111130800A - 一种基于tee的可信预言机实现方法及装置 - Google Patents

一种基于tee的可信预言机实现方法及装置 Download PDF

Info

Publication number
CN111130800A
CN111130800A CN201911358506.9A CN201911358506A CN111130800A CN 111130800 A CN111130800 A CN 111130800A CN 201911358506 A CN201911358506 A CN 201911358506A CN 111130800 A CN111130800 A CN 111130800A
Authority
CN
China
Prior art keywords
tee
public key
trusted
original data
abstract
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
CN201911358506.9A
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.)
Shanghai Yunjie Information Technology Co ltd
Original Assignee
Shanghai Yunjie Information Technology 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 Shanghai Yunjie Information Technology Co ltd filed Critical Shanghai Yunjie Information Technology Co ltd
Priority to CN201911358506.9A priority Critical patent/CN111130800A/zh
Publication of CN111130800A publication Critical patent/CN111130800A/zh
Pending legal-status Critical Current

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/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
    • 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
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

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

本发明实施例公开了一种基于TEE的可信预言机实现方法及装置,方法包括:TEE接收计算代码并计算其摘要及生成一对公钥和私钥;TEE将摘要及公钥发送至区块链;区块链接收并保存摘要和公钥,且向TEE发送远程证明指令;TEE接收远程证明指令,并对摘要及公钥进行签名;区块链从TEE获取签名后的摘要和公钥;区块链中的节点对签名后的摘要和公钥与保存的计算代码的摘要和公钥进行验证,以得到可信预言机。本发明实施例实现了一个可信预言机,确保了数据可以被正确运算,克服了运算不可信、数据可能被篡改等问题,使得区块链可以将大规模数据的计算放在链下执行,并获得可信的结果。

Description

一种基于TEE的可信预言机实现方法及装置
技术领域
本发明涉及计算机安全技术领域,具体涉及一种基于TEE的可信预言机实现方法及装置。
背景技术
区块链目前被广泛应用在金融、物联网、供应链等领域。其核心创新在于去中心化的解决信任问题,不需要再去信任和依靠第三方机构进行价值转移。但区块链无法主动获取现实世界的数据,往往需要借助一个去中心化预言机来实现信息读取。
现有的预言机解决方案主要有:第一方面,软件预言机,这种形式的预言机通常包括易于访问的在线信息源,例如网站和公共数据库。软件预言机与互联网具有固有的互联性,这种连接允许软件预言机向智能合约提供最新信息;第二方面,硬件预言机,这种形式的预言机通常负责物理世界中发生的事件,并将数据发送到智能合约上。例如,在供应链管理中,如果带有RFID(Radio Frequency Identification,射频识别)标签的物体要到达特定的仓库,则可以将该数据发送到智能合约,硬件预言机系统可以在整个供应链中进行货物跟踪。然而,现有的预言机存在运算不可信、数据可能被篡改等问题,需要很高的信任成本。
发明内容
由于现有方法存在上述问题,本发明实施例提出一种基于TEE的可信预言机实现方法及装置。
第一方面,本发明实施例提出一种基于TEE的可信预言机实现方法,包括:
可信执行环境TEE接收计算代码并计算所述计算代码的摘要及生成一对公钥和私钥;
所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链;
所述区块链接收并保存所述计算代码的摘要和所述公钥,且向所述可信执行环境TEE发送远程证明指令;
所述可信执行环境TEE接收所述远程证明指令,并对所述计算代码的摘要及所述公钥进行签名;
所述区块链从所述可信执行环境TEE获取签名后的计算代码的摘要和签名后的公钥;
所述区块链中的节点对获取的所述签名后的计算代码的摘要和所述签名后的公钥与保存的所述计算代码的摘要和所述公钥进行验证,以得到可信预言机。
可选地,所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链,包括:
所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链,并发起智能合约投票。
可选地,所述得到可信预言机之后,所述基于TEE的可信预言机实现方法,还包括:
所述区块链中的节点对所述可信执行环境TEE发起的所述智能合约投票进行投票。
可选地,所述区块链中的节点对所述可信执行环境TEE发起的所述智能合约投票进行投票之后,所述基于TEE的可信预言机构建方法,还包括:
当进行投票的所述节点个数大于预设阈值时,数据提供方获取所述公钥,并将公钥加密后的原数据发送至所述可信执行环境TEE。
可选地,所述基于TEE的可信预言机实现方法,还包括:
所述可信执行环境TEE接收所述公钥加密后的原数据,并使用私钥对所述公钥加密后的原数据进行解密,得到原数据;
所述可信执行环境TEE从所述区块链获取原数据摘要;
所述可信执行环境TEE计算所述原数据的哈希值,并将所述原数据的哈希值与所述原数据摘要进行比对。
可选地,所述将所述原数据的哈希值与所述原数据摘要进行比对之后,所述基于TEE的可信预言机实现方法,还包括:
当所述原数据的哈希值与所述原数据摘要相等时,所述可执行环境TEE对所述原数据进行处理,得到处理结果;
所述可执行环境TEE对所述处理结果和所述原数据摘要进行签名,并将签名后的所述处理结果和所述原数据摘要发送至所述区块链。
可选地,所述基于TEE的可信预言机实现方法,还包括:
所述区块链接收签名后的所述处理结果和所述原数据摘要;
所述区块链验证所述原数据摘要的签名是否正确;
若正确,所述区块链保存所述处理结果。
第二方面,本发明实施例还提出一种基于TEE的可信预言机实现装置,包括:接收计算生成模块、TEE发送模块、接收保存发送模块、接收签名模块、获取模块和验证得到模块;
所述接收计算生成模块,用于可信执行环境TEE接收计算代码并计算所述计算代码的摘要及生成一对公钥和私钥;
所述TEE发送模块,用于所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链;
所述接收保存发送模块,用于所述区块链接收并保存所述计算代码的摘要和所述公钥,且向所述可信执行环境TEE发送远程证明指令;
所述接收签名模块,用于所述可信执行环境TEE接收所述远程证明指令,并对所述计算代码的摘要及所述公钥进行签名;
所述获取模块,用于所述区块链从所述可信执行环境TEE获取签名后的计算代码的摘要和签名后的公钥;
所述验证得到模块,用于所述区块链中的节点对获取的所述签名后的计算代码的摘要和所述签名后的公钥与保存的所述计算代码的摘要和所述公钥进行验证,以得到可信预言机。
可选地,所述TEE发送模块,具体用于所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链,并发起智能合约投票。
可选地,所述验证得到模块得到可信预言机之后,所述基于TEE的可信预言机实现装置,还包括:投票模块;
所述投票模块,用于所述区块链中的节点对所述可信执行环境TEE发起的所述智能合约投票进行投票。
可选地,所述投票模块进行投票之后,所述基于TEE的可信预言机构建装置,还包括:获取发送模块;
所述获取发送模块,用于当进行投票的所述节点个数大于预设阈值时,数据提供方获取所述公钥,并将公钥加密后的原数据发送至所述可信执行环境TEE。
可选地,所述基于TEE的可信预言机实现装置,还包括:接收解密模块、原数据摘要获取模块和计算比对模块;
所述接收解密模块,用于所述可信执行环境TEE接收所述公钥加密后的原数据,并使用私钥对所述公钥加密后的原数据进行解密,得到原数据;
所述原数据摘要获取模块,用于所述可信执行环境TEE从所述区块链获取原数据摘要;
所述计算比对模块,用于所述可信执行环境TEE计算所述原数据的哈希值,并将所述原数据的哈希值与所述原数据摘要进行比对。
可选地,所述计算比对模块将所述原数据的哈希值与所述原数据摘要进行比对之后,所述基于TEE的可信预言机实现装置,还包括:原数据处理模块和签名发送模块;
所述原数据处理模块,用于当所述原数据的哈希值与所述原数据摘要相等时,所述可执行环境TEE对所述原数据进行处理,得到处理结果;
所述签名发送模块,用于所述可执行环境TEE对所述处理结果和所述原数据摘要进行签名,并将签名后的所述处理结果和所述原数据摘要发送至所述区块链。
可选地,所述基于TEE的可信预言机实现装置,还包括:接收模块、验证模块和保存模块。
所述接收模块,用于所述区块链接收签名后的所述处理结果和所述原数据摘要;
所述验证模块,用于所述区块链验证所述原数据摘要的签名是否正确;
所述保存模块,用于若正确,所述区块链保存所述处理结果。
第三方面,本发明实施例还提出一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。
第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。
由上述技术方案可知,本发明实施例实现了一个可信预言机,确保了数据可以被正确运算,克服了运算不可信、数据可能被篡改等问题,使得区块链可以将大规模数据的计算放在链下执行,并获得可信的结果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种基于TEE的可信预言机实现方法的流程示意图;
图2为本发明一实施例提供的一种基于TEE的可信预言机实现方法的另一流程示意图;
图3为本发明一实施例提供的一种基于TEE的可信预言机实现装置的结构示意图;
图4为本发明一实施例提供的电子设备的逻辑框图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本实施例提供的一种基于TEE的可信预言机实现方法的流程示意图,包括:
S11,可信执行环境TEE接收计算代码并计算所述计算代码的摘要及生成一对公钥和私钥。
在本发明实施例中,计算方研发人员将用于处理数据的计算代码部署到TEE(Trusted Execution Environment,可信执行环境)。所述TEE接收所述计算代码。此外,所述TEE在计算方的主机内存中开辟储存器屏蔽区,并且在所述储存器屏蔽区内计算所述计算代码的摘要,并且随机生成一对公钥和私钥。
需要说明的是,在本发明实施例中,所述计算代码的摘要是所述计算代码的哈希值。所述TEE位于所述计算方。
还需要说明的是,在本发明实施例中,所述TEE具有对所述储存器屏蔽区进行完全访问的权限。
S12,所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链。
在本发明实施例中,所述TEE将S11中计算得到的所述计算代码的摘要及随机生成的公钥发送至区块链。
S13,所述区块链接收并保存所述计算代码的摘要和所述公钥,且向所述可信执行环境TEE发送远程证明指令。
在本发明实施例中,所述区块链接收S12中TEE发送的所述计算代码的摘要和所述公钥并将其保存。此外,所述区块链向所述可信执行环境TEE发送远程证明指令。
S14,所述可信执行环境TEE接收所述远程证明指令,并对所述计算代码的摘要及所述公钥进行签名。
在本发明实施例中,所述TEE接收S13中区块链发送的所述远程证明指令,并使用签注密钥对所述计算代码的摘要及所述公钥进行签名。
S15,所述区块链从所述可信执行环境TEE获取签名后的计算代码的摘要和签名后的公钥。
在本发明实施例中,所述区块链从所述TEE获取所述签名后的计算代码的摘要和所述签名后的公钥。
S16,所述区块链中的节点对获取的所述签名后的计算代码的摘要和所述签名后的公钥与保存的所述计算代码的摘要和所述公钥进行验证,以得到可信预言机。
在本发明实施例中,所述区块链中的节点将获取的所述签名后的计算代码的摘要与保存的所述计算代码的摘要进行验证。并且所述区块链中的节点将获取的所述签名后的公钥与保存的所述公钥进行验证。当所述验证成功时,得到可信预言机。
本发明实施例实现了一个可信预言机,确保了数据可以被正确运算,克服了运算不可信、数据可能被篡改等问题,使得区块链可以将大规模数据的计算放在链下执行,并获得可信的结果。
进一步地,在上述方法实施例的基础上,所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链,包括:
所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链,并发起智能合约投票。
在本发明实施例中,所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链,并发起智能合约投票。
本发明实施例通过结合区块链智能合约,确保了数据在TEE以外的不可信区域无法伪造。
进一步地,在上述方法实施例的基础上,所述得到可信预言机之后,所述基于TEE的可信预言机实现方法,还包括:
所述区块链中的节点对所述可信执行环境TEE发起的所述智能合约投票进行投票。
在本发明实施例中,所述可信执行环境TEE发起所述智能合约投票。所述区块链中的节点对发起的所述智能合约投票进行投票。
本发明实施例通过结合区块链智能合约,确保了数据在TEE以外的不可信区域无法伪造。
进一步地,在上述方法实施例的基础上,所述区块链中的节点对所述可信执行环境TEE发起的所述智能合约投票进行投票之后,所述基于TEE的可信预言机构建方法,还包括:
当进行投票的所述节点个数大于预设阈值时,数据提供方获取所述公钥,并将公钥加密后的原数据发送至所述可信执行环境TEE。
在本发明实施例中,通过对发起的所述智能合约投票进行投票的节点的个数,判断计算方是否提供了正确的计算环境。当进行投票的所述节点个数大于预设阈值时,确定计算方提供了正确的计算环境。此时,所述数据提供方从所述区块链获取所述公钥,并使用所述公钥对原数据进行加密,且将公钥加密后的原数据发送至所述可信执行环境TEE。
本发明实施例使用公钥对原数据进行加密,确保加密后的原数据可以安全地交付给正确的计算方。
进一步地,在上述方法实施例的基础上,所述基于TEE的可信预言机实现方法,还包括:
所述可信执行环境TEE接收所述公钥加密后的原数据,并使用私钥对所述公钥加密后的原数据进行解密,得到原数据;
所述可信执行环境TEE从所述区块链获取原数据摘要;
所述可信执行环境TEE计算所述原数据的哈希值,并将所述原数据的哈希值与所述原数据摘要进行比对。
在本发明实施例中,所述TEE接收所述公钥加密后的原数据,并使用私钥对所述公钥加密后的原数据进行解密,得到原数据;所述TEE从所述区块链获取原数据摘要;所述TEE计算所述原数据的哈希值,并将所述原数据的哈希值与所述原数据摘要进行比对。
本发明实施例通过使用私钥对公钥加密后的原数据进行解密,确保了原数据的正确性。
进一步地,在上述方法实施例的基础上,所述将所述原数据的哈希值与所述原数据摘要进行比对之后,所述基于TEE的可信预言机实现方法,还包括:
当所述原数据的哈希值与所述原数据摘要相等时,所述可执行环境TEE对所述原数据进行处理,得到处理结果;
所述可执行环境TEE对所述处理结果和所述原数据摘要进行签名,并将签名后的所述处理结果和所述原数据摘要发送至所述区块链。
在本发明实施例中,当计算的所述原数据的哈希值与所述区块链提供的所述原数据摘要相等时,所述TEE对所述原数据进行处理,得到处理结果;所述TEE对所述处理结果和所述原数据摘要进行签名,并将签名后的所述处理结果和所述原数据摘要发送至所述区块链。
本发明实施例通过将签名后的所述处理结果和签名后所述原数据摘要发送至所述区块链,实现了链下数据的可信计算结果成功上链。
进一步地,在上述方法实施例的基础上,所述基于TEE的可信预言机实现方法,还包括:
所述区块链接收签名后的所述处理结果和所述原数据摘要;
所述区块链验证所述原数据摘要的签名是否正确;
若正确,所述区块链保存所述处理结果。
在本发明实施例中,所述区块链接收签名后的所述处理结果和所述原数据摘要;所述区块链根据已有的签名验证所述原数据摘要的签名是否正确;若正确,所述区块链保存所述处理结果;若不正确,所述区块链不保存所述处理结果。
本发明实施例通过对所述原数据摘要的签名进行认证,确保了保存的所述处理结果的可信性。
需要说明的是,在具体实施本发明时,如图2所示,数据提供方计算原数据摘要并发送至区块链。区块链存储原数据摘要。TEE接收研发人员部署的计算代码,并计算所述计算代码的摘要,生成密钥对。TEE将所述计算代码的摘要和公钥发送至区块链,并发起智能合约投票。区块链接收所述计算代码的摘要和公钥。区块链向TEE发送远程证明指令。TEE接收远程证明指令并对所述计算代码的摘要和公钥进行签名。区块链获取签名后的计算代码的摘要和签名后的公钥。区块链将签名后的计算代码的摘要和签名后的公钥与链上保存的计算代码的摘要和公钥进行对比验证,若验证成功,则完成了预言机的构建。区块链节点对发起的智能合约投票进行投票。数据提供方从区块链获取投票数量,若有超过三分之二节点已经投票,则确定提供了正确的计算环境。此时,数据提供方从区块链获取公钥。数据提供方将用公钥加密后的原数据发送至TEE。TEE从区块链获取原数据摘要。TEE利用私钥对加密后的原数据解密,并计算原数据哈希值。TEE将计算出的原数据哈希值和原数据摘要进行比对。若两个相等,对原数据进行处理,得到处理结果。对处理结果和原数据摘要签名并发送至区块链。若区块链确定原数据摘要签名无误,则保存处理结果。
图3示出了本实施例提供的一种基于TEE的可信预言机实现装置的结构示意图,所述装置包括:接收计算生成模块31、TEE发送模块32、接收保存发送模块33、接收签名模块34、获取模块35和验证得到模块36;
所述接收计算生成模块31,用于可信执行环境TEE接收计算代码并计算所述计算代码的摘要及生成一对公钥和私钥;
所述TEE发送模块32,用于所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链;
所述接收保存发送模块33,用于所述区块链接收并保存所述计算代码的摘要和所述公钥,且向所述可信执行环境TEE发送远程证明指令;
所述接收签名模块34,用于所述可信执行环境TEE接收所述远程证明指令,并对所述计算代码的摘要及所述公钥进行签名;
所述获取模块35,用于所述区块链从所述可信执行环境TEE获取签名后的计算代码的摘要和签名后的公钥;
所述验证得到模块36,用于所述区块链中的节点对获取的所述签名后的计算代码的摘要和所述签名后的公钥与保存的所述计算代码的摘要和所述公钥进行验证,以得到可信预言机。
进一步地,在上述装置实施例的基础上,所述TEE发送模块32,具体用于所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链,并发起智能合约投票。
进一步地,在上述装置实施例的基础上,所述验证得到模块36得到可信预言机之后,所述基于TEE的可信预言机实现装置,还包括:投票模块;
所述投票模块,用于所述区块链中的节点对所述可信执行环境TEE发起的所述智能合约投票进行投票。
进一步地,在上述装置实施例的基础上,所述投票模块进行投票之后,所述基于TEE的可信预言机构建装置,还包括:获取发送模块;
所述获取发送模块,用于当进行投票的所述节点个数大于预设阈值时,数据提供方获取所述公钥,并将公钥加密后的原数据发送至所述可信执行环境TEE。
进一步地,在上述装置实施例的基础上,所述基于TEE的可信预言机实现装置,还包括:接收解密模块、原数据摘要获取模块和计算比对模块;
所述接收解密模块,用于所述可信执行环境TEE接收所述公钥加密后的原数据,并使用私钥对所述公钥加密后的原数据进行解密,得到原数据;
所述原数据摘要获取模块,用于所述可信执行环境TEE从所述区块链获取原数据摘要;
所述计算比对模块,用于所述可信执行环境TEE计算所述原数据的哈希值,并将所述原数据的哈希值与所述原数据摘要进行比对。
进一步地,在上述装置实施例的基础上,所述计算比对模块将所述原数据的哈希值与所述原数据摘要进行比对之后,所述基于TEE的可信预言机实现装置,还包括:原数据处理模块和签名发送模块;
所述原数据处理模块,用于当所述原数据的哈希值与所述原数据摘要相等时,所述可执行环境TEE对所述原数据进行处理,得到处理结果;
所述签名发送模块,用于所述可执行环境TEE对所述处理结果和所述原数据摘要进行签名,并将签名后的所述处理结果和所述原数据摘要发送至所述区块链。
进一步地,在上述装置实施例的基础上,所述基于TEE的可信预言机实现装置,还包括:接收模块、验证模块和保存模块。
所述接收模块,用于所述区块链接收签名后的所述处理结果和所述原数据摘要;
所述验证模块,用于所述区块链验证所述原数据摘要的签名是否正确;
所述保存模块,用于若正确,所述区块链保存所述处理结果。
本实施例所述的基于TEE的可信预言机实现装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
图4为本发明一实施例提供的电子设备的逻辑框图;所述电子设备,包括:处理器(processor)41、存储器(memory)42和总线43;
其中,所述处理器41和存储器42通过所述总线43完成相互间的通信;所述处理器41用于调用所述存储器42中的程序指令,以执行上述方法实施例所提供的基于TEE的可信预言机实现方法。
本发明一实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,该计算机程序被处理器执行时实现了执行上述各实施例提供的基于TEE的可信预言机实现方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于TEE的可信预言机实现方法,其特征在于,包括:
可信执行环境TEE接收计算代码并计算所述计算代码的摘要及生成一对公钥和私钥;
所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链;
所述区块链接收并保存所述计算代码的摘要和所述公钥,且向所述可信执行环境TEE发送远程证明指令;
所述可信执行环境TEE接收所述远程证明指令,并对所述计算代码的摘要及所述公钥进行签名;
所述区块链从所述可信执行环境TEE获取签名后的计算代码的摘要和签名后的公钥;
所述区块链中的节点对获取的所述签名后的计算代码的摘要和所述签名后的公钥与保存的所述计算代码的摘要和所述公钥进行验证,以得到可信预言机。
2.根据权利要求1所述的基于TEE的可信预言机实现方法,其特征在于,所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链,包括:
所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链,并发起智能合约投票。
3.根据权利要求2所述的基于TEE的可信预言机实现方法,其特征在于,所述得到可信预言机之后,所述基于TEE的可信预言机实现方法,还包括:
所述区块链中的节点对所述可信执行环境TEE发起的所述智能合约投票进行投票。
4.根据权利要求3所述的基于TEE的可信预言机实现方法,其特征在于,所述区块链中的节点对所述可信执行环境TEE发起的所述智能合约投票进行投票之后,所述基于TEE的可信预言机构建方法,还包括:
当进行投票的所述节点个数大于预设阈值时,数据提供方获取所述公钥,并将公钥加密后的原数据发送至所述可信执行环境TEE。
5.根据权利要求4所述的基于TEE的可信预言机实现方法,其特征在于,所述基于TEE的可信预言机实现方法,还包括:
所述可信执行环境TEE接收所述公钥加密后的原数据,并使用私钥对所述公钥加密后的原数据进行解密,得到原数据;
所述可信执行环境TEE从所述区块链获取原数据摘要;
所述可信执行环境TEE计算所述原数据的哈希值,并将所述原数据的哈希值与所述原数据摘要进行比对。
6.根据权利要求5所述的基于TEE的可信预言机实现方法,其特征在于,所述将所述原数据的哈希值与所述原数据摘要进行比对之后,所述基于TEE的可信预言机实现方法,还包括:
当所述原数据的哈希值与所述原数据摘要相等时,所述可执行环境TEE对所述原数据进行处理,得到处理结果;
所述可执行环境TEE对所述处理结果和所述原数据摘要进行签名,并将签名后的所述处理结果和所述原数据摘要发送至所述区块链。
7.根据权利要求6所述的基于TEE的可信预言机实现方法,其特征在于,所述基于TEE的可信预言机实现方法,还包括:
所述区块链接收签名后的所述处理结果和所述原数据摘要;
所述区块链验证所述原数据摘要的签名是否正确;
若正确,所述区块链保存所述处理结果。
8.一种基于TEE的可信预言机实现装置,其特征在于,包括:接收计算生成模块、TEE发送模块、接收保存发送模块、接收签名模块、获取模块和验证得到模块;
所述接收计算生成模块,用于可信执行环境TEE接收计算代码并计算所述计算代码的摘要及生成一对公钥和私钥;
所述TEE发送模块,用于所述可信执行环境TEE将所述计算代码的摘要及公钥发送至区块链;
所述接收保存发送模块,用于所述区块链接收并保存所述计算代码的摘要和所述公钥,且向所述可信执行环境TEE发送远程证明指令;
所述接收签名模块,用于所述可信执行环境TEE接收所述远程证明指令,并对所述计算代码的摘要及所述公钥进行签名;
所述获取模块,用于所述区块链从所述可信执行环境TEE获取签名后的计算代码的摘要和签名后的公钥;
所述验证得到模块,用于所述区块链中的节点对获取的所述签名后的计算代码的摘要和所述签名后的公钥与保存的所述计算代码的摘要和所述公钥进行验证,以得到可信预言机。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一所述的基于TEE的可信预言机实现方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一所述的基于TEE的可信预言机实现方法。
CN201911358506.9A 2019-12-25 2019-12-25 一种基于tee的可信预言机实现方法及装置 Pending CN111130800A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911358506.9A CN111130800A (zh) 2019-12-25 2019-12-25 一种基于tee的可信预言机实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911358506.9A CN111130800A (zh) 2019-12-25 2019-12-25 一种基于tee的可信预言机实现方法及装置

Publications (1)

Publication Number Publication Date
CN111130800A true CN111130800A (zh) 2020-05-08

Family

ID=70502278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911358506.9A Pending CN111130800A (zh) 2019-12-25 2019-12-25 一种基于tee的可信预言机实现方法及装置

Country Status (1)

Country Link
CN (1) CN111130800A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111541554A (zh) * 2020-07-13 2020-08-14 卓尔智联(武汉)研究院有限公司 一种区块链数据处理方法、装置和电子设备
CN111639343A (zh) * 2020-06-02 2020-09-08 重庆智者炎麒科技有限公司 一种基于可信执行环境的客流分析方法和系统
CN112507360A (zh) * 2020-12-10 2021-03-16 浙商银行股份有限公司 基于门限签名和预言机的区块链数据上链方法及装置
CN113837761A (zh) * 2021-11-26 2021-12-24 北京理工大学 一种基于区块链和可信执行环境的联邦学习方法及系统
CN113873004A (zh) * 2021-08-16 2021-12-31 中国人民银行数字货币研究所 一种任务执行方法和装置以及分布式计算系统
CN114629639A (zh) * 2022-03-10 2022-06-14 阿里云计算有限公司 基于可信执行环境的密钥管理方法、装置和电子设备
WO2022205957A1 (zh) * 2021-03-30 2022-10-06 蚂蚁区块链科技(上海)有限公司 一种基于中继设备跨链中转消息的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981679A (zh) * 2019-04-08 2019-07-05 上海点融信息科技有限责任公司 在区块链网络中执行事务的方法和装置
CN109995776A (zh) * 2019-03-26 2019-07-09 西安纸贵互联网科技有限公司 一种互联网数据验证方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995776A (zh) * 2019-03-26 2019-07-09 西安纸贵互联网科技有限公司 一种互联网数据验证方法及系统
CN109981679A (zh) * 2019-04-08 2019-07-05 上海点融信息科技有限责任公司 在区块链网络中执行事务的方法和装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639343A (zh) * 2020-06-02 2020-09-08 重庆智者炎麒科技有限公司 一种基于可信执行环境的客流分析方法和系统
CN111541554A (zh) * 2020-07-13 2020-08-14 卓尔智联(武汉)研究院有限公司 一种区块链数据处理方法、装置和电子设备
CN111541554B (zh) * 2020-07-13 2020-11-03 卓尔智联(武汉)研究院有限公司 一种区块链数据处理方法、装置和电子设备
CN112507360A (zh) * 2020-12-10 2021-03-16 浙商银行股份有限公司 基于门限签名和预言机的区块链数据上链方法及装置
WO2022205957A1 (zh) * 2021-03-30 2022-10-06 蚂蚁区块链科技(上海)有限公司 一种基于中继设备跨链中转消息的方法和装置
CN113873004A (zh) * 2021-08-16 2021-12-31 中国人民银行数字货币研究所 一种任务执行方法和装置以及分布式计算系统
CN113873004B (zh) * 2021-08-16 2024-03-26 中国人民银行数字货币研究所 一种任务执行方法和装置以及分布式计算系统
CN113837761A (zh) * 2021-11-26 2021-12-24 北京理工大学 一种基于区块链和可信执行环境的联邦学习方法及系统
CN113837761B (zh) * 2021-11-26 2022-03-18 北京理工大学 一种基于区块链和可信执行环境的联邦学习方法及系统
CN114629639A (zh) * 2022-03-10 2022-06-14 阿里云计算有限公司 基于可信执行环境的密钥管理方法、装置和电子设备

Similar Documents

Publication Publication Date Title
CN111130800A (zh) 一种基于tee的可信预言机实现方法及装置
CN107742212B (zh) 基于区块链的资产验证方法、装置及系统
US7974415B2 (en) System and method for updating keys used for public key cryptography
CN111224788B (zh) 一种基于区块链的电子合同管理方法、装置及系统
WO2019084908A1 (en) Method and apparatus for trusted computing
US20080083039A1 (en) Method for integrity attestation of a computing platform hiding its configuration information
CN111314172B (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN112527912B (zh) 基于区块链网络的数据处理方法、装置及计算机设备
WO2020038137A1 (zh) 二维码生成方法、数据处理方法、装置及服务器
CN103023862A (zh) 用于完整性保护和验证的方法、服务器及系统
US11757884B2 (en) Method and system for controlling the release of a resource
CN110932859A (zh) 用户信息的处理方法、装置、设备及可读存储介质
CN112165382A (zh) 软件授权方法、装置、授权服务端及终端设备
CN108768975A (zh) 支持密钥更新和第三方隐私保护的数据完整性验证方法
CN111259418A (zh) 基于区块链的防伪方法、系统以及存储介质
CN110599270A (zh) 电子票据生成方法、装置和计算机设备
CN114338054B (zh) 区块链可信数据传输、验证和获取方法及装置
CN113961956A (zh) 标签化网络信息服务生成及应用方法、装置、设备、介质
CN104394166A (zh) 一种云环境下面向移动终端的证书防伪认证系统及方法
CN111818087B (zh) 区块链的节点接入方法、装置、设备及可读存储介质
CN111294315B (zh) 基于区块链的安全认证方法、装置、设备及存储介质
US10177918B2 (en) User permission check system
CN116827544B (zh) 一种用于更换车载obu信任根的方法及系统
CN112862483B (zh) 一种基于智能合约的身份验证方法和装置
US20230370274A1 (en) Systems and methods for provable provenance for artificial intelligence model assessments

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
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20230714