毕业设计(论文)-数字签名在电子商务中的应用.doc_第1页
毕业设计(论文)-数字签名在电子商务中的应用.doc_第2页
毕业设计(论文)-数字签名在电子商务中的应用.doc_第3页
毕业设计(论文)-数字签名在电子商务中的应用.doc_第4页
毕业设计(论文)-数字签名在电子商务中的应用.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

数字签名在电子商务中的应用 信管 092 摘摘 要:要:数字签名技术是当前网络安全领域的研究热点。它作为网络安全的 关键性技术之一,数字签名在社会生活的各个领域也都具有十分广阔的应用 前景。简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数 据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数 据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行 伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个 通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名, 目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签 名1。 数字签名(Digital Signature)技术是不对称加密算法的典型应用。 数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他 与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接 收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数 据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环 境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技 术和法律上有保证。在数字签名应用中,发送者的公钥可以很方便地得到, 但他的私钥则需要严格保密。 本论文的研究内容主要包括以下方面: (1)密码学基础的讨论。对于密码学其主要分为两大块:对称和非对称密 码学。 (2)于目前几种比较常用的签名体制进行了分析和比较,包括 MD5、RSA、DSS、ECDSA 等签名体制。 (3)对电子签名技术在现实世界中的应用进行了分析和讨论,包括电子邮件、 电子商务等。 数字签名在电子商务中的应用与研究 1 关键字:关键字:密码学;数字签字 ;PKI 数字签名在电子商务中的应用与研究 2 目目 录录 1 绪论 .1 1.1 引言 .1 1.2 内容简介.2 1.3 数字签名的研究意义.2 1.4 国内外现状.3 2 密码学基础.4 2.1 加密的历史.4 2.2 数据加密.4 2.3 加密算法和密钥.5 2.4 对称密钥算法.7 2.5 非对称密钥算法.7 2.5.1 非对称密钥技术的原理.7 2.5.2 对称密钥技术和非对称密钥技术的比较.8 3 数字签名技术.9 3.1 数字签名简介.9 3.1.1 数字签名的定义.10 3.1.2 数字签名的原理.11 3.1.3 数字签名的特点和功能.11 3.1.4 数字签名的实施.13 3.2 数字签名方案分类.13 3.2.1 基于数学难题的分类.13 3.2.2 基于签名用户数量的分类.14 数字签名在电子商务中的应用与研究 3 3.2.3 基于特殊用途的分类.14 3.3 用于数字签名的算法.14 3.3.1 RSA 算法.15 3.3.2 DSS 算法.16 3.3.3 MD5 算法.17 3.3.4 ECDSA 签名算法.17 3.3.5 几种常用方案的比较及分析.18 4 公钥基础设施.20 4.1 认证 .20 4.2 数字证书.20 4.3 PKI 组件.23 4.3.1 认证权威机构.24 4.3.2 注册权威机构.24 4.3.3 证书库.25 4.4 证书管理.25 4.4.1 证书创建.25 4.4.2 证书使用.26 4.4.3 证书延期.26 4.4.4 证书撤销.26 4.5 认证模型.27 4.5.1 层次模型.27 4.5.2 交叉信任模型.28 4.5.3 网状模型.29 5 数字签名的应用分析.31 5.1 电子邮件和数据交换.31 数字签名在电子商务中的应用与研究 4 5.2 数字签名在电子商务中的应用.33 5.3 在远程控制中的应用.36 5.4 数字签名在其它方面的应用.37 6 总结与展望.38 6.1 总结 .38 6.2 展望 .38 致 谢 .40 参考文献 .41 数字签名在电子商务中的应用与研究 1 1 绪论 1.11.1 引言引言 随着计算机技术和通信技术的迅速发展和应用,人类进入了信息时代。 信息技术正从政治、经济和社会生活的各个方面改变着人类的生存和发展方 式,无论是在打开电灯、乘坐飞机、应急求助等日常事务中,还是在国家经 济运行、安全防御等方面,都需要依赖于复杂的信息系统的支持,然而这个 充满希望的时代也充斥着危险,当人们通过网络来交流思想、吐露内心的秘 密、商讨业务、支付金钱,甚至传递涉及国家的重要经济、外交和军事信息 时,都可能被他人窃取秘密。因此,如果人们希望继续享用信息时代所带来 的种种益处,那就必须建立有效的安全防护措施,这就是所谓的信息安全。 密码技术正是保障信息安全的有效方法之一,不仅可以利用密码来打乱 所传达的信息,以便只有我们所希望的接受者才能真正获取信息,而且通过 密码技术的使用,使得现实世界的许多事情,诸如签字、订合同、发送收据 等都可以通过数字信号来完成。 实际上,信息安全的范围还是挺广的,不过目前对于信息安全也没有一 个确切的定义。信息安全问题是在通信的过程中产生的,而通信又可分为物 理层、控制层和服务层等多种层面。从不同的观察角度,所关心的信息安全 问题又有不同:用户关心的是涉及个人隐私和商业利益的数据在通信过程中 的秘密性、完整性和真实性问题;运营商主要关心的是系统可靠性问题、信 息存取控制问题、病毒问题、黑客问题等等;国家安全保密部门和行政部门 关心的是国家机密信息的有效过滤和防堵、避免非法泄露的问题。 总之,信息安全应该是综合运用一切手段、使信息从信源到信宿的整个 过程中,在通信的各个层面和不同的观察角度,在获取、存贮、显示、变换、 处理、传递等各个环节上保证信息的可靠性、可用性、可控性、完整性、秘 密性和不可抵赖性的理论和技术2。 数字签名在电子商务中的应用与研究 2 1.21.2 内容简介内容简介 今天的信息社会里,科学技术的研究和发展及商业等方面,无一不与信 息息息相关。所以信息就是生命,信息就是时间,信息就是财富。由于信息 是共享的,信息的扩散会产生社会影响,但是如果错误的消息则可能起到相 反的作用,不但浪费时间,而且还会浪费金钱。 通过数字签名不但可以实现防伪的作用,而且还可以实现信息的防止抵 赖的作用,这样可以加大诸如网上交易的可信性。如果网络上也解决了 诚信问题,那么必然会加大物流,实现人力资源以及自然资源等资源的合理 流动,为社会繁荣做出巨大的贡献。 1.31.3 数字签名的研究意义数字签名的研究意义 从数字签名实现的功能可以看出,数字签名作为一项重要的安全技术, 在保证数据的机密性、完整性和不可否认性方面起着极为重要的作用,从而 保证通信双方的利益。同时,随着 Internet 信息技术的飞速发展及其在商 业、金融、法律、政府、军事等部门的普及,尤其是在电子邮件(E-mail)、 电子数据交换(EDI)、电子资金转账(EFT)、数据存储和数据完整性检验和源 鉴别中的应用,数字签名技术的研究将越来越重要。已经证明:在大多数情 况下,安全需求不是为了数据的保密,而是保证数据的可靠字能够,数据源 的证明或非否认,满足这些要求的一种很好的方法就是使用数字签名。 国外由于信息安全研究时间较早,数字签名技术在发达国家都得到了快 速发展,不同国家对密码技术有着不同的进出口限制。无论从客观环境的角 度还是从主观战略利益的角度看,发展我国自主的密码应用技术都势在必行。 目前我国在密码技术的应用水平方面与国外还有一定的差距,数字签名 技术的应用尚处在初步阶段,在技术、管理以及标准化方面都有大量工作要 做。国内投入实际的应用主要集中于银行等电子商务领域。数字签名理论经 过多年的研究,提出了一些可靠的实现方案,但是由于这些方案多是基于实 验研究环境,面对各种实际应用需求应对比较困难。 数字签名在电子商务中的应用与研究 3 1.41.4 国内外现状国内外现状 密码和信息安全技术大量使用于实际的网络通信中,标准化必然是一项 重要的工作,数字签名的标准制订是其必备部分之一。 影响较大的制订信息安全相关标准的组织有:ISO 和国际电子技术委员 会(IEC),美国国家标准与技术委员会(NIST)制定的美国联邦信息处理标准 (FIPS)系列,Internet 研究和发展共同体制制订的标准,IEEE 制定的标准, RSA 公司制定的 PKCS 系列等等。 对于我国的数字签名现状:由于我国起步较晚,因此主要是借鉴国外的 经验,而且在操作中还很不规范。鉴于此,我国于 2004 年 8 月 28 日在第十 届全国人民代表大会常务委员会第十一次会议通过了中华人民共和国电子 签名法,从而规范电子签名的应用3。 数字签名在电子商务中的应用与研究 4 2 密码学基础 2.12.1 加密的历史加密的历史 作为保障数据安全的一种方式,数据加密起源于公元前 2000 年。埃及 人是最先使用特别的象形文字作为信息编码的人。对信息进行编码曾被凯撒 大帝使用,也曾用于历次战争中,包括美国独立战争、美国内战和两次世界 大战。最广为人知的编码机器是 German Enigma 机,在第一次世界大战中德 国人利用它创建了加密信息。此后,由于 Alan Turing 和 Ultra 计划以及其 他人的努力,终于对德国人的密码进行了破译。当初,计算机的研究就是为 了破解德国人的密码,当时人们并没有想到计算机给今天带来的信息革命。 随着计算机的发展,运算能力的增强,过去的密码都变得十分简单了,于是 人们又不断地研究出了新的数据加密方式如对称密钥算法和公开密钥算法。 今天,密码学已经从最初的军事和外交领域走向公开,它是结合数学、 计算机科学、电子与通信等诸多学科于一身的交叉学科,它不仅具有保证信 息机密性的信息加密功能,而且具有数字签名、身份验证、秘密分存、系统 安全等功能。所以,使用密码技术不仅可以保证信息的机密性,而且可以保 证信息的完整性和确证性,防止信息被篡改、伪造和假冒。 密码学是以研究秘密通信为目的的。即研究对传输信息采用何种秘密的 变换以防止第三者对信息的窃取。它作为数学的一个分支,包括密码编码学 和密码分析学两部分。使消息保密的技术和科学叫做密码编码学,密码分析 学就是破译密文的科学和技术,即揭穿伪装。这两者是互相促进,共同发展 的。 2.22.2 数据加密数据加密4 4 尽管加密是为了安全目的,对信息进行编码和解码这个概念十分简单, 但在这里仍需对其进行解释。数据加密的基本过程包括加密和解密。对被称 为“明文”的可读信息采用某种方法进行伪装以隐藏它的内容,变换成称为 数字签名在电子商务中的应用与研究 5 “密文”或“密码”的代码形式,这个过程叫做加密。该过程的逆过程为解 密,即将该编码信息转化为其原来的形式的过程。如图 2-1 所示。 图 2-1 加密和解密 2.32.3 加密算法和密钥加密算法和密钥 密码算法(algorithm)是用于加密和解密的数学函数。(通常情况下,有 两个相关的函数:一个用于加密,另一个用于解密)。 如果算法的保密性是基于保持算法的秘密,即算法必须保密,这种算法 称为受限制的(restricted)算法。这种算法属于最初级的加密方法,不能满 足现代的加密要求。大的或经常变换的用户组织不能使用它们,因为如果有 一个用户离开这个组织,其他的用户就必须改换另外不同的算法。如果有人 无意暴露了这个秘密,所有人都必须改变他们的算法。而且,受限制的密码 算法不可能进行质量控制或标准化。每个用户组织必须有他们自己的惟一算 法。这样的组织不可能采用流行的硬件或软件产品,因为窃听者可以买到这 些流行产品并学习算法。 现代密码学用密钥(key)解决了这个问题,密钥用 K 表示。K 可以是很 多数值里的任意值。密钥 K 的可能值的范围叫做密钥空间(keyspace) 5。 加密和解密运算都是用这个密钥(即运算都依赖于密钥,并用 K 作为下标表 示),这样,加/解密函数,如式(2.1,2.2,2.3)所示。 Ex(M)=C (2.1) Dx(C)=M (2.2) Dx(Ex(M)=M (2.3) 明文 加密 密文 解密 原始明文 数字签名在电子商务中的应用与研究 6 图 2-2 使用一个密钥的加/解密 有些算法使用的加密密钥与解密密钥不相同,如图 2-3 所示,也就是说 加密密钥 K1 与相应的解密密钥 K2不同,在这种情况下,如式(2.4,2.5,2.6)所 示。 EK1(M)=C (2.4) DK2(C)=M (2.5) DK2(EK1(M)=M (2.6) 图 2-3 使用两个密钥的加/解 所有这些算法的安全性都基于密钥的安全性,而不是基于算法细节的安全性。 这就意味着算法可以公开,也可以被分析,可以大量生产使用算法的产品, 即使偷听者知道算法也没有关系。只要他不知道使用的具体密钥,就不能阅 读消息。 明文 加密 密钥 K 密 文 解密 原始明文 密钥 K 明文 加密 加密密钥 K1 密文 解密密钥K2 原是明文 解密 数字签名在电子商务中的应用与研究 7 2.42.4 对称密钥算法对称密钥算法 对称密钥算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中 推算出来,反过来也成立。在大多数对称密钥算法中,加/解密密钥是相同 的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安 全通信之前,商定一个密钥。对称密钥算法的安全性依赖于密钥,只要通信 需要保密,密钥就必须保密。 对称算法可分为两类。对位流或字节流进行操作运算的算法称为序列密 码或流密码。另一类算法是对明文的一组位进行运算,这些位组称为分组或 块,相应的算法称为分组密码或块密码。 2.52.5 非对称密钥算法非对称密钥算法 2.5.1 非非对对称密称密钥钥技技术术的原理的原理 1976 年,美国学者 Dime 和 Henman 为解决信息公开传送和密钥管理问题, 提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息, 安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法” 这种方法也叫做“非对称加密算法”。 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥和私有 密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有 用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用 对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以 这种算法叫做非对称加密算法6。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并 将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密 钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密 钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密 后的任何信息。 数字签名在电子商务中的应用与研究 8 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要, 但加密和解密花费时间长、速度慢,它不适合于对文件加密而只适用于对少 量数据进行加密。 最常用的非对称密钥加密算法是 RSA 算法,它是由 Rivest,Shamir 和 Adleman 提出的。尽管还有其他一些非对称加密方案,但是 RSA 算法是当前 XML 安全标准中规定的惟一一种这样的加密方案。 2.5.2 对对称密称密钥钥技技术术和非和非对对称密称密钥钥技技术术的比的比较较 (1)在加密、解密的处理效率方面,对称密钥技术优于非对称密钥技术。 因为一般 DES 密钥的长度只有 56 位,可以利用软件和硬件实现高速处理; RSA 算法需要进行诸如 200 位整数的乘幂和求模等多倍字长的处理,处理速 度明显慢于 DES 算法。 (2)在密钥的管理方面,非对称密钥技术比对称密钥技术更加优越。因为 非对称密钥技术可采用公开形式分配密钥,对加密密钥的更新也很容易,并 且对不同的通信对象,只需对自己的解密密钥保密即可;对称密钥技术要求 通信前对密钥进行秘密分配,密钥的更换更困难,对不同的通信对象,对称 密钥要产生和管理不同的密钥。 (3)在安全性方面,DES 和 RSA 算法的安全性都很好,还没有在短时间内 破译它们的有效方法。 (4)在签名和认证方面,对称密钥算法从原理上不可能实现数字签名和身 份认证,但非对称密钥算法能够容易地进行。因此,通常把两种技术结合起 来实现最佳性能,即用公钥算法技术在通信双方之间传送通信与对称密钥, 用对称密钥来对实际传输的数据加密解密7。 数字签名在电子商务中的应用与研究 9 3 数字签名技术 3.13.1 数字签名简介数字签名简介 大家都知道,只要会写字的人,他写出来的字就会存在一个笔迹问题, 只要他在某个地方写上了自己的名字,那意义就不同凡响了(尤其当他又是 个大人物的时候),所以很多使用各种手段想要得到“某首长”的批示。数 字签名就是模仿这个原理而来。所谓数字签名,就是只有信息发送者才能产 生的别人无法伪造的一段数字串,这段数字串同时也是对发送者发送信息真 实性的一个证明。其实归根到底,在书面文件上签名有两个作用:一是因为 自己的签名难以否认,从而确定了文件已签署这一事实;二是因为签名不易 冒仿,从而确定了文件是真实的这一事实。因此,数字签名就可以用来防止 电子信息因容易被修改而有人造假,或冒用他人名义发送信息,或发出(收 到)信件后又加以否认等情况的发生。结合散列函数和非对称加密算法,可 以实现数字签名。数字签名是一个加密的信息摘要,附在消息后面,以确认 发送者的身份和该信息的完整性8。 举例说明,若 A 向 B 发送消息,其创建数字签名的步骤为(如下图 3-1): (1)利用散列函数计算原消息的摘要。 (2)用自己的私钥加密摘要,并将摘要附在原消息的后面。 收到的消息 散列算法 消息摘要 验证操作 发 送 方 公 钥 数 字 签 名 Yes通过 No失败 消息 散列算法 消息摘要 签名操作 数 字 签 名 发 送 方 私 钥 数字签名在电子商务中的应用与研究 10 B 接收到消息,对数字签名进行验证的步骤为(如上图 3-2 所示): (1)将消息中的原消息及其加密后的摘要分离出来。 (2)使用 A 的公钥将加密后的摘要解密。 (3)利用散列函数重新计算原消息的摘要。 (4)将解密后的摘要和自己用相同散列算法生成的摘要进行比较,若两 者相等,说明消息在传递过程中没有被篡改,否则,消息不可信。 了解数字签名及其验证的过程后,可以发现这一技术带来了以下三方面 的安全性: (1)信息的完整性:由散列函数的特性可知,若信息在传输过程中遭到 篡改,B 重新计算出的摘要必然不同于用 A 的公钥解密出的摘要,所以 B 就 确信信息不可信。 (2)信源确认:因为公钥和私钥之间存在对应关系,既然 B 能用 A 的公 钥解开加密的摘要,并且其值与 B 重新计算出的摘要一致,则该消息必然是 A 发出的9。 (3)不可抵赖性:这一点实际上是第 2 点的理由阐述。因为只有 A 持有 自己的私钥,其它人不可能冒充他的身份,所以 A 不可能否认他发过这一则 消息。 3.1.1 数字数字签签名的定名的定义义 数字签名是指附加在数据单元上的一些数据,或是对数据单元所做的密 码变换,这种数据或变换能使数据单元的接收者确认数据单元的来源和数据 的完整性,并保护数据,防止被人(如接收者)进行伪造。 签名机制的本质特征是该签名只有通过签名者的私有信息才能产生,也 就是说,一个签名者的签名只能惟一的由他自己产生。当收发双方发生争议 时候,第三方(仲裁机构)就能够根据消息上的数字签名来裁定这条消息是否 确实由发送方发出,从而实现不可否认性安全服务10。 图 3-1 签名的生成过程 图 3-2 签名的认证过程 数字签名在电子商务中的应用与研究 11 3.1.2 数字数字签签名的原理名的原理 数字签名技术的实现方法有多种:使用对称密码体制的数字签名、使用 公开密钥密码技术的数字签名、使用公开密钥密码技术和杂凑函数的数字签 名。实际实现过程中,第一种方案需要信任的中间人,比较繁琐;而单纯采 用公开密钥密码算法对长文件签名效率太低,将其与杂凑函数结合可以节约 时间。步骤如下: (l)发送方 A 用事先商量好的哈希函数算法计算消息的消息摘要。 (2)A 用其私钥对消息摘要加密,然后对摘要值签名。 (3)A 将消息及签名后的消息摘要发送给接收方 B。 (4)B 首先用和 A 事先商量好的哈希算法计算收到的消息摘要,再用 A 的公钥解密 A 签名的摘要值,对比两个计算结果,若一致,则签名有效。 这种数字签名因为只需对哈希值进行签名,速度有了很大提高。而根据 哈希特性,不同消息很难产生相同的哈希值,因此确保对哈希值签名和对消 息签名一样安全。同时,签名和源消息可以分开存储,接收者对源消息和哈 希值的存储量要求大大降低11。 3.1.3 数字数字签签名的特点和功能名的特点和功能 数字签名有如下特点: (1)接收者能够确认或证实签名者的签名; (2)任何人都不能伪造签名; (3)签名者发出签名的消息后,不能否认自己所签发的消息; (4)第三方可以确认收发双方之间的消息传递,但不能伪造这一过程, 这样当通信双方关于签名的真伪发生争执时,可由受信任的第三方来解决双 方的争执。 数字签名机制作为保障网络信息安全的重要手段,可以解决伪造、篡改、 冒充、抵赖等问题。所提供的功能主要有以下几方面: (1)防伪造:其他人不能伪造对消息的签名,因为签名密钥即私钥只有 签名者自己知道,其他人不可能构造出正确的签名数据。 数字签名在电子商务中的应用与研究 12 (2)防篡改:数字签名与原始文件或其摘要一起发送给接收者,一旦信 息被篡改,接收者可通过计算摘要和验证签名来判断该文件无效,从而保证 了数据的完整性。 (3)防重放攻击:如在电子商务中,公司 A 向公司 B 发送了一份商品定 单,如果有攻击者中途截获定单并发送多份给公司 B,这样会导致公司 B 以 为公司 A 订购了多批商品。在数字签名中,通常采用了对签名报文加盖时间 戳或添加处理流水号等技术,可以防止这种重放攻击。 (4)身份鉴别:这是手写签名和数字签名最基本的功能。手书签名时一 般通过对方的笔迹或现场验证;在数字签名中,接收方同样可以鉴别发送方 的身份。 (5)防抵赖:数字签名可鉴别身份,不可能伪造,则签名后的报文可作 为签名者签名动作的证据,防止抵赖。要防止接收者的抵赖,可以在数字签 名系统中要求接收者返回一个自己签名的表示收到的报文,给发送者或受信 任第三方。由此双方均不可抵赖。 (6)机密性:数字签名中报文不要求加密,但在网络传输中,可以将报 文信息加密已保证信息的机密性。 数字签名的应用比较广泛,例如网上银行通过 Internet 向可户提供信 息查询、网上支付、资金划转、信贷业务等金融服务;电子商务能完成企业 间、企业与消费者之间在网上商业活动,网上证券能在网上完成股票交易、 网上证券信息服务、网上银行/证券转账业务等。所有这些都需要身份鉴别、 防篡改、防抵赖等功能,即使用数字签名12- 16。 3.1.4 数字数字签签名的名的实实施施 实现数字签名有很多方法,目前采用较多的是非对称加密技术和对称加 密技术。虽然这两种技术实施步骤不尽相同,但大体的工作程序是一样的。 用户首先可以下载或者购买数字签名软件,然后安装在个人电脑上。在产生 密钥对后,软件自动向外界传送公开密钥。由于公共密钥的存储需要,所以 需要建立一个鉴定中心(CA)完成个人信息及其密钥的确定工作。鉴定中心是 数字签名在电子商务中的应用与研究 13 一个政府参与管理的第三方成员,以便保证信息的安全和集中管理。用户在 获取公开密钥时,首先向鉴定中心请求数字确认,鉴定中心确认用户身份后, 发出数字确认,同时鉴定中心向数据库发送确认信息。然后用户使用私有密 钥对所传信息签名,保证信息的完整性、真实性,也使发送方无法否认信息 的发送,之后发向接收方;接收方接收到信息后,使用公开密钥确认数字签 名,进入数据库检查用户确认信息的状况和可信度;最后数据库向接收方返 回用户确认状态信息。不过,在使用这种技术时,签名者必须注意保护好私 有密钥,因为它是公开密钥体系安全的重要基础。如果密钥丢失,应该立即 报告鉴定中心取消认证,将其列入确认取消列表之中。其次,鉴定中心必须 能够迅速确认用户的身份及其密钥的关系。一旦接收到用户请求,鉴定中心 要立即认证信息的安全性并返回信息17。 3.23.2 数字签名方案分类数字签名方案分类 3.2.1 基于数学基于数学难题难题的分的分类类 根据公开密钥密码算法建立的数学基础,数字签名方案可分为基于大整 数素因子分解问题的签名方案(如 RSA)和基于有限域离散对数问题的签名方 案(如 DSA)。 3.2.2 基于基于签签名用名用户户数量的分数量的分类类 根据签名用户的数量,数字签名可分为单个用户签名的数字签名方案和 多个用户签名的数字签名方案(或称多重签名方案)。多重签名方案根据签名 的过程不同,可分为顺序多重签名和广播多重签名两种。 3.2.3 基于特殊用途的分基于特殊用途的分类类 (1)群签名:群体的一个成员以整个群体的名义进行数字签名,并且验 证者能够确认签名者的身份。 (2)盲签名:当签名者签署一份不知道内容(或不必知道内容)的文件时 需要使用盲签名。 数字签名在电子商务中的应用与研究 14 (3)门限签名:在 n 特成员的群体中,至少有 t 个成员才能代表群体对 文件进行有效的数字签名。 (4)代理签名:允许密钥持有者授权给第三方,该第三方能够代表密钥 持有者进行数字签名。 (5)门限代理签名:该方案是门限签名和代理签名的综合应用。目的是 控制代理签名中授权的第三方不会滥用签名,该方案把密钥分配给 n 个代理 者,只有超过 t 个代理者联合才可以重构密钥进行签名。 (6)不可否认的门限代理签名:用来防止门限代理签名中的 t 个签名者 同谋重构签名,该方案中参与代理签名的 t 人均不可否认其签名。 (7)故障停止式签名:该方案是针对一个非常强的攻击者能够伪造一个 签名的可能性而设计的,它提供一个增强的安全性,即使攻击者能够伪造关 于某一消息的签名,随后也能以很高的概率证明攻击者的签名是伪造的18。 3.33.3 用于数字签名的算法用于数字签名的算法 事实上数字签名不是一种具体的技术实现,它是基于各种加密技术组合 的解决方案。数字签名包括签名算法和验证算法,目前主要使用的签名算法 有 RSA 和 3DES,还有哈希算法。最常用的非对称密钥加密算是 RSA 算法, 它是由 Rivest,Shamir 和 Adleman 提出的。尽管还有其他一些非对称加密 方案,但是 RSA 算法是当前 XML 安全标准中规定的惟一一种这样的加密方案。 3.3.1 RSA 算法算法 RSA 的工作原理:首先随机生成一个公钥和私钥对,然后使用生成的公 钥通过 RSA 算法加密数据;最后用生成的私钥解密被加密的数据。它是第一 个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流 行。算法的名字以发明者的名字命名 :Ron Rivest, Adi Shamir 和 数字签名在电子商务中的应用与研究 15 Leonard man。但 RSA 的安全性一直未能得到理论上的证明。它经历了各种 攻击,至今未被完全攻破。 (1) RSA 算法 RSA 是完整的加密系统,它支持公钥/私钥对的生成、加密以及数字签 名。Carol 为了加密消息以发送给 Bob,Bob 首先必须生成一个密钥对,并 和 Carol 共享公钥。公钥由两个数字组成:模数 n 和公共指数 e。私钥也由 两个数字组成:相同的模数 n 和私有指数 d。通过随机选择两个大的质数 p 和 q,并把它们一起相乘,就可以创建模数。所选择的指数 e 必须与(p-1) *(q-1)互质(也就是说 e 与这个数必须不具有相同的因数)。质数 d 必须满足 等式 d*e mod (p-l)*(q-1)=1。然后,如果 Carol 的明文是 M,那么她就 能够通过计算 C=Me mod n,把它加密成密文 C。Bob 通过计算 M=Cd mod n 就可以恢复明文。 第一步 Bob 选择大的质数 p 和 q,并使它们相乘,从而得到 n。 第二步 Bob 选择一个公共指数 e,它与(p-1)*(q-1)互质。 第三步 Bob 计算私有指数 d=e- 1 mod (p-l)*(q-1)。 第四步 Bob 与 Carol 共享公钥,数字 n 和 e。 第五步 Carol 使用 C=Me mod n 把 M 加密成 C,并把 C 发送给 Bob。 第六步 Bob 使用 M=Cd mod n 把 C 解密成 M。 注意:如果密文 C 在传输过程中被窃听了,别人想从它推断出 M,使用 M=Cd mod n,其中只有 d 为未知数,想推出 d,d=e-1mod(p-1)*(q-1)。 就必须知道 p 和 q,它们只有分解 n 才能得到。 (2) RSA 的安全性 RSA 的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理 论上的证明,因为没有证明破解 RSA 就一定需要作大数分解。假设存在一种 无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前,RSA 的 一些变种算法已被证明等价于大数分解。不管怎样,分解 n 是最显然的攻击 方法。现在,人们已能分解多个十进制位的大素数。因此,模数 n 必须选大 数字签名在电子商务中的应用与研究 16 一些,因具体适用情况而定。对于短期安全性,n 的长度至少应该为 1024 比特,而长期安全性则要求 n 至少为 2048 比特。 3.3.2 DSS 算法算法19 19 讨论 DSS 签名体制实际上讨论其对应的 DSA 算法。DSA(Digital Signature Algorithm,数字签名算法,用作数字签名标准的一部分),它 是另一种公开密钥算法,它不能用作加密,只用作数字签名。DSA 使用公开 密钥,为接受者验证数据的完整性和数据发送者的身份。它也可用于由第三 方去确定签名和所签数据的真实性。DSA 算法的安全性基于解离散对数的困 难性,这类签字标准具有较大的兼容性和适用性,成为网络安全体系的基本 构件之一。 DSA 签名算法中用到了以下参数: p 是 L 位长的素数,其中 L 从 512 到 1024 且是 64 的倍数。q 是 160 位长且 与 p-1 互素的因子。其中是小于 p-1 并且满足大于 1 的任意数。x 是小于 q 的数。 另外,算法使用一个单向散列函数 H (m)。标准指定了安全散列算法 (SHA)。三个参数 p,q 和 h 是公开的,且可以被网络中所有的用户公有。 私人密钥是 x,公开密钥是 y。 对消息 m 签名时: (1)发送者产生一个小于 q 的随机数 k。 (2)发送者产生:r 和 s 就是发送者的签名,发送者将它们发送给接受者。 (3)接受者通过计算来验证签名:如果 v=r,则签名有效。 DSA 签名: (1)公开密钥: p:512 位到 1024 位的素数。 q :160 位长,并与 p-1 互素的因子。 其中,h 是小于 p-1 并且满足大于 1 的任意数。 (2)私人密钥:x 小于 q。 数字签名在电子商务中的应用与研究 17 (3)签名:k 选取小于 q 的随机数。 (4)验证:如果 v=r,则签名被验证。 3

温馨提示

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

评论

0/150

提交评论