




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
通信协议分析二O一八年春季第2页/共120页主要参考资料古天龙,网络协议的形式化分析与设计,电子工业出版社龚正虎,计算机网络协议工程,国防科大出版社C.R.Hore,通信顺序进程,国防工业出版社王育民,通信网的安全—理论与技术,西安电子科技大学出版社冯超,计算可靠的安全协议验证方法研究各类Papers…第3页/共120页考核方式课堂表现:课堂互动、到课情况,10%中期报告:协议分析报告,20%课程报告:协议分析论文,70%第4页/共120页引论一个简单的通信游戏Alice和Bob电话约起在晚上一起外出,但是他们不确定该干什么,如何确定?Q:生活中的真实情景如何?第5页/共120页引论一个简单的通信游戏Q:如何确定是去看电影还是听歌剧?A:当面的话:点兵点将、剪刀&石头&布、掷硬币来决定第6页/共120页引论一个简单的通信游戏Q:通过电话怎么掷硬币?A:先回顾一下当面掷硬币过程第7页/共120页引论一个简单的通信游戏方法1:Alice:我拿出一个硬币,我先掷,我再猜,根据猜的结果选择去哪。如果你是Bob,你同意吗?第8页/共120页引论一个简单的通信游戏方法2:Alice:我拿出一个硬币,我先猜,我再掷,根据猜的结果选择去哪。如果你是Bob,你同意吗?第9页/共120页引论一个简单的通信游戏前两种方法中,Bob对判断过程无任何控制,不会同意这些方案。第10页/共120页引论一个简单的通信游戏方法3:Alice:我拿出一个硬币,你先猜,我再掷,根据猜的结果选择去哪。如果你是Bob,你同意吗?第11页/共120页引论一个简单的通信游戏方法4:Alice:我拿出一个硬币,我先掷,你再猜,根据猜的结果选择去哪。如果你是Bob,你同意吗?第12页/共120页引论一个简单的通信游戏掷硬币过程分析:Alice先掷硬币:Bob不能控制掷硬币过程—生成随机数硬币被Alice拍在桌子上—不能再更改Bob猜测掷硬币结果—猜测随机数Alice拿开手—结果判断掷硬币公平的关键:随机性+不能更改性第13页/共120页引论一个简单的通信游戏分歧解决终端机第14页/共120页引论一个简单的通信游戏类似问题:如何公平的切蛋糕第15页/共120页引论一个简单的通信游戏类似问题:福利彩票摇奖?第16页/共120页引论一个简单的通信游戏现在,Alice和Bob想要在电话上执行上述协议,Alice对Bob说:“你选一面,然后我抛硬币并告诉你是否赢了”。“我抛硬币,你再选一面,我告诉你是否赢了”Bob会同意吗?第17页/共120页引论一个简单的通信游戏然而,借助于一点密码技术,就可以在电话上掷硬币。其结果就成为一个密码协议,即我们要讨论的第一个协议!第18页/共120页引论一个简单的通信游戏“密码技术”
f(x),整数上的映射,具有下列两个性质:I)对任意整数x,由x计算f(x)是容易的,而给出f(x),要找出对应的原像x是不可能的,不管x是奇数还是偶数。II)不可能找出一对整数(x,y),满足x≠y,且f(x)=f(y)。第19页/共120页引论一个简单的通信游戏假定Alice和Bob己经就函数f(x)达成了共识,并同意用偶数来表示“正面”,用奇数来表示“反面”。现在他们可以在电话上执行掷币协议。协议1电话掷币1.Alice选择一个大随机数x,并计算f(x);然后通过电话告诉Bobf(x)的值;2.Bob告诉Alice自己对x的奇偶性猜测;3.Alice告诉Bobx的值;4.Bob验证f(x)并察看他所做的猜测是正确或错误。第20页/共120页引论协议1的安全性分析首先,由于f(x)具有的“性质II”,所以Alice无法找到不同的两个数x和y,其中一个是奇数而另一个是偶数(可表示为x≠ymod2),使其满足f(x)=f(y)。因此,Alice一旦通过电话告诉Bobf(x)的值(第1步),她也就向Bob就x的“奇偶性”做出了承诺,她无法再改变硬币的“正反面”。也就是说Alice已经完成了其掷硬币过程。第21页/共120页引论协议1的安全性分析第二,由于f(x)
具有“性质I”,已知f(x),Bob不能计算或判定出Alice所选取的x的“奇偶性”,因而他在第2步中只能猜测(而不是通过各种推导)硬币的“正反面”。而在第3步中,Alice给出x的值令Bob判断自己的猜测到底是否正确。第22页/共120页引论单向函数虽然协议1很简单,但它的确是一个合格的密码协议,因为协议中使用的“奇妙函数”是构成现代密码学的一个基本要素:
单向函数奇妙函数的两个性质提出了两个计算困难性问题:单向性与抗碰撞性第23页/共120页引论单向函数根据对协议1的初步安全性分析,可以断言,单向函数的存在性决定了电话掷币方案的可行性。单向函数的存在性安全密码系统的存在性。反过来,上述断言的逆命题也成立:安全密码系统的存在性单向函数的存在性。第24页/共120页引论计算困难性的背后现实应用的安全性依赖于很多问题。在协议1的安全性分析中,有很多重要问题没有考虑。事实上,协议1本身是一个非常简化的版本,它省略了一些细节,这些细节对于协议所要提供的安全性服务也非常重要。第25页/共120页引论计算困难性的背后例如:Alice真的“被迫”不改变她所使用的x?Bob真的“被迫”不改变他对x的奇偶性猜测?(“被迫”意味着:电话上的声音是否足以保证上述强数学性质起作用。)此外,Alice是否有一个好的随机数发生器使她能获得随机数x
。第26页/共120页引论描述密码系统和协议的准则什么是好的密码系统和协议?保护的程度与应用需求相符合对安全性的信心基于数学或物理规律实际效率(合法用户的现实可用性)采用实际和可用的原型和服务明确性(无歧义)开放性第27页/共120页引论描述密码系统和协议的准则什么是好的密码系统和协议?第28页/共120页协议安全分析基础加密加密(加密操作),是将一条信息变换成为不可理解的形式的过程。输入到该变换器的信息叫明文,输出的叫密文。将密文转换成明文的过程叫解密或解密操作。第29页/共120页协议安全分析基础加密明文和密文是相对的:前者是指加密操作的输入,后者是指加密操作的输出。明文不必是可理解的:在双重加密中,第一次加密的密文是第二次加密的明文在密码协议中,对随机数加密非常普遍第30页/共120页协议安全分析基础加密加密和解密算法统称为密码算法(密码系统或密码体制,Cryptosystem),加解密过程均由密钥控制。在对称(或共享密钥)密码体制中,加密和解密采用同一密钥;在非对称(或公钥)密码体制中,加密和解密采用两个不同的密钥:加密密钥和(相匹配的)解密密钥,加密密钥可以公开(称为公钥)而不会泄露解密密钥(称为私钥)。第31页/共120页协议安全分析基础第32页/共120页协议安全分析基础加密总是假定密文{M}K是指采用“完善”密码算法所得到的:完善加密算法{M}K的性质:i) 没有密钥K(在对称密码体制中),或者没有与K相匹配的私钥(在公钥密码体制中),对密文{M}K
不存在任何求解明文消息M的密码分析方法。ii) 已知密文{M}K以及关于明文消息M的已知信息,不存在任何求解密钥K或与K相匹配的私钥的密码分析方法。第33页/共120页协议安全分析基础加密完善加密是对现实存在的加密算法的理想化。这个理想化使得:协议设计与分析的责任同协议所使用的密码算法的设计和分析的责任分离,进而使协议的设计和分析工作变得容易。完善加密并不能防止协议含有安全缺陷。事实上,后面将要示范的任何一种协议攻击,都不是因为相应的密码体制不完善。第34页/共120页协议安全分析基础易受攻击的环境(Dolev-Yao威胁模型)现代网络的基本特点:开放性主体(或实体、代理、用户)能够自由加入网络,并通过该网络来发送和接收消息,不需由“超级”主体授权。主体可以是一台计算机,一个设备,一些资源、服务的提供者,一个人或一个组织等。第35页/共120页协议安全分析基础易受攻击的环境(Dolev-Yao威胁模型)在这样的开放性环境中,不可避免会有坏人(攻击者、对手、敌人、入侵者、窃听者、冒名顶替者等),他们会做各种坏事:被动攻击(窃听通信流量)主动攻击(可能用某些未知的运算或方法):伪造、复制、改变路由、删除或插入消息。第36页/共120页协议安全分析基础易受攻击的环境(Dolev-Yao威胁模型)坏人称为Malice(是指经常带着不同身份面具做坏事或捣蛋的人)。Malice可以是单个的,也可以是相互勾结的攻击团伙,甚至可能是协议中的一个合法主体(内部人员)。第37页/共120页协议安全分析基础易受攻击的环境(Dolev-Yao威胁模型)为了对坏人的能力进行正确的评估,Dolev和Yao提出了一个威胁模型,这一模型被广泛地采纳为安全协议的标准威胁模型。姚期智(AndrewChi-ChihYao),世界著名计算机学家,2000年图灵奖得主,美国科学院院士,美国科学与艺术学院院士,中国科学院院士,清华大学高等研究中心教授第38页/共120页协议安全分析基础易受攻击的环境(Dolev-Yao威胁模型)在D-Y模型中,Malice有如下特征:是网络的一个合法使用者:能够发起与任何其他用户的对话。有机会成为任何主体发出信息的接收者。能获得经过网络的任何消息。能够冒充任何别的主体给任意主体发消息。第39页/共120页协议安全分析基础易受攻击的环境(Dolev-Yao威胁模型)因此,在Dolev-Yao威胁模型中,发送到网中的任何消息都可看成是发送给Malice处理的(根据他的计算能力)。从网络接收到的任何消息都可以看成是经过Malice处理过的。换句话说,可认为Malice已完全控制了整个网络。第40页/共120页协议安全分析基础易受攻击的环境(Dolev-Yao威胁模型)第41页/共120页协议安全分析基础易受攻击的环境(Dolev-Yao威胁模型)但是,除非明确声明,Malice并不是全能的。还有Malice所不能做的事情:不能猜到从足够大的空间中选出的随机数。没有正确的密钥(或私钥),Malice不能由给定的密文恢复出明文;对于完善加密算法,Malice也不能从给定的明文构造出正确的密文。Malice不能求出私有部分,比如,与给定的公钥相匹配的私钥。Malice虽然能控制我们的计算和通信环境的大量公共部分,但一般他不能控制计算环境中的许多私有区域,如访问离线主体的存储器。第42页/共120页协议安全分析基础可信第三方假设Alice和Bob希望进行安全通信。但是Alice和Bob以前从未见过面,因而他们不能事先就有一个共享密钥,也不能确定对方的公钥。如何保证他们通过存在D-Y威胁的网络进行安全地通信呢?第43页/共120页协议安全分析基础可信第三方直接方式:Alice和Bob至少约会一次,建立一个共享密钥或交换有关对方公钥的确切知识。然而,在有n个用户希望进行秘密对话的系统中,为了安全地建立这些密钥,这些用户需要进行多少次约会才行呢?n(n-1)/2次。对于一个庞大的系统,代价太大。因此,在现代通信系统中这种直接的安全密钥建立方式是不实际的。第44页/共120页协议安全分析基础可信第三方间接方式:主体通过与第三方的安全通信建立信任。Needham和Schroeder将这种由第三方提供的服务称为认证服务认证服务器首先为它所服务的每个主体建立一个密钥,可以是公钥,也可以是对称密钥认证服务器根据主体名字维护检索数据库,并能够根据请求主体的密钥,推断出主体的身份信息第45页/共120页协议安全分析基础可信第三方认证服务器是一种特殊的主体,它的行为诚实,得到所有客户主体的信赖:只要客户主体要求,它就严格按照协议规范做出反应,而不会参与任何故意破坏客户安全的活动(比如,它永远不会向任何第三者泄露它和顾客共享的密钥)。这样的主体称为可信第三方,简记为TTP,一般命名为Trent。第46页/共120页协议安全分析基础可信第三方第47页/共120页协议安全分析基础可信第三方在同一个认证服务器提供服务下,假定Alice(Bob)和Trent共享对称密钥KAT(KBT)。这种密钥的用途主要是加密其它密钥,因此称为
密钥-加密密钥。建立这个密钥的代价较大,往往被长期应用,因此它称为长期密钥。第48页/共120页防守与攻击利用加密的认证密钥建立协议要讨论的第一类协议,前提是:
Alice和Bob彼此不认识,但都认识Trent并且分别和Trent共享长期密钥,因而Trent能安全地在他们之间传递消息。由于协议的运行环境有威胁,需要使用加密技术来降低可能的风险。首先Alice和Bob都专注于对密钥的保密上
消息保密协议
第49页/共120页防守与攻击消息保密协议协议1从Alice到Bob假定:Alice和Trent共享密钥KAT,Bob和Trent共
享密钥KBT。目标:Alice和Bob建立一个新的秘密共享密钥。第50页/共120页防守与攻击消息保密协议协议1从Alice到Bob第51页/共120页防守与攻击消息保密协议协议1从Alice到Bob协议由Alice生成一个与Bob共享的会话密钥,那么Bob对此满意吗?Alice产生的会话密钥的随机性不够好(密钥应该是随机的以便很难猜测)Alice并不关心会话密钥是否强,她只是为了方便记忆,而密钥是共享的,那么Bob的安全性将不能得到保障。只要Bob不信任Alice,那么他可能不愿意接受这样一个会话密钥并与之共享。第52页/共120页防守与攻击消息保密协议协议1从Alice到Bob猪一样的队友第53页/共120页防守与攻击消息保密协议协议2“来自
Trent
的会话密钥”协议由于Trent得到了两个客户主体的信任,他通过适当方式生成的会话密钥应能得到双方的信任。因此协议1可以修改为协议2。第54页/共120页防守与攻击消息保密协议协议2“来自
Trent
的会话密钥”协议第55页/共120页防守与攻击消息保密协议协议1协议2Alice生成密钥安全性有限由TTP生成第56页/共120页防守与攻击攻击、修复、攻击、修复……
协议2存在缺陷:谁应该得到会话密钥没有保护。所以,Malice通过截获网上传递的一些消息,将它们修改后并假冒某个主体发给另一主体。在描述攻击时,Alice发送给Malice(“Trent”):……表示Malice截获Alice发给Trent的消息,Malice(“Alice”)发送给Trent:……表示Malice冒充Alice向Trent发送消息。第57页/共120页防守与攻击攻击、修复、攻击、修复……
协议2存在缺陷:谁应该得到会话密钥没有保护。所以,Malice通过截获网上传递的一些消息,将它们修改后并假冒某个主体发给另一主体。
第58页/共120页防守与攻击攻击、修复、攻击、修复……对“来自Trent的会话密钥”协议的一种攻击假定:除了原协议的假定外,Malice和Trent共享
密钥KMT。结果:Alice认为在和Bob共享密钥K,但事实上是
在和Malice共享密钥K。第59页/共120页防守与攻击攻击、修复、攻击、修复……对“来自Trent的会话密钥”协议的一种攻击第60页/共120页防守与攻击攻击、修复、攻击、修复……针对上述攻击的一种修补针对上述Malice改变Bob身份的攻击,对“来自Trent的会话密钥”协议进行修改看来很简单。例如,可以将第一条消息中Bob的身份用Alice和Trent之间的共享密钥进行加密
1.Alice发送给Trent:Alice,{Bob}KAT;第61页/共120页防守与攻击攻击、修复、攻击、修复……另一种攻击然而,上述修改方法没有为“来自Trent的会话密钥”协议提供彻底的修补。Malice仍然可以执行:
l.Malice(“Alice”)向Trent发送:Alice,{Malice}KAT;其余部分与上述攻击相同。第62页/共120页防守与攻击消息认证协议上述攻击的共同特点:Malice可以改变协议的某些消息而不被发现,称为消息篡改攻击。前面的协议都不能防止消息篡改攻击。因而,修补这些协议的一个方法就是提供这种保护。让拥有正确密钥的合法主体检测到任何受保护的协议消息的未授权改变。这样的保护/安全服务称为消息认证。第63页/共120页防守与攻击消息认证协议协议2的问题:谁应该得到会话密钥没有进行保护Malice对协议2的攻击:要么在错误的主体之间分享一个会话密钥,要么建立一个错误的会话密钥因此,消息认证保护应在要建立的会话密钥和它的使用者之间提供一种密码绑定“消息认证”协议,Alice和Bob的身份包含在由Trent发送的加密消息中第64页/共120页防守与攻击消息认证协议协议2的问题:谁应该得到会话密钥没有进行保护第65页/共120页防守与攻击消息认证协议协议3“消息认证”协议假定:Alice和Trent共享密钥KAT,Bob和Trent共
享密钥KBT。目标:Alice和Bob希望建立一个新的会话密钥K。第66页/共120页防守与攻击消息认证协议第67页/共120页防守与攻击消息认证协议在“消息认证”协议中:3.Alice解密{Bob,K}KAT,验证Bob的身份,……4.Bob解密{Alice,K}KBT,验证Alice的身份,……
检验主体身份的步骤使这个协议和“来自Trent的会话密钥”协议有了关键性的区别。这些检验步骤必须用正确的密钥对密文进行正确解密才能执行。这样接收者就能验证,将要建立的会话密钥同它的使用者之间的密码绑定是否正确。第68页/共120页防守与攻击消息认证协议采用了“解密-检验”模式实现消息认证服务,为此完善加密算法还要满足一个性质。完善加密算法{M}K的性质(用于消息认证服务):iii)如果没有密钥K,即使知道明文M,要想更改{M}K而不被接收者在解密阶段发现是不可能的。第69页/共120页防守与攻击消息认证协议协议1协议2Alice生成密钥安全性有限由TTP生成协议3没保护谁应该得到密钥添加绑定第70页/共120页防守与攻击消息认证协议对“消息认证”协议的攻击尽管使用具有消息认证特性的完善加密算法,“消息认证”协议仍会受到攻击。问题在于长期密钥和会话密钥在质量上的差别。会话密钥只能在一次会话中使用,因此会话密钥建立协议的两次运行所产生的会话密钥不应相同。但“消息认证”协议并非如此。第71页/共120页防守与攻击消息认证协议对“消息认证”协议的攻击在这种攻击中,Malice首先要做的就是截获Alice的请求:l.AliceMalice(“Trent”):……然后插入消息2如下:2.Malice(“Trent”)Alice:{Bob,Kꞌ}KAT,{Alice,Kꞌ}KBT这里,两个包含Kꞌ的密文组是旧消息的重放,旧消息是Malice从以前协议(Alice与Bob之间的一次正常运行)的运行中记录的。这种攻击称为消息重放攻击。第72页/共120页防守与攻击消息认证协议对“消息认证”协议的攻击第73页/共120页防守与攻击消息认证协议对“消息认证”协议的攻击“借尸还魂”第74页/共120页防守与攻击询问—应答协议利用询问—应答(也叫握手)机制可以检验协议中的消息是否为旧消息的一次重放。首先,Alice生成一个新的随机数NA,并把它和新的会话密钥请求一起发送给Trent。如果返回相同的NA和一个会话密钥,且这两个值是通过密码技术绑定在一起的,且这个绑定提供消息认证服务(也就是说,Alice可以验证包含NA密文的消息完整性),那么在收到NA后,Alice就可以推断出Trent所生成的密码绑定。这个随机数称为nonce。第75页/共120页防守与攻击询问—应答协议
第76页/共120页防守与攻击询问—应答协议利用询问—应答随机数nonce,可以设计出使Alice能够检验会话密钥新鲜性的协议。协议4“询问-应答”协议假定:Alice和Trent共享密钥KAT,Bob和Trent共
享密钥KBT。目标:Alice和Bob希望建立一个新的会话密钥K。第77页/共120页防守与攻击询问—应答协议第78页/共120页防守与攻击询问—应答协议在“询问—应答”协议中,Bob也生成一个nonce(NB),但这个nonce不发送给Trent,因为在这个协议中,Bob不直接与Trent联系。
Bob的nonce发送给Alice,然后Alice对其稍做修改(如减1),并对Bob应答。所以,如果Alice对会话密钥的新鲜性满意,并用它对Bob新产生的nonce做应答,那么Bob就推断出会话密钥是新鲜的,对会话密钥的相互信赖就这样建立起来了。第79页/共120页防守与攻击询问—应答协议“询问—应答”协议是一个实际的协议。它是认证和密钥建立协议中最著名的协议,由Needham和Schroeder于1978年发表。一般称这个协议为Needham-Schroeder对称密钥认证协议。
NS对称密钥协议是整个相关协议类的基础。第80页/共120页防守与攻击消息认证协议协议1协议2Alice生成密钥安全性有限由TTP生成协议3没保护谁应该得到密钥添加绑定协议4无法防止对Alice的重放添加新鲜数第81页/共120页防守与攻击询问—应答协议对Needham-Schroeder对称密钥认证协议的攻击1981年,Denning和Sacco发现该攻击方法攻击结果:Bob认为他正在和Alice共享一个新的会话密钥,但实际上这个密钥并不是新的,Malice有可能知道该密钥。第82页/共120页防守与攻击询问—应答协议对Needham-Schroeder对称密钥认证协议的攻击Alice随机生成NA,向Trent发送:Alice,Bob,NA;Trent随机生成K,向Alice发送:
Alice解密NA
、验证她的nonce,验证Bob的身份并向Malice(“Bob”)发送:Trent,第83页/共120页防守与攻击3’.Malice(“Alice”)向Bob发送:Bob解密并验证Alice的身份,向Malice(“Alice”)发送:Malice(“Alice”)向Bob发送:询问—应答协议对Needham-Schroeder对称密钥认证协议的攻击第84页/共120页防守与攻击在攻击中,Malice从消息行3开始拦截Alice发给Bob的消息。然后他完全阻截Alice的通信信道,并重放旧的会话密钥数据。让Bob接受作为与Alice的会话密钥。询问—应答协议对Needham-Schroeder对称密钥认证协议的攻击第85页/共120页防守与攻击实体认证协议在Needham-Schroeder协议中(Alice和Trent之间的交互部分),询问—应答机制提供了一种安全服务称为实体认证。类似于消息认证,实体认证服务也是(由验证主体)通过验证一种密码算法实现的。不同之处在于实体认证提供了主体(示证主体)活现性的证据。如果示证主体在最近的一个事件后执行了一种密码运算,而且验证主体知道这是个最近的事件,那么就证明了示证主体的活现性。第86页/共120页防守与攻击实体认证协议
第87页/共120页防守与攻击实体认证协议
第88页/共120页防守与攻击实体认证协议在N-S协议中,Alice收到消息2后,通过解密运算获得她的nonceNA,表明在她发送NA之后,Trent进行了加密运算(因为所使用的密钥是她和Trent共享的)。因此Alice知道Trent是真实存在着的。这就完成了Alice对Trent的实体认证。但对于Bob来说,他没有关于Trent活现性的实体认证证据。第89页/共120页防守与攻击实体认证协议对上述问题的修补办法:Trent应该在实体认证中向两个客户实体证实自己。怎么实现这一点呢?从协议效率的角度考虑,Denning和sacco建议使用时戳(timestamp)来避免增加消息流。第90页/共120页防守与攻击询问—应答协议
第91页/共120页防守与攻击实体认证协议设T表示时戳,Denning和Sacco建议的修补协议如下:第92页/共120页防守与攻击
实体认证协议在Denning和Sacco建议的修补协议中,当Alice和Bob收到Trent所发出的协议消息时,通过验证
就能够证明消息不是重放的。Clock:接收者当地时间:Trent的时钟和当地时钟之间正常差值,大约为一两分钟:所期望的网络时延区间只要的值比自上次使用这个协议以来的时间间隔值小,这种方法就能抗攻击重放攻击。由于时戳T是在秘钥KAT和KBT下加密的,如果加密方案是完善的,要模仿Trent是不可能的。
该协议的问题:维护高精度的时钟同步第93页/共120页防守与攻击消息认证协议协议1协议2Alice生成密钥安全性有限由TTP生成协议3没保护谁应该得到密钥添加绑定协议4无法防止对Alice的重放添加新鲜数协议5无法防止对Bob的重放添加时间戳第94页/共120页防守与攻击使用公钥密码体制的协议最后介绍Needham-Schroeder公钥认证协议。其意义:初步熟悉公钥密码体制的使用。研究对该协议的一种巧妙攻击法。这个协议虽然看似简单,但这种攻击却是在协议公布17年后才被发现。第95页/共120页防守与攻击
第96页/共120页防守与攻击
第97页/共120页防守与攻击使用公钥密码体制的协议Needham-Schroeder公钥认证协议假设Trent拥有所有客户主体的公钥,每一个客户主体也有一个已认证Trent公钥的副本。则Needham-Schroeder公钥认证协议如下:第98页/共120页防守与攻击
第99页/共120页防守与攻击使用公钥密码体制的协议Needham-Schroeder公钥认证协议第100页/共120页防守与攻击使用公钥密码体制的协议Needham-Schroeder公钥认证协议发起者Alice,在Trent的帮助下,寻求与Bob建立会话。成功运行这个协议就实现了共享nonceNA和NB的建立,它们就是只由Alice和Bob共享的秘密。由于NA和NB是双方最近贡献的,所以具有新鲜性。只要每一个主体自己所贡献的部分是足够随机的,他就应该相信这个秘密的随机性。Needham和Schroeder建议从大的空间选取NA和NB
,为Alice和Bob接下来的安全通信初始化一个共享密钥。第101页/共120页防守与攻击消息认证协议协议1协议2Alice生成密钥安全性有限由TTP生成协议3没保护谁应该得到密钥添加绑定协议4无法防止对Alice的重放添加新鲜数协议5无法防止对Bob的重放添加时间戳协议6时间戳麻烦公钥体制第102页/共120页防守与攻击使用公钥密码体制的协议对Needham-Schroeder公钥认证协议的攻击Lowe在1995年,即协议公布后17年发现了对Needham-Schroeder公钥认证协议的一种攻击。Lowe将Needham-Schroeder公钥认证协议看作是两个逻辑分离协议的交织。第1、2、4、5步关系到如何获得公钥,而第3、6、7步关系到Alice和Bob的认证。假定每个主体在开始时都有其他主体的公钥的认证副本,我们把注意力集中在认证部分。第103页/共120页防守与攻击使用公钥密码体制的协议对Needham-Schroeder公钥认证协议的攻击第104页/共120页防守与攻击使用公钥密码体制的协议对Needham-Schroeder公钥认证协议的攻击第105页/共120页防守与攻击使用公钥密码体制的协议对Needham-Schroeder公钥认证协议的攻击第106页/共120页防守与攻击使用公钥密码体制的协议对Needham-Schroeder公钥认证协议的攻击在上述攻击中,Malice成功的关键是Alice无意地为他解密了Bob的nonceNB。一个主体无意地为攻击者执行了一个密码运算时,该主体就被用做预言机(oracle)或提供了预言机服务(oracleservice)。密码算法和协议的设计应该满足:即便用户为攻击者提供预言机服务,它们也是安全的。第107页/共120页防守与攻击使用公钥密码体制的协议对Needham-Schroeder公钥认证协议的攻击上述攻击的后果可能非常严重,想像这种情况:Malice可以在提出会话密钥的消息中加入共享的nonce,Bob将会相信这条消息源于Alice。如果Bob是一家银行,Malice就可能伪装成Alice发出这样一条消息:第108页/共120页防守与攻击
第109页/共120页防守与攻击使用公钥密码体制的协议第110页/共120页防守与攻击使用公钥密码体制的协议第111页/共120页防守与攻击消息认证协议协议1协议2Alice生成密钥安全性有限由TTP生成协议3没保护谁应该得到密钥添加密钥保护协议4无法防止对Alice的重放添加新鲜数协议5无法防止对Bob的重放添加时间戳协议6时间戳麻烦协议7新的攻击(加新的保护)公钥体质第112页/共120页防守与攻击使用公钥密码体制的协议对Needham-Schroeder公钥认证协议的修补这个修补可以进一步推广,成为密码协议设计的一条基本原则:如果主体的身份对于消息的意义来说是必要的,那么应当在消息中明确置入主体的身份信息。第113页/共120页防守与攻击协议实现问题:协议规范需通过软件代码实现(应用软件、嵌入式系统等)
即使协议在设计时不存在问题,协议在代码编写时可能也导致存在新的缺陷加密方法选择(对称?非对称?)密码算法选择(AES?DES?)软件代码编写(C++?JAVA?)第114页/共120页防守与攻击协议实现层问题:2014年4月9日,OpenSSL被爆存在心脏出血漏洞,攻击者可以远程获取目标主机的敏感信息:密码、个人信息、私钥等,而不留下任何信息。第115页/共120页防守与攻击协议实现层漏洞:SSL:安全套接字协议,用于在Internet上提供数据的加密传输及身份认证,确保应用间通信的保密性和可靠性OpenSSL:SSL的一个代码版本,应用非常广第116页/共120页防守与攻击协议实现层漏洞:漏洞存在于OpenSSL的心跳包HeartBeat模块:服务器客户机Helloserver,areyouthere?IfYes,replymeXBytesMessageYYYYHelloClient,hereisYYYY第117页/共120页防守与攻击协议实现层漏洞:漏洞存在于OpenSSL的心跳包HeartBeat模块:第118页/共120页防守与攻击结论上面的案例说明了安全系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冷拉丝工内部技能考核试卷及答案
- 节目审查流程执行监控工艺考核试卷及答案
- 陶瓷制品釉面涂层耐酸碱度工艺考核试卷及答案
- 豆制品酶法改性工艺效果分析工艺考核试卷及答案
- 饲草种子繁育工异常处理考核试卷及答案
- 石质文物修复师培训考核试卷及答案
- 职业教育质量评价指标构建:理念、问题与启示
- 新能源汽车电驱总成系统及设备管理测试卷附答案
- 专业证书试题模板及答案
- 建筑专业理论试题及答案
- 北京地区建筑地基基础勘察设计准则
- 《社区调查报告》课件
- 2025-2025学年外研版七年级英语上册教学计划
- 《胸腔穿刺术》课件
- 《人才选用育留》课件
- 农村土地使用权转让协议书
- 任务1 混合动力汽车动力系统基本组成与原理
- 富血小板血浆(PRP)临床实践与病例分享课件
- 华为HCSA-Presales-IT售前认证备考试题及答案
- DB34-T 4860-2024 农贸市场建设规范
- 黑龙江省大庆市铁人中学2024-2025学年高一数学上学期期中试题含解析
评论
0/150
提交评论