【网络基础知识】IPSecVPN技术介绍(二)

a. IPSec基础介绍

IPSec定义:(英语:Internet Protocol Security,缩写为IPsec),是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。

1. IPSec对等体

IPSec 用于在两个端点之间提供安全的 IP 通信,通信的两个端点被称为 IPSec 对等体。

2. 安全联盟

SA(Security Association)安全联盟是要建立IPSec隧道的通信双方对隧道参数的约定,包括隧道两端的IP地址、隧道采用的验证方式、验证算法、验证密钥、加密算法、加密密钥、共享密钥以及生存周期等一系列参数。

SA 是单向的,在两个对等体之间的双向通信,至少需要两个 SA。SA 由一个三元组来唯一标识,这个三元组包括安全参数索引 SPI(Security Parameter Index)、目的 IP 地址、安全协议名(AH 或 ESP)。

3. 协商方式

建立 SA 的方式有以下两种:

手工方式(manual):建立安全联盟比较复杂,安全联盟所需的全部信息都必须手工配置。但优点是可以不依赖 IKE 而单独实现 IPSec 功能。

IKE 动态协商(isakmp)方式:建立安全联盟相对简单些,只需要通信对等体间配置好 IKE协商参数,由 IKE 自动协商来创建和维护 SA。

4. IPSec封装模式


图注:IPSec协议封装包

隧道模式。在隧道模式下,AH 或 ESP 插在原始 IP 头之前,另外生成一个新 IP 头放到 AH或 ESP 之前。

图注:隧道模式示意图

传输模式。在传输模式下,AH 或 ESP 被插入到 IP 头之后但在传输层协议之前。

图注:传输模式示意图

隧道模式生成新的包头安全性比传输模式高,但隧道模式比传输模式占用带宽更多。

5. IPSec使用的认证算法和加密算法

认证算法IPSec可以使用三种认证算法:

MD5(Message Digest 5):MD5 通过输入任意长度的消息,产生 128bit 的消息摘要。

SHA-1(Secure Hash Algorithm):SHA-1 通过输入长度小于 2 的 64 次方比特的消息,产生 160bit 的消息摘要。

SHA-2:SHA-2 算法相对于 SHA-1 加密数据位数有所上升,安全性能要远远高于SHA-1。

加密算法

加密算法实现主要通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。

IPSec使用以下三种加密算法:

DES:使用 56bit 的密钥对一个 64bit 的明文块进行加密。

3DES:使用三个 56bit 的 DES 密钥(共 168bit 密钥)对明文进行加密。

AES:使用 128bit、192bit 或 256bit 密钥长度的 AES 算法对明文进行加密。

6. 通信保护协议

AH认证头协议:

协议号51。

定义于RFC 2402。

鉴别头AH:(不提供保密性,只对整个IP数据包提供保护)。

无连接数据完整性:通过哈希函数产生的校验来保证。

数据源认证:通过计算验证码时加入一个共享密钥来实现。

抗重放服务:AH报头中的随机序列号可以防止重放攻击。

可以用于隧道和传输两种模式中。

使用MD5/SHA-1。

提供如下的功能:

数据完整性;

数据源认证;

Anti-replay服务。

图注:Tunnel模式下的AH包  

ESP封装安全载荷协议:

协议号50。

定义于RFC 2406。

除提供 AH 认证头协议的所有功能之外,还有数据保密和有限的数据流保护,ESP 协议允许对 IP 报文净荷进行加密和认证、只加密或者只认证,ESP 没有对 IP头的内容进行保护。

保密服务通过使用密码算法加密 IP 数据包的相关部分来实现。

数据流保密由隧道模式下的保密服务提供。

ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。

AH认证头协议,无法在穿越NAT的时候使用,因为AH协议会对IP包头进行校验。ESP协议可以。

可以用于隧道和传输两种模式中。

提供如下的功能:

数据完整性;

数据保密性;

数据源认证;

Anti-replay服务。

图注:Tunnel模式下的ESP包  

7. IPsec提供了两种安全机制:认证和加密

认证机制使 IP 通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。

加密机制通过对数据进行加密运算来保证数据的机密性,以防数据在传输过程中被窃听。

b.1 IPSecVPN协商过程

图注:IPSecVPN协商过程图解  

b.2 主模式与野蛮模式对比

IKEv1建立IKESA的过程定义了主模式(Main Mode)和野蛮模式(Aggressive Mode)两种交换模式。

主模式包含三次双向交换,用到了六条信息:

消息①和②用于协商算法;

消息③和④用于密钥信息交换,DH算法;

消息⑤和⑥用于身份和认证信息交换。

野蛮模式只用到三条信息:

前两条消息①和②用于协商提议,消息③用于响应方认证发起方。

图注:主模式与野蛮模式报文对比  

野蛮模式协商比主模式协商更快。主模式需要交互6个消息,野蛮模式只需要交互3个消息。

主模式协商比野蛮模式协商更严谨、更安全。因为主模式在5、6个消息中对ID信息进行了加密。而野蛮模式受到交换次数的限制,ID信息在1、2个消息中以明文的方式发送给对端。即主模式对对端身份进行了保护,而野蛮模式则没有。

两种模式在确定预共享的方式不同。主模式只能基于IP地址来确定预共享密钥。而野蛮模式是基于ID信息(主机名和IP地址)来确定预共享密钥。

c.1 IPSecVPN协商过程(主模式)

【第一阶段】

(1)主模式包交换解析(第一组报文)

第一阶段第一组报文1和2的主要任务:

加密算法

散列算法

DH组

认证方式

密钥有效期

完成以上内容的协商

注意:

第一阶段协商的策略不是真正用来加密两端互通的私网流量的策略,只用在第一阶段后面两组报文的使用上和第二阶段的协商过程中,第二阶段重新协商的策略才是真正加密流量的。

ISAKMP数据包通过UDP传输的,源目端口都是500。穿越NAT时用UDP 4500。

(2)主模式包交换解析(第二组报文)

IKE Phase 1 (Main Mode): Sending Message 3 and 4两部分内容要互相交换:Key Exchange和Nonce Payload:

Key exchange data是双方共同要告诉对方的。

Nonce(随机产生非常大的数字)是双方接下来验证需要的原材料之一。第二组的主要任务就是要交换双方的共享信息,产生一个密钥。

(3)主模式包交换解析(第三组报文)

预共享密钥认证:

IKE Phase 1(Main Mode): Sending Message 5

把Hash_l通过SKEYID_e进加密发送

IKE Phase 1 (Main Mode): Sending Message 6

把Hash_R通过SKEYID_e进加密发送

最后一组发送完毕后,使用SKEYID_e解密对方发送的数据,里面有原始数据ID_R和哈希值Hash_R,使用接收到的ID_R按照PRFE函数进行哈希,比较接收到的哈希值和自己产生的哈希值是否相等。

Hash_R ? = Self Hash_R

相等即可建立ISAKMP SA,IKE第一阶段完成。

【第二阶段】

(1)第1个包:

在IKE SA协商基础上形成新的KEY;

封装方式:AH、ESP;

加密方式:DES、3DES、AES...;

完整性算法:MD5、SHA-1;

IPSEC SA:默认1个小时;

两端保护子网。

(2)第2个包:包主要是接收端查看本地有没有一个IPSec SA策略与发起方的一样,如果有,并且认证成功,感兴趣流协商成功,那么接收端会把协商成功的IPSec SA策略发给发起端,同时也会把自己的认证KEY发给发启端来进行双向认证。

(3)第3个包:包主要是发起端对接收端发来的第二个包进行确认,协商成功进行业务访问。

c.2 IPSecVPN协商过程(野蛮模式)

野蛮模式同样包含三个步骤,但仅通过三个包进行传输,标示为aggressive 野蛮模式的三个包交换:

第1个交互包发起方建议SA,发起DH交换;

第2个交互包接收方接收SA;

第3个交互包发起方认证接收方,野蛮模式前两个报文是明文,第三个报文是密文。

d. IPSecVPN高级设置

d.1  IPSecVPN中NAT穿越(NAT-T)

在非NAT环境中,IPSec协商使用UDP 500端口进行协商。而VPN设备(私网出口地址)如果在NAT设备内部,NAT不会对ESP进行端口转换,此时需要NAT-T技术在ESP封装和外层IP报头之间插入8个字节的UDP报头,端口号为UDP 4500。

d.2 IPSecVPN Proxy-ID

Proxy ID(代理ID,即感兴趣流)用于在两个VPN端对端间交换策略,代表着需要获得安全服务的数据包,通常指两端内网地址,定义的地址必须对称。

若无填写,采用策略模式则需要在创建策略时填写对称的地址,即本地的源地址子网与对端的目的地址子网相同。

Proxy ID 常用于本端 Hillstone,对端第三方设备的场景。

Proxy ID 错误配置是 VPN 建立最常见的错误。

更多IPSecVPN及其他精彩内容请见: 

山石网科知识库

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355

推荐阅读更多精彩内容

  • 1. IPSec VPN 是什么 VPN 技术一般指虚拟专用网络。 虚拟专用网络(VPN)的功能是:在公用网络上建...
    關于尛熊阅读 13,401评论 0 2
  • 网络安全基础 网络安全概述 网络安全通信的基本属性 机密性:只有发送方和接收方能理解报文内容; 消息完整性:消息未...
    陈_MY阅读 269评论 0 0
  • 当您通过Internet使用VPN时,它会在两个设备/网络之间创建专用且加密的隧道。现在作为VPN,你很难对数据进...
    TimLi_51bb阅读 1,895评论 0 3
  • 前述 在采用IKE动态协商方式建立IPSec隧道时,SA有两种:一种IKE SA,另一种是IPSec SA。建立I...
    请叫我靓仔阅读 3,994评论 0 2
  • 计算机网络 网络分层⭐ 国际标准化组织提出了 OSI 模型:应用层、表示层、会话层、运输层、网络层、链路层和物理层...
    续袁阅读 377评论 0 3