几种形式化方法: BAN逻辑 串空间模型 认证测试理论
下面基于BAN逻辑方法做一个总结:
BAN逻辑
1.基本术语
主体(principal):参与认证协议的各方。
观点(formula,statement):认证协议中消息的意义。
A,B,C:具体的认证主体。
Kab,Kas,Kbs:具体认证主体的共享密钥。
Ka, Kb, Kc:具体认证主体的秘密密钥。
Ka-1,Kb-1,Kc-1:具体认证主体的秘密密钥。
Na, Nb, Nc:具体观点(statement)。
P,Q,R:一般意义上的主体,表示一个范围的概念。
X,Y:一般意义上的观点(statement)。
K:一般意义上的加密密钥,表示一个范围的概念。
(X,Y):X和Y的连接。
P|≡X:P相信X,或P有权相信X。特别是,主体P认为X是真的。
P|~X:P曾说过X,主体P在某一时刻曾发送过包含X的消息。
P|⊿X:P看到过X,某些主体曾发送过包含X的消息,P能读出并重复X。
P|=>X:P对X有仲裁权。
#(X):X是新鲜的。
2.推理规则
3.协议分析步骤
BAN逻辑分析认证协议的步骤包括:
1)协议的理想化。由原始协议导出理想化协议,即把协议中的消息转换成相应的逻辑语言表示,这里是指把实际协议转化为BAN逻辑的逻辑语言表示的过程。
2)确定初始假设。找出完成协议的最初信仰假设,这些假设是协议中各条消息起作用的条件。初始假设包括信仰假设(信任关系等)和状态假设(仲裁权等)。
3)确定断言。将逻辑公式附加于协议语句,即给出每一个协议语句的断言。
4)逻辑化推理过程。对假设和断言运用逻辑推理规则,得出各个认证主体的最终信仰。
5)得出结论。对最终的逻辑结果进行判断以确定是否达到了协议设计的目的,协议中是否存在漏洞。
4.认证的目的
5.实例分析(以Kerberos协议为例)
BAN逻辑分析过程如下:
整个过程都是根据BAN逻辑规则和消息得到的,大致过程就是这样~