基于PPTP协议和DES加密的VPN实现

2020-04-07 03:41吴谦封旭
信息技术时代·中旬刊 2020年5期

吴谦 封旭

摘要:VPN是利用安全性较低的网络进行安全加密来实现网络连接,通过身份验证以后可以让远程用户更为安全地对服务器进行访问。本文对基于Internet的VPN组建方案、利用第二层隧道技术、IPSec解决方案的优缺点进行分析,并对利用DES算法、VPN路由选择和整合方案等方面进行研究,提出了适合短期开发的VPN实现方案,可供相关人员参考。

关键词:VPN;PPTP协议;DES加密技术

1、引言

传统的互联网接入方式,只能为用户提供网页浏览和电子邮件等方面的网络服务,没有建立起有效的机制来保证用户信息安全,也无法满足用户对网络功能多样化的要求。同时,随着企业规模的不断变大,需要建立起内部网络来为企业生产经营提供服务,但建立起LAN或利用专线构建VAN方式已经无法满足当前用户的使用要求,VPN技术可以更好地解决该问题。

2、VPN的若干组建方案

2.1 基于Internet的VPN组建方案

以互联网作为基础条件来组建起企业VPN,可以将每个网段和每位远程用户接入到互联网中,用户可利用Modem装置,再经过公共网或拔号连接到本地NAS,从而实现与互联网的连接。企业分部机构网段可以利用路由器和专线结合方式来实现与互联网的连接,企业总部网络区段为VPN中心系统,可通过路由器来实现与互联网的连接。

2.2 利用第二层隧道技术

VPN多采用第二层隧道技术来进行构建,是一种先进的封装技术,应用网络信息传输协议把数据信息封装到报文内容中,可以在网络层面中实现进行数据传输,该技术将数据链路层数据信息完全封装在报文内容中,从而创建出IP报文,可为互联网中进行数据交互提供便利,其中以PPTP协议及L2F协议应用的比较成熟。PPTP协议可应用到隧道技术中,可以为组建VPN隧道提供良好的技术支持,该协议以PPP协议作为开发的前提条件,将用户数据帧以GRT作为基础来封装生成IP报文,应用隧道技术来进行数据传输。L2F协议也是一种隧道传协议,可以为用户提供虚拟拔号服务,还可以更好地兼容LAN-LAN。L2TP协议融合了PPTP和L2F协议的优点,可以支持多种类型的VPN连接。虽然隧道协议有着较高的适用性,但不具备很好的扩展性能,也没建立起有效的安全机制,无法达到会话保密的要求,企业利用该技术实现组网存在着较大的安全风险。

2.3 IPSec解决方案

应用TCP/IP协议建立起的网络体系中,IP层可以为客户数据安全提供有效的保障措施,因为该层是协议体系的中间节点,可以获取到高层级发送过来的报文,也可以得到低层级的报文信息。从该层级的定义来看,该层安全保障与低层级传输协议没有直接联系,但对高层级传输协议和进程是完全透明。很多网络应用都可以获取到从IP层创建的安全服务,随着安全协议标准IPSec的推广应用,可为用户提供更优质的IP层安全服务,很多硬件已经完全支持IPSec协议,可以为构建VPN提供解决办法。

3、适合短期开发的VPN实现方案

3.1 DES算法

该算法最早由IBM公司研发出来,利用56位密钥来对64位数据进行加密处理,可以实现16轮的编码,在每轮编码过程中,利用56位密钥将每轮48位密钥值进行求解,采用软件进行解码操作要求耗费较长的时间,但利用硬件解码则会获得更高的解码效率。当前,很多黑客没有制造硬件的能力,是一种公认的安全加密处理办法。

在局域网条件下,采用10MB/s的网卡进行测试,在VC环境下利用SOCKET来进行编程,建立起C/S数据传输模式,在应用客户端中对数据信息加密,再将处理后的信息传输到服务器端进行接入处理,对数据信息进行解密以后再回复给客户端。从测试效果来看,在传送8096Byte数据时传输速度为404000Bytes/s,最高达到809000Bytes/s。数据传输速度取决于网络性能和网关的速度,与加密算法产生的消耗没有太大的联系,利用DES算法对数据信息进行加密是完全可行的。

3.2 VPN路由选择

采用Client Sevver实现方式,网关可以用作VPN的客户端和服务端,需要在网关中明确路由表项,确定局域网到对方局域网的路由,例如,本地局域网与接收方局域网区段为不同的区段,添加路由表项以后,对方局域网段数据请求会经过PPP0接口,所以,PPTP协议可以利用该原理来实现。每完成一个会话,VPN客户端和服务端就分别对各自字符进行绑定,然后在字符设备中应用PPPD Daemon。输入到PPP0的数据信息需要通过PPPD进行处理后转变成PPP包,在VPN客户端和服务端来传递PPP数据,VPN数据信息的加密需要在该层次中實现。

VPN的实现,也就是利用PPTP对PPP数据包进行包装和解包,如果有数据请求,路由就会把请求数据转变成PPP包,然后将数据包发送到PPP0中。PPTP用于监听、封装、发送数据包,先对包内的PPP数据处理再加入GRE及PPTP数据头,然后再发送出PPP数据包。PPTP服务器端源代码是由pptpd和 pptpctrl执行文件构成,主函数先进行编译形成相应外部命令,并把参数进行分类处理。Pptpctrl.c则应用AFUNIX内置的socket实现与pptpd数据通信。PPTP客户端源代码,先利用get ip address指令从配置文件中提取出服务器的地址,可以为提供给进程来使用,进行初始化操作并打开数据连接,父进程会打开pppd,子进程会采用创建好的socket实现与服务器的PIDS交换。

3.3 整合方案

数据加密可以应用64位的DES加密处理算法,该算法不需要增加数据长度,可以很方便将模块置于系统当中,有利于对数据传输进行有效控制。采用模块方法对VPN系统进行整合,把DES算法作为数据处理模块,先对数据包处理后再进行传输,利用客户端和服务器端定时传输报文来保持联系,可以更好地提高系统的稳定性。

4、结束语

VPN网络技术把互联网作为商业工具,可以为互联网应用带来很好的使用前景。从多种方案对比分析中可以看出,IPSec应用到VPN解决方案,可充分发挥出互联网的可用性,从保证系统稳定性和使用功能进行考虑,该技术可以在短时间内构建立起VPN系统。

参考文献

[1]曾铁亮.RouterOS搭建PPTP协议的VPN服务器[J].电脑编程技巧与维护,2019(08):165-167.

[2]熊学锋,王良之,荣功立,王云飞,曹鑫,罗兰溪,彭小庆.基于VPN的网络安全技术研究[J].电子世界,2017(19):192+195.

[3]吴秀阳. 基于MPLS VPN的VPDN网络技术的应用[D].山东大学,2015.

[4]倪洁,徐志伟,李鸿志. PPTP VPN与L2TP/IPSec VPN的实现与安全测试[J]. 电子技术与软件工程,2019(12):192.

作者简介:吴谦(1981-),男,广西柳州市人,柳州城市职业学院教师,研究方向:计算机课程教学,学生思想教育。