谢超然
(中国直升机设计研究所,江西景德镇 333001)
随着互联网技术的不断发展,互联网被应用到不同领域,各个行业对网络的依赖度越来越高,互联网在很大程度上解决了各个行业遇到的很多问题,比如资源共用、通信、办公等问题。互联网也被应用到人们的日常生活中,极大地方便了人们的生产生活,使得以前不可能实现的事情成为可能。
随着科技的不断发展、企业规模的不断扩张,防火墙的局限性得以凸显,企业不仅仅需要硬件防火墙,还需要一个更符合企业要求的技术,这种技术就是VPN。VPN技术的出现在很大程度上解决了企业规模扩张带来的网络连接问题及安全问题。从实质来讲,VPN 是一个虚拟的网络,服务提供商通过创建VPN 虚拟隧道实现自身私有数据的传输。由于VPN 租用的是网络服务提供商的网络,对企业内部员工、出差员工及合作员工而言,大大减少了同拨号连接租用线路的费用。随着企业的不断发展壮大,企业会存在增设分公司等活动,企业的合作公司、资源供应商也会越来越多,对网络通信的质量要求也会越来越高。因此,VPN 技术在企业网络中的应该越来越广泛。VPN 技术在企业中的应用为企业与各分公司、合作公司、供应商提供了安全交流的通道,保障企业本身的资源得到合理访问,有利于企业不同局域网间进行安全通信。VPN技术通过创建安全隧道,使数据安全传输,隧道是连接两个网络通道、传输数据的技术。互联网技术的广泛应用,在提升网络开放性的同时,也对网络安全造成了很大的威胁。因此,VPN 为解决此类问题被广泛应用,各类企业网络也应用VPN 解决网络通信安全的问题。
在公共网络上建立专用网络的技术称为虚拟专用网络(Virtual Private Network,简称VPN)技术。既可以叫虚拟网,也可以叫专用网。在整个VPN 网络中的任意两个节点之间并没有用到传统专用网络需要的端到端的物理链路的连接,而是应用公共网络服务提供商所提供的网络平台,以实现用户数据在逻辑链路中的安全传输,包括共享网络或公共网络的封装、专用网络数据加密和身份验证。VPN 其实本身属于远程访问技术,简单来讲就是利用公网的链路创建自身需要的私有网络。比如,公司员工到外地出差,但是他想访问公司内部资源,这种访问其实就是远程访问,出差员工访问内部资源就是通过VPN技术实现的。在公司内部连接外网的路由器上配置VPN,出差员工电脑配置VPN 客户端,配置相应的密钥,以此实现访问企业内部资源的目的。
(1)安全保障。VPN 创建了一个虚拟隧道,对要传输的数据通过加密算法进行加密处理,保证数据传输的安全性和私有性;(2)服务质量保证。应用VPN 技术为需要实现不同程度数据传输安全的用户提供安全服务;(3)可扩充、灵活性。应用VPN 技术支持内部、外部及扩展等任何类型的数据流;(4)可管理性。VPN 为用户资源、数据传输的管理提供技术支持。
IPSec 协议工作在网络层,为IP 层网络提供安全服务,为网络选择需要的安全协议、加密算法、Hash 散列算法、密钥管理策略、密钥。IPSec 是用来保护一条或多条终端设备与终端设备、终端设备与服务器、网关与网关以及局域网与局域网间的安全通信。IPSec 协议不仅仅是一个协议,还是一个协议组。IPSec 协议组包括多个内容,其中有对双方密钥管理的密钥管理协议—ISAKMP。ISAKMP 安全协商密钥管理协议为网络的密钥提供了相应的管理。其实ISAKMP 本身不能建立会话密钥,而是通过各种会话密钥建立协议,共同使用会话密钥,比如密钥确定协议Qakley,为网络密钥管理的实现做出了相应的支持[1]。IPSec 接收端的网络设备根据接收端的SA 对使用IPSec 加密的传输数据利用自身的密钥进行解密并接收,这样就实现了传输数据的私有性和完整性。
加密映射ACL 用来定义被加密保护和不被加密保护的网络层IP 通信。加密映射ACL 可以保护两个不同局域网之间的相互通信,也可以保护两台终端设备之间的远程通信。加密映射ACL 不是自身指定到IPSec 协议中的,而是通过加密映射条目引用实现的,定义IPSec 进程是否应该应用到匹配ACL 中permit(允许)条目的通信,加密ACL 通过设置VPN 感兴趣流实现。
交换集(Transform Set)是一个安全协议和算法的组合,一个交换集代表一个特定的安全协议和算法组合。在IPSec SA 协商过程中,双方同意使用一个特定的变换集保护一个特定的数据流。在网络配置过程中,可以指定多个变换集,然后在一个加密映射条目中指定一个或多个变换集。在加密映射条目中定义的变换集用于IPSec SA协商,以保护由加密映射条目关联的ACL 所指定的数据流,在IPSec 与IKE 协商过程中,peer 查找同时在两个peer 端存在的一个变换集。找到并选择一个这样的变换集后,作为双方peer IPSec SA 的一部分应用到被保护的通信上[2]。如果是手动建立的SA,则没有peer 间的协商,两端必须指定相同的变换集。
创建加密映射集是在已定义了一个变换集以后进行的,在创建的加密映射集中,应当有通信对等端外端口地址的合法声明,定义前一步骤声明的变换集应该应用到加密映射集中,还要与相应配置的VPN 虚拟隧道关联起来,实现外端口的相关通信。在外端口映射加密映射集时,最多只允许映射一个加密映射集,所以当出现配置点到点的多条IPSec 时,需要在路由器上配置多条加密映射集条目实现多条IPSec 关联,多个加密映射集需要多条加密映射集条目实现,不同的加密映射集序号可以解决此类问题。不同的加密映射序号应该属于同一个加密映射集,外端口的映射直接映射到加密映射集上,而不是直接映射到加密映射的各个序号上。加密映射集可分为静态加密映射集和动态加密映射集两种,静态加密映射集和动态加密映射集的配置理论上差距不大,但实际的配置区别较大,动态加密映射表需要由Dynamic 标识修饰,并且动态映射集通常应用于那些IP 不固定的双方通信,当SA 更新时,也会使用动态映射集。
密钥交换策略是一个与IPSec 协议相互工作的密钥管理协议标准,密钥交换策略用于协商IPSec 安全关联(Security Associations,简称SA),在配置密钥交换策略时,需要建立ISAKMP 和密钥交换策略密钥。两个需要相互通信的双方需要配置相同的密钥、加密算法及Hash 算法,只有通信双方配置相同时,信息才能在VPN 虚拟隧道中通信并到达对方,而不至于因为密码不匹配,导致信息无法读取,而将信息丢弃,使双方不能够通信,造成通信失败。
网络地址转换是用来转换IP 地址的,网络地址转换可以分为3 类,包括动态NAT、静态NAT、复用PAT,VPN 中应用的网络地址转换主要是PAT。网络地址转换主要是实现各个通信双方所有内网地址可以访问公网所有端口。网络地址转换通常与加密ACL 结合使用,网络地址转换通常用Permit 关键词实现通信双方内部主机访问外网及所有公网端口的功能。在配置VPN 时,当网络地址转换使用Any 时,就会出现各种问题,通信的数据流会被传输到公网,而需要到达私网的通信为不可达。因此,需要一定措施使其可以访问私网,网络地址转换就需要使用另外一个关键词Deny。先使用Deny 限制需要通信的私网双方,指定访问私网,用Permit 关键词允许其他内部主机访问外网及公网[3]。
访问控制是对资源的访问进行一定的控制,使其只能流经网络的授权主机及不同局域网主机,也是对资源使用的限制。配置VPN 时,应用访问控制列表与地址转换结合的方式实现资源的合理访问。访问控制通过Permit 关键词或者是Deny 关键词,对访问资源的主机进行控制,从而实现双方通信安全。VPN 的配置中使用访问控制定义VPN 的感兴趣流,在路由器上限制出站或入站数据,通过Permit 关键词实现,不允许通过的数据流则将其数据包丢弃,从而实现通信双方的安全通信。
数据加密是网络中传输的数据通过易位、置换等各种方法改变其表现形式实现通信。通过加密的数据在网络中进行传输,没有权限的用户是不可以看到改变形式后的数据。通常将改变形式的数据写成密文,将发送端的原来数据写成明文,能改变数据传输形式的方法称为加密及解密算法。在VPN 配置中,当通信双方密钥配置相同时,数据在VPN 虚拟隧道中是以密文的形式传输的,当加密数据到达通信的另一方时,应用自身配置的密钥了解加密数据[4]。当数据的解密密钥与本身的密钥不匹配时,通信的另一方路由器会将数据包丢弃,从而保障数据的安全,防止恶意数据流对网络的破坏,达到防黑客攻击的目的。如果密钥匹配,则接受此数据流,实现双方安全通信[5-6]。
在VPN 的应用过程中,点到点的安全通信一般使用IPSec 协议进行配置。IPSec 协议是一个安全协议,IPSec协议不是单独一个协议,包括了好多基于第三层网络层之间的协议,主要有网络认证协议(Authentication Header,简称AH)、封装安全载荷协议(Encapsulating Security Payload,简称ESP)、密钥管理协议(Internet Key Exchange,简称IKE)和一些用于网络认证及加密的算法[7]。
IPSec 协议中的AH 为网络层的通信提供了发送方数据真实性的认证、数据完整性的认证以及反重放。AH 保护通信内容不被篡改,可以防止多种类型的主动攻击,但是不能防止被动攻击,即窃听。AH 是在每一个需要传输的数据包上添加了一个身份验证报头,报头包含一个带有密钥的Hash 散列,使其当作数字签名,不使用数字证书,报头中带密钥的Hash 散列在整个数据包可以计算。因此,对传输数据做任何改变都无法改变Hash 散列,不会使Hash 散列无效,正因如此才能保护网络数据传输的完整性。由于AH 在保护网络安全方面不能防止被动攻击—窃听,在IPSec 协议中,AH 协议一般都需要和ESP 一起使用。ESP 为网络层的通信提供了发送方数据的完整性检查、发送方身份的认证、是否为发送方发的消息等,对需要发送的数据进行加密并保证发送的数据不被篡改,ESP 完整性检查和认证过程如果只使用加密,网络入侵者就会伪造报文充当发送方的报文,从而实现篡改报文的行为。
VPN 是网络技术中非常重要的一种技术。随着各企业的不断发展壮大,公司的合作伙伴、客户逐渐增多,公司的发展也越来越国际化,VPN 技术的应用显得尤为重要。不仅成为为企业发展主要的网络类型,还能为企业节约运营成本,为企业信息交流提供便捷和保障。