无线网络安全技术-11散列算法和MAC算法_第1页
无线网络安全技术-11散列算法和MAC算法_第2页
无线网络安全技术-11散列算法和MAC算法_第3页
无线网络安全技术-11散列算法和MAC算法_第4页
无线网络安全技术-11散列算法和MAC算法_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2025/4/151/312011年东南大学信息安全基础课程

2025/4/152上次课内容第11章消息认证和散列函数11.1对认证的要求11.2消息加密11.3消息认证码11.4散列函数2025/4/153认证函数可用来产生认证符的函数分为三类:

(1)消息加密函数(MessageEncryption)

用完整信息的密文作为对信息的认证。

(2)消息认证码MAC(MessageAuthenticationCode) MAC是消息和密钥的函数,产生一个固定长度的值作为认证标识

(3)散列函数(HashFunction)

是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。2025/4/154生日攻击问题:假定使用64位的散列码,是否安全?如果采用传输加密的散列码和不加密的报文M,对手需要找到M′,使得H(M′)=H(M),以便使用替代报文来欺骗接收者。平均来讲,攻击者找到这样的消息大约需要进行263次尝试。建立在生日悖论基础上的攻击。2025/4/155/31生日悖论生日问题:一个教室中,最少应有多少学生,才使至少有两人具有相同生日的概率大于1/2?实际上只需23人。2025/4/156/31生日攻击的基本原理给定一个散列函数H(x),有2m个可能的输出,如果有k个随机输入,k必须为多大才能使至少存在一个重复出现?对长度为m位的散列函数H(x),共有2m个可能的散列码,H作用于k个随机输入得到集合X,H作用于另外k个随机输入得到集合Y,k等于多少时,这两个集合中至少有一个匹配?2025/4/157/31生日攻击的方法1.发送方对消息进行“签名”,即用私钥对m位的hash码加密并将加密后的hash码附于消息之后。2.攻击者产生该消息的2m/2种变式,且每一种变式表达相同的意义。攻击者再伪造一条信息并产生该消息的2m/2种变式。3.比较上述两个集合,找出产生相同hash码的一对消息。根据生日悖论,这样的概率大于0.5。如果找不到,再产生一条伪造的消息直至成功为止。4.攻击者将发送方的签名附于伪造消息的变式后并发给接收方。如果使用64位的hash码,所需代价的数量仅为232。2025/4/158本次课内容第12章散列算法和MAC算法12.1散列算法12.2MAC算法12.3对于认证协议的攻击2025/4/159/31安全Hash函数的一般结构计算过程:1、CV0=IV=初始n位值2、CVi=f(CVi-1,Yi-1),1≤i≤

L3、H(M)=CVL2025/4/1510/31SecureHashAlgorithm算法1992年NIST制定了SHA(128位)1993年SHA成为标准(FIPSPUB180)1994年修改产生SHA-1(160位)1995年SHA-1成为新的标准,作为SHA-1(FIPSPUB180-1)2002年发布修订版SHA-256,SHA-384,SHA-5122025/4/1511/31SHA-512的处理流程2025/4/1512/31安全Hash函数的一般结构2025/4/1513/31对单个1024比特

分组的处理2025/4/1514/31消息调度(MessageSchedule)2025/4/1515/31Whirlpool散列函数Whirlpool:第一个被发现的具有螺旋结构的星系。2025/4/1516/31Whirlpool散列函数的结构2025/4/1517/31Whirlpool散列函数的特点采用通用的安全散列函数结构压缩函数为分组密码Whirlpool。一种类似于AES的分组密码,由V.Rijmen

和P.S.L.M.Barreto

共同提出。2025/4/1518/31Whirlpool分组密码2025/4/1519/31AES-128加解密过程2025/4/1520/31Whirlpool分组密码和AES的比较2025/4/1521/31本次课内容第12章散列算法和MAC算法12.1散列算法12.2MAC算法12.3对于认证协议的攻击12.2HMAC现实中需要基于散列函数设计的MACHASH函数的运行速度更快散列函数的代码可以广泛的获取。最原始的想法是:KeyedHash=Hash(Key|Message)最终发展成现有的HMAC结构HMAC设计目标不必修改而直接使用现有的散列函数容易替代应保持散列函数的原有性能对密钥的使用和处理要简单其安全强度依赖于使用散列函数的强度2025/4/1524/31HMAC算法结构HMAC=H[IV,So||H(IV,Si||M)]2025/4/1525/31CMACC1=E(K,M1)C2=E(K,[M2⊕C1])C3=E(K,[M3⊕C2])·

·

·

Cn=E(K,[Mn⊕Cn-1⊕K1])T=MSBTlen(Cn)T=消息认证码Tlen=T的比特长度MSBs(X)=比特串X的最左边的s位2025/4/1527/31本次课内容第12章散列算法和MAC算法12.1散列算法12.2MAC算法12.3对于认证协议的攻击2025/4/1528认证协议双方认证(mutualauthentication)

最常用的协议,该协议使得通信各方互相认证鉴别各自的身份,然后交换会话密钥。单向认证(one-wayauthentication)

收发双方不需要同时在线联系,例如电子邮件。相互认证对抗重放攻击的两种方法时间戳:要求通信各方的时钟应保持同步。挑战/应答:A->B:nonce(挑战)B->A:E[K,M||nonce](应答)2025/4/1531/31具有共享秘密密钥的认证—挑战质询2025/4/1532/31挑战质询的简化版本2025/4/1533/31针对挑战质询的反射攻击2025/4/1534/31针对挑战质询的反射攻击2025/4/1535本次课内容第13章散列算法和认证协议13.1数字签名13.2数字签名标准DSS2025/4/1536为什么需要数字签名?手写签名纸版文件手写签名同一页纸数字签名数字文件数字小文件如何绑定如何实现数字签名数学支持-签名函数被签署的是文件(大文件)签名生成另外一个文件(小文件)签名过程一定有签署人的身份和某种秘密(别人不知的)参与简单易行计算和存储手写签名的数字化改造签名函数报文报文签名身份和秘密2025/4/1539数字签名体制签名算法(SignatureAlgorithm)Sig(M)=S签名算法或签名密钥K是秘密的,只有发方掌握验证算法(VerificationAlgorithm)Ver(S)={0,1}={真,伪}验证算法公开,便于他人进行验证签名体制的安全性在于,从M和其签名S难以推出签名密钥K或伪造一个M’使M’和S可被证实为真。2025/4/1540数字签名的分类直接数字签名(directdigitalsignature)只涉及通信双方仲裁数字签名(arbitrateddigitalsignature)引入仲裁者,通信双方都非常信任仲裁者。2025/4/1541直接数字签名方法1用发送方的私钥对整条消息进行加密来产生签名.(1)A→B:EKRa[M]

提供了鉴别与签名只有A具有KRa进行加密;传输中没有被篡改;任何第三方可以用KUa验证签名(1’)A→B:EKUb[EKRa(M)]

提供了保密(KUb)、鉴别与签名(KRa)2025/4/1542直接数字签名方法2用发送方的私钥对消息的hash码进行加密(2)A→B:M||EKRa[H(M)]

提供数字签名H(M)受到密码算法的保护,例如MD5或SHA-1;只有A能够生成EKRa[H(M)](2’)A→B:EK[M||EKRa[H(M)]]

提供保密性、数字签名。2025/4/1543直接数字签名的缺点验证模式依赖于发送方的保密密钥;发送方要抵赖发送某一消息时,可能会声称其私有密钥丢失或被窃,从而他人伪造了他的签名。通常需要采用与私有密钥安全性相关的行政管理控制手段来制止或至少是削弱这种情况,但威胁在某种程度上依然存在。改进的方式例如可以要求被签名的信息包含一个时间戳(日期与时间),并要求将已暴露的密钥报告给一个授权中心。X的某些私有密钥确实在时间T被窃取,敌方可以伪造X的签名及早于或等于时间T的时间戳。2025/4/1544仲裁数字签名引入仲裁者。通常的做法是所有从发送方X到接收方Y的签名消息首先送到仲裁者A,A将消息及其签名进行一系列测试,以检查其来源和内容,然后将消息加上日期并与已被仲裁者验证通过的指示一起发给Y。仲裁者在这一类签名模式中扮演敏感和关键的角色。所有的参与者必须极大地相信这一仲裁机制工作正常。(trustedsystem)2025/4/1545仲裁数字签名模式1X与A之间共享密钥Kxa,Y与A之间共享密钥Kay;(1)X→A:M||EKxa[IDx||H(M)](2)A→Y:EKay[IDx||M||EKxa[IDx||H(M)]||T]X:准备消息M,计算其散列码H(M),用X的标识符IDx和散列值构成签名,并将消息及签名经Kxa加密后发送给A;A:解密签名,用H(M)验证消息M,然后将IDx,M,签名,和时间戳一起经Kay加密后发送给Y;Y:解密A发来的信息,并可将M和签名保存起来。Y不能直接读取签名,但可以将消息和签名发给A进行验证。特点:传统加密方式,仲裁者和任何消息的接收者都可以看见消息明文2025/4/1546仲裁数字签名模式2在这种情况下,X与Y之间共享密钥Kxy,(1)X→A:IDx||

EKxy[M]||EKxa[IDx||H(EKxy[M])](2)A→Y:EKay[IDx||EKxy[M]||EKxa[IDx||

H(EKxy[M])]||T]X:将标识符IDx,密文EKxy[M],以及对IDx和密文消息的散列码用Kxa加密后形成签名发送给A。A:解密签名,用散列码验证消息,这时A只能验证消息的密文而不能读取其内容。然后A将来自X的所有信息加上时间戳并用Kay加密后发送给Y。特点:传统加密方式,仲裁者不可以看见消息明文。(1)和(2)共同存在一个共性问题:A和发送方联手可以否认签名的信息;A和接收方联手可以伪造发送方的签名;数字签名的应用2025/4/1548本次课内容第13章散列算法和认证协议13.1数字签名13.2数字签名标准DSS2025/4/1549数字签名标准DSS2025/4/1550RSA签名与DSS签名的比较2025/4/1551DSS签名函数输入:明文的hash函数为签名而产生的随机数k

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论