信息安全系统工程认证技术40247.pptx
《信息安全系统工程认证技术40247.pptx》由会员分享,可在线阅读,更多相关《信息安全系统工程认证技术40247.pptx(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、零、认证零、认证n n认证(认证(AuthenticationAuthentication)是)是防止主动攻击的重要技术防止主动攻击的重要技术,对于开放环境中各种信息系统的安全有着重要对于开放环境中各种信息系统的安全有着重要作作用用n n认证的主要目的:认证的主要目的:n n验证消息来自验证消息来自意定的意定的、真实的真实的发送者;发送者;n n验证消息的验证消息的完整性完整性,在传送或存储过程中未被,在传送或存储过程中未被篡改篡改、重重放放或或延迟延迟等等;n n提供不可否认性。提供不可否认性。n n认证采用的主要技术认证采用的主要技术n n报文鉴别(报文鉴别(Message authent
2、icationMessage authentication)n n数字签名(数字签名(Digital signatureDigital signature)n n身份识别(身份识别(Identity verificationIdentity verification)一、散列函数一、散列函数n n1、散列函数概况n n2、常用散列函数1、散列、散列函数(函数(Hash函数)概况函数)概况n n散列函数以一个散列函数以一个变长变长的报文的报文MM作为输入,产生一作为输入,产生一个个定长定长的输出(散列码的输出(散列码)的函数,可记为的函数,可记为h=H(M)h=H(M)(|M|h|)|M|h|)
3、n n散列函数的目的是为文件、报文或其他分组数据散列函数的目的是为文件、报文或其他分组数据产生产生“指纹指纹”,常用常用于于报文鉴别报文鉴别和和数字签名数字签名n n散列函数是一个散列函数是一个多对一多对一的的函数函数n n因此在理论上,必定存在不同的报文对应同样的散列,因此在理论上,必定存在不同的报文对应同样的散列,但这种情况在实际中必须但这种情况在实际中必须不可能出现不可能出现(计算上不可行计算上不可行)n n散列函数本身散列函数本身不是保密不是保密的的n n散列函数没有密钥的参与,散列值仅仅是报文的函数散列函数没有密钥的参与,散列值仅仅是报文的函数散散列函数的需求列函数的需求n n1 1
4、、H H能用于能用于任意长度任意长度的数据分组;的数据分组;n n2 2、H H产生产生定长定长的输出;的输出;n n3 3、对任意给定的、对任意给定的X X,H(X)H(X)要要容易计算容易计算;n n4 4、对任何给定、对任何给定的的 h h,寻找寻找 x x 使得使得H(x)=hH(x)=h,在计算在计算上不可行(上不可行(单向特性单向特性););n n5 5、对任意给定的分组、对任意给定的分组 x x,寻找不等于寻找不等于 x x 的的 y y,使使得得 H(x)=H(y),H(x)=H(y),在计算上不可行(在计算上不可行(弱抗碰撞弱抗碰撞););n n6 6、寻找任意的一对分组、寻
5、找任意的一对分组(x x,y)y),使得使得 H(x)=H(y)H(x)=H(y),在计算上不可行(在计算上不可行(强抗碰撞强抗碰撞)。散列函数的有效安全级别散列函数的有效安全级别n n假设散列函数的输出为假设散列函数的输出为 m m 比特,可以将其抗各种攻比特,可以将其抗各种攻击的有效安全级别表示为:击的有效安全级别表示为:n n这意味着安全散列函数的输出长度有一个下界:这意味着安全散列函数的输出长度有一个下界:n n40 40 bit bit 的散列长度将非常不安全:因为仅仅在的散列长度将非常不安全:因为仅仅在2 22020 100100万个随机的散列值中就有万个随机的散列值中就有 50%
6、50%的概率发现一个碰撞。的概率发现一个碰撞。n n一般建议最小的报文散列的长度为一般建议最小的报文散列的长度为128 128 bitbit,实际中常实际中常采用采用 160 160bitbit。单向单向2 2mm弱抗碰撞弱抗碰撞2 2mm强抗碰撞强抗碰撞2 2m/2m/22、常用散列函数、常用散列函数n n1、MD5 算法n nMD5MD5的散列码只有的散列码只有128128比特比特,其对抗生日攻击其对抗生日攻击的有效级是的有效级是2 26464,从现在的角度,从现在的角度看太小,安全性看太小,安全性不够。不够。n n2、SHA-1 算法n nSHASHA(安全散列算法)安全散列算法)由由
7、NISTNIST在在19931993年公布年公布(FIPS PUB 180FIPS PUB 180),),并在并在19951995年进行了修订,年进行了修订,称为称为SHA-1SHA-1(FIPS PUB 180-1 FIPS PUB 180-1););n n算法算法产生产生160160比特的散列码;比特的散列码;n nSHA-1SHA-1是目前首选的散列是目前首选的散列算法。算法。常用散列常用散列函数函数演示演示输入字符串:输入字符串:“1234567812345678”25D55AD283AA400AF46425D55AD283AA400AF464C76D713C07ADC76D713C0
8、7AD7C222FB2927D828AF22F57C222FB2927D828AF22F592134E8932480637C0D92134E8932480637C0DMD5MD5SHA-1SHA-1输入文件(输入文件(1.4G1.4G):):The.Imitation.Game.2014.mp4The.Imitation.Game.2014.mp4MD5MD5SHA-1SHA-1A3DD6A05AD84FB733A3DD6A05AD84FB733ECB01EFA275002FECB01EFA275002F93F661DAB2E912AF2893F661DAB2E912AF2802F1BB32B
9、B527739F602F1BB32BB527739F631073107二、报文鉴别二、报文鉴别n n1、概述n n2、利用单钥加密实现鉴别 n n3、报文鉴别码(MAC)n n4、带密钥的散列函数1、概述、概述n n报文鉴别的主要用途报文鉴别的主要用途n n保证消息的保证消息的完整性完整性;n n保证消息来源的保证消息来源的可靠性可靠性;n n报文鉴别的主要方法报文鉴别的主要方法n n报文加密报文加密:以整个报文的密文作为它的鉴别符以整个报文的密文作为它的鉴别符;n n报文鉴别码报文鉴别码(MACMAC):以一个报文的公共函数和用于产以一个报文的公共函数和用于产生一个定长值的密钥作为鉴别符生一
10、个定长值的密钥作为鉴别符;n n带密钥的散列函数带密钥的散列函数(HMACHMAC):将秘密因素引入原始报):将秘密因素引入原始报文,然后对其进行散列,并将散列函数的结果作为鉴文,然后对其进行散列,并将散列函数的结果作为鉴别码。别码。2、利用单钥加密实现鉴别、利用单钥加密实现鉴别 n n报文加密本身可以提供一定程度的鉴别能力报文加密本身可以提供一定程度的鉴别能力n n如果采用常规加密,则如果采用常规加密,则n n1 1)接收方知道报文一定是由发送方创建的,因为创建)接收方知道报文一定是由发送方创建的,因为创建该报文对应的密文的密钥只有发送方和接收方所共享;该报文对应的密文的密钥只有发送方和接收
11、方所共享;n n2 2)并且)并且(加密后的加密后的)报文的内容没有被篡改过,如果报报文的内容没有被篡改过,如果报文的内容文的内容(密文密文)被篡改,则解密后无法恢复原始的合法被篡改,则解密后无法恢复原始的合法报文报文(明文明文)。n n报文的内部结构报文的内部结构n n为了增强鉴别能力,最好能使原始的报文为了增强鉴别能力,最好能使原始的报文(明文明文)具有某具有某种结构,这样在接收端可以通过验证这种结构,来确种结构,这样在接收端可以通过验证这种结构,来确定报文是否被篡改。定报文是否被篡改。利用单钥加密实现鉴别利用单钥加密实现鉴别发送方发送方接收方接收方3、报文鉴别、报文鉴别码码n n报文报文
12、鉴别鉴别码(码(Message Message Authentication Authentication CodeCode,MACMAC)是)是一个一个定长定长的数据分组,它是的数据分组,它是报文和一个报文和一个密钥的函数密钥的函数:MAC=CMAC=Ck k(M(M)n n如果收发双方共享一个密钥,则如果收发双方共享一个密钥,则n n1 1、发送端发送端发送报文时,可计算报文的发送报文时,可计算报文的MACMAC,并将其附,并将其附在报文后一起在报文后一起传送。传送。n n2 2、接收端接收端采用采用相同的算法和密钥,对收到的报文进行相同的算法和密钥,对收到的报文进行同样的计算,产生新的同
13、样的计算,产生新的MAC,MAC,如果新的如果新的 MAC MAC 和收到的和收到的 MACMAC相同,则收端可以确信:相同,则收端可以确信:n n1 1)报文没有被更改)报文没有被更改过(包括过(包括外界的干扰和人为外界的干扰和人为篡改);篡改);n n2 2)报文来自意定的发送者。)报文来自意定的发送者。利用利用MAC保证数据完整性的原理保证数据完整性的原理数据发送方,如调度系统数据接收方,如被控站攻击者(不知道收发双方当前的密钥 K),试图篡改报文事先共享密钥 K在网络上传输的报文,如调度命令采用对称加密算法产生采用对称加密算法产生MACn n可以将任何工作于可以将任何工作于CBCCBC
14、模式模式的的常规分组算法常规分组算法作为作为MACMAC函数,并将函数,并将CBCCBC的最后一个分组的最后一个分组当作当作MACMACn nDAADAA(Data Data Authentication Authentication AlgorithmAlgorithm)算法)算法n n该算法是使用最广的该算法是使用最广的MACMAC函数函数(FIPS PUB 113,ANSI(FIPS PUB 113,ANSI X9.17)X9.17),基于,基于DES-CBCDES-CBC模式;模式;n n算法步骤:算法步骤:1 1)取)取IV=0,IV=0,并将报文最后一个分组用并将报文最后一个分组用
15、 0 0 填充成填充成 64 64 比特;比特;2 2)采用)采用 DES DES 的的 CBC CBC 模式加密报文;模式加密报文;3 3)抛弃加密的中间结果,只将最后一组密文(或最后一)抛弃加密的中间结果,只将最后一组密文(或最后一组密文的左边组密文的左边 M(16M64)M(16M64)比特)作为比特)作为MACMAC;n n从目前的角度看,从目前的角度看,64 64 比特的比特的MACMAC长度较小长度较小产生产生MAC的的DAA算法算法4、带密钥的散列函数、带密钥的散列函数n n目前,构造MAC方法的研究热点已经从分组密码(FIPS PUB 113)转向散列函数n n散列函数的执行速
16、度比分组密码散列函数的执行速度比分组密码快快;n n散列函数散列函数没有出口限制。没有出口限制。n n标准的散列函数并不依赖于密钥,因此不能直接用于MAC,必须将密钥和现有的散列函数结合起来n n当前获得广泛采用的方案是HMAC(RFC2104)HMACn nHMACHMAC(RFC2104RFC2104)作为)作为 IPSECIPSEC中强制实行的中强制实行的MACMAC,同时也被其他的,同时也被其他的 Internet Internet 协议(如协议(如SSLSSL)使用使用n nHMACHMAC的设计目标:的设计目标:n n1 1)无需修改地使用现有的散列函数;)无需修改地使用现有的散列
17、函数;n n2 2)当出现或获得更快或更安全的散列函数时,对算法)当出现或获得更快或更安全的散列函数时,对算法中嵌入的散列函数要能轻易地进行替换;中嵌入的散列函数要能轻易地进行替换;n n3 3)保持散列函数的原有性能)保持散列函数的原有性能,不会导致算法性能降低;不会导致算法性能降低;n n4 4)使用和处理密钥的方式很简单;)使用和处理密钥的方式很简单;n n5 5)基于对嵌入散列函数合理的假设,对鉴别机制的强)基于对嵌入散列函数合理的假设,对鉴别机制的强度有一个易懂的密码编码分析。度有一个易懂的密码编码分析。HMAC的结构的结构HMAC的的结构(续)结构(续)n nHMAC的计算HMAC
18、HMACK K=Hash (K=Hash (K+XOR opad)|XOR opad)|Hash(KHash(K+XOR ipad)|M)XOR ipad)|M)n nK+是对密钥K填充生成的b比特的串n nopad,ipad是特定的填充常量n nHMAC增加了三个散列压缩函数n nHMAC适用于 MD5,SHA-1,RIPEMD-160 等各种散列函数三、数字签名三、数字签名n n1、概述n n2、RSA数字签名n n3、数字签名标准DSS1、概述、概述n n普通的报文鉴别能用来保护通信双方免受普通的报文鉴别能用来保护通信双方免受任何第三方任何第三方的的攻攻击,然而,它击,然而,它无法防止通
19、信双方互相无法防止通信双方互相攻击。攻击。n n假定假定 A A 发送一个经过鉴别的消息给发送一个经过鉴别的消息给 B B,双方之间的争议可,双方之间的争议可能有多种形式:能有多种形式:n n1 1)B B 伪造一个不同的消息,但声称是从伪造一个不同的消息,但声称是从 A A 收到的。收到的。n n2 2)A A 可以否认发过该消息,可以否认发过该消息,B B 无法证明无法证明A A确实发了该消息。确实发了该消息。n n解决以上问题可以用解决以上问题可以用数字签名数字签名n n中华人民共和国电子签名法中华人民共和国电子签名法已于已于20042004年年8 8月月2828日第十日第十届全国人民代
20、表大会常务委员会第十一次会议通过,自届全国人民代表大会常务委员会第十一次会议通过,自20052005年年4 4月月1 1日起施行日起施行 。对数字签名的要求对数字签名的要求n n1、签名必须依赖于要签名报文的比特模式n n2、签名必须使用对发送者来说是唯一的信息n n以防止伪造和抵赖以防止伪造和抵赖n n3、伪造一个数字签名在计算上是不可行的n n包括包括“根据已有的数字签名来构造新报文根据已有的数字签名来构造新报文”,以及,以及“对给定的报文构造一个虚假的数字签名对给定的报文构造一个虚假的数字签名”。n n4、数字签名的产生必须相对简单n n5、数字签名的识别和证实必须相对简单数字签名的定义
21、数字签名的定义n n一个数字签名方案是一个 5 元组(P,A,K,S,V),它满足下列条件n nP P 是是所有可能消息的有限集;所有可能消息的有限集;n nA A 是是所有可能签名的有限集;所有可能签名的有限集;n nK K 是是所有可能密钥的有限集;所有可能密钥的有限集;数字签名的定义数字签名的定义(续续)n n对对每一个每一个k k K K,有一个有一个签名算法签名算法sigsigk k S S和一个相应的和一个相应的验验证算法证算法ververk k V V,对每一个消息对每一个消息x x P P和每一个签名和每一个签名 y y A A,每一个每一个 sigsigk k:PA:PA 和
22、和 ververk k:PA:PA真真,假假 都是满足都是满足下列条件的函数:下列条件的函数:对每一个对每一个k k K K,sigsigk k 和和 ververk k 应该是应该是多项式时间函数;多项式时间函数;其其中中ververk k是一个是一个公开函数,公开函数,sigsigk k将是一个将是一个秘密函数,秘密函数,对一对一个给定的个给定的 x x,只有,只有签名者能计算签名签名者能计算签名y y,满足,满足ververk k(x,y)=(x,y)=真。真。2、RSA签名方案签名方案n n1、密钥产生设设n=p*qn=p*q,p p 和和 q q 是素数,是素数,P=A=ZP=A=Z
23、n n,定义,定义K=(n,p,q,a,b):a*b1(mod(n)K=(n,p,q,a,b):a*b1(mod(n),其中其中 n n 和和 b b 公开公开(公钥公钥),p p、q q、a a 保密保密(私钥私钥)。n n2、签名算法(利用私钥 a,是保密的)y sigk(x)xa(mod n)n n3、验证算法(利用公钥 b,是公开的)verk(x,y)=true 当且仅当 x yb(mod n)数字签名和散列函数数字签名和散列函数n n在实际应用中,数字签名几乎总是和散列函数结合使用n n签名时,签名者完成如下工作n n1 1)按如下步骤计算消息)按如下步骤计算消息 x x 的签名的签
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 系统工程 认证 技术 40247
限制150内