《数字签名技术应用》PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由于商情的千变万化,交易一旦达成是不能被否认的。否则必 然会损害一方的利益。再如订购黄金,订货时金价较低,但收到订单 后,金价上涨了,如果供货方能否认收到订单的实际时间,甚至否认 收到订单的事实,则订货方就会蒙受损失。因此电子交易通信过程的 各个环节都必须是不可否认的。 5)信息传递的不可重放性
如在日常生活中,A向B借了钱,同时写了一张借条给B;当A还 钱的时候,肯定要向B索回他写的借条撕毁,不然,恐怕他会再次挟 借条要求A再次还钱。在数字签名中,如果采用了对签名报文添加流 水号、时戳等技术,可以防止重放攻击。
21
7.2.3 数字签名算法
1)签名过程
对于给定的k,消息m的签名定义如下: sig(m,k)=(y,s)
其中 y = (gk mod p)mod q s = (k-1(MD5(m)+ay)mod q
杂凑函数MD5用于把可变长度的消息m转变为一个160比特的消 息摘要,然后再用数字签名方案对它进行签名。
3)安全性分析
由于DSA是基于有限域上离散对数问题,出于短期安全性考虑要 求域Zp的素数p的长度至少为1024比特,而考虑到长期安全性则要求 其长度至少为2048比特。
23
7.2.3 数字签名算法
签名算法
Rivest、shamir和Adleman于1978年提出了RSA数字签名和公钥算 法,这是第一个较完善的公开密钥算法,它既能用于加密也能用于数 字签名,而认证过程相当于保密过程的逆过程。
(1)H能够应用到大小不一的数据上; (2)H对任何输入报文数据生成固定长度的输出; (3)对于任意给定的x,H(x)的计算相对简单; (4)对于任意给定的h,要发现满足H(x)=h的x在计算上是不可行的; (5)要发现满足H(x)=H(y)的(x,y)对在计算上是不可行的。 由于消息摘要函数比对称加密算法的速度还快,因此有着广泛 的应用。消息摘要函数是数字签名和消息识别码(MAC)的基础。
16
7.2.2 数字签名原理
2.接收方验证过程
接收方B接收到发送方A的签名消息后,对A的签名消息进行验证的 过程如下: (1)将消息中的原消息与数字签名分离出来
17
7.2.2 数字签名原理
(2)使用A的公钥数字签名原理
(3)利用与发送方A相同的散列函数重新计算原消息的摘要
11
7.2.2 数字签名原理
为了实现网络环境下的身份鉴别、数据完整性认证和抗否认的 功能,数字签名应满足以下要求: (1)签名者发出签名的消息后,就不能再否认自己所签发的消息; (2)接收者能够确认或证实签名者的签名,但不能否认; (3)任何人都不能伪造签名; (4)第三方可以确认收发双方之间的消息传送,但不能伪造这一过程, 这样,当通信的双方关于签名的真伪发生争执时,可由第三方来解决 双方的争执。
《数字签名技术应用》PPT课件
本PPT课件仅供学习用 本PPT课件仅供学习用 本PPT课件仅供学习用
学完请删除!
主要内容
1
7.1数字签名概述
2
7.2数字签名技术原理
3
7.3数字证书
4
7.4认证中心CA
2
数字签名的含义
1.什么是电子签名
电子签名指数据电文中以电子形式所含、所附用于识别签名人 身份并表明签名人认可其中内容的数据。通俗地说,电子签名就是 通过密码技术对电子文档的电子形式的签名,并非是书面签名的数 字图像化,它类似于手写签名或印章,也可以说它就是电子印章。
7
数字签名的作用与用途
2.数字签名的用途
数字证书的用途很广泛,它可以用于方便快捷安全地发送电子 邮件、访问安全站点、网上招标投标、网上签约、网上订购、网上公 文的安全传送、网上办公、网上缴费、网上缴税、网上购物等安全电 子事务处理和安全电子交易活动。
在网络应用中,数字签名比手工签字更具优越性,数字签名是 进行身份鉴别与网上安全交易的通用实施技术。当然,网络环境还有 很多其他威胁,要由其他专门技术解决,如防火墙技术、反病毒技术、 入侵检测技术等。在网络应用中,凡是要解决伪造、抵赖、冒充、篡 改与身份鉴别的问题,都可运用数字签名来处理。
在已提出的公开密钥算法中,RSA是最容易理解和实现的,这个 算法也是最流行的。RSA算法以它的三个发明者Ron Rivest、Adi Shamir和Leonard Adleman的名字命名。
RSA的安全性建立在大整数素因子分解困难的基础之上,其数字 签名算法类似于RSA密码算法,该算法的描述详见本书节。RSA数字 签名算法可以描述如下:
电子签名主要有三个作用: (1)证明文件的来源,即识别签名人; (2)表明签名人对文件内容的确认; (3)构成签名人对文件内容正确性和完整性负责的根据。与传统 商务活动中的签名盖章作用相同,具有同样的法律效力。
3
数字签名的含义
2.什么是数字签名
数字签名只有信息的发送者才能产生,别人无法伪造的一段数 字串,它同时也是对发送者发送的信息的真实性的一个证明。
12
7.2.2 数字签名原理
对于一个典型的数字签名体系而言,它必须包含2个重要的组成 部分:即签名算法(Signature Algorithm)和验证算法(Verification Algorithm)。为了满足上述4点要求,数字签名体系必须满足2条基本 假设:
(1)签名密钥是安全的,只有其拥有者才能使用; (2)使用签名密钥是产生数字签名的唯一途径。
ISO 7498-2标准对数字签名是这样定义的:附加在数据单元上的 一些数据,或是对数据单元所做的密码变换,这种数据或变换允许数 据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护 数据,防止被人(如接收者)伪造。
4
数字签名发展状况
随着国际互联网的发展,电子商务已经逐渐成为人们进行商务 活动的新模式。电子商务从产生至今虽然时间不长,但发展十分迅速。 电子商务的发展前景及其带来的影响,已经引起世界各国政府和企业 的广泛关注和积极参与。但是,由于电子商务交易平台的虚拟性和匿 名性,其安全问题也变得越来越突出,电子签名技术的应用及其立法 为电子商务安全运行提供了重要保障。
p是一个素数,满足2L-1<p<2L,其中512≤L≤1024,L是64的倍 数。
q是一个160比特的素数并且能够整除p-1。 g=h(p-l)/q mod p,其中h是任意满足1<h<p-1的整数,并且使得 h(p-l)/q mod p>l,即g的阶是q mod p。 β=ga mod p,其中a是随机或者伪随机生成的整数且满足0<a<q。 k是随机或者伪随机生成的整数且满足0<k<q。把p,q,g和β公 开而保密a和k。对每一次签名都应该生成一个新的k值。
19
7.2.2 数字签名原理
(4)比较解密后获得的消息摘要A与重新计算产生的消息摘要B,若相等则 说明消息在传输过程中没有被篡改,否则消息不可靠。
20
7.2.3 数字签名算法
签名算法
DSA(Digital Signature Algorithm)是Schnorr和ElGamal签名算法的变 种。EIGamal方案基于有限域上的离散对数问题。DSA中涉及的参数可 以描述如下:
目前使用的消息摘要函数有:MD2、MD4、MDS、HMAC、SHA、 SHA-1。
10
7.2.2 数字签名原理
数字签名技术是结合消息摘要函数和公钥加密算法的 具体加密应用技术。数字签名(Digital Signature)指一个用 自己的非对称密码算法(如:RSA算法)私钥加密后的信息 摘要,附在消息后面;别人得到这个数字签名及签名前的 信息内容,使用该用户分发的非对称密码算法公钥,就可 以检验签名前的信息内容在传输过程或分发过程中是否己 被篡改并且可以确认发送者的身份。
9
消息摘要
2.常用算法
(1)MD5(Message Digest Algorithm-5)算法是由设计的,在RFC1321 中描述。MD5按512位数据块为单位来处理输入,产生128位的消息摘 要。
(2)SHA:(Secure Hash Algorithm)算法是由NIST开发,并在1993年 作为信息处理标准公布。SHA与MD5的设计原理相似,同样也按512位 数据块为单位来处理输入,但它产生160位的消息摘要,具有比MD5 更强的安全性。
24
7.2.3 数字签名算法
1)签名过程
消息m的签名sig(m)通过下面的计算生成 sig(m)=(h(m))e mod n
其中h(m)是消息摘要,它由消息m通过密码学中的杂凑函数(如 MD5)得到。
2)验证过程
验证算法ver(m,y)力以消息m和签名y为输入,定义如下: ver(m,y)=真,等价于h(m)≡yd mod n
13
7.2.2 数字签名原理
1.发送方签名过程
发送方A创建数字签名的过程如下: (1)为保证签名的速度,A先将原文进行单向HASH运算生成定长的消息 摘要A
14
7.2.2 数字签名原理
(2)利用自己的私钥加密消息摘要得到数字签名A,并将数字签名附在原 消息后面
15
7.2.2 数字签名原理
(3)通讯时用户A将自己的原文和签名文一起通过网络送给通讯对方即用 户B
22
7.2.3 数字签名算法
2)验证过程
设ver(m,y,s)是验证算法,它以上述定义的消息m和y,s为输 入。签名的验证通过下面的计算来完成:
w = s-1 mod q d1 = (MD5(m)* w)mod q d2 = (y *w)mod q v=((gd1*βd2)mod p)mod q 若v=y,则ver(m,y,s)的输出为真,否则为假。 消息m的签名是有效的当且仅当ver(m,y,s)的输出为真。如果 ver(m,y,s)的输出为假,则说明或者消息m被篡改,或者该签名不 是签名者的合法签名。
6
数字签名的作用与用途
3)数据交换的完整性 交易的文件是不能被修改的。举个例子,比如订购黄金。供货
方在收到订单后,发现金价大幅上涨了,如果它能改动订单内容,将 订购数1吨改为1克,则可大幅受益,而订货方就会因此而蒙受损失。 因此电子交易文件也要做到不可修改,以保障交易的严肃性和公正性。 4)发送信息的不可否认性
5
数字签名的作用与用途
1.数字签名的作用
1)信息传输的保密性 交易中的商务信息均有保密的要求。如果信用卡的帐号和用户
名被别人获悉,就可能被盗用:订货和付款的信息被竞争对手获悉, 就可能丧失商机,因此在电子商务的信息传播中一般都有加密的要求。 2)交易者身份的可鉴别性
网上交易的双方很可能素昧平生,相隔千里。对于商家要确认 客户端不是骗子,而客户也要相信网上的商店不是一个玩弄欺诈的黑 店,因此能方便而可靠地确认对方的身份是网上交易的前提。为顾客 或用户开展服务的银行、信用卡公司和销售商店,为了做到安全、保 密、可靠地开展服务活动,都需要进行身份认证的工作。对有关的销 售商店来说,他们不知道顾客的信用卡号码,只能把信用卡的确认工 作完全交给银行来完成。银行和信用卡公司可以采用各种保密与识别 方法来确认顾客的身份是否合法、确认订货和订货收据信息同时还要 注意防止发生拒付款等问题。
8
消息摘要
1.消息摘要含义
在信息安全技术中经常需要验证消息的完整性,消息摘要函数 (Message Digest)就提供了这一服务。它是一种散列(Hash)变换,能对 不同长度的输入信息产生固定长度的输出即一个单独的128256位的大 数。这个大数称为原消息的“消息摘要”或“散列”。一个安全的散 列函数H具有以下的属性:
数字签名是目前电子商务、电子政务中应用最普遍、技术最成 熟、可操作性最强的一种电子签名方法。所谓"数字签名"就是通过某 种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书 写签名或印章。它采用了规范化的程序和科学化的方法,用于鉴定签 名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原 文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不 可抵赖性。
其中,(e,n)为公钥,(d,n)为私钥。 验证算法使用了签名者的公钥,所以任何人都可以验证一个签 名;然而由于签名需要签名者的私钥,故只有签名者本人才能产生有 效的签名。
25
7.2.3 数字签名算法
3)安全性分析
正如RSA密码体制的情形一样,素数p和q应该足够大,使得对于 给定了它们的乘积n,如果事先不知道p或者q,分解n是计算上不可行 的。对于短期安全性,n的长度至少应该为1024比特,而长期安全性 则要求n至少为2048比特。
如在日常生活中,A向B借了钱,同时写了一张借条给B;当A还 钱的时候,肯定要向B索回他写的借条撕毁,不然,恐怕他会再次挟 借条要求A再次还钱。在数字签名中,如果采用了对签名报文添加流 水号、时戳等技术,可以防止重放攻击。
21
7.2.3 数字签名算法
1)签名过程
对于给定的k,消息m的签名定义如下: sig(m,k)=(y,s)
其中 y = (gk mod p)mod q s = (k-1(MD5(m)+ay)mod q
杂凑函数MD5用于把可变长度的消息m转变为一个160比特的消 息摘要,然后再用数字签名方案对它进行签名。
3)安全性分析
由于DSA是基于有限域上离散对数问题,出于短期安全性考虑要 求域Zp的素数p的长度至少为1024比特,而考虑到长期安全性则要求 其长度至少为2048比特。
23
7.2.3 数字签名算法
签名算法
Rivest、shamir和Adleman于1978年提出了RSA数字签名和公钥算 法,这是第一个较完善的公开密钥算法,它既能用于加密也能用于数 字签名,而认证过程相当于保密过程的逆过程。
(1)H能够应用到大小不一的数据上; (2)H对任何输入报文数据生成固定长度的输出; (3)对于任意给定的x,H(x)的计算相对简单; (4)对于任意给定的h,要发现满足H(x)=h的x在计算上是不可行的; (5)要发现满足H(x)=H(y)的(x,y)对在计算上是不可行的。 由于消息摘要函数比对称加密算法的速度还快,因此有着广泛 的应用。消息摘要函数是数字签名和消息识别码(MAC)的基础。
16
7.2.2 数字签名原理
2.接收方验证过程
接收方B接收到发送方A的签名消息后,对A的签名消息进行验证的 过程如下: (1)将消息中的原消息与数字签名分离出来
17
7.2.2 数字签名原理
(2)使用A的公钥数字签名原理
(3)利用与发送方A相同的散列函数重新计算原消息的摘要
11
7.2.2 数字签名原理
为了实现网络环境下的身份鉴别、数据完整性认证和抗否认的 功能,数字签名应满足以下要求: (1)签名者发出签名的消息后,就不能再否认自己所签发的消息; (2)接收者能够确认或证实签名者的签名,但不能否认; (3)任何人都不能伪造签名; (4)第三方可以确认收发双方之间的消息传送,但不能伪造这一过程, 这样,当通信的双方关于签名的真伪发生争执时,可由第三方来解决 双方的争执。
《数字签名技术应用》PPT课件
本PPT课件仅供学习用 本PPT课件仅供学习用 本PPT课件仅供学习用
学完请删除!
主要内容
1
7.1数字签名概述
2
7.2数字签名技术原理
3
7.3数字证书
4
7.4认证中心CA
2
数字签名的含义
1.什么是电子签名
电子签名指数据电文中以电子形式所含、所附用于识别签名人 身份并表明签名人认可其中内容的数据。通俗地说,电子签名就是 通过密码技术对电子文档的电子形式的签名,并非是书面签名的数 字图像化,它类似于手写签名或印章,也可以说它就是电子印章。
7
数字签名的作用与用途
2.数字签名的用途
数字证书的用途很广泛,它可以用于方便快捷安全地发送电子 邮件、访问安全站点、网上招标投标、网上签约、网上订购、网上公 文的安全传送、网上办公、网上缴费、网上缴税、网上购物等安全电 子事务处理和安全电子交易活动。
在网络应用中,数字签名比手工签字更具优越性,数字签名是 进行身份鉴别与网上安全交易的通用实施技术。当然,网络环境还有 很多其他威胁,要由其他专门技术解决,如防火墙技术、反病毒技术、 入侵检测技术等。在网络应用中,凡是要解决伪造、抵赖、冒充、篡 改与身份鉴别的问题,都可运用数字签名来处理。
在已提出的公开密钥算法中,RSA是最容易理解和实现的,这个 算法也是最流行的。RSA算法以它的三个发明者Ron Rivest、Adi Shamir和Leonard Adleman的名字命名。
RSA的安全性建立在大整数素因子分解困难的基础之上,其数字 签名算法类似于RSA密码算法,该算法的描述详见本书节。RSA数字 签名算法可以描述如下:
电子签名主要有三个作用: (1)证明文件的来源,即识别签名人; (2)表明签名人对文件内容的确认; (3)构成签名人对文件内容正确性和完整性负责的根据。与传统 商务活动中的签名盖章作用相同,具有同样的法律效力。
3
数字签名的含义
2.什么是数字签名
数字签名只有信息的发送者才能产生,别人无法伪造的一段数 字串,它同时也是对发送者发送的信息的真实性的一个证明。
12
7.2.2 数字签名原理
对于一个典型的数字签名体系而言,它必须包含2个重要的组成 部分:即签名算法(Signature Algorithm)和验证算法(Verification Algorithm)。为了满足上述4点要求,数字签名体系必须满足2条基本 假设:
(1)签名密钥是安全的,只有其拥有者才能使用; (2)使用签名密钥是产生数字签名的唯一途径。
ISO 7498-2标准对数字签名是这样定义的:附加在数据单元上的 一些数据,或是对数据单元所做的密码变换,这种数据或变换允许数 据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护 数据,防止被人(如接收者)伪造。
4
数字签名发展状况
随着国际互联网的发展,电子商务已经逐渐成为人们进行商务 活动的新模式。电子商务从产生至今虽然时间不长,但发展十分迅速。 电子商务的发展前景及其带来的影响,已经引起世界各国政府和企业 的广泛关注和积极参与。但是,由于电子商务交易平台的虚拟性和匿 名性,其安全问题也变得越来越突出,电子签名技术的应用及其立法 为电子商务安全运行提供了重要保障。
p是一个素数,满足2L-1<p<2L,其中512≤L≤1024,L是64的倍 数。
q是一个160比特的素数并且能够整除p-1。 g=h(p-l)/q mod p,其中h是任意满足1<h<p-1的整数,并且使得 h(p-l)/q mod p>l,即g的阶是q mod p。 β=ga mod p,其中a是随机或者伪随机生成的整数且满足0<a<q。 k是随机或者伪随机生成的整数且满足0<k<q。把p,q,g和β公 开而保密a和k。对每一次签名都应该生成一个新的k值。
19
7.2.2 数字签名原理
(4)比较解密后获得的消息摘要A与重新计算产生的消息摘要B,若相等则 说明消息在传输过程中没有被篡改,否则消息不可靠。
20
7.2.3 数字签名算法
签名算法
DSA(Digital Signature Algorithm)是Schnorr和ElGamal签名算法的变 种。EIGamal方案基于有限域上的离散对数问题。DSA中涉及的参数可 以描述如下:
目前使用的消息摘要函数有:MD2、MD4、MDS、HMAC、SHA、 SHA-1。
10
7.2.2 数字签名原理
数字签名技术是结合消息摘要函数和公钥加密算法的 具体加密应用技术。数字签名(Digital Signature)指一个用 自己的非对称密码算法(如:RSA算法)私钥加密后的信息 摘要,附在消息后面;别人得到这个数字签名及签名前的 信息内容,使用该用户分发的非对称密码算法公钥,就可 以检验签名前的信息内容在传输过程或分发过程中是否己 被篡改并且可以确认发送者的身份。
9
消息摘要
2.常用算法
(1)MD5(Message Digest Algorithm-5)算法是由设计的,在RFC1321 中描述。MD5按512位数据块为单位来处理输入,产生128位的消息摘 要。
(2)SHA:(Secure Hash Algorithm)算法是由NIST开发,并在1993年 作为信息处理标准公布。SHA与MD5的设计原理相似,同样也按512位 数据块为单位来处理输入,但它产生160位的消息摘要,具有比MD5 更强的安全性。
24
7.2.3 数字签名算法
1)签名过程
消息m的签名sig(m)通过下面的计算生成 sig(m)=(h(m))e mod n
其中h(m)是消息摘要,它由消息m通过密码学中的杂凑函数(如 MD5)得到。
2)验证过程
验证算法ver(m,y)力以消息m和签名y为输入,定义如下: ver(m,y)=真,等价于h(m)≡yd mod n
13
7.2.2 数字签名原理
1.发送方签名过程
发送方A创建数字签名的过程如下: (1)为保证签名的速度,A先将原文进行单向HASH运算生成定长的消息 摘要A
14
7.2.2 数字签名原理
(2)利用自己的私钥加密消息摘要得到数字签名A,并将数字签名附在原 消息后面
15
7.2.2 数字签名原理
(3)通讯时用户A将自己的原文和签名文一起通过网络送给通讯对方即用 户B
22
7.2.3 数字签名算法
2)验证过程
设ver(m,y,s)是验证算法,它以上述定义的消息m和y,s为输 入。签名的验证通过下面的计算来完成:
w = s-1 mod q d1 = (MD5(m)* w)mod q d2 = (y *w)mod q v=((gd1*βd2)mod p)mod q 若v=y,则ver(m,y,s)的输出为真,否则为假。 消息m的签名是有效的当且仅当ver(m,y,s)的输出为真。如果 ver(m,y,s)的输出为假,则说明或者消息m被篡改,或者该签名不 是签名者的合法签名。
6
数字签名的作用与用途
3)数据交换的完整性 交易的文件是不能被修改的。举个例子,比如订购黄金。供货
方在收到订单后,发现金价大幅上涨了,如果它能改动订单内容,将 订购数1吨改为1克,则可大幅受益,而订货方就会因此而蒙受损失。 因此电子交易文件也要做到不可修改,以保障交易的严肃性和公正性。 4)发送信息的不可否认性
5
数字签名的作用与用途
1.数字签名的作用
1)信息传输的保密性 交易中的商务信息均有保密的要求。如果信用卡的帐号和用户
名被别人获悉,就可能被盗用:订货和付款的信息被竞争对手获悉, 就可能丧失商机,因此在电子商务的信息传播中一般都有加密的要求。 2)交易者身份的可鉴别性
网上交易的双方很可能素昧平生,相隔千里。对于商家要确认 客户端不是骗子,而客户也要相信网上的商店不是一个玩弄欺诈的黑 店,因此能方便而可靠地确认对方的身份是网上交易的前提。为顾客 或用户开展服务的银行、信用卡公司和销售商店,为了做到安全、保 密、可靠地开展服务活动,都需要进行身份认证的工作。对有关的销 售商店来说,他们不知道顾客的信用卡号码,只能把信用卡的确认工 作完全交给银行来完成。银行和信用卡公司可以采用各种保密与识别 方法来确认顾客的身份是否合法、确认订货和订货收据信息同时还要 注意防止发生拒付款等问题。
8
消息摘要
1.消息摘要含义
在信息安全技术中经常需要验证消息的完整性,消息摘要函数 (Message Digest)就提供了这一服务。它是一种散列(Hash)变换,能对 不同长度的输入信息产生固定长度的输出即一个单独的128256位的大 数。这个大数称为原消息的“消息摘要”或“散列”。一个安全的散 列函数H具有以下的属性:
数字签名是目前电子商务、电子政务中应用最普遍、技术最成 熟、可操作性最强的一种电子签名方法。所谓"数字签名"就是通过某 种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书 写签名或印章。它采用了规范化的程序和科学化的方法,用于鉴定签 名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原 文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不 可抵赖性。
其中,(e,n)为公钥,(d,n)为私钥。 验证算法使用了签名者的公钥,所以任何人都可以验证一个签 名;然而由于签名需要签名者的私钥,故只有签名者本人才能产生有 效的签名。
25
7.2.3 数字签名算法
3)安全性分析
正如RSA密码体制的情形一样,素数p和q应该足够大,使得对于 给定了它们的乘积n,如果事先不知道p或者q,分解n是计算上不可行 的。对于短期安全性,n的长度至少应该为1024比特,而长期安全性 则要求n至少为2048比特。