文章插图
SSL独立于应用 , 因此任何一个应用程序都可以享受它的安全性而不必理会执行细节 。SSL置身于网络结构体系的传输层和应用层之间 。此外 , SSL本身就被几乎所有的Web浏览器支持 。这意味着客户端不需要为了支持SSL连接安装额外的软件 。这两个特征就是SSL能 应用于VPN的关键点 。
OpenVPN
典型的SSL VPN应用如OpenVPN , 是一个比较好的开源软件 。PPTP主要为那些经常外出移动或家庭办公的用户考虑;而OpenVPN主要是针对企业异地两地总分公司之间的VPN不间断按需连接 , 例如ERP在企业中的应用 。
OpenVPN 允许参与建立VPN的单点使用预设的私钥 , 第三方证书 , 或者用户名/密码来进行身份验证 。它大量使用了OpenSSL加密库 , 以及SSLv3/TLSv1 协议 。OpenVPN能在linux、xBSD、mac OS X与windows 2000/XP上运行 。它并不是一个基于Web的VPN软件 , 也不与IPsec及其他VPN软件包兼容 。
隧道加密
OpenVPN使用OpenSSL库加密数据与控制信息:它使用了OpesSSL的加密以及验证功能 , 意味着 , 它能够使用任何OpenSSL支持的算法 。它提供了可选的数据包HMAC功能以提高连接的安全性 。此外 , OpenSSL的硬件加速也能提高它的性能 。
验证
OpenVPN提供了多种身份验证方式 , 用以确认参与连接双方的身份 , 包括:预享私钥 , 第三方证书以及用户名/密码组合 。预享密钥最为简单 , 但同时它 只能用于建立点对点的VPN;基于PKI的第三方证书提供了最完善的功能 , 但是需要额外的精力去维护一个PKI证书体系 。OpenVPN2.0后引入了用 户名/口令组合的身份验证方式 , 它可以省略客户端证书 , 但是仍有一份服务器证书需要被用作加密.
网络
OpenVPN所有的通信都基于一个单一的IP端口 , 默认且推荐使用UDP协议通讯 , 同时TCP也被支持 。OpenVPN连接能通过大多数的代理服务 器 , 并且能够在NAT的环境中很好地工作 。服务端具有向客户端“推送”某些网络配置信息的功能 , 这些信息包括:IP地址、路由设置等 。OpenVPN提供 了两种虚拟网络接口:通用Tun/Tap驱动 , 通过它们 , 可以建立三层IP隧道 , 或者虚拟二层以太网 , 后者可以传送任何类型的二层以太网络数据 。传送的数 据可通过LZO算法压缩 。IANA(Internet Assigned Numbers Authority)指定给OpenVPN的官方端口为1194 。OpenVPN 2.0以后版本每个进程可以同时管理数个并发的隧道 。
OpenVPN使用通用网络协议(TCP与UDP)的特点使它成为IPsec等协议的理想替代 , 尤其是在ISP(Internet service provider)过滤某些特定VPN协议的情况下 。在选择协议时候 , 需要注意2个加密隧道之间的网络状况 , 如有高延迟或者丢包较多的情况下 , 请选择 TCP协议作为底层协议 , UDP协议由于存在无连接和重传机制 , 导致要隧道上层的协议进行重传 , 效率非常低下 。
安全
OpenVPN与生俱来便具备了许多安全特性:它在用户空间运行 , 无须对内核及网络协议栈作修改;初始完毕后以chroot方式运行 , 放弃root权限;使用mlockall以防止敏感数据交换到磁盘 。
OpenVPN通过PKCS#11支持硬件加密标识 , 如智能卡 。
推荐阅读
- 松下|两大摄影巨头强强联手!松下与徕卡签署全面战略合作协议
- 高铁|40分钟就能从成都到自贡:成自高铁最长隧道顺利贯通
- 音视频播放器原理、流媒体协议、封装格式、视频编码、音频编码
- 员工保密协议(员工与公司保密协议)
- wap是什么意思?
- 婚内财产协议有什么法律效力
- 动力|本科生年龄超过24岁被解除三方协议,广东河源中国联通门槛真高
- 5G|江苏广电5G互联互通协议定了!192号段即将商用放号
- 到底什么是伊核协议? 伊核协议是什么意思
- 深海里的沉管隧道 海底沉管隧道
