Chinaunix首页 | 论坛 | 博客
  • 博客访问: 865986
  • 博文数量: 66
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2071
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-04 15:22
个人简介

从事IT相关工作近10年,获得《网络规划师》《信息系统项目管理师》《系统分析师》、Cisco等认证,对网络和操作系统有较深理解,对认证计费系统和虚拟化技术有深入研究。

文章分类

全部博文(66)

文章存档

2019年(4)

2018年(1)

2015年(2)

2014年(16)

2013年(43)

分类: 网络与安全

2013-08-09 16:59:01

引言

1、VPN的目的是使用公共的Internet在全球安全可靠的进行专用通讯。

2、大多数计算机网络已经转移使用基于IP的体系,IP是一种在Internet上所有互联的网络设备中使用的通用格式。

3、VPN使用通过安全隧道,而不是物理上的分离来保持通讯的专用性。

4、VPN的好处就是使用公共的Internet,所以费用比专线低得多,同时数据的信任是个问题,需要和服务提供商之间签订协议,同时还要有SLA服务水平协议保证服务质量。

5、虚拟或者重叠(Overlay)的网络依赖于隧道技术(tunneling),通过隧道技术使两个站点之间看上去是通过简单的网络连接在一起,其实中间经过了复杂的路由网络。

6、隧道技术:将某个数据报文(原始的或者内部数据报文)封装到另外的数据报文中,以至于内部数据报文对于那些外部数据报文在其上转发的网络是不透明的,这种封装技术就是隧道技术。

7、两个参数可以唯一确定一个网络隧道:隧道端点以及在隧道中传输原始数据报文所使用的封装协议,VPN中,在隧道端点要进行身份验证和访问控制判断,还要写上和提交安全服务,根据需要的服务,可以选择不同的封装协议。

8、身份认证要确定数据的确来着它声称的源,方法一般有两种:双方验证和基于可信赖第三方的验证方式。

9、OTAR(Over)the air rekeying)是在会话期间更名加密密码,可以更好的控制对密钥的攻击。

10、VPN网关
最常用VPN设备是VPN网关,它扮演了网络通讯以及被保护资源的守护者的角色,隧道建立在从VPN网关到其他作为隧道端点的VPN设备之间,VPN网关通常部署在企业网络周边,它代表内联网内被保护的网络资源。

一个VPN网关有两个或者更多的网络接口,至少有一个接口与不安全的网络连接,来至公共接口的数据通讯被称作入站(inbound)通讯,应该按照安全策略严格检查;来至专用接口和从公共接口出去的数据通讯被称作出站(outbound)通讯,因为来至内网,一般认为是安全的。

VPN客户软件必须实现与VPN网关一样的功能---隧道技术、身份验证、访问控制以及数据安全性。

基本概念

1、一个算法的强壮性不是依靠算法把自己保护得有多好来衡量,而是通过被加密的数据在预先不知道密钥的情况下,被还原为明文的复杂程度来衡量的。

2、机密系统的两种:
共享密钥密码系统 和 非对称的公钥密码系统

3、因为公钥和私钥加密中都可以被对方解密:
公钥加密后只能由私钥解密,因此之间的通讯是安全的,只是公钥是公开的,不能保证发件人的身份等;
私钥加密后可以被任何公钥解密,在文件内容不重要的情况下,可以验证发信者的身份;
不可否认性(nonrepudiation):私钥加密后无法否认自己签名行为,特别是配合时间戳的话,即使后期私钥出错也不能否认以前的签名。
公钥系统的缺点:复杂程度大,运算速度慢

4、数字签名
共享密钥系统用于签名的办法是雇佣完全信赖的第三方,值得信赖的第三方成为公证人的数字化形式
①私钥签名,公钥因为被知道,所以私钥加密的话,能保证内容不会被修改。
②加密整个消息是没必要的,只需要对内容的散列进行签名即可,保证这个散列不被修改即可。
③MD5散列是128位,SHA1散列是160位的。

5、MAC 信息鉴别码(Message Authentication Code)
来自于将密钥控验证方案用于一条消息上的一个验证标志,是对消息进行校验的算法,其实就是发送者和接受者共享对应的密钥,然后有密钥的两个人之间才能验证消息的散列值,有点类似CHAP验证方式。HMAC方式适用于UNIX口令的验证,用户和计算机共享秘密。

消息认证码(带有密钥的hash函数),通讯实体双方使用的一种验证机制,保证消息数据完整性的一种工具。安全性依赖于HASH函数,也称作 带密钥的Hash函数。基于密钥和消息摘要所获得的一个值,可用于消息源的认证以及消息完整性校验。

过程:
①发送数据之前,发送方使用已经协商好的散列函数计算出摘要值,在双方共享的会话密钥作用下,由摘要值获取消息验证码。然后和消息一起发送。
②接收方收到保温后,首先使用会话密钥还原摘要值,同时使用相同的散列算法计算消息得到摘要值,并对两个摘要值进行对比,相同则通过。

消息验证码有两种:
①利用已有的加密算法,如果DES等直接对摘要值做加密处理。
②使用专门的MAC摘要算法,信息安全领域认可的算法是HMAC,是基于MD5或者SHA-1的,计算散列时将密钥和数据同时作为输入,并采用二次散列迭代的方法:
    HMAC(K,M)=H(K⊕opad∣H(K⊕ipad∣M))
其中K是密钥,长度应为64字节,若小于该长度,则自动在密钥后面用“0”填充补足。M是消息;H是散列函数;opad和Ipad分别是由若干个0x5c和0x36组成的字符串;⊕表示异或运算,∣表示连接操作。

体系结构

1、创建VPN的本质就是根据一个内聚的体系结构来聚集各种技术成分,实现“虚拟”和“专用”两个部分,分成四个类型:隧道技术、身份验证、访问控制、数据安全性

2、VPN体系结构分类:
①站点到站点的内联网(Site-to-Site)Intranet VPN):同一个机构内部多个网络站点位于不同的地址,形成巨大的内联网。
②远程访问VPN(Remote)Access VPN):VPN用来连接一个单的网络设备和企业的内联网。
③外联网VPN(Extranet VPN):用来连接其他公司,适当的分配权限,开放特定的资源。

3、远程访问VPN
对员工提供访问企业内部网络,使用VPDN(Virtual Private Dial Network),即企业建立RAS服务器,用户通过拨号拨入这个服务器,也就是电路交换级别的线路,成本高速度慢等多种问题。
远程用户→本地POP[Point of Presence网络接入点]→公共Internet→企业RAS服务器→企业内部网络
解决方案:用户通过拨号接入本地的 POP 然后获得Internet的连通性后再连接到VPN服务器的方式

4、安全服务的分类
①端点位于主机上。
②端点位于局域网的网关上,通讯在此聚集,位于企业边界上。
③位于企业网之外,但是在运营商ISP的基础设施之内(POP)。

三种组合也就是能够形成六种安全模式:
①终端到终端:需要在通讯的源和目的方协商和提交安全服务,非常不好实现,因此一般不会使用隧道,而是使用高层的安全协议,比如使用IPSec。
②端到LAN的模型:也就是传统的远程访问VPN的模型,LAN内通讯一般是安全的,使用明文也无所谓。
③终端到POP的模型:
④LAN到LAN的模型:也就是内联网的VPN类型
⑤LAN到POP模型中
⑥POP到POP的模型:完全是ISP提供的服务。

隧道

1、隧道(Tunneling),把一个层里面的PDU封装到另一个层里面的有效负载中的过程,一般使用隧道的原因有三种。
①数据需要保密,适用于安全服务。
②当一个地址在另一个地址中没有意义的时候。
③两个运行相同协议的终端之间运行了其他的协议,无法完成转换。

2、保持一个IP数据报文的完整性一般采用更加强大的方法,而不是简单的做校验和,比如采用MAC(信息鉴定码)来验证每个数据报的完整性。IP报头中经常变化的字段,比如TTL和分段,不应该算到验证计算中。

3、传统的电话网络的拨号方式

计算机完全通过PSTN网络进行数据传输,而没有用到真正的IP网络交换设备,如果专用拨号到远程访问服务器的价格将会非常高,远程访问服务器(NAS)。


将网络分成两个部分,一个是 集中访问器(Access Concentrator)【通常位于终端电脑内】和 网络服务器(Network Server)部分,集中访问器负责将PPP帧封装成能够通过互联网的数据格式,然后通过互联网后到达网络服务器,网络服务器将外围剥开,留下有效数据包,PPP帧仅需要在本地有意义,中间都是透传的。

网络层的隧道技术对于某个IP网络内的VPN最有用,把网络层内容封装能够隐藏寻址和协议的问题,但是问题在于传输的内容在网上都是可见的,因此采用安全隧道技术协议,比如IPSec的AH和ESP能够在解决私有地址寻址的问题的同时解决安全问题。

还可以在网络层和链路层之间放置一个标示符,这种技术可以跨越网络层和链路层,这种隧道技术称作标记交换(Label Switching),MPLS多协议标签交换是主要实现,因为这些标记都是事前建立好的,所以可以进行质量保障,也就是QoS机制。

4、PPTP技术 点对点传送协议(Point to Point Tunneling Protocol)
便于远程计算机通过Internet或者其他的基于IP的网络进行PPP访问,中间采用IP协议,因此只能用于IP网络上,PPTP的具体实现过程如下,其实就是PAC和NAS之间的认证然后NAS完成网络的过程。

PAC(PPTP Access Concentrator)位于远程计算机上,第一步远程用户包好接入使用PPP的本地ISP的NAS(网络访问服务器),这一步用户将自己连接到互联网上。
②PAC通过PPP连接建立一条控制信道,并通过Internet连接属于本地网络的PNS(PPTP Network Server),这个过程使用TCP协议完成。
③通过控制信道协商PPTP隧道的参数,建立PPTP隧道。
④通过PAC与PNS之间的PPTP隧道,从远程用户建立进入专有网络NAS的PPP连接。
⑤从远程用户和专有网络之间已经存在一个PPP连接,远程计算机可以开始在PPP数据帧内传送IP或者其他任意协议的数据报文。

如果隧道已经建立完成,那么从数据报文的角度来看是:

①数据包被放到一个PPP帧内部。
②这个PPP帧被封装到PPTP的报文结构中,PPTP报文结构由GRE(通用路由封装)报文头和IP报文头组成。
③整个包被放到另一个PPP帧内部。
④PPP帧通过第一个PPP连接送到ISP的NAS,在这里去掉PPP报文头,IP/GRE报文通过Internet发送到PNS,这个过程就是隧道阶段。
⑤在PNS中,IP和GRE的报文被删除,NAS接受作为结果的PPP帧。
⑥NAS删除PPP报文头,把IP数据报文输入专用网络。

PPTP本身不提供数据安全功能,而是依靠PPP的身份验证和加密服务提供数据的安全性的。

5、L2F技术
①L2F是从NAS到专用网之间建立一条隧道,而不是从用户终端开始,其中PPTP采用的是只支持IP网络的GRE封装方式,而L2F使用的是任意终端到终端连接的报文定向协议接口(packet-oriented protocol),比如UDP和X.25协议还有帧中继等。

②这里是不准备把L2F客户端程序放到远程计算机上,而是ISP的NAS设备上,是一种强制的隧道,设备本身在ISP身上,因此企业不需要自己购买设备,但是需要购买ISP的企业服务。

6、L2TP技术
①L2TP是结合了PPTP和L2F最好的想法,而不是PPTP的那种自愿模式和L2F中的强迫模式。

②取代PPTP的集中访问服务器是LAC(L2TP Access Concentrator,L2TP访问集中器),服务器端称作LNS(L2TP Network Server,L2TP网络服务器)。

③L2TP隧道是用与PPTP隧道同样的方法建立的,使用一条控制信道在隧道建立期间进行协商。和PPTP不同的是,L2TP不使用一条分离的TCP连接作为控制信道,而是在L2TP报文外建立控制信道协议,PPTP使用的是GRE协议封装,而L2TP和L2F协议一样,使用UDP协议进行封装,可以使用到非IP网络上。

④L2TP和PPTP和L2F协议一样,本身缺乏一些认证安全机制,但是封装了PPP协议,因此可以利用PPP协议本身的方法进行认证和加密来保证系统的安全。

7、IPSec 隧道技术
    IPSec是IETF定义的一个协议集,用来保护对等通讯层的网络层通讯,AH提供了验证和完整**,ESP提供了安全加密服务,AH和ESP都有隧道模式和其他的模式

8、MPLS(多协议标记交换)
①数据包基于一个短的长度的固定成为Label的值进行转发,因为长度小比IP地址寻址要快,但是现在硬件速度已经非常快了,长度对寻址基本上没有影响,因此MPLS主要用于QoS来保证链路的质量。
②当报文进入网络的时候分配第一个标记,这个称作 入口点(ingress port),着这里进行报文头分析,当报文进入网络后,不再需要更多的IP报文的报文头分析,转发完全是由标记驱动的。
    每个LSP使用的标记仅本地有效,标记信息必须分布在LSR(标签交换路由)之间,用于分布转换标记的协议被称作标记分布协议(Label Distribution Protocol, LDP)
    多协议的意思是可以转发多种协议,也就是标记能够用于任何的数据报,只要标记正确,具有MPLS能力的路由器LSR能够转换任何类型的数据报文。
    MPLS没有诸如身份验证和机密性等安全特征提供直接的支持,标记的选择隐含着路径本身是安全的,也暗示了中间的LSR是可信任的

阅读(2285) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~