第四章安全协议ppt课件.ppt

上传人:小飞机 文档编号:2107063 上传时间:2023-01-11 格式:PPT 页数:81 大小:2.10MB
返回 下载 相关 举报
第四章安全协议ppt课件.ppt_第1页
第1页 / 共81页
第四章安全协议ppt课件.ppt_第2页
第2页 / 共81页
第四章安全协议ppt课件.ppt_第3页
第3页 / 共81页
第四章安全协议ppt课件.ppt_第4页
第4页 / 共81页
第四章安全协议ppt课件.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《第四章安全协议ppt课件.ppt》由会员分享,可在线阅读,更多相关《第四章安全协议ppt课件.ppt(81页珍藏版)》请在三一办公上搜索。

1、第四章 安全协议,4.1 链路层安全协议,数据链路层安全性是指在数据链路上各个节点之间能够安全地交换数据。它表现为以下两个方面:1、数据机密性:防止在数据交换过程中数据被非法窃听;2、数据完整性:防止在数据交换过程中数据被非法篡改。数据交换过程中数据机密性和完整性主要通过密码技术实现的,即通信双方必须采用一致的加密算法来解决数据机密性和完整性的问题。数据链路层安全协议增强了数据链路层协议的安全性,即在数据链路层协议的基础上增加了安全算法协商和数据加密/解密处理的功能和过程。本章主要介绍基于PPP的数据链路层安全协议。,点到点协议PPP,介绍基于PPP的数据链路层安全协议之前,首先简单介绍一下点

2、到点协议PPP。在现在的远程通信中,一般采用点到点协议PPP(Point-to-Point Protocol),它提供了一种在异步或同步串行链路上封装、传输多种协议数据报的标准方法,并且能够充分地支持IP。PPP主要由三个部分组成:1、PPP数据封装方法:用于对多种协议的数据报进行PPP封装;2、连接控制协议LCP(Link Control Protocol);用于建立、终止、配置和测试PPP连接;3、网络控制协议NCP(Network Control Protocol):用于在PPP连接上建立和配置不同的网络层协议。,1、PPP封装由于PPP可以支持多种协议数据报的传输,它采用了一个统一的数

3、据报格式对这些不同协议的数据报进行PPP封装,这种数据报格式称为PPP数据报,如下图所示:协议域:一般为2个字节,它指出了在信息域中所封装数据报的协议类型。协议类型的编码由IANA统一分配和管理;信息域:可以为0或多个字节,其中的内容是特定协议类型的数据报,而协议类型由协议域指示;填充域:可以为0或多个字节。因为PPP可以根据需要插入一些填充字节。,协议域,信息域,填充域,2、连接控制协议LCPLCP主要用于建立、终止、配置和测试PPP连接。它提供了一种可扩展的连接参数协商和配置机制,可用于在建立PPP连接时配置和优化连接参数,并且提供了对连接的附加管理能力,以便获得最佳的PPP连接传输性能;

4、LCP定义了三种LCP数据报LCP配制报文:其中包括配置请求、配置确认、配置否认和配置拒绝等四种报文类型,用于建立和配置PPP连接;,LCP终止报文:其中包括终止请求和终止确认两种报文,用于终止PPP连接;LCP测试报文:其中包括代码拒绝、协议拒绝、回送请求、放弃请求、身份标识和连接剩余时间等报文类型,用于管理和测试PPP连接。LCP数据报文是一种协议域为Oxc021的特定数据报,并通过代码域定义了上述各种LCP数据报文,具体如下图所示:,Oxc021,信息域,填充域,数据域,长度域(2),标识域(2),代码域(2),信息域,填充域,数据域,长度域(10),标识域(),代码域(1),Oxc02

5、1,Type(3),Length(Ox04),C023(PAP),C223(CHAP),3、网络控制协议NCPNCP用于在PPP连接上建立和配置不同的网络层协议,使得在同一PPP连接上可同时传输多种网络层协议的数据报,但通信双方必须配置和使用相同的网络层协议;NCP包含了一组网络控制协议,分别对应不同的网络层协议,其中IP所对应的网络控制协议是IP控制协议IPCP(IPControlProtocol);IPCP用于在PPP连接上建立、配置和终止IP,只有通信双方使用ICPC配置了IP后,才能在PPP连接上发送和接收IP数据报;IPCP同样定义了一组IPCP数据报和配置选项,它们都是与IP有关,

6、而与建立、终止和配置PPP连接本身没有关系。,Ox8021,信息域,填充域,代码域(1),标识域(),长度域(10),数据域,Type(3),Length(Ox04),Ip Address,在缺省情况下PPP连接不需要进行身份认证。如果需要对某一方或双方身份进行认证,则必须在建立PPP连接时配置连接认证协议。PPP提供了两种可选择的连接认证协议:(1)口令认证协议PAP(Password Authentication Protocol)(2)挑战-握手协议CHAP(Challenge-Handshake Authentication Protocol),(1)口令认证协议PAPPAP是一种两次

7、握手认证协议,被认证方认证方通过交换一系列PAP数据报实现身份认证过程;两次握手认证过程如下:Step1.在建立PPP连接后,首先由被认证方向认证方发送PAP认证请求报文,PAP认证请求报文中含有表示被认证方身份的用户名和口令等认证信息;Step2.认证方接收到PAP认证请求报文后,根据认证信息对被认证方的身份合法性进行认证,然后根据认证结果返回PAP认证确认报文或PAP认证否认报文;,如果认证方确认了被认证方的身份合法性,则认证过程结束,准备转入数据报文传输;否则,重复进行上述认证,直到确认被认证方的身份合法性,或者重复一定次数后,认证方终止PPP连接.PAP中用户的用户名和口令在网络上是以

8、明文传输的,这影响了PAP协议的安全性.,(2)挑战-握手协议CHAPCHAP是一种三次握手认证协议,被认证方和认证方通过交换一系列CHAP报文实现身份认证过程.其三次握手认证过程如下:Step1.在建立PPP连接后,首先由认证方向被认证方发送CHAP挑战报文中含有标识符和挑战值等信息.其中挑战值是由认证方随即产生的杂乱的字节流,具有全局唯一性和不可预测性;,Step2.被认证方接收到CHAP挑战报文后,根据CHAP挑战报文中的标识符和询问值,使用单向散列函数计算出响应值,并使用单密钥加密算法加密响应值.然后通过CHAP响应报文传送给认证方,以证明自己的身份;Step3.认证方接收到CHAP响

9、应报文后,将返回的响应值与期望的响应值比较.相同,则说明对方身份合法;否则,非法,终止PPP连接.,CHAP中使用的单向散列函数是MD5,因此,使用单向散列函数得到的响应值的长度为128位,即16个字节.CHAP中的密钥是不在网络上进行传送的,因此,其安全性要高于PAP.但计算响应值会产生的一定的系统延迟.,初始状态,通信过程,结束,NCP,CHAP认证,连接建立阶段(LCP),CHAP,点到点隧道协议PPTP,PPTP最初由Microsoft公司提出,并将该协议集成到了Windows NT操作系统中.为了推动PPTP的开发和应用,专门成立了PPTP论坛,经过多次修改,于1999年7月公布了P

10、PTP标准文档-RFC2637.PPTP是PPP的扩展,提供了一种通过IP网络传送PPP数据报文的方法.PPTP采用了Client/Server体系结构,定义了两个基本构件:一是客户端的PPTP访问集中器PAC(PPTP Access Connectrator);二是服务器端的PPTP网络服务器PNS(PPTP Network Server).它采用了一种增强的通用路由封装GRE(Generic Routing Encapsulation)协议在PAC和PNS之间建立了一个基于PPP会话的传输隧道,提供了多协议封装和多PPP通道捆绑传输功能,同时提供了对封装的PPP报文的流量控制和拥塞控制机制

11、.,PPTP由两部分组成:一是在PAC-PNS之间的控制连接,负责建立、管理和释放一个PPP会话;二是在PAC-PNS之间构造一个传输隧道,通过IP网络传送PPP数据报文。PPTP应用过程如下:1、在PAC和PNS之间建立一个TCP会话,这个TCP会话的目的端口是固定的,为1723,源端口可以是任意的空闲端口;2、通过这个TCP会话,PAC和PNS之间通过控制连接管理报文,建立控制连接;(PAC和PNS也可以通过控制连接管理报文释放、测试控制连接),3、控制连接建立以后,PAC和PNS之间就可以进行呼叫的管理,包括建立呼入、呼出,释放呼叫等等。此处的呼入、呼出是相对于PNS而言的;例如,当通过

12、PSTN与PAC相连的用户客户端拨号时,PAC的相应的接入线路就会产生震铃,此时,PAC就是向PNS发出一个呼入请求消息,PNS如果确认可以接入,就会向PAC返回一个成功的呼入应答消息,PAC收到后就会响应用户客户端的拨号,在用户客户端和PAC之间建立连接,同时PAC向PNS发送一个呼入连接消息,表示与用户客户端的连接已经建立;,4、到此时,用户客户端和远程服务器的物理连接实际上已经建立起来了。用户客户端此时就可以用PPP协议和远程服务器端进行通信了,包括PPP连接的建立、实际的数据报文的交换等等,这个实际数据报文在到达PAC之间是封装在PPP报文中。当这些PPP报文到达PAC后,都将被放入隧

13、道中传输到PNS端,即这些PPP报文都会被增强的GRE协议封装起来,在PAC和PNS之间的IP网络上进行传输。5、在完成数据传输后,PNS和PAC中的任何一方都可以使用相应的控制消息释放这个PPP会话。,从PPTP的应用过程中可以发现,PPTP中没有身份认证和消息完整性的保护,PPP数据报文在GRE隧道中进行传输也是明文方式的,并没有进行任何的加密保护措施,存在着信息可能被窃听或篡改的安全隐患。PPTP需要依靠PPP中的PAP或CHAP进行身份认证;在一些实际的PPTP系统中,主要通过一个附加的端到端加密协议来解决数据传送的机密性问题。如在Microsoft和PPTP系统中,通过微软点到点加密

14、MPPE协议提供了数据加密传送的方法。MPPE假设通信双方存在共享的密钥,并使用RC4密码算法来加密数据报。,使用PPTP协议来为远端用户访问外地服务器提供了一些便利;在PPTP出现以前,一个公司员工出差到外地,如果需要访问公司的局域网,则需要拨一个长途号码来连接公司的接入服务器;而利用PPTP协议,该员工只需拨当地ISP提供的号码,然后利用IP 网络连接到公司局域网。既节省了费用,也提供了一定的安全性;如果某一个公司的局域网络不是IP网络,公司员工的Laptop使用的也不是IP网络,此时,公司员工想要直接通过互联网网络公司局域网是不可能的。PPTP则提供了一种手段,它利用隧道的方式屏蔽了网络

15、协议所造成的路由障碍。通过PPTP协议,远程访问公司局域网和在本地访问基本上是透明的。好象提供了一条专用通道,实际上PPTP也是实现VPN的一种方式。,L2TP协议,L2TP也是一种基于PPP的隧道传输协议,通过在IP、ATM、帧中继等公用网络上建立传输隧道来传送PPP数据报文。L2TP是由Cisco、Ascend、Microsoft和RedBack等公司共同发起制定的,于1999年8月公布了L2TP标准文档-RFC2661。L2TP同样采用了Client/Server体系结构,定义了两个基本构件:1、客户端的L2TP访问集中器LAC(L2TP Access Concentrator),用于发

16、起呼叫和建立隧道;2、服务器端的L2TP网络服务器LNS(L2TP Network Server),提供了隧道传输服务,也是所有隧道的终点。,L2TP综合了PPTP和Cisco公司的L2F(Layer Two Forwarding)协议的优点,功能和技术更加全面,可以看作是PPTP的改进方案;L2TP和PPTP非常相似,主要在以下一些方面存在差异:1、L2TP支持PSTN、ISDN和ADSL;而PPTP只支持PSTN和ISDN线路;2、L2TP可以在IP网络(使用UDP封装)上、帧中继网络的永久虚电路(PVC)、X.25网络的虚电路(VC)上和ATM网络的虚电路上建立隧道;而PPTP只能在IP

17、网络上建立隧道;,3、L2TP可以在两个端点间使用多个隧道,用户可以针对不同的服务质量创建不同的隧道;而PPTP只能在两端点之间建立单一隧道;4、L2TP提供了包头压缩功能;而PPTP不支持包头压缩功能;5、L2TP提供了隧道认证功能;而PPTP则不支持隧道认证。,4.2网络层安全协议,网络层,对于Internet而言就是IP层,它的安全性包括认证、保密和密钥管理三方面。认证可保证收到的IP数据报的确是由IP报头所标识的数据源发来的,而且可以保证数据报在传输期间未被篡改;保密保证数据在传输过程中不被第三方窃听;密钥管理则解决密钥的安全交换问题。IP如同邮政服务中的“标准信封”,是一个有效的、基

18、本的传送机制,也是一个廉价的初级邮件服务,不提供任何安全保障。,IPSec概述,IPSec通过在IP报文中插入IPSec报头(AH或ESP)来提供IP层的安全性的;IPSec的工作原理类似于包过滤防火墙,可以看作是对包过滤防火墙的一种扩展;IPSec通过查询安全策略数据库(Security Policy Database,SPD)决定对接收到IP数据包的处理:丢弃、转发或进行IPSec处理。安全关联数据库(Security Associationa Database,SAD)中定义了每一个SA的参数值,包括AH信息、ESP信息、IPSec的协议模式等。SA定义了由IPSec提供安全服务的业务流

19、的发方到接方的一个单向逻辑关系。只有对IP数据报实施了加密和认证以后,才能保证在外部网络传输的数据报的机密性、真实性和完整性,通过互联网的安全的通信才成为可能。,SA的基本组合,实线表物理网络连接,单虚线表SA的逻辑连接,双虚线表隧道SA,*表该设备需实现IPSec,无论采用AH或ESP,IPSec都有两种工作模式。1、传输模式。只对IP数据报的有效负载进行加密或认证。此时,继续使用以前的IP头部,只对IP头部的部分域进行修改,而IPSec协议头部插入到IP头部和传输层头部之间。,源IP头,ESP尾,ESP头,源IP头,数据内容,数据内容,TCP/UDP头,TCP/UDP头,原IP头,原IP头

20、,数据内容,数据内容,TCP/UDP头,TCP/UDP头,2、隧道模式。对整个IP数据报进行加密或认证。此时,需要新产生一个IP头部,而原来的IP数据报成了新IP头部后面的有效载荷。IPSec协议头部被插入到新的IP头部和以前的IP数据报之间。,原IP头,原IP头,TCP/UDP头,TCP/UDP头,数据内容,数据内容,原IP头,原IP头,TCP/UDP头,TCP/UDP头,数据内容,数据内容,IPSec中的主要协议,IPSec主要功能是认证和加密。为了进行认证和加密,IPSec还需要有密钥的管理和交换功能。以上三方面的工作分别由AH、ESP和IKE3个协议规定。1、AH(Authentica

21、ion Header)AH的服务包括无连接的完整性;数据源的验证;一个可选的反重放服务;如前所述,AH的实现方式有两种:传输方式和隧道方式;AH只涉及认证,不涉及加密;AH除了对IP的有效负载进行认证外,还可以对IP头部实施认证;AH的长度是可变的,但必须是32位比特的倍数。AH头的具体字段分布见下图:,IP头,TCP/UDP头,数据内容,认证数据(32位的倍数),序列号域(32位),安全参数索引(SPI,32位),保留以后使用(16位),载荷长度(8位),下一个头(8位),载荷长度:为32位字的AH长度减2.如认证数据部分的长度为96位,即3字,此时AH总长度为6,所以载荷长度为4;安全参数

22、索引:对接收到的数据报选择在哪个SA下进行处理;认证数据:本数据报所用的完整性检验值ICV。ICV是由MAC算法产生的消息认证码。MAC算法的输入为:1)IP包头中在传输期间不变的字段,其他字段全置0;2)AH包头中除“认证字段”以外其他所有字段,“认证字段”被置为0;3)所有的上层协议数据。,前面提到AH有两种模式。传输模式用于两个主机之间的端到端通信,而网关可以不支持传输模式。在传输模式中,将AH插到原始IP数据报的后面,主要是对IP报文中除可变字段外的其他所有字段提供认证功能;,原IP头,原IP头,TCP/UDP头,TCP/UDP头,数据内容,数据内容,隧道模式用于SA关系中至少有一方是

23、一个安全网关。这是将需要保护的原始数据报用一个新的数据报封装,即将原始数据报作为新数据报的载荷。AH对新数据报中除可变字段外的所有字段进行认证,包括了原始数据报中的所有字段。,原IP头,原IP头,TCP/UDP头,TCP/UDP头,数据内容,数据内容,防重放攻击:AH中的“序列号”字段用于防止攻击者截获已经认证过的数据报后实施重放攻击:在新的SA建立时,发送方将系列号计数器的初始值置为0;每当在这个SA上发送一个数据报,就将计数器的值加1;计数器的值是不应该重复的,当达到最大值时,需要新建一个新的SA;由于IP服务是无连接的、不可靠的,不能保证所有的数据报按序到达,因此,接收方建立了一个窗口,

24、窗口长度为W,如下图所示。图中N为目前收到的数据报的最大序列号,所以窗口中序列号的范围为N-W+1到N。一个数据报如果其序列号落在窗口内且认证数据正确,则有效,否则,认为无效数据报,丢弃。,2、ESP封装安全负载ESP用于提供保密性业务,包括对消息内容的保密性和通信流量的保密性。ESP数据报格式如下图所示:,安全参数索引(SPI,32位),序列号域(32位),变长的有效负载数据,变长的认证数据,填充长度,填充,下一负载头,0-255个字节的填充,安全序列号SPI:字段长32位,用于标识SA关联;序列号:字段长32位,单增,用于防止重放攻击;负载数据:是经过加密保护的传输层数据段(传输模式)或I

25、P数据报(隧道模式);认证数据:为前面各字段计算出的完整性检验值。认证数据的认证算法同AH。填充的作用:1)可将明文扩展为加密算法要求的长度;2)ESP要求填充长度和下一个包头在一个32位的字中是右对齐的,填充可以保证这种对齐;3)通过填充可隐藏载荷数据的实际长度。,ESP的传输模式ESP的传输模式也用于两个主机之间的端到端通信;在这种模式中,将ESP报头插入到原始IP报的报头后面,而ESP报尾和认证数据则放在原始数据报载荷的后面;传输模式下的ESP没有对原始IP包头提供加密和认证;,原IP头,原IP头,TCP/UDP头,TCP/UDP头,数据内容,数据内容,ESP的隧道模式隧道模式也用于SA

26、关系中至少有一方是一个安全的网关;此时,将需保护的数据报用一个新的数据报封装,然后再对新的数据报实施传输模式的ESP,旧的数据报就作为了新数据报的载荷;在隧道模式下,就数据报得到了完全的安全性保护。,原IP头,原IP头,TCP/UDP头,TCP/UDP头,数据内容,数据内容,传输模式和隧道模式的比较,3、IKEIKE(Internet Key Exchange)用于动态的建立SA.IKE代表IPSec对SA进行协商,并对SAD进行填充。IKE保证了如何动态地建立安全关联和建立过程安全。,4.3 传输层的安全协议,传输层的安全性主要是要解决两个主机进程之间的数据交换的安全问题,包括建立连接时的用

27、户身份合法性、数据交换过程中的数据机密性、数据完整性和不可否认性等。传输层安全协议增强了传输层协议的安全性,它在传输层协议的基础上增加了安全算法协商和数据加密/解密处理等安全机制的功能。目前,Internet的传输层协议主要是TCP协议,因此,传输层安全协议主要介绍基于TCP的安全协议SSL(Secure Socket Layer)。,SSL概述,SSL是由Netscape公司开发的一种网络安全协议,主要为基于TCP/IP的网络应用程序提供身份认证、数据完整性和数据机密性等安全服务。SSL已经得到了广泛的认可,成为了事实上的工业标准;SSL目前主要有SSL2.0和SSL3.0两个版本。IETF

28、在SSL3.0的基础上推出了TLS1.0.,SSL协议的基本目标是在两个通信实体之间建立安全的通信连接,为基于客户机/服务器模式的网络应用提供安全保护。SSL协议提供了3种安全特性:数据机密性:采用对称加密算法(如DES等)加密数据,密钥在双方进行握手时指定的;数据完整性:采用消息鉴别码(MAC)来验证数据的完整性,MAC是与密钥相关的一种HASH函数。身份合法性:采用非对称密码算法和数字证书来验证同层实体之间的身份的合法性。,SSL协议是一个分层协议,由两层组成:SSL握手协议和SSL记录协议。SSL握手协议用于数据交换前的双方身份认证以及密码算法和密钥的协商;SSL记录协议用于数据交换过程

29、中的数据加密和数据认证,它建立在TCP协议之上。,应用层协议,SSL握手协议,SSL记录协议,TCP协议,SSL握手协议,SSL协议中,客户和服务器之间的通信分成两个阶段:1)握手协商阶段。双方利用握手协议协商和数据交换有关的协议版本、压缩算法、加密算法和密钥等信息;同时还可以验证对方身份;2)数据交换阶段。双方按照1)中协商的算法和密钥等,利用记录协议对数据实施加,加密和认证,确保数据交换的安全。因此,在利用SSL协议保护数据安全时,客户和服务器之间首先要使用握手协议进行有关参数的协商和确认。,SSL握手协议也包含两个阶段:1)交换密钥等信息;2)用户身份认证。在第一个阶段,通信双方通过互相

30、发送HELLO消息进行初始化。通过HELLO消息,双方能够确认是否需要为本次会话产生一个新密钥。如果本次会话是一个新会话,则需要产生新的密钥,双方进入密钥协商阶段;如果本次会话建立在一个已有的会话上,则不需要产生新的密钥,双方进入握手协议的第二各阶段。第二各阶段的主要任务是对用户身份进行认证。,在握手协议中,定义了一组控制消息,客户和服务器之间使用这些消息进行握手协商。可通过一个完整的握手过程来介绍这些控制信息,如下页图所示。如果服务器没有数字证书或其数字证书只有签名功能,则服务器需要向客户发送ServerKeyExchange消息,告诉客户有关服务器的公钥的相关情况(如服务器采用的非对称加密

31、算法为RSA)。,如果双方是在已有的会话上重建一个会话,则不需要协商密钥以及有关的会话参数,这样可以简化握手协议过程。,是否是在一个已经存在的会话上重建,主要看客户端是发送ClientHello消息时,该消息中的SessionID是否为空。如果不为空,说明客户端需要在已经存在的标识符为该SessionID的会话上重建一个会话;如果为空,则说明客户端想要新建一个会话。服务器端收到ClientHello消息时,会检查SessionID的值,如果非空,则会在缓存中查找标识符为该SessionID的会话是否存在或者是否还没有过期。如果不存在,服务器会向客户端发回一个告警信息。,SSL记录协议,客户方和

32、服务器方通过SSL握手协议协商好压缩算法、加密算法以及密钥后,双方就可以通过SSL记录协议进行安全的数据通信了。在发送方的SSL记录层,首先将上层数据分段或合并封装成一个SSL明文记录,然后按照协商好的压缩算法和加密算法,对SSL明文记录进行压缩和加密处理。对端的SSL记录层则需要记性解密和解压缩的处理,以还原SSL明文记录。所有的SSL通信,包括握手控制消息、应用数据都要通过SSL记录层传送。在SSL记录层,上层数据被封装到SSL明文记录中。有一点需要指出,SSL记录层不区分客户信息的边界。,SSL记录格式:记录由记录头和长度不为0的记录数据组成。记录数据的最大长度不能超过214字节。记录格

33、式如下图所示:信息类型:指示封装在数据段中的信息类型,由上层协议解释和处理;版本号:使用的SSL协议版本号;长度:以字节表示的数据段的长度,最大为214字节;数据段:上层协议独立处理的数据单位。,信息类型,版本号,长度,数据段,记录压缩:每一个SSL记录都要按照在SSL握手阶段协商好的压缩算法进行压缩处理。压缩必须是无损压缩。经过压缩处理后,在SSL记录中会增加一些压缩状态信息,但增加部分的长度不能超过1024个字节;在解压缩处理时,如果解压缩后的数据长度超过214个字节,则会产生一个解压缩失败的警告信息。,记录加密:经过压缩的SSL记录还要按照协商好的加密算法和MAC算法进行加密和完整性认证

34、保护。SSL支持流加密算法(如RC4算法)和分组加密算法(如IDEA和DES等),完整性认证算法采用的是基于MD5和SHA-1算法的HMAC;HMAC函数有两个参数,一个是密钥,一个是数据。具体过程如下:,序列号,记录头,记录数据,HMAC,填充,加密并进行了完整性保护的记录,记录头,记录头,记录数据,如上图,如果用分组加密算法,则需要按照分组加密算法的要求对被加密部分进行填充。在使用分组加密算法时,如果使用了CBC模式,则需要用到一个初始化向量IV。该向量是和上图中的完整性密钥和加密密钥一起算出来的。并且,客户端和服务器端各自拥有不同的这三个密钥。总之,在线路上传输的是记录头,后面跟着加密的

35、数据块,加密的数据块中包含数据本身、HMAC和包含填充长度在内的填充数据。,服务器端的完整性密钥、加密密钥和IV是如何来的?客户端的完整性密钥、加密密钥和IV是如何来的?还需要回到SSL握手协议。在握手协议的第一个阶段,通过HELLO消息,服务器和客户交换了两个随机数R1和R2。并且,客户通过ClientKeyExchange消息向服务器发送了一个预备主密钥S。首先,S和两个随机数混杂后生成用于该会话的6个密钥(每个方向3个:加密密钥、完整性保护密钥和IV),即每一个密钥为:gi(K,R1,R2),SSL记录层通过警告协议传送告警信息,告警信息中包含警告级别和警告描述;SSL告警协议是用来为对

36、等实体传送SSL的相关警告。如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告。警示消息有两种:一种是Fatal错误,如传递数据过程中,发现错误的MAC,双方就需要立即中断会话,同时消除自己缓冲区响应的会话记录;第二种是Warning消息,这种情况,通信双方都只是记录日志,而对通信过程不在成任何影响。,4.4应用层的安全协议,网络应用是多种多样的,例如WWW系统、电子邮件(Email)、远程登录(Telnet)、文件传输(FTP)以及域名系统(DNS)等。应用层安全性主要要解决面向应用的信息安全问题,涉及到信息交换的机密性、完整性,防止在信息交换过程中数据被非法窃听和篡改。同

37、时,也涉及到身份认证等问题。有些应用层安全协议增强了应用层协议的安全性,即在应用层协议的基础上增加了安全算法协商和数据加密/解密机制,如S/MIME协议;有些应用层安全协议则是为了解决特定应用的安全问题开发的,如PGP(Pretty Good Privacy)协议等。,S/MIME协议,在Out Look Express、Netscape Message等常用的邮件程序中往往提供了对邮件进行“数字签名”和“加密邮件”的安全功能。这些安全服务的实现其实都是基于一种称为“S/MIME”的安全规范。S/MIME是安全电子邮件的一种规范。全称“安全的多功能互联网邮件扩展”协议(Secure/Multi

38、purpose Internet Mail Extentions)。它在原有的MIME又见规范的基础上,新增了许多强有力的安全功能。S/MIME是MIME协议的安全扩展,为电子邮件提供了消息完整性、源端不可否认性、数据机密性等安全服务。在介绍S-MIME协议之前,有必要介绍一下MIME协议的相关情况。,MIME(Multipurpose Internet Mail Extention),中文名称为“多用途互联网邮件扩展”。它是当前广泛应用的一种电子邮件技术规范,基本内容定义于RFC 2045-2049.MIME邮件就是符合MIME规范的电子邮件,或者说根据MIME规范编码而成的电子邮件。SMT

39、P(Simple Mail Transfer Protocol)协议描述了电子邮件的信息格式及其传递方法,使电子邮件能够正确地寻址和可靠的传输。但是,SMTP协议只支持文本形式的电子邮件的传送。MIME协议不仅支持文本形式电子邮件的传送,而且还支持二进制文件的传送,即发信人可以将二进制文件作为电子邮件的附件随电子邮件一起发送,而接收端的MIME协议会自动的将附件分离出来,存储在一个文件中,供收信人读取。由于MIME协议极大的扩展了电子邮件的应用范围,因此一般的电子邮件系统都支持MIME协议。,MIME协议定义了电子邮件的信息格式,它由邮件头和邮件体组成,且邮件头与邮件体之间以空行进行分隔。邮件

40、头包含了发件人、收件人、主题、时间、MIME版本、邮件内容的类型等重要信息;每条信息称为一个域,由域名后加“:”和信息内容构成,可以是一行,较长的也可以占用多行。域的首行必须“顶头”写,即左边不能有空白自负(空格和制表符);续行则必须以空白字符打头,且第一个空白字符不是信息本身固有的,解码时要过滤掉。,邮件体包含邮件的实际内容,它的类型由邮件头“Content-Type”域指出。邮件体的常见简单类型有text/plain(纯文本)和text/html(超文本)。它也可以是其他各种数据类型。在MIME协议中,数据类型一般是复合型的,也称为符合数据。它允许将不同类型的数据(如图像、音频和格式化文本

41、等)嵌入到同一个邮件体中进行传送。在包含符合数据的邮件体中,邮件体被分为多个段,每个段又包含段头和段体两部分,这两部分之间也以空行分隔。段和段之间设有边界标志,以表明每一种类型数据的开始和结束。复合数据的“Content-Type”为“Multipart”类型,它有三个子类型,分别为multipart/mixed,multipart/related和multipart/alternative.,有上述介绍可见,通过MIME协议,就可以通过电子邮件传送各种类型的数据,而不仅仅是文本类型数据。MIME协议已经成为了电子邮件中的信息格式表示的主要协议。但是MIME协议是为开放的Internet而设计

42、的,并没有考虑电子邮件的安全问题。目前,电子邮件已经成了沟通联系和交流信息的重要手段,并得到了广泛应用。因此,电子邮件的安全性就越来越重要,必须采用信息安全技术来增强电子邮件通信的安全性。S/MIME应运而生。,S/MIME是用来保护MIME实体的。首先来说明一个概念:“MIME实体”。MIME实体由MIME头和MIME体组成。实际上,前面介绍的MIME邮件中一个段就是一个MIME实体,段可以嵌套,则MIME实体也可以嵌套。整个的MIME邮件也可以成为一个MIME实体,除了RFC-822头以外。,S/MIME协议通过签名和加密来增强MIME数据的安全性。它使用CMS(Cryptographic

43、 Message Syntax)来创建一个安全性得到增强的MIME体;并且定义了一种application/pkcs/-mime的MIME类型来传送MIME体,包括经过加密的或经过签名的;S/MIME还定义了两种用于传送S/MIME签名消息的MIME类型;multipart/signed和application/pkcs7-signature.,S/MIME增强MIME实体的安全性的大概过程如下;在邮件发送端,发送代理首先要处理的MIME实体进行规范化,并进行转移编码;如行结尾符必须为字符对;根据处理的类型,签名、加密或者先签名后加密,按照一定的语法或规范对MIME实体进行处理,生成一个新的对象;将该新的对象作为一个新的MIME实体的体,并为之加上一个新的MIME头,组成一个新的MIME实体,以替换原来的MIME实体;有一点需要注意,新的MIME头中应该指出新的MIME体的类型,显然,应该定义几种相应的新的MIME的内容类型。,CMS定义了多种内容类型,在S/MIME中只使用了,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号