- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
除非已知加密前明文的结构特征(比如是通常文本),而且篡改恰好导致解密后明文丧失了原有特征,则可怀疑有篡改 Message authentication code FIPS-113以CBC模式为基础,但有变化 B 密码编码学与网络安全 电子工业出版社 2006 - 2007 第11章 消息认证和Hash函数 11.1 认证概念 ↓ 11.2 认证函数 ↓ 11.3 消息认证码MAC ↓ 11.4 Hash函数 ↓ 11.5 Hash和MAC安全性 ↓ 认证 Authentication 认证和加密不同。 消息认证是验证消息完整性的一种机制,能发现对消息的篡改或假冒。 使用对称算法可产生消息鉴别码MAC 使用公钥算法可对消息进行签名 身份认证是鉴别通信对方的身份是否属实。 Hash函数是一个单向的消息摘要函数,在产生MAC、签名中有重要用途。 11.1 认证需求 对网络通信的攻击(4类) 窃听 || 加密 流量分析 伪装(假冒) || 认证 篡改内容 修改顺序 修改时间(包括重放) 发送方抵赖(拒绝承认曾发出过某消息) || 签名 接收方抵赖(拒绝承认曾收到过某消息) 对称加密能否提供认证? 由于密钥没有第三方知道,所以接收方应该可以确信消息的来源真实性。 这并不绝对,因为存在一种可能性,是对密文的篡改。 问题:对密文的篡改,能否一定被接收方察觉? 能够察觉的举例 CFB模式加密得到密文 某处被窜改,导致其后续部分解密失败 #openssl enc -e -des-cfb -in 2.txt -out 2.out #openssl enc -d -des-cfb -in 2modi.out -out 2modi.txt 不能够察觉的举例 CBC及流密码如RC4加密时,对密文部分比特的窜改导致明文对应部分解密错误 ?如何察觉 另外,随意伪造的密文有可能恰好解密为有效的明文 结论:加密并不能完全抵抗篡改或假冒 11.2 认证函数 1. 对称加密 2. 公钥加密 3. 消息认证码(MAC) 4. 散列函数(Hash) 教训:对密文的保护 在加密之前,给明文添加结构特征 x || h(x) // h=crc,md5,sha1 加密 E ( x || h(x), k ) = y 传输有可能出错或被窜改 y会变做y’ 解密 判断是否依旧符合 x || h(x) 的结构特征 公钥加密 A使用B的公钥加密消息,这不能提供认证。 A可以先使用自己的私钥加密消息(这是数字签名),再用B的公钥加密,这样可以提供认证。 亦需要给明文消息添加结构特征 关于加密和认证分离 加密本身不能实现真实性认证功能 认证和加密的分离带来灵活性 只要认证而不需必威体育官网网址 如公文,软件完整性鉴别(防病毒)、网络管理广播报文(如SNMP)等 不能加密的场合(如法规限制) 存档期间的保护(而不仅是传输期间) 消息认证码 MAC (假定双方共享密钥) 发送方利用密钥从明文产生一个固定长度的短数据块(MAC),和消息一起传输。 接收方考察是否一致,以判断MAC和/或消息是否被改动过。 MAC:CBC模式最后一个分组 避免使用加密方法产生MAC码 生成MAC没有必要整个报文被加密 速度、进出口障碍 不需要能恢复原文 MAC的计算过程只需体现明文的特征唯一 Key是必要的 从报文产生特征的数学方法:HASH函数 先计算特征,再把特征加密的思想 把散列函数和Key结合得MAC HMAC = HashKey(Message) 11.3 消息认证码MAC Message Authentication Code MAC函数 计算明文M在密钥K的作用下的特征码 M || MAC(M, K) 验证时,判断明文M和MAC码是否一致 MAC 讨论 MAC不需要可逆 为了方便,MAC码通常较短 实现MAC函数不排斥使用对称加密算法 实现MAC函数希望使用比加密更高效的方法 为防范重放攻击,加注时间、报文序号 对称MAC不能提供签名特性 因为产生MAC的密钥为两方所有 CBC模式最后分组做为MAC码 FIPS 113 HMAC:带Key的Hash函数 利用HASH函数从报文和密钥产生MAC码 先计算特征,再把特征加密的思想,或 直接把散列函数和Key结合得MAC HMAC = HashKey(Message) 一种实现,比如 HMAC = Hash(Key || Message) 11.4 Hash函数 Hash函数强调单向性和抗冲突特性 Hash函数的用途总结下先 给明文增加结构特征以保护密文 产生MAC码(HMAC) 数字签名 从口令衍生密钥 挑战-应答
文档评论(0)