科技文献检索报告电子商务安全中数字签名的实现方法及其改进

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

电子商务安全中数字签名的实现方法及其改进摘要:本文首先介绍了电子商务安全中数字签名的概念及其常用的实现方法:对称密钥密码验证方法和非对称密钥验证方法,接下来介绍怎样使用哈希(HASH)函数对其中的非对称密钥验证方法加以改进,并对该函数进行了简要介绍。关键词:电子商务安全;数字签名;HASH函数;数字摘要一、引言近几年来,伴随着因特网蓬勃发展,电子商务风起云涌。2007年岁末,国内电子商务公司阿里巴巴在香港成功上市并受到投资者的热捧。越来越多的人认识到了电子商务的巨大潜力,也越来越多的人参与到电子商务的活动中去;与此同时,信息安全问题的重要性也日益凸显出来,在进行电子商务活动的过程中,如何保证交易的信息没有被破坏,以及如何确定发信人的身份等问题是进行电子商务活动必须面对的问题。在这种情况下,数字签名应运而生。二、数字签名及其实现数字签名是附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被别人(例如接收者)伪造。它可以保证信息的完整性,鉴别发送者的身份真实性与不可否认性。如果和加密技术结合,则可以保证信息的机密性等。密码技术是数字签名的技术基础。实现数字签名的方法主要包括两大类,一类就是用对称密钥密码算法进行数字签名,另一类就是使用非对称密钥算法即公开密钥加密算法进行数字签名。(一)用对称密钥密码算法进行数字签名在对称密钥体制中,首先双方必须选定一个完全值得信赖的仲裁机构(比如CA认证中心),它和发送者A共用一密钥Al,同时它也和接收者B共用一密钥Bl,借助这个中间机构,A可以发送一个消息给B,同时B可以确认是A发送的,其基本协议如下:(1)A用密钥A1加密要发送给B的消息,并把它发送给CA;(2)CA用A1解密A发来的消息;(3)CA用解密的消息生成一个已收到A发来的消息的报告,同时和一份A的加密消息的副本组成消息包,并用密钥B1加密整个消息包,然后把它发送给B;(4)B用密钥B1解密消息包,此时B既能读到消息,又能读到由CA给出的证明该消息是A发出的确认信息。使用这类数字签名算法由于加密与解密的算法是相同的。所以其运算速度较快但安全性比较低,经常被应用在安全性要求不是太高、数据量比较大的文件的加密和认证过程中。(二)使用非对称密钥加密算法进行数字签名既然是非对称密钥算法,那就有两个密钥,即公开密钥和私有密钥,他们分别用于对数据的加密和解密,其基本协议如下:(1)A用自己的秘密密钥加密文件,借此在文件上签名:(2)A把签名后的文件发送给B;(3)B用A的公开密钥解密A发来的文件并借此验证A的签名。这种方法使任何拥有发送方公开密钥的人都可以验证数字签名的正确性。同时由于发送方私有密钥的保密性,使得接收方既可以根据结果来拒收报文,也能使其无法伪造报文签名以及对报文进行修改。所以该算法保密性比较好,是数字签名中最常用的方法,现在常用的加密标准RSA、DSA等都是利用此算法进行签名的。三、数字签名算法的改进非对称密钥算法由于其良好的保密性能,所以广泛应用于各类数字签名中,然而,它一样也有缺点,由于此算法受其加密位数影响,对应于长文件,其运算速度比较慢,运算效率比较低。所以,在使用公开密钥加密算法进行数字签名之前,通常使用完全单向HASH函数对要签名的信息进行处理,生成信息摘要,然后对信息摘要进行签名。(一)HASH(哈希)函数简介HASH函数又叫单向散列函数,其具有如下特点:a.给定输入数据,很容易计算出它的HASH值;并且该HASH值长度是固定的;b.反过来,给定HASH值,倒推出输入数据则很难,计算上不可行;c.给定HASH值,想要找出能够产生同样的HASH值的两个不同的输入数据(这种情况称为碰撞,Collision),这很难,计算上不可行。数学家曾做过统计计算,如果HASH值为128bit时,则任意两个报文TEXTl和TEXT2有完全相同的HASH值的概率为1/1024,可以想象如果位数更大,则重复的可能性就更小了;d.HASH值不表达任何关于输入数据的信息。(二)ASH(哈希)函数应用于数字签名应用于数字签名,HASH算法是把任意长度的输入数据经过算法压缩,输出一个尺寸小了很多的固定长度的数据,即哈希值。由于HASH函数的单向性,那么它就解决了以下两个问题:在某一特定的时问内,无法查找经HASH操作后生成特定HASH值的原报文;也无法查找两个经HASH操作后生成相同HASH值的不同报文。这样在数字签名中就可以解决验证签名和用户身份验证、不可抵赖性的问题。那么其整个过程是怎么样的呢?现设有被发送报文TEXT,同时构造一个HASH函数H(X),则数字签名和验证过程分别如下图1和图2所示,其过程如下:A、将被发送报文用公开的HASH函数H(x)运算产生一个固定长度的HASH值H(TEXT),这个值我们叫摘要;B、发送者用自己的私钥再对H(TEXT)进行加密处理,这样就形成了一个数字签名H(text)C、发送者将原文TEXT和数字签名H(text)同时发送给接收者;D、接收方收到这些信息后,首先用公开的密钥对加密了的摘要H(text)进行解密得到H(TEXT),同时对收到的报文TEXT在用同样的HASH函数进行运算生成一个HASH值H(TEXTl);E、将解密后的摘要H(TEXT)与接收方重新运算后生成的H(TEXTl)进行比较,如果两者一致,则说明传输的过程中信息是没有被破坏的,如果有差别,那说明在传输的过程中出现了问题。在上述过程中通过HASH函数产生的HASH值我们又叫信息摘要,它简要地描述了一份较长的信息或文件,它可以被看作一份长文件的“数字指纹”a[13信息摘要用于创建数字签名,对于特定的文件而言,信息摘要是唯一的。信息摘要可以被公开,它不会透露相应文件的任何内容。同时,由于摘要一般只有128位或160位二进制数据,比信息本身要短许多倍,各电子商务设备的微处理器对摘要进行加密就变得很容易,整个数字签名的过程一般在一秒钟内即可完成。由此可见,应用了HASH函数产生摘要的数字签名,极大地减少了加密运算的时间,提高了加密运算的效率;同时由于HASH函数的单向不可逆性,使我们在发送的过程中完全可以不理会摘要被盗窃或者篡改的情况,这就使数字签名的安全性得到了更好的保证。目前,已经发明的HASH函数有多种,如Sne—fru、N—Hash、LOKI、AR、GOST、MD、SHA等。它们在数学上实现的方法各有不同,安全性也各有不同。目前比较常用的HASH函数是MD5和SHA一1。MD5哈希函数以512位来处理输入数据,每一分组又划分为16个32位的子分组。算法的输出由4个32位分组组成,将它们级联起来,形成一个128位的固定长度的哈希值,即输入数据的摘要。SHA一1哈希函数在MD4的基础上增加了数学运算的复杂程度,即SHA=MD4+扩展转换+附加轮+更好的雪崩效应(哈希值中,为0的比特和为1的比特,其总数应该大致相等;输入数据中一个比特的变化,将导致哈希值中一半以上的比特变化,这就叫做雪崩效应)。SHA能够产生160位的哈希值。这就使其保密性和安全性更加有保证。当然,任何一种算法都有其漏洞和局限性。任何一个哈希函数都会存在碰撞——即在一些特定情况下,两个不同的文件或信息会指向同一个数字摘要。在一般情况下,类似碰撞只能尽可能地减少,而不能完全避免。这就要我们不断修正现有的哈希函数,同时加大摘要的位数,以减少出现碰撞的概率。四、结论本文主要讲述在电子商务交易安全中,实现数字签名的一般方法以及如何进行改进。然而这些都只是电子商务安全很小的二部分,电子商务是一个庞大的信息共享系统,其网络安全问题是一个综合课题,涉及技术、管理、使用、立法等许多方面。只有所有方面都能做到安全才能使我们的电子商务活动变得真正安全。参考文献:[1]程龙,杨海兰.电子商务安全[M].北京:经济科学出版社,2014.[2]郭庆平,金庆华,等.数字签名技术及其应用[J].武汉交通科技大学学报,2011(5).[3]李海峰,刘云芳.电子商务安全中数字签名技术的应用[J].甘肃科技纵横,2013(5).[4]易红军,佘名高.rMD5算法与数字签名[J].计算机与数字工程,2011(5).

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功