(信息与通信工程专业论文)ike协议在linux系统上实现的技术分析以及在26内核上实现.pdf_第1页
(信息与通信工程专业论文)ike协议在linux系统上实现的技术分析以及在26内核上实现.pdf_第2页
(信息与通信工程专业论文)ike协议在linux系统上实现的技术分析以及在26内核上实现.pdf_第3页
(信息与通信工程专业论文)ike协议在linux系统上实现的技术分析以及在26内核上实现.pdf_第4页
(信息与通信工程专业论文)ike协议在linux系统上实现的技术分析以及在26内核上实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(信息与通信工程专业论文)ike协议在linux系统上实现的技术分析以及在26内核上实现.pdf.pdf 免费下载

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

文档简介

摘要 随着i n t e r n e t 不断地壮大发展,它的安全问题也日益突出。i p s e c 协议族是 解决公用网上p 数据传输安全性的一个有效手段。i k e ( i n t e r n e t k e ye x c h a n g e ) 协议是i p s e c ( i ps e c u r i t y ) 协议族中最重要的协议之一,它为使用i p s e c 进行安 全通信的两个网络节点( 主机或者路由器) 之间提供身份认证、协商安全关联和 生成共享密钥等机制,并对安全关联数据库进行填充。 就目前而言,在l i n u x 上i k e 协议的实现并非为一个可独立运行的软件,而 是做为其他i p s e c 套件( 如f r e e s n a n ) 的一部分来实现的。这种实现方式将 i p s e c 对报文的处理和i k e 协议的实现混合在一起,既增加了i k e 协议实现的复 杂性,又破坏了i k e 协议的独立性,也不利于i k e 协议自身一些功能的扩展。 而在2 0 0 3 年底发布的l i n u x26 内核已经实现了i p s e c 处理和数据加解密处理, 这样要求i k e 协议的实现必须同i p s e c 实现分离。并且2 6 内核支持p fk e y 套 接字。这样,i k e 协议的实现可以在用户空间实现,利用p fk e y 套接字与内核 进行通信,为1 p s e c 提供自动协商的s a 。针对这种情况,我们有必要重新设计 实现i k e 协议。我们在实现i k e 协议的时候,着重考虑了l i n u x 26 内核的特点 和i p s e c 协议的需求,以求设计出合理的i k e 结构模型,从而降低实现复杂度, 提高可理解性和增强可扩展性。 论文首先深入地分析了1 k e 协议,包括i k e 协议的组成、i k e 协议消息的 格式以及i k e 协议协商的过程,然后对协议可能受到的各种安全攻击进行了分 析并提出了相应的解决办法,在此基础上深入地研究了i k e 协议在l i n u x 上的实 现,从而提出了一个可行的基于l i n u x26 内核的i k e 协议实现方案,并且对事 件处理子系统、与内核交互子系统的具体实现进行了详细的描述。最后对i k e 协议实现软件进行了测试。 关键词:i k ei p s e cs a 协商l i n u x a b s t r a c t a st h ed e v e l o p m e n to fi n t e r n e t 、t h ei s s u eo fn e t w o r k s e c u r i t yh a sb e c o m em o r e a n dm o r eo b v i o u si p s e ep r o t o c o li sa ne f f e c t i v em e t h o dt oe n s u r et h es e c u r i t yo fi p d a t at r a n s m i s s i o ni np u b l i cn e t w o r ki n t e r n e tk e ye x c h a n g e ( 脚) i so n eo ft h em o s t i m p o r t a n tp r o t o c o l s o fi p s e cp r o t o c o l f a m i l y , i t s m a i nf u n c t i o ni st oa u t h e n t i c a t e i d e n t i t y n e g o t i a t es e c u r i t ya s s o c i a t i o na n dp r o d u c e s h a r e dk e y so f e n c r y p t i o nf o r t w o n o d e sr h o s t so rr o u t e r s ) w h i c hc o m m u n i c a t es e c u r e l yw i t he a c ho t h e nm o r e o v e r , i k e a l s of i l l sd a t at os a d b c u r r e n t l y , i k ei si n t e g r a t e da sap a r to f i p s e cf r e e s w a n , n o tf u n c t i o n sa sa n i n d e p e n d e n ts o f t w a r e ,w h i c hn o to n l ym a d e t h ei k ed i f f i c u l tt ob ei m p l e m e n t e db u t a l s ob r o k et h e i n d e p e n d e n c eo fi k ep r o t o c o l ,a n dp r e v e n t e d t h e e n l a r g e m e n to f f u n c t i o n so fi k ei t s e l fb e c a u s ei tm i x e dt h e p r o c e s s o fi p s e c p a c k e t a n dt h e i m p l e m e n t a t i o n o fi k e p r o t o c o l s l i n u x2 6w h i c hw a si s s u e di n2 0 0 3 h a s i m p l e m e n t e di p s e cp r o c e s sa n dd a t ae n c r y p t i o na n dd e z c r y p t i o n ,w h i c hr e q u i r e st h e s e p a r a t i o no f i k ea n di p s e ca n dl i n u xk e r n e lz 6a l s os u p p o r t e dp f k e ys o c k e t , w h i c hm a d ei tp o s s i b l ef o ri k et ob ei m p l e m e n t e di nu s e rs p a c e ,c o m m u n i c a t ew i t h t h ek e r n e la n ds u p p l ys ao fa u t o m a t i cn e g o t i a t i o nf o ri p s e c a c c o r d i n gt ot h i sn e w s i t u a t i o nt h ei k ep r o t o c o ln e e d st ob er e d e s i g n e di nt h ep r o c e s so ft h ed e s i g na n d i m p l e m e n t a t i o no f l k e ,t h e c h a r a c t e r i s t i c so f t h el i n u x 2 6a n dt h er e q u i r e m e n t so f t h e i p s e ch a db e e nt a k e ni n t oa c c o u n t ,w h i c hm a d et h ed e s i g nr n o r er e a s o n a b l e ,e a s i e rt o b e i m p l e m e n t e d ,c o m p r e h e n d e d a n de x p a n d e d i nt h ep a p e r ,i k ep r o t o c o li s a n a l y z e di nd e t a i l ,i n c l u d i n gt h ec o n t e n t so f e , t h ef o r m a to ft h ei k e m e s s a g ea n dt h en e g o t i a t i n gp r o c e d u r e a n dt h e n ,t h ep o s s i b l e s e c u r i t ya t t a c k so f t h ep r o t o c o la r ea n a l y z e da n dc o r r e s p o n d i n gs c e n a r i ot os o l v et h e p r o b l e mi sp r e s e n t e d ,o nt h eb a s i so fw h i c h ,t h ei m p l e m e n t a t i o no fi k e i nl i n u xi s d i s c u s s e dd e e p l ya n dt h e naf e a s i b l ei m p l e m e n t a t i o ns c e n a r i ob a s e do nl i n u x26 k e r n e li sp r e s e n t e d ,a n dt h ed e t a i l so f t h ei m p l e m e n t a t i o no fe v e n tp r o c e s ss u b s y s t e m a n ds u b s y s t e m c o m m u n i c a t i n gw i t ht h ek e r n e l w a sd e s c r i b e d a tt h ee n do ft h i s p a p e r ,t h e t e s tr e s u l t sa f ea n a l y z e d k e y w o r d s :i k e ,i p s e c 、s a n e g o t i a t e 、l i n u x i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 厘至垫日期:阳盯年厂月z 7 日 | 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:盟导师签名:亟趔 日期:舻厂年厂月巧日 i p s e c ( e s a s a d b s p i v p n p f s i s a k ,皿 a h e s p d o s 缩略字表 i n t e r n e tp r o t o c o ls e c u r i t yi p 安全 i n t e r n e tk e y e x c h a n g e i n t e r n e t 密钥交换 s e c u r i t ya s s o c i a t i o n 安全关联 s e c u r i t ya s s o c i a t i o nd a t a b a s e 安全关联库 s e c u r i t y p a r a m e t e ri n d e x安全参数索引 v i r t u a lp r i v a t en e t w o r k虚拟专用网 p e r f e c tf o r w a r ds e c r e c y完美向前保密 i n t e r n e ts e c u r i t ya s s o c i a t i o nk e ym a n a g ep r o t o c o l i n t e r n e t 安全关联密钥管理协议 a u t h e n t i c a t i o nh e a d e r认证头 e n c a p s u l a t i o ns e c u r i t yp a y l o a d 封装安全载荷 d e n i a lo fs e r v i c e拒绝服务 电子科技大学硕士学位论文 1 1 课题背景及意义 第一章引言 i n t e r n e t 是一个开放的系统,越来越多的人连入这个公共网络,它己深入到 人们日常的工作、学习等各个领域,给人们带来了方便快捷的服务。然而随着 i n t e r n e t 不断地壮大发展,它的安全问题也日益突出。因此迫切需要能很好解决 i n t e r n e t 安全的技术。 i p s e c 协议正是在i p 层上实现安全性,解决在不可信的通道上实现安全通信 的问题【1 】。i p s e c 在i p 层上对数据进行加密和验证,使安全服务独立于应用程序, 较好地解决了i p s e c 实现的互操作问题。i n t e r n e t 密钥交换( i k e ) 协议是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 c 进行安全通 信的两个网络节点( 主机或者路由器) 之间提供了身份认证祁协商生成共享密钥 等机制。i p s e c 利用i k e 对安全关联( s a ) 进行协商,并对安全关联数据库进行 填充。i p s e c 协议就是根据安全关联( s a ) 规定的参数为口数据包提供安全服 务的。s a 可以手工建立,即密钥由系统管理员手工分发,系统管理员通过手工 导入密钥和与安全通信有关的安全关联数据来手工配置网关。当网络用户数量不 是很多且密钥的更新频率不是很高时,可以选择手工建立s a 的方式。但是当用 户较多且网络规模较大时,就应该选择使用自动方式建立s a ,即实现i k e 协议。 就目前而言,在l i n u x 上i k e 协议的实现并非为一个可独立运行的软件,而 是做为其他i p s e c 套件( 如f r e e s w a n ) 的一部分来实现的。这种实现方式将 i p s e c 对报文的处理和i k e 协议的实现混合在一起,既增加了i k e 协议实现的复 杂性,又破坏了i k e 协议的独立性,也不利于i k e 协议自身一些功能的扩展。 而在2 0 0 3 年底发布的l i n u x2 6 内核已经实现了i p s e c 处理和数据加解密处理, 这就要求i k e 的实现必须与i p s e c 的实现分离。并且26 内核支持p fk e y 套接 字。这样,i k e 协议的实现可以在用户空间实现,利用p fk e y 套接字与内核进 行通信,为i p s e c 提供自动协商的s a 。针对这种情况,我们有必要重新设计实 电子科技大学硕士学位论文 现i k e 协议。 我们在实现i k e 协议的时候,着重考虑了l i n u x 26 内核的特点和i p s e c 协 议的需求,以求设计出合理的i k e 结构模型,从而降低实现复杂度,提高可理 解性和增强可扩展性。 1 2 本人完成的主要工作 本人根据i k e 协议规范的三个文档r f c 2 4 0 7 、r f c 2 4 0 8 、r f c 2 4 0 9 ,在深入 研究了k e 协议理论及其应用基础上,对i k e 协议在l i n u x 中实现的技术进行 分析,然后参考i p s e c 套件f r e e s w a n 中的i k e 系统的实现,提出了针对l i n u x 2 6 内核的i k e 系统的实现方案,并且编程实现整个i k e 系统中的事件处理子系统, 最后测试i k e 系统。具体的工作内容如下: 1分析了i k e 系统在l i n u x 上的实现:分析目前流行的i k e 系统实现的方 案,即在l i n u x2 4 x 内核上实现的i p s e c 套件f r e e s w a n 中i k e 系统1 : 分析l i n u x2 6 内核源代码,然后提出针对l i n u x 26 内核的i k e 系统实 现方案。 2基于l i n u x 26 内核编程实现了i k e 系统中的事件处理子系统、与内核交 互子系统。 3完成了i k e 系统和i p s e c 处理的联合测试及结果分析a 证明设计实现的 i k e 系统在2 6 内核上可v a l e 常协商建立s a ,并且i p s e c 按照i k e 协商 好的s a 对数据包处理。 1 - 3 本文各章节安排 第章前言。主要介绍课题背景、研究的意义、本论文主要解决的问题以及 各章节安排。 第二章i k e 协议相关研究”。首先介绍了i k e 协议的组成;接下来介绍i k e 协议的基本概念、i k e 协议使用的报文格式、i k e 协商的两个阶段、三种模式传 递的消息序列以及协商的两个阶段的密钥产生过程;最后对i k e 协议本身的安 全性进行了研究,并指出了不足之处和提出了改进的方法。 2 电子科技大学硕士学位论文 第三章i k e 系统在l i n u x 上实现的技术分析。介绍f r e e s w a n 中i k e 系统 的实现方式,分析l i n u x 2 6 内核源代码,提出基于l i n u x 26 内核的i k e 系统的 实现方案。 第四章事件处理子系统的设计。 第五章事件处理子系统的实现。 第六章与内核交互子系统的实现。 第七章i k e 系统测试和结果分析。 第八章总结。 ,3 电子科技大学硕士学位论文 2 1i k e 协议组成 第二章i k e 协议研究 i k e 是一种使用了部分的i s a k m p 、部分o a k l e y 和部分s k e m e 的用于密 钥交换的混合型协议。它沿用了i s a k m p 的基础、o a k l e y 的模式、s k e m e 的共 享和密钥刷新技术,从而定义出独一无二的验证加密材料生成技术。下面就简要 介绍i s a k m p 、o a k l e y 和s k e m e 这三种协议。 i s a k m p 定义了一种认证和密钥交换的框架,但是没有定义任何密钥交换协 议【2 】。i s a k m p 提供了一个通用的s a 属性格式框架和一些可由不同交换协议使 用的协商、修改、删除s a 的方法。i s a k m p 与密钥交换独立,也就是说,i s a k m p 所定义的框架可以支持多种不同的密钥交换,并不受限于任何具体的密钥交换协 议、密码算法、密钥生成技术或认证机制。i k e 不同于i s a k m p :i k e 实际上定 义了一个密钥交换,而i s a k m p 仅仅提供了一个可由任意密钥交换协议使用的 通用密钥交换框架。i k e 使用i s a k m p 为其他i p s e c ( a h 和e s p ) 协议协商s a 。 o a k l e y 描述了一系列的密钥交换“模式”,并且定义了各种模式提供的服务 1 4 1 。o a k l e y 允许各方根据自己不同的速度来选择不同的模式。i k e 协议借鉴了 o a k l e y 不同模式的思想,i k e 提供了“主模式”、“野蛮模式”、“快速模式” 供用户选择。每种模式虽提供不同的服务,但却产生同样的结果:通过验证的密 钥交换。而且i k e 协议对模式进行了规范,定义了一次安全密钥交换所需交换 的信息。 s k e m e 描述了通用密钥交换技术,提供匿名性、防抵赖性和快速刷新【3 】。 双方通过公钥加密实现相互间的鉴别,同时“共享”交换的组件。每一方都要利 用对方的公共密钥加密一个随机数,两个随机数( 解密后) 都将对最终密钥的生 成产生影响。i k e 协议借鉴了s k e m e 公钥加密验证方式和其使用瞬时值交换来 达到密钥快速重新生成的概念。 4 电子科技大学硕士学位论文 2 - 2 基本概念 2 21 安全关联( s a ) 安全关联( s a ) 的概念是i p s e c 密钥管理的基础。a h 和e s p 都使用s a , 而且i k e 协议的主要功能就是建立和维护s a 。s a 是两个通信实体经过协商建 立起来的一种简单的“连接”,也就是某些要素的一种协定,例如:用来保护数 据的i p s e c 协议类型、协议的操作模式、加密算法、认证方式、加密和认证密钥、 密钥的生存时间以及防重放攻击的序列号等。s a 为所承载的流量提供安全服务。 s a 可以手工建立,也可以使用i k e 自动建立。s a 是单向的,因此,输出和输 入的数据流需要独立的s a 。如果对一个流量同时使用a h 和e s p ,那就必须为 该流量建立两个( 或多个) s a 。当一个s a 协商完成后,两个对等方都在它们的 安全关联数据库( s a d b ) 中存储该s a 参数。个s a 通常用一个三元组唯一 表示,包括安全参数索引( s p i ) 、目的i p 地址和安全协议( a h p j 和e s p 心j ) 。 2 2 2 安全参数索引( s p i ) s p i 是为了唯一标识s a 而生成的一个3 2 位整数。它在a h 和e s p 头中传 输。因此,i p s e c 数据报的接收方易于识别s p i 并利用它连同源或目的i p 地址和 协议来搜索s a d b ,以确定与该数据报相关联的s a 或s a 束。 2 23 完美向前保密( p f s ) 完美向前保密( p f s ) ,指即使攻击者破解了一个密钥,也只能还原这个密 钥加密的数据,而不能还原其他的加密数据。要达到理想的p f s ,一个密钥只能 用于一种用途,生成个密钥的素材也不能用来生成其他的密钥。在i p s e c 中, 如果要求对身份的保护也是p f s ,则一个i k es a 只能创建一个i p s e cs a 。 2 2 4d i m e - h e l h n a n 交换 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 交换来产生双方共享的密钥,这些密钥可以被用于密钥协商协议 的后续步骤。i k e 协议使用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 交换的基本原理: 1 a 选取一个大的随机数x ,计算x = g 。m o d l l 发送给b 2 b 选取一个大的随机数y ,计算y _ g r o o dn 发送给a 3 a 计算k 1 = y 8 r o o dn 4 b 计算k 2 = r o o d r l ( 其中g 和n 是双方事先协商好的,r l 是一个大的素数,g 是模n 的生成元, 这两个数不必是秘密的) 经过上述4 步完成d i f f i e h e l l m a n 交换,这时k 1 = k 2 _ g 科m o dr l 是a 和b 分享的可以用来保护自己通信的密钥。g 和n 甚至也不需要保密,窃听者可以事 先知道g 和n 并且截获a 和b ,除非他们计算离散对数x 、y ,否则无济于事。 d i f f i e - h e l l m a n 交换的一个弱点是容易受到“中间人”的攻击。中间人m 会 在a 面前模仿b ,而在b 面前模仿a 。a 和b 都会错误地认为正在与b 和a 进 行通信,无法检查出信息的来源究竟是谁。解决这一问题的办法就是a 和b 都 为自己的公开值加上数字签名,这时m 无法欺骗b ,让b 用签署自已的数字签 名;也无法欺骗a ,使a 相信该签名是b 的。i k e 协议的认证方式解决的就是 这个问题。 225r s a r s a 是第一个既能对数据进行加密,又可进行数字签名的算法,它易于理 解和实现,所以非常流行1 6 】。r s a 密码体制的安全性是基于大数因子分解的困 难性,即将两个大的质数合成一个大数很容易,而相反的过程则非常困难。 r s a 密码体制描述如下: l 产生两个大的素数p ,q 。计算这两个素数的乘积n = p + q 。 2 选取一个随机数b 满足1 b , 响应者 图2 1 0 基于公开密钥的主模式 d u b i p u b r 是使用发起方响应方的公钥进行加密,加密的载荷分别是身份 鉴别载荷和n o n c e 载荷。 2 4 2 4 基于修改后的公开密钥的阶段一协商 使用公开密钥加密进行验证有四次加解密操作:弧次公钥加密和两次私钥解 密。修订后的公开密钥验证方式保留了使用公钥加密的优点,但只进行两次公钥 操作。在这种方式下t l o n c e 载荷仍然使用对方公钥加密,而身份鉴别载荷和密钥 交换载荷使用协商的对称加密算法( 从s a 载荷中获得) ,密钥由n o n c e 值产生。 1 7 电子科技大学硕士学位论文 发起者 | b o rjs ai 响应者 匝弼 图2 11 基于修改后的公开密钥的主模式 p u b _ i p u b r 表示是使用发起方响应方的公钥进行加密的n o n c e 载荷, k e i k e r 表示用密钥k e _ i 或者k e _ r 根据s a 载荷协商好的对称加密算法加密 k e 载荷和身份鉴别载荷,k e i k e r 是根据b o n c e 值计算得来的。 2 ,4 ,3 阶段二协商 快速模式用于协商i p s e es a 以及产生新的密钥材料。快速模式用于i k e 的 第2 阶段协商,协商受到在阶段1 协商好的i s a j ( 瑚ps a 的保护,即在交换时使 用阶段一中协商好的算法和密钥加密。除了i s a k m p 头,对所有载荷加密。可 以使用d i f f i e - h e l l m a n 密钥交换实现完美向前保护( p f s ) 。在次快速模式交换 中可以协商多个s a 。不论哪个是第一阶段的发起方,任何一方都可以发起快速 模式交换。一个i s a k m ps a 可用于多个同时发生的快速模式协商,用i s a k m p 头部中的消息i d 标识一个在这个i s a k m ps a 保护下的快速模式交换,而这个 i s a k m ps a 本身则由i s a k m p 头中的c o o k i e 值标识。使用快速模式,多个s a 和s a 的密钥可以在一次交换中协商。快速模式的交换如下图2 1 2 所示: 夕弋 夕 翟 电子科技大学硕士学位论文 发起者 哑坐型3 响应者 匝匦噩 图2 1 2 快速模式 快速模式中包含的瞬时载荷用来产生新的密钥材料并提供抗重放攻击。每个 快速模式可以交换一个可选的k e 载荷来允许另外的d h 交换。是否包含k e 载 荷影响是否提供完美向前保密p f s 服务。一个阶段二协商可以同时产生两个s a : 一个用于输入流,另一个用于输出流。每个方向上的s a 有不同的s p i ,可以保 证每个方向是用不同的密钥。 2 4 4 密钥产生 2 44 1 阶段一密钥生成 在i k e 协商的第阶段允许四种认证方法:预共享密钥、数字签名、公开 密钥、修改后的公开密钥。在第一阶段,进行完d h 交换后,根据验证方式的不 同可以计算出用于衍生其他密钥材料的根密钥s k e y i d 1 2 。 对于预共享密钥:s k i ;, y i d = p r f ( p s k 、n ib 【n r - b ) 对于数字签名:s k e y i d = p r f ( n ib n rb 、g 科) 对于两种公钥加密:s k e y i d = p r f ( h a s h ( n i j i n rb ) 、c k y j f c k y - r ) 其中:p s k 表示双方预共享密钥,n ib n rb 表示发起者和响应者的r l o n c e 载荷的数据部分,g 州表示通过k e 载荷传输并经过d h 算法获得的共享密钥值, c k y表示发起者和响应者产生的值, 是s a 指定的散列函i i c k y rc o o k i ep r f 数,l r f ( a ,b ) n 表示以a 为密钥,对待散列数据b 使用散列算法计算出散列值。 产生根密钥后,再生成三组密钥材料: s k e y i d _ d = p r f ( s k e y i d 、g 副l c k y _ if c k 、31 0 ) - 1 9 一 圃 电子科技大学硕士学位论文 s k e y i d a = p r f f s k e y i d 、s k e y i d _ di g “i c k y _ i c k y _ rl1 ) s k e y i d _ e = p r f f s k e y i d 、s k e y i d _ al g 蝌i c k y _ il c k y r 2 ) s k e y i d d 是非i s a k m ps a 用来衍生出密钥所使用的密钥材料。 s k e y i da 是i s a k m ps a 用来验证消息所使用的密钥材料。 s k e y i de 是i s a k m ps a 用来保护消息机密性的密钥材料。 如果选用预共享密钥或者公开密钥认证方式,发送者和响应者应发送 h a s hi 和h a s hr 来认证交换双方的身份。 h a s h i = p r f ( s k e y i d 、g x iig 。,ic k y 二iic k y _ r ls a i bii d i i b ) h a s h j = p r f ( s k e y i d 、g x rlg x iic k u t ic k y _ iis a r _ bii d i r _ b ) 其中:g 。i 值。,表示发起者和响应者给出的d h 公开值,s a i b 和s a t b 表示 发起者和响应者s a 载荷数据部分,i d i i b 和i d i r b 表示发起者和响应者主机级 身份,一般为两实体的i p 地址。 如果选用数字签名认证方式,则使用协商的签名算法,对h a s h i 和 h a s hr 进行数字签名,获得s i gi 和s i gr ,并以此验证对方。p r v k i p r v k r 是发起者和响应者的私钥。 s i g l i2s i g p r v k i ( h a s hi ) s i g r 2s i g v r v 心( h a s h r ) s i g k 。( m s g ) 表示用私钥k e y 对m s g 进行签名。 2 442 阶段二密钥生成 每个快速模式可以选择是否交换一个k e 载荷来允许另外的d h 交换,是否 交换k e 载荷影响是否能提供p f s 服务。所谓i k e 协商的p f s ,指即使攻破第一 阶段的密钥交换( 也即攻破了s k e y i d 等衍生密钥) ,也只能阅读受该i s a k m p s a 保护的信息,但不能阅读受1 p s e cs a 保护的信息。 根据是否提供p f s ,快速模式的密钥材料的产生也分两种情况: 不提供p f s ,其密钥材料产生方式为: n e w k e y = p r f ( s k e y i d d 、p r o t o c o l | s p iin i b n r ) 2 0 电子科技大学硕士学位论文 提供p f s ,其密钥材料产生方式为: n e w k e y = p r f ( s k e y i d d 、g ( q m ) 母ip r o t o c o ll s p i in 些 n r - b ) 其中p r o t o c o l 和s p i 是分别从封装在s a 载荷中的建议载荷的协议i d 和s p i 域中取得,n i b n r _ b 是发起者和响应者b o n c e 载荷的数据部分,g ( q m ) ”表示 快速模式中在k e 载荷中交换的d h 共享密钥。 在快速模式交换中产生三个h a s h 值,使用三个h a s h 载荷对交换完整性进 行保护。它们的计算方式分别如下: h a s h l = p r f ( s k e y i d _ a 、m s g i di s a ln i f k e f i d c i l l d c r ) h a s h 2 = p r f ( s k e y i da 、m s g i dln i - bi s a ln r i r e 】【i i d c i l l d c r ) h a s h 3 一p r f ( s k e y i d a 、m s g l din i f n rb ) 其中:m s l g i d 是i s a k m p 头部的消息i d ,s a 指当前提出的安全管理载荷, k e 为可选的密钥交换载荷,i d c i i d c r 表示可选的身份载荷。 25i k e 协议安全i 生研究 2 51i k e 协议安全机制 1 、抵抗拒绝服务攻击:对任何交换来说,第一步都是c o o k i e 交换。每个通 信实体都生成自己的c o o k i e ,c o o k i e 提供了一定程度的抗拒绝服务攻击的能力。 在进行一次密钥交换时,如果直到完成c o o k i e 交换才进行密集型的运算( 比如 d i f f i e - h e l l m a n 交换所需的乘幂运算) ,那么就可以有效地抵抗某些拒绝服务攻击 ( 如简单使用伪造i p 源地址进行的溢出攻击) 。这种c o o k i e 提供了一种弱保护 机制。 2 、中间人攻击:中间人攻击包括窃听、插入、删除、修改消息、反射消息 回到发送者、重放旧消息以及重定向消息。i s a k m p 的特征能阻止这些攻击成功: 为防止中间人的攻击,发起方和响应方都必须互相向对方证明自己的身份,而且 交换的所有消息都经过会话密钥加密以隐藏双方身份。i r e 协议中定义了四种认 证方式:基于预共享密钥、基于数字签名、基于公开密钥和修改过的公开密钥算 法,双向的身份认证可以有效地抵御中间人的攻击。每创建一次i s a k m ps a 都 2 1 电子科技大学硕士学位论文 需要生成新的c o o k i e ,而且c o o k i e 带有时间变量素材,从而能防止重放攻击。 在快速协商模式中,使用可防止重放攻击的伪随机数n o n c e 来生成新的密钥材 料。 3 、完美向前保密( p f s ) :p f s 指即使攻击者破解了一个密钥,也只能还原 这个密钥加密的数据,而不能还原其他的加密数据。要达到理想的p f s ,一个密 钥只能用于一种用途,生成一个密钥的素材,而不能用来生成其他的密钥。在l i c e 协议中,其p f s 服务的提供是指有快速模式协商产生的用于保护后续通信的新 密钥将替代主模式野蛮模式产生的密钥,即使攻破主模式,野蛮模式的密钥交换 ( 也即攻破了s k e y i d 等衍生密钥) ,也只能阅读受该i s a k m ps a 保护的信息, 但是不能阅读i p s e cs a 保护的信息。 2 5 2i k e 协议安全性不足与改进 l 、主模式下的数字签名认证方式易受中间人攻击,导致发起方身份泄漏【1 。 中间人攻击属于一种主动攻击,中间人可以对消息进行拦截和转发( 包 含篡改、伪造) 。中间人只是转发前三条消息,并未进行篡改,但是为了不让i k e 的c o o k i e 机制察觉,中间人必须进行伪造i p 地址。在d h 交换中,中间人在第 4 个消息中用自己的k e 载荷替代响应者发送的k e 载荷。发起方收到第四条消 息后,发起方和中间人可以计算出一致的根密钥s k e y i d ,进而获得一致的 s k e y i de ,发起方发送的第5 条消息受s k e y i de 产生的密钥加密保护,而 中间人拥有相同的s k e y i de ,从而导致消息5 被中间人解读,发起者的身份被 泄漏。但中间人不能继续进行中间人攻击而获得响应者的身份,因为中间人如果 简单转发这条消息,由于发起者获得的是中间人篡改的k e 载荷不等于响应者在 第四条消息中发送的k e 载荷,根据前面数字签名的公式可知,这个签名不会被 响应者验证通过;另一方面,由于无法得知发起者的私钥,中间人也无法更改消 息5 中的签名以通过响应者的认证。所以,中间人能够得到发起方的身份,但不 能得到响应的身份。为了解决这个问题,我们可以简单地把消息6 中的内容放 在消息4 中,即改变了身份消息的发送顺序( 响应方先发送身份信息) 。这样, 攻击者就只能知道响应方的身份信息,这样做的好处还有一点就是减少了消息的 交换次数。 2 、主模式下预共享密钥身份保护缺陷。 2 2 电子科技大学硕士学位论文 发起者在接收到第4 条消息后,在发送第5 条消息前,需要计算出s k e y i d , 并由s k e y i d 进而求得s k e y i de 以用来加密最后两条消息。由前面密钥生成 可知,s k e y i d 的计算需要p s k 值,这就要求发起者通过对方的身份来查找相 应的预共享密钥p s k ,而响应者的身份载荷在第六条消息中才被发送,此时发起 者只能以响应者的i p 地址来查找p s ko 所以,在预共享密钥验证方式中只能使 用i p 地址作为身份标识。虽然第5 ,6 条消息中身份载荷被保护,但在预共享密 钥验证方式中身份载荷的内容为i p 地址,在发送前就已经为对方所知。这种情 况下身份保护连简单的被动攻击都无法抵抗。另一方面,使用i p 地址作为身份 标识导致了1 k e 协议在预共享密钥验证方式下不支持非固定i p 地址的用户( 如 移动用户或采用d h c p 协议分配i p 地址的用户) ,这也是i k e 协议一个较为不 便的限制。解决这个问题的办法之一是不使用预共享密钥的方法而使用基于公开 密钥的认证方法,另外如果必须使用预共享密钥的方式,则可以采用野蛮交换方 式。 3 、i k e 协议本身过于复杂。i k e 协议的最大安全缺陷在于它过于复杂,这 将导致服务器负载大量初始化安全连接请求,且大量安全验证将降低服务器处理 能力,这类缺陷可能会导致严重的d o s 攻击,以及敏感信息泄漏的问题。目前, i e t f 正制定i k e 的修订版本名为j f k ,希望它可以执行许多和i k e 相同的功能, 但比i k e 更简单、安全,且能更好的抵御d o s 攻击。 2 3 电子科技大学硕士学位论文 第三章i k e 系统在l i n u x 上实现的技术分析 3 1f r e e s w a n 中的i k e 系统 目前发行的各种l i n u x 版本基本都是采用2 4 x 内核,l i n u x 上v p n 的实现 多数是采用f r e e s w a n 软件。f r e e s w a n 项目最初是由几家致力于网络安全方面 研究的公司提出的,现在f r e e s w a n 已经成为一个联盟组织,便于促进各公司在 网络安全技术方面的相互合作。最初开发f r e e s w a n 的主要目的是为了在l i n u x 系统上实现i p s e c ,同时f r e e s w a n 中也实现i k e 协议,来为实施i p s e c 提供自 动协商安全关联。所以说,f r e e s w a n 就是在l i n u x 下实现i p s e c 和i k e 的工 具”3 。事实上,f r e e s w a n 就是通过向l i n u x 内核打补丁来实现i p s e c 处理的。 但是由于l i n u x 内核版本不断地更新,就必须不断地开发新版本的f r e e s w a n 以 适应内核的变化( 新版本的f r e e s w a n 除自身功能的完善和b u g 的修正外,还需 要针对l i n u x 内核的变化来修改或增加内核补丁) ,这是f r e e s w a n 的一个致命 的弱点。由于在低版本的l i n u x 内核( 2 4 x 及更低版本) 中没有实现i p s e c 的 处理“,所以我们不得不采用这种给内核打补丁的方式。但是现在在l i n u x 2 6 内核协议栈中嵌入了i p s e c 处理代码,i p s e c 已经作为标准功能被集成到l i n u x 内核中,i p s e c 代码的维护( 包括功能的完善和b u g 的修正) 完全是由l i n u x 内 核开发组织来完成的,因此不需要再像f r e e s w a n 那样通过对l i n u x 内核打补丁 来实现i p s e c 功能。从l i n u x 2 6 开始,随着内核版本的不断升级,我们有理由 相信i p s e c 功能会不断地完善和强大,所以我们完全可以利用l i n u x 固有的i p s e c 功能。还有一点值得注意的是,l i n u x 2 4 及以前的内核版本并不实现p

温馨提示

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

评论

0/150

提交评论