




已阅读5页,还剩64页未读, 继续免费阅读
(计算机应用技术专业论文)linux+vpn的动态密钥交换机制的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
l i n u xv p n 的动态密钥交换机制的设计与实现 摘要 摘要 动态密钥交换机制实现的基础是i k e ( i n t e r n e tk e ye x c h a n g e ) 协议, 它是一种混合协议,定义了通信双方进行身份认证、协商加密算法以及 生成共享会话密钥的方法。本文对基于i p s e c 协议的v p n 安全网关设计 中的动态密钥交换机制进行了深入分析,讨论了在v p n 安全网关上对 i k e 协议进行设计与实现的方法与过程。围绕作者参与开发的一个实际 v p n 项目,本文讨论了该v p n 项目的工程架构和模块划分,阐述了系统 中i k e 协议模块涉及的三种消息通信机制,介绍了管理消息、网络消息、 内核消息三种不同的通信方法,并详细地分析了i k ei s a k m p 信包格式 与动态密钥协商过程中两阶段每条消息的设计方法,给出了完整的实现 过程,对i k e 与内核模块的p fk e y 触发与互动机制也进行了说明,文 章最后还讨论了系统进一步设计的展望与构想。 关键词:i p s e c ,v p n ,i k e ,i s a k m p 作者:钱燕 指导教师:陆建德 a b s t r a c t l i n u x v p n 的动态密钥交换机制的设计与实现 a b s t r a c t t h er e a l i z a t i o no f d y n a m i ck e ye x c h a n g ei sb a s e do nt h ei k e ( i n t e r n e t k e ye x c h a n g e ) p r o t o c o l ,w h i c hi sah y b r i dp r o t o c o la n dd e f i n e st h em e t h o d s w i t hw h i c ht h et w os i d e so ft h ec o m m u n i c a t i o n p r o c e s s e sa u t h e n t i c a t e n e g o t i a t ec n c r y p t i o na l g o r i t h m sa n dg e n e r a t es h a r e ds e s s i o nk e y t h i sp a p e r h a sm a d et h o r o u g ha n a l y s i so nt h ed y n a m i ck e ye x c h a n g et e c h n o l o g yi nt h e d e s i g no f v p n s e c u r i t yg a t e w a yu s i n gi p s e cp r o t o c o la n d h a sd i s c u s s e dt h e d e s i g n i n ga n di m p l e m e n t i n gm e t h o d so f t h ei k e p r o t o c o lo nv p np l a t f o r m a l lc o n t e n t st h r o u g h o u tt h i sp a p e ra r eb a s e do nap r a c t i c a lv p n p r o j e c tt h i s a u t h o r p a r t i c i p a t e sm i nt h eb e g i n n i n g ,t h e p a p e rd i s c u s s e st h ep r o j e c tf r a m e w o r k a n do u t l i n e s t h e s y s t e m m o d u l e s d e s i g n i t t h e ni n t r o d u c e st h r e ek i n d so fm e s s a g e c o m m u n i c a t i o nm e c h a n i s mi n v o l v e db yi k em o d u l e sa n de x p l a i n st h r e e d i f f e r e n tc o m m u n i c a t i o nm e t h o d su s e db yt h e m a n a g e m e n tm e s s a g e ,t h e n e t w o r km e s s a g ea n dt h ek e r n e lm e s s a g ei nt h i ss y s t e m t h ep a p e ra n a l y s e s v a r i o u si k ei s a k m p m e s s a g ef o r m a t sa n da c c o u n t sf o rt h ed e t a i l e dd e s i g n o ne v e r ym e s s a g ed u r i n gt w o s t a g e so f t h en e g o t i a t i o ni ni k e ,a n dg i v e so u t w h o l e i m p l e m e n t a t i o n t h ep f k e yl a i g g e r i n g a n d m e s s a g ee x c h a n g e m e c h a n i s m sb e t w e e ni k em o d u l ea n dl i n u xk e r n e la r ea l s op r e s e n t e dh e r e i nt h ee n d ,t h ep a p e rh a sm a d ed i s c u s s i o nt ot h ep r o s p e c to ft h i ss y s t e ma n d g i v e so u ti t sf u r t h e rd e s i g nt h o u g h t s k e y w o r d s : i p s e c ,v p n ,i k e ,i s a k m p w r i t t e n b yq i a n y a n s u p e r v i s e db y l uj i a n - d e y6 4 5 7 5 5 苏州大学学位论文独创性声明及使用授权声明 学位论文独创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进 行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含 其他个人或集体已经发表或撰写过的研究成果,也不含为获得苏州大学 或其它教育机构的学位证书而使用过的材料。对本文的研究作出重要贡 献的个人和集体,均已在文中以明确方式标明。本人承担本声明的法律 责任。 研究生签名:丛堑:日期:趟生堡 学位论文使用授权声明 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文 合作部、中国社科院文献信息情报中心有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本 人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文 外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分 内容。论文的公布( 包括刊登) 授权苏州大学学位办办理。 研究生签名: 导师签名: 趣茎: 日 洲午t 沙 反功咒坛劫 l i n u xv p n 的动态密钥交换机制的设计与实现引言 引言 如今国际互联网( 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 e t f 于1 9 9 8 年1 1 月专门制定了用来增强p 站点间安全性的系列 协议i p s e c ( i p 层安全) 。v p n ( 虚拟私有网络) 技术可以使企业不需要租用 专线而采用廉价的i n t e r n e t 公共网络组建自己的企业虚拟专用网。 从i p s e c 协议族来看,它包括a h ( 认证头) 、e s p ( 封装安全载荷) 和i k e ( i n t e r n e t 动态密钥交换) 三个协议,i p s e c 的实现重点是i k e 协 议和安全策略系统,这两项技术的实现,决定了i p s e c 协议的实现是否完 善和标准。i n t e r n e t 动态密钥交换机制的实现使用的i k e 协议,是一个 对于其上传输数据受保护的隧道相关联的s a ( 安全关联) 各项参数进行 协商,并提供经过认证的密钥信息的协议。i k e 协议使用到了三个不同 协议的相关部分:i s a k m p ( i n t e r n e t 安全关联和密钥管理协议) 、o a k l e y ( s a 密钥交换更新协议) 和s k e m e ( 安全密钥交换机制) 。i k e 实际上 定义了一个密钥交换规范,它支持s a ( 安全关联) 的自动协商、加密密 钥的自动产生和更新,保证了如何动态地建立s a ( 安全关联) 和建立过 程中的安全,其中i s a k m p 提供了一个可由任意密钥交换协议使用的通 用密钥交换框架。由动态密钥交换机制建立s a ( 安全关联) 存在两个问 题:一方面,它是i p s e c 协议实现的核心,实现极为复杂:另一方面,如 果实现的方法不当和效率低下,也很可能成为整个系统的瓶颈。因此, 优化i k e 的实现程序、优化密钥算法是实现i p s e c 的核心问题之一。 引言linuxv p n 的动态密钥交换机制的设计与实现 目前国内的v p n 产品技术很不全面,普遍存在的问题有系统核心软 件依靠国外的技术、界面复杂、重防火墙功能而轻网关功能、动态密钥 交换机制无法很好地实现、策略系统不够完善等,而且使用国外的产品 又存在很多安全方面的隐患,这就迫使研究人员能够开发出一套适用于 我国使用的v p n 产品。该产品应用于对保密性要求较高的单位或是需要 传输敏感数据的场合,这将极大地促进国内电子商务的发展、扩大网络 的使用范围,最终带动网络应用的另一个飞跃。 本课题是在已完成的基于r e d h a tl i n u x 5 0 ( k e r n e l 2 0 3 4 ) 平台的 i p s e ca h e s p 实现模块基础上进一步开发,原系统实现了a h e s p 与 l i n u x 内核的一体化设计,不过它只是初步实现了i p s e cv p n 的手工配置 l z u l 。本期开发实现动态密钥交换机制,使得虚拟专用网网关的两个应用 层进程实体间可以通过i s a k m p u d p 进行密钥交换,并和系统内核的i p 协议栈间进行p fk e y 协议密钥存取与修改消息的交互。从设计方法上 看,在应用层实现动态密钥交换过程的关键技术需要解决守护进程和 s o c k e t 通讯机制;消息结构采用i s a k m p 协议、o a k l e y 协议、s k e m e 协议共同混合而成的i k e 协议为设计基础;策略系统的设计主要采用预 共享密钥和r s a 签名认证的方法:在应用层与网络层之间通讯的关键技 术需要解决p fk e y 协议的设计与实现。 本文的体系结构分为七章展开,各章内容的安排如下: 第一章介绍i p s e cv p n 与动态密钥交换机制之间的关系,包括课题 的背景、项目立项的意义、国内外同类系统开发现状分析以及简要的动 态密钥交换机制i k e 协议的介绍; 第二章介绍了本项目中的i k e 协议总体设计方案:介绍了开发平台、 网络拓扑环境以及i k e 协议的概要设计和总体模块划分: 第三章讨论了i k e 协议通讯机制的架构和i k e 模块采用的三种消息 通信方式:管理消息、网络消息和内核消息及其通信机制的详细实现方 法; l i n u xv p n 的动态密钥交换机制的设计与实现 引言 第四章讨论了i k e 协议中涉及的主要认证方法和加密方法的设计: 包括预共享密钥认证方法、r s a 签名认证方法、m d 5 报文杂凑算法、 d i t i i e h e l l m a n 算法的具体实现过程; 第五章详细地分析和讨论了动态密钥交换的过程:包括i s a k m p 消 息头的解释、载荷的类型说明以及系统中涉及到的两个关键的数据结构 c o n n e c t i o n 链表和s t a t e 库; 第六章详细地分析了v p n 网关中动态密钥交互过程两个阶段主 模式交换和快速模式交换中共计9 条重要消息的具体实现细节: 第七章论述了系统进一步开发的设想。 第章l l s o cv p n 与动态密钥交换机制l i n u x v p n 的动态密钥交换机制的设计与实现 第一章 ip s e cv p n 与动态密钥交换机制 i ii p s e c v p n 概述 v p n 技术是指采用隧道技术以及加密、身份认证等方法,在公众网 络上构建专用网络的技术,该技术保障数据通过安全的“加密管道”在 公众网络中传播。 v p n 技术实现了内部网信息在公众信息网中的传输,就如同在广域 网中为用户拉出一条专线。对于用户来讲,公众网络起到了“虚拟专用” 的效果。通过v p n 技术,网络对每个使用者也是专用的,也就是说v p n 根据使用者的身份和权限,直接将使用者接入他所可以接触的信息中。 所以v p n 对于每个用户也是“专用”的,这一点应该是v p n 给用户带 来的最明显的变化。 i p s e c 是i e t f ( 因特网工程任务组) 于1 9 9 8 年1 1 月公布的妒安全 标准,其目标是为i p v 4 和i p v 6 提供具有较强的互操作能力、高质量数据 传输和基于密码的安全。i p s e c 对于m v 4 是可选的,对于i p v 6 则是强制 性的。 采用i p s e c 协议的v p n 以公用开放的网络( 如 m e m e t ) 作为基本传 输媒体,通过加密和验证网络流量来保护在公共网络上传输的私有信息 不会被窃取和篡改,从而向最终用户提供类似于私有网络性能的网络服 务技术。 i p s e c 网关的基本原理是对子网内的m 数据报进行加密封装和摘要 认证,附加新的数据报头,以公网的数据报格式发送至公网中,在到达 对方子网的i p s e c 网关后,对数据报进行确认和解密,恢复原始数据报, 再发送至相应的子网内主机完成通讯。由于进行了加密,即使数据报在 公网中被截获,对于截取者来说也只是无用的内容。即使截取者能够解 密,其花费的时间将使其解密工作毫无意义,因为此时主机间的通讯已 经完成,因此i p s e c 网关是一种主动式的安全策略和技术。 i ij _ l t l x v p n 的动态解钏交换帆制的设计。,实现第一章l p s e cv p ni i 动态街钊交换机制 i p s e c 包括a h ( 认证头) 、e s p ( 封装安全载荷) 和i k e ( i n t e r n e t 动态密钥交换) 三个协议。a l l 与e s p 协议在i p 层上对数据包进行高强 度的安全处理,提供数据源的验证、无连接数据完整性、数据机密性、 抗重播和有限业务流机密性等安全服务。i k e 协议在应用层实现动态密 钥协商和管理,各种应用程序可以调用i p 层提供的这些安全服务和应用 层提供的密钥协商、管理功能,而不必设计和实现自己的安全机制,从 而减少密钥协商的开销,也降低了产生安全漏洞的可能性。i p s e c 可连续 或递归应用,在路由器、防火墙、主机和通信链路上配置,实现端到端 安全( v p n 传输方式时) 和安全隧道( ) n 隧道方式时) 的虚拟专用网 络( v p n ) ,如图1 1 所示。 图1 1 通过公用同互连的内部网 1 2 动态密钥交换机制与i k e 协议 服务器 在i p s e cv p n 安全网关中,需要对在i n t e m e t 网中传送的数据包进 行加密来保证其在传输过程的安全性。加密的材料由s a d ( s e c u r i t y a s s o c i a t i o n d a t a b a s e ) 即安全关联数据库中得来,由安全关联s a ( s e c u r i t v a s s o c i a t i o n ) 唯一定义。安全关联是通信各方对某些安全要素的一种协定, 它描述了各个通信实体之间的关系:即如何利用安全服务实现安全通信。 安全关联确定了通信过程中所使用的加密算法、认证算法、密钥、传输 苎二兰! ! 竺型兰型受堡塑奎垫塑型! ! 竺! 型塑垫查童塑茎垫垫型塑堡盐量壅堡 数。安全关联的定义则需要通过i k e 协议( 动态密钥交换机制的基础协议1 进行动态协商得到。 i k e ( i n t e m e t k e ye x c h a n g e ) 协议是i p s e c 协议族重要协议之,它 定义了通信双方进行身份认证、协商加密算法以及生成共享的会话密钥 的方法。i k e 的精髓在于它永远不在网络上直接传送密钥,而是通过一 系列数据的交换,通信双方最终计算出共享的密钥,即使第三方截获了 双方用于计算密钥的所有交换数据,也不足以计算出真正的密钥。 i k e ( i n t e m e t k e ye x c h a n g e ) 协议是一种混合型的协议,由i s a k m p 、 0 舢也e y 和s m e 组成。 i s a k i v l p ( i n t e r n e ts e c u r i t ya s s o c i a t i o na n d k e ym a n a g e m e n t p r o t o c 0 1 ) 互联网安全密钥管理协议,该协议为i k e 的验证和密钥交换提供了一个 框架。它支持通信双方对s a 的协商,定义了建立、协商、修改、删除安 全关联( s a ) 的过程和消息传送的各种报文格式。该协议消息既可以由 t c p 传输,也可以由u d p 传输,但是必须支持端口5 0 0 的u d p 服务。 i s a k m p 信包由头和负载组成,它定义了1 3 种负载,分别应用于不同的 i 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 为基础,i k e 借鉴了其他不同模式的思想,使得i k e 可 以以不同的速度进行信息交换。在i k e 中引入了o a k l e y 协议中完美的向 前保护p f s 、身份保护和验证,同时借鉴了采用混合的d i 衔e h e l l m a n 技 术建立会话密钥的方法。在i sk m p 的框架中,i k e 采用了o a k l e y 不同 交换模式的思想,提供了主模式、快速模式和野蛮模式供用户选择。 s k e m e 由加密专家h u g ok r a w c z y k 设计,它定义了验证密钥交换的 一种类型。其中通信各方利用公共密钥加密实现相互间的验证,同时“共 享”交换的组件。每一方都要用对方的公共密钥来加密一个随机数字, 两个随机数解密后都会对最终的密钥产生影响。i k e 协议在交换过程中 l i n u xv p n 的动态密钥交换机制的设计与实现 第一章i p s e cv p n 与动态密钥交换机制 就借鉴了这种方法从而实现了公钥加密验证和快速密钥更新。 i s a k m p 、o a k l e y 和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 1 。 1 3i p s e cv p n 与i k e 协议的关系 在i p s e c 的身份验证和机密性技术中都涉及安全关联( s a ) 。安全关 联为发送方和接受方之间的通信流提供安全服务。安全关联是单向的。 i p s e c 的密钥管理部分涉及到为安全关联确定和分发保密密钥。i p s e c 体系结构要求支持两种类型的密钥管理: ( 1 ) 人工密钥管理:系统管理员使用每个系统自身的密钥以及其他通 信系统的密钥来人工配置系统。这对于小型的相对静态的环境来 说是非常实用的: ( 2 ) 自动密钥管理:根据需要自动为安全关联创建密钥,适用于配置 在不断变化的大型分布式系统中。, i p s e c 默认的实现自动密钥管理机制的协议是i k e 协议。i k e 协议是 i s a k m p 、o a k l e y 、s k e m e 协议的一种混合,是一个完整的、自动的、 端到端的密钥管理体系。它保证了密钥交换的安全性,包括i p s e c 通信双 方的身份认证、协商使用的安全协议、加密算法以及各种密钥,同时动 态维护安全关联( s a ) 。但i k e 也不是i p s e c 专用的,其他协议如r i p v 2 和o s p f 协议也可以用i k e 协议来协商具体的安全服务。 i k e 协议,i p s e c 与网络体系结构的关系如图1 2 所示: 第一带 ip s e cv p n ,动态晰钏交换机制l i i u xv p n 的动态密钏变换机制的设计实现 网络应用程序接口i :一露勰瓣4 传输层协议( t c p u d p ) 瘸络层协议( i p ) 。、_ i p s e c 安全协议 数据链路层协议 图1 2i k e 协议,i p s e c 安全协议与网络体系结构的关系 1 4 国内外同类v p n 产品开发现状与实例分析 目前国内外已先后陆续开发出一些v p n 网关设备或带有v p n 功能 的防火墙设备。 国内同类产品方面,目前比较流行的有北京天融信、广州天网、上 海华依、上广电等诸多面向电信级、企业级、部门级的品牌。其中, u t r u s ts f l 2 0 是由上广电应确信公司自主研发的主要面向中、小型企 业的十兆级硬件防火墙。u t r u s ts f l 2 0 防火墙的硬件体系结构完全由 应确信公司根据防火墙产品的特点自主设计、研发,操作系统选用专用 的安全、实时操作系统,为了获得更高的性能和更强的功能,更完全自 主实现了标准的t c p i p 协议。 u ,t r u s ts f l 2 0 防火墙在管理方式上支持友好的w e b 管理、强大 的标准c l i 管理和方便的基于标准s n m p 的管理。它支持的主要功能有: 静态路由、基于i p 和时间的访问控制( a c l ) 、基于状态检测的数据包 过滤、动静态双向n a t 、对多种网络攻击的检测与防御、基于a a a 的用 户验证、授权和统计、增强的日志管理功能、标准的s n m p 管理功能、 基于i p s e c 的v p n 功能、p p p o e 和d h c p 服务器。 l i n w xv p n 的动态密钥交换机制的设计与实现 第一章i p s e cv p n 与动态密钥交换机制 上广电u t r u s ts f l 2 0 防火墙是一种结合了v p n 功能的防火墙设 备。这类设备存在以下问题:偏重防火墙功能而没有很好地实现i k e 功 能,采用手工输入密钥的方法,没有实现动态密钥【2 1 1 。 国外同类产品方面,硬件方案实现的有c i s c o 、c a 等公司的v p n 产 品,软件方案实现领域流行的一个著名的i p s e c 开放源代码软件是 f r e e s w a n 。f r e e s w a n 通过挂接i p s e c 处理模块实现i p s e c 协议, f r e e s w a n 由三个模块组成:k l i p s 模块( i p s e c 的核心实现) 、p l u t o 模 块( 实现i k e 协议) 、p fk e y 模块( 实现p fk e y2 协议以完成上述 两个模块间关于s a 的通信) 。 f r e e s w a n 设计中,在接收处理方面,数据包首先通过正常处理, 然后调用i p s e c 处理模块,经过i p s e c 处理后,重新组装p 包,发到虚 接口。虚接口连接到内核的标准i p 接收处理入口,再经过一次口包的正 常处理后,发送到传输层进行进一步的处理。在发送处理方面,数据包 经过正常处理后,在准备发送到实际的物理接口前判断是否需要i p s e c 处理,如果需要则先发送到虚接口,调用i p s e c 外出处理模块。经过i p s e c 外出处理后,重新发送到内核的标准p 层外出处理入口,然后重新进行 妒分片及其他的p 层外出处理,并重新路由。最后将包发送到链路层, 通过实际的物理出口发出进入网卡1 2 2 1 。 由于i p s e c 模块并没有集成到原有的i p 协议栈中,i p s e c 处理模块实 际上是独立于内核的,i p s e c 处理程序几乎对内核没有任何修改,但是经 过多次重复的处理口包,大大地增加了口包在i p 层处理的时间,极大 地影响了i p 包处理的效率。这对于业务繁忙的网关,将影响正常的通信, 成为通信的瓶颈,严重时可能造成大量的数据包丢失,使业务受阻【2 2 1 。 f r e e s w a n 这款外挂式的安全网关程序虽然在实现效率上受一定影 响,但是在实现策略上还是有很多值得借鉴的地方。由于f r e e s w a n 软 件为外挂式的,其和内核的交互必须通过程序所提供的句柄,这样在时 间的花费上必然大大高于直接改造内核的程序,针对这个问题,本项目 塑二皇堡璺! ! ! n 与动态密钥交换机制l i n u xv p n 的动态密钥交换机制的设计与实现 通过对l i n u x 内核i p 协议栈直接进行改造,得到一个具有安全网关功能 的新内核,与f r e e s 、v a n 相比,本课题所进行的开发追求的是i p s e c 与 内核的一体化设计,这样大部分安全网关功能在内核空间实现,大大降 低了与内核交互的消耗。从这个角度来看,本课题的研究将优于外挂式 的安全网关程序f r e e s w a n 。 1 5 国内外同类v p n 产品的存在问题 目前国内的v p n 软件、v p n 网关设备或结合v p n 网关功能的防火 墙设备主要存在以下几个方面的问题: ( 1 ) v p n 如采用软件实现( 如w i n d o w s2 0 0 0 中提供的v p n ) ,平台 采用的核心操作系统都是国外的操作系统,其安全性完全控制在 他人手中; ( 2 ) 配置方法比较复杂: ( 3 ) 与防火墙的结合类产品重在防火墙功能,而对i p s e c 的实现相对 较为简单和不完善,几乎无法作为真正的v p n 网关使用: ( 4 ) 密钥管理有不少都是手工输入与配置,没有实现动态密钥交换; ( 5 ) 策略系统实现不完善。 国外v p n 产品比国内而言成熟许多,但其大部分的产品也存在以下 问题: ( 1 ) v p n 平台采用的操作系统安全问题,这些产品所基于的操作系统 都是国外的产品: ( 2 ) i k e 动态密钥管理并没有全面实现,不少产品没有实现协商动态 安全关联s a 的密钥交换; ( 3 ) 策略系统实现不完善; ( 4 ) 一些产品采用外挂式体系实现,造成i p 处理重复,效率降低。 l m u xv p n 的动态密钥交换机制的设计与实现 第一章i p s e cv p n 与动态密钥交换机制 1 6 课题开发的目标与意义 通过以上对国内外相关产品现状的分析研究,可知目前对i p s e cv p n 网关和结合i p s e cv p n 网关功能的防火墙的设计与应用还存在着一些问 题,这些存在的问题反过来限制和降低了v p n 的安全性能,也影响了 v p n 在我国各行业中的推广。 针对以上问题,本课题提出的开发目标是: ( 1 ) 基于l i n u x 开放源码操作系统进行开发设计,在此基础上进行精 简和安全强化,保证操作系统的安全性,在相当程度上回避操作 系统安全性薄弱的风险; ( 2 ) i p s e c 与l i n u x 一体化设计,追求i p s e c 模块与内核的无缝嵌入, 避免外挂式模块多次出入p 层影响包传送效率的问题; ( 3 ) 设计用户友好的控制台管理配置模块,通过控制台管理模块的相 应参数配置,对策略系统进行实时的语法分析和整理,避免用户 界面不够清晰友善以及策略系统中出现的策略前后矛盾、考虑不 周全的弊病; ( 4 ) 采用动态、手工两种选择的密钥交互方法,既考虑到在小型网络 中建立v p n 隧道方便快捷,又考虑到在安全强度要求高的系统 中建立v p n 隧道时确保高保密度的要求。 从总体开发进度而言,本系统目前已经完成的部分有:启动引导模 块、a h 模块、e s p 模块、i k e 交互的大部分模块、p fk e y 协议的大部 分模块,其余模块还在开发中。 本课题研究的意义在于: ( 1 ) 分析、研究了国外设计上比较成熟的v p n 产品,探讨并吸收这 些产品设计中的先进技术和方法,这对于借鉴国外的网络安全系 统软件的先进设计思想是一次很好的学习过程。 ( 2 ) 在v p n 系统软件的一体化设计思想地指导下进行开发,同时克 服了国内外些v p n 产品中暴露出的不足之处,这对于探索网 第一章i p s e c w n 与动态密钥交换机制l i n u x v p n 的动态密钥交换机制的设计与实现 络安全领域v p n 网关设计是一次有益的尝试。 ( 3 ) 既广泛吸收国外产品先进开发经验与优点,又在积极创新思想的 指导下开发,对开发具有自主知识产权的v p n 产品是一次初步 的探索。 i l i j7 k v p n 的动态晰钏交换机制的设汁,实观 第二章l k e 协议总体设计 2 1 系统开发环境介绍 2 1 1 开发平台 本系统使用l i n u x 操作系统作为构筑基于i p s e c 协议多隧道安全网关 的平台,内核版本为2 0 3 4 。由于l i n u x 是开放其内核源代码的类u n i x 操作系统,任何用户都有权利修改内核源代码,重新编译以满足特殊的 要求。本系统中部分为系统级程序,作用在网络层,部分为应用级程序。 本系统采用c 语言编写。 2 1 2 模拟开发环境 v p n 网关在实际应用中设置在两个局域网的端点处,网关将内网与 i n t e r n e t 有效的分隔开,在数据传输方面做到切实的防护,既有包过滤防 火墙的功能,也有数据加密防破解及认证的安全性保护,有效地保证信 息在i n t e r n e t 网络中传输时的安全性。 在实际应用中,v p n 安全网关的应用环境如图2 1 所示。 争晰e m 吼坦圃 v p n 髓关、,画而 ( _ _ _ 。 蛳删 j 图2 1v p n 安全网关应用环境 l if l u xv p n 的动志杆钏交换机制的殴计j 实蚬 本课题在开发过程中,在实验室中对v p n 应用环境进行了有效的模 拟,其中由两台计算机各装两块网卡模拟v p n 网关,另外分两个组计算 机分别模拟两个内网的情况。 v p n 实验室开发模拟环境具体如图2 2 所示。 图2 2 系统拓扑结构 v p n 安全网关模拟开发环境的网络具体配置如下: ( 1 ) 内网( 子网1 ) 客户机若干( 2 1 0 2 9 1 7 4 x x x ) i ( 2 ) v p n 安全网关l ( 两块网卡,i p 分别为:2 1 0 2 9 1 7 4 1 5 7 ,1 9 9 1 1 1 ) ; ( 3 ) v p n 安全网2 ( 两块网卡,i p 分别为:1 9 9 1 1 2 ,2 0 0 1 1 2 ) ; ( 4 ) 内网( 子网2 ) 客户机若干( 2 0 0 1 1 x x x ) 。 1 j i q l i x v p n 的动态博钏交换机制的设计i 实现 2 2i p s e cv p n 安全网关总体设计 图2 3i p s e cv p n 安全网关的总体设计框图 图2 3 是i p s e cv p n 安全网关的总体设计框图。在本系统的设计中有 两个很重要的库结构s a d 数据库和s p d 数据库,它们以文件的形式 存放在磁盘上。其中安全策略库( s p d ) 存放了由用户或系统管理员所制 定的策略,决定是否需要对数据进行i p s e c 处理,以及指定i p s e c 处理所 使用的算法、模式等安全参数;安全关联数据库( s a d ) 由一系列s a 组 成,供内核中的内核消息管理模块进行调用。 在内核空间中,i p s e c 进出处理模块负责对出入网关中的i p 信包进 l i n u xv p n 的动态密钥交换机制的设计与实现 加密算法进行a h 处理或e s p 处理。当i p s e c 进出处理模块需要安全策 略s p 、安全关联s a 的时候,则在内核s p 、s a 队列中取出相应的s p 、 s a ,如果s a 队列中没有相应s a ,就触发内核空间的内核消息管理模块 与应用层i k e 守护进程交互,启动i k e 协商得出需要的密钥。 i k e 守护进程中的网络消息处理模块经与另一v p n 网关中的i k e 守 护进程协商得到安全关联s a ,在同一进程内调用内核消息处理模块,使 用p fk e y 2 协议将该协商得到的安全关联s a 传入内核空间中的内核消 息管理模块,由其负责对内核中的s a 队列做相应修改。 用户空间的用户管理与配置进程提供给使用者友善的管理界面,进 行s a d 、s p d 以及相关认证、加密算法及生存时间等参数的手工配置。 它负责与i k e 守护进程中的用户消息处理模块联系,将用户管理界面中 的用户可选择配置项的改动直接与i k e 的协商过程联系起来,也可以通 过内核消息处理模块将用户对配置的改动直接写入内核中相应的s p 队列 和s a 队列中,供i p s e c 进出处理模块使用,同时它还负责将用户的配置 与操作记录在配置文件和日志文件中。i k e 交互后得到的信息也可直接 写入到日志文件中。 运行在用户空间的i k e 守护进程由五个模块组成,分别是用户消息 处理模块、网络消息处理模块、时钟消息处理模块、内核消息处理模块 和状态库与消息验证处理模块。其中的网络消息处理模块负责通过u d p 协议以5 0 0 号端口完成i s a k m p 消息收发,并且实施动态密钥交换两个 阶段全部的消息协商过程,最终得到加密所需的安全关联s a 。具体i k e 相关模块的设计将在2 4 节中详细阐述。 2 3i k e 概要设计 本课题是在已完成的基于r e d h a tl i n u x 5 0 ( k e r n e l2 0 3 4 ) 平台的 i p s e ca h e s p 实现模块基础上进一步开发。原系统实现了a h e s p 与 l i n u x 内核的一体化设计,不过它只是初步实现了i p s e cv p n 的手工配置 l1n l l xv p n 的动态密钏交换机制的设计2 0 实现 l i n u x 内核的一体化设计,不过它只是初步实现了i p s e cv p n 的手工配置 【2 0 1 。本期开发实现动态密钥交换机制,使得虚拟专用网网关两个应用层 进程实体间可以通过i s a k m p u d p 进行密钥交换,并和系统内核的i p 协议栈间进行p f k e y 协议密钥存取与修改消息的交互。 整个v p n 安全网关中i k e 协议所处的位置概况图如图2 4 所示: 丽亘 主批 矾与配 攒进称 瘟用层 i k e 守 护进程 传辕层 ( 。r c p 0 1 ) p ) i p s e c 安全内核 消息 通佑 帆制 f s a k , 协蕊s 嗣鱼 主帆b l e e 守 护进程 应用层 弹与配 拦进程 漪息 通信 帆制 网络层受保护的数据包 图2 4i k e 协议概况图 传输屡 ( t o p u d p ) i p s e c 安全内桉 其中i k e 进程作为应用层中的一个守护进程,负责同协商实体的交 互、对i k e 载荷的加密验证处理以及同内核交互。i k e 守护进程可通过 共享内存或s o c k e t 消息通信的方法完成与应用层管理进程之间的通信, 通过p fk e y 2 套接口完成与i p s e c 安全内核之间的消息通信、完成对s a 队列的修改、增加、删除的操作,通过a fi n e t 套接口在s o c k e t 通信机 制下对采用u d p 传输协议方式的5 0 0 号端口进行监听及收发,完成 第一市1 k e 协议沮体设汁 l i n u xv p n 的动态密钏交换机制的砹汁j 爻州 i s a k m p 数据包的发送与接收,进行动态密钥交换机制中的两个阶段关 于s a 的协商过程,最终在两个安全网关之间协商出i p s e c 保护数据包所 需的安全关联( s a ) 。 2 4 i k e 模块划分 i k e 划分为下图所示的五个模块: 图2 5i k e 模块划分图 i k e 的主要模块由守护进程统一控制调度,i k e 守护进程负责利用 u d p 5 0 0 端口交互双方协商密钥的消息,利用i s a k m p 消息的格式, o a k l e y 的相关交换模式,以及s k e m e 的相关加密方法完成协商密钥的 过程。这个过程要考虑超时重发机制,防止由于传输层使用u d p 协议而 导致的丢包现象。 i k e 守护进程中包括用户消息处理模块、内核消息处理模块、时钟 消息处理模块、网络消息处理模块、状态库与消息验证处理模块五个模 块,它们的作用分别是: ( 1 ) 用户消息处理模块与用户管理与配置进程交互,将用户对有关配 l i n u xv p n 的动态密钥交换机制的设计与实现第= 章 i k e 协议总体设计 体而言,它负责响应界面网络管理员手工配置接口中所做的实时 修改:包括对内核中安全策略数据队列s p ,内核中安全关联数据 队列s a 的相关增加、删除、修改操作:手工触发i k e 协商:传 递用户管理模块中对加密、验证方法的定义给相关模块等。 ( 2 1 网络消息处理模块负责对协商过程中的数据包进行处理,根据收 发到的数据包,与状态库与消息验证模块联系,判断当前包所处 的状态,对不同阶段的不同消息进行组包,同时调用状态库与消 息验证模块中的认证和加密算法,对包进行对应阶段中的相应处 理; ( 3 ) 状态库与消息验证模块中包含了进行i k e 协商所必需的状态库 的结构,以及i k e 协商过程中不同阶段对应的不同的认证和加密 算法,包括杂凑算法m d 5 、s h a 1 ,数字签名算法r s a ,消息认 证算法h m a c 等,对它们进行综合运用,可以满足不同阶段对 加密认证的需求; ( 4 ) 时钟消息处理模块的设计是为防止由于延迟或丢包的现象而造 成u d p 包在接收时不完整,由时间计数器跟踪发送出去的消息, 在时间到达5 秒的时候查询它的应答消息。如果没有应答消息, 则采用重发的方法继续发出原消息,如果消息重发多次仍无应 答,则确认消息丢失,终止此次协商; ( 5 ) 内核消息处理模块通过p fk e y 2 协议与内核中的内核消息管理 模块交互,对内核消息链表监控得到内核相关消息,包括内核的 s a 请求、s p i 请求,并传递给进程中相关模块;另一方面,根据 i k e 协商结果对内核中s p 队列和s a 队列进行增加、删除、修改 等操作。i k e 协商的主要模块运行在用户空间,但同时必须与内 核空间交互,以完成对s a 队列的相应操作,所以内核消息处理 模块也是本次设计中很重要的一个模块。 第= 辛 k e 架构一消息通信机制的设计l i f l u xv p n 的动态桁钏交换机制的设计1 j 实现 第三章 ik e 架构与消息通信机制的设计 3 1i k e 架构与消息通信机制 i k e 守护进程的执行牵涉n = - - 个方面的消息队列,如图3 1 所示: 图3 1 消息队列 管理消息是用户管理配置进程与i k e 进程间的通信机制使用的交互 消息,通过进程间的通信机制,该消息被发送给i k e 守护进程的用户消 息处理模块。管理消息提供系统需要的各种用户配置参数,包括自身和 对方网关机器的身份信息、密钥信息、协商策略和协商时机等,可满足 手工配置i k e 所需参数的需要。 网络消息是利用u d p 5 0 0 端口交互双方协商s a 的消息,利用 i s a k m p 消息的格式、o a k l e y 的相关交换模式以及s k e m e 的相关加密 方法完成协商密钥的过程。这个过程要考虑超时重发机制,防止由于传 输层使用u d p 协议的不可靠而导致的丢包现象。 内核消息是应用进程与内核之间交互的消息,利用p fk e y 2 协议, 实现应用进程和内核之间的消息传递。通过一个消息链表,应用进程可 以收到内核的s a 请求从而启动s a 协商,也可以将s a 协
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南建业房子的施工方案
- 女神节形体活动策划方案
- 天猫运动营销方案设计
- 拆阳台施工方案怎么写
- 农安医疗建筑方案设计服务
- 减垄增地施工方案
- 城市红色建筑调色方案设计
- 榆林聚仙禄宾馆专线项目竣工报告
- 水果甜品店营销方案模板
- 教师资格证考试(高中数学)教育知识与能力专项训练试卷2025
- GB/T 20969.1-2021特殊环境条件高原机械第1部分:高原对内燃动力机械的要求
- GB/T 19868.4-2005基于预生产焊接试验的工艺评定
- GB/T 19633.1-2015最终灭菌医疗器械包装第1部分:材料、无菌屏障系统和包装系统的要求
- GB/T 10125-2021人造气氛腐蚀试验盐雾试验
- 吸附及吸附过程课件
- 羽毛球运动基础知识简介课件
- 设计美学研究课件
- 管道施工安全检查表
- 部编版七年级上册语文《雨的四季》课件(定稿;校级公开课)
- 自动控制原理全套ppt课件(完整版)
- 归园田居优质课一等奖课件
评论
0/150
提交评论