




已阅读5页,还剩76页未读, 继续免费阅读
(计算机软件与理论专业论文)ssl协议分析及其在移动终端上的实现研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 在当今私人账务结算上,手机支付模式逐渐代替传统信用卡支付模式,这预 示着移动电子商务已经从离线支付时代发展到在线支付时代。随之安全性将成为 影响移动电子商务快速普及的关键因素。近年来,i t 联合金融行业推出了不少有 效的安全交易标准,其中s s l 协议以其支持加密算法多、市场占有率广、实现简单 等特点广泛应用于当前的电子商务领域,成为解决通信和交易安全问题的主要手 段。另外,在当前数字信息技术和网络技术高速发展的后p c 时代,大部分终端设 备已加入了t c p i p 协议栈的支持,这给移动设备上s s l 协议的实现提供了条件。 通过对于现有s s l 相关产品的分析,我们发现由于设计与实现的局限性,从而 导致这些产品很难直接与移动终端设备相结合。本课题在详细分析s s l 协议工作原 理和移动电子商务的安全要求基础之上,提出适宜于移动设备的s s l 协议实现策 略。本文针对移动设备资源有限和平台多样性的特点,从空间、时间和平台适应 性三个方面做了优化,使此软件具有良好的运行性能和令人满意的体积大小。为 了使系统有更好的扩展性和灵活性,本软件使用层次模型结构设计,上层接口层 屏蔽内部实现为用户提供友好的编程接口,下层适配器层提供抽象接口屏蔽操作 系统的差异,中间层包括算法模块、证书模块、协议模块的具体实现,其中状态 机驱动的协议模块是本文描述重点,文章分别介绍了此模块中状态机、记录协议 和握手协议的实现过程,以及警示消息和系统错误的处理。此外,我们对于嵌入 式设备上实现此协议的难点做了具体描述,并对这些难点提出相应的解决方案。 在本文的最后,我们针对该软件提出一套测试方案,对软件进行了严格的单 元测试、功能测试和性能测试,使得程序的品质和性能达到开发之前所提出的要 求。本软件以其可移植、可裁剪、高性能、多功能、小体积等应用特点受到用户 的好评,目前此软件已应用于掌上银行、电视机顶盒股票交易等多个移动电子商 务的安全交易中。文章的最后,通过一个使用此s s l i 具箱的移动应用介绍了此工 具箱的移植过程,证明了该软件的裁剪性、移植性和功能完善性。 关键词:嵌入式设备,s s l ,数字证书,p k i a b s t r a c t a bs t r a c t n o w a d a y s ,c e l lp h o n er e p l a c e st h et r a d i t i o n a lw a yo fp a y m e n t 谢t hc r e d i tc a r d g r a d u a l l y , w h i c hm e a n st h eb e g i n n i n go fag r e a ti m p r o v e m e n ti nm o b i l ee c o m m e r c e f r o mo f f - l i n et oo n l i n e t h e r e f o r e ,s e c u r i t yb e c o m e sp l a y i n ga l li m p o r t a n tr o l ei n m o b i l ee c o m m e r c e a tp r e s e n t ,t h ei t ,w i t ht h ea s s i s t a n to ff i n a n c i a lf i e l d ,h a sp r o p o s e d m a n ye f f e c t i v es t a n d a r d so fs e c u r i t i z e dt r a n s a c t i o n a m o n go ft h e m ,t h es s lp r o t o c o l , k n o w nb yi t sh i g hc o m p a t i b i l i t y 淅t ht h ev a r i o u se n c r y p t e da l g o r i t h m s ,w i d e l ym a r k e t o c c u p a n c ya n de a s i l yi m p l e m e n t a t i o n ,h a sb e e nw i d e l yu s e di nt h ee l e c t r o n i cb u s i n e s s f i l e d i th a sb e c o m ea ne f f e c t i v em e t h o dt os o l v et h ep r o b l e m so fc o m m u n i c a t i o na n d t h es e c u r i t yi s s u eo ft r a n s a c t i o n f u r t h e r m o r e ,w i t ht h et r e m e n d o u sd e v e l o p m e n to f i n f o r m a t i o n h a n d l i n ga n dn e t w o r kt e c h n o l o g y , m o s to fd e f i c e sh a v eb e e ne q u i p p e dw i t h t c p i pw h i c hm a k e ss s l i m p l e m e n t e de a s i l y t h r o u g hc a r e f u la n a l y s i s a b o u tt h e p r e s e n ts s lp r o d u c t s ,t h e r e a r em a n y l i m i t a t i o n sw i t ht h e mi ft h e yw o u l db ei m p l e m e n t e di nv a r i o u st y p e so fm o b i l et e r m i n a l t h i sp a p e rp r o v i d e sac o m p l e t ep r o t o t y p ea b o u ts s l i m p l e m e n t a t i o n , w h i c hi ss p e c i f i c f o rt h ea p p l i c a t i o ne n v i r o n m e n tw i t hl i m i t e dr e s o u r c ea n dg r e a tv a r i e t y a d d i t i o n a l l y , w e o p t i m i z e dt h i sm o d e lf r o md i f f e r e n ta s p e c t si n c l u d i n gt i m e ,s p a c ea n dc r o s s - p l a t f o r m c o m p a t i b i l i t ys ot h a ts u c hd e s i g nc a nb ef i tf o rt h ew e l lp e r f o r m a n c ea n ds a t i s f i e d e x e c u t a b l es i z e w em a k eu s eo ft h em o d u l a r i z a t i o na n dh i e r a r c h i c a ld e s i g nt om a k et h e r e s o u r c ea c c e s s i n gs y s t e mm o r ef l e x i b l ea n de x p a n s i b l ea n dt h er e s o u r c ea c c e s s i n g m o r ee f f i c i e n t i nt h eh i e r a r c h i c a lm o d e l ,t h eu p p e rl a y e rp r o v i d e st h eu s e r - f r i e n d l y p r o g r a m m i n gi n t e r f a c eb yh i d i n gi n t e r n a li m p l e m e n t a t i o n ,t h el o w e s tl a y e rp r o v i d e s a b s t r a c t i n t e r f a c ei no r d e rt os h i e l do sd i f f e r e n c e s ,a n dt h em i d d l el a y e ri n c l u d e s a l g o r i t h mm o d u l e ,c e r t i f i c a t em o d u l ea n ds t a t em a c h i n e d r i v e np r o t o c o lm o d u l ew h i c h i st h ek e y p o i n to ft h i sp a p e r w ei n t r o d u c et h ei m p l e m e n t a t i o no fs t a t em a c h i n e ,r e c o r d p r o t o c o l ,h a n d s h a k ep r o t o c o la n dh a n d l i n g p r o c e s so fa l a r m & e r r o rm e s s a g e si nt h e p r o t o o lm o d u l e i na d d i t i o n ,w ep r o p o s es o l u t i o n s t ot h ed i f f i c u l t i e so ft h e i m p l e m e n t a t i o nb a s e do nt h ee m b e d d e dd e v i c e a tt h ef i n a lp a g e so ft h i sp a p e r , w ep r o v i d eat e s tc a s ef o ro u ra p p l i c a t i o n t h r o u g h l l a b s t r a c t t h e s es t r i c tt e s t c a s e s ,t h ec a p a b i l i t yo ft h i ss o f t w a r e c a r lb eg u a r a n t e e dg r e a t e l y c u r r e n t l y , t h i ss o f t w a r eh a sb e e nu s e dt os e v e r a l s e c u r et r a n s a c t i o n sb e c a u s eo fi t s p o r t a b i l i t y , h i g h - p e r f o r m a n c ea n dm u l t i f u n c t i o n f i n a l l y , w ep r o v i d e ad e m oa p p l i c a t i o n w h i c hi si m p l e m e n t e db yt h i ss s lt o o l k i ti no r d e rt od e s c r i b et h ed e t a i l sa b o u tt h e p r o c e s so ft r a n s p l a n t a t i o n k e y w o r d :e m b e d d e dd e v i c e ,s s l ,d i g i t a lc e r t i f i c a t e ,p k i i i i 图索引 图索引 图2 1 加解密过程8 图2 2 数据摘要示意图1 1 图2 3 消息的发送过程1 6 图2 4 消息接收过程1 7 图3 1s s l 在协议栈中的位置18 图3 2s s l 协议结构。1 9 图3 3s s l 记录层操作及记录头内容2 0 图3 4 握手消息结构2 1 图3 5s s l 协议完全握手过程2 5 图3 6 会话恢复流程。2 6 图3 7 密钥导出2 7 图4 1 设计层次模型3 5 图4 2 系统体系结构3 6 图4 3m i n i s s lc e r t c h a i ni n t e r n a l v e r i f y 流程图3 9 图4 - 4 数据块加密流程4 l 图5 1 协议模块结构图4 2 图5 2 状态机状态图5 0 图5 3 握手消息记录结构5 3 图5 4 数据发送流程5 6 图5 5m i n i s s lp k t 函数流程图57_demux 图5 6 缓冲区状态图。5 9 图6 1r s a 性能6 6 表索引 表索引 表1 1s s l 产品4 表3 1 握手消息参数2 2 表5 1 状态机事件处理函数表5 1 表6 1c u n i t 中的一个t e s t 6 4 表6 2 协议功能测试中的一个t e s t 6 5 v l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 关于论文使用授权的说明 y 月刁日 l 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:导师签名:南砖 日期:。娟年r 月习e t 第一章引言 1 1 移动电子商务的发展 第一章引言 所谓移动电子商务( m c o m m e r c e ) ,是通过手机、p d a ( p e r s o n a ld i g i t a l a s s i s t a n t ) 、呼机等移动通信设备与因特网有机结合所进行的电子商务活动。传统 互联网领域阿里巴巴等电子商务企业的巨大成功创造了电子商务时代的盛世,也 使得众多企业瞄准了尚未完全成熟的移动互联网方向电子商务的机会。w a p 使得 依赖于缓慢网速的手机终端上网成为现实,而伴随着3 g 的全面商用,手机上网的 速度瓶颈即将成为历史。面对着中国五亿多的手机用户和业已拓宽的无线带宽, 每一个企业都有足够的理由憧憬3 g 时代移动电子商务的美好前景。国内外许多企 业也已经以不同的方式进入中国的移动商务市场。世界知名的3 g 服务运营商n t t d oc om o 在今年年初就通过与用友软件合资的方式进入中国移动商务市场。在 2 0 0 7 年1 2 月1 8 日用友移动的战略发布会上,用友软件股份有限公司总裁王文京 表示:“移动商务是用友集团战略培植的业务,也是未来与管理软件并重的两个业 务支柱之一,用友集团会将优势资源向移动商务倾斜,继续战略培植移动商务。” 毫无疑问,随着3 g 的全面商用和移动金融支付体系的日渐完善,由于现代人快速 的生活节奏,移动电子商务不限地域和时间、不受固定宽带网络限制的交易方式, 无疑将会带来巨大的商业机会【1 】【殂。 移动电子商务因其快捷方便、无所不在的特点,已经成为电子商务发展的新 方向。在移动电子商务广泛兴起的同时存在一些阻碍其发展的因素。移动终端设 备的内存小,c p u 主频低与p c 机根本没有可比性,限制了一些应用在嵌入式设备 上的部署,另外移动终端的输入方式单一,屏幕小也降低了软件的用户体验;带 宽不足以支持移动电子商务所需的网络环境,不过随着第三代移动通信系统建立, 网络带宽可以得到很好的改善。 1 2 移动电子商务中安全需求 从全球著名的市调公司美国f r o s t & s u l l i v a n 的报告显示,未来的移动电子商 务市场将主要集中在以下几个不同领域:自动支付系统,包括自动售货机、停车 电子科技大学硕士学位论文 场计时器、自动售票机等;半自动支付系统,包括商店的收银柜机、出租车计费 器等;移动互联网接入支付系统,包括商业的w a p 站点等;手机代替信用卡类支 付以及私人之间账务结算。这预示移动电子商务已经从离线支付时代发展到在线 支付时代,如移动电子银行、移动贸易、移动购物、移动证券、移动缴费等【3 1 。 i n t e m e t 所具有的开放性是移动电子商务方便快捷、广泛传播的基础,但由于 移动通信的固有特点,手机与基站之间的空中无线接口是开放的,这给破译网络 通密码提供了机会 4 1 。而且信息一旦离开移动运营商的网络就己失去了移动运营商 的加密保护。因此,在整个通信过程中,包括通信链路的建立、信息的传输( 如 用户身份信息、位置信息、用户输入的用户名和密码、语音及其他数据流) 存在 被第三方截获的可能,从而给用户造成损失【5 】【6 】。另一方面在移动通信系统中,移动 用户与网络之间不像固定电话那样存在固定的物理连接,商家不容易确认用户的 合法身份。无线网络的这些特点使小到本企业的商业机密、商务活动的正常运转, 大至国家的政治、经济机密都将面临网上黑客与病毒的严峻考验。因此,安全性 始终是电子商务的核心和关键问题。 所谓电子商务的安全主要是网络安全问题,在移动电子商务中用户对于安全 的需求主要包括以下几个方面: 1 ) 信息的保密性。交易中的商务信息均有保密的要求。如信用卡的账号和用 户被人知悉,就可能被盗用;定货和付款信息被竞争对手获悉,就可能丧 失商机。因此在电子商务中的信息一般都有加密的要求1 7 j 。 2 ) 认证需求。网上交易的双方很可能素昧平生,相隔千里。因此,要使交易 能够成功,首先要想办法确认对方的身份。对商家而言,要考虑客户端是 否是骗子,而客户也会担心网上的商店是否是黑店。因此,能方便而可靠 地确认对方身份是交易的前提。 3 1 交易的不可否认性。交易一旦达成,是不能被否认的,否则必然会损害一 方的利益。因此电子交易过程中通信的各个环节都必须是不可否认的。主 要包括:源点不可否认,信息发送者事后无法否认其发送了信息;接收不 可否认,信息接收方无法否认其收到了信息;回执不可否认,发送责任回 执的各个环节均无法推脱其应负的责任瞵j 。 4 ) 数据完整性。保护数据以防止未经授权实体的增删、修改和替代。 5 ) 访问控制需求。保护资源,以防止对它的非法使用和操作。 针对电子商务的这些安全需求,一种遵循标准的利用公钥加密技术为互联网 上电子商务的开发提供安全基础平台的p k i 应运而生1 9 。p k i 能为电子商务环境中 2 第一章引言 各实体用户的不同安全需求,提供各种相关的安全服务,对此后面将会进一步深 入论述。 1 3 电子商务中的安全协议 近年来,i t 业界与金融行业一起,推出不少更有效的安全交易标准,如安全 超文本传输协议( s h t t p ) 、安全套接层协议( s s l 协议) 、安全交易技术协议( s ,丌) 、 安全电子交易协议( s e t ) 等。支付系统是电子商务的关键,但支持支付系统的关 键技术的未来走向尚未确定【1 0 l 。安全套接层和安全电子交易是两种重要的通信协 议,每一种都提供了通过i n t e r n e t 进行支付的手段。下面着重介绍s s l 和s e t 以 及两者之间的比较。 s e t 协议( s e c u r ee l e c t r o n i ct r a n s a c t i o n ,安全电子交易) 是由v i s a 和 m a s t e r c a r d 两大信用卡公司于1 9 9 7 年5 月联合推出的规范。s e t 主要是为了解决 用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、 支付过程的完整、商户及持卡人的合法身份、以及可操作性。s e t 中的核心技术 主要有公开密匙加密、电子数字签名、电子信封、电子安全证书等。s e t 能在电 子交易环节上提供更大的信任度、更完整的交易信息、更高的安全性和更少受欺 诈的可能性。s e t 协议用以支持bt o c ( b u s i n e s st oc o n s u m e r ) 这种类型的电子商 务模式【1 1 1 2 】,即消费者持卡在网上购物与交易的模式。s e t 交易分三个阶段进行: 在购买请求阶段,用户与商家确定所用支付方式的细节;在支付的认定阶段,商 家会与银行核实,随着交易的进展,他们将得到付款;在受款阶段,商家向银行出 示所有交易的细节,然后银行以适当方式转移货款。如果不是使用借记卡,而直 接支付现金,商家在第二阶段完成以后的任何时间即可以供货支付【1 3 1 。第三阶段 将紧接着第二阶段进行。用户只和第一阶段交易有关,银行与第二、三阶段有关, 而商家与三个阶段都要发生关系。每个阶段都涉及到r s a 对数据加密,以及r s a 数字签名。使用s e t 协议,在一次交易中,要完成多次加密与解密操作,故要求 客户端和商家的服务器有很高的处理能力。 安全套接层s s l ( s e c u r es o c k e t sl a y e r ) 协议是n e t s c a p ec o m m u n i c a t i o n 公司 设计开发的一种在两台机器之间提供安全通道的协议。它具有保护传输数据以及 传输数据以及识别通信机器的功能。安全通道是透明的,意思就是说它对传输的 数据不加变更。客户与服务器之间的数据是经过加密的,一端写入的数据完全是 另一端读取的内容。透明性使得几乎所有基于t c p 的协议稍加改动就可以在s s l 电子科技大学硕士学位论文 上运行,非常方便。随着s s l 版本的递增,它所提供的安全保护也越来越强。 s s l 跟s e t 是两种重要的通信协议,事实上,s e t 和s s l 除了都采用r s a 公钥算法以外,二者在其他技术方面没有任何相似之处。在网络层协议位置方面, s s l 是基于传输层的通用安全协议,而s e t 位于应用层,对网络上其他各层也有 涉及;在认证要求方面,早期的s s l 并没有提供商家身份认证机制,虽然在s s l 3 0 中可以通过数字签名和数字证书可实现浏览器和w e b 服务器双方的身份验证,但 仍不能实现多方认证,而s e t 可以实现多方认证;在安全性方面,s e t 在整个交 易过程中,包括持卡人到商店、商店到付款转接站再到银行网络,都受到严密的 保护,而s s l 的安全范围只限于持卡人到商店端的信息交流。从采用比率上考虑, 由于s e t 的设置成本较s s l 高许多,s e t 的操作对用户来说不太方便,且进入国 内市场的时间尚短,因此目前是s s l 的普及率高,约占8 0 。 1 4 嵌入式设备上s s l 协议实现的国内外发展 网络安全是移动电子商务解决的首要问题,它影响移动电子商务的发展速度。 应用于电子商务的众多安全协议中s s l 协议实现简单,独立于应用层协议,大部 分内置于浏览器和w e b 服务器中,在电子交易中应用便利。并且随着s s l 版本的 递增,它所提供的安全保护也越来越强。所以在嵌入式设备上实现s s l 协议具有 重要的现实意义。另外,m i d p 2 0 的新增a p i 中,增加了对h t t p s 的支持还有对 p k i 的一系列的支持。因此,在嵌入式系统中实现s s l 可以一举两得:即可为嵌 入式系统提供安全保障,又能为将m i d p 2 0 引入系统中提供有力的支持。 表1 1s s l 产品 名称提供者性质 o p e n s s l w w w o d e n s s l o r g免费 m o ds s l w w w m o d s s l o 陀 免费 a p a c h e s s l w w w a o a c h e s s l c o r n免费 r a v e nw w w c o v a l e n t n e t 商业产品 s t r o n g h o l d w w w c 2 n e t商业产品 m a t r i x s s lp e e r s e cn e t w o r k s 免费商业产品 a x t l sc a m e r o nr i c h 免费 现在s s l 的实现工具箱比较多,有产品化的有免费的,有用于p c 机的,有 4 第一章引言 专门针对于嵌入式设备的,常用的几种归纳于表1 一l 。其中最为流行的是o p e n s s l 和m o ds s l 。o p e n s s l 提供了一种高质量的、免费的、实现s s l v 2 、s s l v 3 和t l s 的源代码,可以执行所有重要的加密功能并且实现了证书管理器功能,还可以自 行生成证书。m o d s s l 最初起源于a p a c h e s s l ,但绝大多数的代码都已经被重写。 m o d s s l 功能齐全,它利用a p a c h e 模块化安装来为a p a c h e 和o p e n s s l 提供接1 :3 , 易于安装与配置。但这几个功能强大的s s l 工具箱用于嵌入式设备显得有点庞大, 标准的o p e n s s l 库超过1 m ,其他几个比较好的s s l 工具箱最小的也接近1 m ,另 外,过分依赖计算机平台的强大计算能力。随着嵌入式的发展出现了几个专门为 嵌入式平台设计的s s l 协议工具箱。m a t r i x s s l 是p c c r s e cn e t w o r k s 为嵌入式设备 设计的s s l 实现,库大小小于5 0 k ,实现了大多数常用的加密算法,支持客户端 服器端认证,就s s l 厂r l s 应用来说可以作为o p e n s s l 很好的替代品,但是进行软 体设计时i o 部分没有o p e n s s l 便利,设计者还得一并处理繁琐的i o 。a x t l s 是 c a m e r o nr i c h 提供的一个免费的嵌入式t l s 实现,a x t l s 仅提供a e s 和r s a 等 几种加密算法,在众多实现中加密算法实现最少,不过对于一些简单的嵌入式应 用来说反而是一种不错的选择【2 j 。这几个嵌入式上的s s l 实现都是用少的代码少 功能来解决嵌入式设备资源不足,可裁剪性可移植性不强,并且不能满足一些应 用的实际需要。特别在j 2 m e 流行的今天,m i d p 2 0 又加入了对p i g 和h t t p s 的 支持,仅仅实现s s l 协议本身已跟不上一些移动电子商务的发展。因此,实现一 个功能可配置,性能高,移植性强的嵌入式s s l 工具箱势在必行。 1 5 本论文的主要工作 随着人们开始逐渐接受移动电子商务,同时也开始日益关注类似于p c 机的安 全性问题。当采用移动通信设备进行数据共享以及移动设备功能的不断增加,这 种安全性顾虑更加突出。尽管目前全球使用的具有数据传输能力的移动设备达到 了数百万之众,但是这些设备几乎没有什么安全机制。本文基于目前业界公认的 s s l v 3 0 t l s v l 0 协议标准研究分析该标准提供的一系列安全规范,以及在此基础 上如何实现一个安全构架来保证移动电子商务的安全性。 本课题现阶段的实现目标为:为移动终端上的嵌入式应用提供s s l v 3 t l s v l 0 协议工具箱,并将工具箱设计成一个算法模块,证书模块,协议模块可插拔的高 度可移植、高性能的安全通信模块。其中算法模块具有高度的可扩展性,可以根 据用户的需要自行裁剪、增加用户自己的加密算法。 电子科技大学硕士学位论文 本课题的工作难点为:嵌入式平台种类多,如何设计实现才能使软件具有高 度可移植性;嵌入式平台存储量小,要尽量在不改变需求功能的前提下减小代码 量;协议状态机的设计要考虑到多种状态的变化;从多方面考虑算法的通用性, 以提供最常用的算法,并使用多种方法改善算法的性能;为了适应多种安全移动 的需要,使软件有良好的可裁剪性。 1 6 本论文内容安排 第一章介绍了移动电子商务的发展概况,以及对安全的需求和几种安全解决 方案,通过介绍现有s s l 协议实现的国内外概况,提出在嵌入式平台上实现一个 代码量小、多功能、高效率、可移植、可裁剪s s l 工具箱的必要性,并且说明了 本文的研究内容及其工作难点。 第二章为了更好的理解s s l 协议的工作原理,我们对s s l 协议中用到的信息 安全的基本知识做了粗略的介绍,如密码学相关知识、数字证书等,最后给出一 个通用的安全模型,便于更好的理解s s l 如何保证数据的安全。 第三章介绍s s l 协议的工作原理,对握手协议、记录协议、会话恢复和密钥 导出等相关知识进行详细描述,并对其安全性进行了相应的论证,以便指导我们 s s l 工具箱的设计。 第四章本文的重点叙述部分,在这一部分我们给出了设计此软件的基本设计 思想、设计目标和在此设计思想下的总体设计,并对协议模块、证书模块和算法 模块进行相应的分析。 第五章是本文的重点叙述部分,详细介绍了协议模块设计和实现,包括状态 机模块的实现、握手模块的实现和记录模块的实现。本章的最后给出在嵌入式设 备上实现s s l 协议的思考总结。 第六章软件测试是软件质量保证的重要手段,本章讲述了针对此软件提出的 测试解决方案,介绍了软件的单元测试、功能测试和性能测试。并在最后给出此 软件的一个移植案例,通过这个移植案例可以了解本软件的移植过程,借此移植 案例也可以看到本软件的高度可移植性。 第七章对本课题做得工作进行总结,并指出了现阶段软件的不足,对未来进 行了展望。 6 第一章引言 1 7 小结 本章是全文的绪论,主要介绍了课题的研究背景、国内外研究现状、研究内 容及其研究意义,最后对本文的工作和论文的组织结构作了简要介绍。 7 电子科技大学硕士学位论文 2 1 密码学相关知识 第二章信息安全相关知识 密码学是一种设计各种用于提供安全的算法的理论,加密算法接收一些数据 在密钥的控制下将其转换为密文。密文看上去就像随机数据,不知道密钥就无法 收集与明文有关的各种有用信息。密钥通常只是一个简短的随机字符串,通常约 有8 2 4 个字节。图2 1 中描述了这些元素之间的相互关系。 对称加密密钥加密对称加密密钥加密 非对称加密公钥加密非对称加密公钥解密 图2 1 加解密过程 加密算法根据用来加密解密的密钥是否相同分为对称式加密和非对称式加密 两种。在对称式加密中,收信方和发信使用相同的密钥。对称加密速度快、密文 紧凑,但接受者为了解密需要得到对称密钥,所以对称加密容易受到中途拦截窃 听的攻击,另外,对称密码系统当中密钥的个数大约是以参与者数目的平方的速 度增长,因此很难将其扩展到大范围的人群中。在非对称式加密中,收信方和发 信方使用不同的密钥,用一个密钥( 公钥或者私钥) 加密的东西只能用另外一个 密钥( 私钥或者公钥) 来解密,需要分发的密钥的数目和参与者的数目一样,这 样,在参与者数目很大的情况下,非对称密码技术仍然会工作得很好,没有复杂 的密钥分发问题。加密算法应视为纯粹是提供保密性,不能保证消息不被篡改, 保证消息的完整性一般使用消息摘要算法。 8 第二章信息安全相关知识 2 1 1 对称加密 对称密钥密码系统有两种对称密钥算法一分组密码( b l o c kc i p h e r ) 和流密码 ( s t r e a mc i p h e r ) 。流密码的工作方式非常简单,为加密数据,加密算法使用密钥 产生一个密钥流,然后提取密钥流中的每个字节与明文字节组合产生密文字节, 产生的密文跟明文的字节数相同。一般组合方式采用异或操作。 c i = k s i 】om i 】 m 【i 】= k s i 】oc i l c i 】表示密文的第i 个单元,k s i 表示密钥序列的第i 个单元,而m i 】表示消 息的第i 个单元,o 表示异或符号【1 4 1 。 分组密码分组密码对数据分组进行操作。当你将大量数据交给这种算法来加 密或解密时,它将明文分解为多个分组,然后独立地对每个分组进行操作。通常, 每个分组有8 到1 6 字节,分组密码的数据输入必须为分组大小的整数倍,若数据 不满足此条件,就要对最后一个分组进行填充,使其与分组边界对齐,通常填充 值为需要填充的字节数,因此分组密码算法一般会使数据稍微扩大一些。分组密 码的一个问题是如果两个地方出现相同的明文分组,它们将被加密为相同的密文。 如果消息中存在一种频繁出现的模式,攻击者就能检测到它,并对明文有所了解, 为了解决这种问题提出密码分组链接( c i p h e rb l o c kc h a i n i n g ,c b c ) 、输出回馈 ( o u t p u tf e e d b a c k ,o f b ) 、密码回馈( c i p h e rf e e d b a c k ,c f b ) ,其中c b c 是最流 行的一种,而且是唯一与s s l 相关的一种,在c b c 模式中,对每个明文分组的加 密依赖于前一密文分组的密文,这是通过在加密前将前一个密文分组与明文进行 异或来实现: c i 】= e ( k ,m i 】0c i 一1 】) m i = d ( k , c i 】0c i l 】) e ,d 分别表示加密函数和解密函数,m 为明文,c 为密文。在c b c 模式中, 即便我们拥有两个相同的分组,它们也不太可能加密产生相同的结果,因为前一 个密文分组是不同的。对于明文的第一个分组,没有前一个密文分组,我们生成 称作初始向量i v ( i n t i a l i z a t i o nv e c t o r ) 的随机分组,在加密前使用与消息的第一 个密文分组进行异或l l ”。 流密码几乎总是比分组密码快,通常使用的代码也比分组密码少得多。最常 9 电子科技大学硕士学位论文 用的流密码r c 4 ,大概比最快的分组密码至少还要快两倍。r c 4 可以由3 0 行代码 写成,而大多数分组密码需要数百行的代码。分组密码比流密码更容易安全地使 用,d e s ,3 d e s ,r c 2 ,r c 5 ,a e s ,i d e a 等都属于分组加密算法,3 d e s 要比d e s 慢得多,不过也更安全,r c 2 从性能上还有安全性上相对于3 d e s 没有优势可言。 2 1 2 非对称加密 非对称加密( a s y m m e t r i ce n c r y p t i o n ) 有时又叫公开密钥算法( p u b l i ck e y a l g o r i t h m ) 。这种加密算法的设计思想是用作加密的密钥不同于解密的密钥,而密 钥不能或至少在合理假定的长时间内根据加密密钥计算出来。之所以又叫做公开 密钥算法是由于加密密钥可以公开,即陌生人可以得到它并用来加密信息,但只 有用相应的解密密钥才能解密信息。在这种加密算法中,加密密钥被叫做公开密 钥,而解密密钥被叫做私有密钥,非对成加密一般用在密钥确立和数字签名中【1 6 】。 非对称加密通常会导致得到的密文变长,并且非对称加密的效率低、速度慢。 非对称加密的优点是加密和解密用不用的密钥,因此不必发送密钥给接收者,不 存在密钥在中途被拦截的问题。非对称密码技术支持数字签名和不可否认性。但 为了保证可靠性,非对称加密算法需要一种与之相配合使用的公开密钥管理机制, 这种公开密钥管理机制还要解决其他一些公开密钥所带来的问题。 非对称密码算法的数目相对要少一些,而且一般说来他们都基于复杂度和困 难度都大得多的数学问题。 最早是在2 0 世纪7 0 年代中期由w h i t f i e l dd i 伍e 和m a r t i nh e l l m a n 引入了非对 称密码学的概念,并提出d i f f i e h e l l m a n 密码算法,此算法基于数学中的离散对数。 尽管没有r s a 非对称密码算法那么流行,但是d i f f i e h e l l m a n 也是一个经常被用 到的非对称密码算法。 r s a 公钥算法是由r i v e s ts h a m i r 和a d l e m a n 在1 9 7 8 年提出来的,该算法的 数学基础是初等数论中的欧拉定理,算法的安全性是基于大数分解成素数,两个 大素数很容易相乘,而对得到的积求因子则很难。r s a 算法是最为成功的非对称 密码算法。同时也是被研究最多使用最多的非对称密码算法,现在个人用的r s a 算法通常使用的是10 2 4 位的密钥,此算法可能是使用的计算最为复杂的流行密码 算法了【1 7 1 。 椭圆曲线e c c ( e l l i p t i cc u r v ec r y p t o g r a p h y ) 算法出现的时间比r s a 短,e c c 相 比r s a 有很多自己的优点,安全性能更高,1 6 0 位e c c 与1 0 2 4 位r s a ,d s a 有相同的 1 0 第二章信息安全相关知识 安全强度:计算量小,处理速度快,在私钥的处理速度上( 解密和签名) ,e c c e i , r s a ,d s a 快得多;存储空间占用小,e c c 的密钥尺寸和系统参数与r s a ,d s a 相比 要小得多,所以占用的存储空间小得多:带宽要求低。 2 2 消息摘要 消息摘要也称为散列,是通过单向散列函数对消息的指印或汇总,类似于纵 向冗余校验和循环冗余校验,用于验证数据完整性( 即保证消息在发送之后和接收 之前没有被篡改) ,如图2 - 2 所示。 t 消 息 摘 要 散列函数 图2 - 2 数据摘要示意图 消息摘要一般有两个基本要求:首先,给定一个消息,应很容易求出消息摘 要,而且给定某个消息,消息摘要应该相同。对一个消息( m 1 ) 及其消息摘要( m d ) , 不太可能找到另一个消息( m 2 ) ,使其产生完全相同的消息摘要。消息摘要机制应 最大程度地保证这个结果。如果两个消息得到相同的消息摘要,则会违背上述原 则,称为冲突。消息摘要算法通常产生长度为1 2 8 位或1 6 0 位的消息摘要,即任 何两个消息摘要相同的概率分别为2 啪或2 1 分之一【1 7 1 ,显然,这在实际上可能 性极小。其次,给定消息摘要,应该很难求出原先的消息,即消息摘要不能反向 求出。 所有的摘要算法都非常相似,惟一的区别就是输出尺寸的不同,两种比较流 行的算法为m d 5 和s h a 1 ,m d 5 和s h a 1 都是从一个共同的祖先导出的,m d 5 具有1 2 8 位的输出而s h a 1 具有1 6 0 位的输出,因而强度要高一些。由于称为生 日悖论的原因,找到两个具有相同摘要值的消息的难度大约为密钥空间的平方根, 也就是说需要2 6 4 次操作才能找到m d 5 的次冲突,而对于s h a 1 则是2 帅次操 电子科技大学硕士学位论文 作1 1 8 1 。近来,一些迹象表明可能存在一种比蛮力攻击更容易的找到m d 5 中冲突的 方法,2 0 0 4 年8 月1 7 日的国际密码学会议上,王小云教授成功破解m d 5 。所以 保守的设计都使用s h a 1 。 散列函数( 又称杂凑函数) 是对不定长的输入产生定长输出的一种特殊函数 其中m 是变长的消息h = h ( m ) 是定长的散列值( 或称为消息摘要) 。散列函数h 是 公开的,散列值在信源处被附加在消息上,接收方通过重新计算散列值来保证消 息未被窜改。由于函数本身公开,传送过程中对散列值需要另外的加密保护,如 果没有对散列值的保护,窜改者可以在修改消息的同时修改散列值,从而使散列 值的认证功能失效。 2 3 消息认证码( m a c ) 消息认证码m a c ( m e s s a g ea u t h e n t i c a t i o nc o d e ) 是一种实现消息认证的方法, 也叫数据鉴别码d a c ,它是带有密钥的单向散列函数。m a c 是由消息和密钥的一 个函数值m a c = c k ( m ) 产生。其中m 是变长的消息,k 是仅由收发双方共享的密 钥,m a c 是定长的认证码i l9 。通信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《请你帮个忙》课件
- 找月嫂工作总结和计划
- 责任组长工作总结
- 《诗经·采薇》节选课件
- 托儿班工作计划
- 《论语》十二章教学课件
- 亏损企业员工安全培训课件
- 事业编教材加课件
- 事业单位章程课件
- 护理教学示范科室汇报
- 2025年未来就业报告
- 使用吹风机课件
- 安检流程课件
- 中国未来50年产业发展趋势白皮书(第四期)
- 2025年财会类资产评估师资产评估基础-资产评估基础参考题库含答案解析(5卷)
- 公安宣传打击黄赌毒课件
- 风光制氢醇一体化项目可行性分析报告(参考模板)
- 2025 河北省一级建造师《港口与航道工程实务》试题 (押题) 带答案解析
- GB/T 882-2008销轴
- 洁普利康抗HPVβ乳球蛋白高分子生物肽冷敷凝胶课件
- 鸡的呼吸道疾病与防治课件
评论
0/150
提交评论