信息安全技术chapter8消息认证、完整性检验与HASH函数.pptVIP

信息安全技术chapter8消息认证、完整性检验与HASH函数.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息安全技术chapter8消息认证、完整性检验与HASH函数

第八讲 消息认证、完整性检验与HASH函数 黄 杰 信息安全研究中心 本讲内容 消息认证和hash函数 消息加密函数(Message Encryption) 消息认证码MAC (Message Authentication Code) 散列函数(Hash Function) Hash算法 MD5 SHA-1 HMAC 案 例 2 认证需求 泄密 传输分析 伪装 内容修改 顺序修改 计时修改 发送方否认 接收方否认 消息认证与数字签名 消息认证 验证收到的消息确实来自声明的发送方且未被修改 消息认证也可以验证消息的顺序和时间 数字签名 一种认证技术,包含了防止发送方否认的方法 认证函数 可用来产生认证符的函数分为三类: (1) 消息加密函数(Message Encryption) 用完整信息的密文作为对信息的认证。 (2) 消息认证码MAC (Message Authentication Code) MAC是消息和密钥的函数,产生一个固定长度的值作为认证标识 (3) 散列函数(Hash Function) 是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。 消息加密 消息的自身加密可以作为一个认证的度量。 对称密钥模式和公开密钥模式有所不同。 对称加密 如果明文具有一定的语法结构,接收方可以判断解密后明文的合法性,从而确认消息来自发送方而且中间未受到篡改。 如果明文为二进制文件,则难以判断解密后的消息是正确的明文。 内部错误控制和外部错误控制 公钥加密 公钥加密 既能实现保密性,又能完成认证和签名。 一次通信中要进行四次复杂的公钥算法。 消息认证码 原因 有许多应用将同一消息广播给很多接受者; 通信某一方处理的负荷很大,只能验证消息; 明文形式的计算机程序进行认证; 有些应用不关心保密性,而关心消息认证; 将认证和保密性分开; 解密的消息不再受到保护,但MAC可以提供长期的认证。 消息认证码 利用密钥生成一个固定长度的短数据块,称为消息认证码MAC,并将MAC附加在消息之后。接收方通过计算MAC来认证该消息。 计算公式:MAC=CK(M) M:长度可变的消息 K:收发双方共享的密钥 CK(M):定长的认证符 消息认证码的使用方式 消息认证码的讨论 保密性与真实性是两个不同的概念 从根本上说,信息加密提供的是保密性而非真实性 加密代价大(公钥算法代价更大) 某些信息只需要真实性,不需要保密性 广播的信息难以使用加密(信息量大) 网络管理信息等只需要真实性 政府/权威部门的公告 消息认证码的安全性 一般的加密算法:k位密钥,穷举攻击需要大约2(k-1)次运算。 消息认证码:密钥位数比MAC长,因此许多密钥都会产生正确的MAC,而攻击者却不知哪一个是正确的密钥。 例如:80位密钥,32位的MAC。 第一次穷举攻击会得到大约248个可能的密钥。 第二次穷举攻击会得到大约216个可能的密钥。 第三次穷举攻击会得到唯一一个密钥,即发送方所使用的密钥。 不需要密钥的攻击 考虑以下的MAC算法: M=(X1‖X2‖‥‥‖Xm)是由64位分组Xi连接而成。 定义: Δ(M)= X1⊕X2 ⊕ ‥‥ ⊕ Xm CK(M)=EK(Δ(M)) 其中加密算法为电子密码本方式DES,则密钥长为56位,MAC长为64位。确定K的穷举攻击需执行至少256次加密。 不需要密钥的攻击方法 设M′= (Y1‖Y2‖‥‥‖Ym-1‖Ym) Ym= Y1⊕Y2⊕ ‥‥ ⊕ Ym-1⊕Δ(M) 消息M′和MAC= CK(M) = EK[Δ(M)]是一对可被接收者认证的消息。 为什么? 用此方法,任何长度为64×(m-1)位的消息可以作为欺骗性信息被插入! 对MAC函数的要求 如果一个攻击者得到M和CK(M),则攻击者构造一个消息M′使得CK(M′)=CK(M)应在计算上不可行。 CK(M)应均匀分布,即:随机选择消息M和M′ ,CK(M)= CK(M′)的概率是2-n,其中n是MAC的位数。即MAC函数具有均匀分布的特征。 令M′为M的某些变换,即:M′=f(M),(例如:f表示逆转M中一位或多位,那么,Pr[CK(M)= CK(M ′)] = 2-n。) 例子:基于DES的消息认证码 数据认证算法DEA使用CBC (Cipher Block Chaining)方式,初始向量为0。它是使用最广泛的MAC算法之一。 将数据按64位分组,D1, D2, … , DN,必要时最后一个数据块用0向右填充。运用DES加密算法E,密钥为K。 数据鉴别码(DAC)的计算如下: O1 = EK(D1) O2 = EK(D2⊕O1) O3 = EK(D3⊕O2) … ON =EK(DN⊕ON-1) 基于DES的消息认证

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档