认证与认证协议.ppt

上传人:wuy****n92 文档编号:65253155 上传时间:2022-12-04 格式:PPT 页数:29 大小:284.10KB
返回 下载 相关 举报
认证与认证协议.ppt_第1页
第1页 / 共29页
认证与认证协议.ppt_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《认证与认证协议.ppt》由会员分享,可在线阅读,更多相关《认证与认证协议.ppt(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第三章第三章 安全业务及其实现方法安全业务及其实现方法第二讲第二讲 认证与认证的密钥交换协议认证与认证的密钥交换协议一、基本概念一、基本概念(一)认证(一)认证 认证活动又称为鉴别,是证明某人或对象身份的过程,是认证者对被认证者的确定的过程。认证包括数据源认证(data-origin authentication)、实体认证(entity authentication)和认证的密钥的建立(authenticated key establishment)。(1)数据源认证 数据源认证也称消息认证(message authentication),主要涉及验证消息的某个声称属性,其目的是为了能够验证

2、消息来自特定的实体,并且事后不能改变。这一服务由接受方在接收时进行验证的,其目的是确认消息发送者的身份及其数据的完整性。(2)实体认证 实体认证则更多地涉及验证消息发送者所声称的身份,是一种安全服务,使通信双方能够验证对方的身份。目前常用的认证技术主要有两大类:一类是基于密钥技术的认证技术;另一类是基于生物特征识别的认证技术。(3)认证的密钥建立 通信双方运行实体认证协议的目的在于能够在高层或者应用层上进行安全通信,密钥是建立安全通信信道的基础。因此,为了进行安全通信而运行的实体认证协议通常都有一个子任务,就密钥建立、或者密钥交换和密钥协商。(二)协议(二)协议 协议协议是一系列步骤,它包括两

3、方或多方,设计它的目的是要完成一项任务。理解理解:“一系列步骤一系列步骤”:意味着协议是从开始到结束的一个序列,每一步必须依次执行,在前一步完成前,后面的步骤都不能执行“包括两方或多方包括两方或多方”:意味着完成这个协议至少需要两个人,单独的一个人不能构成协议“设计它的目的是要完成一项任务设计它的目的是要完成一项任务”:意味着协议必须做一些事 协议还有其他特点:(1)协议中的每人都必须了解协议,并且预先知道所要完成的所有步骤。(2)协议中的每人都必须同意遵循它。(3)协议必须是不模糊的,每一步必须明确定义,并且不会引起误解。(4)协议必须是完整的,对每种可能的情况必须规定具体的动作。密码协议是

4、使用密码学的协议 参与该协议的伙伴可能是朋友和完全信任的人,或者也可能是敌人和互相完全不信任的人 参与协议的各方可能为了计算一个数值想共享它们的秘密部分、共同产生随机系列、确定互相的身份、或者同时签署合同。密码协议包含某种密码算法,但通常,协议的目的不仅仅是为了简单的秘密性,在协议中使用密码的目的是防止或发现偷听者和欺骗。(一)(一)消息认证消息认证二、基本认证技术二、基本认证技术 当Bob从Alice那里接收信息,他怎么知道信息是可信的呢?实现技术:(1)基于公钥体制:数字签名(2)对称密钥加密(3)消息认证码:基于对称算法(RIPE-MAC),基于单向函数(RFC,HMAC)(1)认证码

5、认证码(MAC,Messages Authentication Codes),是与密钥相关的的单向散列函数,也称为消息鉴别码或是消息校验和。MAC与单向散列函数一样,但是还包括一个密钥。不同的密钥会产生不同的散列函数,这样就能在验证发送者的消息没有经过篡改的同时,验证是由哪一个发送者发送的。MAC=CK(M)其中:M为可变长的消息;K为通信双方共享的密钥;C为单向函数。用途:为拥有共享密钥的双方在通信中验证消息的完整性;被单个用户用来验证他的文件是否被改动。认证码的三种使用模式认证码的三种使用模式 IP安全协议强制实现的MAC,由RFC2104定义的HMAC,全称为Keyed-Hash Mes

6、sage Authentication Code,用一个秘密密钥来产生和验证MAC。(2)HMAC1、HMAC要求要求可不经修改使用现有hash函数其中镶嵌的hash函数可易于替换为更快和更安全的hash函数保持镶嵌的hash函数的最初性能,不因适用于HAMC而使其性能降低以简单方式使用和处理密钥在对镶嵌的hash函数合理假设的基础上,易于分析HMAC用于认 证时的密码强度B:计算消息摘要时输入块的字节长度(如对于SHA-1,B=64)。H:散列函数,如SHA-1,MD5等。ipad:将数值0 x36重复B次。opad:将数值0 x5c重复B次。K:共享密钥。K+:在密钥K的左边附加0使其长为

7、B字节的密钥。L:消息的分组数n:消息摘要的字节数。M:要计算HMAC的数据。X|Y:将字串连接起来,即把字串Y附加在字串X后面。:异或。2、算法描述、算法描述MAC(M)=HMAC(K,M)=H(H(K+ipad)|M)|(K+opad)(1)如果K的长度等于B,设置K+=K并跳转到第(4)步。(2)如果K的长度大于B,对K求散列值:K=H(K)。(3)如果K的长度小于B,在K的左边附加0得到B字节的K+。(4)执行K+ipad。(5)将数据M附加在第(4)步结果的后面:(K+ipad)|M(6)将H应用于第(5)步的结果:H(K+ipad)|M)(7)执行K+opad。(8)把第(6)步的

8、结果附加在第(7)步的结果后面:(K+opad)|H(K+ipad)|M)(9)将H应用于第(8)步的结果:H(K+opad)|H(K+ipad)|M)(10)选择第(9)步结果的最左边t字节作为MAC。(二)实体认证(二)实体认证1、基于单向函数的认证协议(1)Alice将她的通行字传送给计算机。(2)计算机完成通行字的单向函数计算。(3)计算机把单向函数的运算结果和它以前存储的值进行比较。计算机存储通行字的单向函数及其对应的用户名 字典攻击字典攻击 Mallory在他的业余时间编制1,000,000个最常用的通行字表,他用单向函数对所有1,000,000个通行字进行运算,并将结果存储起来。

9、如果每个通行字大约是8个字节,运算结果的文件不会超过8M字节,几张软盘就能存下。现在Mallory偷出加密的通行字文件。把加密的通行字和已加密的可能通行字文件进行比较,再观察哪个能匹配。Salt是一随机字符串,它与通行字连接在一起,再用单向函数对其运算。然后将Salt值和单向函数运算的结果存入主机数据库中。如果可能的Salt值的数目足够大的话,它实际上就消除了对常用通行字采用的字典式攻击,因为Mallory不得不产生每个可能的Salt值的单向hash值。这是初始化矢量的简单尝试。2、SKEY程序程序 为了设置系统,Alice输入随机数R,计算机计算f(R)、f(f(R)、f(f(f(R)等等大

10、约100次。调用x1,x2,x3,。,x100这些数。计算机打印出这些数的列表,Alice把这些数放入口袋妥善保管,计算机也顺利地在登录数据库中Alice的名字后面存储x101的值。当Alice第一次登录时,她输入她的名字和x100,计算机计算f(x100),并把它和x101比较,如果它们匹配,那么证明Alice身份是真的。然后,计算机用x101代替数据库中的x100。Alice将从她的列表中取消x100。3 3、基于公钥体制的认证、基于公钥体制的认证(1)主机发送一个随机字符串给Alice。(2)Alice用她的私钥对此随机字符串加密,并将此字符串他和她的名字一起传送回主机。(3)主机在它的

11、数据库中查找Alice的公开密钥,并用公开密钥解密。(4)如果解密后的字符串与主机在第一步中发送给Alice的字符串匹配,则允许Alice访问系统。4 4、用联锁协议互相鉴别、用联锁协议互相鉴别 Alice和Bob是想要互相鉴别的两个用户。他们每人都有一个另一人知道的通行字:Alice通行字是PA,Bob的是PB。下面的协议是行不通的:(1)Alice和Bob的交换公开密钥。(2)Alice用Bob的公开密钥加密PA,并将它传送给Bob。(3)Bob用Alice的公开密钥加密PB,并发送给Alice。(4)Alice解密她在第(2)步中接受到的信息并验证它是正确的。(5)Bob解密他在第(3)

12、步中接受到的信息并验证它是正确的。5、SKID3 1、Alice选用随机数RA(RIPE文件规定64比特的数),并将它发送给Bob。2、Bob选用随机数RB(RIPE文件规定64比特的数),将下面的数发送给Alice:RB,HK(RA,RB,B)HK是MAC(RIPE建议的RIPE-MAC函数)。B是Bob的名字。3、Alice计算HK(RA,RB,B),并和她从Bob那里接收到的信息比较,如果结果一致,那么Alice知道她正与Bob通信。4、Alice向Bob发送:HK(RB,A),A是Alice的名字。5、Bob计算HK(RB,A),并将它与从Alice那里收到的比较,如果相同,那么Bob

13、知道他正与Alice通信。三、认证的密钥交换协议三、认证的密钥交换协议 很多情况下通信双方运行实体认证协议的目的在于能够在高层或者应用层上进行安全通信,密钥是建立安全通信信道的基础。因此,为了进行安全通信而运行的实体认证协议通常都有一个子任务,就密钥建立、或者密钥交换和密钥协商。我们称二者结合的协议为认证的密钥交换协议。Alice和Bob是网络的两个用户,他们将通过网络进行安全通信。那么Alice和Bob如何才能做到在进行密钥交换的同时,确认在和自己通信的另一个方不是Mallory,而且最后能确认双方确实拥有了某个特定的共同密钥。(一)基于单密钥体制的密钥交换(一)基于单密钥体制的密钥交换 K

14、erberos是为TCP、IP网络设计的可信第三方鉴别协议,kerberos起着可信第三方的作用。Kerberos基于对称密码学(采用的是DES),它与网络上的每个实体分别共享着一个不同秘密密钥,是否知道该秘密密钥便是身份的证明。Kerberos协议是Needham-Schroeder协议的变型,目前通用版本为k5,是1994年公布的;Kerberos采用的是客户机/服务器模型(以下简称C/S)。(1)基本协议)基本协议假设,Trent和Alice、Bob中的每人各共享一密钥。Alice想向Bob证明自己的身份。1、Alice将她的身份A和Bob的身份B发送给Trent:A,B2、Trent产

15、生一报文,该报文由时间标记T、使用寿命L、随机临时会话密钥K和Alice的身份构成。他用与Bob共享的密钥加密报文。然后,他取时间标记、使用寿命、会话密钥和Bob的身份,并且用他与Alice共享的密钥加密,并把这两个加密报文发给Alice:EA(T,L,K,B),EB(T,L,K,A)3、Alice用她的身分和时间标记产生报文,并用K对它进行加密,将它发送给Bob。Alice也将从Trent那里来的用Bob的密钥加密的报文发送给Bob:EK(A,T),EB(T,L,K,A)4、Bob用K对时间标记加1的报文进行加密,并将它发送给Alice:EK(T+1).这个协议是可行的,但它假设每个人的时钟

16、都与Trent的时钟同步。实际上,这个结果是通过把时钟同步到一个安全的定时服务器的几分钟之内,并在这个时间间隔内检测重放而获得的。(2)通用的第五版协议)通用的第五版协议协议协议5个步骤具体发送的消息:个步骤具体发送的消息:(二)基于双钥体制的密钥交换协议(二)基于双钥体制的密钥交换协议(3 3)基于混合密钥体制的密钥交换协议)基于混合密钥体制的密钥交换协议协议协议假假设设A和和B共享一个口令共享一个口令P,则则基本基本协议协议描述如下描述如下 1、A产产生生一一随随机机公公/私私钥钥对对,并并用用对对称称算算法法和和P作作为为密密钥钥,对对公公钥钥K加加密密,并向并向B发发送如下消息:送如下

17、消息:A,Ep(K)。)。2、B知知道道P,解解密密消消息息得得到到K,然然后后产产生生一一个个随随机机的的会会话话密密钥钥K,用用A的的公公钥钥K和和P加密加密K,向,向A发发送消息:送消息:Ep(EK(K)3、A解密消息得到解密消息得到K,并,并产产生一随机串生一随机串RA,用,用K加密:加密:EK(RA)。)。4、B解密消息得到解密消息得到RA,并,并产产生一随机串生一随机串RB,用,用K加密:加密:EK(RA,RB)。)。5、A解解密密消消息息得得到到RA,RB,若若得得到到的的RA与与发发送送给给B的的一一样样,就就加加密密RB:EK(RB)6、B解解密密得得到到RB,看看与与发发送送给给A的的是是否否一一致致,相相同同即即可可用用K作作为为会会话话密密钥钥进进行通信行通信。用Diffie-Hellman算法实现EKE5、双方建立安全会话密钥:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com