(计算机应用技术专业论文)基于des和rsa算法的数据加密传输系统的设计和实现.pdf_第1页
(计算机应用技术专业论文)基于des和rsa算法的数据加密传输系统的设计和实现.pdf_第2页
(计算机应用技术专业论文)基于des和rsa算法的数据加密传输系统的设计和实现.pdf_第3页
(计算机应用技术专业论文)基于des和rsa算法的数据加密传输系统的设计和实现.pdf_第4页
(计算机应用技术专业论文)基于des和rsa算法的数据加密传输系统的设计和实现.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

羲于d e s 和枞算法的数据加密传输系统的设计和实珧 中文摘要 基于d e s 和r s a 算法的 数据加密簧输系统的设计和实现 中文摘要 网络安全是信息安全中的重要研究内容之一,也是当前信息安全领域中的研 究热点。保护网络系统中的数据不受偶然或恶意原因而遭到破坏、更改、泄露, 是网络安全的主要内容之一。目前比较实用的方法是对网络中传输的数据进行加 密,而数据加密要依赖于成熟的数据加密算法。 d e s 和r s a 是两种应用非常广泛和成熟的数据加密算法。本文通过对d e s 和r s a 加密技术进行分析,在v c + + 平台上设计实现了网络数据加解密系统。 即建立一个安全的数据传输系统,包括信息交换格式、交换协议和加解密算法, 从而保证网络数据的安全传输。 系统的整体设计建立于现在流行的分布式系统的基础上,即保证各个a g c m 与中央控制器进行安全数据传输,具有良好的可操作性,能够适用予不同的应 用环境。和传统的一些平台相比,v c + + 平台能够使系统具有较高的效率和可用 性。在系统的具体实现上,充分利用了v c + + 平台的特点与优势,大大提高了 系统的的可靠性。 关键字:d e s ,l i s a ,数据加密,分布式系统 作者:朱作付 指导老师:徐汀荣 a k n r 虻t t h e d e s i g n 釉di 雄l e 辩 # 8 i 。no f0 a t a # # c q m 删? 强n 鞠i s s i 椰s y s t e * n s e s e do n 瑾嚣a n d # s l 科i 如_ t h ed e s i g na n di m p l e m e n t a t i o no f d a t ae n c r y p t i o n t r a n s m i s s i o ns y s t e mb a s e do nd e sa n dr s a a l g o r i t h m a b s t r a c t t h es e c u r i t yo fn e t w o r ki so n eo ft h ei m p o r t a n ts t u d yc o n t e n to ft h es e c u r i t yo f i n f o r m a t i o n ,i ti st h er e s e a r c hh o t p o to ft h ei n f o r m a t i o ns e c u r i t yd o m a i n t h e s e c u r i t yo fd a t ai sm o s t l yc o n t e n to ft 1 1 en e t w o r k ss e c u r i t y a tp r e s e n tt h eq u i t e p r a c t i c a lm e t h o di s t h ed a t aw h i c ht r a n s m i t st ot h en e t w o r ki nc a r r i e so nt h e e n c r y p t i o n ,b u tt h ed a t ae n e r y p t i o nm u s tr e l yo nt h em a t u r ed a t ae n c r y p t i o n a l g o r i t h m d e sa n dr s aa r et w ok i n do fa p p l i c a t i o n se x t r e m e l yw i d e s p r e a da n dt h em a t u r e d a t ae n c r y p t i o na l g o r i t h m t h i sa r t i c l et h r o u g hc a r r i e so nt h ea n a l y s i st od e sa n d t h er s a e n c r y p t i o nt e c h n o l o g y , d e s i g n e di nt h ev c + + p l a t f o r mr e a l i z e st h en e t w o r k d a t ae n e r y p f i o n s y s t e m n a m e l ye s t a b l i s h e s as a f ed a t at r a n s m i s s i o ns y s t e m , i n c l u d i n gt h ee x c h a n g eo fi n f o r m a t i o nf o r m ,t h es w a pa g r e e m e n ta n da l g o r i t h m ,t h u s g u a r a n t e en e t w o r kd a t as a f et r a n s m i s s i o n t h es y s t e md e s i g ne s t a b l i s h e st ot h ep r e s e n tp o p u l a rd i s t r i b u t i o n a l s y s t e m f o u n d a t i o n ,n a m e l yg u a r a n t e e de a c ha g e n ta n dt h ec e n t r a lc o n t r o l l e rc a r r i e so nt h e s a f ec o r r e s p o n d e n c e , c a r lb es u i t a b l ef o rt h ed i f f e r e n ta p p l i c a t i o ne n v i r o n m e n t c o m p a r e dw i t ho t h e rp l a t f o r m v c + + c a nm a k et h es y s t e mh a sm o r ee n f i c i e n c ya n d p r a c t i c a b i l i t y d u r i n g r e a l i z a t i o no ft h e s y s t e mw em a k eg o o du s eo ft h e c h a r a c t e r i s t i ca n da d v a n t a g eo fv c + + s ot h a tw ec a ne n h a n c er e l i a b i l i t yo ft h e s y s t e m k e y w o r d :d e s ,r s a ,d a t ae n c r y p t i o n ,d i s t r i b u t e ds y s t e m l i w r i t t e nb yz h uz u o f u s u p e r v i s e db yx ut i r t r o n g 苏州大学学位论文独创性声明及使用授权声明 学鼓论文独创性声骥 零夭都羲声疆:掰撵交黪学位论文是本人在导薅懿接导下,独立避嚣礴究王终酝 取得的成果。除文中已经注明引用的内容外,本论文不含其他个人或集体已经发表或 撰写过的研究成果,也不含为获得苏卅i 大学或其它教育机构的学位诞书而使辩 过的丰才 辩。鼹零文瓣疆究掺遗重要黉黻魏个人稻集髂,均跫在文孛以明确方式蠢弱。本人承 担本声明的法律责任。 研究艇签名:超菇争谆日期:盘芝j 基4 螅 学位论文捷掰授投声鞠 苏州大学、中国科学技术信息研究所、图家图书馆、清华大学论文合作鄢、中酗 鞋懿貌交麸髂患德掇孛心套权保器零久致邀突学燕谂交懿笺秘 睾翻魄子文搂,可以聚 用影印、缩印或其他复制手段保存论文。本人电子文档的内裤和纸殿论文的内容相一 致。除在保密期内的保密论文外,允许论文被查闵和借阕,酊以公布( 包括聱j 登) 论 文鹄全部或部分内签。沦文的公毒( 包括刊登) 授投苏州大学学位办办理。 研究生签名:毒兮她 日 期:_ j 二驻r l 蚴。 导师签名艇日期:正眈吐 基于d e s 和l t s 算法的重据加密传输系统的设计和实现 第一章鳍论 1 1 研究背景 第一章绪论 自2 0 世纪9 0 年代以来,计算机网络技术得到了空前飞速的发展和广泛的 应用,但网络在带给我们方便快捷的同时,也存在着种种安全危机,随着计算 机应用的目益广泛和深入,信息交流和资源共享的范围不断扩大,计算机应用 环境日趋复杂,计算机的数据安全问题也越来越重要。 在计算机网络日益扩大和普及的今天,计算机对安全的要求更高、涉及面 更广。其内容主要包括: ( 1 ) 实体安全实体安全是指对场地、环境、设施、设备、载体、人员采取 的各种安全对策和措施: ( 2 ) 数据传输网络安全。是指信息在数据传输网络中传输时,如何保证其安 全性的问题,避免在传输途中遭受非法窃取、篡改等; ( 3 ) 软件安全。它涉及信息在存储和处理状态下的保护问题: ( 4 ) 信息安全。即数据安全,是指系统有能力抵抗外来非法入侵者对信息的 恶意访问、泄漏、修改和破坏等,即:机密性、完整性、可用性【n 。 所以,如何实现计算机网络中数据安全传输近年来一直是人们研究的课题 之一。 1 2 研究现状 一般来说,数据的操作包括存储、传输、处理3 个过程,数据在网络上传 竣畦霹疑会遇裂弱攻毒手段鸯: 法燧户营兖会洼震户对系统进行; 法访蠲; 非法窃听敏感数据;黼意篡改窃听到的数据,使接收方接收到的数据失真甚至 完全酸筇等。鼹络安全豹簸务主要包精:骞傍验证、谤蠲控翻、数撵究整毪、 数据加密、防抵赖和审计追踪蒋。 迄今为止,对网络和数据传输安全的最重矮的自韵工具燕加密。数据在嘲 络上传输时,熊安全威胁主要来自于非法窃听,因此霹将数撼经加密箨法加整 成密文,然后辫将密文发送到湖络上传输,这怒一种十分有效的安全僳密手段。 曼= 至堑搀墨量脞塑婪盎墨望墼墼燃垫查焦煎蓬錾塑墼鼓麴塞塑 对数撩笳密系统懿研究除了嬲解密髯法本身作深久磷究拜,还包摇密锭 的生成、分发和密锯本身的安全性。加密算法的安全性一方面依赖子算法内部 的数学结构的严密性,别方面也依赖于密钥的僚密往。密钥在加密算法中有 羞举是轻黧黪蟪攮,密锶一且被泄蒺,则意味羞任秘入在这个热密系统中都能 加密和解密信息,加密算法也形同虚设。因此用什么样的数据作为密锔、如何 将密锈分发绘数摄搀 蠡双方及翔霹绦存密钥都是专努藿要麴。嚣玟建立一令安 全的数据传输系统是目前网络安全领域研究的重点之一【1 1 。 1 3 密码学及密码体制的构成与分类 既然研究数据加密技术,我们必须要了解数据加密的一些基础知识,也就 是密码学的基础知识。通常情况下,人们将可懂的文本称为明文;将明文变换 成的不可懂的文本称为密文。把明文变换成密文的过程叫加密;其逆过程,即 把密文变换成明文的过程叫解密。明文与密文的相互变换是可逆的变换,并且 只存在唯一的、无误差的可逆交换。 1 3 1 密码体制的定义与构成 一个密码体制s 可定义为s = ( m ,c ,k ,e ,d ) ,其中m 是明文空间( 亦 称信息空间) ,c 是密文空间,k 是密钥空间,e 是加密映射族e - - - - ( 位:m - c l k k ) ,d 是解密映射族d = ( g k :c m | k k ) 。 一个密码体制由以下五个部分组成: 明文空间,; 密文空间c : 加密密钥空间疋: 解密密钥空间岛: 加密变换e :p k 。寸c ; 解密变换d :c x k ,_ p : 用m 表示明文,c 表示密文。加密变换e o t , m ) r i g ne k ( m ) ,解密变换d ( k ,c ) 又 己为 d k ( c ) a 如果v m p ,d 。,x e 。,( m ) = m 成立,则称该密码体制具 裔保密毪:如果坳l p ,繇。x d r , ( 册) 一拼成立,并置解密密锈必能被曝一蓊 一个数擐建臻实体掰知骁,到豫该密玛体豢g 具有认迁性。 当我们强调一个密码体制的保密功能时。称该密码体制为加密体制;强调 一令密玛髂涮熬诀涯功黢辩,称该整羁髂铡为签名体制;强调一令塞弱髂裁豹 密钥交换功能时称该密硝体制为密钥交换体制。 1 3 2 密码体制的分类 随着密码学的不断发展出现了两种不同的密码体制,他们分别是对称的密 码体制和非对称的密码体制。 对称的密码体制: 又称单钥体制、私钥体制、传统密钥体制,它的特点是已知e k 和d k 中的 任意一个,就能容易的求出另外一个。同时对e k 和d k 加以保护即可满足保密 性和真实性的要求。对称密码体制的优点是具有很高的保密强度,可以达到经 受较高级破译力量的分析和攻击。但它的密钥必须通过安全可靠的途径传递, 密钥管理成为影响系统安全的关键性因素,使它难以满足系统的开放性要求。 对称密码加密算法中最著名的是d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 加密算 法,它是由m m 公司开发的数据加密算法,它的核心是乘积变换。美国于1 9 9 7 年1 月将其定为非机密数据的正式数据加密标准。它可有效地防止穷尽搜索攻 击。还有一些其他常用的私钥加密算法,如3 d e s 、i d e a 等。 非对称的密码体制: 与对称的密码体制相对,又称双钥体制、公钥体制,它的特点是已知e k 无法容易的求出d k ,从而公开e k 不会丧失对d k 的保护。非对称密码体制的 主要优点是可以适应开放性的使用环境,密钥管理问题相对简单,可以方便、 安全地实现数字签名和验证。最初,它是美国的m e h a l l m a n 、w d i f f i e 和 r m e r k l e 于1 9 7 6 年提出。 非对称加密算法中最著名的是由美国m i t 的r i v s e t 、s h e m i r 、a d l e m a n 于 1 9 7 7 年实现的r s a 算法。 1 4 论文的研究内容 本论文是针对密码系统的当前研究状况,主要研究加密算法的应用设计与 实现。本论文在研究经典算法的基础上,根据网络应用的具体情况,在v c + + 平 台上,设计并实现了将用户名、口令以及需要传输的明文经过加密以后开成密 文,经信道传输到网络的另一端再进行解密得到原始数据的分布式安全传输系 统,从而保证敏感数据在网络上传输的机密性和安全性。 此外,在技术实现上,本文采用d e s 和r s a 相结合的方法,使用d e s 方 法加密数据文件,使用r s a 加密文件密钥。这样既提高了系统的运行速度,又 解决了单钥密码的密钥分发问题。 第二章常用加密技术分析 为了更好地耀解本系统,现税我们分析一下本系统所依据的加密技术原理。 2 1 常规加密密码学 常规加密又称为对称加密或单密钥加密,在这种体制中,需要对加密密钥 与解密密钥保密,且加密密钥与解密密钥相同,即从一个易于得出另一个,其 本质就是替换与置换密钥【5 1 。在常规密钥密码体制中,不知道密钥的第三者无 法解释密文,密钥的传送是通过与密文信道不同的其它秘密信道进行。 2 1 1 常规加密密码学模型 常规密钥密码加密系统由以下五部分组成: 夺p l a i n t e x t :明文输入 夺e n c r y p t i o na l g o r i t h m :加密算法 夺s e c r e tk e y :加解密密钥 c i p h e r t e x t :加密密文 d e c r y p t i o na l g o r i t h m :解密算法 图2 - 1 显示了常规加密过程。最初的可理解的信患称为明文,它被转换为表 面上看来是无规则的和无意义的密文。加密过程由算法和密钥组成,密钥是独 立于明文的值,算法根据当时所使用的特定密钥产生不同的输出,改变密文就 改变了算法的输出。 图2 - i 常规密钥密码加密模型 整三震整旦麴燕热查熊擞基2 盥塑戳鬟莲丝塾爨地查焦熊薰苤鲤垦盐麴壅型 一旦产生了密文,该密文就能够被用于传输。在接收方,通过使用解密算 法释瘸子热密豹艇弼整镅,该密文能够被转换殛最初的暖文。 常规加密的安企性取决于几个因素。第,加密算法必须足够强大,使得 投缀据密文缓译爨辨文是不壤实琢鹣。第二,豢援麴密弱安全牲取决予密甥豹 安企性,耐不是算法的安垒性,也就是说,基于密文和加镦解密算法的知识破 译密信意鹃傲法楚不现实豹,换言之,我稚不登荧雾法僳密,仅需瓣密锈傺整。 对平常规磷钥的使用主要的安全问题是维护密钥的安全。 2 1 2 数据加密标准( d e s ) 目前使用最广泛的加密方法都基于1 9 9 7 年被美国标准局作为第4 6 号联邦 信息处理标准而采用的数据加密标准d e s 。d e s 算法是对称密码体制的算法中 最著名的代表,它是由m m 公司在7 0 年代发展起来的,并经过政府的加密标 准筛选后,于1 9 7 6 年1 1 月被美国政府采用,d e s 随后被美国国家标准局和美 国国家标准协会( a n s i ) 承认州。 d e s 是一种分组密码体制。在d e s 中数据以“位分组进行加密,密钥长 度为5 6 位( 另外8 位可以作为奇偶检验或者完全随意设置) 。加密算法经过一系 列的步骤把6 4 位的输入变换成6 4 位的输出,解密过程中使用同样的步骤和同 样的密钥。其基本思想就是采用变换的组合与迭代,将明文中的各组变为密文 组。d e s 加密过程分为以下由个步骤: ( 1 ) 初始置换。在初始置换过程中,6 4 位的明文经过一个初始循环i p 后, 比特重排产生了经过置换的输入。初始置换过程如图2 - 2 所示: 图2 - 2 初始置换 ( 2 ) 迭代过程。在初始置换过程完成以后,迭代过程则对同一个函数进行1 6 次循环,该菌簸本身既包食有譬稳溱数氇穗台鸯蓊代添数囊螽一次循环第1 6 次檐环) 的输出由6 4 拉组成,它是输入明文郄密文的函数,这个输出韵旋边与 右边两个郝分经谶交换辘褥蔓l 颈输出。遮代过程鳃胬2 - 3 所示t 图2 - 3 迭代过程 o ) i p 1 处理 输出通过一个置换i p 。1 就生成了6 4 位密文,这个置换是初始置换的逆置 换。既输出经d e s 加密以后得到的密文。加密后的密文如图2 4 所示: 图2 - 4 加密得到的密文 2 2 公开密钥密码系统的原理 公开密钥密码编码学与以前的所有方法都截然不同。公开密钥算法基于数 学函数而不是替代和置换;公开密钥密码编码学是非对称的,它用到了两个不 同的密钥,而对称的密钥通常只用到了一个密钥。使用两个密钥对于保密数据 传输、密钥分配和鉴别等领域都有着深远的影响。图2 5 给出了公开密钥加密 过程, 7 图2 - 5 公开密钥密码体制加懈密过程 其中重要步骤如下: ( 1 ) 、网络中的每一个端系统都可以用于它将接收的提出诉讼进行加密和解 密的密钥。 ( 2 ) 、每一个系统都通过把自己的加密密钥放进一个登记本或者文件来公布 它,这就是公开密钥,别一个密钥是私有密钥。 ( 3 ) 、如果a 想给b 发送一个报文,就用b 的公开密钥加密这个报文。 ( 4 ) 、b 收到这个报文就用他的保密密钥解密报文。其它所有收到这个报文 的人都无法解密它,因为只有b 才有b 的私有密钥。 ( 5 ) 、b 收到这个报文后就用它的保密密钥解密报文。其它所有收到这个报 文的人都无法解密它,因为只有b 才有b 的私有密钥1 3 】【1 4 】。 因此,所有参与方都可以获得各个公开密钥,而各个参与方的私有密钥由 各个参与方自己在本地产生,不需要分配得到,只要一个系统控制住它的私有 密钥,它收到的数据传输内容就是安全的,在任何时候,一个系统都可以更改 它的私有密钥并公开相应的公开密钥来代替它原来的公开密钥。 2 2 1 r s a 算法 r s a 算法是一种著名的非对称密码体制算法。r s a 算法是第一个既能用于 数据加密也能用于数字签名的算法。该算法于1 9 7 7 年由美国麻省理工学院( m 1 1 ) 的r o n a lr i v e s t ,a d is h a m i r 和l e na d l e m a n 三位年轻教授提出,并以三人的姓 氏r i v e s t ,s h a m i r 和a d l e m a n 命名为r s a 算法。r s a 算法主要用于加密和传 送会话密钥和进行数字签名【1 5 。 1 r s a 算法的原理 垫王堂塑憋簦鳖鲤墼塑垫查赞箜墨簦鲤熬丛塑苎瀑 墨三摹整罡垫童鲢筮 首先,任取三个数,p q ,r ,其中nq 是两个耜异豹瘊数,f 怒专程夺1 x q - 1 ) 蠹潢静 数,p ,昏r 这三个数便是p r i v a t e k e y 。找出n l 使褥靠n lr o o d ( p - 1 x q q ) m 愚一定存在的,闲为r 与q 卜1 ) ( q 1 ) 互质,用辗转稽除法就可以得到了m ,然 囊,诗冀n = p q ,m ,张这滔个数便是p u b l i c k e y 。缓鼹过稷是,菪公钥为a 将其 看成是一个大拯数,假设a n ,期果a 拇n 的话,就将& 裁成s 谶位( s 审l l 通 零淑s 一2 憾烈每一饿数均小手鹈然磊分段绽妈。接下来,诗 算b a 恤m o dn ,( 0 - b n ) ,b 就是编鹤后的资料,解码的过程题,计 舅c b a r r o o d 粥( 0 _ e p 唾) 。翔巢第三者滋行窈褥辩,绝会褥嚣蔻个 数:m ,n ( m p q ) ,b ,他如果辩解码的话,必须想办法得到r ,所以,他必须先对n 作 质因数分解,要防止谴分解,最有效酶方法是我两个菲常的大质数p ,q ,後第三 者做因数分解时发生困难。 2 r s a 算法的保密强度安全评估 r s a 算法的保密强度,随其密钥的长度增加而增强。但是,密钥越长,其 加解密所耗的时间也越长。,因此,要根据所保护信息的敏感程度与攻击者破解 所要花的代价值不值得和系统所要求的反应时间来综合考虑决定。尤其对于商 业信息领域更是如此。 表2 - i 列出美国麻省理工学院r s a - 1 2 9 ( n = 1 0 1 2 9 索因子分解攻击研究小组 h a la b e l s o n j e f fs c h i l l e r , b r i a nl a m a c c h i a 和d e r e ka t k i n s 根据他们对p g pr s a ( m p q s ) 算法攻击研究的结果如下;( 注:1 9 9 5 ,s i m s o n g a r f i n k e l ( p r e t t y g o o d p r i v a s y ) ) 极好的保密系统一书) 。 r s a - 1 2 9 ( 4 2 9 位k e y ) 4 6 0 0m i p s - y e a r s : 即相当于要4 6 0 0 台v a x l1 1 7 8 0 联合运行一年的时间或一台p e n t i u m 运行4 6 年时间才能将一个n * 1 0 1 2 9 的大数 分解找到其p 和o ”“。 表2 - l 对r s a 算法攻击所需要时间表 加密方案密钥长度破译所需时间 r s a3 8 4 位4 7 0m i p s y 队r s r s a5 1 2 位 4 2 x 1 0 4m i p s y e a r s r s a7 0 0 位4 2 1 0 8m i p s y e a r s r s a1 0 2 4 位2 8 x 1 0 “m i p s y e a r s 3 r s a 算法的安全性分析 9 篓兰童堂旦艘宣丝查绽窭堕薹王驻坚塑墨坠基鎏丝墼照塑查焦蛾笪丝塑造塑壅塑 非对称密码体制中r s a 算法是一个既能用予数据加密也髓厢于数字箍名 静搬密算法。r s a 豹安全性菝赖予使薅一辩不可逆豹数学瓣数。黜a 可黢遇到 的攻击会有如下三种: l 、强行攻击。只要采用足够长的密钥,就能给强行攻击者破译密码制造极 大的难度,但密钥长度的增加会导致加解密速度减慢,因此要根据实际情况选 择适当长度的密钥。 2 、根据公开密钥计算私有密钥。到目前为止,对于r s a 算法,尚未从数 学上证明这种攻击的可能性。 3 、可能报文攻击。如果对方知道r s a 的加密密文是一个5 6 位的d e s 加 密密钥,可以使用r s a 的公开密钥加密所有可能的密钥,并通过匹配传输的密 文来将密钥解密。无论r s a 的密钥大小是多少,攻击都归结于一个5 6 位密钥 的强行攻击。对于这种攻击可以在报文中附加某些随机比特数来加以防止【1 7 】。 2 2 2 密钥的管理 公开密钥加密的一个主要功能是解决密钥分配问题,从密钥分配角度讲, 公开密钥加密的用途实际上包括两个不同的方面: 夺公开密钥的分配 夺使用公开密钥加密方法分配秘密密钥 1 公开密钥的分配 公开密钥加密的一个主要功能是解决密钥分配问题。分配公开密钥的技术 方案有多种,几乎这些方案都可以归为下列几类: 夺公开密钥的公开宣布 夺公开可以得到目录 夺公开密钥的管理机构 夺公开密钥证书 对公开密钥的公角钥目录的维护与分配必须由一个受信任的系统或组织来 负责,通过维护一个公开可以得到的公开密钥动态目录就能够取得更大程度的 安全性。该方案包括下列成分: ( 1 ) 、管理机构为每一个参与者维护一个目录项 名字,公开密钥) ; ( 2 ) 、每一个参与者在目录管理机构登记一个公开密钥。登录必须面对面进 l o 篓王堕i 翌楚蔓辇照墼塑垫查熊熊丕鉴鲤邈迎塞璺 萋兰要煎旦垫蜜夔态坌堑 杼。或者遥过菜种安全静经过谁酶数据转输方式避行; ( 3 ) 、参与者可以随时用新的搬钥更换叛来的街钥,不论是因为希望更换一 个已经用于大理的数据的公开密钠还是因为对应豹程有密铸已经糖莱种途径澄 援如去了; “) 、管理机构定期发表这个目录或者对目录进行更新; ( 5 ) 、参与者也可能以电子方式访问目录。为了这个目的,从管理机构到参 与者的数据传输必须是安全的、经过鉴别的数据传输。 通过更为严密地控制公开密钥,从目录中分配的过程就可以使公开密钥分 配更安全l 引。 2 秘密密钥的公开密钥加密分配 当公开密钥已经分配或者可以得到,就可以进行安全数据传输,防止窃听、 篡改或者两者兼有的攻击行为。但是使用公开密钥加密方案进行数据传输的效 率比较低,所以公开密钥加密方案更常用作于分配常规加密所用的秘密密钥的 工具。 ( 1 ) 简单的密钥分配方案 由m e r l d e 提出的非常简单的方案如所示,如果a 希望与b 数据传输,就 使用下列步骤: a 产生个私有,公开的密钥对 k u 。u ,并给b 传输一个报文,其 中k u 。和a 的个标识符i d a 。 b 产生个秘密密钥k s ,并将其用a 的公开密钥加密后传输绘a 。 a 计算d k r 。f e k 伪f k s 盯来恢复这个秘密密钥。因为只有a 可以解密这个 报文,所以只有a 和b 知道k s 。 a 弃用k u 。和k ,b 弃用k u 。 ( 2 ) 具有保密和鉴别能力的秘密密钥分配 该方案提供了对于被动和主动两种攻击的防护,假设a 和b 已经通过简单 的密钥分配方案交换了公开密钥,接下来的步骤如下所示: a 使用b 的公开密钥加密一个发给b 的报文,报文包含一个a 的标识符 i d a 和一个现时n l ,这个现时用来唯一地标识这次交互。 b 给a 发送一个用k u 。加密的报文,其中包含a 的现时n i 和b 产生的 新现时n 2 。 第二章常用加密技术分析基于d e s 和r s a 算法的数据加密传输系统的设计和实现 a 返回一个用b 的密钥加密的n 2 以便使b 确信它的对方是a 。 a 选择一个秘密密钥k 并发送m = e k u b e r d t a k s 给b 。 b 计算d k u 。【d 鼬孙嗍】恢复秘密密钥【1 9 】。 1 2 第三章数据加密传输系统w d e s 的设计 3 1 系统的整体设计 由于加密软件属于信息数据传输的范畴,要研究网络环境下的数据加密问 题,首先需要建立一个可以进行信息交互的数据传输环境,在该环境下进行数 据的加密传输才有意义,否则,脱离数据传输环境而研究数据加密技术是没有 任何意义的。而要建立一个信息数据传输的环境,就需要有信息来交互,这就 需要建立一个系统,因此本文提出建立一个分布式入数据传输系统。由于分布 式系统的多个节点a g e n t 需要与其它的节点和中央控制器进行信息交互,这就 需要有一套完善的信息交互的格式、信息交换协议和数据加密技术。 3 i 1 系统的整体框架 系统的设计采用了分布式的结构,考虑到系统对可扩展性的要求,各个分 布式部件的设计采用了a g e n t 的形式,每个a g e n t 既可单独运行,同时叉作为整 个系统不可分割的一部分,受整个系统的调控,另一方面,由于采用了a g e n t 的结构,使得任何一个部件的故障对系统的负面影响达到最小,从而保证了整 个系统运行的健壮性。整体结构如图3 1 所示: 回国圆 圈3 - l 系统的整体框架 苎兰兰墼塑苎! 窒生塑墨竺兰竺粤塑堡兰 苎三2 竺塑坐苎苎竺竺塑塑竺竺塑墨竺竺垦生竺竺墨 3 1 2 系统的工作方式 本系统采用集中管理的分布式安全监测工作模式,如图3 2 所示中央决 镱控制器完成整个系统中各功能部件的管理与配置。各功能部件对其特定的数 据源进行监控,并对收集的数据进行分析。 功能 功能部件2 功能部件n 1 图3 2 系统的集中式安全管理方式 网络信息与网络系统的安全是集中统一的安全。各功能部件的设置虽然是 分布式的,但是对于它的管理和控制却是集中的。中央决策控制器是整个网络 的安全管理中心,向各功能部件提供安全规则、处理各个安全部件发送来的信 息,定义和生成各个功能部件应该执行的安全规则,提供对信息的查询接口和 生成系统安全报告等项任务。 3 i 3 系统的软件工作流程 程序启动的第件事情是判断系统中是否有同一程序的其它实例在运行, 如果有,它将找到该实例,并把它置于前台,然后结束本次程序的执行。如果 没有,他将进行下一步的操作。通过这一措施,就可以保证在同一系统中只有 一个程序实例在运行,从而防止了运行多个实例可能带来的混乱和错误。 接着,程序会试图找到并获取所需的参数,它首先会在系统中寻找,如果 找不到,则它会向用户询问( 如程序第一次运行的情况) ,这些参数包括了诸如 数据库的连接参数等等。有了这些参数,程序就可以进行相关的初始化。 1 4 图3 - 3 系统的软件工作流程圈 程序的初始化包括了多方面的内容。首先是对数据库的连结测试。这是非 常重要的,因为中控器与所有部件的交互信息及中控器要进一步分析处理的信 息都是存放在数据库中,如果是程序的第一次运行,它还要负责生成数据库中 的相应表。如果数据库连结失败,这可能有多个原因,可能是用户提供的连结 参数错误,也可能是数据库服务器还没有启动。不管怎么样,它都会向用户给 出错误信息,并再次询问相关参数,直到数据库连结成功或用户决定退出程序。 接着,它还要进行其它初始化,如产生用于传递数据传输密钥的公钥、私钥对, 产生中控器的i d ,初始化部件列表等,完成了初始化,程序就可以开始启动核 心的功能。如果这些初始化失败了,程序会给出相应的错误提示信息,然后, 退出程序。 交互进程是系统要启动的核心功能之一,它会在指定的端口等待各部件发 来的信息,一旦有信息到达,它会启动一个线程来完成该信息的处理,自己则 继续监听,从而保证所有到来的信息都能够得到及时的处理。处理的过程包括 第三章数据加密持辕幕统w d e s 的设计蕞于d e s 靳r s 算法的数据加密传输蒹统的设计和实现 了多个方面,如:将倍息按指定的格式存入数据库,检查是否有与该信息对应 的决策规则,若有,则根据决策援则作啦相应的孵应等等。 另一个藁要的核心功能是对数据库中的数据进行分析、处理。如冗余数据 的删除,框关数据的台芽,关键数据的提取( 数据挖掘) ,蒸予数撼的归纳、推 理,对得到的结果按决策规则的要求进彳j :响应等等。这也是一个实现起来其有 相当难度的功能。 3 2 系统数据包格式的定义 为使探测器与中控器之间能够进行信息交换,需要对双方的交甄倍息的格 式进行统一援宠,以攘噩能够璞解的信息进彳亍数攒传输,网对借豢c 弹i f 纂 理。将耍传输的数据封装成t c p 数据包的形式。 袭3 一 数据雹鳇格式 i 3 2 位信息长度 l 3 2 位附加标志 l 3 2 位目的j 【l l 3 2 位源i 【1 l 3 2 位信息类型 i 信息体 每个壤由信患头翱信意体缎成,倍崽头是附加信息,信息体燕寞歪要转输 的数据。采用该格式使于数据传辕双方的同步。数据毽的馈患格式如上表所示, 其中膏阴影的都分是信息头。 信息长瘦:信息体为骧文封静长发。根嚣珂i 屡熬僖感类型,售息体有不 同的萁体的格斌。只有信患头始终用明文传输。 辩加位格式为: 0 :表永其后内释皆为明文 4 :表示其后内容已用r s a 豹公锯加密 5 :表示冀后内容已用r s a 的私钥加密 8 :表示其后内容已用d e s 加密 3 。3 数据加解密方案韵设计 :芰送端褥要发送静聪文交绘数据俦输模块,数据传输穰块襁耀要求使用特 定的加密算法对明文进行加密,然后将加鬻后的密文发送绘接收端,接收端的 燕主望墅黧塾i 墨鎏鲤墼签垫煎焦簦墨篓魍然盐塑壅熙苎三茎熬签垫查焦照茎篓里唑盟墼毡 数据传输模块接收到稽斑的密文螽选择籀应豹解密函数进行解密t 解密精的明 文再黄绘接收端的应用稳_ 謦。这个过程如图3 4 所示: 图3 - - 4 数据加密工作流程 通过前面的介绍,我们知道对称密码体制的优点是具有很高的保密强度, 可以达到经受较高级破译力量的分析和攻击,且具有较高的加解密速度,但它 的密钥必须通过安全可靠的途径传递。而非对称密码体制正好相反,它的主要 优点是可以适应开放性的使用环境,密钥管理问题相对简单,可以方便、安全 地实现数字签名和验证,但它的加解密速度较慢,不适用于大量数据的加解密。 所以数据加密传输方案是用非对称密码体制进行数据加密密钥的的传递,而用 对称密码体制,即数据加密密钥来进行实际传输的数据的加解密。 3 4 d e s 和r s a 算法设计 3 4 1 对称密码体制算法的选择和实现 对称密码体制中d e s 算法是一种采用传统加密方法的区组密码。由于d e s 是一种开放的标准,其安全性取决于密钥的强度和算法的性质。d e s 算法的具 体实现依赖于下列参数和设计特点的选择: 1 、分组大小。分组越大意味着安全性越高,但加解密速度也就越慢。6 4 比 特的分组大小是个合理的折衷,在分组密码设计中它几乎成为一个通用的数 值。 2 、密钥大小。密钥长度越长则安全性越高,但加解密速度越慢,应根据实 际需要选择适当的密钥长度。 3 、循环次数。循环次数越多则安全性越高,一般采用1 6 次循环。 4 、子密钥产生算法。这个算法越复杂则密钥分析就越困难。 第篓章数据加密传输幕统w d e s 的设计基于d e s 和r s a 算法的教榭加密传输蒜统的设计和实现 5 、r o u n d 函数。复杂慷越高则抗击密码分析的能力就越强。 该数摄传输摸块设诗中,d e s 采用6 4 缎分组进行加密,密钥长崖为5 6 位, 对6 4 位的数据块避行1 6 轮自循环编码。嵌每轮编码时,4 8 位的平密钥由5 6 位的完整密钥经过循环左移、置换选择得出来。 目前计算机速度越来越快,制造一台专门用于6 4 位d e s 解密的计算机只需 要十万美元左右,且破解时间只需要几个小时。为进一步提高安全性,在数据 传输模块设计中使用d e s 的改进算法,即三个密钥的三重d e s 。这种方法用三 个密钥对明文进行三次加密,假设三个密钥是k 1 、k 2 和k 3 ,p 是明文,c 是 密文,则c = e m d r 2 e g l p 这要花费原来三倍的时间,但是采用三重d e s 的1 6 8 位密钥是很“强壮”的 加密方式了。d e s 算法的实现过程由密钥生成、加密、解密三个部分组成。为 了使算法具有良好的跨平台性,选择了标准c 语言作为算法的实现语言,将这 三个过程封装成三个子函数,并在l i n u x 和w m d o w s 环境下对算法的正确性进 行检验。由于采用软件实现d e s 加解密,速度较硬件实现慢,但软件实现方便、 成本低,能够满足系统的要求。 3 4 2 非对称密码体制算法的选择 非对称密码体制中r s a 算法是一个既能用于数据加密也能用于数字签名 的加密算法。r s a 的安全性依赖于使用一种不可逆的数学函数。r s a 可能遇到 的攻击会有如下三种: l 、强行攻击。只要采用足够长的密钥,就能给强行攻击者破译密码制造极 大的难度,但密钥长度的增加会导致加解密速度减慢,因此要根据实际情况选 择适当长度的密钥。 2 、根据公开密钥计算私有密钥。到目前为止,对于r s a 算法,尚未从数 学上证明这种攻击的可能性。 3 、可能报文攻击。如果对方知道r s a 的加密密文是一个5 6 位的d e s 加 密密钥,可以使用r s a 的公开密钥加密所有可能的密钥,并通过匹配传输的密 文来将密钥锵密。无论r s a 的密钥大小是多少,攻击都归结于一个s 6 位密钥 的强行攻击。对于这种攻击可以在报文中附加某些随机e e 特数来加以防止。 蓑王望墅数墼坠基整觳墼塑塑冀篷黧墨笪鼓然盐塑壅照蔓三兰熬塑垫宣壁熊薹笙望q 璺曼塑垦盐 稷缮l i s a 算法静特淼,可敬使热l i s a 算法加密蕊s 的宓鞋密密锈,然后逶 j 建婀络传递经加躲以后冉q 密文,可有效的提离系统数据传输的安全性由于r s a 算法需要进行大鬃数横的运算,密钥产生和加解密过程辩簧较我的辩简,难戳 傲到一次密,r s a 热密算法仪遁用于缌馋囱控制台注艇的过穰。 实现过程中采用标准c 语吉将r s a 密钥的生成、加密、解密过程封装成三 令_ 孑嚣数,劳奁l i n u x 秘w i n d o w s 强境下对翼法瓣歪确橼进行羧验。实簸表明 r s a 密钥生成过程所需时间较长,根据不同机器的性能犬约需要2 。3 分钟,能 够涛是势礞式入侵捡嚣系绫熬要浓。 3 5 本章小结 本文提出一种基于分布式入侵检测系统数据加密传输的设计方法,在设计 过程中参照了i d w g 提出的信息交换格式与交换协议,借鉴了t c p 仰数据包 的思想,将信息类封装成数据包的形式发送,便于实现,而且对传送的数据进 行加密处理,提高数据在传送过程的安全性。该方案应用于网络入侵检测的立 体防御系统中加以测试,该设计方法具有实时数据传输、稳定性好、安全性高 等特点。 9 墨鲤茎墼堡鲤煎焦簦茎热望竺墅盟艘茎王嬲塑墅墓壁丝塑皴查焦塑篓錾照塑塑黧壅堡 第四章数据加密传输系统w d e s 的实现 4 1w d e s 数据传输模块的实现 4 1 1 数据传输模块概述 数据传输模块负责与中控器间的秘密数据传输。数据传输模块的主要功能 为: ( i ) 创建监听线程监听固定的端口,以便其它组件和中央控制器建立连 接,发送信息给中央控制器; ( 2 ) 中央控制器和其它组件建立连接,发送信息给其它组件。数据传输模 块对应的类为c c o m m u n i c a t o r 。 数据传输模块包括发送和接收信息和信息处理两个子模块。这两个模块的 功能如表4 1 所示。 表4 1 数据传输模块组成及功能 模块名基本功能 发送和接收信息子模块将一定格式的信息发送到中控器、从中控器接收信息 信息处理子模块 负责信息的处理,如处理注册过程、事件信息、处理中控器 发送到主防火墙的信息以及向中控器发送信息 部件与中控器间以相互能够理解的信息进行数据传输,它们使用的信息要 进行严格的定义,数据数据传输采用t e p 协议,信息格式为: i 信息头( 1 6 b )信息体 | 信息头的格式为( 以字节为单位) ; 0 481 21 62 0 信息长度:信息体为明文时的长度。 源i d :信息发出部件的i d 。 目的i d :信息接收部件的i d 。 根据不同的信息类型,信息体有不同的具体的格式。 只有信息头始终用明文传输。 黼加经为; 0 :装示箕螽内容皆为弱文 4 :表示其嚣内容已鹰r s a 豹公锈期塞 5 表示其最内容8 期r s a 的私钥加密 8 :袭示其后内容已用d e s 加密 4 1 2 发送和接收信息 信息发送和接收模块主要包括两个过程,如表4 2 所示。 表4 2 信息发送、接收模块功能 过程名功能 输入 输出 m s g s e n d 发送信息发送套接字、信息头、信息体、信息体长度、加 发送的字节数 密标记、加密密钥、密钥长度 m s g g e t 接收信息 接受信息套接字、信息头、信息体、信息体大小 成功:i 、失败:0 i 璐g 鲫咀负责将加密过的信息发送到中控器端,信息类型由加密标记指出,可 为0 、4 或8 ,分别以明文、使用r s a 公钥加密后的秘文或使用d e s 加密后的 秘文的形式发送信息。 m s g g e t 接收中控器端发回的信息,必要时解密信息,得到明文。 4 1 3 信息处理模块 信息处理子模块主要包括四个过程,分别完成不同的功能。如表4 - 3 所示。 表4 3 信息处理模块组成及功能 过程名功能 输入输出 l i n m s g p r o c 处理中控器来的信息 连接的套接字 n o n c r e 9 2 c e n t e r 处理注册过程中控器地址、中控器端口成功:0 失败:1 s e n d a l i v e a c k发送保活确认信息 中控器i d 号 n o n e k e e p a l i v e p r o c保活过程处理 中控器i d 号 n o n e l i n m s g p r o c :负责处理中控器发来的信

温馨提示

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

评论

0/150

提交评论