马骢
摘 要:文章首先介绍分析了SSL协议,探讨了SSL协议对VPN支持的方面可能存在缺陷,并提出了引入PKI数字证书系统,用于解决网络环境下身份认证、访问控制等存在的问题,以来增强SSL VPN系统的安全性,并对PKI的加密算法的安全性进行了分析比较。基于PKI技术的SSL VPN技术有效的弥补了SSL VPN在安全性的不足,添加了用户权限分级控制,满足了不同层次的需求,可以更加灵活配置管理远程接入的访问,实现了资源的安全共享。
关键词: SSL 协议; PKI 技术; 数字证书; VPN; 网络技术
中图分类号:TP393.08 文献标识码:A 文章编号:1009-3044(2016)12-0040-02
Abstract:This paper first introduces the SSL protocol, and discusses the possibility of how to use SSL protocol to support VPN. This paper introduces the PKI system to construct the secure and effective highly system which can support SSL VPN technology. The PKI system can vouch for the security of transmit, guarantee the users identity, and solve the problem of authentication.
Key words:SSL; PKI; digital certificate system; VPN; network
1 概述
SSL VPN是近年来兴起的一种新的VPN技术,是一种解决远程用户安全访问本地网络中敏感数据的解决方法。SSL VPN技术[1]有着易于实现安装,不需要安装客户端,成本低廉,细粒度的访问控制等优势,适用于远程分散用户的链接。然而随着SSL VPN的广泛应用,SSL VPN技术也暴露出来一些问题,例如黑客会利用所控制的合法终端进行攻击或造成数据的泄漏。SSL VPN虽然能够抵御外部用户的终端的攻击,但是针对这些来自合法用户的攻击比较无力。
因此,本文将从SSL VPN存在的问题入手,针对这些安全保护上问题引入数字证书和数字签名技术,改进了SSL VPN的安全性能,从而使其满足达到应用到远程测控网络的构建的安全性的要求。
2 SSL VPN技术概述
SSL VPN技术是在现有的SSL协议的应用基础上发展而来的,它增加了客户端执行访问控制和安全的级别和能力。SSL协议一般位于TCP/IP协议与各种应用层协议之间,其可分为两层: SSL记录协议层,SSL握手协议层。SSL握手协议是建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL记录协议是建立在SSL握手协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
3 基于PKI技术的SSL VPN设计
3.1 PKI技术概述
公钥基础设施Public Key Infrastructure(PKI)[2,3]是一个采用非对称密码算法原理和技术实现的、具有通用性的安全基础设施。该设施通过规范化地管理密钥,并利用数字证书上的数字签名来标识在密钥持有人的身份,为应用系统进行身份验证、数据的完整性和保密性、不可否认性等来进行安全保障的措施,从而提供一个安全可靠的系统环境。常见的PKI系统如下图所示:
PKI系统的基础是数字证书[2,4,5]。数字证书其主要用于在网络业务活动中对实体标识身份,方便通信双方对其身份的验证,也会对证书的有效期进行检查,保证了不可抵赖性,解决了双方信任问题。 数字证书通常由证书认证中心签名并发布出来,包含了公钥持有者的信息以及公开的密钥的文件。
数字证书主要分为两大类,一类是签名证书,主要用于对用户信息进行签名,保证信息的不可否认性和不可抵赖性;另一类则是加密证书,主要用于传输过程中对用户传送的信息进行加密,以保证信息的真实性和完整性。
而数字证书的安全性则由加密算法的优劣来决定。目前常见的非对称加密算法主要有RSA,DSA和ECC。三种加密算法都有着很高的安全性,但以本文的角度上来考虑到用户访问的数据能够在最短的时间内进行加密或解密从而进行传输。所以本文会以加解密算法的复杂度作为首要条件进行考虑,综合考虑加密算法的安全性,最后选择了椭圆曲线加密算法—ECC。
3.2 EEC算法
椭圆曲线加密算法ECC是一种公钥加密算法,它具有计算量小,存储空间占用小,带宽要求低等优点。它的算法的核心思想是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数计算的复杂性。
3.3 实验结论
目前市面上的SSL大部分采用的是RSA非对称加密算法,因此本文选取了RSA与EEC加密算法的比较。在实验过程分别采用了依次递增加密密钥长度,来测试两个算法的耗时和效率。
根据图4和图5的结果,可以得到实验结论为:随着密钥长度越来越长,RSA性能大为降低。而ECC的算法则上升程度有限。总的来说,EEC算法比RSA更为适用与进行数字证书的加密。
3.4 PKI技术在SSL VPN中的应用
系统设计的目标是建立一个具有高安全性,能够适用基于互联网进行远程测控系统通信的SSL VPN安全系统。系统采用SSL协议为基础,引入PKI数字证书技术,来保证测控信息通道安全的安全通讯系统。系统主要完成的工作分为以下几个部分:
(1)建立SSL VPN服务器
(2)建立认证中心CA,实现对数字证书的发放、管理和作废等功能。
(3)建立LDAP目录服务器,用于查询用户信息等功能。
SSL VPN服务要能够接受用户的访问,提供给用户相应的功能权限,并能对访问的用户进行管理。用户从PKI数字证书系统中去申请用于建立SSL连接的所需求的数字证书,同时也会去申请角色的权限(通常内嵌在数字证书中)。管理员根据不同的需求分配不同的角色给用户,以便用户使用自己相应的资源。SSL VPN应用服务器根据用户的权限进行识别,然后建立起一个隧道连接,同时也会检测访问的权限范围,提供相应的操作结果值和安全范围内的资源给用户。
在用户的访问请求阶段,SSL握手协议层中采用了生成随机码和验证,保证建立过程的唯一性和随机性。利用了PKI数字证书技术对用户的身份进行验证。采用了用户角色的设计,对不同的用户提供了不同的访问权限等级,保障了应用服务器上的资源的安全使用。在SSL协议层采用了多种方法对数据的传输过程进行加密。同时,在传输数据过程中采用MAC算法对传输数据的完整性进行验证,保证了数据的完整性。
4 结论
通过引入了PKI数字证书系统,弥补了SSL VPN在安全性方面的不足,添加了用户权限分级控制,满足了不同层次的需求,可以更加灵活配置管理远程接入的访问,实现了资源的安全共享,极大提高了系统的数据的安全性,更能适应不同的数据操作环境。
参考文献:
[1] Charlie Hosner. OpenVPN and the SSL VPN Revolution. http://openvpn.net/index. php/open-source/articles.html .
[2] 徐勇,袁丁.数字证书的研究与实现[J].通信技术,2009(1).
[3] 虞歌. PKI体系的分析[J]. 现代计算机, 2003(7).
[4] 张仕斌,何大可,盛志伟. PKI安全认证模型的分析与研究[J]. 成都信息工程学院学报,2006(3).
[5] 徐庆征.公开密钥基础设施PKI及其体系结构的研究[J]. 数据通信,2004(3).
[6] Ramy K. Khalil,Fayez W. Zaki,Mohamed M. Ashour, et al.A Study of Network Security Systems[J]. International Journal of Computer Science and Network Security ,2010.
[7] 陈向荣,余胜生.IPSec-VPN中应用PKI的研究与实现方案[J]. 计算机与数字工程,2002(6).
[8] Eric Young.OpenSSL project[EB/OL]. http://www.openssl.org .
[9] Younglove R.Virtual Private network show they work[J]. Computing &Control Engineering Journal,2005,11(5).