您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 课件07信息安全技术第七讲-认证理论与技术
信息安全技术万涛华东交通大学信息工程学院E-mail:wantao217@163.comTel:13807097997QQ:471387802第7讲认证理论与技术•§7.1概述•§7.2认证函数•§7.3数字签名•§7.4零知识证明•§7.5身份认证信息安全技术◆万涛32019/10/10网络系统安全要考虑两个方面。一方面,用密码保护传送的信息使其不被破译;另一方面,就是防止对手对系统进行主动攻击,如伪造,篡改信息等。认证(authentication)则是防止主动攻击的重要技术,它对于开放的网络中的各种信息系统的安全性有重要作用。认证的主要目的:第一,验证信息的发送者是真的,而不是冒充的,此为实体认证,包括信源、信宿等的认证和识别;第二,验证信息的完整性,此为消息认证,验证数据在传送或存储过程中未被篡改,重放或延迟等。§7.1概述信息安全技术◆万涛42019/10/10保密和认证同时是信息系统安全的两个方面,但它们是两个不同属性的问题,认证不能自动地提供保密性,而保密也不能自然地提供认证功能。一个纯认证系统的模型如下图所示:密钥源窜扰者信宿信源认证编码器认证译码器信道安全信道§7.1概述信息安全技术◆万涛52019/10/10消息认证是一种过程,它使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)在传输的过程中没有被假冒、伪造和篡改,是否感染上病毒等,即保证信息的完整性和有效性。消息认证的目的在于如何让接收报文的目的站来鉴别报文的真伪,消息认证的内容应包括:(1)证实报文的源和宿;(2)报文内容是否曾受到偶然的或有意的篡改;(3)报文的序号和时间栏。认证只在相应通信的双方之间进行,而不允许第三者进行上述认证。认证不一定是实时的。§7.1概述信息安全技术◆万涛62019/10/10认证的函数有三类:(1)信息加密函数用完整信息的密文作为对信息的认证。(2)信息认证码MAC(MessageAuthenticationCode)是对信源消息的一个编码函数。(3)Hash函数是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。§7.2认证函数信息安全技术◆万涛72019/10/10一、信息加密函数:分二种:一种是常规的对称密钥加密函数,另一种是公开密钥的双密钥加密函数。下图的通信过程:用户A为发信方,用户B为接收方。用户B接收到信息后,通过解密来判决信息是否来自A,信息是否完整,有无窜扰。(a)常规加密:具有机密性,可认证信源信宿MEEk(M)DMA方B方kkDk(Ek(M))§7.2认证函数信息安全技术◆万涛82019/10/10(b)公钥加密:具有机密性(c)公钥加密:认证和签名MEEPKb(M)DMA方B方SKbPKbMEESKa(M)DMA方B方PKaSKa§7.2认证函数信息安全技术◆万涛92019/10/10(d)公钥加密:机密性,可认证和签名MEESKa(M)EEPKb(ESKa(M))A方SKaPKbDESKa(M)DMB方SKbPKa§7.2认证函数信息安全技术◆万涛102019/10/10二、消息认证码(MAC):MAC(MessageAuthenticationCode)是一种实现消息认证的方法。MAC是由消息M和密钥K的一个函数值MAC=Ck(M)其中M是变长的消息,K是仅由收发双方共享的密钥,Ck(M)是定长的认证码。§7.2认证函数信息安全技术◆万涛112019/10/10双方设计一个编码法则。发方A根据规则对信源S进行编码,M表示所有可能的消息集合。发方A通信时,发送的是消息。用简单的例子说明:设S={0,1},M={00,01,10,11},定义四个不同的编码法则e0,e1,e2,e3。这就构成一个认证码MAC。编码规则00011011e001e101e201e301§7.2认证函数信息安全技术◆万涛122019/10/10发方A和收方B在通信前先秘密约定使用的编码法则。例如,若决定采用e0,则以发送消息00代表信源0;发送消息10代表信源1,我们称消息00和10在e0之下是合法的。而消息01和11在e0之下不合法,收方将拒收这二个消息。信息的认证和保密是不同的两个方面,一个认证码可具有保密功能,也可没有保密功能。认证编码的基本方法是要在发送的消息中引入多余度,使通过信道传送的可能序列集Y大于消息集X。§7.2认证函数信息安全技术◆万涛132019/10/10对于任何选定的编码规则(相应于某一特定密钥):发方从Y中选出用来代表消息的许用序列,即码字;收方根据编码规则唯一地确定出发方按此规则向他传来的消息。窜扰者由于不知道密钥,因而所伪造的假码字多是Y中的禁用序列,收方将以很高的概率将其检测出来而被拒绝。认证系统设计者的任务是构造好的认证码(AuthenticationCode),使接收者受骗概率极小化。MAC类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少。§7.2认证函数信息安全技术◆万涛142019/10/10三、Hash函数:如一个合法文件有数兆字节长,为了进行签名认证,自然按160比特分划成一块一块,用相同的密钥独立地签每一个块。然而,这样太慢。解决办法:引入可公开的密码Hash函数。它将取任意长度的消息做自变量,结果产生规定长度的消息摘要。(如使用数字签名标准DSS,消息摘要为160比特),然后签名消息摘要。对数字签名来说,Hash函数h这样使用:消息:x任意长消息摘要:Z=h(x)160bits签名:y=sigk(Z)320bits§7.2认证函数信息安全技术◆万涛152019/10/10验证签名(x,y),其中y=sigk(h(x)),使用公开的Hash函数h,重构作Z'=h(x)。然后检验Verk(Z,y),看是否Z=Z'。用以认证的Hash函数,是否会减弱认证方案的安全性?签名的对象由完整消息变成消息摘要,这就有可能出现伪造。伪造方式一:攻击者以一个有效签名(x,y)开始,y=sigk(h(x))。首先他计算Z=h(x),并企图找到一个x'≠x满足h(x')=h(x)。若他做到这一点,则(x',y)也将成为一个对消息x'的有效签名。为防止这一点,函数h必须具有无碰撞特性。定义1(弱无碰撞)Hash函数h称为是弱无碰撞的,是指对给定消息x∈X,在计算上几乎找不到异于x的x'∈X使h(x)=h(x')。§7.2认证函数信息安全技术◆万涛162019/10/10伪造方式二:攻击者首先找到两个消息x≠x',满足h(x)=h(x'),然后攻击者把x给Bob且使他对x的摘要h(x)签名,从而得到y,那么(x',y)是一个有效的伪造。定义2(强无碰撞)Hash函数h被称为是强无碰撞的,是指在计算上几乎不可能找到相异的x和x'使得h(x)=h(x')。注:强无碰撞自然含弱无碰撞。伪造方式三:在某种签名方案中可伪造一个随机消息摘要Z的签名。若h的逆函数h-1是易求的,可算出h-1(Z)=x满足x=h(Z),则(x,y)(其中y=sigk(h(x)))为合法签名。定义3(单向的)Hash函数h被称为是单向的,是指计算h的逆函数h-1在计算上不可行。§7.2认证函数信息安全技术◆万涛172019/10/10Hash函数应具有的性质:(1)Hash函数可以作用于一个任意长度的数据分组,产生一个固定长度的输出。(2)任意给定消息M,计算h=H(M)容易。(3)任意给定h,找到M满足H(M)=h很难,计算上不可行性,即单向性。(4)任意给定的数据块M,找到不等于M的M’,使H(M)=H(M’)在计算是不可行性。即弱无碰撞。(5)找到任意数据对(x,y),满足H(x)=H(y)是计算不可行的。即强无碰撞。§7.2认证函数信息安全技术◆万涛182019/10/10Hash函数的构造形式:(1)利用数学难题,如因子分解、离散对数问题等(2)利用某些私钥密码体制,如DES等(3)通过直接构造复杂的非线性关系,如MD4,MD5,SHA-1等§7.2认证函数信息安全技术◆万涛192019/10/10对Hash函数的攻击有两类(1)强力攻击(或穷举攻击)。典型防范:生日攻击任找23人,从中总能选出两人具有相同生日的概率至少为1/2。根据此特点,一个40bit的消息摘要将是不安全的。因为在100万个随机散列值中将找到一个碰撞的概率为1/2。通常建议,消息摘要的尺寸为128bits。(2)特殊攻击。§7.2认证函数信息安全技术◆万涛202019/10/10常用的Hash算法(1)MD5算法:由麻省理工学院(MIT)Rivest提出,MD5不基于任何假设和密码体制,采用直接构造法。输入:任意长度的消息;输出:128位消息摘要;处理:以512位输入数据块为单位;安全性:采用穷举攻击寻找一个消息具有给定Hash值的计算困难性为2128,若采用生日攻击,寻找有相同Hash值的两个消息需要试验264个消息。单轮MD5已有攻击结果,但对MD5全部四轮无有效攻击法。§7.2认证函数信息安全技术◆万涛212019/10/10(2)安全散列算法(SHA):由美国国家标准技术研究所(NIST)提出,作为联邦信息处理标准于1993年发表(FIPSPUB180),1995年修订,称为SHA-1,SHA-1基于MD4设计。设计目的是用于数字签名标准算法DSS。输入:最大长度为264位的消息;输出:160位消息摘要;处理:输入以512位数据块为单位处理;安全性:消息摘要比MD5长32位,采用穷举攻击计算困难性为2160,若采用生日攻击计算困难性为280,安全性更高。但硬件实现速度较MD5慢25%。§7.2认证函数信息安全技术◆万涛222019/10/10数字签名是以密码学的方法对数据文件产生的一组代表签名者身份和数据完整性的数据信息。它提供了一种鉴别方法,以解决伪造、抵赖、冒充等问题。数字签名在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证以及电子商务系统中具有重要作用。数字签名和手写签名不同,其区别在于:手书签字是模拟的,它反映某个人的个性特征是不变的;数字签名是数字串,它随被签的对象而变化,即同一当事者对不同文件的数字签名是不相同的,这样任一文件的数字签名不可能被直接复制到不同的文件上进行伪造签名。§7.3数字签名—概述信息安全技术◆万涛232019/10/10数字签名是一种包括防止源点或终点否认的认证技术。可用来保护信息的真实性、完整性和信息的来源。数字签名必须保证以下五点:(1)可验证:签字是可以被确认的;(2)防抵赖:发送者事后不承认发送报文并签名;(3)防假冒:攻击者冒充发送者向收方发送文件;(4)防篡改:收方对收到的文件进行篡改;(5)防伪造:收方伪造对报文的签名。§7.3数字签名—概述信息安全技术◆万涛242019/10/10数字签名技术是公钥密码体制的一种应用。签名者使用自己私钥对签名明文的“摘要”加密,就生成了该文件的“数字签名”。签名者将明文和数字签名一起发送给接收者,接收者用该签名者公布的公钥来解开数字签名,将其与明文的“摘要”进行比较,便可检验文件的真伪,并确定签名者的身份。数字签名体制一般由签名算法和验证算法两部分组成。签名算法或签名密钥是秘密的,只有签名人掌握;验证算法应当公开,以便于他人进行验证。§7.3数字签名—概述信息安全技术◆万涛252019/10/10对消息的签名与对消息的加密有所不同,消息加解密可能是一次性的,它只要求在解密之前是安全的;而一个签名的消息很可能在多年后仍需验证其签名,且可能需要多次验证此签名。因此,签名的安全性和防伪造的要求更高些,且要求验证速度比签名速度要快些,尤其是对在线实时验证。§7.3数字签名—概述信息安全技术◆万涛262019/10/10RSA签名体制是一种比较普遍的数字签名方案,其安全性依赖于大整数因子分解的困难性。RSA数字签名体制的算法描述:(1)体制参数令n=pq,选e并计算出d使ed=1mod(n),公开n和e,将p、q和d保密。(2)签
本文标题:课件07信息安全技术第七讲-认证理论与技术
链接地址:https://www.777doc.com/doc-1459935 .html