




已阅读5页,还剩57页未读, 继续免费阅读
(计算机应用技术专业论文)双向认证系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士论文双向认证系统的研究与实现 摘要 随着全球信息化的飞速发展,网络,作为一种重要的信息传递手段,已经成为现 代人生活中不可或缺的一部分。尤其是近几年来,我国网络建设的普及范围越来越广 泛,已经成为一个网络大国。伴随着蓬勃发展的网络而来的是令人担忧的网络安全问 题,而事实上各种利用网络进行的违法行为也日益呈现上升趋势。作为网络安全技术 重要组成部分的身份认证技术自然成为了人们关心的热门话题。 口令认证是最常用的身份认证方式,而一次性口令由于其较高的安全性受到人们 普遍关注。本文论述了一次性口令的原理及实现方式,通过分析比较几种常见的一次 性口令认证技术,总结了现有一次性口令认证方式中存在的一些不足,并结合公钥加 密及s s l 协议的基本思想,设计了一种双向认证的一次性口令认证方案。文中对新 方案的具体实现做了详细说明,并采用b s 模式对方案进行了实现。 新方案中采用s s l 协议的思想安全地实现了服务器和客户端的密钥交换,确保 了信息能准确无误地到达对方,并采用两个随机数来加强口令的随机性。整个系统具 有简单灵活,实现成本低,安全性高等特点。 关键词:网络安全,身份认证,一次性口令,s s l 协议 硕士论文 双向认证系统的研究与实现 a b s t r a c t w i mt h er a p i dg l o b a l i z a t i o no fi n f o r m a t i o a , t h en e t w o r k 嬲o n eo ft h ei n f o r m a t i o n t r a n s m i s s i o nm e i h o d s ,h a sa l r e a d yb e c o m ea v e r yi m p o r t a n tp a r ti np e o p l e sl i f en o w a d a y s , e s p e c i a l l yw h e nc h i n ah a sb e c o m ean e t w o r kc o u n t r yd u et ot h ew i d e s p r e a do f n e t w o r k c o n s t r u c t i o ni nr e c e n ty e a r s b u ta tt h es a i n et i m e n e t w o r ks e c u r i t yb e c o m e sa p r o b l e m w h i c ha r o l l s e sm o r ep e o p l e sc o n c e r n i nf a c t , t h e r ea r em o r ea n dm o r ei l l e g a la c t i v i t i e sb y u s i n gt h en e t w o r k t h e r e f o r e ,i d e n t i t ya u t h e n t i c a t i o n , t h ei m p o r t a n tp a r to fn e t w o r k s e c u r i t yt e c h n o l o g y ,b e 2 a ) m e sah e a t e dt o p i cr e c e n t l y a m o n ga l lt h ei d e n t i t ya u t h e n t i c a t i o n s ,p a s s w o ma u t h e n t i c a t i o ni st h eo n eu s e dm o s t , a n da m o n gw h i c ht h eo n et i m ep a s s w o r ds c h e m et h a w s m o s ta t t e n t i o nb c c a u s eo fi t sh i 曲 s e c u r i t y 1 1 l i sp a p c ri n t r o d u c e st h ep r i n c i p l ea n dt h er e a l i z a t i o nw a yo ft h eo n et i m e p a s s w o r ds c h e m ea tf i r s t , a n dt h e ns m n m a d z e st h ed e f e c t so fe x i s t i n gs c h e m e sb y c o m p a r i n gs e v e r a lk i n d so fc o m m o no n et i m ep a s s w o r ds c h e m e s c o m b i n i n gt h o s ew i t h p u b l i ck e ye n c r y p t i o na n ds s lp r o t o c o l ,ab i d i r e e t i o n a la u t h e n t i c a t i o n0 1 1 0t i m ep a s s w o r d s c h e m ei sd e s i g n e d t h e nt h ec o n c r e t es t e p so f t h ef l e ws c h e m ea r eg i v e n , a n di ti ss i m p l e r e a l i z e db yt h eb ,sm o d e d u r i n gt h ed e s i g no ft h en e ws c h e m e s s lp r o t o c o li su s e dt og u a r a n t e et h e s a f e e x c h a n g eo f k e y sb e t w e e nt h es e r v e ra n dt h ec u s t o m e r s ,s ot h a tt h ei n f o r m a t i o nc a nb es e n t t ot h eo t h e rs i d ec o r r e c t l y , b e s i d e s t h em e t h o do ft w or a n d o mn u m b e r si su s e dt o s l t e n g t h e nt h er a n d o m n e s so ft h ep a s s w o r d 1 1 1 es y s t e mi ss i m p l ya n df l e x i b l e i tc o s t s l o w e r , b u ti sm u c hs a f e r k e y w o r d s :n e t w o r ks e c u r i t y , i d e n t i t ya u t h e n t i c a t i o n ,o n et i m ep a s s w o r d ,s s l p r o t o c o l 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 已在论文中作了明确的说明。 研究生签名: 孵月;o 日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的全部或部分内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的全部或部分内容。 对于保密论文,按保密的有关规定和程序处理。 研究生签名:至固竺d 7 年f 月;。日 硕士论文双向认证系统的研究与实现 l 绪论 1 1 课题研究背景 网络的发展给人们的学习生活带来了巨大的便利,促进了社会的进步,加速了科 学文化、教育等事业的发展,同时也带来了巨大的安全隐患。由于政治的、文化的、 商业利益的需要以及些人好奇心的驱动,网络上的安全事件层出不穷,且有愈演愈 烈的趋势。尤其是近几年,各种新型病毒、垃圾邮件、黑客攻击事件发生的频率不断 上升,其造成的危害也越来越大。由于人们的物质和文化生活越来越多的依赖于计算 机网络,如运输系统,电力系统及其他一些基础设施等都与计算机网络密切相关,因 此,从小的方面讲,网络被攻陷将给个人或公司带来经济利益上的损失,从大的方面 讲,它将影响一个国家的政治、经济和文化安全。 1 1 1 网络安全面临的威胁 网络安全所面临的威胁来自很多方面,并且随着时间的变化而变化,这些威胁可 以从总体上分为人为威胁和自然威胁。 自然威胁可能来自于各种自然灾害、恶劣的场地环境、电磁辐射和电磁干扰、网 络设备的自然老化等。这些无目的无时间的威窖,有时会直接威胁网络盼安全,影响 信息的存储媒体。 本文主要研究的是人为的威胁,也就是对网络的人为攻击。其攻击手段是通过寻 找系统的弱点,以达到破坏、欺骗、窃取数据等目的,造成经济上和政治上不可估量 的损失。 人为的攻击又可分为被动攻击和主动攻击: 1 被动攻击 被动攻击具有偷听或者监控传输的性质,攻击者的目的就是获得正在传输的信 息。被动攻击的两种类型是释放消息内容和流量分析。 释放消息内容( r e l e a s eo f m e s s a g ec o n t e n t s ) 很容易理解。电话会谈、电子邮件消 息和传输的文件都有可能包含敏感或者机密信息,应该防止攻击者知道这些传输的消 息的内容。 流量分析( t z a f f i ca n a l y s i s ) 是第二种类型的被动攻击,这种攻击更加巧妙。如果 将网络上传输的消息或者其他信息流的内容加以屏蔽,对于攻击者来说,即使获得了 消息也不能从中提取信息。屏蔽消息内容最常见的技术就是对消息进行加密,但是, 即使采用了密码保护,攻击者仍可通过观察消息的模式来确定通信主机的地址和身 份,并且能够观察到正在交互的消息的频率和长度,进而可以利用这些信息猜测正在 硕士论文双向认证系统的研究与实现 发生的通信的本质。 被动攻击是很难被检测到的,因为这种攻击并不对数据做任何修改,通常来说, 消息流的发送和接收都是以透明的方式进行的,无论是发送方还是接收方都不会意识 到第三方的存在,也不会意识到第三方已经读取了消息或观察了流量的模式。因此, 处理被动攻击的重点是预防而不是检测。 2 主动攻击 主动攻击是指对数据流作出一些更改或者伪造假的数据流的攻击方式,主动攻击 又可以分为四类:伪装( m a s q u e r a d e ) 、重放( r e p l a y ) 、更改消息内容( m o d i f i c a t i o n o f m e s s a g e ) 和拒绝服务( d e n i a lo f s e r v i c e ) 。 伪装也就是假冒,是指一个实体假装成另一个不同的实体。伪装攻击还包含另一 种形式的主动攻击。即重放攻击。例如。攻击者首先捕获认证序列,然后在发生了有 效认证序列之后重放该序列,这样就可以通过模仿具有某些特权的实体使得不具有这 些特权授权的实体获得这些特权。 重放是指被动地捕获数据单元然后按照原来的顺序重新发送。 更改消息内容就是指更改合法消息的一部分,或者延迟、重新排序消息,以产生 未经授权的效果。例如,消息的含义是“允许a 阅读机密文件f i l e1 ”,把它更改为“允 许b 阅读机密文件f i l el ”。 拒绝服务攻击指的是阻止或者禁止对通信设备的正常使用或管理,这种攻击可能 具有明确的目标。例如,攻击者可以直接删除去往某一特定旦的她的所有消息( 熟安 全检查服务) ;另一种形式的拒绝服务攻击是通过禁用网络或超载消息来降低网络的 性能、加重网络的负担,从而使得整个网络瘫痪。 主动攻击具有与被动攻击相反的特性,彻底地预防主动攻击是相当困难的。因为 要达到这样的效果,就必须时刻对所有的通信设备和路径进行物理保护,这要付出巨 大的代价,而且在实际中也是无法实行的。因此对抗主动攻击的有效方法是检测并且 恢复主动攻击所造成的瘫痪或延迟。因为检测具有威慑的作用,从而也可起到一定的 预防效果。 1 1 2 网络安全服务 目前用于保护网络通信的安全服务主要有五种:身份认证服务、访问控制服务、 机密性服务、完整性服务和抗否认性服务。所有的网络应用环境包括网上银行、电子 商务、政府以及互联网本身都需要网络安全服务的支持。 其中。认证是一种最重要的服务,可分为实体认证和数据源认证两种情形。实体 认证( 也称身份认证) 也就是认证实体本身的身份,一般都是实时的。数据源认证就 是认证某个指定的数据项是否来源于某个特定的实体,它不提供时间性,它是保证部 2 硕士论文 双向认证系统的研究与实现 分完整性目标的直接方法。 访问控制服务对机密性、完整性、可用性及合法使用提供支持,它的执行依赖于 明确的身份。因此,在某种程度上所有其它安全服务都依赖于身份认证服务近几十 年来,身份认证技术也一直是信息安全领域的研究热点之一 1 1 3 身份认证在网络安全中的作用 身份认证是网络安全的基础,它是对访问者进行授权的前提,是网络安全的重要 机制之一。 从对计算机系统或网络的一般访问过程来看,身份认证是用户获得访闯权限的第 一步。如果用户身份得不到系统的认可,他就无法进入系统访问系统资源。从这个意 义上讲,身份认证是安全防御的第一道防线,它是防止非法用户或进程进入计算机系 统的有效安全保障措施。 1 1 4 身份认证技术的现状 目前,大部分网上业务采用的是基于用户名和密码的静态口令识别方式进行认 证,这种方式简单、容易实现,当然也存在许多安全隐患: ( 1 ) 密码容易泄露给他人 用户为了记住密码,经常采取些诸如自己生日、门牌号、电话号码等熟悉而易 记的数字,同时还可能将密码写在纸上,这就有可能在不经意阃泄露给他人,这都是 存在着的安全隐患。 ( 2 ) 密码在网上传输容易被截获 信用卡号、银行号、私钥、密码等敏感信息在网络上传输时极易被攻击者窃取, 防不胜防。 针对静态口令的脆弱性,一次性口令的概念应运而生,它的主要思想是在口令传 输过程中加入不确定因素,使得每次登录时传输的认证信息都不相同,防止重放攻击 和伪装攻击。 生物特征也可作为身份认证的要素。由于生物特征,如人脸、指纹、虹膜等,被 伪造的可能性极小,因此这种认证方式安全性很高。但是这种技术还不是很成熟,在 使用中的稳定性也较差,比如人的脸会随着年龄的增长两改变等,两且费用较高,在 短时间内普及的可能性不大。 使用密码对认证过程中的信息进行保护是身份认证技术的核心,以密码学为基础 的身份认证协议可以有效地保护用户信息的安全 鉴于身份认证的重要性,其技术在近几年得到了快速的发展,根据实际应用的情 况以及我国的发展现状,一次性口令技术由于其安全性相对较高,使用和管理都很方 3 硕士论文双向认证系统的研究与实现 便,而且成本不高,是最具有发展前景的一种身份认证技术,其发展趋势是:采用更 加完善的认证协议,增强口令的随机性,做到真正的一次一密,并且更加容易应用到 各种系统当中去。 1 2 课题的内容及创新点 通过以上论述,可以了解到身份认证对于计算机系统及网络安全的重要性和必要 性以及用户身份认证系统的发展现状。口令认证方式作为已经长期使用,并将继续使 用下去的一种用户识别方法,必须在原有基础上不断改进。才能抵御各种人为攻击, 满足日益增长韵安全需求。 本文论述了身份认证技术的密码学基础,常用的身份认证技术和身份认证协议, 分析了一次性口令系统的基本原理,指出了现有的一次性口令认证方案中存在的安全 问题。并结合一次性1 :3 令的特点和密码学的基本思想,将加密技术融合到一次性口令 认证系统中,设计了一种新的基于s s l 握手协议的双向认证一次性口令系统模型。 文中对模型的安全性、可行性进行了分析,证明了该模型可以有效地保护敏感信息的 传输,抵御针对口令认证的典型攻击,并用程序实现了所建立的模型,验证了模型的 可行性。 4 硬士论文 双向认证系统的研究与实现 2 密码学基础 密码技术是信息交换安全的基础,通过数据加密、消息摘要、数字签名及密钥交 换等技术实现了数据机密性、数据完整性、抗否认性和用户身份真实性等安全机制, 从而保证了网络环境中信息传输和交换的安全。密码技术大致可以分为三类:对称加 密体制、公钥加密体制( ;# 对称加密体制) 和单向单列函数。 2 1 加密的概念 加密是通过一种使信息变得混乱的方式,从而使未经授权的人看不到它,而被授 权的人可以看到它。所谓被授权的人就是指拥有解密信息所需要的密钥的人。图2 1 显示了加解密的基本操作。 图2 1 密码体制 一些有关加密和解密操作的术语如下: 明文o 田信息最初的存在形式 密文( c ) 被加密算法打乱之后的信息 算法( a l g o r i t h m ) 将明文转换为密文的方法 密钥( k e y ) 在将明文转换成密文或者将密文转换成明文的算法中输入的数据 加密( e n d r y p t i o n ) 将明文转换成密文的过程 解密( d e c r y p t i o n ) 将密文转换成明文的过程 2 2 对称加密体制 对称加密也称为常规加密、密钥或者单密钥加密,它是在2 0 世纪7 0 年代后期开 发公钥加密之前唯一使用的加密方法。它不仅可以用于数据加密,也可用于消息的认 证。 碗士论文双向认证系统的研究与实现 2 2 1 对称加密体制的特点 对称密码体制的加密密钥和解密密钥是相同的。系统的保密性主要取决于密钥的 安全性,与算法的安全性无关,即由密文和加密算法不可能得到明文。换句话说,算 法无需保密,需要保密的仅是密钥。根据对称密码体制的这种特性,对称加解密算法 可以通过价格低廉的芯片来实现。密钥可由发送方产生然后再经一个安全可靠的途径 送到接收方,或由第三方产生居安全可靠地分配给通信双方。如何产生满足保密要求 的密钥以及如何将密钥安全可靠地送达目的地,是这类体制设计和实现的主要课题。 密钥的产生、分配、存储、销毁等问题,是影响系统安全的重要因素。即使密码算法 再好,若以上问题处理不好,系统的安全性也很难保证。 对称密码体制对明文消息加密有两种方式:一是明文消息按字符( 如二元数字) 逐位进行加密,称之为流密码;另一种是将明文消息分组( 含有多个字符) ,逐组进 行加密,称之为分组密码。 分组密码的典型代表是数据加密标准d e s ( d a t ae n c r y p t i o ns t a n d a r d ) ,这里做一 下简单介绍。 2 2 2d e s 加密算法基本原理 每一组明文的长度为6 4 位,而密钥的长度为5 6 位,以6 4 位数据块的形式处理 较长的明文。算法需要执行1 6 次循环,从最初的5 6 位密钥产生1 6 个子密钥,每次 循环使用其中一个子密钥,具体加密流程如图2 2 所示。 d e s 的解密过程在本质上与加密过程一样。规则如下:使用密文作为算法的输 入,但是按照相反的顺序使用墨。也就是说,在第一次循环中使用墨。,第二次循环 中使用蜀,以此类推,直到在第1 6 次也就是最后一次循环中使用局。 2 2 3d e s 加密算法安全性分析 d e s 的一个主要缺点是:d e s 的密钥长度较短。这被认为是d e s 仅有的最严重 的弱点,针对这个弱点的攻击主要是穷举测试密钥,就是利用一个已知的明文和密文 消息对,不断尝试进行解密,直到找到正确的密钥。 克服短密钥缺陷的一个解决办法是使用不同的密钥,多次运行d e s 算法,这就 是加密一解密一加密的三重d e s ( 3 d e s ) 方案。 6 硕士论文 取向认证系统的研究与实现 图2 2 d e s 加密算法 k l ( 5 6 ) k 2 ( 5 6 ) k l 鼬6 ) 7 硕士论文 双向认证系统的研究与实现 2 3 公钥加密体制 公钥加密首先是由d i t t i e 和h e u m a n 在1 9 7 6 年公开提议的( d i f f 7 6 ) ,可以说 公钥加密是加密史上第一个真正有革命意义的进步。第一,公钥加密算法是基于数学 函数而不是对位的形式的简单操作。更重要的是,与对称加密体制相比,公钥加密是 非对称的,公钥加密和解密使用的是不同的密钥,在机密性、密钥分配和认证领域中, 使用两个密钥具有深远的影响。 2 3 1 公钥加密工作原理 在公钥加密体制中,需要产生一对密钥,一个用于加密,称为公钥,另一个用于 解密,称为私钥。顾名思义,公钥就是向其他所有人公开以便他们使用,而私钥只有 私钥的拥有者才知道。通用的公钥加密算法依赖于用于加密的密钥和与之不同但相关 联的解密密钥。 实际步骤如下: 每个用户产生一对密钥用于加密和解密消息; 每个用户将其中一个密钥放入公共寄存器或其他可访问的文件中,这个密钥 就是公钥,该用户把另一个密钥自己保存,这就是私钥,每个用户都可以从 其他用户那里获得公钥的集合; 如果b 希望向a 发送一条私人消息,那么b 使用a 的公钥加密消息; 当a 收到该消息的时候,就使用他自己的私钥解密消息,理论上讲,没有其 他接收者能够解密消息,因为只有a 知道解密密钥。 在这种方法中,所有参与者都能够访问公钥,而私钥由每个参与者在本地产生, 因此不需要分配。只要用户保护好他的私钥,通信就是安全的。在任何时候,用户都 可以改变私钥,并公布相应的公钥值以替换旧的公钥值。 最常使用的两个公钥加密算法是r s a 和d i 伍e - h e l l m a n 。 2 3 2r s a 公钥加密算法 r s a 密码系统的安全性是基于大数分解的困难性。一般而言,求一对大素数的 乘积很容易,但要对这个乘积进行因式分解则非常困难。因此,可以把一对大素数的 乘积公开作为公钥,而把素数作为私钥,也就是说从一个公开密钥和密文中恢复出明 文的难度等价于分解两个大素数之积的难度。 r s a 算法实现细节如表2 1 所示,具体步骤如下: 硕士论文 双向认证系统的研究与实现 表2 1 r s a 算法 密钥产生 选择p 和gp 和g 都是素数,p g 计算珂= p x g 计算0 ) = ( :p 一1 勋一i ) 选择整数g g c d ( 珏l e ) = l l l 。 ( n ) 计算de d m o d e ( n ) - - - 1 一 公钥 k u = 和,珂 私钥 k u = p ,疗) 选择两个不同的大素数p 和口( 一般为1 0 0 位左右的十进制数字) ,计算乘积: 糟= p g 和欧拉函数值: 妒如) = 0 0 ( q 1 ) 随机取一整数e ,1 e j ! i ( n ) ,且p 和妒( n ) 互素。此时可求得d 满足; e d m o d ( n ) - i 贝| j d ;口1 m o d ( n ) 这样可以可以把p 和作为公开密钥,d 作为私人密钥。其中,p 、g 、舡) 和d 就是密码陷门,他们不是相互独立的,因此不可泄漏。 r s a 加密消息膨时( 设膨以十进制表示) ,首先将消息分成大小合适得数据分 组,然后对分组分别迸行加密,每个分组的长度应比玎小。 设c 为一个分组加密后的密文,则加密公式为: j,c = m 。( m o d n ) 解密时,对密文分组进行如下运算: m = c 4 ( m o d n l 9 碗i :论义 双向认证系统的研究与实现 2 3 3r s f i 加密算法安全性分析 理论上讲,r s a 的安全性取决于模蚪分解的困难性,因此,如果要用r s a 加密 算法,需要采用足够大的整数。若以每秒可进行1 0 0 万步的计算机资源分解6 6 4 b 大 整数,需要完成1 0 2 3 步,即要用1 0 0 0 年。目前,5 1 2 b 模( 约1 5 5 位) 在短期内仍 十分安全。 2 3 4d i f f i e - h e l l m a n 密钥交换算法 d i f f t e h e l l m a n 算法是世界上第一个公钥加密算法,它主要用于密钥分配和交换, 不能用于加密或解密信息。 d i f f i e h e l l m a n 算法的安全性依赖于在有限域上计算离散对数的困难性,如果4 和艿想在不安全的信道上交换密钥,他们可以采用如下步骤: 爿和b 协商一个大素数p 及p 的本原根口,a 和p 可以公开; a 秘密产生一个随机数x ,计算x = a m o d p ,然后把发给b ; b 秘密产生一个随机数y ,计算y = 口m o d p ,然后把j ,发给4 ; 爿计算k = y 。m o d p ; 口计算k = x m o d p 。 k 和女是恒等的,因为 k = y 。m o d p = g 7 r m o d p = ( 口。y m o d p = z r o o d p = i 线路上的窃听者只能得到口、p 、x 和j ,的值,除非能计算离散对数,恢复出x 和y ,否则就无法得到t 。 基于d i f f i e h e l l m a n 算法的密钥交换协议可以扩展到三人或更多的人。 2 4 单向散列函数 2 4 1 单向散列函数的特性 所谓单向散列函数( h a s hf u n c t i o n ,又称哈希函数、凑杂函数) ,就是将任意长 度的消息m 映射成一个固定长度的散列值h 的函数; h = h 、 其中,h 的长度为m 。 单向散列函数是密码学中的一个重要分支,它的保密性取决于该函数正向计算容 易,但求逆非常困难。 散列函数要具有单向性,则必须满足以下特性: ( 1 ) 给定m ,很容易计算得出h ; ( 2 ) 给定h ,根据日( ,) = h 反推吖很难; i 0 硬士论文双向认证系统的研究与实现 ( 3 ) 给定肘,要找到另一个消息m 并满足露似) = 日缸) 很难。 单向散列函数可以防止数据在传输过程中被篡改、伪造和重放,通常使用它来保 护数据的完整性。例如:用户彳向b 发送一条消息,同时向丑发送该消息的散列值, b 收到消息后用相同的散列算法计算其散列值,并与彳发送的散列值比较,若相同则 消息没有被篡改,否则,表明消息内容已经被修改。 , 2 4 2 锄4 和m 1 3 5 算法 r o n r i v e s t 在1 9 9 0 年提出m d 4 杂凑算法。该算法特别适于软、硬件快速实现。 输入消息可任意长。压缩后输出为1 2 8 位。m d 5 是m d 4 的改进形式,弥补了m d 4 中的一些缺陷,下面介绍一下m d 5 算法。 m d 5 算法是一种常用的单向散列函数,m d ( m e s s a g ed i g e s t ) 表示消息摘要, 该算法对输入的任意长度的消息产生1 2 8 位散列值( 或消息摘要) ,算法可用图2 3 表示。 1 2 8 1 2 81 2 8 , 图2 3 i v l d 5 加密算法 由上图可知,m d 5 算法包括以下五个步骤; ( 1 ) 附加填充位 首先填充消息,使其长度为一个比5 1 2 的倍数小6 4 位的数。 填充方法:在消息后面填充一位1 ,然后填充所需数量的0 ,填充位的位数从1 到5 1 2 。 ( 2 ) 附加长度 将原消息长度的6 4 位表示附加在填充的消息后面。当原消息长度大于2 耐时,用 消息长度m o d2 6 4 填充。这时,消息长度恰好是5 1 2 的整数倍。令肘【0 ,l ,一l 】 为填充后消息的各个字( 每字为3 2 位) ,n 是1 6 的倍数。 。、( 3 ) 初始化m d 缓冲区 初始化用于计算消息摘要的1 2 8 位缓冲区,这个缓冲区由四个3 2 位寄存器4 、丑、 硕士论文双向认证系统的研究与实现 c 、d 表示。寄存器初始化值为( 按低字节在前的暇序存放) :a = 0 1 2 3 4 5 6 7 , b = 8 9 a b c d e f ,c = f e d c b a 9 8 ,d = 7 6 5 4 3 2 l o 。 “) 按5 1 2 位的分组处理输入消息 这一步为m d 5 的主循环,包括四轮,每个循环都以当前的正在处理的5 1 2 比特 分组和1 2 8 位比特缓冲值a b c d 为输入,然后更新缓冲内容。四轮的操作类似,每一 轮进行1 6 次操作。四轮的不同之处在于每轮使用的非线性函数不同。在第一轮操作 之前,首先把4 、b 、e 、d 复制到另外的变量a 、b 、c 、d 中。 , ( 5 ) 输出 由彳、雪、c 、d 四个寄存器的输出按低位字节在前的顺序( 即以4 的低字节开 始,d 的高字节结束) 得到1 2 8 位的消息摘要。 2 4 3 安全散列函数( s h a ) s h a 是美国n i s t 和n s a 共同设计的安全散列算法,用于数字签名标准d s s , s h a - 1 是s h a 的修改版。现在通常说的s h a 算法一般指s h a - 1 。 s h a 一1 产生消息摘要的过程类似于m d 5 ,s h a - 1 的输入为长度小于2 6 4 位的消息, 输出为1 6 0 位的消息摘要。步骤如下; ( 1 ) 填充消息 首先将消息填充为5 1 2 的整数倍,填充方法和m d 5 完全相同; ( 2 ) 初始化缓冲区 在运算过程中,s h a 要用到两个缓冲区,两个缓冲区均有五个3 2 位的寄存器。 第一个缓冲区标记为4 、b 、c 、d 、e ;第二个缓冲区标记为风、凰、日z 、皿、 矾。此外,运算过程中还要用到一个标记为、的8 0 个3 2 位字序 列和一个单字的缓冲区脚。 ( 3 ) 按5 1 2 位的分组处理输入消息 s h a 的主循环包括四轮,每轮2 0 次操作。 “) 输出 输出的1 6 0 位消息摘要为珂o 、甄、日2 、王、日级联的结果。 2 5 数字签名 在计算机通信中,当接收者接收到一个消息时往往需要验证消息在传输过程中有 没有被篡改,有时接收者需要确认消息发送者的身份,所有这些都可以通过数字签名 来实现。 数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储 的数据或程序时,可以用来验证数据或程序的完整性。它和传统手写签名类似,应满 1 2 硕士论文双向认证系统的研究与实现 足以下条件: ( 1 ) 签名是可以被确认的,即收方可以确认或证实签名确实是由发方签名的; ( 2 ) 签名是不可伪造的,即收方和第三发都不能伪造签名; ( 3 ) 签名不可重用,即签名是消息的一部分,不能把签名移到其他消息上; ( 4 ) 签名是不可抵赖的,即发方不能否认他所签发的消息; ( 5 ) 第三方可以确认收发双方之间的消息传送。但不能篡改消息。 使用对称密码系统可以对文件进行签名,但需要- - j - 自青任的第三方仲裁。公开密钥 算法也能用于数字签名,此时,发方用私钥对文件进行加密就可以对文件获得安全的 数字签名。在实际应用中,由于公开密钥算法的效率较低,发送方并不对整个文件签 名,而只对文件的散列值签名。 一个数字签名方案一般由两部分组成:签名算法和验证算法,其中,签名算法或 签名密钥是秘密的,只有签名人知道,而验证算法是公开的 2 5 1 数字签名算法 用于数字签名标准d s s 的数字签名算法d s a 中用到了以下参数: ( 1 ) p 为位长的素数,其中,工为5 1 2 1 0 2 4 之间且是6 4 倍数的数; ( 2 ) g 是1 6 0 位长的素数,且为p 1 的因子; ( 3 ) g = j i ) ,q m o d p ,其中,_ i l 是满足1 h p 一1 且 m o d p 大于1 的整 数倍5 “) ,是随机产生的大于0 而小于盯的整数; ( 5 ) y = 旷m o d p ; ( 6 ) i 是随机产生的大于0 而小于q 的整数。 前三个参数p 、g 、g 是公开的;x 为私钥,y 为公钥;x 和后用于数字签名, 必须保密;对于每一次签名都应该产生一次嘉。 对消息新签名: ,= ( g 。m o d p ) m o d q s _ - ( k 。1 一1 妇) + 耵) ) l n o d g r 和j 就是签名。验证签名时,计算: w = s m o d q u l = 删一1 ) w ) m o d q u 2 = ( r w ) m o d q v = ( ( g “x ) ,以) n l o d p ) n l o d g 如果v = j r ,则签名有效。 硕士论文 , 双向认证系统的研究与实现 2 5 2l i s a 数字签名方案 前面提到的r s a 算法可以用于数字签名,可以利用l i s a 得到私钥d ,公钥e 和厅, 则对消息m 的签名为: ,= s 留如) = 白矿m o d n 其中,日锄) 计算消息聊的消息摘要,可由散列函数s h a d 或m d 5 得到,即为对 消息豹签名。 验证签名时,验证: 日) i ,m o d n ( 2 1 ) 若式( 2 1 ) 成立,则签名有效。 2 6 数字证书 验证数字签名需要使用签名者的公钥,但是,怎么知道这个公钥是对的呢? 除非 是通过安全的方式直接得到的,否则不能保证公钥的正确性。这时就需要数字证书来 解决这个问题,它以一种不可伪造的方式传递用户的公钥。 数字证书是由第三方提供的一种确保该公钥是由其宣称者所拥有的一种方式,证 书类似子护照,第三方( 政府) 证踢这护照是你韵。证书不只可以须发给人,还可以 发布给一些主体或组织。 一般情况下,证书是由你的公钥和一些其他信息组成,这些信息和你的公钥是由 第三方的私钥进行签名的。通常,第三方称作c a ( 证书授权机构) 。图2 4 演示了数 字证书的生成过程。 夕熊愧 用户公开爻参一 图2 4 数字证书的生成过程 c a 签名的用户证书 1 4 硕士论文 双向认证系统的研究与实现 3 口令与身份认证 3 1 身份认证 身份认证是指用户必须提供他是谁的证明,他是某个雇员,某个组织的代理,某 个软件过程。,认证的目的就是弄清楚他是谁,他具有什么特征,他知道什么可以用于 识别他的东西。这种证实客户的真实身份与其声称的身份是否相符的过程是为了限制 非法用户访问网络资源,它是其他安全机制的基础。 在网络环境下,身份认证的双方一般都是通过网络而非直接交互的,身份认证要 通过一些认证技术来实现。在进行身份认证信息的交换时,往往需要通过协议( 甚至 是密码协议) 来确保认证信息交换的安全性。身份认证技术和认证协议都是实现网络 中信息正确存取识别控制的最基本方法。有了认证协议,通信双方可辨别对方的真实 身份,相关服务器也才会为合法用户提供相应服务。依据是否使用密码技术,现有的 一些认证机制可以分为非密码认证机制和基于密码的认证机制。2 0 世纪6 0 年代开始应 用的用户名n 令认证技术是最简单、最常用的非密码身份认证机制。1 9 7 8 年,由r n e e d h a m 和ms c h r o e d e r 提出了第一个应用于计算机网络的基于密码的认证协议。目 前,一些高强度的身份认证机制通常采用基于密码的认证机制,它们将密码技术与认 证技术相结合来进行身份认证。 3 1 1 身份认证在网络安全中的位置 首先看一下安全系统的整体结构,如图3 1 1 3 。 图3 1 安全系统的逻辑结构 认证技术是信息安全的一个重要方面,身份认证是安全系统中的第一道关卡,如 硕士论文 双向认证系统的研究与实现 图3 1 所示,用户在访问系统资源之前。必须首先经过身份认证系统的识别,然后由 访问监控器,根据用户的身份和授权数据库决定用户是否能够访问某个资源。授权数 据库由安全管理员按照需要进行配置。审计系统根据审计设置记录用户的请求和行 为,同时入侵检铡系统实时或非实时地检测是否有入侵行为。访问控制和审计系统都 要依赖于身份认证系统提供的“信息”用户的身份。可见身份认证系统在安全系 统中的地位极其重要,是最基本的安全服务,其他的安全服务都依赖于它。一旦身份 认证系统被攻破,那么系统的所有安全措施都将形同虚设,而身份认证系统往往就是 黑客的攻击目标。 3 1 2 身份认证的基本原理 目前用来验证用户身份的方法有: 1 基于用户知道什么的身份认证 这是最普通的身份认证形式,基于用户标识符( d ) 和口令( p a s s w o r d ) 的组合。 用户输入用户标识符和口令,系统将输入的口令与此前为该用户标识符存储的口令进 行比较,如果匹配,该用户就可得到授权,并获得访问权。 2 基于用户拥有什么的身份认证 尽管某些身份认证技术是基于用户拥有什么的,但是它在一定程度上还是和基于 用户知道什么的技术结合在一起的,这种结合比仅仅采用一种技术的安全性大大提高 了。但是,通常基于用户拥有什么的身份认证技术要使用到令牌,它很有可能被遗失 或窃取,从而被伪造身份。 3 基于用户是谁的身份认证 这种机制是基于生物特征识别技术,它采用的是用户独特的生理特征来认证用户 的身份,包括用户的指纹、视网膜、声音等。 这种技术比前两种认证技术有着更好的安全性。但是这种技术还不是很成熟,而 且实际使用过程中稳定性不是很好,并且费用商,短时间还不可能被广泛地应用到身 份认证中去。 3 2 身份认证中常用的协议 3 2 1k e r b e r o s 交换 k e r b e r o s 是美国麻省理工学院( m i t ) 开发的基于k d c ( 密钥分发中心) 方式的 认证系统,它使用对称密钥加密算法来实现通过可信第三方k d c 的认证服务,提供 了网络通信方之间相互的身份认证手段,而且并不依赖于主机操作系统和地址。 k e r b e r o s 设计的目的是解决在分布网络环境下,用户访问网络资源时的安全问题。它 硕士论文双向认证系统的研究与实现 利用集中的认证取代分散的认证,以减轻服务器的负担。 目前该系统已有五个版本,其中v 1 到v 3 是内部开发版,v 4 是1 9 8 8 年开发的, 现已得到广泛应用,而v 5 则进一步对v 4 中的某些安全缺陷做了改进,已于1 9 9 4 年 作为i n t c r n e t 标准( 草稿) 公布( r f c l 5 1 0 ) 。 1 k e r b c r o s 协议中的符号说明 协议中的符号: c :客户机 s :服务器 f :用户 a s :认证服务器 t g $ :发放票据的服务器 肋c :密钥分配中心 a p 一尼阳:应用请求 艘晃韶:应用响应 钌一e , e q :认证服务请求 刀盯:票证 t g t :票据授予票据 j 1 0 a :a 和b 之间临时共享的会话密钥 l i f e t i m e :票据的有效期,包括开始时间和结束时间 b ) :用密钥砌口密数据 r :随机数 2 k e r b e r o s 认证过程 k c r b e r o s v 5 协议的认证过程分为三个阶段六个过程,如图3 2 所示。 图3 2k e r b e r o s 交换 阶段一:认证服务器交换 用户u 向a s 请求身份认证,并获取访问弼s 的票据,岱交换只与c 和郇相关: 1 7 硕士论文双向认证系统的研究与实现 ( 1 ) 爿s 一冗蜀q c a 8 :u ,t g $ ,l f f e t i m e l ,r i ( 2 ) t g t 嬲c :u ,粥 其中 t c ,麟= e 洮弼鼬tc ,t g s x c 船,l i f e t i m e l l 粥= 取。 z 蹬,k c ,黜,归z 细e l ,r i 阶段二:票证授予服务交换 用户u 向t g s 请求访问s 的票据 ( 3 ) t g s r e qc 寸t g s :l i f e t i m e 2 ,r 2 ,忍掰,幺弼 ( 4 ) t k t 怒s - - - h c :c ,阢。s ,t k t c 其中 t c s = e x a , 麟零,c ts k c 8 ,z i f e z i m e 2 t k t c = e x c ,麟拶,l i f e t i m e 2 ,坞 a c j 掰s2e ? 髑毽,c l i e n t t i m e 阶段三:应用服务交换 用户u 和应用服务器s 之间双向通信 ( s ) a p r e qc - - 9 s :黾s ,如。s ( 6 ) a p r e ps - - - h c :a s c 其中 a c s = ,s p ,c l i e n t t i m e l a s c = e x c s c l i e n t t i m e l j 3 k e r b e r o s 协议的安全性分析 尽管k e r b e r o s 协议在一定程度上保障了网络传输和i 暮信的安全,但是k e r b e r o s 还有其自身的局限性和弱点: ( 1 ) 时钟同步问题 为了防止重放攻击,在票据和认证符中都加入了时间戳,只有时间戳的差异在一 个比较小的范围内,才认为数据是有效的。这就要求客户端、 s ,孔嚣和应用服务 器端的机器时间要大致保持一致,但在分布式网络环境中要达到这样的要求是比较困 难的。 ( 2 ) 无法彻底抵御重放攻击 为了抵御重放攻击在认证过程中引入的时间戳,也带来了重放攻击的隐患。假定 系统中收到消息的时间在规定范围内( - - 般可以规定5 分钟) ,就认为消息是新的, 因此在票据的有效期内,仍然可以使用旧的鉴别码迸行重放攻击。另外,如果能够欺 骗主机,使它的正确时间发生误差,那么旧的口令也能够被重放。 ( 3 ) 口令猜测问题 1 8 硕士论文双向认证系统的研究与实现 在k c r b c r o s 中,4 s 发往客户c 的擐文是用从客户口令产生的密钥来加密的,而 用户密钥是采用单向散列函数对用户口令进行加密后得到的。因此,攻击者可以收集 大量的访问t g s 的票据,通过计算和密钥分析进行口令猜测。当用户选择的口令强度 较弱时,就不能有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度国家电网招聘考试题库试题(综合卷)附答案详解
- 辅警招聘考试模拟试题带答案详解(综合题)
- 光大银行台州市椒江区2025秋招半结构化面试题库及参考答案
- 平安银行宜昌市夷陵区2025秋招半结构化面试题库及参考答案
- 2025年传染病学传染病病原体鉴定技术判断题考试答案及解析
- 农发行铜仁市碧江区2025秋招笔试英文行测高频题含答案
- 2025年自考专业(金融)练习题附参考答案详解(满分必刷)
- 2025年首都体育学院招聘6人笔试模拟试题带答案详解
- 中信银行南京市栖霞区2025秋招笔试英语题专练及答案
- 2024-2025学年度法律职业资格考试能力提升B卷题库【A卷】附答案详解
- 安置点管理制度
- 麻醉科职责及管理制度
- 教科版五年级上册科学期中测试卷附答案(夺分金卷)
- 药房管理规章制度目录
- 中职第1课 社会主义在中国的确立和探索试题
- 2025年辽宁省交投集团招聘笔试参考题库含答案解析
- 香港 信托合同范本
- 少先队活动课《民族团结一家亲-同心共筑中国梦》课件
- 阀门培训课件
- 《焦化机械设备维护检修标准》
- DB11∕T 899-2019 盆栽蝴蝶兰栽培技术规程
评论
0/150
提交评论