信息安全概论第3章 信息认证技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1 Hash函数和消息完整性
本节提示: 3.1.1基本概念 3.1.2常见的Hash函数 3.1.3消息认证码
基本概念
Hash函数也称为杂凑函数或散列函数,
输入为一可变长度x, 返回一固定长度串,该串被称为输入x的Hash值(消息摘要) 还有形象的说法是数字指纹。
①完整性验证:接收方确信消息M未被篡改。 ②消息源验证:接收方确信消息来自所声称的发送者,因为没有其他人知道这个共享密钥, 其他人也就不可能为消息M附加合适的MAC。
消息认证码
2. 消息认证与保密 在(1)中,消息以明文方式传送,这一过程只提供认证而不具备 保密性。如图所示提供一种即加密又认证的方式,发送方发送 Ek2[M||Ck1(M)]。该方式除具备(1)的功能外,还具有保密性。
消息认证码
3. 密文认证 改变(2)中加密的位置,得到另外一种消息保密与认证方式。 先对消息进行加密,然后再对密文计算MAC,传送 Ek2(M)||Ck1(Ek2(M))给接收方。 接收方先对收到的密文进行认证,认证成功后,再解密。
3.2 数字签名技术
ቤተ መጻሕፍቲ ባይዱ
数字签名在信息安全,包括身份认证、数 据完整性、不可否认性以及匿名性等方面 有重要应用,特别是在大型网络安全通信 中的密钥分配、认证及电子商务系统中具 有重要作用。数字签名是实现认证的重要 工具。
Hash函数的其他性质
Hash值的长度由算法的类型决定,与输入的消息大小无关,一般为 128或者160位。常用的单向Hash算法有MDS、SHA-l等。 Hash函数的一个主要功能就是为了实现数据完整性的安全需要。 Hash函数可以按照其是否有密钥控制分为两类: 一类有密钥控制,为密码Hash函数;用于消息认证码MAC 一类无密钥控制,为一般Hash函数。 关于Hash函数的安全性设计的理论主要有两点: 一个是函数的单向性, 二是函数影射的随机性。
攻击Hash函数的典型方法
生日攻击的基本观点来自于生日问题:在一个教室里最少有多少学生 时,可使得在这个教室里至少有两个学生的生日在同一天的概率不小 于50%?这个问题的答案是23。 这种攻击不涉及Hash算法的结构,可用于攻击任何Hash算法。目前 为止,能抗击生日攻击的Hash值至少要达到128bit。 中途相遇攻击这是一种选择明文/密文的攻击,主要是针对迭代和级 连的分组密码体制设计的Hash算法。
消息认证码的实现
M M H
发 送 方
M,Ck(M)
接 受 方
H =? Ck(M) 比较结果 是否相同
密 钥 K
密 钥 K
消息认证码
1. 消息认证 认证码被附加到消息后以M||MAC方式一并发送,收方通过重新计算MAC以实 现对M的认证。 如图所示。
假定收、发双方共享密钥k,如果收到的MAC与计算得出的MAC一致,那么可以 得出如下结论:
消息认证码
消息认证码(Message Authentication Code,MAC)通常 表示为MAC=CK(M) M是可变长的消息,K是收发双方共享的密钥,函数值 CK(M)是定长的认证码,也称为密码校验和。 MAC就是带密钥的消息摘要函数,其实就是一种带密 钥的数字指纹,它与不带密钥的数字指纹是有本质区别 的。 将单向Hash函数变成MAC的一个简单的办法是用对称算 法加密Hash值。相反将MAC变成单向Hash函数则只需 将密钥公开。
第三章 信息认证技术
第三章 信息认证技术
3.1 3.2 3.3 3.4 3.5
Hash函数和消息完整性 数字签名技术 身份识别技术 认证的具体实现 公钥基础设施
认证的目的
认证的目的有两个方面: 一是验证信息的发送者是合法的,而不 是冒充的,即实体认证,包括信源、信 宿的认证和识别; 二是验证消息的完整性,验证数据在传 输和存储过程中是否被篡改、重放或延 迟等。
攻击Hash函数的典型方法
除生日攻击法、中间相遇攻击外,对一些类型的Hash函数还有一些特 殊的攻击方法,例如,修正分组攻击和差分分析法等。 山东大学王小云教授等于2004年8月在美国加州召开的国际密码大会 (Crypto’2004)上所做的Hash函数研究报告中指出,她们已成功破译了 MD4、MD5、HAVAL-128、RIPEMD-128等Hash算法。 2006年,王小云宣布了攻破SHA-1的消息。她的研究成果表明了从理 论上讲电子签名可以伪造,必须及时添加限制条件,或者重新选用更 为安全的密码标准,以保证电子商务的安全。
完整性检验一般方法
消息完整性检验的一般机制如图所示。 存储、传输文件,需同时存储或发送该文件的数字指纹; 验证时,对得到的文件重新产生其数字指纹; 再与原数字指纹对比,如一致,文件是完整。否则,不完整。
消息认证码
消息认证具有两层含义: 一是检验消息的来源是真实的,即对消息的发送者的身份进行认证; 二是检验消息是完整的,即验证消息在传送或存储过程中未被篡改、删除或插入 等。 当需要进行消息认证时,仅有消息作为输入是不够的,需要加入密钥k,这就是消 息认证的原理。能否认证,关键在于信息发送者或信息提供者是否拥有密钥k。 消息认证码(MAC,Messages Authentication Codes),是与密钥相关的的单向 Hash函数,也称为消息鉴别码或是消息校验和。 MAC与单向Hash函数一样,但是还包括一个密钥。 MAC=CK(M)。
因为Hash函数是多对一的函数,所以一定将某些不同的输 入变化成相同的输出。 要求给定一个Hash值,求其逆难,计算Hash值容易也称Hash函数 为单向Hash函数。
基本概念
Hash函数一般满足以下几个基本需求: (1)输入x为任意长度; (2)输出数据长度固定; (3)容易计算,给定任何x,容易计算出x的Hash值H(x); (4)单向函数:即给出一个Hash值,很难反向计算出原始 输入; (5)唯一性:即难以找到两个不同的输入会得到相同的 Hash输出值(在计算上是不可行的)。