信息认证技术概述41555.pptx





《信息认证技术概述41555.pptx》由会员分享,可在线阅读,更多相关《信息认证技术概述41555.pptx(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第第3 3章章 信息认证技术信息认证技术第三章第三章 信息认证技术信息认证技术 3.1 概述概述3.2 哈希函数哈希函数3.3 消息认证技术消息认证技术3.4 数字签名数字签名3.5 身份认证身份认证 第第3 3章章 信息认证技术信息认证技术3.1 概述概述在网络通信和电子商务中很容易发生如下问题。在网络通信和电子商务中很容易发生如下问题。1否认,发送信息的一方不承认自己发送过某一信息。否认,发送信息的一方不承认自己发送过某一信息。2伪造,接收方伪造一份文件,并声称它来自某发送方伪造,接收方伪造一份文件,并声称它来自某发送方的。的。3冒充,网络上的某个用户冒充另一个用户接收或发送冒充,网络上
2、的某个用户冒充另一个用户接收或发送信息。信息。4篡改,信息在网络传输过程中已被篡改,或接收方对篡改,信息在网络传输过程中已被篡改,或接收方对收到的信息进行篡改。收到的信息进行篡改。用数字签名(用数字签名(Digital SignatureDigital Signature)可以有效地解决这些问题。数字签名可以有效地解决这些问题。数字签名就是主要用于对数字信息进行的签名,就是主要用于对数字信息进行的签名,以防止信息被伪造或篡改等。以防止信息被伪造或篡改等。第第3 3章章 信息认证技术信息认证技术3.1 概述概述一个安全的认证系统应满足以下条件:一个安全的认证系统应满足以下条件:(1)合法的接收者
3、能够检验所接收消息的合法性和)合法的接收者能够检验所接收消息的合法性和真实性。真实性。(2)合法的发送方对所发送的消息无法进行否认。)合法的发送方对所发送的消息无法进行否认。(3)除了合法的发送方之外,任何人都无法伪造、)除了合法的发送方之外,任何人都无法伪造、篡改消息。篡改消息。第第3 3章章 信息认证技术信息认证技术3.2 哈希函数哈希函数 哈希函数,哈希函数,单向散列函数单向散列函数基本思想基本思想输入任意长度的消息输入任意长度的消息M,产生固定长度的数据,产生固定长度的数据输出。输出。向向hash函数输入一任意长度的信息函数输入一任意长度的信息M时,时,hash函数函数将输出一固定长度
4、为将输出一固定长度为m的散列值的散列值h。即:。即:h =H(M)第第3 3章章 信息认证技术信息认证技术性质:性质:固定长度输出散列值固定长度输出散列值h。给定给定M,很容易计算,很容易计算h。给定给定h,根据,根据H(M)h计算计算M很难。很难。给定给定M,找到另一消息,找到另一消息M,满足,满足H(M)H(M),在计,在计算上是不可行的算上是不可行的-弱抗碰撞性。弱抗碰撞性。对于任意两个不同的消息对于任意两个不同的消息 M M,它们的散列值不,它们的散列值不可能相同可能相同-强抗碰撞性。强抗碰撞性。注:碰撞性是指对于两个不同的消息注:碰撞性是指对于两个不同的消息M和和M,如果它们的,如果
5、它们的摘要值相同,则发生了碰撞。摘要值相同,则发生了碰撞。3.2 哈希函数哈希函数 第第3 3章章 信息认证技术信息认证技术安全散列函数的一般结构 与分组对称密码的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的长度填充到最后一个分组中。fY0V0fY1V1fYL-1VL-1VL安全散列函数的一般结构 第第3
6、3章章 信息认证技术信息认证技术常用的哈希函数常用的哈希函数MD5SHA-1RIPEMD-160等等等等 第第3 3章章 信息认证技术信息认证技术MD5算法算法麻麻省省理理工工学学院院Ron Rivest提提出出,可可将将任任意意长长度度的的消消息息经经过过变变换换得得到到一一个个128位的散列值。位的散列值。MD5算法:算法:MD5以以512位位分分组组来来处处理理输输入入的的信信息息,每每一一分分组组又又被被划划分分为为16个个32位位子子分分组组,经经过过了了一一系系列列的的处处理理后后,算算法法的的输输出出由由四四个个32位位分分组组组组成,将这四个成,将这四个32位分组级联后生成位分
7、组级联后生成128位散列值。位散列值。MD5产生消息摘要的过程 第第3 3章章 信息认证技术信息认证技术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”,使最后的信息Mn长度为512位,Mn+1长度为448位 最后一个分组的后64位为M的位长度(低字节优先)。S2:缓冲区初始化。MD5算法使用128位缓冲区存放处理过程的中间结果和最后的消息摘要值。这128位缓冲分为4个3
8、2位逻辑寄存器A、B、C、D。每个寄存器以Little-Endian存放数据,其初始值为:A=0 x1234567,B=0 x89abcdef,C=0 xfedcba98,D=0 x7543210 这四个32位变量被称为链接变量,它们始终参与运算并形成最终的散列值。第第3 3章章 信息认证技术信息认证技术S3:对每个分组Mi进行压缩处理HMD5。HMD5是算法核心。HMD5内部有4轮处理过程。每轮处理结构一样,但使用的位逻辑函数不同,分别表示为F、G、H、I。每轮处理的输入是当前正在处理的512位分组、128位缓冲区(A、B、C、D)的当前值和常量表T中四分之一的常数,即分别为T1.16、T1
9、732、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(s,A+g(B,C,D)+Xk+Ti)其中,+为模232加法,CLS(s,w)是对32位字w循环左移s位。位逻辑函数g分别取F、G、H、I之一,Xk=Mq16+k,即消息的第
10、q个分组中第k个32位字(k=1,2,.16)。512位分组的压缩处理HMD5 HMD5中每步的逻辑运算 第第3 3章章 信息认证技术信息认证技术位逻辑运算函数F、G、H、I定义如下:F(x,y,z)=(x&y)|(x)&z)G(x,y,z)=(x&z)|(y&(z)H(x,y,z)=xyzI(x,y,z)=z(y&(z)上图中j(i)表示各轮处理中使用16个32位字的不同次序(j=2,3,4)。其中第1轮按照初始次序;第2、3、4轮按照下式对(1,2,.16)进行置换:2(i)=(1+5*i)mod 163(i)=(5+3*i)mod 164(i)=(7*i)mod 16S4:将消息M的L个
11、分组处理完毕,最后一个分组处理的输出即为消息M的摘要。因此,第3、4步可以总结为:CV0=V1CVq+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)的初值。第第3 3章章 信息认证技术信息认证技术 MD5算法的核心处理HMD5中重复进行位逻辑运算F、G、H、I,使得最终输出的摘要中每一位与输入消息中所有位相关,因此达到很好的混淆效果。MD5在数据处理中广泛使用。例如:用户口令可以用MD5码值秘密存储。
12、当用户输入口令时先转换为对应MD5码值,在和系统保存的密码MD5值进行比较(Linux)。这样系统在未知用户口令的情况下即可实现对口令的验证,同时用户口令对于系统管理员也是未知的。第第3 3章章 信息认证技术信息认证技术SHA(Secure Hash Algorithm)是美国国家标准与技术研究所(NIST)提出,于1993年作为联邦信息处理标准(FIPS 180)发布的,1995年又发布了其修订版(FIPS 180-1),通常称为SHA-1。与 MD5 相比,SHA-1 生成 160 位的消息摘要,执行速度有所降低,却被认为更安全。明文消息的最大长度可达到264位。3.2.3 SHA-1算法
13、算法 第第3 3章章 信息认证技术信息认证技术与MD5算法类似,SHA-1算法也需要对消息进行填充补位。补位是这样进行的:先添加一个1,然后再添加多个0,使得消息长度满足对512取模后余数是448。SHA-1的中间结果和最终结果保存在160位的缓冲区中,缓冲区用5个32位的变量表示,这些变量初始化为:A=0 x67452301B=0 xefcdab89C=0 x98badcfeD=0 x10325476E=0 xc3d2e1f03.2.3 SHA-1算法算法 第第3 3章章 信息认证技术信息认证技术SHA-1的主循环的主循环 3.2.3 SHA-1算法算法 第第3 3章章 信息认证技术信息认证
14、技术SHA-1的非线性函数的非线性函数 3.2.3 SHA-1算法算法 第第3 3章章 信息认证技术信息认证技术对512位的消息进行处理,将其从16个32位的消息分组变成80个32位的消息分组。用到的80对常数:3.2.3 SHA-1算法算法 第第3 3章章 信息认证技术信息认证技术SHA-1的基本操作过程的基本操作过程 3.2.3 SHA-1算法算法 第第3 3章章 信息认证技术信息认证技术1981年,NIST发布FIPS 180-2,新增了三个哈希函数,分别为SHA-256,SHA-384,SHA-512,其散列值的长度分别为256,384,512。同时,NIST指出FIPS 180-2的
15、目的是要与使用AES而增加的安全性相适应。SHA-1SHA-256SHA-384SHA-512散列散列值长值长度度160160256256384384512512消息大小消息大小2264642264642212812822128128分分组组大小大小5125125125121024102410241024字字长长3232323264646464步数步数80808080808080803.2.3 SHA-1算法算法 第第3 3章章 信息认证技术信息认证技术3.3 消息认证技术消息认证技术 网络传输过程中信息保密性的要求:网络传输过程中信息保密性的要求:(1)(1)对敏感的数据进行加密,即使别人截
16、获文件也无法得到对敏感的数据进行加密,即使别人截获文件也无法得到真实内容。真实内容。(2)(2)保证数据的完整性,防止截获人对数据进行篡改。保证数据的完整性,防止截获人对数据进行篡改。(3)(3)对数据和信息的来源进行验证,以确保发信人的身份。对数据和信息的来源进行验证,以确保发信人的身份。消息认证是指使合法的接收方能够检验消息是否真实的方法。消息认证是指使合法的接收方能够检验消息是否真实的方法。检验内容包括验证通信的双方和验证消息内容是否伪造或遭检验内容包括验证通信的双方和验证消息内容是否伪造或遭篡改。篡改。第第3 3章章 信息认证技术信息认证技术常见的认证函数:常见的认证函数:(1)消息加
17、密消息加密:将整个消息的密文作为认证码。(2)哈希函数哈希函数:通过哈希函数使消息产生定长的散列值作为认证码。(3)消息认证码(消息认证码(MAC):将消息与密钥一起产生定长值作为认证码。3.3 消息认证技术消息认证技术 第第3 3章章 信息认证技术信息认证技术基于对称密钥加密的消息认证过程基于对称密钥加密的消息认证过程3.3 消息认证技术消息认证技术(1)消息加密认证消息加密认证 第第3 3章章 信息认证技术信息认证技术添加校验码的消息认证过程添加校验码的消息认证过程3.3 消息认证技术消息认证技术(1)消息加密认证消息加密认证 第第3 3章章 信息认证技术信息认证技术基于公钥加密的消息认证
18、过程基于公钥加密的消息认证过程(1)消息加密认证消息加密认证3.3 消息认证技术消息认证技术 第第3 3章章 信息认证技术信息认证技术使用哈希函数的消息认证过程使用哈希函数的消息认证过程 3.3 消息认证技术消息认证技术(2)哈希函数认证哈希函数认证 第第3 3章章 信息认证技术信息认证技术保证机密性的哈希函数消息认证过程保证机密性的哈希函数消息认证过程(2)哈希函数认证哈希函数认证3.3 消息认证技术消息认证技术 第第3 3章章 信息认证技术信息认证技术混合加密认证混合加密认证(2)哈希函数认证哈希函数认证3.3 消息认证技术消息认证技术 第第3 3章章 信息认证技术信息认证技术MAC函数与
19、加密函数相似之处在于使用了密钥,但差别在于加密函数是可逆的,而MAC函数可以是单向的,它无需可逆,因此比加密更不容易破解。哈希函数同样也可以用来产生消息认证码。假设是通信双方和共同拥有的密钥,A要发送消息M给B,在不需要进行加密的条件下,A只需将M和K合起来一起通过哈希函数计算出其散列值,即H(M|K),该散列值就是M的消息认证码。3.3 消息认证技术消息认证技术(3)消息认证码(消息认证码(MAC)的认证)的认证 第第3 3章章 信息认证技术信息认证技术基于消息认证码的认证过程基于消息认证码的认证过程:MAC=C(M,K)=H(M|k)或者或者 DES密码链接模式值密码链接模式值 (3)消息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 认证 技术 概述 41555

限制150内