VPN技术分析
VPN技术分析
VPN概要
VPN定义
VPN(Virtual Private Network)是指依靠ISP或其它NSP在公用网络基础设施之上构建的专用的安全数据通信网络,这个专线网络是逻辑上的而不是物理的,所以称为虚拟专用网。
- 虚拟:用户不再需要拥有实际的长途数据线路,而是使用公共网络资源建立自己的私有网络。
- 专用:用户可以定制最符合自身需求的网络。
- 核心技术:隧道技术。
VPN的必要性
搭建专线的方式虽然具有稳定性、安全性以及性能等多方面保证,但是成本过高。当分公司数量庞大、分布范围广阔甚至是跨国分布时,搭建专线的成本就变的异常高昂;此外,还有一些个人访问公司内网的情况,搭建专线更是不可行。因此,VPN的使用势在必行。
VPN面临的问题
- 如何进行公网和内网的切换?(公网-内网/内网-公网-内网等)
- 如何防止传输信息被截获?
- 如何防止传输信息被篡改?
- 如何防止传输信息来源不正规?
VPN面临问题的解决
- 针对公网和内网的切换,可以使用隧道技术解决。
- 为防止传输信息被截获,对信息进行加密。
- 为防止传输信息被篡改,采用数据认证技术,对信息进行完整性校验。
- 为防止传输信息来源不正规,采用基于证书机制的身份认证技术。
VPN分类
基于业务类型
- Client-LAN VPN:从客户端访问局域网的VPN,适用于出差在外的员工连接企业内网这种类型。
- LAN-LAN VPN:从局域网到局域网的VPN,适用于公司内网连接分公司内网这种类型。
基于网络层次
- 应用层:代表有SSL VPN,通常被应用于Client-LAN VPN,对应用层的数据进行虚拟隧道传输。
- 传输层:Sangfor VPN,对传输层的数据进行虚拟隧道传输。
- 网络层:IPSec,通常被应用于LAN-LAN VPN,对网络层的数据进行虚拟隧道传输。GRE等。
- 网络接口层:L2F/L2TP、PPTP等,对网络接口层的数据进行虚拟隧道传输。
VPN常用技术
VPN隧道技术
VPN隧道技术详解
搭建专线示意图:
虚拟隧道示意图:
虚拟隧道数据加密示意图:
可以看出,小车作为乘客需要有自己的私有的原地址和目的地址,大车作为承载工具有自己公有的原地址和目的地址。
协议示意图:
这里的VPN指的是各种VPN协议。当需要对内容进行加密时,加密的是乘客(通信数据)部分。
VPN隧道技术分类
加解密技术
对称加密:加密算法分为国际标准加密算法和国家标准加密算法(需要国标加密卡,等保高),通常情况下,标准越小,加密越严格,等级保护越高。通常针对某级别等级保护,所采用的加密算法标准是有规定的。对称加密功能可以集成到硬件上(例如国际加密卡),要比非对称加密快的多。常见的对称加密算法:DES算法用56位的密钥加密64位的数据(长度固定),3DES顾名思义把DES算法做了3遍,目前主流的对称加密算法为AES算法。AES算法也分为AES-128/192/256,每种算法加密的数据长度不同。
非对称加密:对称加密不能满足通常的加密需求,密钥的传递通常是问题(只能以明文的方式传送),因此衍生出非对称加密。非对称加密密钥分为私钥和公钥,公钥加密的数据只能用私钥解密,私钥加密的数据只有公钥能解密。私钥是自己的,公钥可以分发出去。常见的非对称加密算法:
非对称加密通常算法复杂,加密数据会使数据膨胀,因此通常不用与数据通信。可用于身份认证等数据传输前期的校验,而实际数据传输使用对称加密。目前主流的方案是使用非对称加密传递对称加密的密钥,后续使用对称加密密钥进行数据传输。
数据完整性技术
目前为止,虽然数据被加密可以防止被抓包窥探信息,但是倘若数据被篡改是无法感知的,针对此问题,为数据提供指纹。(采用散列算法hash,是一个单向算法,只能从A算成B,例如求余数算法,MD5算法等)
常见的散列算法有:MD5、SHA-1、SHA-2。它能够把任意长度的输入变换成固定长度的输出。它有如下特点:相同输入相同输出、不可逆推、等长输出以及雪崩效应(很小的改动引起散列值很大的变化)。
通过计算数据的散列值,得到数据指纹,传递数据和指纹,B可以重新计算指纹进行比对,即可感知到数据的完整性。
此时虽然不能被篡改,但是还可以进行重放攻击(对数据复制几百万份,耗尽硬件资源)。此类问题通过序列号即可解决。
身份认证技术
还有一个问题没有解决,那就是A是不是A的问题,倘若有人随便向B发数据,也会对安全性造成影响。此类问题采用数字签名解决,因为没有人拥有A的私钥,对计算出的数据的哈希值用A的私钥进行加密,即获得数字签名,在终点处用A的公钥进行解密,比对二者的不同。此处的数字签名就是上文的数据指纹,它既可以防止被篡改,也可以保证数据的来源。
此时,安全性已经相对较高了,但是还有一个漏洞,如果有人假冒A,发送虚假的公钥,让B以为是A的公钥,这将又产生新的安全问题。这就需要对公钥进行一个规范的管理,让B可以通过公钥辨别是否为正确的来源,由此引进了身份认证技术中的关键点–证书。
PKI体系组成
PKI是创建、办法、管理、注销公钥证书所涉及到的所有软硬件的集合体,核心是数字证书,核心执行者是CA认证机构。
CA中心
CA中心的作用:签发证书、规定证书的有效期和废除证书,以及对证书和密钥进行管理。CA中心为每个公开密钥的用户发放一个数字证书,数字证书的作用是证明公钥的合法性。CA中心也有自己的公钥和私钥,对证书进行数字签名使得攻击者不能伪造和篡改证书。
数字证书概述
互联网通讯中标志通讯各方身份信息的一系列数据,它由CA 机构中心发行,用来识别对方的身份,数字证书一般包含:用户身份信息、用户公钥信息和身份验证机构数字签名的数据。
从证书的用途上看,数字证书可分为签名证书和加密证书。
签名证书:主要用于对用户信息进行签名,以保证信息的真实性和不可否认性。
加密证书:主要用于对用户传送的信息进行加密,以保证信息的机密性和完整性。
根证书:根证书是CA认证中心给自己颁发的证书,是信任链的起始点。根证书的签发者是它本身,下载根证书表示对该根证书以下所签发的证书都表示信任。
用户证书:由CA中心签发的个人证书,用于识别、鉴定终端用户,可存于UKEY等介质。
设备证书:也称服务器证书,该证书将安装在服务端,向尝试连接的客户端提供服务器身份、证书和公钥信息。
小结
汇总流程示意图: