第5章协议安全技术课件.ppt
《第5章协议安全技术课件.ppt》由会员分享,可在线阅读,更多相关《第5章协议安全技术课件.ppt(151页珍藏版)》请在三一办公上搜索。
1、第 5 章协 议 安 全 技 术,一.协议安全基础,1 .安全协议的概念,安全协议与信息安全,何谓安全协议 ?,我们从一个有关安全协议的经典例子入手来介绍安全协议的基本念。在这个例子中,有两个用户Alice(简称A)和Bob,他们通过某种方式获得了对方可行的公钥。Alice希望和Bob实现在不安全网络环境中的安全通信。,所谓安全通信,首先Alice要知道她所通信的对象一定是Bob。同样,Bob也要确信他所通信的对象是Alice。这种对通信实体身份的确认就是所谓的身份认证(Identification Authentication),因此Alice和Bob之间安全通信的第一个目标就是实现双向认证
2、。其次,还需确保通信过程中消息的机密性,即除了Alice和Bob之外,不应该有第三方知道他们正在交换的消息的内容。解决消息机密性最有效的方法就是加密。但是,由于Alice和Bob除了知道对方的公钥(即和)之外,并无其它有关机密的任何信息。当然,他们可以通过用对方的公钥来加密消息的方式来提供消息的机密性。但是,一来公钥加密算法加密速度慢,有可能影响通信性能,二来包含公钥的密文积累过多,可能造成密钥失窃的情况。为此,他们约定采用对称加密算法(如DES)来实现消息的机密性。,但是,如何获得称加密算法所需要的加密和解密密钥又成为了一个问题。简单的方法是,该密钥可以由Alice在本地生成后传给Bob,但
3、是由于二人相隔千里,无法面对面交换,而其它方式(如电子邮件、电话等)均不是理想和安全的交换方式。为此,他们希望通过某种方式,能够在已知对方公钥的基础之上,提供加密密钥交换的功能。此即为安全通信的第二个目标:在Alice和Bob之间实现共享秘密(分别记为和)的安全交换。获得共享秘密和后,对称加密算法所需要的密钥可以通过某种约定的方式由和来生成。 当然,Alice和Bob希望在网络上通过交换消息来实现。一个称之为Needham-Schroeder公钥认证协议(简称NSPK协议)的安全协议可以用来实现Alice和Bob的目标。其描述如协议4-1-1所示。,NSPK协议,协议主体就是协议的参与者(或用
4、户)。其中圆括号中的数字表示消息的顺序;符号“”表示消息的流向:M”表示Alice向Bob发送消息M;MK表示用密钥k对消息M进行加密;A是Alice的身份,Na和Nb是新鲜的一次性随机数。所谓新鲜的一次性随机数(Nonce)或一次性随机数是指该随机数在产生时间上很新,且用完后即被丢弃,不会重用。,上述NSPK就是一个典型的安全协议(Security Protocol)。通过对NSPK协议的分析,可得到如下结论:,综合上述两个特点,可以得到安全协议的定义:定义5-1-2 安全协议(Security Protocol):是在消息交换和处理过程中使用了若干密码算法的协议。安全协议的内涵是,安全协议
5、是一个协议;安全协议必定涉及密码算法;安全协议目标是在密码算法的基础之上为网络安全提供一个解决方案。,2 .安全协议的分类,(1)密钥交换协议,密钥交换协议可分为两种情况:密钥传输和密钥协商。在密钥传输中,需交换的共享密钥其中的一个协议主体生成,通过密钥交换协议传递给其它协议主体。而在密钥协商协议中,需交换的共享密钥不是有协议主体单方面生成,而是协议主体在交换一个或多个共享秘密信息之后,将这些秘密信息输入一个预定函数而得到。协议5-1-2是一个典型的密钥传输协议的例子,而协议5-1-3则是一个密钥协商协议。,协议5-1-2由4条消息组成,需要交换的共享密钥由Bob生成,通过协议传递给Alice
6、。协议过程中用到了对称密码算法和认证,使用一次性随机数的目的是为了防范重放攻击。,Diffie-Hellman密钥交换协议是基于有限域中计算离散对数的困难性问题之上的。离散对数问题是指对任意正整数x,计算gx (mod p)是容易的;但是已知g、Y、p和求x,使Y=gx (mod p)是计算上几乎不可能的 。协议5-1-3由3条消息组成,其中xa和xb分别为 Alice和Bob选择的随机数。在消息交换之后,Alice计算 。同理,Bob计算 ,因此实现了共享密钥(或秘密)的交换。,协议5-1-4和协议5-1-5分别为基于公钥体制的单向和双向认证协议。需要注意的是,双向认证协议一般不能等同于两个
7、单向认证协议的简单叠加。,认证协议按照哪些实体的身份需要进行认证可分为单向认证协议和双向认证协议。在前者中,仅有一个实体的身份得以认证,而在后者中,两个实体的身份均得到认证。认证协议一般需要使用密码算法。,协议5-1-5由3条消息组成,其中、和是可选内容。协议的认证过程读者可结合有关知识自行分析。,协议5-1-6是DH协议的一个改进版本,不仅实现了双向认证,而且实现了双向密钥确认,因而属于认证与密钥交换协议。协议5-1-6由3条消息组成,其中 。 由于采用了签名机制来保证消息的真实性,因此可以抵御许多针对DH协议的攻击。,(3) 认证与密钥交换协议,与其它类型的安全协议相比,电子商务协议具有显
8、著的特殊性。在电子商务安全协议中,协议主体往往是交易的双方和金融机构,因此远比一般安全协议复杂。此外,除了一般协议中要求的机密性、完整性和不可抵赖性之外,电子商务安全协议还特别强调公平性(Fairness)和匿名性(Anonymity)。前者指协议应该保证交易双方都不能通过损害对方的利益而得到不应该得到的利益,后者指交易双方的身份应该尽量不为他人所知(有时甚至要求交易双方和金融机构也不能知道交易方的信息)。安全电子交易(SET协议)是一个典型的电子商务安全协议,有关电子商务安全协议及SET协议的有关内容可参照本书的其它章节。,(4)电子商务安全协议,(1)仲裁协议 仲裁协议需要借助于一个称之为
9、仲裁者的可信第三方(Trusted Third Party)来完成消息交换。可信意味着仲裁者在协议过程中并无既得利益,且于协 议中的其它任何主体之间无厉害关系,因此协议主体也乐于信赖该仲裁者 。在仲裁者的帮助下,协议主体之间完成协议过程。,2 .按照是否需要可信第三方分类,仲裁协议原理示意图,裁决协议原理示意图如图5-1-3所示。,由图5-1-3可知,裁决者Trent并不参与Alice和Bob之间的交易,仅当Bob没有收到书款提交裁决请求时,Trent才参与协议。如果交易顺利完成,Trent在协议中无需承担任何工作,其负担大为减轻。,(3)自动执行协议,自动执行协议不需要任何第三方(如仲裁者和
10、裁决者)的参与,在协议主体之间完成协议过程。由于自动执行协议本身就保证了协议的安全性(如机密性、公平性等),因此不需要仲裁者来协助完成协议,也不需要裁决者来解决争端,因此是比较好的一种安全协议。但是,设计一个安全的自动执行协议具有很高的难度,目前属于安全协议研究的热点问题。以上述Alice向Bob购书为例,要设计一个无仲裁者和裁决者的自动执行协议无疑是极为困难的事情。,1 .安全协议缺陷与安全协议模型,二.协议安全的缺陷,在实际应用中,要设计一个安全的协议是极为困难的。以著名的DH协议(协议5-1-3)为例,由于存在针对该协议的“中间人攻击”,因此DH协议就不是一个绝对安全的协议。所谓中间人攻
11、击,就是攻击者作为第三者,插入到协议主体Alice和Bob的通信过程的中间,对对消息进行处理,从而破坏协议的正常执行。DH协议的中间人攻击如攻击5-2-1所示。,在攻击5-2-1中,Malice作为中间人,截获Alice发送给Bob的gx,并用自己计算的 替代 后以Alice的名义转发给Bob。而Bob并不知晓中间人Malice的存在,因此以为是Alice向自己发起密钥交换请求,因此发送自己的 给Alice。Malice在此截获 ,用 替代 后以Bob的名义转发给Alice。按照协议规则,Alice和Bob在协议终止后计算所得共享密钥分别为 和 ,二人并不知晓所共享的密钥是否相同,且已为Mal
12、ice所拥有。,而作为中间人的Malice,则同时获得了Alice和Bob所拥有的两个密钥(即和)。在随后的通信中,当Alice用加密消息时,Malice可以用相同的解密,得到消息的明文,并对该明文消息用加密后转发给Bob。后者可以用自己拥有的解密,因此不能感知任何错误或异常。同样,对于Bob发送给Alice的加密消息,Malice可以采用密钥实施欺骗功能。 因此,了解安全协议常见问题及其产生原因,有助于设计和验证协议的安全性。导致协议不安全的根本原因在于协议所运行环境的复杂性。该复杂性的典型代表是存在协议攻击者。协议攻击者(Protocol Attacker,以下简称攻击者)是指了解安全协议
13、,并利用一定的方式对安全协议的过程进行破坏,从而导致安全协议预定目标不能正常实现的通信实体。攻击者可以是协议的主体,也可以是协议主体之外的其它主体(如DH协议中的中间人)。因此,攻击者可能存在与协议运行过程中,也可能存在于协议运行的环境中。图5-2-1是攻击者与协议及其协议运行环境的关系示意图。,图,5-2-1是攻击者与协议及其协议运行环境的关系示意图。,攻击者有被动和主动之分。被动攻击者通过窃听并截获协议消息。而主动攻击者不仅可以截获消息,而且可以对其进行修改,甚至于它还可以伪装成协议主体与其它诚实协议主体通信。在考虑协议安全时,需要对攻击者的能力进行定义,即必须对攻击者进行建模,获得攻击者
14、模型(attacker model或adversary model)。一般而言,绝对安全的协议是极难设计和构造的,因此所谓协议的安全性,一般为在假定攻击者模型下,证明协议是安全的。为此,攻击者模型在协议安全分析占有举足轻重的地位和作用。,(1)截获并延迟消息的发送;(2)截获并重新发送消息到任意接收者;(3)截获并修改消息,并可转发给任意接收者;(4)可以产生新的消息(包括新鲜的消息)。(5)可以对消息进行分离;(6)可以对多个消息进行组合;(7)知道密钥后可解密消息和重新加密消息;(8)可以查看和掌握协议相关的公用信息;,在众多攻击者模型中,Dolev-Yao模型是公认较好的模型之一。在Do
15、lev-Yao攻击者模型中,一般假设攻击者具有如下能力:,由此可见,一个合理的攻击者模型,应该假定攻击者的能力较强。如果轻视或忽略攻击者这种能力,得出协议是安全的结论是极为不合理的,有时甚至是荒谬的。此外,Dolev-Yao模型假定攻击者不具备如下能力:(1)不知道密钥不能进行加密和解密操作(即密码算法是安全的);(2)不能获得加密消息的部分内容;(3)不能猜测密钥或密钥的一部分;(4)不能进行统计分析。 总之,由于存在攻击者,因此设计一个安全的协议是非常困难的任务.,除了由于存在攻击者而导致协议不安全之外,协议自身的缺陷也是导致协议不安全的原因之一。存在协议缺陷的原因可能是协议设计过程不规范
16、,也可能是在协议执行时产生。常见的协议缺陷包括:(1)基本协议缺陷:协议中没有或者很少考虑对攻击者的防范而引发的协议缺陷(如TCP/IP协议的安全缺陷问题等)。(2)口令/密码设置缺陷:在设置和使用口令或密码的过程中,未考虑攻击者对其的猜测攻击等情况(如口令和密码过短,直接采用用户名来作为口令和密码等)。(3)陈旧消息缺陷:在协议设计过程中,未考虑消息的时效性(即新鲜性),从而使得攻击者可以利用协议过程中产生的过时消息来对协议进行重放攻击。(4)并行会话缺陷:协议设计对仅考虑单个协议执行的情况,对多个协议(或同一个协议的多个运行实例)并行会话缺乏考虑,使得攻击者可以相互交换适当的协议消息来获得
17、更为重要的消息。(5)内部协议缺陷:协议参与者中至少有一方不能够完成所有必须的动作而导致缺陷。(6)密码系统缺陷:协议中使用的密码算法的安全强度问题导致协议不能完全满足所要求的机密性、完整性、认证等需要而产生的缺陷。,以下通过针对协议5-2-2(NSSK协议)来阐释消息重放攻击。,攻击者Malice通过对Alice和Bob过去某次NSSK协议的通过过程进行窃听,获得了其中的第三条消息 kab , A kbt.通过对该加密消息的攻击(如典型的蛮力破解),破译了该消息,从而得到了Alice和Bob使用的会话密钥 kab .当然,该破译过程可能需要较长的时间(如一年甚至更长)。一旦获得旧的会话密钥k
18、ab之后,Malice可以在今后某个时刻重新发送过去截获的旧消息 kab , A kbt而Bob对此并无只觉,因此它按照协议执行。随后的过程重Malice可以成功欺骗Bob,使得Bob认为和Alice发起了一次认证和密钥交换协议,并使得Alice(实质上是Malice伪装成Alice)的身份得以认证通过。但是,Alice在整个协议过程中根本未出现,所有的行为均为攻击者Malice所为。,通过对攻击5-2-2的分析可知,重放攻击之所以成功,其根本原因在于消息的新鲜性无法得到保证。如当Bob收到NSSK协议中第三条消息kab , A kbt时,他并不能区分该消息是现在产生的,还是过去的旧消息。,从
19、被重放消息的来源来看,重放攻击可分为协议轮内攻击和协议轮外攻击。协议轮是指一个协议的整个过程消息交换过程(如NSSK协议中的5条消息交换即为一个协议轮)。因此,协议轮内的重放攻击就是指重放在本协议轮被截获的消息,而协议论外攻击则是重放从其它协议轮中捕获的消息。根据消息的去向,重放攻击可分为偏转攻击和直接攻击。偏转攻击是通过改变消息的去向而实施的攻击。直接攻击是将消息发送给任意接收方而实施的攻击。其中偏转攻击分为反射攻击和第三方攻击。前者指将消息返回给发送者,而后者指将消息发给协议合法通信双方之外的任一方。攻击5-2-2中的重放攻击属于协议轮外攻击和直接攻击。,消息重放对策主要有三种:挑战应答机
20、制、时戳机制(Timestamp)和序列号机制(Sequence No)。挑战应答机制通过发送挑战值(Nonce:中文含义是现在,目前)来确保消息的新鲜性。时戳机制对消息加盖本地时戳,只有当消息上的时戳与当前本地时间的差值在意定范围之内,才接受该消息。时戳机制要求有一个全局同步时钟。如果双方时钟偏差过大或者允许的范围过大,则可以被攻击者利用。序列号机制是指通信双方通过消息中的序列号来判断消息的新鲜性。序列号机制要求通信双方必须事先协商一个初始序列号,并协商递增方法。,(1)挑战应答机制,在挑战应答机制中,发送者(或挑战者)向接收者发送一条挑战消息(Challenge)(如可能是一个称之为Non
21、ce的一次性随机数);接收者(或应答者)对该挑战消息进行密码操作,并发送该挑战对应的应答消息(Response)给发送者进行验证;发送者收到应答消息之后卡,能够通过他自己输入消息的新鲜性来验证接收者通信的新鲜性和真实性。其中,接收者的应答消息中所包含的对挑战的应答必须进行完整性保护,即对于应答消息一般需要进行某种密码变换。依据接收者对该消息进行密码操作不同,挑战应答机制可分为对称密钥加密机制和非对称密钥签名机制。典型的挑战应答机制如图5-2-2所示。需要说明的是,对新鲜随机数的保护(或变化)也可以由挑战者来进行,而应答者仅需简单回复即可。一般而言,挑战者和应答者同时对新鲜随机数进行变换是不必要
22、的,但是在某些安全协议中也可同时进行变换。,如图5-2-2所示,Alice通过在消息中嵌入表示消息新鲜性的标志(新鲜一次性随机数Nonce)来发起挑战,Bob收到带有挑战信息(Nonce)的消息之后,对挑战信息先进性变换后返回给Alice。而Alice能够通过对比Bob的应答和自己所知道的答案来判断消息是否是新鲜的。如果Bob的应答不能满足Alice的挑战,则Bob所回应的消息被认为是陈旧消息,即可能是重放攻击。,协议5-2-1为采用挑战应答机制来设计抗重放攻击的安全协议协的一例。,在协议5-2-1中,Bob对Alice的挑战是利用对称密钥进行加密。Alice收到Bob发送的消息之后,用相同的
23、密钥解密得到自己所期望的应答,并与自己在第一步中所发送的挑战进行比较。如果相同,则消息是新鲜的;否则消息即为陈旧消息。需要说明的时,协议5-2-1仅仅证明了消息的新鲜性,而其它消息的新鲜性则未提供保证。,(2)时戳机制,时戳机制是指发送者在消息中嵌入发送消息的本地时刻,而接收者在消息达到后,通过对比消息中所包含的时间信息和本地时间信息的差值,来决定该消息是否为新鲜消息。如果接收者对消息延迟达到所能容忍的时间差值为,发送消息的时刻为,收到消息的时刻为,如果则接收者认为该消息是新鲜的,否则该消息是陈旧消息(即可能时重放攻击)。同样,消息中的时戳信息必须进行完整性保护。典型的利用时戳机制对抗重放攻击
24、的过程如图5-2-3所示。与挑战应答机制不同,对时戳的保护(或变化)只能由消息的发送者提供,在图5-2-3中,Alice通过在消息中嵌入时戳来表示消息的新鲜性。Bob收到带有时戳信息的消息之后,计算出消息的时间差,并依据本地安全策略判断该消息是否是新鲜的。在攻击5-2-2中,我们描述了针对NeedhamSchroeder对称密码认证与密钥交换协议的重放攻击,而协议5-2-2则是利用时戳机制对NSSK协议的一种改进。,由于Trent在第二条消息中嵌入了自己的本地时戳,因此Bob在收到Alice所发送的第三条消息之后,可以通过对比时戳来挫败攻击者所发起的重放攻击。,(3)序列号机制,在序列号机制中
25、,协议主体之间首先协商一个一致的初始序列号。协议过程中每条协议消息均带上序列号。每发送一条消息,序列号对应加1。因此,协议实体可以通过对比消息中的序列号和自己当前所期望的序列号是否相同来判断消息的新鲜性。典型的采用序列号机制来对抗消息重返的过程如图5-2-4所示。当然,每条消息的序列号必须进行保护。由于序列号需要协商并保持同步,因此在实际应用中较少采用。,三种对抗重放攻击的方法各有优缺点,设计安全协议时须结合各自的特点和应用的要求来选择。三种防御方法对比如表5-2-1所示。,表5-2-1 三种对抗重放攻击的方法对比分析,攻击者和协议的缺陷是导致协议不安全的两大原因。为了设计出更为安全的协议来,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 协议 安全技术 课件
链接地址:https://www.31ppt.com/p-1614313.html