SSL VPN策略在印刷数字样张远程传输中的应用
2018-12-24
在计算机网络系统中,SSL VPN策略包含了两个部分:一个是SSL(安全套接层)协议,一个是VPN(虚拟专用网络)。
SSL(安全套接层)协议是在互联上确保信息能够安全传输的通信认证协议,通过“工作站→服务器”建立通信联系,作用于TCP/IP模型的应用层,通过设定网络传输应用程序和TCP/IP之间的安全机制,为TCP/IP实现网络连接对需要传输的数据进行加密,需要在客户端和服务器端实现身份认证。
VPN(虚拟专用网络)上指在大型和超大型的网络系统(如:互联网)中,建立一个属于自己的网络传输系统,将互联网中的其他网络传输系统隔离出去了。当然,使用该策略只是临时的,其本质相当于一个点对点的网络数据传输模型。
SSL安全网络通道技术
在本文设计的通信系统中,采用SSL VPN策略来确保数据通信过程的安全。SSL可以保证两个应用间通信的保密性和可靠性,可在服务器端(根据印刷企业的实际需要,可以不用设置专用服务器)和用户端同时实现支持。该协议可以确保用户/服务器应用间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。
SSL VPN策略的核心是SSL协议,它指定了在应用程序(如 HTTP、Telnet 和 FTP等)和TCP/IP协议之间进行数据交换的安全机制,为TCP/IP连接提供数据加密、服务器认证以及可选的客户机认证。SSL协议是由SSL记录协议、握手协议、密钥更改协议和告警协议组成,它们共同为应用访问连接提供认证、加密和防篡改等功能。
SSL VPN通过数据包封装技术来实现虚拟专用网的私有性,通过PKI技术和加密技术来鉴别通信双方的身份和确保传输数据的安全。SSL VPN可以构建外联网、内联网和远程访问等多种VPN系统,支持IPv4/IPv6、NetwareIPX、Appletalk等多种网络协议,可成功穿越NAT设备。
SSL VPN工作在系统用户空间,具有组网灵活性强、增强的远程安全接入、细粒度的访问控制、管理维护成本低、用户操作维护简便、能够穿越防火墙等特点。
SSL VPN的通信过程
SSL VPN一般的实现方式是在印刷企业的防火墙后面放置一个SSL代理服务器,SSL代理服务器将提供一个远程用户与各种不同的应用服务器之间的连接,主要依靠握手协议、记录协议、警告协议实现,SSL VPN的通信过程主要集中在握手协议上,其实现步骤是:
1.SSL客户机连接到SSL服务器,并要求服务器验证身份;
2.服务器通过发送数字证书证明自身的身份,其中包括整个证书链,直到某个证书颁发机构(CA),通过检查有效日期并确认证书包含可信任CA的数字签名来验证证书的有效性;
3.服务器发出一个请求,对客户端的证书进行验证;
4.双方协商用于加密的消息加密算法和用于完整性检查的HASH函数,通常由客户端提供它所支持的所有算法列表,然后由服务器选择其中最强大的加密算法;
5.客户机和服务器通过下列步骤生成会话密钥:客户机生成一个随机数,并使用服务器的公钥(从服务器证书中获得)对它加密,再送到服务器;服务器用更加随机的数据,用客户机的公钥加密,发送至客户机以表示响应;使用HASH函数从随机数据中生成密钥。
以上通信过程的关键参考代码如下:
(1)服务器端通信连接关键代码:
//新建Socket
//绑定端口
//开始接收TCP链接。
//接受客户端TCP链接
//新建SSL
//获得SSL链接用到的算法
//获得客户端证书
(2)客户端通信连接关键代码:
//创建socket并链接到服务器端
//服务端地址
//服务端口
//链接服务器
// TCP链接开启SSL协议
//启动SSL链接
//获取SSL链接的算法
//获得服务端证书
证书及其管理
本项目建立的安全网络通道,首先是利用OpenSSL软件创建CA证书,其次有文献对OpenSSL的组件化封装做了研究与实现,另外,众多文献都涉及到OpenSSL技术。通信双方只有拥有相应证书才能建立TCP链接,进行双方的数据交换。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息和公开密钥的文件。证书的管理的实现步骤是:证书的申请→证书废除列表CRL→证书的撤销。
在设计过程中,依托PKI技术和数字证书的管理体制,以OpenSSL工具为基础,用VC开发用户证书管理系统的实现,完成了对用户证书系统管理的模拟实现。
OpenSSL工具
OpenSSL是一个功能丰富且自包含的开源安全工具箱,本设计使用的OpenSSL版本0.9.8e,利用它创建server.crt以 及client.crt。