第5章协议安全技术课件.ppt

上传人(卖家):三亚风情 文档编号:3041667 上传时间:2022-06-25 格式:PPT 页数:151 大小:12.39MB
下载 相关 举报
第5章协议安全技术课件.ppt_第1页
第1页 / 共151页
第5章协议安全技术课件.ppt_第2页
第2页 / 共151页
第5章协议安全技术课件.ppt_第3页
第3页 / 共151页
第5章协议安全技术课件.ppt_第4页
第4页 / 共151页
第5章协议安全技术课件.ppt_第5页
第5页 / 共151页
点击查看更多>>
资源描述

1、第第 5 章章协协 议议 安安 全全 技技 术术一一. .协议安全基础协议安全基础 1 .1 . 安 全安 全协议的概协议的概念念安全协议与安全协议与信息安全信息安全何谓安全协议何谓安全协议 ? 我们从一个有关安全协议的经典例子入手来介绍安全协议的基本念。在这个例子中,有两个用户Alice(简称A)和Bob,他们通过某种方式获得了对方可行的公钥。Alice希望和希望和Bob实现在不安全网络环境中的安全通信实现在不安全网络环境中的安全通信。 所谓安全通信,首先Alice要知道她所通信的对象一定是Bob。同样,Bob也要确信他所通信的对象是Alice。这种对通信实体身份的确认就是所谓的身份认证(身

2、份认证(Identification Authentication),因此Alice和Bob之间安全通信的第一个目标就是实现双向认证第一个目标就是实现双向认证。其次,还需确保通信过程中消息的机密性,即除了Alice和Bob之外,不应该有第三方知道他们正在交换的消息的内容。解决消息机密性最有效的方法就是加密。但是,由于Alice和Bob除了知道对方的公钥(即和)之外,并无其它有关机密的任何信息。当然,他们可以通过用对方的公钥来加密消息的方式来提供消息的机密性。但是,一来公钥加密算法加密速度慢,有可能影响通信性能,二来包含公钥的密文积累过多,可能造成密钥失窃的情况。为此,他们约定采用对称采用对称加

3、密算法(如加密算法(如DES)来实现消息的机密性)来实现消息的机密性。 但是,如何获得称加密算法所需要的加密和解密密钥又成为了一但是,如何获得称加密算法所需要的加密和解密密钥又成为了一个问题。简单的方法是,该密钥可以由个问题。简单的方法是,该密钥可以由Alice在本地生成后传给在本地生成后传给Bob,但是由于二人相隔千里,无法面对面交换,而其它方式(如电子邮但是由于二人相隔千里,无法面对面交换,而其它方式(如电子邮件、电话等)均不是理想和安全的交换方式。为此,他们希望通过件、电话等)均不是理想和安全的交换方式。为此,他们希望通过某种方式,能够在已知对方公钥的基础之上,提供加密密钥交换的某种方式

4、,能够在已知对方公钥的基础之上,提供加密密钥交换的功能。此即为安全通信的功能。此即为安全通信的第二个目标:在第二个目标:在Alice和和Bob之间实现共享之间实现共享秘密(分别记为和)的安全交换秘密(分别记为和)的安全交换。获得共享秘密和后,对称加密算。获得共享秘密和后,对称加密算法所需要的密钥可以通过某种约定的方式由和来生成。法所需要的密钥可以通过某种约定的方式由和来生成。 当然,当然,Alice和和Bob希望在网络上通过交换消息来实现。一个称之希望在网络上通过交换消息来实现。一个称之为为Needham-Schroeder公钥认证协议(简称公钥认证协议(简称NSPK协议)的安全协议可协议)的

5、安全协议可以用来实现以用来实现Alice和和Bob的目标。其的目标。其描述如协议描述如协议4-1-1所示。所示。NSPKNSPK协协议议协议主体就是协议的参与者(或用户)。其中圆括号中的数字表示消息的协议主体就是协议的参与者(或用户)。其中圆括号中的数字表示消息的顺序;符号顺序;符号“”表示消息的流向:表示消息的流向:M”表示表示Alice向向Bob发送消息发送消息M;MK表示用密钥表示用密钥k对消息对消息M进行加密;进行加密;A是是Alice的身份,的身份,Na和和Nb是新鲜的一次性是新鲜的一次性随机数。所谓新鲜的一次性随机数(随机数。所谓新鲜的一次性随机数(Nonce)或一次性随机数是指该

6、随机数)或一次性随机数是指该随机数在产生时间上很新,且用完后即被丢弃,不会重用。在产生时间上很新,且用完后即被丢弃,不会重用。 上述上述NSPK就是一个典型的安全协议(就是一个典型的安全协议(Security Protocol)。通过对)。通过对NSPK协议协议的分析,可得到如下结论:的分析,可得到如下结论:(1)NSPK是一个协议是一个协议定义定义5-1-1 协议(协议(Protocol):是两个或两个以上参与者之间为完成某项特殊任):是两个或两个以上参与者之间为完成某项特殊任务而采取的一系列步骤。务而采取的一系列步骤。NSPK本质上看就是一个网络协议,它必须具备网络协议的三要素。本质上看就

7、是一个网络协议,它必须具备网络协议的三要素。 (2)NSPK中用到了密码技术中用到了密码技术综合上述两个特点,可以得到安全协议的定义:综合上述两个特点,可以得到安全协议的定义:定义定义5-1-2 安全协议(安全协议(Security Protocol):是):是在消息交换和处理过程中使用了在消息交换和处理过程中使用了若干密码算法的协议若干密码算法的协议。安全协议的内涵是,安全协议是一个协议;安全协议的内涵是,安全协议是一个协议;安全协议必定涉及密码算法;安全安全协议必定涉及密码算法;安全协议目标是在密码算法的基础之上为网络安全提供一个解决方案协议目标是在密码算法的基础之上为网络安全提供一个解决

8、方案。 2 .安全协议的分类安全协议的分类(1)密钥交换协议)密钥交换协议密钥交换协议可分为两种情况:密钥交换协议可分为两种情况:密钥传输和密钥协商密钥传输和密钥协商。在密钥传输中,需交换的共享密钥其中的一个协议主在密钥传输中,需交换的共享密钥其中的一个协议主体生成,通过密钥交换协议传递给其它协议主体。而体生成,通过密钥交换协议传递给其它协议主体。而在密钥协商协议中,需交换的共享密钥不是有协议主在密钥协商协议中,需交换的共享密钥不是有协议主体单方面生成,而是协议主体在交换一个或多个共享体单方面生成,而是协议主体在交换一个或多个共享秘密信息之后,将这些秘密信息输入一个预定函数而秘密信息之后,将这

9、些秘密信息输入一个预定函数而得到。协议得到。协议5-1-2是一个典型的密钥传输协议的例子,是一个典型的密钥传输协议的例子,而协议而协议5-1-3则是一个密钥协商协议。则是一个密钥协商协议。协议协议5-1-25-1-2由由4 4条消息组成,需要交换的共享密钥由条消息组成,需要交换的共享密钥由BobBob生成,通生成,通过协议传递给过协议传递给AliceAlice。协议过程中用到了对称密码算法和认证,。协议过程中用到了对称密码算法和认证,使用一次性随机数的目的是为了防范重放攻击。使用一次性随机数的目的是为了防范重放攻击。Diffie-Hellman密钥交换协议是基于有限域中计算离散对数的困难性问题

10、之上密钥交换协议是基于有限域中计算离散对数的困难性问题之上的。离的。离散对数问题是指对任意正整数散对数问题是指对任意正整数x,计算,计算gx (mod p)是容易的;但是已知是容易的;但是已知g、Y、p和求和求x,使使Y=gx (mod p)是计算上几乎不可能的是计算上几乎不可能的 。协议。协议5-1-3由由3条消息组成,其中条消息组成,其中xa和和xb分别分别为为 Alice和和Bob选择的随机数。在消息交换之后,选择的随机数。在消息交换之后,Alice计算计算 。同理,。同理,Bob计算计算 ,因此实现了共享,因此实现了共享密钥(或秘密)的交换。密钥(或秘密)的交换。()baabxxx x

11、abkgg()ababxxx xabkgg 协议协议5-1-4和协议和协议5-1-5分别为基于公钥体制的单向和双向认证协议。分别为基于公钥体制的单向和双向认证协议。需要注意的是,双向认证协议一般不能等同于两个单向认证协议的简需要注意的是,双向认证协议一般不能等同于两个单向认证协议的简单叠加。单叠加。 认证协议按照哪些实体的身份需要进行认证可分为单向认证协议和双向认认证协议按照哪些实体的身份需要进行认证可分为单向认证协议和双向认证协议。在前者中,仅有一个实体的身份得以认证,而在后者中,两个实体的证协议。在前者中,仅有一个实体的身份得以认证,而在后者中,两个实体的身份均得到认证。认证协议一般需要使

12、用密码算法。身份均得到认证。认证协议一般需要使用密码算法。协议5-1-5由3条消息组成,其中、和是可选内容。协议的认证过程读者可结合有关知识自行分析。 协议协议5-1-6是是DH协议的一个改进版本,不仅实现了双向认证,而且实现了双向密协议的一个改进版本,不仅实现了双向认证,而且实现了双向密钥确认,因而属于认证与密钥交换协议。协议钥确认,因而属于认证与密钥交换协议。协议5-1-6由由3条消息组成,其中条消息组成,其中 。 由于采用了签名机制来保证消息的真实性,因此可以抵御由于采用了签名机制来保证消息的真实性,因此可以抵御许多针对许多针对DH协议的攻击。协议的攻击。 (m od)abx xabkg

13、p(3) 认证与密钥交换协议认证与密钥交换协议 与其它类型的安全协议相比,电子商务协议具有显著的特与其它类型的安全协议相比,电子商务协议具有显著的特殊性。在电子商务安全协议中,协议主体往往是交易的双方和殊性。在电子商务安全协议中,协议主体往往是交易的双方和金融机构,因此远比一般安全协议复杂。此外,除了一般协议金融机构,因此远比一般安全协议复杂。此外,除了一般协议中要求的机密性、完整性和不可抵赖性之外,电子商务安全协中要求的机密性、完整性和不可抵赖性之外,电子商务安全协议还特别强调公平性(议还特别强调公平性(Fairness)和匿名性()和匿名性(Anonymity)。前)。前者指协议应该保证交

14、易双方都不能通过损害对方的利益而得到者指协议应该保证交易双方都不能通过损害对方的利益而得到不应该得到的利益,后者指交易双方的身份应该尽量不为他人不应该得到的利益,后者指交易双方的身份应该尽量不为他人所知(有时甚至要求交易双方和金融机构也不能知道交易方的所知(有时甚至要求交易双方和金融机构也不能知道交易方的信息)。安全电子交易(信息)。安全电子交易(SET协议)是一个典型的电子商务安协议)是一个典型的电子商务安全协议,有关电子商务安全协议及全协议,有关电子商务安全协议及SET协议的有关内容可参照协议的有关内容可参照本书的其它章节。本书的其它章节。(4)电子商务安全协议)电子商务安全协议(1)仲裁

15、协议)仲裁协议 仲裁协议需要借助于一个称之为仲裁者的可信第三方(仲裁协议需要借助于一个称之为仲裁者的可信第三方(Trusted Third Party)来完成消息交换。可信意味着仲裁者在协议过程中并无既得利益,且于协)来完成消息交换。可信意味着仲裁者在协议过程中并无既得利益,且于协 议中的其它任何主体之间无厉害关系,因此协议主体也乐于信赖该仲裁者议中的其它任何主体之间无厉害关系,因此协议主体也乐于信赖该仲裁者 。在仲裁者的帮助下,协议主体之间完成协议过程。在仲裁者的帮助下,协议主体之间完成协议过程。2 .按照是否需要可信第三方分类按照是否需要可信第三方分类 仲裁协议原理示意图裁决协议原理示意图

16、如图裁决协议原理示意图如图5-1-3所示。所示。由图由图5-1-3可知,裁可知,裁决者决者Trent并不参与并不参与Alice和和Bob之间的交之间的交易,仅当易,仅当Bob没有收没有收到书款提交裁决请到书款提交裁决请求时,求时,Trent才参与才参与协议。如果交易顺协议。如果交易顺利完成,利完成,Trent在协在协议中无需承担任何议中无需承担任何工作,其负担大为工作,其负担大为减轻。减轻。(3)自动执行协议)自动执行协议自动执行协议不需要任何第三方(如仲裁者和裁决者)自动执行协议不需要任何第三方(如仲裁者和裁决者)的参与,在协议主体之间完成协议过程。由于自动执的参与,在协议主体之间完成协议过

17、程。由于自动执行协议本身就保证了协议的安全性(如机密性、公平性行协议本身就保证了协议的安全性(如机密性、公平性等),因此不需要仲裁者来协助完成协议,也不需要等),因此不需要仲裁者来协助完成协议,也不需要裁决者来解决争端,因此是比较好的一种安全协议。但裁决者来解决争端,因此是比较好的一种安全协议。但是,设计一个安全的自动执行协议具有很高的难度,是,设计一个安全的自动执行协议具有很高的难度,目前属于安全协议研究的热点问题。以上述目前属于安全协议研究的热点问题。以上述Alice向向Bob购书为例,要设计一个无仲裁者和裁决者的自动执行购书为例,要设计一个无仲裁者和裁决者的自动执行协议无疑是极为困难的事

18、情。协议无疑是极为困难的事情。1 .安全协议缺陷与安全协议模型安全协议缺陷与安全协议模型二二.协议安全的缺陷协议安全的缺陷 在实际应用中,要设计一个安全的协议是极为困在实际应用中,要设计一个安全的协议是极为困难的。以著名的难的。以著名的DH协议(协议协议(协议5-1-3)为例,由)为例,由于存在针对该协议的于存在针对该协议的“中间人攻击中间人攻击”,因此,因此DH协协议就不是一个绝对安全的协议。所谓中间人攻击,议就不是一个绝对安全的协议。所谓中间人攻击,就是攻击者作为第三者,插入到协议主体就是攻击者作为第三者,插入到协议主体Alice和和Bob的通信过程的中间,对对消息进行处理,从的通信过程的

19、中间,对对消息进行处理,从而破坏协议的正常执行。而破坏协议的正常执行。DH协议的中间人攻击如协议的中间人攻击如攻击攻击5-2-1所示。所示。在攻击在攻击5-2-1中,中,Malice作为作为中间人,截获中间人,截获Alice发送给发送给Bob的的gx,并用自己计算的,并用自己计算的 替代替代 后以后以Alice的名义转发的名义转发给给Bob。而。而Bob并不知晓中间并不知晓中间人人Malice的存在,因此以为的存在,因此以为是是Alice向自己发起密钥交换向自己发起密钥交换请求,因此发送自己的请求,因此发送自己的 给给Alice。Malice在此截获在此截获 ,用用 替代替代 后以后以Bob的

20、的名义转发给名义转发给Alice。按照协议。按照协议规则,规则,Alice和和Bob在协议终在协议终止后计算所得共享密钥分别止后计算所得共享密钥分别为为 和和 ,二人并不,二人并不知晓所共享的密钥是否相同,知晓所共享的密钥是否相同,且已为且已为Malice所拥有。所拥有。zxgaxgbxgbxgzxgbxgazx xgbzx xg 而作为中间人的而作为中间人的Malice,则同时获得了,则同时获得了Alice和和Bob所拥有的两个密钥所拥有的两个密钥(即和)。在随后的通信中,当(即和)。在随后的通信中,当Alice用加密消息时,用加密消息时,Malice可以用相同的可以用相同的解密,得到消息的

21、明文,并对该明文消息用加密后转发给解密,得到消息的明文,并对该明文消息用加密后转发给Bob。后者可以用。后者可以用自己拥有的解密,因此不能感知任何错误或异常。同样,对于自己拥有的解密,因此不能感知任何错误或异常。同样,对于Bob发送给发送给Alice的加密消息,的加密消息,Malice可以采用密钥实施欺骗功能。可以采用密钥实施欺骗功能。 因此,了解安全协议常见问题及其产生原因,有助于设计和验证协议因此,了解安全协议常见问题及其产生原因,有助于设计和验证协议的安全性。导致协议不安全的根本原因在于协议所运行环境的复杂性。该的安全性。导致协议不安全的根本原因在于协议所运行环境的复杂性。该复杂性的典型

22、代表是存在协议攻击者。协议攻击者(复杂性的典型代表是存在协议攻击者。协议攻击者(Protocol Attacker,以,以下简称攻击者)是指了解安全协议,并利用一定的方式对安全协议的过程下简称攻击者)是指了解安全协议,并利用一定的方式对安全协议的过程进行破坏,从而导致安全协议预定目标不能正常实现的通信实体。攻击者进行破坏,从而导致安全协议预定目标不能正常实现的通信实体。攻击者可以是协议的主体,也可以是协议主体之外的其它主体(如可以是协议的主体,也可以是协议主体之外的其它主体(如DH协议中的中协议中的中间人)。因此,攻击者可能存在与协议运行过程中,也可能存在于协议运间人)。因此,攻击者可能存在与

23、协议运行过程中,也可能存在于协议运行的环境中。图行的环境中。图5-2-1是攻击者与协议及其协议运行环境的关系示意图。是攻击者与协议及其协议运行环境的关系示意图。图5-2-1是攻击者与协议及其协议运行环境的关系示意图。是攻击者与协议及其协议运行环境的关系示意图。攻击者有被动和主动之分。被动攻击者通过窃听并截获协议消息。而主动攻击者有被动和主动之分。被动攻击者通过窃听并截获协议消息。而主动攻击者不仅可以截获消息,而且可以对其进行修改,甚至于它还可以伪装攻击者不仅可以截获消息,而且可以对其进行修改,甚至于它还可以伪装成协议主体与其它诚实协议主体通信。在考虑协议安全时,需要对攻击者成协议主体与其它诚实

24、协议主体通信。在考虑协议安全时,需要对攻击者的能力进行定义,即必须对攻击者进行建模,获得攻击者模型(的能力进行定义,即必须对攻击者进行建模,获得攻击者模型(attacker model或或adversary model)。一般而言,绝对安全的协议是极难设计和构)。一般而言,绝对安全的协议是极难设计和构造的,因此所谓协议的安全性,一般为在假定攻击者模型下,证明协议是造的,因此所谓协议的安全性,一般为在假定攻击者模型下,证明协议是安全的。为此,攻击者模型在协议安全分析占有举足轻重的地位和作用。安全的。为此,攻击者模型在协议安全分析占有举足轻重的地位和作用。(1)截获并延迟消息的发送;)截获并延迟消

25、息的发送;(2)截获并重新发送消息到任意接收者;)截获并重新发送消息到任意接收者;(3)截获并修改消息,并可转发给任意接收者;)截获并修改消息,并可转发给任意接收者;(4)可以产生新的消息(包括新鲜的消息)。)可以产生新的消息(包括新鲜的消息)。(5)可以对消息进行分离;)可以对消息进行分离;(6)可以对多个消息进行组合;)可以对多个消息进行组合;(7)知道密钥后可解密消息和重新加密消息;)知道密钥后可解密消息和重新加密消息;(8)可以查看和掌握协议相关的公用信息;)可以查看和掌握协议相关的公用信息;在众多攻击者模型中,在众多攻击者模型中,Dolev-Yao模型是公认较好的模型之一。在模型是公

26、认较好的模型之一。在Dolev-Yao攻击者模型中,一般假设攻击者具有如下能力:攻击者模型中,一般假设攻击者具有如下能力: 由此可见,一个合理的攻击者模型,应该假定攻击者的由此可见,一个合理的攻击者模型,应该假定攻击者的能力较强。如果轻视或忽略攻击者这种能力,得出协议能力较强。如果轻视或忽略攻击者这种能力,得出协议是安全的结论是极为不合理的,有时甚至是荒谬的。此是安全的结论是极为不合理的,有时甚至是荒谬的。此外,外,Dolev-Yao模型假定攻击者不具备如下能力:模型假定攻击者不具备如下能力:(1)不知道密钥不能进行加密和解密操作(即密码算)不知道密钥不能进行加密和解密操作(即密码算法是安全的

27、);法是安全的);(2)不能获得加密消息的部分内容;)不能获得加密消息的部分内容;(3)不能猜测密钥或密钥的一部分;)不能猜测密钥或密钥的一部分;(4)不能进行统计分析。)不能进行统计分析。 总之,由于存在攻击者,因此设计一个安全的协议是总之,由于存在攻击者,因此设计一个安全的协议是非常困难的任务非常困难的任务. 除了由于存在攻击者而导致协议不安全之外,协议自身的缺陷也是导除了由于存在攻击者而导致协议不安全之外,协议自身的缺陷也是导致协议不安全的原因之一。存在协议缺陷的原因可能是协议设计过程不致协议不安全的原因之一。存在协议缺陷的原因可能是协议设计过程不规范,也可能是在协议执行时产生。常见的协

28、议缺陷包括:规范,也可能是在协议执行时产生。常见的协议缺陷包括:(1)基本协议缺陷基本协议缺陷:协议中没有或者很少考虑对攻击者的防范而引发的协:协议中没有或者很少考虑对攻击者的防范而引发的协议缺陷(如议缺陷(如TCP/IP协议的安全缺陷问题等)。协议的安全缺陷问题等)。(2)口令口令/密码设置缺陷密码设置缺陷:在设置和使用口令或密码的过程中,未考虑攻击:在设置和使用口令或密码的过程中,未考虑攻击者对其的猜测攻击等情况(如口令和密码过短,直接采用用户名来作为口令者对其的猜测攻击等情况(如口令和密码过短,直接采用用户名来作为口令和密码等)。和密码等)。(3)陈旧消息缺陷陈旧消息缺陷:在协议设计过程

29、中,未考虑消息的时效性(即新鲜性:在协议设计过程中,未考虑消息的时效性(即新鲜性),从而使得攻击者可以利用协议过程中产生的过时消息来对协议进行重放),从而使得攻击者可以利用协议过程中产生的过时消息来对协议进行重放攻击。攻击。(4)并行会话缺陷并行会话缺陷:协议设计对仅考虑单个协议执行的情况,对多个协议:协议设计对仅考虑单个协议执行的情况,对多个协议(或同一个协议的多个运行实例)并行会话缺乏考虑,使得攻击者可以相互(或同一个协议的多个运行实例)并行会话缺乏考虑,使得攻击者可以相互交换适当的协议消息来获得更为重要的消息。交换适当的协议消息来获得更为重要的消息。(5)内部协议缺陷内部协议缺陷:协议参

30、与者中至少有一方不能够完成所有必须的动作:协议参与者中至少有一方不能够完成所有必须的动作而导致缺陷。而导致缺陷。(6)密码系统缺陷密码系统缺陷:协议中使用的密码算法的安全强度问题导致协议不能:协议中使用的密码算法的安全强度问题导致协议不能完全满足所要求的机密性、完整性、认证等需要而产生的缺陷。完全满足所要求的机密性、完整性、认证等需要而产生的缺陷。以下通过针对协议以下通过针对协议5-2-2(NSSK协议)来阐释消息重放攻击。协议)来阐释消息重放攻击。攻击者攻击者Malice通过对通过对Alice和和Bob过去某次过去某次NSSK协议的通过过程进行窃听,获协议的通过过程进行窃听,获得了其中的第三

31、条消息得了其中的第三条消息 kab , A kbt.通过对该加密消息的攻击(如典型的蛮通过对该加密消息的攻击(如典型的蛮力破解),破译了该消息,从而得到了力破解),破译了该消息,从而得到了Alice和和Bob使用的会话密钥使用的会话密钥 kab .当然,该破译过程可能需要较长的时间(如一年甚至更长)。一旦获得旧的当然,该破译过程可能需要较长的时间(如一年甚至更长)。一旦获得旧的会话密钥会话密钥kab之后,之后,Malice可以在今后某个时刻重新发送过去截获的旧消息可以在今后某个时刻重新发送过去截获的旧消息 kab , A kbt而而Bob对此并无只觉,因此它按照协议执行。随后的过程重对此并无只

32、觉,因此它按照协议执行。随后的过程重Malice可以成功欺骗可以成功欺骗Bob,使得,使得Bob认为和认为和Alice发起了一次认证和密钥交发起了一次认证和密钥交换协议,并使得换协议,并使得Alice(实质上是(实质上是Malice伪装成伪装成Alice)的身份得以认证通)的身份得以认证通过。但是,过。但是,Alice在整个协议过程中根本未出现,所有的行为均为攻击者在整个协议过程中根本未出现,所有的行为均为攻击者Malice所为。所为。 通过对攻击通过对攻击5-2-2的分析可知,重放攻击之所以成功,其根本原因在于消息的分析可知,重放攻击之所以成功,其根本原因在于消息的新鲜性无法得到保证。如当的

33、新鲜性无法得到保证。如当Bob收到收到NSSK协议中第三条消息协议中第三条消息kab , A kbt时,他并不能区分该消息是现在产生的,还是过去的旧消息。时,他并不能区分该消息是现在产生的,还是过去的旧消息。从被重放消息的来源来看,重放攻击可从被重放消息的来源来看,重放攻击可分为协议轮内攻击和协议轮外攻击。协分为协议轮内攻击和协议轮外攻击。协议轮是指一个协议的整个过程消息交换议轮是指一个协议的整个过程消息交换过程(如过程(如NSSK协议中的协议中的5条消息交换即条消息交换即为一个协议轮)。因此,协议轮内的重为一个协议轮)。因此,协议轮内的重放攻击就是指重放在本协议轮被截获的放攻击就是指重放在本

34、协议轮被截获的消息,而协议论外攻击则是重放从其它消息,而协议论外攻击则是重放从其它协议轮中捕获的消息。根据消息的去向,协议轮中捕获的消息。根据消息的去向,重放攻击可分为偏转攻击和直接攻击。重放攻击可分为偏转攻击和直接攻击。偏转攻击是通过改变消息的去向而偏转攻击是通过改变消息的去向而实施的攻击。直接攻击是将消息发送给实施的攻击。直接攻击是将消息发送给任意接收方而实施的攻击。其中偏转攻任意接收方而实施的攻击。其中偏转攻击分为反射攻击和第三方攻击。前者指击分为反射攻击和第三方攻击。前者指将消息返回给发送者,而后者指将消息将消息返回给发送者,而后者指将消息发给协议合法通信双方之外的任一方发给协议合法通

35、信双方之外的任一方。攻击。攻击5-2-2中的重放攻击属于协议轮外中的重放攻击属于协议轮外攻击和直接攻击。攻击和直接攻击。消息重放对策主要有三种:挑战应答消息重放对策主要有三种:挑战应答机制、时戳机制(机制、时戳机制(Timestamp)和序列)和序列号机制(号机制(Sequence No)。挑战应答)。挑战应答机制通过发送挑战值(机制通过发送挑战值(Nonce:中文含:中文含义是现在,目前)来确保消息的新鲜性。义是现在,目前)来确保消息的新鲜性。时戳机制对消息加盖本地时戳,只有当时戳机制对消息加盖本地时戳,只有当消息上的时戳与当前本地时间的差值在消息上的时戳与当前本地时间的差值在意定范围之内,

36、才接受该消息。意定范围之内,才接受该消息。时戳机制要求有一个全局同步时钟。如时戳机制要求有一个全局同步时钟。如果双方时钟偏差过大或者允许的范围过果双方时钟偏差过大或者允许的范围过大,则可以被攻击者利用。序列号机制大,则可以被攻击者利用。序列号机制是指通信双方通过消息中的序列号来判是指通信双方通过消息中的序列号来判断消息的新鲜性。序列号机制要求通断消息的新鲜性。序列号机制要求通信双方必须事先协商一个初始序列号,信双方必须事先协商一个初始序列号,并协商递增方法。并协商递增方法。(1)挑战应答机制挑战应答机制在挑战应答机制中,发送者(或挑战者)向接收者发送一条挑战消息在挑战应答机制中,发送者(或挑战

37、者)向接收者发送一条挑战消息(Challenge)(如可能是一个称之为)(如可能是一个称之为Nonce的一次性随机数);接收者的一次性随机数);接收者(或应答者)对该挑战消息进行密码操作,并发送该挑战对应的应答消息(或应答者)对该挑战消息进行密码操作,并发送该挑战对应的应答消息(Response)给发送者进行验证;发送者收到应答消息之后卡,能够通过)给发送者进行验证;发送者收到应答消息之后卡,能够通过他自己输入消息的新鲜性来验证接收者通信的新鲜性和真实性。其中,接他自己输入消息的新鲜性来验证接收者通信的新鲜性和真实性。其中,接收者的应答消息中所包含的对挑战的应答必须进行完整性保护,即对于应收者

38、的应答消息中所包含的对挑战的应答必须进行完整性保护,即对于应答消息一般需要进行某种密码变换。依据接收者对该消息进行密码操作不答消息一般需要进行某种密码变换。依据接收者对该消息进行密码操作不同,挑战应答机制可分为对称密钥加密机制和非对称密钥签名机制。典同,挑战应答机制可分为对称密钥加密机制和非对称密钥签名机制。典型的挑战应答机制如图型的挑战应答机制如图5-2-2所示。需要说明的是,对新鲜随机数的保护所示。需要说明的是,对新鲜随机数的保护(或变化)也可以由挑战者来进行,而应答者仅需简单回复即可。一般而(或变化)也可以由挑战者来进行,而应答者仅需简单回复即可。一般而言,挑战者和应答者同时对新鲜随机数

39、进行变换是不必要的,但是在某些言,挑战者和应答者同时对新鲜随机数进行变换是不必要的,但是在某些安全协议中也可同时进行变换。安全协议中也可同时进行变换。如图如图5-2-2所示,所示,Alice通过在消息中嵌入表示通过在消息中嵌入表示消息新鲜性的标志(新鲜一次性随机数消息新鲜性的标志(新鲜一次性随机数Nonce)来)来发起挑战,发起挑战,Bob收到带有挑战信息(收到带有挑战信息(Nonce)的)的消息之后,对挑战信息先进性变换后返回给消息之后,对挑战信息先进性变换后返回给Alice。而而Alice能够通过对比能够通过对比Bob的应答和自己所知的应答和自己所知道的答案来判断消息是否是新鲜的。如果道的

40、答案来判断消息是否是新鲜的。如果Bob的应答不能满足的应答不能满足Alice的挑战,则的挑战,则Bob所回应的所回应的消息被认为是陈旧消息,即可能是重放攻击。消息被认为是陈旧消息,即可能是重放攻击。 协议协议5-2-1为采用挑战应答机制来设计抗重放攻击的安全协议协的一例。为采用挑战应答机制来设计抗重放攻击的安全协议协的一例。在协议在协议5-2-1中,中,Bob对对Alice的挑战是利用对称密钥进行加密。的挑战是利用对称密钥进行加密。Alice收收到到Bob发送的消息之后,用相同的密钥解密得到自己所期望的应答,并发送的消息之后,用相同的密钥解密得到自己所期望的应答,并与自己在第一步中所发送的挑战

41、进行比较。如果相同,则消息是新鲜的;与自己在第一步中所发送的挑战进行比较。如果相同,则消息是新鲜的;否则消息即为陈旧消息。需要说明的时,协议否则消息即为陈旧消息。需要说明的时,协议5-2-1仅仅证明了消息的仅仅证明了消息的新鲜性,而其它消息的新鲜性则未提供保证。新鲜性,而其它消息的新鲜性则未提供保证。(2)时戳机制)时戳机制时戳机制是指发送者在消息中嵌入发送消息的本地时刻,而接收者在消时戳机制是指发送者在消息中嵌入发送消息的本地时刻,而接收者在消息达到后,通过对比消息中所包含的时间信息和本地时间信息的差值,息达到后,通过对比消息中所包含的时间信息和本地时间信息的差值,来决定该消息是否为新鲜消息

42、。如果接收者对消息延迟达到所能容忍的来决定该消息是否为新鲜消息。如果接收者对消息延迟达到所能容忍的时间差值为,发送消息的时刻为,收到消息的时刻为,如果则接收者认时间差值为,发送消息的时刻为,收到消息的时刻为,如果则接收者认为该消息是新鲜的,否则该消息是陈旧消息(即可能时重放攻击)。为该消息是新鲜的,否则该消息是陈旧消息(即可能时重放攻击)。同样,消息中的时戳信息必须进行完整性保护。典型的利用时戳机制对同样,消息中的时戳信息必须进行完整性保护。典型的利用时戳机制对抗重放攻击的过程如图抗重放攻击的过程如图5-2-3所示。与挑战应答机制不同,对时戳的保所示。与挑战应答机制不同,对时戳的保护(或变化)

43、只能由消息的发送者提供护(或变化)只能由消息的发送者提供 在图在图5-2-3中,中,Alice通过在消息中嵌入时戳来表示消息的新鲜性。通过在消息中嵌入时戳来表示消息的新鲜性。Bob收到带有时戳信息的消息之后,计算出消息的时间差,并依据本地安收到带有时戳信息的消息之后,计算出消息的时间差,并依据本地安全策略判断该消息是否是新鲜的。在攻击全策略判断该消息是否是新鲜的。在攻击5-2-2中,我们描述了针对中,我们描述了针对NeedhamSchroeder对称密码认证与密钥交换协议的重放攻击,而协对称密码认证与密钥交换协议的重放攻击,而协议议5-2-2则是利用时戳机制对则是利用时戳机制对NSSK协议的一

44、种改进。协议的一种改进。由于由于Trent在第二在第二条消息中嵌入了条消息中嵌入了自己的本地时戳,自己的本地时戳,因此因此Bob在收到在收到Alice所发送的第所发送的第三条消息之后,三条消息之后,可以通过对比时可以通过对比时戳来挫败攻击者戳来挫败攻击者所发起的重放攻所发起的重放攻击。击。(3)序列号机制)序列号机制在序列号机制中,协议主体之间首先协商一个一致的初始序列号。协在序列号机制中,协议主体之间首先协商一个一致的初始序列号。协议过程中每条协议消息均带上序列号。每发送一条消息,序列号对应加议过程中每条协议消息均带上序列号。每发送一条消息,序列号对应加1。因此,协议实体可以通过对比消息中的

45、序列号和自己当前所期望的序。因此,协议实体可以通过对比消息中的序列号和自己当前所期望的序列号是否相同来判断消息的新鲜性。典型的采用序列号机制来对抗消息列号是否相同来判断消息的新鲜性。典型的采用序列号机制来对抗消息重返的过程如图重返的过程如图5-2-4所示。当然,每条消息的序列号必须进行保护。由所示。当然,每条消息的序列号必须进行保护。由于序列号需要协商并保持同步,因此在实际应用中较少采用。于序列号需要协商并保持同步,因此在实际应用中较少采用。三种对抗重放攻击的方法各有优缺点,设计安全协议时须结合各自的三种对抗重放攻击的方法各有优缺点,设计安全协议时须结合各自的特点和应用的要求来选择。三种防御方

46、法对比如表特点和应用的要求来选择。三种防御方法对比如表5-2-1所示。所示。方法方法特点特点缺点缺点应用应用挑战应答机挑战应答机制制通过新鲜一次性随机通过新鲜一次性随机数保证消息的新鲜数保证消息的新鲜性性需要生成一次性需要生成一次性随机数的算法随机数的算法用于挑战的发起者验用于挑战的发起者验证所收到消息的新证所收到消息的新鲜行鲜行时戳机制时戳机制利用时戳保证消息的利用时戳保证消息的新鲜性新鲜性需要全局时钟同需要全局时钟同步;时间窗口步;时间窗口大小不易控制大小不易控制用于消息的接收者判用于消息的接收者判断消息的新鲜性断消息的新鲜性序列号机制序列号机制利用消息序列号来保利用消息序列号来保证消息的

47、新鲜性证消息的新鲜性需要协商初始序需要协商初始序列号,序列号列号,序列号不易同步不易同步可用于发送者和接收可用于发送者和接收者判断消息的新鲜者判断消息的新鲜性性表表5-2-1 三种对抗重放攻击的方法对比分析 攻击者和协议的缺陷是导致协议不安全的两大原因。为了设计出更为攻击者和协议的缺陷是导致协议不安全的两大原因。为了设计出更为安全的协议来,需掌握协议设计的工程方法。在协议设计中遵循一些基本安全的协议来,需掌握协议设计的工程方法。在协议设计中遵循一些基本原则,不仅有助于帮助设计者避免那些已在许多安全协议出现过的错误,原则,不仅有助于帮助设计者避免那些已在许多安全协议出现过的错误,而且有助于设计者

48、掌握一套良好的协议设计技巧和方法。以下是设计一个而且有助于设计者掌握一套良好的协议设计技巧和方法。以下是设计一个安全协议时应遵循的一般原则:安全协议时应遵循的一般原则:(1)消息独立)消息独立性原则性原则 协议中的每条消息应该尽可能是自包含的,即消息的含义应该是协议中的每条消息应该尽可能是自包含的,即消息的含义应该是一目了然,且消息含义的翻译直接通过该消息就可以完成,而无一目了然,且消息含义的翻译直接通过该消息就可以完成,而无需依赖于其它协议或协议中的其它消息。需依赖于其它协议或协议中的其它消息。(2)消息前提)消息前提准确原则准确原则 消息所依赖的条件必须明确地定义出来,从而使得协议的评价者

49、消息所依赖的条件必须明确地定义出来,从而使得协议的评价者知道这些条件是否可以接受。其原因在于绝对安全的协议是很难知道这些条件是否可以接受。其原因在于绝对安全的协议是很难设计和构造的,一般的安全协议均是有条件的。因此,协议安全设计和构造的,一般的安全协议均是有条件的。因此,协议安全的前提必须明确的提出来。的前提必须明确的提出来。(3)协议主体身)协议主体身份标识原则份标识原则 如果协议主体的身份对于理解消息的含义是必须的,那么如果协议主体的身份对于理解消息的含义是必须的,那么协议主体身份就应该在消息中明确地标识出来,以避免歧协议主体身份就应该在消息中明确地标识出来,以避免歧义。义。(4)加密目的

50、)加密目的明确原则明确原则(5)签名原则)签名原则 加密需要计算开销和空间开销,因此必须在必要时才使用加密需要计算开销和空间开销,因此必须在必要时才使用加密。此外,加密并不等于安全,如果必须使用加密,则必须加密。此外,加密并不等于安全,如果必须使用加密,则必须明确加密在协议安全中的作用和目的。一般而言,加密的目的明确加密在协议安全中的作用和目的。一般而言,加密的目的包括:机密性、认证、认证与机密性、消息绑定、生成随机数。包括:机密性、认证、认证与机密性、消息绑定、生成随机数。消息绑定是指通过密钥加密,可以将加密密钥所对应的协议主消息绑定是指通过密钥加密,可以将加密密钥所对应的协议主体的身份与被

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第5章协议安全技术课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|