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

(计算机应用技术专业论文)XML安全技术的应用研究.pdf.pdf 免费下载

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

文档简介

摘要 x m l 技术自产生以来,在网络数据存储与交换中发挥的作用越来越大,其 安全性也受到广泛的关注。特别是随着w e b 服务技术的发展,x m l 作为w e b 服务间数据交换的工具,其安全性成为w e b 服务安全的基础。x m l 安全技术 是一种新兴的网络安全技术,它将x m l 技术融合到数据安全中的公钥管理、 数据加密、数字签名、权限管理、接入控制、认证鉴别等技术中,用以保护x m l 数据乃至网络中各种数据的安全。 本文首先分析了网络数据安全的框架、各种数据加密方法、密钥产生和安 全交换的算法和协议;分析了x m l 安全技术,重点论述了x m l 公钥管理技术 和p 技术以及双方结合后在公钥管理方面的应用和优越性,x m l 加密技术 的特点、形式及其与s s l ,r l s 加密技术的比较,x m l 数字签名技术的特点、 格式以及x m l 数据规范化的作用和方法。然后,本文结合数据加密和x m l 安 全技术提出了一种数据安全方案,方案中包含了目前网络数据交换和安全领域 的一系列最新技术,主要有:l 、将文本、w o r d 和e x c e l 、数据库和二进制等数 据转换为x m l 格式的方法,以保证现有的大部分数据能够应用x m l 安全技术; 2 、使用x m l 公钥管理技术结合p k i 技术管理公钥,以克服p k i 技术实施和部 署复杂、难度大等问题,提高公钥管理的效率;3 、使用d i m e h e l l m a n 算法结 合公钥技术交换密钥,以最大限度保证密钥的安全;4 、使用x m l 数字签名技 术和r s a 算法保证数据的完整性、不可否认性和发送方身份认证;5 、使用x m l 加密技术结合a e s 加密算法保证数据的机密性;6 、使用x s l t 技术将x m l 数据转换为h t m l 、w o r d 和e x c e l 等格式以扩展方案的功能。本文详细论述了 方案的具体实现,并给出了主要程序的关键代码。这种数据安全方案使用结构 化的x m l 数据,具有x m l 技术的所有优点,能够按需要灵活选择文件数据的 全部或部分进行加密和数字签名处理,并且能在数据的存储或网络传送的全过 程中都保持机密性、完整性、不可否认性和发送方身份验证。 本文最后从安全性和性能两个方面对上述方案进行了分析,说明了方案的 优缺点及面临的安全性问题。为解决x m l 数据占用空间大导致网络传输性能 低的问题,还在方案中增加了数据压缩算法并给出了具体实现过程和结果分析。 关键词:x m l ,安全技术,数据交换 a p p l i c a t i o nr e s e a r c h o l lx m l s e c u r i t yt e c h n o l o g y g e n gj i a n y o n g ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db yl us h i w e n x m l t e c h n o l o g yb e c o m e sp o p u l a ro nd a t as t o r a g e a n dd a t ae x c h a n g ei na t c p ,i pn e t w o r k 。1 i i es e c u r i t yo f 咀,d a t ai sb e i n gp a i dm o r e m t e n f i o n x m li st h e b a s e so f w e bs e r v i c e sa n di t ss e c u r i t yb e c o m e sm u c h m o r e i m p o r t a n t x m ls e c u r i t y i n t e g r a t e sx m l w i t ht h et e c h n o l o g yo fd a t as e c u r i t ys u c ha st h em a n a g e m e n to f p u b l i ck e y , d a t ae n c r y p t i o n , d i g i t a l s i g n a t u r e ,r i g h t c o n t r 0 1 a c c e s sc o n t r o la n d a u t h e n t i c a t i 0 1 1 i tc a l l e l 1 $ u r et h es e c u r i t yf o rx m ld a t aa n da l it h ed a t ai nt h e n e t w o r k n l i sp a p e rf i r s ta n a l y s e st h ef r a m e w o r ko fd a t as e c u r i t y t h em e t h o d so f d a t a e n c r y p t i o n ,t h ea l g o r i t h m sa n dp r o t o c o l so fk e yg e n e r a t i o n a n de x c h a n g e ,t h e n d i s c u s s e st h ex m l s e c u r i t yt e c h n o l o g y , e s p e c i a l l yt h ea p p l i c a t i o n o fx m l k e y m a n a g e m e n ts p e c i f i c a t i o n ( x k m s ) c o m b i n i n gw i t hp k io nt h em a n a g e m e n to f p u b l i ck e y , i t sc h a r a c t e r i s t i c s ,s y n t a xo f x m l e n c r y p t i o na n di i sc o m p a r i n gw i t h s s l f r l s s y n t a x o fx m l d i g i t a l s i g n a t u r e a n dt h em e t h o d so fx m l c a n o n i c a l i z a t i o n a f i e rt h a tt h ep a p e rp r e s e n t sad e s i g no f d a t as e c u r i t yb a s e do nt h e t e c h n o l o g yo f d a t ae n c r y p t i o na n dx m l s e c u r i t y n l ed e s i g ni n c l u d e sm a n yn e w t e c h n o l o g i e si nd a t ae x c h a n g e a n dd a t as e c u r i 填t h e ya r e :1 c o n v e r t i n gd a t ao f t e x t , w o r da n de x c e l d a t a b a s ei t e m sa n do t h e rb i n a r yc o d e st ox m l i no r d e rt oa p p l yt h e x m l s e c u r i t yt e c h n o l o g yt om o r ed a t af o r m s ;2 u s i n gt h et e c h n o l o g yo fx k m s a n dp k it om a n a g et h ep u b l i ck e yi no r d e rt oo v e r c o m et h es h o r t a g eo fc o m p l e x i t y a n d d i f f i c u l t yi nu s i n gp k i a n d i m p r o v e t h ee f f i c i e n c yo f t h e p u b l i ck e ym a n a g e m e n t ; 3 u s i n gd i f f i e h e l l m a na l g o r i t h mc o m b i n i n gw i t ht h ep u b l i ck e yt e c h n o l o g yt o e x c h a n g e s e c r e tk e yi no r d e rt of u r t h e s ti n c r e a s et h es e c u r i t yo f t h ek e y ;4 u s i n gt h e t e c h n o l o g yo fx m ld i g i t a ls i g n a t u r ea n dr s aa l g o r i t h mt o e n s u r et h e i n t e g r i t y m e s s a g e a u t h e n t i c a t i o na n d s i g n e r a u t h e n t i c a t i o n o ft h e d a t a :5 u s i n g t h e t e c h n o l o g yo fx m le n c r y p t i o na n da e sa l g o r i t h mt oe n s l r ec o n f i d e n t i a l i t yo ft h e d a t a ;6 u s i n gx s l tt e c h n o l o g yt ot r a n s f o r mx m l t oh t m l w o r da n de x c e lt o e x p a n dt h ef u n c t i o no f t h ed e s i g n t h i sp a p e r p r e s e n t st h ed e t a i l e dr e a l i z a t i o no f t h e d e s i g na n dg i v e s t h em a i n p r o g r a m c o d e s 1 1 1 ed e s i g nu s e st h es t r u c t u r ed a t ao f x m l a n dh a sa l lt h ea d v a n t a g e so fx m l t e c h n o l o g y i tc a l la l s of l e x i b l ys e l e c tw h o l eo r p a r td a t ao f o n e f i l e0 1 1d e m a n dt oe n c r y p to rs i g na n di tc a nk e e pt h ec o n f i d e n t i a l i t y , i n t e g r i t y , m e s s a g ea u t h e n t i c a t i o na n ds i g n e ra u t h e n t i c a t i o no ft h ed a t ad u r i n gt h e w h o l e p r o c e s so f d a t as t o r a g ea n d d a t at r a n s f e ri nt h en e t w o r k f i n a l l y , t h ep a p e ra n a l y s e st h es e c u r i t ya n dp e r f o r m a n c eo f t h ed e s i g n ,e x p l a i n s t h ea d v a n t a g e s h o r t a g ea n dt h en e w s e c u r i t yp r o b l e m si t f a c e s 1 no r d e rt oi m p r o v e t h ep e r f o r m a n c eo n t r a n s f e r r i n gx m l d a t ai nt h en e t w o r kd u et oi t sb i gs i z e ,t h ed a t a c o m p r e s s i n ga l g o r i t h m si sa d d e dt ot h ed e s i g na n di t sr e a l i z a t i o na n dr e s u l ta n a l y s i s i sg i v e n k e yw o r d s :x m l ,s e c u r i t yt e c h n o l o g y , d a t ae x c h a n g e l l 声明 我声明本论文是我本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,本论文中不包含 其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。 作者签名:触是勇 日期:m f j ,f 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 作者签名:舡芰凳导师签名:学彳之日期:易v 石卢f , 1 1 选题的目的及意义 第一章引言 网络尤其是互联网的出现和发展对人们的生活产生了重要影响,已逐渐成 为日常生产和生活的重要工具和不可替代的组成部分,互联网产生之初就没有 考虑到安全性,随着互联网的广泛应用,对网络数据安全的需求也越来越大, 以加密技术为基础的网络安全技术得到了快速发展。网络安全技术要保证数据 在网络中存储和传输的保密性( 数据内容不被泄漏) 、完整性( 数据内容不被修 改) 、发送方身份认证( 确认数据的发送者) 、不可否认性( 发送方不能否认发 送过数据) 和存取控制( 数据存取权限限制) 等,数据安全的保证主要依靠使 用现代数据加密技术,包括对称加密算法、不对称加密算法、报文摘要( h a s h 算法) 等,按照通信各方同意的网络安全协议来实现。 x m l ( 可扩展标记语言) 是一种基于s g m l ( 标准通用标记语言) 的标记 语言,它使用标记、属性等选项来描述数据的内容,是一种与平台无关的、用 文本描述数据的方法,被誉为h t m l 标记语言的替代者,互联网的下一代标记 语言。x m l 技术在数据的存储和交换领域发挥了越来越重要的作用,已逐步成 为网络数据存储和交换的标准。 本文将对x m l 安全技术进行研究,x m l 安全技术是在x m l 技术的应用 越来越广泛,对x m l 数据安全的需求越来越大的情况下产生的,它结合了网 络安全与x m l 技术,用于解决x m l 数据的安全性问题。x m l 安全技术的基 础是由w 3 c 和i e t f 制定的一系列x m l 安全规范,包括v l l 公钥管理、加 密、数字签名、权限控制、w e b 服务的安全性等,这些规范目前仍在不断地完 善。本文将在分析网络数据安全和x m l 技术的基础上,重点研究x m l 公钥管 理技术、x m l 加密和数字签名技术,并提出了基于这些技术的数据安全方案, 方案中除包括上述技术夕 ,还包含了密钥的安全交换、x m l 格式数据的转换等 技术,本文还对方案中的主要技术进行了编程实现,最后对这种基于x m l 安 全技术方案的安全性、性能等进行了分析评价。由于x m l 技术的应用日趋广 泛,对x m l 与数据安全技术的结合进行研究,具有较高的实用价值。 i 2 国内外研究动态 随着互联网的广泛应用,对数据安全的关注使网络安全技术成为当前研究的 重点,对网络安全技术的研究主要集中在以下方面:1 、数据加密技术,这是网 络安全技术的核心,研究内容包括数据加密的理论、算法实现等:2 、网络安全 协议,包括密钥交换、安全数据交换、数字签名、身份验证等;3 、存取控制, 即对资源的授权使用。由于网络安全技术日趋重要,对这些领域的研究在深度 和广度、理论和实现等方面都不断扩展。 随着x m l 技术在数据存储交换等领域的广泛应用,基于x m l 的安全技术 中国科学院研究生院硬士学位论文一x m l 安全技术的应用研究 得到了广泛关注和重视,随着w 3 c 和i e t f 推出了一系列x m l 安全规范,x m l 安全技术的应用不断扩展,一些大公司如微软、i b m 等都在其产品中加入x m l 安全技术。特别是目前w e b 服务技术正在逐渐成为互联网应用的主体,而w e b 服务之间信息的传递主要使用x m l 技术,x m l 数据的安全成为w e b 服务安全 的基础。因此随着w e b 服务技术的发展,x m l 安全技术将逐渐成为网络安全 的基础。目前虽然x m l 安全规范推出的时间较短,还在不断完善中,但由于 x m l 安全技术的重要性,这种技术正在得到越来越多的的关注。 1 3 研究内容和技术路线 本文研究的主要内容有:l 、网络数据安全技术分析,包括网络安全的框架、 各种加密算法和密钥的产生与分配。2 、x m l 安全技术,主要包括x m l 公钥 管理、x m l 加密和x m l 数字签名技术的特点、优点和应用。3 、提出了一种 基于x m l 安全技术的数据安全方案,方案中包括:将文本、w o r d 和e x c e l 、 数据库和二迸制等数据转换为x m l 格式的方法;使用x m l 公钥管理技术结合 p k i 技术管理公钥;使用公钥技术结合d i f f i e h e l l m a n 算法交换密钥;使用x m l 数字签名技术和r s a 算法保证数据的完整性、不可否认性和发送方身份认证; 使用x m l 加密技术结合a e s 加密算法保证数据的机密性;使用x s l t 技术将 x m l 数据转换为h t m l 、w o r d 和e x c e l 等格式。4 、对方案的安全性、性能等 进行分析,在此基础上,研究对x m l 格式数据进行压缩的方法。 本文的技术路线采用理论研究与编程实现相结合的方法,在理论研究的基 础上,提出方案,通过具体的编程对方案进行了实现。本文方案是实现是基于 微软公司最新发布的n e t 框架下,所有程序都使用v i s u a lb a s i c 编程语言编写 并调试通过。 1 4 论文的结构 第一章说明了选题的目的和意义、国内外研究现状以及研究的主要内容和 论文的结构。 第二章分析了网络数据安全的攻击、机制、服务和数据安全框架,各种数 据加密算法以及密钥产生和分配的各种算法和协议。 第三章分析了x m l 安全技术,重点论述了x m l 公钥管理技术、数字签名 技术和x m l 加密技术。 第四章提出了一种基于x m l 安全技术的数据安全方案,并详细描述了方 案的具体实现方法,包括数据转换为x m l 格式,) a l 公钥管理,d i 伍e - h e l l m a n 算法交换密钥,x m l 数字签名,订l 加密和订l 数据转换为h t m l 、w o r d 和e x c e l 格式。 第五章从安全性和性能两个方面对方案进行了分析,并描述了方案中对 x m l 数据所采用的压缩技术及其使用。 第六章对本文进行了总结,并给出了进一步研究的方向。 2 第二章网络数据安全技术分析 随着计算机网络特别是i n t e m e t 的广泛应用,数据的安全性问题日趋严重, 网络中存储和传输的大量数据都有可能被盗用、暴露或篡改,为了保证数据的 安全,产生了很多数据加密技术。本章将分析网络数据安全的框架、数据加密 技术和密钥的安全交换方法。 本章的结构如下:首先分析了网络数据的安全框架,然后对数据的加密算 法进行了研究和阐述,最后分析了密钥的安全交换技术。 2 1 网络数据安全框架 在通过网络进行数据传输和交换时,数据主要面临以下的安全威胁:l 、通 信过程中数据被窃听或截获造成秘密信息的泄漏;2 、通信一方冒充别的用户以 达到推卸责任、欺诈和篡改消息等目的;3 、通信过程中数据内容被篡改;4 、 通信一方否认发送或接受过相关数据;5 、通信一方通过非法手段扩大自己的授 权1 。 为评估网络通讯中的安全需求以及评价各种有关安全的产品和政策,国际 电信联盟( i t u ) 制定了x 8 0 0 推荐方案即o s i 安全框架4 ,定义了一种系统方 法描述对安全的要求以及如何满足这些要求,该框架主要关注安全攻击、安全 机制和安全服务三个方面。安全攻击指任何危及信息安全的活动;安全机制用 来保护系统免受侦听、阻止安全攻击及恢复系统的机制;安全服务是加强数据 处理系统和信息传输的安全性的一种服务,其目的在于利用一种或多种安全机 制阻止安全攻击。 o s i 安全框架将安全攻击分为被动攻击和主动攻击两种,被动攻击试图了 解或利用系统的信息但不影响系统资源,主动攻击试图主动改变系统资源或影 响系统运作。 被动攻击是对数据传输进行窃听和监测,攻击者的目的是获得传输的信息, 又可分为信息内容泄露和流量分析。流量分析指攻击者通过判断通信主机的身 份和位置,观察传输的消息的频度和长度,用来判断通信的性质。被动攻击由 于不涉及对数据的更改,很难觉察,但通过加密的手段阻止这种攻击是可行的, 因此对付被动攻击的重点是预防而不是检测。 主动攻击包括对数据流进行篡改或伪造,可分为四类:伪装、重放、消息 篡改和拒绝服务。伪装是指某实体假装别的实体,如捕获认证信息,并在其后 利用认证信息进行重放,获得其他实体拥有的权限。重放是指将获得的消息再 次发送以在非授权情况下进行传输。消息篡改是指修改合法消息的一部分或延 迟消息的传输以获得非授权作用。拒绝服务阻止或禁止正常的使用或管理通信 设施或破坏某网络实体,使网络失效或使其过载以降低其性能。主动攻击与被 动攻击相反,难以防止但很容易检测,因此对付主动攻击的重点是检测并从破 坏中尽快恢复。 o s i 安全框架将安全机制分为特定安全机制和普遍的安全机制两类,特定 中国科学院研究生院硕士学位论文x m l 安全技术的应用研究 安全机制是在特定的协议层实现并能够实现一些安全服务,普遍的安全机制不 属于任何的协议层或安全服务。安全机制的具体描述如表2 1 所示3 : 表2 1 0 s l 安全机制 安全机制具体描述 特定安全机制 加密运用数学方法将数据转换为不可知的形式,数据的变换和复原依赖算法和 l 加密密钥。 数字签名附加于原始数据之后的数据,是对原始数据的变换,使接受方可证明数据 的来源和完整性。防止伪造。 存取控制对资源的存取进行控制的机制。 数据完整性用于保证原始数据完整性的各种机制。 认证交换通过信息交换来保证通信双方身份的各种机制。 流量填充在数据流空隙中插入若干位以阻止流量分析。 路由控制为某些数据选择特殊的物理上安全的路线并允许路由变化。 公证利用可信的第三方来保证数据交换的某些性质。 普追的安全桃制 可信功能根据某些标准被认为是正确豹,如根据安全策略所建立的标准 安全标签资源的标志指明该资源的安全属性 事件检测检测与安全相关的事件 安全审计跟踪收集的和潜在的用于安全审计的数据,它是对系统记录和行为的独立回顾 和检查 安全恢复处理来自安全机制的请求,如时间处理、管理功能和采取恢复行为 o s i 安全框架将安全服务定义为通信开放系统协议层提供的服务,从而保 证系统或数据传输有足够的安全性。安全服务可分为五类共十四个特定服务, 如表2 2 所示3 。 表2 2 0 s i 安全服务 种类描述 认证保证通信的实体是它所声称的实体 同等实体认证用于逻辑连接时为连接的实体的身份提供可信性 数据源认证在无连接传输时保证收到的信息来源是声称的来源 存取控制阻止对赉源的非授权使用 数据保密性保护数据兔于非授投泄漏 连接保密性保护一次连接中所有的用户数据 无连接保密性保护单个数据块里的所有用户数据 选择域保密性对一次连接或单个数据块中选定的数据提供保密性 流量保密性保护那些可以通过观察流量而获得的信息 数据完整性保证收到的数据是授权实体所发出的 具有恢复功能的连接完整性提供一次连接中所有用户数据的完整性,检测并试图恢复 无恢复的连接完整性同上,但只提供检测,无恢复 选择域连接完整性提供一次连接中传输的单个数据块中选定数据的完整性 无连接完整性为单个无连接数据块提供完整性保护 选择域无连接完整性为单个无连接数据块内选定数据提供完整性保护 不可否认性防止整个或部分通信过程中,任一通信实体进行否认 源不可否认性证明消息是由特定方发出的 宿不可否认性证明消息披特定方收到 4 第二章网络数据安全技术分析 安全服务通过安全机制实现安全策略,表2 - 3 说明了安全服务与安全机制 间的关系3 。 表2 3 安全服务与安全机制的关系 服务加密数字访问数据完认证流量路由公证 签名 控制箍性交换填充控制 同等实体认证 是是是 数据源认证是是 访问控制是 保密性是是 流量保密性是是 数据完整性是是是 不可否认性是是是 可用性是是 为实现网络数据的安全传输,防止攻击者危害信息的保密性和真实性,通 信双方保证数据安全的方法都包含两个方面: 1 、被发送信息的相关安全变换。如对消息加密使得攻击者不能读懂消息, 或是将基于消息的编码附于消息后,用于验证发送方的身份。 2 、双方共享某些秘密信息,不为攻击者所知,如加密密钥等。 为实现安全传输,通常还需要可信的第三方,负责将秘密信息分配给通信 双方或当通信双方关于信息传输的真实性发生争执时,来仲裁。 用于保证网络通信安全的模型如图2 1 所示3 。 可信的第三方 如仲裁者秘密消息的分配者 i 发送方接收方 安 信息通道 安 消 全 a 、 全 弋 消 息消刈卜消息 息息 f 攻击者 图2 1 网络安全模型 上述模型说明,设计安全的网络通信应包含以下内容:1 、设计数据安全变 换的算法,该算法应是无法攻破的:2 、产生算法所使用的秘密信息:3 、设计 分配和共享秘密信息的方法;4 、设计通信双方使用的协议,该协议利用安全算 法和秘密信息实现安全通信。 中国科学院研究生院颤士学位论文一x m l 安全技术的应用研究 2 2 数据加密技术 为实现数据交换的安全,需要对数据进行安全变换,数据加密技术是实现 数据安全变换的核心。数据加密有两种实现方式,基于算法的保密性和基于密 钥的保密性。 基于算法的保密性是保持加密算法的秘密,这种方法具有历史意义,但按 现在的标准,它的保密性已远远不够。主要缺点有:l 、大的或经常变换用户的 组织不能使用,因为一旦有用户离开这个组织,其它用户就必须改换不同的算 法。如有人无意暴露了算法秘密,所有人都必须改变算法;2 、这种方法不能进 行质量控制或标准化。每个机构必须有他们自己的唯一算法,这样就不可能采 用流行的硬件或软件产品,因为窃听者可以买到这些流行产品并学习算法。用 户必须自己编写算法并实现,如果没有好的密码学家,就无法知道算法是否安 全。尽管有这些缺陷,但这种方法对低密级的应用来说还是很流行的5 。 现代密码学使用基于密钥的保密性,数据的安全是基于密钥的安全而不是 对算法的保密,加密和解密算法可以公开,也可以被分析。可以大量生产使用 算法的产品,窃听者知道算法如果不知道使用的具体密钥,也不能阅读消息。 密钥可以是任意数值,加密和解密运算都需要使用密钥。算法、明文、密文和 密钥是现代密码系统的组成要素。基于密钥的算法通常有两类:对称加密算法 和不对称加密算法。 2 2 1 对称加密算法 对称加密算法的加密密钥和解密密钥是相同的,也被称为秘密密钥算法或 单密钥算法,这种算法要求消息发送者和接收者在安全通信之前,商定一个密 钥,算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加 解密。对称算法的加密和解密表示为: e k ( m ) = c d k ( c ) = m 如图2 2 所示: 图2 2 对称加密算法的j n n 密 对称加密算法分为两类,一类是只对明文中的单个比特( 有时对字节) 运 算的算法称为序列算法或流加密:另一类是对明文的一组比特运算,这些比特 组称为分组,相应的算法称为分组算法或块加密。现代计算机密码算法的典型 分组长度为6 4 比特一这个长度大到足以防止分析破译,但又4 , n 足以方便使 用。 6 第二章嘲络数据安全技术分析 在当前流行的对称加密算法中,流加密算法主要是r c 4 ,它使用一个密钥 流字节对明文的每个字节进行异或处理,从而对其加密。块加密算法包括d e s ( d a t a e n c r y p t i o n s t a n d a r d ,数据加密标准) 、三重d e s 、i d e a ( i n t e r n a t i o n a l d a t a e n c r y p t i o na l g o r i t h m ,国际数据加密算法) 和a e s ( a d v a n c e de n e r y p t i o n s t a n d a r d ,高级加密标准) 等。d e s 的块长度为6 4 位,其操作是通过1 6 个回 合加密文本,每个回合都使用了排列和置换操作,排列是指打乱块中各位的次 序,使其变成新的位置,置换是使用一组位替换初始排列输出的每组位;三重 d e s 是对每个明文块进行3 次d e s 加密,可以使用1 个、2 个或3 个独立的密 钥进行工作。三重d e s 的缺点是速度太慢。i d e a 算法使用了一个1 2 8 位密钥, 在每个数据块上运行8 个回合,每个回合都包含3 个不同的运算,加法、乘法 和异或运算。r i j n d a e l 算法被称为a e s 算法,它同时支持可变密钥长度和块长 度,密钥和块都可以是1 2 8 位、】9 2 位或2 5 6 位。所用的回合数目是密钥长度 和块长度的函数,每个回合执行4 个基本操作,置换、位移动、乘法和加法。 对称加密算法提供了数据的机密性,在只有通信双方知道密钥时,还能保 证数据的完整性。但对称加密算法也存在缺点,首先是密钥安全交换问题,其 次是由于通信双方拥有相同的密钥,使方可以否认发送过消息,因为消息有 可能是对方使用相同的密钥生成的;第三是如果参加通信的人数过大,造成密 钥数据的迅速膨胀。 2 2 2 不对称加密算法 不对称加密算法也叫公开密钥算法,这种算法的加密密钥与解密密钥不同, 并且解密密钥不能根据加密密钥计算出来( 至少在合理假定的长时间内) ,因此 可以公开加密密钥。使用加密密钥加密信息,只有用相应的解密密钥才能解密, 加密密钥也被称为公开密钥( 简称公钥) ,解密密钥被称为私人密钥( 简称私钥) 。 用公钥u 加密表示为:e u ( m ) = c ;用相应的私钥r 解密可表示为:d r ( c ) = m 。如图2 3 所示: 图2 3 不对称加密算法的加挥密 不对称加密算法基于数学上的单向陷门函数,即那些计算函数值很容易, 但在缺少一些附加信息时计算函数的逆是不可行的函数。如果已知这些附加信 息,则可在多项式时间内计算出函数的逆,单向陷门函数是满足下列条件的不 可逆函数。 若k 和x 已知,则容易计算y = f k ( x ) 中罔科学院研究生院硕士学位论文一x m l 安全技术的应用研究 若k 和y 已知,则容易计算x = f k 1 ( y ) 若y 已知但k 未知,则计算出x _ 晦o ( y ) 是不可行的 不对称加密算法主要应用在三个方面,1 、加密解密。发送方用接收方的 公钥对消息加密;2 、数字签名,发送方用其私钥对消息签名,接受方用发送方 的公钥验证;3 、密钥交换,通信双方交换会话密钥。目前常用的不对称加密算 法有:d i f l i e h e l l m a n 密钥交换算法,基于大数分解的r s a 算法,基于离散对 数问题的d s a 数字签名算法和基于椭圆曲线的离散对数问题的椭圆曲线算法。 这些算法的主要应用如表2 4 所示3 : 表2 4 几种不对称加密算法的主要应用 算法加密,解密数字签名密钥交换 d i 塌e - h e l l m a n 否 否是 r s a 是是是 d s a 否是否 椭圆曲线是是是 不对称加密算法的主要缺点是运行速度比对称加密算法要慢很多,因此对 于大数据量的加密并不实用。现在使用的加密系统一般都是结合对称加密算法 和不对称加密算法优点的混合加密系统,其基本策略是使用对称加密算法加密 大数据量,使用不对称加密算法加密对称加密算法的密钥。 2 2 3 m a c 和h a s h 算法 在信息安全领域,除对资料进行加密外,还需验证数据的完整性,数据认 证的主要方法有三种:1 、消息加密,将整个消息的密文作为认证符;2 、消息 认证码( m a c ) ,它是消息和密钥的公开函数,产生定长的值作为认证符;3 、 h a s h 算法,它将任意长的消息映射为定长的h a s h 值的公开函数,以该h a s h 值 作为认证符。 消息认证码( m a c ) 是利用密钥来生成一个固定长度的短数据块,并将该 数据块附加在消息之后,这种方法假定通信双方共享密钥。发送方发送消息和 m a c ,接受方收到后,利用相同的密钥计算出m a c 码,并与收到m a c 对比, 如果相同,则说明1 、接收方可以相信消息在传输过程中未被修改;2 、接收方 可以相信消息来自真正的发送方。m a c 算法与加密类似,主要区别是m a c 算 法不要求可逆性,而加密算法必须是可逆的。 h a s t l 算法是m a c 的一种变形,与m a c 一样,h a s h 算法的输入是可变大 小的消息m ,输出是固定大小的h a s h 码h ( m ) 。与m a c 不同的是,h a s h 码并 不使用密钥,它仅是输入消息的函数。h a s h 码是所有消息位的函数,它具有错 误检测能力,改变消息的任何一位或多位,都会导致h a s h 码的改变。 使用m a c 和h a s h 算法进行消息认证的主要优点有:l 、将同一条消息广 播给很多接收者,无需所有的接收者都对消息进行验证;2 、数据验证过程中不 用加密解密消息,节约时间和资源消耗;3 、增加了消息认证的灵活性,只有在 需要完整性认证时才检验认证码:4 、将认证与保密性分离,增加了数据层次结 构,更加灵活:5 、在数据传输过程中提供完整性认证。 8 第二章网络数据安全技术分析 m a c 算法主要有基于d e s 数据加密的算法和将密钥加到现有h a s h 函数中 的h m a c 算法:h a s h 算法主要有m d 5 消息摘要算法,其输出是1 2 8 位的消息 摘要,安全散列算法s h a ,包括s h a 1 ,输出是1 6 0 位的消息摘要,s h a 2 5 6 、 s h a 3 8 4 、s h a 5 1 2 ,输出分别是2 5 6 位、3 8 4 位和5 1 2 位消息摘要。 2 2 ,4b a s e 6 4 算法 b a s e 6 4 是一种二进制转换算法,能将二进制数据转换为普通的a s c i i 文本, 一种连续存放的非顺序化的字符串文本。b a s e 6 4 算法的原理是将2 4 位的二进 制串表示为四个由b a s e 6 4 编码字符组成的字符串。 其工作流程如下:将3 个连续的8 位字节( 3 + 8 = 2 4 位) 构成一个2 4 位输 入组,然后将这个2 4 位组看做是4 个连接的6 位组,按从左向右顺序,每次选 出6 位后把这6 个二进制数前面添加两个0 ,构成了一个新的字节,依此类推, 直到2 4 个二进制数全部被选完。转换时,如结果不够6 位的用0 补上相应的位 置,之后再在6 位的前面补两个0 ,最后将这些转换完成的字节翻译为b a s e 6 4 字母表中单独的一个数字。由于原始字节是以3 个为一组进行划分,当字节数 不是3 的整数倍时,字节数,3 的余数自然就是2 或者l ,就用“- ,号来补位,因 此b a s e 6 4 转换后的数据最多有2 个“- 号。 使用b a s e 6 4 编码能将任何二进制数据转换为文本格式。b a s e 6 4 字母表如 表2 5 所示6 。 表2 5 b a s e 6 4 字母表 字字字字字字字字 值值值值值值值值 母母母母母母母母 0a8i1 6 q 2 4y3 2 g 4 0o4 85 64 1b9j1 7r2 5z3 3h4 1 p 4 9x5 75 2c1 0k1 8s2 6a3 4l4 2 q 5 0 y 5 86 3d1 1l1 9t2 7b3 5 j 4 3r5 lz5 97 4e1 2m2 0u2 8c3 6k4 4s5 206 08 5f1 3n2 lv2 9d3 7i4 5t5 3l6 l9 6g1 4o2 2w3 0e3 8m4 65 42 6 2 + 7h1 5p2 3x3 1f3 9n4 7 v 5 536 3| 下面以字符串“张三”为例说明这种算法的实现过程,字符串“张三”的编码 为:d 5 c 5 ,c 8 f d 。转换为二进制串为:1 1 0 1 0 1 0 t1 1 0 0 0 1 0 11 1 0 0 1 0 0 01 1 1 1 1 1 0 1 , 将这四个8 位字节连成一串为1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 1 ,按从左至 右顺序,选择6 位后高位补0 形成以下六个字节: 二进制0 0 1 1 0 1 0 10 0 0 1 1 1 0 0 十进制 5 32 8 b a s e 6 4 字母1c 0 0 0 0 1 0 0 0 8 1 0 0 0 1 0 0 0 0 1 6 q b a s e 6 4 以四个字节为一组,上述字符串转换后所缺的两个字节用“= ”号补 位。因此字符串“张三”转换为b a s e 6 4 字符串为“i c x i q 一”。 9 , o 蝴x 中国科学院研究生院硕:i :学位论文一x m l 安全技术的应用研究 2 3 密钥的安全管理 现代密码学是基于密钥安全的,因此能否保证密钥的安全是关系加密系统 安全的决定因素,密钥的安全管理也成为信息安全领域的重要组成部分。密钥 管理同时也是密码学领域最困难的部分,设计安全的密钥算法和协议虽然不容 易,但仍可以依靠大量的学术研究,但对密钥进行保密却有很多人为因素,使 其更加困难,密码分析者经常通过窃取密钥来破译对称加密算法和公钥算法体 系。 密钥的安全管理包括密钥的产生、交换、验证、使用、更新、存储、备份、 销毁等多方面,本节将简要介绍公钥的产生和分配,重点分析对称加密算法密 钥的产生和安全交换技术。 2 3 1 公钥的产生和分配 公钥加密算法使用的公币& 钥对由于具有数学上的一些特征,因此一般都由 算法产生,公钥加密算法通常都提供了产生公钥,私钥对的方法,产生的公钥和 私钥可以保存为文件。下面主要说明公钥分配的一些方法3 。 公钥加密算法的特点就是公钥可以公开,因此从理论上讲可以将公钥发送 绘任何需要的通信方,但这种方法存在很大的安全隐患,即任何人都可以伪造 这种公钥的公开发布,如某个用户假冒用户a 并将一个公钥发送给通信各方, 在a 发现这种假冒并通知其他各方之前,假冒者可以读取所有本应发送给a 的 加密消息,并进行认证。 公钥分配的第二种方法是维护一个动态可访问的公钥目录,由某个可信的 实体或组织负责这个公钥目录的维护和分配,这种方法可以获得更大的安全性, 其步骤如下:1 、目录管理员通过为每个通信方建立一个包括姓名和公钥的目录 项来维护该目录;2 、每个通信方通过目录管理员注册公钥,注册必须亲自或通 过安全的认证通信来进行;3 、通信方在任何时候都可以用新的公钥代替当前公 钥;4 、管理员定期发布或更新目录;5 、通信方能够安全访问该目录。这种方 法的缺点是一旦攻击者获得或破译目录管理员的私钥,则他可以传递伪造的公 钥,假冒任何通信方以窃取发送给该通信方的消息,并且保存公钥的目录也不 安全。 公钥授权是上一个方法的改进,通过更加严格地控制目录中的公钥分配, 使公钥分配更加安全。该方法假定管理员负责维护通信各方公钥的动态目录, 同时每个通信方都知道该目录管理员的公钥,并且只有管理员知道相应的私钥。 这种方法的步骤如下:1 、a 发送一条带时间戳的消息给公钥管理员,以请求b 的当前公钥:2 、管理员给a 发送一条用其私钥加密的消息,消息中包括:b 的公钥、原始请求、原始时间戳,a 使用管理员的公钥对消息解密。从而证实 消息来自管理员,消息中包含原始请求的目的是验证a 的请求未被修改,包含 原始时间戳的目的是确认a 收到的不是来自管理员的旧消息;3 、a 保存b 的 公钥,并用它对包含a 的标识和临时交互号的消息加密,然后发送给b ,临时 交互号用来唯一标识此次交易;4 、b 使用同样的方法从管理员处检索a 的公 钥;5 、b 用a 的公钥对a 的临时交互号( n i ) 和b 新产生的临时交互号( n 2 ) 1 0 第二章嗣络数据安全技术分析 加密并发送给a ,使a 确认其通信伙伴是b :6 、a 用b 的公钥对n 2 加密并发 送给b ,使b 确认其通信伙伴是a 。至此,公钥已在a 、b 间安全传送。 上述公钥授权方法的缺点是公钥管理员成为整个系统的瓶颈,保存公钥和 姓名的目录也同样容易被篡改。公钥管理最安全的方法是使用公钥证书,通信 各方使用证书来交换密钥而不是通过公钥管理员,这种方法

温馨提示

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

评论

0/150

提交评论