资源描述
信息安全基础第四章 数字签名技术学 校:平顶山学院院 系:软件学院班 级:11级软件工程4、5班信息安全基础第四章 数字签名技术学 校:平顶山学院第四章 数字签名技术第四章 数字签名技术主要内容主要内容:数字签名的基本原理数字签名的基本原理2.数字签名的过程与分类数字签名的过程与分类3.数字签名概述数字签名概述1.数字签名的标准及算法数字签名的标准及算法4.其他数字签名方案其他数字签名方案5.主要内容:数字签名的基本原理2.数字签名的过程与分类3.数字了解:数字签名的概念。理解:数字签名的原理、过程及分类,数字签名的标准与算法。重点:数字签名的原理、基本算法。学习目标学习目标学习目标v 随着电子商务和电子政务的迅速发展,数字签名的使用越来普及。4.1数字签名概述数字签名概述 随着电子商务和电子政务的迅速发展,数字签名的使用越来普及v 数字签名技术是公开密钥加密技术和报文分解函数相结合的产物。与加密不同,数字签名的目的是为了保证信息的完整性和真实性。数字签名必须保证以下三点:v(1)签名者事后不能否认自己的签名;v(2)接收者能够验证签名,而其他任何人都不能伪造签名;v(3)当关于签名的真伪发生争执时,存在一个仲裁机构或 第三方能够解决争执。数字签名技术是公开密钥加密技术和报文分解函数相主要内容主要内容:数字签名的基本原理数字签名的基本原理2.数字签名的过程与分类数字签名的过程与分类3.数字签名概述数字签名概述1.数字签名的标准及算法数字签名的标准及算法4.其他数字签名方案其他数字签名方案5.主要内容:数字签名的基本原理2.数字签名的过程与分类3.数字v 为了保证数字签名的效果,数字签名必须满足以下要求:4.2.1数字签名应满足的要求数字签名应满足的要求 (1)签名是可信的和可验证的,任何人都可)签名是可信的和可验证的,任何人都可以验证签名的有效性;以验证签名的有效性;(2)签名是不可伪造的,除了合法的签名者)签名是不可伪造的,除了合法的签名者之外,任何人伪造其签名是困难的;之外,任何人伪造其签名是困难的;(3)签名是不可复制的,对一个消息的签名)签名是不可复制的,对一个消息的签名不能通过复制变为另一个消息的签名不能通过复制变为另一个消息的签名 为了保证数字签名的效果,数字签名必须满足以下要求:4.24.2.1数字签名应满足的要求数字签名应满足的要求 (4 4)签名的消息是不可改变的,经签名的消)签名的消息是不可改变的,经签名的消息不能篡改,一旦签名的消息被篡改,任何人都可息不能篡改,一旦签名的消息被篡改,任何人都可以发现消息与签名之间的不一致性;以发现消息与签名之间的不一致性;(5 5)签名是不可抵赖的,签名者事后不能否)签名是不可抵赖的,签名者事后不能否认自己的签名(可以由第三方或仲裁方来确认双方认自己的签名(可以由第三方或仲裁方来确认双方的信息,以作出仲裁);的信息,以作出仲裁);(6 6)签名的产生、识别和证实必须相对简单;)签名的产生、识别和证实必须相对简单;(7 7)签名必须与签名的信息相关,当签名后)签名必须与签名的信息相关,当签名后的数据发生改变时,该签名将成为无效的签名。的数据发生改变时,该签名将成为无效的签名。4.2.1数字签名应满足的要求 (4)签名的消息是不可4.2.2数字签名的基本原理数字签名的基本原理4.2.2数字签名的基本原理4.2.2数字签名的基本原理数字签名的基本原理4.2.2数字签名的基本原理数字签名的特性数字签名的特性2.(1 1 1 1)签名与信息(或文件)应是一个不可分割的整体)签名与信息(或文件)应是一个不可分割的整体)签名与信息(或文件)应是一个不可分割的整体)签名与信息(或文件)应是一个不可分割的整体 (2 2)防止签名的伪造。)防止签名的伪造。(3 3 3 3)数字签名应该具有时间特征。)数字签名应该具有时间特征。)数字签名应该具有时间特征。)数字签名应该具有时间特征。(4 4)对于所签发的信息(或文件),签名应能精确、)对于所签发的信息(或文件),签名应能精确、唯一的生成。唯一的生成。(5 5 5 5)数字签名能够验证信息(或文件)的真实性和完)数字签名能够验证信息(或文件)的真实性和完)数字签名能够验证信息(或文件)的真实性和完)数字签名能够验证信息(或文件)的真实性和完整性。整性。整性。整性。(6 6)签名的产生、识别和验证应较为容易。)签名的产生、识别和验证应较为容易。数字签名的特性2.(1)签名与信息(或文件)应是一个不可分主要内容主要内容:数字签名的基本原理数字签名的基本原理2.数字签名的过程与分类数字签名的过程与分类3.数字签名概述数字签名概述1.数字签名的标准及算法数字签名的标准及算法4.其他数字签名方案其他数字签名方案5.主要内容:数字签名的基本原理2.数字签名的过程与分类3.数字4.3.1 数字签名的过程数字签名的过程(1 1)使用单向散列算法对原始信息进行计算,得到一使用单向散列算法对原始信息进行计算,得到一个固定长度的信息摘要(个固定长度的信息摘要(Message Digest,实际上是,实际上是一个固定长度的字符串。一个固定长度的字符串。(2 2)发送方用自己的私钥加密生成的信息摘要,生成)发送方用自己的私钥加密生成的信息摘要,生成发送方的数字签名;发送方的数字签名;4.3.1 数字签名的过程(1)使用单向散列算法对原始信息4.3.1 数字签名的过程数字签名的过程(3 3)发送方把这个数字签名作为要发送信息的附件和)发送方把这个数字签名作为要发送信息的附件和明文信息一同用接收方的公钥进行加密,将加密后的密明文信息一同用接收方的公钥进行加密,将加密后的密文一同发送给接收方;文一同发送给接收方;(4 4)接收方首先把接收到的密文用自己的私钥解密,得)接收方首先把接收到的密文用自己的私钥解密,得到明文信息和数字签名,到明文信息和数字签名,再用发送方的公钥对数字签名再用发送方的公钥对数字签名进行解密,随后使用相同的单向散列函数来计算解密得进行解密,随后使用相同的单向散列函数来计算解密得到的明文信息,得到信息摘要。到的明文信息,得到信息摘要。4.3.1 数字签名的过程(3)发送方把这个数字签名作为要4.3.1数字签名的过程数字签名的过程4.3.1数字签名的过程4.3.2 数字签名的产生方式数字签名的产生方式 数字签名可以使用加密算法(传统密码算法和数字签名可以使用加密算法(传统密码算法和公钥密码算法)或特定的签名算法来产生。公钥密码算法)或特定的签名算法来产生。4.3.2 数字签名的产生方式 数字签名可以使用由加密算法产生数字签名由加密算法产生数字签名1、(1)由单钥密码算法(传统密码算法)产生数字签名)由单钥密码算法(传统密码算法)产生数字签名由加密算法产生数字签名1、(1)由单钥密码算法(传统密码算法0有加密算法产生数字签名有加密算法产生数字签名1、(2)由公钥密码算法产生数字签名由公钥密码算法产生数字签名由公钥密码算法产生数字签名由公钥密码算法产生数字签名0有加密算法产生数字签名1、(2)由公钥密码算法产生数字签名4.3.3 数字签名的分类数字签名的分类 目前有多种数字签名机制,一般情况下按执行方式来分有两类:目前有多种数字签名机制,一般情况下按执行方式来分有两类:(1 1)直接方式的数字签名)直接方式的数字签名 (2 2)具有仲裁方式的数字签名)具有仲裁方式的数字签名4.3.3 数字签名的分类 目前有多种数字签名机制,一直接方式的数字签名直接方式的数字签名1.直接方式是指数字签名的执行过程只有通信双方参与,直接方式是指数字签名的执行过程只有通信双方参与,并假定双方有共享的秘密密钥或接收方知道发送方的公开并假定双方有共享的秘密密钥或接收方知道发送方的公开密钥。密钥。直接方式的数字签名有一个公共弱点,即方案的有效直接方式的数字签名有一个公共弱点,即方案的有效性取决于发送方秘密密钥的安全性。性取决于发送方秘密密钥的安全性。直接方式的数字签名1.直接方式是指数字签名的执具有仲裁方式的数字签名具有仲裁方式的数字签名2.与直接方式的数字签名一样,具有仲裁方式的数字签与直接方式的数字签名一样,具有仲裁方式的数字签名也有很多实现方案,这些方案都按以下方式运行名也有很多实现方案,这些方案都按以下方式运行:发送方发送方X对发往接收方对发往接收方Y的消息签名后,将消息及其的消息签名后,将消息及其签名先发给仲裁者签名先发给仲裁者A,A对消息及其签名验证完后,再连对消息及其签名验证完后,再连同一个表示已通过验证的指令一起发往接收方同一个表示已通过验证的指令一起发往接收方Y。具有仲裁方式的数字签名2.与直接方式的数字签名具有仲裁方式的数字签名具有仲裁方式的数字签名2.具有仲裁方式的数字签名2.主要内容主要内容:数字签名的基本原理数字签名的基本原理2.数字签名的过程与分类数字签名的过程与分类3.数字签名概述数字签名概述1.数字签名的标准及算法数字签名的标准及算法4.其他数字签名方案其他数字签名方案5.主要内容:数字签名的基本原理2.数字签名的过程与分类3.数字4.4.1 数字签名算法数字签名算法 目前,已经提出了大量的数字签名算法,比如目前,已经提出了大量的数字签名算法,比如RSA数数字签名算法字签名算法、EIGamal数字签名算法、数字签名算法、Fiat-Shamir数字签数字签名算法名算法、Guillou-Quisquarter数字签名算法、数字签名算法、Schnorr数数字签名算法字签名算法、Ong-Schnorr-Shamir数字签名算法、数字签名算法、美国美国的数字签名标准的数字签名标准/算法(算法(DSS/DSA)、椭圆曲线数字签名、椭圆曲线数字签名算法和有限自动机数字签名算法等。算法和有限自动机数字签名算法等。4.4.1 数字签名算法 目前,已经提出了大量的数4.4.1 基于基于RSA的数字签名算法的数字签名算法p=3,q=11n=33(n)=20b=7a=3公开33,7,保密3、3、114.4.1 基于RSA的数字签名算法p=3,q=11n=334.4.1 基于基于RSA的数字签名算法的数字签名算法4.4.1 基于RSA的数字签名算法4.4.2 数字签名标准算法数字签名标准算法4.4.2 数字签名标准算法4.4.2 数字签名标准算法数字签名标准算法4.4.2 数字签名标准算法4.4.2 数字签名标准算法数字签名标准算法4.4.2 数字签名标准算法4.4.2 数字签名标准算法数字签名标准算法4.4.2 数字签名标准算法主要内容主要内容:数字签名的基本原理数字签名的基本原理2.数字签名的过程与分类数字签名的过程与分类3.数字签名概述数字签名概述1.数字签名的标准及算法数字签名的标准及算法4.其他数字签名方案其他数字签名方案5.主要内容:数字签名的基本原理2.数字签名的过程与分类3.数字4.5.1 盲签名方案盲签名方案4.5.1 盲签名方案基于基于RSA的盲签名算法的盲签名算法2.基于RSA的盲签名算法2.4.5.2 不可否认签名方案不可否认签名方案 例:例:比如比如A A向向B B借钱,借钱,A A必须在借条上签字。必须在借条上签字。也许也许有一天,有一天,B B提前向提前向A A索要钱款,或者索要钱款,或者A A与与B B发生了矛盾,发生了矛盾,为此为此B B复制了复制了A A的借条到处散布,并验证给人们看,的借条到处散布,并验证给人们看,A A确实向确实向B B借了钱,使借了钱,使A A的受到了巨大的伤害或损失。的受到了巨大的伤害或损失。4.5.2 不可否认签名方案 例:比如A向B借钱,A必不可否认签名的原理不可否认签名的原理1.(1)如果)如果A拒绝合作,则认为拒绝合作,则认为B提供的是事实;提供的是事实;(2)如果)如果A用虚假方法验证,算法可以实现用虚假方法验证,算法可以实现A行为,也行为,也判定判定B提供的是事实;提供的是事实;(3)如果)如果B提供的借条是伪造的,则提供的借条是伪造的,则A也可以发现并证也可以发现并证明,从而否认明,从而否认B提供的借条。提供的借条。不可否认签名的原理1.(1)如果A拒绝合作,则认为B不可否认签名的原理不可否认签名的原理1.由由此此可可知知,不不可可否否认认签签名名主主要要由由3 3部部分分组组成成:签签名名算算法法、验证算法和不可否认算法。验证算法和不可否认算法。不可否认签名的原理1.由此可知,不可否认签名主要由3部分4.5.3 防失败签名方案防失败签名方案 防失败签名是一种强化安全性的数字签名,即使防失败签名是一种强化安全性的数字签名,即使攻击者分析到用户的密钥,也难以伪造该用户的签名,攻击者分析到用户的密钥,也难以伪造该用户的签名,而签名方对自己的签名也是难以抵赖的。而签名方对自己的签名也是难以抵赖的。4.5.3 防失败签名方案 防失败签名是一种强化安全性习题习题4 4 v 1请简述数字述数字签名名应满足的要求。足的要求。v 2请简要描述数字要描述数字签名的基本原理、名的基本原理、过程及特性。程及特性。v 3请阐述具有保密通信的数字述具有保密通信的数字签名的名的过程。程。v 4请证明明RSA的数字的数字签名和名和DSA的正确性。的正确性。v 5请简述盲述盲签名的基本原理及名的基本原理及过程。程。v 6请简述不可否述不可否认签名方案的基本原理及名方案的基本原理及过程。程。v 7请简述防失述防失败签名方案的基本原理及名方案的基本原理及过程。程。习题4 1请简述数字签名应满足的要求。再见!再见!
展开阅读全文