信息安全原理与应用第五章 消息鉴别和数字签名

合集下载

信息安全原理及应用第5章消息认证

信息安全原理及应用第5章消息认证

重复攻击
• Step 1:
– 给定M1和MAC1 = C k1 (M1)
– 对所有2k个密钥,判断MACi = C ki (M1) – 匹配数约为: 2k-n
• Step 2:
– 给定M2和MAC2 = C k1 (M1)
– 对所有2k-n个密钥,判断MACi = C ki (M2) – 匹配数约为: 2k-2n
• 平均来讲,若k=x*n,则需x次循环才能找到正确的密钥。 • 所以,用穷举法攻破MAC比攻破加密算法要困难得多。
对MAC的攻击—攻击算法
• 考虑下面的算法:
消息M=(X1‖X2‖…‖Xm)是由64比特长的分组Xi(i=1,…,m)链接而成 MAC算法是:
(M ) X1 X2 Xm
CK (M ) EK (M )
填充图样
消息长度
消息
Kbit L×512bit
100…0 64bit
• 如果消息长度大于264,则取其对264的模。
• 执行完后,消息的长度为512的倍数(设为L倍),则可将消 息表示为分组长为512的一系列分组Y0,Y1,…,YL-1,而 每一分组又可表示为16个32比特长的字,这样消息中的总字 数为N=L×16,因此消息又可按字表示为M[0,…,N-1]。
• 因此,认证函数比加密函数更不易被攻破,因为即 便攻破也无法验证其正确性。关键就在于加密函数 是一对一的,而认证函数是多对一的。
消息认证码的基本用途
• 只提供消息认证,不提供保密性。(见前) • 提供消息认证和保密性:
A
B
MKC||KE KDCM KC 比较 1
2 2 EK2[M || CK1 (M )]
Hash与MAC的区别
• MAC需要对全部数据进行加密 • MAC速度慢 • Hash是一种直接产生鉴别码的方法 • Hash可用于数字签名

信息安全第五章

信息安全第五章

(3)签名者B每次只能签[log2 n]比特长的消息, 获得同样长的签名。一般来说,所要签的消息都很 长,如果直接对消息进行签名只能先把所要签的消 息分成若干门。[log2 n]比特长的组,远分组进行 签名。因为RSA数字签名算法所涉及的是模2乘法 运算或模2指数运算,所以这样做带来的缺陷是速 度慢,而且签名太长。克服该缺陷的办法之一是在 对消息进行签名之前作一个压缩变换,这种变换称 作杂凑(Hash)变换,亦称杂凑函数。
2.EIGamal数字签名方案 EIGamal于1985年基于离散对数问题提出了一 个既可用于公钥密码体制又可用于数字签名方案的 密码体制。这个数字签名方案的一个变形已被美国 国家标准技术研究所(NIST)采纳为数字签名标准。 EIGamal数字签名方案像EIGamal公钥密码体制一 样是非确定性的。这意味着对给定的消息有许多合 法的签名。 EIGamal密码体制是基于Zp(p为素数) 上的离散对数问题计算上是难的这一假设。
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。
由于明文中加如了收,发时间等一些附加信息, 就使得第一个漏洞给堵住了,即A,B都无法拿以前的 报文来冒充当前的报文。其次B收到A的签名报文 后,只要用A的公开密钥验证A的签名并恢复出正确 的附加信息(A,B,i),便可以判定M是正确的(因为 (A,B,i)已知) 。

信息安全概论第五章消息认证与数字签名

信息安全概论第五章消息认证与数字签名
6
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

第五章 信息安全原理与技术ch05-Hash函数和数字签名

第五章 信息安全原理与技术ch05-Hash函数和数字签名

攻击者可以按此方法不时对密钥停止测试,直到将 婚配数缩写到足够小的范围。平均来讲,假定 k=a n,那么需a次循环
2021/7/25
Ch5-音讯认证与数字签名
针对MAC算法的攻击
• 攻击者针对下面的MAC算法,那么不需求运用穷举攻击 即可取得密钥信息。
• 设音讯M=(X1||X2||…||Xm),即由64位分组Xi结合而成。 定义
2021/7/25
Ch5-音讯认证与数字签名
Yuval的生日攻击〔续〕
• (3) 攻击者在上述两个音讯集合中找出可以发生 相反散列值的一对音讯。依据〝生日悖论〞实际, 能找到这样一对音讯的概率是十分大的。假设找 不到这样的音讯,攻击者再发生一条有效的音讯 和伪造的音讯,并添加每组中的明文数目,直至 成功为止。
• 伪装:攻击者生成一个音讯并宣称这条 音讯是来自某合法实体,或许攻击者冒 充音讯接纳方向音讯发送方发送的关于 收到或未收到音讯的欺诈应对。
• 内容修正:对音讯内容的修正,包括拔 出、删除、转换和修正。
• 顺序修正:对通讯双方音讯顺序的修正, 包括拔出、删除和重新排序。
• 计时修正:对音讯的延迟和重放。在面
满足H(m) = h的m在计算上是不可行的; • 给定Hash函数的描画,关于给定的音讯m1,找到满
足m2 m1且H(m2)=H(m1)的m2在计算上是不可行 的; • 找就任何满足H(m1)=H(m2)且m1 m2的音讯对 (m1, m2)在计算上是不可行的。
2021/7/25
Ch5-音讯认证与数字签名
Ch5-音讯认证与数字签名
认证的目的
• 可提招认证功用的认证码的函数可分为 三类:
• 加密函数:运用音讯发送方和音讯接纳 方共享的密钥对整个音讯停止加密,那 么整个音讯的密文作为认证符。

消息鉴别与数字签名_OK

消息鉴别与数字签名_OK

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

06密码学基础(五)消息认证和数字签名PPT课件

06密码学基础(五)消息认证和数字签名PPT课件

MAC算法的要求
条件:
➢ 攻击者知道MAC函数但不知道密钥K
要求:
➢ 已知M和CK(M),要想构造M使得CK(M)=CK(M)在 计算上不可行 (计算上无碰撞)
➢ CK(M)均匀分布:随机选择M和M, Pr[CK(M) = CK(M)]=2-|MAC|
➢ f是M的一个变换(例如对某些位取反),那么, Pr[CK(M)= CK(f(M))]=2-|MAC|
对于任何选定的编码规则,则(相应于某一特定密钥) :发方从Y中选出用来代表消息的许用序列,即码字
收方根据编码规则唯一地确定出发方按此规则向他传 来的消息。
窜扰者由于不知道密钥,因而所伪造的假码字多是Y 中的禁用序列,收方将以很高的概率将其检测出来, 而被拒绝认证
系统设计者的任务是构造好的认证码 (Authentication Code),使接收者受骗概率极小化
y得*∈到A一k个, 以合使法接的收消者息收x*到,y*这后样,窜可扰用者密欺钥诈k解成密功 。 窜扰者虽然知道X,Y,y,A(.,.),但不知具体密码k
关于MAC算法
MAC不等于数字签名
➢ 因为通讯双方共享同一个密钥
MAC有固定的长度
MAC结构的重要性,例如,密钥足够长+加密 算法足够好安全
通信双方是用户A为发信方,用户B为接收方, 用户B接收到信息后,通过解密来判决信息是 否来自A、 信息是否是完整的、有无窜扰。
常规加密
公钥加密
私钥加密
公私钥加密
公(私d)公钥私加钥密加密:机:机密密性性,,可可认认证和证签和名签名
消息认证码(MAC)
简介: 设S为通信中的发方A发送的所有可能的信源集
保密和认证同时是信息系统安全的两个方面,但它们 是两个不同属性的问题。认证不能自动提供保密性, 而保密性也不能自然提供认证功能(能同时实现吗)

信息安全原理与技术之消息认证与数字签名

信息安全原理与技术之消息认证与数字签名
内容修改:对消息内容的修改,包括插入、删除、转 换和修改。
顺序修改:对通信双方消息顺序的修改,包括插入、 删除和重新排序。
计时修改:对消息的延迟和重放。在面向连接的应用 中,攻击者可能延迟或重放以前某合法会话中的消息 序列,也可能会延迟或重放是消息序列中的某一条消 息。
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章消息认证
• 因此,认证函数比加密函数更不易被攻破,因为即 便攻破也无法验证其正确性。关键就在于加密函数 是一对一的,而认证函数是多对一的。
消息认证码的基本用途
• 只提供消息认证,不提供保密性。(见前) • 提供消息认证和保密性:
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。

消息鉴别与数字签名课件

消息鉴别与数字签名课件
3.1. 消息鉴别
完整性是安全的基本要求之一。篡改消息是对通 信系统的主动攻击常见形式。
被篡改的消息是不完整的;信道的偶发干扰和故障也 破坏消息完整性。
接收者能检查所收到的消息是否完整; 进一步接收者能识别所收到的信息是否源于所声称的
主体。即消息来源的真实性
保障消息完整性和真实性的手段: 消息鉴别技术
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相等:

5、消息认证和数字签名讲义

5、消息认证和数字签名讲义

上述标出的认证编码器和认证译码器可抽象为认证函数 一个安全的认证系统,首先要选好恰当的认证函数,然
后在此基础上,给出合理的认证协议(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页
第二,怎样阻止B或A重复使用A以前发送给B的 签名报文呢?仅仅靠签名本身解决不了这些问题。
验证方法:
对上述两个问题,只要合理设计明文格式便可 以解决。一种可行的格式如下:
明文=<发方标示符><收方标示符><报文序号><时 间><数据正文><纠错码>
形式上可将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。
鉴定中心是一个政府参与管理的第三方成员, 以便保证信息的安全和集中管理。用户在获取公开 密钥时,首先向鉴定中心请求数字确认,鉴定中心 确认用户身份后,发出数字确认,同时鉴定中心向 数据库发送确认信息。然后用户使用私有密钥对所 传信息签名,保证信息的完整性、真实性,也使发 送方无法否认信息的发送,之后发向接收方;接收 方接收到信息后,使用公开密钥确认数字签名,进 入数据库检查用户确认信息的状况和可信度;最后 数据库向接收方返回用户确认状态信息。不过,在 使用这种技术时,签名者必须注意保护好私有密钥, 因为它是公开密钥体系安全的重要基础。

信息安全原理与应用 课后习题答案

信息安全原理与应用 课后习题答案

第二章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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
鉴别函数
• 用于产生鉴别符的鉴别函数分为三类: (1) 消息加密函数(Message encryption) 用完整信息的密文作为对信息的鉴别。 (2) 消息鉴别码MAC(Message Authentication Code) 公开函数+密钥产生一个固定长度的值作为 鉴别标识 (3) 散列函数(Hash Function) 一个散列函数以一个变长的报文作为输入, 并产生一个固定长度的散列码,有时也称报文摘 要,作为输出。是一个公开的函数。
12
(a) 对称加密:保密性与鉴别
• 如果用对称密钥加密 ① 提供保密 ② 提供鉴别 • 仅来自A • 传输中没有被更改 • 需要某种结构或冗余 ③ 不提供签名 • 如何自动确定是否收到的明文可解密为可懂的明文? • 一种解决办法是强制明文有某种结构.
电子工业出版社,《信息安全原理与应用》
13
(b) 公钥加密
电子工业出版社,《信息安全原理与应用》
32
解决办法
• 解决办法:引入可公开的密码散列函数(Hash function)。 它将取任意长度的消息做自变量,结果产生规定长度的消 息摘要。[如,使用数字签名标准DSS,消息摘要为160比 特],然后签名消息摘要。对数字签名来说,散列函数h是 这样使用的: 消息: 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'
19
HMAC设计目标
• 无需修改地使用现有的散列函数 • 当出现新的散列函数时,要能轻易地替换 • 保持散列函数的原有性能不会导致算法性能的降 低 • 使用和处理密钥的方式简单 • 对鉴别机制的安全强度容易分析,与hash函数有 同等的安全性
电子工业出版社,《信息安全原理与应用》
20
符号
• • • • • • • • • • • H M Yi L b n K = 嵌入散列函数 = 消息(包括散列函数所需填充位) = M的第i 个数据块,0 i L-1 = M的数据块数 = 数据块的位数 = 嵌入散列函数产生的散列码长度位数 = 保密密钥。如果密钥长度大于b,则密钥送入散列函数 形成一个n位的密钥;推荐程度大于等于n K+ = K在左部添加0使得其长度为b位 ipad = 00110110重复 b/8次 opad = 01011010重复b/8次
电子工业出版社,《信息安全原理与应用》
消息鉴别
• 消息鉴别的概念 • 鉴别函数 – 消息加密 – 消息鉴别码MAC – 散列函数
电子工业出版社,《信息安全原理与应用》
15
消息鉴别码MAC
• 使用一个密钥生成一个固定大小的小数据块,并 加入到消息中,称MAC, 或密码校验和( cryptographic checksum) ① 接收者可以确信消息M未被改变。 ② 接收者可以确信消息来自所声称的发送者; ③ 如果消息中包含顺序码,则接收者可以保证消息 的正常顺序; • MAC函数类似于加密函数,但不需要可逆性。 因此在数学上比加密算法被攻击的弱点要少。
30
使用Hash函数进行完整性检测的模型
电子工业出版社,《信息安全原理与应用》
31
RSA签名算法的弱点
• 任何人能通过对某一y计算x=EkUB(y)伪造一个B对 随机消息x的签名,因为y=SigkRB(x) • 如果消息x1,x2的签名分别是y1和y2,则拥有 x1,x2,y1,y2的任何人可伪造B关于消息x1x2的签名 y1y2,因为SigkRB(x1x2)=SigkRB(x1) SigkRB(x2) mod n • 签名者每次只能签log2n比特长的消息,获得同样 长的签名。如果消息很长,需要逐组签名。然而, 这样,速度慢,签名长。
电子工业出版社,《信息安全原理与应用》
17
CBC-MAC
• ANSI X9.9、FIPS PUB 113和ISO/IEC 9797 • O1 = Ek(D1) • Oi = Ek(DiOi-1) (1<i<N)
电子工业出版社,《信息安全原理与应用》
18
CFB-MAC
电子工业出版社,《信息安全原理与应用》
给定消息x ∈ X,在计算上几乎找不到异于x的x' ∈ X使 h(x)=h(x')。
电子工业出版社,《信息安全原理与应用》
37
安全威胁二
(b)伪造方式二:Oscar首先找到两个消息xx',满足h(x)=h(x'), 然后Oscar把x 给Bob且使他对x的摘要h(x)签名,从而得 到y,那么(x',y)是一个有效的伪造。 定义2(强无碰撞)散列函数h被称为是强无碰撞的,是指在计
电子工业出版社,《信息安全原理与应用》
16
MAC的基本用法
① MAC直接附加在消息之后 AB:M||MACK(M) ② MAC直接附加在消息之后,并对整体进行加密 AB: EK2[ M||MACK1(M)] ③ 先对消息加密,再对密文生成鉴别码 AB: EK2 [M]||MACK1(EK2 [M])
电子工业出版社,《信息安全原理与应用》
33
使用Hash函数进行数字签名的好处
• 提高数字签名的速度 • 无需泄露签名所对应的消息,可将签名泄露,如 对消息x的签名是y=Sigk(z),其中z=h(x),可将(z,y) 公开,而保密x. • 可将签名变换和加密变换分开,可以在OSI的不 同层提供消息的完整性和机密性。
电子工业出版社,《信息安全原理与应用》
10
消息鉴别
• 消息鉴别的概念 • 鉴别函数 – 消息加密 – 消息鉴别码MAC – 散列函数
电子工业出版社,《信息安全原理与应用》
11
消息加密
• 消息的自身加密可以作为一个鉴别的度量。 • 对称密钥模式和公开密钥模式有所不同。
电子工业出版社,《信息安全原理与应用》
电子工业出版社,《信息安全原理与应用》
6
消息鉴别
• 消息鉴别的概念 • 鉴别函数 – 消息加密 – 消息鉴别码MAC – 散列函数
电子工业出版社,《信息安全原理与应用》
7
鉴别模型
• 一个单纯鉴别系统的模型
电子工业出版社,《信息安全原理与应用》
8
鉴别系统的组成
• 鉴别编码器和鉴别译码器可抽象为鉴别函数。 • 一个安全的鉴别系统,需满足 (1)意定的接收者能够检验和证实消息的合法性、真实
性和完整性 (2)消息的发送者和接收者不能抵赖 (3)除了合法的消息发送者,其它人不能伪造合法的消 息
• 首先要选好恰当的鉴别函数,该函数产生一个鉴 别标识,然后在此基础上,给出合理的鉴别协议 (Authentication Protocol),使接收者完成消息的 鉴别。
电子工业出版社,《信息安全原理与应用》
定义3(单向的)称散列函数h为单向的,是指计算h的逆函数 h-1在计算上不可行。
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]]
电子工业出版社,《信息安全原理与应用》
34
散列函数
• • • • • 散列函数的概念 散列函数的用法 散列函数的特性 散列函数的构造 散列算法
电子工业出版社,《信息安全原理与应用》
35
新的问题
• 用以鉴别的散列函数,能否减弱鉴别方案的安全
性?这个问题是要分析的。签名的对象由完整消
息变成消息摘要,这就有可能出现伪造。
信息安全原理与应用
第五章 消息鉴别和数字签名
电子工业出版社,《信息安全原理与应用》
1
内容提要
• 消息鉴别 • 数字签名
电子工业出版社,《信息安全原理与应用》
2
消息鉴别
• 消息鉴别的概念 • 鉴别函数 – 消息加密 – 消息鉴别码MAC – 散列函数
电子工业出版社,《信息安全原理与应用》
3
通信系统典型攻击
电子工业出版社,《信息安全原理与应用》
23
消息鉴别
• 消息鉴别的概念 • 鉴别函数 – 消息加密 – 消息鉴别码MAC – 散列函数
电子工业出版社,《信息安全原理与应用》
24
散列函数
• • • • • 散列函数的概念 散列函数的用法 散列函数的特性 散列函数的构造 散列算法
电子工业出版社,《信息安全原理与应用》
电子工业出版社,《信息安全原理与应用》
22

通过加密得到信息真实性: 问题
• • • • • • 保密性与真实性是两个不同的概念 根本上,信息加密提供的是保密性而非真实性 加密代价大(公钥算法代价更大) 鉴别函数与保密函数的分离能提供功能上的灵活性 在目标系统中延长保护时间 某些信息只需要真实性,不需要保密性 – 广播的信息难以使用加密(信息量大) – 网络管理信息等只需要真实性 – 政府/权威部门的公告
① 窃听 ② 业务流分析 ③ 消息篡改
– – – 内容修改:消息内容被插入、删除、修改。 顺序修改:插入、删除或重组消息序列。 时间修改:消息延迟或重放。
④ 冒充:从一个假冒信息源向网络中插入消息 ⑤ 抵赖:接受者否认收到消息;发送者否认发 送过消息。
电子工业出版社,《信息安全原理与应用》
4
基本概念
26
散列函数
• • • • • 散列函数的概念 散列函数的用法 散列函数的特性 散列函数的构造 散列算法
相关文档
最新文档