1、2022年12月13日星期二第三章 数字签名技术第1页第三章第三章 数字签名技术数字签名技术 内容提要内容提要n数字签名概述数字签名概述 n常规数字签名方法常规数字签名方法 n特殊数字签名方法特殊数字签名方法 n数字签名法律数字签名法律2022年12月13日星期二第三章 数字签名技术第2页本章要点 数字签名特点:难否认、可防假冒、可仲裁。数字签名特点:难否认、可防假冒、可仲裁。数字签名使用模式:智慧卡式、密码式和生物测定式。数字签名使用模式:智慧卡式、密码式和生物测定式。常用数字签名方案:常用数字签名方案:RSARSA数字、数字、HashHash签名、美国数字签名标准、椭圆签名、美国数字签名标
2、准、椭圆曲线数字签名。曲线数字签名。特殊签名方法:盲签名、双联签名、团体签名、不可争辩签名、代理特殊签名方法:盲签名、双联签名、团体签名、不可争辩签名、代理签名、数字时间戳等。签名、数字时间戳等。数字签名法律的内涵、立法原则、特点和现状。数字签名法律的内涵、立法原则、特点和现状。2022年12月13日星期二第三章 数字签名技术第3页数字签名概述 数字签名的概念及特点 数字签名的功能 数字签名方案的分类 数字签名使用模式 数字签名使用原理 2022年12月13日星期二第三章 数字签名技术第4页数字签名的概念及特点 n数数字字签签名名是通是通过过一一个单个单向函向函数对数对要要传传送的信息送的信息
3、进进行行处处理得到的用以理得到的用以认证认证信息信息来来源源并并核核实实信息在信息在传传送送过过程中是否程中是否发发生生变变化的一化的一个个字母字母数数字字串。串。数数字字签签名提供了名提供了对对信息信息来来源的确定源的确定并并能能检测检测信息是否被信息是否被篡篡改。改。n数数字字签签名的名的特点特点:数数字字签签名名与书与书面文件面文件签签名有相同之名有相同之处处,采用,采用数数字字签签名能确名能确认认以下三点:以下三点:n第一,信息是由第一,信息是由签签名者名者发发送的;送的;n第二,信息自第二,信息自签发签发后到收到后到收到为为止未曾作止未曾作过过任何修改;任何修改;n第三,如果第三,如
4、果A A否否认对认对信息的信息的签签名,可以通名,可以通过过仲裁解仲裁解决决A A和和B B之之间间的的争议争议。n因此因此数数字字签签名就可用名就可用来来防止防止电电子信息因易被修改而有人作子信息因易被修改而有人作伪伪,或冒用,或冒用别别人人名名义发义发送信息,或送信息,或发发出(收到)信件后又加以否出(收到)信件后又加以否认认等情等情况发况发生。生。n数数字字签签名和手名和手写签写签名的名的区别区别:n数数字字签签名名随随文本的文本的变变化而化而变变化,手化,手写签写签字反映字反映个个人特征,是不人特征,是不变变的;的;n数数字字签签名名与与文本信息是不可分割的,而用手文本信息是不可分割的
5、,而用手写签写签字是附加在文本之后的,字是附加在文本之后的,与与文本信息是分离的。文本信息是分离的。2022年12月13日星期二第三章 数字签名技术第5页数字签名的功能(1)身份认证:收方通过发方的电子签名能够确认发方的确切收方通过发方的电子签名能够确认发方的确切身份,但无法伪造。身份,但无法伪造。(2)保密:双方的通信内容高度保密,第三方无从知晓。双方的通信内容高度保密,第三方无从知晓。(3)完整性:通信的内容无法被篡改。通信的内容无法被篡改。(4)不可抵赖:发方一旦将电子签字的信息发出,就不能再否发方一旦将电子签字的信息发出,就不能再否认。认。2022年12月13日星期二第三章 数字签名技
6、术第6页数字签名方案的分类 1.基于数学难题的分类(1)基于离散对数问题的签名方案,如ElGamal和DSA。(2)基于素因子分解问题的签名方案,如RSA。(3)上述两种的结合签名方案。2.基于签名用户的分类(单个用户和多个用户)3.基于数字签名所具有特性的分类(1)不具有自动恢复特性的数字签名方案,如ElGamal。(2)具有消息自动恢复特性的数字签名方案4.基于数字签名所涉及的通信角色分类(1)直接数字签名(仅涉及通信的源和目的两方)(2)需仲裁的数字签名(除通信双方外,还有仲裁方)2022年12月13日星期二第三章 数字签名技术第7页数字签名使用模式(1)智慧卡式(2)密码式(3)生物测
7、定式2022年12月13日星期二第三章 数字签名技术第8页数字签名使用原理 2022年12月13日星期二第三章 数字签名技术第9页利用散列函数进行数字签名和验证的文件传输过程(1)发送方首先用哈希函数从原文得到数字摘要,然后采用公开密钥体系用发送方的私有密钥对数字摘要进行签名,并把签名后的数字摘要附加在要发送的原文后面。(2)发送一方选择一个秘密密钥对文件进行加密,并把加密后的文件通过网络传输到接收方。(3)发送方用接收方的公开密钥对秘密密钥进行加密,并通过网络把加密后的秘密密钥传输到接收方。(4)接收方使用自己的私有密钥对密钥信息进行解密,得到秘密密钥的明文。(5)接收方用秘密密钥对文件进行
8、解密,得到通过加密的数字摘要。(6)接收方用发送方的公开密钥对数字签名进行解密,得到数字摘要的明文。(7)接收方用得到的明文和哈希函数重新计算数字摘要,并与解密后的数字摘要进行对比。如果两个数字签名是相同的,说明文件在传输过程中没有被破坏。2022年12月13日星期二第三章 数字签名技术第10页第三章第三章 数字签名技术数字签名技术 内容提要内容提要n数字签名概述 n常规数字签名方法 n特殊数字签名方法 n数字签名法律2022年12月13日星期二第三章 数字签名技术第11页RSA数字签名系统 RSA算法中数字签名技术实际上是通过一个哈希函数来实现的。数字签名的特点是它代表了文件的特征,文件如果
9、发生改变,数字签名的值也将发生变化。不同的文件将得到不同的数字签名。一个最简单的哈希函数是把文件的二进制码相累加,取最后的若干位。哈希函数对发送数据的双方都是公开的。用RSA或其它公开密钥密码算法的最大方便是没有密钥分配问题(网络越复杂、网络用户越多,其优点越明显)。因为公开密钥加密使用两个不同的密钥,其中有一个是公开的,另一个是保密的。公开密钥可以保存在系统目录内、未加密的电子邮件信息中、电话黄页(商业电话)上或公告牌里,网上的任何用户都可获得公开密钥。而私有密钥是用户专用的,由用户本身持有,它可以对由公开密钥加密信息进行解密。2022年12月13日星期二第三章 数字签名技术第12页RSA数
10、字签名的步骤(1)使用散列编码将发送文件加密产生固定长的数字摘要。(2)发送方用自己的专用密钥对摘要进行再加密,形成数字签名。(3)将原文和加密的摘要同时传给对方。(4)接收方用发送方的公共密钥对摘要解密,同时对收到的文件用散列编码加密产生同一摘要。(5)将解密后的摘要和收到的文件再接收方重新加密产生的摘要互相对比验证。2022年12月13日星期二第三章 数字签名技术第13页Hash签名*Hash签名是最主要的数字签名方法,也称之为数字摘要法(Digital Digest)或数字指纹法(Digital Finger Print)。它与RSA数字签名是单独的签名不同,该数字签名方法是将数字签名与
11、要发送的信息紧密联系在一起,它更适合于电子商务活动。将一个商务合同的个体内容与签名结合在一起,比合同和签名分开传递,更增加了可信度和安全性。*Hash函数主要用于完整性校验和提高数字签名的有效性。*比较典型的Hash算法有MD2、MD4、MD5、SHA-1算法等。*美国将SHA-1作为Hash标准,欧盟RIPE计划中采用IRIPE-MD算法、RIPEMAC,俄罗斯国家标准中采用GOST算法。2022年12月13日星期二第三章 数字签名技术第14页一个Hash函数满足:H可以作用于一个任意长度的数据块;H产生一个固定长度的输出;H(x)对任意给定的x计算相对容易,无论是软件还是硬件实现;对任意给
12、定码h,找到x满足H(x)=h具有计算不可行性;对任意给定的数据块x,找到满足H(y)=H(x)的y具有计算不可行性;找到任意数据对(x,y),满足H(x)=H(y)是计算不可行的。2022年12月13日星期二第三章 数字签名技术第15页用Hash函数实验签名的方案 发送方X X:准备消息MM,计算其散列码H(M)H(M),用X X的私钥对散列值构成签名K Kx x-1-1H(M)H(M),并将消息MM及签名K Kx x-1-1 H(M)H(M)发送给Y Y接收方Y Y:对收到的消息MM计算用H(MH(M),利用公钥解密K Kx x-1-1H(M)H(M),然后比较K Kx x K Kx x-
13、1 1 H(M)H(M)和H(MH(M),如果K Kx x K Kx x-1-1 H(M)H(M)H(M H(M),则签名得到验证。2022年12月13日星期二第三章 数字签名技术第16页美国数字签名标准(DSA)数字签名算法(Digital Signature Algorithm,DSA)是Schnorr和ElGamal签名算法的变种,由美国国家标准化技术研究院(NIST)和国家安全局共同开发。DSA是基于离散对数的难度。2022年12月13日星期二第三章 数字签名技术第17页一、DSA算法参数说明DSADSA算法中应用了下述参数:p p:L bitsL bits长的素数。L L是6464的
14、倍数,范围是512512到10241024;q q:p-1p-1的160bits160bits的素因子;g g:g=hg=hp-1p-1 mod p mod p,h h满足h p-1,hh 1 mod p 1;x x:1x q1x q,x x为私钥;y y:y=gy=gx x mod p mod p,(p,q,g,y)(p,q,g,y)为公钥;H(x)H(x):单向HashHash函数。在DSSDSS中选用安全散列算法(Secure Hash Algorithm(Secure Hash Algorithm,SHA SHA)。p,q,gp,q,g:可由一组用户共享,但在实际应用中,使用公共模数可
15、能会带来一定的威胁。2022年12月13日星期二第三章 数字签名技术第18页二、签名及验证协议签名及验证协议如下:P P产生随机数k k,k qk q;P P计算 r=(g r=(gk k mod p)mod q mod p)mod q和s=(ks=(k-1-1(H(m)+xr)mod q(H(m)+xr)mod q签名结果是(m,r,s)(m,r,s)。验证时计算 w=s-1mod q计算u1=(H(m)*w)mod q计算u2=(r*w)mod q计算v=(gu1*yu2)mod p)mod q若v=rv=r,则认为签名有效。2022年12月13日星期二第三章 数字签名技术第19页DSS签
16、名和验证2022年12月13日星期二第三章 数字签名技术第20页椭圆曲线数字签名算法(ECDSA)椭圆曲线加密系统是一种运用RSA和DSA来实施的 数字签名方法。基于椭圆曲线的数字签名具有与RSA数字签名和DSA数字签名基本上相同的功能,但实施起来更有效,因为椭圆曲线数字签名在生成签名和进行验证时要必RSA和DSA来得快。椭圆曲线数字签名还可以用在一些较小、对资源有一定限制得设备如智能卡(含有微处理器芯片得塑料片)中。2022年12月13日星期二第三章 数字签名技术第21页第三章第三章 数字签名技术数字签名技术 内容提要内容提要n数字签名概述 n常规数字签名方法 n特殊数字签名方法 n数字签名
17、法律2022年12月13日星期二第三章 数字签名技术第22页特殊数字签名方法盲签名双联签名团体签名不可争辩签名多重签名方案代理签名数字时间戳2022年12月13日星期二第三章 数字签名技术第23页盲签名 一般数字签名中,总是要先知道文件内容而后才签署,这正是通常所需要的。但有时需要某人对一个文件签名,但又不让他知道文件内容,称为盲签名,它是由Chaum在1983年最先提出的。在选举投票和数字货币协议中会使用到。利用盲变换可以实现盲签名。盲签名的基本原理:(1)A取一文件并以一随机值乘之,称此随机值为盲因子(2)A将此盲文件发送给B;(3)B对盲文件签名;(4)A以盲因子除之,得到B对原文件的签
18、名Chaum将盲变换看做是信封,盲文件是对文件加个信封,而去掉盲因子的过程是打开信封的过程。文件在信封中时无人可读,而在盲文件上签名相当于在复写纸信封上签名,从而得到了对起文件(信封内容)的签名。2022年12月13日星期二第三章 数字签名技术第24页用RSA算法实现盲签名 第一个盲签名是Chaum在1985年用RSA算法实现的。下面设定签名者B的公钥参数为e,私钥参数为d,而模为n。下面A让B进行盲签名,签署消息M:(1)A盲变换:选用盲因子k,1kM,计算:t=Mkemodn,将t传送给B(2)B签名:B对t进行签名,计算 S(t)=td=(Mke)dmodn,将签名S(t)传送给A;(3
19、)A取得签名:A计算后取得签名 S=td/kmodnMdmodn2022年12月13日星期二第三章 数字签名技术第25页双联签名 在一次电子商务活动过程种可能同时有两个有联系的消息M1和M2,要对它们同时进行数字签名。例如,客户A有两个消息,一个是送银行B的有关付款帐号信息,即消息M1,另一个是给厂商C的定购信息即消息M2;但要求交送银行B的数字签名不应知道M2,送厂商C的数字签名不应知道M1。双联签名的使用方法如下:(1)客户A将给银行的信息M1和给厂商的信息M2分别生产报文摘要MD1和MD2(2)客户A将MD1和MD2合在一起生产MD,并签名(3)客户A将M1、MD2和MD发送给银行,将M
20、2、MD1和MD发送给厂商 2022年12月13日星期二第三章 数字签名技术第26页团体签名 团体签名具有以下特性:只有该团体内的成员能对消息签名;签名的接收者能够证实消息是该团体的有效签名。签名的接收者不能决定是该团体内哪一个成员签的名;在出现争议时,签名能够被“打开”,以揭示签名者的身份。采用单向Hash函数,团体签名是容易实现的:A对文件的hash签名。B对文件的hash签名。B将他的签名交给A。A把文件、签名和B的签名发给C。C验证A和B的签名。A和B能同时或顺序地完成和,在C可以只验证其中一人的签名而不用验证另一人的签名。2022年12月13日星期二第三章 数字签名技术第27页一个简
21、单的团体签名协议介绍一个简单的协议来完成团体签名。该协议使用了一个可信赖的第三方,假设该团体有n个成员 下面简单的描述该协议的步骤:(1)第三方产生n x m对密钥(公钥私钥对);然后给每一个成员m对互异的密钥(2)第三方把n x m个公钥用随机的顺序加以公开,作为团体的公钥表;并要第三方记住每个成员对应哪m对密钥(3)当团体中某个成员签名时,从自己的m个私钥中随机选择一个,进行签名(4)而验证签名时,用该团体的公钥表进行签名认证即可(5)当发生争议时,第三方知道密钥对与成员之间的对应关系,所以可以确定出签名者是团体中哪一个成员当然,上述协议的较大缺陷在于需要个第三方。2022年12月13日星
22、期二第三章 数字签名技术第28页无可争辩签名 不可争辩签名是在没有签名者自己的合作下不可能验证签名的签名。无可争辩签名是为了防止所签名文件被复制,有利于产权拥有者控制产品的散发。不可争辩签名1989年由Chaum和Antwerpen引入,这类签名有一些特点,适用于某些应用,如电子出版系统,以利于对知识产权的保护。在签名人合作下才可能验证签名,又会给签名者一种机会,在不利于他时可拒绝合作,因而不具有“不可否认性”。不可争辩签名除了一般签名体制中的签名算法和验证算法(或协议)外,还需要第三个组成部分,即否认协议;签名者利用不可争辩签名可向法庭或公众证明一个伪造的签名的确是假的;但如果签名者拒绝参与
23、执行否认协议,就表明签名真的由他签署。2022年12月13日星期二第三章 数字签名技术第29页多重签名 多重数字签名的目的是将多个人的数字签名汇总成一个签名数据进行传送,签名收方只需验证一个签名便可确认多个人的签名。多重数字签名方案可分为两类:有序多重数字签名方案广播多重数字签名方案。设U1,U2,Un为n个签名者,他们的密钥分别为xi,相应的公钥为yi=gxi mod p(i=1,2,n)。他们所形成的对消息m的n个签名分别为(ri,si),其中ri=gki mod p和si=xim+kir mod p-1(i=1,2,n),这里rrimod p,形成的签名(ri,si)满足方程gsi=yi
24、mrir mod p。n个签名人最后形成的多重签名为:(m,r,s)=(m,ri mod p,si mod p-1),它满足方程gs=ymrr mod p,其中y=yi mod p。2022年12月13日星期二第三章 数字签名技术第30页代理签名 代理签名(Proxy Signature)是指定某人代替自己签署,也称为委托签名。由此就引来问题,如何在不把自己的私钥给代理人的情况下,而使代理人又替代自己完成签名的功能。代理签名一般应具有如下特点:可区分性,代理签名与某人的通常签名是可以区分的不可伪造性,只有原来的签名者和所托付的代理人可以建立合法的代理签名代理签名的差异,代理签名者不可能制造一个
25、合法的代理签名,而不被检查出来其是一个代理签名可证实性,从代理签名中,验证者能够相信原始的签名者认同了这份签名的消息可识别性,原始签名者可以从代理签字结果中识别出代理签名者的身份不可抵赖性,代理签名者不能事后抵赖他所建立的已被认可的代理签名 代理签名从授权的程度上来划分,可以分为三类:完全授权、部分授权、许可授权 2022年12月13日星期二第三章 数字签名技术第31页数字时间戳 如果在签名时加上一个时间标记,即是有数字时间戳(digital time stamp)的数字签名。DTS是网上电子商务安全服务项目之一,能提供电子文件的日期和时间信息的安全保护,由专门机构提供。时间戳(time-st
26、amp)是一个经加密后形成的凭证文档,它包括三个部分:需加时间戳的文件的摘要(digest);DTS收到文件的日期和时间;DTS的数字签名。2022年12月13日星期二第三章 数字签名技术第32页获得数字时间戳的过程 2022年12月13日星期二第三章 数字签名技术第33页数字时间戳协议必须具有如下性质数据本身必须有时间标记,而与它所用的物理媒介无关。不存在哪怕改变文件的1个比特而文件时间戳却没有明显变化的情形。不可能用不同于当前日期和时间的日期和时间来签署文件。2022年12月13日星期二第三章 数字签名技术第34页第三章第三章 数字签名技术数字签名技术 内容提要内容提要n数字签名概述 n常
27、规数字签名方法 n特殊数字签名方法 n数字签名法律2022年12月13日星期二第三章 数字签名技术第35页数字签名法律的内涵 联合国电子商务示范法第7条规定:如法律要求要有一个人签字,则对于一项数据电文而言,倘若情况如下,即满足了该项要求:使用了一种方法,鉴定了该人的身份,并且表明该人认可了数据电文内含的信息;从所有各种情况看来,包括根据任何相关协议,所用方法是可靠的,对生成或传递数据电文的目的来说也是适当的。2022年12月13日星期二第三章 数字签名技术第36页已经颁布的数字签名法律 联合国贸易法律委员会1996年的电子商务示范法和2000年的电子签名统一规则欧盟的电子签名统一框架指令德国
28、1997年的信息和通用服务法意大利1997年的数字签名法俄罗斯1995年的俄罗斯联邦信息法美国2000年的国际与国内商务电子签章法加拿大1999年的统一电子商务法日本的电子签名与认证服务法韩国1999年的电子商务基本法新加坡1998年的电子交易法2022年12月13日星期二第三章 数字签名技术第37页数字签名法律的立法模式(1)限制立法模式(2)全面立法模式(3)最小化立法模式2022年12月13日星期二第三章 数字签名技术第38页电子签名立法原则 一、“技术中立”原则二、功能等同方法三、当事人自治原则(合同自由原则)四、合理性原则2022年12月13日星期二第三章 数字签名技术第39页全球电子签名立法特点 一、迅速 二、兼容 三、法律的制定及时有力地推动了电子商务、信息化和相关产业的发展2022年12月13日星期二第三章 数字签名技术第40页我国电子签名立法现状 我国电子签名法律的起草机构是中国电子信息产业发展研究院(CCID)据了解,目前我国已经有30多家认证机构,发放的数字证书也已经达到50多万份,但由于没有电子签章的相关法规,这些活动和文件缺乏最基本的法律保障。作为电子政务发展的重要组成部分,我国第一部电子签名条例现已到了草案阶段,并正在广泛征求意见。