6第六讲 消息鉴别

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
基于HASH的鉴别
使用Hash函数进行完整性检测的模型
8
基于HASH的鉴别
散列函数基本用法(1) 散列函数基本用法(1)
A → B :E k [ M
H (M )]
提供完整性: 提供完整性 H(M) 值比较 提供消息源鉴别 提供消息保密
9
基于HASH的鉴别
散列函数基本用法(2)
A → B :M
因此,如果要概率为50%,则n=23
18
基于HASH的鉴别
生日攻击实例
A准备两份合同 和M-,一份 会同意,一份会取走他的财产而 准备两份合同M和 ,一份B会同意 会同意, 准备两份合同 被拒绝 A对M和M- 各做 处微小变化(保持原意),分别产生 对 和 各做32处微小变化 保持原意),分别产生232个 处微小变化( ),分别产生 个 64位hash值 位 值 根据前面的结论,超过 的概率能找到一个M和一个 根据前面的结论,超过0.5的概率能找到一个 和一个 的概率能找到一个 和一个M- ,它们 的hash值相同 值相同 A提交 ,经B审阅后产生 位hash值并对该值签名,返回给 提交M, 审阅后产生64位 值并对该值签名, 提交 审阅后产生 值并对该值签名 返回给A A用M- 替换 用 替换M 结论: 必须足够长( 结论:Hash必须足够长( 128, 160,224,256,…) 必须足够长 , , , , )
K R
签 )
a
名 H ( M ) ]
[
A → B :E k [M
提供完整性: -H(M) 值比较
提供数字签名
E K R a [H (M )]]
• 提供保密 -仅A和B共享密钥k
12
基于HASH的鉴别
散列函数基本用法(5)
A → B: M • 提供鉴别
H (M
S)]]
- 仅 A和 B共 享 消 息 S
提供完整性: -H(M) 值比较 不提供保密性
S(salt) 是随机串,这种加盐 的方法能更好地防范主动攻击 且无需加密计算
• 加密软件很慢 • 加密硬件的开销很大 • 加密算法可能受专利保护 • 加密算法可能受出口的限制.
13
基于HASH的鉴别
散列函数基本用法(6)
A → B : E k [M • 提 供 鉴 别

条是对已知的生日攻击方法的防御能力。 第④条是对已知的生日攻击方法的防御能力。
16
基于HASH的鉴别
生日攻击
对于报文M 攻击者找到M ′,使得H(M′)=H(M)? 使得H(M′)=H(M) 对于报文M,攻击者找到M ′,使得H(M′)=H(M)? 一种基于生日悖论的攻击可能做到这一点. 一种基于生日悖论的攻击可能做到这一点.
散列函数基本用法(3)
提供完整性: 提供完整性 H(M) 值比较 不提供保密 提供数字签名 加密保护H(M) 加密保护 仅A能生成 E kR [H(M )] 能生成
a
11
基于HASH的鉴别
散列函数基本用法(4)
• 提 - - 供 加 仅 鉴 密 A 能 别 保 生 和 护 成 数 H ( E 字 M
15
基于HASH的鉴别
散列函数的性质: Hash要产生其他数据块的“指纹”,从而用于消息认证, 要产生其他数据块的“ 要产生其他数据块的 指纹” 从而用于消息认证, 必须具有下列性质: 必须具有下列性质:
能用于任意大小的分组; ① H能用于任意大小的分组;且产生的消息摘要长度固定 对任何给定的x H(x)要相对易于计算 要相对易于计算; ② 对任何给定的x,H(x)要相对易于计算; 对任何给定的hash hash值 寻找x使得H(x)=h在计算上是不可行的, H(x)=h在计算上是不可行的 ③ 对任何给定的hash值h,寻找x使得H(x)=h在计算上是不可行的,即 单向性.因此, 单向性.因此,伪造或篡改一个报文并使其与原报文具有相同的信息 摘要是计算不可行的 找到任何满足H(x)=H(y)的偶对(x,y)在计算上是不可行的。 H(x)=H(y)的偶对(x,y)在计算上是不可行的 ④ 找到任何满足H(x)=H(y)的偶对(x,y)在计算上是不可行的。
H (M
S )]]
- 仅 A和 B共 享 S • 提 供 保 密 - 仅 A和 B共 享 密 钥 k
提供完整性: -H(M) 值比较
14
基于HASH的鉴别
Hash函数的分类
根据安全水平 弱无碰撞:散列函数h称为是弱无碰撞的,是指对给定消息x X, 弱无碰撞:散列函数h称为是弱无碰撞的,是指对给定消息x ∈ X,在 计算上几乎找不到异于x ∈X, h(x)=h(x')。 计算上几乎找不到异于x的x‘∈X,使h(x)=h(x')。 ∈X 强无碰撞:散列函数h被称为是强无碰撞的, 强无碰撞:散列函数h被称为是强无碰撞的,是指在计算上几乎不可能 找到相异的x h(x)=h(x')。 找到相异的x,x‘,使得h(x)=h(x')。 ,使得h(x)=h(x') 强无碰撞自然含弱无碰撞! 注:强无碰撞自然含弱无碰撞! 根据是否使用密钥 带秘密密钥的Hash函数: Hash函数 带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密 来控制。此时,散列值称作MAC MAC。 钥K来控制。此时,散列值称作MAC。 不带秘密密钥的Hash函数:消息的散列值的产生无需使用密钥。 Hash函数 不带秘密密钥的Hash函数:消息的散列值的产生无需使用密钥。此 散列值称作MDC MDC。 时,散列值称作MDC。
E k [H (M )]
• 提供完整性: 提供完整性 -H(M) 值比较 提供鉴别 加密保护H(M) 只有A有密钥K H(M), -加密保护H(M),只有A有密钥K hash函数和加密函数的合成即是 函数和加密函数的合成即是MAC -hash函数和加密函数的合成即是MAC 不提供保密
10
基于HASH的鉴别
基于HASH的鉴别
Hash函数通用结构
20
基于HASH的鉴别
MD5描述 Merkle于1989年提出hash function模型 Merkle于1989年提出hash function模型 年提出 Rivest于1990年提出 年提出MD4(RFC Ron Rivest于1990年提出MD4(RFC 1320) 1992年 完成MD5 1992年, Ron Rivest 完成MD5 (RFC 1321) 在最近数年之前,MD5是最主要的hash算法 在最近数年之前,MD5是最主要的hash算法 ,MD5是最主要的hash 现行美国标准SHA现行美国标准SHA-1以MD5的前身MD4为基础 SHA MD5的前身MD4为基础 的前身MD4
3
二、基于消息加密的鉴别
加密技术可用于消息鉴别 基于对称加密的鉴别: 基于对称加密的鉴别:
A
B
• 提供保密: 仅A和B共享密钥 提供保密: 共享密钥K 和 共享密钥 • 提供消息源鉴别: 仅A和B共享密钥 提供消息源鉴别: 共享密钥K 和 共享密钥 • 不提供消息完整性鉴别
4
二、基于消息加密的鉴别

实现的角度, 从HASH实现的角度,用网络协议中常用的算法(如CRC、IP协 实现的角度 用网络协议中常用的算法( 、 协 议校验和算法)可满足前两个条件,但不满足后两个条件; 议校验和算法)可满足前两个条件,但不满足后两个条件;而用 DES算法可以满足后两个条件,但不满足前两个条件。 算法可以满足后两个条件,但不满足前两个条件。 算法可以满足后两个条件
17
基于HASH的鉴别
假设有n个人,如果要彼此生日都不相同,则第一个人的生日是随意的,第2、3 …n个人与其他人生日不同的概率分别为:
364 363 365 − (n − 1) , ,⋯ 365 365 365
因此,n个人中两个人生日相同的概率为:
364× 363×⋯365− (n −1) 365! 1− = n−1 365 365n (365− n)!
第六讲 消息鉴别
(数据鉴别) 数据鉴别)
1
一、概述
从某种意义上说,鉴别或认证技术可能比信息加密本身更加重要。 从某种意义上说 , 鉴别或认证技术可能比信息加密本身更加重要 。 以电子商务为例,很多情况下用户并不要求购物信息保密, 以电子商务为例,很多情况下用户并不要求购物信息保密,只要确认 网上商店不是假冒的(这需要身份鉴别服务) 网上商店不是假冒的(这需要身份鉴别服务),自己与网上商店交换 的信息未被第三方修改或伪造(这需要消息完整性服务) 的信息未被第三方修改或伪造(这需要消息完整性服务),并且网上 商家不能赖帐(这就需要抗抵赖性服务) 商家也是如此。 因此, 商家不能赖帐(这就需要抗抵赖性服务), 商家也是如此。 因此, 消息鉴别服务通常与保密服务、完整性服务, 消息鉴别服务通常与保密服务、完整性服务,拒绝否认服务关联
基于公钥加密的认证( ) 基于公钥加密的认证(1) 公钥加密的认证 A B
– 提供消息源鉴别: 因为仅A有Kra进行加密(数字签名) 提供消息源鉴别: 因为仅A Kra进行加密 数字签名) 进行加密( – 不保密: 因为任何人都可用A的公钥Kua解密 不保密: 因为任何人都可用A的公钥Kua Kua解密 – 不提供消息完整性鉴别
生日悖论
一个教室中,最少应有多少学生,才使至少有两人具有 一个教室中,最少应有多少学生, 相同生日的概率不小于1/2? 相同生日的概率不小于 ? 概率结果与人的直觉是相违背的:实际上只需23人 概率结果与人的直觉是相违背的:实际上只需23人,即 23 任找23人 任找23人,从中总能选出两人具有相同生日的概率至少为 23 1/2。 1/2。
5
二、基于消息加密的鉴别
基于公钥加密的认证( ) 基于公钥加密的认证(2)
A
Hale Waihona Puke Baidu
B
• 提供消息源鉴别:KRa 提供消息源鉴别: • 提供消息保密:KUb 提供消息保密: • 不提供消息完整性认证
6
三、基于HASH的鉴别
H(M): h = H ( M )
输入为任意长度的消息M; 输入为任意长度的消息M; 输出为一 个固定长度的散列值, 个固定长度的散列值,称为消息摘 Digest) 要(Message Digest) H(M)是消息M H(M)是消息M的所有位的函数并提 是消息 供错误检测能力: 供错误检测能力:消息中的任何一 位或多位的变化都将导致该散列值 的变化 H(M)又称为:哈希函数、 H(M)又称为:哈希函数、数字指纹 又称为 print)、 (Digital finger print)、压缩 Compression)函数 函数、 (Compression)函数、数据鉴别码 code) (Data authentication code)等 散列函数的用途 消息的完整性、 • 消息的完整性、 • 数字签名
鉴别目的: 鉴别目的:
实体鉴别: 实体鉴别:验证一个实体的身份 消息鉴别: 消息鉴别 消息源鉴别:验证消息的发送者是真正的,而不是冒充的。 消息源鉴别:验证消息的发送者是真正的,而不是冒充的。 消息完整性鉴别: 消息完整性鉴别:认证在传送过程中消息数据未被未授权篡改或 损坏。 损坏。 抗抵赖性:发送消息者事后不能否认他发送的消息。 抗抵赖性:发送消息者事后不能否认他发送的消息。
使其比特数与448模512同余,即填充后的消息长度为512的整数倍少 使其比特数与448模512同余,即填充后的消息长度为512的整数倍少 448 同余 512 64( 448+64=512)。即使消息本身已满足此长度要求, )。即使消息本身已满足此长度要求 64(因为 448+64=512)。即使消息本身已满足此长度要求,仍需进 行填充。 行填充。
2
一、鉴别服务概述
主要的鉴别技术包括: 主要的鉴别技术包括:
消息加密函数(Message (1) 消息加密函数(Message encryption) (2) 消息鉴别码 MAC(Message Authentication Code) 散列函数(Hash (3) 散列函数(Hash Function)
MD5: 输入:任意长度的报文 输入: 输入分组长度:512 bit 输入分组长度: 输出:128 bit 报文 输出:
21
基于HASH的鉴别
MD5示意图 示意图
× ×
个字) 以512位(16个字)的分组为单位进行串行处理 位 个字
22
基于HASH的鉴别
MD5算法描述
报文填充( 报文填充 得M1)
相关文档
最新文档