高性能IPSec VPN 工程设计与仿真

2021-04-06 01:09李超凡
实验技术与管理 2021年2期
关键词:数据包备份路由

李超凡,刘 伟,吴 响,马 凯

(徐州医科大学 医学信息与工程学院,江苏 徐州 221004)

随着医院医疗信息业务的不断拓展与医疗服务的不断完善,徐州市某三甲医院需要开设分院,医院本院与分院之间存在异地相互物理隔离的网络平台。一般对于医院网络架构而言,分为内网与外网,内网主要承载医疗过程中产生的病历资料、医学影像图像、检验信息及医院内部行政办公信息等;外网主要提供医疗平台的信息公开与连接互联网的服务[1]。

医院本院与分院之间需要实时更新各类病历信息等隐私型数据,通常由运营商提供多协议标签交换虚拟专用网技术,在医院之间建立跨越公网的专用私有网络,使得地域性隔离的物理网络形成一个整体的逻辑网络,实现高速安全的跨地域多业务通信。与此同时,医院应自己建立与管理安全级别更高的远程接入私有信息通道,基于HTTPS 的安全套接字层虚拟专用网无法满足对于医院间端到端的大流量数据通信,因此本文仿真实验基于MNSS 实验仿真平台,构建基于IPSec/IKE 站点至站点间的高性能IPSec VPN 工程案例,实现医院本院与分院端到端的高可用性安全信息通道。

1 相关技术

MNSS 虚拟仿真实验教学平台是由徐州医科大学医学信息与工程学院网络系统实验室自主研发,面向医工结合的交叉学科构建新工科的培养新模式。实验教学平台整合了EVE-NG、GNS3 GUI、Dynamips、Dynagen、QEMU、GNU Health、OpenLIS、OpenSource PACS 等优秀开源软件[2],摆脱了网络架构与系统搭建对硬件的依赖性,致力于仿真各种系统与网络设备的教学实验与科研验证。

1.1 GRE 协议

通用路由封装(generic routing encapsulation,GRE)协议定义了对某些网络层协议的数据报文进行封装,使用隧道技术进行点对点的虚拟连接,隧道两端构建数据报文封装与解封装过程的信息通道。

1.2 IPSec VTI 技术

VTI(virtual tunnel interface)技术是应用IPSec特性的内置虚拟隧道接口[3],分为静态VTI(SVTI)和动态VTI(DVTI)。SVTI 主要应用在建立端到端VPN,较GRE 协议而言,只支持IP 单播与组播,不需要封装额外的4 字节数据包头部,提升加密数据的发送效率。DVTI 主要应用在远程拨号VPN,使用静态虚拟模板与动态安全策略,基于模板的预配置自动创建虚拟访问接口与对等体建立安全关联。

1.3 IPSec 安全框架

IPSec 安全框架是网络层使用的一组安全IP 协议集,提供访问控制、对等体身份验证、无连接数据包完整性校验、数据加密与抗重放的安全通信服务[4]。IPSec 安全框架主要由认证和加密算法、安全协议、秘钥交换协议和安全关联构成。

(1)认证与加密算法。

秘钥交换协议通过交换秘钥和安全策略在对等体之间协商出一致的数据加密与身份认证算法,从而进行数据保护[5]。常见的加密算法包括DES、AES、RSA,散列算法主要有SHA 与MD5,身份验证的主要方式有公钥证书认证与预共享密钥。

(2)安全协议。

IPSec 安全协议增加IP 拓展头和字段填充,保证IP 数据包的保密性、完整性与可认证性[6],主要包含认证头(authentication header,AH)与封装安全载荷(encapsulate security payload,ESP)。

(3)秘钥交换协议。

秘钥交换协议(internet key exchange,IKE)是由安全关联和秘钥管理协议(ISAKMP)、密钥交换模式(OAKLEY)、共享和秘钥更新技术(SKEME)组成的混合协议[7]。

(4)安全关联。

安全关联(security association,SA)是指一组用来保护信息的策略和秘钥,协商实体间如何使用安全服务建立通信连接。

2 高性能IPSec VPN 工程设计

当前,部署高性能IPSec VPN 工程大致分为3 类设计方案:设备备份、链路备份与两者的有机结合。仿真实验先进行设计方案的功能比较,选择最符合医院网络架构拓展的设计方案,然后进行相应地址规划和逻辑网络拓扑的搭建与完善,设立实验目的与仿真效果。

2.1 三类高性能IPSec VPN 工程设计方案分析

链路备份与设备备份的设计方案中两端均采用DPD(dead peer detection)技术探测对等体设备运行状态,DPD 类似于动态路由协议中的Hello 报文或Keepalive 机制,在周期性或定时性的情况下检测远端对等体 IPSec 通道的可用性[8],再配合使用 RRI(reverse route injection)技术的情况下,动态地向路由表内反向注入相应的静态路由,使得区域内网络认为注入静态路由的设备是区域的网络出口。RRI 的反向路由注入随着DPD 探测对等体的活跃状态,即随着IPSec SA 的建立情况,动态地切换对等体设备并产生或消失静态路由注入,这样就使得IPSec VPN 具备健壮性与高可用性。

2.1.1 链路备份

在仿真实验的实际背景中,医院本部具备大量数据存储服务器与其他医院信息系统的服务器集群,医院本部应用双出口模式用于链路冗余,采用上述DPD探测技术与反向路由注入,医院分部的出口设备与本部的主用网关建立加密信息通道。在医院本部主用网关链路发生故障时,收到DPD 探测链路故障的报文,才会与备用网关建立安全关联,主要网关的链路恢复性能后,不具备抢占性,等待安全关联超时后才会切换。链路备份的逻辑示意图如图1 所示。

图1 链路备份

2.1.2 设备备份

在医院本部只有单出口的情况下,可以进行设备级的备份,除了应用上述DPD 探测与RRI 外,还需要使用热备份路由协议(hot standby router protocol,HSRP)。HSRP 可以将2 个出口网关虚拟成一主一辅的中心站点模式,医院分部只需要与本部虚拟中心站点网关建立加密信息通道。在热备份路由协议作用下,只有活跃路由器会向区域内进行静态路由注入,即使用虚拟中心站点IP 地址与对等体建立安全关联。HSRP 支持抢占机制,当活跃路由器故障时,备份路由器自动抢占链路,与对等体建立安全关联并进行静态路由注入;当活跃路由器恢复性能后,会依据设备优先级抢占链路并注入静态路由,备份设备注入的静态路由自动消失。设备备份的逻辑示意图如图2 所示。

图2 设备备份

2.1.3 链路备份与设备备份的综合运用

链路备份与设备备份的设计方案中存在端到端不支持直接加密组播、不支持动态路由协议、不提供服务质量等严重弊端。随着隧道技术不断创新,隧道协议可以将其他协议的数据重新封装在新的数据包中进行通信,使得被重新封装的数据包可以在隧道中通过公共互联网进行路由传递,解决了加密组播与动态路由协议的核心问题,使得高性能IPSec VPN 工程可以使用动态路由协议取代DPD 技术与反向路由注入。动态路由协议通过区域内路由信息的自主学习与路由选路达到负载均衡的效果,使得VPN 工程具备更高可用性与稳定性。

2.2 高性能IPSec VPN 最优设计方案

依据上述分析与实际背景,仿真实验在MNSS 实验平台上进行逻辑网络拓扑,如图3 所示。IP 地址规划如图标注,医院内部采用开放式最短路径优先协议(open shortest path first,OSPF)各自组建内网。医院本部采用双设备与出口,医院本部主设备采用GRE封装隧道模式,备份设备采用SVTI 隧道模式,验证两类主流隧道技术实现高性能IPSec VPN。

在高性能IPSec VPN 工程实例中,动态路由协议基本使用思科私有的增强内部网关路由协议(enhanced interior gateway routing protocol,EIGRP)进行区域内部组网,EIGRP 使用弥散修正算法实现链路快速收敛,支持度量值相等的等价负载均衡与修正Variance值的非等价负载均衡[9],而公有协议OSPF 只支持等价负载均衡。为保证仿真实验的普遍性,医院内部组网使用开放式最短路径优先路由协议,并手工对链路代价值进行修改,实现负载均衡的路由信息通道。

图3 仿真实验逻辑网络拓扑

3 高性能IPSec VPN 工程仿真

仿真实验的实现大致分为3 个步骤:基础IP 地址设置、运用OSPF 动态路由协议组建医院内网与IPSec VPN 加密信息通道的建立。

按照仿真实验设计方案的逻辑网络拓扑图的地址规划配置设备接口的IP 地址,医院分部Branch 端启用2 个隧道接口,GRE 封装的Tunnel0 与医院本部的Master 端Tunnel0 连接,SVTI 隧道模式的Tunnel1 与医院本部的Backup 端Tunnel1 连接。医院本部与分部的路由设备均启用OSPF 进程,依据接口进行区域划分,宣告各自内网私有地址网段,同时需要将隧道接口地址也宣告进OSPF 区域内。IPSec VPN 信息通道通过IKE 的主模式与快速模式建立,包括主模式的6个协商报文与快速模式的3 个协商报文,协商报文与协商内容如图4 所示。

(1)阶段一:主模式(main mode)的作用是验证IKE 对等体身份并确立会话秘钥,创建IKE SA,为第二阶段的IPSec SA 协商提供安全通信保障。消息1—4 是明文,消息5—6 是密文。

图4 IKE 协商过程

消息1:是向对等体发送一组或多组信息加密的策略提议,包含加密算法、验证方式、Hash 算法、Diffie-Hellman 与IKE SA 的生存时间。消息2:对等体收到加密策略提议,与本地策略匹配成功后,向对等体发送回应消息。消息3—4:对等体之间通过交换Diffie-Hellman、非对称秘钥对的公钥与随机数,形成各自的非对称秘钥对应一把共同秘钥。消息5—6:在共同秘钥的加密下,对等体之间通过ISAKMP 分组的源IP 地址匹配预共享秘钥,并使用Hash 算法将预共享秘钥、IKE SA、转换集等进行数字签名验证对等体身份[10]。

(2)阶段二:快速模式(quick mode)的作用是在IKE SA 建立的安全数据通道中协商IPSec SA 所使用的安全参数并创建IPSec SA,为IP 数据流提供加解密与完整性校验等服务。消息7—9 均是密文。

消息7—8:对等体双方互相交换一个报文,包含使用认证头标或封装安全载荷的安全协议、安全参数索引(security parameter index,SPI)、散列算法、隧道模式与IPSec SA 生存周期的IPSec 安全关联策略,再次用于对等体身份验证与完整性校验的散列值,用于防重放攻击的Nonce 随机数值,描述IPSec SA 为协议、地址与端口服务的ID 值与需要被加密的感兴趣流等必选协商参数。消息9:对等体通过发送携带散列值的报文证明活跃状态与信息确认[11]。

4 仿真实验性能测试

对于仿真实验的效果验证大致分为IPSec VPN 协商建立过程与IPSec VPN 的高性能测试。

4.1 IPSec VPN 的协商过程

对上述实施阶段进行数据包抓取结果如图5 所示:以医院分部Branch 端至医院本部Master 端使用Wireshark 网络封包分析软件进行数据包抓取,序号为21、23—27 的6 个主模式数据包完成IPSec VPN 第一阶段IKE SA 的协商与建立,并为第二阶段IPSec SA的协商与建立提供加密的安全通信;序号为28—30的3 个快速模式数据包完成IPSec VPN 第二阶段IPSec SA 的协商与建立,对等体两端生成用于加解密相互对应的安全参数索引。至此,对等体两端IPSec VPN 建立完成,为医院间数据通信提供安全加密的私有专用网络。

图5 W ireshark 工具抓取IKE 协商报文

仿真实验采用GRE 与SVTI 双隧道进行支持动态路由协议的IPSec VPN 建立的可行性,IPSec VPN 安全通信的数据包转发如图6 所示:ID 数值21—24 是医院分部Branch 端的双隧道均与医院本部建立用于加解密数据包的VPN 连接;ID 数值1011、1012 是由主模式建立为保护快速模式的IKE 安全通道。

图6 IP 加密数据包转发情况

仿真实验表明,医院两端可以通过GRE 与SVTI隧道建立跨越公网的动态路由协议邻居关系[12],传递与更新路由信息。应用隧道技术的IPSec VPN 工程解决了传统VPN 端到端连接的重要弊端,支持动态路由协议与加密组播,摒弃了普通DPD 探测与反向路由注入的不灵活性,通过动态路由协议的自主学习、快速收敛与负载均衡等特性,实现了IPSec VPN 工程的高性能应用。

4.2 IPSec VPN 的高性能测试

对于IPSec VPN 高性能的测试主要是数据包的负载均衡与设备或链路故障的切换效果,测试效果如图7 和8 所示:通过医院分部Branch 端访问医院本部Server 端,数据流量自Branch 端进行双隧道负载均衡。通过对比数据包传输时延,IPSec VPN 内置的SVTI隧道接口的传输效率较GRE 封装更为高效[13];通过医院分部Branch 端多次使用因特网包探索器访问医院本部Server 端,期间手动将医院本部Master 设备关闭,经历短暂时间后数据包传输路线全部自动切换至Backup 端,传输效率达到98%。

图7 医院间数据包负载均衡

图8 I PSec VPN 的高可用性测试

仿真实验表明,高性能IPSec VPN 工程设计方案不仅可以达到普通链路备份、设备备份的效果,还可以依托动态路由协议与隧道技术完成医院间数据传输的负载均衡与设备或链路故障时的自动切换,极大地增强了网络架构的健壮性与可用性。

5 结语

仿真实验将医院高性能IPSec VPN 工程实例迁移到MNSS 教学实验平台上,利用隧道技术实现高性能IPSec VPN,通过Wireshark 工具抓取数据包进行协议分析,为教学实验平台储存实践工程案例,帮助学生利用虚拟仿真环境摆脱计算机硬件条件的约束,将基础理论与工程技术相结合进行实践创新。通过MNSS教学实验集成平台的实验课程体系改革与实验教学内容优化,全面推进实验教学方法现代化,为学生自主构建知识结构,进行综合性、设计性实验学习和开发设计创造良好条件。

猜你喜欢
数据包备份路由
VSAT卫星通信备份技术研究
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
铁路数据网路由汇聚引发的路由迭代问题研究
创建vSphere 备份任务
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
路由重分发时需要考虑的问题
C#串口高效可靠的接收方案设计
旧瓶装新酒天宫二号从备份变实验室