基于Cisco设备IPSec+VPN的设计与实现.doc

上传人:laozhun 文档编号:2400680 上传时间:2023-02-17 格式:DOC 页数:38 大小:1.27MB
返回 下载 相关 举报
基于Cisco设备IPSec+VPN的设计与实现.doc_第1页
第1页 / 共38页
基于Cisco设备IPSec+VPN的设计与实现.doc_第2页
第2页 / 共38页
基于Cisco设备IPSec+VPN的设计与实现.doc_第3页
第3页 / 共38页
基于Cisco设备IPSec+VPN的设计与实现.doc_第4页
第4页 / 共38页
基于Cisco设备IPSec+VPN的设计与实现.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《基于Cisco设备IPSec+VPN的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Cisco设备IPSec+VPN的设计与实现.doc(38页珍藏版)》请在三一办公上搜索。

1、南 阳 理 工 学 院 本 科 毕 业 设 计(论文)基于Cisco设备IPSec VPN的设计与实现The Design and Implementation of IPSec VPN based on Cisco devices 学 院(系): 计算机科学与技术系 专 业: 计算机科学与技术 学 生 姓 名: 林勇强 学 号: 64106003 指 导 教 师(职称): 马永红(讲师) 评 阅 教 师: 完 成 日 期: 2010年5月 南阳理工学院Nanyang Institute of Technology基于Cisco设备IPSec VPN的设计与实现计算机科学与技术专业林勇强摘要I

2、PSec协议是网络层协议,是为保障IP通信而提供的一系列协议族。IPSec针对数据在通过公共网络时的数据完整性、安全性和合法性等问题设计了一整套隧道、加密和认证方案。IPSec能为IPv4/IPv6网络提供能共同操作/使用的、高品质的、基于加密的安全机制。提供包括存取控制、无连接数据的完整性、数据源认证、防止重发攻击、基于加密的数据机密性和受限数据流的机密性服务。关键词思科;网络安全;隧道技术The Design and Implementation of IPSec VPN based on Cisco devicesComputer Science and Technology Major

3、LIN YongqiangAbstract: IPSec protocol is a network layer protocol, is provided for the protection of a range of IP communication protocol suite. IPSec for data in the data through public network integrity, security and legality of such issues as designing a set of tunnels, encryption and authenticat

4、ion scheme .IPSec for IPv4/IPv6 networks to co-operation/use, high-quality, encryption-based security mechanism. Provided, including access control, connectionless data integrity, data origin authentication, to prevent resend attack, the encrypted data based on confidentiality and the confidentialit

5、y of restricted data flow services.Key words: Cisco; Network Security ; Tunnel Technology 目录1 引言11.1 产品背景11.2 预期目标和经济效益21.2.1 预期目标21.2.2 经济效益22 VPN接入技术的选用与IPSEC VPN概述22.1 VPN技术的选用22.1.1 IPSec VPN22.1.2 SSL VPN32.2 IPSec VPN概述42.2.1 IPSec协议简介42.2.2 IPSec基本工作原理42.2.3 IPSec中的三个主要协议62.3 IPSec VPN网络设计原则1

6、73 需求分析183.1 运行环境183.2 需求分析设计183.2.1 基础网络的构建;183.2.2 在已构建的网络上配置VPN;193.2.3 用网络测试工具对VPN通信进行测试194 IPSEC VPN网络具体规划与设计204.1 基础网络构建和服务器配置204.2 VPN配置过程及测试步骤224.2.1 site-to site 站点到站点,多用于总部与分支办公室连接224.2.2 移动用户与总部进行连接294.3 在VMware Workstation虚拟机上安装windows server 2003 相应服务器295 测试:VPN应用测试305.1 路由器上测试305.2 使用本

7、地主机访问各服务器31结论及尚存在的问题32参考文献33致谢341 引言随着Internet的快速发展,人们逐渐把技术的焦点从网络的可用性、信息的获取性转移到网络的安全性、应用的简易性上来 。建立在IP技术基础上的虚拟专用网(VirtualPrivateNetwork,VPN)正快速成为新一代网络服务的基础,许多服务供应商推出了基于VPN的各种业务。与此相应,Internet的安全问题也日益受到重视。Internet是一个建立在TCP/IP协议基础上的开放的分组交换网,由于其在最初设计时缺乏安全考虑,导致目前Internet的安全性能严重不足。网络上的IP数据包几乎都是用明文传输的,非常容易遭

8、到窃听、篡改等攻击。在各种网络安全的解决方案中,IETF于1998年推出的IPSec协议有着独特的优势,占据着重要的基础地位。IPSec协议是现在VPN开发中使用的最广泛的一种协议,它有可能在将来成为IPVPN的标准。但是IPSec协议是一个比较新的安全协议,而且非常复杂,作为一个还没有完全成熟的协议,IPSec在理论上和实践上都有一些问题有待改进。鉴于它的重要作用,很有必要对IPSec协议及其VPN做相关的探讨及研究。实现VPN技术的方式很多,常用的三种VPN:PPTP VPN ,SSL VPN 和IPSEC VPN,这三种VPN技术各有特色、各有所长。目前国外主要厂商对SSLVPN技术、M

9、PLSVPN技术发展相对比较重视发展较快,但是目前应用最为广泛,技术最为成熟的仍然是IPSecVPN技术。IPSec的主要特征在于它可以对所有IP级的通信进行加密和认证,正是这一点才使IPSec可以确保包括远程登录、客户/服务器、电子邮件、文件传输及Web访问在内多种应用程序的安全。IPSec在传输层之下,对于应用程序来说是透明的。当在路由器或防火墙上安装IPSec时,无需更改用户或服务器系统中的软件设置。即使在终端系统中执行IPSec,应用程序一类的上层软件也不会被影响。IPSec对终端用户来说是透明的,因此不必对用户进行安全机制的培训。如果需要的话,IPSec可以为个体用户提供安全保障,这

10、样做就可以保护企业内部的敏感信息。IPSec正向Internet靠拢。已经有一些机构部分或全部执行了IPSec。1.1 产品背景 在信息是时代,随着企业网应用的日益广泛,企业网的范围也在不断扩大,从本地网络发展到跨地区、跨城市,甚至是跨国家的网络。网络范围的扩大,导致在实际应用上对网络的要求也越来越高。例如,分布在不同城市或者不同国家的所属部门都想要实现建立在安全之上的信息交流和信息共享;出差的人员要求随时随地地访问企业内部网等等。传统的企业网 专用网的解决方案大多通过向运营商租用各种类型的长途线路来连接各种分支机构局域网,或采取数字加密机加专线的方式进行点到点的数据传输,但是这种方式的网络费

11、用高,大多数企业难以承受,且可扩展性极差。国内公共信息网在近些年来得到了高速发展,已经遍布全国各地。在物理上,各地的公共信息网都是连通的,但是由于公共信息网是对社会开放的,如果企业的信息要通过公共信息网进行传输,在安全性上存在着很多问题。因此如何利用现有的公共信息网来安全的建立企业的专用网络,就成了现今网络应用上最迫切需求解决的一个重要课题。 虚拟专用网(VPN)技术是近年来兴起的一个新兴技术,它既可以使企业摆脱繁重的网络升级维护工作,又可以使公共网络得到有效的利用。VPN技术,也就是虚拟专用网技术,是指在公共网络中建立私有专用网络,数据通过安全的“加密管道”在公共网络中传递信息。同时,企业还

12、可以利用公共信息网的拨号接入设备,让自己的用户拨号到公共信息网上,就可以安全地连接进入企业网中。VPN具有节省成本、提供远程访问、扩展性强、便于管理和实现全面控制等优点,是目前和今后企业网络发展的趋势。1.2 预期目标和经济效益1.2.1 预期目标该网络设计是总部公司与其他三个子公司相互之间整体网络的一个简化,各公司都接入到公网中,有完整的内网,在已有的网络结构基础上,通过点到点的方式建立IPSec VPN,使各子公司都能通过VPN安全的与总公司进行通信和数据的传输。1.2.2 经济效益由于使用Internet进行传输相对于租用专线来说,费用极为低廉,所以VPN的出现使企业通过Internet

13、既安全又经济地传输私有的机密信息成为可能,只需在现有设备上进行相关配置即可实现。2 VPN接入技术的选用与IPSec VPN概述2.1 VPN技术的选用用于企业内部建设VPN虚拟专网的主要有两种技术IP Sec VPN和SSL VPN。而通常采用的方式又主要分两种方式:1、site-to site 站点到站点,多用于总部与分支办公室连接2、access-vpn 远程访问VPN,多用于移动用户与总部进行连接。2.1.1 IPSec VPNIPSec VPN是通过IPSec技术建立安全数据隧道的VPN解决模型。安全数据隧道本质上是提供独立封闭的数据包安全传输。IPSec工作于网络层,对终端站点间所

14、有传输数据进行保护,而不管是哪类网络应用。它在事实上将远程客户端“置于”企业内部网,使远程客户端拥有内部网用户一样的权限和操作功能。IPSec的优势有:1. 强大的安全性 IPSec协议固有的强大的安全特性能够使用户进行认证,保证数据的机密性和完整性。用户可以用数字证书或者预共享密钥进行认证,与安全策略不一致的包被丢弃。2. 支持远程办公和移动办公3. IPSec VPN数据转发设备能够为数万地址上分散的用户提供服务。4. 易于配置搭建VPN 并不需要服务提供商的介入,尽管许多企业为了降低花费、加快服务入门和减轻风险,选择利用服务提供商对区域性或者全局性多个站点配置的管理服务经验。5. 减轻在

15、集线器站点的拥挤当对分散隧道配置时,远端VPN客户端能直接转发预定的Internet流量,替代通过IPSec隧道,并仅对相关的正在被转发到集线器的流量建立隧道。这样降低了在集线器点的拥挤。6. 从公司现状考虑,IPSEC能利用公司现有设备IPSEC可以结合现有的防火墙设备实现,公司总部网络无需增加新的设备。7. IPSec方案适用于在“站点站点”VPN方案IPSec对VPN而言仍是主导性的隧道和加密技术,就通常的企业用户和“站点到站点”连接所需要的直接访问企业网络功能而言,IPSec无可比拟。2.1.2 SSL VPNSSL的英文全称是“Secure Sockets Layer”,中文名为“安

16、全套接层协议层”。它的“零客户端”架构特别适合于远程用户连接。SSL嵌在浏览器中,远程用户通过浏览器来访问企业内部的Web应用。这些Web应用目前主要是内部网页游览、电子邮件及其它基于Web的查询工作。SSL VPN的优势为:使用、设置简单,不需要客户软件。有助于降低成本、减缓远程桌面维护方面的担忧。但是,SSL的局限性有如下几方面:1. 只能访问通过网络浏览器连接的资产。在性能、应用覆盖和兼容性等方面也存在问题。2. SSL VPN无法为远程访问应用提供全面的解决方案,因为它并不有助于访问内部开发的应用,也无助于访问要求多个渠道和动态端口以及使用多种协议这类复杂的应用。而这些应用对公司及远程

17、用户来说却是一个关键需求。譬如说,SSL VPN没有架构来支持即时消息传送、多播、数据馈送、视频会议及VoIP。3. SSL VPN存在一定安全风险,因为用户可运用公众Internet站点接入。4. 尽管SSL能够保护由HTTP创建的TCP通道的安全,但它并不适用于UDP通道。然而,如今企业信息管理要求支持各种类型的应用:TCP和UDP、客户机/服务器和Web、现成和内部开发的程序。综上所述,在设计上,IPSec VPN是一种基础设施性质的安全技术,这类VPN的真正价值在于,它们尽量提高IP环境的安全性。因此,有人坚定地认为,IPSec是提供站点到站点连接的首要工具,是企业构建VPN的最佳选择

18、;而SSL VPN缺少站点到站点连接的理想解决方案。2.2 IPSec VPN概述2.2.1 IPSec协议简介IPSec(1P Security)产生于IPv6的制定之中,用于提供IP层的安全性。由于所有支持TCPIP协议的主机进行通信时,都要经过IP层的处理,所以提供了IP层的安全性就相当于为整个网络提供了安全通信的基础。鉴于IPv4的应用仍然很广泛,所以后来在IPSec的制定中也增添了对IPv4的支持。最初的一组有关IPSec标准由IETF在1995年制定,但由于其中存在一些未解决的问题,从1997年开始IETF又开展了新一轮的IPSec的制定工作,截止至1998年11月份主要协议已经基

19、本制定完成。不过这组新的协议仍然存在一些问题,预计在不久的将来IETF又会进行下一轮IPSec的修订工作。2.2.2 IPSec基本工作原理IPSec的工作原理(如图l所示)类似于包过滤防火墙,可以看作是对包过滤防火墙的一种扩展。当接收到一个IP数据包时,包过滤防火墙使用其头部在一个规则表中进行匹配。当找到一个相匹配的规则时,包过滤防火墙就按照该规则制定的方法对接收到的IP数据包进行处理。 这里的处理工作只有两种:丢弃或转发图2-1 IPSec工作原理示意图IPSec通过查询SPD(Security P01icy Database安全策略数据库)决定对接收到的IP数据包的处理。但是IPSec不

20、同于包过滤防火墙的是,对IP数据包的处理方法除了丢弃,直接转发(绕过IPSec)外,还有一种,即进行IPSec处理。正是这新增添的处理方法提供了比包过滤防火墙更进一步的网络安全性。进行IPSec处理意味着对IP数据包进行加密和认证。包过滤防火墙只能控制来自或去往某个站点的IP数据包的通过,可以拒绝来自某个外部站点的IP数据包访问内部某些站点,也可以拒绝某个内部站点方对某些外部网站的访问。但是包过滤防火墙不能保证自内部网络出去的数据包不被截取,也不能保证进入内部网络的数据包未经过篡改。只有在对IP数据包实施了加密和认证后,才能保证在外部网络传输的数据包的机密性,真实性,完整性,通过Interne

21、t进新安全的通信才成为可能。图2-2 IPSec体系示意图IPSec既可以只对IP数据包进行加密,或只进行认证,也可以同时实施二者。但无论是进行加密还是进行认证,IPSec都有两种工作模式,一种是与其前一节提到的协议工作方式类似的隧道模式,另一种是传输模式。传输模式,如图23所示,只对IP数据包的有效负载进行加密或认证。此时,继续使用以前的IP头部,只对IP头部的部分域进行修改,而IPSec协议头部插入到IP头部和传输层头部之间。图2-3 传输模式示意图隧道模式,如图2-4所示,对整个IP数据色进行加密或认证。此时,需要新产生一个IP头部,IPSec头部被放在新产生的IP头部和以前的IP数据包

22、之间,从而组成一个新的IP头部。图2-4 隧道模式示意图2.2.3 IPSec中的三个主要协议前面已经提到IPSec主要功能为加密和认证,为了进行加密和认证IPSec还需要有密钥的管理和交换的功能,以便为加密和认证提供所需要的密钥并对密钥的使用进行管理。以上三方面的工作分别由AH,ESP和IKE三个协议规定。为了介绍这三个协议,需要先引人一个非常重要的术语SA(Securlty Association安全关联)。所谓安全关联是指安全服务与它服务的载体之间的一个“连接”。AH和ESP都需要使用SA,而IKE的主要功能就是SA的建立和维护。只要实现AH和ESP都必须提供对SA的支持。通信双方如果要

23、用IPSec建立一条安全的传输通路,需要事先协商好将要采用的安全策略,包括使用的加密算法、密钥、密钥的生存期等。当双方协商好使用的安全策略后,我们就说双方建立了一个SA。SA就是能向其上的数据传输提供某种IPSec安全保障的一个简单连接,可以由AH或ESP提供。当给定了一个SA,就确定了IPSec要执行的处理,如加密,认证等。SA可以进行两种方式的组合,分别为传输临近和嵌套隧道。1)ESP(Encapsulating Secuity Fayload)ESP协议主要用来处理对IP数据包的加密,此外对认证也提供某种程度的支持。ESP是与具体的加密算法相独立的,几乎可以支持各种对称密钥加密算法,例如

24、DES,TripleDES,RC5等。为了保证各种IPSec实现间的互操作性,目前ESP必须提供对56位DES算法的支持。ESP协议数据单元格式三个部分组成,除了头部、加密数据部分外,在实施认证时还包含一个可选尾部。头部有两个域:安全策略索引(SPl)和序列号(Sequencenumber)。使用ESP进行安全通信之前,通信双方需要先协商好一组将要采用的加密策略,包括使用的算法、密钥以及密钥的有效期等。“安全策略索引”使用来标识发送方是使用哪组加密策略来处理IP数据包的,当接收方看到了这个序号就知道了对收到的IP数据包应该如何处理。“序列号”用来区分使用同一组加密策略的不同数据包。加密数据部分

25、除了包含原IP数据包的有效负载,填充域(用来保证加密数据部分满足块加密的长度要求)包含其余部分在传输时都是加密过的。其中“下一个头部(Next Header)”用来指出有效负载部分使用的协议,可能是传输层协议(TCP或UDP),也可能还是IPSec协议(ESP或AH)。通常,ESP可以作为IP的有效负载进行传输,这JFIP的头UKB指出下广个协议是ESP,而非TCP和UDP。由于采用了这种封装形式,所以ESP可以使用旧有的网络进行传输。前面已经提到用IPSec进行加密是可以有两种工作模式,意味着ESP协议有两种工作模式:传输模式(Transport Mode)和隧道模(TunnelMode)。

26、当ESP工作在传输模式时,采用当前的IP头部。而在隧道模式时,侍整个IP数据包进行加密作为ESP的有效负载,并在ESP头部前增添以网关地址为源地址的新的IP头部,此时可以起到NAT的作用。图2-5 ESP封装示意图2)AH(Authentication Header)AH只涉及到认证,不涉及到加密。AH虽然在功能上和ESP有些重复,但AH除了对可以对IP的有效负载进行认证外,还可以对IP头部实施认证。主要是处理数据对,可以对IP头部进行认证,而ESP的认证功能主要是面对IP的有效负载。为了提供最基本的功能并保证互操作性,AH必须包含对HMAC?/FONTSHA和HMAC?/FONTMD5(HM

27、AC是一种SHA和MD5都支持的对称式认证系统)的支持。AH既可以单独使用,也可在隧道模式下,或和ESP联用。(如图2-6)图2-6 AH头示意图3)IKE(Internet Key Exchange)IKE协议是负责在二个IPsec对等体间协商一条IPsec隧道的协议,IKE在隧道建立过程中主要完成以下任务:-协商协议参数-交换公共密钥-对双方进行认证-在交换后对密钥进行管理图2-7 IKE示意图IKE也是由三个协议组成-SKEME-提供为认证目的使用公开密钥加密的机制-Oakley-提供在二个IPsec对等体间达成相同加密密钥的基于模式的机制-ISAKMP-定义了消息交换的体系结构,包括二

28、个IPsec对等体间分组形式和状态转换.IKE协议分为二个阶段.一条完整的IPsec隧道通过以下事件序列建立起来:第一步: IPsec对等体收到感兴趣流量(即我们想被加密的流量)后,将产生IKE会话.第二步: 使用IKE的主模式(6条消息)或主动模式(3条消息)协商来使二个IKE对等体的IKE安全联盟被创建.第三步: 使用IKE的快速模式协商,创建二个IPsec对等体间的二个安全联盟.第四步: 数据开始在加密的信道上传输,使用了ESP或是AH封装技术(或都采用了).从第二步和第三步可以看出IKE协议分为二个阶段:第一阶段使用主模式(6条消息)或主动模式(3条消息)来完成下面三个任务:-协商形成

29、用来认证二个对等体的一个参数集合并加密一部分主模式和所有的快速模式交换.如果协商中使用主动模式则没有主动模式被加密.-二个对等体间相互认证.这里验证有三种方法:预共享,数字签名,加密临时值.-当协商完成时产生密钥,该密钥用于生成实际加密数据的密钥资源.第二阶段为快速模式(3条消息):主要目标是允许二个对等协商一些用于产生IPsec安全联盟的属性,安全联盟可以加密二个主机间的数据(ESP).IKE如何用来形成一条IPsec隧道的呢?这一系列过程都是IKE这个协议来实现,IKE这个协议也存在着一些不足,“IKE之子”或第二版IKE正在开发之中.主模式(6条消息)或主动模式(3条消息)第一阶段三个任

30、务,分别用6个消息(主模式)来完成,每二个为一组.第一个消息由隧道的发起者发起,携带了如这样一些参数,如加密机制-DES,散列机制-MD5-HMAC,Diffie-Hellman组-2,认证机制-预共享.第二个消息由响应者回应,内容基本一样,主要与发起者比较,是否与发起者匹配,不匹配就进行下一组的比较.如果最终都找不到匹配,隧道就停止建立.第三个消息由发起者发出,但是在发出这个消息之前,有个过程必须先完成,就是Diffie-Hellman算法过程.该过程的目的是什么呢?刚刚第一二条消息中所协商的算法它们必须需要一个KEY,这个KEY在二个对等体上必须一样,但同时这个KEY不能在链路中传递,因为

31、传递KEY是一个不安全的手段.所以,该过程的目的是分别在二个对等间独立地生成一个DH公共值(该DH公共值不是我们上面所说的KEY),该公共值有什么用呢?因为二个对等体上都生成该DH公共值后,它们会在接下来的第三第四消息中传送给对方,打个比方,就是A收到了B的DH公共值Xb,B收到了A的DH公共值Xa.当A,B都收到了对方的该公共值后,问题就好解决了.因为有一个公式在数学中被论证成立,借助该公式,就可以在二个对等上生成一个只有他们二个对等体知道的相同的KEY,该公式为发起者密秘=(Xb)amod p=(Xa)bmod p=响应者密秘Xb为对等体B的DH公共值,Xa为对等体A的DH公共值a为只有对

32、等体A知道的秘密. b为只有对等体B知道的秘密.注意,这里发起者秘密和响应者密秘相等,但这个秘密不是最终算法中使用的KEY,但对等体可通过该秘密材料来生成另外三个密钥,分别是:SKEYID_d-此密钥被用于计算后续IPsec密钥资源. SKEYID_a-此密钥被用于提供后续IKE消息的数据完整性以及认证. SKEYID_e-此密钥被用于对后续IKE消息进行加密.所以由发起者发起的第三条消息主要是向对等体发送自己的DH公共值和一个临时值.临时值被用作生成上述3个SKEYID的材料.第四条消息由响应者向发起者发送,主要是向发送者发送自己的DH公共值和临时值.由于第一二条消息协商算法,第三四条消息生

33、成KEY,所以在后续的第五六条消息就能被加密传送.第五条消息由发起者向响应者发送,主要是为了验证对端就是自己想要与之通信的对端.这可以通过预共享,数字签名,加密临时值来实现.第六条消息由响应者向发起者发送,主要目的和第五条一样.在这六条消息过后,也就是验证一旦通过,就进入了第二阶段:快速模式,快速模式使用二条消息来实现.快速模式发起者会在第一条消息中发送IPsec SA的转换集属性,如:封装-ESP,完整性检验-SHA-HMAC,DH组-2,模式-隧道响应者向发起者发送第二条消息,同意第一条消息中的属性,同时也能起到确认收到对端消息的作用.这一步一旦完成,隧道就建立起来了,用户的数据就能被放入

34、隧道中传送.图2-8 快速模式交换示意图2) IPSEC VPN的安全基础1.机密性保护2.完整性保护3.身份认证【机密性保护】 机密性保护的作用:防止信息泄漏给未经授权的个人。A和B要进行安全通信,假设A要发送给B:“hello“这个信息,肯定不可能直接明文发送,所以要对发出去的信息进行加密处理,然后B收到后再进行解密处理,这样的过程就是保护数据机密性的过程。几个概念:算法:在加密和解密过程中采用的一组规则。密钥:可以看作是密码算法的参数,用来控制加密,解密操作。分为加密密钥Ke和解密密钥Kd。就上面的例子,比如A的消息“hello”就是明文,假设算法是这样的一组规则:加密的时候将字母往后移

35、x个字母,解密的时候往前移位三个字母。密钥是x,这里假设密钥为3。根据这个算法,加密后的密文就成了:“khoor”,这样别人看到这串字母就不知道什么意思了。解密密钥也是x(这里也是3),接受方根据解密算法就可以将密文向前移位三个字母,就可以得到明文。因此我们可以这样理解,加密是要由算法和密钥共同组成的。目前,很多加密算法都是公开的,也就是大家可以知道这些算法是怎么算的,都是有标准的。但是密钥是要保护的,这样即时知道了算法,也不能解密。就上面的例子来说,你知道算法是加密后移k位,解密前移k位,但是你不知道密钥k是多少,所以也就不能解密了。算法是公开的,密钥是私有的,如何管理和分配私钥成为重要问题

36、。现在来看下图中的Ke和Kd,Ke是加密时候用的密钥,Kd是解密时候用的密钥。如果在算法中Ke和Kd是相同的,我们说这是个对称密钥算法。如果在算法中Ke和Kd是不一样的,我们就说这是个非对称密钥算法。在这里不对比这两种算法的优缺点,这里只需知道不管是对称还是非对称,都是加密算法,都可以用来作加密,只是密钥不同。对称加密算法有:DES,3DES,AES,IDEA,RC4,A5,SNOW2.0(记住常用的三个即可)非对称加密算法有:RSA,Diffie-Hellman,Rabin,ELGmal机密性总结:1.在传输过程中对数据加密解密就是数据机密性的保护。2.目前情况,算法是可以公开的,需要保护的

37、是密钥。3.常用的对称加密算法:DES,3DES,AES;常用的非对称加密算法:RSA,Diffie-Hellman(简称DH)【完整性保护】 通过对主机A的原始数据加密形成密文再传送保护了数据的机密性,但是在传输过程中,如果密文因为某些原因丢失了一部分,或者被别人篡改了,那么在主机B中就不能收到完整的A所发送的的信息了。因此我们需要一种方法来解决这个问题,即验证数据的完整性。完整性,可以这样理解,我们要通过某种方法,来判断B收到的信息和A给的信息是一样的,是完整的。我们通过hash算法实现这一功能。(这里需要注意的是完整性可以通过hash函数来实现,但是这些hash函数不仅仅只能用来做完整性

38、保护,具体情况要看被hash的数据是什么而定,后续会提到。)HASH算法是通过HASH函数来实现的。hash函数有:MD5,SHA-1hash函数的特点,必须记住的:1.输入是变长的数据,输出是固定长度的值的值(MD5是128位),叫hash值。2.hash函数是单向的,即正向计算容易,求逆极其困难,我们这里认为是不可能的。【身份认证】身份认证:一种用来验证发送者的身份的真实性,通过身份认证可以发现那些假冒的顶替的入侵者。从例子上看,A发给B消息,B要验证消息确实是A发出的,而不是别人发出的。身份认证可用公钥密码体制来验证。首先了解一下公钥的密钥体制的一些重要概念:1.有一对密钥,分为公钥和私

39、钥。2.私钥加密,只有对应的公钥才能解密。-用于身份认证3.公钥加密,只有对应的私钥才能解密。-用于数据加密公钥密码体制不仅可以用在保护数据的机密性,而且可以用在身份认证中。将公钥公开,就是任何人都可以得到公钥,发送者用相应的私钥加密,由于只有发送者才有私钥,所以只要接受者能用公钥解开,就能证明一定是拥有私钥的人发送的。这样就验证了对方的身份。总结一句话:私钥加密,公钥解密,实现身份认证。IPSEC VPN加密通信中的四个概念:1.MAC消息认证码2.数字签名3.数字证书4.DH算法【MAC消息认证码】消息认证码(MAC)就是带密钥的hash函数,用来做验证用。MAC消息认证码是将共享密钥和数

40、据一起做hash,验证过程:1.A和B通信之前已经协商好一个共享密钥,只有A和B知道。2.A将发出的消息和密钥一起做hash运算,得到mac值,附在消息后面。3.B收到消息和mac值,将消息和他共享密钥做同样的hash运算。4.对比两个hash值,因为只有消息和密钥都一样,hash值才可能一样,所以如果hash值一样,则说明消息是正确的,而且说明消息是由A(拥有共享密钥的人)发送的。达到认证和完整性的目的。注意:IPSEC VPN里用的就是HMAC。完整性和数据源认证的区别本质区别:完整性检验只对消息做hash值,而数据源认证对数据和密钥做hash。第一,数据源认证必须要求通信,而数据完整性认

41、证不一定需要通信,例如存储数据的完整性认证。第二,数据源认证必然要求识别数据源,而数据完整性校验不一定需要,例如无源数据识别中的数据完整性校验。消息认证码总结:1.MAC主要功能是用来做消息认证的。2.利用hash算法来实现的。3.Hash算法可以用来做完整性检验,也可以用来做消息认证,取决于所hash的内容有没有包含密钥。【数字签名】数字签名,目的是认证,防止欺骗或抵赖。数字签名涉及的技术:公钥密码体制和完整性检验。回顾公钥密码体制的最重要特性:密钥是成对的,而且公钥加密只有私钥能解,同样私钥加密只有公钥能解。p:L bits长的素数。L是64的倍数,范围是512到1024; q:是p -

42、1的160bits的素因子; g:g = h(p-1)/q) mod p,h满足h 1; x:秘密密钥,正整数,x q; y:y = gx mod p ,( p, q, g, y )为公钥; k为随机数,0kq; H( x ):One-Way Hash函数。 DSS中选用SHA( Secure Hash Algorithm )。 p, q, g可由一组用户共享,但在实际应用中,使公共模数可能会带来一定的威胁。 签名过程如下: 图2-11 数字签名示意图数字签名方案有两个部分:签名算法和验证算法。图2-11和图2-12表示签名算法和验证算法。图2-12 签名算法图示说明:数据用hash函数哈希得

43、到定长的输出,然后用私钥签名hash值。数字签名的核心在于用私钥加密。这里hash函数的作用有两个:1)得到的定长输出,位数短,私钥签名的时候速度快。2)保证数据的完整性。验证算法:图2-13 验证算法数字签名总结:1.数字签名的技术支持:完整性算法和公钥密码体制。2.数字签名的标准:DSS3.数字签名是一种身份认证方式。【数字证书】数字证书,数字证书将身份标识与公钥绑定在一起,并由可信任的第三方权威机构用其私钥签名。数字证书可以防止“中间人攻击”。 图2-14 中间人攻击图示解说:1.带有引号的公钥,(即“公钥”)指的是hacker的公钥,并不是真正的公钥,但是Alice认为是BOb的公钥。

44、2.通过数字顺序说明中间人攻击的过程。从中间人攻击过程可以看出,不安全的因素在于不能识别公钥的来源。数字证书就是为解决这个问题而来的。数字证书的解决办法:1.身份标识与公钥绑定在一起,形成证书,这样公钥就和身份相对应。2.由可信任的第三方权威机构用其私钥签名来确保证书的有效性和安全性。注意: 数字证书安全的前提是第三方是可信任的,如果第三方被伪造,数字证书就没有安全性可言。数字证书总结:1. 验证过程:A从第三方下载证书,内有B的公钥和B的身份标识,由第三方证明公钥是由B所持有。2. 数字证书用来防止中间人攻击。【DH算法】DH算法,全称: Diffie Hellman算法,是一种非对称密钥算

45、法。目的: 在一个非安全的通道上安全地建立一个共享密钥,用来建立安全的信道。数学基础:基于求离散对数难。详细过程:1、有两个全局公开的参数,一个素数q和一个整数a,a是q的一个原根。2、假设用户A和B希望交换一个密钥,用户A选择一个作为私有密钥的随机数XAq,并计算公开密钥YA=aXA mod q。A对XA的值保密存放而使YA能被B公开获得。类似地,用户B选择一个私有的随机数XBq,并计算公开密钥YB=aXB mod q。B对XB的值保密存放而使YB能被A公开获得。3、用户A产生共享秘密密钥的计算方式是K = (YB)XA mod q。同样,用户B产生共享秘密密钥的计算是K = (YA)XB

46、mod q。这两个计算产生相同的结果:K = (YB)XA mod q= (aXB mod q)XA mod q= (aXB)XA mod q(根据取模运算规则得到)= aXBXA mod q= (aXA)XB mod q= (aXA mod q)XB mod q= (YA)XB mod q因此相当于双方已经交换了一个相同的秘密密钥。4、因为XA和XB是保密的,一个敌对方可以利用的参数只有q、a、YA和YB。因而敌对方被迫取离散对数来确定密钥。例如,要获取用户B的秘密密钥,敌对方必须先计算XB = inda ,q(YB)然后再使用用户B采用的同样方法计算其秘密密钥K。Diffie-Hellman密钥交换算法的安全性依赖于这样一个事实:虽然计算以一个素数为模的指数相对容易,但计算离散对数却很困难。对于大的素数,计算出离散对数几乎是不可能的。2.3 IPSec VPN网络设计原则1)实用性原则。计算机设备、服务器设备和网络设备在技术性能逐步提升的同时,其价格却在逐年下降。因此,不可能也没有必要实现所谓“一步到位”。所以,网络方案设计中应把握“够用”和“实用”原则。网络系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号