CN115021972B - 基于区块链的可信计算方法、装置、设备及介质 - Google Patents

基于区块链的可信计算方法、装置、设备及介质 Download PDF

Info

Publication number
CN115021972B
CN115021972B CN202210507035.9A CN202210507035A CN115021972B CN 115021972 B CN115021972 B CN 115021972B CN 202210507035 A CN202210507035 A CN 202210507035A CN 115021972 B CN115021972 B CN 115021972B
Authority
CN
China
Prior art keywords
key
computing
public key
trusted
private key
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
CN202210507035.9A
Other languages
English (en)
Other versions
CN115021972A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210507035.9A priority Critical patent/CN115021972B/zh
Publication of CN115021972A publication Critical patent/CN115021972A/zh
Application granted granted Critical
Publication of CN115021972B publication Critical patent/CN115021972B/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/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/0435Network 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 symmetric encryption, i.e. same key used 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/061Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

基于区块链的可信计算方法、装置、设备及介质
技术领域
本公开涉及计算机数据处理技术领域,具体涉及云计算领域、区块链领域,可用于可信计算场景。
背景技术
可信计算(Trusted Computing,TC)是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台。可信计算可以为数据安全性提供可信的环境,并在数据计算过程中实现数据隐私保护。可信计算对于打破数据壁垒,连接数据孤岛,安全可靠地释放数据价值有重要意义。
发明内容
本公开提供了一种基于区块链的可信计算方法、装置、设备及介质。
根据本公开的一方面,提供了基于区块链的可信计算方法,由服务提供端执行,包括:
响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料;其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;
在所述可信执行环境中,根据所述根私钥推导确定子私钥,根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥;
在所述可信执行环境中,利用所述对称解密密钥对所述加密计算物料进行解密处理,以得到所述原始计算物料;
在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
根据本公开的另一方面,提供了一种基于区块链的可信计算方法,由服务需求端执行,包括:
基于密钥生成算法确定客户私钥;
基于父公钥和所述客户私钥推导确定对称加密密钥;其中,所述父公钥由所述服务提供端基于根私钥推导得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;
采用所述对称加密密钥对原始计算物料进行加密处理得到加密计算物料,并将所述加密计算物料进行存储;
通过区块链网络向服务提供端发布可信计算任务执行请求,以请求所述服务提供端根据所述可信计算任务执行请求获取计算逻辑程序和加密计算物料,且推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
根据本公开的另一方面,提供了一种基于区块链的可信计算方法,由区块链节点执行,包括:
获取服务需求端发布的可信计算任务执行请求,并使得所述服务提供端响应所述可信计算任务执行请求,以获取计算逻辑程序和加密计算物料,且根据子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果;
响应于所述服务提供端的结果上链处理请求,对所述结果上链处理请求中计算结果的结果度量报告进行安全性校验;其中,所述结果度量报告用于唯一表征所述计算结果的原始计算物料和计算逻辑程序;
若安全性校验通过,则将所述结果度量报告和计算结果进行上链存储。
根据本公开的另一方面,提供了一种基于区块链的可信计算装置,配置于服务提供端,包括:
计算数据获取模块,用于响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料;其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;
对称解密密钥确定模块,用于在所述可信执行环境中,根据所述根私钥推导确定子私钥,根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥;
解密处理模块,用于在所述可信执行环境中,利用所述对称解密密钥对所述加密计算物料进行解密处理,以得到所述原始计算物料;
计算分析模块,用于在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
根据本公开的另一方面,提供了一种基于区块链的可信计算装置,配置于服务需求端,包括:
客户私钥确定模块,用于基于密钥生成算法确定客户私钥;
对称加密密钥确定模块,用于基于父公钥和所述客户私钥推导确定对称加密密钥;其中,所述父公钥由所述服务提供端基于根私钥推导得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;
加密处理模块,用于采用所述对称加密密钥对原始计算物料进行加密处理得到加密计算物料,并将所述加密计算物料进行存储;
可信计算任务执行请求发布模块,用于通过区块链网络向服务提供端发布可信计算任务执行请求,以请求所述服务提供端根据所述可信计算任务执行请求获取计算逻辑程序和加密计算物料,且推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
根据本公开的另一方面,提供了一种基于区块链的可信计算装置,配置于区块链节点,包括:
可信计算任务执行请求获取模块,用于获取服务需求端发布的可信计算任务执行请求,并使得所述服务提供端响应所述可信计算任务执行请求,以获取计算逻辑程序和加密计算物料,且根据子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果;
计算结果安全性校验模块,用于响应于所述服务提供端的结果上链处理请求,对所述结果上链处理请求中计算结果的结果度量报告进行安全性校验;其中,所述结果度量报告用于唯一表征所述计算结果的原始计算物料和计算逻辑程序;
计算结果存储模块,用于若安全性校验通过,则将所述结果度量报告和计算结果进行上链存储。根据本公开的另一方面,提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任一实施例所述基于区块链的可信计算方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行本公开任一实施例所述的基于区块链的可信计算方法。
根据本公开的技术,保护了数据隐私和安全,有效打破了数据壁垒。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例提供的一种基于区块链的可信计算方法的流程图;
图2是根据本公开实施例提供的另一种基于区块链的可信计算方法的流程图;
图3是根据本公开实施例提供的又一种基于区块链的可信计算方法的流程图;
图4是根据本公开实施例提供的又一种基于区块链的可信计算方法的流程图;
图5是根据本公开实施例提供的一种基于区块链的可信计算方法的流程图;
图6是根据本公开实施例提供的又一种基于区块链的可信计算方法的流程图;
图7是根据本公开实施例提供的又一种基于区块链的可信计算方法的流程图;
图8是根据本公开实施例提供的一种基于区块链的可信计算方法的流程图;
图9是根据本公开实施例提供的又一种基于区块链的可信计算方法的流程图;
图10是根据本公开实施例提供的又一种基于区块链的可信计算系统的结构图;
图11是根据本公开实施例提供的一种基于区块链的可信计算装置的结构示意图;
图12是根据本公开实施例提供的一种基于区块链的可信计算装置的结构示意图;
图13是根据本公开实施例提供的一种基于区块链的可信计算装置的结构示意图;
图14是用来实现本公开实施例的基于区块链的可信计算方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开实施例提供的一种基于区块链的可信计算方法的流程图,本公开实施例适用于服务提供端基于区块链网络为服务需求端提供可信计算服务的情况。该方法可以由基于区块链的可信计算装置来执行,该装置可以采用软件和/或硬件的方式实现,配置于服务提供端并可集成于承载基于区块链的可信计算功能的电子设备中。
本公开的技术方案,可适用于多方配合的网络架构,主要涉及服务提供端、服务需求端和区块链网络,还可以选择性的设置去中心化存储网络来实现海量数据的存储功能,可参见图10所示。服务提供端用于为服务需求端提供业务服务,例如,提供人脸识别服务等。业务服务需要借助于服务需求端的原始物料数据,以及相应的计算逻辑程序来完成。服务提供端可提供相应的算力支持。服务提供端可以有一个或多个,来提供一类或多类业务服务,服务需求端可以为一个,通常为多个,向服务提供端发起处理业务服务的请求。在本公开的技术方案中,业务服务将通过可信执行环境进行处理,因此又可称为可信计算任务或计算任务。在这一过程中,区块链网络可作为组织方或管理方,能够发布请求、存储数据、负责验证等多方面功能,来管理协调服务提供端与服务需求端之间的交互,保证业务服务过程的可靠安全执行。基于如上系统和场景,本公开实施例首先介绍由服务提供端执行的过程。
如图1所示,本实施例的基于区块链的可信计算方法可以包括:
S101,响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料。
其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;其中,服务需求端是指请求可信计算服务的一端,服务需求端需要提供加密计算物料。具体的,服务需求端先基于密钥生成算法确定客户私钥,再基于客户私钥和父公钥推导确定对称加密密钥,然后,利用对称加密密钥对原始计算物料进行加密处理得到加密计算物料。其中,密钥生成算法是指通过在线或离线的交互协商方式(如密码协议等)生成密钥的算法。可选的,密钥生成算法可以为椭圆曲线算法(Elliptic Curve Cryptography,ECC),客户私钥可以为利用椭圆曲线算法生成的私钥。
对称加密密钥同时包括分别由服务需求端和服务提供端产生的客户私钥信息和父公钥信息。服务需求端通过利用对称加密密钥对原始计算物料进行加密处理,可以保证原始计算物料的数据安全,避免用户隐私数据或者企业商业秘密泄露。
服务提供端是提供可信计算服务的一端,服务提供端中部署有可信执行环境(Trusted Execution Environment,TEE),服务提供端基于可信执行环境为服务需求端提供可信计算服务。具体的,服务提供端在可信执行环境中基于根私钥推导确定父公钥,并将父公钥提供给服务需求端,供服务需求端对原始计算物料进行加密处理。
其中,可信执行环境是通过软硬件方法在中央处理器中构建的一个安全区域,可信执行环境内部加载的程序和数据在机密性和完整性上可以得到保护。根私钥用于推导确定父公钥和子私钥,根私钥可以由服务提供端在可信执行环境中生成的,也可以是由服务提供端在可信执行环境之外生成,具体根据实际业务需求确定,在这里不作限定。优选的,根私钥由服务提供端在可信执行环境中生成。父公钥基于服务提供端在可信执行环境生成的根私钥推导确定;子私钥基于服务提供端在可信执行环境生成的根私钥推导确定。
可选的,服务需求端和服务提供端中均可以安装适用于各自角色功能的区块链客户端,服务需求端和服务提供端可以基于区块链客户端访问区块链网络,与区块链节点进行数据交互。区块链网络作为服务提供端和服务需求端的数据交互渠道,服务提供端和服务需求端可以基于区块链网络进行数据交互。
其中,可信计算任务执行请求用于请求服务提供端为服务需求端提供可信计算服务。其中,计算逻辑程序根据实际业务需求预先开发完成,计算逻辑程序是能够实现完整业务功能,且可在可信执行环境中运行的程序代码。示例性的,计算逻辑程序可以是实现黑名单碰撞、多头借贷分析或者总授信额度统计等业务功能。
可信计算任务执行请求可以是服务提供端通过监听区块链网络获取到的,也可以是服务提供端基于订阅服务从区块链网络中获取的,具体的可以根据实际业务需求确定,在这里不作限定。
可选的,可信计算任务执行请求可以包括加密计算物料和计算逻辑程序的数据存储信息。服务提供端响应于区块联网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料。可选的,服务提供端根据可信计算任务执行请求中的数据存储信息获取加密计算物料和计算逻辑程序。加密计算物料和计算逻辑程序既可以存储在区块链网络中,也可以存储在其他存储网络如去中心化存储网络,加密计算物料和计算逻辑程序的存储位置具体根据实际业务需求,在这里不作限定。
在一个可选的实施例中,响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料,包括:响应于区块链网络发布的可信计算任务执行请求,根据所述可信计算任务执行请求中的程序地址和物料地址,从区块链网络中读取计算任务所需的计算逻辑程序和加密计算物料。
其中,程序地址包括计算逻辑程序在区块链网络中的存储地址,物料地址包括加密计算物料在区块链网络中的存储地址。
服务提供端响应于区块链网络发布的可信计算任务执行请求,根据可信计算任务执行请求中的程序地址和物料地址,从区块链网络中读取计算任务所需的计算逻辑程序和加密计算物料。
上述技术方案,通过将区块链技术应用于可信计算,将计算逻辑程序和加密计算物料存储到区块链网络中,充分利用了区块链网络的加密安全、防篡改、去中心化的特点,在服务需求端和服务提供端之间实现了数据价值流动交换,进一步保证了数据安全性。
S102,在所述可信执行环境中,根据所述根私钥推导确定子私钥,根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥。
由于加密计算物料是服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到的,服务提供端无法直接对加密计算物料进行计算分析。服务提供端需要利用对称解密密钥对加密计算物料进行解密处理。
服务提供端需要利用对称解密密钥对加密计算物料进行解密处理,具体的,服务提供端在可信执行环境中,根据根私钥推导子私钥,再利用子私钥和客户私钥,基于密钥生成算法推导确定对称解密密钥。可选的,服务提供端可以调用密钥管理服务中的子私钥衍生推导服务根据根私钥推导确定子私钥。然后,服务提供端将子私钥和客户私钥作为密钥生成算法的输入,基于密钥生成算法确定对称解密密钥。可选的,密钥生成算法为椭圆曲线算法。
S103,在所述可信执行环境中,利用所述对称解密密钥对所述加密计算物料进行解密处理,以得到所述原始计算物料。
服务提供端在可信执行环境中,利用对称解密密钥对加密计算物料进行解密处理,得到原始计算物料。
S104,在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
服务提供端在可信执行环境中,调用计算逻辑程序对解密得到的原始计算物料进行计算分析,得到计算结果。
具体的,服务提供端将原始计算物料和计算逻辑程序传入可信执行环境,将原始计算物料作为计算逻辑程序的输入数据,在可信执行环境中调用计算逻辑程序对原始计算物料进行计算分析得到计算结果。
本公开实施例通过将区块链技术应用于可信计算,通过服务提供端在可信执行环境中对加密计算物料进行解密处理,并在可信执行环境中,调用计算逻辑程序对解密得到的原始计算物料进行计算分析,建立了服务需求端到服务提供端的应用闭环,实现了在原始计算物料不对外泄露的前提下,为服务需求端提供可信计算服务,有效保证了数据隐私安全,有效打破了数据壁垒、有效连接了数据孤岛,使得数据共享流通更加安全可靠。
在一个可选的实施例中,基于区块链的可信计算方法还包括:在所述可信执行环境中,基于随机数生成所述根私钥;利用可信硬件密钥对所述根私钥进行加密处理,将加密后的根私钥存储到所述可信执行环境的外部存储空间。
其中,随机数是指在可信执行环境中随机产生的无规则的数。可选的,随机数是由可信执行环境内置的随机数发生器生成。可信硬件密钥是指可信执行环境中内置的TEE硬件密钥。外部存储空间是指在可信执行环境外部的存储空间。这是由于可信执行环境是通过软硬件方法在中央处理器中构建的一个安全区域,一般而言,可信执行环境不能持久化存储数据,因此,需要将加密后的根私钥持久化存储到可信执行环境的外部存储空间。外部存储空间可以是在服务提供端内部也可以是在服务提供端外部,在服务提供端外部的情况下,外部存储空间可以是区块链网络或者去中心化存储网络。
服务提供端在可信执行环境中基于随机数生成根私钥,然后,利用可信执行环境中内置的可信硬件密钥对根私钥进行加密处理,并将加密后的根私钥存储到可信执行环境的外部存储空间。可以知道的是,若想从可信硬件密钥加密的根私钥中恢复出原始未经加密的根私钥,需要利用可信硬件密钥进行解密。在没有可信硬件密钥的情况下,即使是控制生成根私钥的服务提供端也无法从加密的根私钥中恢复出原始未经加密的根私钥。
上述技术方案服务提供端在可信执行环境中基于随机数控制生成根私钥,并利用可信硬件密钥对根私钥进行加密处理,有效地保证了根私钥安全,为数据安全可靠地共享流通提供了技术支持。上述技术方案,通过将加密后的根私钥存储到可信执行环境的外部存储空间,实现了根私钥的持久化存储便于后续解密处理使用。
在一个可选的实施例中,在所述可信执行环境中,根据所述根私钥推导确定子私钥之前,还包括:获取加密的根私钥,利用所述可信执行环境的可信硬件密钥对所述加密的根私钥进行解密处理。
其中,加密的根私钥是利用可信执行环境的可信硬件密钥对根私钥进行加密处理得到的。加密的根私钥存储在可信执行环境的外部存储空间。
服务提供端从可信执行环境的外部存储空间获取加密的根私钥,服务提供端在可信执行环境中利用可信执行环境的可信硬件密钥,对加密的根私钥进行解密处理,恢复出原始的根私钥。
上述技术方案,通过获取加密的根私钥,利用可信执行环境的可信硬件密钥对加密的根私钥进行解密处理,从加密的根私钥中恢复出原始的根私钥,为推导确定加密计算物料的解密密钥提供了数据支持。
在一个可选的实施例中,所述父公钥基于所述服务提供端在可信执行环境生成的根私钥推导确定;所述子私钥基于所述服务提供端在可信执行环境生成的根私钥推导确定。
其中,父公钥和子私钥分别用于确定对称加密密钥和对称解密密钥。根私钥用于推导确定父公钥和子私钥,根私钥是推导确定对称加密密钥和对称解密密钥的关键数据,根私钥的安全性直接影响对称加密密钥和对称解密密钥的安全性,还会间接影响原始加密数据的安全性。
可信执行环境是通过软硬件方法在中央处理器中构建的一个安全区域,可信执行环境内部加载的数据在机密性和完整性上可以得到保护。服务提供端在可信执行环境中生成根私钥,可以有效保证根私钥的安全性。
服务提供端在可信执行环境中生成根私钥以后,基于该根私钥推导确定父公钥,并将父公钥提供给服务需求端,以便服务需求端将父公钥用于推导确定对称加密密钥。服务提供端在获取加密计算物料以后,利用在可信执行环境中生成的根私钥推导确定子私钥,将子私钥用于推导确定对称解密密钥。
上述技术方案,通过服务提供端在可信执行环境中生成根私钥,并将在可信执行环境中生成的根私钥用于确定父公钥和子私钥,保证了根私钥的安全性,从而父公钥和子私钥的安全性。父公钥和子私钥分别用于确定对称加密密钥和对称解密密钥,在父公钥和子私钥的安全性得到保证的情况下,对称加密密钥和对称解密密钥也是安全可靠的,从而有效降低了原始计算物料泄露风险。
图2是根据本公开实施例提供的另一种基于区块链的可信计算方法的流程图;本实施例是在上述实施例的基础上提出的一种可选方案。具体对操作“根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥”进行细化。
参见图2,本实施例提供的基于区块链的可信计算方法包括:
S201,响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料。
其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定。优选的,所述父公钥基于所述服务提供端在可信执行环境生成的根私钥推导确定。
S202,在所述可信执行环境中,根据所述根私钥推导确定子私钥。
S203,从所述区块链网络中获取客户公钥,将所述客户公钥传入所述可信执行环境中。
客户公钥与客户私钥相对应,客户公钥和客户私钥均是基于密钥生成算法确定。客户私钥由服务需求端保存不对外公开,客户公钥对外界公开。客户私钥用于对称加密密钥,客户公钥用于确定对称解密密钥。为了避免原始计算物料外泄,加密计算物料的解密过程是服务提供端在可信执行环境中进行的。服务提供端从区块链网络中获取客户公钥,将客户公钥传入可信执行环境。
S204,在所述可信执行环境中,基于所述子私钥和客户公钥推导确定所述对称解密密钥。
对称加密密钥根据父公钥和客户私钥推导确定;父公钥和子私钥相对应,均是基于根私钥推导确定。客户私钥和客户公钥相对应,均是基于密钥生成算法确定。基于子私钥和客户公钥可以确定对称解密密钥。
服务提供端在可信执行环境中,基于子私钥和客户公钥推导确定对称解密密钥。可选的,服务提供端可以在可信执行环境中调用密钥导出服务,如利用密钥导出函数(Keyderivation function,KDF),将子私钥和客户公钥作为密钥导出函数的输入数据,通过密钥导出函数推导确定对称解密密钥。
S205,在所述可信执行环境中,利用所述对称解密密钥对所述加密计算物料进行解密处理,以得到所述原始计算物料。
对称解密密钥与对称加密密钥相对应,服务提供端在可信执行环境中利用对称解密密钥对加密计算物料进行解密处理,可以从加密计算物料中恢复出原始计算物料。
S206,在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
本公开实施例提供的技术方案,通过服务提供端在可信执行环境中,基于子私钥和客户公钥推导确定对称解密密钥。利用对称解密密钥对加密计算物料进行解密处理得到原始计算物料,在可信执行环境中,调用计算逻辑程序对原始计算物料进行计算分析得到计算结果。通过在可执行环境中执行解密密钥推导操作、加密计算物料解密操作以及原始计算物料计算操作,实现了解密密钥和原始计算物料的可用不可见,使得原始计算物料不会暴露于服务提供端,保证了解密密钥安全和原始计算物料安全,进而提高了数据隐私安全。
在一个可选的实施例中,所述对称加密密钥基于子公钥和客户私钥推导确定,所述子公钥基于所述父公钥和密钥推导信息推导确定,所述密钥推导信息包括:加密密钥层级和加密密钥编号。
其中,加密密钥层级和加密密钥编号记录有父公钥和子公钥之间的关联关系。父公钥用于确定对称加密密钥以及对称解密密钥。
加密密钥层级用于确定子公钥和父公钥之间的层级关系,加密密钥编号用于确定子公钥在该密钥层级中的密钥编号。服务需求端根据父公钥推导确定子公钥,并根据子公钥的加密密钥层级和加密密钥编号生成子公钥的密钥推导信息。可选的,服务需求端调用密钥管理服务(KMS,Key Management Service)中的父公钥衍生推导服务根据父公钥推导确定子公钥。服务需求端利用子公钥和客户私钥对原始计算物料进行加密处理,并将密钥推导信息以及客户公钥存储到区块链网络中。
父公钥由服务提供端基于根私钥推导确定得到,服务提供端可以将其推导确定的父公钥发送给服务需求端,在已知父公钥的情况下,基于加密密钥层级和加密密钥编号可以推导确定子公钥。
服务提供端在可信执行环境中基于密钥推导信息推导确定与子公钥对应的子私钥,相应的,服务提供端调用密钥管理服务(KMS,Key Management Service)中的父公钥衍生推导服务,基于加密密钥层级,从父公钥推导确定子私钥。在可信执行环境中利用子私钥和客户公钥对加密计算物料进行解密处理。
上述技术方案,提供了一种原始计算物料加密解密机制,本公开实施例利用客户私钥和子公钥推导确定的对称加密密钥对原始计算物料进行对称加密加密,使得服务提供端只有利用子私钥和客户公钥才能从加密计算物料中解密出原始计算物料,提高了加密计算物料的解密难度,进一步提高数据隐私安全。
本公开实施例提供了又一种基于区块链的可信计算方法,本公开实施例是在上述实施例的基础上提出的一种可选方案。具体的,服务提供端响应于服务需求端的密钥分配请求,在所述可信执行环境中,基于预先生成的根私钥推导确定父公钥,并将所述父公钥反馈给所述服务需求端;所述父公钥用于推导确定所述对称加密密钥。
其中,密钥分配请求与服务需求端相对应,密钥分配请求由服务需求端产生,用于请求服务提供端为服务需求端分配父公钥。其中,父公钥由服务提供端基于预先生成的根私钥推导确定。
服务提供端响应于服务需求端的密钥分配请求,在可信执行环境中,基于预先生成的根私钥推导确定父公钥,并将父公钥反馈给服务需求端。服务需求端接收到父公钥以后,基于父公钥推导确定对称加密密钥,服务需求端利用对称加密密钥对原始计算物料进行加密处理。
可选的,在服务需求端的数量为至少两个的情况下,服务提供端为各服务需求端分配不同的父公钥,以避免不同服务需求端的隐私数据泄露。
上述实施例利用在可信执行环境推导确定父公钥,保证了父公钥安全。在保证父公钥安全性的前提下,基于父公钥推导确定对称加密密钥,利用对称加密密钥对原始计算物料进行对称加密处理,保证了原始计算物料的数据安全,有效避免了隐私数据泄露。
在一个可选的实施例中,服务提供端还根据所述父公钥的推导算法,为所述父公钥生成密钥度量报告;将所述密钥度量报告反馈给所述服务需求端。
父公钥的推导算法用于基于根私钥推导父公钥。可选的,父公钥的推导算法可以是分层确定加密算法。其中,密钥度量报告与父公钥相关,密钥度量报告用于评估父公钥的安全性。
服务提供端在利用推导算法基于根私钥推导确定父公钥以后,还根据父公钥的推导算法的运行特征,为父公钥生成密钥度量报告。可选的,服务提供端根据推导算法的运行环境为父公钥生成密钥度量报告。服务提供端将密钥度量报告反馈给服务需求端,服务需求端根据密钥度量报告对父公钥进行安全性校验。
上述技术方案,通过服务提供端根据父公钥的推导算法,为父公钥生成密钥度量报告,使得父公钥是可验证可追溯的,服务提供端将密钥度量报告反馈给服务需求端,为父公钥安全性校验提供了数据支持,便于服务需求端对父公钥进行安全性校验。
图3是根据本公开实施例提供的又一种基于区块链的可信计算方法的流程图;本实施例是在上述实施例的基础上提出的一种可选方案。具体的,在操作“在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果”之后,追加操作“根据所述原始计算物料和所述计算逻辑程序生成唯一表征数据,并根据所述唯一表征数据为所述计算结果生成结果度量报告;根据所述计算结果和所述结果度量报告生成结果上链处理请求,并将所述结果上链处理请求发送给所述区块链网络进行上链发布”。
参见图3,本实施例提供的基于区块链的可信计算方法包括:
S301,响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料。
其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定。优选的,所述父公钥基于所述服务提供端在可信执行环境生成的根私钥推导确定。
S302,在所述可信执行环境中,根据所述根私钥推导确定子私钥,根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥。
优选的,所述子私钥基于所述服务提供端在可信执行环境生成的根私钥推导确定。
S303,在所述可信执行环境中,利用所述对称解密密钥对所述加密计算物料进行解密处理,以得到所述原始计算物料。
S304,在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
S305,根据所述原始计算物料和所述计算逻辑程序生成唯一表征数据,并根据所述唯一表征数据为所述计算结果生成结果度量报告。
其中,唯一表征数据用于唯一表示一个可信计算任务。能够理解的是,服务提供端为服务需求端提供可信计算服务的过程,实际为调用计算逻辑程序对原始计算物料进行分析计算得到计算结果的过程。原始计算物料和计算逻辑程序作为可信计算任务的两个必要要素,可以唯一确定一个可信计算任务,原始计算物料和计算逻辑程序与计算结果直接相关。
唯一表征数据可以根据原始计算物料的数据特征以及计算逻辑程序的运行特征确定。原始计算物料由服务需求端提供,原始计算物料的数据特征可以包括服务需求端信息;运行特征可以包括程序运行环境。
服务提供端根据唯一表征数据为计算结果生成结果度量报告,其中,结果度量报告用于对计算结果属性进行定量描述。根据结果度量报告可以对计算结果有效性和安全性进行验证。
S306,根据所述计算结果和所述结果度量报告生成结果上链处理请求,并将所述结果上链处理请求发送给所述区块链网络进行上链发布。
其中,结果上链处理请求由服务提供端产生并发送给区块链网络。可选的,结果上链请求包括计算结果和结果度量报告。结果上链请求用于请求区块链节点将计算结果和结果度量报告发布到区块链网络。其中,计算结果可以是经过加密处理也可以是不经加密处理的,优选的,计算结果是经过加密处理的,这样可以避免计算结果外漏,保证数据安全。
服务提供端根据计算结果和结果度量报告生成结果上链处理请求,并将结果上链处理请求发送给区块链网络进行上链发布,区块链网络中的区块链节点响应于结果上链处理请求对计算结果和结果度量报告进行有效性验证,在有效性验证通过的情况下,将计算结果和结果度量报告存储到区块链网络中。
本公开实施例通过服务提供端根据原始计算物料和计算逻辑程序生成唯一表征数据,并根据唯一表征数据为计算结果生成结果度量报告,根据计算结果和结果度量报告生成结果上链处理请求,并将结果上链处理请求发送给区块链网络进行上链发布。实现了对计算结果属性的定量描述,使得计算结果是可追溯的和可验证的,为后续校验计算结果有效性提供数据支持,进一步保证了隐私数据安全。
图4是根据本公开实施例提供的又一种基于区块链的可信计算方法的流程图;本实施例是在上述实施例的基础上提出的一种可选方案。具体的,对操作“在所述可信执行环境中,根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥”进行细化。
参见图4,本实施例提供的基于区块链的可信计算方法包括:
S401,响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料。
其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定。优选的,所述父公钥基于所述服务提供端在可信执行环境生成的根私钥推导确定。
S402,在所述可信执行环境中,根据所述根私钥推导确定子私钥,根据所述子私钥和客户公钥在椭圆曲线上确定目标基点。
优选的,所述子私钥基于所述服务提供端在可信执行环境生成的根私钥推导确定。
其中,椭圆曲线用于确定对称加密密钥和对称解密密钥。可选的,服务提供端在确定对称解密密钥过程中使用的椭圆曲线与服务需求端确定对称加密密钥过程中使用的椭圆曲线一致。椭圆曲线直接影响对称解密密钥的安全性
目标基点为椭圆曲线上与子私钥和客户公钥相关的基点。椭圆曲线的基点是椭圆曲线密码机制中进行加解密操作的一个重要参数,因此,目标基点同样会影响对称解密公钥的安全性。
服务提供端首先在可信执行环境中,根据根私钥推导确定子私钥。然后,服务提供端根据子私钥和客户公钥在椭圆曲线上确定目标基点。
S403,对所述目标基点进行编码处理,得到编码结果。
服务提供端目标基点进行编码处理,可选的,服务提供端将目标基点编码为字符串,将编码得到的字符串作为编码结果。
S404,调用密钥管理服务,基于所述编码结果推导确定所述对称解密密钥。
服务提供端调用密钥管理服务中的密钥导出函数,基于编码结果推导确定对称解密密钥。
S405,在所述可信执行环境中,利用所述对称解密密钥对所述加密计算物料进行解密处理,以得到所述原始计算物料。
S406,在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
本公开实施例提供了对称解密密钥的推导确定方法,在可信执行环境中,利用椭圆曲线算法根据子私钥和客户公钥推导确定对称解密密钥,利用对称解密密钥从加密计算物料中恢复原始计算物料。对应于服务需求端对原始计算物料的加密过程,本公开实施例通过利用客户公钥和子私钥共同确定对称解密密钥,使得在缺少客户公钥和子私钥中任意一个均不能推导出解密密钥,提高了加密计算物料的解密难度,提高了加密解密性能,进一步提高数据隐私安全。
图5是根据本公开实施例提供的一种基于区块链的可信计算方法的流程图;本公开实施例适用于服务提供端基于区块链网络为服务需求端提供可信计算服务的情况。该方法可以由基于区块链的可信计算装置来执行,该装置可以采用软件和/或硬件的方式实现,配置于服务需求端并可集成于承载基于区块链的可信计算功能的电子设备中。如图5所示,本实施例的基于区块链的可信计算方法可以包括:
S501,基于密钥生成算法确定客户私钥。
其中,密钥生成算法是指通过在线或离线的交互协商方式(如密码协议等)生成密钥的算法。可选的,密钥生成算法可以为椭圆曲线算法(Elliptic Curve Cryptography,ECC),客户私钥可以为利用椭圆曲线算法生成的,供服务需求端加密使用的私钥。客户私钥由服务需求端保存不对外公开,客户私钥用于对称加密密钥,客户私钥与客户公钥相对应。
可选的,服务需求端基于密钥生成算法确定客户私钥的同时还会基于密钥生成算法确定客户公钥,并将客户公钥存储到外部存储网络如区块链网络或者去中心存储网络,以便于服务提供端获取客户公钥,并将客户公钥用于确定对称解密密钥。
S502,基于父公钥和所述客户私钥推导确定对称加密密钥。
其中,所述父公钥由所述服务提供端基于根私钥推导得到;所述客户私钥由所述服务需求端基于密钥生成算法确定。
服务提供端控制生成根私钥,并基于根私钥推导确定父公钥,服务提供端将父公钥分配给服务需求端。优选的,根私钥由所述服务提供端在可信执行环境中生成。
服务需求端基于父公钥和客户私钥推导确定对称加密密钥。可选的,服务提供端在确定父公钥以后,可以不对父公钥进行加密以明文发送给服务需求端,以便服务需求端将父公钥用于确定对称加密密钥。当然可以理解的是,服务提供端也可以以约定方式对父公钥进行加密处理,将加密后的父公钥发送给服务需求端,再由服务需求端以约定方式恢复出父公钥。
S503,采用所述对称加密密钥对原始计算物料进行加密处理得到加密计算物料,并将所述加密计算物料进行存储。
服务需求端采用对称加密密钥对原始计算物料进行加密处理得到加密计算物料,服务需求端将加密计算物料进行存储。可选的,服务需求端可以将加密计算物料存储到区块链网络,或者其他外部存储网络。
S504,通过区块链网络向服务提供端发布可信计算任务执行请求,以请求所述服务提供端根据所述可信计算任务执行请求获取计算逻辑程序和加密计算物料,且推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
在得到加密计算物料以后,服务需求端生成可信计算任务执行请求,并将可信计算任务执行请求发布到区块链网络中,通过区块链网络向服务提供端发布可信计算任务执行请求。
服务提供端响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料。其中,计算逻辑程序根据实际业务需求预先开发完成。服务提供端将计算逻辑程序和加密计算物料传入可信执行环境中,服务提供端在可信执行环境中,先根据根私钥推导确定子私钥,再根据子私钥和客户公钥,然后基于密钥生成算法推导确定对称解密密钥。接下来,服务提供端利用对称解密密钥对加密计算物料进行解密处理得到原始计算物料。接下来,服务提供端在可信执行环境中,调用计算逻辑程序对解密得到的原始计算物料进行计算分析得到计算结果。
本公开实施例通过将区块链技术应用于可信计算,通过服务需求端基于父公钥和客户私钥推导确定对称加密密钥,服务需求端采用加密密钥对原始计算物料进行加密处理,并将加密计算物料进行存储。通过区块链网络向服务提供端发布可信计算任务执行请求,以请求服务提供端在可信执行环境中对加密计算物料进行解密处理,并在可信执行环境中,调用计算逻辑程序对解密得到的原始计算物料进行计算分析,建立了服务需求端到服务提供端的应用闭环,实现了在原始计算物料不对外泄露的前提下,为服务需求端提供可信计算服务,有效保证了数据隐私安全,有效打破了数据壁垒、有效连接了数据孤岛,使得数据共享流通更加安全可靠。
图6是根据本公开实施例提供的又一种基于区块链的可信计算方法的流程图;本实施例是在上述实施例的基础上提出的一种可选方案。具体的,在操作“基于父公钥和客户私钥推导确定对称加密密钥”之前,追加操作“获取所述服务提供端生成的所述父公钥的密钥度量报告;根据所述密钥度量报告,对所述父公钥进行安全性校验。”
参见图6,本实施例提供的基于区块链的可信计算方法包括:
S601,获取所述服务提供端生成的所述父公钥的密钥度量报告。
其中,父公钥由服务提供端基于根私钥推导得到,密钥度量报告是服务提供端根据父公钥的推导算法生成。
服务需求端获取服务提供端生成的父公钥的密钥度量报告。
S602,根据所述密钥度量报告,对所述父公钥进行安全性校验。
密钥度量报告用于对父公钥属性进行定量描述,父公钥与密钥度量报告一一对应,密钥度量报告可以用于评估父公钥的安全性。服务需求端根据密钥度量报告,对父公钥进行安全性校验。
S603,基于密钥生成算法确定客户私钥。
S604,基于父公钥和所述客户私钥推导确定对称加密密钥。
其中,所述父公钥由所述服务提供端基于根私钥推导得到;所述客户私钥由所述服务需求端基于密钥生成算法确定。优选的,所述根私钥由所述服务提供端在可信执行环境中生成。
若父公钥安全性校验通过,则表明父公钥是安全有效的。服务需求端基于父公钥推导确定对称加密密钥。
若父公钥安全性校验不通过,则表明父公钥是不安全的,父公钥不可用于推导确定对称加密密钥。
S605,采用所述对称加密密钥对原始计算物料进行加密处理得到加密计算物料,并将所述加密计算物料进行存储。
S606,通过区块链网络向服务提供端发布可信计算任务执行请求,以请求所述服务提供端根据所述可信计算任务执行请求获取计算逻辑程序和加密计算物料,且推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
本公开实施例提供的技术方案,通过基于父公钥的密钥度量报告对所述父公钥进行安全性校验,在父公钥安全性校验通过以后,再将父公钥用于推导确定对称加密密钥,利用对称加密密钥对原始计算物料进行加密处理得到加密计算物料。保证加密密钥安全性,进而减少了原始计算物料外泄风险,保护了用户数据隐私安全。
在一个可选的实施例中,所述根据所述密钥度量报告,对所述父公钥进行安全性校验,包括:从所述区块链网络中获取所述父公钥的密钥度量报告,作为参考度量报告;从所述服务提供端获取所述父公钥的密钥度量报告,作为待验证度量报告;将所述参考度量报告和所述待验证度量报告进行匹配,得到匹配结果;根据所述匹配结果,确定所述父公钥的安全性校验结果。
可知道的是,区块链网络具有的加密安全、防篡改、去中心化的特点,父公钥的密钥度量报告在存储到区块链网络上之前,区块链节点会对密钥度量报告进行有效性校验,也就是说,从区块链网络中获取的密钥度量报告是通过有效性校验的,从区块链网络中获取的密钥度量报告是可信任的,可以作为参考度量报告。
服务提供端反馈的密钥度量报告是未经安全性校验,服务提供端反馈的密钥度量报告的安全性未知,将服务提供端反馈的密钥度量报告作为待验证度量报告。
可以知道的是,具有相同密钥度量报告的父公钥是相同的,将参考度量报告作为确定待验证度量报告的安全参考标准,将参考度量报告和待验证度量报告进行匹配,得到匹配结果,根据所述匹配结果,确定所述父公钥的安全性校验结果。
若参考度量报告和待验证度量报告匹配成功,则父公钥安全性校验通过。若参考度量报告和待验证度量报告匹配失败,则父公钥安全性校验不通过。
上述技术方案,提供了一种父公钥安全性校验方法,通过将区块链网络中获取的密钥度量报告和服务提供端获取的密钥度量报告进行匹配,得到匹配结果;根据匹配结果确定父公钥的安全性校验结果。实现了对父公钥的安全性校验,减少了父公钥被篡改的风险,从而保证了加密密钥安全性,保护了用户数据隐私安全。
在一个可选的实施例中,所述根据所述密钥度量报告,对所述父公钥进行安全性校验,包括:调用远程校验服务对所述密钥度量报告的生成环境进行验证,得到生成环境验证结果;根据所述生成环境验证结果判断所述密钥度量报告的生成环境是否为所述可信执行环境,得到生成环境判断结果;根据所述生成环境判断结果,确定所述父公钥的安全性校验结果。
其中,远程校验服务用于请求第三方对密钥报告的生成环境进行验证。可选的,第三方可以为TEE硬件厂商。示例性的,服务需求端可以直接调用TEE硬件厂商提供的TEE执行环境的远程验证服务对密钥度量报告的生成环境进行验证,也可以是通过区块链网络调用预言机服务请求参与方对密钥度量报告的生成环境进行验证。具体根据实际业务需求确定,在这里不作限定。
服务需求端调用远程校验服务对所述密钥度量报告的生成环境进行验证,得到生成环境验证结果;其中,生成环境验证结果用于判断密钥度量报告的生成环境是否为可信执行环境。若密钥度量报告的生成环境为可信执行环境,则表明父公钥是在可信执行环境中产生的,父公钥安全性校验通过;若密钥度量报告的生成环境不为可信执行环境,则表明父公钥不是在可信执行环境中产生的,此时父公钥存在外漏风险,父公钥安全性校验不通过。
上述技术方案,提供了一种父公钥安全性校验方法,调用远程校验服务对密钥度量报告的生成环境进行验证,验证密钥度量报告的生成环境是否为可信执行环境,减少了父公钥外泄风险,从而保证了加密密钥安全性,保护了用户数据隐私安全。
可以理解的是,上述两种父公钥安全性校验方法相互独立,既可以分别使用,也可以同时使用。在同时使用上述两种父公钥安全性校验方法对父公钥进行安全性校验的情况下,可以综合两种父公钥安全性校验方法的安全性校验结果,确定父公钥是否安全。
图7是根据本公开实施例提供的又一种基于区块链的可信计算方法的流程图;本实施例是在上述实施例的基础上提出的一种可选方案。具体的,对操作“基于父公钥和客户私钥推导确定对称加密密钥根据所述子公钥和所述客户私钥推导确定所述对称加密密钥”进行细化。
参见图7,本实施例提供的基于区块链的可信计算方法包括:
S701,基于密钥生成算法确定客户私钥。
S702,调用密钥管理服务,基于密钥推导信息和所述父公钥推导子公钥。
其中,所述密钥推导信息包括:加密密钥层级和加密密钥编号;
其中,密钥管理服务是指用于管理密钥,基于密钥管理服务可以按需创建根私钥,并基于根私钥确定对称加密密钥和解密密钥。可选的,密钥管理服务可以是KMS服务(KeyManagement Service),KMS服务是在Windows Vista之后的产品中的一种新型产品激活机制,用于遏制非法软件授权行为。
其中,加密密钥层级和加密密钥编号记录有父公钥和子公钥之间的关联关系。加密密钥层级用于确定子公钥和父公钥之间的层级关系,加密密钥编号用于确定子公钥在该密钥层级中的密钥编号。
服务需求端调用密钥管理服务,基于密钥推导信息和父公钥推导子公钥。
S703,根据所述子公钥和所述客户私钥推导确定所述对称加密密钥。
在父公钥已知的情况下,服务需求端基于密钥推导信息和父公钥可以推导确定子公钥,具体的,服务需求端基于加密密钥层级、加密密钥编号从父公钥推导确定子公钥。在子公钥确定的情况下,服务需求端根据子公钥和客户私钥推导确定对称加密密钥。
服务需求端根据子公钥和客户私钥推导确定对称加密密钥,可选的,服务需求端可以将子公钥和客户私钥作为对称加密密钥衍生函数的输入,调用对称加密密钥衍生函数推导确定对称加密密钥。
S704,采用所述对称加密密钥对原始计算物料进行加密处理得到加密计算物料,并将所述加密计算物料进行存储。
S705,通过区块链网络向服务提供端发布可信计算任务执行请求,以请求所述服务提供端根据所述可信计算任务执行请求获取计算逻辑程序和加密计算物料,且推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
本公开实施例提供了一种原始计算物料加密机制,本公开实施例服务需求端根据子公钥和客户私钥推导确定对称加密密钥,利用同时包括子公钥信息和客户私钥信息的对称加密密钥对原始计算物料进行加密得到加密计算物料,提高了加密计算物料的解密难度,进一步提高数据隐私安全。
在一个可选的实施例中,所述根据所述子公钥和所述客户私钥推导确定所述对称加密密钥,包括:根据所述子公钥和所述客户私钥在椭圆曲线上确定目标基点;对所述目标基点进行编码处理,得到编码结果;调用密钥管理服务,基于所述编码结果推导确定所述对称加密密钥。
优选的,所述子私钥基于所述服务提供端在可信执行环境生成的根私钥推导确定。
其中,椭圆曲线用于确定对称加密密钥和对称解密密钥,椭圆曲线直接影响对称加密密钥的安全性。可选的,服务提供端在确定对称解密密钥过程中使用的椭圆曲线与服务需求端确定对称加密密钥过程中使用的椭圆曲线一致。
目标基点为椭圆曲线上与子公钥和客户私钥相关的基点。椭圆曲线的基点是椭圆曲线密码机制中进行加解密操作的一个重要参数,因此,目标基点同样会影响对称加密公钥的安全性。
服务需求端根据子私钥和客户公钥在椭圆曲线上确定目标基点,然后服务需求端对目标基点进行编码处理,得到编码结果。可选的,服务需求端将目标基点编码为字符串,将编码得到的字符串作为编码结果。在得到编码结果以后,服务需求端调用密钥管理服务,基于编码结果推导确定对称加密密钥。可选的,服务需求端将编码结果作为密钥导出函数的输入数据,通过密钥导出函数推导确定对称加密密钥。
上述技术方案,本公开实施例提供了对称加密密钥的推导确定方法,在可信执行环境中,利用椭圆曲线算法根据子公钥和客户私钥推导确定对称加密密钥,利用对称加密密钥对原始计算物料加密得到加密计算物料。服务提供端对加密计算物料的解密过程与服务需求端对原始计算物料的加密过程相对应,本公开实施例通过利用客户私钥和子公钥共同确定对称加密密钥,提高了加密解密性能,进一步提高数据隐私安全。
图8是根据本公开实施例提供的一种基于区块链的可信计算方法的流程图,本公开实施例适用于服务提供端基于区块链网络为服务需求端提供可信计算服务的情况。该方法可以由基于区块链的可信计算装置来执行,该装置可以采用软件和/或硬件的方式实现,配置于区块链节点并可集成于承载基于区块链的可信计算功能的电子设备中。如图8所示,本实施例的基于区块链的可信计算方法可以包括:
参见图8,本实施例提供的基于区块链的可信计算方法包括:
S801,获取服务需求端发布的可信计算任务执行请求,并使得所述服务提供端响应所述可信计算任务执行请求,以获取计算逻辑程序和加密计算物料,且根据子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
优选的,所述子私钥为基于所述服务提供端在可信执行环境生成的根私钥推导确定。
其中,可信计算任务执行请求用于请求服务提供端为服务需求端提供可信计算服务。可信计算任务执行请求由服务需求端产生。
服务需求端产生可信计算任务执行请求,并将可信计算任务执行请求发布到区块链网络。区块链网络中的区块链节点获取到可信计算任务请求通知服务提供端。服务提供端响应于可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料。服务提供端将计算逻辑程序和加密计算物料传入可信执行环境中,服务提供端在可信执行环境中,根据子私钥和客户公钥,基于密钥生成算法,并利用对称解密密钥对加密计算物料进行解密处理得到原始计算物料。服务提供端在可信执行环境中,调用计算逻辑程序对解密得到的原始计算物料进行计算分析得到计算结果。
S802,响应于所述服务提供端的结果上链处理请求,对所述结果上链处理请求中计算结果的结果度量报告进行安全性校验。
其中,所述结果度量报告用于唯一表征所述计算结果的原始计算物料和计算逻辑程序。
服务提供端根据原始计算物料和计算逻辑程序生成唯一表征数据,并根据唯一表征数据为计算结果生成结果度量报告。原始计算物料和计算逻辑程序作为可信计算任务的两个必要要素,可以唯一确定一个可信计算任务,原始计算物料和计算逻辑程序与计算结果直接相关。
其中,结果上链处理请求由服务提供端产生并发送给区块链网络。可选的,结果上链请求包括计算结果和结果度量报告。结果上链请求用于请求区块链节点将计算结果和结果度量报告发布到区块链网络。
区块链节点响应于服务提供端的结果上链处理请求,对结果上链处理请求中计算结果的结果度量报告进行安全性校验。区块链节点对结果上链处理请求中计算结果的结果度量报告进行安全性校验,实际上是通过对原始计算物料和计算逻辑程序进行安全性校验。
S803,若安全性校验通过,则将所述结果度量报告和计算结果进行上链存储。
若安全性校验通过,则表明结果度量报告和计算结果是安全有效的,区块链节点将结果度量报告和计算结果进行上链存储。
本公开实施例通过将区块链技术应用于可信计算,通过区块链网络将服务提供端和服务需求端组织起来,建立了服务需求端到服务提供端的应用闭环,本公开实施例通过区块链网络通知服务提供端在可信执行环境中对加密计算物料进行解密处理,并在可信执行环境中,调用计算逻辑程序对解密得到的原始计算物料进行计算分析,将结果度量报告和计算结果存储到区块链网络,充分利用了区块链网络的加密安全、防篡改、去中心化的特点,在服务需求端和服务提供端之间实现了数据价值流动交换,进一步保证了数据安全性,有效打破了数据壁垒、有效连接了数据孤岛,使得数据共享流通更加安全可靠。
图9是根据本公开实施例提供的又一种基于区块链的可信计算方法的流程图;本实施例是在上述实施例的基础上提出的一种可选方案。具体的,对操作“对所述结果上链处理请求中计算结果的结果度量报告进行安全性校验”进行细化。
参见图9,本实施例提供的基于区块链的可信计算方法包括:
S901,获取服务需求端发布的可信计算任务执行请求,并使得所述服务提供端响应所述可信计算任务执行请求,以获取计算逻辑程序和加密计算物料,且根据子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
优选的,所述子私钥为基于所述服务提供端在可信执行环境生成的根私钥推导确定。
S902,响应于所述服务提供端的结果上链处理请求,对所述结果度量报告的计算逻辑程序进行验证,得到计算逻辑验证结果。
区块链节点响应于服务提供端的结果上链处理请求,调用区块链网络中的智能合约对结果度量报告的计算逻辑程序进行验证。核实验证结果度量报告对应的计算逻辑程序是否与服务需求端指定计算逻辑程序一致。
若结果度量报告的计算逻辑程序与服务需求端指定的计算逻辑程序一致,则计算逻辑验证通过,可以对结果度量报告的生成环境进行进一步验证。若结果度量报告的计算逻辑程序与服务需求端指定的计算逻辑程序不一致,则计算逻辑验证不通过,可以直接确定安全校验不通过,结果度量报告和计算结果不能上链存储。
S903,若计算逻辑验证通过,调用预言机服务,请求至少两个参与方对所述结果度量报告的生成环境进行验证,得到生成环境验证结果。
若计算逻辑验证通过,则区块链节点对结果度量报告的生成环境进行进一步验证。具体的,区块链节点通过调用预言机服务请求至少两个参与方验证结果度量报告的生成环境是否为可信执行环境。
其中,参与方可以为区块链外部的第三方。可选的,参与方可以是TEE硬件厂商。
预言机服务用于帮助区块链上的智能合约连接区块链网络以外的数据,完成区块链网络与现实世界的数据互通。区块链网络以外的数据可以是来自互联网的数据或者来自现实世界的数据。可选的,预言机服务可以是去中心化预言机服务。区块链节点调用预言机服务,通过预言机服务请求至少两个参与方的远程验证服务,不同参与方的远程验证服务相互独立。其中,远程验证服务可以是由TEE硬件厂商提供的TEE执行环境的远程验证服务。
预言机服务会根据各个独立的远程验证服务返回的验证结果,确定结果度量报告的生成环境是否为可信执行环境。可选的,预言机服务统计验证通过的验证结果占全部验证结果的比重,得到通过比重。将通过比重与预设比重阈值进行比较,若通过比重大于预设比重阈值,则确定结果度量报告的生成环境为可信执行环境。其中,预设比重阈值根据实际业务需求预先确定,在这里不作限定。示例性的,预设比重阈值可以为超过2/3或者超过1/2。
S904,根据所述生成环境验证结果确定安全性校验结果。
生成环境验证结果根据结果度量报告生成环境是否为可信执行环境确定。
若结果度量报告在可信执行环境中生成,则表明结果度量报告和计算结果是安全有效的,可以确定结果度量报告和计算结果的安全性校验通过。
若结果度量报告不是在可信执行环境中生成,则表明结果度量报告和计算结果存在被篡改风险,结果度量报告和计算结果的安全性校验不通过。
S905,若安全性校验通过,则将所述结果度量报告和计算结果进行上链存储。
在结果度量报告和计算结果的安全性校验通过的情况下,将结果度量报告和计算结果进行上链存储。
若结果度量报告和计算结果的安全性校验不通过,则结果度量报告和计算结果不能进行上链存储。
本公开实施例提供的技术方案,通过区块链节点首先对结果度量报告的计算逻辑程序进行计算逻辑验证,在计算逻辑验证通过的情况下,再调用预言机服务对结果度量报告进行生成环境验证,判断结果度量报告是否在可信执行环境中生成,在提高了区块链节点的资源利用率。区块链节点在结果度量报告是在可在结果度量报告在可信执行环境中生成的情况下,才将结果度量报告和计算结果进行上链存储,保证了结果度量报告和计算结果的有效性和安全性。
图10是根据本公开实施例提供的又一种基于区块链的可信计算系统的结构图,如图10所示,基于区块链的可信计算系统,包括:服务提供端、服务需求端和区块链网络。
其中,服务提供端是提供可信计算服务的一端,服务提供端中部署有可信执行环境(TEE环境),服务提供端基于可信执行环境为服务需求端提供可信计算服务。
服务需求端是指请求可信计算服务的一端,服务需求端需要提供加密计算物料。服务需求端提供的加密计算物料,是将利用客户私钥和子公钥推导确定的对称加密密钥,对原始计算物料进行加密处理得到。其中,子公钥是由服务提供端基于父公钥推导确定的,父公钥是服务提供端基于在可信执行环境生成根私钥推导确定的。根私钥由服务提供端在可信执行环境中生成。
服务需求端的数量可以为多个。图10示出了其中一个服务需求端向服务提供端请求可信计算的情况。不同服务需求端请求基于区块链的可信计算服务的过程相似,这里不再赘述。
服务需求端在向服务提供端请求可信计算服务之前,需要请求服务提供端为其分配确定对称加密密钥所需的父公钥。
服务提供端确定父公钥的过程如下:1、服务提供端首先在可信执行环境(TEE环境)中调用随机数生成服务,请求随机数发生器生成随机数;2、服务提供端在TEE环境中基于随机数生成根私钥。具体的,服务提供端在TEE环境中首先调用密钥管理服务(KMS服务)初始化父公钥;3、服务提供端调用密钥管理服务中的父公钥衍生推导服务,基于根私钥推导确定父公钥。服务提供端还需要根据父公钥的推导算法,为父公钥生成密钥度量报告。4、服务提供端将父公钥和父公钥的密钥度量报告发送给服务需求端。值得注意的是,在服务需求端的数量大于1的情况下,服务提供端为不同服务需求端分配的父公钥互不相同。服务提供端为服务需求端1分配的父公钥1与服务提供端为服务需求端2分配的父公钥2不同。
可选的,服务提供端在生成根私钥之后,利用TEE环境内置的可信硬件密钥对根私钥进行加密处理将加密后的根私钥存储到TEE环境的外部存储空间。可选的,服务提供端将加密后的根私钥存储到去中心化存储网络或者区块链网络。
服务需求端推导确定对称加密密钥的过程如下:
1、服务需求端基于密钥生成算法确定客户私钥和客户公钥,其中,密钥生成算法可以是椭圆曲线算法,其中,客户私钥用于确定对称加密密钥,客户公钥用于确定对称解密密钥,可选的,服务需求端将客户公钥存储到外部存储网络,如区块链网络或者去中心存储网络,如图10所示,在本公开实施例中服务需求端将客户公钥存储到了去中心存储网络,当然可以理解的是,客户公钥还可以存储到区块链网络中。
2、服务需求端调用密钥管理服务,基于密钥推导信息和父公钥推导子公钥。具体包括如下步骤:1)服务需求端首先根据父公钥的密钥度量报告,对父公钥进行安全性校验;2)在父公钥安全校验通过的情况下,服务需求端调用密钥管理服务利用分层确定加密算法基于父公钥推导确定子公钥;3)服务需求端根据推导确定子公钥的推导信息,确定密钥推导信息。其中,密钥推导信息包括:子公钥层级和子公钥编号。
3、根据子公钥和客户私钥推导确定对称加密密钥,具体包括以下步骤:1)服务需求端根据子公钥和客户私钥在椭圆曲线上确定目标基点;其中,椭圆曲线是服务需求端创建的,目标基点是椭圆曲线上与子公钥和客户私钥相关的基点。2)服务需求端对目标基点进行编码处理得到字符串,并将字符串作为编码结果;3)服务需求端调用密钥管理服务中的密钥导出服务如密钥导出函数(KDF),基于编码结果推导确定对称加密密钥。
4、服务需求端利用对称加密密钥对原始计算物料进行加密处理得到加密计算物料。服务需求端将密钥推导信息和加密计算物料进行存储。可选的,服务需求端将密钥推导信息和加密计算物料存储到去中心存储网络或者区块链网络。服务需求端在将密钥推导信息和加密计算物料进行存储以后获取密钥推导信息和加密计算物料的存储地址作为物料地址。服务需求端还需要获取可信计算需要的计算逻辑程序的存储地址作为程序地址。其中,计算逻辑程序根据实际业务需求预先开发完成,计算逻辑程序是能够实现完整业务功能,且可在可信执行环境中运行的程序代码。计算逻辑程序由技术提供端预先存储到去中心存储网络或者区块链网络。
5、服务需求端根据程序地址和物料地址生成可信计算任务执行请求请求,并向区块链网络发布可信计算任务执行请求,区块链网络获取服务需求端发布的可信计算任务执行请求,并使得服务提供端响应可信计算任务执行请求为服务需求端提供可信计算服务。
服务提供端响应可信计算任务执行请求为服务需求端提供可信计算服务具体包括两个过程,分别为计算加密物料解密过程和原始计算物料计算过程。
其中,计算加密物料解密过程如下:
1、服务提供端响应于区块链网络发布的可信计算任务执行请求,根据可信计算任务执行请求中的物料地址,获取计算任务所需的加密计算物料以及密钥推导信息,服务提供端还需要从区块链网络中获取客户公钥。
2、服务提供端从TEE环境的外部存储空间获取加密的根私钥,将加密的根私钥、加密计算物料、密钥推导信息和客户公钥传入TEE环境;
3、服务提供端在TEE环境中利用TEE环境内置的可信硬件密钥恢复根私钥,调用密钥管理服务中的子私钥衍生推导服务,基于根私钥和密钥推导信息推导确定与子公钥对应的子私钥。
4、服务提供端根据子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥;具体包括以下步骤:1)服务提供端在可信执行环境中,根据子私钥和客户公钥在椭圆曲线上确定目标基点;2)服务提供端对目标基点进行编码处理得到字符串,将字符串作为编码结果;3)服务提供端调用密钥管理服务中的密钥导出函数,基于编码结果推导确定对称解密密钥。
5、服务提供端在可信执行环境中,利用对称解密密钥对加密计算物料进行解密处理,解密得到原始计算物料。
6、服务提供端在可信执行环境中,调用计算逻辑程序对原始计算物料进行计算分析得到计算结果,具体包括以下步骤:1)服务提供端根据可信计算任务执行请求中的程序地址,获取计算任务所需的计算逻辑程序;2)服务提供端将计算逻辑程序传入TEE环境;3)服务提供端在TEE环境调用计算逻辑程序对原始计算物料进行分析计算得到计算结果;4)服务提供端根据原始计算物料和计算逻辑程序生成唯一表征数据,并根据唯一表征数据为计算结果生成结果度量报告;5)服务提供端根据计算结果和结果度量报告生成结果上链处理请求,并将结果上链处理请求发送给区块链网络进行上链发布。
区块链网络中区块链节点响应于服务提供端的结果上链处理请求,对结果上链处理请求中计算结果的结果度量报告进行安全性校验;在安全性校验通过的情况下,将结果度量报告和计算结果进行上链存储。可选的,区块链网络中区块链节点并不直接将结果度量报告和计算结果直接存储到区块链网络中,而是向去中心存储网络发布存储任务,将结果度量报告和计算结果存储到去中心存储网络中,区块链节点在区块链网络中记录结果度量报告和计算结果的存储地址。去中心存储网络具有存储空间大,数据读取效率高的优点。
可选的,区块链节点结果上链处理请求中计算结果的结果度量报告进行安全性校验过程包括如下步骤:1)对结果度量报告的计算逻辑程序进行验证,得到计算逻辑验证结果;2)若计算逻辑验证通过,调用预言机服务,请求至少两个参与方对所述结果度量报告的生成环境进行验证,验证结果度量报告的生成环境是否可信执行环境。具体的,预言机服务请求至少两个参与方的远程验证服务,不同参与方的远程验证服务相互独立。其中,远程验证服务可以是由TEE硬件厂商提供的TEE执行环境的远程验证服务。预言机服务会根据各个独立的远程验证服务返回的验证结果,确定结果度量报告的生成环境是否为可信执行环境;3)若结果度量报告在所述可信执行环境中生成,则安全性校验通过,发布向去中心存储网络发布存储任务,并在智能合约中记录计算结果有效。
本公开实施例通过将区块链技术应用于可信计算,通过服务提供端在可信执行环境中对加密计算物料进行解密处理,并在可信执行环境中,调用计算逻辑程序对解密得到的原始计算物料进行计算分析,建立了服务需求端到服务提供端的应用闭环,实现了在原始计算物料不对外泄露的前提下,为服务需求端提供可信计算服务,有效保证了数据隐私安全,有效打破了数据壁垒、有效连接了数据孤岛,使得数据共享流通更加安全可靠。
图11是根据本公开实施例提供的一种基于区块链的可信计算装置的结构示意图,本公开实施例适用于服务提供端基于区块链网络为服务需求端提供可信计算服务的情况。该装置可以采用软件和/或硬件来实现,该装置可以实现本公开任意实施例所述的基于区块链的可信计算方法,该装置配置于服务提供端。如图11所示,该基于区块链的可信计算装置1100包括:
计算数据获取模块1101,用于响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料;其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;
对称解密密钥确定模块1102,用于在所述可信执行环境中,根据所述根私钥推导确定子私钥,根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥;
解密处理模块1103,用于在所述可信执行环境中,利用所述对称解密密钥对所述加密计算物料进行解密处理,以得到所述原始计算物料;
计算分析模块1104,用于在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
本公开实施例通过将区块链技术应用于可信计算,通过服务提供端在可信执行环境中对加密计算物料进行解密处理,并在可信执行环境中,调用计算逻辑程序对解密得到的原始计算物料进行计算分析,建立了服务需求端到服务提供端的应用闭环,实现了在原始计算物料不对外泄露的前提下,为服务需求端提供可信计算服务,有效保证了数据隐私安全,有效打破了数据壁垒、有效连接了数据孤岛,使得数据共享流通更加安全可靠。
可选的,所述父公钥基于所述服务提供端在可信执行环境生成的根私钥推导确定;所述子私钥基于所述服务提供端在可信执行环境生成的根私钥推导确定。
可选的,对称解密密钥确定模块1102,包括:
客户公钥获取子模块,用于从所述区块链网络中获取客户公钥,将所述客户公钥传入所述可信执行环境中;
对称解密密钥确定子模块,用于在所述可信执行环境中,基于所述子私钥和客户公钥推导确定所述对称解密密钥。
可选的,所述对称加密密钥基于子公钥和客户私钥推导确定,所述子公钥基于所述父公钥和密钥推导信息推导确定,所述密钥推导信息包括:加密密钥层级和加密密钥编号。
可选的,对称解密密钥确定模块1102,包括:目标基点确定子模块,用于在所述可信执行环境中,根据所述子私钥和客户公钥在椭圆曲线上确定目标基点;编码处理子模块,用于对所述目标基点进行编码处理,得到编码结果;对称解密密钥确定子模块,用于调用密钥管理服务,基于所述编码结果推导确定所述对称解密密钥。
可选的,所述装置还包括:根私钥解密模块,具体用于在所述可信执行环境中,根据所述根私钥推导确定子私钥之前,获取加密的根私钥,利用所述可信执行环境的可信硬件密钥对所述加密的根私钥进行解密处理。
可选的,计算数据获取模块1101,具体用于响应于区块链网络发布的可信计算任务执行请求,根据所述可信计算任务执行请求中的程序地址和物料地址,从区块链网络中读取计算任务所需的计算逻辑程序和加密计算物料。
可选的,所述装置还包括:结果度量报告生成模块,用于在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果之后,根据所述原始计算物料和所述计算逻辑程序生成唯一表征数据,并根据所述唯一表征数据为所述计算结果生成结果度量报告;结果上链处理请求生成模块,用于根据所述计算结果和所述结果度量报告生成结果上链处理请求,并将所述结果上链处理请求发送给所述区块链网络进行上链发布。
可选的,所述装置还包括:父公钥确定模块,具体用于响应于服务需求端的密钥分配请求,在所述可信执行环境中,基于预先生成的根私钥推导确定父公钥,并将所述父公钥反馈给所述服务需求端;所述父公钥用于推导确定所述对称加密密钥。
可选的,所述装置还包括:密钥度量报告生成模块,用于根据所述父公钥的推导算法,为所述父公钥生成密钥度量报告;密钥度量报告反馈模块,用于将所述密钥度量报告反馈给所述服务需求端。
可选的,所述装置还包括:根私钥生成模块,用于在所述可信执行环境中,基于随机数生成所述根私钥;根私钥加密模块,用于利用可信硬件密钥对所述根私钥进行加密处理,将加密后的根私钥存储到所述可信执行环境的外部存储空间。
本公开实施例所提供的基于区块链的可信计算装置可执行本公开任意实施例所提供的基于区块链的可信计算方法,具备执行基于区块链的可信计算方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的计算逻辑程序和加密计算物料的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
图12是根据本公开实施例提供的一种基于区块链的可信计算装置的结构示意图,本公开实施例适用于服务提供端基于区块链网络为服务需求端提供可信计算服务的情况。该装置可以采用软件和/或硬件来实现,该装置可以实现本公开任意实施例所述的基于区块链的可信计算方法,该装置配置于服务需求端。如图12所示,该基于区块链的可信计算装置1200包括:
客户私钥确定模块1201,用于基于密钥生成算法确定客户私钥;
对称加密密钥确定模块1202,用于基于父公钥和所述客户私钥推导确定对称加密密钥;其中,所述父公钥由所述服务提供端基于根私钥推导得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;
加密处理模块1203,用于采用所述对称加密密钥对原始计算物料进行加密处理得到加密计算物料,并将所述加密计算物料进行存储;
可信计算任务执行请求发布模块1204,用于通过区块链网络向服务提供端发布可信计算任务执行请求,以请求所述服务提供端根据所述可信计算任务执行请求获取计算逻辑程序和加密计算物料,且推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
本公开实施例通过将区块链技术应用于可信计算,通过服务需求端基于父公钥和客户私钥推导确定对称加密密钥,服务需求端采用加密密钥对原始计算物料进行加密处理,并将加密计算物料进行存储。通过区块链网络向服务提供端发布可信计算任务执行请求,以请求服务提供端在可信执行环境中对加密计算物料进行解密处理,并在可信执行环境中,调用计算逻辑程序对解密得到的原始计算物料进行计算分析,建立了服务需求端到服务提供端的应用闭环,实现了在原始计算物料不对外泄露的前提下,为服务需求端提供可信计算服务,有效保证了数据隐私安全,有效打破了数据壁垒、有效连接了数据孤岛,使得数据共享流通更加安全可靠。
可选的,所述根私钥由所述服务提供端在可信执行环境中生成。
可选的,对称加密密钥确定模块1202,包括:子公钥推导子模块,用于调用密钥管理服务,基于密钥推导信息和所述父公钥推导子公钥;其中,所述密钥推导信息包括:加密密钥层级和加密密钥编号;对称加密密钥确定子模块,用于根据所述子公钥和所述客户私钥推导确定所述对称加密密钥。
可选的,对称加密密钥确定子模块,包括:目标基点确定单元,用于根据所述子公钥和所述客户私钥在椭圆曲线上确定目标基点;编码处理单元,用于对所述目标基点进行编码处理,得到编码结果;对称加密密钥确定单元,用于调用密钥管理服务,基于所述编码结果推导确定所述对称加密密钥。
可选的,所述装置还包括:密钥度量报告生成模块,用于在所述基于父公钥和客户私钥推导确定对称加密密钥之前,获取所述服务提供端生成的所述父公钥的密钥度量报告;安全性校验模块,用于根据所述密钥度量报告,对所述父公钥进行安全性校验。
可选的,安全性校验模块,包括:参考度量报告确定子模块,用于从所述区块链网络中获取所述父公钥的密钥度量报告,作为参考度量报告;待验证度量报告确定子模块,用于从所述服务提供端获取所述父公钥的密钥度量报告,作为待验证度量报告;度量报告匹配子模块,用于将所述参考度量报告和所述待验证度量报告进行匹配,得到匹配结果;第一安全性校验结果确定子模块,用于根据所述匹配结果,确定所述父公钥的安全性校验结果。
可选的,安全性校验模块,包括:生成环境验证子模块,用于调用远程校验服务对所述密钥度量报告的生成环境进行验证,得到生成环境验证结果;环境判断结果生成子模块,用于根据所述生成环境验证结果判断所述密钥度量报告的生成环境是否为所述可信执行环境,得到生成环境判断结果;第二安全性校验结果子模块,用于根据所述生成环境判断结果,确定所述父公钥的安全性校验结果。
本公开实施例所提供的基于区块链的可信计算装置可执行本公开任意实施例所提供的基于区块链的可信计算方法,具备执行基于区块链的可信计算方法相应的功能模块和有益效果。
图13是根据本公开实施例提供的一种基于区块链的可信计算装置的结构示意图,本公开实施例适用于服务提供端基于区块链网络为服务需求端提供可信计算服务的情况。该装置可以采用软件和/或硬件来实现,该装置可以实现本公开任意实施例所述的基于区块链的可信计算方法,该装置配置于区块链节点。如图13所示,该基于区块链的可信计算装置1300包括:
可信计算任务执行请求获取模块1301,用于获取服务需求端发布的可信计算任务执行请求,并使得所述服务提供端响应所述可信计算任务执行请求,以获取计算逻辑程序和加密计算物料,且根据子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果。
计算结果安全性校验模块1302,用于响应于所述服务提供端的结果上链处理请求,对所述结果上链处理请求中计算结果的结果度量报告进行安全性校验;其中,所述结果度量报告用于唯一表征所述计算结果的原始计算物料和计算逻辑程序;
计算结果存储模块1303,用于若安全性校验通过,则将所述结果度量报告和计算结果进行上链存储。
本公开实施例提供的技术方案,通过区块链节点首先对结果度量报告的计算逻辑程序进行计算逻辑验证,在计算逻辑验证通过的情况下,再调用预言机服务对结果度量报告进行生成环境验证,判断结果度量报告是否在可信执行环境中生成,在提高了区块链节点的资源利用率。区块链节点在结果度量报告是在可在结果度量报告在可信执行环境中生成的情况下,才将结果度量报告和计算结果进行上链存储,保证了结果度量报告和计算结果的有效性和安全性。
可选的,所述子私钥为基于所述服务提供端在可信执行环境生成的根私钥推导确定。
可选的,计算结果安全性校验模块1302,包括:计算逻辑验证子模块,用于对所述结果度量报告的计算逻辑程序进行验证,得到计算逻辑验证结果;生成环境验证子模块,用于若计算逻辑验证通过,调用预言机服务,请求至少两个参与方对所述结果度量报告的生成环境进行验证,得到生成环境验证结果;安全性校验结果确定子模块,根据所述生成环境验证结果确定安全性校验结果。
本公开实施例所提供的基于区块链的可信计算装置可执行本公开任意实施例所提供的基于区块链的可信计算方法,具备执行基于区块链的可信计算方法相应的功能模块和有益效果。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图14示出了可以用来实施本公开的实施例的示例电子设备1400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图14所示,电子设备1400包括计算单元1401,其可以根据存储在只读存储器(ROM)1402中的计算机程序或者从存储单元1408加载到随机访问存储器(RAM)1403中的计算机程序,来执行各种适当的动作和处理。在RAM 1403中,还可存储电子设备1400操作所需的各种程序和数据。计算单元1401、ROM 1402以及RAM 1403通过总线1404彼此相连。输入/输出(I/O)接口1405也连接至总线1404。
电子设备1400中的多个部件连接至I/O接口1405,包括:输入单元1406,例如键盘、鼠标等;输出单元1407,例如各种类型的显示器、扬声器等;存储单元1408,例如磁盘、光盘等;以及通信单元1409,例如网卡、调制解调器、无线通信收发机等。通信单元1409允许电子设备1400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1401执行上文所描述的各个方法和处理,例如基于区块链的可信计算方法。例如,在一些实施例中,基于区块链的可信计算方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1402和/或通信单元1409而被载入和/或安装到电子设备1400上。当计算机程序加载到RAM 1403并由计算单元1401执行时,可以执行上文描述的基于区块链的可信计算方法的一个或多个步骤。备选地,在其他实施例中,计算单元1401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于区块链的可信计算方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程基于区块链的可信计算装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (20)

1.一种基于区块链的可信计算方法,由服务提供端执行,包括:
响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料;其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;其中,所述父公钥基于所述服务提供端在可信执行环境生成的根私钥推导确定;其中,所述对称加密密钥基于子公钥和客户私钥推导确定,所述子公钥基于所述父公钥和密钥推导信息推导确定,所述密钥推导信息包括:加密密钥层级和加密密钥编号;
在可信执行环境中,根据根私钥推导确定子私钥,根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥;
在所述可信执行环境中,利用所述对称解密密钥对所述加密计算物料进行解密处理,以得到所述原始计算物料;
在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果;
其中,所述根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥,包括:从所述区块链网络中获取客户公钥,将所述客户公钥传入所述可信执行环境中;在所述可信执行环境中,基于所述子私钥和客户公钥推导确定所述对称解密密钥。
2.根据权利要求1所述的方法,其中,在所述可信执行环境中,根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥,包括:
在所述可信执行环境中,根据所述子私钥和客户公钥在椭圆曲线上确定目标基点;
对所述目标基点进行编码处理,得到编码结果;
调用密钥管理服务,基于所述编码结果推导确定所述对称解密密钥。
3.根据权利要求1所述的方法,其中,在所述可信执行环境中,根据所述根私钥推导确定子私钥之前,还包括:
获取加密的根私钥,利用所述可信执行环境的可信硬件密钥对所述加密的根私钥进行解密处理。
4.根据权利要求1所述的方法,其中,所述响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料,包括:
响应于区块链网络发布的可信计算任务执行请求,根据所述可信计算任务执行请求中的程序地址和物料地址,从区块链网络中读取计算任务所需的计算逻辑程序和加密计算物料。
5.根据权利要求1所述的方法,其中,在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果之后,所述方法还包括:
根据所述原始计算物料和所述计算逻辑程序生成唯一表征数据,并根据所述唯一表征数据为所述计算结果生成结果度量报告;
根据所述计算结果和所述结果度量报告生成结果上链处理请求,并将所述结果上链处理请求发送给所述区块链网络进行上链发布。
6.根据权利要求1所述的方法,其中,所述方法还包括:
响应于服务需求端的密钥分配请求,在所述可信执行环境中,基于预先生成的根私钥推导确定父公钥,并将所述父公钥反馈给所述服务需求端;所述父公钥用于推导确定所述对称加密密钥。
7.根据权利要求6所述方法,其中,所述方法还包括:
根据所述父公钥的推导算法,为所述父公钥生成密钥度量报告;
将所述密钥度量报告反馈给所述服务需求端。
8.根据权利要求1所述的方法,其中,所述方法还包括:
在所述可信执行环境中,基于随机数生成所述根私钥;
利用可信硬件密钥对所述根私钥进行加密处理,将加密后的根私钥存储到所述可信执行环境的外部存储空间。
9.一种基于区块链的可信计算方法,由服务需求端执行,包括:
基于密钥生成算法确定客户私钥;
基于父公钥和所述客户私钥推导确定对称加密密钥;其中,所述父公钥由服务提供端基于根私钥推导得到;所述根私钥由所述服务提供端在可信执行环境中生成;所述客户私钥由所述服务需求端基于密钥生成算法确定;
采用所述对称加密密钥对原始计算物料进行加密处理得到加密计算物料,并将所述加密计算物料进行存储;
通过区块链网络向服务提供端发布可信计算任务执行请求,以请求所述服务提供端根据所述可信计算任务执行请求获取计算逻辑程序和加密计算物料,且推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果;
其中,所述基于父公钥和所述客户私钥推导确定对称加密密钥,包括:调用密钥管理服务,基于密钥推导信息和所述父公钥推导子公钥;其中,所述密钥推导信息包括:加密密钥层级和加密密钥编号;根据所述子公钥和所述客户私钥推导确定所述对称加密密钥;
其中,服务提供端推导确定对称解密密钥,包括:服务提供端在可信执行环境中,根据根私钥推导确定子私钥;从所述区块链网络中获取客户公钥,将所述客户公钥传入所述可信执行环境中;在所述可信执行环境中,基于所述子私钥和客户公钥推导确定所述对称解密密钥。
10.根据权利要求9所述的方法,其中,所述根据所述子公钥和所述客户私钥推导确定所述对称加密密钥,包括:
根据所述子公钥和所述客户私钥在椭圆曲线上确定目标基点;
对所述目标基点进行编码处理,得到编码结果;
调用密钥管理服务,基于所述编码结果推导确定所述对称加密密钥。
11.根据权利要求9所述的方法,其中,在所述基于父公钥和客户私钥推导确定对称加密密钥之前,所述方法还包括:
获取所述服务提供端生成的所述父公钥的密钥度量报告;
根据所述密钥度量报告,对所述父公钥进行安全性校验。
12.根据权利要求11所述的方法,其中,所述根据所述密钥度量报告,对所述父公钥进行安全性校验,包括:
从所述区块链网络中获取所述父公钥的密钥度量报告,作为参考度量报告;
从所述服务提供端获取所述父公钥的密钥度量报告,作为待验证度量报告;
将所述参考度量报告和所述待验证度量报告进行匹配,得到匹配结果;
根据所述匹配结果,确定所述父公钥的安全性校验结果。
13.根据权利要求11所述的方法,其中,所述根据所述密钥度量报告,对所述父公钥进行安全性校验,包括:
调用远程校验服务对所述密钥度量报告的生成环境进行验证,得到生成环境验证结果;
根据所述生成环境验证结果判断所述密钥度量报告的生成环境是否为可信执行环境,得到生成环境判断结果;
根据所述生成环境判断结果,确定所述父公钥的安全性校验结果。
14.一种基于区块链的可信计算方法,由区块链节点执行,包括:
获取服务需求端发布的可信计算任务执行请求,并使得服务提供端响应所述可信计算任务执行请求,以获取计算逻辑程序和加密计算物料,且根据子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对原始计算物料进行计算分析得到计算结果;
其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;所述父公钥基于所述服务提供端在可信执行环境生成的根私钥推导确定;所述对称加密密钥基于子公钥和客户私钥推导确定,所述子公钥基于所述父公钥和密钥推导信息推导确定,所述密钥推导信息包括:加密密钥层级和加密密钥编号;
其中,服务提供端根据子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥,包括:服务提供端从区块链网络中获取客户公钥,将所述客户公钥传入所述可信执行环境中;在所述可信执行环境中,基于所述子私钥和客户公钥推导确定所述对称解密密钥;所述子私钥为基于所述服务提供端在可信执行环境生成的根私钥推导确定;
响应于所述服务提供端的结果上链处理请求,对所述结果上链处理请求中计算结果的结果度量报告进行安全性校验;其中,所述结果度量报告用于唯一表征所述计算结果的原始计算物料和计算逻辑程序;
若安全性校验通过,则将所述结果度量报告和计算结果进行上链存储。
15.根据权利要求14所述的方法,其中,所述对所述结果上链处理请求中计算结果的结果度量报告进行安全性校验,包括:
对所述结果度量报告的计算逻辑程序进行验证,得到计算逻辑验证结果;
若计算逻辑验证通过,调用预言机服务,请求至少两个参与方对所述结果度量报告的生成环境进行验证,得到生成环境验证结果;
根据所述生成环境验证结果确定安全性校验结果。
16.一种基于区块链的可信计算装置,配置于服务提供端,包括:
计算数据获取模块,用于响应于区块链网络发布的可信计算任务执行请求,获取计算任务所需的计算逻辑程序和加密计算物料;其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;其中,所述父公钥基于所述服务提供端在可信执行环境生成的根私钥推导确定;其中,所述对称加密密钥基于子公钥和客户私钥推导确定,所述子公钥基于所述父公钥和密钥推导信息推导确定,所述密钥推导信息包括:加密密钥层级和加密密钥编号;
对称解密密钥确定模块,用于在可信执行环境中,根据根私钥推导确定子私钥,根据所述子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥;
解密处理模块,用于在所述可信执行环境中,利用所述对称解密密钥对所述加密计算物料进行解密处理,以得到所述原始计算物料;
计算分析模块,用于在所述可信执行环境中,调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果;
其中,对称解密密钥确定模块,包括:客户公钥获取子模块,用于从所述区块链网络中获取客户公钥,将所述客户公钥传入所述可信执行环境中;对称解密密钥确定子模块,用于在所述可信执行环境中,基于所述子私钥和客户公钥推导确定所述对称解密密钥。
17.一种基于区块链的可信计算装置,配置于服务需求端,包括:
客户私钥确定模块,用于基于密钥生成算法确定客户私钥;
对称加密密钥确定模块,用于基于父公钥和所述客户私钥推导确定对称加密密钥;其中,所述父公钥由服务提供端基于根私钥推导得到;所述根私钥由所述服务提供端在可信执行环境中生成;所述客户私钥由所述服务需求端基于密钥生成算法确定;
加密处理模块,用于采用所述对称加密密钥对原始计算物料进行加密处理得到加密计算物料,并将所述加密计算物料进行存储;
可信计算任务执行请求发布模块,用于通过区块链网络向服务提供端发布可信计算任务执行请求,以请求所述服务提供端根据所述可信计算任务执行请求获取计算逻辑程序和加密计算物料,且推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对所述原始计算物料进行计算分析得到计算结果;
其中,对称加密密钥确定模块,包括:子公钥推导子模块,用于调用密钥管理服务,基于密钥推导信息和所述父公钥推导子公钥;其中,所述密钥推导信息包括:加密密钥层级和加密密钥编号;对称加密密钥确定子模块,用于根据所述子公钥和所述客户私钥推导确定所述对称加密密钥;
其中,服务提供端推导确定对称解密密钥,包括:服务提供端在可信执行环境中,根据根私钥推导确定子私钥;从所述区块链网络中获取客户公钥,将所述客户公钥传入所述可信执行环境中;在所述可信执行环境中,基于所述子私钥和客户公钥推导确定所述对称解密密钥。
18.一种基于区块链的可信计算装置,配置于区块链节点,包括:
可信计算任务执行请求获取模块,用于获取服务需求端发布的可信计算任务执行请求,并使得服务提供端响应所述可信计算任务执行请求,以获取计算逻辑程序和加密计算物料,且根据子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥对加密计算物料进行解密,并调用所述计算逻辑程序对原始计算物料进行计算分析得到计算结果;
其中,所述加密计算物料由服务需求端利用父公钥和客户私钥推导确定的对称加密密钥对原始计算物料进行加密处理得到;所述客户私钥由所述服务需求端基于密钥生成算法确定;所述父公钥基于所述服务提供端在可信执行环境生成的根私钥推导确定;所述对称加密密钥基于子公钥和客户私钥推导确定,所述子公钥基于所述父公钥和密钥推导信息推导确定,所述密钥推导信息包括:加密密钥层级和加密密钥编号;
其中,服务提供端根据子私钥和客户公钥,基于密钥生成算法推导确定对称解密密钥,包括:服务提供端从区块链网络中获取客户公钥,将所述客户公钥传入所述可信执行环境中;在所述可信执行环境中,基于所述子私钥和客户公钥推导确定所述对称解密密钥;所述子私钥为基于所述服务提供端在可信执行环境生成的根私钥推导确定;
计算结果安全性校验模块,用于响应于所述服务提供端的结果上链处理请求,对所述结果上链处理请求中计算结果的结果度量报告进行安全性校验;其中,所述结果度量报告用于唯一表征所述计算结果的原始计算物料和计算逻辑程序;
计算结果存储模块,用于若安全性校验通过,则将所述结果度量报告和计算结果进行上链存储。
19. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8,权利要求9-13或者权利要求14-15中任一项所述的基于区块链的可信计算方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-8,权利要求9-13或者权利要求14-15中任一项所述的基于区块链的可信计算方法。
CN202210507035.9A 2022-05-10 2022-05-10 基于区块链的可信计算方法、装置、设备及介质 Active CN115021972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210507035.9A CN115021972B (zh) 2022-05-10 2022-05-10 基于区块链的可信计算方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210507035.9A CN115021972B (zh) 2022-05-10 2022-05-10 基于区块链的可信计算方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115021972A CN115021972A (zh) 2022-09-06
CN115021972B true CN115021972B (zh) 2023-04-07

Family

ID=83069803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210507035.9A Active CN115021972B (zh) 2022-05-10 2022-05-10 基于区块链的可信计算方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115021972B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855671B (zh) * 2019-11-15 2022-02-08 三星电子(中国)研发中心 一种可信计算方法和系统
CN111143890B (zh) * 2019-12-26 2022-09-20 百度在线网络技术(北京)有限公司 一种基于区块链的计算处理方法、装置、设备和介质
CN111181720B (zh) * 2019-12-31 2021-04-06 支付宝(杭州)信息技术有限公司 基于可信执行环境的业务处理方法及装置
CN111461884A (zh) * 2020-03-31 2020-07-28 杭州溪塔科技有限公司 一种基于区块链的可信计算服务共享方法、装置和系统
CN112380565A (zh) * 2020-11-20 2021-02-19 天翼电子商务有限公司 一种基于可信硬件与区块链的安全多方计算方法
CN113395159B (zh) * 2021-01-08 2024-03-12 腾讯科技(深圳)有限公司 一种基于可信执行环境的数据处理方法以及相关装置

Also Published As

Publication number Publication date
CN115021972A (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
CN111683071B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
CN103795692B (zh) 开放授权方法、系统与认证授权服务器
CN103888251B (zh) 一种云环境中虚拟机可信保障的方法
JP6234607B2 (ja) 処理されたデータを検証する方法および装置
CN112507363A (zh) 基于区块链的数据监管方法、装置、设备及存储介质
CN110492990A (zh) 区块链场景下的私钥管理方法、装置及系统
CN112287379B (zh) 业务数据使用方法、装置、设备、存储介质和程序产品
CN109347625B (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
CN111654367A (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
CN109361508A (zh) 数据传输方法、电子设备及计算机可读存储介质
CN109981576B (zh) 密钥迁移方法和装置
CN112231652B (zh) 可信环境远程验证方法、装置、设备、系统及介质
CN109257347A (zh) 适于银企间数据交互的通信方法和相关装置、存储介质
CN108882030A (zh) 一种基于时域信息的监控视频分级加解密方法和系统
CN116502732B (zh) 基于可信执行环境的联邦学习方法以及系统
US20230195940A1 (en) Blockchain-based data processing method and apparatus, device, and storage medium
CN113852628A (zh) 一种去中心化的单点登录方法、装置及存储介质
CN112765642A (zh) 数据处理方法、数据处理装置、电子设备及介质
CN117240625A (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN114139176A (zh) 一种基于国密的工业互联网核心数据的保护方法及系统
CN112687363B (zh) 健康码公共服务方法及平台
CN109768969A (zh) 权限控制方法及物联网终端、电子设备
CN114514550A (zh) 将请求分区成区块链的交易
CN115021972B (zh) 基于区块链的可信计算方法、装置、设备及介质
CN114884714B (zh) 任务处理方法、装置、设备及存储介质

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