




已阅读5页,还剩52页未读, 继续免费阅读
(信号与信息处理专业论文)动态VPN的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动态v p n 设计与实现 摘要 v p n 是一种在公共i n t e m e t 上提供专用组网连接的技术 由于互 通方便 费用低廉 v p n 已经成为i n t e r n e t 上广泛应用的业务之一 其中 i p s e cv p n 以其良好的开放性和安全性 已经成为应用最广的 v p n 组网方案 然而由于设计上的缺陷 i p s e cv p n 暴露出与一些 主流的网络协议无法兼容以及大规模组网中配置复杂 组网不灵活的 缺点 d v p n d y n a m i cv p n 是一个全新的v p n 组网方案 它对i p s e c 稍加改进 同时引入独有的动态地址管理协议和动态隧道机制 在保 持i p s e cv p n 良好安全性的基础上 实现了动态组网的功能 作者有 幸加入d v p n 的研发工作 参与了动态组网方案的设计 并主要负 责实现了动态隧道机制 本文首先阐述了v p n 的概念 介绍v p n 的一些重要技术 进而 分析了i p s e c 应用于v p n 的不足 然后从d v p n 动态性的需求入手 阐述了d v p n 动态组网的设计思想 较为全面地说明了作者的主要 工作 d v p n 的关键特性之一 动态隧道机制的实现原理 最后 作者对d v p n 机制需进一步改善之处提出了自己的观点 关键词 v p ni p s e c 动态性 d e s i g na n di m p l e m e n t a t i o no fd y n a m i c v p n a b s t r a c t v p n at e c h n o l o g yo fp r o v i d i n gp r i v a t en e t w o r kc o n n e c tv i ap u b l i c i n t e m e t h a sb e c o m ep o p u l a ri n t e m e ts e r v i c eb e c a u s eo fi t sc o n v e n i e n t i n t e r c o n n e c t i o na n dl o wc o s t i p s e cv p ni st h em o s tp o p u l a ro n eo fa 1 1 e x i s t i n g v p nn e t w o r k i n gs c h e m e sf o ri t s g o o do p e na n ds e c u r i t y h o w e v e r f o ri t sd e s i g nl i m i t m i o n i p s e cv p ne x p o s e si t ss h o r t a g eo f b a d c o m p a t a b i l i t yw i t h s o m el e a d i n gi n t e m e tp r o t o c o l s a n d c o m p l e x d c o n f i g u r a r i o n sa n di n f l e x i b l en e t w o r k i n g d v p ni sab r a n d n e wv p nn e t w o r k i n gs c h e m e d v p n w h i c h i n t r o d u c e dt h ep a r t i c u l a rd y n a m i ca d d r e s sm a n a g e m e n tp r o t o c o la n dt h e d y n a m i ct u n n e l i n gs c h e m et ot h el i t t l e i m p r o v e di p s e c a c h i e v e st h e f u n c t i o no fd y n a m i cn e t w o r k i n gw h i l em a i n t a i n i n gi p s e c sg o o ds e c u r i t y t h ea u t h o rw a se n g a g e di nd e s i g n i n gt h ed y n a m i cn e t w o r k i n gs y s t e m a n dt o o kt h ec h a r g eo fi m p l e m e n t i n gt h ed y n a m i ct u n n e l i n gs c h m e m e t h i sp a p e l f i r s tc o n s i d e r e dt h ec o n c e p to fv p n a n di n t r o d u c e d s o m ek e yt e c h n o l o g i e so fv p n a n dt h e na n a l y z e dt h ed e f i c i e n c yo fi p s e c i nv p n w h e r e a f i e r s t a r t e dw i t ht h ed y n a m i cr e q u i r e m e n t t h i sp a p e r i l l u s t r a t e dt h ed e s i g ni d e ao fd v p nn e t w o r ka n di n t r o d u c e ds o m e i m p o r t a n tt e c h n o l o g i e si nv p n a n dt h e ne x p l a i n e dt h ei m p l e m e n t i n g p r i n c i p l eo fd y n a m i ct u n n e l i n gs c h e m e w h i c hw a st h ea u t h o r sm a j o r w o r ka n dt h ek e yc h a r a c t e r i s t i c f i n a l l y t h ea u t h o re x p r e s s e dh i so p i n i o n s t oi m p r o v et h ee x i s t i n gd v p ns c h e m e k e yw o r d s v p n i p s e c d y n a m i c 独创性 或创新性 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果 尽我所知 除了文中特别加以标注和致谢中所罗列的内容以外 论文中不 包含其他人已经发表或撰写过的研究成果 也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料 与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意 申请学位论文与资料若有不实之处 本人承担一切相关责任 本人签名 孙秘 拦 日期 2 q q 2 q 3 q 2 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定 即 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学 学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘 允许学位论文被查阅和借 阅 学校可以公布学位论文的全部或部分内容 可以允许采用影印 缩印或其它 复制手段保存 汇编学位论文 保密的学位论文在解密后遵守此规定 保密论文注释 本学位论文属于保密在一年解密后适用本授权书 本人签名 导师签名 日期 2 q q 2 丝 q 2 日期 2 q q 2 q 3 q 2 1 1 v p l q 概述 第一章v p n 技术概述 1 1 1 v p n 定义 自从人类开始具有通信能力以来 就有对某些通话保密的需求 为此 从最 原始的耳语到现代的加密技术 人们发明了许多传输介质 技术以及方法 用以 对不希望的接收者隐藏通信内容 总结起来 保证对话私密性的方法大致有两类 一类是通过物理信道的分离 使得只有被指定的接收者才能够接收到信号 一类是加扰 就是通过一定的技术 对信号进行混淆 使得其他接收者即使能够监测到信号 也无法理解并获取其中 的信息 而当人们使用公共传输介质进行通信时 第二种方法就成了唯一的选择 从人类通信的历史来看 i n t e r n e t 无疑是一个新生的事物 然而它却对人类 的通信方式有着非常深远的影响 目前 i n t e m e t 已经迅速成为了商业活动的通 信介质 然而商业信息通常有机密性的要求 而i n t e r n e t 却是一个公共的传输介 质 于是 人们引入了v p n 的概念 集合多种网络技术来实现在公共i n t e r n e t 基础设施上提供专用通信服务的功能 v p n v i r t u a lp r i v a t en e t w o r k 虚拟专用网 从原理上可以看成两部分 一 是覆盖在普遍存在的i n t e m e t 网络之上的虚拟网络 v i r t u a ln e t w o r k 二是为了 秘密通信而独占使用的专用网络 p r i v a t en e t w o r k 虚拟 意味着没有物理上的网络基础设施用于专用网络 实际的物理网络 基础设施是被许多不同的逻辑网络共享的 而 专用 则是保证数据 有时甚至 是传输数据这个行为 的机密性 使得只有指定的接收者能够接收并理解 这种 专用性确保了通过使用公共基础设施进行的通信并没有牺牲数据以及数据传输 的安全性 因此 从保持专用网络这一点特性的角度出发 v p n 被定义为在共享的基础 设施中创建的逻辑网络 通过这个网络进行的通信是保密的 且能够保证通信信 道的质量 v p n 的目标是使用公共的i n t e r n e t 在全球安全可靠地进行专用通信 1 1 2 v p n 发展的因素 任何人都可能需要 也应该可以在公共传输介质上进行保密通信 因此v p n 对于不同类型的用户都是可用的 推动v p n 产生和发展的因素有很多 来自于 商业通信 诸如企业网和企业通信 的需求是最有力推动力之一 而商业通 信也是v p n 应用最广泛最成功的领域之一 因此 我们不妨从商业通信的角度 来对v p n 发展的原因作一个简单的分析和总结 广泛地来说 商业通信网络可以被划分为以下三种类型 如图1 1 所示 一内部网络 在内部网络的通信中 信息被限制于所选中的内部用户中 例如 一个公司可能定期地更新公司职员的通信方式 且需要通知给所 有的员工 而大部分情况下 这样的信息是必须保密的 一有选择的外部通信 有时 信息也有必要发送给一些特定的外部用户 例如 公司之间因为商业交往的需求需要互通一些内部信息 这样的通 信过程很多情况下也是需要保密的 一与公众以及其他外部用户之间的通信 有时候 信息需要公布给普通的 公众用户 有时 接收到信息的人越多越好 诸如 公司将自己的产品 信息公布出去 并通常希望知道的人越多越好 这类的信息通常不需要 保密 图1 1 商业通信的类型 从上面可以看出 商业活动有多种通信需求 然而信息的数字化以及为传输 数字化信息而建立的计算机网络 已经提供了一个统一的平台 虽然目前仍然有 一些传统的信息传播的形式 但是越来越多的商业通信已经或正在向数字网络融 合 与此同时 计算机互联的技术也同样在融合 计算机网络一度有过由不同公 司和机构研究开发的许多类型和格式 例如 m m 公司曾经为它的大型机和小 型机提供s n a s y s t e mn e t w o r k i n ga r c h i t e c t u r e 系统网络架构 系统 d i g i t a l 公司也曾经为从前非常流行的v a m 计算环境提供d e c e n t 联网方案 而n o v e l l 的n e t w a r e 曾在p c 环境中一度占有优势地位 然而 随着h i t e m e t 的发展 计 算机互联的技术发生了整合 绝大多数的计算机网络都已经转移到了基于m 的 i n t e m e t 上 为了满足通信基础设施的需要 许多公司投入大量资金建设企业的内部网络 i n t r a n e t i n t r a n e t 能为公司内部员工提供服务 但无法满足s o h o 一族以及出差 员工远程连接的需求 为此 企业建立起远程访问服务器 将i n t r a n e t 扩展到远 程访问的领域 另一方面 有时需要允许商业伙伴在一定限制下访问公司的 i n t r a n e t 这就需要再将h i t r a n e t 做一些扩展 显然 构建这样的一个网络 对私 有信息的保护是至关重要的 然而 若采用分离的专用互联的方式 即租用专用 的线路来搭建网络 花费巨大且难以及时更新 商业通信平台自身的整合 计算机联网技术的融合 企业网专线组网方式在 成本以及扩展性上的不足 促使商业通信平台往i n t e r a c t 上转移 然而 i n t e m e t 是开放的 而商业通信要求是私密的 i n t e m e t 本身是不提供安全性保障的 而 商业通信对安全的要求是比较高的 种种的矛盾 促使了基于i n t e m e t 的v p n 技术的产生与发展 将专用网络的搭建方式从租用专线搭建转换成采用基于i n t e m e t 的v p n 技术 构建 可以获得什么好处呢 更加广阔的覆盖范围 i n t e m e t 发展至今 其覆盖范围已经远比电信服务提供商提供的专用数据 网络基础设施广阔得多 而且 在专用数据网络中添加新的目的地就意味着 添加新的访问线路 意味着新的运维开销 i n t e m e t 则不会有这个问题 此 外 i n t e m e t 有着全球统一的标准 而电信服务提供商的专用网络之间几乎 没有互联协议 互通困难 低廉得多的组网开销 使用基于i n t e m e t 的v p n 的另一个明显的优势就是它低廉的费用 传统 专线组网代价较高 如果需要跨国或跨地区组网 其费用往往令许多企业难 以承受 采用h i t e m e t 上的v p n 组网方案能大大降低组网成本 简单地说 它不需要购买和维修一些特殊用途的基础设施 而且接入i n t e m e t 以及租借 i n t e r n c t 带宽的费用相比租用专线是极其低廉的 安全性保证 传统专网方式中 传输过程中的数据安全性依赖于通信服务提供商为保 证数据机密性所采取的物理安全措施 而数据本身并没有任何安全性的保 护 因此 如果数据在传输中被截取将很容易被破解 v p n 采用现代加密技 术 能保证数据传输过程中的数据安全性和完整性 同时还能通过身份验证 和访问控制机制来限制用户对网络资源的访问 便于开展电子商务 通过网络推销产品已经是现代社会中不可或缺的一种销售形式 越来越 多的商业活动也通过i n t e m e t 进行管理 i n t e r n e t 的开放性不仅使得企业之间 的交流更加便利 而且为广大消费者提供了廉价便捷的信息获取途径和支付 手段 这些是传统专线组网不可能实现的 1 1 3 v p n 体系结构介绍 对应于商业通信的对网络环境的需求 v p n 体系结构也可以分为三种常见的 情况 站点到站点的内部v p n s i t e t o s i t e i n t r a n e t v p n 远程访问v p n r e m o t e a c c e s sv p n 和外接v p n e x t r a n e tv p n 传统情况下 这三种方案是通过使 用三种不同类型的网络来实现的 实际应用中 这三种方案可能结合 s i t e t o s i t ei n t r a n e t v p n 端到端的内部v p n 圉l 2s i t e t o s i t ei n t r a n e tv p n 在这种v p n 体系中 同一机构内的多个网络站点可以相互l 临近 也可以 4 位于完全不同的物理位置 每个站点下都接有多个i p 子网 这些子网通过 该站点组成区域性的内部网络 而这些站点之间使用v p n 进行连接 从而 将形成一个连接所有网络节点的企业内部网络 这个结构适用于在同一个公 司的不同分支机构之间建立安全连接 图1 2 中给出了s i t e t o s i t e i n t r a n e t v p n 的一种典型组网结构 图中 站 点设备作为v l n 网关位于专用企业网络和共享的公共i n t e m e t 之间的边界 上 它对通信的数据加密后 再将数据通过h l t o r n o t 传送到其他v p n 网关 目的v p n 网关从i n t e m e t 上接收到加密的数据后 对它进行解密 然后送到 本网关后的企业网中 在这种方式下 不同站点之间的通信经加密后由 i n t e r n e t 传输 由于用于加密的密钥只有v p n 网关设备知道 所以没有第三 方能够获取或者破坏数据 v p n 网关之间的安全通信信道即是v p n 隧道 r e m o t e a c c e s sv p n 远程访问 n 随着今天的移动办公的流行以及远程通信需求的不断增长 支持企业员 工远程访问企业网络变得越来越重要 这就导致了远程访问v p n 方案的出 现 圉1 3r e m o t ea c c e s sv p n 远程访问v p n 也称为v p d n v i r t u a lp r i v a t ed i a ln e t w o r k 虚拟专用拨 号网 在这种体系中 v p n 用于完成某个独立的远程网络设备和企业内部 网之间的连接 这个远程网络设备可能是通过电话网拨号访问网络的 也可 能是通过d s l 等其他一些连接方式访问网络的 图1 3 提供了远程访问v p n 的一种常见的组网应用 图中 远程用户通 过拨号介入i s p i n t e r a c ts e r v i c ep r o v i d e r i n t e m e t 服务提供商 的本端p o p 并从i s p 处获取i n t e m e t 的连通性 然后 远程用户启用驻留于本端p c 上的 v p n 客户端程序来试图创建一条连接到企业网v p n 网关的v p n 隧道 e x t r a n e t v p n 外接v p n 企业的信息交换和事物管理往往不仅仅局限于企业内部本身 有时候也 需要与其他企业或者其他单位进行交互 例如 一个计算机生产商可能允许 他的销售商访问其产品管理系统 使销售商更加紧密地管理存货 该生产商 同时也可能希望能连接上他的元件供应商 使得元件可以即时定购甚至是自 动定购 或许该生产商还需要将他的一些商业事物和信息提供到i n t e r n e t 上 因此 允许外部网络访问i n t r a n e t 几乎是势在必行的 图1 4e x t r a n e tv i n 显然 这些来自外部的访问必须得到严格的控制 由此而引起的数据交 换也必须加以保护 此外 外部网络对于i n t r a n e t 的访问权限可能由于市场 条件的变化而变化 这就要求来自外部网络的访问必须能够被动态地 及时 地添加或禁用 为此 e x t r a n e t v p n 扩展了多个管理信任域 引入了更加复 杂的身份验证和访问控制功能 图1 4 是e x t r a n e tv p n 的一种简单表示 如同s i t e t o s i t ev p n 一样 此 处的v p n 网关也被用在i n t r a n e t 与i n t e m e t 交互的边缘 一个v p n 网关和位 于某个商业合作伙伴网络内的v p n 网关之间通过i n t e m e t 建立v p n 隧道 隧道连接使用专门的访问规则和过滤器 仅允许某些商业应用通信通过安全 隧道 当然 同一个v p n 网关能够与其他多个v p n 网关建立安全隧道 1 2 v p n 技术 v p n 并不是一种特殊的技术 它只是将已有的各种技术依据实际组网的需要 组合起来 实现在i n t e m e t 上进行数据传输的 虚拟专用性 和 安全性 图1 5 显示了v p n 中所综合使用的一些关键技术 隧道 t u n n e l i n g 技术 是v p n 的灵魂 它是v p n 得以实现 虚拟专用 的关键 身份验证 a u t h e n t i c a t i o n 技术完成对v p n 用户身份和设备的验证的过程 访问控制 a c c e s sc o n t r 0 1 技 术提供了一种确保只有经过验证的用户或站点才能访问v p n 内部资源的手段 密码学技术则为v p n 提供了数据的安全性 身份验证技术和访问控制技术相结 合 使得v p n 内部资源的传播和使用是可控的 隧道技术和密码学技术则是实 现v p n 虚拟性 和 安全性 的最基本技术 身份t 征 专甩 图l 5 v p n 关键技术 1 2 1 隧道技术 铂 广义上来说 隧道技术可以定义成一种封装技术 即 将某个数据报文 原 始的或是内部的数据报文 封装到另外的数据报文 封装的或是外部的数据报文 之中 使得内部的数据报文相对外部数据报文的处理者是不透明的 这种封装是 采用将一个或多个协议层进行复制的方法来完成的 从这个意义上来说 将一个 m 数据报用u d p 报文封装 我们也可以说u d p 对口使用了隧道技术 此时 妒协议称为承载协议 u d p 协议成为乘客协议 图i 6 中给出了隧道更为常见的一种应用 主机a 发出的报文要传送到主机 i 中间要经过从b 到h 的多个节点 如果在节点c 处将所获取到的报文放到一 个以节点c 为源地址 以节点g 为目的地址的新的口报文中 那么这个报文的 传输路径上的节点d e f 则仅知道这个报文是以g 为目的 而并不知道其最 终的目的地是i 此时 我们可以说报文经过隧道从c 到达了g 如图1 6 中粗 线条部分所示 虽然理论上隧道技术可以应用于任何一个网络层次中 不过最常见的还是应 用在数据链路层和网络层 在链路层隧道技术中 链路层的数据帧被放置在其它 协议的协议数据单元 p r o t o c o ld a t a u n i t p d u 的有效负载中 而在网络层隧 道技术中 网络层的数据报文也被放置在其他协议报文的有效负载中 常见的链 路层隧道协议有p p t p p o i m t o p o i n t t u n n e l i n g p r o t o c o l 点到点隧道协议 l 2 f l a y e r 2f o r w a r d i n g 第二层转发协议 和l 2 t p l a y e r 2t u n n e l i n gp r o t o c o l 第二层隧道协议 常见的网络层隧道协议则有i p s e c g r e 和m p l s 等 表1 1 挑选了几种隧道协议进行了横向的比较 图l 6 隧道的概念 表1 i 几种隧道协议的比较 谨 g r e 协议p p t p 姗谈l 2 t p 协议 i p s 协议 m p l s 协议 燧内於 客户栅慑务嚣方客户w 服务器方对等方式 工作模式对等方式 对等方式 式式 0 s l 层l 町c r 3 l a y c r z l a y e r 2l a y e r 3 1 a 搏 3 有一定的鉴剐和较弱的鉴别和加完整的内在的安全依藏与 s 协议地 安全机制较弱 仅源鉴别 加誊密机髑结台 舟管 豆式 隧道的配置与建 网臂 显式同蕾 显式l i k e 交互 睁式 立 隧道的管理与维 无 回显请村目复 h e ll o 报文等机制无 护 利用k 斜域支 支持 多路复用支持 支持支持 依麓m p l s 的相关 持 多协议支持 支持 支持 支持 不支持 嚣扩晨 特性 支持可支持 但目前来 分组牍序支持不支持 支持 用 反重演 沓 是 是 是 服务质量支持 不支持支持 扩展性同置 有持研究支持 1 2 2 密码学技术 密码学技术是一种对数据进行加扰的技术 一方面 v p n 应用多种加密算法 将数据从明文转换为密文 即完成加密功能 另一方面 v p n 还借助密码学技 术为所传输的消息制作一种叫做 摘要 的东西 用以完成数据验证的功能 1 2 2 1 共享密钥加密体系 共享密钥算法通常也被称为对称密钥算法 因为在对称加密算法中 加密和 解密使用相同的密钥值 如图1 7 所示 一擞遂毒 叫 一接壤释 叫 日圈日 图l 7 共享密钥加密体系 共享密钥加密算法中有两个用于完成加解密的相关的数学函数 函数e 用于 加密 而函数d 用于解密 两者关系如下 e k m c d k c m d 代e k m m 式中 k 是共享密钥 m 是消息 c 是密文 加密函数将密钥和消息作为输 入并输出产生密文 而解密函数将密钥和密文作为输入 返回明文消息 很明显 如果共享密钥泄露 那么对称密钥算法将没有任何意义 因此 对称加密算法需 要一种健壮的安全的密钥分配机制 1 2 2 2 公钥加密体系 公钥算法通常还被称为对称加密算法 与对称密钥算法不同 非对称密钥算 法中存在两个不同但是相互关联的密钥 当然 其加密算法也一样是由加密函数 e 和解密函数d 组成 两者关系如下 e q m 2 c d q c m d e q m m 其中p 和q 是密钥 而m 是消息 c 是密文 加密和解密的密钥是不同的 卜 一麓塔者 卜 一接收者 一 曰 保密件 日日 图1 8 采用公钥加密体系实现数据传输的机密性 图l 一8 显示了一个通常的非对称加密系统 两个密钥一个是公开的 称为公 钥 另一个是私有的 称为私钥 公钥和的私钥是一一对应的 发送者想要与接 收者采用公钥算法体系实现数据的加密传输 需先获取接收者的公钥 使用该公 钥对数据加密后将之发给接收者 而接收者收到密文后 使用自己的私钥将密文 解密 这样就实现了数据的加密传输 然而 由于公钥是公开的 接收者无法知 道数据出处 因此也就无法分辨数据的可信度 卜 一发送者 一 一接收者 叫 日 身份验让 同 i 一 闩 i 一 图1 9 采用公钥加密体系实现简单的身份验证 图1 9 给出了接收者采用公钥加密系统验证发送者的一种方法 此处 发送 者使用自己的私钥对数据进行加密 任何拥有对应公钥的人皆可以接收并解密 这样虽然不能实现数据的机密性 但是能揭示出消息的发送者 因此 只要私钥 没有泄露 验证发送者身份的功能就能得以实现 相比于对称加密系统来说 公钥加密体系的最大优点之一就是密钥管理相对 简单 在有n 个人需要实现相互通信的共享密钥系统中 每个人都必须有n 1 个密钥来与其他n 1 个人进行通信 因此理论上整个系统需要有n n 1 2 个密 钥 当n 很大时 密钥的分发和管理将是非常困难的 而采用公钥加密体系 整个系统中就只需要保存2 n 个密钥 而且也不需要考虑密钥的安全分发的问题 公钥加密体系的另一大优点是可以实现的发送者身份的不可否认性 由于私钥只 有持有者一人掌握 因此私钥的持有者将不能否认采用自己私钥加密发送的数 据 不过 公钥加密体系最大的缺点在于其算法的复杂性 因而导致实际应用时 速度太慢 实际应用中 对称密钥和非对称密钥算法通常是结合起来使用的 对称密钥 算法快速简单 因而用于实现数据加密 非对称密钥算法可靠安全 因而用于为 对称密钥算法协商分发密钥 1 2 2 3 数据完整性验证 上述的公钥加密体系和共享密钥加密体系结合 能够很好的完成数据的加密 功能 保证数据的机密性 然而 对于口报文而言 数据的安全性除了机密性 之外 还有一个很重要的方面 那就是数据的完整性 也就是要确保本端接收到 的信息与对端所发送的信息是一致的 人们通常采用单向散列函数来完成数据数 据完整性的检验 单向散列函数又称哈希函数 如图1 1 0 所示 它将任意长的输入序列x 转换 成另一串固定长度的数字序列y 这里y 通常被称为 摘要 所谓 散列 是 指这种转换是唯一的 即一串x 对应一串y 所谓 单向 是指将x 转成y 非 常容易 但想从y 倒推出x 则非常困难 y h a s h x 单向散确函数 匿盔h a s h匿盔 图1 1 0 单向散列函数 因此 当我们需要对某一串数字序列进行完整性保护时 只需对其进行单向 散列运算 将散列结果作为摘要信息随这串数据一起发送出去 接收者采用相同 的算法对所需检验的数据再进行一次散列运算 然后将本端的散列结果和对端传 来的摘要信息进行比较 若两者不一样 则说明数据被修改 这样就能完成数据 的完整性检验 2 1 i p s e c 分析 第二章d v p n 系统架构 前文中已经列出了多种可用于v p n 中的隧道技术 这里我们将对其中的 i p s e c 进行较为深入的分析 之所以选择i p s e c 主要原因在于 i p s e e 是网络层的协议 网络层是能够提供端到端网络连接能力的最低的一层 它屏蔽了底层网 络的异构性 又与上层的特定应用无关 而且 i p s e e 是业界公认的安全传 输标准 具有很好的互通性 因此 i p s e e 具有提供全网连接的v p n 方案的 技术能力 i p s e c 具有良好的安全性 i p s e c 是设计来为m v 4 以及下一代i p 协议i p v 6 提供具有通用标准的 基 于密码学技术的强壮的安全性 作为一种安全性解决方案的框架 i p s e e 不 依赖于具体的加密算法 定义了一系列的安全业务 包括访问控制 数据完 整性 数据源验证 抗重播保护以及数据机密性保护 在多种v p n 隧道技 术中 i p s e c 是唯一具有安全性保障的 其他多种v p n 隧道技术在实际应用 中 出于安全考虑 通常也会与i p s e c 结合使用 d v p n 旨在提供能够提供全网连接的具有动态性和良好安全性的综合v p n 解决方案 因此 与i p s e e 的结合是十分必要的 而在这里探讨i p s e e 安全性的 实现机制 对于说明d v p n 的实现也是十分必要的 2 1 1 i p s e c 框架 i p s e c 并不是一个具体的协议 而是一个口层数据传输安全保护的实施框架 是一组开放标准集 i p s e e 各协议之间协同工作 确保通信对等实体之间的数据 传输的机密性和完整性 这对对等实体可能是一对主机或是一对安全网关 路由 器 防火墙 v p n 集中器等等 也可能在一个主机和一个安全网关 比如远程 访问v p n 这种情况 i p s e e 能够保护对等实体之间的多条数据流 即便是一个单 一网关也能够支持多对合作伙伴之间多条并发的i p s e e 隧道连接 i p s e e 工作在口层 能为 层及上层应用的数据传输提供安全服务 使用 i p s e c 时 系统能按自己的需要选择所需的安全协议 验证算法 加密算法 并 能根据自己的需要将密钥保存到相应的位置 作为一个开放性的协议框架 i p s e c 规定了一系列标准的外部接口以及协商机制 同时给出了一些参考的实现方案 但是应用中 用户能根据自己的需要定制所需的业务 灵活方便 这些目标是通过使用两大传输安全协议 验证报文头 a u t h e n t i c a t i o n h e a d e r a h 和封装安全负载 e n c a p s u l a t i n gs c c u r i t yp a y l o a d e s p 以及 密钥管理程序和协议i k e i n t e m e tk e y e x c h a n g ep r o t o c o l 互联网密钥交换协议 的使用来完成的 所需的i p s e c 协议内容及其使用的方式是由用户 应用程序 站点 组织对安全和系统的需求来决定 w s e c 整个协议结构中包括众多协议和算法 图2 1 显示了框架中各部分之 问的关系 i p s e c 体系 它包含了i p s c c 的基本概念 定义了i p s c c 的功能应用和标 准的处理流程 并给出了参考的实现机制 一a h 协议和e s p 协议 它们是i p s e c 用于保护传输数据安全的两个主要 协议 a h 和e s p 都能用于访问控制 数据源认证 无连接完整性保护 和防重放攻击 同时e s p 还可以用于机密性保护和有限的数据流加密保 护 解释域d o i 为了l p s e c 通信两端能相互交互 通信双方应该理解a h 协议和e s p 协议载荷中各字段的取值 因此通信双方必须保持对通信消 息相同的解释规则 d o i d o m m no f i n t e r p r e t a t i o n 解释域 中规定了通 信双方需要遵循的一些标准的规则 i p s e c 至少已经给出了两个解释域 i p s e cd o i 和i s a k m pd o i 它们各有不同的使用范围 i p s e cd o i 定义 了i p s e c 对等体之间用来确定安全服务的信息通信双方必须支持的安全 策略 规定所采用的句法 命名相关安全服务信息时的方案 包括机密 算法 密钥交换算法 安全策略特性和认证中心等 i s a k m pd o i 则定 义了对等体之间使用i k e 进行密钥协商时所需的一些公共信息 加密算法和认证算法 e s p 这两种算法都涉及到 a h 则只涉及到认证算 法 加密算法和认证算法在协商过程中 通过使用共同的d o i 具有相 同的解释规则 e s p 和a h 所使用的各种加密算法和认证算法由一系列 r f c 文档规定 而且随着密码技术的发展 不断有新的加密和认证算法 可以用于i p s c c 因此 有关i p s e c 中的机密和认证算法的文档也在不断 增加和发展 一密钥管理 i p s e c 密钥管理主要是由i k e 协议完成 准确地讲 i k e 用于 动态生成i p s e c 安全联盟并为其所需要的密钥材料 i k e 综合了 i s a k m p o a k l c y 和s k e m e 三个协议 它沿用了i s a k m p 的基础 o a l d e y 的模式以及s k e m e 的共享和密钥更新技术 更要强调的是 虽 然i s a k m p 称为i n t e m e t 安全关联和密钥管理协议 但它定义的是一个 管理框架 i s a k m p 定义了双方如何沟通 如何构建彼此 白j 的沟通信息 还定义了保障通信安全所需要的状态交换 1 s a k m p 提供了对对方进行 身份认证的方法 密钥交换时交换信息的方法 以及有定义建立安全关 联所需的属性 图2 1i p s e c 协议族体系框架 i p s e e 安全策略 i p s e c 根据系统的需要提供相应安全保护 安全策略记 录了系统i p s e c 的需求 用户根据自己的需要对系统进行一定的设置 然 后由系统根据这些设置生成对应的安全策略 为i p s e c 和i k e 的工作提 供所需的初始环境和资料 并控制i p s e c i k e 的处理规则 了解了i p s e c 系统的基本框架之后 我们就来看看i p s e e 是通过什么方式提 供系统所需的安全服务的 2 1 2 i p s e e 封装协议 前已述及 i p s e c 为数据传输所提供的机密性和完整性等安全服务是通过a h 和e s p 协议来实现的 系统根据用户的需要 选择相应的加密算法和验证算法 对数据进行处理后 采用相应的协议 a h 或e s p 对数据进行封装 然后发送 出去 2 1 2 1 a h 协议 a h 协议的主要功能是为口报文提供数据完整性验证保护 正如 验证 a u t h e n t i c a t i o n 一词所表明的那样 a h 协议证实在m 报文中传送的数据是 可信的 这些数据到达目的地时没有经过任何修改 a h 也为i p 报文提供可选的 抗重传保护服务 但是它没有加密机制 不能通过加密数据来保持数据的机密性 a h 所能提供的安全服务可以从其协议报文头结构中得知 从图2 2 中不难 发现 a h 协议报文首部中有5 个有意义的字段 后续报文头 8 位 有杖负蓉长度 饨 l 保留 1 6 位 安全孝箍蠢引 s n 豫位 f 列号 3 2 使 验证彝据f 可变 图2 2 a h 验证招文首部格式 后续报文头 n e x th e a d e r 该字段长8 b i t s 它标识紧接着a h 后的协 议报文的类型 也就是a h 所保护的报文的类型 这样接收端在a h 验 证结束后就能根据该字段的值将报文送交相应的模块进行处理 有效负载长度 p a y l o a dl e n g t h 该字段长8 b i t s 它记录的其实是报文 头的长度 而不是如其名所指的真正的报文负载的长度 应用于l p v 6 中 时 该字段的值就是整个a i i 验证报文头的长度 而应用于i p v 4 中时 验证报文头的长度就是该字段的值减2 这是因为验证报文头最初是作为 i p v 6 的扩展报文头来设计的 在i p v 6 中 报文头长度的计算方法是用6 4 位子减 因为有效负载长度在3 2 位字中进行计算 为了与l p v 6 保持一 致 所以值被减了2 安全参数索引 s e c u r i t yp a r a m e t e ri n d e x 该字段长3 2 b i t s 接收端根 据该字段值来查找s a 并根据s a 进行相应的i p s c c 处理 s a 的概念将 在2 1 3 中详细介绍 序列号 s e q u e n c en u m b e r 该字段长3 2 b i t s 它是一个单调递增的数 字 当建立s a 时 此值从0 开始 每使用该s a 处理一次报文 此值就 加l 每个i p s e c 报文的序列号都是不一样的 因此该字段通常用于抗重 放保护 验证数据 a u t h e n t i c a t i o nd a t a 该字段长度与具体的验证算法有关 它包含了这个 报文的完整性校验值 i n t e g r i t yc h e c kv a l u e i c v i c v 由建立s a 时所选择的算法计算出来 发送者将i c v 和报文中所需验证 的所有字段放在一起 采用前文所描述的单向散列算法生成一组一定长 度的 摘要 将之记录在本字段中 接收端也一样 将所需验证的数据 和i c v 一起 采用相同的单向散列算法计算出一个摘要值 然后比较两 个摘要值 如果相同 则说明数据没有被改过 这样就实现了数据验证 的功能 a h 所验证的内容不仅包括i p 报文中的有效负载 还尽可能包括i p 首部中 的部分字段 不过 由于在传输过程中 i p 首部中的有些字段必然会改变 因 此a h 验证不能包括这些字段 它们分别是 t o s 字段 片内偏移字段 分段标 记字段 t t l 字段和报文头校验和字段 2 1 2 2 e s p 协议 e s p 协议不仅能提供数据验证和抗重播功能 还能提供数据加密的功能 验 证和加密都是可选的 但是必须至少使用它们中的某一个 否则的话e s p 协议 就没有存在的价值 通常 需要对数据进行加密的时候也会需要对数据进行完整 性保护 因为如果数据在传输途中被篡改了 虽然原报文的内容没有泄露 但接 收端接收不到原来的消息 这样的加密是没有意义的 与a h 一样 为了提供这些服务 需要在口报文中插入附加字段 许多字段 与a h 中的相应字段有相同的意义 然而 与a h 中的字段不一样的是 这些字 段分布在整个e s p 报文中 一些在e s p 报文头部 一些在e s p 报文尾部 甚至 有一个e s p 验证段 如图2 3 所示 图2 3e s p 报文封装格式 e s p 报文头跟随在口报文头之后 e s p 报文尾紧跟在原始m 报文的尾部 e s p 验证段则紧跟在e s p 报文尾之后 如果没有验证 就不需要添加的e s p 验 证段 如果应用了加密 加密的对象包括从e s p 报文头部到e s p 报文尾部的所 有内容 e s p 报文头 报文尾以及验证段内的字段与a h 报文头中相应的字段相似 事实上 s p i 序列号 后续报文头以及验证数据字段正如它们在a h 协议中一 样定义 所不同的是 e s p 报文中增加了一个变长的填充 p a d d i n g 字段 另 增加了一个填充长度字段来指示填充部分的具体长度 填充字段一方面能将报文的长度调整至适合所用加密算法进行加密 又能满 足口报文的对齐要求所需的字节数 另一方面又能隐藏原始有效负载的真实大 小 降低报文被识别的可能性 至此 a h 协议和e s p 协议的介绍基本结束 有一个比较明显的问题是 既 然e s p 协议既能提供验证和抗重放功能 又能完成加密功能 那么a h 协议是 否还有存在的必要性呢 答案是肯定的 因为有些情况下 对数据的加密是不允 许的 但不会禁止对数据做完整性检查 在只提供数据完整性保护时 a h 协议 有e s p 协议所不具有的优点 首先 a h 的报文格式相比e s p 更为简单 占用 字节数更少 传输效率更高 其次 a h 验证的范围比e s p 更广 验证的安全性 更高 因此 a h 和e s p 都有各自适用的环境 另一个问题在于 a h 和e s p 应用中并没有指定具体的加密算法和验证算法 那通信双方是如何做到使用同一种算法呢 采用单向散列函数生成摘要时需要 用到i c v 即一个随机数 双方的i c v 从何获取并保证相同的昵 答案就在于 s a 的存在 s a s e c u r i t ya s s o c i a t i o n 安全联盟 是i p s e c 的核心概念 它定义了各种 安全服务 指明了这些服务应该用于哪条数据流 数据报来自哪里 去往哪里 应采用何种协议和传输方式 2 1 3 i p s e c 安全联盟 s a 是构成i p s e c 的基础 是i p s e c 实施安全保护的依据 a h 和e s p 的实现 都必须支持安全联盟的概念 i k e 的主要功能也是支持安全联盟的动态建立和维 护 s a 是两个通信实体经协商建立起来的一种协定 安全联盟负责确定双方所 使用的i p s e c 协议 密钥以及密钥的有效存在时间等安全参数信息 s a 是一个单向的 连接 其设计非常简化 s a 提供了进行安全通信的发 送方和接收方之间的单向关系 如果需要建立对等关系 则需要提供两个s a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江公务员真题试卷2025
- 汉中市消防救援支队消防员及消防文员招聘笔试真题2024
- 农发行金华市婺城区2025秋招笔试性格测试题专练及答案
- 2025年新能源汽车智能化车载环境控制系统报告
- 2025年太阳能硅片硅碇行业市场分析:技术创新推动行业发展报告
- 农发行盘锦市大洼区2025秋招笔试创新题型专练及答案
- 农发行宜昌市远安县2025秋招笔试创新题型专练及答案
- 2025年新能源企业国际化经营风险防范与技术创新应对报告
- 农发行酒泉市玉门市2025秋招笔试专业知识题专练及答案
- 2025年工业互联网平台数字签名技术规范与工业互联网安全态势感知技术研究进展报告
- 劳动保障监察投诉书格式及写作范文
- 储能电站项目进度控制与质量管理方案
- 2025年水发集团有限公司招聘(216人)考试模拟试题及答案解析
- 木粉尘防爆安全培训课件
- 地质雷达课件
- 2025年秋二年级上册数学人教版教学计划含教学进度表
- 餐饮四个人合伙合同协议
- AI驱动的化妆品成分毒性预测模型-洞察及研究
- 中小学生禁毒教育课程教学方案及大纲
- 影像科培训课件
- 2025-2030中国氨基酸市场行情监测与发展前景预测报告
评论
0/150
提交评论