收藏 分销(赏)

第3章第2讲认证与认证协议.ppt

上传人:精*** 文档编号:12696938 上传时间:2025-11-26 格式:PPT 页数:29 大小:247KB 下载积分:10 金币
下载 相关 举报
第3章第2讲认证与认证协议.ppt_第1页
第1页 / 共29页
第3章第2讲认证与认证协议.ppt_第2页
第2页 / 共29页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第3章第2讲认证与认证协议,一、基本概念,(一)认证,认证活动又称为鉴别,是证明某人或对象身份的过程,是认证者对被认证者的确定的过程。,认证包括数据源认证(data-origin authentication)、实体认证(entity authentication)和认证的密钥的建立(authenticated key establishment)。,(1)数据源认证,数据源认证也称消息认证(message authentication),主要涉及验证消息的某个声称属性,其目的是为了能够验证消息来自特定的实体,并且事后不能改变。这一服务由接受方在接收时进行验证的,其目的是确认消息发送者的身份及其数据的完整性。,(2)实体认证,实体认证则更多地涉及验证消息发送者所声称的身份,是一种安全服务,使通信双方能够验证对方的身份。目前常用的认证技术主要有两大类:一类是基于密钥技术的认证技术;另一类是基于生物特征识别的认证技术。,(3)认证的密钥建立,通信双方运行实体认证协议的目的在于能够在高层或者应用层上进行安全通信,密钥是建立安全通信信道的基础。因此,为了进行安全通信而运行的实体认证协议通常都有一个子任务,就密钥建立、或者密钥交换和密钥协商。,(二)协议,协议,是一系列步骤,它包括两方或多方,设计它的目的是要完成一项任务。,理解,:,“,一系列步骤,”:意味着协议是从开始到结束的一个序列,每一步必须依次执行,在前一步完成前,后面的步骤都不能执行,“包括两方或多方”,:意味着完成这个协议至少需要两个人,单独的一个人不能构成协议,“设计它的目的是要完成一项任务”:,意味着协议必须做一些事,协议还有其他特点:,(1)协议中的每人都必须了解协议,并且预先知道所要完成的所有步骤。,(2)协议中的每人都必须同意遵循它。,(3)协议必须是不模糊的,每一步必须明确定义,并且不会引起误解。,(4)协议必须是完整的,对每种可能的情况必须规定具体的动作。,密码协议是使用密码学的协议,参与该协议的伙伴可能是朋友和完全信任的人,或者也可能是敌人和互相完全不信任的人,参与协议的各方可能为了计算一个数值想共享它们的秘密部分、共同产生随机系列、确定互相的身份、或者同时签署合同。,密码协议包含某种密码算法,但通常,协议的目的不仅仅是为了简单的秘密性,在协议中使用密码的目的是防止或发现偷听者和欺骗。,(一),消息认证,二、基本认证技术,当Bob从Alice那里接收信息,他怎么知道信息是可信的呢?,实现技术:,(1)基于公钥体制:数字签名,(2)对称密钥加密,(3)消息认证码:基于对称算法(RIPE-MAC),基于单向函数(RFC,HMAC),(1)认证码,认证码(,MAC,,,Messages Authentication Codes,),是与密钥相关的的单向散列函数,也称为消息鉴别码或是消息校验和。,MAC,与单向散列函数一样,但是还包括一个密钥。不同的密钥会产生不同的散列函数,这样就能在验证发送者的消息没有经过篡改的同时,验证是由哪一个发送者发送的。,MAC=,C,K,(M),其中:M为可变长的消息;K为通信双方共享的密钥;C为单向函数。用途:为拥有共享密钥的双方在通信中验证消息的完整性;被单个用户用来验证他的文件是否被改动。,认证码的三种使用模式,IP安全协议强制实现的MAC,由RFC2104定义的HMAC,全称为Keyed-Hash Message Authentication Code,用一个秘密密钥来产生和验证MAC。,(2)HMAC,1、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使其长为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)步的结果附加在第(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个通行字进行运算,并将结果存储起来。如果每个通行字大约是8个字节,运算结果的文件不会超过8M字节,几张软盘就能存下。现在Mallory偷出加密的通行字文件。把加密的通行字和已加密的可能通行字文件进行比较,再观察哪个能匹配。,Salt是一随机字符串,它与通行字连接在一起,再用单向函数对其运算。然后将Salt值和单向函数运算的结果存入主机数据库中。如果可能的Salt值的数目足够大的话,它实际上就消除了对常用通行字采用的字典式攻击,因为Mallory不得不产生每个可能的Salt值的单向hash值。这是初始化矢量的简单尝试。,2、SKEY程序,为了设置系统,Alice输入随机数R,计算机计算f(R)、f(f(R)、f(f(f(R)等等大约100次。调用x,1,,x,2,,x,3,,。,x,100,这些数。计算机打印出这些数的列表,Alice把这些数放入口袋妥善保管,计算机也顺利地在登录数据库中Alice的名字后面存储x,101,的值。,当Alice第一次登录时,她输入她的名字和x,100,,计算机计算f(x,100,),并把它和x,101,比较,如果它们匹配,那么证明Alice身份是真的。然后,计算机用x,101,代替数据库中的x,100,。Alice将从她的列表中取消x,100,。,3、基于公钥体制的认证,(1)主机发送一个随机字符串给Alice。,(2)Alice用她的私钥对此随机字符串加密,并将此字符串他和她的名字一起传送回主机。,(3)主机在它的数据库中查找Alice的公开密钥,并用公开密钥解密。,(4)如果解密后的字符串与主机在第一步中发送给Alice的字符串匹配,则允许Alice访问系统。,4、用联锁协议互相鉴别,Alice和Bob是想要互相鉴别的两个用户。他们每人都有一个另一人知道的通行字:Alice通行字是P,A,,Bob的是P,B,。下面的协议是行不通的:,(1)Alice和Bob的交换公开密钥。,(2)Alice用Bob的公开密钥加密P,A,,并将它传送给Bob。,(3)Bob用Alice的公开密钥加密P,B,,并发送给Alice。,(4)Alice解密她在第(2)步中接受到的信息并验证它是正确的。,(5)Bob解密他在第(3)步中接受到的信息并验证它是正确的。,5、SKID3,1、Alice选用随机数R,A,(RIPE文件规定64比特的数),并将它发送给Bob。,2、Bob选用随机数R,B,(RIPE文件规定64比特的数),将下面的数发送给Alice:R,B,,H,K,(R,A,,R,B,,B),H,K,是MAC(RIPE建议的RIPE-MAC函数)。B是Bob的名字。,3、Alice计算H,K,(R,A,,R,B,,B),并和她从Bob那里接收到的信息比较,如果结果一致,那么Alice知道她正与Bob通信。,4、Alice向Bob发送:H,K,(R,B,,A),A是Alice的名字。,5、Bob计算H,K,(R,B,,A),并将它与从Alice那里收到的比较,如果相同,那么Bob知道他正与Alice通信。,三、认证的密钥交换协议,很多情况下通信双方运行实体认证协议的目的在于能够在高层或者应用层上进行安全通信,密钥是建立安全通信信道的基础。因此,为了进行安全通信而运行的实体认证协议通常都有一个子任务,就密钥建立、或者密钥交换和密钥协商。我们称二者结合的协议为认证的密钥交换协议。,Alice和Bob是网络的两个用户,他们将通过网络进行安全通信。那么Alice和Bob如何才能做到在进行密钥交换的同时,确认在和自己通信的另一个方不是Mallory,而且最后能确认双方确实拥有了某个特定的共同密钥。,(一)基于单密钥体制的密钥交换,Kerberos,是为,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,B,2、Trent产生一报文,该报文由时间标记T、使用寿命L、随机临时会话密钥K和Alice的身份构成。他用与Bob共享的密钥加密报文。然后,他取时间标记、使用寿命、会话密钥和Bob的身份,并且用他与Alice共享的密钥加密,并把这两个加密报文发给Alice:,E,A,(T,L,K,B),E,B,(T,L,K,A),3、Alice用她的身分和时间标记产生报文,并用K对它进行加密,将它发送给Bob。Alice也将从Trent那里来的用Bob的密钥加密的报文发送给Bob:,E,K,(A,T),E,B,(T,L,K,A),4、Bob用K对时间标记加1的报文进行加密,并将它发送给Alice:E,K,(T+1).,这个协议是可行的,但它假设每个人的时钟都与Trent的时钟同步。实际上,这个结果是通过把时钟同步到一个安全的定时服务器的几分钟之内,并在这个时间间隔内检测重放而获得的。,(2)通用的第五版协议,协议5个步骤具体发送的消息:,(二)基于双钥体制的密钥交换协议,(3)基于混合密钥体制的密钥交换协议,协议假设,A,和,B,共享一个口令,P,,则基本协议描述如下,1,、,A,产生一随机公,/,私钥对,并用对称算法和,P,作为密钥,对公钥,K,加密,并向,B,发送如下消息:,A,,,E,p,(,K,)。,2,、,B,知道,P,解密消息得到,K,,然后产生一个随机的会话密钥,K,,用,A,的公钥,K,和,P,加密,K,,向,A,发送消息:,E,p,(,E,K,(K),3,、,A,解密消息得到,K,,并产生一随机串,R,A,,用,K,加密:,E,K,(,R,A,)。,4,、,B,解密消息得到,R,A,,并产生一随机串,R,B,,用,K,加密:,E,K,(,R,A,,,R,B,)。,5,、,A,解密消息得到,R,A,,,R,B,,若得到的,R,A,与发送给,B,的一样,就加密,R,B,:,E,K,(,R,B,),6,、,B,解密得到,R,B,,看与发送给,A,的是否一致,相同即可用,K,作为会话密钥进行通信,。,用,Diffie-Hellman,算法实现,EKE,5、双方建立安全会话密钥:,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服