GNY逻辑(一)

这篇博客探讨了剑桥大学论文《ReasoningaboutBeliefinCryptographicProtocols》中的GNY逻辑,用于理解和验证密码协议中的信念推理。文章介绍了概念和符号,如共享秘密、加密解密、新鲜性和可识别性,并阐述了关键规则,如被告知、拥有、新鲜性、可识别性、信息解释和合理性规则。此外,还讨论了信任和管辖权的概念,以及这些原则如何应用于密码协议的安全分析。
摘要由CSDN通过智能技术生成

本系列学习内容为剑桥大学论文《Reasoning about Belief in Cryptographic Protocols》,主要为GNY逻辑,方便日后使用prolog实现。
新发现了一个Latex公式汇总网站,感兴趣的可以参考Latex公式

概念和符号

公式

S S S K K K分别代表共享秘密和加密密钥。
(1) ( X , Y ) : (X,Y): (X,Y)两个公式的结合 ( c o n j u n c t i o n ) (conjunction) conjunction
(2) { X } K \left\{X\right\}_K {X}K { X } K − 1 : \left\{X\right\}_K^{-1}: {X}K1分别代表使用 K K K加密和解密,满足 { { X } K } K − 1 = X \left\{\left\{X\right\}_K\right\}_K^{-1}={X} {{X}K}K1=X,但不一定满足 { { X } K − 1 } K = X \left\{\left\{X\right\}_K^{-1}\right\}_K={X} {{X}K1}K=X
(3) { X } + K \left\{X\right\}_{+K} {X}+K { X } − K : \left\{X\right\}_{-K}: {X}K公钥加密和解密,满足 { { X } + K } − K = X \left\{\left\{X\right\}_{+K}\right\}_{-K}={X} {{X}+K}K=X,有一些公钥体系(比如 R S A RSA RSA)也满足 { { X } − K } + K = X \left\{\left\{X\right\}_{-K}\right\}_{+K}={X} {{X}K}+K=X
(4) H ( x ) : X H(x):X H(x)X的一个单向函数
(5) F ( X 1 , . . . , X n ) : F F(X_1,...,X_n):F F(X1,...,Xn)F是一个多对一的函数,对任意的 X i ( 1 ≤ i ≤ n ) X_i(1\leq i\leq n) Xi(1in)和常量 C 1 , . . . , C n − 1 C_1,...,C_{n-1} C1,...,Cn1 F ( C 1 , . . . , C i − 1 , X i , C i + 1 , . . . , C n ) F(C_1,...,C_{i-1},X_i,C_{i+1},...,C_{n}) F(C1,...,Ci1,Xi,Ci+1,...,Cn)是一对一的函数,并且它的逆也是可以计算的。 F ( X ) F(X) F(X)表示一个计算上可行的一对一函数,其逆在计算上也是可行的

声明

\quad P P P Q Q Q来代表实体。
(1) P ◃ X : P P\triangleleft X:P PXP被告知 X X X。这可能是在执行了一些计算,如解密之后。也就是说,被告知的公式可以是消息本身,也可以是该消息的任何可计算的内容
(2) P ∋ X : P P\ni X:P PXP拥有或者是有能力拥有 X X X。在运行的特定阶段,这包括 P P P被告知的所有公式,它开始会话的所有公式以及在运行中生成的所有公式。此外, P P P拥有或者能够拥有所有根据它已经拥有的公式所计算出来的一切
(3) P ∣ ∼ X : P P|\sim X:P PXP曾经传输过 X X X X X X可以是一个消息本身,也可以从这样的消息中计算出一些内容,即一个公式可以隐式地表达
(4) P ∣ ≡ ♯ ( X ) : P P|\equiv \sharp(X):P P(X)P相信或者有权相信 X X X是新鲜的。也就是说,在当前协议运行之前, X X X没有被用于相同的目的
(5) P ∣ ≡ ϕ ( X ) : P P|\equiv \phi (X):P Pϕ(X)P相信或者有权相信 X X X是可识别的。也就是说,如果在实际收到 X X X之前 P P P对其内容有一定的期望,那么 P P P就会识别 X X X
(6) P ∣ ≡ P ↔ S Q : P P|\equiv P\stackrel{S}{\leftrightarrow} Q:P PPSQP相信或者有权相信 S S S P P P Q Q Q之间合适的秘密。他们可以正确的使用它来相互证明身份,也可以使用它或者由它生成一个密钥来进行交流,除了 P P P Q Q Q以及他们所信任的实体 ( p r i n c i p a l ) (principal) principal(不太清楚这个具体应该怎么翻译,目前觉着实体这个词比较合适)间,其他都不知道 S S S。然而在这种情况下,受信任的实体间不能使用 S S S作为身份的证明或者交流密钥
(7) P ∣ ≡ ↦ + K Q : P P|\equiv \stackrel{+K}\mapsto Q:P P+KQP相信或者有权相信 + K +K +K Q Q Q合适的公钥。除了 Q Q Q Q Q Q所信任的实体,相匹配的私钥 − K -K K不应该被其他人知道。然而,在这种情况下,受信任的主体不应该使用它来证明身份或交流
\quad C C C代表声明。
(8) C 1 , C 2 : C_1,C_2: C1,C2连词。我们将连接词视为具有关联性和可交换性等性质的集合
(9) P ∣ ≡ C : P P|\equiv C:P PCP相信或者有权相信声明 C C C成立

“非起源于这儿”公式

P ◃ ∗ X : P P\triangleleft \ast X:P PXP被告知一个在当前运行中他之前从未传输过的公式。
在这里插入图片描述
*个人理解就是非本身发出的消息。

逻辑假设

这里只列出了之后论文中会使用的逻辑规则,全部的见附录。

被告知规则

T 2 T2\quad T2 P ◃ ( X , Y ) P ◃ ( X ) \frac{P\triangleleft (X,Y)}{P\triangleleft(X)} P(X)P(X,Y)
被告知一个公式意味着被告知它的每个连接组件。

T 3 T3\quad T3 P ◃ { X } K , P ∋ K P ◃ ( X ) \frac{P\triangleleft \left\{X\right\}_K,P\ni K}{P\triangleleft(X)} P(X)P{X}K,PK
如果 P P P被告知了一个用他所拥有的密钥加密的公式,那么认为他已经被告知了该公式的解密内容。

拥有规则

P 1 P1\quad P1 P ◃ X P ∋ X \frac{P\triangleleft X}{P\ni X} PXPX
实体能够拥有任何告知他的东西。

P 2 P2\quad P2 P ∋ X , P ∋ Y P ∋ ( X , Y ) , P ∋ F ( X , Y ) \frac{P\ni X,P\ni Y}{P\ni (X,Y),P\ni F(X,Y)} P(X,Y),PF(X,Y)PX,PY
如果实体拥有两个公式,那么他也拥有这两个公式的连接以及他们的函数值。

新鲜性规则

实体对公式新鲜度的信念表明,他相信该公式在之前的任何协议运行中都没有相同的值。
F 1 F1\quad F1 P ∣ ≡ ♯ ( X ) P ∣ ≡ ♯ ( X , Y ) , P ∣ ≡ ♯ ( F ( X ) ) \frac{P|\equiv \sharp(X)}{P|\equiv \sharp(X,Y),P|\equiv \sharp(F(X))} P(X,Y),P(F(X))P(X)
如果 P P P相信公式 X X X是新鲜的,那么他有权相信任何 X X X是分量的公式都是新鲜的,并且计算上可行的一对一函数 F F F是新鲜的。

F 2 F2\quad F2 P ∣ ≡ ♯ ( X ) , P ∋ K P ∣ ≡ ♯ ( { X } K ) , P ∣ ≡ ♯ ( { X } K − 1 ) \frac{P|\equiv \sharp(X),P\ni K}{P|\equiv \sharp(\left\{X\right\}_K),P|\equiv \sharp(\left\{X\right\}_K^{-1})} P({X}K),P({X}K1)P(X),PK
如果 P P P认为一个公式 X X X是新鲜的,并且拥有一个密钥,那么 P P P有权相信使用该密钥对 X X X的加密和解密都是新鲜的。

可识别性规则

R 1 R1\quad R1 P ∣ ≡ ϕ ( X ) P ∣ ≡ ϕ ( X , Y ) , P ∣ ≡ ϕ ( F ( X ) ) \frac{P|\equiv \phi(X)}{P|\equiv \phi(X,Y),P|\equiv \phi(F(X))} Pϕ(X,Y),Pϕ(F(X))Pϕ(X)
如果一个实体 P P P相信公式 X X X是可识别的,那么他有权相信任何 X X X是分量的公式都是可识别的,并且 X X X的计算可行函数 F F F是可识别的。

R 2 R2\quad R2 P ∣ ≡ ϕ ( X ) , P ∋ K P ∣ ≡ ϕ ( { X } K ) , P ∣ ≡ ϕ ( { X } K − 1 ) \frac{P|\equiv \phi(X),P\ni K}{P|\equiv \phi(\left\{X\right\}_K),P|\equiv \phi(\left\{X\right\}_K^{-1})} Pϕ({X}K),Pϕ({X}K1)Pϕ(X),PK
如果一个实体 P P P相信一个公式 X X X是可识别的,并且 P P P拥有一个密钥 K K K,那么 P P P有权相信用 K K K X X X的加密和解密是可识别的。

信息解释规则

I 1 I1\quad I1 P ◃ ∗ { X } K , P ∋ K , P ∣ ≡ P ↔ K Q , P ∣ ≡ ϕ ( X ) , P ∣ ≡ ♯ ( X , K ) P ∣ ≡ Q ∣ ∼ X , P ∣ ≡ Q ∣ ∼ { X } K , P ∣ ≡ Q ∋ K \frac{P\triangleleft \ast \left\{X\right\}_K,P\ni K,P|\equiv P\stackrel{K}{\leftrightarrow} Q,P|\equiv \phi(X),P|\equiv \sharp(X,K)}{P|\equiv Q|\sim X,P|\equiv Q|\sim \left\{X\right\}_K,P|\equiv Q\ni K} PQX,PQ{X}K,PQKP{X}K,PK,PPKQ,Pϕ(X),P(X,K)
如果对于一个实体 P P P,以下所有条件都成立:
(1) P P P收到一个由加密 X X X组成的公式,并标记“非起源于这儿”;
(2) P P P拥有密钥 K K K
(3) P P P认为 K K K是适合自己和 Q Q Q的秘密;
(4) P P P认为公式 X X X是可以识别的;
(5) P P P认为 K K K X X X是新鲜的。
那么P有权相信以下几点:
Q Q Q曾经传达 X X X Q Q Q曾经传递用 K K K加密的公式 X X X Q Q Q拥有 K K K

I 6 I6\quad I6 P ∣ ≡ Q ∣ ∼ X , P ∣ ≡ ♯ ( X ) P ∣ ≡ Q ∋ X \frac{P|\equiv Q|\sim X,P|\equiv \sharp(X)}{P|\equiv Q \ni X} PQXPQX,P(X)
如果 P P P相信 Q Q Q曾经传达了公式 X X X,并且 P P P相信 X X X是新鲜的,那么 P P P有权相信 Q Q Q拥有 X X X

合理性规则

如果 C 1 C 2 \frac{C_1}{C_2} C2C1是一个公式,那么对任何的实体 P P P,也满足 P ∣ ≡ C 1 P ∣ ≡ C 2 \frac{P|\equiv C_1}{P|\equiv C_2} PC2PC1
例如,根据上述的 P 2 P2 P2规则,有以下公式:
Q ∣ ≡ P ∋ X , Q ∣ ≡ P ∋ Y Q ∣ ≡ P ∋ F ( X , Y ) \frac{Q|\equiv P\ni X,Q|\equiv P\ni Y}{Q|\equiv P\ni F(X,Y)} QPF(X,Y)QPX,QPY

信任和管辖权

J u r i s d i c t i o n Jurisdiction Jurisdiction代表信任和授权。
J 1 J1\quad J1 P ∣ ≡ Q ∣ ⇒ C , P ∣ ≡ Q ∣ ≡ C P ∣ ≡ C \frac{P|\equiv Q|\Rightarrow C,P|\equiv Q|\equiv C}{P|\equiv C} PCPQC,PQC
如果P相信Q对某些声明C有管辖权,而且Q相信C,那么P也应该相信C。

J 2 J2\quad J2 P ∣ ≡ Q ∣ ⇒ Q ∣ ≡ ∗ , P ∣ ≡ Q ∣ ∼ ( X ⇝ C ) , P ∣ ≡ ♯ ( X ) P ∣ ≡ Q ∣ ≡ C \frac{P|\equiv Q|\Rightarrow Q|\equiv \ast,P|\equiv Q|\sim(X\leadsto C),P|\equiv \sharp(X)}{P|\equiv Q|\equiv C} PQCPQQ,PQ(XC),P(X)
如果P认为Q是诚实和称职的,并且P收到一条来自Q的消息 X ⇝ C X\leadsto C XC,那么P应该相信Q真的相信C。

J 3 J3\quad J3 P ∣ ≡ Q ∣ ⇒ Q ∣ ≡ ∗ , P ∣ ≡ Q ∣ ≡ Q ∣ ≡ C P ∣ ≡ Q ∣ ≡ C \frac{P|\equiv Q|\Rightarrow Q|\equiv \ast,P|\equiv Q|\equiv Q|\equiv C}{P|\equiv Q|\equiv C} PQCPQQ,PQQC

附加说明

公式 X X X被传达的先决条件由声明 C C C表示,在协议中表示为 X ⇝ C X\leadsto C XC

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值