CN114884714B - 任务处理方法、装置、设备及存储介质 - Google Patents

任务处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114884714B
CN114884714B CN202210449930.XA CN202210449930A CN114884714B CN 114884714 B CN114884714 B CN 114884714B CN 202210449930 A CN202210449930 A CN 202210449930A CN 114884714 B CN114884714 B CN 114884714B
Authority
CN
China
Prior art keywords
task
result
data
information
ciphertext
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
CN202210449930.XA
Other languages
English (en)
Other versions
CN114884714A (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 CN202210449930.XA priority Critical patent/CN114884714B/zh
Publication of CN114884714A publication Critical patent/CN114884714A/zh
Application granted granted Critical
Publication of CN114884714B publication Critical patent/CN114884714B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种任务处理方法、装置、设备及存储介质,涉及计算机技术领域,尤其涉及区块链技术。具体实现方案为:在可信执行环境中,对任务方的任务进行处理得到任务结果原文;对任务结果原文进行加密,得到任务结果密文;根据任务结果密文生成结果描述信息,并根据结果描述信息生成第一远程证明信息;向任务方发送任务结果密文、结果描述信息和第一远程证明信息,其中,第一远程证明信息用于对任务结果密文和结果描述信息进行合法性验证,结果描述信息用于对任务结果密文进行解密。根据本公开的技术,实现了可信执行设备对数据隐私保护的同时确保数据的合法性。

Description

任务处理方法、装置、设备及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及区块链技术,具体涉及一种任务处理方法、装置、设备及存储介质
背景技术
随着可信计算技术的不断发展,大量的隐私数据可以通过可信计算技术得到保护,从而避免被非法读取和破坏。然而,可信执行环境在将处理后的数据进行输出后,外部无法对可信执行环境输出的数据进行真实性和有效性的验证,从而导致无法兼顾可信执行设备对数据隐私保护的同时确保数据的合法性。
发明内容
本公开提供了一种任务处理方法、装置、设备和存储介质。
根据本公开的一方面,提供了一种任务处理方法,包括:
在可信执行环境中,对任务方的任务进行处理得到任务结果原文;
对所述任务结果原文进行加密,得到任务结果密文;
根据所述任务结果密文生成结果描述信息,并根据所述结果描述信息生成第一远程证明信息;
向所述任务方发送所述任务结果密文、所述结果描述信息和所述第一远程证明信息,其中,所述第一远程证明信息用于对所述任务结果密文和所述结果描述信息进行合法性验证,所述结果描述信息用于对所述任务结果密文进行解密。
根据本公开的另一方面,还提供了一种任务处理方法,包括:
获取任务结果密文、结果描述信息和第一远程证明信息;其中,所述任务结果密文通过对任务结果原文进行加密得到,所述结果描述信息根据所述任务结果密文生成,所述第一远程证明信息根据所述结果描述信息生成;
根据所述第一远程证明信息,对所述任务结果密文和所述结果描述信息进行合法性验证;
在验证合法的情况下,根据所述结果描述信息对所述任务结果密文进行解密,得到任务结果原文。
根据本公开的另一方面,还提供了一种任务处理装置,包括:
任务结果原文确定模块,用于在可信执行环境中,对任务方的任务进行处理得到任务结果原文;
任务结果密文确定模块,用于对所述任务结果原文进行加密,得到任务结果密文;
第一远程证明信息生成模块,用于根据所述任务结果密文生成结果描述信息,并根据所述结果描述信息生成第一远程证明信息;
信息发送模块,用于向所述任务方发送所述任务结果密文、所述结果描述信息和所述第一远程证明信息,其中,所述第一远程证明信息用于对所述任务结果密文和所述结果描述信息进行合法性验证,所述结果描述信息用于对所述任务结果密文进行解密。
根据本公开的另一方面,还提供了一种任务处理装置,包括:
信息获取模块,用于获取任务结果密文、结果描述信息和第一远程证明信息;其中,所述任务结果密文通过对任务结果原文进行加密得到,所述结果描述信息根据所述任务结果密文生成,所述第一远程证明信息根据所述结果描述信息生成;
合法性验证模块,用于根据所述第一远程证明信息,对所述任务结果密文和所述结果描述信息进行合法性验证;
任务结果原文确定模块,用于在验证合法的情况下,根据所述结果描述信息对所述任务结果密文进行解密,得到任务结果原文。
根据本公开的另一方面,还提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开实施例提供的任意一种任务处理方法。
根据本公开的另一方面,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开实施例提供的任意一种任务处理方法。
根据本公开的另一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开实施例所提供的任意一种任务处理方法。
根据本公开的技术,实现了可信执行设备对数据隐私保护的同时确保数据的合法性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例提供的一种任务处理方法的示意图;
图2是根据本公开实施例提供的另一种任务处理方法的示意图;
图3是根据本公开实施例提供的又一种任务处理方法的示意图;
图4是根据本公开实施例提供的又一种任务处理方法的示意图;
图5是根据本公开实施例提供的又一种任务处理方法的示意图;
图6是根据本公开实施例提供的一种任务处理装置的结构图;
图7是根据本公开实施例提供的另一种任务处理装置的结构图;
图8是用来实现本公开实施例的任务处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开实施例提供的一种任务处理方法的示意图,本公开实施例可适用于对可信执行环境内部生成的数据进行隐私保护的情况。该方法可由一种任务处理装置来执行,该装置可采用硬件和/或软件的方式来实现,可配置于电子设备中,该电子设备部署有可信执行环境。
为了便于理解,首先对任务处理方法进行详细说明,该任务处理方法可以由可信执行环境执行。
参考图1所示的一种任务处理方法,该方法具体包括如下:
S101、在可信执行环境中,对任务方的任务进行处理得到任务结果原文;
S102、对任务结果原文进行加密,得到任务结果密文;
S103、根据任务结果密文生成结果描述信息,并根据结果描述信息生成第一远程证明信息;
S104、向任务方发送任务结果密文、结果描述信息和第一远程证明信息,其中,第一远程证明信息用于对任务结果密文和结果描述信息进行合法性验证,结果描述信息用于对任务结果密文进行解密。
其中,可信执行环境(Trusted Execution Environment,TEE)可以是采用可信计算技术实现的基于CPU(central processing unit,中央处理器)硬件构建的一个安全区域。其中,可信计算技术可以实现严格按照预定的处理逻辑进行计算,使得被保护的隐私数据和计算逻辑,无法被任何人非法读取和破坏,能够实现在保护数据的隐私性的前提下对数据进行运算。
其中,应用可信执行环境的技术例如可以是Inter SGX技术、ARM TrustZone技术等。其中,基于Inter SGX技术开发的飞地(enclave)程序可以运行于可信执行环境中,以保障enclave程序具有完整性和安全性。
其中,任务方可以是对数据隐私保护有需求,从而向可信执行环境发起任务的任意一方,例如,任务方可以是区块链账户。任务方的任务可以是对安全性和隐私性有需求的任何任务,在可信执行环境中执行,能够避免在执行过程中泄露任务信息。
其中,任务结果原文可以是可信执行环境对任务方的任务进行处理后得到的结果。任务结果密文可以是可信执行环境对任务结果原文进行加密后的结果。
示例性的,可信执行环境可以基于预设的密钥生成算法,生成对称密钥,采用对称密钥对任务结果原文进行加密,得到任务结果密文。其中,密钥生成算法可以由相关技术人员预先设定,例如,密钥生成算法可以是DES(Data Encryption Standard,数据加密标准)算法。
需要说明的是,可信执行环境对任务结果原文进行加密所使用的对称密钥,需要发送至任务方,以供后续任务方能够根据对称密钥对获取到的任务结果密文进行解密。示例性的,任务方可以生成一对能够进行加解密的公私钥对,并将其中的公钥发送至可信执行环境;可信执行环境根据任务方发送的公钥对对称密钥进行加密,得到加密对称密钥,并发送至任务方;任务方可以通过私钥对加密对称密钥进行解密,从而得到对称密钥。
根据任务结果密文生成结果描述信息,其中,结果描述信息用于对任务结果密文进行解密。示例性的,结果描述信息可以是任务结果密文和随机数的组合。其中,随机数可以由可信执行环境随机生成,并由任务方发送的用于加密的公钥对随机数进行加密后,发送至任务方,以供后续任务方通过自身存储的用于解密的私钥对随机数进行解密。
根据结果描述信息生成第一远程证明信息,其中,第一远程证明信息用于对任务结果密文和结果描述信息进行合法性验证。示例性的,可以将结果描述信息以及可信执行环境的环境属性信息发送至Inter Sex的远程证明服务,以使远程证明服务对发送该结果描述信息的可信执行环境进行验证;若对可信执行环境的验证通过,则远程证明服务对结果描述信息进行签名,从而得到第一远程证明信息。
可信执行环境将任务结果密文、结果描述信息和第一远程证明信息发送至任务方,以供任务方能够根据第一远程证明信息对任务结果密文和结果描述信息进行合法性验证,根据结果描述信息用于对任务结果密文进行解密,根据自身生成的用于加解密的私钥对任务结果密文进行解密,从而得到任务结果原文。
本公开实施例通过对任务结果原文进行加密,根据加密后得到的任务结果密文生成结果描述信息,并根据结果描述信息生成第一远程证明信息,将任务结果密文、结果描述信息和第一远程证明信息发送至任务方,实现了对可信执行环境输出数据的真实性验证,即可以准确确定任务方获取到的数据是由可信执行环境生成的,而不是在可信执行环境的外部伪造的。此外,在确定数据是由可信执行环境生成的基础上,实现了在数据传输过程中对隐私数据的保护,避免了明文数据的泄露,提高了数据传输过程中的安全性和隐私性,实现了可信执行设备对数据隐私保护的同时确保数据的合法性。
图2是本公开实施例提供的另一种任务处理方法的示意图,本实施例为上述实施例的具体化方案,具体的,根据任务结果密文生成结果描述信息,并根据结果描述信息生成第一远程证明信息,包括:对任务结果密文进行哈希,得到第一结果密文哈希值;生成包括第一结果密文哈希值和可信执行环境的第二账户公钥的结果描述信息;对结果描述信息进行哈希得到第一结果描述哈希值,并根据第一结果描述哈希值,生成第一远程证明信息。参见图2,该方法具体包括:
S201、在可信执行环境中,对任务方的任务进行处理得到任务结果原文;
S202、对任务结果原文进行加密,得到任务结果密文;
S203、对任务结果密文进行哈希,得到第一结果密文哈希值;
S204、生成包括第一结果密文哈希值和可信执行环境的第二账户公钥的结果描述信息;
S205、对结果描述信息进行哈希得到第一结果描述哈希值,并根据第一结果描述哈希值,生成第一远程证明信息;
S206、向任务方发送任务结果密文、结果描述信息和第一远程证明信息,其中,第一远程证明信息用于对任务结果密文和结果描述信息进行合法性验证,结果描述信息用于对任务结果密文进行解密。
其中,第一结果密文哈希值可以是对任务结果密文进行哈希计算得到的结果。示例性的,在可信执行环境中,可以基于预设的哈希算法,对任务结果密文进行哈希计算,从而得到第一结果密文哈希值。其中,哈希算法可以由相关技术人员预先设定,例如,哈希算法可以是MD5(Message Digest Algorithm,消息摘要算法)。
其中,结果描述信息可以是第一结果密文哈希值和可信执行环境的第二账户公钥的组合,第一结果密文哈希值和第二账户公钥的组合方式可以是第一结果密文哈希值在第二账户公钥之前,也可以是第二账户公钥在第一结果密文哈希值之前,具体组合方式本实施例对此不进行限定。
其中,第二账户公钥可以是可信执行环境预先生成的公私钥对中的公钥。需要说明的是,可信执行环境可以预先将第二账户公钥发送至各任务方,以供后续各任务方能够根据可信执行环境的第二账户公钥从结果描述信息中提取第一结果密文哈希值。
其中,第一结果描述哈希值可以是对结果描述信息进行哈希计算得到的结果。
示例性的,可以在可信执行环境中,基于预设的哈希算法,对结果描述信息进行哈希计算,从而得到第一结果描述哈希值。其中,哈希算法可以由相关技术人员进行预先设定。例如,用于确定第一结果描述哈希值所使用的哈希算法,可以与确定第一结果密文哈希值所使用的哈希算法相同,也可以不同,本实施例对此不进行限定。
示例性的,在根据第一结果描述哈希值,生成第一远程证明信息的过程中,可以将第一结果描述哈希值以及可信执行环境的环境属性信息发送至Inter Sex的远程证明服务,以使远程证明服务对发送该第一结果描述哈希值的可信执行环境进行验证。若对可信执行环境的验证通过,则远程证明服务对第一结果哈希值进行签名,从而得到第一远程证明信息。
本公开实施例方案通过对任务结果密文进行哈希,并将哈希得到的第一结果密文哈希值和可信执行环境的第二账户公钥作为结果描述信息,提高了结果描述信息的确定准确度;通过对结果描述信息进行哈希,并根据哈希得到的第一结果描述哈希值生成第一远程证明信息,实现了对第一远程证明信息的确定准确度,提高了对可信执行环境输出数据真实性验证的准确度,以及提高了数据传输过程中的安全性和隐私性。
图3A是本公开实施例提供的另一种任务处理方法的示意图,本实施例为上述实施例的具体化方案,具体的,对任务结果原文进行加密,得到任务结果密文,包括:根据任务方的第一账户公钥和可信执行环境的第二账户私钥,生成对称密钥;采用对称密钥对任务结果密文进行加密,得到任务结果密文;其中,第一账户公钥和第二账户私钥基于相同椭圆曲线生成。参见图3A,该方法具体包括:
S301、在可信执行环境中,对任务方的任务进行处理得到任务结果原文;
S302、根据任务方的第一账户公钥和可信执行环境的第二账户私钥,生成对称密钥;
S303、采用对称密钥对任务结果原文进行加密,得到任务结果密文;
S304、根据任务结果密文生成结果描述信息,并根据结果描述信息生成第一远程证明信息;
S305、向任务方发送任务结果密文、结果描述信息和第一远程证明信息,其中,第一远程证明信息用于对任务结果密文和结果描述信息进行合法性验证,结果描述信息用于对任务结果密文进行解密。
需要说明的是,任务方为区块链账户时,任务方自身生成的公私钥是基于椭圆曲线生成的,仅能用于签名,而无法对数据进行加密,当可信执行环境获取到任务方发送的公钥时,也无法基于任务方的公钥对数据进行加密操作。因此,任务方若想要对数据进行加解密,则需要另外生成一对专门用于对数据进行加解密的公私钥对,并将用于加解密的公私钥对中的公钥发送至可信执行环境。
为便于任务方的数据管理,简化任务方的数据管理体系,本实施例方案的可信执行环境基于与任务方相同的椭圆曲线生成公私钥对。通过任务方和可信实行环境基于相同曲线生成的公私钥对,实现对数据的加密和解密。本实施例方案仅需要在可信执行环境中基于椭圆曲线生成相应的公私钥对,而无需在各任务方中分别生成用于进行加解密的公私钥对,使得在数据计算上更加简单,同时也便于对任务方的账户体系管理。
其中,第一账户公钥和第二账户私钥基于相同椭圆曲线生成。
其中,第一账户公钥可以是任务方基于椭圆曲线生成的公私钥对中的公钥,可以由任务方预先发送至可信执行环境中。第二账户私钥可以是可信执行环境基于相同椭圆曲线生成的公私钥对中的私钥。
示例性的,可信执行环境可以将任务方的第一账户公钥和自身的第二账户私钥进行组合,得到组合后的密钥对;根据组合后的密钥对,基于预设的密钥交换算法,生成对称密钥。其中,密钥交换算法可以由相关技术人员预先设定,例如,密钥交换算法可以是ECDH(Elliptic Curve Diffie-Hellman,椭圆曲线金钥交换)算法。使用对称密钥对任务结果原文进行对称加密,得到任务结果密文。
本公开实施例方案通过根据任务方的第一账户公钥和可信执行环境的第二账户私钥,生成对称密钥,且第一账户公钥和第二账户私钥基于相同椭圆曲线生成。采用上述方式生成对称密钥,便于任务方的数据管理,避免了各任务方均生成一对专门用于加解密的密钥对,而造成的数据计算过程复杂的情况发生,同时简化了任务方的数据管理体系。此外,通过采用任务方的第一账户公钥和可信执行环境的第二账户私钥生成的对称密钥,对任务结果原文进行加密,提高了对任务结果原文加密的可靠性。
需要说明的是,当任务方采用可信执行环境执行任务时,需要向可信执行环境发送任务数据。因此,需要对任务方向可信执行环境发送的任务数据进行验证,具体包括验证任务数据是否成功发送至可信执行环境中,以及验证可信执行环境收到的任务数据是否是对应的任务方发送的有效数据。
在一个可选实施中,在可信执行环境中,获取任务方的任务数据;任务数据包括任务方的任务描述信息和任务方的第一账户公钥;根据任务数据生成第二远程证明信息;向任务方发送第二远程证明信息,由任务方根据第二远程证明信息验证任务数据是否输入可信执行环境中。
其中,任务描述信息可以包括任务序号、任务名称、输入数据描述、输出数据描述和计算描述等信息。其中,第二远程证明信息用于对任务方的任务数据进行合法性验证。
示例性的,可以基于预设的哈希算法,对任务数据进行哈希计算,得到任务哈希数据。其中,哈希算法可以由相关技术人员预先设定,例如,哈希算法可以是MD5算法。可以将任务哈希数据发送至Inter Sex的远程证明服务中心,通过远程证明服务对发送该任务哈希数据的可信执行环境进行验证;若对可信执行环境的验证通过,则由远程证明服务对任务哈希数据进行签名,从而得到第二远程证明信息。将第二远程证明信息发送至任务方,以供任务方根据第二远程证明信息验证任务数据是否输入可信执行环境中,以及验证任务数据是否是有效数据。
本可选实施例通过获取任务方的任务数据,根据任务数据生成第二远程证明信息并发送至任务方的方式,实现了对任务数据进行隐私保护的同时,使得任务方能够通过第二远程证明信息对任务数据进行验证。实现了任务方能够根据第二远程证明信息,对任务数据是否输入可信执行环境中,以及对任务数据是否是有效数据进行验证,兼顾了任务数据传输过程隐私性的同时提高了任务数据的可靠性。
在一个具体实施例中,如图3B所示的第一远程证明信息确定方式示意图。可信执行环境将自身的第二账户私钥和获取的任务方的第一账户公钥,基于ECDH算法,生成对称密钥;采用对称密钥对任务结果原文进行加密,得到任务结果密文;对任务结果密文进行哈希计算,得到第一密文哈希值;将第一密文哈希值和自身的第二账户公钥进行组合,得到结果描述信息;对结果描述信息进行哈希计算,得到第一结果描述哈希值;通过远程服务证明,基于第一结果描述哈希值,对可信执行环境进行环境验证,得到第一远程证明信息。其中,第一远程证明信息中包括第一结果描述哈希值。
图4是根据本公开实施例提供的一种任务处理方法的示意图,本公开实施例可适用于对可信执行环境内部生成的数据进行合法性验证的情况。该方法可由一种任务处理装置来执行,该装置可采用硬件和/或软件的方式来实现,可配置于电子设备中,该电子设备可以为区块链节点。
为了便于理解,首先对任务处理方法进行详细说明,该任务处理方法可以由区块链节点执行。
参考图4所示的一种任务处理方法,该方法具体包括如下:
S401、获取任务结果密文、结果描述信息和第一远程证明信息;其中,任务结果密文根据通过对任务结果原文进行加密得到,结果描述信息根据任务结果密文生成,第一远程证明信息根据结果描述信息生成;
S402、根据第一远程证明信息,对任务结果密文和结果描述信息进行合法性验证;
S403、在验证合法的情况下,根据结果描述信息对任务结果密文进行解密,得到任务结果原文。
其中,任务结果密文可以是对任务结果原文进行加密后的结果,任务结果原文可以是可信执行环境对任务方的任务进行处理后得到的结果。结果描述信息根据任务结果密文生成,第一远程证明信息根据结果描述信息生成。
其中,第一远程证明信息可以由Inter Sex的远程证明服务对发送该结果描述数据的可信执行环境进行验证,并对结果描述数据进行签名后得到。
示例性的,任务方可以从第一远程证明信息中提取结果描述信息,并将提取得到的结果描述信息记为第一结果描述信息。将从可信执行环境中获取到的结果描述信息记为第二结果描述信息。任务方比较第一结果描述信息与第二结果描述信息是否相同,从而实现对结果描述信息的合法性验证。若相同,则可以认为结果描述信息的合法性验证通过;若不同,则可以认为结果描述信息的合法性验证未通过。
若结果描述信息的合法性验证通过,则根据结果描述信息,对任务结果密文进行合法性验证。示例性的,若在可信执行环境中,结果描述信息是根据任务结果密文和随机数进行组合确定得到的,其中,随机数由可信执行环境随机生成,并由任务方发送的用于加密的公钥对随机数进行加密得到。因此,任务方在得到结果描述信息后,可以采用用于加密的私钥对随机数进行解密,并根据随机数和结果描述信息,确定任务结果密文。
任务方判断根据随机数和结果描述数据信息确定的任务结果密文,与从可信执行环境中获取得任务结果密文是否相同,若是,则可以认为对任务结果密文的合法性验证通过;若否,则可以认为对任务结果密文的合法性验证未通过。
在任务结果密文和结果描述信息的合法性验证均通过的情况下,可以由任务方生成的用于进行加解密的私钥,对由可信执行环境传输的加密对称密钥进行解密,从而采用解密后的对称密钥对任务结果密文进行解密,得到任务结果原文。
本公开实施例方案通过对获取的结果描述信息和第一远程证明信息进行合法性验证的方式,实现了对可信执行环境输出数据的真实性验证,即可以准确确定任务方获取到的数据是由可信执行环境生成的,而不是在可信执行环境的外部伪造的。在确定数据是由可信执行环境生成的基础上,提高了获取到的数据的隐私性,实现了获取到的数据具有隐私性的同时确保了数据的合法性。
图5是本公开实施例提供的另一种任务处理方法的示意图,本实施例为上述实施例的具体化方案,具体的,根据第一远程证明信息,对任务结果密文和结果描述信息进行合法性验证,包括:对第一远程证明信息进行验签,并根据验签结果确定任务结果密文和结果描述信息是否在可信执行环境中生成;采用第一远程证明信息验证结果描述信息是否被篡改,并采用结果描述信息,验证任务结果密文是否被篡改。参见图5,该方法具体包括:
S501、获取任务结果密文、结果描述信息和第一远程证明信息;其中,任务结果密文根据通过对任务结果原文进行加密得到,结果描述信息根据任务结果密文生成,第一远程证明信息根据结果描述信息生成;
S502、对第一远程证明信息进行验签,并根据验签结果确定任务结果密文和结果描述信息是否在可信执行环境中生成;
S503、采用第一远程证明信息验证结果描述信息是否被篡改,并采用结果描述信息,验证任务结果密文是否被篡改;
S504、在验证合法的情况下,根据结果描述信息对任务结果密文进行解密,得到任务结果原文。
其中,若任务结果密文和结果描述信息均在可信执行环境中生成,则第一远程证明信息中包括由远程证明服务对结果描述信息的签名结果。任务方可以基于现有的验签技术,对第一远程证明信息的签名结果进行验证,若验证通过,则可以认为任务结果密文和结果描述信息均在可信执行环境中生成;若验证未通,在可以认为任务结果密文和结果描述信息非可信执行环境生成。
若对第一远程证明信息的验签通过,则可以采用第一远程证明信息验证结果描述信息是否被篡改;若结果描述信息未被篡改,则可以采用结果描述信息验证任务结果密文是否被篡改。
需要说明的是,为提高数据传输的隐私性,在可信执行环境中生成结果描述信息和第一远程证明信息的方式可以为:对任务结果密文进行哈希,得到第一结果密文哈希值;生成包括第一结果密文哈希值和可信执行环境的第二账户公钥的结果描述信息;对结果描述信息进行哈希得到第一结果描述哈希值,并根据第一结果描述哈希值,生成第一远程证明信息。相应的,对结果描述信息和任务结果密文的验证可以采用如下方式。
在一个可选实施例中,采用第一远程证明信息验证结果描述信息是否被篡改,并采用结果描述信息,验证任务结果密文是否被篡改,包括:从第一远程证明信息中提取第一结果描述哈希值,并采用第一结果描述哈希值,验证结果描述信息是否被篡改;从结果描述信息中提取第一结果密文哈希值,并采用第一结果密文哈希值,验证任务结果密文是否被篡改。
其中,第一结果描述哈希值可以是可信执行环境对结果描述信息进行哈希计算得到的结果;第一结果密文哈希值可以是可信执行环境对任务结果密文进行哈希计算得到的结果。
示例性的,任务方可以从第一远程证明信息中提取第一结果描述哈希值。任务方根据获取的任务结果描述信息,基于与可信执行环境对应的哈希算法,对任务结果描述信息进行哈希计算,得到第二结果描述哈希值。根据第一结果描述哈希值和第二结果描述哈希值,验证结果描述信息是否被篡改。具体的,判断第一结果描述哈希值和第二结果描述哈希值是否相同,若是,则可以认为结果描述信息未被篡改,验证通过;若否,则可以认为结果描述信息被篡改,验证未通过。
示例性的,任务方从结果描述信息中提取第一结果密文哈希值。任务方根据获取的任务结果密文,基于与可信执行环境对应的哈希算法,对任务结果密文进行哈希计算,得到第二结果密文哈希值。根据第一结果密文哈希值和第二结果密文哈希值,验证任务结果密文是否被篡改。具体的,判断第一结果密文哈希值和第二结果密文哈希值是否相同,若是,则可以认为任务结果密文未被篡改,验证通过;若否,则可以认为任务结果密文被篡改,验证未通过。
本可选实施例通过从第一远程证明信息中提取第一结果描述哈希值,并采用第一结果描述哈希值,验证结果描述信息是否被篡改,实现了对结果描述信息是否被篡改的准确验证。通过从结果描述信息中提取第一结果密文哈希值,并采用第一结果密文哈希值,验证任务结果密文是否被篡改,实现了对任务结果密文是否被篡改的准确验证。通过对结果描述信息和任务结果密文的准确验证,提高了对可信执行环境输出数据真实性验证的准确度。
需要说明的是,为便于任务方的数据管理,简化任务方的数据管理体系,采用任务方和可信执行环境基于相同椭圆曲线分别生成的公私钥对的方式,实现对数据的加密和解密。
相应的,可信执行环境得到任务结果密文的方式可以为:根据任务方的第一账户公钥和可信执行环境的第二账户私钥,生成对称密钥;采用对称密钥对任务结果原文进行加密,得到任务结果密文;其中,第一账户公钥和第二账户私钥基于相同椭圆曲线生成。相应的,任务方对任务结果密文进行解密,得到任务结果原文可以采用如下方式。
在一个可选实施例中,根据结果描述信息对任务结果密文进行解密,得到任务结果原文,包括:从结果描述信息中提取可信执行环境的第二账户公钥;根据第二账户公钥和任务方的第一账户私钥,生成对称密钥;采用对称密钥对任务结果密文进行解密,得到任务结果原文;其中,第二账户公钥和所述第一账户私钥基于相同椭圆曲线生成。
其中,第一账户私钥可以是任务方基于椭圆曲线生成的公私钥对中的私钥。第二账户公钥可以是可信执行环境基于相同椭圆曲线生成的公私钥对中的公钥。其中,第二账户公钥和第一账户私钥基于相同椭圆曲线生成。
示例性的,任务方从结果描述信息中提取可信执行环境的第二账户公钥。任务方将第二账户公钥和第一账户私钥进行组合,得到组合后的密钥对;根据组合后的密钥对,基于与可信执行环境对应的密钥交换算法,生成对称密钥。采用对称密钥对任务结果密文进行解密,从而得到任务结果原文。
本可选实施例通过提取第二账户公钥,根据基于相同椭圆曲线生成的第二账户公钥和第一账户私钥,生成对称密钥,从而使用对称密钥对任务结果密文进行解密。采用上述方式生成对称密钥,便于任务方的数据管理,避免了各任务方均生成一对专门用于加解密的密钥对,而造成的数据计算过程复杂的情况发生,同时简化了任务方的数据管理体系。此外,通过采用与可信执行环境相同的方式生成对称密钥,对任务结果密文进行解密,实现了对任务结果原文的隐私保护。
本公开实施例通过对第一远程证明信息进行验签,并根据验签结果确定任务结果密文和结果描述信息是否在可信执行环境中生成,实现了对可信执行环境中获取的数据真实性验证,实现了对任务结果密文和结果描述信息是在可信执行环境中生成的准确判断,避免了从可信执行环境中获取到的数据是外部伪造的或被恶意替换的情况发生。采用第一远程证明信息验证结果描述信息和任务结果密文是否被篡改,实现了对结果描述信息和任务结果密文合法性的有效验证。
需要说明的是,当任务方采用可信执行环境执行任务时,需要向可信执行环境发送任务数据。因此,需要对任务方向可信执行环境发送的任务数据进行验证。具体可以包括验证任务数据的合法性,以及验证任务数据是否被篡改。
在一个可选实施例中,生成任务方的任务数据;任务数据包括任务方的任务描述信息和任务方的第一账户公钥;向可信执行环境发送任务数据,由可信执行环境根据任务数据生成第二远程证明信息;根据获取的第二远程证明信息,对任务数据进行合法性验证。
其中,任务描述信息可以包括任务序号、任务名称、输入数据描述、输出数据描述和计算描述等信息。其中,第二远程证明信息用于对任务方的任务数据进行合法性验证。
示例性的,任务方可以将生成的任务数据发送至可信执行环境,可信执行环境可以对任务数据进行哈希计算,得到任务哈希数据。可信执行环境可以将任务哈希数据发送至Inter Sex的远程证明服务中心,通过远程证明服务对发送任务哈希数据的该可信执行环境进行验证;若对可信执行环境的验证通过,则由远程证明服务对任务哈希数据进行签名,从而得到第二远程证明信息,并将第二远程证明信息发送至任务方。
任务方在获取的第二远程证明信息后,对任务数据进行合法性验证。示例性的,任务方可以从第二远程证明信息中提取任务数据,并通过将提取的任务数据,与向可执行环境发送的任务数据进行比较的方式,确定任务数据的合法性。具体的,若从第二远程证明中提取的任务数据,与向可执行环境发送的任务数据一致,则可以认为任务数据具有合法性;若从第二远程证明中提取的任务数据,与向可执行环境发送的任务数据不一致,则可以认为任务数据不具有合法性。
本可选实施例通过获取由可信执行环境根据任务数据生成的第二远程证明信息,对任务数据进行合法性验证的方式,实现了对数据进行隐私保护的同时,使得任务方能够通过第二远程证明信息对任务数据进行验证。实现了任务方能够根据第二远程证明信息,对任务数据是否输入可信执行环境中,以及对任务数据是否是有效数据进行验证,兼顾了数据传输过程隐私性的同时提高了数据的可靠性。
可以理解的是,任务方根据获取的第二远程证明信息,对任务数据进行合法性验证的过程中,对任务数据的验证不仅包括验证任务数据是否输入可信执行环境中,还包括验证任务数据是否被篡改。
在一个可选实施例中,根据获取的第二远程证明信息,对任务数据进行合法性验证,包括:对第二远程证明信息进行验签,并根据验签结果确定任务数据是否输入可信执行环境中;根据第二远程证明信息,验证任务数据是否被篡改。
示例性的,任务方可以基于现有的验签技术,对第二远程证明信息的签名结果进行验证,若验证通过,则可以认为任务数据成功输入可信执行环境中;若验证未通,在可以认为任务数据未输入可信执行环境中。
示例性的,若对任务数据是否输入可信执行环境中的验证通过,则任务方可以从第二远程证明信息中提取任务数据,从而验证任务数据是否被篡改。具体的,任务方从第二远程证明中提取任务哈希数据。其中,任务哈希数据可以是可信执行环境对任务数据进行哈希计算,得到的结果。任务方可以基于与可信执行环境对应的哈希算法,对生成的哈希数据进行哈希计算,并将计算结果与任务哈希数据进行比较,判断是否一致;若一致,则可以认为任务数据未被篡改;若不一致,则可以认为任务数据被篡改。
本可选实施例通过对第二远程证明信息进行验签,并根据验签结果确定任务数据是否输入可信执行环境中的方式,实现了对任务数据是否输入可信执行环境中的准确验证;通过根据第二远程证明信息,验证任务数据是否被篡改,实现了对任务数据是否被篡改的准确验证。通过验证任务数据是否输入可信执行环境中,以及验证任务数据是否被篡改的方式,兼顾了任务数据传输过程隐私性的同时提高了任务数据的可靠性。
图6是根据本公开实施例提供的一种任务处理装置的示意图,本实施例可适用于对可信执行环境内部生成的数据进行隐私保护的情况,该装置配置于电子设备中,可实现本公开任意实施例所述的任务处理方法。该电子设备可以为可信执行环境,参考图6,该任务处理装置600具体包括如下:
原文确定模块601,用于在可信执行环境中,对任务方的任务进行处理得到任务结果原文;
密文确定模块602,用于对所述任务结果原文进行加密,得到任务结果密文;
第一远程证明模块603,用于根据所述任务结果密文生成结果描述信息,并根据所述结果描述信息生成第一远程证明信息;
信息发送模块604,用于向所述任务方发送所述任务结果密文、所述结果描述信息和所述第一远程证明信息,其中,所述第一远程证明信息用于对所述任务结果密文和所述结果描述信息进行合法性验证,所述结果描述信息用于对所述任务结果密文进行解密。
本公开实施例通过对任务结果原文进行加密,根据加密后得到的任务结果密文生成结果描述信息,并根据结果描述信息生成第一远程证明信息,将任务结果密文、结果描述信息和第一远程证明信息发送至任务方,实现了对可信执行环境输出数据的真实性验证,即可以准确确定任务方获取到的数据是由可信执行环境生成的,而不是在可信执行环境的外部伪造的。此外,在确定数据是由可信执行环境生成的基础上,实现了在数据传输过程中对隐私数据的保护,避免了明文数据的泄露,提高了数据传输过程中的安全性和隐私性,实现了可信执行设备对数据隐私保护的同时确保数据的合法性。
在一种可选的实施方式中,所述第一远程证明模块603,包括:
密文哈希值确定单元,用于对所述任务结果密文进行哈希,得到第一结果密文哈希值;
描述信息确定单元,用于生成包括所述第一结果密文哈希值和可信执行环境的第二账户公钥的结果描述信息;
第一远程证明单元,用于对所述结果描述信息进行哈希得到第一结果描述哈希值,并根据所述第一结果描述哈希值,生成所述第一远程证明信息。
在一种可选的实施方式中,所述密文确定模块602,包括:
对称密钥生成单元,用于根据任务方的第一账户公钥和可信执行环境的第二账户私钥,生成对称密钥;
密文确定单元,用于采用所述对称密钥对所述任务结果原文进行加密,得到所述任务结果密文;
其中,所述第一账户公钥和所述第二账户私钥基于相同椭圆曲线生成。
在一种可选的实施方式中,所述任务处理装置600,还包括:
任务数据获取模块,用于在可信执行环境中,获取任务方的任务数据;所述任务数据包括任务方的任务描述信息和任务方的第一账户公钥;
第二远程证明模块,根据所述任务数据生成第二远程证明信息;
证明信息发送模块,用于向所述任务方发送所述第二远程证明信息,由所述任务方根据所述第二远程证明信息验证所述任务数据是否输入所述可信执行环境中。
本公开实施例的技术方案所提供的一种任务处理装置可执行本公开任意实施例所提供的任务处理方法,具备执行任务处理方法相应的功能模块和有益效果。
图7是根据本公开实施例提供的一种任务处理装置的示意图,本实施例可适用于对可信执行环境内部生成的数据进行合法性验证的情况,该装置配置于电子设备中,可实现本公开任意实施例所述的任务处理方法。该电子设备可以为区块链节点,参考图7,该任务处理装置700具体包括如下:
信息获取模块701,用于获取任务结果密文、结果描述信息和第一远程证明信息;其中,所述任务结果密文通过对任务结果原文进行加密得到,所述结果描述信息根据所述任务结果密文生成,所述第一远程证明信息根据所述结果描述信息生成;
合法性验证模块702,用于根据所述第一远程证明信息,对所述任务结果密文和所述结果描述信息进行合法性验证;
原文确定模块703,用于在验证合法的情况下,根据所述结果描述信息对所述任务结果密文进行解密,得到任务结果原文。
本公开实施例方案通过对获取的结果描述信息和第一远程证明信息进行合法性验证的方式,实现了对可信执行环境输出数据的真实性验证,即可以准确确定任务方获取到的数据是由可信执行环境生成的,而不是在可信执行环境的外部伪造的。在确定数据是由可信执行环境生成的基础上,提高了获取到的数据的隐私性,实现了获取到的数据具有隐私性的同时确保了数据的合法性。
在一种可选的实施方式中,所述合法性验证模块702,包括:
第一验签单元,用于对所述第一远程证明信息进行验签,并根据验签结果确定所述任务结果密文和所述结果描述信息是否在可信执行环境中生成;
信息验证单元,用于采用所述第一远程证明信息验证所述结果描述信息是否被篡改,并采用所述结果描述信息,验证所述任务结果密文是否被篡改。
在一种可选的实施方式中,所述信息验证单元,包括:
信息验证子单元,用于从所述第一远程证明信息中提取第一结果描述哈希值,并采用所述第一结果描述哈希值,验证所述结果描述信息是否被篡改;
密文验证子单元,用于从所述结果描述信息中提取第一结果密文哈希值,并采用所述第一结果密文哈希值,验证所述任务结果密文是否被篡改。
在一种可选的实施方式中,所述原文确定模块703,包括:
公钥提取单元,用于从所述结果描述信息中提取可信执行环境的第二账户公钥;
对称密钥生成单元,用于根据所述第二账户公钥和任务方的第一账户私钥,生成对称密钥;
原文确定单元,用于采用所述对称密钥对所述任务结果密文进行解密,得到所述任务结果原文;
其中,所述第二账户公钥和所述第一账户私钥基于相同椭圆曲线生成。
在一种可选的实施方式中,所述任务处理装置700,还包括:
任务数据生成模块,用于生成任务方的任务数据;所述任务数据包括任务方的任务描述信息和任务方的第一账户公钥;
第二远程证明模块,用于向可信执行环境发送所述任务数据,由所述可信执行环境根据所述任务数据生成第二远程证明信息;
证明信息获取模块,用于根据获取的第二远程证明信息,对所述任务数据进行合法性验证。
在一种可选的实施方式中,所述第二远程证明信息获取模块,包括:
第二验签单元,用于对所述第二远程证明信息进行验签,并根据验签结果确定所述任务数据是否输入可信执行环境中;
任务数据判断单元,用于根据所述第二远程证明信息,验证所述任务数据是否被篡改。
本公开实施例的技术方案所提供的一种任务处理装置可执行本公开任意实施例所提供的任务处理方法,具备执行任务处理方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如任务处理方法。例如,在一些实施例中,任务处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的任务处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行任务处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (16)

1.一种任务处理方法,包括:
在可信执行环境中,对任务方的任务进行处理得到任务结果原文;
对所述任务结果原文进行加密,得到任务结果密文;
根据所述任务结果密文生成结果描述信息,并根据所述结果描述信息生成第一远程证明信息;其中,结果描述信息为所述任务结果密文和随机数的组合;所述随机数由所述可信执行环境随机生成,并由所述任务方发送的用于加密的公钥对其进行加密后发送至任务方,以供所述任务方通过自身存储的用于解密的私钥对随机数进行解密;
向所述任务方发送所述任务结果密文、所述结果描述信息和所述第一远程证明信息,其中,所述第一远程证明信息用于对所述任务结果密文和所述结果描述信息进行合法性验证,所述结果描述信息用于对所述任务结果密文进行解密;
所述方法还包括:
在可信执行环境中,获取任务方的任务数据;所述任务数据包括任务方的任务描述信息和任务方的第一账户公钥;其中,所述任务描述信息包括任务序号、任务名称、输入数据描述、输出数据描述和计算描述信息中的至少一种;
对所述任务数据进行哈希计算得到任务哈希数据,向远程证明服务发送所述任务哈希数据,通过远程证明服务对发送任务哈希数据的可信执行环境进行验证,若验证通过,则通过远程证明服务对任务哈希数据进行签名得到第二远程证明信息;
向所述任务方发送所述第二远程证明信息,使所述任务方执行如下:对所述第二远程证明信息的签名结果进行验证,若验证通过,则确定所述任务数据成功输入可信执行环境中,若验证未通过,则确定所述任务数据未输入可信执行环境中;若对所述第二远程证明信息的签名结果的验证通过,则从所述第二远程证明信息中提取任务哈希数据,并基于与可信执行环境对应的哈希算法,对任务数据进行哈希计算,并将计算结果与从所述第二远程证明信息中提取的任务哈希数据进行比较,判断是否一致;若一致,则确定任务数据未被篡改;若不一致,则确定任务数据被篡改。
2.根据权利要求1所述的方法,其中,所述根据所述任务结果密文生成结果描述信息,并根据所述结果描述信息生成第一远程证明信息,包括:
对所述任务结果密文进行哈希,得到第一结果密文哈希值;
生成包括所述第一结果密文哈希值和可信执行环境的第二账户公钥的结果描述信息;
对所述结果描述信息进行哈希得到第一结果描述哈希值,并根据所述第一结果描述哈希值,生成所述第一远程证明信息。
3.根据权利要求1所述的方法,其中,所述对所述任务结果原文进行加密,得到任务结果密文,包括:
根据任务方的第一账户公钥和可信执行环境的第二账户私钥,生成对称密钥;
采用所述对称密钥对所述任务结果原文进行加密,得到所述任务结果密文;
其中,所述第一账户公钥和所述第二账户私钥基于相同椭圆曲线生成。
4.一种任务处理方法,包括:
获取任务结果密文、结果描述信息和第一远程证明信息;其中,所述任务结果密文通过对任务结果原文进行加密得到,所述结果描述信息根据所述任务结果密文和随机数组合生成,所述第一远程证明信息根据所述结果描述信息生成;所述随机数由可信执行环境生成,并由任务方发送的用于加密的公钥对所述随机数进行加密得到,以通过自身存储的用于解密的私钥对随机数进行解密;
根据所述第一远程证明信息,对所述任务结果密文和所述结果描述信息进行合法性验证;
在验证合法的情况下,根据所述结果描述信息对所述任务结果密文进行解密,得到任务结果原文;
生成任务方的任务数据;所述任务数据包括任务方的任务描述信息和任务方的第一账户公钥;其中,所述任务描述信息包括任务序号、任务名称、输入数据描述、输出数据描述和计算描述信息中的至少一种;
向可信执行环境发送所述任务数据,由所述可信执行环境对所述任务数据进行哈希计算得到任务哈希数据,向远程证明服务发送所述任务哈希数据,通过远程证明服务对发送任务哈希数据的可信执行环境进行验证,若验证通过,则通过远程证明服务对任务哈希数据进行签名得到第二远程证明信息;
对所述第二远程证明信息进行验签,并根据验签结果确定所述任务数据是否输入可信执行环境中;若验证通过,则确定所述任务数据成功输入可信执行环境中,若验证未通过,则确定所述任务数据未输入可信执行环境中;
根据所述第二远程证明信息,验证所述任务数据是否被篡改;若任务方对所述第二远程证明信息的签名结果的验证通过,则从所述第二远程证明信息中提取任务哈希数据,并基于与可信执行环境对应的哈希算法,对任务数据进行哈希计算,并将计算结果与从所述第二远程证明信息中提取的任务哈希数据进行比较,判断是否一致;若一致,则确定任务数据未被篡改;若不一致,则确定任务数据被篡改。
5.根据权利要求4所述的方法,其中,所述根据所述第一远程证明信息,对所述任务结果密文和所述结果描述信息进行合法性验证,包括:
对所述第一远程证明信息进行验签,并根据验签结果确定所述任务结果密文和所述结果描述信息是否在可信执行环境中生成;
采用所述第一远程证明信息验证所述结果描述信息是否被篡改,并采用所述结果描述信息,验证所述任务结果密文是否被篡改。
6.根据权利要求5所述的方法,其中,所述采用所述第一远程证明信息验证所述结果描述信息是否被篡改,并采用所述结果描述信息,验证所述任务结果密文是否被篡改,包括:
从所述第一远程证明信息中提取第一结果描述哈希值,并采用所述第一结果描述哈希值,验证所述结果描述信息是否被篡改;
从所述结果描述信息中提取第一结果密文哈希值,并采用所述第一结果密文哈希值,验证所述任务结果密文是否被篡改。
7.根据权利要求4所述的方法,其中,所述根据所述结果描述信息对所述任务结果密文进行解密,得到任务结果原文,包括:
从所述结果描述信息中提取可信执行环境的第二账户公钥;
根据所述第二账户公钥和任务方的第一账户私钥,生成对称密钥;
采用所述对称密钥对所述任务结果密文进行解密,得到所述任务结果原文;
其中,所述第二账户公钥和所述第一账户私钥基于相同椭圆曲线生成。
8.一种任务处理装置,包括:
原文确定模块,用于在可信执行环境中,对任务方的任务进行处理得到任务结果原文;
密文确定模块,用于对所述任务结果原文进行加密,得到任务结果密文;
第一远程证明模块,用于根据所述任务结果密文生成结果描述信息,并根据所述结果描述信息生成第一远程证明信息;其中,结果描述信息为所述任务结果密文和随机数的组合;所述随机数由所述可信执行环境随机生成,并由所述任务方发送的用于加密的公钥对其进行加密后发送至任务方,以供所述任务方通过自身存储的用于解密的私钥对随机数进行解密;
信息发送模块,用于向所述任务方发送所述任务结果密文、所述结果描述信息和所述第一远程证明信息,其中,所述第一远程证明信息用于对所述任务结果密文和所述结果描述信息进行合法性验证,所述结果描述信息用于对所述任务结果密文进行解密;
所述任务处理装置,还包括:
任务数据获取模块,用于在可信执行环境中,获取任务方的任务数据;所述任务数据包括任务方的任务描述信息和任务方的第一账户公钥;其中,所述任务描述信息包括任务序号、任务名称、输入数据描述、输出数据描述和计算描述信息中的至少一种;
第二远程证明模块,用于对所述任务数据进行哈希计算得到任务哈希数据,向远程证明服务发送所述任务哈希数据,通过远程证明服务对发送任务哈希数据的可信执行环境进行验证,若验证通过,则通过远程证明服务对任务哈希数据进行签名得到第二远程证明信息;
证明信息发送模块,用于向所述任务方发送所述第二远程证明信息,使所述任务方执行如下:对所述第二远程证明信息的签名结果进行验证,若验证通过,则确定所述任务数据成功输入可信执行环境中,若验证未通过,则确定所述任务数据未输入可信执行环境中;若对所述第二远程证明信息的签名结果的验证通过,则从所述第二远程证明信息中提取任务哈希数据,并基于与可信执行环境对应的哈希算法,对任务数据进行哈希计算,并将计算结果与从所述第二远程证明信息中提取的任务哈希数据进行比较,判断是否一致;若一致,则确定任务数据未被篡改;若不一致,则确定任务数据被篡改。
9.根据权利要求8所述的装置,其中,所述第一远程证明模块,包括:
密文哈希值确定单元,用于对所述任务结果密文进行哈希,得到第一结果密文哈希值;
描述信息确定单元,用于生成包括所述第一结果密文哈希值和可信执行环境的第二账户公钥的结果描述信息;
第一远程证明单元,用于对所述结果描述信息进行哈希得到第一结果描述哈希值,并根据所述第一结果描述哈希值,生成所述第一远程证明信息。
10.根据权利要求9所述的装置,其中,所述密文确定模块,包括:
对称密钥生成单元,用于根据任务方的第一账户公钥和可信执行环境的第二账户私钥,生成对称密钥;
密文确定单元,用于采用所述对称密钥对所述任务结果原文进行加密,得到所述任务结果密文;
其中,所述第一账户公钥和所述第二账户私钥基于相同椭圆曲线生成。
11.一种任务处理装置,包括:
信息获取模块,用于获取任务结果密文、结果描述信息和第一远程证明信息;其中,所述任务结果密文通过对任务结果原文进行加密得到,所述结果描述信息根据所述任务结果密文和随机数组合生成,所述第一远程证明信息根据所述结果描述信息生成;所述随机数由可信执行环境生成,并由任务方发送的用于加密的公钥对所述随机数进行加密得到,以通过自身存储的用于解密的私钥对随机数进行解密;
合法性验证模块,用于根据所述第一远程证明信息,对所述任务结果密文和所述结果描述信息进行合法性验证;
原文确定模块,用于在验证合法的情况下,根据所述结果描述信息对所述任务结果密文进行解密,得到任务结果原文;
所述任务处理装置,还包括:
任务数据生成模块,用于生成任务方的任务数据;所述任务数据包括任务方的任务描述信息和任务方的第一账户公钥;其中,所述任务描述信息包括任务序号、任务名称、输入数据描述、输出数据描述和计算描述信息中的至少一种;
第二远程证明模块,用于向可信执行环境发送所述任务数据,由所述可信执行环境对所述任务数据进行哈希计算得到任务哈希数据,向远程证明服务发送所述任务哈希数据,通过远程证明服务对发送任务哈希数据的可信执行环境进行验证,若验证通过,则通过远程证明服务对任务哈希数据进行签名得到第二远程证明信息;
证明信息获取模块,用于对所述第二远程证明信息进行验签,并根据验签结果确定所述任务数据是否输入可信执行环境中;若验证通过,则确定所述任务数据成功输入可信执行环境中,若验证未通过,则确定所述任务数据未输入可信执行环境中;根据所述第二远程证明信息,验证所述任务数据是否被篡改;若任务方对所述第二远程证明信息的签名结果的验证通过,则从所述第二远程证明信息中提取任务哈希数据,并基于与可信执行环境对应的哈希算法,对任务数据进行哈希计算,并将计算结果与从所述第二远程证明信息中提取的任务哈希数据进行比较,判断是否一致;若一致,则确定任务数据未被篡改;若不一致,则确定任务数据被篡改。
12.根据权利要求11所述的装置,其中,所述合法性验证模块,包括:
第一验签单元,用于对所述第一远程证明信息进行验签,并根据验签结果确定所述任务结果密文和所述结果描述信息是否在可信执行环境中生成;
信息验证单元,用于采用所述第一远程证明信息验证所述结果描述信息是否被篡改,并采用所述结果描述信息,验证所述任务结果密文是否被篡改。
13.根据权利要求12所述的装置,其中,所述信息验证单元,包括:
信息验证子单元,用于从所述第一远程证明信息中提取第一结果描述哈希值,并采用所述第一结果描述哈希值,验证所述结果描述信息是否被篡改;
密文验证子单元,用于从所述结果描述信息中提取第一结果密文哈希值,并采用所述第一结果密文哈希值,验证所述任务结果密文是否被篡改。
14.根据权利要求11所述的装置,其中,所述原文确定模块,包括:
公钥提取单元,用于从所述结果描述信息中提取可信执行环境的第二账户公钥;
对称密钥生成单元,用于根据所述第二账户公钥和任务方的第一账户私钥,生成对称密钥;
原文确定单元,用于采用所述对称密钥对所述任务结果密文进行解密,得到所述任务结果原文;
其中,所述第二账户公钥和所述第一账户私钥基于相同椭圆曲线生成。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的任务处理方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的任务处理方法。
CN202210449930.XA 2022-04-26 2022-04-26 任务处理方法、装置、设备及存储介质 Active CN114884714B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210449930.XA CN114884714B (zh) 2022-04-26 2022-04-26 任务处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210449930.XA CN114884714B (zh) 2022-04-26 2022-04-26 任务处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114884714A CN114884714A (zh) 2022-08-09
CN114884714B true CN114884714B (zh) 2024-03-26

Family

ID=82671207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210449930.XA Active CN114884714B (zh) 2022-04-26 2022-04-26 任务处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114884714B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506227B (zh) * 2023-06-27 2023-09-19 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011801A (zh) * 2018-11-16 2019-07-12 阿里巴巴集团控股有限公司 可信应用程序的远程证明方法及装置、电子设备
CN111092727A (zh) * 2020-03-18 2020-05-01 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
CN113556232A (zh) * 2021-06-30 2021-10-26 东风汽车集团股份有限公司 用于车云通信及文件传输的验签方法
CN114048438A (zh) * 2021-11-10 2022-02-15 广州歌神信息科技有限公司 设备鉴权方法及其装置、设备、介质、产品
CN114201748A (zh) * 2021-12-14 2022-03-18 南湖实验室 高可信环境下计算移向数据端场景中数据源可信验证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714168B (zh) * 2017-10-25 2022-05-27 阿里巴巴集团控股有限公司 可信远程证明方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011801A (zh) * 2018-11-16 2019-07-12 阿里巴巴集团控股有限公司 可信应用程序的远程证明方法及装置、电子设备
CN111092727A (zh) * 2020-03-18 2020-05-01 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
CN113556232A (zh) * 2021-06-30 2021-10-26 东风汽车集团股份有限公司 用于车云通信及文件传输的验签方法
CN114048438A (zh) * 2021-11-10 2022-02-15 广州歌神信息科技有限公司 设备鉴权方法及其装置、设备、介质、产品
CN114201748A (zh) * 2021-12-14 2022-03-18 南湖实验室 高可信环境下计算移向数据端场景中数据源可信验证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于属性签名的属性远程证明方案;张鑫;杨晓元;;工程科学与技术;20170630(第S2期);全文 *

Also Published As

Publication number Publication date
CN114884714A (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
CN110492990B (zh) 区块链场景下的私钥管理方法、装置及系统
EP3324572B1 (en) Information transmission method and mobile device
CN101369889B (zh) 一种对文档进行电子签名的方法
CN103312501B (zh) 用于生成消息验证码的装置和方法
EP3968597B1 (en) Methods for encrypting and decrypting data
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
US11050562B2 (en) Target device attestation using a trusted platform module
CN110874494B (zh) 密码运算处理方法、装置、系统及度量信任链构建方法
US20180211021A1 (en) Authentication device, authentication system, and authentication method
US20230284027A1 (en) Method for establishing communication channel, and user terminal
WO2018112482A1 (en) Method and system for distributing attestation key and certificate in trusted computing
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
CN114884714B (zh) 任务处理方法、装置、设备及存储介质
WO2019242163A1 (zh) 数据安全验证方法、装置、系统、计算机设备及存储介质
CN115883078A (zh) 文件加密方法、文件解密方法、装置、设备及存储介质
CN114117388A (zh) 设备注册方法、设备注册装置、电子设备以及存储介质
CN112825093B (zh) 安全基线检查方法、主机、服务器、电子设备及存储介质
CN114282237B (zh) 一种通信方法、装置、设备及存储介质
CN114978626B (zh) 基于区块链的可信计算方法、装置、设备及介质
CN115021972B (zh) 基于区块链的可信计算方法、装置、设备及介质
US20240113894A1 (en) Information processing apparatus, program execution system, information processing method and program
CN110955883B (zh) 一种用户密钥生成的方法、装置、设备及存储介质
CN111245616B (zh) 网络通信的认证方法、装置、设备及存储介质
WO2023138135A1 (zh) 人机识别的方法和装置
WO2023132068A1 (ja) 形式検証装置、形式検証方法およびプログラム

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