Scyther工具形式化分析Woo-Lam协议
Scyther
Scyther形式化分析工具可以对协议进行形式化描述,验证协议的机密性和可认证性是否存在安全威胁。在攻击时支持会话轮数无限次执行,同时支持在强安全模型和Delov-Yao模型。在对要形式化分析的协议算法方面并不支持含有 “”XOR“” 运算代数性质和 “”DH“” 代数运算性质以及含有双线性对代数性质的协议。类似的协议形式化分析工具还有SPIN,CPN Tools,Tamarin等。
一. Scyther
Scyther-Compromise使用的状态空间显示和搜索算法相似,Scyther-Compromise在Scyther的基础上添加了强安全模的选项,从而增加了搜索的时间,而Tamarin是在Scyther基础上涉及的,使用Scyther的逆向算法。另外要说的是Scyther-Compromise和Tamarin工具不仅支持Dolev-Yao模型,还支持eCK等强安全模型。
二. Woo-Lam协议
上图所示为Woo-Lam协议消息流图。
三. 形式化建模分析
protocol Woo-Lam(A,B,S)
{
role A{
var Nb:Nonce;
send_1(A,B,A);
recv_2(B,A,Nb);
send_3(A,B,{Nb}k(A,S));
claim(A,Secret,Nb);
claim(A,Alive);
claim(A,Weakagree);
claim(A,Niagree);
claim(A,Nisynch);
}
role B{
fresh Nb:Nonce;
recv_1(A,B,A);
send_2(B,A,Nb);
recv_3(A,B,{Nb}k(A,S));
send_4(B,S,{B,{Nb}k(A,S)}k(B,S));
recv_5(S,B,{A,Nb}k(B,S));
claim(B,Secret,Nb);
claim(B,Alive);
claim(B,Weakagree);
claim(B,Niagree);
claim(B,Nisynch);
}
role S{
var Nb:Nonce;
recv_4(B,S,{B,{Nb}k(A,S)}k(B,S));
send_5(S,B,{A,Nb}k(B,S));
claim(S,Secret,Nb);
claim(S,Alive);
claim(S,Weakagree);
claim(S,Niagree);
claim(S,Nisynch);
}
}