福建师范大学数学与计算机科学学院网络安全原理与技术课件第7讲 认证.pptVIP

  • 3
  • 0
  • 约1.34万字
  • 约 74页
  • 2019-05-06 发布于广东
  • 举报

福建师范大学数学与计算机科学学院网络安全原理与技术课件第7讲 认证.ppt

2 认证系统 在这个系统中的发送者通过一个公开信道将消息送给接收者,接收者不仅想收到消息本身,而且还要验证消息是否来自合法的发送者及消息是否经过篡改。系统中的密码分析者不仅可以截取和分析信道中传送的密报,而且可伪造密文送给接收者进行欺诈,称其为系统的窜扰者(Tamper)更加贴切。实际认证系统要能防止收、发之间的相互欺诈。 3 消息认证 在网络通信中,有一些针对消息内容的攻击方法 伪造消息 篡改消息内容 改变消息顺序 消息重放或者延迟 消息认证:对收到的消息进行验证,证明确实是来自声称的发送方,并且没有被修改过。 如果在消息中加入时间及顺序信息,则可以完成对时间和顺序的认证 消息认证的三种方式 Message encryption:用整个消息的密文作为认证标识 接收方必须能够识别错误 MAC:一个公开函数,加上一个密钥产生一个固定长度的值作为认证标识 Hash function:一个公开函数将任意长度的消息映射到一个固定长度的散列值,作为认证标识 Message Authentication Code--MAC 使用一个双方共享的秘密密钥生成一个固定大小的小数据块,并加入到消息中,称MAC. 用户A和用户B,共享密钥K,对于消息M, MAC=CK(M) 如果接收方计算的MAC与收到的MAC匹配,则 接收者可以确信消息M未被改变 接收者可以确信消息来自所声称的发送者 如果消息中含有序列号,则可以保证正确的消息顺序 MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少 MAC应用方式 关于MAC算法 MAC不等于数字签名 因为通讯双方共享同一个密钥 MAC有固定的长度 MAC结构的重要性,例如,密钥足够长+加密算法足够好?安全 M=(X1,X2,…,Xt) 对M产生校验码?M=X1?X2?…?Xt MAC = CK(?M) 攻击者选择M?=(Y1,Y2,…,Yt-1,Yt),使得Yt满足: Yt = Y1?Y2?…?Yt-1??M 于是?M=?M?, CK(?M)=CK(?M?), MAC= CK(?M)=CK(?M?), 所以,尽管攻击者不知道K,仍然可以伪造消息M? MAC算法的要求 条件: 攻击者知道MAC函数但不知道密钥K 要求: 已知M和CK(M),要想构造M?使得CK(M)=CK(M?)在计算上不可行(计算上无碰撞) CK(M)均匀分布:随机选择M和M?, Pr[CK(M) = CK(M?)]=2-|MAC| f是M的一个变换(例如对某些位取反),那么, Pr[CK(M)= CK(f(M))]=2-|MAC| MAC based on DES ANSI标准(美国国家标准)(X9.17) 初始向量为0 该方法适用于其他加密算法 Hash 函数 MAC需要对全部数据进行加密 MAC速度慢 Hash是一种直接产生认证码的方法。Hash函数是以一个变长的消息M作为输入,并产生一个定长的散列值函数。 Hash函数: h=H(m), 要求: 给定m和h,很容易计算h(m); H(m)能够快速计算 单向性:给定H(m),根据H(m) 计算m很难; 给定x,找到y?x使H(x)=H(y)在计算上不可行 Hash函数在实际中有广泛的应用,特别在密码学和数据安全技术中,它是实现安全、可靠的认证和数字签名的重要工具,是安全认证协议、数字签名算法的重要组成部分。 Hash函数的安全性 Hash函数的安全性取决于抗击各种攻击的能力。 攻击者的主要目标是找到一对或更多对碰撞消息。 一般假定攻击者知道单向 Hash函数的算法。对单向 Hash函数的主要攻击方法是生日攻击。 生日攻击基于生日悖论,即任意k个人至少两个人生日相同的概率不小于0.5,k至少应该多少?答案是23人。生日攻击方法是随机选择k个不同的值x1,x2,…,xk,计算yi=h(xi),然后确定是否有一个碰撞发生。 强碰撞的单向Hash函数正是基于生日攻击定义的。为了抵抗生日攻击,Hash值必须足够长,通常建议Hash函数值至少为128bit。安全Hash标准的输出长度选为160bit正是基于这个考虑。 Hash函数的分类 单向 Hash函数按其是否有使用密钥控制可划分两类,即带密钥控制的单向 Hash函数h(k, m)和不带密钥控制的单向 Hash函数h(m)。 无密钥控制的单向 Hash函数,其 Hash值只是输入字串的函数,任何人都可以计算,因而不具有身份认证功能,只用于检测接收数据的完整性。如篡改检测码MDC,在安全的Hash标准就采用了这种技术。 而带密钥控制的单向 Hash函数,其 Hash值不仅与输入有关,而且与密钥有关,只有具有密钥的人才能计算出相应的 Hash值,因此具有身份验证的功能。在ANST9

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档