在Diffie-Hellman密钥协商方案中,中间人M攻击之所以能够得逞,是因为通信双方A和B交换的消息缺少认证保护。1992年,W.Diffie和P.C.Van Orschot等人提出一种站对站协议(Station-to-Station Protocol,STS),用以抵抗中间人攻击。实际上,它是Diffie-Hellman密钥协商方案的一个改进。
Station-to-Station协议在Diffie-Hellman密钥协商方案的基础上,加上了数字签名操作。假定每个用户都有一个签名方案,例如用户A的签名算法为SigA,验证算法为VerA。若可信中心TA也有一个签名方案,签名算法为SigTA,验证算法为VerTA,用户A持有证书:
Cert(A)=(IDA,VerA,SigTA(IDA,VerA))
其中,IDA为用户的身份信息;证书Cert(A)由TA事先签发。
设p为一个大素数,g为Zp的一个本原元,p和g公开。简化的Station-to-Station协议描述如下:
1)用户A随机选取秘密的xA,且0≤xA≤p-2,计算
并将结果发送给用户B。(www.xing528.com)
2)用户B随机选取秘密的xB,且0≤xB≤p-2,首先计算
然后计算
接着B将(Cert(B),g(mod p),EB)传给用户A。
3)用户A收到消息后,计算K≡(mod p),验证Cert(B)的有效性,解密再验证B的签名的有效性。确认签名有效后,把自己的公钥证书Cert(A)以及对yA的签名用K作为密钥加密后发给用户B。
4)用户B收到消息后解密消息,先验证Cert(A)的有效性,再验证A的签名的有效性。
利用简化的Station-to-Station协议,用户A、B双方可以在信道上交换密钥信息,并能确认对方的身份,证实对方已经拥有了协议中产生的共享密钥。简化Station-to-Station协议的主要特点是在原有Diffie-Hellman密钥协商方案的基础上增加了签名验证,因而可以抵抗中间人攻击。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。