赞
踩
我们来形式化证明Needham-Schroeder public key protocol协议。该协议描述了Alice(A)和Bob(B)的相互认证过程。尽管在最初的描述中没有说明,协议也可以提供参与者之间共享的秘密会话密钥。除了两个参与者之外,我们假设存在一个可信密钥服务器(S)。
协议如下:
A向S发出索要B公钥(skB)的请求,S把B的公钥和身份(skB,B)用自己的私钥进行签名后发给A。
A随机生成一个随机数Na,将Na与自己的身份配对(Na,A),将其用B的公钥加密后发给B。
B收到密文后,解密得到(Na,A)。B通过向S询问,得到A的公钥(skA)。B随机生成一个随机数Nb,将(Na,Nb)加密后发送给A。
A收到密文后,解密,将(Nb,pk(skB))发送给B。
协议结束。
我们首先简化上面协议,协议如下:
在这种形式化过程中,省略了可信密钥服务器的角色,因此我们假设参与者Alice和Bob在协议执行之前拥有必要的公钥。此外,Alice的身份是使用她的公钥建模的。
关于Proverif代码,可以在以下链接找到:
https://github.com/henkly/proverif-code
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。