(计算机应用技术专业论文)基于ndis的vpn安全网关改进的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于ndis的vpn安全网关改进的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于ndis的vpn安全网关改进的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于ndis的vpn安全网关改进的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于ndis的vpn安全网关改进的设计与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)基于ndis的vpn安全网关改进的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中南民族大学硕士学位论文 i 摘 要 随着计算机网络技术的发展,计算机之间的安全通信越来越受到人们重视。 但传统专用网需要依赖具体硬件设备来实现,虽然在传输上是比较可靠和安全 的,但是对于大多数公司和个人来说,成本上是不划算的。因此每个公司都要为 其在各地的办公分支机构和总部之间构建一条专门的连接线路进行通信, 这无疑 是各个公司所不能接受的。 虚拟专用网技术的出现使人们在电子商务、 公司内部员工之间的通信和重要 资源的安全共享方面成为了现实,同时也节约了成本。虚拟专用网技术为处地不 同地点的公司总部与公司分支机构和个人用户之间, 能够在开放的网络上建立虚 拟的隧道,其中包括加密、认证、隧道等机制。当数据包在隧道模式下通过传统 的虚拟专用网网关时存在着数据传输安全问题, 并且也可能存在着中间人伪装发 送者来发送数据包而通过网关。 本文介绍了基于 ipsec 的虚拟专用网的结构和框架, 对 ah 协议和 esp 协 议及虚拟专用网的传输模式进行了分析研究, 针对原有虚拟专用网网关存在的数 据传输安全问题,拟出了一个改进的基于 windows 系统下的虚拟专用网安全 网关的思路,并且采用 ndis 技术,ddk 开发包,获得了安全网关的改进和实 现。同时对在传输模式下数据包的以太网头,在内部网传输时进行 mac 地址的 绑定;对进行传输数据包的数据部分加上了一个安全字段的认证,并对数据包使 用 md5 加密算法。最后搭建了实验平台,对安全网关进行了测试,验证经过改 进的网关是可行、有效和安全的。 关键词:关键词:vpn;网关安全;加密;双重绑定;嵌套;网关安全;加密;双重绑定;嵌套;ddk 基于 ndis 的 vpn 安全网关改进的设计与实现 ii abstract with the development of computer network technology, people pay more and more attention to secure communications between computers. using the traditional private network always rely on specific hardware devices to achieve, which is not worth the cost for most companies and individuals although it is reliable and secure in transmission. therefore, each company must build a dedicated communication line to connect between its branches and the headquarters office,but it is not accepted by many company. the appearing of vpn technology make everything come true in e-commerce, internal communications between staff and the security of an important resource, as well as cost savings. vpn technology could establish a virtual tunnel in different locations for the departments corporate headquarters,branch offices and individual users, including encryption, authentication, tunnels and other mechanisms. there are problems in address translation when packet mode in the tunnel get across the traditional vpn and the existence of an intermediary may also camouflage the sender to send packets through the deceptive gateway. on the basis of ipsec-based vpn structure and framework,and analyze the pattern of the ah and esp protocol and vpn transmission,this paper, draw up ideas to improve the security gateway vpn and get the realization of ddk development kit using ndis technology to across the security gateway. so improve these issues for the original vpn gateway. in this paper, it is not only bind mac address in the internal network and under the transfer mode of transmission of the ethernet packet header, but also fix a safe part of the field certification to the data packets in the transmission mode. this will achieve a double bind ,so that intermediaries can hardly disguise the attack packets. further more, it will safer in the process of transmission through using of md5 encryption algorithm. finally, we could take advantage of ddk development kit to achieve the preparation of intermediate driver. key words :vpn;gateway security;encryption;double bind;nested;ddk 中南民族大学中南民族大学 学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权中南民族大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存 和汇编本学位论文。 本学位论文属于 1、保密,在_年解密后适用本授权书。 2、不保密。 (请在以上相应方框内打“” ) 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 中南民族大学硕士学位论文 1 第 1 章 引言 1.1 研究背景 随着计算机网络的发展,计算机之间的通信安全越来越受到人们重视。越来 越多的处在世界各地的公司分机构要与公司总部进行安全的网络通信, 处在不同 地点个人用户之间要通信,这些都对网络安全提出了更高的要求。由于专线网的 实现需要依赖具体硬件设备来实现,虽然在传输上获得了比较可靠和安全,但是 对于大多数公司和个人来说,成本上较高不划算。而一个虚拟专用网(virtual private network ,vpn) 则是通过现有的公共网络为基础建立起来的, 在原有公共 网络的线路上构建虚拟隧道,并且通过认证、加密、密钥分配等机制,而使用户 能够进行安全的网络信息传输。 这使得公司总部及公司在不同地方的分支机构和 个人用户的使用成本大大的降低,同时也保证了使用的安全1。相比较于要依赖 硬件连接的专线网而言,虚拟专用网的优势是显而易见的。 虚拟专用网技术于九十年初就已经开始出现,vpn 的底层技术如 tcp/ip 技 术和加密技术,早在上个世纪五六十年代就已经被实现。现代意义上的 vpn, 一般被认为是一种基于 ip 网络的安全技术,但在过去,人们对 vpn 的理解是指 使用专用通讯线路来构建私有网络的远程连接服务。 有很多大型的企业为了将其 不同地点的工作人员联系起来, 使用了许多昂贵的租用线路, 如电话线、 帧中继、 isdn 或者 atm 网络等,这就是现在常说的 intranet 的早期形式。随着 internet 的日渐普及,人们开始尝试着在 internet 上架构自己的私用网络,但这首先要解 决的问题就是安全,因为 internet 本身是开放式的,并不能提供任何安全连接保 障。人们使用现代密码技术,可以克服安全因素造成的障碍,从而造就了现在的 虚拟专用网络。虚拟的方法在安全意义上是高度可信的,又节省了构建专用网络 的物理线路成本,因此已经成为了一种具有很高应用价值的技术。虚拟专用网络 因为在成本和安全上具有许多优点,因此有着很好的发展趋势。一些厂商首先就 意识到了虚拟专用网的发展前景,在 90 年中期纷纷推出自己的产品。到了二十 世纪末,相关的一些公司升级了有关协议和与安全相关的新产品,很多客户机都 基于 ndis 的 vpn 安全网关改进的设计与实现 2 被升级为包含有虚拟专用网特性的机器,使得 vpn 的使用更加安全。 1.2 研究现状 目前国内外都在进行虚拟专用网的研究。 从九十年代后期以来, 国外对 ipsec 的研究已经进入实践阶段: 在软件方面, 我们比较熟悉的操作系统, 如 linux,unix 和 windows 系列都实现了对 ipsec 的支持; 也有一些专门的 ipsec 软件产品, 如 ipsec express;在硬件方面,多数 vpn 产品都已经声称支持 ipsec,尤其是一些 大的厂商。这些研究成果和产品已经趋向于成熟,并且在 ipsec 协议的实现上取 得了良好的互操作性。特别是 windows 2000 推出了具有成熟的虚拟专用网的选 项,它可以提供安全的、可管理的解决方案,这些功能比硬件的解决方案或者是 专线化的解决方案更经济。windows xp 不仅带有内置的对 ipsec 等的支持,而 且还提供一套安全服务。 但在使用虚拟专用网技术带来方便的同时, 人们对网络性能的进一步优化和 安全性的提高方面还处于不断的研究和探索中。 虚拟专用网并不是一个企业真正 意义上的私用网络,internet 上的其他人有可能会截取到信息。所以我们也需要 对它作进一步的研究和改进。比如在应用了 ipsec 来 vpn 协议之后,网络传输 速度均会有不同程度的下降,其中采用 esp 加密会比用 ah 的影响更大,优化 协议而提高速度的方法正在研究当中。再者就是,ipsec 和 nat 不能共存的问题 影响,因为 ipsec 会对数据包的 ip 地址进行封装而使 ip 数据包的 ip 地址改变, 而不能穿越网络,所以这个课题在国内外都有着广泛的研究和实践。对安全的扩 展身份验证协议和数据完整性的问题也正在研究当中。对密钥交换协议(ike, 密钥交换协议)的研究也在展开,特别是对 ike 交换中第三方的中间人攻击防 范问题23,提高 qos(quality of service,服务质量)等都需进一步研究 4 5。在 现阶段,随着无线网络技术的发展和应用,在虚拟专用网中实现对无线网络的支 持有时也是必要的。以上所述的问题都是当前和今后一个阶段,人们所研究的热 点和难点。 1.3 主要研究内容 通过对虚拟专用网原理的研究和现有研究成果的学习,对 ipsec vpn 的体 中南民族大学硕士学位论文 3 系结构,ah 协议、esp 协议、加密算法和虚拟专用网传输模式进行了详细介绍 和分析。针对数据包在隧道模式下通过传统虚拟专用网网关时存在的安全问题, 在通过查阅大量相关文献资料的基础上, 采用 ndis 技术和 windows 的虚拟专用 网网关,实现了 windows 系统下的虚拟专用网应用和对用户传输数据的安全性。 该方法经过实验和对构建的网关进行测试,获得了好的效果。 虚拟专用网的实现取决于具体的操作系统平台。 linux 平台源代码是开放的, 可直接对其协议栈进行修改和构建, 所以现在绝大多数虚拟专用网的实现都是基 于 linux 平台来实现的。但是,现在大多数用户采用的是 windows 操作系统, 所以在 windows 操作系统下开发虚拟专用网的应用更具有应用价值。虽然微软 提供了一些模块可供用户进行虚拟专用网的配置使用, 由于配置缺乏灵活性和可 操作性,所以开发基于 windows 系统下的虚拟专用网就显得更有实际意义6。 论文主要工作如下: (1)分析和研究了虚拟专用网的原理和特点,并对 ah 和 esp 协议和加密 算法进行了详细介绍和研究,对现有的虚拟专用网技术的不足进行了分析; (2)根据对原有网络协议的分析,虚拟专用网存在数据传输的安全问题,具 体而言,存在第三方的攻击,即中间人仿造一个数据包欺骗网关。通过对原有虚 拟专用网的分析,对数据包的数据部分增加一个协议认证,具体采用源 mac 地 址作为认证字段。并采用加密算法对数据部分进行加密,解决原有虚拟专用网的 数据传输安全问题,使数据传输更具有安全性。 (3)在对安全网关改进的基础上,采用 ddk 开发包开发了中间驱动程序。 最后在网络中搭建了实验平台,对安全网关进行了测试,验证该网关的可行性、 有效性和安全性。 1.4 论文组织结构 论文组织结构如下: 第一章 介绍了虚拟专用网的研究背景及现状和主要研究内容; 第二章 对 ipsec vpn 的体系结构,ah 协议、esp 协议和加密算法和虚拟专 用网几种传输模式进行了详细介绍和分析; 第三章 介绍了 ndis 技术及中间驱动程序的原理,提出了基于 ndis 虚拟专 基于 ndis 的 vpn 安全网关改进的设计与实现 4 用网网关改进的详细设计方案; 第四章 采用 ddk 开发包,实现了改进后的安全网关,并搭建了实验平台, 对改进后的网关进行了测试,验证了该网关的可行性、有效性和安全性; 最后,对本文所做的工作进行了总结,指出了本方案存在的不足和今后要做 的工作。 中南民族大学硕士学位论文 5 第 2 章 ipsec vpn 的体系结构 2.1 ipsec vpn 概述 ietf(the internet engineering task force)ipsec 工作组于 1998 年开始,制 订一系列基于密码学、开放的网络安全协议,总称为 ip 安全 ipsec(ip security) 体系结构,简称 ipsec。ipsec 工作在 ip 层,而 ip 层工作在 tcp/ip 协议组的第 三层,因此使用基于 ipsec 的 vpn 具有很好的安全性,因为它为 ip 层及其上层 协议提供了保密性、完整性等一系列的安全服务7。 ipsec 工作在传输层之下,因此对应用层是透明的。当在网关上安装 ipsec 时,即提供了一个对用户来说的安全保障机制,特别适用于配合虚拟专用网的使 用。 ipsec 独立于具体的密码学算法,这种模块化的设计保证了可以选择不同的 算法,也不会影响其他部分的实现,使得不同的用户可以选择适合自己的算法, 并具有很好的移植性。 如可以在两台安全网关之间创建一条使用虚拟专用网概念 的安全隧道,对算法的安全改进可单独进行。 ipsec vpn 一般都是利用隧道技术实现的,所谓隧道,就是利用一种协议来 封装传输数据包的一种技术。通过在 vpn 中使用隧道技术,则可以减小硬件的 开销,因为不必专门为通信双方构建专有的线路,而是通过在公有网络中构建虚 拟的隧道来进行安全的数据通信。当采用的协议不同,封闭数据包的形式也各不 相同,因此数据包的加密、认证算法也不相同。因此隧道技术是 vpn 网络的基 础,因为它以数据包进行协议封装,使传输更加的安全。而一个 vpn 可能只使 用一次隧道技术, 也可能会使用多次的隧道技术, 也有可能使用不同的隧道技术。 虚拟隧道技术采用的标准协议有 ah 和 esp 等几种。 2.1.1 ipsec 框架结构 ipsec 框架结构主要由两个方面,ip 安全协议 ipsp(ip security protocol)和 密钥管理协议 ikmp(internet key management protocol)组成。 ip 安全协议,主要的目的是使需要使用安全措施的用户能够使用相应的安全 基于 ndis 的 vpn 安全网关改进的设计与实现 6 机制。它制定了认证头 ah(authentication header)和封装安全载荷 esp (encapsulation security payload)规范8。 密钥管理协议 ikmp(internet key management protocol) ,主要的目的是当 ipsp 大规模使用的时候,在因特网上建立标准化的密钥管理协议。这个密钥管 理协议按 ipsp 安全策略的要求, 指定管理密钥的方法和措施。 ipsec 制订了因特 网密钥交换 ike(internet key exchange)规范,定义了 sa(安全联盟)管理, 自动生成框架,支持在网络上的安全协议协商9。 ipsec 协议族主要由三个协议组成,包括 ah 协议、esp 协议,以及负责密钥 管理的 ike 协议,各协议这间的关系如图 2.1 所示。 图图 2.1 ipsec 协议体系结构协议体系结构 图 2.1 中各模块的功能描述如下: esp 为 ip 数据包提供数据的保密性、无连接的数据完整性、数据源身份认 证。其中数据的保密性工作是 esp 最基本的功能,而数据完整性、数据源身份 论证都是可选择的; ah 为 ip 数据包提供无连接的数据完整性和数据源身份认证, 其中数据完整 性校验通过消息证验码产生的校验来保证。 数据源身份认证通过在待认证的数据 中加入一个共享密钥来实现; ah 和 esp 都可以单独使用,也可以结合使用。通过这些方式的组合,可以 在两台主机、两台网关,或者主机与安全网关之间建立起安全的通信通道。 ipsec 体系 esp 协议 ah 协议 加密算法 认证算法 解释域 ike 协议 中南民族大学硕士学位论文 7 密钥管理包括 ike 协议和安全联盟(sa,security association)等部分。ike 提供密钥协商和密钥管理,在通信的实体之间建立安全联盟,是一个产生和交换 密钥和协调 ipsec 参数的框架。ike 将密钥协商的结果保留在 sa 中,供 ah 和 esp 在以后的通信时使用。 解释域(doi, domain of interpretation)将所有的 ipsec 协议联合在一起,是 ipsec 安全参数的主要数据库,在这个数据库中存放有全部 ipsec 相关的安全参 数数据,这些参数可被与 ipsec 服务相应的系统参考和调用; ip 协议本身不没有安全特性,因此很容易伪造 ip 数据包的地址,修改 ip 数 据包的内容、重复以前发的包,以及在传输过程中拦截并查看数据包的内容。当 接收者无法确认所收到的数据确定来源时,可以使用 ah 和 esp 协议进行数据 包来源的身份认证。 当接收者无法确认所收到的数据包就是发送者所发送的原始 数据包时,因为在数据包的传输过程中可能会被篡改,这可以使用 ah 或者 esp 协议进行数据完整性的保护。 当数据包在传输过程中有可能被告他人拦截并查看 时,可以用 esp 协议对数据包进行加密,提供隐私保护。ipsec 可有效的保护 ip 数据包的安全,主要有以上几种的保护机制。 使用 ipsec 协议中的 ah 协议和 esp 协议,可以对 ip 数据包或上层协议(如 udp 和 tcp、icmp)进行保护,这种保护用 ipsec 两种不同的工作模式来提供。 其中,ah 可以认证数据包的来源地、完整性等。esp 除具有 ah 协议的能力之 外,还可以对数据包进行加密性的保护。为正确封装及提取 ipsec 数据包,将密 钥与要保护的通信数据联系起来。 2.1.2 ipsec 运行模式 ipsec 支持两种运行模式,即传输模式和隧道模式。ah 和 esp 都支持这两种 模式。 (1)传输模式:传输模式为上层协议提供安全保护,保护的是 ip 数据包的 有效载荷。通常情况下,传输模式主要用于两台主机之间的安全通信和一台主机 和一个安全网关之间的通信。当一台主机运用 ah 或 esp 时,数据包的有效载 荷指的是跟在 ipsec 头后面的数据,如图 2.2,为数据包在传输模式下的传输。 基于 ndis 的 vpn 安全网关改进的设计与实现 8 图图 2.2 ipsec 传输模式传输模式 (2)隧道模式:隧道模式为整个 ip 数据包提供保护。隧道模式首先为原始数 据包增加 ah 或 esp 字段,然后再在外部增加一个新的 ip 头,这样新的 ip 数据 包的目的地址与原来的就不一致。隧道模式主要用于两个安全网关之间的通信。 如图 2.3 为数据包在隧道模式下的传输。 图图 2.3 ipsec 隧道模式隧道模式 2.1.3 实现方式 ipsec 可以在主机、 安全网关或者两者中间来实施。 使用者可以根据具体情 况来决定空间在什么地方来实施 ipsec。具体实现方式有三种:集成方式、bits 方式和 bitw 方式。 (1)集成方式:直接把 ipsec 的实现嵌入本地的 tcp/ip 协议,这往往需要 修改实现 ip 的源代码。由于在现代的互联网络中,tcp/ip 已经扮演着基础设施 ip 头 tcp 载荷数据 保护内容 新新 ip 头头 ipsec 头头 ip 头 tcp 载荷数据 原数据包 隧道模式下的数据包 ip 头 tcp 载荷数据 ip头 ipsec头头 tcp 载荷数据 保护内容 原数据包 传输模式下的数据包 中南民族大学硕士学位论文 9 的角色,修改 ip 源码并不是一种现实的做法。这种思路的意义在于国际上已经 在策划启动下一代的 ip 协议, 即 ipv6。 ipv6 中包含了 ah 和 esp 技术, 因此 ipv6 的实现也部分实现了 ipsec 的内容。 (2)bitw(bump-in-the-wire)线缆中的块,可以把这种实现看成一种硬件 或软件的黑盒子,它连在网络上,未加密的数据从一个网络接口流入,加密的数 据从另一个网络接口流出,解密的过程是与之相反的。这种实现方案既可用于一 台主机,也可用在一个局域网的网关处,前者和 bits 相似,后者则充当安全网 关或安全路由器的角色,可以有自己的 ip 地址,也常常在商业性质的产品中和 防火墙捆绑在一起,或者充当一个 vpn 整体解决方案的一部分。 (3)bits(bump-in-the-stack)堆栈中的块,其主要的想法是在 ip 协议栈和 本地的网络底层之间实现 ipsec,简单的说,就是在 ip 层和底层之间“嵌入”一 层 ipsec 的实现。这种实现不需要修改 ip 源代码,比较适合用于 windows 平台 下的实现。 2.2 安全联盟(sa) 2.2.1 安全联盟(sa)的定义 安全联盟是发送者和接收者两个 ipsec 通信实体之间,经过协商建立的一个 提供安全服务的单向连接, 是与给定的一个网络连接或一组网络连接相关联的安 全信息参数的集合。sa 可以为 ah 协议创建,也可以为 esp 协议创建。sa 主 要内容包括 ipsec 协议类型、加密算法、认证方式、密钥的生存时间和加密密钥 等等。sa 可以是手工建立的,也可以通过自动密钥交换协议来实现建立10。 sa 是单向连接的,当两台主机正在进行通信时,那么发送方需要一个用来 处理出数据包的 sa,同时可能还需要一个处理入数据包的 sa。发送方的出 sa 和接收方的入 sa 共享相同的加密参数。接收方的出 sa 和发送方的入 sa 共享 相同的加密参数。sa 可以为 ah 或 esp 提供安全服务,但不能同时提供。如果 某个通信同时使用了 ah 和 esp 时,就必须为这个通信建立二个 sa,而这个通 信是双向进行的,那就可能需要建立多个 sa。 人们是通过一个三元组参数来确定标识每个 sa,即安全参数索引(spi, security parameter index) 、目的地址和安全协议标志符(如 esp) 。一般情况下 基于 ndis 的 vpn 安全网关改进的设计与实现 10 目的地址可以是一个单播地址、一个广播地址等。有二种类型的 sa,即传输模 式和隧道模式。 传输模式的 sa 在使用时,安全协议头紧跟在 ip 数据包头和可选字段之后, 在其他高层协议之前。隧道模式的 sa 在使用时,就对整个 ip 数据包提供保护。 2.2.2 sa 的使用功能 sa 所能够提供的安全服务取决于所选择的安全协议、 sa 工作模式、 sa 终 点,以及协议内选择的服务。如 esp 提供的加密、数据源认证和 ip 数据包完整 性的保护等。 sa 的作用范围可以进行配置,如内部网的主机都使用同一个 sa,也可以 指其更为细分,如每个数据包分别使用一个 sa。当不需要使用数据保密性的服 务时,最好使用 ah 协议11。esp 可提供保密服务,保密服务的保密强弱取决于 esp 所使用的加密算法,当然 esp 也可以提供认证服务。esp 所提供的认证服 务的范围比 ah 要窄,不包括 ip 数据包头部分。如果只希望对上层协议提供认 证服务,则 esp 是一个比较好的选择。而 esp 的认证和加密都是可选择的,但 一般情况下,二者要选择一个使用。如果选择了保密服务,那么 esp sa 可以加 密内部 ip 头,隐藏通信方的源和目的地址。 一个 sa 为 ip 数据包不能同时提供 ah 和 esp 保护,但有时在特定的情况 下对安全提出了更高的要求,这时就需要建立多个 sa。当把多个 sa 用于一个 通信之间时,叫做 sa 集束。多个 sa 的使用顺序由安全策略决定,sa 集束中的 每个 sa 的终点可以是不同的。如,一个 sa 可能用于主机与安全网关之间的传 输,另一个 sa 可能用于主机与主机之间的传输,多个 sa 可以用传输连接和嵌 套隧道两种方式联合起来组成 sa 集束。 传输连接是指将多个安全协议顺序的应用于 ip 数据包, 使用过程中不出现 隧道。对一个数据包同时使用 ah sa 和 esp sa 传输模式时,应先使用 esp, 再使用 ah,如图 2.4 所示。 中南民族大学硕士学位论文 11 图图 2.4 传输连接方式传输连接方式 嵌套隧道是指通过 ip 隧道应用多层安全协议。允许多层嵌套,每个隧道可 以发起或终止于不同的位置。嵌套隧道主要有三种: (1) 嵌套隧道方式一,sa 两端的端点是相同的情况,如图 2.5 所示。内部和 外部隧道协议是 ah 或 esp。 图图 2.5 嵌套隧道方式之一(嵌套隧道方式之一(sa 两端的端点相同)两端的端点相同) (2)嵌套隧道方式二,sa 一端的端点是相同的情况,内部和外部协议可以使 用 ah 或 esp。如图 2.6 所示。 用户 安全 网关 用户 安全 网关 internet sa1(隧道) sa2(隧道) 用户 安全 网关 用户 安全 网关 internet sa1(esp传输) sa2(ah 传输) 基于 ndis 的 vpn 安全网关改进的设计与实现 12 图图 2.6 嵌套隧道方式之二(嵌套隧道方式之二(sa 一端的端点相同)一端的端点相同) (3)嵌套隧道方式三,sa 两端的端点都不相同的情况,内部和外部协议可以 使用 ah 或 esp。如图 2.7 所示。 图图 2.7 嵌套隧道方式之三(嵌套隧道方式之三(sa 两端的端点都不相同)两端的端点都不相同) 2.3 认证头协议(ah 协议) 2.3.1 ah 的目标 ah 为 ip 数据包提供数据认证和完整性的保护机制, 它为 ip 数据包提供尽可 能多的身份认证保护,认证失败的包将被放弃,不交给上层协议,不对 ip 数据 包进行加密,不提供机密性保证,所以它不需要加密算法对它进行支持。 ah 提供 ip 头认证,也可以为上层协议提供认证。一些 ip 头字段在传输时会 被改变,当 ip 数据包到达接收者时,发送者无法预测这些字段的值,因此 ah 对这一部分的 ip 头字段不作认证保护,比如源地址等。ah 定义保护方法、头位 用户 安全 网关 用户 安全 网关 internet sa1(隧道) sa2(隧道) 用户 安全 网关 用户 安全 网关 internet sa1(隧道) sa2(隧道) 中南民族大学硕士学位论文 13 置、身份认证的覆盖范围,但没有对所使用的身份认证算法进行定义。 2.3.2 ah 头的格式 ah 保护的 ipv4 数据包的协议字段是 51。ah 头格式如图 2.9 所示。 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 下一个头 载荷长度 保留 安全参数索引(spi) 序列号 认证数据 图图 2.9 ah 头格式头格式 具体的各个字段的说明如下所示: (1)下一个头,为 8 比特字段,指在 ah 头后下一个载荷的类型。在传输 模式下,是指载荷中受保护的上层协议的编号,如 icmp 或 udp 协议等。在隧 道模式下,ipv4 封装的这个值固定为 4,ipv6 封装时这个值是 41,因为在隧道 模式下是对整个 ip 数据包进行封装,因此它的下一个载荷的类型必为 ip 类型。 (2)载荷长度,为 8 比特字段。 (3)保留,为 16 比特字段。设置为 0 时,表示保留给将来使用。 (4)序列号,为 32 比特字段的单向递增计数器,用于避免重放攻击。由接 收者选择是否需要处理序列号,但发送者必须使用。发送第一个数据包时,序列 号的值为 1,在发送剩下的数据包时,序列号的值加 1,然后封装。这样就保证 了每个 ah 头中的序列号是唯一的、非零的而且是递增的。 (5)安全参数索引(spi) ,是一个任意的 32 比特值,与外部 ip 头的目的 地址一起用于标识 ip 数据包的安全联盟, 1255 范围的 spi 值预留给将来使用, spi 值为 0 表示预留给本地的特定实现使用。当 ipsec 实现要求密钥实体建立一 个新 sa 时,spi 值为 0,表示安全联盟没有建立起来。 (6)认证数据,是一个可变长度字段,包括针对该数据包的完整性校验值和 消息认证码,该字段必须是 32 比特的整数倍长。当接收者收到数据包后,执行 校验,与发送者的该字段值比较,如果相同,表示数据是完整的,没有在网络传 输过程中被修改过,如果不一样,则表示拒绝接收该数据包。这个功能与 tcp 等协议中的检验和的功能一致。在隧道模式下,只对原来的数据包进行完整性的 基于 ndis 的 vpn 安全网关改进的设计与实现 14 校验12。 2.3.3 ah 处理 ah 的工作方式有传输模式和隧道模式两种。 (1)传输模式使用原来的 ip 数据包头,把 ah 头插在 ip 数据头的后面,称 头定位。如图 2.10 所示。 图图 2.10 传输模式下的传输模式下的 ah 头头 如果一个数据包已经有一个或多个 ipsec 头,那么新的 ah 头将被插在它们 的前面。这种模式的主要优点是开销比较小,缺点是对可变字段的保护缺乏。 (2)隧道模式把需要保护的 ip 数据包封装在新的 ip 数据包中,作为新报文 的载荷。然后得到的新 ip 数据包 ah,如图 2.11 所示。 图图 2.11 隧道模式下的隧道模式下的 ah 在这种模式下, 外层数据包的头中的 ip 地址可以和内部数据包中的 ip 地址是 不一样的,里面的 ip 数据包中包含了通信的原始地址,而外面的新的 ip 数据包 则包含了 ipsec 端点的地址。隧道模式的主要优点是可以对被封装的数据包提供 完全的安全保护,同时使用私有地址成为可能,但这种模式也会带来比传输模式 更大的开销。 ip 头 tcp 载荷数据 ip 头 ah 头头 tcp 载荷数据 ip 头 tcp 载荷数据 新新 ip 头头 ah 头头 ip 头 tcp 载荷数据 中南民族大学硕士学位论文 15 2.4 封装安全载荷协议 2.4.1 esp 协议的目标 esp 协议为 ip 数据包提供数据完整性校验、身份认证和加密,这是 ah 协 议所没有的。在选择得到的安全服务建立 sa 时,必须同时支持完整性校验和身 份认证,加密的同时要同时配合有完整性和身份认证的使用。 esp 协议可选提供身份认证。 esp 协议所提供的认证范围比 ah 协议所提供 的数据包认证的范围小。ah 协议对整个数据包进行认证,而 esp 协议对新生成 的 ip 数据包的新的头部不能进行认证。当上层协议需要认证时,可选择 esp 认 证,加密和认证是可选的,但至少要二者选其一。 2.4.2 esp 数据包格式 esp 在 ipv4 数据包使用的协议字段是 50。esp 数据包的格式如图 2.12 所 示。 图图 2.12 esp 头格式头格式 (1)安全参数索引,同 ah 中的安全参数索引字段相同,是一个任意的 3 比 特值,与外部的 ip 数据包头的目的地址一起用于标志 ip 数据包的安全联盟。 1255 的 spi 值预留给将来使用,spi 值为 0 表示预留给本地的情况实现使用。 当要建立一个新的 sa 连接时,此时值为 0,表示安全联盟还没有建立起来。 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 安全参数索引 序列号 初始化向量 载荷数据 填充 填充长度 下一个头 认证数据 基于 ndis 的 vpn 安全网关改进的设计与实现 16 (2)序列号,与 ah 的序列号字段相同,是一个 32 比特字段的计数器。 (3)初始化向量,包含在载荷数据字段,用于启动 esp 的加密过程。 (4)载荷数据,为一个可变长字段,包含下一个头字段所说明的数据。 (5)填充字段长度,表示所填充内容的大小,一般有效范围为 0 到 255。0 值表示不存在填充内容。 (6)填充,如果加密算法要是输入密码的整数倍,则要进行填充。 (7)下个头,同 ah 的下一个头字段相同,指示 esp 头后面一个载荷的类 型,在传输模式下就是上层保护协议的协议号。在隧道模式下,这个值为 4,因 为隧道模式下,对整个数据包进了封装。 (8)认证数据,具体由选择的认证算法决定13。 2.4.3 esp 处理 和 ah 协议一样,esp 也有两种使用模式:即传输模式和隧道模式。 (1)传输模式下不对 ip 头做认证。esp 头定位这样的处理如图 2.13 所示。 图图 2.13 传输模式下的传输模式下的 esp 头头 (2)隧道模式下的对数据包的封装,这种情况下是对整个数据包进行全部的 封装,这种情况下更加的安全。如图 2.14 所示。 ip 头 tcp 载荷数据 ip 头 esp 头头 tcp 载荷数据 esp 尾尾 esp 认证认证 加密部分 中南民族大学硕士学位论文 17 图图 2.14 隧道模式下的隧道模式下的 esp 头头 (3)当 ah 和 esp 协议结合起来,使用隧道模式时,因为 ah 有认证功能, 所以此时可以不使用 esp 的认证功能, 只使用 esp 的加密功能。 如图 2.15 所示。 图图 2.15 隧道模式下同时使用隧道模式下同时使用 ah 和和 esp 头头 2.5 密钥交换协议(ike) ah 和 esp 协议根据 sa 规定的信息为 ip 数据包提供安全服务, 可以手工建 立 sa,也可以自动建立 sa。当要自动建立时,就使用 ike 协议,它可以为 ah 和 esp 协议提供 sa 的自动协商、建立、维护和删除等服务。通过使用 ike 当 对有远程主机要访问安全网关时,可以通过协商而建立安全的连接14。 ike 协商主要有两个阶段:阶段一和阶段二。阶段性用于两台要通信的计算 机之间建立一个安全的、可信的通信通道,所建立的 sa 叫 ike sa,在这个阶 段中有二个模式,主模式和积极模式。阶段 2 用于建立真正的 ah 或 esp 的安 ip 头 tcp 载荷数据 原原 ip 头头 ah 头头 esp 头头 tcp 载荷数据 esp 尾尾 加密部分 ip 头 tcp 载荷数据 新新 ip 头头 esp 头头 ip 头 tcp 载荷数据 esp 尾尾 esp 认证认证 加密部分 基于 ndis 的 vpn 安全网关改进的设计与实现 18 全通信的 sa,通常叫 ah sa 或 esp sa。当然也可以是 ah 和 esp 二者结合使 用的,这个阶段只有一种工作模式,快速模式。 在第一阶段中,主要对一些参数进行协商,为第二阶段做准备,主要有加密 算法的选择,认证算法的选择。当在第一阶段使用主模式时,在通信的双方之间 在建立起六条消息来进行协商相关的参数和密法。当在第一阶段使用积极模式 时,一般情况下只要四条消息就可以协商完相关的参数,这是因为在积极模式下 发送方强制使用某些参数,因此这种模式下被称为野蛮模式。 在第二阶段中,利用第一阶段的通信协商,则可以进行通信,比如使用 ah 协议或者使用 esp 协议等,进行真正的数据加密、传输等操作。 如图 2.16,为 ike 在通信双方中的工作情况。 图图 2.16 ike 在通信中的使用在通信中的使用 在图 2.16 中,二个计算机用户在用户态的情况下,使用 ike 协议发送消息进 行 sa 协商,在协商成功之后,与计算机内核态下的 ipsec 驱动进行通信,进行 相关参数的设定,然后二台计算机之间进行安全可靠的通信。 2.6 认证及加密算法 在进行认证和数据加密时,可选用的算法有 md5、aes 等算法,基中最常 用的就是使用 md5 算法。对数据包的数据部分进行加密,因为这里的传输过程 比较简单,数据包也不是大量的,因此采用手动设定加密算法,不使用 ike 协 议。 这里对数据使用 md5 算法来进行加密,md5 可以对数据进行一定的压缩, ipsec 驱动 ipsec 驱动数据通道 ike ike 用户态 用户态 核 态 核 态 sa 协商 二阶段 中南民族大学硕士学位论文 19 也具有数字签名的一定特性,故此用此算法。 (1) 算法简介 md5 的全称是 message-digest algorithm 5(信息-摘要算法) ,在九十年代 初由 mit laboratory for computer science 和 rsa data security inc 的 ronald l. rivest 开发出来,经 md2、md3 和 md4 发展而来。它的作用是让大容量信息 在用数字签名软件签署私人密匙前被压缩成一种保密的格式15。md5 还广泛 用于加密和解密技术上。例如在 linux 等系统中用户的密码就是以 md5 经加 密后存储在文件系统中, 当用户登录的时候, 系统把用户输入的密码计算成 md5 值,然后再去和保存在文件系统中的 md5 值进行比较,进而确定输入的密码是 否正确,同时也节省存储空间。 (2)算法的原理 md5 以 512 位分组来处理输入的信息,且每一分组又被划分为 16 个 32 位 子分组,经过了一系列的处理后,算法的输出由四个 32 位分组组成,将这四个 32 位分组级联后将生成一个 128 位散列值。在 md5 算法中,首先需要对信息进 行填充,使其字节长度对 512 求与的结果等于 448。因此,信息的字节长度(bits leng

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论