欢迎来到天天文库
浏览记录
ID:57016229
大小:189.50 KB
页数:40页
时间:2020-07-26
《报文鉴别与散列函数课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章报文鉴别与散列函数内容鉴别的需求;散列函数;报文鉴别码签名5.1鉴别的需求网络通信环境中会受到下列攻击泄露;通信量分析:连接的频率和持续的时间、报文数量等。伪装:假源点;内容篡改:修改内容;序号篡改:增删内容;计时篡改:报文回放;抵赖:终点否认收到、源点否认发送过。5.2鉴别函数鉴别函数:用来产生用于鉴别一个报文的值:鉴别符。鉴别符用于鉴别报文在通信过程中是否被篡改、删除和修改等。产生鉴别符的几类函数:报文加密:以整个报文作为它的鉴别符号报文鉴别码(MAC)散列函数鉴别函数-报文加密对称加密
2、:提供保密:仅源点和终点共享K。一定程度的鉴别:仅来自源点。不提供签名:接收人可以伪造、发送人可以否认。EMMDKKEk(M)鉴别函数-报文加密私钥加密:提供鉴别和签名:仅源点有私钥KS。任何一方都能用公开密钥Kp脱密。EMMDKsKpEKs(M)鉴别函数-报文加密公开密钥加密:提供报密:仅终点有脱密的私钥KS。不提供签名:接收人可以伪造、发送人可以否认。EMMDKpKSEKp(M)鉴别函数-报文加密对称密钥加密:提供保密:BKp鉴别与签名:AKsEMMDAKsBKsEBKp(EAKs(M))EB
3、KpABDAKp为什么需要报文鉴别EMMDKKY=Ek(M)Z≠Ek(M)NDK消息鉴别VS常规加密保密性与真实性是两个不同的概念根本上,信息加密提供的是保密性而非真实性加密代价大(公钥算法代价更大)鉴别函数与保密函数的分离能提供功能上的灵活性某些信息只需要真实性,不需要保密性–广播的信息难以使用加密(信息量大)–网络管理信息等只需要真实性–政府/权威部门的公告为什么需要报文鉴别码加密与鉴别分离,使得结构灵活。例如:应用层鉴别,底层加密;减少工作量,验证鉴别码较容易;监控计算机程序,防止程序被修改
4、,但装载时不要对程序解密。报文鉴别码MACMAC,也称为密码检验和,由如下形式的函数C生成:MAC=Ck(M)其中M是变长的报文K是仅由收发双方共享的密钥Ck{M)是定长的鉴别符。当报文确信或已知是正确时,终点每次将MAC附加到报文中。接收者通过重新计算MAC来对报文进行鉴别。5.2.2散列函数(HashFunction)散列函数的定义散列函数:M:变长报文H(M):定长的散列码(报文摘要)主要用于为文件、报文或其它分组数据产生指纹散列函数的说明H(M):输入为任意长度的消息M;输出为一个固定长
5、度的散列值,称为消息摘要(MessageDigest)H(M)是消息M的所有位的函数并提供错误检测能力:消息中的任何一位或多位的变化都将导致该散列值的变化H(M)又称为:哈希函数、数字指纹(Digitalfingerprint)、压缩(Compression)函数、数据鉴别码(Dataauthenticationcode)等HashvsMACMAC需要对全部数据进行加密MAC速度慢Hash是一种直接产生鉴别码的方法散列函数方法(a)提供了保密和鉴别。MH
6、
7、EDMHEk[M
8、
9、H(M)]kkH(M
10、)比较散列函数方法(b)散列与加密结果合并为一个整体函数实际上就是一个MAC。E[H(M)]是变长报文M和密钥K的函数值,且它生成一个定长的输出,对不知道该密钥的对手来说是安全的。提供鉴别MHE
11、
12、MHDEk[H(M)]KKEK(H(M)]比较散列函数方法(c)提供鉴别、抵赖。MHE
13、
14、MHDEKRa(H(M)]KRaKUaEKRa(H(M)]比较散列函数方法(d)同时提供保密性、鉴别和抵赖。MHE
15、
16、EDMHDEk[M
17、
18、EKRa(H(M)]kkKRaKUaEKRa(H(M)]比较散列函数方法(
19、e)通信各方共享一个公共的秘密值s。对报文鉴别。M
20、
21、H
22、
23、H[(M
24、
25、s)]s比较
26、
27、Hs散列函数方法(f)通过包含报文和散列码的整体进行加密就能对上一种方法(e)增加保密功能M
28、
29、H
30、
31、Ek(H[(M
32、
33、s)])s比较
34、
35、HsEkH[(M
36、
37、s)]Dk散列函数的目标散列函数的目的是为文件、报文或其他的分组数据产生“指纹”。要用于报文鉴别,散列函数H必须具有如下性质:H能用于任何大小的数据分组。H产生定长输出。对任何给定的x,H(x)要相对易于计算,使得硬件和软件实现成为实际可行。对任何给定的码
38、H(x),从H(x)计算x,在计算上是不可行的。这就是所谓的单向性质。对任何给定的分组x,寻找不等于x的y,使得H(y)=H(x)在计算上是不可行的。寻找对任何的(x,y)对使得H(x)=H(y)在计算上是不可行的。5.2.3散列算法5.2.3.1MD5MD5描述Merkle于1989年提出hashfunction模型RonRivest于1990年提出MD41992年,RonRivest完成MD5(RFC1321)在最近数年之前,MD5是最主要的hash算法现行美国标准SHA-1
此文档下载收益归作者所有