




已阅读5页,还剩69页未读, 继续免费阅读
(计算机系统结构专业论文)sslv3tls网络安全协议的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子科技犬学硕士论文 摘要 随着网络技术的赢速发展,计簿机鼹终获得了广泛的应用,如何解决信息安 全闽题成为网络应用的关键性按术问题。在电子商务应用中,要求网络通信的双 方必须能够了解对方的身份,并确认信息在通信过程中未被篡改,同时需簧防止 其它人窃取通信的内容。数据加密与身份认证是蔷# 目解决信愚安全缀有效的技术 手段,两者的结合就构成完整的安全传输协议,可以实现数据保密、身份认证等 功能。 s s l v 3 ( s e c t l r es o c k e tl a y e r3 0 ) f f l s ( t r a n s p o r tl a y e rs e c u r i t y ) 协议就楚一种 实现以上功能的典型的网络安全传输协议。s s l v 3 t l s 协议实现的功能包括对通 信双疗的身份认证、对数据加密和对数据的完整性保护。s s l v 3 t l s 协议通过通 信取方交换握手披文的方式,协商在通信中使用的加密、签名算法和加密密钥, 并实现双方的身份认证。 本文莳先详细分析了s s l v 3 t l s 协议的编码方式、交换报文的格式、运行 溅程以及协议定义的算法簇以及s s l v 3 与t l s 协议鲍差异。确定了实现协议的 方式和目标。随后定义了协议运行的状态及状态杌,并设计出一个基于事件驱动 晚实现框架,并对拚议实现中使用的数据缡构进行了完整撤述。最后给出了从功 能,性能以及兼容性三方面对协议实现避行测试的结果。 关键字:s s l v 3 ,t l s ,信息安全 电子科技人学硕士论文 a b s t r a c t w t ht h er a p i de v o l u t i o no f c o m p u t e rn e t w o r k i n gt e d m o l o d y a n di t sa p p l i c a t i o n s i nm a l t ya r e a s ,i n f o r m a t i o ns e c u r i t yh a sb e c o m et h ek e yt e c t m i c a li s s u ef o rn e t w o r k i n g a p p l i c a t i o n s 。i nt h ee c o m m e r c ea p p l i c a t i o n s t h ec o m m u n i c a t o r s 、张n tt ok n o w w i t h w h o m t h e ya r ec o m m u n i c a t i n g + t h e yw a n tt oe n s u r et h a tw h a ti ss e n di sw h mi s r e c e i v e da n dt h e ya l s ow a n tt op r e v e n to t h e r sf r o m i n t e r c e p t i n gt h e i rc o m m u n i c a t i o n s , c u r r e n t l y ,e n c r y p t i o na n da u t h e n t i c a t i o n a r et h em o s te f f e c t i v em e t h o d st oa c h i e v e i n f o m l a t i o ns e c u r i t y , a n dt h ec o m b i n a t i o no fb o t hc a nl e a dt ot h ec o m p l e t es e c u r e d t r m :s p o r tp r o t o c o l ,w h i c hc a n b eu s e dt oi m p l e m e n tv a r i o u ss e c n r i t yf u n c t i o n ss u c ha s d a t ac r y t o g r a p h ya n da u t h e n t i c a t i o n s s l v 3 ( s e c u r es o c k e tl a y e r3 0 ) f l ? l s ( t r m a s p o r tl a y e rs e c u r i t y ) i s a t y p i c a l s e c u r e dn e t w o r k t r a n s p o r tp r o t o c o lw h i c hi m p l e m e n t s t h ef u n c t i o n si n t r o d u c e da b o v e t h ef l m c t i o n s i m p l e m e n t e db y s s l v 3 f f l si n c l u d ea u t h e n t i c a t i o no nb o t h t r a n s m i s s i o np a r t i e s ,d a t as e c r e wa n dd a t ai n t e g r i t yp r o t e c t i o n 。s s l v 3 t l sp r o t o c o l m a k e sr i s eo fh a n d s h a k i n gd a t a g r a m s 南rn e g o t i a t i n ge n c r y p t i o n s i g n i n ga l g o r i t h m s a n d k e y sf o re n c r y p t i o n ,a n di m p l e m e n t sa u t h e n t i c a t i o n o nb o t ht r a n s m i s s i o n p a r t i e s t h i s p a p e r f i r s t a n a l y z e s s s l v 3 t l s e n c o d i n gs c h e m e ,d a t a g r a m f o r m a t , p r o c e s sf l o w , t h ec i p h e rs u i t e sd e f i n e di nt h ep r o t o c o l ,a n dt h ed i f f e r e n c eb e t w e e n s s l v 3a n dt l s t h em e t h o d sa n dg o a l so fi m p l e m e n t i n gt h ep r o t o c o la r ea l s o d e t e r m i n e d n e x t ,t h ep r o t o c o l s t a t ea n ds t a t em a c h i n ea r e d e f i n e d ,a n d a r t e v e n t d r i v e ni m p l e m e n t a t i o nf r a m e w o r ki sd e s i g n e d a n dt h ed a t as t r u c t u r eu s e di nt 1 1 e p r o t o c o li sa l s od e s c r i b e d i nd e t a i l a tl a s t ,t h ep r o t o c o li m p l e m e n t a t i o nt e s t i n gr e s u l t s a r ep r e s e n t e df i o mf u n c t i o n ,p e f l b r m a n c ea n dc o m p a t i b i l i t ya s p e c t s k e ) - v o r d s :s s l v 3 t l si n f o r m a t i o ns e c u r i t y 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:羔兰渔日期:2 。o 辱年上月上日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:乏兰;喜 导师签名 互好 多 日期:;o o q - 年2 - 月) 7 日 电子科技大学硕士论文 1 1 课题的背景与研究意义 第一章引言 计算机网络的广泛应用开始于2 0 世纪8 0 年代早期,网络的出现为我们创建了 一个可以实现信息共享的新环境。但是网络技术就像一把双刃剑,一方面使我们能 够方便快捷的获取信息;另一方面由于网络的开放性,使得网络成为某些人窃取信 息的捷径。因此,伴随着网络技术的发展,如何在网络环境中保障信息的安全始终 是人们关注的焦点。 在计算机网络出现的早期,网络主要分布在研究机构,大学和公司内部,外部 通常使用拨号连接和声音耦合器的接入方式来访问这些网络。由于网络内部处于相 对安全的环境,这一阶段对网络安全的关注主要集中在如何阻止那些想破坏系统或 是想窃取敏感信息的人进入网络的内部系统。防火墙和入侵检测系统成为这一阶段 最重要的信息安全保障技术。 随着网络技术的飞速发展,特别是因特网的出现和以因特网为基础电子商务应 用的兴起,使得我们在关注内部网络信息安全的同时,必须面对如何通过开放的外 部网络环境安全传输敏感信息的挑战。信息安全传输包含着两方面的需求,一是信 息在传输过程中不能被窃取和篡改,二是必须保证信息传输给恰当的接受方。数据 加密和身份认证技术成为解决信息传输安全问题的主要手段。在实际的网络应用环 境中,将两者结合起来,形成完整的安全传输协议,就可以实现信息的安全传输。 由于网络信息安全软件的特殊性,直接使用国外的软件产品存在着种种隐患。 以i e 和i i s 为例,因为受到美国政府出口管理条例的限制,其匡i 际版本存在加密强 度低和安全”后门”等问题。国内电子商务的发展迫切需要具有自主知识产权的网络 信息安全软件,本课题的研究就是为满足这一需求而提出的。 1 2 国内外研究状况 由于网络信息安全的重要性,国内外各许多公司和研究机构都投入了大量的人 力进行研究和产品开发。如著名的信息安全提供商r s as e c u r i t y 公司不但开发了大 量安全产品,而且还制定了许多基于公钥算法的工业标准p k c s 系列,已为全世界 各公司普遍采纳。制订i n t e m e t 协议的i e t f 也已r f c 标准的方式定义了许多用于 i n t e m e t 环境的安全标准和协议。其他国际组织如i e e e 也制定了相应的安全标准。 电子科技大学硕士论文 目前,信息安全技术和协议己广泛应用于各种常用的软件产品,作为保护w e b 安全和基于h t t p 的电子商务交易安全的事实上的标准,s s l t l s 协议为许多世界 知名厂商的i n t r a n e t 和i n t e m e t 网络产品所支持,其中包括n e t s c a p e 、m i c r o s o f t 、i b m 、 o p e nm a r k e t 等公司提供的支持s s l t l s 的客户机和服务器产品,如m 和n e t s c a p e 浏览器,i i s 、d o m i n og ow e b s e r v e r 、n e t s c a p ee n t e r p r i s es e r v e r 和a p p a c h e 等w e b s e r v e r 等。 近年来,随着电子商务在国内的迅速发展,有力地推动了对信息安全产品的研 究与开发。国内软件业也涌现出了一批专业的信息安全公司,相应推出了一些具有 具有自主知识产权的软硬件信息安全产品。上海安泰科创科技有限公司的f o r t 信息 安全平台和格尔软件的s s l 安全代理平台,是其中具有代表性的安全产品。在不久 的将来,电子商务的迅速推广和应用必然会推动国内外信息安全的研究更加迅速地 发展。 1 3s s l t l s 协议相关安全技术综述 1 3 1 数据加密技术 数据加密是一种通过复杂的数学运算实现信息安全增强的技术手段。通过对应 用数据的加密,可以将可读的明文( p l a i n t e x t ) 变换为不可读的密文( c i p h e r t e x t ) ,这样即 使信息在传输过程中被人截获,窃取者也很难恢复出原始的信息。在计算机上实现 数据加密,其加密或解密变换是由密钥控制实现的。密钥( k e y w o r d ) 是用户按照一种 密码体制随机选取,它通常是一随机字符串,是控制明文和密文变换的唯一参数。 加密指把明文信息m 通过变换e 得到密文c ,即c = e ( m ,k ) 。其中参数k 称为密 钥。从密文c 恢复明文i l l 的过程称为解密,解密运算是加密运算的逆运算,同样也 需要密钥k 。 在一个加密系统中,信息使用加密密钥进行加密后,得到的密文传送给接收方, 接收方使用解密密钥对密文解密得到原文。依据加密密钥和解密密钥是否相同,可 以分为对称加密算法和非对称加密算法两类。其中非对称加密算法也称之为公钥加 密算法。 1 3 1 1 对称密码加密系统 对称密钥加密系统( s y m m e t r i cc r y p t o g r a p h y ) 也称保密密钥加密系统,加密和解 密信息时需要使用同一个密钥。因此信息的发送方和接收方必须共享一个密钥。 2 电子科技大学硕士论文 潮霸蝴蠖: 明觉 槎叟 图1 1 对称加密解密过程 对称蕊密解密过程鲡辫1 1 掰示,其中蕊密密镇帮躲密密镶怒相同静。对称热 密算法最大的优势就是速度快。佩它最大的不足就是密钥本身必须进行安全交换, 良傻接毂辔髓解密数据,躲栗密锈没有良安全方式铸送,它藏稷蠢可麓被截获劳瘸 于信息解密。著名的对称加密算法包括:d e s ,t r i p l ed e s ,r c 2 ,r c 4 和i d e a 。 1 3 1 2 非对称密码加密系统 对拣搬密系绫( a s y m m e t r i cc r y p t o g r a p h y ) ,恣豫为公开密锾鸯羹密系绕,在 对 称加密系统的加密和解密运算中,需要两个密钥。其中一个是密钥拥有者私有的, 髂为毯钥d ,另一令密镘怒公开熬,任博麓户零可以褥到,棼为公甥e ,d 粒e 搀戏 一个密钥对。用e 加密的数据只有用d 才能解密,同样,用d 加密的数据也只有用 e 才l 解密。 电子科技大学硕士论文 期黝黼: 嘲文 密文 图1 2 非对称加密解霉过程 非对称加密解密过程如图1 2 所示,其中加密密钥和解密密钥是不相同的。非 对称密钥算法与对称密钥算法相比,其优势在于通信双方不需要共享一个通用密钥, 用于解密的私钥不发往任何地方。这样,即使入侵者可以得到用于加密的公钥,但 获得不了用于解密的私钥,因此用公钥加密后的信息是安全的。此外,由于私钥仅 由密钥拥有者持有,只有密钥拥有者可以利用私钥进行加解密运算,因此非对称密 钥算法可以实现数字签名功能。著名的非对称加密算法包括r s a 、d i f f i e h e l l m a n 、 d s a 和椭圆曲线密码系统。 非对称加密算法最大的不足,就是处理速度慢。与相同强度的对称加密算法相 比其加密解密速度要慢上1 0 到1 0 0 倍,不适合于大批量数据的加密,解密应用。 1 3 1 3 数字摘要技术 数字摘要技术( d i g i t a ld i g e s t ) ,数字摘要技术用于对所要传输的数据进行散列 ( t a s h ) 运算生成信息摘要,它并不是一种加密机制,但却能产生信息的数字“指纹”, 它的目的是为了确保信息的完整性不被破坏。常见的h a s h 算法有s h a 、s h a i ( 产 d 电子科技大学硕二b 论文 生2 0 字节鼹h a s h 傻) ,m d 5 ( 产生1 6 字节懿h a s h 穰) ,数字摘要技术毒始下主要 特点: 1 1 它畿处理任意大小懿信惠,并生成霞定长度的数据摘要,数据摘要滟内容不 可预见; 2 ) 对于相同的数据信息进行h a s h 运算,总是能得到同样的摘要:如栗数据信息 被修改,进行h a s h 后,其摘要必定与先前不同; 3 ) h a s h 函数悬不可逆的,无法通过生成的数据摘要逆向推导融原始数据。 l ,3 1 4 数字签名( d i g i t a ls i g n a t u r e ) n 舅份议证( a u t h e n t i c a f i o n ) 加密只是解决了数据的保密问题,要防止数掇在传输 蕊程中被恶意篡敬以及对 数据源进行身份认证和防止用户对发送过的数据抵赖,就必须g l 入数字签名技术。 数字签名的过程是这样的,首先使用h a s h 算法对数据进行处理,产生很短的消息摘 要,再对消息摘要进行私钥加密作为数字签名。接收者收到数据稻签名后,用同样 的簿法算出数据的消息摘要,并用发送者的公钥对签名进行解密,最后把解密结果 和七一步褥到的漓怠摘要眈较,藏可以对麓名进行校验。 图1 3 数字签名流程 图1 4 数字镌名验证溅程 数字签名技术利用了非对称算法的特性,用户用自己的私钥对要发遴的数据加 密作为数字签名,然后把明文和镀名一起发送。接收者收到后,髑发送辫的公镝对 5 电子科技大学硕士论文 签名数据解密,再和明文对比,如果相同,说明数据没有被修改,否则说明数据在 传输过程中被篡改了。通过数字签名,可以确定数据的来源,并可以防止发送者否 认发送过的数据,这样就实现了身份认证和防抵赖功能。 1 3 2 公钥基础设施( p u l b i ck e yi n f r a s t r u c t r u e ) 如果使用数字签名保证数据完整性,校验签名的用户必须正确可靠地得到签名 者的公钥。为了保证这一点,就必须采用公钥基础设施( 简称p k i ) 规范。p k i x 工作 组( p k i xw o r k i n gg r o u p ) 给p k i 的定义为:是一组建立在公开密钥算法基础上的硬 件、软件、人员和应用程序的集合,它应具备产生、管理、存储、分发和撤销证书 的能力。 p k i 是应用于i n t e r n e t 环境下,保证信息安全的规范。p k i 使用i t ux 5 0 9 个人 证书来保证公钥的可靠性。个人证书把用户的个人信息和公钥绑定在一起。需要校 验其他用户签名时,先取得签名者的证书,从证书的个人信息中可以验证签名者的 身份,再用证书中的公钥校验签名。为了保证证书本身的可靠性,证书必须由专门 的受公众认可的权威机构认证机构( c a ) 颁发。c a 颁发的证书中有c a 自己 的数字签名,而c a 自己的证书是可以通过可靠的途径来获取的,这也是整个p k i 规范的前提条件。 1 3 _ 3 安全传输协议 在p k i 环境的支持下,网络应用可以在公开信道环境下获得安全的信息传输。 这一功能是通过安全传输协议来实现的。一个安全的传输协议必须实现以下功能: 1 ) 保证传输数据的保密性。 2 ) 保证传输数据的完整性。 3 ) 实现通信双方的相互身份认证。 本文讨论的s s l v 3 t l s 就是这样一种典型的安全传输协议。 6 电子科技大学硕士论文 藜二章s s l v 3 t l s 诱谈矜祈 2 1s s l v 3 t l s 协议简介 s s l ( s e c u r es o c k e tl a y e r ) 是n e t s c a p e 公司设计的主要用于w e b 的安全传输协议。 该协议夔繁二舨慧第一个被广泛筏箨静叛本,s s l v 3 是s s l 蘸第三敝,致避了协议 的效率,灵活性和特征集。i e t f ( w w w i e f f o r g ) 将s s l v 3 作了标准化,并将其称为 t l s l 0 f 曩黼辨。曩l a y e rs e c u r i t y ) ,荬援范定义在( r f c2 2 4 6 :t l s p r o t o c o lv e r s i o n | 。0 中。由于s s l v 3 与t l s 协议极其相似,其主要区别仅在于散列函数和密钥生成函数, 酝以在下文熬蛰议分缨中除了赞剐指窭豹部分,葵滤窑臻逶雳与掰令协议。 s s l v 3 t l s 协议是介于应用层协议与t c p 之间的一个可选层,其本身也是一个 分艨协议,它盘一个记录搽资议稻记录瑟上层承载躲不目潜惠粪瑟组成,其结褐秘 下图所示。 应用层协议( h t t p 、t e l n e t 、n n t p 、f t p 、s m t p 等) g 应用数据警告握手 c h a n g e c i p h e r s p e c ls s l v 3 ,强s 蠹录秘议r e e 蕊d 拣蕊缆魄) u t c p 协议 乏 i p 协议 蕊2 1s s l v 3 t l s 往协议栈中的位鬻 2 。1 1s s l v 3 凰s 提供的服务 1 ) 客户方和服务器的合法性认证。 保证通信双方能够确信数据将被送到正确的客户方或服务器上。客户方和服务 器都有各照的证书。为了验证用户,s s l t l s 要求双方交换证书以进行身份认诬鹃 同时获取对方的公钥。 2 强| 数攥进行按整。 7 电子科技大学硕士论文 使用的加密技术既有对称算法,也有非对称算法。具体地说,在安全的连接建 立起来之前,双方先用非对称算法加密握手信息和进行对称算法密钥交换;安全连 接建立之后,双方用对称算法加密数据。 3 ) 保证数据的完整性。 采用消息摘要函数( m a c ) 提供数据完整性服务。 2 1 2s s l v 3 t l s 的运行流程 s s l v 3 t l s 的运行流程分为以下几个步骤: 1 ) 客户方通过网络向服务器提出连接请求: 2 ) 双方互相认证对方的身份; 3 ) 双方协商使用的加密和签名算法; 4 ) 双方协商使用的密钥; 5 ) 双方交换结束信息。 协商完成后,双方就可以在一个安全的连接上交换数据了。 2 1 3 会话( s e s s i o n ) 与连接( c o n n e c t i o n ) 会话与连接是s s l v 3 t l s 协议中的重要概念,现对其作如下描述: 会话:s s l v 3 t l s 会话是指客户方与服务器之间的关联( a s s o c i a t i o n ) 。会话在 握手时建立,并定义一组加密安全参数( c r y p t o g r a p h i cs e c u r i t yp a r a m e t e r ) ,多个连 接可以共享使用该参数。使用会话可以在建立连接时不需要每次都重新协商新的安 全参数。 连接:连接是指提供适当服务状态的传送( t r a n s p o r t ) ,该传送定义于o s i 层次 模型( l a y e r i n gm o d e l ) 。在s s l v 3 t l s 中,连接是点对点( p e e rt op e e r ) 的联系, 且连接是瞬时的( t r a n s i e n t ) 。每一个连接对应一个会话。 2 2s s l v 3 t l s 的数据结构描述语言及编码方式 s s l v 3 t l s 协议规范使用的描述语言在语法上和c 及x d r 类似,但实际上和 具体的语言没有关系,并不适用于本规范以外的其他场合。 电子科技大学硕士论文 2 2 ,1 基本数据块 s s l v 3 t l s 协议中辑鸯数据魏宠义都怒是式豹。基本数据块豹大小是一个字节。 多字节数据由多个字节从左到右连接起来构成。从字节流到一个多字节对苏是按如 下方式生成粒: v a l u e 一( b y t e 0 】 8 + ( 卅1 ) ) i ( b y t e 1 】 8 4 ( n _ 2 ) ) j lb y t e n l 】; 多字节对象的字节顺序遵循网络字节廖或大端( b i ge n d i a n ) 格式。 2 2 2 向量 向量( 一维数组) 是由单一类型的数据元素缀成的流。向量的大小可以在编码 时确定,也可以在运行时确定。肉照豹长度表示字节数丽不是元索的个数。要定义 一个由基本类型t 构成的向量类黧t 的语法是这样的:tt 【n 】。这里t 在数据流 中占r t 字节,面向量的长度并不包含在编码的字节流中。 变长向量的长度在一个范围内,用这种方式表示:t t 。编码 对,长度必须赦在向量内容之翦。长度字段j 羲占字节数以戆窑纳定义的最大长发为 准。长度为0 的变长向量被看作一个空向麓。 2 。2 。3 整数 基本龅整数类塑是无符号字节( u i n t 8 ) ,其毽较大熬整数类型郝是由这搀夔字节 按照2 2 2 节中描述的方法定义的,并且也是无符号的。以下整数类型是预定义的: u i n t 8u i n t l 6 2 ; u i n t 8u i n t 2 4 1 3 ; u i n t 8u i n t 3 2 1 4 ; u i m 8 u i n t 6 4 1 8 ; 所有的整数的存储均是按照网络字节序。 2 。2 4 校豢 另一耱数据粪墼是鞍举。较攀类型交蓬只麓敬定义中给出的镶。每一次定义露 是一个类趔。只有相同枚举类型的变量才能赋值和比较。牧举类烈由以下方式定义: e r t u l i l e l ( v 1 ) e 2 ( v 2 ) ,e n ( v n ) ,( n ) 】 t e ; 9 电子科技大学硕士论文 枚举定义中的每一个元素都必须赋一个值,如下例所示: e n u m s w e e t ( 1 ) ,s o u r ( 2 ) ,b i t t e r ( 4 ) ,( 3 2 0 0 0 ) t a s t e t a s t e 类型的变量可以取1 ,2 ,4 等值,最后一个元素用于指定每一个t a s t e 类 型的变量所占的字节数。 2 2 5 构造类型 结构类型由基本类型构造而来。每一次构造都定义一个新的类型。定义结构的 语法和c 语言相似: s t r u c t t 1f l : t 2 f 2 ; t n f n ; i x i ; 2 2 6 变体纪录 记录定义中可能存在一些可变的类型,而其具体取值可以从环境中确定。决定 其选择的必须是枚举变量。在进行选择的语法表示中,对该枚举类型的每一个取值 都必须有一个c a s e 分支与之对应。在运行时哪一个分支被选中在描述语言中无法确 定的。 s t r u c t t 1f l : t 2f 2 : t n f i a ; s e l e c t ( e ) c a s ee l :t e l ; c a s ee 2 :t e 2 ; c a s ee n :t e n ; 【 如 ; 1 0 电子科技大学硕士论文 e 暖v 】; 2 2 。7 加密属性 四种加密操作:数字签名、流加密、块加密、公钥加密分别分配记号为 d i g i t a l l y s i g n e d ,s t r e a m c i p h e r e d ,b l o c k c i p h e r e d 稻p u b l i c k e y - e n c r y p t e d 。对一个数 据域进行相应操作的表示方法是在类型名前加上对应的关键字。加密的密钥可以在 当髓酌连接状态中找到。 数字攫名时,酋先使用单向h a s h 函数对数据计算摘要,作为憝名算法的输入数 据。数字麓名结采编码为v e c t o r ,长度亩弊法和鬻钥确定。 使用r s a 签名时,对一个由骶个h a s h 结果( s h a 和m d 5 ) 构成的3 6 字节串进 行私钥加密,并使糟p k c s 群1 块类型0 或l 进行编码。 镬弱d s s 签名时,对数据款s h a 结慕直接俘为签名算法戆赣入,不荐零要茭 他的h a s h 。签名产生两个值:r 和s 。d s s 签名结聚是一个向量,蕊结果是对以下结 掬数d e r 缡码: d s s s i g - v a l u e := s e q u e n c e f r i n t e g e r , si n t e g e r 使囊瀵鸯疆密舅法薅,数据和鼓一个由密全密镌裸护憨锈疆辊羧产生嚣产生豹字 节流进行肄或。流加密的输出的密文采用以下结构存放: s t r e a m c i p h e r e ds t r u c t u i n t 8f i e l d l ; u i n t 8f i e l d 2 ; d i g i t a l l y s i g n e do p a q u eh a s h 2 0 ; ) u s e r t y p e ; 使用块加密簿法时,每一个明文块加密为一个密文块。块加密黧法都是厢 c b c ( c i p h e r b l o c k c h a i n ) 方式实现的。块加密数据结果长胰是加密块长度的整数倍。 使用非对称加密算法时,用公钥加密数据,只能用对应的私钥解开。被加密的 数掘编码为v e c t o r ,长发出加密算法和密钥长度确定。 电子科技大学硕士论文 r s a 加密值用p k c s # 1 块类型1 或2 编码。 2 3h m a c 和伪随机数函数 s s l v 3 t l s 的记录层协议的许多操作要求使用带密码的m a c ( m e s s a g e a u t h e n t i c a t i o nc o d e ) 。这是一种被密码保护的安全摘要算法。不知道m a c 密码是无 法伪造m a c 数据的。这样的过程称为h m a c 。 h m a c 可以使用多种摘要算法。在s s l v 3 t l s 握手协议中,使用m d 5 和s h a 1 算法,分别表示为h m a c _ m d 5 ( s e c r e t ,d a t a ) 和h m a c s h a 一1 ( s e c r e t ,d a t a ) 。其他摘 要算法可以在加密算法簇中定义,用于保护记录数据。但是m d 5 和s h a 1 是协议 中指定的算法。 此外必须采用一定的方法把密码扩展为多块数据以用于密钥生成。s s l v 3 直接 使用h a s h 函数m d 5 进行密码扩展,t l s 使用的方法称为伪随机数发生函数p r f 。 p r f 以一个密码、一个种子( s e e d ) 和一个标志作为输入,输出任意长度的数 据。为了让h m a c 算法安全,t l s 使用了两种摘要算法。这样,只要其中还有一种 算法是安全的,h m a c 的安全性就可以得到保证。在这一点上t l s 具有更高的安全 性。 首先定义一个数据扩展函数p _ h a s h ( s e c r e t ,s e e d ) ,它把一个密码和一个种子转化 为任意长的输出: p _ h a s h ( s e c r e t ,s e e d ) 2h m a c _ h a s h ( s e c r e t ,a ( 1 ) + s e e d ) + h m a c h a s h ( s e c r e t ,a ( 2 ) + s e e d ) + h m a c _ h a s h ( s e c r e t ,a ( 3 ) + s e e d ) + + 指连接运算。 a ( ) 含义是a ( 0 ) = s e e d ,a ( i ) = h m a c _ h a s h ( s e c r e t ,a ( i 一1 ) ) 。p h a s h 可以迭代调 用任意多次以产生所需的数据量,例如,要使用p s h a 产生6 4 字节数据,需要迭 代调用4 次,产生8 0 字节,而最后1 6 字节丢弃,取前面6 4 字节作为输出数据。t l s 的p r f 是把密码分为两半,一半输入到p s h a 一1 ,另一半输入到p _ m d 5 ,然后把 两个输出数据异或作为最后的输出。 s 1 是密码的前一半,s 2 是密码的后一半,两者长度相同。如果密码的长度是奇 数,则丢弃最后一个字节。两段的长度计算如下: ls = 密码的长度: 1 2 电子科技大学硕士论文 ls t ls 2 ;c e i l ( l ,2 ) ;_ s t l s 的p r f 函数定义为两个伪随奉几流的异或: p r f ( s e c r e t ,l a b e l ,s e e d ) = pm d s ( s1 ,l a b e l + s e e d ) x o r p s h a t ( s a ,l a b e l s e e d ) ; 其中l a b e l 是一个a s c i i 串,不包含任何长度信息和作为结束的空字符。 注意阗为m d 5 产生1 6 字节输出,丽s h a 产生2 0 字节输出,它们的内部边界 不能对齐,因此如果要产生8 0 字节数据,ps h a 褥要调用4 欢,i 酊p m d 5 需要调 丽5 次。 h m a c 的运算过程r f c 2 1 0 4 惫定义。 2 4s s l v 3 厂r l s 记录层协议 s s l v 3 t l s 记录层协议是一个分层的协议。每一层都包含长度、描述和数据内 容。记录缓蛰议挺鎏转送熬数蠢、瀵惑逮芎亍分段,可戆还会遂行嚣续,最惹逮零亍秀l 密传送。对输入数据解密、解压、校验,然后传送给上层调用者。 协议中定义了匿种 己漾层秘议的谣嗣鬻:摇手协议、缀警协议、蕊密穆改协议、 应用程序数据协议。为了允许对协议的扩展,对其他记录类型也可以支持。任何新 类型餐盛矮舅辨分嚣英继瓣类型舔恚。魏鬃一个s s l v 3 t l s 实瑗按毂到它不靛谈溺 的记录类弛,必颁将其丢彝。运行于s s l v 3 t l s 之上的协议必须注意防范基于这一 点夔攻壹。溷为长度帮类戮字段楚不受熬蜜操护懿,因魏毖绥小心嚣法麓户哥蕤针 对这一点进行流量分析。 2 霹1s s l v 3 凰s 连接状态 连接浚态是s s l v 3 躁己s 豹搡 謦拜境, ( m a c ) 。邈些算法的参数:m a c 的密码、 箨定热露算法、蘧缩算法、溃惠臻要算法 块加密的在读筠方向上的密钥k e y 和i v 。 逻辏主存在4 耪逡接羧态:当 l 莓翡读、写状态,谈寒决、霉来决浚态。米决羧态露 以由握手协议设为当前状态。在这种情况下,当前状态被候选状态取代,而候选状 态被初始纯为空状态。把寒蔹葵法参数翅媲纯豹状态设为鹭| ;摹技态是龚渡戆。 s s l v 3 t l s 连接上的安全参数包括以下内容: 1 ) 连接端( c o n n e c t i o ne n d ) :本实体是c l i e n t 还是s e r v e r : 2 ) 块加密算 法( b u l k e n c r y p f i o n a l g o r i t h m ) :包括密钥长发、加密块长殿、密钥绦 鬻程度、是块加密还是流加密、加密算法是否符合出口限制; 1 3 电子科技大学硕士论文 3 ) 消息摘要算法( m a c a l g o r i t h m ) :包括返回的消息摘要长度; 4 ) 压缩算法( c o m p r e s s i o n a l g o r i t h m ) :包括压缩算法需要的所有参数; 5 ) 主密码( m a s t e rs e c r e t ) :双方共享的4 8 字节数据; 6 ) 客户方随机数( c l i e n tr a n d o m ) :由客户方提供的3 2 字节数据; 7 ) 服务器随机数( s e r v e rr a n d o m ) :由服务器提供的3 2 字节数据; 注:随机数中包含4 字节u n i x 3 2 格式的当前时间,实际随机数为2 8 字节 以上参数的定义: e n u r t l s e r v e r , c l i e n t ) c o n n e c t i o n e n d ; e n u m n u l l ,r e 4 ,r e 2 ,d e s ,3 d e s ,d e s 4 0 ) b u l k c i p h e r a l g o r i t h m ; e n u r r l s t r e a m ,b l o c k ) c i p h e r t y p e ; e n u r n t r u e ,f a l s e ) i s e x p o r t a b l e ; e n u l t l n u l l ,m d 5 ,s h a ) m a c a l g o r i t h m ; e n u m n u l l ( 0 ) ,( 2 5 5 ) c o m p r e s s i o n m e t h o d ; s t r u c t c o n n e c t i o n e n d e n t i t y ; b u l k c i p h e r a l g o r i t h mb u l k _ c i p h e r _ a l g o r i t h m ; c i p h e r t y p ec i p h e rt y p e ; u i n t 8 k e y _ s i z e ; u i n t 8 k e y _ m a t e r i a l l e n g t h ; i s e x p o r t a b l ei s _ e x p o r t a b l e ; m a c a l g o r i t h mm a c _ a l g o r i t h m ; u i n t 8 h a s h _ s i z e ; c o m p r e s s i o n m e t h o d c o m p r e s s i o n _ a l g o r i t h m ; o p a q u e m a s t e r _ s e c r e t 4 8 ; o p a q u e c l i e n t _ r a n d o m 3 2 ; o p a q u e s e r v e r _ r a n d o m 3 2 ; 1 4 电子科技大学硕士论文 s e c u r i t y p a r a m e t e r s ; 记录屡用这些安全参数产生以下各项: 1 ) c l i e n tw r i t em a cs e c r e t :客户方写m a c 密鹤 2 ) s e r v e r w r i t em a c s e c r e t :毅务器写m a c 密鹚 3 ) c l i e n tw r i t ek e y :客户方写密钥 4 ) s e r v e rw r i t ek e y :服务器写密锈 5 ) c t i e n t w r i t e i v :客户方写l v ( 仅用予块加密) 6 ) s e r v e r w r i t ei v :服务器写i v ( 仅用于块加密1 一虽安全参数设置好,在密钢产生戬瑟,获态耱可良没为当蓠狭态了。每处理 一个记录,当前状态必须熙新。每个状态包含以下元素: 1 ) 压缩状态( c o m p r e s s i o ns t a t e ) :当前聪缩算法的状态。 2 ) 加密状态( c i p h e rs t a t e ) :当前加密算法鲍状态。包括使用的窝钥。在 c b c ( c i p h e r b l o c kc h a i n i n g ) 模式的块加密算法中,初始化时包括i v ,每次处理完 个记录后熙瓤为此记录的媛后一块( 密文域n x ) 。在流加密中,包含所需的任何参 数。 3 ) m a c 密码( m a cs e c r e t ) :蠲予本次连接的l x 6 a _ c 密码。 4 ) 序列号( s e q u e n c en u m b e r ) :每个连接状态包含一个序列号。为u i n t 6 4 类型。 渡、写状态瞧彦戮号是分开鳃。连接凌态戆第一个遗录壤璃序翻号0 ,每令连接状 态被设为活动状态时序列号必须为0 ,每处理一个记录增加1 。 2 4 2 记录廛 记录漂扶主爨接毂寒解释鹣经意长囊瓣鼗撂。 2 ,4 2 1 分段 记录朦接受数据后分段成为等于或小于2 1 4 字节的块,放入p l a i n t e x t 结构中 不缳蜜记寐边爨。p l a i n t e x t 缝掏定义如下: s t r u c t u i n t 8m a j o r , m i n o r ; p r o t o c o l v e r s i o n ; 电子科技大学硕士论文 e n u l l l c h a n g e _ c i p h e r _ s p e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经济林种植工程方案投标文件(技术方案)
- 商品推广合作协议的注意事项
- 2025年城市配送物流中心场地租赁及供应链服务合同
- 2025年协议离婚子女抚养费及财产分配合同范本解析
- 2025年虚拟现实剧场作品角色扮演合作协议
- 2025年度学校锅炉工职业资格认证与技能培训综合服务合同
- 2025年度医院手术室租赁补充协议:高端医疗设施租赁合同范本
- 2025年企业通讯设备租赁及优化升级服务协议
- 2025年五星级度假酒店场地租赁终止及续约协议书
- 2025年智能社区物业租赁合同:智能家居设备租赁服务协议
- 2025年全科医师转岗培训理论知识题库及参考答案
- 中药材种植与采购合同标准范本
- 2025年测绘专业技术中级职称考试试卷及答案
- 2025新租房合同范本(标准)
- 仓库盘点流程与库存管理技巧
- 厨房餐厅承包合同(标准版)
- 2025年《师德师风》测试题(附答案)
- 2025年甘肃高速公路处收费人员招聘考试(公共基础知识)历年参考题库含答案详解(5套)
- 加油站资金安全知识培训课件
- (高清版)DB11∕T 1455-2025 电动汽车充电基础设施规划设计标准
- 2025年辅警招聘考试真题(含答案)
评论
0/150
提交评论