远程证明的方法和装置制造方法及图纸

技术编号:32136846 阅读:13 留言:0更新日期:2022-02-08 14:29
本申请提供远程证明的方法和系统。该远程证明的方法包括:可信第三方服务器根据第一主密钥A

【技术实现步骤摘要】
远程证明的方法和装置


[0001]本申请涉及可信计算(trusted computing)领域,并且更具体的,涉及可信计算领域中的一种远程证明的方法和装置。

技术介绍

[0002]在可信计算领域,远程证明指的是一个计算系统(证明者,prover)向一个远程系统(验证者,verifier)证明它的软/硬件配置和状态的一种技术。一个远程证明系统通常包括证明者和验证者两部分。证明者端具有系统完整性度量(integrity measurement)机制,能够根据证明者和验证者之间的远程证明协议(remote attestation protocol),将自身系统的度量值通过远程证明协议汇报给验证者,以便验证者验证证明者系统完整性。
[0003]为了保护证明者的隐私,证明者通常需要匿名参与远程证明协议,即验证者只需验证证明者的系统完整性,而无需了解证明者具体是谁。这通常是通过验证者使用(类)群签名技术来实现。群签名(group signature)是一类特殊的数字签名技术,具有下述核心特性:一个群管理员(group manager)拥有一对主公钥/主密钥,负责给群员(group member)发放签名私钥。私钥的签发需使用主密钥。群员使用私钥签名,产生的数字签名的合法性使用主公钥验证。在群签名技术中,只能验证签名是某个群员签发的,而不能确定具体是哪个群员。更进一步,同一个群员产生的不同签名不能被链接(unlinkability),即验证者无法确认不同的数字签名是否为同一个群员生成。因此使用群签名可保护签名者的隐私。r/>[0004]在一种远程证明方案中,芯片制造商作为处理器的分发机构,拥有一对主公钥/主密钥。芯片生产商根据该主密钥产生证明私钥(attestation key),用于证明者签发数字签名。验证者使用上述主公钥对该数字签名进行验证。由于芯片制造商是证明私钥的分发机构,因此用户需要完全信任该芯片制造商,即信任芯片制造商产生的证明私钥。但是,在某些情况下,用户可能不想完全信任芯片制造商,此时如何进行远程证明是亟待解决的问题。

技术实现思路

[0005]本申请提供一种远程证明的方法和系统,能够实现用户在进行远程证明过程中,无需完全信任芯片制造商。
[0006]第一方面,提供了一种远程证明的方法,包括:
[0007]第二服务器根据第二主密钥A-MSK2,向第一设备发送第二部分证明私钥;
[0008]所述第一设备接收来自所述第二服务器的所述第二部分证明私钥和来自第一服务器的第一部分证明私钥,其中,所述第一部分证明私钥是所述第一服务器根据第一主密钥A-MSK1生成的;
[0009]所述第一设备根据所述第一部分证明私钥和所述第二部分证明私钥,生成证明私钥;
[0010]所述第一设备根据所述证明私钥,生成匿名签名,其中,用于验证所述匿名签名的联合主公钥是根据所述A-MSK1对应的第一主公钥A-MPK1和所述A-MSK2对应的第二主公钥
A-MPK2确定的。
[0011]示例性的,第一服务器可以为可信第三方服务器,第二服务器可以为芯片制造商服务器,第一设备可以为可信设备。另外,可信第三方服务器的数量可以为至少一个,例如可以为一个,两个,或者更多,本申请实施例对此不作限定。
[0012]因此,本申请实施例中,以第一服务器可以为可信第三方服务器,第二服务器可以为芯片制造商服务器,第一设备可以为可信设备为例,通过至少一个用户(即可信设备和验证设备)信任的可信第三方服务器与芯片制造商服务器共同生成证明私钥(attestation key),能够将用户的信任分散到多方,使得任何单一一方(例如芯片制造商或任意一个可信第三方)无法生成或知道用户的attestation key,因此本申请实施例能够实现用户在远程证明的过程中,无需完全信任芯片制造商。
[0013]结合第一方面,在第一方面的某些实现方式中,还包括:
[0014]所述第二服务器确定所述第一设备在二叉树中所在的叶子节点到所述二叉树中的根节点的路径{u0,u1,

,u
l
},u
j
表示所述路径上的第j个节点,u
l
表示所述第一设备所在的叶子节点,u0表示所述根节点,0≤j≤l,j和l均为正整数;
[0015]其中,所述第二服务器根据第二主密钥A-MSK2,向第一设备发送第二部分证明私钥,包括:
[0016]所述第二服务器根据所述A-MSK2,对于每个u
j
∈{u0,u1,

,u
l
},生成对(u
l
,u
j
)的第二签名;
[0017]所述第二服务器将所述每个u
j
的对(u
l
,u
j
)的第二签名发送给所述第一设备,其中每个u
j
的对(u
l
,u
j
)的第二签名为所述第二部分证明私钥;
[0018]其中,所述第一部分证明私钥是所述第一服务器根据第一签名确定的,所述第一签名是所述第一服务器根据所述A-MSK1,对于每个u
j
∈{u0,u1,

,u
l
},生成对(u
l
,u
j
)的签名。
[0019]这样,第一服务器可以根据自身的主密钥,对可信芯片对应的叶节点到二叉树的根节点的路径上的所有节点,生成签名作为第一服务器产生的部分attestation key;第二服务器可以根据自身的主密钥,对可信芯片对应的叶节点到二叉树的根节点的路径上的所有节点,生成签名作为第二服务器产生的部分attestation key。
[0020]结合第一方面,在第一方面的某些实现方式中,所述第二服务器根据所述A-MSK2,对于每个u
j
∈{u0,u1,

,u
l
},生成对(u
l
,u
j
)的第二签名,包括:
[0021]所述第二服务器根据所述A-MSK2和临时加法同态加密算法,向所述第一商服务器发送对所述(u
l
,u
j
)的第一加密信息;
[0022]所述第二服务器接收所述第一服务器发送的第二加密信息,其中,所述第二加密信息是所述第一服务器根据所述第一加密信息和所述A-MSK1生成的;
[0023]所述第二服务器解密所述第二加密信息,并根据所述第二加密信息,生成所述对(u
l
,u
j
)的第二签名。
[0024]因此,第二服务器可以通过临时加法同态加密算法,允许在保证第二服务器的秘密信息(即第二服务器生成部分attestation key的过程相关信息)的私密性的情况下,允许第一商服务器在秘密信息上进行计算,从而得到相应的计算结果。
[002本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种远程证明的方法,其特征在于,包括:第二服务器根据第二主密钥A-MSK2,向第一设备发送第二部分证明私钥;所述第一设备接收来自所述第二服务器的所述第二部分证明私钥和来自第一服务器的第一部分证明私钥,其中,所述第一部分证明私钥是所述第一服务器根据第一主密钥A-MSK1生成的;所述第一设备根据所述第一部分证明私钥和所述第二部分证明私钥,生成证明私钥;所述第一设备根据所述证明私钥,生成匿名签名,其中,用于验证所述匿名签名的联合主公钥是根据所述A-MSK1对应的第一主公钥A-MPK1和所述A-MSK2对应的第二主公钥A-MPK2确定的。2.根据权利要求1所述的方法,其特征在于,还包括:所述第二服务器确定所述第一设备在二叉树中所在的叶子节点到所述二叉树中的根节点的路径{u0,u1,

,u
l
},u
j
表示所述路径上的第j个节点,u
l
表示所述第一设备所在的叶子节点,u0表示所述根节点,0≤j≤l,j和l均为正整数;其中,所述第二服务器根据第二主密钥A-MSK2,向第一设备发送第二部分证明私钥,包括:所述第二服务器根据所述A-MSK2,对于每个u
j
∈{u0,u1,

,u
l
},生成对(u
l
,u
j
)的第二签名;所述第二服务器将所述每个u
j
的对(u
l
,u
j
)的第二签名发送给所述第一设备,其中每个u
j
的对(u
l
,u
j
)的第二签名为所述第二部分证明私钥;其中,所述第一部分证明私钥是所述第一服务器根据第一签名确定的,所述第一签名是所述第一服务器根据所述A-MSK1,对于每个u
j
∈{u0,u1,

,u
l
},生成对(u
l
,u
j
)的签名。3.根据权利要求2所述的方法,其特征在于,所述第二服务器根据所述A-MSK2,对于每个u
j
∈{u0,u1,

,u
l
},生成对(u
l
,u
j
)的第二签名,包括:所述第二服务器根据所述A-MSK2和临时加法同态加密算法,向所述第一商服务器发送对所述(u
l
,u
j
)的第一加密信息;所述第二服务器接收所述第一服务器发送的第二加密信息,其中,所述第二加密信息是所述第一服务器根据所述第一加密信息和所述A-MSK1生成的;所述第二服务器解密所述第二加密信息,并根据所述第二加密信息,生成所述对(u
l
,u
j
)的第二签名。4.根据权利要求2或3所述的方法,其特征在于,还包括:所述第二服务器确定集合R,其中R

CS(RU,BT),其中,BT表示所述二叉树,RU表示在时间段t内,所述二叉树中撤销的芯片的集合,R表示在所述二叉树BT中撤销RU节点之后,剩余的有效节点所构成的所有的子树的根节点;所述第二服务器根据所述A-MSK2,对于每个u
j
∈R,生成对(t,u
j
)的第四签名;所述第二商服务器根据所述第四签名和第三签名,确定所述时间段t的撤销列表,所述撤销列表包括所述每个u
j
的对(t,u
j
)的联合签名,其中,所述第三签名是所述第一服务器根据所述A-MSK1,对于每个u
j
∈R,生成对(t,u
j
)的签名。5.根据权利要求4所述的方法,其特征在于,所述第一设备根据所述证明私钥,生成匿名签名,包括:
获取验证设备发送的随机挑战信息;确定节点包含在所述证明私钥中的对的签名,以及包含在所述撤销列表中的对的签名;根据所述对的签名和所述对的签名,确定对所述随机挑战信息和平台完整性度量值的零知识签名。6.根据权利要求2-5任一项所述的方法,其特征在于,所述第一签名和所述第二签名为BBS+签名,或者所述第一签名和所述第二签名为LMPY签名。7.根据权利要求1-6任一项所述的方法,其特征在于,所述第二服务器为所述第一设备的芯片制造商服务器。8.一种远程证明的方法,其特征在于,包括:第一设备接收来自第一服务器的第一部分证明私钥,其中,所述第一部分证明私钥是所述第一服务器根据第一主密钥A-MSK1生成的;所述第一设备接收来自第二服务器的第二部分证明私钥,其中,所述第二部分证明私钥是所述第二服务器根据第二主密钥A-MSK2生成的;所述第一设备根据所述第一部分证明私钥和所述第二部分证明私钥,生成证明私钥;所述第一设备根据所述证明私钥,生成匿名签名,其中,用于验证所述匿名签名的联合主公钥是根据所述A-MSK1对应的第一主公钥A-MPK1和所述A-MSK2对应的第二主公钥A-MPK2确定的。9.根据权利要求8所述的方法,其特征在于,所述第一部分证明私钥是所述第一服务器根据第一签名确定的,所述第一签名是所述第一服务器根据所述A-MSK1,对于每个u
j
∈{u0,u1,

,u
l
},生成对(u
l
,u
j
)的签名;所述第二部分证明私钥是所述第二服务器根据第二签名确定的,所述第二签名是所述第一服务器根据所述A-MSK2,对于每个u
j
∈{u0,u1,

,u
l
},生成对(u
l
,u
j
)的签名;其中,{u0,u1,

,u
l
}表示所述第一设备在二叉树中所在的叶子节点到所述二叉树中的根节点的路径,u
j
表示所述路径上的第j个节点,u
l
表示所述第一设备所在的叶子节点,u0表示所述根节点,0≤j≤l,j和l均为正整数。10.根据权利要求8或9所述的方法,其特征在于,所述第一设备获取时间段t的撤销列表,所述撤销列表包括所述每个u
j
的对(t,u
j
)的联合签名,其中,所述撤销列表是根据第三签名和第四签名确定的,所述第三签名是所述第一服务器根据所述A-MSK1,对于每个u
j
∈R,生成对(t,u
j
)的签名,所述第四签名是所述第二服务器根据所述A-MSK1,对于每个u
j
∈R,生成对(t,u
j
)的签名;其中,R

CS(RU,BT),其中,BT表示所述二叉树,RU表示在时间段t内,所述二叉树中撤销的芯片的集合,R表示在所述二叉树BT中撤销RU节点之后,剩余的有效节点所构成的所有的子树的根节点。11.根据权利要求10所述的方法,其特征在于,所述第一设备根据所述证明私钥,生成匿名签名,包括:获取验证设备发送的随机挑战信息;确定节点包含在所述证明私钥中的对的签名,以及包含在所
述撤销列表中的对的签名;根据所述对的签名和所述对的签名,确定对所述随机挑战信息和平台完整性度量值的零知识签名。12.根据权利要求9-11任一项所述的方法,其特征在于,所述第一签名和所述第二签名为BBS+签名,或者所述第一签...

【专利技术属性】
技术研发人员:杨艳江鲍丰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1