虚拟专用网(二)

时间:2016-12-29 20:30 来源:武松娱乐整理 字体:[ ] 评论:
IPSec 协议简介 IPSec(IP Security)协议族是IETF制定的一系列协议,它为IP数据报提供了高质量的、可互操作的、基于密码学的安全性。特定的通信方之间在IP层通过加密与数据源验证等方式,来保证数据报在网络上传输时的私有性、完整性、真实性和防重放。 说明: 私有性(Confidentiality )指对用户数据进行加密保护,用密文的形式传送。 完整性(Data integrity )指对接收的数据进行验证,以判定报文是否被篡改。 真实性(Data authentication )指验证数据源,以保证数据来自真实的发送者。 防重放(Anti-replay )指防止恶意用户通过重复发送捕获到的数据包所进行的攻击,即接收方会拒绝旧的或重复的数据包。   IPsec具有以下优点: 支持IKEInternet Key Exchange,因特网密钥交换),可实现密钥的自动协商功能,减少了密钥协商的开销。可以通过IKE建立和维护SA的服务,简化了IPsec的使用和管理。 所有使用IP协议进行数据传输的应用系统和服务都可以使用IPsec,而不必对这些应用系统和服务本身做任何修改。 对数据的加密是以数据包为单位的,而不是以整个数据流为单位,这不仅灵活而且有助于进一步提高IP数据包的安全性,可以有效防范网络攻击。 IPsec的协议实现   IPSec通过AHAuthentication Header,认证头)和ESPEncapsulating Security Payload,封装安全载荷)两个安全协议实现了上述目标。为简化IPSec的使用和管理,IPSec还可以通过IKEInternet Key Exchange,因特网密钥交换协议)进行自动协商交换密钥、建立和维护安全联盟的服务。   IPsec提供了两种安全机制:认证和加密。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。加密机制通过对数据进行加密运算来保证数据的机密性,以防数据在传输过程中被窃听。IPsec协议中的AH协议定义了认证的应用方法,提供数据源认证和完整性保证;ESP协议定义了加密和可选认证的应用方法,提供数据可靠性保证。   (1)AH协议(IP协议号为51) AH是报文头验证协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能;然而,AH并不加密所保护的数据报。 (2)ESP协议(IP协议号为50) ESP是封装安全载荷协议。它除提供AH协议的所有功能外(但其数据完整性校验不包括IP头),还可提供对IP报文的加密功能。 说明: AH和ESP可以单独使用,也可以同时使用。对于AH和ESP,都有两种操作模式:传输模式和隧道模式。 (3)IKE协议 IKE协议用于自动协商AH和ESP所使用的密码算法,并将算法所需的必备密钥放到恰当位置。 说明:IKE协商并不是必须的,IPSec所使用的策略和算法等也可以手工协商。   IPSec基本概念 1.安全联盟 IPSec在两个端点之间提供安全通信,端点被称为IPSec对等体。 IPSec能够允许系统、网络的用户或管理员控制对等体间安全服务的粒度。通过SA(Security Association,安全联盟),IPSec能够对不同的数据流提供不同级别的安全保护。 安全联盟是 IPSec 的基础,也是 IPSec 的本质。SA 是通信对等体间对某些要素的约定,例如,使用哪种协议(AH、ESP 还是两者结合使用)、协议的操作模式(传输模式和隧道模式)、加密算法(DES 和 3DES)、特定流中保护数据的共享密钥以及密钥的生存周期等。 安全联盟由一个三元组来唯一标识,这个三元组包括 SPI(Security Parameter Index,安全参数索引)、目的IP 地址、安全协议号(AH 或 ESP)。SPI 是为唯一标识 SA 而生成的一个 32 比特的数值,它在AH 和 ESP 头中传输。 安全联盟具有生存周期。生存周期的计算包括两种方式: 以时间为限制,每隔指定长度的时间就进行更新; 以流量为限制,每传输指定的数据量(字节)就进行更新。   2.安全联盟的协商方式 安全联盟的协商方式有两种,一种是手工方式(manual),一种是IKE自动协商(isakmp)方式。 手工方式(manual)配置比较复杂,创建SA所需的全部信息都必须手工配置,而且不支持一些高级特性(例如定时更新密钥),但优点是可以不依赖IKE而单独实现IPsec功能。 IKE自动协商(isakmp)方式相对比较简单,只需要配置好IKE协商安全策略的信息,由IKE自动协商来创建和维护SA。 当与之进行通信的对等体设备数量较少时,或是在小型静态环境中,手工配置SA是可行的。对于中、大型的动态网络环境中,推荐使用IKE协商建立SA   3. IPSec协议的操作模式 IPSec协议有两种操作模式:传输模式和隧道模式。SA中指定了协议的操作模式。在传输模式下,AH或 ESP被插入到IP头之后但在所有传输层协议之前,或所有其他 IPSec协议之前。在隧道模式下,AH或 ESP插在原始 IP头之前,另外生成一个新头放到 AH或 ESP之前。不同安全协议在传输模式和隧道模式下的数据封装形式(传输协议以 TCP为例)如下图所示: \ 从安全性来讲,隧道模式优于传输模式。它可以完全地对原始 IP数据报进行验证和加密;此外,可以使用 IPSec对等体的 IP地址来隐藏客户机的 IP地址。从性能来讲,隧道模式比传输模式占用更多带宽,因为它有一个额外的 IP头。因此,到底使用哪种模式需要在安全性和性能间进行权衡。     4.验证算法与加密算法     (1)验证算法 AH和 ESP都能够对 IP报文的完整性进行验证,以判别报文在传输过程中是否被篡改。验证算法的实现主要是通过杂凑函数,杂凑函数是一种能够接受任意长的消息输入,并产生固定长度输出的算法,该输出称为消息摘要。IPSec对等体计算摘要,如果两个摘要是相同的,则表示报文是完整未经篡改的。一般来说 IPSec使用两种验证算法: MD5:MD5通过输入任意长度的消息,产生 128bit的消息摘要。 SHA-1:SHA-1通过输入长度小于 2的 64次方比特的消息,产生 160bit的消息摘要。SHA-1的摘要长于 MD5,因而是更安全的。   (2)加密算法 ESP能够对 IP报文内容进行加密保护,防止报文内容在传输过程中被窥探。加密算法实现主要通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。一般来说 IPSec使用两种加密算法: DES:使用 56bit的密钥对一个 64bit的明文块进行加密。 3DES:使用三个 56bit的 DES密钥(共 168bit密钥)对明文进行加密。 无疑,3DES具有更高的安全性,但其加密数据的速度要比 DES慢得多。       SSL(Secure Sockets Layer)协议最先是由著名的Netscape公司开发的,现在被广泛用于Internet上的身份认证与Web服务器和用户端浏览器之间的数据安全通信。 制定SSL协议的宗旨是为通信双方提供安全可靠的通信协议服务,在通信双方间建立一个传输层安全通道。SSL使用对称加密来保证通信保密性,使用消 息认证码(MAC)来保证数据完整性。SSL主要使用PKI在建立连接时对通信双方进行身份认证。IETF的传输层安全(TLS)协议(RFC 2246 1999)及无线访问协议(WAP)论坛的无线传输层安全协议(WTIS)都是SSI的后续发展。协议包括两个层次:其较低的SSL记录层协议位于传输协 议TCP/IP之上。SSL记录协议用来对其上层的协议进行封装。握手协议就在这些被封装的上层协议之中,它允许客户端与服务器彼此认证对方;并且在应用 协议发出或收到第一个数据之前协商加密算法和加密密钥。这样做的原因就是保证应用协议的独立性,使低级协议对高级协议是透明的。 目前,Internet上对7层网络模型的每一层都已提出了相应的加密协议。在所有的这些协议中,会话层的SSL和应用层的SET与电子商务的应用关系最为密切。 因此,SSL已成为用户与Internet之间进行保密通信的事实标准,支持SSL也已经成为每个浏览器的内置功能。SSL包括握手和记录两个子协议。这两个子协议均可以提供与应用尤其是与HTTP的连接。这种连接经过了认证和保密,可以防止篡改。 SSL可以嵌入Internet的处理栈内,位于TCP/IP之上和应用层之下,而不会对其他协议层造成太大影响。SSL同样能够与其他 Internet应用一起使用,如Intranet和Extranet访问、应用安全、无线应用及Web服务等。通过对离开浏览器的数据进行加密,并在其 进入数据中心之后进行解密,SSL实现对Internet的数据通信进行保护。 SSL对话是由连接和应用组成的。在连接对话期间,客户机和服务器交换证书并就安全参数进行磋商。如果客户机接受服务器的证书,就会建立一个主密钥,这个主密钥将被用来对随后进行的通信进行加密。 在应用对话期间,客户机和服务器之间可以安全地传递信息,如信用卡号、股票交易数据、个人医疗数据以及其他敏感数据。SSL提供以下三种机制以确保 安全:认证,能够对服务器或连接各端的客户机和服务器进行认证;保密,能够对信息进行加密,只有交流信息的双方才能访问并理解加密信息;完整性,可以防止 信息内容在未经检测的情况下被修改,接收方可以确信他们收到的是无法进行修改的信息。 保密通信过程中的一个关键步骤就是对双方身份进行认证。SSL握手子协议就具有之一功能。服务器与客户机之间的以下举动可以使认证动作变得更快捷: 客户机对服务器进行认证;让客户机和服务器选择所需要的密码算法和安全水平;服务器有选择地对客户机进行认证;使用公共密钥密码生成可以共享的密钥,随后 利用这些密钥传输真正的保密数据;建立SSL连接。 SSL记录子协议负责加密数据的传送。以下动作可以使数据传送变得更快捷:数据被分解成小的可以使用的块,称作片断;通过一个具有完整性的“包装纸”使数据不被修改;数据加密后就可以贴上“包装纸”了。 以往,电子商务的许多应用是不进行客户机认证的。不过,目前各公司都将SSL作为一项协议供数据中心里的新应用使用。对于基于SSL的VPN,以及那些需要对终端用户进行额外认证的应用而言,客户机认证正在成为一种趋势。 客户机认证使得服务器可以使用与允许客户机对服务器进行认证相同的技术,在协议之内对用户身份进行确认。尽管两者认证的信息流极为不同,但是从概念 上来看,其过程与服务器认证是相同的。这一过程同样也会在SSL握手子协议之内进行。在这种情况下,客户机必须向服务器提供有效的证书。服务器可以通过使 用公共密钥密码学的标准技术对终端用户的有效性进行认证。 SSL所具有的灵活性和强劲的生命力使其无所不在。可以预言的是,在SSL成为企业应用、无线访问设备、Web服务以及安全访问管理的关键性协议的同时,SSL的应用将继续大幅度增长。下面论述SSL原理和工作过程。 1 SSL协议概述 1.SSL协议的作用 SSL是提供Internet上的通信隐私性的安全协议。该协议允许客户端/服务器应用之间进行防窃听、防消息篡改及防消息伪造的安全的通信。
TCP/IP 是整个Internet数据传输和通信所使用的最基本的控制协议,在它之上还有HTTP(Hypertext Transfer Protocol)、LDAP(Lightweight Directory Access Protoco1)、IMAP(Internet Messaging Access Protocol)等应用层传输协议。而SSL是位于TCP/IP和各种应用层协议之间的一种数据安全协议(如图1l-8所示)。SSL协议可以有效地避 免网上信息的偷听、篡改及信息的伪造。
 
\
图11-8 SSL协议的位置
SSL标准的关键是要解决以下几个问题。 (1)客户对服务器的身份确认:SSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性(检验服务器的证书和ID的合法性)。对于用户服务器身份的确认与否是非常重要的,因为客户可能向服务器发送自己的信用卡密码。 (2)服务器对客户的身份确认:允许SSL服务器确认客户的身份,SSL协议允许客户服务器的软件通过公钥技术和可信赖的证书来确认客户的身份(客户的证书)。对于服务器客户身份的确认与否是非常重要的,因为网上银行可能要向客户发送机密的金融信息。 (3)建立起服务器和客户之间安全的数据通道:SSL要求客户和服务器之间所有的发送数据都被发送端加密,所有的接收数据都被接收端解密,这样才能提供一个高水平的安全保证。同时SSL协议会在传输过程中检查数据是否被中途修改。 2.SSL协议的目标 按它们的优先级,SSL协议的目标如下。 (1)在通信双方之间利用加密的SSL消息建立安全的连接。 (2)互操作性。通信双方的程序是独立的,即一方可以在不知道对方程序编码的情况下,利用SSL成功地交换加密参数。 注意:并不是所有的SSL实例(甚至在同一应用程序内)都可以成功地连接。例如,如果服务器支持一特定的硬件令牌(token),而客户端不能访问此令牌,则连接不会成功。 (3)可扩展性。SSL寻求提供一种框架结构,在此框架结构中,在不对协议进行大的修改的情况下,可以在必要时加入新的公钥算法和单钥算法。这样做还可以实现两个子目标: 避免产生新协议的需要,因而进一步避免了产生新的不足的可能性; 避免了实现一完整的安全协议的需要。 相对于有效性加密操作,尤其是公钥加密,对CPU来说是一种很耗时的事,因此SSL协议引入一个可选的对话缓存(Cache)来减少从头开始的连接数目。同时,它还注意减少网络的活动。 3.SSL主要组成 SSL协议由两层组成,分别是握手协议层和记录协议层。握手协议建立在记录协议之上,此外,还有警告协议、更改密码说明协议和应用数据协议等对话协议和管理提供支持的子协议。SSL协议的组成及其TCP/IP中的位置如图11-9所示。  
\
图11-9 SSL协议的组成及其在TCP/IP中的位置
在图11-9中的每一层,可以包括长度、描述和内容字段。SSL发出消息是将数据分为可管理的块、压缩、使用MAC和加密并发出加密的结果。接受消息需要解密、验证、解压和重组,再把结果发往更高一层的客户。 (1)记录协议 具体实现压缩/解压缩、加密/解密、计算机MAC等与安全有关的操作。建立之上的还有: 更改密码说明协议:此协议由一条消息组成,可由客户端或服务器发送,通知接收方后面的记录将被新协商的密码说明和密钥保护;接收方获得此消息后,立即指示记录层把即将读状态变成当前读状态;发送方发送此消息后,应立即指示记录层把即将写状态变成当前写状态。 警告协议:警告消息传达消息的严重性并描述警告。一个致命的警告将立即终止连接。与其他消息一样,警告消息在当前状态下被加密和压缩。警告消息有以下几种: 关闭通知消息、意外消息、错误记录MAC消息、解压失败消息、握手失败消息、无证书消息、错误证书消息、不支持的证书消息、证书撤回消息、证书过期消息、证书未知和参数非法消息等。 应用数据协议:将应用数据直接传递给记录协议。 (2)握手协议 SSL握手协议是用来在客户端和服务器端传输应用数据而建立的安全通信机制。 算法协商:首次通信时,双方通过握手协议协商密钥加密算法、数据加密算法和文摘算法。 身份验证:在密钥协商完成后,客户端与服务器端通过证书互相验证对方的身份。 确定密钥:最后使用协商好的密钥交换算法产生一个只有双方知道的秘密信息,客户端和服务器端各自根据这个秘密信息确定数据加密算法的参数(一般是密钥)。由此可见,SSL协议是端对端的通信安全协议。
顶一下(0) 踩一下(0)
Top_arrow
武松娱乐注册