Scyther tool 入门
1、Scyther 适合分析什么样的协议 首先协议分析工具并不是可以分析所有的协议,每种协议都有其自己适合的分析方法,并不都是可以使用形式化方法来分析。 目前协议分析方法: 模态逻辑分析(BAN逻辑,Bieber逻辑等)、定理证明分析(耗费资源)、模型检测分析。 Scyther适合分析协议的特征: 参与协议的对象较少(列如:客户端,服务端,认证端) 协议自身没有使用加密、认证、过程协商。而是依托第三方加密协议 不支持及双线性对和的协议分析 下图是比较 形式化分析的工具性能的截图(基本上可以对自己要分析的协议有一个基本的判断之后,就可以选择使用什么样的工具来分析协议) 2、Scyther 如何分析一个协议 下面我简单举例一个单纯使用加密的的简单协议(A----->B之间的消息发送消息c,发送之前对消息单纯的使用hash函数加密 ) 首先我么按照上面的描述形式化这个简单的列子(并申明收发双方之间可以接受到消息)------结果证明 我们形式化过程没有问题,接受者b 和发送者 a 可以实现消息的传递(双方认可) 下面我们对协议进行验证是否存在敌手攻击,即就是协议消息被敌手获取的漏洞,结果证明,即便是发送的时候使用了加密函数对消息加密,敌手仍然可以获取信息 (如图DY模型下输出两个攻击图) 3、Scytehr 的敌手模型 Dolev-Yao模型的概念(参考资料-----《A