信息安全原理与应用第五章 消息鉴别和数字签名
信息安全概论第五章消息认证与数字签名
![信息安全概论第五章消息认证与数字签名](https://img.taocdn.com/s3/m/2cecf8d7195f312b3169a5f4.png)
5.1.1 信息加密认证
信息加密函数分两种,一种是常规的对称密钥加密函数, 另一种是公开密钥的双密钥加密函数。下图的通信双方 是,用户A为发信方,用户B为接收方。用户B接收到信 息后,通过解密来判决信息是否来自A, 信息是否是完 整的,有无窜扰。
1.对称密码体制加密: 对称加密:具有机密性,可认证,不提供签名
通常b>n
24
5.2.3
MD5算法
Ron Rivest于1990年提出了一个称为MD4的散列函数。 他的设计没有基于任何假设和密码体制,不久,他的 一些缺点也被提出。为了增强安全性和克服MD4的缺 陷, Rivest于1991年对MD4作了六点改进,并将改进 后的算法称为MD5. MD5算法:将明文按512比特进行分组,即MD5中的 b=512bit,经填充后信息长度为512的倍数(包括64 比特的消息长度)。 填充:首位为1,其余补0至满足要求,即填充后的比 特数为512的整数倍减去64,或使得填充后的数据长 度与448模512同余。
18
通过以下方式使用散列函数常提供消息认证
(1)使用对称加密算法对附加消息摘要的报文进行加密 A B: EK(M||H(M)) 提供保密、认证 (2)使用对称加密方法对消息摘要加密 A B: M||EK(H(M)) 提供认证 (3)使用发方的私钥对消息摘要进行加密 A B: M||EKRa(H(M)) 提供数字签名、认证 (4)在(3)的基础上,使用对称加密方法进行加密 A B: EK(M||EKa(H(M)) ) 提供数字签名、认证和保密 (5)假定双方共享一个秘密值S,与消息M串接,计算散 列值 A B: M||(H(M||S)) 提供认证 (6)假定双方共享一个秘密值S,使用散列函数,对称加 密方法 A B: EK(M||H(M||S)) 提供数字签名、认证和保密19
消息认证、数字签名和密钥管理第五章网络09课件
![消息认证、数字签名和密钥管理第五章网络09课件](https://img.taocdn.com/s3/m/7ae98180c0c708a1284ac850ad02de80d4d806b6.png)
图5-4 Hash函数用于认证的基本应用
12
5.1.3 Hash函数
❖ 图5-4(a), 先使用Hash函数计算消息M的散列值, 再使 用发送方的私钥PRa对消息的散列值进行数字签名, 既提供消息的认证性, 又保证效率(不是对M数字签 名, 而是对M的散列值数字签名)。
❖ 图5-4(b), 是采用对称密码先使用Hash函数计算消息 M的散列值, 再使用密钥K对消息的散列值进行加密, 该认证方式类似于MAC。
这称为实体认证,包括对信源、信宿等的认证和识 别; ❖ 第二,验证信息本身的完整性,这称为消息认证, 验证数据在传送或存储过程中没有被篡改、重放或 延迟等。
2
5.1.1认证
❖ 一个基本的认证系统模型如图5-1所示: 发送者通过 一个公开信道将信息传给接收者,接收者在收到消 息的同时,还收到认证码,用于验证消息是否来自 合法的发送者以及消息是否被篡改。
❖ (4)将H作用于步骤3所得的结果;
❖ (5)K+与opad逐比特进行异或运算,产生b比特的 分组S0;
❖ (6)将步骤4中的散列值附于S0之后;
❖ (7)将H作用于步骤6所得结果,并将散列值输出。
23
5.1.5 HMAC算法
2.HMAC算法
K+
ipad
xor
b位
b位
b位
Si
Y0
Y1
…
YL-1
IV
❖ 这时经过处理后的消息长度正好是512位的倍数。 (如果L长度大小超过264,则只用长度的低64位,即 等于计算: L mod 264。)
❖ (3)初始值(IV)的初始化: MD5中有四个32位缓冲 区,用(A, B, C, D)表示,用来存储散列计算的中 间结果和最终结果,缓冲区中的值被称为链接变量。
消息鉴别与数字签名_OK
![消息鉴别与数字签名_OK](https://img.taocdn.com/s3/m/4de91b025ef7ba0d4b733b62.png)
17
3.1.4 -2 SHA-1算法
• SHA是美 国家标准和技术协会(NIST)1993提出, 199 5年发布SHA-1。输入512比特单位分组,输出160比特消 息摘要。
•
步骤:
1. 附加填充位 填充后结果长度(模512)=448 2. 附加长度 64位:表示原始消息长度 3. 初始化散列缓冲区
• 保障消息完整性和真实性的手段: 消息鉴别技术
3
3.1.1 消息鉴别的概念
•
消息鉴别 概念:是一个对收到的消息进行验证的过程,验证的内容包括:
• 真实性:消息发送者是真正的,而非假冒
• 完整性:消息在存储和传输过程中没有被篡改过。
பைடு நூலகம்
•
消息鉴别系统功能上的层次结构
• 低层 产生鉴别符
• 高层:调用鉴别函数,验证
15
3.1.4 散列函数
• 散列函数 是一种将输入任意长度消息映射到固定长度消息摘要的函数。 h=H(M),没有K
1. 散列函数安全性 2. SHA-1算法 3. MD5算法
16
3.1.4 -1 散列函数安全性
•
攻击:
• 攻击者得到h(M),试图伪造M’ ,使h(M’)= h(M)
•
散列函数必须满足的安全特征(3):
• 一些应用不关心保密,而关心消息鉴别 • 将鉴别函数和加密函数结构上分离,可使层次结构更加灵活。应用层鉴别消息,
传输层提供保密。
10
3.1.2 -2基于DES的消息鉴别 码
基于DES的消息鉴别码 • 基于分组密码,并按密文块链接模式操作 CBC。 • 数据鉴别算法 CBC—MAC 密文分组链接消息鉴别码 • 数据鉴别算法图 图3-3 p57
信息安全原理与技术之消息认证与数字签名
![信息安全原理与技术之消息认证与数字签名](https://img.taocdn.com/s3/m/e32c7b5884254b35eefd34ae.png)
顺序修改:对通信双方消息顺序的修改,包括插入、 删除和重新排序。
计时修改:对消息的延迟和重放。在面向连接的应用 中,攻击者可能延迟或重放以前某合法会话中的消息 序列,也可能会延迟或重放是消息序列中的某一条消 息。
2020/4/21
2
认证的目的
9
对MAC的攻击
•第一轮
·给定M1, MAC1=CK(M1) ·对所有2k个密钥判断MACi=CKi(M1)
·匹配数2(k-n) 。
•第二轮
·给定M2, MAC2=CK(M2) ·对循环1中找到的2(k-n)个密钥判断MACi=CKi (M2)
·匹配数2(k-2n) 。
❖ 攻击者可以按此方法不断对密钥进行测试,直到 将匹配数缩写到足够小的范围。平均来讲,若
23
Yuval的生日攻击(续)
❖ (3) 攻击者在上述两个消息集合中找出可以产生相同 散列值的一对消息。根据“生日悖论”理论,能找 到这样一对消息的概率是非常大的。如果找不到这 样的消息,攻击者再产生一条有效的消息和伪造的 消息,并增加每组中的明文数目,直至成功为止。
❖ (4) 攻击者用第一组中找到的明文提供给签名方要求 签名,这样,这个签名就可以被用来伪造第二组中 找到的明文的数字签名。这样,即使攻击者不知道 签名私钥也能伪造签名。
ON-1
ON
2020/4/21
13
Hash函数
❖ Hash函数(也称散列函数或杂凑函数)是将 任意长的输入消息作为输入生成一个固定 长的输出串的函数,即h=H(M)。这个输 出串h称为该消息的散列值(或消息摘要, 或杂凑值)。
2020/4/21
14
安全的Hash函数的要求
信息安全实际原理及具体应用第5章消息认证
![信息安全实际原理及具体应用第5章消息认证](https://img.taocdn.com/s3/m/34b78d39561252d380eb6eb4.png)
消息认证码的基本用途
• 只提供消息认证,不提供保密性。(见前) • 提供消息认证和保密性:
A
B
MKC||KE KDCM KC 比较 1
2 2 EK2[M || CK1 (M )]
– 与消息认证码不同的是, hash码的产生过程中并不使用 密钥。
– Hash码是所有消息的函数,改变消息的任何一位或多位, 都会导致hash码的改变。
– Hash算法通常是公开的。 – 又称为:哈希函数、数字指纹(Digital finger print)、压
缩(Compression)函数、紧缩(Contraction )函数、 数据鉴别码DAC(Data authentication code)、篡改 检验码MDC(Manipulation detection code)
• 平均来讲,若k=x*n,则需x次循环才能找到正确的密钥。 • 所以,用穷举法攻破MAC比攻破加密算法要困难得多。
对MAC的攻击—攻击算法
• 考虑下面的算法:
消息M=(X1‖X2‖…‖Xm)是由64比特长的分组Xi(i=1,…,m)链接而成 MAC算法是:
(M ) X1 X2 Xm
CK (M ) EK (M )
消息认证码用于认证
MMCKA比C 较
• A和B共享密钥K • A计算MAC=Ck(M),
• M和MAC一起发送
到B
• B对收到的M,计算 MAC,比较两个 MAC是否相同。
如果两个MAC相等,则:
1. 接收方可以相信消息未被修改,因为如果攻击者改变了消 息,由于不知道k,无法生成正确的MAC。
消息鉴别与数字签名课件
![消息鉴别与数字签名课件](https://img.taocdn.com/s3/m/efbbe5dd02d276a200292ee1.png)
完整性是安全的基本要求之一。篡改消息是对通 信系统的主动攻击常见形式。
被篡改的消息是不完整的;信道的偶发干扰和故障也 破坏消息完整性。
接收者能检查所收到的消息是否完整; 进一步接收者能识别所收到的信息是否源于所声称的
主体。即消息来源的真实性
保障消息完整性和真实性的手段: 消息鉴别技术
1. 泄密
保密 2.
通信业务量分析
消息 3. 鉴别
4.
数字 5.
签名
伪造: 攻击者假冒发方身份,向网络插入一条消 息;或假冒接收方发送一个消息确认。
篡改:内容篡改 序号篡改 时间篡改
行为抵赖
一是作为领导干部一定要树立正确的 权力观 和科学 的发展 观,权 力必须 为职工 群众谋 利益, 绝不能 为个人 或少数 人谋取 私利
基于消息加密方式 以整个消息的密文作为鉴别符
基于消息鉴别码(MAC)3.1.2 发送方利用公开函数+密钥产生一个固定长度的 值作为鉴别标识,并与消息一同发送
基于散列函数 3.1.3 采用hash函数将任意长度的消息映射为一个定长 的散列值,以此散列值为鉴别码。MAC方式的一 种特例
最近几年消息鉴别符的热点转向 Hash函数导 出MAC的方法
一是作为领导干部一定要树立正确的 权力观 和科学 的发展 观,权 力必须 为职工 群众谋 利益, 绝不能 为个人 或少数 人谋取 私利
第3章 消息鉴别与数字签名
经典密码学->现代公开的计算机环境
保密有效系统地保障电子数据的机密性、完整性 和真实性
公开的计算机网络环境中,传输中的数据可能 遭受到威胁(5种):
3.1.2 -1 消息鉴别码原理
消息和MAC一起发给接收方。接收方对收到的 消息利用相同的密钥K计算,得出新的MAC。 如果接收到的MAC与计算得出的MAC相等:
3消息认证和数字签名(武汉大学国际软件学院信息安全课程)
![3消息认证和数字签名(武汉大学国际软件学院信息安全课程)](https://img.taocdn.com/s3/m/4765292a58fb770bf78a553f.png)
MAC举例:基于DES的消息认证码
基于DES的消息认证码
建立在DES上的数据认证算法(FIPS PUB 113) 是使用最广泛的MAC算法之一,也是一个 ANSI标准(X9.17) 数据认证算法采用DES运算的密文块链接 (CBC)方式,其初始向量为0,需要认证的 数据分成连续的64位的分组D1, D2, … , DN, 若最后分组不足64位,则在其后填0直至成为 64位的分组。利用DES加密算法E和密钥K, 计算数据认证码(DAC)的过程如图11.6所示。
Hash函数的安全性
Hash函数的安全性:Hash函数的安全性 取决于其抗击各种攻击的能力,对手的 目标是找到两个不同消息映射为同一 Hash值。 一般假定对手知道Hash算法,采用选择 明文攻击法。
HASH算法
MD5消息摘要算法(RFC 1321)
输出128b的消息摘要 输出160b的消息摘要
K
对HASH函数的要求
对HASH函数的要求
1. 2. 3. 4. H可应用于任意大小的数据块 应用于消息认 H产生定长的输出 证必须满足的 对任意给定的x,计算H(x)容易 对于给定的hash值h,找到满足H(x)=h的x在计算上 是不可行的——单向性 5. 对于给定的分组x,找到满足yx且H(y)=H(x)的y在计 算上是不可行的——抗弱碰撞性 6. 找到任何满足H(x)=H(y)的偶对(x,y)在计算上是不可 行的——抗强碰撞性
消息认证码的基本用法
提供认证
(a)消息认证 (b)消息认证和保密性:与明文有关的认证 (c)消息认证和保密性:与密文有关的认证
提供认证和保密性
(a)消息认证
5、消息认证和数字签名讲义
![5、消息认证和数字签名讲义](https://img.taocdn.com/s3/m/449c8b28b4daa58da0114ac2.png)
上述标出的认证编码器和认证译码器可抽象为认证函数 一个安全的认证系统,首先要选好恰当的认证函数,然
后在此基础上,给出合理的认证协议(Authentication Protocol)
| 7/24/2013 5 © 广东省信息安全技术重点实验室
Sun Yat-sen University
消息认证模型
不带秘密密钥的Hash函数:消息的散列值的产生无需使
用密钥,此时散列值称作MDC
| 7/24/2013 21 © 广东省信息安全技术重点实验室
Sun Yat-sen University
哈希函数-生日攻击
如果采用传输加密的散列值和不加密的报文M, 攻击者需要找到M-,使得H(M-)=H(M),以便使用 替代报文来欺骗接收者
哈希函数
H可应用于任意大小的数据块
H 产生定长的输出
对于任意给定的x,容易计算出H(x) H是单向(one-way)函数 给定h,找到满足 h = H(x)的x在计算上是不可行的 complexity of finding x out of h is 2n, where n is the number of
一种基于生日悖论的攻击可能做到这一点,生日 问题
一个教室中,最少应有多少个学生,才使至少有两人具
有相同生日的概率不小于1/2?
概率结果与人的直觉是相违背的 实际上只需23人,即任找23人,从中总能选出两人具有
相同生日的概率至少为1/2
| 7/24/2013
22
© 广东省信息安全技术重点实验室
| 7/24/2013
12
© 广东省信息安全技术重点实验室
Sun Yat-sen University
消息认证码
MAC函数类似于加密函数,但不需要可逆性,因 此在数学上比加密算法被攻击的弱点要少
信息安全第五章119页
![信息安全第五章119页](https://img.taocdn.com/s3/m/e74eae0bf111f18582d05a31.png)
验证方法:
对上述两个问题,只要合理设计明文格式便可 以解决。一种可行的格式如下:
明文=<发方标示符><收方标示符><报文序号><时 间><数据正文><纠错码>
形式上可将A发给B的第i份报文表示为: M=(A,B,i,T,D,C)
将报头附加信息记为: M1=(A,B,i)
A发给B的最终报文为(M1,M),其中M1为明文格 式,M为密文形式。
由于明文中加如了收,发时间等一些附加信息, 就使得第一个漏洞给堵住了,即A,B都无法拿以前的 报文来冒充当前的报文。其次B收到A的签名报文 后,只要用A的公开密钥验证A的签名并恢复出正确 的附加信息(A,B,i),便可以判定M是正确的(因为 (A,B,i)已知) 。
RSA数字签名方案(或算法)基于RSA公钥密码 体制。该方案中,p=A=Zn,其中n;pq,p和q 是两个素数,定义K={(n,p,q,a,b)|n=pq,p, q为素数,ab=1 mod φ(n)}。密钥K=(n,p,q, a,b)中值n和b是公开的,值p,q和a是保密的。
对K=(n,p,q,a,b),定义Sig k(x)=xa mod n,x属于Zn。Ver k(x,y)=真<=>yb(mod n)=x,y属于Zn。
鉴定中心是一个政府参与管理的第三方成员, 以便保证信息的安全和集中管理。用户在获取公开 密钥时,首先向鉴定中心请求数字确认,鉴定中心 确认用户身份后,发出数字确认,同时鉴定中心向 数据库发送确认信息。然后用户使用私有密钥对所 传信息签名,保证信息的完整性、真实性,也使发 送方无法否认信息的发送,之后发向接收方;接收 方接收到信息后,使用公开密钥确认数字签名,进 入数据库检查用户确认信息的状况和可信度;最后 数据库向接收方返回用户确认状态信息。不过,在 使用这种技术时,签名者必须注意保护好私有密钥, 因为它是公开密钥体系安全的重要基础。
信息安全原理与应用 课后习题答案
![信息安全原理与应用 课后习题答案](https://img.taocdn.com/s3/m/5570e10031126edb6f1a10af.png)
第二章1、解释古典密码分析的两个基本方法是什么?穷举法和统计分析法。
2、解释实现古典密码的两个基本运算是什么?代替和置换(换位)。
3、解释密码编码的Kerchoff原则是什么,为什么基于密钥保密的算法更安全和实用?Kerchoff原则:加密算法应建立在变换规则的公开不影响明文和密钥的安全的基础上。
理由如下:(1)攻击者总会设法找到算法;(2)更换密钥比更换密码算法更容易;(3)公开的算法更安全;(4)商业应用的需要。
第三章1、DES算法中,s盒p盒的作用是什么?S盒的作用是混淆(Confusion),主要增加明文和密文之间的复杂度(包括非线性度等)。
P盒的作用是扩散(Diffusion),目的是让明文和密钥的影响迅速扩散到整个密文中。
即1位的明文或密钥的改变会影响到密文的多个比特,即雪崩效应。
2、对称分组密码设计的主要指导原则有哪些?实现的手段是什么?(1)分组长度足够大;(2)密钥量足够大,能抵抗密钥穷举攻击,但又不能过长,以利于密钥管理;(3)由密钥确定代替的算法要足够复杂,能抵抗各种已知攻击。
实现的手段是统计分析的方法:扩散和混淆扩散就是让密文没有统计特征,也就是让明文的统计特征扩散到密文的长程统计特征中,以挫败推测出密钥的尝试。
扩散增加密文于明文之间关系的复杂性,混淆则增加密钥与密文之间关系的复杂性。
3、当明文长度不是分组长度整数倍的时候,进行对称分组加密要进行什么处理?如果明文长度恰好是分组长度整数倍时,需要进行处理吗?(1)在明文最后进行填充,是其长度为分组长度整数倍,最后再对明文进行分组,然后对各个明文分组加密。
(2)不需要进行处理,可以直接进行分组加密。
4、比较三重DES内部CBC和外部CBC工作模式的异同。
内部CBC用CBC方式对整个文件进行三次不同的加密,这需要三个不同的IV值X0,Y0,C0。
外部CBC用CBC方式对整个文件进行三重加密,需要一个IV值C0。
三重DES内部CBC和外部CBC工作模式相同:性能相同,而且都比单重加密需要更多资源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子工业出版社,《信息安全原理与应用》
20
符号
• H = 嵌入散列函数
• M = 消息(包括散列函数所需填充位)
• Yi = M的第i 个数据块,0 i L-1 • L = M的数据块数
• b = 数据块的位数
• n = 嵌入散列函数产生的散列码长度位数
• K = 保密密钥。如果密钥长度大于b,则密钥送入散列函数
息
• 首先要选好恰当的鉴别函数,该函数产生一个鉴
别标识,然后在此基础上,给出合理的鉴别协议
(Authentication Protocol),使接收者完成消息的
鉴别。
电子工业出版社,《信息安全原理与应用》
9
鉴别函数
• 用于产生鉴别符的鉴别函数分为三类:
(1) 消息加密函数(Message encryption)
② MAC直接附加在消息之后,并对整体进行加密 AB: EK2[ M||MACK1(M)]
③ 先对消息加密,再对密文生成鉴别码 AB: EK2 [M]||MACK1(EK2 [M])
电子工业出版社,《信息安全原理与应用》
17
CBC-MAC
• ANSI X9.9、FIPS PUB 113和ISO/IEC 9797 • O1 = Ek(D1) • Oi = Ek(DiOi-1) (1<i<N)
电子工业出版社,《信息安全原理与应用》
22
通过加密得到信息真实性: 问题
• 保密性与真实性是两个不同的概念 • 根本上,信息加密提供的是保密性而非真实性 • 加密代价大(公钥算法代价更大) • 鉴别函数与保密函数的分离能提供功能上的灵活性 • 在目标系统中延长保护时间 • 某些信息只需要真实性,不需要保密性
•
形成一个n位的密钥;推荐程度大于等于n
• K+ = K在左部添加0使得其长度为b位
• ipad = 00110110重复 b/8次
• opad = 01011010重复b/8次
电子工业出版社,《信息安全原理与应用》
21
HMAC的定义与特征
① 对密钥K左边补0以产生一个hash用块K+ ② K+每个字节与ipad(00110110)作XOR以产生Si ③ 对(Si||M)进行hash ④ K+每个字节与opad(01011010)作XOR以产生So ⑤ HMACK = H[K+opad) || H(K+ ipad)|| M]]
33
使用Hash函数进行数字签名的好处
• 提高数字签名的速度 • 无需泄露签名所对应的消息,可将签名泄露,如
对消息x的签名是y=Sigk(z),其中z=h(x),可将(z,y) 公开,而保密x. • 可将签名变换和加密变换分开,可以在OSI的不 同层提供消息的完整性和机密性。
电子工业出版社,《信息安全原理与应用》
电子工业出版社,《信息安全原理与应用》
鉴别的目的
• 鉴别的主要目的有二: 第一,验证信息的发送者是真正的,而不是冒充 的,此为信源识别; 第二,验证信息的完整性,在传送或存储过程中 未被篡改,重放或延迟等。
电子工业出版社,《信息安全原理与应用》
6
消息鉴别
• 消息鉴别的概念 • 鉴别函数
– 消息加密 – 消息鉴别码MAC – 散列函数
性。 6、找到任意数据对(x,y),满足h(x) = h(y)是计算不可行的。
电子工业出版社,《信息安全原理与应用》
28
方法⑤的优点
• 加密软件很慢 • 加密硬件的开销很大 • 加密是对大长度数据进行优化的 • 加密算法可能受专利保护 • 加密算法可能受出口的限制.
电子工业出版社,《信息安全原理与应用》
29
散列函数的用途
• 消息的完整性检测 • 数字签名
电子工业出版社,《信息安全原理与应用》
电子工业出版社,《信息安全原理与应用》
38
安全威胁三
(c)伪造方式三:在散列函数的用法(e)中, 秘密值S本身并不 发送, 如果散列函数不是单向的,攻击者截获到M和 H(M||S). 然后通过某种逆变换获得M||S, 因而攻击者就可 以得到S.
定义3(单向的)称散列函数h为单向的,是指计算h的逆函数 h-1在计算上不可行。
• 如果使用公开密钥加密
① 提供保密
② 不提供鉴别
• 用私钥对信息数字签名
① 提供鉴别和签名
– 仅A有Kra可以进行加密
– 传输中没有被更改
– 需要某种结构或冗余
– 任何一方均可以使用Kua验证签名
• 如果既要提供保密性,又要提供鉴别,用户A就需要先用
自己的私钥签名,再用用户B的公钥加密,KUb提供保密
• 签名者每次只能签log2n比特长的消息,获得同样 长的签名。如果消息很长,需要逐组签名。然而, 这样,速度慢,签名长。
电子工业出版社,《信息安全原理与应用》
32
解决办法
• 解决办法:引入可公开的密码散列函数(Hash function)。 它将取任意长度的消息做自变量,结果产生规定长度的消 息摘要。[如,使用数字签名标准DSS,消息摘要为160比 特],然后签名消息摘要。对数字签名来说,散列函数h是 这样使用的:
34
散列函数
• 散列函数的概念 • 散列函数的用法 • 散列函数的特性 • 散列函数的构造 • 散列算法
电子工业出版社,《信息安全原理与应用》
35
新的问题
• 用以鉴别的散列函数,能否减弱鉴别方案的安全 性?这个问题是要分析的。签名的对象由完整消 息变成消息摘要,这就有可能出现伪造。
电子工业出版社,《信息安全原理与应用》
电子工业出版社,《信息安全原理与应用》
18
CFB-MAC
电子工业出版社,《信息安全原理与应用》
19
HMAC设计目标
• 无需修改地使用现有的散列函数 • 当出现新的散列函数时,要能轻易地替换 • 保持散列函数的原有性能不会导致算法性能的降
低 • 使用和处理密钥的方式简单 • 对鉴别机制的安全强度容易分析,与hash函数有
电子工业出版社,《信息安全原理与应用》
25
散列函数Hash Function
• H(M): 输入为任意长度的消息M; 输出为一个固 定长度的散列值,称为消息摘要Message Digest )。
• 这个散列值是消息M的所有位的函数并提供错误 检测能力:消息中的任何一位或多位的变化都将 导致该散列值的变化。
电子工业出版社,《信息安全原理与应用》
39
HASH 函数的要求
目的:“fingerprint” of messgae
满足: 1、h可以作用于一个任意长度的数据块; 2、h产生一个固定长度的输出; 3、对任意给定的x ,h(x) 计算相对容易,无论是软件还是硬件实现。 4、对任意给定码H,找到x满足h(x)=H具有计算不可行性;(单向性) 5、对任意给定的数据块x,找到满足h(y)=h(x)的yx具有计算不可行
电子工业出版社,《信息安全原理与应用》
7
鉴别模型
• 一个单纯鉴别系统的模型
电子工业出版社,《信息安全原理与应用》
8
鉴别系统的组成
• 鉴别编码器和鉴别译码器可抽象为鉴别函数。
• 一个安全的鉴别系统,需满足
(1)意定的接收者能够检验和ຫໍສະໝຸດ 实消息的合法性、真实性和完整性
(2)消息的发送者和接收者不能抵赖 (3)除了合法的消息发送者,其它人不能伪造合法的消
电子工业出版社,《信息安全原理与应用》
26
散列函数
• 散列函数的概念 • 散列函数的用法 • 散列函数的特性 • 散列函数的构造 • 散列算法
电子工业出版社,《信息安全原理与应用》
27
散列函数的基本用法
① AB:EK [M|| H(M)] ② AB:M||EK [H(M)] ③ AB:M||EKRa[H(M)] ④ AB:EK[M||EKRa[H(M)]] ⑤ AB:M||EK[H(M||S)]] ⑥ AB:EK[M||H(M||S)]]
用完整信息的密文作为对信息的鉴别。
(2) 消息鉴别码MAC(Message Authentication Code) 公开函数+密钥产生一个固定长度的值作为
鉴别标识 (3) 散列函数(Hash Function)
一个散列函数以一个变长的报文作为输入, 并产生一个固定长度的散列码,有时也称报文摘 要,作为输出。是一个公开的函数。
① 接收者可以确信消息M未被改变。 ② 接收者可以确信消息来自所声称的发送者; ③ 如果消息中包含顺序码,则接收者可以保证消息
的正常顺序;
• MAC函数类似于加密函数,但不需要可逆性。 因此在数学上比加密算法被攻击的弱点要少。
电子工业出版社,《信息安全原理与应用》
16
MAC的基本用法
① MAC直接附加在消息之后 AB:M||MACK(M)
消息:
x 任意长
消息摘要: Z=h(x) 160bits
签名: y=sigk(Z) 320 bits (签名一个消息摘要)
• 验证签名:(x,y),其中y= sigk(h(x)),使用公开的散列函数h, 重构作Z =h(x)。然后Verk(y)=Z,来看Z=Z'
电子工业出版社,《信息安全原理与应用》
信息安全原理与应用
第五章 消息鉴别和数字签名
电子工业出版社,《信息安全原理与应用》
1
内容提要
• 消息鉴别 • 数字签名
电子工业出版社,《信息安全原理与应用》
2
消息鉴别
• 消息鉴别的概念 • 鉴别函数
– 消息加密 – 消息鉴别码MAC – 散列函数
电子工业出版社,《信息安全原理与应用》
3
电子工业出版社,《信息安全原理与应用》