收藏 分享(赏)

网络安全原理与应用 第6章 网络数据安全技术.ppt

上传人:gsy285395 文档编号:4666526 上传时间:2019-01-06 格式:PPT 页数:98 大小:219KB
下载 相关 举报
网络安全原理与应用 第6章 网络数据安全技术.ppt_第1页
第1页 / 共98页
网络安全原理与应用 第6章 网络数据安全技术.ppt_第2页
第2页 / 共98页
网络安全原理与应用 第6章 网络数据安全技术.ppt_第3页
第3页 / 共98页
网络安全原理与应用 第6章 网络数据安全技术.ppt_第4页
第4页 / 共98页
网络安全原理与应用 第6章 网络数据安全技术.ppt_第5页
第5页 / 共98页
点击查看更多>>
资源描述

1、第6章 网络数据安全技术 安全IP及其应用,沈苏彬 南京邮电大学 信息网络技术研究所,2,关键知识点,网络数据安全主要讨论在网络数据传递环境下的安全技术。 目前最为完整的一类网络数据安全技术是安全IP技术(IPsec技术)。 目前使用最为广泛的一类网络数据安全技术是安全套接层技术(SSL技术)。,3,主要内容,安全IP概述 身份验证报头(AH)协议 封装安全报体(ESP)协议 因特网安全关联与密钥管理协议(ISAKMP) 因特网密钥交换(IKE)协议,4,安全IP概述,安全IP(IPsec)在互联网协议(IP)层提供安全服务,也就是在网络层提供安全服务。 安全IP提供的安全服务包括:访问控制、

2、数据传递的完整性验证、数据源身份验证和防范重播分组攻击、数据保密传递、以及有限的数据传递信息保密。 这里“有限的数据传递信息保密”是指不泄漏IP分组真实的源地址、目的地址、端口号等协议控制信息。,5,安全IP的总体组成,IPsec总体上包括4个组成部分:安全协议,安全关联,密钥管理,以及身份验证算法与加密算法。 为了利用IPsec在IP层提供安全服务,必须选择安全协议、选择安全协议中采用的身份验证算法或者加密算法,协商身份验证算法或加密算法采用的密钥,最终建立需要进行IPsec通信的IP结点之间的安全关联。,6,安全IP中定义的安全协议,IPsec目前只提供两种安全协议:身份验证报头(AH)协

3、议和封装安全报体(ESP)协议。 AH协议主要提供的IP层安全服务包括:访问控制、数据传递的完整性验证、数据源身份验证和防范重播分组攻击。 ESP协议不仅可以提供AH协议提供的身份验证类安全服务,还可以提供数据保密传递和有限的数据传递信息保密等功能。,7,安全关联,安全关联(SA)概念是安全IP的基础,AH和ESP都需要使用SA,而互联网密钥交换(IKE)协议的主要功能是建立和维护安全关联。 安全关联是一个单工(单向)连接,它为在该连接上传递的报文提供安全服务。 SA可以利用AH协议或者ESP协议提供安全服务,但是,一个SA不能同时使用AH和ESP协议。,8,安全关联的标识,一个SA可以由三元

4、组(安全参数索引, IP目的地址, 安全协议标识)唯一标识, 安全参数索引(SPI)指向存放该SA已经协商完成的安全参数的数据项, IP目的地址指向该SA数据接收方的主机或安全网关, 安全协议标识表示SA采用的安全协议是AH,还是ESP。,9,安全关联的模式,SA可以分成两种模式:一种是传送模式,另一种是隧道模式。 传送模式的SA是在两个主机之间建立的SA,它仅仅保护IP层之上的报文传递。例如,传送模式的SA可以采用ESP协议对传送层报文进行加密传递。 隧道模式的SA是将安全关联应用于IP隧道中。,10,IP隧道,IP隧道就是在正常的IP报文外面再封装一个IP报头,使得正常的IP报文先传递到封

5、装的IP报头指定的目的地址,然后,拆除封装的IP报头,再按照原来的IP报文指定的目的地址继续传递。,11,SA组合模式,每条SA只能支持一个安全协议。但是,有些应用需要同时支持AH和ESP安全协议。这时,就需要在一对IP网络结点之间建立多条SA(即SA组合)。 IPsec规定,任何符合IPsec规范的安全IP实现系统中至少必须支持以下4种SA组合模式:,12,SA组合模式1,在两台IP网络主机之间可以建立多条SA(如图6.2所示),SA可以是传送模式或者隧道模式。这里的主机1和主机2都支持IPsec相关协议。,13,SA组合模式1(续),在主机1和主机2之间传递的分组报头可以采用以下任意一种形

6、式: 传送模式1:IP1AHUpper 传送模式2:IP1ESPUpper 传送模式3:IP1AHESPUpper 隧道模式1:IP2AHIP1Upper 隧道模式2:IP2ESPIP1Upper,14,SA组合模式2,这是简单的虚拟专用网(VPN)支持模式,两个企业内部网通过两个安全网关建立的多条SA实现跨越公共互联网相互连接。,15,SA组合模式3,这是SA组合模式1与SA组合模式2的结合,在SA组合模式2的基础上增加了IP报文的发送主机和接收主机之间的多条SA。,16,SA组合模式4,远地主机首先通过公共互联网与安全网关建立SA连接,然后,再与企业内部网中某个主机建立SA连接。,17,I

7、Psec协议簇,IPsec规范由一组IETF定义的IPsec协议描述,这组协议称为IPsec协议簇。,18,身份验证报头(AH)协议,身份验证报头(AH)协议IPsec中定义的两个安全协议之一。 AH主要对IP报文提供无连接传递的完整性验证以及对数据源的身份验证,它也可以提供防范IP报文重播攻击的功能。 AH协议身份验证的范围包括尽可能多的IP报头的内容,以及IP报文携带的数据。,19,AH协议报文格式,AH协议报文包括:下个报头、报体长度、预留、安全参数索引(SPI)、顺序号和身份验证数据,这6个AH报文必须的字段。,20,AH协议的处理,AH协议报文实际上就是一个报头。AH协议编号为51,

8、AH报文将插在IP报头与IP报体之间。 与SA的使用模式一样,AH也有2种使用模式:传送模式和隧道模式。在两种模式中,AH报文的位置有所不同。,21,AH协议的处理(续1),传送模式中AH报文的封装格式,22,AH协议的处理(续2),隧道模式中,AH报文的封装格式 :,23,身份验证算法,IPsec标准化了2种身份验证算法,一种是在RFC 2403中定义的采用MD5作为报文摘要算法,采用HMAC作为报文验证码算法的、适用于AH和ESP协议的身份验证算法,缩写为HMAC-MD5-96。 另一种是在RFC 2404中定义的采用SHA-1作为报文摘要算法,采用HMAC作为报文验证码算法的、适用于AH

9、和ESP协议的身份验证算法,缩写为HMAC-SHA-1-96。,24,身份验证算法(续1),HMAC-MD5-96算法产生128比特长度的身份验证码。在AH和ESP身份验证的应用中,必须支持将128比特的身份验证码截取前96比特作为身份验证数据的操作。 HMAC-SHA-1-96算法产生160比特长度的身份验证码。在AH和ESP身份验证的应用中,必须支持将160比特的身份验证码截取前96比特作为身份验证数据的操作。,25,身份验证算法(续2),在AH和ESP身份验证的应用中,HMAC-MD5-96算法必须采用128比特长度的密钥, HMAC-SHA-1-96算法必须采用160比特长度的密钥。

10、该密钥必须分发到参与AH或ESP身份验证的IPsec结点。 为了防范攻击,建议周期性地更新密钥。,26,封装安全报体(ESP)协议,封装安全报体(ESP)是安全IP技术中定义的两个安全协议之一。 ESP主要用于对IP报文提供保密传递、无连接传递的完整性验证以及对数据源的身份验证。ESP也可以提供防范IP报文重播攻击的功能,以及有限度的通信流保密性。 ESP主要提供对IP报文加密传输的功能,它是专门为对称密钥加密算法设计的安全协议。,27,ESP协议报文格式,ESP报文包括安全参数索引(SPI)、顺序编号、报体数据、填充数据、填充数据长度、下个报头、以及身份验证数据。,28,ESP协议的处理,E

11、SP协议编号是50,封装ESP协议的报文需要在“下个报头”字段中设置“50”。 ESP协议不同于AH协议,它是将需要保护的IP报文(隧道模式)或者IP报文传递的报体(传送模式)封装在自己的“报体数据”字段中。 对于IP报文应用ESP协议时,需要考虑ESP报头和报尾在原来IP报文中的位置。,29,ESP协议的处理(续1),与SA的使用模式一样,ESP也有2种使用模式:传送模式和隧道模式。 传送模式中,ESP报文对IPv4的封装格式如下:,30,ESP协议的处理(续2),隧道模式中,ESP报文的封装格式如下:,31,ESP协议的加密算法,ESP协议使用的身份验证算法与AH协议使用的算法相同。 如果

12、ESP协议同时选择了加密功能和身份验证功能,则必须首先对报文执行加密算法,然后再对加密之后的ESP报文执行身份验证算法。 ESP协议是面向对称密钥加密算法设计的安全协议,所以,ESP协议相关的标准加密算法都是对称密钥加密算法。,32,ESP协议的加密算法(续),RFC 2405定义了在ESP协议中采用CBC模式使用DES加密算法的规范,按照该规范使用的加密算法可以简称为DES-CBC算法。 DES-CBC算法要求每个ESP报文携带CBC模式所需的初始向量IV必须放置在ESP报文的“顺序编号”字段之后,被加密的 “报体数据”字段之前。IV长度为64个比特。 DES-CBC是一种块加密算法,要求块

13、的大小为64个比特。DES-CBC作为一种对称密钥加密算法,其共享密钥的长度为64个比特。,33,因特网安全关联与密钥管理协议,因特网安全关联与密钥管理协议(英文缩写ISAKMP)集成了身份验证、密钥管理和安全关联的网络安全概念,为因特网上政府、商业和个人通信创建一个安全的环境。 ISAKMP虽然上在IPsec协议簇中定义的一个协议,但是,它试图适用于因特网的所有协议层。,34,ISAKMP功能,ISAKMP定义了 一个标准的ISAKMP报头格式、 一组用于安全关联的创建、修改和删除的标准报体格式、以及 一个标准的安全关联创建的两阶段过程。 ISAKMP对于设计和实现因特网环境下的密钥管理协议

14、具有很好的指导作用。,35,ISAKMP报头格式,ISAKMP报头包含了维护协议状态、处理报体、以及防范拒绝服务和重播攻击所需要的信息。,36,ISAKMP报头格式(续),发起方“甜点”字段和响应方“甜点”字段,用于安全标识ISAKMP的安全关联。 ISAKMP报文由一个固定格式的报头和一组报体构成。 “下个报体”用于标识后续报体类型。 大小版本用于标识该报头适用的协议版本范围。 交换类型字段指示该ISAKMP报文应用于的交换类型。 标志字段指示为ISAKMP交换设置的某些特殊选项。例如加密、提交、和身份验证标志位。,37,ISAKMP标准报体格式,报体构成了ISAKMP报文的具体处理功能。

15、ISAKMP报体类型包括: 无报体 安全关联报体(SA) 建议报体(P) 转换报体(T) 密钥交换报体(KE)、,38,ISAKMP标准报体格式(续),标识报体(ID) 证书报体(CERT)、证书请求报体(CR) 哈希报体(HASH)、签名报体(SIG)、一次性数报体(NONCE) 通告报体(N) 删除报体(D) 供货商标识(VID),等。,39,SA创建的两阶段过程,ISAKMP需要通过两个阶段才能建立针对某个具体安全协议的安全关联。 第一个阶段是建立ISAKMP自身的安全关联,称为ISAKMP安全关联; 第二个阶段再建立针对某个具体安全协议的安全关联,称为协议安全关联。 两阶段协商过程保证

16、了ISAKMP独立于任何具体的安全协议,并且可以适用于任何安全协议(不仅包括AH和ESP协议)的协商过程。,40,SA创建的两阶段过程(续),SA创建的两阶段操作以及字段取值。,41,ISAKMP交换类型,无论是第一阶段协商,还是第二阶段协商,都采用ISAKMP定义的交换机制,或者采用密钥交换协议定义的交换机制。 目前ISAKMP定义了5种缺省的交换类型:基本型、标识保护型、身份验证型、自信型、以及消息型交换,用于建立和修改安全关联。 不同ISAKMP交换类型之间的主要区别是交换报文的次序,以及在单个报文中报体的次序。,42,基本型交换,基本型交换允许同时传递密钥交换信息和身份验证信息,这样,

17、可以减少报文的交换次数,但是,却无法保护身份标识。基本型交换过程如下: M1: A B: HDR, SA, NONCE M2: B A: HDR, SA, NONCE M3: A B: HDR, KE, IDA1, AUTHA M4: B A: HDR, KE, IDB1, AUTHB,43,标识保护型交换,该类型交换将密钥信息的交换与标识信息和身份验证数据的交换相分离,利用已经协商好的密钥加密标识信息,防范标识信息的泄露。 M1: A B: HDR, SA M2: B A: HDR, SA M3: A B: HDR, KE, NONCE M4: B A: HDR, KE, NONCE M5:

18、 A B: HDR*, IDA1, AUTHA M6: B A: HDR*, IDB1, AUTHB,44,身份验证型交换,该类型交换只交换身份验证数据,对报文进行身份验证。这样,可以减少计算密钥的开销。采用该交换类型,传输的报文都不进行加密。 M1: A B: HDR, SA, NONCE M2: B A: HDR, SA, NONCE, IDB1, AUTHB M3: A B: HDR, IDA1, AUTHA,45,自信型交换,该交换对网络安全环境比较自信,在同一个报文中一次传递安全关联、密钥交换和身份验证相关的报体。这样,可以减少报文的交换次数,提高交换的效率。但是,这类交换无法保护标

19、识。 M1: A B: HDR, SA, KE, NONCE, IDA1 M2: B A: HDR, SA, KE, NONCE, IDB1, AUTHB M3: A B: HDR*, AUTHA,46,消息型交换,该类型交换是一种用于安全关联管理的单向消息传递。它可以用于传递通告报体(N)和安全关联删除报体(D)。 M1: A B: HDR*, N/D,47,ISAKMP说明,ISAKMP协议中定义的交换类型实际上并没有构成一个完整的协议,为了真正建立和修改安全关联,还需要定义较为完整的身份验证和密钥交换协议。 因特网密钥交换(IKE)协议就是一种较为完整的安全关联建立和密钥协商协议。 IK

20、E协议还是采用了ISAKMP定义的ISAKMP报头和报体格式,以及ISAKMP两阶段协商框架结构。,48,因特网密钥交换协议,因特网密钥交换(英文缩写IKE)协议是一种混合协议,它在保护模式下协商和提供安全关联所需要的经过身份验证的密钥资料。 IKE定义的交互模式可以应用于ISAKMP定义的第一阶段和第二阶段的协商,但是这些交互模式只能应用于ISAKMP定义的两种交互阶段之一。,49,IKE交互模式,IKE定义了应用于第一阶段的两种基本的身份验证密钥交换模式:主模式和自信模式。 这两种模式都是从短期的Diffie-Hellman交换中生成经过身份验证的密钥资料。主模式是必须实现的,而自信模式是

21、应该实现的。 主模式是ISAKMP标识保护型交换的一种实例。自信模式是ISAKMP自信型交换的一种实例。,50,IKE交换模式(续),IKE定义了应用于第二阶段的密钥交换模式:快速模式。 快速模式也是必须实现的一种机制,用于生成最新的密钥资料、协商非ISAKMP的安全服务。 快速模式在ISAKMP中没有对应的交换类型,它们是IKE中定义的密钥交换的操作模式。,51,IKE的交换协议,IKE在交换模式的基础上具体定义了基于身份验证的密钥交换协议。 利用主模式和自信模式,IKE可以采用4种不同的身份验证方法:数字签名、公钥加密身份验证、改进的公钥加密身份验证、以及预共享密钥。 IKE定义的交换协议

22、完全采用ISAKMP定义的报体格式、参数编码、报文超时和重发、以及消息报文。,52,IKE交换2:公钥加密身份验证的第一阶段协商,交换双方利用私钥解密对方加密的一次性数和标识,构造自己的哈希值发送给对方,证明自己的身份;重构对方的哈希值验证对方的身份。主模式的交换过程如下: M1: A B: HDR, SA M2: B A: HDR, SA,53,IKE交换2(续1),M3: A B: HDR, KE, HASH(1), PKB, PKB M4: B A: HDR, KE, PKA, PKA M5: A B: HDR*, HASHA M6: B A: HDR*, HASHB 这里M5和M6中的

23、哈希值: HASHA = PRF(SKEYID, GXA | GXB | CKYA | CKYB | | ),54,IKE交换2(续2),HASHB = PRF(SKEYID, GXB | GXA | CKYB | CKYA | | ) 公钥加密中的SKEYID采用以下公式生成: SKEYID = PRF(H( | ), CKYA | CKYB), 这里H表示哈希函数 关键在于采用公钥加密传递密钥材料,通过返回的哈希值向对方验证已经获取了密钥材料。由此证明对方持有该公钥对应的私钥。,55,IKE交换2(续3),采用公钥加密身份验证的自信模式交互过程: M1: A B: HDR, SA, KE,

24、 HASH(1), PKB, PKB M2: B A: HDR, SA, KE, PKA, PKA, HASHB M3: A B: HDR, HASHA 自信模式交换的报体与主模式基本相同,只是自信模式在交换哈希值时没有进行加密。,56,IKE交换4:预共享密钥身份验证的第一阶段协商,A和B可以利用双方已经具有的共享密钥相互进行身份验证。采用预共享密钥身份验证的主模式交换过程如下: M1: A B: HDR, SA M2: B A: HDR, SA M3: A B: HDR, KE, NA M4: B A: HDR, KE, NB M5: A B: HDR*, IDA1, HASHA M6:

25、B A: HDR*, IDB1, HASHB,57,IKE交换4(续1),IKE交换4的关键验证数据是双方已经具有的共享密钥: 共享密钥SKEYID = PRF(KA,B, | ),这里KA,B表示A和B预先共享的密钥。 HASHA = PRF(SKEYID, GXA | GXB | CKYA | CKYB | | ) HASHB = PRF(SKEYID, GXB | GXA | CKYB | CKYA | | ),58,IKE交换4(续2),采用预共享密钥身份验证的自信模式交换过程如下: M1: A B: HDR, SA, KE, NA, IDA1 M2: B A: HDR, SA, KE

26、, NB, IDB1, HASHB M3: A B: HDR, HASHA 自信模式中没有对ID报体和HASH报体进行加密,这样,也就无法保护标识。 这种模式也只能在交互双方自信比较安全的网络环境下才能使用。,59,IKE交换5:第二阶段协商,快速模式,快速模式自身不是一个完整的交换过程,它是绑定在第一阶段协商之后的交换过程,作为安全关联的第二阶段协商过程,用于导出密钥资料并且协商针对非ISAKMP安全关联的共享安全策略。 在快速模式中交换信息必须被ISAKMP安全关联保护,即除了ISAKMP报头(即HDR)之外所有的报体都必须被加密。,60,IKE交换5(续1),快速模式本质上是一个安全关联

27、的协商过程,也需要传递一次性数报体,用于防范报文重播攻击。在快速模式交换中,也可以携带KE报体,用于为每个快速模式重建一个Diffie-Hellman交换。 如果在快速模式中指定了用户标识符,则快速模式协商的安全关联采用用户标识符IDA2和IDB2标识。,61,IKE交换5(续2),快速模式交换过程如下所示: M1: A B: HDR*, HASH(1), SA, NA , KE , IDA2, IDB2 M2: B A: HDR*, HASH(2), SA, NB , KE , IDA2, IDB2 M3: A B: HDR*, HASH(3) HASH(1)是以SKEYIDA (身份验证密

28、钥资料)为密钥,对HDR中报文标识符(M-ID)与所有报体的合并进行哈希计算的值。,62,重点回顾,安全IP基本概念 身份验证报头(AH)协议 封装安全报体(ESP)协议 因特网安全关联与密钥管理协议 因特网密钥交换协议,63,思考题,(1) 什么是安全IP技术?它由几个部分构成?安全IP协议簇由哪些部分构成? (2) 什么是安全关联?为什么说安全关联是安全IP的基础? (3) 安全关联具有哪几种操作模式?这几种操作模式分别适用于哪些安全应用环境?,64,思考题(续1),(4) 为什么需要组合多个安全关联?安全IP中定义了哪几种安全关联组合模式?这些组合模式分别适用于哪些安全应用环境? (5)

29、 AH安全协议主要提供哪些安全功能?既然ESP也可以提供AH提供的功能,为什么还需要单独设计一个AH安全协议? (6) AH和ESP安全协议如何防范报文重播攻击?,65,思考题(续2),(7) ISAKMP协议是否是只适用于IP层的协议?为什么?这样定义有何优点?有何不足? (8) ISAKMP协议定义了两阶段安全关联协商的过程,两个安全关联的协商阶段有何不同?这种阶段划分有何好处? (9) ISAKMP定义了哪几种交换类型?这些交换类型分别适用于哪些安全关联协商过程?,66,思考题(续3),(10) IKE协议与ISAKMP协议有何不同?IKE协议究竟提供了什么功能? (11) IKE定义了

30、哪两种基本的应用于安全关联协商第一阶段的密钥交换模式?这两种密钥交换模式有何不同?如何选择这两种密钥交换模式? (12) 什么是密钥交换的“快速模式”?它只能适用于哪个阶段的安全关联协商?,第6章 网络数据安全技术 传送层安全技术,沈苏彬 南京邮电大学 信息网络技术研究所,68,关键知识点,传送层安全技术是端到端的安全数据传送技术,它可以直接为两个网络用户之间提供安全数据传送服务。 SSL协议包括SSL记录协议和SSL握手协议,SSL记录协议可以作为SSL协议中关键的数据传递协议。 SSL握手协议可以作为SSL协议中关键的信令协议,69,主要内容,SSL协议概述 SSL记录协议 SSL握手协议

31、,70,传送层安全技术,传送层安全技术是指在端到端的传送层进行安全加固的技术。 传送层安全技术是直接面向网络应用的安全加固技术。它是网络安全技术中较为成功的一类网络安全加固技术。 现在广泛使用的传送层安全技术主要是指安全套接层(SSL)协议和在SSL协议基础上标准化的传送层安全(TLS)协议,SSL协议最初是为安全访问万维网(WWW)应用而设计的。,71,SSL协议概述,安全套接层协议是一种提供在因特网环境下秘密通信的安全协议。 该协议允许客户端和服务器端应用在防范窃听、干扰和假冒报文的方式下进行通信。 现在通常使用的SSL协议的版本是SSL 3.0。 SSL协议的一个主要优点是独立于应用协议

32、,一个应用协议可以透明地加载到SSL协议之上。,72,SSL协议概述(续1),SSL协议包括两个层次: 记录协议,直接基于某个可靠传送协议之上用于封装SSL上层协议; 握手协议、告警协议、加密规范更改协议、以及应用数据协议。,73,SSL协议概述(续2),SSL协议提供的连接安全具有以下3种特征: 连接是秘密的。SSL协议经过初始握手协商了通信双方的共享密钥之后,就可以利用SSL记录协议对所有应用数据进行加密传递。SSL协议采用对称密钥加密算法。 对等方的身份是可以验证的。SSL协议利用 公钥加密算法进行应用层通信双方的身份验证。 连接是可靠的。在SSL连接上传递的报文包括了报文验证码,可以用

33、于报文完整性检查。,74,SSL协议之间关系,SSL协议完成握手协议交互,建立SSL会话之后,就可以传递应用层协议的报文。SSL协议发送和接收应用协议报文的过程,实际上就是SSL记录协议处理应用协议报文的过程。 SSL记录协议对SSL上层协议,握手协议、告警协议和加密规范更改协议,也采用以上处理流程。,75,SSL记录协议概述,SSL记录协议利用SSL会话和连接中协商的加密算法、身份验证算法以及相应的密钥,对上层协议报文进行加密。SSL会话和连接必须通过SSL握手协议创建。 SSL握手协议可以作为SSL协议中关键的信令协议,SSL记录协议可以作为SSL协议中关键的数据传递协议。,76,SSL记

34、录协议的报文格式,采用类似于C语言描述SSL记录协议报文格式 如下:struct uint8 major, minor; ProtocolVersion;enum change_cipher_spec(20), alert(21), handshake(22),application_data(23), (255) ContentType;,77,SSL记录协议的报文格式(续1),SSL记录协议的明文报文格式:struct ContentType type;ProtocolVersion version;uint16 length;opaque fragmentSSLPlaintext.len

35、gth; SSLPlaintext;,78,SSL记录协议的报文格式(续2),SSL记录协议的密文报文格式:struct ContentType type;ProtocolVersion version;uint16 length;select (CipherSpec.cipher_type) case stream: GenericStreamCipher;case block: GenericBlockCipher; fragment; SSLCiphertext;,79,SSL记录协议的处理过程,SSL记录协议接收到应用层协议报文之后需要进行分段、压缩、生成报文验证码(MAC)、加密然后

36、调用TCP这类可靠传送协议传递; SSL记录协议接收到TCP协议传递的SSL报文之后,进行解密、验证报文身份和完整性、解压缩和合段,然后提交给相应的应用层协议处理。,80,SSL记录协议的处理过程(续2),SSL记录协议处理应用报文的过程:,81,SSL握手协议概述,SSL握手协议的交互过程可以简单概括为: SSL客户端和服务器协商一个协议版本, 选择加密算法, 彼此验证身份(可选项), 并且利用公钥加密技术生成共享保密字。,82,SSL的会话,SSL会话是两个应用实体相互进行身份验证之后建立的一种关联,这种关联类似于因特网安全关联与密钥管理协议(ISAKMP)中定义的ISAKMP安全关联。S

37、SL会话协商了以下SSL会话属性: 会话标识符,由服务器选择的一个任意字节序列,用于标识一个活跃的、可继续使用的会话。,83,SSL的会话(续1),SSL会话协商了以下SSL会话属性: 对等方证书,存放应用协议交互对等方公钥的X.509v3证书,该属性可能为空。 压缩方法,SSL记录协议压缩数据使用的压缩算法。 加密及身份验证规范。 主保密字,在客户端和服务器之间共享的48字节的保密字。 可继续标志,指示该会话是否可以用于发起一条新连接的标志。,84,SSL的连接,SSL连接是在SSL会话之上,协商应用实体交互双方采用的身份验证保密字、加密密钥、加密算法初始向量的一条安全连接。 SSL连接类似

38、于ISAKMP协议在第二阶段建立的安全协议关联。 一个SSL会话可以包括多条SSL连接,而服务器和客户机之间可以同时建立多个SSL会话,满足不同应用的安全通信需求。,85,SSL连接的属性,SSL连接具有以下属性: 服务器和客户机随机数,服务器和客户机为每个连接选择的一个字节序列,相当于服务器和客户机的一次性数。 服务器写MAC保密字,服务器生成MAC时采用的保密字 。 客户机写MAC保密字,客户机生成MAC时采用的保密字。,86,SSL连接的属性(续),SSL连接具有以下属性: 服务器写密钥,服务器对成批数据加密的密钥; 客户机写密钥,客户机对成批数据加密的密钥; 初始向量,在CBC模式下使

39、用块加密时,需要为每个密钥维护一个初始向量。 顺序编号,对于每个连接,服务器和客户机都维护两个不同的顺序编号,用于发送和接收报文。,87,SSL握手协议的交互过程,SSL握手协议的交互过程可以分成: 交互问候报文,协商会话和连接属性; 交互证书报文,验证对方身份; 交互加密规范更改报文,通知对方连接成功建立,开始传递应用数据。,88,SSL握手协议交互问候报文,SSL握手协议的问候报文交互过程如下: (1)SSL客户端发送客户端问候报文ClientHello; (2)SSL服务器收到后必须用服务器问候报文ServerHello响应,否则SSL协议产生“致命错误”,SSL连接失败。,89,问候报

40、文的格式,客户端发出的ClientHello报文的格式如下所示:struct ProtocolVersion client_version;Random random;SessionID session_id;CipherSuite cipher_suites;CompressionMethod compression_methods; ClientHello;,90,问候报文的格式(续),服务器响应的ServerHello报文格式如下所示:struct ProtocolVersion server_version;Random random;SessionID session_id;Ciph

41、erSuite cipher_suite;CompressionMethod compression_method; ServerHello;,91,SSL握手协议交互证书报文1,SSL握手协议的证书报文交互过程如下: (1)在问候报文之后,如果需要验证服务器的身份,则服务器利用证书报文Certificate向客户端发送它自己的证书。 (2)如果服务器没有证书,或者它的证书只用于签名,则发送一个服务器密钥交换报文ServerKeyExchange,用于身份验证。,92,SSL握手协议交互证书报文2,(3)服务器也可以向客户端发送证书请求报文CertificateRequest,请求客户端返回证

42、书。随后,服务器就可以发送服务器问候结束报文ServerHelloDone,指示服务器的问候报文握手阶段已经结束,服务器等待SSL客户端的响应。 (4)收到服务器证书请求后,SSL客户端必须发送证书报文Certificate,用于客户端的身份验证。,93,SSL握手协议交互证书报文3,(5)如果客户端没有证书,则发送无证书告警报文no_certificate alert,随后发送一个客户端密钥交换报文ClientKeyExchange,用于客户端的身份验证。 (6)客户端也可以发送一个验证自己证书的签名报文CertificateVerify。,94,SSL握手协议交互证书报文4,(7)SSL客

43、户端完成对服务器身份验证之后, 就可以发送加密规范更改报文ChangeCipherSpec,启用与服务器约定的加密规范。 (8)客户端以新的加密算法和密钥发送完成报文Finished。,95,握手协议的交互过程,M1: A B: ClientHello M2: B A: ServerHello, Certificate , ServerKeyExchange , CertificateRequest, ServerHelloDone M3: A B: Certificate, ClientKeyExchange, CertificateVerify, ChangeCipherSpec, Fin

44、ished M4: B A: ChangeCipherSpec, Finished M5: A B: ApplicationData M6: B A: ApplicationData,96,握手协议的简化交互过程,SSL客户端也可以利用已经建好的SSL会话创建新的SSL连接,简化握手协议: M1: A B: ClientHello M2: B A: ServerHello, ChangeCipherSpec, Finished M3: A B: ChangeCipherSpec, Finished M4: A B: ApplicationData M5: B A: ApplicationData,97,本节重点回顾,SSL协议的概述 SSL协议在端到端的传送层进行安全数据传递。 SSL记录协议 SSL记录协议可以作为SSL协议中关键的数据传递协议。 SSL握手协议 SSL握手协议可以作为SSL协议中关键的信令协议。 SSL会话和连接的建立过程,98,思考题,(1) SSL协议提供哪些安全功能?SSL协议主要是针对哪类网络应用而设计的安全协议? (2) SSL协议由几个协议构成?为什么说SSL协议可以透明地支持所有应用协议? (3) SSL记录协议的主要功能是什么?它对于上层报文通常需要经过几个步骤的操作? (4) SSL握手协议如何创建SSL的会话和连接?,

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

当前位置:首页 > 网络科技 > 网络信息安全

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报