IPSec的三个协议和两种模式详解 |
您所在的位置:网站首页 › ieee1284标准定义的工作模式 › IPSec的三个协议和两种模式详解 |
一、IPSec简介
IPSec (IP Security) 是IETF定义的一组协议,用于增强IP网络的安全性。IPSec 协议集 提供了下面的安全服务。 数据完整性(Data Integrity). 保持数据的一致性, 防止未授权地生成、修改或删除 数据。认证(Authentication)。 保证接收的数据与发送的相同,保证实际发送者就是声称的 发送者。保密性(Confidentiality)。 传输的数据是经过加密的,只有预定的接收者知道发送的 内容。应用透明的安全性(Application-transparent Security)。IPSec的安全头插入在标准的IP 头和上层协议(例如TCP)之间,任何网络服务和网络应用都可以不经修改地从标准 IP转向IPSec,同时,IPSec 通信也可以透明地通过现有的IP路由器。 二、IPSec的三个重要协议IPSec的功能可以划分为下面3类。 认证头(Authentication Header, AH) :用于数据完整性认证和数据源认证。封装安全负荷( Encapsulating Security Payload, ESP) :提供数据保密性和数据完整 性认证,ESP 也包括了防止重放攻击的顺序号。Internet密钥交换协议( Internet Key Exchange, IKE) :用于生成和分发在ESP和AH . 中使用的密钥,IKE也对远程系统进行初始认证。 2.1、AH协议 AH协议概念IPSec认证头提供了数据完整性和数据源认证,即用来保证传输的IP报文的来源可信和数据不被篡改,但它并不提供加密功能。AH协议在每个数据包的标准IP报文头后面添加一个AH报文头,AH协议对报文的完整性校验的范围是整个IP报文。AH包含了对称密钥的散列函数,使得第三方无法修改传输中的数据。IPSec支持以下两个认证方法: HMAC-SHA1:128比特密钥HMAC-MD5:160比特密钥 AH头部格式AH协议是被IP协议封装的协议之一,如果IP协议头部的“下一个头”字段是51,则IP包的载荷就是AH协议,在IP包头后面跟的就是AH协议头部。(图片来源:https://blog.csdn.net/lyg920/article/details/51658295) IPSec封装安全负荷提供了数据加密功能。ESP利用对称密钥对IP数据(例如TCP包)进 行加密,支持的加密算法如下。 DES-CBC (Data Encryption Standard Cipher Block Chaining Mode): 56 位密钥。3DES-CBC (三重DES CBC): 56位密钥。.AES128-CBC ( Advanced Encryption Standard CBC): 128 位密钥。 在传输模式,IP 头没有加密,只对IP数据进行了加密。 ESP头部格式ESP协议是被IP协议封装的协议之一。如果IP协议头部的“下一个头”字段是50,IP包的载荷就是ESP协议,在IP包头后面跟的就是ESP协议头部。ESP报文头部如3.5.3所示,其中ESP头部包含SPI和序列号字段,ESP尾部包含填充项,填充长度和下一个头字段。 IKE协议是一种基于UDP的应用层协议,它主要用于SA协商和密钥管理。IKE协议属于一种混合型协议,它综合了ISAKMP(Internet Security Association and Key Management Protocol)、Oakley协议和SKEME协议这三个协议。其中,ISAKMP定义了IKE SA的建立过程,Oakley和SKEME协议的核心是DH(Diffie-Hellman)算法,主要用于在Internet上安全地分发密钥、验证身份,以保证数据传输的安全性。IKE SA和IPSec SA需要的加密密钥和验证密钥都是通过DH算法生成的,它还支持密钥动态刷新。IKE协议分IKEv1和IKEv2两个版本,IKEv2与IKEv1相比,修复了多处公认的密码学方面的安全漏洞,提高了安全性能,同时简化了安全联盟的协商过程,提高了协商效率。 2.3.2 IKE的用途: 为IPSec协商生成密钥,供AH/ESP加解密和验证使用在IPSec通信双方之间,动态地建立安全关联(SA),对SA进行管理和维护 2.3.5 IKE的安全机制IKE具有一套自保护机制,可以在不安全的网络上安全地认证身份、分发密钥、建立IPsec SA 身份认证 身份认证确认通信双方的身份(对等体的IP地址或名称),包括预共享密钥PSK(pre-shared key)认证、数字证书RSA(rsa-signature)认证和数字信封认证。 在预共享密钥认证中,认证字作为一个输入来产生密钥,通信双方采用共享的密钥对报文进行Hash计算,判断双方的计算结果是否相同。如果相同,则认证通过;否则认证失败。在数字证书认证中,通信双方使用CA证书进行数字证书合法性验证,双方各有自己的公钥(网络上传输)和私钥(自己持有)。发送方对原始报文进行Hash计算,并用自己的私钥对报文计算结果进行加密,生成数字签名。接收方使用发送方的公钥对数字签名进行解密,并对报文进行Hash计算,判断计算结果与解密后的结果是否相同。如果相同,则认证通过;否则认证失败。在数字信封认证中,发送方首先随机产生一个对称密钥,使用接收方的公钥对此对称密钥进行加密(被公钥加密的对称密钥称为数字信封),发送方用对称密钥加密报文,同时用自己的私钥生成数字签名。接收方用自己的私钥解密数字信封得到对称密钥,再用对称密钥解密报文,同时根据发送方的公钥对数字签名进行解密,验证发送方的数字签名是否正确。如果正确,则认证通过;否则认证失败。 DH DH是一种公共密钥交换方法,它用于产生密钥材料,并通过ISAKMP消息在发送和接收设备之间进行密钥材料交换。然后,两端设备各自计算出完全相同的对称密钥。该对称密钥用于计算加密和验证的密钥。在任何时候,通信双方都不交换真正的密钥。DH密钥交换是IKE的精髓所在。 MD5、SHA1、DES、3DES、AES等算法都可以采用DH算法来共享对称密钥。DH使用密钥组定义自己产生的密钥长度。密钥组长度越长,产生的密钥就越强壮。PFS 短暂的一次性密钥系统称为“完善的前向保密“PFS(Perfect Forward Secrecy)如果加密系统中有个密钥是所有对称密钥的衍生者(始祖),便不能认为那是一个“完美向前保密”的系统。在这种情况下、一旦破解了跟密钥,便能拿到其他衍生的所有密钥,收那些密钥保护的全部数据都会曝光。在IPsec 里,PFS是通过在IPSec SA协商阶段重新进行一个DH交换来实现的。完善的前向安全性PFS(Perfect Forward Secrecy)是一种安全特性,指一个密钥被破解,并不影响其他密钥的安全性,因为这些密钥间没有派生关系。IPSec SA的密钥是从IKE SA的密钥导出的,由于一个IKE SA协商生成一对或多对IPSec SA,当IKE的密钥被窃取后,攻击者将可能收集到足够的信息来导出IPSec SA的密钥,PFS通过执行一次额外的DH交换,保证IPSec SA密钥的安全。 2.3.4 IKE协商两种SA 安全联盟SA介绍(Security Association)SA由三元组来确定:安全参数索引、目的IP地址、安全协议号 安全联盟是IPSec的基础,也是IPSec的本质。SA是通信对等体间对某些要素的约定,例如,使用哪种安全协议、协议的操作模式(传输模式和隧道模式)、加密算法(DES和3DES)、特定流中保护数据的共享密钥以及密钥的生存周期等。安全联盟是单向的,在两个对等体之间的双向通信,最少需要两个安全联盟来分别对两个方向的数据流进行安全保护。入站数据流和出站数据流分别由入站SA和出站SA进行处理。同时,如果希望同时使用AH和ESP来保护对等体间的数据流,则分别需要两个SA,一个用于AH,另一个用于ESP。 IKE使用了两个阶段为IPSec进行密钥协商并建立安全联盟: 第一阶段,通信各方彼此间建立了一个已通过身份验证和安全保护的隧道,即 IKE SA。协商模式包括主模式、野蛮模式。认证方式包括预共享密钥、数字签名 方式、公钥加密。 第二阶段,用在第一阶段建立的安全隧道为IPSec协商安全服务, 建立IPSec SA。 IPSec SA用于最终的IP数据安全传送。协商模式为快速模式。 注意区别IKE SA 和 IPSec SA: 有两种方式可以建立IPSec SA 有两种方式建立IPSec安全联盟:手工方式和IKE自动协商方式。二者的主要区别为: 密钥生成方式不同 手工方式下,建立SA所需的全部参数,包括加密、验证密钥,都需要用户手工配置,也只能手工刷新,在中大型网络中,这种方式的密钥管理成本很高;IKE方式下,建立SA需要的加密、验证密钥是通过DH算法生成的,可以动态刷新,因而密钥管理成本低,且安全性较高。生存周期不同 手工方式建立的SA,一经建立永久存在;IKE方式建立的SA,其生存周期由双方配置的生存周期参数控制。IKE(ISAKMP) SA (阶段一)IPSEC SA(阶段二) IKEv1阶段一协商过程:IKEv1的主模式协商:包含了三次双向交换,用到了六条ISAKMP信息。 传输模式下只对IP负载进行保护,可能是TCP/UDP/ICMP协议,也可能是AH/ESP协议。传输模式只为上层协议提供安全保护,在此种模式下,参与通信的双方主机都必须安装IPSec协议,而且它不能隐藏主机的IP地址。启用IPSec传输模式后,IPSec会在传输层包的前面增加AH/ESP头部或同时增加两种头部,构成一个AH/ESP数据包,然后添加IP头部组成IP包。在接收方,首先处理的是IP,然后再做IPSec处理,最后再将载荷数据交给上层协议。 传输模式保护原始 IP 头部后面的数据,在原始 IP 头和载荷间插入 IPSec 头部(ESP 或 AH)。典型应用为端到端的会话,并且要求原始 IP 头部全局可路由。 3.1.1传输模式下的5种场景隧道模式(Tunnel Mode)使用在两台网关之间,站点到站点(Site-to-Site)的通信。参与通信的两个网关实际是为了两个以其为边界的网络中的计算机提供安全通信的服务。 隧道模式为整个IP包提供保护,为IP协议本身而不只是上层协议提供安全保护。通常情况下只要使用IPSec的双方有一方是安全网关,就必须使用隧道模式,隧道模式的一个优点是可以隐藏内部主机和服务器的IP地址。大部分VPN都使用隧道模式,因为它不仅对整个原始报文加密,还对通信的源地址和目的地址进行部分和全部加密,只需要在安全网关,而不需要在内部主机上安装VPN软件,期间所有加密和 解密以及协商操作均由前者负责完成。 启用IPSec隧道模式后,IPSec将原始IP看作一个整体作为要保护的内容,前面加上AH/ESP头部,再加上新IP头部组成新IP包。隧道模式的数据包有两个IP头,内部头由路由器背后的主机创建,是通信终点;外部头由提供IPSec的设备(如路由器)创建,是IPSec的终点。事实上,IPSec的传输模式和隧道模式分别类似于其他隧道协议(如L2TP)的自愿隧道和强制隧道,即一个是由用户实施,另一个由网络设备实施。 3.2.2 隧道模式下的5种场景
参考文章: IPSec之IKEv1协议详解IPSEC 的IKE协商过程,主模式和野蛮模式,AH和ESPVPN概述IBM文档 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |