第3课_数字签名技术与应用_第1页
第3课_数字签名技术与应用_第2页
第3课_数字签名技术与应用_第3页
第3课_数字签名技术与应用_第4页
第3课_数字签名技术与应用_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3课课 数字签名技术与应用数字签名技术与应用 n教学目的 F掌握数字签名的基本原理和要求 F了解几种常见的数字签名技术的基本概念 F了解数字签名在PKI中的几种典型应用 n学习方法 F注意阅读相关数字签名技术的资料和书籍 F切实理解数字签名的基本原理以及在电子商务中的作用 F了解常见数字签名技术的特点和原理 F了解常见数字签名的应用形式 n学习内容 F数字签名的基本原理 F几种常见的数字签名技术 F几种常见的数字签名应用形式 第第1 1节节 数字签名的基本原理数字签名的基本原理 F数字签名的要求 (1)接收者能够核实发送者对报文的签名 (2)发送者事后不能抵赖对报文的签名 (3)接收者

2、不能伪造对报文的签名 F数字签名和手书签名的区别 (1)手书签名是签署文件的物理部分;数字签名是签名“绑”到所签署文件上 (2)手书签名通过比较其它已认证的签名来验证当前签名的真伪;数字签名通 过一个公开的验证算法对它进行确认 (3)手书签名文件能与原来的签名文件区分开来;数字签名文件的“拷贝”与 原签名文件相同 F数字签名提供的服务 (1)数据完整性服务 (2)不可否认服务 第第1 1节节 数字签名的基本原理数字签名的基本原理 F数字签名的组成 数字签名含有两个组成部分,即签名算法和验证算法。对m的签名可简记 为sig(m,k),而对s的证实简记为ver(s)=真,伪=0,1。签名算法或签名

3、密钥 是秘密的,只有签名人掌握。证实算法应当公开,以便于他人进行验证。 F数字签名的分类 按签名内容划分有两种,一种是对整个消息签名,一种是对压缩消息签 名,它们都是附加在被签名消息之后或某一特定位置上的一段签名。数字签 名按明、密文的对应关系也有两种,一种是确定型数字签名,其铭文与密文 是一一对应的,它对一特定消息的签名不变化(使用签名者的密钥签名), 如RSA,EIGamal等签名;另一种是随机化的或概率式数字签名,它对同一 消息的签名是随机变化的,取决于签名算法的随机参数和取值。 第第2 2节节 几种常见的数字签名技术几种常见的数字签名技术 n数据摘要和Hash函数 杂凑(Hash)函数

4、是将任意长的数字串M映射成一个较短的定长输出字符串 H的函数,以h(M)表示。即由M计算H=h(M)是容易的,但要产生一个M,使 h(M)等于给定的杂凑值H是件难事。 杂凑函数分类一类有密钥控制,以h(k,M)表示,为密码杂凑函数;另一类无 密码控制,为一般杂凑函数。无密钥控制的杂凑函数的函数值只是输入字符 串的函数,用于检测数据的完整性;有密钥控制的杂凑函数的函数值不仅与 输入有关,与密钥也有关,具有验证功能。我们研究的是密码杂凑函数。 数据摘要是用Hash函数把输入的任意长度消息变成特定长度的密文。 Hash函数的使用并不削弱签名方案的安全性,因为签名的是消息摘要而非消 息本身。 第第2

5、2节节 几种常见的数字签名技术几种常见的数字签名技术 nRSA签名 存在问题:通过选择任意的s和计算m=ek(s),任何人都能伪造发送方的RSA签 名,因为s=sigk(m)是关于m的一个有效的签名。 数据加密数字签名 加密:ek(m)=me(mod n) 解密:dk(c)=cd(mod n) 签名:sigk(m)=md(mod n) 验证:verk(s)=truem se(mod n) 其中:e、n为发送方的公开密钥;d为发送方的私有密钥。 第第2 2节节 几种常见的数字签名技术几种常见的数字签名技术 nRSA签名 解决方法:Hash函数与数字签名结合使用。 第第2 2节节 几种常见的数字签

6、名技术几种常见的数字签名技术 nELGamal签名 ELGamal签名在1985年给出,其变型已被美国国家标准技术研究所采纳 为数字签名算法(DSA)。它是为签名专门设计的,安全性基于求离散对数 的困难性。可以看出,它是一种非确定性的双钥体制,即对同一个明文消息, 由于随即参数选择的不同而又不同的签名。 定义:设p是一个使得在Zp上的离散对数问题是难处理的素数;是Zp*的一个 生成元或本原元素;消息空间M为Zp*;签名空间S为Zp*Zp-1;a(mod p) 。 值p、是公钥,a是私钥。 对于密钥K=(p, a, p)和一个在Zp-1*上秘密的随机数k,定义: sigk(m)=(,),其中=k

7、 (mod p) ,=(m-)k-1mod(p-1);定义: verk(x,(,)=true =m(mod p)。 第第2 2节节 几种常见的数字签名技术几种常见的数字签名技术 nELGamal签名 举例:假定选取p=467,=2,a=127,那么 =a(mod p)=2127mod 467=132 若发送方要对消息m=100签名,取k=213(注意,gcd(213,416)=1)且 213-1mod 466=431)。那么 =k (mod p)=2213mod 467=29 =(m-)k-1mod(p-1)=(100-12729)431 mod 466=51 任何人可通过计算 1322929

8、51189(mod 467) 和 2100189(mod 467) 来验证这个签名有效。因此,该签名是有效的。 第第2 2节节 几种常见的数字签名技术几种常见的数字签名技术 nELGamal签名变型 ELGamal签名的安全性依赖于求离散对数的困难性,一般需要使用一个 大的模p,p的长度至少需要1024bit,p越大安全性越高。一个1024bit的模导 致ELGamal签名有2048bit。对许多要求使用智能卡的潜在应用而言,需要的 是短签名。 1989年,Schnorr提出了一种可看作是ELGamal签名的变型的一种签名 方案,其签名的长度被大大地缩短了。Schnorr签名中密钥的其他方面与

9、 ELGamal签名的类似。然而,Schnorr签名将Hash函数直接集成到了签名算 法当中。 数字签名算法(DSA)是ELGamal签名的另一种变型,它吸收了 Schnorr签名的一些思想。DSA中的密钥与Schnorr签名中的密钥具有相同的 形式,DSA同时还规定在消息签名之前,要用SHA-1算法生成一个消息摘要, 对消息压缩,形成固定的160bit的消息摘要,最后得到320bit的签名。 椭圆曲线数字签名算法可以看作是DSA的变型,ECDSA的生成签名和验 证要比DSA更快,一般用于一些较小的、对资源有一定限制的设备上,如智 能卡。 第第2 2节节 几种常见的数字签名技术几种常见的数字签

10、名技术 n美国数字签名标准DSS 在1991年8月30日,美国国家标准与技术学 会(NIST)在联邦注册书上发表了一个通知,提 出了一个联邦数字签名标准,NIST称之为数字签 名标准(DSS,Digital Signature Standard)。 DSS提供了一种查核电子传输数据及发送者身份的一种方式。NITS提出, “此标准适用于联邦政府的所有部门,以保护韦加保密的信息.它同样适用 于E-mail、电子金融信息传输、电子数据交换、软件发布、数据存储及其它 需要数据完整性和原是真实性的应用”。 自从NIST引荐数字签名标准以来,它对DSS签名作了广泛的修改。DSS 签名为计算和核实数字签名指

11、定了一个数字签名算法(DSA),DSA于1994 年5月19日颁布。DSA是Schnorr和ELGamal签名的变型,该算法只能用于数 字签名而不能用于加密。 第第3 3节节 几种常见的数字签名形式几种常见的数字签名形式 n具有数字摘要的数字签名 先用单向函数Hash算法,对原文信息进行加密压缩形成数据摘要,然后, 对数据摘要用公开密钥算法进行加密和解密。原文的任何变化都会使数据摘 要发生改变,所以它是一种对压缩的消息的签名。 这种数据签名是和对大文件的信息的数字签名。对一个数据签名要进行 验证,就是最后对数据摘要的比较。 第第3 3节节 几种常见的数字签名形式几种常见的数字签名形式 n直接用

12、私钥加密的数字签名 采用非对称算法中私有密钥对原文进行加密,而不用Hash单向散列函数 做数据摘要,是一种对整体消息的签名,适用于小文件信息。 首先将原文用发方私钥加密,得到数字签名,然后将原文和数字签名一 起发向接收方,接收方用发方的公钥进行解密,最后与原文进行比较。 第第3 3节节 几种常见的数字签名形式几种常见的数字签名形式 n数字信封 所谓数字信封就是信息发送端用接收端的公钥,将一个通信密钥,即对 称密钥,给予加密,形成一个数字信封(DE)。然后传送给接收端,只有指 定的接收方才能用自己的私钥打开数字信封,获取该对称密钥(SK),用它 来解读传送来的信息。 数字信封是PKI中使用对称密

13、钥算法与非对称密钥算法的巧妙结合,是 加密、数字签名和数据摘要技术的综合运用。 第第3 3节节 几种常见的数字签名形式几种常见的数字签名形式 第第3 3节节 几种常见的数字签名形式几种常见的数字签名形式 将要传输的信息经杂凑函数运算后,得到一个数据摘要MD,MD=hash(信息)。 发送者A用自己的私钥PVA对数据摘要MD进行加密,得A的数字签名 发送者A将信息明文、数字签名和他的证书上的公钥三项信息,通过对称算法, 用对称密钥SK进行加密,得密文E 发送者A在发送信息之前,必须事先得到接收方B的证书公钥PBB,用PBB加密 密钥SK,形成一个数字信封DE E+DE就是将密文与数字信封连接起来

14、,即A所发送的内容 接收者B用自己的私钥PVB解开所收到的数字信封DE,并从中取出A所用过的 对称密钥SK 接收者B用SK将密文E解密还原成信息明文、数字签名和A的证书公钥 B将数字签名用A证书中的公钥PBA进行解密,将数字签名还原成信息摘要MD B再对已收到的信息明文,用同样的hash函数算法进行杂凑运算,得到一个新 的信息摘要MD 对数字签名进行校验,比较收到已还原的MD和新产生的MD是否相等,二者 必须相等无误,否则不接收 第第3 3节节 几种常见的数字签名形式几种常见的数字签名形式 n双重数字签名 所谓双重数字签名就是在有的场合,发送者需要寄出两个相关信息给接 收者,接收者只能解读其中

15、的一组,而另一组只能转给第三方接收者,不能 打开看其内容。这时发送者就须分别加密两组密文,做两组数字签名,故称 双重数字签名。 举例:有一个B to C的电子商务应用过程,参与方为持卡人、商户和结算银 行。当持卡人客户登陆商户网站,提出申请购物时,持卡人要向商户提出两 组信息:向商户直接提出订购信息的同时,还必须向银行提出付款信息,以 便授权银行付款。但其中处理过程要有两个要点,即:持卡人不希望商户知 道自己的银行支付账号的有关信息;同时也不希望银行方面知道具体的购物 内容,只需按金额贷记或借记账户即可。 一个人的双重数字签名可以分别传送个特约商户和用户银行,特约商户 只能解读与自己相关的信息

16、,却解不开转送给开户银行的信息。设持卡人为A, 特约商户为B,开户银行为C。 第第3 3节节 几种常见的数字签名形式几种常见的数字签名形式 第第3 3节节 几种常见的数字签名形式几种常见的数字签名形式 (1)(4):为持卡人A,对订货信息和支付信息,做双重数字签名,将发送给商户B的订货信 息OI转发给开户银行C的支付信息PI分别做数据摘要处理后进行连接,形成MDBC,并以发 送者A的私钥对MDBC进行加密,形成数字签名(DS),从而使收到信息的B、C两方能各自 用A的公钥进行解密并验证。 (5)(6):发送者A用随机产生的对称密钥SK1和SK2发送给商户B、银行C的信息,其中包 括给B的信息:

17、OI、DS、MDC和A自己证书上的公钥PBB;发送给银行C的信息:PI、DS、 MDB和A的公钥PBA,对这些信息要进行加密,得密文EMB和EMC。其中,特别要注意的是, 必须将订货信息摘要MBB传送给C,将支持信息摘要MDC传送给B。 (7)(8):以接收者B和C证书的公钥将SK1和SK2加密,分别得到两个数字信封DEB和DEC。 (9):商户B的电子信箱收到了由A发送来的两组信息,一份自己解开;另一份B不能解读, 只能传送给银行C。 (10)(15):商户B的电子信箱收到了EMB和DEB,B先用自己的私钥PVB打开数字信DEB, 取出秘密密钥SK1,B再用SK1,使用对称DES算法解开密文

18、EMB,其中B只能看到A传送给 他的信息,而不能解读A所在开户行C的信息;然后,B用A的公钥PBA解读数字签名,并 验证数据摘要MDBC是否等于MDBC,即MDBC=MDBC?。 (16)(21):为接收银行C的处理过程。当C收到B转发来的EMC和DEC之后,C先用自己的 私钥PVC解开数字信封,取出秘密密钥SK2。然后用SK2解开密文EMC。这时就可以用A的 公钥PBA,解读数字签名MDBC,并与MDBC相比较,验证两个数据摘要是否相等。以此来 证实A传来的消息未曾被B解读过。 第第3 3节节 几种常见的数字签名形式几种常见的数字签名形式 n其他形式的数字签名 盲签名:是一种允许一个人让另一

19、个人签署文件,而第一个人不向签名者泄 漏任何关于文档内容的技术。 盲签名举例:假设Alice为消息的拥有者,而Bob为签名人。在盲签名协议中, Alice的目的是让Bob对其文件进行签名,但又不想让Bob指导文件的具体内 容。而Bob并不关心文件中说些什么,它只是保证它在某一是可以公证人的 资格证实了这个文件。 Alice从Bob处获得盲签名的过程一般有如下几个步骤: (1)Alice将文件m成一个随机数得m,这个随机数通常称为盲因子,Alice 将盲消息m送给Bob; (2)Bob在m上签名后,将其签名sig(m)送回Alice; (3)Alice通过除去盲因子,可从Bob关于m的签名sig

20、(m)中得到Bob关于 原始文件m的签名sig(m)。 第第3 3节节 几种常见的数字签名形式几种常见的数字签名形式 n其他形式的数字签名 代理签名: 最近,一种称为代理签名的新型签名方案被提出,由于这种签名机制在 许多领域都有重要的应用,因此引起了人们的极大兴趣。代理签名的目的是 当某签名人(这里称为授权人)因公务或身体健康等原因不能行使签名权力 时,将签名权委派给其他人替自己行使签名权。 目前,已经出台的一些代理签名方案仍存在一些 问题。有待进一步完善和解决。 本章小结本章小结 F本章介绍了数字签名技术的基本概念和原理,常用的几种数字签名技术,其 中重点介绍了Hash函数、RSA签名、EL

21、Gamal签名及其变型和美国数字签名 标准DSS,几种数字签名应用形式举例,包括具有数据摘要和直接用私钥加 密的数字签名、数字信封和双重数字信封。 关键术语关键术语 F数字签名伴随着数字化编码的消息一起发送并与发送的消息有一定逻辑关联 的数据项,借助数字签名可以确定消息的发送方,同时还可以确定消息子发 出后未被修改过。 FHash函数是一种计算相对简单但却很难进行逆运算的函数。 F数据摘要用Hash函数把明文变成密文就形成数据摘要。 FRSA签名利用RSA算法进行数字签名的技术,数字签名的过程中运用了消息 的验证模式。发送方用发送方的私钥签名,接收方用发送方的公钥验证。 FEIGamal签名利用EIGamal体制进行数字签名的技术,安全性依赖于求解离 散对数问题的困难性。 F数字签名标准DSS美国国家标准与技术学会(NIST)提出的联邦数字签名标 准,该标准制定一个数字签名算法(DSA,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论