第3章 信息认证技术(1)19266.pptx
《第3章 信息认证技术(1)19266.pptx》由会员分享,可在线阅读,更多相关《第3章 信息认证技术(1)19266.pptx(131页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 信息认证技术n3.1 3.1 数字签名技术数字签名技术 n3.2 身份识别技术 n3.3 杂凑函数和消息完整性 n3.43.4认证模式与认证方式认证模式与认证方式 n3.5 3.5 认证的具体实现认证的具体实现 n3.6 3.6 认证码认证码 1认证的目的n认证的目的有两个方面:n一是验证信息的发送者是合法的,而不是冒充的,即实体认证,包括信源、信宿的认证和识别;n二是验证消息的完整性,验证数据在传输和存储过程中是否被篡改、重放或延迟等。23.1.1基本概念uHash函数函数也称为杂凑函数或散列函数,其输入为一可变长度x,返回一固定长度串,该串被称为输入x的Hash值(消息摘要),还有
2、形象的说法是数字指纹。u因为Hash函数是多对一的函数,所以一定将某些不同的输入变化成相同的输出。这就要求给定一个Hash值,求其逆是比较难的,但给定的输入计算Hash值必须是很容易的,因此也称Hash函数为单向Hash函数。3基本概念(续)nHash函数一般满足以下几个基本需求:n(1)输入x可以为任意长度;n(2)输出数据长度固定;n(3)容易计算,给定任何x,容易计算出x的Hash值H(x);n(4)单向函数:即给出一个Hash值,很难反向计算出原始输入;n(5)唯一性:即难以找到两个不同的输入会得到相同的Hash输出值(在计算上是不可行的)。4Hash函数的其他性质uHash值的长度由
3、算法的类型决定,与输入的消息大小无关,一般为128或者160位。常用的单向Hash算法有MDS、SHA-l等。uHash函数的一个主要功能就是为了实现数据完整性的安全需要。uHash函数可以按照其是否有密钥控制分为两类:一类有密钥控制,以表示,为密码Hash函数;另一类无密钥控制,为一般Hash函数。u关于Hash函数的安全性设计的理论主要有两点:一个是函数的单向性,二是函数影射的随机性。5攻击Hash函数的典型方法u生日攻击的基本观点来自于生日问题:在一个教室里最少有多少学生时,可使得在这个教室里至少有两个学生的生日在同一天的概率不小于50%?这个问题的答案是23。这种攻击不涉及Hash算法
4、的结构,可用于攻击任何Hash算法。目前为止,能抗击生日攻击的Hash值至少要达到128bit。u中途相遇攻击这是一种选择明文/密文的攻击,主要是针对迭代和级连的分组密码体制设计的Hash算法。63.1.2常见的单向杂凑函数nMD4算法nMD5算法nSHA算法7MD4算法nMR4是RonRivest设计的单向散列函数,nMD表示消息摘要(MessageDigest),对输入消息,算法产生128-位散列值。nRivest概括了该算法的设计目标:n1.安全性。找到两个具有相同散列值的消息在计算上不可行,不存在比穷举攻击更有效的攻击。8MD4算法n2.直接安全性。MD4的安全性不基于任何假设,如因子
5、分解的难度。n3.速度。MD4适用于告诉软件实现,基于32位操作数的一些简单位操作。n4.简单性和紧凑性。MD4尽可能简单,没有大的数据结构和复杂的程序了。n5.有利的Little-Endian结构。MD4最适合微处理器结构,更大型速度更快的计算机要作必要的转化。92004年召开的国际密码学年会(Crypto2004)上,来自中国山东大学王小云教授的一篇关于破译MD5、HAVAL128、MD4以及RIPEMD128算法的报告引起了轰动,报告中提到的新破译方法几乎标志着世界通信密码标准MD5堡垒的轰然倒塌。一石激起千层浪,此前一直负责公开征集针对MD5的攻击而设立的权威站点http/wwwmd5
6、crkcom/宣布由于MD5破译获得突破性进展,MD5破解项目(MD5CRKProject)即日停止,并开始提供该站点以往技术资料的下载,预计该站点也将在不久的将来完全关闭。面对MD5被破译,有人一声叹息,有人觉得不可思议,更有人忧虑甚至恐慌.那么究竟MD5有什么来头?它被破译是否意味着地球将不再旋转?谁将成为它的继承者?MD-5算法10天下没有不透风的墙,实际上任何一种算法都会有其漏洞,即使是目前大行其道的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、继续在历史舞台活跃一段时间。11MD-5算法(1/6)12MD-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。13MD-5算法(3/6)(3)HMD-5的运算n对512bit
9、(16-字)组进行运算,Yq表示q输入的第组512bit数据,在各轮中参加运算。nT1,2,64为64个元素表,分四组参与不同轮的计算。nTi是232*abs(sin e(i)的整数部分,i是弧度。可用32bit二元数表示,T是32bit的随机数源。14MD-5算法(4/6)nMD-5是四轮运算,各轮逻辑函数不同。每轮又要进行16步迭代运算,四轮共需64步完成。15MD-5的基本运算图(5/6)16上图基本运算的简单解释(6/6)na,b,c,d即缓存中的四个字,按特定次序变化;ng是基本逻辑函数中F,G,H,L之一,算法中每一轮用其中之一;nCLSs=32-bit存数循环左移s位;nXk=M
10、q*16+k就是消息的第-512-bit组的第k个32-bit字;nTi是矩阵中第i个字;n+就是模加法。17SHA算法(1/5)nSHA算法是美国的NIST和NSA设计的一种标准哈希算法SHA(SecurityHashAlgorithm),用于数字签名的标准算法DSS中。n该算法的输入消息长度小于264bit,最终的输出结果值为160bit。n与MD-4相比较而言,主要是增加了扩展变换,将前一轮的输出加到下一轮的,这样增加了雪崩效应。n由于其160bit的输出,对穷举攻击更有抵抗力。18分组算法构造杂凑函数(2/5)n其他优秀的杂凑算法nGOST杂凑算法,nSNEFRU算法等。n通过对标准分
11、组算法通过级连、迭代也能构造出优秀的杂凑算法。193.1.3认证码n认证码(MAC,MessagesAuthenticationCodes),是与密钥相关的的单向散列函数,也称为消息鉴别码或是消息校验和。nMAC与单向散列函数一样,但是还包括一个密钥。不同的密钥会产生不同的散列函数,这样就能在验证发送者的消息没有经过篡改的同时,验证是由哪一个发送者发送的。20认证码认证码n1974年,Gilbert,MacWilliams,Sloane首次提出了认证码的概念,并用有限几何构造了认证码。80年代,Simmons等人系统地发展了认证码理论。n一个没有仲裁的认证码由三方组成:发送方、接受方和入侵者。
12、n发送方和接受方互相信任,敌手想欺骗他们,敌手知道整个认证系统,但不知道发方和收方所采用的秘密的编码规则。21认证码的验证过程22认证码的验证过程nM是信息发送方要发送的消息,假设K是发送方和接受方共有的密钥,其认证码标记为MACCK(M),表示信息M在密钥K作用下的Hash函数值,这个函数值是一个固定长度的认证符。n发送方将要发送的消息M和验证码CK(M)一起发送给接受方,收方通过重新计算认证码CK(M)来实现对信息M和发送者的识别。23认证码的算法实现n二次同余操作探测码(QCMDC)的算法实现:QCMDC认证码是一个很好的认证实现,不过目前该算法已经被攻破。24IBC-hash的算法实现
13、 由于上述算法中的每条消息都要用不同的密钥做散列计算,因此,算法的安全性受到密钥对长度的制约。IBC-hash算法在实现上仅用于发送长而不经常用的消息。25信息鉴别算法描述信息鉴别算法是一个ISO标准。263.2 3.2 数字签名技术数字签名技术n数字签名在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证及电子商务系统中具有重要作用。数字签名是实现认证的重要工具。27什么是数字签名(1/2)1.1.通过单向哈希函数实现的数字签名通过单向哈希函数实现的数字签名n通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报
14、文是否发生变化的一个字母数字串,该字母数字串被成为该消息的消息鉴别码或消息摘要。28什么是数字签名(2/2)2.2.公钥签名技术公钥签名技术n公钥体制签名的时候用户用自己的私钥对原始数据的哈希摘要进行加密得到数据,然后信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,并通过与用自己收到的原始数据产生的哈希摘要对照,便可确信原始信息是否被篡改,这样就保证了数据传输的不可否认性。29数字签名的特性()签签名名是是可可信信的的:任何人都可以方便地验证签名的有效性。签名是不可伪造的签名是不可伪造的:除了合法的签名者之外,任何其他人伪造其签名是困难的。这种困难性指实现时计算
15、上是不可行的。签名是不可复制的签名是不可复制的:对一个消息的签名不能通过复制变为另一个消息的签名。如果一个消息的签名是从别处复制的,则任何人都可以发现消息与签名之间的不一致性,从而可以拒绝签名的消息。30数字签名的特性(2/2)n签签名名的的消消息息是是不不可可改改变变的的:经签名的消息不能被篡改。一旦签名的消息被篡改,则任何人都可以发现消息与签名之间的不一致性。签名是不可抵赖的签名是不可抵赖的:签名者不能否认自己的签名。31数字签名技术的功能n数字签名可以解决否认、伪造、篡改及冒充等问题,具体要求为:n发送者事后不能否认发送的报文签名n接收者能够核实发送者发送的报文签名、接收者不能伪造发送者
16、的报文签名、接收者不能对发送者的报文进行部分篡改n网络中的某一用户不能冒充另一用户作为发送者或接收者。32数字签名分类数字签名分类n以方式分以方式分 direct digital signature直接数字签名直接数字签名 arbitrated digital signature仲裁数字签名仲裁数字签名n以安全性分以安全性分 无条件安全的数字签名无条件安全的数字签名 计算上安全的数字签名计算上安全的数字签名n以可签名次数分以可签名次数分 一次性的数字签名一次性的数字签名 多次性的数字签名多次性的数字签名33数字签名原理消息Hash函数消息摘要发方A相等?收方B加密算法私钥A签名消息加密的消息摘
17、要签名消息Hash函数消息摘要解密算法公钥A签名有效y签名无效n34数字签名的实现方法n用对称加密算法进行数字签名n用非对称加密算法进行数字签名35用对称加密算法进行数字签名(1/2)nHash函数函数n所谓Hash函数,即对于任意长度的信息m,经过哈希函数运算后,压缩成固定长度的数,比如64比特,要求满足:n(1)已知哈希函数的输出,要求它的输入是困难的,即已知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的每一比特相关,并有高敏感性。即
18、每改变m的一比特,都将对c产生明显影响。n(5)作为一种数字签名,还要求哈希函数除了信息m自身之外,应该基于发信方的秘密信息对信息m进行确认。36用对称加密算法进行数字签名(Hash签名)(2/2)n该签名不属于强计算密集型算法,应用较广泛n使用这种较快Hash算法,可以降低服务器资源的消耗,减轻中央服务器的负荷nHash的主要局限是接收方必须持有用户密钥的副本以检验签名,因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能37MilliCent MilliCent 是是 DEC 公司(公司(现为康柏公司收康柏公司收购)开)开发的一个的一个电子子现金系金系统。它不。它不发行行标准的通用
19、准的通用电子子现金,而是由采用它的商家自己金,而是由采用它的商家自己生成生成电子子现金,并以折扣价出售金,并以折扣价出售给经纪人。人。顾客可从客可从经纪人人处登登记并并购买大量大量电子子辅币,经纪人可用多种方式与人可用多种方式与顾客客结算,其中最常算,其中最常用的是信用卡。用的是信用卡。顾客在商家网站上找到自己想客在商家网站上找到自己想购买的商品后,首先的商品后,首先将自己从将自己从经纪人人处购买的的电子子辅币转换为商家商家发行的行的专用用电子子现金,金,并存在自己并存在自己计算机上的算机上的电子子钱包里。当采包里。当采购商品商品进行支付行支付时,将,将电子子钱包里的商家包里的商家专用用电子子
20、现金金传输给商家;商家再把自己的商家;商家再把自己的专用用电子子现金金卖给经纪人,从人,从经纪人人处得到支票。得到支票。这种方式中种方式中经纪人的介人的介入,使得整个交易系入,使得整个交易系统更容易使用,消更容易使用,消费者只需要与一个者只需要与一个经纪人打人打交道,而不需要向每个商家交道,而不需要向每个商家购买专用用电子子现金。金。日本最大日本最大长途途电话公司公司 Kokusai Denshin Denwa 的因特网子公司的因特网子公司 KCOM 就是利用就是利用 MilliCent 软件构建自己的件构建自己的 NetCoin 电子子现金系金系统,并通并通过其其 NetCoin Cente
21、r 来提供来提供电子子现金。金。38n nCyberCashCyberCash电子现金电子现金电子现金电子现金 美美美美国国国国的的的的CyberCashCyberCashInc.Inc.是是是是19941994年年年年8 8月月月月成成成成立立立立的的的的,为为为为网网网网上上上上金金金金融融融融交交交交易易易易提提提提供供供供了了了了一一一一套套套套软软软软件件件件和和和和服服服服务务务务解解解解决决决决方方方方案案案案。19951995年年年年4 4月月月月推推推推出出出出了了了了CyberCashCyberCash支支支支付付付付系系系系统统统统,并并并并且且且且19961996年年年
22、年中中中中期期期期,超超超超过过过过5050万份电子钱包软件在流通中。不仅如此,万份电子钱包软件在流通中。不仅如此,万份电子钱包软件在流通中。不仅如此,万份电子钱包软件在流通中。不仅如此,CyberCashCyberCashCyberCashCyberCash系系系系统统统统与与与与信信信信用用用用卡卡卡卡交交交交易易易易模模模模式式式式相相相相似似似似,只只只只不不不不过过过过在在在在中中中中间增加了一个网络验证机制。其交易模式如图所示。间增加了一个网络验证机制。其交易模式如图所示。间增加了一个网络验证机制。其交易模式如图所示。间增加了一个网络验证机制。其交易模式如图所示。3940用非对称加
23、密算法进行数字签名和验证1 发送方首先用公开的单向函数对报文进行一次变换,得到数字签名,然后利用私有密钥对数字签名进行加密后附在报文之后一同发出。2 接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明文。发送方的公钥是由一个可信赖的技术管理机构即验证机构(CA:Certification Authority)发布的。3 接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名,再将两个数字签名进行对比,如果相同,则证明签名有效,否则无效。413.1.2常用的数字签名体制介绍n用非对称加密算法实现的数字签名技术最常用的是DSS和RSA签名,下面分别做简单介绍:n1.RSA签
24、名n2.DSS签名42RSA签名nRSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库。下面详细介绍该签名体制的内容:(1)参数 令 ,和 是大素数,令 选并计算出 使 ,公开 和 ,将 ,和 保密。43(2)签字过程 对消息,定义 为对 签字(3)验证过程 对给定的 可按下式验证:44RSA签名举例(1)若)若Bob选择了选择了p=11和和q13(2)那么,)那么,n=11 13=143,(n)=1012120(3)再选取一个与再选取一个与z=120互质的数互质的数,例如例如e=7(4)找到)找到一个值一个值d=103d=103满足满足ed=1 mod zed=1 mod z
25、(7103=7217103=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接收到消息接收到消息85和签名和签名6时,用时,用Bob公开的公钥(公开的公钥(e7)进行验证:)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 信息认证技术119266 信息 认证 技术 19266
限制150内