安全协议设计原则 安全协议设计与分析教学PPT课件.ppt

安全协议设计原则 安全协议设计与分析教学PPT课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
原则5 先签名后加密 主体对一个加密了的消息进行签名是不可靠的,因为主体可能并不知道明文是什么;而如果先签名后加密,一方面表明主体认可该消息,另一方面还保证了机密性。 不满足这个原则有时会导致协议的错误,如在X.509系列协议中的单消息协议。 * 图中Ta是时间戳,Na是随机数(但通常并不使用),Xa和Ya是用户数据,协议的目的是保证Xa和Ya的完整性,让B得知Xa和Ya的产生者为A,并保证数据Ya的机密性。 这个协议的问题在于,B事实上并不能保证主体A知道Ya的内容,[AN96]认为协议存在类似对Denning-Sacco协议的攻击,一个主体C把Msg1中A的签名去掉,然后换成C自己的签名发送给B,B会认为C认可了Ya,而事实上C并不知道Ya的内容。 * 这个原则仅仅是一个指导性的原则,一些不满足这个原则的协议仍然是安全的,如下图所示的ISO/IEC 11770-3密钥传送协议。 * 时间性原则 原则6 设计者应该清楚地知道在使用Nonce时所要保证的性质。 以Otway-Rees协议为例 : * 时间性原则 在这个协议中,M是协议运行的会话标识符,新的会话密钥Kab由可信第三方S产生,Na和Nb不仅起到了保证新鲜性的作用,还起到了绑定主体名的作用。但是协议略显冗余,文献[AN96]中建议将其简化,使其含义更为明确 * 时间性原则 原则7 通过计数器来保证新鲜性时,需要注意对其进行秘密性保护。 * 如果Na是Nonce的话,协议是安全的,但若Na是计数器这种可预测的量,协议就不安全了。 时间性原则 * 攻击者C可以产生Na的下一个取值Na+1,将其发给S,然后从S那里得到一个包含系统时钟的消息,当A使用Na+1来获取时间的时候,C就可以把这个保存的消息传给A,这样A的系统时间就不准确了。 协议可以修改如下: 时间性原则 原则8 如果采用时间戳来保证新鲜性,那么系统中的时间差异应该远小于消息的有效生存时间。系统的时间同步机制应该是系统可信计算基的一部分。 比如在Kerberos协议中,系统时间比较慢的主体经常会有很多问题,它经常会把一个已经过期的证书当做有效的证书使用; 同样,一个走得过快的时钟有时候也会为攻击者提供机会,如主体A(时钟过快的主体)在时间点T0发送了一个时间戳为T(T0T)的消息,那么攻击者C就可以在时间点T附近重放这个消息而不被察觉。 * 时间性原则 原则9 对Nonce或时间戳这种新鲜性数值的加密不意味着密钥的新鲜性。 NSSK协议中,对B来说,当收到Msg5后,可以肯定Kab是刚刚被使用过的密钥,但是这并不能保证Kab的新鲜性,也即不能保证Kab是刚刚被产生出来的。 * 识别原则 原则10 通常情况下每种协议都有自己的消息格式,主体收到一条消息后,应该能从消息格式中判断出该消息是属于哪个协议,属于哪次运行,以及它是第几条消息。 考察NSSK协议的Msg4和Msg5: Msg 4 B→A: { Nb }Kab Msg 5 A→B: { Nb+1 }Kab Msg5中把Nb加上1,其目的是防止攻击者对Msg4的重放,事实上,只要能够表达这种意义的消息都被认为是可行的,区分这两条消息的方法有很多,比如写成如下的形式: Msg 4 B→A: {NSSK,“Message 4”,Nb}Kab Msg 5 A→B: {NSSK,“Message 5”,Nb}Kab * 信任原则 原则11 协议的设计者应该知道他所设计的协议是基于怎样的信任关系,为什么要基于这种信任,以及有没有把握保证这种信任的存在。 比如在Kerberos协议中,服务器及其时间源应该被信任,如果服务器发出错误的时间戳,则整个系统的安全性都不能得到保证。 再如大嘴青蛙协议,协议由A产生会话密钥Kab,这种信任关系是否能被接受?主体A是否能保证产生的密钥具有保密性、不可重复性和不可预测性?这需要协议设计者审慎地加以考虑。 * 安全协议的设计方法研究 fail-stop协议 CK模型 * fail-stop协议 Gong Syverson在文献[GS95]中提出了fail-stop协议的概念,其含义为:当遭遇任何干扰协议正常执行的主动功击时,协议将立即停止。它可以使协议设计更加容易,并对协议分析方法的要求大为降低。 [GS95]认为,一个分布式的系统可视为一些空间上分离的进程的集合,它们通过交换消息来进行通信;协议是对所交换的消息的格式与相应时间的一个说明;安全协议使用密码体制,如加密算法和解密算法,来保证消息的完整性、秘密性、消息源发点、消息目的地、消息顺序以及消息意义;消息是被一步一步(step)执行的。 * fail-stop协议 定义6.1 fail-stop协议:如果某个协议能

文档评论(0)

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

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

1亿VIP精品文档

相关文档