36

IPsec入门篇讲解(第一篇)-栗子老师的博客

 4 years ago
source link: https://blog.51cto.com/13817711/2478622
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

IPsec概述

 在Internet的传输中,绝大部分数据的内容都是明文传输的,这样就会存在很多潜在的危险,比如:密码、银行帐户的信息被窃取、篡改,用户的身份被冒充,遭受网络恶意***等。网络中部署IPSec后,可对传输的数据进行保护处理,降低信息泄露的风险
 IPsec (Internet Protocol Security)是一个工业标准网络安全协议(公有协议),它并不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合,为IP网络通信提供透明的安全服务,保护TCP/IP通信免遭窃听和篡改,可以有效抵御网络***,同时保持易用性
 IPsec是一个公有协议 华为 思科 华三都支持支持该协议
 IPsec是一个协议框架 不是单独的一个协议
 IPsec可以使两个公司之间在internet网络传输数据时 保护数据安全性
 IPSec通过验证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)两个安全协议实现IP报文的安全保护
 AH是报文头验证协议,主要提供数据源验证、数据完整性验证和防报文重放功能,不提供加密功能
 ESP是封装安全载荷协议,主要提供加密、数据源验证、数据完整性验证和防报文重放功能
 AH和ESP都能够提供数据源验证和数据完整性验证,使用的验证算法为MD5(Message Digest 5)、SHA1(Secure Hash Algorithm 1)、SHA2-256、SHA2-384和SHA2-512,以及SM3(Senior Middle 3)算法
 ESP还能够对IP报文内容进行加密,使用的加密算法为对称加密算法,包括DES(Data Encryption Standard)、3DES(Triple Data Encryption Standard)、AES(Advanced Encryption Standard)、SM1、SM4
 MD5和SHA1验证算法存在安全隐患,建议优先使用SHA2或SM3算法
 DES和3DES加密算法存在安全隐患,建议优先使用AES、SM1或SM4算法

IPsec入门篇讲解(第一篇)
IPsec入门篇讲解(第一篇)

 加密是一种将数据按照某种算法从明文转换成密文的过程,接收方只有在拥有正确的密钥的情况下才能对密文进行解密,从而保证数据的机密性,防止数据在传输过程中被窃听。IPSec工作过程中涉及数据加密和协议消息加密两种加密情况
 常用的对称加密算法包括
 数据加密标准DES(Data Encryption Standard)DES是由美国国家标准与技术研究院(NIST)开发的。它使用56位的密钥对一个64位的明文块进行加密
 3DES(Triple Data Encryption Standard)3DES是一种增强型的DES标准,它在需要保护的数据上使用3次DES,即使用三个不同的56位的DES密钥(共168位密钥)对明文进行加密 3DES与DES相比,3DES具有更高的安全性,但其加密数据的速度要比DES慢得多
 先进加密标准AES(Advanced Encryption Standard)AES被设计用来替代3DES,提供更快和更安全的加密功能。AES可以采用三种密钥:AES-128、AES-192和AES-256,其密钥长度分为128位、192位、256位 随着密钥长度的提升,加密算法的保密及安全性要求越高,但计算速度也越慢。一般情况下128bit就可以充分满足安全需求
 国密算法(SM1和SM4)国密算法是由国家密码管理局编制的一种商用密码分组标准对称算法,国密算法的分组长度和密钥长度都为128bit 在安全级别要求较高的情况下,使用SM1或SM4国密算法可以充分满足加密需求
 协议消息加密用于IKE协商阶段。协议消息加密所用的算法也是DES、3DES、AES、SM1和SM4等对称加密算法。用于加密的对称密钥通过IKE协议自动协商生成

 验证指IP通信的接收方确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。前者称为数据源验证,后者称为数据完整性验证,IPSec通过这两种验证保证数据真实可靠。数据源验证和数据完整性验证这两种安全服务总是绑定在一起提供的
 虽然加密后的数据只能通过原始的加密密钥进行解密,但是无法验证解密后的信息是否是原始发送的信息。另外加密和解密的过程非常的消耗CPU,恶意用户可能会通过发送欺骗数据包,占用CPU资源。HMAC(Keyed-Hash Message Authentication Code)功能通过比较数字签名进行数据包完整性和真实性验证,这个过程消耗的CPU资源非常少,效率非常高。因此,IPSec采用HMAC功能进行验证
 在IPSec发送方,加密和验证通常配合使用。加密后的报文经HMAC生成数字签名,IP报文和数字签名同时发给对端(数字签名填写在AH和ESP报文头的完整性校验值ICV字段;在IPSec接收方,通过比较数字签名进行数据完整性和真实性验证,验证不通过的报文直接丢弃,验证通过的报文再进行解密。加密和HMAC验证配合使用

IPsec入门篇讲解(第一篇)

 常用的验证算法包括
 MD5 消息摘要MD5(Message Digest 5)在RFC1321中有明文规定。输入任意长度的消息,MD5产生128位的签名 MD5比SHA更快,但是安全性稍差
 SHA1 安全散列算法SHA(Secure Hash Algorithm)是由NIST开发的。在1994年对原始的HMAC功能进行了修订,被称为SHA1。SHA1在RFC2404中描述。输入长度小于264bit的消息,SHA1产生160位的消息摘要 SHA1比MD5要慢,但是更安全。因为它的签名比较长,具有更强大的防攻破功能,并可以更有效的发现共享的密钥
 SHA2 SHA2是SHA1的加强版本,SHA2算法相对于SHA1加密数据长度有所上升,安全性能要远远高于SHA1。SHA2算法包括SHA2-256、SHA2-384和SHA2-512,密钥长度分别为256位、384位和512位 随着密钥长度的上升,认证算法安全强度更高,但计算速度越慢。一般情况下256位就可以充分满足安全需求
 SM3 国密算法SM3(Senior Middle 3)是国家密码管理局编制的商用算法,用于密码应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求

 IPSec使用认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)两种安全协议来传输和封装数据,提供认证或加密等安全服务(华为默认的协议为ESP协议)

ESP协议

 ESP是一种基于IP的网络层协议,协议号为50,其工作原理是在每一个数据包的标准IP报头后面添加一个ESP报(ESP Header),并在数据包后面追加一个ESP尾(ESP Tail和ESP Auth data)。与AH不同是,ESP尾中ESP Auth data用于对数据提供来源认证和完整性校验,并且ESP将数据中的有效载荷进行加密后再封装到数据包中,以保证数据的机密性,但ESP没有对IP头的内容进行保护
 在IP源头部后面插入ESP头部,同时生成ESP的尾部
 加密部分: 对IP的负载进行加密
 认证部分: ESP头部到ESP尾部 产生ESP认证数据放入ESP报文的尾部

IPsec入门篇讲解(第一篇)
IPsec入门篇讲解(第一篇)

 SPI:代表唯一的
 序列号:防止重放***

IPsec入门篇讲解(第一篇)

 AH是一种基于IP的传输层协议,协议号为51 其工作原理是在每一个数据包的标准IP报头后面添加一个AH报头(AH Header)。AH对数据包和认证密钥进行Hash计算,接收方收到带有计算结果的数据包后,执行同样的Hash计算并与原计算结果比较,传输过程中对数据的任何更改将使计算结果无效,这样就提供了数据来源认证和数据完整性校验
 注意: 对整个头部进行验证,包含源IP头部
 ESP----负载安全协议 提供加密和验证
 AH-----认证头部 只能做认证 不提供加密

IPsec入门篇讲解(第一篇)
IPsec入门篇讲解(第一篇)
IPsec入门篇讲解(第一篇)

ESP和AH协议对比

IPsec入门篇讲解(第一篇)

 从表中可以看出两个协议各有优缺点,AH协议不提供数据加密功能,ESP的验证范围不包括IP头,故在安全性要求较高的场景中可以考虑联合使用AH协议和ESP协议

 封装模式是指将AH或ESP相关的字段插入到原始IP报文中,以实现对报文的认证和加密,封装模式有传输模式和隧道模式两种

 在传输模式下,AH报头 或ESP报头被插入到IP头之后但在传输层协议之前。传输模式保护原始数据包的有效负载
 Transport Mode 示意图

IPsec入门篇讲解(第一篇)

 在隧道模式下,AH报头或ESP报头插在原始IP头之前,另外生成一个新IP头(新IP头为对等体的IP地址)放到AH报头或ESP报头之前。隧道模式在两台主机端到端连接的情况下,隐藏了内网主机的IP地址,保护整个原始数据包的安全
 Tunnel Mode 示意图

IPsec入门篇讲解(第一篇)

 选择隧道模式还是传输模式可从以下方面考虑
 从安全性来讲,隧道模式优于传输模式。它可以完全地对原始IP数据包进行认证和加密,并且可以使用对等体的IP地址来隐藏客户机的IP地址
 从性能来讲,因为隧道模式有一个额外的IP头,所以它将比传输模式占用更多带宽

判断使用传输模式还是隧道的方法

隧道模式判断方式

  1. 通信点不等于加密点
  2. 通信点到公网能不能被路由,如果不能被路由,就隧道模式
    IPsec入门篇讲解(第一篇)
    IPsec入门篇讲解(第一篇)

    传输模式判断方式

  3. 通信点等于加密点
  4. 通信点到公网能不能被路由,如果能被路由,就传输模式
    IPsec入门篇讲解(第一篇)

    有效期---协商

    双方会协商一个较小的有效期


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK