【密码协议篇】虚拟专用网(VPN)技术原理与应用(商密)
VPN技术不是洪水猛兽,其普遍应用于网络通信安全和网络接入控制,可通过服务器、硬件、软件等多种方式实现。—【蘇小沐】
文章目录
1.实验环境
系统 | 版本 |
---|---|
Windows 11 专业工作站版 | 22H2(22621.819); |
(一)VPN知识简介
1.VPN定义
VPN即虚拟专用网(Virtual Private Network),简称虚拟专网、VPN;其基本技术原理是把需要经过公共网传递的报文(packet)加密处理后,再由公共网络发送到目的地。利用VPN技术能够在不可信任的公共网络上构建一条专用的安全通道,经过VPN传输的数据在公共网上具有保密性。
虚拟指网络连接特性是逻辑的而不是物理的。VPN是通过密码算法、标识鉴别、安全协议等相关的技术,在公共的物理网络上通过逻辑方式构造出来的安全网络。
2.VPN安全功能
机密性(保密性)、完整性、真实性服务。
3.VPN技术特点
- VPN技术:使用密码技术在公用网络(通常指互联网)中构建临时的安全通道的技术。【VPN的核心技术是"密码算法"】
- VPN设备:为"远程服务"提供安全接入手段,为"网络通信"提供"保密性、完整性保护",以及"数据源的身份鉴别"和"抗重放攻击"等安全功能。(P152)
VPN技术特点 | 说明 |
---|---|
节省搭建网络的成本 | 利用现有的公用网络资源建立VPN隧道,不需要租用专门的物理链路,相比于物理专网的搭建节省了开销。 |
连接方便灵活 | 通信双方在联网时,如果使用传统物理专网,则需要协商如何在双方之间建立租用线路等:使用VPN 之后,只需要双方配置安全连接信息,连接十分便捷。 |
传输数据安全可靠 | VPN产品采用了加密、身份鉴别等密码技术,保证通信双方身份的真实性和通信数据的保密性、完整性等。P199 |
数据传输率不高 |
(二)IPSec互联网安全协议
IPSec(Internet Protocol Security,互联网安全协议)实际上是一套协议集合,而不只是一个单独的协议。
IPSec协议组成 | 作用 |
---|---|
AH-认证头(Authentication Header) | AH协议号51,AH不可单独使用,不支持NAT穿越。AH主要提供的功能有"数据源验证、数据完整性校验和抗重放功能",但AH不提供任何保密性服务 |
ESP-封装安全载荷协议(Encapsulating Security Payload) | ESP协议号50,ESP可单独使用,不对IP头认证,支持NAT穿越。和AH协议相比,ESP协议增加了对数据报文的"加密功能",它可同时使用用于加密的会话密钥及用于验证完整性和数据源身份的会话密钥,来为数据提供全面保护。 |
IKE-密钥管理交换协议(Internet Key Exchange) | IKE协议用于"鉴别通信双方身份、创建安全联盟(Security Association,SA)、协商加密算法以及生成共享会话密钥"等,其中ISAKMP是IKE的核心协议,定义了建立、协商、修改和删除SA的过程和报文格式,并定义了密钥交换数据和身份鉴别数据的载荷格式。 |
1.AH协议
2.ESP协议
ESP-封装安全载荷协议,协议号为50,可单独使用,支持网络地址转换(NAT)穿越。
3.IKE协议
IKE协议用于鉴定通信双方身份、创建安全联盟(SA)、协商加密算法和生成共享会话密钥等。
IKE协议 | 说明 |
---|---|
IKE是第1个环节 | 完成通信双方的身份鉴别、确定通信时使用的IPSec安全策略。 |
第2个环节 | 使用数据报文封装协议和IKE中协定的IPSec安全策略和密钥,实现对通信数据的安全传输。 |
1)IKE协商两种SA
IKE SA(双向SA) | IPSec SA(单向SA) |
---|
IKE可以为IPSec协商关联,为L2TP协商安全关联,为SNMPv3等要求保密的协议协调安全参数。
2)ISAKMP的两个阶段
ISAKMP的两个阶段 | 说明 |
---|---|
第1阶段:主模式 | 通信双方建立一个ISAKMP SA,并实现双方的身份鉴别和密钥交换,得到工作密钥,该工作密钥用于保护第二阶段的协商过程。 |
第2阶段:快速模式 | 使用已建立的ISAKMP SA提供保护,实现通信双方IPSec的协商,确定通信双方IPSec安全策略和会话密钥。其中IPSec安全策略定义了哪些服务以何种形式提供给IP数据报文,如数据加密服务以SM4的CBC模式实现。 |
(1)ISAKMP主模式
ISAKMP主模式是一个"身份保护交换",作用:身份鉴别,密钥交换。由6个消息组成。
ISAKMP主模式 | 说明 |
---|---|
消息1 | 发起方告知响应方它优先选择的密码协议(如SAKMP、AH和ESP)以及希望协商中SA采用的密码算法。 |
消息2 | 响应方发送SA载荷和双证书,SA载荷表明它接受发起方发送的SA提议,双证书用于随后密钥交换时的数据加密和身份鉴别。 |
消息3和4 | 双方完成身份鉴别(基于数字签名),通过交换数据的得到第二阶段(快速模式)提供保护的工作密钥。Nonce载荷是生成工作密钥所需的参数,身份标识载荷,这些数据使用双方各自随机生成的"临时密钥SK"进行"对称加密保护",SK用对方加密证书中的公钥进行加密保护。双方各自对交换数据数字签名(使用签名证书中对应的私钥完成),并将签名结果发送给对方。消息3和4完成后,通信双方利用Nonce载荷等交换数据经伪随机函数(PRF)派生出基本密钥参数,并通过PRF用基本密钥参数派生出三个对称密钥(分别为:用于产生会话密钥的密钥参数、用于验证完整性和数据源身份的工作密钥、用于加密的工作密钥) |
消息5和6 | 双方对协商过程内容进行鉴定确认。消息使用**“工作密钥”**进行"对称加密"保护,双方通过计算HMAC验证身份和协定的SA信息检查交换内容。 |
(2)快速模式
快速模式用于建立通信时所使用的IPSec SA,分别用于通信数据加密,以及完整性校验和数据源身份鉴别。
4.IPSec密钥协商
IPSec密钥协商 | 说明 |
---|---|
手工方式 | |
IKE自动协商 | IPSec提供加密和认证安全机制 |
(三)IPSec VPN 【站到站,网络层】
IPSec VPN和SSL VPN是两种典型的VPN产品实现技术,为公用网络中通信的数据提供加密、完整性校验、数据源身份鉴别、抗重放攻击等安全功能。IPSec VPN产品的工作模式应支持隧道模式和传输模式, 其中隧道模式适用于主机和网关实现,传输模式是可选功能,仅适用于主机实现。
- IPSec VPN在身份鉴别过程中使用"数字信封"技术。
IPSec VPN | 说明 |
---|---|
IPSec VPN作用 | IPSec VPN产品工作在"网络层",对应用层协议完全透明。 I在实际部署时,通常向远端开放的是一个网段,也就是IPSec VPN产品通常是"保护一个内网整体,而非单个主机、服务器端口"。【粒度较粗】 |
IPSec VPN主要功能 | IPSee VPN的主要功能包括:随机数生成、密销协商、安全报文封装、NAT穿越,身份鉴别,身份认证数据应支持数字证书或公私密销对方式,IP协议版本应支持IPv4协议或IPv6协议。 |
1.IPSec VPN密钥体系(设备密钥、工作密钥、会话密钥)
IPSec VPN | 说明 |
---|---|
设备密钥 | 非对称密钥对;包括签名密钥对和加密密钥对,用于实体身份鉴别、数字签名和数字信封等,其中,用于签名的设备密钥对在IKE第一阶段提供基于数字签名的身份鉴别服务;用于加密的设备密钥对在IKE第一阶段对交换数据提供保密性保护。 |
工作密钥 | 对称密钥;在IKE第一阶段经密钥协商派生得到,用于对会话密钥交换过程的保护。其中,用于加密的工作密钥对IKE第二阶段交换的数据提供保护性保护;用于完整性校验的工作密钥为IKE第二阶段交换的数据提供完整性保护及对数据源进行身份鉴别 |
会话密钥 | 对称密钥,在IKE第二阶段经密钥协商派生得到,直接用于数据报文及报文MAC的加密和完整性保护,用于加密的会话密钥为通信数据和MAC值提供保密性保护;用于完整性校验的会话密钥为通信数据提供完整性保护。 |
2.IPSec VPN的数据报文封装模式
IPSec VPN的数据报文封装模式,分为隧道模式和传输模式。(P201)
IPSec VPN部署模式 | 数据报文封装模式 |
---|---|
端到站、站到站 | 隧道模式 |
端到端 | 隧道模式/传输模式 |
IPSec VPN产品:注意和上表区分。
IPSec VPN部署模式 | 说明 |
---|---|
站到站 | 站到站部署模式需要两端网络出口成对部署IPSec VPN网关 |
端到站、端到端 | 端到站和端到端两种部署模式,一般要求接入端安装IPSec客户端 |
3.IPSec VPN中密码算法的属性值定义(P206)
(四)SSL安全套接字协议
SSL(Secure Sockets Layer,安全套接字协议)是为网络通信提供安全及数据完整性的一种安全协议。
SSL协议中定义了三个更高层协议:握手协议,密码规格变更协议、报警协议。
- 握手协议实现了服务端和客户端之间的身份鉴别、交互过程中的密码套件与密钥的协商(协商连接会话所需的密码参数)。
- 当客户端和服务器握手成功后,待传输的应用数据通过记录层协议封装,并得到保密性和完整性保护。
(五)SSL VPN【端到站,应用层和传输层】
SSL VPN 的工作模式,分为端到站(客户端-服务端模式)和站到站(网关-网关模式)两种。
SSL VPN | 说明 |
---|---|
SSL VPN作用 | SSL VPN工作在"应用层和传输层"之间的VPN技术。由于SSL协议内嵌在浏览器中,一般基于"B/S的架构"应用方式。能够仅开放一个主机或端口【粒度较细】 |
SSL VPN主要功能 | SSL VPN的主要功能包括:随机数生成、密钥协商、安全报文传输、身份签别、访问控制、密钥更新、客户端主机安全检查。 |
1.SSL VPN密钥体系(设备密钥、预主密钥/主密钥、工作密钥)
SSL VPN | 说明 |
---|---|
设备密钥 | 非对称密钥,包括签名密钥对和加密密钥对。签名密钥对用于握手协议中通信双方的身份鉴别;加密密钥对用于预主密钥协商时所用交换参数的保密性保护。 |
预主密钥、主密钥 | 对称密钥,预主密钥是双方协商通过伪随机函数(PRF)生成的密钥素材,用于生成主密钥;主密钥由预主密钥、双方随机数等交换参数,经PRF计算生成的密钥素材,用于生成工作密钥 。 |
工作密钥 | 对称密钥,对称通信数据安全性提供保护。数据加密密钥用于数据的加密和解密;校验密钥用于数据的完整性计算和校验,发送方使用的工作密钥称为写密钥,接受方使用的工作密钥称为读密钥。 |
2.SSL VPN的工作模式
SSL VPN部署模式 | 说明(P210) |
---|---|
端到站 | 端到站(客户端-服务端模式),必须支持! |
站到站 | 站到站(网关-网关模式),选择性支持。 |
3.SSL VPN中密码算法的属性值定义(P206)
注:标准GM/T 0024-2014中规定实现ECC和ECDHE的算法为SM2,实现IBC和IBSDH的算法为SM9。
总结
由于本人能力有限,纯粹做个记录,文中如有不妥和错漏之处欢迎批评指正。如果觉得本文档对您有帮助,可以点赞收藏关注!
【著作所有权归作者 蘇小沐 所有,转载请注明文章出处】
参考资料
[1] 《商用密码应用与安全性评估》2020年4月第1版.
名称 | 时间 |
---|---|
开始编辑日期 | 2022 年 11 月 21 日 |
最后编辑日期 | 2022 年 11 月 23 日 |