BAN逻辑
基于推理结构性方法
Paper,
"A Logic of Authentication", ACM Transactions on Computer Systems, Vol. 8, No. 1, pp. 18-36, February 1990.
协议安全性的自动化分析
- 选择形式化描述工具进行建模
- 使用某种模型和工具进行分析运算
- 对于所得的结果进行解释
基本术语
believes(P,X)
sees(P,X)
said(P,X)
controls(P,X)
fresh(X)
<X>y
- P Q
- {X}K
message-meaning rule
主要用于消息来源的判断
结论条件
P believes Q said XP believes QKP, P sees {X}K
P believes Q said XP believes QK, P sees {X}K−1
P believes Q said XP believes QK, P sees {X}K
nonce-verifcation rule
P believes Q believes XP believes fresh(X), P believes Q said X
乐观的前提:
- 相信X是新鲜的。
- Q是合法的主体,不会撒谎。
jurisdiction rule
接受规则
P sees (X,Y) 签名
P sees ⟨X⟩Y 解密
新鲜性规则
P believes fresh(X,Y)P believes fresh(X) 按时间顺序,X是新鲜的,认为与X的结合体(X,Y)是新鲜的,但不能推出fresh(Y)
BAN逻辑的假定
- 分布式环境的假定:消息可以任意获取
- 分布式特征:会话
- 相信,得到,发送
- 一个基本的语句反映一个公式的若干属性
关于协议运作的前期与假定
密钥分发与认证的逻辑目标
一个主体对另一个主体对于世界的看法的推断(研判):密钥是否被对方接受了
双方都有相信的密钥
双方都要对对方对于密钥的认可有研判
A believes AKabBA believes B believes AKabBB believes AKabBB believes A believes AKabB Kerberos 协议分析
Message1.Message2.Message3.Message4. 理想化,idealization
初始化、预处理
推理三
A believes AKabBB believes AKabBB believes B believes AKabBA believes B believes AKabB Andrew安全RPC握手协议分析
RPC协议
Message1.A→B:A,{Na}KabMessage2.B→A:{Na+1,Nb}KabMessage3.A→B:{Nb+1}KabMessage4.B→A:{Kab′,Nb′}Kab 理想化
Message1.A→B:A,{Na}KabMessage2.B→A:{Na+1,Nb}KabMessage3.A→B:{Nb+1}KabMessage4.B→A:{AKabB,Nb′}Kab 初始假定
新鲜数只对发送方有研判价值
B believes AKab′BA believes B said (AKab′B,Nb′)B believes B believes AKabBA believes B believes AKabB BAN逻辑分析的过程
BAN逻辑的缺陷
- 非标准的理想化协议过程:明文忽略问题
- 不合理的假设:主体诚实性问题
- 违规现象:重放攻击