网络安全03-消息鉴别
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对MAC函数强行攻击的方式
已知消息M1和对应的MAC1值 对所有可能的密钥ki,计算消息M1的MAC,其中至少存
在一个k,使得fk(M1)=MAC1 由于密钥空间为2k大,以上计算将产生2k个MAC结果;
而MAC空间为2n大,且2n < 2k ,故存在多个k产生相 同的MAC:一般是个2k-n个key对应一个MAC 为了确定哪一个是正确的key,分析者需要选择另一组 M2和MAC2,对上面的个结果进行验证,以缩小搜索范 围 因此,可能需要多轮验证:大约需要k/n轮 计算量为2k+2k-n+2k-2n+…… 可见强行攻击难度很大
发送方A
M M
MAC f()
密钥K’
提供消息鉴别
仅A和B共享密钥K’
接收方B
M
f()
MAC
比较
MAC的基本应用 2
发送方
M
M
E()
MAC
密钥K
f()
密钥K
密文
D()
接收方
M
f()
MAC
比较
密钥K’
1、先计算MAC再加密 2、K是加密密钥 3、K’是认证密钥
提供保密
只有A和B共享k
提供鉴别
只有A和B共享k’
攻击者得到一个消息M及对应的MAC,则构造消息M’使 得MAC’ = MAC在计算上是不可行的
基于哈希函数的鉴别
基于哈希函数的鉴别
哈希函数
一种单向函数 输入:任意长度的消息M 输出:固定长度的消息摘要
是一个固定长度的哈希值H(M)
哈希值是消息中所有比特的函数值
消息中任意内容的变化将导致哈希值的变化
做专业的企业,做专业的事情,让自 己专业 起来。 2020年 12月 下午3时 20分2 0.12.1 015:2 0Dec ember 10, 2020
时间是人类发展的空间。2020年12 月10日 星期四 3时20 分53秒 15:20 :5310 December 2020
科学,你是国力的灵魂;同时又是社 会发展 的标志 。下午 3时20 分53秒 下午3 时20分 15:20: 5320. 12.10
一种方法是强制明文具有某种结构
使用公钥加密体制 1
发送方A
接收方B
M
E
C
kUb
D
M
kRb
提供保密 不提供鉴别和签名
使用公钥加密体制 2
发送方A
接收方B
M
E
C
kRa
不提供保密 提供鉴别与签名
仅A有KRa可以加密 传输中未被更改
D
M
kUa
使用公钥加密体制 3
发送方A
M
E
C
E
C’
kRa
比较
哈希函数消息鉴别(6)
发送方
M
M
H(M|s)
E
密 文D
K
K
M
H()
s
s
哈希
M
H(M|s)
接收方
M
H()
ss
比较
提供鉴别:只有发送方和接收方才共享S 提供保密:只有发送方和接收方才共享k
哈希函数的安全性需求
哈希函数的输入可以是任意长度消息 哈希函数的输出是定长度的数值 哈希函数的计算要简单 单向性
哈希函数消息鉴别(5)
采用秘密数值的哈希鉴别
通信双方共享一个秘密数值s 计算哈希值时,s附加到消息M上一起计算得到H(M|s) 传输过程中,数据不加密,但不传送s 提供鉴别:只有发送方和接收方共享秘密S 适用于加密算法不可用的场合
M
M
M
H()
M
H(M|s)
H(M|s)
s
s
M
H()
s
s
哈希
基于Hash函数的鉴别方式 采用hash函数将任意长度的消息映射为一个定长的散 列值,以此散列值为鉴别码 可以认为是MAC方式的一种特例
基于消息加密方式的鉴别
基于消息加密方式的鉴别
以整个消息的密文为鉴别符 加密模式
对称密钥模式 公开密钥模式
接收端鉴别的实现
基于这样的假设:
接收端能够正确地对密文解密,就可以确定消息 是完整的,而且是来自于真实的发送方,从而实 现了对消息的鉴别
鉴别 解码器
信宿
消息鉴别系统的构成
认证算法:底层实现的一项基本功能
认证功能要求底层必须实现某种能生成认证标识的算 法
认证标识(鉴别符)是一个用于消息鉴别的特征值 认证标识的生成算法用一个生成函数f来实现,称为鉴
别函数
认证协议
接收方用该协议来完成消息合法性鉴别的操作 认证协议调用底层的认证算法(鉴别函数),来验证
MAC函数的安全性总结
需要大量的(M,MAC)对,对MAC的强行攻击通 常不能离线进行
MAC算法抵抗强行攻击的有效级为(2k, 2n)中的 最小值
为了足够安全,MAC函数应该具有以下的性质:
给定一个或多个(M, MAC)对而不知道密钥的情况下,对 于一个新的消息,要计算出对应的MAC在计算上不可行
安全在于心细,事故出在麻痹。20.1 2.102 0.12.1 015:2 0:531 5:20: 53Dec embe r 10, 2020
加强自身建设,增强个人的休养。20 20年1 2月10 日下午 3时20 分20.1 2.102 0.12.1 0
扩展市场,开发未来,实现现在。20 20年1 2月10 日星期 四下午 3时20 分53秒 15:20 :5320. 12.10
使得MAC函数更不易被破解
MAC函数不能提供对消息的保密
保密性通过对消息加密而获得 需要两个独立密钥
两种方式: 先计算MAC再加密 先加密再计算MAC
基于MAC的鉴别过程独立于加、解密过程 可以用于不需加密保护的数据的鉴别 MAC方法不能提供数字签名功能
所以无法防止对方的欺骗
MAC的基本应用 1
kUb
接收方B
E
C
kRb
D
M
kUa
提供保密:KUb 提供鉴别和签名:KRa
基于MAC的鉴别
基于MAC的鉴别
消息鉴别码(Message Authentication Code, MAC)
发送方采用一种类似于加密的算法和一个密钥,根据 消息内容计算生成一个固定大小的小数据块,并加入 到消息中,称为MAC。 MAC = fk(m) 需要鉴别密钥
证实收到的消息来自可信的源点且未被篡改的 过程
真实性:消息确实来自于真正的发送者,而非假 冒
完整性:消息内容没有被篡改、重放或延迟
消息鉴别的必要性
网络通信的安全威胁
泄漏 消息内容被泄漏给非授权用户
伪造 假冒源点的身份向网络中插入消息
消息篡改 内容篡改:插入、删除、修改等 序号篡改:在依赖序号的协议如TCP中,对消息序号 进行篡改,包括插入、删除、重排等 时间篡改:对消息进行延迟或重放
给定哈希值h,寻找消息M使得H(M) = h,计算上不可行
弱抗冲突性
给定消息M,寻找消息M’,使得H(M’) = H(M),计算上 不可行
强抗冲突性
寻找两个消息M和N,使得H(N) = H(M) ,计算上不可行
几种安全的哈希函数:
MD5, SHA-1, HMAC
谢谢!
每一次的加油,每一次的努力都是为 了下一 次更好 的自己 。20.1 2.102 0.12.1 0Thursday, December 10, 2020
Key相同,存在多个M产生相同的MAC
n-bit MAC: 2n个可能的MAC
K-bit密钥: 2k个可能的密钥
N个可能的消息:N >> 2n
一般情况下,n < k
MAC函数的安全性
主要是对强行攻击的抵抗能力
方式:穷举法,根据已知消息M和对应的MAC值,来推断密 钥k
前提:MAC算法已知
密钥K 比较
哈希函数消息鉴别(2)
仅对哈希值进行加密的鉴别方案
用于不需对消息加密的场合 基于对称密钥机制 提供鉴别:H(M)被加密保护
M
M
H()
M
Ek[H(M)]
Ek[H(M)]
H() E()
哈希 密钥K
D()
密钥K
比较
哈希函数消息鉴别(3)
仅对哈希值进行加密的鉴别方案
用于不需对消息加密的场合 基于公开密钥机制 提供鉴别和数字签名:发送方用自己的私钥加密H(M)
发送方A
接收方B
M
M
H()
M
EkRa[H(M)]
EkRa[H(M)]
H() E()
密钥KRa
D()
密钥KUa
比较
哈希函数消息鉴别(4)
发送方A
接收方B
M
H()
M
E
EkRa[H(M)]
密钥K
E()
密钥KRa
D
密钥K
M
H()
EkRa[H(M)]
D() 密钥KUa
比较
提供保密:对称密钥算法、密钥k进行外层加密 提供鉴别和数字签名:A用私钥对消息明文的哈希值进行加密
天生我材必有用,千金散尽还复来。 15:20: 5315: 20:53 15:20 12/10 /2020 3:20:53 PM
安全象只弓,不拉它就松,要想保安 全,常 把弓弦 绷。20 .12.10 15:20 :5315 :20D ec-201 0-Dec -20
得道多助失道寡助,掌控人心方位上 。15:2 0:531 5:20: 5315: 20Thu rsday, December 10, 2020
消息的真实性
鉴别函数f是决定认证(鉴别)系统特性的主要因 素
高层认认证证协协议议
算法:鉴别函数
消息鉴别系统的分类
可根据鉴别函数的特性分类 根据鉴别符的生成方式,鉴别函数可以分成以下
几类:
基于消息加密方式的鉴别 以整个消息的密文作为鉴别符
基于消息鉴别码(MAC)的鉴别方式 发送方利用公开函数+密钥产生一个固定长度的值作 为鉴别标识,并与消息一同发送
消息鉴别的作用
保护双方的数据交换不被其他人侵犯
基于双方共享的秘密 但是消息鉴别无法解决双方之间可能存在的争议
B伪造一个消息,声称是A发送的 B否认发送过某个消息,而A无法证明B撒谎
单纯鉴别系统的模型
攻击者
信源
鉴别 编码器
信道 安全信道
鉴别 密钥源
需要鉴别密钥,而且此密 钥一般不同于加密密钥
具有完整性检测功能 可用于数字签名
哈希函数消息鉴别(1)
基本的哈希函数消息鉴别
对称加密:发端和收端共享加密密钥k 哈希值提供了消息鉴别需要的结构和冗余 提供保密和鉴别双重功能:消息和H(M)被加密保护
发送方
M
M
E()
H(M)
密钥K H()
接收方
Ek[M‖H(M)]
D() M H()
H(M)
每天都是美好的一天,新的一天开启 。20.1 2.102 0.12.1 015:2 015:2 0:531 5:20: 53Dec -20
人生不是自发的自我发展,而是一长 串机缘 。事件 和决定 ,这些 机缘、 事件和 决定在 它们实 现的当 时是取 决于我 们的意 志的。 2020年 12月1 0日星 期四3 时20分5 3秒Th ursda y, December 10, 2020
网络安全
消息鉴别
安全的信息交换应满足的性质
机密性( Confidentiality) 完整性(Integrity) 可用性(Availability) 不可否认性( Non-repudiation) ……
消息鉴别的概念
消息鉴别(Message Authentication)
消息认证、报文认证、报文鉴别 鉴别:消息接收者对消息进行的验证,是一个
核心是类似于加密算法的鉴别码生成算法 MAC被附加在消息中,用于消息的合法性鉴别
功能
接收者可以确信消息M未被改变 接收者可以确信消息来自所声称的发送者
消息鉴别码的基本原理
发送方
接收方
M
信道
M
MAC
f() 密钥K
M MAC
比较
f() 密钥K
认证结果
双方共享鉴别密钥 k
MAC函数的特点
MAC函数类似于加密函数,需要密钥 MAC函数无需可逆,可以是单向函数
感情上的亲密,发展友谊;钱财上的 亲密, 破坏友 谊。20 .12.10 2020 年12月 10日星 期四3 时20分 53秒2 0.12.1 0
谢谢大家!
MAC的应用 3
发送方
M
E() 密文 +
密钥K
f()
密钥K’
1、先加密再计算MAC 2、K是加密密钥 3、K’是认证密钥
接收方
Hale Waihona Puke Baidu
密文 MAC
比较
f() 密钥K’
D()
密钥K M
提供保密
只有A和B共享k
提供鉴别
只有A和B共享k’
MAC函数的安全性分析
M
F()
MAC
MAC函数的特点
k
多对一映射
对同一个M,存在多个key产生相同的MAC
使用对称密钥模式
发送方A
M
E
C
k
提供保密 提供鉴别
仅来自A 传输中未被更改
不提供签名
接收方B
D
M
k
使用对称密钥模式的问题
存在的问题
接收端怎样判断密文的合法性 接收端如何判断解密的结果是否正确
解密运算的本质是数学运算
原始消息对接收端是未知的 接收端可以得到 M’ = Dk(c) 怎么判断 M = M’