信息技术-赵泽茂-第六章ppt_第1页
信息技术-赵泽茂-第六章ppt_第2页
信息技术-赵泽茂-第六章ppt_第3页
信息技术-赵泽茂-第六章ppt_第4页
信息技术-赵泽茂-第六章ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

6.1数字签名的原理6.2RSA数字签名和加密6.3Schnorr数字签名6.4DSA数字签名6.5特殊的数字签名6.6数字签名的应用小结习题生活中常用的合同、遗嘱、收养关系和夫妻财产关系证明等都需要签名或印章,在将来发生纠纷时用来证明其真实性。一些重要证件,如护照、身份证、驾照、毕业证和技术等级证书等都需要授权机构盖章才有效。书信的亲笔签名,公文、证件的印章等起到核准、认证和生效的作用。6.1数字签名的原理在网络环境下,我们如何保证信息的真实性呢?这就需要数字签名技术,它可以解决下列情况引发的争端:发送方不承认自己发送过某一报文;接收方自己伪造一份报文,并声称它来自发送方;网络上的某个用户冒充另一个用户接收或发送报文;接收方对收到的信息进行篡改。

正是由于数字签名具有独特的作用,在一些特殊行业(比如金融、商业、军事等)有着广泛的应用。

数字签名离不开公钥密码学,在公钥密码学中,密钥由公开密钥和私有密钥组成。数字签名包含两个过程:签名过程(即使用私有密钥进行加密)和验证过程(即接收方或验证方用公开密钥进行解密)。由于从公开密钥不能推算出私有密钥,因此公开密钥不会损害私有密钥的安全。公开密钥无须保密,可以公开传播,而私有密钥必须保密。因此,若某人用其私有密钥加密消息,用其公开密钥正确解密,就可肯定该消息是某人签名的。因为其他人的公开密钥不可能正确解密该加密过的消息,其他人也不可能拥有该人的私有密钥而制造出该加密过的消息,这就是数字签名的原理。从技术上来讲,数字签名其实就是通过一个单向函数对要传送的报文(或消息)进行处理,产生别人无法识别的一段数字串,这个数字串用来证明报文的来源并核实报文是否发生了变化。在数字签名中,私有密钥是某个人知道的秘密值,与之配对的唯一公开密钥存放在数字证书或公共数据库中,用签名人掌握的秘密值签署文件,用对应的数字证书进行验证。

任何公钥密码体制,当用私钥签名时,接收方可认证签名人的身份;当用接收方的公钥加密时,只有接收方能够解密。这就是说,公钥密码体制即可用作数字签名,也可用作加密。6.2RSA数字签名和加密

1.RSA数字签名

设A为签名人,任意选取两个大素数p和q,计算n=pq,φ(n)=(p-1)(q-1);随机选择整数e<φ(n),满足GCD(e,φ(n))=1;计算整数d,满足ed≡1(modφ(n))。p、q和φ(n)

保密,A的公钥为(n,e),私钥为d。

签名过程:对于消息m(m<n),计算s=md(modn),则签名为(m,s),并将其发送给接收人或验证人。

验证过程:接收人或验证人收到签名(m,s)后,利用A的公钥,计算=se(modn),检查=m是否成立。如果成立,则签名正确;否则,签名不正确。签名正确性证明:若签名正是A所签,则有=se=(md)e=med=m(modn)。

分析:在该签名方案中,任何人都可以用A的公钥进行验证,而且可以获得原文,不具备加密功能。如果消息m>n,则可用哈希函数h进行压缩,计算s=(h(m))d(modn),接收

方或验证方收到(m,s)后,先计算=se(modn),然后检查

=h(m)是否成立,即可验证签名是否正确。在这里,可以判断m是否被篡改。如果m包含重要的信息,不能泄露,那么签名还需要进行加密处理后再传送。

2.RSA加密

RSA加密是常用的方案,此处介绍的目的是与签名方案进行对比,便于用法上的区分。

不妨设接收人B的公钥e和私钥d保密,其他参数如上所述。A要将秘密信息m传输给B,先从公共数据库中查找到B的公钥e,然后计算密文c=me(modn),再将c发送给B。

B收到密文c后,计算m=cd(modn),从而恢复明文。因为只有B才可能利用其私钥d解密,对m起到保密的作用。Schnorr数字签名方案是ElGamal型签名方案的一种变形,该方案由Schnorr于1989年提出,包括初始过程、签名过

程和验证过程。

1.初始过程

(1)系统参数:大素数p和q满足q|p-1,q≥2160是整数,p≥2512是整数,确保在Zp中求解离散对数的困难性;g∈Zp,且满足gq=1(modp),g≠1;h为单向哈希函数。

p、q、g作为系统参数,供所有用户使用,在系统内公开。6.3Schnorr数字签名(2)用户私钥:用户选取一个私钥x,1<x<q,保密。

(3)用户公钥:用户的公钥y,y=gx(modp),公开。

2.签名过程

用户随机选取一个整数k,k∈Zq*,计算r=gk(modp),e=h(r,m),s=k-xe(modq),(e,s)为用户对的签名。

3.验证过程

接收者收到消息m和签名(e,s)后,先计算r′=gsye(modp),然后计算e′=h(r′,m),

检验e′=e是否成立。如果成立,则签名有效;否则,签名无效。

若(e,s)为合法签名,则有

gsye=gk-xegxe=gk=r(modp)

所以当签名有效时,上式成立,从而说明验证过程是正确的。1991年8月美国国家标准局(NIST)公布了数字签名标准(DigitalSignatureStandard,DSS),此标准采用的算法称为数字签名算法(DigitalSignatureAlgorithm,DSA),它作为

ElGamal和Schnorr签名算法的变种,其安全性基于离散对数难题;并且采用了Schnorr系统中g为非本原元的做法,以降低其签名文件的长度。方案包括初始过程、签名过程和验证过程。6.4DSA数字签名

1.初始过程

(1)系统参数:大素数p和q满足q|p-1,2511<p<21024,2159<q<2160,确保在Zp中求解离散对数的困难性;g∈Zp,且满足g=h(p-1)/q(modp),其中h为整数,1<h<p-1且h(p-1)/q(modp)>1。p、q、g作为系统参数,供所有用户使用,在系统内公开。

(2)用户私钥:用户选取一个私钥x,1<x<q,保密。(3)用户公钥:用户的公钥y,y=gx(modp),公开。

2.签名过程

对待签消息m,设0<m<p。签名过程如下:

(1)生成一随机整数k,k∈Zq*;

(2)计算r=gkmodp(modq);

(3)计算s=k-1(h(m)+xr)(modq)。

(r,s)为签名人对m的签名。

3.验证过程

验证过程如下:

(1)检查r和s是否属于[0,q],若不是,则(r,s)不是签名;

(2)计算t=s-1(modq),r′=gh(m)t(modq)yrt(modq)modp(modq);

(3)比较r′=r是否成立。若成立,则(r,s)为合法签名。关于DSA的正确性证明,需要用到中间结论:对于任何整数t,若g=h(p-1)/q(modp),则

gt(modp)=gt(modq)(modp)。证明:因为GCD(h,p)=1,根据费尔马定理有hp-1=1(modp)。对任意整数n,有gnq(modp)=(h(p-1)/qmodp)nq(modp)=hn(p-1)(modp)=(hp-1modp)n(modp)=1n(modp)=1

对于任意整数t,可以表示为t=nq+z,其中n、q是非负整数,0<z<q,因此有gt(modp)=gnq+z(modp)=(gnqmodp)(gzmodp)=gz(modp)=gt(modq)(modp)

若(r,s)为合法签名,则有

gh(m)t(modq)yrt(modq)modp(modq)

=g(h(m)+xr)t(modq)modp(modq)

=g(h(m)+xr)s-1(modq)modp(modq)

=gkmodp(modq)

=r在现实生活中,数字签名的应用领域广泛且多样,因此,能适应某些特殊要求的数字签名技术也应运而生。如为了保护信息拥有者的隐私,要求签名人不能看见所签信息,于是就有了盲签名的产生;签名人委托另一个人代表他签名,于是就有了代理签名的概念等。正是这些应用的需要,各种各样的特殊的数字签名研究一直是数字签名研究领域非常活跃的部分,也产生了很多分支。下面分别介绍这些特殊数字签名的概念。6.5特殊的数字签名盲签名:指签名人不知道所签文件内容的一种签名。也就是说,文件内容对签名人来说是保密的。如遗嘱,立遗嘱人不希望遗嘱被有关利益人(包括证人在内)知道,但又需要证明是生前的真实愿望;这就需要盲签名来解决这个难题。证人只需对遗嘱签名,将来某天证明其真实性即可,无需知道其中的具体内容。盲签名这一性质还可以结合到其他的签名方案中,形成新的签名方案,如群盲签名、盲代理签名、代理盲签名、盲环签名等。代理签名:指签名人将其签名权委托给代理人,由代理人代表他签名的一种签名。代理签名的形式非常多,如多重代理签名、代理多重签名等。

签名加密:这种签名同时具有签名和加密的功能,它的系统和传输开销要小于先签名后加密两者的和。该技术能同时达到签名与加密双重目的。

多重签名:指由多人分别对同一文件进行签名的特殊数字签名。多重签名是一种基本的签名方式,它与其他数字签名形式相结合又派生出许多其他签名方式,如代理多重签名、多重盲签名等。群签名:指由个体代表群体执行的签名,验证者从签名不能判定签名者的真实身份,但能通过群管理员查出真实签名者。这是近几年的一个研究热点,研究重点放在群公钥的更新、签名长度的固定和群成员的加入与撤消等方面。

环签名:指一种与群签名有许多相似处的签名形式,它的签名者身份是不可跟踪的,具有完全匿名性。前向安全签名:主要是考虑密钥的安全性,签名私钥能按时间段不断更新,而验证公钥却保持不变。攻击者不能根据当前时间段的私钥推算出先前任一时间段的私钥,从而达到不能伪造过去时间段的签名的目的,对先前的签名进行了保护。这种思想能应用到各种类型的签名中,可提高系统的安全性。在当前设计出的前向安全私钥更新方法中,私钥更新次数多数是有界的,也就是说,过期需要重新设置公钥,这个问题已有人提出,但尚未见到有效的解决方案。双线性对技术:这是目前的热点研究领域,近几年来才应用于数字签名。它是利用超奇异椭圆曲线中Weil对和Tate对所具有的双线性性质,构造各种性能良好的数字签名方案。

此外,还有门限共享、失败-停止签名、不可否认签名、零知识签名等许多分支。数字签名技术最早应用于用户登录过程。对于大多数用户来讲,用户名和口令已习以为常了,其中隐含的签名技术可能并不为人所知。推动数字签名广泛应用的最大功臣应当是PKI技术。在各国政府的积极支持下,PKI作为电子商务、电子政务的技术平台,使得技术应用、商业价值、生产力提高成为有机的整体,得到了长足的发展,数字证书的概念已逐渐被越来越多的人所接受,极大地促进了信息化建设的进程。到目前为止,全国各省市几乎都建立了自己的CA认证中心,这些CA中心的数字证书及相关应用方案被广泛应用于网上报关、网上报税、网上报检、网上办公、网上招投标、网上采购、数字工商等大型电子政务和电子商务工程。6.6数字签名的应用下面通过一个电子印章系统说明数字签名技术的应用(引自http://)。

iSignature电子签章系统是一套基于Windows平台采用ActiveX技术开发的应用软件,它可以在Word、Excel、Html文件上加盖电子印章和手写签名,并将该签章和文件绑定在

一起,一旦被绑定的文件内容发生改变(非法篡改或传输错误),签章将失效。只有合法拥有印章钥匙盘并且有密码权限的用户才能在文件上加盖电子签章。并可通过密码验证、签名验证、数字证书等身份验证方式验证用户身份,查看和验证数字证书的可靠性。iSignature电子签章系统的技术特点主要有采用第三方CA认证机构的数字证书、用数字证书和电子印章或手写签名信息绑定、系统为每一个电子印章生成唯一序列编号、采用

标准的散列算法(HASH)产生文件内容数字摘要、采用标准的RSA和DES算法加密电子文件、采用智能钥匙盘存储印章和签名以及密钥信息、支持多个厂商的智能钥匙盘和标准第三

方CA认证机构等。个人私钥保存到USB接口的一种集智能卡和读写器于一体的USB加密钥匙EKEY里面。iSignature电子签章系统操作流程如图6-6-1所示。数字签名技术还广泛应用于电子邮件、数据交换、电子交易和电子货币等领域。安全电子交易SET是VISA和MasterCard两大信用卡公司和多家科技公司于1997年制定的一个在Internet上进行的在线交易的安全标准。SET提供了消费者、商家和银行间的认证,确保了交易数据的安全、完整可靠和交易的不可否认,特别是保证了消费者的隐私。SET已经成为目前最流行通用的安全电子商务标准,它的核心技术主要有公开密钥加密、数字签名、数字证书、数字信封等。SET协议中的数字签名技术之一是双重签名,双重签名的特性就是把发给两个不同通信实体的两个不同消息联系在一起,两个通信实体都可以验证该双重签名。例如,典型的B2C电子商务中有顾客、商家、支付网关(银行)等角色。顾客选定所需商品后向商家发出订购信息,并向银行发出支付信息,这些重要信息都需要进行数字签名,只有经确认后才能正式生效。图6-6-1数字签名应用(1)判断电子数据真伪的依据是数字签名。数字签名其实就是通过一个单向函数对电子数据

温馨提示

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

评论

0/150

提交评论