1 / 59

安全协议理论与方法

安全协议理论与方法. 基于推理结构性方法. SVO 逻辑. Syverson 和 Oracho 提出,建立了用于推证合理性的理论模型。 提供独立明确的语义基础。 相当详细的模型。消除理解模糊,有助于准确理解消息的真实含义和协议理想化。 通用语义,扩展性好,简洁。. SVO 逻辑的基本结构. 术语集合。 推理规则及公理。 基于的假设。. SVO 术语集合. 定义 T 为初始术语集合 , 包括互不相交的常量符号集合:主体、共享密钥、公钥、私钥以及序列号等。 n 维函数表示有 n 个变量的函数,如加、解密函数等 。

slade
Download Presentation

安全协议理论与方法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 安全协议理论与方法 基于推理结构性方法

  2. SVO逻辑 Syverson和Oracho提出,建立了用于推证合理性的理论模型。 • 提供独立明确的语义基础。 • 相当详细的模型。消除理解模糊,有助于准确理解消息的真实含义和协议理想化。 • 通用语义,扩展性好,简洁。

  3. SVO逻辑的基本结构 • 术语集合。 • 推理规则及公理。 • 基于的假设。

  4. SVO术语集合 • 定义T为初始术语集合, 包括互不相交的常量符号集合:主体、共享密钥、公钥、私钥以及序列号等。 • n维函数表示有n个变量的函数,如加、解密函数等。 • 消息语言MT:满足下列性质的最小语言集合。 1) 如果XT,则X是消息。 2) 如果X1,…,Xn是消息,F是任意一个n维函数,则F(X1,…,Xn)是消息。 3) 如果是公式,则是消息。

  5. SVO术语集合续 4. 公式语言FT:满足下列性质的最小公式集合。 1) 如果P是原始命题,则P是公式。 • 如果,是公式,则和是公式。 • Pbelieves 和P controls 是公式,其中P是主体, 是公式。 • P sees X, P says X, P said X, P received X 和fresh(X)是公式,其中P是主体,X是消息。 • Shared(P,K,Q),PK(P,K)和P has K是公式,其中P是主体, K是消息。

  6. SVO逻辑的推理规则及公理 1.SVO逻辑遵从两条基本推理规则 • () ╞  • ╞   P believes 

  7. SVO逻辑的推理规则及公理续1 • SVO逻辑共有20条公理 • I1 相信公理 对于任一主体P和公式,有: • P believes   P believes()  P believes  • P believes   P believes ( P believes )

  8. SVO逻辑的推理规则及公理续2 (2) I2源关联公理 密钥用于推断消息发送者的身份。 • shared(P,K,Q)R received {XQ}KQ said X • (PKÓ(Q,K))R received {X}K-1 Q said X PKÓ(Q,K)表示K是主体Q的数字签名验证密钥。它表明如果主体Q收到一个签名的消息,并且Q知道签名的验证密钥是K,就可以确定发送者身份。

  9. SVO逻辑的推理规则及公理续3 • I3 密钥协商公理 (PK(P, KP)  PK(P, Kq))  shared(P,KPq,Q)) Kpq= f(Kp, Kq-1) = f(Kp-1, Kq) f为密钥协商函数,比如Diffie-Hellman密钥交换。

  10. SVO逻辑的推理规则及公理续4 I4 接收公理 主体对接收到的一个级联的加密消息可用有效的密钥解密。 • P received(X1, …, Xn)  P received Xi • P received {X}K  P has K-1  P received X

  11. SVO逻辑的推理规则及公理续5 • I5 看到公理 • P received X  P sees X • P sees (X1,…,Xn) P sees Xi • P sees X1…P sees Xn  P sees (F(X1,…,Xn)) 主体只要接收到一个消息就看到了这个消息, 并且看到了这个消息的每一部分。

  12. SVO逻辑的推理规则及公理续6 • I6理解公理 • P believes (P sees F(X))  P believes (P sees X) • P received F(X)  P believes (P sees X)  P believes (P received F(X)) 如果一个主体理解一个消息,并看到此消息 的一个函数,那么它理解它所看到的。 F可视为加密函数,K为参数。

  13. SVO逻辑的推理规则及公理续7 • I7叙述公理 一个主体说过一个级联消息,那么它一定说 过且看到消息的每一部分。 • P said(X1,…,Xn)  P said Xi  P sees Xi • P says (X1,…,Xn)  P said (X1,…,Xn)  PsaysXi

  14. SVO逻辑的推理规则及公理续8 • 仲裁公理 Pcontrols  Psays  

  15. SVO逻辑的推理规则及公理续9 • I9新鲜公理 如果消息的一部分是新鲜的,那么整个消息 也是新鲜的。 • fresh(Xi) fresh(X1,…,Xn) • fresh(X1,…,Xn)fresh(F(X1,…,Xn)) • fresh(X) P said X  P says X

  16. SVO逻辑的推理规则及公理续10 • I10 共享密钥的良好对称性公理 如果K是P,Q之间的良好密钥当且仅当K是Q,P之间的良好密钥。 shared(P,K,Q) shard(Q,K,P)

  17. SVO逻辑的推理规则及公理续11 (11) I11所有公理 Phas K  P sees K

  18. SVO逻辑语义—计算模型 Pe:代表环境,可用于模拟攻击者的任意行为 。 Si: 每个主体Pi有一个局部状态Si。 全局状态:n+1维局部状态。 主体行为:发送send(X,P)、receive()和generate(X),但只能生成集合T0中的元素

  19. SVO逻辑语义—计算模型续1 每一个行为导致状态的一次迁移。 r: 一轮协议r是一个由整数时间索引的全局变量的有限集合。 r(t):协议中的t时记为r(t)。 ri(t): 对应的主体Pi的局部变量记为ri(t)。 环境状态:全局历史、环境有效迁移集合和用于保存发给主体P而P还未收到的消息的消息缓冲区。

  20. SVO逻辑语义—计算模型续2 主体Pi在(r,t)收到的消息集合包括: • 局部消息历史中或t之前出现的received(X)中的X。 • 收到的消息的级联。 • P持有所收到的加密消息{X}K的解密密钥,则P可得到X。

  21. SVO逻辑语义—计算模型续3 主体Pi在协议运行当中某处可看到的消息集合包含: • 主体已收到的消息集。 • 主体新近生成消息集。 • 主体初始所知的消息集。 • 主体通过规则和公理从已知的消息集衍生的消息集。 对于主体说过的消息集的定义比此严格。

  22. SVO逻辑语义—计算模型续4 主体Pi在(r,t)发送的消息集合包括: • 主体对已发送过消息的级联。 • 加密密钥为主体所持有的加密消息的非加密部分,且此部分为主体所看到。 • 签名密钥为主体所持有的签名消息的非签名部分,且此部分为主体所看到。 • Hash消息中的非Hash部分,且此部分为主体所看到。

  23. SVO逻辑语义—公式成立的条件 定义:将每一个常量命题pT映射为点集(p), 即命题p为真的点。 公式在点(r,t)为真记为: (r,t) ╞ 。 ╞  意味着 全真。

  24. SVO逻辑语义—公式成立的条件1 • 逻辑连接及其原始命题 基本逻辑关系: (r,t) ╞ p iff(r,t) (p)。 (r,t) ╞  iff(r,t) ╞  (r,t)╞ 。 (r,t) ╞  iff 在(r,t)时不成立。

  25. SVO逻辑语义—公式成立的条件2 • 原始命题 • 接收命题 (r,t) ╞ preceived X 当且仅当X属于主体P在(r,t)时已收消息集合。

  26. SVO逻辑语义—公式成立的条件3 • 看到命题和持有命题 (r,t) ╞ psees X 当且仅当X属于主体P在(r,t)时已看到消息集合。 (r,t) ╞ phas X 当且仅当X属于主体P在(r,t)时已收消息集合。

  27. SVO逻辑语义—公式成立的条件4 3) 述说命题 (r,t)╞ p said X 当且仅当对于消息M在协议t时之前,主体P发送过消息M,且X是M的子消息。

  28. SVO逻辑语义—公式成立的条件5 4)仲裁命题 (r,t)╞ p controls,当且仅当(r,t)╞ p says且对于所有的t’>0, 有: (r,t) ╞ 。

  29. SVO逻辑语义—公式成立的条件6 5)新鲜性命题 (r,t)╞ fresh(X)当且仅当对于所有主体在本轮协议前没有说过X。

  30. SVO逻辑语义—公式成立的条件7 • 四种密钥命题: 共享密钥 公开加密密钥 公开签名密钥 公开协商密钥

  31. SVO逻辑语义—公式成立的条件8 共享密钥?? (r,t’) ╞ R received{X}K 或者R{P,Q}。

  32. SVO逻辑语义—公式成立的条件9 公开加密密钥 (r,t) ╞ PK(P,K)当且仅当对于所有的t’,若仅有(r,t) ╞ Q sees {X}K ,则Q=P。

  33. SVO逻辑语义—公式成立的条件10 公开签名密钥 (r,t) ╞ PK(P,K)当且仅当对于所有的t’, (r,t) ╞ Q received {X}K-1,则表明 (r,t) ╞ Psaid X。

  34. SVO逻辑语义—公式成立的条件11 公开协商密钥 (r,t) ╞ PKÓ(P,K)当且仅当对于所有的t’: 对于某些Q,Kpq=f(K-1, PKÓ(Q))且(r,t’) ╞goodkey(P,Kpq,Q) 对于所有R,Kpr=f(K-1, PKÓ(R))以及(r,t’) ╞goodkey(P,Kpr,R) 且对于所有U,Kur=f(PKÓ-1 (U), PKÓ-1(R))且(r,t’) ╞goodkey(U,Kur,R)。

  35. SVO逻辑的应用实例 • 主体目标相同:密钥分配和认证。则 不大可能会出现否认性。 • 主体目标不同:电子商务,为了利益需求,可能对已发生行为进行否认。收费后否认收费或者因质量问题而否认发货。 解决:收集并持有一个声称事件或行为的不可否认证据,并使之能有效地用于解决由于否认事件或行为而引起的纠纷。

  36. SVO逻辑的应用实例续1 Schneider 在下列文献 中运用通信顺序进程CSP对一个 不可否认协议实例进行了形式化的描述与分析。 Schneider S., Verifying authentication protocols with CSP. Proceedings of the IEEE Computer Security Foundations Workshop X, IEEE Computer Society, 3-17 1997。 用SVO也可对不可否认性进行分析。

  37. SVO逻辑-一个不可否认协议实例 不可否认协议的实现: 证据的生成 证据的交换 证据的验证 纠纷的解决 一是双方进行同时的秘密交换(麻烦,要求协议双方具有同等计算能力不现实)。 二是借助一个可信第三方(TTP)。

  38. SVO逻辑-不可否认协议实例续 两个基本证据: NRO(Non-repudiation of Origin):发方不可否认。 NRR(Non-repudiation of Receipt):收方不可否认。 NRS:(Non-repudiation of Submission): 提交不可否认,证明已提交给了TTP,由提交方提供。 NRD:(Non-repudiation of Delivery): 传递不可否认,证明TTP已交付给了意定接收者,由TTP提供。

  39. SVO逻辑-不可否认协议实例续 【Zhou和Gollman提出】ZG协议 • AB: fNRO, B,L,C, NRO • BA: fNRR, A,L,C, NRR • ATTP: fNRS, B,L,K, NRS_K • BTTP: fNRD, A,B,L,K, NRD_K • ATTP: fNRD, A,B,L,K, NRD_K

  40. SVO逻辑-不可否认协议实例续 :ftp 操作符。 NRO= SA(fNRO,B,L,C) NRR= SB(fNRR,A,L,C) NRS_K= SA(fNRS,B,L,K) NRD_K= STTP(fNRD,A,B,L,K)

  41. SVO逻辑-不可否认协议实例分析 定义3.1 不可否认协议的公平性: 是指从协议执行的开始到协议执行结束的任何一个阶段,通信的双方要么能够同时得到它们所期望的,要么任何一方都得不到有利于自己的信息,从而避免协议的任一方中断执行的协议,或否认其已发生的行为以达成利益不平等的可能。

  42. SVO逻辑-不可否认协议实例分析 定理3.1 一个不可否认协议的不可否认性是成立的,如果: • 协议任何一方执行后的中止将不会破坏 通信双方主体的地位的公平性。 • 在协议结束时提供主体参与协议行为的证据,即证据的有效性。

  43. SVO逻辑-不可否认协议ZG证明 • 给出协议的前提或假设 • 说明协议目标 • 运用规则和公理进行推证

  44. SVO逻辑-ZG证明假设 • 给出协议的前提或假设 A0: 协议的运行环境是不安全的(基本假设)。 A1: 每个主体的公钥是公开的。 A2: 每个主体的私钥仅为其所知。 A3: TTP believes SA A4: TTP believes SB A5: P believes STTP:P 为参与协议运行的主体 A6: TTP believes (B received C)TTP believes (A said C)

  45. SVO逻辑-ZG证明假设续 A7:Asaid (A,B,L,Ek(M))  A said (A,B,L,K)  A said M A8:Breceived (A,B,L,Ek(M))  B received(A,B,L,K)  B received M A9: TTP believes (A said C  B received C  TTP received K)  TTP says K 表示TTP只有在确信A已说过C,并且B已收到了C,以及TTP收到了K,才将K公布到其公开目录中。 A10:TTP says XP ftp X P sees X TTP将其认为是有效的数据放入到其公共目录下,并可为任何主体通过ftp操作访问。

  46. SVO逻辑-ZG证明假设续 A11: PbelievesPKÓ(Q,K)  P received {X}K-1 P believes (Q said X) 表示如果P收到一个签名消息,并且P相信这个签名密钥是Q的,那么P相信Q说过X。 A12: Abelivevesfresh(Na) A13: TTP believes 

  47. SVO逻辑-ZG证明协议目标 一般目标: G1 Abelieves (B received M) G2 B believes (A said M) 仲裁目标 G3 J believes (A said M) G4 J believes (B received M)

  48. SVO逻辑-ZG证明运用规则和公理进行推证 由 消息1),得: F1: B receivedSA(fNRO,B,L,C) 由F1,A2,P4,A11,得: (P4:PKÓ(A,K)  B received {X}K-1 A said X) (A11: B believes PKÓ(A,K)  B received {X}K-1) B believes (A said X)) 得F2: Bbelieves (A said (fNRO,B,L,C))

  49. SVO逻辑-ZG证明运用规则和公理进行推证续 由F2,P5(是哪一个?)得: F3: B believes (A said C) 同理,对原协议消息 2)的分析只能得到 A believes (B said C),但无法 得到 A believes (B received C),原协议修改为 1’) AB:fNRO,B,L,C,SA(fNRO,B,L,Na,C) 2’) BA:fNRR,A,L,C,SA(fNR,A,L,Na+1,C)

  50. SVO逻辑-ZG证明运用规则和公理进行推证续 对修改后的协议进行分析得: F4: A receives SB(FNRR,A,L,Na+1,C) 由F4,A2,P4,A11,A12,得: F5: Abelieves(B received (fNRO, B,L,Na,C))  A believes (B received C) 由消息 3)得: F6: TTP received SA(FNRS, B,L,K)

More Related