基于国家标准的SSLVPN安全网关研究与实现

2020-04-22 20:37王谨旗
无线互联科技 2020年4期

王谨旗

摘   要:SSL VPN安全网关为传输层和应用层协议提供安全隧道,利用安全隧道技术,在传输层实现互联网网络信息的安全保护,能够利用公共网络为用户建立虚拟的专用网络,提供比专网更加安全的通信信道。SSL VPN安全网关以国家密码管理局审批的密码卡为基础密码器件,为其提供密钥运算、密钥保护、密钥备份恢复等功能;操作系统采用裁剪的Linux系统,同时,严格遵循国家密码管理政策和相关设计规范,实现了基于传输层的SSL VPN安全网关,为各种应用提供了身份认证和安全传输的需求。在政府、金融、运营商、能源、交通等领域具有广泛的用途,有明显的社会效益和经济效益。文章对此展开了分析。

关键词:国密算法;SSL VPN;安全网关;输控制协议/因特网互联协议

自身的缺陷、网络的开放性以及黑客的攻击是造成互联网络不安全的主要原因。传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)作为Internet使用的标准协议集,是黑客实施网络攻击的重点目标。TCP/IP协议组是目前使用最广泛的网络互连协议。但TCP/IP协议组本身存在着一些安全性问题。TCP/IP协议是建立在可信的环境之下,首先考虑网络互连缺乏对安全方面的考虑,基于地址的协议本身就会泄露口令,而且经常会运行一些无关的程序,这些都是网络本身的缺陷。互连网技术屏蔽了底层网络硬件细节,使得异种网络之间可以互相通信。这就给“黑客”们攻击网络以可乘之机。由于大量重要的应用程序都以TCP作为其传输层协议,因此TCP的安全性问题会给网络带来严重的后果[1]。网络的开放性、TCP/IP协议完全公开、远程访问使许多攻击者无须到现场就能够得手,连接的主机基于互相信任的原则等性质使网络更加不安全。这种不安全性会造成巨大的社会影响和经济损失。

1    项目背景

虚拟专用网(Virtual Private Network,VPN)是解决通信安全问题的有效方式,是目前信息安全领域重要研究领域之一。VPN通过一个私有的通道来创建安全的连接,将远程用户、公司分支机构、公司的业务合作伙伴用企业网连接起来,形成一个扩展的公司企业网。常用的VPN技术分为MPLS VPN,SSL VPN,IPSec VPN和PPTP VPN4种方式。SSL VPN是以HTTPS为基础的VPN技术,工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制,可以为应用层之间的通信建立安全连接[2]。SSL协议指定了一种在应用程序协议和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户认证。他的特點是无需客户端软件,使用方便,适用于用户安装配置不易或是特定应用情况。安全套接层协议层方案,它只能访问适用标准的Web创作工具如HTML和JavaScript的应用。这项技术可以分析每个网页,确保从该网页引出的程序化的导航路径通过安全连接,转发到SSL VPN服务器,为用户远程访问公司内部网络提供安全保证[3]。

2    设计原则

开发和应用SSL VPN安全网关的目的是保证应用的安全,所以安全网关无论在硬件、软件、应用接口,还是在管理上,都采用了较完善的安全体系,能确保安全网关自身安全,以及服务接口的安全。采用成熟可靠的技术、先进的设计生产和制造工艺、严格执行ISO9000质量管理规定,研制开发出性能稳定可靠的产品。

3    工作原理

SSL VPN安全网关各功能模块相对独立,由逻辑系统对其进行有机结合,包括密码服务模块服务,SSL模块,系统管理模块组成。

密码服务接口接收密码作业请求,对密码作业进行分析调度,将密码作业请求提交给密码运算模块。对密码运算模块进行统一调度和分配,并返回密码运算模块的处理结果。密码运算模块是各种密码运算函数的集合,包含非对称算法SM2算法、SM1和SM4对称加密算法、摘要算法SM3算法以及随机数生成、证书解析、验证、签名的函数等,为SSL模块和系统管理模块提供密码运算支持。

SSL模块是SSL VPN安全网关的核心组成部分,其通过消息处理服务和应用层的业务系统连接,为其提供消息接收、返回等服务;通过SSL协议模块和客户端(用户)建立SSL握手,并加密与应用的传输数据;通过身份认证模块(证书链认证、证书废除列表模块、SSL证书防火墙模块)来鉴别用户的身份。SSL VPN协议模块负责SSL服务端与SSL客户端之间密钥的协商、握手,产生双方的工作密钥,用于加密并认证双方传输数据。SSL身份认证模块负责对SSL协商中客户端身份进行鉴别,身份认证模块分为多种认证方式,包括证书有效性验证、证书链认证、证书废除列表认证、SSL防火墙,这些方式可以单独也可以组合使用。

4    工作流程

身份认证流程,系统管理员使用智能密码钥匙作为身份证书的密钥载体,在登录SSL VPN安全网关时需要进行验证。服务器在管理员需要登录时,会从密码卡中获取一组随机数,发送给管理员,管理员使用智能密码钥匙对随机数签名,同时发送管理员身份证书和签名值,SSL VPN安全网关在获取管理员身份证书时会计算hash,并与系统初始化的hash比对,之后验证证书链,最后对签名值进行验签[4]。

备份恢复流程SSL VPN安全网关中的关键密钥需要备份,以便在SSL VPN安全网关中的密钥损坏或更新密钥时,及时恢复密钥。SSL VPN安全网关中需要备份的密钥为设备签名密钥对和设备加密密钥对。

5    关键技术及创新

本项目深度裁剪Linux系统,采用最新的Linux内核,并对Linux内核进行定制,加入安全补丁,上层文件系统均有自己开发。SSL VPN安全网关支持负载均衡,可以在负载均衡器的调度下进行有效工作,并支持多机热备技术,在一个集群中的设备,可以互为备份,有效地提高可靠性。SSL VPN安全网关采用SVG技术,通过CGI接口,实时动态地获取SSL隧道的状态,直观明了地查看当前SSL隧道的认证协商情况和系统负载情况[5]。

动态加载密码设备特点,不同加密卡以及加密设备,如何做到无缝切换,不同加密设备之间,在通用运算的接口模块中,引申引擎概念,每一种加密设备对应一个引擎,这个引擎可以包括对称加密算法、SM2算法、摘要算法和密钥管理接口。这样每一个加密设备都有一个引擎,系统会根据加密卡或者加密机的特征,会自动加载引擎,做到密码运算设备无缝交接。

6    结语

研制一款支持国产SM1,SM2,SM3,SM4算法,遵循国家密码管理局颁发的《SSL VPN技术规范》的SSL VPN网关是十分必要的,对于我国电子政务建设、国民经济信息化建设、信息网络建设及网络安全保密系统的建设均具有重要的现实意义。

[参考文献]

[1]冯登国.公开密钥基础设施—概念,标准和实施[J].现代电子技术,2001(2):23.

[2]马亚娜,钱焕延.用Cookie构建Web安全的实现[J].计算机工程,2002(11):34-35.

[3]李晏睿,赵政.一种基于PKI/PMI的企业安全架构[J].计算机工程与设计,2004(12):95-96.

[4]安继芳,孙建华.密码技术与电子商务[J].网络安全技术与应用,2005(2):10-11.

[5]伍娟.基于国密SM4和SM2的混合密码算法研究与实现[J].软件导刊,2013(8):127-130.