Vpn原理与配置

技术分享

1.1  背景

广域网存在各种安全隐患

网上传输的数据有被窃听的风险

网上传输的数据有被篡改的危险

通信双方有被冒充的风险

1.2  VPN概述

1.2.1  Vpn定义

  • virtual private network虚拟专用网

  • 在两个网络实体之间建立的一种受保护的链接

通过使用加密技术防止数据被窃取

通过数据完整性验证防止数据被破坏、篡改

通过认证机制实现通信方身份确认,来防止通信数据被截获和回放

                             

1.2.2  Vpn的模式

  • 传输模式Transport mode


传输速率快。

源端到目的端数据使用原有的ip地址。

传输的实际数据被封装在vpn报文中

虽然无法破解数据内容,但却可以知道通信双方的地址信息

  • 隧道模式tunnel mode


整个三层数据报文封装在vpn数据内

最后封装后的数据报文添加新的IP包头

无法破解内容,也无法知道双方的通信地址

1.2.3  VPN的类型

  • 站点到站点vpn

通常指局域网之间(L2L)的通信流量


  • 远程访问vpn


Vpn连接的一端为移动pcIP地址经常变换),另一端为站点。

1.3  Vpn技术

  • Vpn采用四项技术来保证安全

隧道技术tunneling

加解密技术

密钥管理技术 key manage-ment

使用者与设备身份认证技术authentication

1.3.1  隧道技术

  • 隧道技术定义

是一种利用公共网络的基础设施在网络之间传递数据的方式

被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道

使用隧道传递的数据可以是使用不同协议封装的数据包

隧道技术是vpn的基本技术

  • 通过隧道的建立,可实现: 

 数据流强制送到特定的地址 
隐藏私有的 网络地址 
IP网上传递非IP 数据包 
提供 数据安全支持 

  • 二层隧道协议

第二层隧道协议是先把各种网络协议封装到ppp中,再把整个数据包装入隧道协议中。

这种双层封装方法形成的数据包靠第二层协议进行传输。

2层隧道协议对应于OSI模型的 数据链路层,使用帧作为数据交换单位

L2TPlayer 2 tunnel protocol 第二层隧道协议

 L2TP结合了PPTPL2F协议

  允许用户从 客户端或访问服务器端建立VPN连接。L2TP是把 链路层PPP帧装入公用网络设施,如IPATM 帧中继中进行隧道传输的 封装协议。

PPTPpoint to point tunnel protocol 点到点隧道协议

PPTPPPP协议的一种扩展

提供PPTP客户机和PPTP服务器之间的加密通信

PPTP把建立隧道的主动权交给了用户,但用户需要在其PC机上配置PPTP,这样做既增加了用户的工作量,又会给网络带来隐患。另外,PPTP只支持IP作为传输协议

L2Flayer 2 forwarding 第二层转发协议

  Cisco公司提出的可以在多种介质,如ATM帧中继IP网上建立多协议的安全虚拟专用网的通信

  • 三层隧道协议

3层隧道协议对应于OSI模型的 网络层,使用包作为数据交换单位

GREGeneric Routing Encapsulation 通用路由封装协议

它规定了怎样用一种网络层协议去封装另一种网络层协议的方法。

GRE的隧道由两端的源IP地址和目的IP地址来定义,它允许用户使用IP封装IPIPXAppleTalk,并支持全部的路由协议,如RIPOSPFIGRPEIGRP

GRE只提供了数据包的 封装,它没有防止网络侦听和攻击的加密功能。

IPSecip security IP安全协议

  实际上是一套协议包而不是一个独立的协议

当以隧道模式使用 IPSec 时,其只为 IP 通讯提供封装。使用 IPSec 隧道模式主要是为了与其他不支持 IPSec 上的 L2TP PPTP VPN隧道技术的路由器、网关或终端系统之间的相互操作。

1.3.2  加密技术

1.3.2.1       对称加密

  • 使用同一种密钥对信息提供安全的保护

  • 适用于简单大规模数据加密传输

  • 加密算法

DES算法:IBM的研发产品

密钥长度为64

其中8位用于奇偶校验

实际有效长度为56

3DES算法:DES算法的增强版

使用了三个阶段的DES

有效密钥长度是168

AES算法:支持128192256位密钥长度

       更安全

1.3.2.2       非对称加密

  • 使用两个不同的密钥公钥和私钥进行加密和解密

双方互相传输公钥,私钥不会在公网上传输

  • 复杂的算法,一般用于密钥加密传输。不适合大规模数据。

  • 不能从一个密钥推导出另一个密钥、安全性高

  • 过程:

通信双方交换公钥----发送方的VPN网关通过公钥将明文数据加密-----接收方通过自己的私钥将受到的密文解开

  • DH算法(diffie-hellman 迪非-赫尔曼):

一般被用来实现IPsec中的Internet密钥交换(IKE)协议

会用自己的密钥和对方的公钥通过DH算法计算一个共享密钥,通过这个密钥来加密传输数据。

  • DH组:思科路由器支持125

               1的密钥长度768

2的密钥长度1024

5的密钥长度1536

           防火墙支持257

1.3.3  密钥交换

  • 带外共享:通过一张磁盘、一张纸或打一个电话等方式共享密钥

缺陷:实施过程话费时间较长

  • 带内共享:通过telnetssh等连接方式通过网络传输密钥

提高共享密钥的效率

在带内共享传输密钥时,有个前提是必须保证传输密钥的通道绝对安全,那这个通道有是如何保证的呢

那如何解决这个问题呢

可以通过非对称加密算法加密对称加密算法的密钥,在用对称加密算法加密实际要传输的数据。

1.3.4  数据报文验证

包括两方面内容:数据来源验证(身份验证)和报文完整性验证

  • HMAC功能(散列消息验证码)

专门处理数据及数据包相关的验证问题和实现身份验证

使用一个共享的对称密钥来产生固定的输出结果数字签名(不可逆,加密后数据不可还原)

HMAC属于单向散列算法(Hash算法)的一个子集

  • MD5SHA

HMAC的两种常用的算法

MD5(信息-摘要算法):128位的签名、速度快、安全性相对于SHA稍差一点

SHA(安全散列算法):NST公司开发   168位的签名

SHA-1SHA-256SHA-512 


本文出自 “小路子” 博客,请务必保留此出处http://8229882.blog.51cto.com/8219882/1620771

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。