第3章-信息认证技术1课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第3章-信息认证技术1课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 认证 技术 课件
- 资源描述:
-
1、1第三章 信息认证技术 n3.1 3.1 数字签名技术数字签名技术 n3.2 身份识别技术 n3.3 杂凑函数和消息完整性 n3.43.4认证模式与认证方式认证模式与认证方式 n3.5 3.5 认证的具体实现认证的具体实现 n3.6 3.6 认证码认证码 .2认证的目的n认证的目的有两个方面:n一是验证信息的发送者是合法的,而不是冒充的,即实体认证,包括信源、信宿的认证和识别;n二是验证消息的完整性,验证数据在传输和存储过程中是否被篡改、重放或延迟等。.33.1.1 基本概念uHash函数函数也称为杂凑函数或散列函数,其输入为一可变长度x,返回一固定长度串,该串被称为输入x的Hash值(消息摘
2、要),还有形象的说法是数字指纹。u因为Hash函数是多对一的函数,所以一定将某些不同的输入变化成相同的输出。这就要求给定一个Hash值,求其逆是比较难的,但给定的输入计算Hash值必须是很容易的,因此也称Hash函数为单向Hash函数。.4基本概念(续)nHash函数一般满足以下几个基本需求:n(1)输入x可以为任意长度;n(2)输出数据长度固定;n(3)容易计算,给定任何x,容易计算出x的Hash值H(x);n(4)单向函数:即给出一个Hash值,很难反向计算出原始输入;n(5)唯一性:即难以找到两个不同的输入会得到相同的Hash输出值(在计算上是不可行的)。.5Hash函数的其他性质uHa
3、sh值的长度由算法的类型决定,与输入的消息大小无关,一般为128或者160位。常用的单向Hash算法有MDS、SHA-l等。uHash函数的一个主要功能就是为了实现数据完整性的安全需要。uHash函数可以按照其是否有密钥控制分为两类:一类有密钥控制,以表示,为密码Hash函数;另一类无密钥控制,为一般Hash函数。u关于Hash函数的安全性设计的理论主要有两点:一个是函数的单向性,二是函数影射的随机性。.6攻击Hash函数的典型方法u生日攻击的基本观点来自于生日问题:在一个教室里最少有多少学生时,可使得在这个教室里至少有两个学生的生日在同一天的概率不小于50%?这个问题的答案是23。这种攻击不
4、涉及Hash算法的结构,可用于攻击任何Hash算法。目前为止,能抗击生日攻击的Hash值至少要达到128bit。u中途相遇攻击这是一种选择明文/密文的攻击,主要是针对迭代和级连的分组密码体制设计的Hash算法。.73.1.2常见的单向杂凑函数 nMD4算法nMD5算法nSHA算法.8MD4算法 nMR4是Ron Rivest设计的单向散列函数,nMD表示消息摘要(Message Digest),对输入消息,算法产生128-位散列值。nRivest概括了该算法的设计目标:n1.安全性。找到两个具有相同散列值的消息在计算上不可行,不存在比穷举攻击更有效的攻击。.9MD4算法n2.直接安全性。MD4
5、的安全性不基于任何假设,如因子分解的难度。n3.速度。MD4适用于告诉软件实现,基于32位操作数的一些简单位操作。n4.简单性和紧凑性。MD4尽可能简单,没有大的数据结构和复杂的程序了。n5.有利的Little-Endian结构。MD4最适合微处理器结构,更大型速度更快的计算机要作必要的转化。.102004年召开的国际密码学年会(Crypto2004)上,来自中国山东大学王小云教授的一篇关于破译MD5、HAVAL128、MD4以及RIPEMD128算法的报告引起了轰动,报告中提到的新破译方法几乎标志着世界通信密码标准MD5堡垒的轰然倒塌。一石激起千层浪,此前一直负责公开征集针对MD5的攻击而设
6、立的权威站点http/wwwmd5crkcom/宣布由于MD5破译获得突破性进展,MD5破解项目(MD5CRKProject)即日停止,并开始提供该站点以往技术资料的下载,预计该站点也将在不久的将来完全关闭。面对MD5被破译,有人一声叹息,有人觉得不可思议,更有人忧虑甚至恐慌.那么究竟MD5有什么来头?它被破译是否意味着地球将不再旋转?谁将成为它的继承者?MD-5算法.11天下没有不透风的墙,实际上任何一种算法都会有其漏洞,即使是目前大行其道的MD5和SHA-1,当对漏洞的研究发展到其能够被有效利用时,则标志着该算法灭亡的时候到了。所谓天下无不散之筵席,MD5逐渐退出历史舞台后,下一个接任者又
7、会是谁呢?实际上,长期以来,密码界一直在致力于对新加密算法的研究,而且在高度机密的安全领域,所采用的加密算法也绝非MD5,各国政府、各大公司都在研究拥有独立技术的加密算法,其中比较出色的代表有SHA-1、SHA-224等。此次MD5破译报告发表后,美国国家技术与标准局(NIST)表示,鉴于MD5被破译以及SHA-1漏洞被发现,他们将逐渐放弃目前使用的SHA-1,于2010年前逐步推广更安全的SHA-224、SHA-256、SHA-384和SHA-512。这些算法与MD5的128位加密相比,加密位数和安全性能都提高了很多倍。尽管MD5被淘汰已经成为必然,不过鉴于它开源以及免费的特性,而且目前还没
8、有真正有效的快速破解方法,因此它还将继续在历史舞台活跃一段时间。.12MD-5算法(1/6).13MD-5算法(2/6)(1)对明文输入按512bit分组,n填充使其成为512bit的整数倍,且最后一组的后64bit用来表按时消息的长在mod下的值Kn填充位数为1512bit,填充数字图样为(1000),得Y0,Y1,YL-1。n其中,YL为512bit,按字记消息长为N=L*6。(2)每轮输出为128bitn可用下述四个32bit字:A,B,C,D表示n其初始存数以十六进制表示为:A=01234567,B=89ABCDEF,C=FEDCBA98,D=76543210。.14MD-5算法(3/
9、6)(3)HMD-5的运算n对512bit(16-字)组进行运算,Yq表示q输入的第组512bit数据,在各轮中参加运算。nT1,2,64为64个元素表,分四组参与不同轮的计算。nTi是232*abs(sin e(i)的整数部分,i是弧度。可用32bit二元数表示,T是32bit的随机数源。.15MD-5算法(4/6)nMD-5是四轮运算,各轮逻辑函数不同。每轮又要进行16步迭代运算,四轮共需64步完成。.16MD-5的基本运算图(5/6).17上图基本运算的简单解释(6/6)na,b,c,d即缓存中的四个字,按特定次序变化;ng是基本逻辑函数中F,G,H,L之一,算法中每一轮用其中之一;nC
10、LSs=32-bit存数循环左移s位;nXk=Mq*16+k就是消息的第-512-bit组的第k个32-bit字;nTi是矩阵中第i个字;n+就是模加法。k.18SHA算法(1/5)nSHA算法是美国的NIST和NSA设计的一种标准哈希算法SHA(Security Hash Algorithm),用于数字签名的标准算法DSS中。n该算法的输入消息长度小于264bit,最终的输出结果值为160bit。n与MD-4相比较而言,主要是增加了扩展变换,将前一轮的输出加到下一轮的,这样增加了雪崩效应。n由于其160 bit的输出,对穷举攻击更有抵抗力。.19分组算法构造杂凑函数(2/5)n其他优秀的杂凑
11、算法nGOST杂凑算法,nSNEFRU算法等。n通过对标准分组算法通过级连、迭代也能构造出优秀的杂凑算法。.203.1.3 认证码 n认证码(MAC,Messages Authentication Codes),是与密钥相关的的单向散列函数,也称为消息鉴别码或是消息校验和。nMAC与单向散列函数一样,但是还包括一个密钥。不同的密钥会产生不同的散列函数,这样就能在验证发送者的消息没有经过篡改的同时,验证是由哪一个发送者发送的。.21认证码认证码n1974年,Gilbert,MacWilliams,Sloane首次提出了认证码的概念,并用有限几何构造了认证码。80年代,Simmons等人系统地发展
12、了认证码理论。n一个没有仲裁的认证码由三方组成:发送方、接受方和入侵者。n发送方和接受方互相信任,敌手想欺骗他们,敌手知道整个认证系统,但不知道发方和收方所采用的秘密的编码规则。.22认证码的验证过程 .23认证码的验证过程 nM是信息发送方要发送的消息,假设K是发送方和接受方共有的密钥,其认证码标记为MACCK(M),表示信息M在密钥K作用下的Hash函数值,这个函数值是一个固定长度的认证符。n发送方将要发送的消息M和验证码CK(M)一起发送给接受方,收方通过重新计算认证码CK(M)来实现对信息M和发送者的识别。.24认证码的算法实现 n二次同余操作探测码(QCMDC)的算法实现:QCMDC
13、认证码是一个很好的认证实现,不过目前该算法已经被攻破。假设M 是需要发送和验证的消息,K 是安全密钥,首先将消息 M 分组,每组 n 位,对应的序列为 Mi。那么产生的验证序列为:Hi=(Hi+Mi)2modp 其中 H0=K,p 是小于 2 n-1 的素数。.25IBC-hash的算法实现 由于上述算法中的每条消息都要用不同的密钥做散列计算,因此,算法的安全性受到密钥对长度的制约。IBC-hash算法在实现上仅用于发送长而不经常用的消息。假设M是需要发送和验证的消息,p和v 是安全密钥对,首先将消 息M分组,每组n位,对应的序列为Mi。那么产生的验证序列为:Hi=(Mi)modpv)mod2
14、 n 其中p是小于n的素数,v 是一个小于2 n的随机数。.26信息鉴别算法描述 信息鉴别算法是一个ISO标准。假设M 是需要发送和验证的消息,w和 v 是变量,由密钥决定,首先将消息 M 分组,每组 n 位,对应的序列为 Mi。那么产生的验证序列为:v=v1e=vw x=(e+y)mod232)AC)(xMi)mod232-1y=(e+x)mod232)BD)(yMi)mod232-2 其中 A,B,C,D 是常数,j 表示向左移 j 位,表示异或。.273.2 3.2 数字签名技术数字签名技术n数字签名在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型
15、网络安全通信中的密钥分配、认证及电子商务系统中具有重要作用。数字签名是实现认证的重要工具。.28什么是数字签名(1/2)1.1.通过单向哈希函数实现的数字签名通过单向哈希函数实现的数字签名 n通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串,该字母数字串被成为该消息的消息鉴别码或消息摘要。.29什么是数字签名(2/2)2.2.公钥签名技术公钥签名技术n公钥体制签名的时候用户用自己的私钥对原始数据的哈希摘要进行加密得到数据,然后信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,并通过与用自己收到的原始数据产生的哈希摘
16、要对照,便可确信原始信息是否被篡改,这样就保证了数据传输的不可否认性。.30数字签名的特性()签名是可信的签名是可信的:任何人都可以方便地验证签名的有效性。签名是不可伪造的签名是不可伪造的:除了合法的签名者之外,任何其他人伪造其签名是困难的。这种困难性指实现时计算上是不可行的。签名是不可复制的签名是不可复制的:对一个消息的签名不能通过复制变为另一个消息的签名。如果一个消息的签名是从别处复制的,则任何人都可以发现消息与签名之间的不一致性,从而可以拒绝签名的消息。.31数字签名的特性(2/2)n签名的消息是不可改变的签名的消息是不可改变的:经签名的消息不能被篡改。一旦签名的消息被篡改,则任何人都可
17、以发现消息与签名之间的不一致性。签名是不可抵赖的签名是不可抵赖的:签名者不能否认自己的签名。.32数字签名技术的功能 n数字签名可以解决否认、伪造、篡改及冒充等问题,具体要求为:n发送者事后不能否认发送的报文签名n接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改n网络中的某一用户不能冒充另一用户作为发送者或接收者。.33数字签名分类数字签名分类n以方式分以方式分 direct digital signature直接数字签名直接数字签名 arbitrated digital signature仲裁数字签名仲裁数字签名n以安全性分以安全性分
18、无条件安全的数字签名无条件安全的数字签名 计算上安全的数字签名计算上安全的数字签名n以可签名次数分以可签名次数分 一次性的数字签名一次性的数字签名 多次性的数字签名多次性的数字签名.34数字签名原理消息Hash函数消息摘要发方A相等?收方B加密算法私钥A签名消息加密的消息摘要签名消息Hash函数消息摘要解密算法公钥A签名有效y签名无效n.35数字签名的实现方法 n用对称加密算法进行数字签名 n用非对称加密算法进行数字签名 .36用对称加密算法进行数字签名(1/2)nHash函数函数n所谓Hash函数,即对于任意长度的信息m,经过哈希函数运算后,压缩成固定长度的数,比如64比特,要求满足:n(1
19、)已知哈希函数的输出,要求它的输入是困难的,即已知c=Hash(m),求m是困难的。n(2)已知m,计算Hash(m)是容易的。n(3)已知C1=Hash(m1),构造m2使Hash(m2)=C1是困难的。n(4)c=Hash(m),c的每一比特都与m的每一比特相关,并有高敏感性。即每改变m的一比特,都将对c产生明显影响。n(5)作为一种数字签名,还要求哈希函数除了信息m自身之外,应该基于发信方的秘密信息对信息m进行确认。.37用对称加密算法进行数字签名(Hash签名)(2/2)n该签名不属于强计算密集型算法,应用较广泛n使用这种较快Hash算法,可以降低服务器资源的消耗,减轻中央服务器的负荷
20、 nHash的主要局限是接收方必须持有用户密钥的副本以检验签名,因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能 .38MilliCent MilliCent 是是 DEC 公司(现为康柏公司收购)开发的一个电子现公司(现为康柏公司收购)开发的一个电子现金系统。它不发行标准的通用电子现金,而是由采用它的商家自己金系统。它不发行标准的通用电子现金,而是由采用它的商家自己生成电子现金,并以折扣价出售给经纪人。顾客可从经纪人处登记生成电子现金,并以折扣价出售给经纪人。顾客可从经纪人处登记并购买大量电子辅币,经纪人可用多种方式与顾客结算,其中最常并购买大量电子辅币,经纪人可用多种方式与顾客
21、结算,其中最常用的是信用卡。顾客在商家网站上找到自己想购买的商品后,首先用的是信用卡。顾客在商家网站上找到自己想购买的商品后,首先将自己从经纪人处购买的电子辅币转换为商家发行的专用电子现金将自己从经纪人处购买的电子辅币转换为商家发行的专用电子现金,并存在自己计算机上的电子钱包里。当采购商品进行支付时,将,并存在自己计算机上的电子钱包里。当采购商品进行支付时,将电子钱包里的商家专用电子现金传输给商家;商家再把自己的专用电子钱包里的商家专用电子现金传输给商家;商家再把自己的专用电子现金卖给经纪人,从经纪人处得到支票。这种方式中经纪人的电子现金卖给经纪人,从经纪人处得到支票。这种方式中经纪人的介入,
22、使得整个交易系统更容易使用,消费者只需要与一个经纪人介入,使得整个交易系统更容易使用,消费者只需要与一个经纪人打交道,而不需要向每个商家购买专用电子现金。打交道,而不需要向每个商家购买专用电子现金。日本最大长途电话公司日本最大长途电话公司 Kokusai Denshin Denwa 的因特网子公司的因特网子公司 KCOM 就是利用就是利用 MilliCent 软件构建自己的软件构建自己的 NetCoin 电子现金系统电子现金系统,并通过其,并通过其 NetCoin Center 来提供电子现金。来提供电子现金。.39.40.41用非对称加密算法进行数字签名和验证 1 发送方首先用公开的单向函数
23、对报文进行一次变换,得到数字签名,然后利用私有密钥对数字签名进行加密后附在报文之后一同发出。2 接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明文。发送方的公钥是由一个可信赖的技术管理机构即验证机构(CA:Certification Authority)发布的。3 接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名,再将两个数字签名进行对比,如果相同,则证明签名有效,否则无效。.423.1.2常用的数字签名体制介绍 n用非对称加密算法实现的数字签名技术最常用的是DSS和RSA签名,下面分别做简单介绍:n1.RSA签名 n2.DSS签名 .43RSA签名 nRSA是
24、最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库。下面详细介绍该签名体制的内容:(1)参数 令 ,和 是大素数,令 选并计算出 使 ,公开 和 ,将 ,和 保密。21ppn1p2pnZd nedmod1ne1p2pd.44(2)签字过程 对消息 ,定义 为对 签字(3)验证过程 对给定的 可按下式验证:nZM nMMSigSdkmodMSM,nSMSMVerekmod,为真.45RSA签名举例(1)若)若Bob选择了选择了p=11和和q13(2)那么,)那么,n=11 13=143,(n)=1012120(3)再选取一个与再选取一个与z=120互质的数互质的数,例如例如e=7(4)
25、找到)找到一个值一个值d=103d=103满足满足e ed=1 mod zd=1 mod z(7 7103=721103=721除以除以120120余余1 1)(5 5)()(143,7143,7)为公钥,()为公钥,(11,1311,13,103103)为私钥。)为私钥。(6)Bob在一个目录中公开公钥:在一个目录中公开公钥:n=143和和e=7(7)现假设)现假设Bob想发送消息想发送消息85给给Alice,他用自己的密钥(,他用自己的密钥(d=103)进行签名:进行签名:85103(mod 143)=6,于是发送消息,于是发送消息85和签名和签名6给给Alice(8)当)当Alice接收
展开阅读全文