网络信息安全技术课件 第3章 信息认证_第1页
网络信息安全技术课件 第3章 信息认证_第2页
网络信息安全技术课件 第3章 信息认证_第3页
网络信息安全技术课件 第3章 信息认证_第4页
网络信息安全技术课件 第3章 信息认证_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章信息认证信息认证概述信息加密函数信息认证码MAC散列函数HashFunction经典Hash算法3.1信息认证概述3.1信息认证概述信息认证也称为信息鉴别(messageauthentication),就是验证信息的完整性,当接收方收到发送方的报文时,接收方能够验证收到的报文是真实的和未被篡改的。

它包含两层含义:一是验证信息的发送者是真正的而不是冒充的,即数据起源认证;二是验证信息在传送过程中未被篡改、重放或延迟等。3.1信息认证概述3.1信息认证概述认证的函数分为三类:信息加密函数(Messageencryption)信息认证码MAC(MessageAuthenticationCode):是对信源信息的一个编码函数。散列函数(HashFunction):是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。3.2信息加密函数1.使用对称加密

实现信息认证

在认证的过程中,如何自动确定是否收到的明文可解密为可懂的明文?一种解决办法是强制明文有某种结构,即要求明文具有某些易于识别的结构,并且不通过加密函数是不能重复这种结构的。例如可以在加密以前对信息附加检错码。1.使用对称加密

实现信息认证

采用内部错误控制来实现信息确认认证,根据明文M和公开的函数F产生FCS(即错误检测码或帧校验序列)。把M和FCS合在一起加密,并传输。接收端把密文解密,得到M。根据得到的M,按照F计算FCS,并与接收到的FCS比较是否相等。相等则信息正确,不相等则信息在传送过程中被篡改。1.使用对称加密

实现信息认证

采用外部错误控制来实现信息确认认证,先将明文做加密处理,然后根据加密后的密文和公开的函数F产生FCS。把密文和FCS合在一起传输。接收端把密文计算FCS,并与接收到的FCS比较是否相等。如果相等,则信息没有被篡改,将密文解密得到M。2.公钥密码体制

加密认证

该加密机制使用信息接收者的公钥加密信息,接收者使用自己的私钥解密信息。信息在传输的过程中,保证了信息的机密性。但是没有实现信息的认证。2.公钥密码体制

加密认证

该加密机制使用发送者的私钥实现对信息的加密,接收者使用发送者的公钥对信息进行解密,可以认证信息在传输过程中没有被更改,但信息需要有某种特定的结构和加入冗余的验证码。但是该机制中,任何一方都可以使用发送者的公钥进行解密和验证,没有实现信息的保密性。2.公钥密码体制

加密认证

该加密机制实现了对信息的认证和信息传输的保密性。但是在一次通信过程中执行了四次复杂的公钥算法,大大降低了处理信息的效率,一般不建议采用。3.加密和认证的分离对称密码体制的加密能够提供认证,为什么还要使用独立的信息认证码呢?保密性与真实性是两个不同的概念。根本上,信息加密提供的是保密性而非真实性。加密代价大(公钥算法代价更大)。认证函数与保密函数的分离能提供功能上的灵活性某些信息只需要真实性,不需要保密性,如:广播的信息难以使用加密(信息量大);网络管理信息等只需要真实性;政府/权威部门的公告,只需要保证真实性,而不需要机密性。3.3信息认证码MAC3.3信息认证码MAC信息认证码(MAC)或称密码检验和,是在一个密钥的控制下,将任意长的信息映射到一个简短的定长数据分组,并将它附加在信息后。MAC函数与加密函数类似,都需要明文、密钥和算法的参与。但MAC算法不要求可逆性,而加密算法必须是可逆的。1.信息认证码

的基本用法

用户A和用户B共享密钥K,A计算MAC=Ck(M),将M和MAC一起发送到B,B对收到的M,计算MAC,比较两个MAC是否相同。如果两个MAC相等,则:接收方可以相信信息未被修改,因为如果攻击者改变了信息,由于不知道k,无法生成正确的MAC;接收方可以相信信息的确来自确定的发送方。因为其他人不能生成和原始信息相应的MAC。1.信息认证码

的基本用法(a)与明文有关的认证(b)与密文有关的认证2.基于DES的MAC数据认证码(DAC)的生成过程如图所示,其中认证码的长度M可由通信双方约定。美国联邦电信建议采用24bit[见FTSC-1026],而美国金融系统采用32bit[ABA,1986]。3.4散列函数

HashFunction3.4散列函数

散列(hash)函数又称为哈希函数或者杂凑函数,是对输入为任意长度的信息M产生一个固定长度的散列值,可以表达为C=H(M)。其中,M的长度不定,C的长度一般为固定长度的值(128或者160),称为信息摘要(MessageDigest)、散列值、哈希值或者散列码。Hash算法通常是公开的。接收方通过重新计算散列值来保证信息未被窜改。由于函数本身公开,传送过程中对散列值需要另外的加密保护。3.4散列函数Hash函数的基本使用用法(1)对称密码体制下的认证和加密3.4散列函数(2)对称密码体制下的认证(3)公钥体制下对信息的认证3.4散列函数(4)混合密钥体制下的认证和加密3.4散列函数(5)带初始变量的hash函数基本认证3.4散列函数(6)结合对称加密和初始变量的hash值认证3.4散列函数3.5经典Hash算法1.MD5信息摘要算法MD5信息摘要算法(英语:MD5Message-DigestAlgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(RonaldLinnRivest)设计,于1992年公开,用以取代MD4算法。1.MD5信息摘要算法1.MD5信息摘要算法Step1:信息填充扩展数据至LEN=K*64+56个字节,K为整数,即信息的长度比512的整数倍少64位。若:信息长度为448位,则需填充512位使其长度为960.填充方法:补一个1,然后补0。相当于补一个0x80的字节,再补值为0的字节。这一步里总共补充的字节数为0~63个。1.MD5信息摘要算法Step2:附加数据长度用一个64位的整数表示数据的原始长度(以bit为单位),将这个数字的8个字节按低位在前,高位在后的顺序附加在补位后的数据后面。这时,数据被填补后的总长度为:LEN=K*64+56+8=(K+1)*64Bytes。注意:这个64位整数是输入数据的原始长度而不是填充字节后的长度。1.MD5信息摘要算法Step3:缓冲区初始化hash函数的中间结果和最终结果保存于128位的缓冲区中,缓冲区用32位的寄存器表示。可用4个32bits字表示:A,B,C,D。初始存数以十六进制表示为A=01234567B=89ABCDEFC=FEDCBA98D=76543210注意:低位的字节在前面指的是平台上内存中字节的排列方式。1.MD5信息摘要算法Step4:HMD5运算以分组为单位对信息进行处理每一分组Yq(q=0,…,L-1)都经一压缩函数HMD5处理。HMD5是算法的核心,其中又有4轮处理过程。HMD5的4轮处理过程结构一样,但所用的逻辑函数不同,分别表示为F、G、H、I。每轮的输入为当前处理的信息分组Yq和缓冲区的当前值A、B、C、D,输出仍放在缓冲区中以产生新的A、B、C、D。1.MD5信息摘要算法MD5的4轮迭代运算1.MD5信息摘要算法每轮又要进行16步迭代运算,4轮共需64步完成。第四轮的输出与第一轮的输入相加得到最后的输出。1.MD5信息摘要算法Step5:输出结果A,B,C,D连续存放,共16个字节,128位。按十六进制依次输出这个16个字节。1.MD5信息摘要算法MD-5的安全性MD-5的输出为128-bit,若采用纯强力攻击寻找一个信息具有给定Hash值的计算困难性为2128,用每秒可试验1000000000个信息的计算机需时1.07×1022年。采用生日攻击法,找出具有相同hash值的两个信息需执行264次运算。如果两个输入串的hash函数的值一样,则称这两个串是一个碰撞(Collision)。既然是把任意长度的字符串变成固定长度的字符串,所以,必有一个输出串对应无穷多个输入串,碰撞是必然存在的。2004年8月17日,美国加州圣巴巴拉正在召开国际密码学会议,山东大学王小云教授公布了快速寻求MD5算法碰撞的算法。2.SHA-1算法SHA(SecurityHashAlgorithm)是美国的NIST和NSA设计的一种标准的Hash算法,最初的版本于1993年发表,称为SHA-0,因为很快就被发现存在安全隐患,于是在1995年就发布第二个版本SHA-1。2002年,NIST分别发布了SHA-256、SHA-384、SHA-512,这些算法统称SHA-2。2008年又新增了SHA-224。目前SHA-2各版本已成为主流。这里以SHA1为例来进行SHA算法的讲解,其他系列原理类似。2.SHA-1算法SHA-1(英语:SecureHashAlgorithm1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为信息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。2.SHA-1算法2.SHA-1算法(1)信息填充:与MD5完全相同(2)缓冲区初始化A=67452301B=EFCDAB89C=98BADCFBD=10325476E=C3D2E1F02.SHA-1算法(3)分组处理2.SHA-1算法(4)SHA-1压缩函数(单步)A,B,C,D,E←(E+ft(B,C,D)+CLS5(A)+Wt+Kt),A,CLS30(B),C,D其中,A,B,C,D,E=缓冲区的5个字;t=步数,0<=t<=79;ft(B,C,D)=步t的基本逻辑函数;CLSK=循环左移k位给定的32位字;Wt=一个从当前512数据块导出的32位字;Kt=一个用于加法的常量,四个不同的值,如后所述;+=加模232。2.SHA-1算法SHA-1压缩函数思考和启示MD5和SHA-1算法由我国王小云教授带领的研究小组在2004年和2005年相继破解,为什么现在还在使用M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论