安全协议分析与设计 教学课件 作者 卫剑钒 陈钟 安全协议 第4章 下.pptVIP

安全协议分析与设计 教学课件 作者 卫剑钒 陈钟 安全协议 第4章 下.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安全协议分析与设计 第四章(下) 卫剑钒 CSP方法实例分析 用CSP验证NSPK协议 用CSP验证TMN协议 用CSP验证NSPK协议 设发起者集合为Initiator,响应者集合为Responder,公钥集合为Key,随机数集合为Nonce。 消息Message 1. A→B: {Na, A}Kb 可写为用CSP事件 comm.Msg1.a.b.Encrypt.kb.na.a。 其中加密部分{Na,A}Kb用Encrypt.kb.na.a表示。 消息和信道 事件和信道 user.a.b来表示用户a发出一个要与响应者b进行会话的请求; session.a.b表示NSPK协议后紧跟的应用协议会话。 I_running.a.b表明发起者a认为自己已经与b开始了协议的一次运行; R_running.a.b表明b认为已经与a开始了一次协议的运行; I_commit.a.b表明a认为自己结束了与b的会话; R_commit.a.b表明b认为自己结束了与a的会话。 声明以上几个信道如下: Channel user, session, I_running, R_running, I_commit, R_commit : Initiator.Responder 发起者进程 应用重命名机制 由于Msg1和Msg3可以被拦截和窃听,Msg2可以被伪造,进程可以被改写为: 响应者和攻击者 对于响应者,可以写出类似的进程RESPONDER1,此处略。 攻击者可以窃听、截取系统中的任意消息,可以解密用自己密钥加密的消息,可以伪造消息、重放消息等。攻击者也可以作为正常用户与协议交互,设攻击者具有身份I、公钥Ki和一个初始的随机数Ni。 攻击者可以用若干参数描述自己具有的知识,包括分别由消息Msg1、Msg2和Msg3组成的3个集合,记作m1s、m2s和m3s,这些消息都是攻击者无法解密的。攻击者产生的随机数集合记作ns。 攻击者进程 攻击者进程 攻击者进程 系统定义 假设攻击者初始知识只有Ni,可得如下的攻击者定义: INTRUDER=I({},{},{},{Ni}) 把正常的协议主体定义为 AGENT = INITIATOR1 |[{|comm,session|}]| RESPONDER1 然后把攻击者考虑在内,实际的系统可定义为 SYSTEM=AGENT |[{|fake,comm,intercept|}]| INTRUDER 验证协议的认证性 对于A来说,在结束认证之前,要求响应者B确实参与了这次运行,如下所示: AR0=R_running.A.B→I_commit.A.B→AR0, A1={|R_running.A.B,I_commit.A.B|}, AR=AR0|||RUN(Σ\A1) AR0描述了一个I_commit.A.B事件只能在R_running.A.B事件之后发生。AR表明,除了R_running.A.B和I_commit.A.B以外的其他事件,其顺序是不关心的。Σ为所有事件的集合,RUN表明任意的事件排列。 验证协议的认证性 使用FDR验证SYSTEM是否精练了AR,如果精练了AR,则对响应者的认证性就得到了保证。 类似地,有AI如下: AI0=I_running.A.B→R_commit.A.B→AI0, A2={|I_running.A.B,R_commit.A.B|}, AI=AI0|||RUN(Σ\A2) 验证协议的认证性 将以上的描述输入FDR,可以发现SYSTEM没有精练AI。FDR发现如下迹: 验证协议的认证性 在上面的迹中,出现了R_commit.A.B,但之前并没有I_running.A.B,故SYSTEM未能精炼AI。B以为和A建立了会话,而实际上A认为自己和I建立了会话,B没有能够认证发起方。 用CSP验证TMN协议 TMN协议是一个带有可信第三方的协议。它包括3个主体:发起者A、响应者B和服务器S。 协议包括两种加密方式。 (1)标准加密。这种方式使用加密函数E来加密,发起者和响应者都可以对m加密生成E(m),但只有S可以解密E(m)。这可通过公钥加密算法来实现,如RSA。 (2)vername加密。这种加密也即异或(exclusive-or)加密,对k1和k2的vername加密记为V(k1,k2),也即k1和k2的位异或运算。如果有一方拥有k1,则可通过运算V(k1,(V(k1,k2))获得k2。 TMN协议 当发起者A想要与响应者B建立会话的时候,A选择一个密钥ka,并用标准方式加密,发送给服务器。 响应者B选择会话密钥kb,加密后发送给服务器S。 服务器S用Vernam方式加密ka和kb,然后发送给A。当A收到这条消息以后,用密钥ka解密V( ka, kb ),获得会话密钥kb。

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档