IPSec VPN原理(上) – 作者:Deutsh

VPN

Virtual Private Network:虚拟专用网络,通过对报文进行加密,建立一条逻辑上的虚拟专线,宏观上看,就像一条建立在位于几个不同地方的企业/个人等间的专有通信线路,但并不需要真正的铺设物理线路

优点

VPN是一种建立在实际网络基础上的一种功能性网络,它在克服了专线昂贵的费用、公网的弱安全性的同时保证了经公网传输信息的完整性、真实性和私有性

专线:运营商网络中一般通过MPLS VPN实现专线。企业可以通过租赁运营商的专线来实现不同地区企业内网的互访。专线可以看成时实际直连在一起的网络,而普通VPN则是逻辑上直连,实际上只是将加密报文放到公网传输

分类

site to site VPN

站点到站点的VPN:网关与网关(根据厂家、使用场景不同又称为:L2L、S2S、lan to lan、site to site)

IPSec、GRE、GRE over IPSec、DSVPN、MPLS NPN都属于站点到站点到站点的VPN

实际应用场景中:企业总公司与分公司间的VPN就属于site to site VPN

point to site VPN

点(客户端client)到站点的VPN、远程拨号访问:主机与网关

SSLVPN(可以限定登录用户对内网资源的访问权限)、IPSec、PPTP、L2TP+IPSec

实际应用场景中:远程办公人员通过账号密码(通过专门的VPN软件)登陆公司的VPN访问企业内部资源

VPN使用的安全框架

目前VPN主要有两种安全框架:IPSec安全标准框架(最为常见)SSL传输层安全性

IPSec

IPSec不是一个单独的协议,它给出了应用于IP层上层网络数据安全的一套体系结构

IPSec的组成部分

AH(Authentication Header):认证头

ESP(Encapsulating Security Payload):封装安全载荷

IKE(Internet Key Exchange):因特网密钥交换协议

以及一些用于网络认证及加密的算法等

AH和ESP用于提供安全服务,IKE用于密钥交换

IPSec提供的安全机制

IPSec提供两种安全机制:认证、加密

认证

认证的目的在于:防止消息在传递过程中被篡改并确认发送方的身份

完整性、可用性

加密

加密的目的自于:通过对数据进行加密,防止数据在传输过程中被监听

机密性

IPSec安全机制的实现

IPSec中

AH协议定义了认证的应用方法,提供数据源认证和完整性认证;

ESP协议定义了加密和可选认证的应用方法,提供数据可靠性

AH协议

AH协议只能提供数据源认证、数据完整性校验与防报文重放的功能,不提供加密的功能

AH协议(IP协议号为51)

原理

通过在每一个数据包中标准IP头后添加一个身份验证报文头,对数据提供完整性保护

可选的认证算法有:MD5(Message Digest)、SHA一系列(128 256等)等。

认证算法优劣(都为Hash算法):MD5算法的计算速度较快,但其抗碰撞性低,已不安全;SHA速度略慢,但SHA-256目前很安全

ESP协议

ESP协议不但可以提供数据加密功能,也可以提供数据源认证、数据完整性校验和防重放功能

ESP协议(IP协议号50)

原理

在每一个数据包的标准IP头后面添加一个ESP报文头,并在数据包后面追加一个ESP尾

ESP将需要保护的用户数据进行加密后封装到IP报文中,保证数据的机密性(AH无此功能)

认证算法有:MD5、SHA等等

加密算法有:DES、3DES、AES(其中AES的安全性最高,3DES其次)

ESP与AH的区别与联系

只有ESP可以提供加密属性,但AH与ESP都可以提供认证服务,不过,AH提供的认证服务强于ESP。

所以可以采用 AH+ESP 的联合使用方法

对报文进行ESP封装,再对报文进行AH封装,封装后的报文由内而外依次是:原始IP报文、ESP头、AH头、外部IP头

IPSec工作模式

IPSec有两种工作模式:Tunnel(隧道)模式Transport(传输)模式

图片[1]-IPSec VPN原理(上) – 作者:Deutsh-安全小百科图片来源于网络

传输模式

只用传输层数据计算AH或ESP认证头,AH或ESP头、被ESP加密的数据放置在原IP包头后面(不对实际想建立连接的两个内网地址进行加密)

由于不对实际IP包头进行加密,所以单独传输模式应用较少(不安全),一般只在企业内部使用或配合其他VPN使用(适合于 point to site)

隧道模式

用户的整个IP数据包被用来计算AH或ESP认证头,AH或ESP认证头与ESP加密的用户数据封装在一个新的IP数据包中(实际想通信的两个内网IP地址也会被加密封装在一个新的IP数据包中),最终再在外部打上公网IP,保证了安全性(适合于site to site)

SA——安全联盟(安全关联)

IPSec的两个端点被称为IPSec对等体(peer),要想在两个对等体间实现数据的安全传输,就要在这两个对等体间建立安全关联SA

SA(Security Association),SA是IPSec的基础,也是IPSec的本质。

SA种类

IKE协商两种SA:IKE SA(双向SA)、IPSec SA(单向SA)

SA组成

SA由三元组唯一标识:安全索引—SPI、目的IP地址、使用的协议

SPI(Security Parameter Index):唯一标识SA的32比特数值(手动配置SA需要手动配置SPI、通过IKE协商随机生成)

SA作用

SA用于在对等体间约定要使用哪些因素:使用哪种协议(AH、ESP、AH+ESP)、协议的封装模式(传输模式、隧道模式)、加密算法(DES、3DES、AES等等)、共享密钥的交互(不会直接发送共享密钥,通过DH算法实现交互一些细节来计算出)、密钥的生存周期等等

SA特点

单向(IPSec SA单向)

要想在两个对等体间建立双向通信,最少需要建立两个SA,对两个方向(去方向与回方向)的数据流进行保护

且如果使用AH+ESP的认证方式,则对等体间必须针对每个协议建立一的独立的SA

具有生存周期

生存周期到达指定时间/流量时,SA就会失效,SA在失效前,IKE将为IPSec协商建立新的SA,防止SA失效后影响通信

SA是具有生存周期的,且只对通过IKE协商建立的SA有效(手工方式建立的SA永不老化)

IKE协商建立的SA的生存周期有两种定义方式:

1:基于时间的生存周期:定义了一个SA从建立到失效的时间

2:基于流量的生存周期:定义了一个SA允许处理的最大流量

来源:freebuf.com 2020-11-21 12:10:38 by: Deutsh

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论