什么是VPN?他是干什么用的?有什么优势?解决我们什么问题?
Virtual Private Network,中文名虚拟专用网络,意思是在公用网络上仿真建立一条点到点的专用网络,进行加密通讯,解决远程访问(个人和分支机构到总部)的问题。
要理解VPN,我们需要先弄了解一个概念——隧道协议,其实质是用一种协议来传输另一种协议,其基本功能是封装和加密。我们给大家列举几个隧道协议:GRE、IPSec、SSL/TLS、VPN(WebVPN)、PPTP、L2TP。
VPN是企业分支机构、末端网络以及个人通告公共网络访问内部私网的一个解决方案。公网上存在的问题既是VPN需要面对和解决的问题。
广域网存在的隐患:
VPN如何保护网络实体间的通信:
VPN作为一项成熟的技术,广泛应用于组织总部和分支机构之间的组网互联,其利用组织已有的互联网出口,虚拟出一条“专线”,将组织的分支机构和总部连接起来,组成一个大的局域网。
相比于传统专线,具有安全、成本低、可靠、构建灵活等特点。
VPN的两种框架:
IP Security,IP层安全。工作在网络层,针对IP包提供如下功能:私密性、完整性、源认证和防重放攻击。
IPSec是一个开放的标准,与具体的算法没有关联。很多个RFC共同定义IPSec。
IPSec通过加密技术实现数据的私密性,加密就是把数据的明文格式通过具体的算法变成无法理解的密文格式。
加密算法的发展:
现代加密算法分类:
对称加密算法的缺陷:
对称加密算法的优点:
非对称加密算法缺点:
非对称加密算法的优点:
现有安全模型的操作规范:
数据完整性指发送方到接收方的整个过程数据没有发生任何变化。IPSec通过哈希技术实现完整性校验,哈希是数据的指纹算法。
哈希的特征:
介绍两种哈希算法:
源认证是用来对数据发送方进行合法性校验的方法。IPSec提供两种方式实现源认证:
注意:在整个安全模型中,如果使用到私钥在进行加密,肯定是出现了数字签名
前面提到,IPSec不是一个特定协议,而是一组操作流程,有多个组件构成:
ESP封装为数据提供了如下功能:私密性、完整性、源认证和防重放攻击。
概念介绍:SA:Security Association,安全关联是指一组用来保护信息的策略和密钥。安全关联的概念是IPSec的基础。所有AH和ESP的实现都必须支持安全关联。
安全关联的两种模式:transport mode和tunnel mode。通过两种设备的位置,可以判断当前网络模式应该使用哪种封装模式:
transport mode:通讯点即为加密点,可以试试传输模式,有两种场景会使用:GRE over IPSec、内网设备间部署IPSec
tunnel mode:通讯点不等于加密点一定使用隧道模式。因为通讯点位于网络内部,发出的数据包是私网地址,不可全局路由,所以必须实施新的IP头封装,让数据包全局可路由。
VPN设备对感兴趣流量的匹配:设备接口下存在一个map,用来定义感兴趣流的,如果数据撞上map则需要应用IPSec保护,否则bypass
概念穿插:
IKE:internet KEY Exchange,因特网密钥交换,目前使用IKEv1版本,包括如下内容:
IKE的两种模式:main mode(主模式)和积极模式(用于拨号)
IKE主模式操作过程:
两个阶段需要进行9个包交换,第一个阶段6个包,3次交换,第二个阶段3个包,两次交换。
主要功能介绍:
第一次交换:VPN device把本地所有的IKE policy打包,发起ike的proposal
IPSec设备会进行策略比较,总是从policy-id小的开始match,如果存在可以match的policy则提议被通过,如果所有的policy无法match,则IKE协商失败,进入第二次交换。
因为加密算法没统一,没有加密key,所以第一次交换过程肯定是明文交换。
第二次交换:交换的是DH组信息,在这个交换过程中,设备不可能把本地的psk进行发送(psk严格本地保留),只是用来交互几个DH的公开值。
因为key还没协商,所有依然是明文交换。
在第二次交换后,VPN设备通过cookie+psk可以推导出三个密钥:
SKEIDa:用来通过1,2个包协商出来的加密算法保护5,6包
SKEIDe:用来通过1,2个包交换出来的哈希算法对5,6包进行认证
SKEIDd:这个密钥是在第二个阶段用来衍生IPSec的key,如果这个密钥被攻破,所有IPSec就没有意义
第三次交换:第三次交换的主要功能是用来做peer的身份验证。
第三次交换是在建立了安全的channel下交换的,第五第六个包是加密的,也是被认证的。
在psk的验证中,其实设备只是通过5,6包的源IP地址进行校验。psk的关键作用只是参与DH算法,用来做key衍生,如果psk不同key不同,协商失败。
IKE第一阶段协商结果,即产生IKE SA,也叫isakmp sa
本阶段涉及3个包,两次交换,也叫做快速模式。
快速模式下的所有包都是通过SKEIDa进行加密,SKEIDe进行认证,所有读取报文都是加密的数据。
此过程交换并匹配IPSec的安全参数(转换集),VPN设备把本地的所有转换集打包发送,match的时候与IKE的1,2包交换是相同的,同时只要转换集匹配则通过DH的第三个key-SKEIDd进行IPSec加密算法密钥的推导。
IKE第二阶段协商结果是IPSec sa。
SA的三要素:
作者:京东物流 陈旭辉
来源:京东云开发者社区 自猿其说Tech 转载请注明来源