信息认证技术概述.ppt

上传人:F****n 文档编号:97074801 上传时间:2019-09-01 格式:PPT 页数:55 大小:902KB
返回 下载 相关 举报
信息认证技术概述.ppt_第1页
第1页 / 共55页
信息认证技术概述.ppt_第2页
第2页 / 共55页
信息认证技术概述.ppt_第3页
第3页 / 共55页
信息认证技术概述.ppt_第4页
第4页 / 共55页
信息认证技术概述.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

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

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

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

3、。 注:碰撞性是指对于两个不同的消息M和M ,如果它们的摘要值相同,则发生了碰撞。,3.2 哈希函数,安全散列函数的一般结构,与分组对称密码的CBC模式非常相似。函数的输入M被分为b位的L个分组Y0,Y1,YL-1,以及n位链接变量初值V0,通常bn。 反复调用压缩函数f: Vi=f(Yi-1,Vi-1) ,i=1,2,L。f输出Vi仍然是n位。 M的散列值H(M, V0)=VL 算法的核心是压缩函数f 在对M的分组中,最后一组YL-1不足b位时填充0或者1将其补足。通常还将M的长度填充到最后一个分组中。,常用的哈希函数 MD5 SHA-1 RIPEMD-160 等等,MD5算法,麻省理工学院

4、Ron Rivest提出,可将任意长度的消息经过变换得到一个128位的散列值。 MD5算法: MD5以512位分组来处理输入的信息,每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后生成128位散列值。,MD5产生消息摘要的过程,MD5算法实现逻辑由4个步骤组成: S1:消息分组与填充。 (1)将输入信息M按顺序每512位一组进行分组: M = M1,M2,Mn-1,Mn (2)将信息M的Mn长度填充为448位。 当Mn长度L(bit为单位) 448时,在信息Mn后加一个“1”,然后再填充512-L+447个“0”,使最后的信息

5、Mn长度为512位,Mn+1长度为448位 最后一个分组的后64位为M的位长度(低字节优先)。 S2:缓冲区初始化。 MD5算法使用128位缓冲区存放处理过程的中间结果和最后的消息摘要值。这128位缓冲分为4个32位逻辑寄存器A、B、C、D。每个寄存器以Little-Endian存放数据,其初始值为: A=0x1234567,B=0x89abcdef,C=0xfedcba98,D=0x7543210 这四个32位变量被称为链接变量,它们始终参与运算并形成最终的散列值。,S3:对每个分组Mi进行压缩处理HMD5。 HMD5是算法核心。HMD5内部有4轮处理过程。每轮处理结构一样,但使用的位逻辑函

6、数不同,分别表示为F、G、H、I。每轮处理的输入是当前正在处理的512位分组、128位缓冲区(A、B、C、D)的当前值和常量表T中四分之一的常数,即分别为T116、T1732、T3348、T49.64。第4轮处理的输出再与第1轮的输入CVq按照4个32位字进行模232相加,结果即为压缩函数HMD5对当前512位分组的输出。 常量表T=T1,64中各元素: Ti=int(232abs(sin(i),为32位整型数。T作为予置的常数表,其作用是随机化32位整型量,消除输入数据的规律性。 压缩函数HMD5每轮处理细节由对128位缓冲区(A、B、C、D)的16步迭代构成,每一步运算如下: aB+CLS

7、(s,A+g(B,C,D)+Xk+Ti) 其中,+为模232加法,CLS(s,w)是对32位字w循环左移s位。位逻辑函数g分别取F、G、H、I之一,Xk=Mq16+k,即消息的第q个分组中第k个32位字(k=1,2,16)。,512位分组的压缩处理HMD5,HMD5中每步的逻辑运算,位逻辑运算函数F、G、H、I定义如下: F(x,y,z)=(x&y)|(x)&z) G(x,y,z)=(x&z)|(y&( z) H(x,y,z)=xyz I(x,y,z)=z(y&( z) 上图中j(i)表示各轮处理中使用16个32位字的不同次序(j=2,3,4)。其中第1轮按照初始次序;第2、3、4轮按照下式对

8、(1,2,16)进行置换: 2(i)=(1+5*i)mod 16 3(i)=(5+3*i)mod 16 4(i)= (7*i) mod 16 S4:将消息M的L个分组处理完毕,最后一个分组处理的输出即为消息M的摘要。因此,第3、4步可以总结为: CV0=V1 CVq+1=CVq+RFI(Yq,RFH(Yq, RFG(Yq, RFF(Yq, CVq) q=1,2,(L-1) MD= CVL 其中RFX()为与位逻辑函数X结合的轮处理过程(X=F、G、H、I),+为对应32位字模232加法。V1取缓冲区(A、B、C、D)的初值。,MD5算法的核心处理HMD5中重复进行位逻辑运算F、G、H、I,使得

9、最终输出的摘要中每一位与输入消息中所有位相关,因此达到很好的混淆效果。 MD5在数据处理中广泛使用。 例如: 用户口令可以用MD5码值秘密存储。当用户输入口令时先转换为对应MD5码值,在和系统保存的密码MD5值进行比较(Linux)。这样系统在未知用户口令的情况下即可实现对口令的验证,同时用户口令对于系统管理员也是未知的。,SHA(Secure Hash Algorithm)是美国国家标准与技术研究所(NIST)提出,于1993年作为联邦信息处理标准(FIPS 180)发布的,1995年又发布了其修订版(FIPS 180-1),通常称为SHA-1。 与 MD5 相比,SHA-1 生成 160

10、位的消息摘要,执行速度有所降低,却被认为更安全。明文消息的最大长度可达到264位。,3.2.3 SHA-1算法,与MD5算法类似,SHA-1算法也需要对消息进行填充补位。 补位是这样进行的: 先添加一个1,然后再添加多个0,使得消息长度满足对512取模后余数是448。 SHA-1的中间结果和最终结果保存在160位的缓冲区中,缓冲区用5个32位的变量表示,这些变量初始化为: A=0x67452301 B=0xefcdab89 C=0x98badcfe D=0x10325476 E=0xc3d2e1f0,3.2.3 SHA-1算法,SHA-1的主循环,3.2.3 SHA-1算法,SHA-1的非线性

11、函数,3.2.3 SHA-1算法,对512位的消息进行处理,将其从16个32位的消息分组变成80个32位的消息分组。 用到的80对常数:,3.2.3 SHA-1算法,SHA-1的基本操作过程,3.2.3 SHA-1算法,1981年,NIST发布FIPS 180-2,新增了三个哈希函数,分别为SHA-256,SHA-384,SHA-512,其散列值的长度分别为256,384,512。同时,NIST指出FIPS 180-2的目的是要与使用AES而增加的安全性相适应。,3.2.3 SHA-1算法,3.3 消息认证技术,网络传输过程中信息保密性的要求: (1)对敏感的数据进行加密,即使别人截获文件也无

12、法得到真实内容。 (2)保证数据的完整性,防止截获人对数据进行篡改。 (3)对数据和信息的来源进行验证,以确保发信人的身份。 消息认证是指使合法的接收方能够检验消息是否真实的方法。检验内容包括验证通信的双方和验证消息内容是否伪造或遭篡改。,常见的认证函数: (1) 消息加密:将整个消息的密文作为认证码。 (2) 哈希函数:通过哈希函数使消息产生定长的散列值作为认证码。 (3) 消息认证码(MAC):将消息与密钥一起产生定长值作为认证码。,3.3 消息认证技术,基于对称密钥加密的消息认证过程,3.3 消息认证技术,(1) 消息加密认证,添加校验码的消息认证过程,3.3 消息认证技术,(1) 消息

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

14、(M|K),该散列值就是M的消息认证码。,3.3 消息认证技术,(3) 消息认证码(MAC)的认证,基于消息认证码的认证过程: MAC=C(M,K)= H(M|k) 或者 DES密码链接模式值 ,(3) 消息认证码(MAC)的认证,3.3 消息认证技术,3.4 数字签名,用户A与B相互之间要进行通信,双方拥有共享的会话密钥K,在通信过程中可能会遇到如下问题: 1)A伪造一条消息,并称该消息来自B。A只需要产生一条伪造的息,用A和B的共享密钥通过哈希函数产生认证码,并将认证码附于消息之后。由于哈希函数的单向性和密钥K是共享的,因此无法证明该消息是A伪造的。 2)B可以否认曾经发送过某条消息。因为

15、任何人都有办法伪造消息,所以无法证明B是否发送过该消息。 哈希函数可以进行报文鉴别,但无法阻止通信用户的欺骗和抵赖行为。当通信双方不能互相信任,需要用除了报文鉴别技术以外的其他方法来防止类似的抵赖和欺骗行为。,3.4 数字签名,数字签名也称电子签名。 “以电子形式所附或逻辑上与其他电子数据相关的数据,做为一种判别的方法。” 联合国贸法会电子签名示范法定义为: “在数据电文中以电子形式所含、所附或在逻辑上与数据电文有联系的数据,它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息。” 数字签名应该能够在数据通信过程中识别通信双方的真实身份,保证通信的真实性以及不可抵赖性,起到与手写

16、签名或者盖章同等作用。,签名应该具有的特征: (1)可信。 因为B是用A的公钥解开加密文件的,这说明原文件只能被A的私钥加密而只有A才知道自己的私钥。 (2)无法被伪造。 只有A知道自己的私钥。因此只有A能用自己的私钥加密一个文件。 (3)无法重复使用。 签名在这里就是一个加密过程,自己无法重复使用。 (4)文件被签名以后是无法被篡改的。 因为加密后的文件被改动后是无法被A的公钥解开的。 (5)签名具有不可否认性。 因为除A以外无人能用A的私钥加密一个文件。,3.4 数字签名,1. 直接数字签名,3.4.2 数字签名的实现,用户A与B要进行通信,每个从A发往B的签名报文首先都先发送给仲裁者C,C检验该报文及其签名的出处和内容,然后对报文注明日期,同时指明该报文已通过仲裁者的检验。 仲裁者的引入解决了直接签名方案中所面临的问题,及发送方的否认行为。,2. 仲裁数字签名

展开阅读全文
相关资源
相关搜索

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

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