验证合约的方法及装置与流程

文档序号:20600717发布日期:2020-05-01 21:37阅读:来源:国知局

技术特征:

1.一种验证合约的方法,包括:

客户端获取针对链下隐私计算节点创建的链下可信执行环境的远程证明报告,所述远程证明报告由认证服务器对所述链下隐私计算节点针对所述链下可信执行环境产生的自荐信息进行验证后生成;

所述客户端在根据所述远程证明报告确定所述链下可信执行环境可信的情况下,获取部署于所述链下隐私计算节点处的目标链下合约的待验证合约信息,所述待验证合约信息被所述链下隐私计算节点在所述链下可信执行环境内采用所述链下隐私计算节点的身份私钥进行签名,所述身份私钥由所述链下隐私计算节点在所述链下可信执行环境内维护;

所述客户端采用所述链下隐私计算节点的身份公钥对所述待验证合约信息进行签名验证,以及根据所述目标链下合约的合约信息对所述待验证合约信息进行合约信息验证,并在签名验证和合约信息验证通过的情况下,确定所述客户端在通过区块链节点的预言机机制对所述目标链下合约发起调用时,所述目标链下合约由所述链下隐私计算节点在所述链下可信执行环境中执行。

2.根据权利要求1所述的方法,所述客户端获取针对链下隐私计算节点创建的链下可信执行环境的远程证明报告,包括:

所述客户端向所述链下隐私计算节点发起挑战,并接收所述链下隐私计算节点返回的远程证明报告;或者,

在所述链下隐私计算节点属于链下隐私计算集群的情况下,所述客户端向所述链下隐私计算集群的控制节点发起挑战,并接收所述控制节点返回的远程证明报告。

3.根据权利要求2所述的方法,所述客户端向所述链下隐私计算节点或所述控制节点发起挑战,包括:

所述客户端向区块链节点提交挑战交易,所述挑战交易所含的挑战信息可由所述区块链节点通过预言机机制传输至所述链下隐私计算节点或所述控制节点;或者,

所述客户端向所述链下隐私计算节点或所述控制节点发起链下挑战。

4.根据权利要求2所述的方法,所述客户端向所述链下隐私计算集群的控制节点发起挑战,包括:

所述客户端向所述控制节点发起挑战且挑战目标被设定为所述链下隐私计算节点,使所述控制节点返回所述链下隐私计算节点的远程证明报告;或者,

所述客户端向所述控制节点发起挑战且挑战目标未设定,使所述控制节点从所述链下隐私计算集群中选取所述链下隐私计算节点并返回所述链下隐私计算节点的远程证明报告。

5.根据权利要求1所述的方法,所述客户端根据所述远程证明报告对所述链下可信执行环境进行验证,包括:

根据所述认证服务器的公钥对所述远程证明报告进行签名验证;

在签名验证通过且所述远程证明报告包含的远程认证结果为通过认证的情况下,从所述远程证明报告携带的所述自荐信息内提取出第一待检验哈希值,所述第一待检验哈希值为所述链下可信执行环境的预设信息的哈希值;

将预先获得的针对所述链下可信执行环境的第一标准哈希值与所述第一待检验哈希值进行比较,并将比较结果一致作为确认所述链下可信执行环境可信的前提条件。

6.根据权利要求1所述的方法,还包括:

所述客户端获取所述链下隐私计算节点提供的第一身份信息,并对获取到的第一身份信息进行哈希计算以得到第二待校验哈希值,所述第一身份信息包含所述链下隐私计算节点的身份公钥和所述链下隐私计算节点的其他身份信息;

所述客户端获取所述链下隐私计算节点提供的第二标准哈希值,所述第二标准哈希值由所述链下隐私计算节点在所述链下可信执行环境内生成自身的身份信息后对生成的身份信息进行哈希计算得到;

所述客户端将所述第二待校验哈希值与所述第二标准哈希值进行比较,并在比较结果一致的情况下获取所述隐私计算节点的第一身份信息中包含的所述身份公钥。

7.根据权利要求1所述的方法,所述客户端根据所述远程证明报告对所述链下可信执行环境进行验证,包括:

根据所述认证服务器的公钥对所述远程证明报告进行签名验证并在签名验证通过且所述远程证明报告包含的远程认证结果为通过认证的情况下,获取所述链下隐私计算节点提供的第二身份信息,并对获取到的第二身份信息进行哈希计算以得到第三待校验哈希值,所述第二身份信息包含所述链下隐私计算节点的身份公钥、所述链下隐私计算节点的其他身份信息和第四待校验哈希值,所述第四待校验哈希值为所述链下可信执行环境的预设信息的哈希值;

获取所述链下隐私计算节点提供的第三标准哈希值,并将所述第三待校验哈希值与第三标准哈希值进行比较,所述第三标准哈希值由所述链下隐私计算节点在所述链下可信执行环境内生成自身的身份信息后对生成的身份信息进行哈希计算得到;

在所述第三待校验哈希值与所述第三标准哈希值一致的情况下,将预先获得的针对所述链下可信执行环境的第四标准哈希值与所述第四待检验哈希值进行比较,并将比较结果一致作为确认所述链下可信执行环境可信的前提条件;其中,所述第二身份信息包含的所述身份公钥用于对所述待验证合约信息进行签名验证。

8.根据权利要求6或7所述的方法,所述链下隐私计算节点的身份信息为所述链下隐私计算节点的节点身份信息,所述身份私钥为所述链下隐私计算节点的节点身份私钥,所述身份公钥为所述链下隐私计算节点的节点身份公钥;或者,

在所述链下隐私计算节点属于链下隐私计算集群的情况下,所述身份信息为所述链下隐私计算集群的集群身份信息,所述身份公钥为所述链下隐私计算集群的集群身份密钥中的集群身份公钥,所述身份私钥为所述集群身份密钥中的集群身份私钥;其中,在区块链节点与所述链下隐私计算集群中的各节点进行交互以部署或调用链下合约的过程中,所述集群身份密钥用于对交互数据进行加密解密和/或签名验签。

9.根据权利要求1所述的方法,还包括:

所述客户端向区块链节点提交针对所述目标链下合约的调用交易,所述调用交易用于指示所述区块链节点通过预言机机制对所述链下隐私计算节点部署的所述目标链下合约发起调用。

10.根据权利要求1所述的方法,还包括:

所述客户端获取所述链下隐私计算节点通过所述预言机机制反馈至所述区块链节点的执行结果,所述执行结果由所述目标链下合约响应于所述区块链节点的调用生成,并在所述链下可信执行环境内被通过所述目标链下合约的合约身份私钥进行签名;

所述客户端在采用所述目标链下合约的合约身份公钥对所述执行结果进行签名验证且通过签名验证的情况下,判定所述执行结果由所述目标链下合约生成。

11.根据权利要求1所述的方法,所述合约信息包含所述目标链下合约的合约身份公钥,在所述客户端通过区块链节点的预言机机制对所述目标链下合约发起调用的情况下,所述合约身份公钥用于对调用所述目标链下合约时所采用的入参数据进行加密,加密后的入参数据由所述目标链下合约的合约身份私钥解密。

12.一种验证合约的方法,包括:

链下隐私计算节点向客户端提供针对所述链下隐私计算节点创建的链下可信执行环境的远程证明报告,所述远程证明报告由认证服务器对所述链下隐私计算节点针对所述链下可信执行环境产生的自荐信息进行验证后生成;

所述链下隐私计算节点向所述客户端提供部署于所述链下隐私计算节点处的目标链下合约的待验证合约信息,所述待验证合约信息被所述链下隐私计算节点在所述链下可信执行环境内采用所述链下隐私计算节点的身份私钥进行签名,所述身份私钥由所述链下隐私计算节点在所述链下可信执行环境内维护;

所述待验证合约信息由所述客户端在根据所述远程证明报告确定所述链下可信执行环境可信的情况下,采用所述链下隐私计算节点的身份公钥对所述待验证合约信息进行签名验证,以及根据所述目标链下合约的合约信息对所述待验证合约信息进行合约信息验证,并在签名验证和合约信息验证通过的情况下,确定所述客户端在通过区块链节点的预言机机制对所述目标链下合约发起调用时,所述目标链下合约由所述链下隐私计算节点在所述链下可信执行环境中执行。

13.根据权利要求12所述的方法,所述链下隐私计算节点向客户端提供针对所述链下隐私计算节点创建的链下可信执行环境的远程证明报告,包括:

接收所述客户端向所述链下隐私计算节点发起的挑战,向所述客户端返回所述远程证明报告;或者,

在所述链下隐私计算节点属于链下隐私计算集群的情况下,在所述链下隐私计算集群的控制节点接收到所述客户端发起的挑战后,向所述控制节点发送所述远程证明报告,所述远程证明报告由所述控制节点返回至所述客户端。

14.根据权利要求12所述的方法,所述远程证明报告携带的所述自荐信息内包含第一待检验哈希值,所述第一待检验哈希值为所述链下可信执行环境的预设信息的哈希值,所述第一待检验哈希值用于所述客户端在根据所述认证服务器的公钥对所述远程证明报告进行签名验证并签名验证通过且所述远程证明报告包含的远程认证结果为通过认证的情况下,与预先获得的针对所述链下可信执行环境的第一标准哈希值进行比较,且比较结果一致被作为所述客户端确认所述链下可信执行环境可信的前提条件。

15.根据权利要求12所述的方法,还包括:

所述链下隐私计算节点向所述客户端提供第一身份信息,所述第一身份信息包含所述链下隐私计算节点的身份公钥和所述链下隐私计算节点的其他身份信息,所述第一身份信息被所述客户端进行哈希计算以得到第二待校验哈希值;

所述链下隐私计算节点向所述客户端提供第二标准哈希值,所述第二标准哈希值由所述链下隐私计算节点在所述链下可信执行环境内生成自身的身份信息后对生成的身份信息进行哈希计算得到;

所述第二标准哈希值用于与所述第二待校验哈希值进行比较,且所述客户端在比较结果一致的情况下获取所述隐私计算节点的第一身份信息中包含的所述身份公钥。

16.根据权利要求12所述的方法,还包括:

所述链下隐私计算节点向所述客户端提供自身的第二身份信息,所述第二身份信息包含所述链下隐私计算节点的身份公钥、所述链下隐私计算节点的其他身份信息和第四待校验哈希值,所述第四待校验哈希值为所述链下可信执行环境的预设信息的哈希值;

所述链下隐私计算节点向所述客户端提供第三标准哈希值,所述第三标准哈希值由所述链下隐私计算节点在所述链下可信执行环境内生成自身的身份信息后对生成的身份信息进行哈希计算得到;

所述第二身份信息在所述客户端根据所述认证服务器的公钥对所述远程证明报告进行签名验证并在签名验证通过且所述远程证明报告包含的远程认证结果为通过认证的情况下,被所述客户端进行哈希计算以得到第三待校验哈希值;其中,确认所述链下可信执行环境可信的前提条件包含在所述第三待校验哈希值与所述第三标准哈希值一致的情况下,所述第四待校验哈希值与所述客户端预先获得的针对所述链下可信执行环境的第四标准哈希值一致;所述第二身份信息包含的所述身份公钥用于对所述待验证合约信息进行签名验证。

17.根据权利要求15或16所述的方法,所述链下隐私计算节点的身份信息为所述链下隐私计算节点的节点身份信息,所述身份私钥为所述链下隐私计算节点的节点身份私钥,所述身份公钥为所述链下隐私计算节点的节点身份公钥;或者,

在所述链下隐私计算节点属于链下隐私计算集群的情况下,所述身份信息为所述链下隐私计算集群的集群身份信息,所述身份公钥为所述链下隐私计算集群的集群身份密钥中的集群身份公钥,所述身份私钥为所述集群身份密钥中的集群身份私钥;其中,在区块链节点与所述链下隐私计算集群中的各节点进行交互以部署或调用链下合约的过程中,所述集群身份密钥用于对交互数据进行加密解密和/或签名验签。

18.根据权利要求12所述的方法,还包括:

所述链下隐私计算节点响应于区块链节点通过预言机机制对部署的所述目标链下合约发起的调用,执行所述目标链下合约;所述区块链节点对所述目标链下合约发起的调用由所述客户端提交的针对所述目标链下合约的调用交易触发。

19.根据权利要求12所述的方法,还包括:

所述链下隐私计算节点通过所述预言机机制向区块链节点反馈执行结果,所述执行结果由所述目标链下合约响应于所述区块链节点的调用生成,并在所述链下可信执行环境内被通过所述目标链下合约的合约身份私钥进行签名;

其中,在采用所述目标链下合约的合约身份公钥对所述执行结果进行签名验证且通过签名验证的情况下,所述执行结果被判定为由所述目标链下合约生成。

20.根据权利要求12所述的方法,所述合约信息包含所述目标链下合约的合约身份公钥,在所述客户端通过区块链节点的预言机机制对所述目标链下合约发起调用的情况下,所述合约身份公钥用于对调用所述目标链下合约时所采用的入参数据进行加密,加密后的入参数据由所述目标链下合约的合约身份私钥解密。

21.一种验证合约的方法,包括:

客户端获取针对隐私计算节点创建的可信执行环境的远程证明报告,所述远程证明报告由认证服务器对所述隐私计算节点针对所述可信执行环境产生的自荐信息进行验证后生成;

所述客户端在根据所述远程证明报告确定所述可信执行环境可信的情况下,获取部署于所述隐私计算节点处的目标智能合约的待验证合约信息,所述待验证合约信息被所述隐私计算节点在所述可信执行环境内采用所述隐私计算节点的身份私钥进行签名,所述身份私钥由所述隐私计算节点在所述可信执行环境内维护;

所述客户端采用所述隐私计算节点的身份公钥对所述待验证合约信息进行签名验证,以及根据所述目标智能合约的合约信息对所述待验证合约信息进行合约信息验证,并在签名验证和合约信息验证通过的情况下,确定所述客户端在对所述目标智能合约发起调用时,所述目标智能合约由所述隐私计算节点在所述可信执行环境中执行。

22.根据权利要求21所述的方法,所述客户端根据所述远程证明报告对所述可信执行环境进行验证,包括:

根据所述认证服务器的公钥对所述远程证明报告进行签名验证;

在签名验证通过且所述远程证明报告包含的远程认证结果为通过认证的情况下,从所述远程证明报告携带的所述自荐信息内提取出第一待检验哈希值,所述第一待检验哈希值为所述可信执行环境的预设信息的哈希值;

将预先获得的针对所述可信执行环境的第一标准哈希值与所述第一待检验哈希值进行比较,并将比较结果一致作为确认所述可信执行环境可信的前提条件。

23.根据权利要求21所述的方法,还包括:

所述客户端获取所述隐私计算节点提供的第一身份信息,并对获取到的第一身份信息进行哈希计算以得到第二待校验哈希值,所述第一身份信息包含所述隐私计算节点的身份公钥和所述隐私计算节点的其他身份信息;

所述客户端获取所述隐私计算节点提供的第二标准哈希值,所述第二标准哈希值由所述隐私计算节点在所述可信执行环境内生成自身的身份信息后对生成的身份信息进行哈希计算得到;

所述客户端将所述第二待校验哈希值与所述第二标准哈希值进行比较,并在比较结果一致的情况下获取所述隐私计算节点的第一身份信息中包含的所述身份公钥。

24.根据权利要求21所述的方法,所述客户端根据所述远程证明报告对所述可信执行环境进行验证,包括:

根据所述认证服务器的公钥对所述远程证明报告进行签名验证并在签名验证通过且所述远程证明报告包含的远程认证结果为通过认证的情况下,获取所述隐私计算节点提供的第二身份信息,并对获取到的第二身份信息进行哈希计算以得到第三待校验哈希值,所述第二身份信息包含所述隐私计算节点的身份公钥、所述隐私计算节点的其他身份信息和第四待校验哈希值,所述第四待校验哈希值为所述可信执行环境的预设信息的哈希值;

获取所述隐私计算节点提供的第三标准哈希值,并将所述第三待校验哈希值与第三标准哈希值进行比较,所述第三标准哈希值由所述隐私计算节点在所述可信执行环境内生成自身的身份信息后对生成的身份信息进行哈希计算得到;

在所述第三待校验哈希值与所述第三标准哈希值一致的情况下,将预先获得的针对所述可信执行环境的第四标准哈希值与所述第四待检验哈希值进行比较,并将比较结果一致作为确认所述可信执行环境可信的前提条件;其中,所述第二身份信息包含的所述身份公钥用于对所述待验证合约信息进行签名验证。

25.根据权利要求23或24所述的方法,所述隐私计算节点的身份信息为所述隐私计算节点的节点身份信息,所述身份私钥为所述隐私计算节点的节点身份私钥,所述身份公钥为所述隐私计算节点的节点身份公钥;或者,

在所述隐私计算节点属于链下隐私计算集群的情况下,所述身份信息为所述链下隐私计算集群的集群身份信息,所述身份公钥为所述链下隐私计算集群的集群身份密钥中的集群身份公钥,所述身份私钥为所述集群身份密钥中的集群身份私钥;其中,在所述客户端与所述链下隐私计算集群中的各节点进行交互以部署或调用智能合约的过程中,所述集群身份密钥用于对交互数据进行加密解密和/或签名验签。

26.根据权利要求21所述的方法,还包括:

所述客户端获取所述隐私计算节点反馈的执行结果,所述执行结果由所述目标智能合约响应于所述客户端的调用生成,并在所述可信执行环境内被通过所述目标智能合约的合约身份私钥进行签名;

所述客户端在采用所述目标智能合约的合约身份公钥对所述执行结果进行签名验证且通过签名验证的情况下,判定所述执行结果由所述目标智能合约生成。

27.根据权利要求21所述的方法,所述合约信息包含所述目标智能合约的合约身份公钥,在所述客户端对所述目标智能合约发起调用的情况下,所述合约身份公钥用于对调用所述目标智能合约时所采用的入参数据进行加密,加密后的入参数据由所述目标智能合约的合约身份私钥解密。

28.一种验证合约的方法,包括:

隐私计算节点向客户端提供针对所述隐私计算节点创建的可信执行环境的远程证明报告,所述远程证明报告由认证服务器对所述隐私计算节点针对所述可信执行环境产生的自荐信息进行验证后生成;

所述隐私计算节点向所述客户端提供部署于所述隐私计算节点处的目标智能合约的待验证合约信息,所述待验证合约信息被所述隐私计算节点在所述可信执行环境内采用所述隐私计算节点的身份私钥进行签名,所述身份私钥由所述隐私计算节点在所述可信执行环境内维护;

所述待验证合约信息由所述客户端在根据所述远程证明报告确定所述可信执行环境可信的情况下,采用所述隐私计算节点的身份公钥对所述待验证合约信息进行签名验证,以及根据所述目标智能合约的合约信息对所述待验证合约信息进行合约信息验证,并在签名验证和合约信息验证通过的情况下,确定所述客户端在对所述目标智能合约发起调用时,所述目标智能合约由所述隐私计算节点在所述可信执行环境中执行。

29.根据权利要求28所述的方法,所述远程证明报告携带的所述自荐信息内包含第一待检验哈希值,所述第一待检验哈希值为所述可信执行环境的预设信息的哈希值,所述第一待检验哈希值用于所述客户端在根据所述认证服务器的公钥对所述远程证明报告进行签名验证并签名验证通过且所述远程证明报告包含的远程认证结果为通过认证的情况下,与预先获得的针对所述可信执行环境的第一标准哈希值进行比较,且比较结果一致被作为所述客户端确认所述可信执行环境可信的前提条件。

30.根据权利要求28所述的方法,还包括:

所述隐私计算节点向所述客户端提供第一身份信息,所述第一身份信息包含所述隐私计算节点的身份公钥和所述隐私计算节点的其他身份信息,所述第一身份信息被所述客户端进行哈希计算以得到第二待校验哈希值;

所述隐私计算节点向所述客户端提供第二标准哈希值,所述第二标准哈希值由所述隐私计算节点在所述可信执行环境内生成自身的身份信息后对生成的身份信息进行哈希计算得到;

所述第二标准哈希值用于与所述第二待校验哈希值进行比较,且所述客户端在比较结果一致的情况下获取所述隐私计算节点的第一身份信息中包含的所述身份公钥。

31.根据权利要求28所述的方法,还包括:

所述隐私计算节点向所述客户端提供自身的第二身份信息,所述第二身份信息包含所述隐私计算节点的身份公钥、所述隐私计算节点的其他身份信息和第四待校验哈希值,所述第四待校验哈希值为所述可信执行环境的预设信息的哈希值;

所述隐私计算节点向所述客户端提供第三标准哈希值,所述第三标准哈希值由所述隐私计算节点在所述可信执行环境内生成自身的身份信息后对生成的身份信息进行哈希计算得到;

所述第二身份信息在所述客户端根据所述认证服务器的公钥对所述远程证明报告进行签名验证并在签名验证通过且所述远程证明报告包含的远程认证结果为通过认证的情况下,被所述客户端进行哈希计算以得到第三待校验哈希值;其中,确认所述可信执行环境可信的前提条件包含在所述第三待校验哈希值与所述第三标准哈希值一致的情况下,所述第四待校验哈希值与所述客户端预先获得的针对所述可信执行环境的第四标准哈希值一致;所述第二身份信息包含的所述身份公钥用于对所述待验证合约信息进行签名验证。

32.根据权利要求30或31所述的方法,所述隐私计算节点的身份信息为所述隐私计算节点的节点身份信息,所述身份私钥为所述隐私计算节点的节点身份私钥,所述身份公钥为所述隐私计算节点的节点身份公钥;或者,

在所述隐私计算节点属于链下隐私计算集群的情况下,所述身份信息为所述链下隐私计算集群的集群身份信息,所述身份公钥为所述链下隐私计算集群的集群身份密钥中的集群身份公钥,所述身份私钥为所述集群身份密钥中的集群身份私钥;其中,在所述客户端与所述链下隐私计算集群中的各节点进行交互以部署或调用智能合约的过程中,所述集群身份密钥用于对交互数据进行加密解密和/或签名验签。

33.根据权利要求28所述的方法,还包括:

所述隐私计算节点向所述客户端反馈执行结果,所述执行结果由所述目标智能合约响应于区块链节点的调用生成,并在所述可信执行环境内被通过所述目标智能合约的合约身份私钥进行签名;

其中,在采用所述目标智能合约的合约身份公钥对所述执行结果进行签名验证且通过签名验证的情况下,所述执行结果被判定为由所述目标智能合约生成。

34.根据权利要求28所述的方法,所述合约信息包含所述目标智能合约的合约身份公钥,在所述客户端对所述目标智能合约发起调用的情况下,所述合约身份公钥用于对调用所述目标智能合约时所采用的入参数据进行加密,加密后的入参数据由所述目标智能合约的合约身份私钥解密。

35.一种验证合约的装置,包括:

报告获取单元,使客户端获取针对链下隐私计算节点创建的链下可信执行环境的远程证明报告,所述远程证明报告由认证服务器对所述链下隐私计算节点针对所述链下可信执行环境产生的自荐信息进行验证后生成;

合约信息获取单元,使所述客户端在根据所述远程证明报告确定所述链下可信执行环境可信的情况下,获取部署于所述链下隐私计算节点处的目标链下合约的待验证合约信息,所述待验证合约信息被所述链下隐私计算节点在所述链下可信执行环境内采用所述链下隐私计算节点的身份私钥进行签名,所述身份私钥由所述链下隐私计算节点在所述链下可信执行环境内维护;

验证单元,使所述客户端采用所述链下隐私计算节点的身份公钥对所述待验证合约信息进行签名验证,以及根据所述目标链下合约的合约信息对所述待验证合约信息进行合约信息验证,并在签名验证和合约信息验证通过的情况下,确定所述客户端在通过区块链节点的预言机机制对所述目标链下合约发起调用时,所述目标链下合约由所述链下隐私计算节点在所述链下可信执行环境中执行。

36.一种验证合约的装置,包括:

报告提供单元,使链下隐私计算节点向客户端提供针对所述链下隐私计算节点创建的链下可信执行环境的远程证明报告,所述远程证明报告由认证服务器对所述链下隐私计算节点针对所述链下可信执行环境产生的自荐信息进行验证后生成;

信息提供单元,使所述链下隐私计算节点向所述客户端提供部署于所述链下隐私计算节点处的目标链下合约的待验证合约信息,所述待验证合约信息被所述链下隐私计算节点在所述链下可信执行环境内采用所述链下隐私计算节点的身份私钥进行签名,所述身份私钥由所述链下隐私计算节点在所述链下可信执行环境内维护;

所述待验证合约信息由所述客户端在根据所述远程证明报告确定所述链下可信执行环境可信的情况下,采用所述链下隐私计算节点的身份公钥对所述待验证合约信息进行签名验证,以及根据所述目标链下合约的合约信息对所述待验证合约信息进行合约信息验证,并在签名验证和合约信息验证通过的情况下,确定所述客户端在通过区块链节点的预言机机制对所述目标链下合约发起调用时,所述目标链下合约由所述链下隐私计算节点在所述链下可信执行环境中执行。

37.一种验证合约的装置,包括:

报告获取单元,使客户端获取针对隐私计算节点创建的可信执行环境的远程证明报告,所述远程证明报告由认证服务器对所述隐私计算节点针对所述可信执行环境产生的自荐信息进行验证后生成;

合约信息获取单元,使所述客户端在根据所述远程证明报告确定所述可信执行环境可信的情况下,获取部署于所述隐私计算节点处的目标智能合约的待验证合约信息,所述待验证合约信息被所述隐私计算节点在所述可信执行环境内采用所述隐私计算节点的身份私钥进行签名,所述身份私钥由所述隐私计算节点在所述可信执行环境内维护;

验证单元,使所述客户端采用所述隐私计算节点的身份公钥对所述待验证合约信息进行签名验证,以及根据所述目标智能合约的合约信息对所述待验证合约信息进行合约信息验证,并在签名验证和合约信息验证通过的情况下,确定所述客户端在对所述目标智能合约发起调用时,所述目标智能合约由所述隐私计算节点在所述可信执行环境中执行。

38.一种验证合约的装置,包括:

报告提供单元,使隐私计算节点向客户端提供针对所述隐私计算节点创建的可信执行环境的远程证明报告,所述远程证明报告由认证服务器对所述隐私计算节点针对所述可信执行环境产生的自荐信息进行验证后生成;

合约信息提供单元,使所述隐私计算节点向所述客户端提供部署于所述隐私计算节点处的目标智能合约的待验证合约信息,所述待验证合约信息被所述隐私计算节点在所述可信执行环境内采用所述隐私计算节点的身份私钥进行签名,所述身份私钥由所述隐私计算节点在所述可信执行环境内维护;

所述待验证合约信息由所述客户端在根据所述远程证明报告确定所述可信执行环境可信的情况下,采用所述隐私计算节点的身份公钥对所述待验证合约信息进行签名验证,以及根据所述目标智能合约的合约信息对所述待验证合约信息进行合约信息验证,并在签名验证和合约信息验证通过的情况下,确定所述客户端在对所述目标智能合约发起调用时,所述目标智能合约由所述隐私计算节点在所述可信执行环境中执行。

39.一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现如权利要求1-34中任一项所述的方法。

40.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-34中任一项所述方法的步骤。


技术总结
本说明书提供一种验证合约的方法及装置,该方法包括:获取针对链下隐私计算节点创建的链下可信执行环境的远程证明报告;在根据远程证明报告确定链下可信执行环境可信时,获取部署于该节点处的目标链下合约的待验证合约信息,待验证合约信息被该节点在链下可信执行环境内采用该节点的身份私钥进行签名,身份私钥由该节点在链下可信执行环境内维护;采用该节点的身份公钥对待验证合约信息进行签名验证,根据目标链下合约的合约信息对待验证合约信息进行合约信息验证,在签名验证和合约信息验证通过的情况下,确定在通过预言机机制对目标链下合约发起调用时,目标链下合约由该节点在链下可信执行环境中执行。上述方案可以确保数据安全和隐私保护。

技术研发人员:吴因佥;邱鸿霖;吴行行
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2020.03.18
技术公布日:2020.05.01
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1