模态和形式逻辑简介
1 简介
模态对于不确定性,可能性的研究存在于多方面。
模态:可能性与不可能性、存在与不存在、必然性与偶然性。
比如系统的互操作性(也称为多模型[与多模态不同])是什么意思?
更具体地说,对于像非技术性、以销售为重点的人或营销领导者来说,互操作性在通用语言中意味着什么?
试着倒回去,以测试理解力。比如某人来自北京,通过八宝粥隐喻来理解生活,所以我用我的食物来分解它:
系统平台中的互操作性就像一锅八宝粥。这是一个混合菜(平台),植根于各种各样的成分(模型),这些成分(模型)本身就很棒,但当以特定方式组合时,就会做出美味的东西。
你可以去掉一两种成分或做一些替代品,比如把八宝粥中的核桃换成花生米,但它仍然是八宝粥。而作为一个多模型平台是成品。平台团队是精心挑选所有食材及其部分的厨师,供贪婪的销售和市场享用。
在幽默之后,要考虑的另一件大事是,我们也希望能够为我们的特定客户量身定制配方。因此,如果我们的一些客户喜欢某些成分而不是其他成分。我们可以通过根据他们的口味定制食谱来帮助他们,这实际上可以帮助他们取得成功。
如果没有互操作性,系统平台或任何其他AI通用模型都不可能实现,从而允许许多不同的模型组合在一起。
2 形式逻辑系统及其基础
形式系统(如 BAN Logic)推导该分析过程,用 BAN Logic(Burrows–Abadi–Needham 逻辑) 对刚才的密钥交换协议进行形式化分析,判断攻击者 Eve 是否能知道密钥(K)。
🔐 场景重述:简化密钥分发协议
参与者:
A(Alice)
B(Bob)
E(Eve,攻击者)监听网络
K:密钥,由 A 生成,用于与 B 安全通信
PubB / PrivB:B 的公钥 / 私钥
Enc(K, PubB):A 将 K 用 B 的公钥加密后发送给 B
- BAN Logic 基础
BAN Logic 是一种抽象逻辑语言,用于分析安全协议中各方对信念、密钥和消息的推断过程。
主要符号:
符号 含义
P believes X P 相信 X 是真的
P sees X P 接收到消息 X
P said X P 曾发出消息 X
P controls X P 掌控 X 的真实性
#(X) X 是新鲜的(未被重放)
{X}_K X 被密钥 K 加密
K ↔ P Q P 与 Q 共享对称密钥 K
PubK(Q) Q 的公钥
PrivK(Q) Q 的私钥
- 目标
我们希望在分析中证明:
B believes K ↔ A B
即:B 相信 K 是和 A 安全共享的密钥。
同时要验证:
E does not believe K ↔ E A
Eve 不可能认为她也拥有这个密钥。
- 协议步骤(抽象化)
原始协议:
- A → B : {K}_PubB
解释为:A 用 B 的公钥加密密钥 K,然后发送给 B。
- BAN Logic 转换
我们需要将协议翻译为 BAN Logic 的初始语句(初始假设)和消息流。
初始假设(假设双方“信任”的前提):
A believes PubK(B):A 相信 B 的公钥是正确的
B believes PrivK(B):B 知道自己的私钥是唯一的
B believes A said K:若 B 解密到 K,他相信 A 发送的
B believes #(K):K 是新生成的,即新鲜的
A believes K ↔ A B:A 希望用 K 与 B 通信
消息翻译:
实际消息 A → B : {K}_PubB 转换为:
B sees {K}_PubB
3 推理过程(BAN Logic Rule 应用)
我们依次使用 BAN Logic 中的推理规则进行分析。
- Step 1:Message Meaning Rule(消息含义规则)
如果 B 相信:
自己拥有解密密钥(PrivK(B))
接收到了加密消息 {K}_PubB
那么他可以推出:
B believes A said K
- Step 2:Nonce Verification Rule(新鲜性验证规则)
如果:
B believes #(K)(K 是新鲜的)
B believes A said K
则:
B believes A believes K
也就是 B 相信:A 想用 K 与他通信。
- Step 3:Jurisdiction Rule(控制权规则)
如果:
B believes A believes K ↔ A B
B believes A controls (K ↔ A B)(A 控制此密钥的用途)
则:
B believes K ↔ A B
即:B 相信密钥 K 是 A 和 B 之间共享的密钥。
- 分析攻击者 Eve 的能力
现在来看 Eve:
E sees {K}_PubB(她看到密文)
但 Eve 没有 PrivK(B),不能解密
所以:
¬E sees K
¬E said K
¬E believes K ↔ A E
从 BAN Logic 看,没有任何规则能让 Eve 推断出关于 K 的有效信念。
- 最终结论
根据 BAN Logic 推理结果:
对 B:
B believes K ↔ A B ✅
B believes K 是新鲜的 ✅
对 Eve:
E does not believe K ↔ E A
E does not see K(无法解密)✅
4 小结
如果加入重放攻击、信道泄露或密钥协商错误等,Eve 可能会突破上述限制。
更复杂协议(如 Needham-Schroeder、Kerberos)必须使用更多逻辑工具(BAN Logic、Tamarin、ProVerif)分析其“长期知识增长”与“密钥更新路径”。
本文结合ai举例以演示模态逻辑和形式逻辑过程,如有错漏请指正
- 点赞
- 收藏
- 关注作者
评论(0)