(计算机应用技术专业论文)ip安全技术研究与实现.pdf_第1页
(计算机应用技术专业论文)ip安全技术研究与实现.pdf_第2页
(计算机应用技术专业论文)ip安全技术研究与实现.pdf_第3页
(计算机应用技术专业论文)ip安全技术研究与实现.pdf_第4页
(计算机应用技术专业论文)ip安全技术研究与实现.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

摘要 i p s e c 是新一代i n t e r n e t 的安全标准框架,它为i n t e r n e t 上i p 报文的传输提供 安全性保护。本文介绍了i p s e c 协议簇、i p s e c 体系结构组成、i p s e c 相关基本概 念、i k e 及其结构组成等;完成了i p s e c 的具体框架和各个子模块的实现;详细 说明了i p s e c 模块与i p 模块的关系以及i p s e c 进入外出流程的实过程现;并对 i p s e c 模块实现过程的重点和难点问题做了重点阐述。论文着重i k e 的实现,并 在此基础上,根据网络实际应用中遇到的i k e i p s e c 隧道不匹配的情况进行了进 一步研究,并提出了一套基于r f c 的改进方案:首先,通过删除消息的确认机制, 在一定程度上保证了删除消息的可靠传输,减少隧道不一致情况的出现;进而, 针对前述方案中存在的基于确认机制不能完全解决隧道不一致的问题,提出了对 d p d 隧道探测技术的改进,即在原有r f c 实现上加以改进,实现对i p s e c 隧道的 探测;最后,根据具体网络实施等不同提出了d p d 探钡4 时机选择的几点意见和想 法。 本文提出的整套改进方案涵盖了预防、以及出现极端网络故障导致隧道不一 致的问题的解决方案,综合了以上设计的i p s e c 安全机制把删除消息确认机制和 改进了的d p d 探测机制结合起来,从而彻底解决了i p s e c i k e 隧道一致性问题。 另外经改进的系统还可以通过灵活选择探测时机,兼顾可靠性、网络负载和系统 资源付出的均衡。 关键词:i p 安全安全联盟i s a k m pi n t e r n e t 密钥交换对等体探测 a b s t r a c t 1 ps e c u r i t yp r o t o c o li san e w l ys u i t eo fs e c u r i t yp r o t o c o l sf o ri n t e m e t i tp r o v i d e s as e to fs e c u r i t ys e r v i c e sf o rt r a f f i ca tt h ei pl a y e r , i nb o t ht h ei p v 4a n di p v 6 e n v i r o n m e n t s i p s e cp r o t o c o l sc a l lb ed i v i d e di n t os e v e ng r o u p s ,i nt h i sp a p e rw e i n t r o d u c eam a i na r c h i t e c t u r eb r o a d l yc o v e r i n gt h eg e n e r a lc o n c e p t s ,s e c u r i t y r e q u i r e m e n t s ,d e f i n i t i o n s ,a n dm e c h a n i s m sd e f i n i n gi p s e ct e c h n o l o g y ,i p s e cu s e st w o p r o t o c o l st op r o v i d et r a f f i cs e c u r i t ys e r v i c e s a u t h e n t i c a t i o nh e a d e r ( a h ) a n d e n c a p s u l a t i n gs e c u r i t yp a y l o a d ( e s p ) b e c a u s em o s to ft h es e c u r i t ys e r v i c e sp r o v i d e d b yi p s e cr e q u i r et h eu s eo fc r y p t o g r a p h i ck e y s ,i p s e cr e l i e so nas e p a r a t e s e to f m e c h a n i s m sf o rp u t t i n gt h e s ek e y si np l a c ei tr e q u i r e ss u p p o r tf o rb o t hm a n u a la n d a u t o m a t e dd i s t r i b u t i o no fk e y s as p e c i f i cp u b l i c k e yb a s e da p p r o a c h i k ei s s p e c i f i e df o ra u t o m a t e dk e ym a n a g e m e n t b yu s eo fn e t f i l t e rm e c h a n i s m ,w eh a v e a d d e dt h ei p s e cp r o c e s s i n gm o d u l ei n t ot h eo l di pp r o t o c o ls t a c k ,t h e ne f f e c t i v e l y r e a l i z e dt h ei p s e cp r o t o c 0 1 w ed or e s e a r c hf o rt h eu s ea n dr e a l i z a t i o no fd p d ( d e a d p e e rd e t e c t i o n ) i no r d e rt oe n s u r ed e l e t em e s s a g e s a r r i v a lt oac e r t a i n t y , w ep u t f o r w a r dam e t h o do fa s s u r i n ga n dr e s e n d i n gd e l e t em e s s a g ea n dg i v ei t sr e a l i z a t i o n s i n c et h ep r o b l e mo fd e t e c t i n gt h en o n - s y n c h r o n i z a t i o no fi p s e cs ab e t w e e nt h e s e c u r i t yg a t e w a y si sy e tn o ts o l v e db yd p dn o w , w ep u tf o r w a r dam e t h o dt or e s o l v e t h i sp r o b l e m ,t h em e t h o di st oe x c h a n g es p i so f1 p s e cs a sb e t w e e nt h es e c u r i t y g a t e w a y sb ys e tt h e s ed a t ao v e rd p dp a c k e ta n dt h e nu s et h e s ed a t at os y n c h r o n i z et h e i p s e cs a so ft h es e c u r i t yg a t e w a y s ,a tl a s t ,a c c o r d i n gt on e t w o r k si np r a c t i c e ,w e d i s c u s st h ea l t e r n a t i o no f d e a dp e e rd e t e c t i n g k e yw o r d s :i p s e c s ai s a k m pi k ed p d 6 9 5 5 0 2 独创性( 或创新性) 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果:也不包含为获得西安电予科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:r 期兰旦! ! ! :兰 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期问论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密在年解密后适用本授权书。 本人签名:至查墼 导师签名 卿:塑! 篁! ! : 7 第一章绪论 第一章绪论 1 1 背景 随着以i n t e r n e t 为代表的全球性信息化浪潮的兴起,网络技术的应用正越来越 普及,应用的层次也同益深入。伴随网络的普及,安全问题也提上了议事日程。 i n t e r n e t 所具有的开放性、国际性和自由性在增加应用自由度的同时对其安全性 也提出了更高的要求。开放性的网络,导致网络所面临的破坏和攻击可能是多方 面的:可能是来自物理传输线路的攻击;也可能是来自对网络通信协议的攻击; 可能是来自本地网络的用户;也可能是柬自i n t e m e t 上的任何一个机器,也就是说, 网络安全所面i 临的是一个国际化的挑战。 网络环境下的信息安全既重要又困难。重要是因为在当今社会,信息是有价 值的,它可以直接或间接地产生效益;困难则是因为网络的普遍性越来越强,支 持很多不同的用户、服务和网络,从地理上扩展到很多政治、组织边界。它们是 动念的,不停地变化的。而且由于t c p i p 协议在产生之初考虑的重点是它的丌放 性,安全性考虑的很少,所以也存在一些安全漏洞。 1 1 1 网络安全存在威胁 目前网络安全存在的威胁主要表现在: 非授权访问:没有预先经过同意,使用网络或计算机资源被视为非授权访 问,如有意避开系统访问控制机制,对网络设备及资源进行非正常使用,或擅自 扩大权限,越权访问信息等。它主要有以下几种形式:假冒身份攻击、非法用户 进入网络系统进行违法操作、合法用户以未授权方式进行操作等。 信息泄漏或丢失:指敏感数据在有意或无意中被泄漏出去或丢失,通常包 括,信息在传输中丢失或泄漏( 如“黑客”们利用电磁泄漏或搭线窃听等方式可 截获机密信息,或通过对信息流向、流量、通信频度和长度等参数的分析,推出 有用信息,如用户口令、账号等重要信息) ,信息在存储介质中丢失或泄漏,通过 建立隐蔽隧道等窃取敏感信息等。 破坏数据完整性:以非法手段获得对数据的使用权,删除、修改、插入或 重传某些重要信息,以取得有益于攻击者的效果。 拒绝服务攻击:不断对网络服务系统进行干扰,改变其正常的作业流程, 执行无关程序使系统响应减慢甚至瘫痪,影响正常用户的使用,甚至使合法用户 i p 安全技术研究与实现 被排斥而不能进入计算机网络系统或不能得到相应的服务。 利用网络传播病毒:通过网络传播计算机病毒,其破坏性大大高于单机系 统,而且用户很难防范。 1 1 2 网络安全的解决方案 具体来讲一个安全的网络包含的基本要素有: 机密性:确保信息不暴露给未授权的实体或进程,只有特定的接收者知道 传送的是什么数据; 完整性:只有得到授权的人爿+ 能修改数据,并且能够判别出数据是否已被 篡改; 可用性:得到授权的实体在需要时可访问数据,即攻击者不能占用所有的 资源而阻碍授权者的工作; 可控性:可以控制授权范围内的信息流向及行为方式; 可鉴别性:能够确认接收到的数据就是所发送的数据并且从数据包中得知 的发送者就是实际的发送者; 不可否认性:即使发送方事后否认发送过某些数据,数据接收方也能证明 这些数据是该发送方发送的。 总体看,可以认为i n t e r n e t 安全问题和相应的解决机制分为三个广义的集合。 第一个集合集中于授权、鉴别和完整性,解决措施有公用密钥加密等;第二个集 中于机密性问题,解决措施有对称加密等;第三个是访问控制,解决措施有防火 墙等技术。 随着i n t e r n e t 的不断普及,各种应用对网络安全提出了不同的要求,因此人们 设计了不同的安全机制。目前常见的有信息包过滤器、s o c k s 协议服务器、链路 级网关、传输代理、各种应用防火墙等。这些防火墙和代理服务器在不同的网络 协议层上实现,使用环境和范围大小也各有不同。同时,也出现了一些与应用相 关的安全机制:如安全电子邮件( s m i m e ,p g p ) ,客户n 务器( k e r b e r o s ) ,w e b 访问 ( 安全套接字) 等。 事实上,可以在i n t e m e t 上的任何层次实现安全机制,各层机制有不同的特点。 但用户有一些安全要求跨越了协议层,例如,一个大型的企业可能有很多地理上 相隔很远的分支机构,如果建设自己的专用网络进行相互通信,那么代价是相当 高的。一种较好的选择就是使用i n t e m e t 来进行数据传输,但相应带来的就是安全 问题,而有的应用程序有安全机制,有的则没有。在通信协议的分层模型中,网 络层是可能实现端到端安全通信的最底层。通过在i p 层上实现安全性,一个组织 不仅可以为具有安全机制的应用提供安全的联网,也可以为那些没有考虑安全性 第一章绪论 的应用提供安全的联网。1 p s e c 协议定义的就是i p 层的安全机制,i p s e c 协议通过 加密、认证i p 层的通信量来支持这些不同应用。目前利用i p s e c 束实现v p n ( 虚 拟专用网) 已经成为一种趋势。 1 2i p s e c 协议 在i p 协议的结构中,i p v 4 的包本身没有提供任何安全保护,黑客可以通过信 息包探测、i p 地址欺骗、连接截获、重放攻击等方法来攻击。因此,收到的数据 包存在着很多危险,如并非来自合法的发送者,数据在传输过程中被人修改,数 据内容已被人窃取等等。 针对i n t e r n e t 的安全需求,因特网工程任务组( i e t f1 于1 9 9 8 年1 l 颁布了i p 层安全标准i p s e c ( i ps e c u r i t y ) 。其目标是为1 p v 4 和i p v 6 提供具有较强的互操作 能力、高质量和基于加密的安全。i p s e c 对于1 p v 4 是可选的,对于i p v 6 是强制性 的。目前,国内外一些公司己经实现了i p s e c ,有的已做成产品,如微软在w i n d o w s n t5 0 已采用i p s e c ,i n t e l 己使用i p s e c 构建可信虚拟暖j ( t m s t e dv i r t u a ln e t w o r k ) , c i s c o 将i p s e c 做到了路由器上,美国国家标准技术研究所m i s t ) 也为i p s e c 实现 提供了互操作性测试平台。虽然i p s e c 中的一些组件,如安全策略等,仍在研究之 中,但可以预料,在不久的将来i p s e c 必将成为信息安全的产业标准。 1 p s e c 协议的目的就是为了实现数据传输的完整性和机密性以及提供一定程 度的对重放攻击的保护。i p s e c 协议的有如下几个特点: 当在防火墙或路由器中实现i p s e c 时,i p s e c 提供了强大的安全性,能够应 用到所有穿越边界的数据通信量上。而在一个公司或工作组内部的通信量不会引 起与安全有关的处理的负荷。 i p s e c 在传输层( t c p , u d p ) 以下,因此对于应用程序是透明的。没有必要 改变用户或服务器系统中的软件。也没有必要对用户进行安全培训,给每个用户 下发密钥并且在用户离丌组织时取消其密钥。 如果需要,i p s e c 可以为单个用户提供安全性。这对于不在本地的工作者 以及在一个组织内部为敏感应用建立安全的虚拟子网是非常有用的。 独立于鉴别和加密算法,在一个基本框架上可使用不同的鉴别和加密模块 以满足不同的安全需要,如果某个算法被破解或者被更好的算法代替,可以及时 替换该算法而不影响其他模块的实现:在实现了i p 安全机制的系统中,协议规定 了必须实现的几种算法,因此可以保证全球范围内的互操作性。 由于i p 协议规定:在i p 的实现中,对i p 报头中不能处理的选项可以不加 以处理,而不是作为异常处理,所以实现了某种i p 协议安全机制的i p 包可以通过 未实现这种安全机制的路由器。 i p 安全技术研究与实现 1 3 本文主要工作 本文对基于i p 的安全机制进行了研究,主要工作如下: 对基于i p 的安全机制i p s e c 协议的原理做了深入地探讨: 使用标准c 语言,在v x w o r k s 操作系统上实现了i p s e c 协议的基础支 撑协议i n t e m e l 密钥交换协议,使之作为安全网关的守护进程运行,用于动态 协商和管理对数据包加密和认证所需的密钥。 使用标准c 语言在操作系统的网络模块嵌入i p s e c 处理程序,保证安全 网关能够对接收、转发和本地发送的i p s e c 数据报进行适当的处理。 对i k e 隧道同步技术的探讨和改进:实现d p d 对i p s e c 隧道的探测: 根据网络流量和安全需求的综合考虑,提出对等体探测时机选择的问题, 并给出了设计思想和实现方案; 针对无连接方式s a 删除消息发送机制如果丢失删除消息将导致安全网关 两端i p s e c 隧道不一致的情况,提出并实现了一种改进机制删除消息确认机 制。 综上,本文不仅做了i p s e c 的系统实现,而且在实现的基础上提出了一套改进 方案,这套方案涵盖了预防以及出现极端网络故障导致隧道问题时的解决方案。 综合了以上设计的i p s e c 安全机制把删除消息确认机制和改进了的d p d 探测机制 结合起来,从而彻底解决了i p s e c i k e 隧道一致性问题。另外经过改进的系统还可 以灵活选择探测时机,兼顾了可靠性、网络负载和系统资源付出的均衡。 第二章i p s e c 协议簇 第二章i p s e c 协议簇 i p s e c ( i n t e r n e t 协议安全) 是一个工业标准网络安全协议,它不是一个单独的协 议,它给出了应用于i p 层上网络数据安全的一整套体系结构,包括认证头协议 ( a h ) 、封装安全载荷协议( e s p ) 、密钥管理协议( i k e ) 和用于网络认证和加密 的一些算法等。本章将主要介绍i p s e c 协议体系结构组成以及一些相关基本概念。 2 1 i p s e c 协议概述 2 1 1i p s e c 协议的安全服务 i p s e c 协议提供的安全服务有: 访问控制; 无连接的完整性: 数据源的鉴别: 抗重放攻击; 机密性; 有限的通信量机密性。 在i p 层上提供安全服务,具有较好的安全一致性和共享性。网络层安全协议 保护数据报文中封装的所有应用层数据,提供透明的安全保护,用户无需修改应 用层协议。i p 层的安全机制可为上层协议提供无缝安全保障,各种应用程序可以 享用其提供的安全服务和密钥管理,而不必设计自己的安全机制,因此可以减少 密钥协商的丌销,也降低了产生安全漏洞的可能性。i p s e c 保护的是i p 数据包本 身,可连续或递归应用,实现端到端安全或虚拟专用网络等。 2 1 2i p s e c 协议体系结构 i p s e c 安全体系结构出i e t f 的i p s e c 工作组制订,是一个开放性的标准框架。 i p s e c 的体系结构、组件及各组件间的相互关系,参见图2 1 。 安全体系结构:包含了一般的概念、定义、安全需求和定义i p s e c 的技术机 制: 封装安全载荷( e s p ) :包含使用e s p 进行数据包加密、认证相关的常规问题 和数据包格式; 6 i p 安全技术研究与实现 式 认证头( a h ) :包含使用a h 进行数据包身份验证相关的常规问题和数据包格 幽2 1i p s e c 体系结构 加密算法:描述各种加密算法如何用于e s p 中; 验证算法:描述各种身份验证算法如何用于a h 和e s p 身份验证选项中: 密钥管理:密钥管理的一组方案,包括手工和自动管理,其中i k e ( i n t e m e t 密钥交换协议、是默认的密钥自动交换协议: 解释域:彼此相关各部分的标识符及运作参数; 策略:决定两个实体之间能否通信,以及如何进行通信。策略的核心由三 部分组成:s a 、s a d b 、s p d 。s a ( 安全关联) 中规定了策略实施的具体细节,包括 源目的地址、应用协议、s p i ( 安全参数索引) 、所用算法密钥密钥长度;s a d 为 进入和外出包处理维持一个活动的s a n 表:s p d 决定了整个v p n 的安全需求。策 略部分是唯一尚未成为标准的组件。 这些机制被设计成算法独立的,这种模块性允许选择不同集合的算法而不影 响其它部分的实现,如果需要的话不同的用户团体可以选择不同集合的算法。为 了实现i n t e m e t 上的协同工作,i p s e c 协议定义了一个默认的标准算法集合。 2 1 3i p s e c 的作用方式 第二章i p s e c 协议簇 i p s e e 的作用方式有两种:传输模式和隧道模式。它们都可用于保护通信数据 ( 如图2 2 所示) 。i p s e c 协议和模式有4 种可能的组合:a h 传输模式、a h 隧道模式、 e s p 传输模式并i e s p 隧道模式。但在实际应中,般不采用a h 隧道模式因为该组 合所保护的数据与a h 传输模式相同。 原始i p 的包 传输模式 受保护的包 隧道模式 受保护的包 幽2 2 两种保护模式 传输模式用于两台主机之间,保护传输层协议头,实现端到端的安全。它所 保护的数据包的通信终点也是i p s e c 终点。当数掘包从传输层传递给网络层时,a h 和e s p 会进行“拦截”,在i p 头与上层协议头之间需插入一个i p s e c 头( a h 头或e s p 头) 。当同时应用a h 和e s p 传输模式时,应先应用e s p ,再应用a h ,这样数据完整性 可应用至o e s p 载荷。隧道模式用于主机与路由器或两台路由器之问,保护整个i p 数 据包。它将整个i p 数据包( 称为原i p 头) 进行封装,然后增加个l p 头( 称为新i p 头) ,并在新与原i p 头之间插入一个i p s e c 头。陔模式的通信终点由受保护的原i p 头指定,而i p s e c 终点则由新i p 头指定。如果i p s e c 终点为安全网关,则该网关会还 原出原i p 包,再转发到最终的目的地。i p s e c 支持嵌套隧道,即对已隧道化的数据 包再进行隧道化处理。 2 2 1 a h 的功能 2 2 验证头协议( a h ) 为i p 报文提供数据完整性校验和身份认证,还有可选择的抗重放攻击保护, 但不提供数据加密服务。对a h 的详细描述在r f c 2 4 0 2 f 5 中。注意,a h 不对受保 护的i p 数据报的任何部分进行加密。由于a h 不提供机密性保证,所以它也不需 要加密算法。a h 可用来保护一个上层协议( 传输模式) 或一个完整的i p 数据报( 隧 道模式) 。它可以单独使用,也可以和e s p 联合使用。 2 2 2a h 的使用模式 l p 安全技术研究与实现 如前所述,a h 可用于传输模式和通道模式。任何一种情况下,a h 都要对外部 i p 头的固有部分进行身份验证。且a h 只用于保证收到的数据包在传输的过程中不 会被修改,保证由要求发送它的当事人将它发送出去,以及保证它是一个新的非 重播的数据包。 1 ) 传输模式:只保护i p 报文的不变部分,它保护的是端到端的通信。通信的 终点必须是i p s e c 终点。a h 头被插在数据报中,紧跟在i p 头之后,和需要保护的上 层协议之前,对这个数据报进行安全保护。 r t 原始i p 包li p 头l 负载 等篓薯嚣藿 至至二 三至三i 二二匹 圈2 3 a h 传输模式 2 ) 隧道模式:a h 用于通道模式时,它将自己保护的数据报封装起来,另外, 在a h 头之前添加了一个新的i p 头。原i p 头中包含了通信的原始地址,而新i p 头则 包含t i p s e c 端点的地址。隧道模式可用来替换端到端安全服务的传输模式;但由 于这一协议中没有提供机密性,因此,相当于就没有隧道封装这一保护措施,所 以它没有什么用处。 原舢包匝丑二圈 a h 隧道模式 封装后的包 2 3 1 e s p 的功能 验证范围 幽2 4 a h 隧道模式 2 3 封装安全载荷协议( e s p ) 为i p 报文提供数据完整性校验、身份认证和数据加密,还有可选择的抗重放 攻击保护,即除提供a h 提供的所有服务外,还提供数据加密服务。e s p 可在不同 第二章i p s e c 协议族 的模式下使用。在这些模式中,它需要插入i p 头与上层协议( 比如t c p 或u d p 头) 之间,或者用它封装整个i p 数据包。e s p 用一个加密器提供机密性,数据完 整性则由身份验证器提供。加密器和身份验证器两者采用的专用算法是e s p 安全 联盟的相应组件决定的。同样,e s p 通过插入一个唯的、单向递增的序列号提 供抗重播服务。 2 3 2 e s p 的使用模式 e s p 头可选用两种方式中的一个来应用于i p 包:传输模式和隧道模式。其问的 差别决定了e s p 保护的真t f 对象是什么。在传输模式中,e s p 头插在i p 头和i p 包的 上层协议之间:在隧道模式下,那个受保护的i p 包都封装在一个e s p 头中,此外还 增加了一个新的i p 头。 1 ) 传输模式:只保护i p 报文的不变部分( 如图2 5 所示) 。 原舯包臣丑二圈 瑟貉匝亚巫 互互正固围 ;r 丽丽 a z r _ 川i 旱竹l 刊 验证范围 图2 5e s p 传输模式 2 ) 隧道模式:保护整个i p 报文( 如图2 6 所示) 。 原姗包匝丑二圈 鬣器匝亚巫丑二二 匝耳堕 :卜叫 j j 密范荆 验证范荆 图2 6 e s p 隧道模式 2 4 1 i k e 协议组成 2 4 密钥管理协议( i k e ) l o i p 安全技术研究与实现 整个i k e 协议规范主要由三个文档定义:r f c 2 4 0 7 ,r f c 2 4 0 8 和r f c 2 4 0 9 。 r f c 2 4 0 7 定义了因特n i p 安全解释域( i p s e cd o i ) ;r f c 2 4 0 8 描述了因特网安全联盟 和密钥管理协议( i s a k m p ) ;r f c 2 4 0 9 则描述了i k e 协议如何利用o a k l e y 、s k e m e 和1 s a k m p 进行安全联盟的协商。 o a k l e y 是由亚利桑那大学的一名安全专家h i l a r i eo r m a n 开发的一种协议。它描 述了一系列称为“模式”的密钥交换,并且定义了每种模式提供的服务。作为一 种自由形念的协议,o a k l e y 允许各方根据本身的速度来选择使用不同的模式。以 o a k l e y 为基础,i k e 借鉴了不同模式的思想,每种模式提供不同的服务但都产生一 个结果:通过验证的密钥交换。在o a k l e y 中,并未定义模式进行一次安全密钥交换 需要交换的信息。而i k e 对这些模式进行了规范,将其定义成f 规的密钥交换方法。 尽管因此降低t o a k l e y 模型的灵活性,i k e 仍然提供了“主模式”、“野蛮模式” 和“快速模式”供用户选择,所以最终还是成为一个非常适宜的密钥交换技术。 s k e m e 则是另外一种密钥交换协议,由加密专家h u g ok r a w c z y k 设计。 s k e m e 定义了验证密钥交换的- t o e 类型。其中,通信各方利用公共密钥加密实现 相互间的验证:同时“共享”交换的组件。每一方都要用对方的公共密钥来加密 一个随机数字,两个随机数( 解密后) 都会对最终的密钥产生影响。随s k e m e 共享 技术一道,有一方可选择进行一次d i f f i e h e l l m a n 交换,从而形成“完美向前保密 ( p f s ) ”;或者仅仅使用另一次快速交换对现有的密钥进行更新( 这样便不要求涉及 公共密钥运算) 。i k e 在它的公共密钥加密验证中,直接借用了s k e m e 的这种技 术;同时也借用了快速密钥刷新的概念,以及p f s 。 i s a k m p 是由美国国家安全局( n s a ) 的研究人员开发出来的。i s a k m p 为认证 和密钥交换提供了一个框架,用来实现多种密钥交换。i s a k m p 提供了对对方的身 份进行验证的方法和对安全服务进行协商的方法。它定义了信息包的格式,规定 了通信双方实体的身份认证,安全关联的建立和管理,密钥产生的方法,以及安 全威胁( 例如:服务否认和重放攻击) 的预防。 i s a k m p 、o a k l e y 平d s k e m e 这三个协议是构成i k e 的基础。因此,可以说i k e 是一种“混合型”协议,它沿用了i s a k m p 的基础、o a k l e y 的模式以及s k e m e 的 共享和密钥更新技术,从而定义出自己独一无二的验证加密材料生成技术,以及 协商共享策略。 2 4 2 基本概念 ( 1 ) 安全关联( s a ) 安全联n ( s a ) 是构成i p s e c 的基础,是两个通信实体经协商建立起来的一种协 定。它们决定了用束保护数据包安全的i p s e c 协议、转码方式、密钥以及密钥的有 第二章i p s e c 协议簇 效存在时间等。任何i p s e c 实施方案始终会构建一个s a 数据库( s a d b ) ,由它来 维护i p s e c 协议用来保障数据包安全的s a 记录。 在s a 中,s p i 是一种非常重要的元素。它实际上是一个长度为3 2 位的数据实体, 可用于独一无二标识出接收端上的一个s a 。s a d 中的每个s a 由 三元组来唯一的确定: 安全参数索引( s p i ) :赋予这个s a 的比特串只在本地有意义。s p i 被加 载在a h 和e s p 的首部,接收系统用s p i 来选择s a 以处理接收的分组。 i p 目的地址( d s t ) :s a 的目的端点的地址,可能是终端用户系统或者是 网络系统,如防火墙或路由器。目前只支持单播地址。 安全协议标识符( p r o t o c 0 1 ) :标识这个关联是一个a h 还是一个e s p 的 安全关联。 i k e 也采用了“安全联盟”的概念,但i k es a 的物理构建方式与| p s e cs a 不同。i k es a 定义了双方的通信形式,如使用哪种算法来加密i k e 通信:怎样对 远程通信方的身份进行验证等。随后,便可用i k es a 在通信双方之问提供任何数 量的i p s e cs a 。 在具体的i p s e c 实现中就是1 k es a 保护i p s e cs a 的协商,i p s e cs a 保护最 终的网络中的数据流量,如图2 ,7 所示。 幽2 7 i p s e e 实现框图 ( 2 ) 保护组 一个保护组是一系列安全服务,这些安全服务可能由多个安全协议提供,每 个保护组都至少需要定义采用的加密算法、散列算法、d i f f i e h e l l m a n 组以及验证 方法。例如,一个安全组可能包括e s p q h 的d e s 3 j n 密和a h 中的m d 5 认证。组中的 所有保护必须被作为一个单独的单元来对待,因为安全服务在不同的安全协议罩 j p 安全技术研究与实现 有敏感的交互作用,并且组的影响必须被作为整体分离和校验,所以它是必要的。 i k e 以“保护组”的形式定义策略。保护组作为一个整体进行协商,具体的作 法是对i s a k m ps a 载荷进行交换。保护组中的每一种属性都保护在转码载荷中。 ( 3 ) d h 交换 d i f f i e h e l l m a n 密钥交换是第一个公开的公钥密码方案。d i f f i e h e l l m a n 密钥交 换建立在“离散对数问题”的基础上。这种密钥交换技术非常重要,利用d h 交 换技术,可以在一个不保密的、不受信任的通信信道( 如i n t e r n e t ) 上,在交换双 方之间建立起一个安全的共享秘密的会话。 以a l i c e 和b o b 来模仿通信的两端,他们可以这样做: 1 ) a l i c e 和b o b 确定一个适当的素数p 和整数旺,使得是p 的原根, 和p 可以公开: 2 ) a l i c e 秘密选取一个整数a ,计算y a = a “r o o dp 并把y a 发送给b o b : 3 ) b o b 秘密选取一个整数b ,计算y b = a 8m o dp 并把y b 发送给a l i c e , 其中y a 和y b 就是所谓的d i f f i e h e l l m a n 公丌值。 4 ) a l i c e 通过计算k e y = ( y b ) “m o dp 生成密钥k e y ; 5 ) b o b 通过计算k e y = ( y a ) 8m o dp 生成密钥k e y ; 6 ) a l i c e 和b o b 生成的密钥k e y 是恒等的,因为: k e y = ( y b ) “m o dp = ( 旺8 m o d p ) “m o dp = ( q 8 ) a m o d p = 0 【“8 m o dp = ( a “) 8 m o dp = ( 0 【“m o d p ) 8 m o dp = ( y a ) “r o o d p d i f f i e h e l l m a n 密钥交换的安全性是基于这样的假设:从y a 或者y b 以及q ,计 算a 或b 在计算上是不可行的,因为这等价于求解离散对数闯题。 2 4 3 两个阶段的协商 对i p s e c 而占,己定义的密钥交换即是i n t e r n e t 密钥交换( i k e ) 。i k e 交换的最 终结果是一个通过验证的密钥以及建立在双方同意基础上的安全服务,即“i p s e c 安全联n ( i p s e cs a ) ”。 i k e 使用了两个阶段的i s a k m p :第一阶段建立i k e 安全联盟( i k es a ) ,第二阶 段利用这个既定的安全联盟,为i p s e c 协商具体的安全联盟( i p s e cs a ) 。 两个阶段s a 的关系如图2 8 所示: 对于第一阶段交换来说,i k e 采用的是身份保护交换,以及根据基本i s a k m p 文档制订的野蛮交换法。分别称之为“主模式”和“野蛮模式”。与i s a k m p 交换 不同,i k e 对交换进行了完整的定义,它包括所有载荷的内容以及处理它们所需的 第二章i p s e c 协议簇 图2 8 i k es a 保护多个i p s e cs a 步骤。对于第二阶段来说,i k e 则定义了一种快速模式交换,它的作用是为除i k e 之外的其他协议协商安全服务。 1 k e 还定义了另外两种交换,这两种交换均属信息方面的交换。在这种交换中, i k e 通信双方可相互传递有关错误和状态的消息,而且一种新的组交换模式可使各 方协商如何在它们之中使用一个新的d i f f i e h e l l m a n 组。 ( 1 ) i k e s a 的协商 对两个第一阶段交换来说,它们的用途都是建立一个保密和验证无误的通信信道 ( i k es a ) ,以及建立验证过的密钥,为对方的i k e 通信提供机密性、消息完整性 以及消息源验证服务。i k e 中定义的其他所有交换都要求一个验证过的i k es a 作 为首要条件。主模式在三个步骤中总共用到了六条消息,最终建立了i k es a 。这 三个步骤分别是模式协商、一次d i f f i e h e l l m a n 交换和一次n o n c e 交换、以及对双 方身份的验证。主模式的特点包括身份保护以及对i s a k m p 协商能力的完全利用。 其中,身份保护在对方希望隐藏自己的身份时显得尤其重要。野蛮模式只需用到 主模式一半的消息,由于对消息的数量进行了限制,同时也限制了它的协商能力, 而且不会提供身份保护。 i k e 可以接受的验证方法包括: 预共享密钥; 使用“数字签名算法( d s s ) ”得到的数字签名; 使用r i v e s t s h a m i r a d e l m a n 算法得到的数字签名: 通过交换加密的n o n c e ,从而实现的两种类似的验证方法。 下面以使用公共密钥加密进行验证的交换为实例来具体说明i k es a 的协商建 立过程。 使用公共密钥加密来验证交换,交换的辅助信息是加密的随机数( n o n c e ) , 每一方重新构建h a s h ( 如果另方能解密n o n c e ) 的能力就验证了交换。 要执行公钥加密,发起者必须已经拥有响应者的公钥。当响应者有多个公钥 时,发起者用来加密辅助信息的证书的h a s h 值也作为第三个消息传递。通过这种方 式,响应者可以确定使用哪个对应的私钥来解密加密了的数据,同时也保持了身 份保护功能。 除了随机数n o n c e p b ,双方的身份( i d i i 和i d i r ) 也使用对方的公钥进行加密。如 l p 安全技术研究与实现 果验证方法是公钥加密,则n o n c e s u 身份负载必须使用对方的公钥加密。只有负载 的数据部分进行了加密,而负载的报头仍为明文形式。 当使用公钥加密进行验证时,主模式定义如图2 9 所示: 发起方 响应方 ;t 一 幽2 9 公钥加密验证主模式描述 野蛮模式使用加密进行验证的描述如图2 1 0 所示,其中,h a s h ( 1 ) 是发起者用 于加密n o n c e $ 口d 份的证书i 拘h a s h ( 使用协商的h a s h 函数) 。 发起方 i 赢_ t 焉t 而面而 响应方 i l h a s hr t 图2 10 公钥加密验证野蛮模式描述 使用公钥加密来验证保证了秘密的安全性,因为攻击者不仅要破解 d i f f i e - h e l l m a n 交换,还要破解r s a 2 d 密。这种交换由 s k e m e 提出a ( 2 ) i p s e c s a 的协商 快速模式和第一阶段交换相关联,作为s a 协商过程的一部分用来衍生密钥材 第一二章l p s e c 协议簇 料和协商非i k es a 的共享策略。快速模式交换的信息必须由i k es a 来保护,即除 了i s a k m p 报头外,所有的负载都要加密。在快速模式中,h a s h 负载必须立即跟 随在i s a k m p 头后,s a 负载必须紧跟在h a s h 负载之后。h a s h 用于验证消息,同 时也提供了参与的证据。 快速模式实际上是一次s a 协商和提供重播( r e p l a y ) 保护的n o n c e 交换。n o n c e 用于产生新的密钥材料并阻止通过重播攻击产生虚假的安全联盟。可选的密钥交 换( k e ) 负载可以经交换来实现通过快速模式产生附加的d i 衔e h e l l m a n 交换以及求 幕运算。但是必须支持使用快速模式的密钥交换负载成为可选。 在快速模式中s a 协商中的身份隐含假定为i k e 双方的i p 地址,且没有对协 议或端口号隐含施加限制,除非在快速模式中客户标识符是指定的。如果i k e 代 表另一方作为客户协商代表,则双方的身份必须传递为i d c i 和i d c r 。本地策略将 决定是否接受身份指定的提议( p r o p o s a l ) 。如果客户身份没有被快速模式的响应者 所接受( 由于策略或其它原因) ,一个通知消息类型为i n v a l i d i d i n f o r m a t i o n ( 1 8 ) 的通知负载将发出。 在双方之间有多个隧道存在的情况下,客户身份用于标识并指导流量进入对 应的隧道,同时也用于支持不同粒度的唯一或共享的s a 。 快速模式期间所发出的所有消息逻辑上是相关的并且必须一致。例如,如果 k e 负载被发出,描述d i f f i e h e l l m a n 组的属性必须被包括在协商的s a 中的每个 提议p r o p o s a l 中的每个变换集t r a n s f o m a 之中。同样的,如果使用了客户身份,则 它们必须应用到协商的每个s a 中。快速模式定义如图2 1 1 所示: 发起方响应方 2 4 4 消息和载荷 幽2 1 1 快速模式交换描述 对一个用基于i s a k m p 的密钥管理协议交换的消息来说,它的构建方法是: 将i s a k m p 所有载荷链接到一个i s a k m p 头后。1 s a k m p 载荷提供模块化的组建 来构造i s a k m p 消息。一个i s a k m p 消息有固定

温馨提示

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

评论

0/150

提交评论