虚拟专用网络(VPN)及其标准浅析1)
2019-09-10
信息安全管理系列之五十一
如何将异地的网络连在一起?虚拟专用网络(VPN)是目前最为常见的方案之一。严格讲,VPN并不是安全产品,但是由于VPN的重要性,以及其中安全的重要性,在关于网络安全(network security)的国际标准ISO/IEC 27033中,就有关于VPN安全的专门部分。下文中,同专栏的前几期一样,也是从使用的角度介绍VPN安全。
谢宗晓(特约编辑)
摘要:介绍虚拟专用网络(VPN)的概念,主要的隧道协议,以及相关的国际标准、国家标准和密码行业标准。
关键词:信息安全 网络安全 虚拟专用网络
Virtual Private Network (VPN) and Related Standards
Xie Zongxiao (China Financial Certification Authority)
Wang Xingqi (School of Economics and Management, Taishan University)
Abstract: This paper introduces the concept of virtual private network (VPN), the main tunneling protocol, as well as the relevant international standards, national standards and cryptographic industry standards.
Key words: information security, network security, virtual private network (VPN)
1 为什么需要VPN
连接不同的网络,最直接的方法是拉一条线缆,一般只用于军事用途。既然物理专线的方式不可行,可以考虑采用逻辑上的专线,这就是我们平时所指的“专线”。专线的实现最常见的实现方式为数字数据网(Digital Data Network,DDN)和帧中继(Frame Relay,FR)。但是,几乎所有的专线存在最严重的问题是成本太高,租用专线的组织一般都是对数据和网络高度依赖的金融和证券等特殊行业用户,大部分企业没有能力也完全没有必要采用专线方式。
VPN的出现正是为了解决以上缺点。事实上,VPN是目前最常见,也是最“虚拟”的方式。通俗讲,VPN就是在公用网络上搭建一个私有网络,所以VPN(Virtual Private Network)实际应翻译为虚拟私有网络。VPN就是利用已经建成的网络(例如,Internet)将多个私有局域网连接在一起。
2 VPN的服务质量
由于VPN建立在互联网上,因此也不能提供服务质量(Quality of Service, QoS)。
数据在互联网上传输,如同汽车在公路网上运输,大致的时间可以确定,但不是很准确。在数据高峰时候,数据不能及时到达,这与堵车是差不多的场景,不过情形比堵车更糟糕,堵车很少有把车直接丢了的情况,而链路堵塞则可能导致数据直接被丢弃。与此不同的场景是,专用于语音通话服务的电信网能够保证QoS,如同铁路运输,在某一时刻火车(如同数据包)独占了该线路。
传输方式(或连接类型)与QoS并没有必然的联系。例如,“面向有连接型”和“面向无连接型”,前者如TCP协议,后者如IP协议。面向有连接型如同平时打电话,一方在拨号之后会等待对方应答,只有在对方应答之后才能开始通话。面向无连接型则不同,发送端随时发送,接收端也随时接收,如同我们去邮局寄包裹,不需要双方确定好时间,寄的只管按地址寄,收的只管按地址收。
3 VPN的主要技术
VPN属于远程访问技术,一个典型的VPN应用如图1所示。
VPN的技术实现包括诸多方面,例如,隧道技术(Tunneling)、加密/解密技术和身份认证技术等,如图1所示,这其中最基本的是隧道技术。隧道技术是在公用网上建立一条数据通道(隧道),让数据包通过这条隧道进行传输[1]。在隧道中,数据包会被重新封装。所谓封装,就是在原IP分组上添加新的表头,因此操作也叫IP封装化,就如同将数据包装进信封一样。一般而言,只对数据加密的通信路径不能称为隧道,在一个数据包上再添加一个报头才叫做封装化。
隧道的建立需要通过隧道协议。由于隧道技术在VPN实现中的重要性,隧道协议有时候也被称为VPN協议,VPN本身有时候也被称为隧道。隧道协议可以工作在开放式系统互联(Open System Interconnection,OSI)参考模型的第2~4层,即数据链路层、网络层或传输层,常见的大多在第2层或者第3层,具体如表1所示。
表1中,较为重要的协议为PPTP、IPSec和MPLS。
PPTP是在已经存在的IP连接上封装点对点协议(Point to Point Protocol,PPP)会话,可以认为是PPP的扩展,主要是增强了认证和加密功能。PPTP对PPP本身并没有做任何修改,只是使用PPP拨号连接,然后获取这些PPP包,并把它们封装进GRE中。PPTP采用TCP1723 端口,且PPTP也没有定义任何加密机制,因此其安全性不如IPSec VPN 和TLS VPN。
IPSec VPN提供端对端的安全性,是以后安全联网的趋势[2]。因为所有支持TCP/IP的主机在进行通信时都要经过IP层的处理,所以提供了IP层的安全性就相当于为整个网络提供了安全通信的基础。IPSec基本的工作原理是对于收到的数据包,先查询安全策略数据库(Security Policy Database, SPD),以确定对其进行丢弃、转发还是封装。IPSec VPN提供传输模式和隧道模式两种封装模式,传输模式仅加密载荷数据,隧道模式则对IP包头和载荷数据都会加密。这是由于刚发布时,当时的网络设备性能和网速比较慢,传输模式不加密可以提高速度。
IPSec提供了认证头(Authenticaton Header,AH)和封装安全载荷(Encapsulate Security Payload,ESP)两类协议,两者既可以单独使用,也可以同时使用。AH指的是将原IP数据包使用AH进行封装,并添加新的IP包头,然后对整个包签名[3]。ESP在原IP数据包基础上添加ESP包头,IP包头和ESP认证尾[4]。AH和ESP的区别在于,ESP提供加密,AH不提供。
MPLS就是在数据包上加个标签,标记一下流量等诸多要素。标记可以很多种,不只流量。加一堆别的标记,在MPLS上很容易实现VPN。加了标记后,叫标签交换路径(LSP)。这种技术原理的,称为MPLS VPN。每个VPN子网分配有一个标识符,叫做路由标识符(RD),RD在服务商提供的网络中是唯一的。RD与IP地址连接,形成新的地址,称为VPN-IP。MPLS VPN本身也没有加密机制,也就是说,安全性不如IPSec。
安全套接层(Secure Sockets Layer,SSL)最初由Netscape公司开发,后来国际互联网工程任务组(IETF)将其更名为传输层安全(TLS)。SSL/ TLS VPN主要用于HTTPS协议中,作为构造VPN的技术,其最大优点是不需要安装客户端。
4 相关的国际/国家标准
在已经发布的ISO/IEC 27000标准族中,与VPN相关的如ISO/IEC 27033-5:2013,其全称为:
Information technology—Security techniques—Network security—Part 5: Securing communications across networks using Virtual Private Networks (VPNs)
《信息技术 安全技术 IT网络安全 第5部分:使用虚拟专用网的跨网通信安全保护》
ISO/IEC 27033-5:2013实际是将VPN作为一个安全域处理,首先描述了VPN所面临的安全威胁,由此讨论了VPN的安全要求,包括:机密性、完整性、真实性、授权和可用性等,根据安全需求导出安全控制(controls),重点讨论的内容是设计,最后给出了产品选型指南。该标准中的安全设计内容,即第10章,从管理、架构和技术三个方面给出了指导,与ISO/ IEC 27001:2013附录A的控制存在一致之处。
ISO/ IEC 27033-5:2013在之前被发布的版本為ISO/IEC 18028-5:2006,而该版本被等同采用为GB/T 25068.5—2010。在ISO/IEC 18028-5:2006前言中很明确地指出该标准拓展了ISO/ IEC TR 13335 与 ISO/ IEC 17799的安全管理指南。关于ISO/ IEC TR 13335后续的开发,可以参考文献[5],关于ISO/IEC 17799的详细发展过程及后续开发,可以参考文献[6]。
在国家标准中,发布有:GB/ T 32922—2016《信息安全技术 IPSec VPN安全接入基本要求与实施指南》。实际上,与VPN相关的标准大多以密码行业标准的形式发布,具体如表2所示。
5 小结
虚拟专用网络(VPN)是连接异地网络最常见的技术之一,作为远程访问技术,VPN的安全就显得格外重要。在本文中,首先分析了VPN的需求及其要解决的问题,然后讨论了在VPN实现中最为基础的隧道技术/协议,最后给出了目前VPN相关的标准。
参考文献
[1] 刘建伟, 王育民. 网络安全——技术与实践(第2版)[M].北京:清华大学出版社,2015.
[2] MARK RHODES-OUSLEY. 信息安全完全参考手册(第2版)[M].李洋,段洋,叶天斌,译. 北京:清华大学出版社,2014.
[3] RFC2402, https://tools.ietf.org/html/rfc2402.
[4] RFC2406, https://www.ietf.org/rfc/rfc2406.txt.
[5] 谢宗晓,许定航.ISO/IEC 27005:2018解读及其三次版本演化[J].中国质量与标准导报,2018(9):16-18.
[6] 谢宗晓,王静漪.ISO/IEC 27001与ISO/IEC 27002标准的演变[J].中国标准导报,2015(7):48-52.