信息认证技术课件

上传人:我*** 文档编号:146160292 上传时间:2020-09-27 格式:PPT 页数:59 大小:1.48MB
返回 下载 相关 举报
信息认证技术课件_第1页
第1页 / 共59页
信息认证技术课件_第2页
第2页 / 共59页
信息认证技术课件_第3页
第3页 / 共59页
信息认证技术课件_第4页
第4页 / 共59页
信息认证技术课件_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《信息认证技术课件》由会员分享,可在线阅读,更多相关《信息认证技术课件(59页珍藏版)》请在金锄头文库上搜索。

1、1,第三章 信息认证技术,3.1 概述 3.2 哈希函数 3.3 消息认证技术 3.4 数字签名 3.5 身份认证,2,3.1 概述,在网络通信和电子商务中很容易发生如下问题。 1否认,发送信息的一方不承认自己发送过某一信息。 2伪造,接收方伪造一份文件,并声称它来自某发送方。 3冒充,网络上的某个用户冒充另一个用户接收或发送信息。 4篡改,信息在网络传输过程中已被篡改,或接收方对收到的信息进行篡改。,用数字签名(Digital Signature)可以有效地解决这些问题。数字签名就是主要用于对数字信息进行的签名,以防止信息被伪造或篡改等。,3,3.1 概述,一个安全的认证系统应满足以下条件:

2、 (1)合法的接收者能够检验所接收消息的合法性和真实性。 (2)合法的发送方对所发送的消息无法进行否认。 (3)除了合法的发送方之外,任何人都无法伪造、篡改消息。,4,3.2 哈希函数,哈希函数,单向散列函数 基本思想 输入任意长度的消息M,产生固定长度的数据输出。 向hash函数输入一任意长度的信息M时,hash函数将输出一固定长度为m的散列值h。即: h = H(M),5,3.2 哈希函数,性质: 固定长度输出散列值h。 给定M,很容易计算h。 给定h,根据H(M)h计算M很难。 给定M,找到另一消息M,满足H(M)H(M),在计算上是不可行的-弱抗碰撞性。 对于任意两个不同的消息 M M

3、,它们的散列值不可能相同-强抗碰撞性。 注:碰撞性是指对于两个不同的消息M和M ,如果它们的摘要值相同,则发生了碰撞。,6,3.2 哈希函数,常用的哈希函数 MD5 SHA-1 RIPEMD-160 等等,7,3.2.2 MD5算法,麻省理工学院Ron Rivest提出,可将任意长度的消息经过变换得到一个128位的散列值。 MD5算法: MD5以512位分组来处理输入的信息,每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后生成128位散列值。,8,3.2.2 MD5算法,MD5主循环,9,3.2.2 MD5算法,MD5算法步骤

4、 1数据填充与分组 (1)将输入信息M按顺序每512位一组进行分组: M = M1,M2,Mn-1,Mn (2)将信息M的Mn长度填充为448位。 当Mn长度L(bit为单位) 448时,在信息Mn后加一个“1”,然后再填充512-L+447个“0”,使最后的信息Mn长度为512位,Mn+1长度为448位,10,3.2.2 MD5算法,2初始化散列值 在MD5算法中要用到4个32位变量,分别为A、B、C、D: A = 0 x01234567 B = 0 x89abcdef C = 0 xfedcba98 D = 0 x76543210 在MD5算法过程中,这四个32位变量被称为链接变量,它们始

5、终参与运算并形成最终的散列值。,11,3.2.2 MD5算法,3计算散列值 (1)将填充后的信息按每512位分为一块(Block),每块按32位为一组划分成16个分组,即 Mi = Mi0,Mi2,Mi15,i = 1 n。 (2)分别对每一块信息进行4轮计算(即主循环)。每轮定义一个非线性函数: (3)将A、B、C、D这四个变量分别复制到变量a、b、c、d中。,12,3.2.2 MD5算法,(4)每一轮进行16次操作,每次操作对a、b、c、d中的三个变量作一次非线性函数运算,然后将所得的结果与第四个变量、信息的一个分组Mj和一个常数ti相加。再将所得的结果循环左移一个不定数s,并加上a、b、

6、c、d中的一个变量。 FF(a,b,c,d, Mj ,s, ti ) 表示 a = b +(a + F(b,c,d)+ Mj + ti )s) GG(a,b,c,d, Mj ,s, ti )表示 a = b +(a + G(b,c,d)+ Mj + ti )s) HH(a,b,c,d, Mj ,s, ti )表示 a = b +(a + H(b,c,d)+ Mj + ti )s) I I(a,b,c,d, Mj ,s, ti ) 表示 a = b +(a + I(b,c,d)+ Mj + ti )s) 在第i步中,常数ti 取值为232abs(sin(i)的整数部分。 这样就可以得到4轮共64

7、步操作。,13,第一轮 FF(a,b,c,d,M0,7,0 xD76AA478) FF(d,a,b,c,M1,12,0 xE8C7B756) FF(c,d,a,b,M2,17,0 x242070DB) FF(b,c,d,a,M15,22,0 x49B40821) 第二轮 GG(a,b,c,d,M1,5,0 xF61E2562) GG(d,a,b,c,M6,9,0 xC040B340) GG(c,d,a,b,M11,14,0 x265E5A51) GG(b,c,d,a,M12,20,0 x8D2A4C8A),第三轮 HH(a,b,c,d,M5,4,0 xFFFA3942) HH(d,a,b,c,

8、M8,11,0 x8771F681) HH(c,d,a,b,M11,16,0 x6D9D6122) HH(b,c,d,a,M2,23,0 xC4AC5665) 第四轮 II(a,b,c,d,M0,6,0 xF4292244) II(d,a,b,c,M7,10,0 x432AFF97) II(c,d,a,b,M14,15,0 xAB9423A7) II(b,c,d,a,M9,21,0 xEB86D391),16,14,MD5的基本操作过程,3.2.2 MD5算法,15,3.2.2 MD5算法,4轮循环操作完成之后,将A、B、C、D分别加上a、b、c、d,即 A=A+a B=B+b C=C+c D

9、=D+d 这里的加法是模232加法 然后用下一分组数据继续运行算法,最后的输出是A、B、C和D的级联。,16,3.2.3 SHA-1算法,SHA(Secure Hash Algorithm)是美国国家标准与技术研究所(NIST)提出,于1993年作为联邦信息处理标准(FIPS 180)发布的,1995年又发布了其修订版(FIPS 180-1),通常称为SHA-1。 SHA-1算法的输入是长度小于264位的消息,输出160位的散列值。,17,与MD5算法类似,SHA-1算法也需要对消息进行填充补位。 补位是这样进行的: 先添加一个1,然后再添加多个0,使得消息长度满足对512取模后余数是448。

10、 SHA-1的中间结果和最终结果保存在160位的缓冲区中,缓冲区用5个32位的变量表示,这些变量初始化为: A=0 x67452301 B=0 xefcdab89 C=0 x98badcfe D=0 x10325476 E=0 xc3d2e1f0,3.2.3 SHA-1算法,18,SHA-1的主循环,3.2.3 SHA-1算法,19,SHA-1的非线性函数,3.2.3 SHA-1算法,20,对512位的消息进行处理,将其从16个32位的消息分组变成80个32位的消息分组。 用到的80对常数:,3.2.3 SHA-1算法,21,SHA-1的基本操作过程,3.2.3 SHA-1算法,22,2001

11、年,NIST发布FIPS 180-2,新增了三个哈希函数,分别为SHA-256,SHA-384,SHA-512,其散列值的长度分别为256,384,512。同时,NIST指出FIPS 180-2的目的是要与使用AES而增加的安全性相适应。,3.2.3 SHA-1算法,23,3.3 消息认证技术,网络传输过程中信息保密性的要求: (1)对敏感的数据进行加密,即使别人截获文件也无法得到真实内容。 (2)保证数据的完整性,防止截获人对数据进行篡改。 (3)对数据和信息的来源进行验证,以确保发信人的身份。 消息认证是指使合法的接收方能够检验消息是否真实的方法。检验内容包括验证通信的双方和验证消息内容是

12、否伪造或遭篡改。,24,3.3 消息认证技术,常见的认证函数: (1) 消息加密:将整个消息的密文作为认证码。 (2) 哈希函数:通过哈希函数使消息产生定长的散列值作为认证码。 (3) 消息认证码(MAC):将消息与密钥一起产生定长值作为认证码。,25,基于对称密钥加密的消息认证过程,3.3 消息认证技术,(1) 消息加密认证,26,添加校验码的消息认证过程,3.3 消息认证技术,(1) 消息加密认证,27,基于公钥加密的消息认证过程,(1) 消息加密认证,3.3 消息认证技术,28,使用哈希函数的消息认证过程,3.3 消息认证技术,(2) 哈希函数认证,29,保证机密性的哈希函数消息认证过程

13、,(2) 哈希函数认证,3.3 消息认证技术,30,混合加密认证,(2) 哈希函数认证,3.3 消息认证技术,31,基于消息认证码的认证过程,(3) 消息认证码(MAC)的认证,3.3 消息认证技术,32,3.3 消息认证技术,MAC函数与加密函数相似之处在于使用了密钥,但差别在于加密函数是可逆的,而MAC函数可以是单向的,它无需可逆,因此比加密更不容易破解。 哈希函数同样也可以用来产生消息认证码。 假设是通信双方和共同拥有的密钥,A要发送消息M给B,在不需要进行加密的条件下,A只需将M和K合起来一起通过哈希函数计算出其散列值,即H(M|K),该散列值就是M的消息认证码。,33,3.4 数字签

14、名,用户A与B相互之间要进行通信,双方拥有共享的会话密钥K,在通信过程中可能会遇到如下问题: 1)A伪造一条消息,并称该消息来自B。A只需要产生一条伪造的消息,用A和B的共享密钥通过哈希函数产生认证码,并将认证码附于消息之后。由于哈希函数的单向性和密钥K是共享的,因此无法证明该消息是A伪造的。 2)B可以否认曾经发送过某条消息。因为任何人都有办法伪造消息,所以无法证明B是否发送过该消息。 哈希函数可以进行报文鉴别,但无法阻止通信用户的欺骗和抵赖行为。当通信双方不能互相信任,需要用除了报文鉴别技术以外的其他方法来防止类似的抵赖和欺骗行为。,34,3.4 数字签名,数字签名也称电子签名。 “以电子

15、形式所附或逻辑上与其他电子数据相关的数据,做为一种判别的方法。” 联合国贸法会电子签名示范法定义为: “在数据电文中以电子形式所含、所附或在逻辑上与数据电文有联系的数据,它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息。” 数字签名应该能够在数据通信过程中识别通信双方的真实身份,保证通信的真实性以及不可抵赖性,起到与手写签名或者盖章同等作用。,35,3.4 数字签名,签名应该具有的特征: (1)可信。 因为B是用A的公钥解开加密文件的,这说明原文件只能被A的私钥加密而只有A才知道自己的私钥。 (2)无法被伪造。 只有A知道自己的私钥。因此只有A能用自己的私钥加密一个文件。 (

16、3)无法重复使用。 签名在这里就是一个加密过程,自己无法重复使用。 (4)文件被签名以后是无法被篡改的。 因为加密后的文件被改动后是无法被A的公钥解开的。 (5)签名具有不可否认性。 因为除A以外无人能用A的私钥加密一个文件。,36,1. 直接数字签名,3.4.2 数字签名的实现,37,3.4.2 数字签名的实现,用户A与B要进行通信,每个从A发往B的签名报文首先都先发送给仲裁者C,C检验该报文及其签名的出处和内容,然后对报文注明日期,同时指明该报文已通过仲裁者的检验。 仲裁者的引入解决了直接签名方案中所面临的问题,及发送方的否认行为。,2. 仲裁数字签名,38,方案1 1 AC:M|EKA(IDA|H(M) 2CB:EKB(IDA|M|EKA(IDA|H(M)|T) 方案2 1 AC: IDA|EKS(M)|EKA(IDA|H(EKS(M) 2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号