第7章安全协议_第1页
第7章安全协议_第2页
第7章安全协议_第3页
第7章安全协议_第4页
第7章安全协议_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章安全协议学习目标

本章讲解安全协议的概念,在网络分层体系结构中典型安全协议分类。重点讲解的虚拟专用网协议IPSec、传输层安全协议TLS。网络体系结构中各层实现安全保护的机制虚拟专用网协议IPSec安全保护机理及工作过程传输层安全协议TLS安全保护机理及工作过程2023/2/13本章目录7.1安全协议概述7.2虚拟专用网协议IPSec7.3传输层安全(TLS)协议2023/2/14什么是安全协议?7.1安全协议概述什么是协议(protocol)?协议是在对等实体(两方或多方)之间为完成某项任务所执行的一系列确定的步骤,是协议实体必须共同遵循的一套规则。协议步骤(或规则)是明确定义的。协议必须是完整的。什么是安全协议?为了实现特定的安全目标,使用密码技术在网络和分布式系统中提供各种安全服务的协议,称为安全协议或密码协议。两类最基本的安全协议:实体认证协议和密钥协商协议。2023/2/167.1安全协议概述网络协议栈各层上的安全协议在网络环境下,安全服务可以在不同的网络层次上实施。2023/2/177.1安全协议概述1.数据链路层安全协议PPP-PAP(

PasswordAuthenticationProtocol-

PointtoPointProtocol):口令认证协议PAP是PPP的一个链路控制子协议,对等实体建立初始连接之后,使用2次握手实现实体认证,被认证一方向认证方持续重复发送“用户ID/口令”,直至认证得到响应或连接终止。PAP认证口令以明文文本形式在链路上传输,不能防止窃听、重放等攻击,是一种弱认证方法。2023/2/187.1安全协议概述1.数据链路层安全PPP-CHAP(ChallengeHandshakeAuthenticationProtocol):质询握手认证协议也是PPP协议簇中的一个子协议。通过三次握手验证对等实体身份,被认证方向认证方发送“标识”;认证方向被认证方发送“质询”(Challenge:随机数)消息;被认证方使用质询和口令字(双方事先共享)共同计算哈希值做应答。2023/2/197.1安全协议概述1.数据链路层安全协议WEP(WiredEquivalentPrivacy):有线网等同保密WEP是IEEE802.11b标准中定义的无线局域网安全协议。WEP在数据链路层提供对无线链路的保护,实现无线节点之间的相互认证和数据保密传输。WEP使用共享密钥认证,使用RC4流密码算法加密数据帧。WEP在802.11中是可选的,已经发现其存在缺陷,在新的802.11标准中被新的协议替换。2023/2/1107.1安全协议概述2.应用层安全协议MIME/S-MIME全名:MultipurposeInternetMailExtensions/SecureMIMEMIME多用途网际邮件扩充协议定义了邮件消息格式,方便不同邮件系统之间消息交换。MIME允许邮件中包含任意类型的文件,如文本、图象、声音、视频及其它应用程序等。S/MIME是MIME的安全版本,提供了一种安全电子邮件机制,基于MIME标准,S/MIME为电子消息应用程序提供邮件安全服务,包括认证、完整性保护、数据保密等。

2023/2/1117.1安全协议概述2.应用层安全协议PGP

(PrettyGoodPrivacy)用于电子邮件、存储数据加密和数字签名的开源实用程序。PGP基于RSA公钥加密体制,实现了对邮件的加密保护,以及基于数字签名的源认证和不可否认性保护。PGP支持密钥管理服务器,但其证书模型不同于X.509。PGP模型允许多重地、独立地而非特殊可信个体签署“名字/密钥”关联来证明证书的有效性。“只要有足够的签名,<名字/密钥>关联就是可信的,因为不会所有的签名者都是‘坏’的”,即所谓“信任网”模型。2023/2/1127.1安全协议概述2.应用层安全协议SET

(SecureElectronicTransaction)由MasterCard和Visa联合Netscape、Microsoft等公司开发。是一种电子支付安全模型,用于电子商务的安全保障。解决B2C模式下商家、消费者和银行之间的信任和安全交易问题。涉及电子商务交易中的交易协定、信息保密、资料完整、数据认证、数据签名等问题。2023/2/113本章目录7.1安全协议概述7.2虚拟专用网协议IPSec7.3传输层安全(TLS)协议2023/2/114如何在IP层实现安全的数据通信?7.2.1虚拟专用网VPNVPN:VirtualPrivateNetworkVPN是建立在公共网络(如Internet)上的专用网络,通过在两个系统之间建立安全的信道(也称隧道)来实现重要数据的安全传输。VPN可以在路由器、交换机或者防火墙等网络设备上实现。VPN可以帮助远程用户或公司分支机构以及商业伙伴与内部网络建立可信的安全连接,保证数据传输的安全性。利用VPN技术在互联网环境下建立虚拟的企业专用网络,可以大大缩减企业运营成本,增强竞争力。2023/2/1167.2.1虚拟专用网VPNVPN的运行模式远程主机与网关之间(称为远程接入VPN)网关与网关之间(又分内联网VPN和外联网VPN)主机与主机之间2023/2/1177.2.1虚拟专用网VPNVPN采用安全隧道技术将传送的原始数据经过加密和协议封装后,嵌套到网络传输单元中传输,实现对传输信息的保护。典型的VPN协议主要有三种:PPTP:PointtoPointTunnelingProtocolL2TP:Layer2TunnelingProtocolIPSec:IPSecurity2023/2/1187.2.1虚拟专用网VPN点对点隧道协议PPTPPPTP是在PPP协议的基础上开发的一种增强型安全协议,它使用一个TCP上的控制隧道和一个封装PPP数据包的通用路由封装GRE(GenericRoutingEncapsulation)隧道。PPTP协议假定在PPTP客户机和PPTP服务器之间有连通且可用的网络连接,如IP网络。PPTP支持多种协议,允许在GRE隧道内传输的PPP数据包承载任何协议。PPTP没有定义具体的加密和认证功能,而是依赖隧道化的PPP协议中应用的安全功能。2023/2/1197.2.1虚拟专用网VPN第2层隧道协议L2TPL2TP是由Cisco第2层转发协议L2F和PPTP协议发展演变的VPN机制,2005年IETF发布最新版本L2TPv3(RFC3931)。L2TP工作在包交换网络之上,如IP网络(使用UDP)、帧中继永久虚拟电路(PVCs)、X.25虚拟电路或ATM网络。L2TP在本质上是一个会话层协议,使用UDP端口1701,L2TP数据包封装在UDP报文中传输。在L2TP隧道内通常传输点到点协议会话,L2TP不直接提供加密,它依赖隧道中所使用端到端加密协议实现保密性服务,L2TP通常与IPSec混合应用,提供保密、认证和完整性服务。2023/2/1207.2.1虚拟专用网VPNIP层安全协议IPSec(InternetProtocolSecurity)IPSec是IETF制订的VPN安全标准,工作在IP层,提供对IP分组进行加密和认证的功能。SSLVPN(SecureSocketsLayerVPN)使用安全套接层SSL协议实现VPN的机制。通常SSL协议被内置于IE等浏览器中,使用SSL协议进行认证和数据加密的SSLVPN就可以免于安装客户端。SSLVPN部署简单,同时性能也远低于使用IPSec实现的VPN。2023/2/1217.2.2IP层VPN协议——IPSecIPSec是工作在IP层的安全机制,用于保护一对主机之间(主机到主机)、一对安全网关(网络到网络)或者安全主机与网关之间(主机到网络)的数据流安全。IPSec为IP报文段提供保密性、完整性、访问控制和数据源认证等安全保护服务。IPSec是一个协议簇,包括会话初始化阶段通信双方双向认证协议、密钥协商协议,以及对通信会话中每个IP报文保护(认证和/或加密)协议。2023/2/1227.2.2IP层VPN协议——IPSecIPSec定义了两类保护IP报文的协议认证报头AH(AuthenticationHeader):为IP报文提供无连接的完整性、数据源认证和抗重放攻击保护。有效载荷封装ESP

(EncapsulatingSecurityPayload):为IP报文提供保密性、无连接完整性、数据源认证、抗重放攻击等保护服务。2023/2/1237.2.2IP层VPN协议——IPSecIPSec定义了两种工作模式传输模式:在原有IP报文中插入IPSec协议头(AH或ESP)及报尾(ESP),报文按原有IP报文头包含的信息(如IP地址)进行传输。隧道模式:将原有IP报文作为一个新IP报文的数据域看待,被封装保护在一个新的IP报文中,再根据是AH协议或ESP协议添加相应的报头或报尾。2023/2/1247.2.2IP层VPN协议——IPSecIPSec的应用模式安全网关—安全网关:网关之间应用IPSec,两个网关后面的内部网络主机通过安全网关实现在Internet上的安全通信。这种场景适合使用隧道模式。主机—主机:IP连接的两台主机直接应用IPSec通信。两个节点必须使用公有IP地址,通常使用传输模式,也可以使用隧道模式。主机—安全网关:主机与网关之间应用IPSec,通常使用隧道模式。2023/2/1257.2.2IP层VPN协议——IPSecIPSec的工作流程IPSec使用网际密钥交换协议IKE(InternetKeyExchange)动态协商共享密钥及相关算法,建立安全关联SA(SecurityAssociation)。SA为AH和ESP操作提供一套用于认证、加密和签名的密码算法及必要的参数。IPSec的完整工作流程如下图。2023/2/1267.2.2IP层VPN协议——IPSec2023/2/1277.2.3认证报头AH协议AH协议为每个数据报添加一个验证报头,其中包含一个带密钥的Hash值,确保对报文的任何修改都能被检查出来。AH协议提供无连接的完整性、数据源认证、抗重放攻击等保护,但不提供保密性服务。2023/2/1287.2.3认证报头AH协议1.认证报头格式下一个头:标识认证报头AH后面跟着的载荷的类型。载荷长度:以32比特为单位的AH认证报头长度减2。安全参数索引SPI:32比特

整数,接收端识别入站报文

绑定的安全关联SA。序列号:单调递增计数32

比特整数,防止重放攻击。完整性验证值ICV:对整个IP报文(含AH头)完整性的认证。2023/2/1297.2.3认证报头AH协议2.AH的两种工作模式(1)AH传输模式;(2)AH隧道模式2023/2/1307.2.3认证头AH协议3.完整性验证值计算AH传输模式:ICV计算将原IP报文头中可变域置为0后,把整个AH报文作为HMAC的输入,摘要值即为ICV值。AH隧道模式:ICV计算将新IP报文头中可变域置为0后,把整个AH报文作为HMAC的输入,摘要值即为ICV值。2023/2/1317.2.4封装安全载荷ESP协议封装安全载荷ESP(EncapsulatingSecurityPayload)提供数据保密性、数据源认证、无连接完整性保护、抗重放等服务,以及有限的数据流保密服务。ESP使用对称密码技术加密IP报文的数据域(传输模式)或整个IP报文(隧道模式),使用与AH协议中相同的带密钥的消息摘要算法计算ESP报文的认证数据——完整性验证值ICV。2023/2/1327.2.4封装安全载荷ESP协议1.ESP报文格式2023/2/1337.2.4封装安全载荷ESP协议2.ESP的两种工作模式(1)ESP传输模式;(2)ESP隧道模式ESPESP2023/2/1347.2.5Internet密钥交换IKE在两个通信节点间执行双向认证并建立一个IKE安全关联SA。SA包括两个通信节点共享的秘密信息以及一个密码算法集。IETF在1998年发布了IKE(RFC2409),2010年发布了最新版本IKEv2。IKE融合使用到了三个不同协议Internet安全连接和密钥管理协议ISAKMP(InternetSecurityAssociationandKeyManagementProtocol)Oakley密钥确定协议(OAKLEYKeyDeterminationProtocol)安全密钥交换机制SKEME(SecureKeyExchangeMechanism)。2023/2/1357.2.5Internet密钥交换1.初始化交换(InitialExchange)2023/2/1367.2.5Internet密钥交换HDR:消息头。包含安全参数索引SPI、版本号和一些标志位,以及消息ID,识别重传消息。SA:安全关联载荷,小写字母i和r分别代表发起者和响应者。SA载荷中包括发送者支持的密码算法等。KE:密钥交换载荷,如执行DH密钥交换协议所交换的发送者计算的公钥值(gx)。N:Nonce载荷,包含发送者产生的一次随机数。CERT:证书载荷,包含发送者的公钥数字证书。CERTREQ:证书请求载荷。SK{…}:使用密钥SK对称密加密。TS:负载选择符。2023/2/1377.2.5Internet密钥交换IKE初始化包括两个交换(1)IKESA初始化(记为IKE_SA_INIT)交换IKE_SA_INIT交换包括消息1和消息2,用于协商密码算法、交换随机数Nonce、执行DH公钥交换。(2)IKE认证(记为IKE_AUTH)交换IKE_AUTH交换包括消息3和消息4,认证前面的消息、交换身份标识ID和证书(可选),并建立第一个子SA,这一交换中除消息头之外其他载荷数据使用IKE_SA_INIT交换建立的算法和密钥进行加密和完整性保护。2023/2/1387.2.5Internet密钥交换2.生成子SA交换(CREATE_CHILD_SAExchange)用于创建新的子SA和在IKESA及在子SA之间更新密钥,该交换在IKESA之后可以由双方中的任一方发起。可选地,子SA交换可以包括KE载荷用于附加的DH交换,为子SA提供强前向安全(ForwardSecrecy)2023/2/1397.2.5Internet密钥交换3.信息交换(InformationExchange)用于在IKESA操作过程中的变换点,对等实体相互传递有关错误或特定事件通知的控制消息。信息交换必须在初始交换之后,需用初始交换协商的密钥。信息交换包含零个或多个通知N、删除D、配置CP载荷。2023/2/1407.2.5Internet密钥交换IKE消息头(HDR)格式2023/2/1417.2.5Internet密钥交换典型载荷的数据结构举例安全关联载荷(SecurityAssociationPayload)422023/2/1427.2.5Internet密钥交换典型载荷的数据结构举例密钥交换载荷(KeyExchangePayload,记为KE)KE载荷用于交换Diffie-Hellman公钥(指数计算结果),KE载荷同样包含通用载荷头,后面跟DH群编号以及密钥交换数据——DH公钥。证明载荷(IdentificationPayload)允许对等实体向对方证明自己的身份,身份可以用于策略查找,但不必与CERT载荷任何域相一致;身份域也可以用于访问控制决策,但若在IDi或IDr载荷中采用IP地址(ID_IPV4_ADDR或ID_IPV6_ADDR)标识类型,IKE也不要求其中地址与封装IKE消息的IP头部中地址一致。2023/2/1437.2.5Internet密钥交换典型载荷的数据结构举例证书载荷(CertificatePayload,记为CERT)证书请求载荷(CertificateRequestPayload,记CERTREQ)认证载荷(AuthenticationPayload,记为AUTH)随机数Nonce载荷通知载荷(NotifyPayload,记为N)删除载荷(DeletePayload,记为D)流量选择载荷(TrafficSelectorPayload,记为TS)加密载荷(EncryptedPayload,记为SK{...})2023/2/144本章目录7.1安全协议概述7.2虚拟专用网协议IPSec7.3传输层安全(TLS)协议2023/2/145如何实现INTERNET中

通讯的两个应用程序之间

认证和数据保密传输?467.3.1TLS概述TLS(TransportLayerSecurity)的由来TLS协议是一个用于Internet上实现保密通信的安全协议。TLS协议是IETF在Netscape公司开发的SSL(SecureSocketLayer)协议基础上改进发展而来的。Netscape于1994年开发了用于保护Web通讯的SSL协议,并在推出SSL3.1时改名为TLS1.0。1997年IETF发布Draft,1999年发布TLSv1.0(RFC2246)。IETF于2006年发布了TLSv1.1版本(RFC4363)。2023/2/1477.3.1TLS概述TLS的设计目标密码安全性:TLS用于在通讯实体间建立安全连接。互操作性:独立开发者可以使用TLS开发应用程序,而无需交换程序的代码。扩展性:提供一种框架,便于加入新的公钥、对称密码。相对效率性:密码操作是高CPU敏感的,尤其是公钥密码操作,TLS提供了会话缓存机制以减少建立的连接数,此外尽量减少网络活动。2023/2/1487.3.1TLS概述

TLS的使用2023/2/1497.3.1TLS概述

TLS的体系结构TLS位于TCP层与应用层之间,对应用层透明,在可靠传输协议TCP之上建立一个可靠的端到端安全服务,为两个通讯实体之间提供保密性和完整性保护。TLS协议分为上下两层底层:SSL记录协议层上层:SSL握手协议层2023/2/1507.3.1TLS概述TLS的两个子层TLS记录协议层TLS记录协议建立在可靠的TCP协议上,为高层协议提供数据封装,实现压缩/解压、加密/解密、计算/验证MAC等操作。TLS记录协议要使用TLS握手协议协商的密码算法和密钥对上层数据加密实现保密性;同时使用HMAC实现传输消息的完整性。2023/2/1517.3.1TLS概述TLS的两个子层TLS握手协议层包含3个子协议:TLS握手协议、TLS密码规格变更协议、TLS报警协议。TLS握手协议层负责在客户与服务器间进行身份认证、协商加密算法和密钥。TLS协议使用对称密码体制加密传输的数据,使用公钥密码体制进行身份认证和交换加密密钥。2023/2/1527.3.1TLS概述TLS的两个子层TLS协议栈2023/2/1537.3.1TLS概述TLS的两个重要概念TLS连接(connection)一个连接是一个提供一种合适类型服务的传输过程。TLS连接是点对点的关系。连接是暂时的,每一个连接和一个会话关联。TLS会话(session)一个TLS会话是在客户与服务器之间的一个关联。会话由握手协议创建,定义了一组可供多个连接共享的密码安全参数。会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价。2023/2/1547.3.1TLS概述会话的状态有多个状态与一个会话相关联;一旦一个会话建立,就存在一个读或写的当前状态;在握手协议中,创建了挂起的读写状态;成功的握手协议,将挂起状态转变为当前状态;每个会话状态实际上是一组参数。2023/2/1557.3.1TLS概述会话的状态参数Sessionidentifier:服务器选择的一个任意字节序列,用以标识一个活动的或可激活的会话状态。PeerCertificate::一个X.509v3证书,可为空。Compressionmethod:加密前进行数据压缩的算法。Cipherspec:指明数据加密算法(无或DES等)及MAC算法(如MD5或SHA-1)用以计算MAC。还包括其它参数,如散列长度。Mastersecret:48位秘密,在client与server之间共享。Isresumable:一个标志,指明该会话能否用于产生一个新连接。2023/2/1567.3.1TLS概述TLS连接状态一个连接状态是TLS记录协议的操作环境,包括压缩算法、加密算法和MAC算法以及相应的密钥。TLS从两个角度定义连接状态:预备状态和当前状态,读状态/写状态。预备状态:包含本次握手过程中协商成功的压缩算法、加密算法、MAC计算算法和密钥等。当前状态:包含记录协议正在使用的压缩算法、加密算法、MAC计算算法和密钥等。读状态:包含解压缩算法、解密算法、MAC验证算法和对应的密钥等。写状态:包含压缩算法、加密算法、MAC计算算法和对应的密钥等。

逻辑上可以组合为四个连接状态:当前读状态、当前写状态、预备读状态、预备写状态。2023/2/157连接的状态参数Serverandclientrandom:为每个连接选择的字节序列。ServerwriteMACsecret:服务器发送数据时用于计算MAC的key。ClientwriteMACsecret:客户机发送数据时用于计算MAC的key。Serverwritekey:服务器端加密数据和客户端解密数据用的密钥。Clientwritekey:客户端加密数据和服务器端解密数据的密钥Initializationvectors:在CBC模式中用到的IV,最初由握手协议初始化,然后每一个记录的最后一个密文块被用作下一个记录的IV。Sequencenumbers:每一个连接都需要维护一个序列号,当密码参数变化时,重置为0,最大值为264-1。7.3.1TLS概述2023/2/1587.3.2TLS记录协议层TLS记录协议层根据当前会话状态指定的压缩算法、密码规格(CipherSpec)指定的对称加密算法、MAC算法、密钥长度、散列长度、IV长度等参数,以及连接状态中指定客户和服务器的随机数、加密密钥、MAC秘密、IV、消息序列号等,对当前连接中传输的高层数据进行分片、压缩/解压缩(可选)、MAC保护/验证、加/解密等操作。记录协议层需要封装的高层协议包括4类:改变密码规格协议、报警协议、握手协议和应用层协议(如HTTP、FTP、Telnet等)。2023/2/1597.3.2TLS记录协议层2023/2/1607.3.2TLS记录协议层记录协议使用握手协议提供的安全参数生成加密密钥和MAC密钥。具体方法如下:使用伪随机函数,输入握手协议产生的主秘密、密钥扩展字符串、服务器产生的随机数和客户产生的随机数,输出足够长度密钥块。密钥块按密码规格需要顺序分解成特定长度的4个密钥:客户写MAC密钥、服务器写MAC密钥、客户写加密密钥、服务器写加密密钥。2023/2/1617.3.3TLS握手协议层1.TLS握手协议负责协商一个会话,该会话包括以下内容:会话标识符:服务器选择的任意字节序列标识一个活动的或可恢复的会话状态。实体证书:对等实体的X.509v3证书,可以为空。压缩方法:用于加密前压缩数据的算法。密码规格:指明数据加密算法(如空、DES等)和MAC算法(如MD5或SHA),以及密码属性如摘要长度。主秘密(Mastersecret):服务器与客户端共享48字节秘密值。可恢复标志:指明该会话是否可以用于初始化新的连接。2023/2/1627.3.3TLS握手协议层1.TLS握手协议握手协议的消息交换过程

(*表示可选)2023/2/1637.3.2TLS记录协议层(1)交换hello消息协商确认算法、交换随机数并检查会话恢复客户hello和服务器hello都包括:协议版本、随机数会话ID、密码套件和压缩算法。客户hello给出密码套件列表和压缩算法列表,供服务器选择。密码套件包括:密钥交换算法、对称加密算法和MAC算法(2)交换证书只要密钥交换方法不是匿名的,在ServerHello之后必须发送证书消息Certificate。CetificateRequest2023/2/1647.3.2TLS记录协议层(3)密钥交换与认证当服务器证书没有足够数据允许客户端交换一个预主密钥时,服务器发送证书消息后紧跟着发送服务器密钥交换消息ServerKeyExchange。ServerKeyExchange向客户传递用于交换预主密钥的密码信息,并包含签名值。ServerKeyExchange消息内容根据Hello阶段协商的密钥交换方法不同而不同。2023/2/1657.3.2TLS记录协

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论