1.一种零知识证明的数据交互方法,用于信任挑战节点,其特征在于,包括:向信任被挑战节点发送零知识挑战请求;所述挑战请求,包括:随机数、指定位置数据,以便所述信任被挑战节点利用自身的可信平台模块TPM、所述随机数对所述指定位置的数据进行签名,得到指定位置签名数据;
接收所述信任被挑战节点发送的所述指定位置签名数据、所述可信平台模块TPM记录的度量日志ML和AIK证书;
验证所述信任挑战节点验证所述指定位置签名数据、所述可信平台模块TPM记录的度量日志ML和所述AIK证书是否相符;
根据验证结果,确定所述信任被挑战节点是否可信,以便确定是否运用TEE安全区存储的零知识验证应用程序中的(pk,vk)发送到所述信任被挑战节点;
所述验证所述信任挑战节点验证所述指定位置签名数据、所述可信平台模块TPM记录的度量日志ML、所述AIK证书是否相符,包括:利用所述可信平台模块TPM记录的度量日志ML,重新计算所述指定位置的签名期望数据;
判断所述指定位置签名数据是否与所述签名期望数据相符;
如果相符,则判断所述信任被挑战节点为可信节点,如果不相符则判断所述信任被挑战节点为不可信节点;
所述验证所述信任挑战节点验证所述指定位置签名数据、所述可信平台模块TPM记录的度量日志ML和所述AIK证书是否相符,包括:验证所述AIK证书是否为可信CA签发;
如果所述AIK证书为可信CA签发,则继续判断所述AIK证书是否在有效期内;
如果是,则判断所述信任被挑战节点为可信节点,如果否,则判断所述信任被挑战节点为不可信节点;
用于信任被挑战节点,包括:
接收信任挑战节点发送的零知识挑战请求;所述零知识挑战请求,包括:随机数、指定位置数据;
利用自身的可信平台模块TPM、所述随机数对所述指定位置的数据进行签名,得到指定位置签名数据;
将所述指定位置签名数据、所述可信平台模块TPM记录的度量日志ML和AIK证书发送到所述信任挑战节点,以便所述信任挑战节点验证所述指定位置签名数据、所述可信平台模块TPM记录的度量日志ML和所述AIK证书是否相符,并根据验证结果,确定所述信任被挑战节点是否可信,以便确定是否将TEE安全区存储的零知识验证应用程序中的(pk,vk)发送到所述信任挑战节点。
2.一种零知识证明的信任被挑战节点,应用于如权利要求1所述的零知识证明的数据交互方法,其特征在于,包括:挑战请求发送模块,用于向信任被挑战节点发送零知识挑战请求;所述挑战请求,包括:随机数、指定位置数据,以便所述信任被挑战节点利用自身的可信平台模块TPM、所述随机数对所述指定位置的数据进行签名,得到指定位置签名数据;
返回数据接收模块,用于接收所述信任被挑战节点发送的所述指定位置签名数据、所述可信平台模块TPM记录的度量日志ML和AIK证书;
证书验证模块,用于验证所述信任挑战节点验证所述指定位置签名数据、所述可信平台模块TPM记录的度量日志ML和所述AIK证书是否相符;
保密数据处理模块,用于根据验证结果,确定所述信任被挑战节点是否可信,以便确定是否将TEE安全区存储的零知识验证应用程序中的(pk,vk)发送到所述信任被挑战节点。
3.根据权利要求2所述的信任被挑战节点,其特征在于,
所述证书验证模块,包括:
期望数据计算单元,用于利用所述可信平台模块TPM记录的度量日志ML,重新计算所述指定位置的签名期望数据;
数据相符判断单元,用于判断所述指定位置签名数据是否与所述签名期望数据相符;
信任确定单元,用于如果相符,则判断所述信任被挑战节点为可信节点,如果不相符则判断所述信任被挑战节点为不可信节点。
4.根据权利要求2所述的信任被挑战节点,其特征在于,
所述证书验证模块,包括:
证书可信验证单元,用于验证所述AIK证书是否为可信CA签发;
有效期验证单元,用于如果所述AIK证书为可信CA签发,则继续判断所述AIK证书是否在有效期内;
可信确定单元,用于如果所述AIK证书在有效期内,则判断所述信任被挑战节点为可信节点,如果否,则判断所述信任被挑战节点为不可信节点。
5.一种信任被挑战节点,应用于如权利要求1所述的零知识证明的数据交互方法,其特征在于,包括:挑战接收模块,用于接收信任挑战节点发送的零知识挑战请求;所述挑战请求,包括:随机数、指定位置数据;
签名数据得到模块,用于利用自身的可信平台模块TPM、所述随机数对所述指定位置的数据进行签名,得到指定位置签名数据;
返回数据发送模块,用于将所述指定位置签名数据、所述可信平台模块TPM记录的度量日志ML和AIK证书发送到所述信任挑战节点,以便所述信任挑战节点验证所述指定位置签名数据、所述可信平台模块TPM记录的度量日志ML和所述AIK证书是否相符,并根据验证结果,确定所述信任被挑战节点是否可信,以便确定是否将TEE安全区存储的零知识验证应用程序中的(pk,vk)发送到所述信任挑战节点。
6.一种零知识证明的数据交互设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1所述一种零知识证明的数据交互方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述一种零知识证明的数据交互方法的步骤。