采用Fiat-Shamir签名方案[15],容易将图2所示的交互零知识证明协议转化为签名方案。签名协议如图3所示,其中m是待签名的消息,而s是证明者采用密钥x在m上的签名,记为s=SPK{(x):y≡ax}(t∥c∥m),该签名方案称为知识签名(signature of knowledge)。
3.2 DAA协议分析与研究
Ernie Brickell、Jan Camenisch和Liqun Chen在文献[16]对DAA协议进行了详尽的阐述。但遗憾的是,他们并未给出DAA证书的回收方案。本节从分析DAA协议出发,针对P2P环境提出一种DAA证书的回收机制,实现了P2P网络稳定身份的创建和维护,进而构建能抵御Pseudospoofing和Pseudostheft攻击的信任模型。
DAA协议包括三个过程:DAA Join、DAA Signing和DAA Verifier。DAA Join协议如图4所示,其中∫I是DAA Issuer选择的较长期的基名(basename),SKI是DAA Issuer的签名密钥,DAA Join协议简单分析如下:(1)TPM生成密钥f,随机生成盲化因子v,,将f化为U:=blind(f,v,);TPM生成假名NI=∫If ,将f和U:=blind(f,v,)发送给DAA Issuer,同时提供EK证书。
(2)DAA Issuer随机生成随机数ne,将ne用PUBEK加密后发送给TPM请求解密;TPM对ne解密后,将hash(U II ne)发送给DAA Issuer;DAA Iss 检查U和ne的正确性,若通过,则完成了TPM的身份认证。
(3)DAA Issuer随机生成挑战ni,TPM提供知识证明SPK{(f,v,):U≡blind(f,v,)∧NI≡=∫If }(ni),证明U、ni 的形成是正确的。
(4)TPM随机生成挑战nh发送给DAA Issuer,DAA Issuer对U进行签名,将签名Sign(U,SK1)发送给TPM同时提供Sign(U,SK1)正确形成的零知识证明spk{(skI):Sign(U,SKI)}(nh)。
(5)TPM对Sign(U,SK1)进行去盲化处理,Sign(f,SKI)=unblind(Sign(U,SKI),V,),恢复出DAA Issuer对f的签名,该签名即为DAA证书。
DAA Signing/Verifier协议如图5所示,其中b是一个比特位,b=0表示消息m是传送给TPM的,而b=1表示消息m是由TPM产生的,具体过程描述如下:
(1)校验者向TPM提出校验请求。
(责任编辑:adminadmin2008)