安全数字签名在电子商务中的应用研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安全数字签名在电子商务中的应用研究
摘要:建立一个安全,便捷的电子商务应用环境,保证整个商务过程中的安全性,使基于internet的电子交易方式一样安全可靠,已成为电子商务应用中所关注的技术问题。在电子商务安全服务中的源鉴别、完整性服务、不可否认服务中,都要用到数字签名技术。本文对数字签名这一技术的应用加以讨论,提出了一种新的改良方案叫安全数字签名,在一定程度上解决了传统数字签名方案所存在的隐患,真正意义上保证电子商务的正常运作。
关键词:电子商务对称密钥非对称密钥安全数字签名
1 引言
如何建立一个安全、便捷的电子商务应用环境,保证整个商务过程中信息的安全性,使基于internet的电子交易方式与传统交易方式一样安全可靠,已经成为在电子商务应用中所关注的重要技术问题。数字签名正是由此产生的可以解决电子商务活动中否认、伪造、篡改及冒充等问题的一项技术,不过自身的安全性也随之而来,因此,现目前急需找出一个更安全的方案解决数字签名所面临的问题。
2 传统数字签名存在的安全问题
伴随着开放式网络系统的飞速发展,比如银行结算系统等关系国计民生的大型网络系统的普遍应用,认证用户身份和保证用户使用时的安全,正日益受到各方面的挑战。在不与网络连接的个人计算机中,资源和个人信息可以通过物理保护来实现。在分时计算环境
中,操作系统管理所有资源,并保护用户信息不被其他未授权的用户使用,这时操作系统需要认证每一个用户,以保证每个用户的权限,操作系统在用户登录时完成这项工作。在网络系统中,用户需要从多台计算机得到服务,这时控制访问的方法有以下三种方法:①服务程序不进行认证工作,而由用户登录的计算机来管理用户的认证来保证正确的访问。在封闭式网络中,网络中的所有计算机以及他们之间的通信都在严格的控制之下,方法a在这时是一个合乎情理的方案。
②收到服务请求时,对发来请求的主机进行认证,对每台认证过的主机的用户不进行认证。半开放系统可以采用方法b,每个服务选择自己信任的计算机,在认证时检查主机地址来实现认证,这种方法应用于rlogin和rsh程序中。
③对每一个服务请求,都要认证用户的身份。在开放式系统中,主机并不能控制登录它的每一个用户,而且还有来自系统外部的假冒等情况发生,以上两种方法都不能保证用户身份的真实性,只有使用方法。
①将用户提交的数据,打成数据包m,数据包m中的内容,一般就包括用户的交易的具体信息。
②用md5 算法计算数据包的报文摘要的值c,报文摘要值也称叫特征值,输入数据的变化直接影响输出的报文摘要值。
③用rsa 算法将报文摘要的值用发送方的sk加密,得到c1 。采用公钥算法rsa将报文摘要值用发送方的私钥加密,形成数字
签名。
④形成传送的数字签名信息包,即构成用户名+ c1 +m。
形成的数字签名包也是最终在公用通信线路上所传输的形式。而最终发给接收方的数据包中除了密文c1以外,还包括用户名和明文,用户名是为了对方获知身份信息,明文主要用来当接收方在进行认证c1时确定是否被篡改。
⑤传送信息包由发送方通过网络发送到接收方。
⑥根据双方规定的协议分离出用户名,密文c1 和数据包m。
⑦由rsa 算法用用户的pk 对密文c1 解密,得到数字签名c。接收方用发送方公布的公钥应用rsa算法将密文c1解开,获得c。
⑧用md5 算法对提取出的明文数据包m 进行计算得到c′
接收方运用md5算法计算出明文m的信息文摘值,然后再与前一阶段的c进行比较。
⑨将c 和c′进行比较,若相同,则签名有效,不同则签名无效。
比较下来,如果相同表明明文没有被修改,如果不相同表明数据在传送过程中被非法篡改。
通过以上所提出的数字签名技术的实现方案,不难看出对于电子商务安全需求上可以做到防止第三方假冒交易一方的身份,对发送方数据进行伪造和篡改,同时能够避免发送方事后否认所发送的数据,也表明能同时达到完整性和不可抵赖的特性。但是从过程4中也出现一个问题,针对数字签名信息包:用户名+c1+m,根据密码
学中公钥体系的知识可知,要解开此信息包需要发送方的公钥。而发送方的公钥是全局公开,除了发送方本身具具备以外,其它任何人都可以获知。
问题出现了,这样就导致任何拥有发送方公钥的人都可以解开此信息。如图所示,如果这个信息包被真实的接收方获取了,哪没有任何损失,但是由于网络的复杂性,这个信息包有可能被第三方获取,哪么通过解开此信息包的就可以得到三类信息:用户名、密文c1、另一个就是攻击者感兴趣的明文m了。
3 安全数字签名的应用
从上面的分析可以看出这传统上所采用的数字签名方案只能做到完整性和不可抵赖性,也就是说可以防止第三方假冒交易一方的身份对数据进行伪造和篡改,同时能够避免发送方事后否认所发送的数据。但是由于最终的密文除了正确的接收方可以解开以外,任何拥有发送方公钥的第三方都可以解开信息包,获取信息包中的明文信息。而发送方的公开密钥本业就是全局公开,这样就导致了信息的泄露。
因此要在通信双方之间确保只有正确的接收方才能接收并解密信件,必须得改进认证方案。改进后的安全数字签名,采用嵌套加密的思想,新的数字签名方案在传统数字签名的基础上增加安全元。同时保证保密性、完整性、可用性、不可抵赖性。
①将用户提交的数据,打成数据包m。
②用md5 算法计算数据包的报文摘要的值c。
③用rsa 算法将报文摘要的值用用户的sk加密,得到c1 。
④形成传送的信息,即构成用户名+ c1 +m。
⑤用发送方的私钥来反向加密此信息包(用户名+c1+m)形成一密文。
⑥然后再用接收方的公开密钥来再一次加密上一个阶段产生的密文,.把上一阶段形成的信息包(用户名+c1+m)看作加密数据,应用接收方的公开密钥进行再一次加密,形成嵌套加密。最后再把嵌套加密的最终数据发给接收方。
⑦最后再把形成的双重密文发送给接收方,当接收方收到此密文后,先用唯一的接收方私有密钥去解密,得到一密文,接着再用发送方的公开密钥来解密,得到用户名+c1+m。
⑧根据双方规定的协议分离出用户名,密文c1 和数据包m。
⑨由rsa 算法用用户的公钥对c1 解密,得到数字签名c。
⑩用mds 算法对提取出的明文数据包m 进行计算得到c′。
将c 和c′进行比较,若相同,则签名有效,不同则签名无效。安全性的数字签名比原始的签名方案的优点在于保密性方面,嵌套加密决定了,只有成功进行第一次的解密,才能继续进行第二次解密。而能成功进行第一次解密必须具备有接收方的私钥,接收方的私只有接收方自已知道,所以保证了只有正确的接收方才能解开第一次加密,在第二次的解密中与传统的数字签名类似保证了数据是否是由正确的发送方传过来,同时也能防止发送方事后否认现象发生。