第3章2数字签名.ppt





《第3章2数字签名.ppt》由会员分享,可在线阅读,更多相关《第3章2数字签名.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.2 数字签名数字签名数字签名1教学目标本讲具体分析数字签名的特性以及常用的数字签名本讲具体分析数字签名的特性以及常用的数字签名方案。方案。掌握数字签名的特性和常用方案,包括经典代表掌握数字签名的特性和常用方案,包括经典代表RSA、DSS和和ElGamal;理解潜信道的概念;理解潜信道的概念;23.2 数字签名数字签名 人们的日常生活和工作中,许多事务的人们的日常生活和工作中,许多事务的处理需要当事者签名。处理需要当事者签名。 数字签名是针对电子形式的数字信息的数字签名是针对电子形式的数字信息的一种签名确认方法。一种签名确认方法。 数字签名在信息安全方面,特别在大型数字签名在信息安全方面,特
2、别在大型网络安全通信中的密钥分配、认证以及电子商网络安全通信中的密钥分配、认证以及电子商务系统中,都具有重要作用。务系统中,都具有重要作用。 本节主要介绍数字签名的基础以及几种常本节主要介绍数字签名的基础以及几种常见的数字签名标准。见的数字签名标准。33.2 数字签名数字签名3.2.1 数字签名基础数字签名基础1. 数字签名基本概念数字签名基本概念 传统签名文档所具备的五个特性传统签名文档所具备的五个特性:无:无法伪造性、真实性、不可重用性、不可修法伪造性、真实性、不可重用性、不可修改性和不可抵赖性。改性和不可抵赖性。43.2 数字签名数字签名 数字签名以法律可以接受的方式验证文数字签名以法律
3、可以接受的方式验证文档或者消息的可靠性。因此,进行了数字签档或者消息的可靠性。因此,进行了数字签名的名的电子文档必须满足传统签名文档所具备电子文档必须满足传统签名文档所具备的五个特性的五个特性:无法伪造性、真实性、不可重:无法伪造性、真实性、不可重用性、不可修改性和不可抵赖性。用性、不可修改性和不可抵赖性。而且,数字签名比手写签名应具有更强而且,数字签名比手写签名应具有更强的不可否认性和可认证性。当消息基于网络的不可否认性和可认证性。当消息基于网络传递时,接收方希望证实消息在传递过程中传递时,接收方希望证实消息在传递过程中没有被篡改,或希望确认发送者的身份,从没有被篡改,或希望确认发送者的身份
4、,从而提出数字签名的需要。而提出数字签名的需要。 53.2 数字签名数字签名 为了达到数字签名的这种应用要求,数为了达到数字签名的这种应用要求,数字签名必须保证:字签名必须保证: 能够验证签名者的身份,以及产生签名的能够验证签名者的身份,以及产生签名的日期和时间;日期和时间; 能用于证实被签消息的内容;能用于证实被签消息的内容; 数字签名可由第三方验证,以及能够解决数字签名可由第三方验证,以及能够解决通信双方的争议;通信双方的争议; 接收者能够核实发送者对报文的签名接收者能够核实发送者对报文的签名(或者或者验证签名者的身份及其签名的日期时间验证签名者的身份及其签名的日期时间) ; 发送者事后不
5、能抵赖对报文的签名;发送者事后不能抵赖对报文的签名; 接收者不能伪造对报文的签名。接收者不能伪造对报文的签名。63.2 数字签名数字签名2. 数字签名的实现数字签名的实现 数字签名由公钥密码发展而来。数字签名基于两条数字签名由公钥密码发展而来。数字签名基于两条基本假设:一是私钥是安全的,只有其拥有者才能获基本假设:一是私钥是安全的,只有其拥有者才能获得;二是产生数字签名的惟一途径是使用私钥。得;二是产生数字签名的惟一途径是使用私钥。例如,用例如,用RSA的私钥的私钥d计算计算mdmodn = s作为数字签名。作为数字签名。 由于数字签名容易被拷贝,并且拷贝后的文件与原数由于数字签名容易被拷贝,
6、并且拷贝后的文件与原数字签名没有任何区别。因此,为了防止数字签名被重字签名没有任何区别。因此,为了防止数字签名被重复使用在不同的消息上,必须要求:第一,数字签名复使用在不同的消息上,必须要求:第一,数字签名因消息而异,不同的消息的数字签名结果不同;第二,因消息而异,不同的消息的数字签名结果不同;第二,即使消息主要内容相同,一般也通过要求消息本身包即使消息主要内容相同,一般也通过要求消息本身包含有诸如日期、发送序号等信息来让消息尽量不同。含有诸如日期、发送序号等信息来让消息尽量不同。 73.2 数字签名数字签名 一个数字签名方案由两部分组成:签名一个数字签名方案由两部分组成:签名算法和验证算法。
7、算法和验证算法。 签名算法是由一个密钥控制的函数。对签名算法是由一个密钥控制的函数。对任意一个消息任意一个消息M,签名者,签名者A利用自己掌握的利用自己掌握的密钥密钥K,对消息,对消息M使用签名算法产生一个签使用签名算法产生一个签名名 。 验证算法验证算法 的返回结果为布尔值的返回结果为布尔值“真真”或或“假假”,其结果表示了签名是否真,其结果表示了签名是否真实可靠,即:如果实可靠,即:如果 ,则则 ;否则,如果;否则,如果 ,则则 。()KSSigM(, )Ver M S()KSSigM(, )Ver M STrue()KSSigM(, )Ver M SFalse83.2 数字签名数字签名
8、数字签名的产生有加密算法和特定数字签名的产生有加密算法和特定的签名算法两种,其中由加密算法产的签名算法两种,其中由加密算法产生数字签名是指将消息或消息的摘要生数字签名是指将消息或消息的摘要加密后的密文作为对该消息的数字签加密后的密文作为对该消息的数字签名,其用法又根据是基于对称密码体名,其用法又根据是基于对称密码体制或者公钥密码体制有所不同:制或者公钥密码体制有所不同:93.2 数字签名数字签名(1) 基于对称密码体制的数字签名方法基于对称密码体制的数字签名方法 基于对称密码体制的数字签名方案基于对称密码体制的数字签名方案的本质是共享密钥的验证,其基本形式的本质是共享密钥的验证,其基本形式为:
9、用户为:用户A与用户与用户B共享对称密钥密码共享对称密钥密码体制的密钥体制的密钥K,要签名的消息为,要签名的消息为M。则。则签名算法就是加密算法:签名算法就是加密算法:验证算法就是解密算法:验证算法就是解密算法:或者加密算法:或者加密算法:()()KKySigMEM(, )( )KVer M yTrueMDy(, )()KVer M yTrueyEM103.2 数字签名数字签名(2) 基于公钥密码体制的数字签名方法基于公钥密码体制的数字签名方法 基于公钥密码算法的数字签名方案本基于公钥密码算法的数字签名方案本质上是公钥密码加密算法的逆应用,此时质上是公钥密码加密算法的逆应用,此时发送方用自己的
10、私钥对消息加密,接收方发送方用自己的私钥对消息加密,接收方接收到消息后用发送方的公钥进行解密。接收到消息后用发送方的公钥进行解密。由于私钥由发送方自己保管且只有他本人由于私钥由发送方自己保管且只有他本人知道,入侵者只知道发送者的公钥,不可知道,入侵者只知道发送者的公钥,不可能伪造签名,从而起到签名的效果。公正能伪造签名,从而起到签名的效果。公正的第三方可以用发送方的公钥对签名进行的第三方可以用发送方的公钥对签名进行解密,从而证实消息确实来自于该发送者。解密,从而证实消息确实来自于该发送者。113.2 数字签名数字签名 使用公钥密码体制使用公钥密码体制(例如采用例如采用RSA公钥密公钥密码体制码
11、体制) :用户:用户A选定私钥选定私钥KRa、公钥、公钥KUa,加解密算法分别为加解密算法分别为E和和D,将,将KRa保密,称保密,称为签名密钥;将为签名密钥;将KUa公开,成为验证密钥,公开,成为验证密钥,则签名和验证过程为:则签名和验证过程为: S= SigK(M) =EKRa(M) 一般情况下,实际使用的数字签名通一般情况下,实际使用的数字签名通常是基于公钥密码体制,且是对消息的摘常是基于公钥密码体制,且是对消息的摘要而不是对消息的本身进行签名。要而不是对消息的本身进行签名。(, )( )aKUVer M yTrueMDy123.2 数字签名数字签名3. 数字签名的分类数字签名的分类 数
12、字签名根据其本身实现目的的不数字签名根据其本身实现目的的不同,一般分为直接数字签名和可仲裁同,一般分为直接数字签名和可仲裁数字签名两种。数字签名两种。133.2 数字签名数字签名(1) 直接数字签名直接数字签名 直接数字签名是只涉及到通信双方的直接数字签名是只涉及到通信双方的数字签名。为了提供鉴别功能,直接数字数字签名。为了提供鉴别功能,直接数字签名一般使用公钥密码体制,即:接收方签名一般使用公钥密码体制,即:接收方已知发送方的公钥,则发送方可以通过用已知发送方的公钥,则发送方可以通过用自己的私钥对整个消息或消息的杂凑值自己的私钥对整个消息或消息的杂凑值(Hash码或散列值)加密来产生数字签码
13、或散列值)加密来产生数字签名,主要有以下两种使用形式:名,主要有以下两种使用形式:143.2 数字签名数字签名发送者使用自己的私钥对消息直接进行签发送者使用自己的私钥对消息直接进行签名,接收方用发送方的公钥对签名进行签名,接收方用发送方的公钥对签名进行签别。别。 其特点主要为:只有其特点主要为:只有A知道知道KRa,能,能用其进行加密;传输中消息无法被篡改;用其进行加密;传输中消息无法被篡改;任何第三方可以用任何第三方可以用KUa验证签名。验证签名。 存在的问题主要为:被签名的消息不存在的问题主要为:被签名的消息不具有保密性。一种改进的方案是:具有保密性。一种改进的方案是: 它基于对称密码体制
14、提供了对签名的它基于对称密码体制提供了对签名的加密保护加密保护:aKRAB EM:()aKKRAB EEM153.2 数字签名数字签名 发送方先生成消息摘要,然后对消息摘发送方先生成消息摘要,然后对消息摘要进行数字签名。要进行数字签名。其好处是:其好处是:H(M)具有压缩功能,这使得签具有压缩功能,这使得签名处理的内容减少、速度加快。名处理的内容减少、速度加快。存在的问题是:因为消息以明文的形式传存在的问题是:因为消息以明文的形式传送,故被签名的消息不具有保密性。一送,故被签名的消息不具有保密性。一种改进的方法是:种改进的方法是:或者或者 :|()aKRAB MEH M:|()aKKRAB E
15、MEH M:|()aKKRAB EMEH M163.2 数字签名数字签名 上述两种直接数字签名方案存在如下上述两种直接数字签名方案存在如下的弱点:的弱点: 所有方法的安全性都依赖于发送方的所有方法的安全性都依赖于发送方的私有密钥。私有密钥。 如果发送方想要抵赖发送过某一消息如果发送方想要抵赖发送过某一消息时,可能会声称其私有密钥丢失或被窃,时,可能会声称其私有密钥丢失或被窃,而是其他人伪造了他的签名。而是其他人伪造了他的签名。 X的某些私有密钥可能在时间的某些私有密钥可能在时间T被盗用,被盗用,但攻击者可以使用但攻击者可以使用X的签名签发一条消息的签名签发一条消息并且加盖一个早于或等于时间并且
16、加盖一个早于或等于时间T的时间戳。的时间戳。173.2 数字签名数字签名(2) 可仲裁数字签名可仲裁数字签名 可仲裁数字签名可以解决直接数字签名中出可仲裁数字签名可以解决直接数字签名中出现的问题。现的问题。 通常的做法都是这样执行的:所有从发送方通常的做法都是这样执行的:所有从发送方X到接收方到接收方Y的签名消息首先送到仲裁者的签名消息首先送到仲裁者A,A将将消息及其签名进行一系列的测试以验证消息源及消息及其签名进行一系列的测试以验证消息源及其内容,然后将消息加上日期其内容,然后将消息加上日期(时间戳由仲裁者时间戳由仲裁者加上加上),并与已被仲裁者验证通过的签名一起发,并与已被仲裁者验证通过的
17、签名一起发送给送给Y,同时指明该消息已经通过仲裁者的检验。,同时指明该消息已经通过仲裁者的检验。 显然,显然,A的加入解决了直接数字签名所面临的加入解决了直接数字签名所面临的问题:的问题:X可能否认发送过这条消息。可能否认发送过这条消息。183.2 数字签名数字签名 在可仲裁数字签名的模式中,仲裁者在可仲裁数字签名的模式中,仲裁者起着关键作用,扮演裁判的角色。其前提起着关键作用,扮演裁判的角色。其前提条件是:通信各方都必须绝对信任仲裁机条件是:通信各方都必须绝对信任仲裁机制能够正常工作。可仲裁数字签名主要有制能够正常工作。可仲裁数字签名主要有以下以下3种使用形式:种使用形式:193.2 数字签
18、名数字签名 对称密钥加密方式,仲裁者对称密钥加密方式,仲裁者A可以获知消息。可以获知消息。 在这种方案中,发送方在这种方案中,发送方X与仲裁者与仲裁者A之间共享之间共享密钥密钥Kxa,接收方,接收方Y与与A之间共享密钥之间共享密钥Kay。 首先,首先,X产生消息产生消息M,用,用X的标识符的标识符IDx和散和散列值列值H(M)构成签名构成签名 并将消息及签名经并将消息及签名经Kxa加密后发送给加密后发送给A: 然后,然后,A解密签名,用解密签名,用H(M)验证消息验证消息M的有的有效性,将效性,将IDx,M,签名和时间戳,签名和时间戳T一起经一起经Kay加加密后发送给密后发送给Y: 最后,最后
19、,Y解密解密A发送来的消息,并将发送来的消息,并将M和签名和签名保存起来保存起来|()xaKXEIDH M:|()xaKXXA MEIDH M:|()|ayxaKXKXAY EIDMEIDH MT203.2 数字签名数字签名 上述签名方式正常条件下是双方都需上述签名方式正常条件下是双方都需要高度信任仲裁者要高度信任仲裁者A,即:,即: 双方都必须信任双方都必须信任A处理争议是公正的;处理争议是公正的; X必须信任必须信任A没有泄漏没有泄漏Kxa,并且不会,并且不会自己生成自己生成 的伪造签名;的伪造签名; Y必须信任必须信任A只在散列值正确并且签名只在散列值正确并且签名确实是由确实是由X产生的
20、情况时,才发送消息产生的情况时,才发送消息 |()xaKXEIDH M|()|ayxaKXKXEIDMEIDH MT213.2 数字签名数字签名 对称钥加密方式,仲裁者不能获知消息对称钥加密方式,仲裁者不能获知消息 在这种情况下,在这种情况下,X和和Y之间共享密钥。之间共享密钥。首先,首先,X将标识符将标识符IDx、密文、密文 以及对以及对 和密文消息的散列码用加密后形成签名发送给和密文消息的散列码用加密后形成签名发送给A:然后,然后,A解密签名,用散列码验证消息的有效性,解密签名,用散列码验证消息的有效性,由于由于A处理的是加密后的消息,只能验证消息的处理的是加密后的消息,只能验证消息的密文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字签名

限制150内