密码协议是用来在不安全的网络环境中建立安全通信通道的方法。虽然密码协议中仅有很少的几组消息传输,但其中每条消息的组成都是经过巧妙的设计,而这些协议之间有着复杂的相互作用和制约。
若如果协议涉及上出现漏洞,那么协议将存在验证的安全缺陷。所以在设计完一个协议后,要通过一定的手段和方法来分析所设计的协议是不是安全可靠的。
一、如何保证密码协议的安全性?
(1)攻击检验法
这种方法就是采用现有的一些有效的协议攻击方法,逐个对协议进行攻击,检验其是否具有抵御这些攻击的能力,分析时,主要采用语言描述的形式对协议所交换的密码消息的功能进行剖析。
(2)形式语言逻辑分析法
采用形式化语言对协议进行安全性分析归纳起来有四种:
- 利用非专门语言和验证工具来对协议建立模型并加以验证
- 开发专家系统,对密码协议进行开发和研究
- 采用能够分析知识和信任的逻辑,对协议进行安全性研究
- 基于密码系统的代数特点,开发某种形式方法,对协议进行分析和验证
(3)可证安全性分析法(重点)
前面两个方法只能发现协议有存在安全隐患,但可证安全性分析法可以证明协议是安全的。可证明安全是一种证明密码学方案安全性的形式化方法,它将密码学方案的安全性规约为公认的计算难题。