IPSEC-VPN原理及配置——蘑菇课堂

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1IPSec协议概述IPSec(IPSecurity)是IETF制定的一系列协议,以保证在Internet上传送数据的安全保密性能。特定的通信方之间,在IP层通过加密与数据源验证来保证数据包在Internet上传输时的私有性、完整性和真实性。IPSec通过两个安全协议来实现对IP数据报或上层协议的保护。而且此实现不会对用户主机或其它Internet组件造成影响。用户还可以选择不同的加密算法而不会影响其它部分的实现。2IPSec协议的体系结构IPsec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构:1.提供安全服务AH(AuthenticationHeader,认证头)安全协议ESP(EncapsulatingSecurityPayload,封装安全载荷)安全协议2.IKE(InternetKeyExchange,因特网密钥交换)密钥交换协议3.用于网络认证及加密的一些算法等。工作模式1.传输模式:实现端到端保护2.隧道模式:实现站点到站点保护IPsec提供了两种安全机制:认证和加密。3IPSec协议概述AH(AuthenticationHeader)是报文验证头协议,主要提供数据源验证、数据完整性校验和防报文重放功能。ESPEncapsulatingSecurityPayload,是封装安全载荷协议,它除提供AH协议的所有功能之外,还可提供对IP报文的加密功能。AH和ESP可以单独使用也可以同时使用。IPSec提供的安全服务需要用到共享密钥因特网密钥交换协议(InternetKeyExchangeIKE),为IPSec提供了自动协商交换密钥建立和维护安全联盟的服务,能够简化IPSec的使用和管理。4IPSec提供的安全服务私有性/机密性:IPSec在传输数据包之前,将其加密以保证数据的私有性。完整性:IPSec在目的地要验证数据包,以保证该数据包在传输过程中没有被修改,使用单向散列函数实现。真实性:IPSec端要验证所有受IPSec保护的数据包。防重放:IPSec防止了数据包被捕捉,并重新投放到网上,即目的地会拒绝老的或重复的数据包它通过报文的序列号实现。身份验证:判断一份数据是否源于正确的创建者,单向散列函数、数字签名和公开密钥加密。密钥和密钥交换。5VPN技术加密算法:DES(DataEncryptionStandard)、3DES、AES(AdvancedEncryptionStandard),等对称加密算法:块加密算法、流加密算法非对称加密算法密钥交换数据报文验证HMACMD5和SHA156与IPSec实现相关的几个概念数据流(DataFlow):为一组具有某些共同特征的数据的集合,由源地址/掩码、目的地址/掩码、IP报文中封装上层协议的协议号、源端口号、目的端口号等来规定。通常,一个数据流采用一个访问控制列表(access-list)来定义,经访问控制列表匹配的所有报文在逻辑上作为一个数据流。一个数据流可以是两台主机之间单一的TCP连接,也可以是两个子网之间所有的数据流量。IPSec能够对不同的数据流施加不同的安全保护,例如对不同的数据流使用不同的安全协议、算法或密钥。7对称加密算法双方共享一个密钥加密方解密方奉天承运皇帝诏曰……共享密钥yHidYTVdkd;AOt……yHidYTVdkd;AOt……奉天承运皇帝诏曰……加密解密共享密钥8非对称加密算法加密方解密方奉天承运皇帝诏曰……解密方的公开密钥yHidYTVdkd;AOt……yHidYTVdkd;AOt……奉天承运皇帝诏曰……加密解密解密方的私有密钥加密和解密的密钥不同9单向散列函数发送方接收方奉天承运皇帝诏曰……共享密钥yYaIPyqZo[yWItyYaIPyqZo[yWIt单向散列函数共享密钥单向散列函数yYaIPyqZo[yWIt奉天承运皇帝诏曰……奉天承运皇帝诏曰……yYaIPyqZo[yWIt?10对称加密算法对称加密算法的原理DES3DESAESInternet明文数据“m”②加密函数E(k,m)=c③解密函数D(k,c)=m明文数据“m”①共享密钥k10密文数据“c”11非对称加密算法非对称加密算法的原理DH算法(Diffie-Hellman,迪菲-赫尔曼,RSA算法)通信双方在不传送密钥的情况下通过交换一些数据,计算出共享的密钥。Internet②公钥加密E(p,m)=c③私钥解密D(q,c)=m①将公钥给对方11明文数据“m”密文数据“c”明文数据“m”私钥始终未在网上传输12加密算法的应用问题使用对称加密算法,密钥可能被窃听使用非对称加密算法,计算复杂,效率太低,影响传输速度解决方案通过非对称加密算法加密对称加密算法的密钥然后再用对称加密算法加密实际要传输的数据1213数字签名数据报文验证HMAC实现数据完整性验证实现身份验证InternetABB13+K1加密后的数据“d”数字签名Hash算法加密后的数据数字签名+K1加密后的数据+K1Hash算法是否相同如果数据被篡改将无法得到相同的数字签名加密后的用户信息身份验证使用用户信息经历相同的过程通信双方的身份是靠判断用户信息的真假而被验证的吗?MD5SHA14与IPSec实现相关的几个概念a.安全网关:指具有IPsec功能的网关设备(安全加密路由器),安全网关之间可以利用IPsec对数据进行安全保护,保证数据不被偷窥或篡改。b.安全策略(CryptoMap):由用户手工配置,规定对什么样的数据流采用什么样的安全措施。对数据流的定义是通过在一个访问控制列表中配置多条规则来实现,在安全策略中引用这个访问控制列表来确定需要进行保护的数据流。一条安全策略由“名字”和“顺序号”共同唯一确定。c.安全策略库:是所有具有相同名字的安全策略的集合,当一个接口需要对外建立多条安全隧道时,必须采用此种形式。一个原则需要明确,任何端口都只能应用一个安全策略库,任何一个安全策略库同时都只能应用在一个端口之上。15IPSecSAd、IPsec的两个端点被称为是IPsec对等体,要在两个对等体(安全网关)之间实现数据的安全传输,就要在两者之间建立安全关联/联盟(SecurityAssociation,SA)。SA是IPsec的基础,也是IPsec的本质。SA是通信对等体间对某些要素的约定,如,使用哪种协议(AH、ESP还是两者结合使用)、协议的封装模式(传输模式和隧道模式)、加密算法(DES、3DES和AES)、特定流中保护数据的共享密钥以及密钥的生存周期等。SA(SecurityAssociation,安全联盟/关联)由一个(SPI,IP目的地址,安全协议标识符)三元组唯一标识;决定了对报文进行何种处理:协议、算法、密钥;每个IPSecSA都是单向的,具有生存周期的;手工建立(永久)或由IKE协商生成;16IPSecSAIPSec对数据流提供的安全服务通过SA来实现。SPD(SecurityPolicyDatabase)在RFC4301中定义,保存安全策略,在处理进入和外出包时,需查阅SPD,以判断为这个包提供哪些安全服务,具体策略包括丢弃、直接转发或应用安全服务处理等。SAD(SecurityAssociationDatabase)维护IPSec协议中的所有SA。17与IPSec实现相关的几个概念e.安全隧道:是点对点的安全“连接”。通过在安全隧道的两端,本端和对端,配置(或者自动生成)对应的安全联盟,实现在本端对IP报文加密,在对端解密。安全隧道可以跨越多台路由器和多个网络,只有安全隧道的两端共享了秘密,对于隧道中间的路由器和网络,所有的加密报文和普通报文一样被透明地转发。f.安全参数索引(SPI):是一个32比特的数值,在每一个IPsec报文中都携带有该数值。安全参数索引SPI和IP目的地址、安全协议号一起组成一个三元组,来唯一标识一个特定的安全联盟。(手工配置安全联盟时需要手工指定安全参数索引SPI,为保证安全联盟的唯一性,必须使用不同的安全参数索引来配置安全联盟;IKE协商产生安全联盟时使用随机数来生成安全参数索引SPI)18IPSecVPN隧道模式(TunnelMode)和传输模式(TransportMode)传输模式适用于两台主机之间的数据保护隧道模式适宜于建立安全VPN隧道data为传输层数据19IPSec传输模式RTARTBIPIPXIPX站点A站点B普通报文加密报文20VPN的模式20InternetAB传输模式封装模式相对简单,传输效率较高IP包头未被保护IP包头有效载荷IP包头VPN头有效载荷VPN尾IP包头VPN头有效载荷VPN尾IP包头VPN头IP包头有效载荷VPN尾21IPSec隧道模式RTARTBIPIPXIPXIPSecTunnel站点A站点B普通报文加密报文22新IP头VPN头IP包头有效载荷VPN尾新IP头VPN头VPN的模式22InternetAB隧道模式IP包头被保护IP包头有效载荷被保护的新IP头VPN头IP包头有效载荷VPN尾VPN尾23IPsec加密传输流程一个IP包到达了安全加密路由器的端口1,路由器首先根据此数据包的源目的IP地址、端口号、协议号、查本端口引用的访问列表允许通过(假设),再察路由表,然后将此数据包送到指定的端口2。数据包到达此端口2后,访问列表将数据包的IP包头提取出来与访问控制列表对照,发现此数据包属于需要加密之列,便将其交给IPsec来处理。IPsec首先根据访问列表对照的结果,将对应的SA的信息与包头放到IPsec队列中排队,逐一处理。之后,IPsec将根据该数据包指定的SA的配置进行如下操作:24IPsec加密传输流程a.检查此SA所用的传输模式,如果是TUNNEL模式,则将原IP包整个当作数据交给“加密部分”;如果是TRANSPORT模式则将IP包头提出来只送数据段到“加密部分”。b.不论是TUNNEL还是TRANSPORT模式,加密部分处理送过来的数据的方式是一致的。此阶段有两种方式供选择:(由SA决定,具体是由SA引用的转换方式配置决定的):一种是AH协议方式;另外一种是ESP协议方式。AH即(AuthenticationHeader)报文验证头协议,主要提供的功能有数据源验证数据完整性校验和防报文重放功能。ESP(EncapsulatingSecurity)Payload报文安全封装协议在此之外还提供了对IP报文加密的功能。25IPsec加密传输流程c.加密部分的工作完成后,IPsec还要进行最后一步工作,就是根据转换方式的不同(TUNNEL/TRANSPORT)为新的“数据”打上一个新的IP包头。对于TUNNEL模式,IPsec会将SA配置中设置的TUNNEL的入口与出口IP地址作为新的源与目的地址,根据使用的协议产生一个新的IP包头;TRANSPORT模式中,IPsec将把原来的IP包头直接放在数据的前面使用,但协议号已经修改成了AH或者ESP。这样发端的工作就完成了收端的工作与之类似只是处理的方式相反。26IPSec处理流程查找SPD策略数据包入站查找IPSecSA查找IKESA创建IKESA创建IPSecSA执行安全服务(AH/ESP/AH+ESP)转发丢弃旁路安全服务丢弃需要提供安全服务没有找到没有找到找到找到27AHAH(AuthenticationHeader)RFC2402数据的完整性校验和源验证有限的抗重播能力不能提供数据加密功能28AH头格式NextHeaderPayloadLenRESERVEDSecurityParametersIndex(SPI)SequenceNumberFieldAuthenticationData(variable)081631AH用IP协议号51标识29AH报头包含下列字段:下一个报头:使用IP协议ID来标识IP负载。例如,值6表示TCP。负载长度安全参数索引(SPI):与目标地址及安全协议(AH或ESP)

1 / 100
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功