密码协议的设计准则 薛佟佟.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
密码协议的设计准则 薛佟佟.ppt

密码协议的设计准则 薛佟佟 密码协议的设计 密码协议运行在计算机通信网或分布式系统中,借助于密码算法来达到密钥分配、身份认证等目的的一种交互通信协议,它是为了完成某种安全任务。然而,在密码协议的设计过程中很容易产生各种各样的错误(见密钥的建立.ppt) 设计中的安全性考虑 如何在协议的设计过程中避免可能出现的安全漏洞是一个值得研究的问题。近年来,已出现多种形式化方法用以考察和分析密码协议,看其是否存在安全缺陷,对于上一节讲过的几种协议,针对某种问题的改进并不彻底,甚至往往会引入其他问题虽然这些方法有时是很有用的,但它本身并没有提出有关设计准则的建议,因此不能直接有效地防止错误的产生。 设计的准则 准则本身是一种非形式化的指导方针,独立于任何逻辑。尽管这些准则对于协议的正确性来说既非必要条件,也非充分条件,但对于协议的设计却是非常有帮助的,因为遵守它们可以简化协议的设计并防止许多已公布的混淆和错误的产生。 有名的文章如:Anderson R,Needham R.Robustness Principles for Public Key Protocols.In Coppersmith 两条基本准则 以下两条准则是贯穿整个安全密码协议设计过程的最基本的准则。 准则1:每个消息应清楚地说明它的意思,对消息的解释应完全依靠其内容。即使存在合适的形式化表达方法,每个消息的内容也应可用一个完整的、有意义的语句来描述。 准则一 例如:A→ B:{Ta ,Kab ,B, A}Kb A 发送的消息的意义可以解释为:A 在时刻Ta向 B发送了一个共享的(Kb来保证)会话密钥Kab。 B 接收到以上的消息但不能确信这个消息是不是A发送的,因此把接收到的消息解释为:B在 时刻Ta收到了自称是主体A 发送来的会话密钥Kab。 准则二 准则2:一个消息起作用的条件应该清楚地说明,以便协议的使用者能够根据条件来判断是否采用该协议。 例如,如果某人认为会话密钥应该由合适的可信第三方而不是参与会话的某一方选定,那么他将不会希望使用这样的协议。 主体命名准则 如果主体的身份对于某个消息的意义来说是必要的,那么应该谨慎处理主体的身份信息,如在消息中明确地提到主体的名字。 例如,对于如下协议: 1)A →S :A ,B 2)S →A: CA ,CB 3)A →B :CA ,CB,{{Kab ,Timea}Ka-1}Kb 在第3)步的加密消息中,由于没有主体的身份信息,因此主体B 得到消息3)后,可以进行以下操作: B →C: CA, CC,{{Kab ,Ta}Ka-1}Kc 这样,就可以对C进行欺骗,使得C相信消息来自于A 。尤其是,C可 能会用Kab 加密敏感信息并发送给A,这时B就可以看到这些信息。改进的方法很简单,即把通信双方的身份信息加入消息3)中:3)A →B :CA ,CB,{{Kab, Ta ,A ,B}Ka-1}Kb 加密准则 应该清楚地知道协议中使用加密的目的,因为加密不是一种简单的运算,它需要的计算量较大,不清楚加密的目的可能会导致冗余。而且加密并不等同于安全,不正确地使用加密甚至会导致协议的错误。 例如,Kerberos协议的消息2)S→A:{Ts,L,Kab,B,{Ts,L ,Kab,A}Kbs}Kas中采用了双重加密,而从安全和认证的角度来看,这并没有加强安全性,反而增加了计算量。 签名准则 即使主体对已加过密的消息进行了签名操作,我们也不能由此推断出主体一定就知道该消息的内容。如果主体对消息先签名然后再加密,那么可以推断出主体一定知道该消息的内容。对于认证协议来说,消息在传送时,签名必须在加密之前完成,这样既可以让接收者确定发送者的身份,也保证了发送者知道所发送消息的内容。 例如,在之前的例子中,为了进一步确定发送者的身份,可将消息流改为: A →B:{{Ta ,Kab, B ,A}Ka-1}Kb 加密与签名 在协议中签名通常应在加密之前完成,但这并不能保证协议完全安全。而且该准则的后半部分还值得考虑,即只有当进行加密和签名操作的是同一主体时,后半部分才能够成立。通过下面的例子可以说明以上两点。对于以下协议: A →B:{{M}Ka-1}Kb 其中,A 是雇主,B 是雇员,M表示你的工资增加了5000美元,Ka-1是A 的签名密钥,Kb是 B的公钥。该协议很容易被攻击,即B用自己的私钥解除密,得到{M}Ka-1,并用另一雇员C的公钥加密得到{{M}Ka-1}Kc 并发送给C,这样,A与 C之间就产生了纠纷。 Kerberos协议 kerberos是由MIT开发的提供网络认证服务的系统。 Kerberos协议主要用于计算机网络的身份

文档评论(0)

gsgtshb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档