




已阅读5页,还剩60页未读, 继续免费阅读
(计算机科学与技术专业论文)基于ssl协议的安全代理的设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
r 弋 希 l _ 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得武汉理工大学或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定, 即学校有权保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位 论文的全部内容编入有关数据库进行检索,可以采用影印、缩印或 其他复制手段保存或汇编本学位论文。同时授权经武汉理工大学认 可的国家有关机构或论文数据库使用或收录本学位论文,并向社会 公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) :饶教导师( 签名) : 日期:p f ,罗已笋 1 7 1 尔 , 、 武汉理工大学硕士学位论文 摘要 随着计算机网络技术特别是i n t e m e t 技术的发展,网络安全日益受到人们的 重视。i n t e m e t 构建在t c p i p 协议上,而t c p i p 协议并未提供任何安全措施, 针对i n t e m e t 存在的安全问题,人们提出了多种解决方案。其中,网络环境中的 数据安全传输协议,对于应用的安全性起着非常重要的作用,已经成为影响网 络进一步发展的重要因素。s s l 协议便是i n t e m e t 上应用最为广泛的网络数据安 全传输协议。 s s l 协议隶属于会话层,处于有连接的会话层之上,它一经产生就在i n t e m e t 领域发挥了巨大作用。目前,国外著名的商用浏览器和服务器都支持s s l 协议, s s l 已成为比较流行的安全协议。 目前已经有若干国外厂商推出了基于s s l 的安全产品,但是协议在核心密 码算法上都有出口限制,大多采用一些低安全强度( 5 6 位以下) 的弱加密算法, 而且协议代码不公开,根本无法满足我国实际应用中的安全需求。针对电子商 务、电子政务和其他事务管理系统的安全发展需要,本文在研究s s l 的基础上, 参考当前较为成功的s s l 实现技术方案,论述了能够充分保证通信安全的s s l 安全代理的设计与实现。 本文的主要研究工作有:利用o p e n s s l 开发包实现了一个简易的认证中心 c a ,并能使用o p e n s s l 的命令行接口签发证书和相应的私钥文件。本文结合 保密性、数据完整性和身份认证等安全性详细分析了s s l 协议,提出了s s l 安 全保密技术在i n t e m e t 上的应用,结合密码学的知识和s s l 协议的原理设计了 一个能充分保证安全性的s s l 安全代理,并利用v c 6 0 和o p e n s s l 工具包模拟 实现了安全代理的功能。本代理实现的主要功能有:l 能够通过s s l 协议建立 安全连接;2 在通信过程中能通过数字签名和证书技术进行身份认证;3 能够安 全通信,在消息的传递过程中使用安全可靠的算法和合适长度的密钥来进行加 密,从而保证传递消息的安全性;4 能够对需要传输的文档进行安全加密处理。 j关键词:s s l 协议;安全代理;o p e n s s l ;身份认证;数字签名;传输加密 ) 瓜 q r t 筒 , 、- 、 一 武汉理工大学硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rn e t w o r k e s p e c i a l l yt h ei n t e m a ,t h es c c u r i t y o fn e t w o r kr e c e i v e sm o r ea n dm o r ea t t e n t i o n t h ei n t e r n e ti sb a s e do nt c p i p p r o t o c o l s ,b u tt c p i pp r o t o c o l sc a n tg u a r a n t e et h es e c u r i t y t os o l v et h e s ep r o b l e m s , v a r i o u ss o l u t i o n sh a v eb e e nb r o u g h tu p n es e c u r et r a n s p o r to fd a t ah a sb e c o m et h e e m p h a s i so fn e t w o r ke n v i r o n m e n ta n do n eo ft h o s ei m p o r t a n tf a c t o r so fn e t w o r k d e v e l o p m e n t s s lp r o t o c o li so n eo ft h em o s tf a m o u ss e c u r ep r o t o c o l s s s l p r o t o c o lb e l o n g st ot h es e s s i o nl a y e r , a n dp l a y sa ni m p o r t a n tr o l ei nt h e i n t e m e t p r e s e n t l y , m a n yo ft h ef a m o u sc o m m e r c i a lp r o d u c t so fb r o w s e r sa n dw e b s e r v e r ss u p p o r ts s l s s lh a sb e c o m eo n eo f t h em o s tp o p u l a rs e c u r ep r o t o c 0 1 m a n yd e v e l o p sh a v er e l e a s e ds e c u r ep r o d u c t sb a s e do ns s l ,b u t ,m o s to ft h e s e c u r ep r o t o c o l sa r es u b j e c tt ot h el i m i t a t i o no fe x p o r tr e g u l a t i o n s m o s to ft h e m a d o p tw e a kc r y p t o g r a p h ya l g o r i t h m s ( w i t hk e yo f5 6b i td o w n w a r d s ) a n di t ss o u r c e c o d ei s n tp u b l i s h e d t os a t i s f yt h ed e m a n d so ft h ee - g o v e r n m e n t a l a f f a i r , e - c o m m e r c ea n do t h e ra f f a i r s ,w ed e s i g n e das s l s e c u r i t ya g e n t t h em a i nr e s e a r c hw o r kc o n t a i n s :u s i n go p c n s s ld e v e l o p m e n tp a c k a g e i m p l e m e n t sas i m p l ec e r t i f i c a t ea u t h o r i t y , a n d u s et h eo p e n s s lc o m m a n dl i n e i n t e r f a c et oi s s u et h ec e r t i f i c a t ea n dc o r r e s p o n d i n gp r i v a t ek e y f i l e t h i sp a p e r a n a l y s e ss s lp r o t o c o li nd e t a i lb a s e do nc o n f i d e n t i a l i t y , i n t e g r i t ya n da u t h e n t i c a t i o n s s ls e c u r i t yt e c h n o l o g yi sp r o p o s e di nt h ea p p l i c a t i o no nt h ei n t e r n e t w i t ht h e k n o w l e d g eo fc r y p t o g r a p h ya n dt h es s lp r o t o c o lp r i n c i p l e ,id e s i g n e ds s ls e c u r i t y a g e n to nf u l l yg u a r a n t e e i n gt h es e c u r i t y , u s ev c 6 0a n dt h eo p c n s s lt o o l k i tt o s i m u l a t e l yi m p l e m e n tt h es e c u r i t ya g e n t t h em a i nf u n c t i o n sc o n t a i n1 i t sa b l et o e s t a b l i s has e c u r ec o n n e c t i o nb ys s lp r o t o c 0 1 2m a k ea u t h e n t i c a t i o ni nt h e c o m m u n i c a t i o nt h r o u g ht h et e c h n o l o g yo fd i g i t a ls i g n a t u r e sa n dc e r t i f i c a t e s 3s e c u r e c o m m u n i c a t i o n s ,u s er e l i a b l ea l g o r i t h m sa n dp r o p e rl e n g t hk e y si nt h et r a n s m i s s i o n t oe n s u r et h es a f e t y 4t h et r a n s m i t t e dd o c u m e n t sc a nb es e c u r e l ye n c r y p t e d k e y w o r d s :s s lp r o t o c o l ;s e c u r i t ya g e n t ;o p e n s s l ;i d e n t i t ya u t h e n t i c a t i o n ;d i 西t a l s i g n a t u r e ;t r a n s m i s s i o ne n c r y p t i o n n 胁 , q 。 r - 、 芒 , 武汉理工大学硕士学位论文 目录 第1 章绪论1 1 1 研究背景l 1 1 1i n t e r n e t 安全趋势1 1 1 2w e b 安全性威胁1 1 2 国内外研究现状2 1 3 本文的组织及结构4 第2 章密码学与安全技术基础6 2 1 加密技术和散列函数6 2 1 1 对称加密技术6 2 1 2 非对称加密技术7 2 1 3 消息认证和散列函数9 2 2 数字签名和认证协议1 2 2 3x 5 0 9 认证服务1 4 2 3 1 证书1 5 2 3 2 认证的过程1 9 2 4 公钥基础设施( p k i ) 2 0 2 5 本章小结:j :j j :+ 2 2 第3 章s s k 协议研究与分析2 3 3 1s s l 协议概述2 3 3 2s s l 体系结构2 3 3 2 1s s l 记录协议2 5 3 2 2s s l 修改密码规范协议2 6 3 2 3s s l 警报协议2 7 3 2 4s s l 握手协议2 7 3 3 密钥的计算3 1 3 5 本章小结3 2 第4 章s s k 安全代理的设计3 3 4 1 系统设计目标3 3 1 1 1 吨 心 。 , q 武汉理工大学硕士学位论文 4 2 系统实现的功能3 3 4 3 系统结构3 3 4 4 系统开发环境的选择3 4 4 5 主要使用的结构体和关键函数介绍一、3 5 第5 章s s l 安全代理的模拟实现4 0 5 1 建立s s l 安全连接和身份验证模块4 0 5 1 1 服务器的实现过程4 0 5 1 2 客户端的实现过程4 3 5 1 3 生成证书和对应的私钥文件4 4 5 1 4 身份的认证4 6 5 2 安全通信模块4 7 5 3 文档加密模块4 8 5 4 本章小结5 3 第6 章总结5 4 致谢5 6 参考文献5 7 攻读硕士学位期间发表的论文6 0 i v 武汉理工大学硕士学位论文 吨 : 1 1 研究背景 1 1 研究背景 铋 1 1 1i n t e m e t 安全趋势 第1 章绪论 1 9 9 4 年,互联网体系结构委员会( i n t e m e :ta r c h i t e c t u r eb o a r d ,l a b ) 发布了 称为“s e c u r i t yi nt h ei n t e m e ta r c h i t e c t u r e ”的报告( 1 强c1 6 3 6 ) n 1 。报告指出 i n t e m e t 需要更多更好的安全,并给出了安全机制的一些关键领域。确保网络基 础设施免受非授权监视、确保网络信息流免受非授权的控制、运用认证和加密 机制确保终端对终端的信息流安全等内容都在其中。 这些关注是完全合理的。考虑由计算机应急响应组( c o m p u t e re m e r g e n c y r e s p o n s e t e a m ,c e r t ) 协调中心提供的安全趋势报告,据c e r t 统计,与安全 有关的事件数量以等比级数迅猛增长,这些事件包括拒绝服务攻击、i p 欺骗( 入 侵者用假的i p 地址伪造数据包,或利用假i p 进行认证) 以及各种形式的窃听和 包嗅探( 攻击者阅读传输的信息,如登录信息和数据库内容等) 晗,。 随着时间的推移,对i n t e m e t 和连接到i n t e m e t 的系统的攻击已经变得更加 复杂,而发动攻击所需的技能和知识却下降了。攻击变得更自动化而且所造成 的破坏更大。攻击的这种增长和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 n t e r n e t ,e m a i l ,w e b 和基于w e b 应用等的 安全性。因此,需要大量的技术和工具来对抗这些威胁。在基础层面上,用于 实现保密性和认证的密码编码算法显得更为重要。 1 1 2w e b 安全性威胁 访问互联网的个人和公司的增长速度非常快,且他们均使用图形界面的 w e b 浏览器。因此,许多公司都热衷于在w e b 上进行电子商务。但是,现实情 况是互联网和w e b 容易受到攻击,大家越来越意识到这种现实,因此安全w e b 服务应运而生。 下面总结了一些使用w e b 时将要面临的一些安全威胁跚: 吨 一、 。、 玲 木马;修改传送中的消 损害机器;丢失信息; 容易受到其它危险的攻击,c 相应的对策是( 采取加密的校验和等措施) ; 2 ) 保密性:a 威胁的来源包括( 盗取服务器数据;盗取网络配置信息;网 上监听;盗取客户端与服务器通话信息;盗取客户端数据) ,b 造成的后果有( 秘 密泄漏;信息泄密) ,c 相应的对策是( 采取服务器代理、加密等措施) ; 3 ) 拒绝服务:a 威胁的来源包括( 发送虚假的消息让设备溢出;利用d n s 攻击来隔离机器;让用户线程遭受破坏;填满内存或硬盘) ,b 造成的后果有( 受 到干扰;不能正常工作;进程中断) ,c 无法采取有效可行的对策,防御很困难; 4 ) 认证:a 威胁的来源包括( 数据的伪造;假装是合法用户) ,b 造成的后 果有( 虚假信息当成正确信息;将非法用户当作合法用户) ,c 相应的对策是( 采 取加密技术等方法) 。 现在已有许多提供w e b 安全性的方法。这些方法的使用机理是相似的,只 是各自的应用范围及在t c p i p 协议栈中的相对位置不同。 提供w e b 安全性的一种方法是使用i p 安全性。使用i p s e c h l 的优点在于, 它对终端用户和应用均属透明的,并且提供通用的解决方案。另外,i p s e c 还具 有过滤功能,以便仅用i p s e c 处理所选的流量。 另一种解决方案是在t c p 之上实现安全性。这种方法最早的例子是安全套 接层( s s l ) ,接着是成为互联网标准传输层安全协议( t l s ) 嵋1 。一般来说,s s l 或 t l s 可以作为潜在的协议对应用透明,也可以在特定的包中使用,如i e 和 n e t s c a p e 浏览器都提供s s l 服务,大多数w e b 服务器都实现了此协议。 1 2 国内外研究现状 虽然我国在密码编码学等安全领域的研究起步较晚,掌握的技术也落后于 美、英等发达国家,但国内对信息安全方面的研究热情从来未曾消退。在国际 社会上,大部分国家也不敢对信息安全领域的研究有一丁点的懈怠。虽然现在 的大环境是和平时代,但局部地区还是不时地爆发战争,比如阿富汗、伊拉克 战争,还有今年发动的利比亚战争。地域政治、石油资源等核心利益是战争发 动的根本原因。现代战争和以前的战争已经大不相同了,以前拼的是士兵数量 的多少,精良的装备,而在现代战争中,想要夺取胜利不仅要考虑上面这些因 素,还要加入一个重要的因素信息安全。很多当代的军事评论家说现代战 2 、 7 卜 f 一- 武汉理工大学硕士学位论文 争打的其实是信息战。美国军事力量的强大不仅在于装备的先进和精良,而且 拥有强大的信息安全系统,设想在战争的过程中总是掌握最准确的战场信息并 保证关键信息传递的安全性、及时性、有效性,那么就更加容易获得胜利。 美国、欧洲等国家的安全技术经过不断的发展和研究日趋成熟,而且这些 技术可以应用于商业、军事等多个领域。但是国外的在电子商务应用领域的一 些安全协议相关的算法和源代码都不是公开的,核心的算法也都被限制出口。 比如一些安全协议采用密钥长度小于5 6 b i t 的加密算法,而这样的加密算法十分 容易就能被破解,不能够用于实际的电子商务信息系统中嗍。想要独立开发一 个安全体系并不是简单的任务,得依靠一组有相关扎实基础的科研人员长期的 研发才能完成。 在国外,电子商务应用和网上购物已经十分普遍。随着网络技术的不断发 展和银行信用卡的推广,越来越多的人选择网上购物或用网上银行进行交易支 付。据有关资料的统计,美国在2 0 0 6 年个人网上购物的比例大约占整个购物份 额的一半左右,其中大约8 5 的交易金额是通过网上银行或信用卡支付的口3 。 欧洲国家电子商务的应用情况和美国相近,尤其是瑞士这样的金融业发达的国 家。亚洲一些国家如新加坡、韩国的电子商务和网上购物支付技术也发展得很 快。我国的电子商务领域虽然是新兴行业,一些企业如淘宝、阿里巴巴等已经 成功打开了市场,而且发展速度非常快,在淘宝网上每天新开的网店数以万计, 电子商务、网上购物领域有着十分广阔的市场前景。 截至2 0 1 0 年2 月,中国网民的数量已经超过3 亿了,而且网民的数量和规 模仍在持续地增长,网上购物的数量和金额也在节节攀升哺1 。有相关人士分析, 也许是金融危机促使了网络交易平台的发展。面对金融危机,互联网没有受到 太大的影响,但是网上购物的便宜和实惠让越来越多的人喜欢上了网上购物, 这样网上交易的平台和有关技术得到飞速的发展,市场前景很不错。但同时出 现了一个令人关注的问题,据调查,选择网上购物的用户中只有大约三分之一 的用户使用银行卡在线支付,大部分人选择去银行或邮局汇款支付。这说明大 多数网民对网上交易的安全性持怀疑态度或根本不信任支付平台。有人指出, 互联网交易未来的发展方向是由应用阶段向信任阶段过渡。 网络安全问题已经变成了电子商务应用中网络交易支付技术发展的一个瓶 颈旧。关于这个问题,国内外安全领域的学者或研究小组都已经开展了保护交 易安全的相关技术研究。目前s s l 协议、s e t 协议、t l s 协议是几个比较成熟 完善、应用广泛的网络交易协议n 引。这些协议虽然允许出口但国外对这些技术 3 一t 7 x , 一 武汉理工大学硕士学位论文 类产品都设置了出口限制,协议提供的安全能力降低了不少。国内的办法是企 业或相关研究机构通过研究分析源代码开源的s s l 协议,然后修改增加一些东 西后能适用于互联网安全问题,为网络交易的通信过程提供安全保护。 s s l 协议是n e t s c a p e 公司提出的一种安全协议,它在客户机与服务器之间 创建安全的通道来传输数据,它在应用层的下面、t c p 口层的上面运行,给应 用程序和数据提供加密解密服务。它包含的算法有r s a 公钥加密算法n 1 1 、d e s 数据加密算法等,加密的密钥长度一般是4 0 b i t ,在商业应用中用来加密敏感的 数据或消息。并且网景公司还提出了h t t p s 安全超文本传输协议,与h t t p 使用8 0 端口进行t c p i p 连接不同,h t t p s 使用4 4 3 端口与t c p i p 通信n 2 】。 h t t p s 协议的传输过程描述如下:发送者用s s l 协议中的算法和密钥对消息进 行加密处理,接收者与发送者在s s l 连接过程中交换共享密钥,收到消息后接 收者用相应的算法和密钥对消息进行解密。在这个h t t p s 协议的传输过程中应 用数据和消息经过了加密处理,比较安全可靠。 我们使用的安全技术都是国外研发的成果,现在我们一般都只是对这些成 果进行简单的应用。我们应该清醒的认识到,安全相关领域的核心技术都掌握 在外国人手里,万一有一天外国挑起战争,外国的攻击者利用它们已经掌握的 核心技术轻易的就扰乱了我们的信息安全系统,到那时后悔就望尘莫及了。我 们要实现完全安全的网络体系,必须自主创新,开发独立的网络传输规范和安 全密码体系。在目前这个阶段,整体上我国的技术比较落后,但我们可以用鲁 迅先生的“拿来主义”,尽量掌握、研究、分析国外先进的理论和算法,然后 结合国内独立研发的密码安全体系,创造一种全新的安全领域的研究成果。想 要达到此目标必须要努力奋斗。 1 3 本文的组织及结构 第l 章介绍课题的研究背景、国内外研究现状和开展意义。 第2 章介绍密码学和安全技术相关的基础知识,是s s l 协议研究的理论基 础。主要讲述了对称密钥和非对称密钥加密体系的工作原理以及相关技术,包 括消息认证、散列函数、数字签名、x 5 0 9 证书及公钥基础设施p k i 等技术。 第3 章详细讲解了s s l 安全传输协议,对s s l 协议中的记录层协议、握手 协议、修改密码规范协议、警报协议等各个组成协议进行了深入的分析。然后, 又讲解了密钥的计算方法。 4 一 武汉理工大学硕士学位论文 第4 章介绍了s s l 代理系统的设计目标、实现功能、设计思想和实现方案 与原理。 第5 章是s s l 安全代理的模拟实现部分,详细介绍了构建s s l 安全连接与 身份认证、安全通信、传输文档加密几个模块的实现过程,并且结合成功的示 例作了具体的描述。 第6 章是总结介绍自己做了哪些工作,有哪些不足和需要改进的地方,未 来的工作重点和计划。 5 武汉理工大学硕士学位论文 第2 章密码学与安全技术基础 迄今为止,最重要的网络与通信安全自动化工具是加密。广泛使用的两种 加密形式上传统( 或对称) 加密和公钥( 或非对称) 加密n 3 1 。 2 1 加密技术和散列函数 加密技术大体上分为两类:对称加密技术和非对称加密技术。 2 1 1 对称加密技术 对称加密,也称传统加密或单钥加密,是2 0 世纪7 0 年代公钥密码产生之 前惟一的加密类型n 4 1 。迄今为止,它仍是两种类型的加密中使用最为广泛的一 种。 首先我们先介绍一些密码学中的术语。原始的消息称为明文,而加密后的 消息称为密文。从明文到密文的变换过程称为加密;从密文到明文的变换过程 称为解密n5 1 。 对称加密方案由5 个因素构成: 明文:是加密算法的_ 个输入部分,通常指那些能被人们看懂的数据和文 字信息。 密文:是加密算法的输出部分,一般经过加密后的密文不容易理解其含义, 而且文字排列杂乱无章。对于同一段明文,不同的加密方法和密钥会有不同的 密文结果。 加密算法:对明文进行变换、置换等处理的规则。 解密算法:对密文进行还原初始明文的处理规则,一般与加密算法相对应。 密钥:是加密算法的另一个输入部分,加密和解密的处理方法都依赖于密钥。 能够安全使用对称密码有两个条件: 1 用于加密的算法的安全性高。假设有人能设法在传输中途窃取一些密文, 但他无法破解这些窃取的密文,即使不法者同时拥有大量的明文和密文,也不 能推算出密钥,那么这个加密算法可以算是比较安全的。 2 传递消息的双方获得密钥的途径很安全,并且妥善保护密钥不能泄露给 6 基于穷举密钥的 穷举攻击。 密码分析学:密码分析学攻击依赖于算法的性质和明文的一般特征或某些 明密文对。这种形式的攻击企图利用算法的特征来推导出特别的明文或使用的 密钥。 穷举攻击:攻击者对一条密文尝试所有可能的密钥,直到把它转化为可读 的有意义的明文。平均而言,获得成功至少要尝试所有可能密钥的一半数量。 传统对称密码( 计算机出现前) 使用代换或置换技术。代换技术将明文元素 ( 字符、比特) 映射为密文元素,置换技术将明文元素的位置进行系统的置换。 分组密码是一种加解密算法,其将输入的明文分组当作一个整体处理,输 出一个等长的密文分组。流密码每次加密数据流的一位或一个字节n 引。现在使 用的大多数对称分组加密算法都是基于f e i s t e l 分组密码结构的 f e i s 7 3 ,这样 的结构由许多相同的轮函数组成。每一轮里,对输入数据的一半进行代换,接 着用一个置换来交换数据的两个部分,扩展初始的密钥使得每一轮里使用不同 的子密钥u 。数据加密标准d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 一直是应用最广泛 的对称加密算法,它扩展了经典的f e i s t e l 结构,d e s 使用6 4 比特的分组和5 6 比特的密钥n 引。差分分析和线性分析两种重要的密码分析方法,d e s 对这两种 攻击具有很强的免疫性。 美国国家标准技术协会( n i s t ) 在2 0 0 1 年发布了高级加密标准( a e s ) ,a e s 是一种分组密码,用来取代d e s 的商业应用,其分组长度为1 2 8 位,密钥长度 为1 2 8 位,1 9 2 位或2 5 6 位n 町。a e s 没有使用f e i s t e l 结构。每轮由四个单独的 运算组成:字节代换,置换,有限域上的算术运算,以及与密钥的异或运算。 多重加密锁将一个加密算法多次使用的技术。在第一次使用中,明文通过 加密算法转化为密文。然后将该密文作为输入重新执行加密算法。该过程可以 重复多次。三重d e s ( 3 d e s ) 在三个阶段使用d e s 算法,共用到两组或者三组密 钥矧。 2 1 2 非对称加密技术 非对称密码也就是公钥密码,与对称密码使用一个密钥不同,它使用一组 密钥对,这个密钥对包含两个不同的密钥:公钥和私钥。其中一个密钥用来对 7 武汉理工大学硕士学位论文 明文作加密处理,对应的另一个密钥用来对密文作解密处理。私钥只能解密与 之对应的公钥加密过的明文,公钥也可以解密私钥加密过的消息,总之,公钥 或私钥都可以用来加密和解密,其中一个进行加密,另一个则可以解密。 公钥加密算法的特点洲是算法较复杂、破译难度大、安全性高。公钥算法 安全性相对较高指的是,想依据明文、密文、其中的一个密钥等信息来破译算 法和另一个密钥是无法计算完成的,但该算法的运算速度慢,所以只适用于加 密少量的数据,如果消息量太大则会耗费大量的时间进行加密和解密。 使用公钥加密算法加密的过程描述如下:首先消息的发送者生成一个公钥 私钥对;然后发送者将其中一个密钥公开地展示给别人,那么称这个密钥为他 的公钥,另一个成为私钥。一个发送者也可以获得别人的公钥;如果b 要向a 发消息,那么b 先用a 的公钥对消息加密,当a 收到消息后,可以用自己保留 的私钥对b 发送的消息解密,a 的私钥只有他自己知道,所以其它人不能解密 该消息。 按照这种模式,各个用户都可以访问其它用户的公钥,但只有用户自己才 知道自己的私钥,用户只管保护好自身的私钥,那么就可以认为公钥加密的通 信方法是比较安全可靠的。即使用户发现私钥被意外泄密了,只需重新生成一 个新的公钥私钥对,并把新的公钥公开、代替原来的公钥。 下面将对称密码和非对称密码的作个比较口引: 对称密码:加密和解密使用相同的算法和相同的密钥;收发双方必须实现 密钥的共享。 - 非对称密码:加密和解密使用同一算法,但时使用不同的密钥;发送方拥 有公钥私钥对中的一个密钥,而接收方拥有另一个密钥。 对称密码的安全性要求有:必须保护密钥的安全;若没有明文、密钥等相 关信息,则解密消息是不可行的;知道算法和若干密文不足以确定密钥。 非对称密码的安全性要求有:公钥私钥对中的一个必须是保密的;若没其 它信息,则解密消息是不可行的;知道算法和其中一个密钥以及若干密文不足 以确定另一密钥。 公钥加密算法中典型的代表是r s a 公钥加密算法。r a s 公钥加密算法是 由美国麻省理工学院r i v e s t 、s h a m i r 、a d l e m a n 三个人一起提出发表,并用他们 自己名字的首个字母组合在一起命名。r s a 公钥加密算法的思想包括对明文和 密文的分组加密,通过较大的数被因式分解成两个质数的方法来生成密钥对1 。 下面我们介绍r s a 算法的过程嘲1 : 8 武汉理工大学硕士学位论文 i 产生密钥; 选择p ,q ( p 和q 都是素数,p q ) ; 计算n = p x q ; 计算f ( n ) = ( p - - 1 ) ( q - 1 ) ; 选择整数e 使得g c x l ( f ( n ) ,e ) = 1 ;l e f 【n ) ; 计算d ,d - - 一e - 1 ( m o d 删) ; 公钥为p u = e ,n ) ;私钥为p i p d ,n ) ; i i 加密; 明文:m n ,即假定密钥位数比m a c 长,那么,对满足 m a c l = c ( k ,m 1 ) 的m l 和m a c l ,密码分析者要对所有可能的密钥值k i 计算 m a c i = c ( k i ,m i ) ,那么至少有一个密钥会使得m a c i = m a c l 。注意,这里总共 会产生2 k 个m a c ,但只有2 n 2 k 个不同的m a c 值,所以许多密钥都会产生正 确的m a c ,而攻击者却不知哪一个是正确的密钥。平均来说,有2 k 2 n = 2 ( k n ) 个 密钥会产生正确的m a c 。 平均来讲,若k = p q ,则需p 次循环。例如,如果使用8 0 位的密钥和长为 3 2 位的m a c ,那么第一次循环会得到约2 4 8 个可能的密钥,第二次循环会得到 约2 1 6 个可能的密钥,第三次循环则得到惟一一个密钥,这个密钥就是发送方所 武汉理工大学硕士学位论文 使用的密钥。 如果密钥的长度小于或等于m a c 的长度,则很可能第一次循环中就得到 一个密钥,当然也可能得到多个密钥,这时攻击者还需对新的消息对执行测试。 由此可见,用穷举方法来确定认证密钥不是一件容易的事,而且确定认证 密钥比确定同样长度的加密密钥更困难。 要让m a c 函数足够安全,应该考虑各种类型的攻击。m a c 函数应满足下 列要求:1 若攻击者已知散列函数和函数中其中一个参数( 变长消息) ,那么他应 无法构造相同的变长消息;2 散列函数应该分布比较均匀;3 变长消息不能通过 简单的变化就可构造新的散列函数1 。 计算散列值s 的算法函数t 为: s _ t ( e ) 式中参数的含义解释如下:s 指需要得到的散列值;t ( e ) 指长度固定的散列值; e 指选择的变长消息。 当发送者要发送消息时,先计算消息的散列值并附于该消息的后面,接收 者收到消息后再对消息计算新的散列值,如果两个散列值一致则可验证该消息 是合法的。因为散列函数t 只是一个函数,需要用对称加密或公钥加密的方法 对其进行处理,以达到保护散列函数t 不被破译。 消息认证中需要用到散列函数由于它有以下特点:算法函数t 计算出的散 列值的长度是固定的;算法函数t 对各种大小的应用数据都适用;对于所有的 变长消息e ,函数t ( e ) 计算起来不困难,实现起来也方便;想通过已知散列值s 逆向推算出变长消息e 是不可能完成的计算任务;无法找到能替代原始变长消 ge 的另一个消息e 。 安全散列函数里用到的压缩函数可以分为两类口副:专为散列函数设计的函 数或对称分组密码。第一种类型中的典型例子是安全散列算法( s h a ) b 3 i ,第二 种类型中的典型例子是w h i r l p o o l 。相应的消息认证码也可分为两类:使用安全 散列算法和使用对称分组密码。第一种方法中的例子有h m a c m l ,第二种方法 中的例子有c m a c 嗍。 2 2 数字签名和认证协议 数字签名 数字签名是一种认证机制,它使得消息的产生者可以添加一个起签名作用 1 2 武汉理工大学硕士学位论文 的码字汹1 。通过计算消息的散列值并用产生者的私钥加密散列值来生成签名。 签名保证了消息的来源和完整性。 数字签名有以下一些特点:数字签名能对它自己签过的数据或消息进行验 证;能够对签名的姓名、时间和日期进行检查;有第三方机构对签名进行监督 管理。 数字签名能够用于身份认证有以下几点原因:数字签名的创建比较简单; 数字签名的验证比较简单;数字签名的内容与发送的消息有关;数字签名的内 容涉及到签名一方自己独特的参数;无法伪造或篡改签名;可以对数字签名进 行存档操作。 认证协议 相互认证协议使得通信的各方对相互的身份感到放心,并交换相互通信的 密钥。在认证的过程中如何保护交换密钥的安全性是非常关键的问题。为了保 护双方密钥能安全顺利的交换,交换的消息通常经过加密处理后才进行传输, 在这个加密处理过程中可以使用对称密钥也可以使用公钥私钥对。由于有些攻 击者可能使用重放攻击的策略来获取通信的密钥,我们必须做好各方面的保护 抵御措施。 下面列举了一些消息重放攻击的例子: 简单重放:攻击者只是简单地复制消息并重复地发送该条消息。 可检测的重放:攻击者在一定的时间内重放含有时间戳的消息。 不可检测的重放:由于原始消息可能被截取而不能到达达接收者,接收者 只能收到重放的消息,此时可能出现这种攻击。 不加修改的逆向重放:这是向发送方重放消息。如果使用对称密码并且发 送方不能根据内容来区分发出的消息和接收的消息,那么可能出现这种攻击。 一种对付重放攻击的方法是,在每个用于认证交换的消息后附加一个标识 符,只有正确标识符的消息才能被接受。但是这种方法存在这样一个问题,即 它要求每一通信方都要记录其他通信各方最后的标识符,因此,认证和密钥交 换一般不使用标识符,而是使用时间截和挑战应答两种方法1 。 时间戳方法是指发送者在消息的后面附加一个时间标识码,接收者解析收 到消息中的时间标识码,如果解析出来的时间与接收者当前的时间十分接近, 那么接收者可以相信该消息是合法的。 挑战应答方法是指接收者先向发送者传递一个随机序列号,如果发送者想 传输消息,则发送者的消息中必须含有相同的随机序列号作为应答信号。 单向认证时,接收方想确信消息确实来自声称的发送方。 1 3 武汉理工大学硕士学位论文 电子邮件是广泛使用加密的应用之一,它的基本特点和主要益处是,收发 双方不需同时在线联系,而是电子邮件消息发送到接收方的电子邮箱中,并一 直存放在邮箱中,直至接收方读取为止嘲。 “信封 或消息的报头必须是明文形式,这样它们才可由诸如简单邮件传 输协议( s m t p ) 或x 4 0 0 的存储一转发电子邮件协议来处理。但是,通常希望邮 件处理协议不要访问明文形式的消息,因为这会要求可信的邮件处理机制,所 以应该对电子邮件消息加密,并且邮件处理系统不拥有解密密钥。 电子邮件的认证一般采用公钥加密的方法。发信用户用私钥对其签名加密 并用邮件服务器的私钥对其证书加密,然后将它们连同消息一起传输给收信用 户。收信用户先从证书中获得发信用户的公钥并验证其合法性,然后使用公钥 来验证消息。如果要求保密性,一种方法是用收信者的公钥对整个消息加密, 另一种方法是使用一次性密钥对整个消息加密,并用收信者的公钥对该密钥加 密后一起发送给收信者。 数字签名标准 数字签名标准( d s s ) 是n i s t 标准,它使用安全散列算法( s h a ) 。d s s 最先 在1 9 9 1 年发布,并提出了新的签名方法d s a ( 数字签名算法) 啪1 。 d s s 与r s a 不一样,它包含的算法只能提供数字签名功能,它使用公钥的 算法思想但并不用来加密或分配密钥。r s a 算法里,变长的消息e 是函数的输 入,固定长度的散列值s 是输出,用发送者的私钥对计算出的散列值s 进行签 名,接着向接收者发送该消息和签名。接收者收到消息后先用发送者的公钥解 析消息的签名,然后计算消息的散列值s 2 ,若推算出s 2 与解析得到的散列值s 相一致,则可以认为该消息是合法的,并且签名也有效。散列函数在d s s 算法 里也起到了关键的作用。在d s s 算法里,签名函数的输入包括散列函数计算出 的散列值和一个生成的随机数,而签名函数的参数包括发送者的私钥和通信各 方共享的一组全局公钥,签名分为两部分。接收者利用一个检测函数来验证收 到消息的合法性,接收者收到消息后计算散列值,收到的数字签名和计算得到 的散列值作为检测函数的输入,而且推算检测函数还用到了发送者的公钥和全 局共享的公钥。如果检测函数计算的最终结果与签名的第二部分一致,那么可 以认为该消息是合法的,并且签名也有效。 2 3x 5 0 9 认证服务 x 5 0 9 是关于认证协议和证书结构的一种重要标准,并被广泛使用。比如, 1 4 武汉理工大学硕士学位论文 x 5 0 9 证书格式用于s s i d t s l 与s e t 、s m i m e 和口安全性。 1 9 8 8 年首次发布x 5 0 9 ,随后修改了安全性等方面,1 9 9 3 年发布修订稿, 第三版发布于1 9 9 5 年,在2 0 0 0 年再次被修改。 x 5 0 9 是基于公钥密码体制和数字签名的服务。其标准中并未规定使用报 个特定的的算法,但推荐使用r s a ;其数字签名需要用到散列函数,但并没有 规定具体的散列算法。证明了1 9 8 8 年的建议书中推荐的散列算法是不安全的之 后,在5 年后的建议书中该散列算法被删除。图2 1 描述了一个公钥证书的产 生过程。 没有签名的证 书:包含用户 d ,用户公钥 生成没有签名 签过名的这证书:接收 者可用主认证机构的公 钥来检查签名 图2 1公钥证书的产生过程 2 3 1 证书 用认证机构的私钥 来加密没有签名证 书的散列码来生成 签名 x 5 0 9 定义了公钥证书的格式,这种格式被广泛使用于各个应用中。 与用户关联的公钥证书是x 5 0 9 的关键。可信的认证中心创建用户关联的 证书并把这些证书存放在服务器目录里。服务器目录只能作为用户存取证书的 地址或途径,无法创建证书和公钥。 1 5 武汉理工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湿地环境影响评估与监测
- 公园资金预算与财务管理方案
- 2025年身体磨砂膏行业研究报告及未来行业发展趋势预测
- 2025年牙刷行业研究报告及未来行业发展趋势预测
- 2025年咖啡套具行业研究报告及未来行业发展趋势预测
- 建筑内外立面装饰优化方案
- 2025年生活日用橡胶制品行业研究报告及未来行业发展趋势预测
- 山东省烟台市芝罘区烟台二中2026届化学高一第一学期期末复习检测模拟试题含解析
- 医疗不良事件报告制度专题(附答案)
- 2025年毛衣行业研究报告及未来行业发展趋势预测
- 拉链专业工艺讲解
- 2025版抵押贷款抵押物抵押权登记及变更手续协议模板
- 《死亡医学证明(推断)书》培训试题(附答案)
- 【中考真题】2025年贵州省中考数学真题(含解析)
- 护理核心制度2025年
- 软式内镜培训课件
- 福寿园内部培训课件
- 汽车户外互动活动方案
- 篆刻教学课件
- 华文版二年级上册-写字-书法
- 慢性根尖周炎病例分析
评论
0/150
提交评论