消息认证和数字签名.ppt
第五章消息认证和数字签名本章主要内容n1 消息认证n2 数字签名n威胁威胁n1.假冒:从一个假冒信息源向网络中插入消息n2.内容修改:消息内容被插入删除变换修改n3.顺序修改:插入删除或重组消息序列n4.时间修改:消息延迟或重放n5.否认:接受者否认收到消息发送者否认发送过消息n认证则主要是为了防止第三方的主动攻击。n认证系统的目的有两个:第一,信源识别,即验证发信人确实不是冒充的;第二,检验发送信息的完整性,也就是说,即使信息确实是经过授权的信源发送者发送的,也要验证在传送过程中是否被篡改,重放或延迟。n在认证理论中一般将信源识别和发送信息的完整性检验两者作为一个整体进行讨论。1 消息认证n消息认证消息认证n消息认证就是验证消息的完整性.当接收方收到发送方的报文时,接收方能够验证收到的报文是真实的未被篡改的。n保密和认证同时是信息系统安全的两个方面,但它们是两个不同属性的问题,认证不能自动提供保密性,而保密性也不能自然提供认证功能。1 消息认证n哈希函数n主要用于数据完整性和消息认证.n对于哈希函数y=h(x).满足下列性质:n1)压缩:x任意有限长,h(x)固定长.n2)容易计算:从x容易计算出h(x)n3)单向性:基本上对所有事先指定的y R,寻找x,使得h(x)=y在计算上是不可行的.n4)若碰撞:已知 x1,找 x2 x1,使得h(x1)=h(x2)在计算上是不可行的.n5)强碰撞:对任意两个不同的输入x2 x1,使得h(x1)=h(x2)在计算上是不可行的.1 消息认证1 消息认证1 消息认证1 消息认证n常用的hash函数:nMD5nSHA-11 消息认证n数字签名数字签名n数字签名技术是实现交易安全的核心技术之一,它的实现基础就是加密技术。n数字签名能够实现电子文档的辨认和验证。数字签名是传统文件手写签名的模拟,能够实现用户对电子形式存放消息的认证2 数字签名n数字签名必须保证:数字签名必须保证:n可验证:签字是可以被确认的n防抵赖:发送者事后不承认发送报文并签名;n防假冒:攻击者冒充发送者向收方发送文件;n防篡改:收方对收到的文件进行篡改;n防伪造:收方伪造对报文的签名。签名对安全、防伪、速度要求比加密更高。2 数字签名n传统签名的基本特点传统签名的基本特点:n能与被签的文件在物理上不可分割n签名者不能否认自己的签名n签名不能被伪造n容易被验证n数字签名是传统签名的数字化数字签名是传统签名的数字化,基本要求基本要求:n能与所签文件“绑定”n签名者不能否认自己的签名n签名不能被伪造n容易被自动验证2 数字签名n数字签名的设计要求数字签名的设计要求n签名必须是依赖于被签名信息的一个位串模板n签名必须使用某些对发送者是唯一的信息,以防止双方的伪造与否认n必须相对容易生成该数字签名n必须相对容易识别和验证该数字签名n伪造该数字签名在计算复杂性意义上具有不可行性,既包括对一个已有的数字签名构造新的消息,也包括对一个给定消息伪造一个数字签名n在存储器中保存一个数字签名副本是现实可行的2 数字签名n数字签名方案一般包括三个过程:数字签名方案一般包括三个过程:n系统的初始化过程:产生的数字签名方案中用到的一切参数,有公开的,也有秘密的。n签名产生的过程:用户利用给定的算法对消息产生签名,这种签名过程可以公开也可以不公开。n签名验证过程:验证者利用公开验证方法对给定消息的签名进行验证,得出签名的有效性。2 数字签名n消息认证与数字签名的区别:消息认证与数字签名的区别:n前者能验证消息来源及完整性,防范第三者;n后者在收发双方产生利害冲突时,解决纠纷。2 数字签名n数字签名需要解决的一些问题数字签名需要解决的一些问题n1签字后的文件可能被B重复使用。如果签字后的文件是一张支票,B很容易多次用该电子支票兑换现金,为此A需要在文件中加上一些该支票的特有的凭证,如timestamp等,以防止上述情况发生。n2公钥算法效率很低,不易用于长文件的加密。2 数字签名nRSA数字签名算法:n用户A传送消息m给用户B,A的密钥对为公钥:PK=e,n,私钥:KR=d,n,A对消息签名:S=md mod n n用户B收到签名消息后的验证为:m=Se mod nn实际的签名:n首先利用Hash做压缩.然后签名.n为了提供签名消息的保密性,可以用对方的公钥匙加密后传送.