虚拟专用网络技术是指使用密码技术在公用网络(通常指互联网)中构建临时的安全通道的技术。其之所以称为虚拟网,主要是因为虚拟网络中任意两个节点间的连接并没有使用传统专网所需的端到端的物理链路,而是在公用网络服务商提供的网络平台上形成逻辑网络,用户数据在逻辑链路中进行传输。该技术使得分散在各地的企业子网和个人终端安全互联,实现了物理分散,逻辑一体的目的。通过该技术技术提供的安全功能,用户可以实现在外部对企业内网资源的安全访问。
目前,主流的安全网关产品包括IPSec 网关和SSL 网关。在安全认证网关中,大多数产品也是基于IPSec或SSL协议实现的,并提供了与IPSec 、SSL 产品相近的安全功能。因此,在这里也一并对安全认证网关进行介绍。
涉及的GMSSL库和源码见http://gmssl.org/。
商密产品认证过程中遇到问题可站内联系或15011462285。可以为您解决商密认证过程中的材料和产品问题。
IPSec 和SSL 是两种典型的产品实现技术,它们分别采取了IPSec和SSL密码协议为公用网络中通信的数据提供加密、完整性校验、数据源身份鉴别和抗重放攻击等安全功能。但是,由于两者工作于不同的网络层次来搭建网络安全通道,因此,在部署方式和控制粒度当面还存在一定差异。
IPSec 产品采用工作在网络层的技术,对应用层协议完全透明。在建立IPSec 隧道后,就可以在安全通道内实现各种类型的连接,如WEB(http)、电子邮件(SMTP)、文件传输(FTP)、网络电话(VoIP),这是IPSec 的最大优点。另外,IPSec 产品在实际部署时,通常向远端开放的是一个网段,也就是IPSec 产品通常是保护一个内网整机,而非单个主机、服务器端口。所以,针对单个主机、单个传输层端口的安全控制部署较为复杂,因此其安全控制的粒度相对较粗。
SSL 产品采用工作在应用层和传输层之间的技术。由于它所基于的SSL协议内嵌在浏览器中,所以,接入端在不增加设备、不改动网络结构的情形下即可实现安全接入。这种基于B/S的架构是SSL 最为常见的应用方式。此外,SSL 安全控制粒度可以更为精细,能够仅开放一个主机或端口。
安全认证网关是采用数字证书为应用系统提供用户管理、身份鉴别、单点登录、传输加密、访问控制和安全审计服务等功能的产品,保证了网络资源的安全访问。安全认证网关与一般安全网关产品的主要区别在于它采用了数字证书技术。在产品分类上,安全认证网关可分为代理模式和调用模式,其中代理模式是基于IPSec/SSL 实现的网关产品;调用模式的产品一般提供专用的安全功能(如身份鉴别),被信息系统所调用。目前,大多数安全认证网关产品基于IPSec/SSL协议实现。
由于IPSec 和SSL 各自不同的技术特点,在实际部署中,IPSec 产品通常部署于站到站(site to site)模式和端到站(end to site)模式的安全互联场景,端到端的模式的场景并不多见。其中,端到站、站到站之间的IPSec 通信需要采用隧道模式,而端到端之间的IPSec 通信可以采用隧道模式或者传输模式。这三种IPSec 产品的典型应用场景如下图所示。
SSL 产品则更多的用于端到站的应用场景。对于IPSec 产品,站到站部署模式要求两端网络出口成对部署IPSec客户端。SSL 应用时,只需要在内网出口部署SSL 网关,接入端采用集成SSL协议的终端即可。
密码行业标准中,已发布5项与和安全认证网关相关的产品标准,包括GM/T 022-2014《IPSec 技术规范》、GM/T0023-2014《IPSec 网关产品规范》、GM/T 024-2014《SSL 技术规范》、GM/T 025-2014《SSL 网关产品规范》、GM/T 026-2014《安全认证网关产品规范》。此外,还有一项国家标准GB/T 32922-2016《信息安全技术 IPSec 安全接入基本要求与实施指南》,提出了IPSec 安全接入应用过程中有关网关、客户端及安全管理等方面的要求,同时给出了IPSec 安全接入的实施过程指导。
设计、检测和使用应遵循标准GM/T 0022-2014《IPSec 技术规范》、GM/T 0023-2014《IPSec 网关产品规范》、GM/T 024-2014《SSL 技术规范》、GM/T 025-2014《SSL 网关产品规范》的相关要求。下面将根据上述产品标准给出6个应用要点。
在标准GM/T 0022中,规定了IPSec 中各类密码算法或鉴别方式的属性值。通过对IPSec协议中IKE阶段的报文数据进行解析,可以查看算法属性值,进而判断具体用到的算法。
在标准GM/T 0024中,规定了SSL 产品支持的密码套件列表和属性值。通过对SSL协议中握手阶段的报文数据进行解析,可以查看密码套件属性值,进而判断具体用到的算法组合。
密钥管理方面的要求在标准GM/T 0022-2014(对应IPSec 产品)和GM/T 0024(对应SSL 产品)中分为两部分,一是对密钥体系的要求;而是对密钥生命周期防护的要求,即密钥的产生(来自产品内部还是外部产生)、导入/导出、存储的安全防护、备份方式、销毁条件等。
标准GM/T 0022-2014中规定IPSec 产品的密钥体系应分为三层,这三层密钥分别为设备密钥、工作密钥和会话密钥。下面介绍密钥体系中各层密钥的用途和相关规定。
①设备密钥:非对称密钥对,包括签名密钥对和加密密钥对,用于实体身份鉴别、数字签名和数字信封等。其中,用于签名的设备密钥对在IKE第一阶段提供基于数字签名的身份鉴别服务;用于加密的设备密钥对在IKE第一阶段对交换数据提供保密性保护。
②工作密钥:对很密钥,在IKE第一阶段经密钥协商派生得到,用于对会话密钥交换过程的保护。其中,用于加密的工作密钥为IKE第二阶段交换的数据提供保护性保护;用于完整性校验的工作密钥为IKE第二阶段传输的数据提供完整性保护及对数据源进行身份鉴别。
③ 会话密钥:对称密钥,在IKE第二阶段经密钥协商派生得到,直接用于数据报文及报文MAC的加密和完整性保护。其中,用于加密的会话密钥为通信数据和MAC值提供保密性保护;用于完整性校验的会话密钥为通信数据提供完整性保护。
标准GM/T 0024-2014中规定SSL 产品的密钥体系应分为三层密钥:用于管理的设备密钥;用于生成工作密钥的预主密钥和主密钥;用于保护通信数据的工作密钥。下面介绍密钥体系中的各层密钥用途和相关规定。
①设备密钥:非对称密钥对,包括签名密钥对和加密密钥对。其中,签名密钥对用于握手协议中通信双方的身份鉴别;加密密钥对用于预主密钥协商时所用交换参数的保密性保护。
②预主密钥、主密钥:对称密钥,其中预主密钥是双方协商通过伪随机函数(PRF)生成密钥素材,用于生成主密钥;主密钥由预主密钥、双方随机数等交换参数,经PRF计算生成的密钥素材,用于生成工作密钥。
③工作密钥:对称密钥,对通信数据安全性提供保护。其中,数据加密密钥用于数据的加密和解密;校验密钥用于数据的完整性计算和校验。在GM/T 0024中规定,发送方使用的工作密钥称为写密钥,接受方使用的工作密钥称为读密钥。
以下为国密SSL具体示例。使用wireshark抓取。详细内容可参考https://blog.csdn.net/upset_ming/article/details/79880688。
客户端—>服务器 ClientHello握手消息
客户端—>服务器 ClientKeyExchange握手消息
客户端—>服务器 密码规格变更协议消息
以上步骤是国密ECC_SM4_SM3密码套件一次传输数据的完整交互过程,单向认证。数据较杂,有不对的地方请高手指正。
IPSec 分为隧道模式和传输模式,其中隧道模式是必备功能,用于主机和网关的实现;传输模式是可选功能,仅用于主机的实现。
IPSec 分为客户端-服务端模式(端到站)和网关-网关(站到站)两种,第一种是产品必须支持的,第二种是可选支持的。
安全认证网关产品的设计、检测和使用应遵循标准GM/T 0026-2014《安全认证网关产品规范》的相关要求。除在管理员分权管理等方面与产品规定了相同的要求外,在安全认证网关使用时还应注意产品的部署模式:物理串联是产品的必备模式。
安全认证网关的部署模式分为物理串联和物理并联两种方式。其中,物理串联的部署模式是安全认证网关产品。同时,考虑到实际情况的需要,安全认证网关可以支持物理串联部署模式之外,也支持物理并联部署方式。
①物理串联:指从物理拓补上,用户必须经过网关才能访问受保护的应用
②物理并联:指从物理网络拓补上,用户可以不经过网关就访问到受保护的应用,可以由应用或防火墙进行某种逻辑判断,来识别出未经网关访问的用户,以达到逻辑上串联的效果。