基于SocksWebVPN屈家石.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SocksWebVPN屈家石

基于SocksWebVPN屈家石   【摘 要】外网合法用户如何安全高效地访问内网资源是VPN技术研究的核心。用户使用VPN访问内部网络时,客户端与服务器之间的交互数据通过加密通道传输,保证了内部数据的安全。本文提出了用户权限分级、个性化网络资源分配、服务器安全防范等设想,为用户提供一个安全易用的WebVPN系统。   【关键词】WebVPN;网站安全;加密   0 引言   VPN在为用户提供便捷优质服务的同时也存在着一些问题。一方面,有的VPN安装及配置过程复杂,且可能受到防火墙或网络地址转换而影响使用效果;另一方面,VPN对于用户和目标服务器而言仅仅是一个加密通信的桥梁,只负责保证信息传输过程中的安全性,不能对用户进入内网后的行为进行控制。   针对这些问题,本文描述了一种基于Socks5的WebVPN系统,对系统中的关键技术进行分析,并提出了无需传输用户口令的身份认证模式、使用网站管理用户行为等新设想。实现了一个可跨平台、用户个性化定制、安全高效、方便管理的轻量级WebVPN系统。   1 系统功能模块   WebVPN系统基于Socks5协议,所以支持多平台下使用。该系统主要分为三大模块:客户端模块、服务器模块及传输模块。   客户端负责与用户交互,经本地代理将内网中的内容转发到用户的浏览器上。其基于Web服务器的运行机制,使用户在浏览器中设置相应的全局代理即可连接到对应的服务器,访问内网资源。   服务器模块是系统较为核心的模块,其不仅作为内外网之间信息交流的桥梁,还具备用户合法性检查、用户权限区分、网站安全加固等功能。WebVPN服务器将通过提供的Web服务代替合法用户执行对内网应用的访问,并将结果返回给用户浏览器。而服务器管理人员也可进入管理网站后台进行相关操作及文件检查,预防可能发生的问题。   传输模块将经过通信隧道中的各类信息封装加密,确保客户端与服务器之间的数据交流安全。基于HTTP协议使得数据能够方便地通过防火墙,处于防火墙两端的程序可以使用一种或多种方式组合来实现它们之间通信的需求,另一方面,Socks5是一种工作在传输层与应用层之间的上层协议,这样也为本系统的通用性奠定了基础。   2 实现技术   2.1 数据的加密与解密   客户端和服务器在完成生成密钥的通信协议后会同时产生加密器与解密器。加密器接收到明文数据后首先检查明文长度是否为16字节的倍数,当长度不足16字节的倍数时将自动在该字段末尾加上其他字符补位。得到长度处理工作完成的明文后,加密器将生成一个长度为12字符的随机字符串作为本次加密的初始化向量IV(initialization vector)。得到了明文、密钥、IV之后加密器根据AES算法生成密文,同时将加密时的IV连接在密文数据字段之前一并返回给通信模块。解密过程即为加密的逆过程。加密器得到密文后将其拆分成加密数据段和IV,用密钥与IV即可对密文进行解密得到明文数据段(可能包含补位字符),再检测该数据段是否存在补位,若存在则将补位删除,得到最原始的明文数据段。   2.2 通信密钥生成   服务器与客户端会根据预共享秘密,即用户离线注册的初始口令,各自在本地使用相同的算法生成AES算法的密钥,无需借助额外的安全信道传输密钥。当客户端发出请求接入内网请求时,数据库将会生成12字节长度的随机字符串发送至客户端,双方使用这个随机数同时生成一个32字节的哈希值作为本次通信的密钥KEY。可以看出在建立通信隧道时只是在公网中明文传输了用户名和随机数,保证了密钥的安全性。同时,不需要使用证书验证接入用户的身份,相较于SSL加密模式减少了额外的开支。   2.3 数据的封装及解封   数据封装过程在数据加密过程之后进行。获取加密后的字段DATA和初始化向量IV后,计算出IV+DATA的长度,得到4字节的LENGTH标识放置在数据包前;最后对新数据包前后分别加上开始标识符“DTSTART”和结束标识符“DTEND”。此时,数据包的封装工作完成,与原始加密数据DATA相比增加了32字节数据。   解封即为封装的逆过程。客户端由缓存区获取数据包,从开始符“DTSTART”处读取数据,遇到结束符“DTEND”完成;随后比较数据包IV+DATA的长度和收到的LENGTH值是否相等,确认无误后?⑼暾?的IV+DATA转给解密模块,数据包解封过程结束。   2.4 用户登录验证   在WebVPN中,用户登录验证采用挑战响应机制完成。当用户申请访问内网时,本机与服务器两端同时利用相同的公式对随机数进行计算。结果吻合即证明用户合法,即可采用生成的密钥加密通信数据。系统完成通道加密工作之后会将使用者的用户名及其所使用主机的MAC地址发送给WebVPN服务器,由WebVPN

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档