还剩32页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
网络通讯及安全本栏目责任编辑冯蕾数字签名技术综述李程(浙江工商大学,统计与数学学院,浙江杭州310018)摘要在计算机通信系统中,维护电子文档的安全成为至关重要和非常敏感的问题数字签名技术应运而生,已成为对电子文件及其发送者进行认证的主要手段,在电子商务,电子政务等领域发挥着越来越大的作用该文介绍了电子商务安全技术中有着特别重要地位的数字签名技术关键词数字签名;电子数据交换;网络信息安全中图分类号TP311文献标识码A文章编号1009-3044200910-2559-03TheTechnologySumsuptheFigureSignatureLIChengZhejiangUniversityofCommerceandIndustryInstituteofStatisticsandMathematicsInstituteHangzhou310018ChinaAbstract Inthecomputercommunicationssystemmaintainstheelectronicdocumentsthesecuritytobecomeveryimportantandtheverysensitivequestion.ThedigitalsignaturetechnologyarisesatthehistoricmomenthasbecometotheelectronicdocumentandthesendercarriesontheauthenticationtheprincipalmeansthatintheelectroniccommercedomainsandsoonE-governmentisplayingmoreandmoremajorrole.Thisarticleintroducedintheelectroniccommercesafetyworkhasthespeciallyimportantpositiondigitalsignaturetech-nology.Keywords figuresignature;electrondataexchange;networkinformationsafe1前言在传统生活中,政府的文件,命令和条约,商业中的契约以及个人之间的书信等,均使用手书签字或印章以便在法律上能够认证,核准,生效,保证各方的利益随着网络技术和软件技术的飞速发展,信息革命带来了全球范围市场竞争的日益加剧,同时对传统的办公和生活方式也产生了巨大冲击2004年8月28日,十届全国人大常委会第十一次会议表决通过《中华人民共和国电子签名法》,首次赋予可靠的电子签名与手写签名或盖章具有同等的法律效力,并明确了电子认证服务的市场准入制度该法是我国第一部真正意义的电子商务法,是我国电子商务发展的里程碑它的颁布和实施必将极大地改善我国电子商务的法制环境,促进安全可信的电子交易环境的建立,从而大力推动我国电子商务的发展2数字签名的基本概念
2.1数字签名的定义简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人例如接收者进行伪造它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名包括普通数字签名和特殊数字签名普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关
2.2数字签名的要求数字签名技术用来保证信息的完整性“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并核实报文是否发生变化的一个字母数字串数字签名可以解决否认、伪造、篡改及冒充等问题具体要求发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒充另一用户作为发送者或接收者数字签名的应用范围十分广泛,在保障电子数据交换(EDI)的安全性上是一个突破性的进展,凡是需要对用户的身份进行判断的情况都可以使用数字签名,比如加密信件、商务信函、定货购买系统、远程金融交易、自动模式处理等等
2.3数字签名的原理数字签名是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图像化它类似于手写签名或印章,也可以说它就是电子印章我们对一些重要的文件进行签名,以确定它的有效性但伪造传统的签名并不困难,这就使得数字签名与传统签名之间的重要差别更加突出:如果没有产生签名的私钥,要伪造由安全密码数字签名方案所产生的签名,在计算上是不可行的人们实际上也可以否认曾对一个议论中的文件签过名但是否认一个数字签名却困难得多,这样做本质上证明在签名生成以前私钥的安全性就受到危害这是由于数字签名的生成需要使用私钥,而它对应的公钥则用以验证签名因而数字签名的一个重要收稿日期:2009-01-15ISSN1009-3044ComputerKnowledgeandTechnology电脑知识与技术Vol.5No.10April2009pp.2559-2561E-mail:info@cccc.net.cnhttp://www.dnzs.net.cnTel:+86-551-569096356909642559本栏目责任编辑冯蕾网络通讯及安全ComputerKnowledgeandTechnology电脑知识与技术第5卷第10期2009年4月性质就是非否认性,目前已经有一些方案,如数字证书,把一个实体个人,组织或系统的身份同一个私钥和公钥对绑定在一起这使得一个人很难否认数字签名数字签名是相对于手书签名而言的,类似于手书签名,但还应满足以下要求:1收方能确认或证实发方的签字,但不能伪造;2发方把签字的消息发给收方后,就不能否认所签发的消息;3一旦收发双方就消息内容和来源发生争执时,应能给仲裁者提供发方对所发消息签了字的证据但数字签名和手书签名也有所不同,手书签名是模拟的,因人而异,且无论用那种语言签名,都可以模仿;数字签名是0或1的数字串,因消息而异,不可模仿数字签名的基础是公开密钥密码学公开密钥密码学是现代密码学的最重要的发明和发展一般理解密码学就是保护信息传递的机密性,但这仅仅是当今密码学主题的一个方面3数字签名的作用网络的安全,主要是网络信息安全,需要采取相应的安全技术措施,提供适合的安全服务数字签名机制作为保障网络信息安全的手段之一,可以解决伪造,抵赖,冒充和篡改问题数字签名的目的之一,就是在网络环境中代替传统的手工签字与印章,其可抵御的网络攻击主要有:1防冒充伪造其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,所以其他人不可以构造出正确的签名结果数据显然要求各位保存好自己的私有密钥,好像保存自己家门的钥匙一样2可鉴别身份由于传统的手工签名一般是双方直接见面的,身份自可一清二楚;在网络环境中,接受方必须能够鉴别发送方所宣称的身份3防篡改防破坏信息的完整性传统的手工签字,假如要签署一本200页的合同,是仅仅在合同末尾签名呢还是对每一页都有签名,不然,对方会不会偷换其中几页这些都是问题所在而数字签名,如前所述:签名与原有文件已经形成了一个混合的整体数据,不可能篡改,从而保证了数据的完整性4防重放如在日常生活中,A向B借了钱,同时写了一张借条给B;当A还钱的时候,肯定要向B索回他写的借条撕毁,不然,恐怕他会再次挟借条要求A再次还钱在数字签名中,如果采用了对签名报文添加流水号,时戳等技术,可以防止重放攻击5防抵赖如前所述,数字签名可以鉴别身份,不可能冒充伪造,那么,只要保存好签名的报文,就好似保存好了手工签署的合同文本,也就是保留了证据,签名者就无法抵赖以上是签名者不能抵赖,那如果接受者确已收到对方的签名报文,却抵赖没有收到呢要防接受者的抵赖,在数字签名体制中,要求接受者返回一个自己签名的表示收到的报文,给对方或者是第三方,或者引入第三方机制如此操作,双方均不可抵赖6机密性保密性有了机密性保证,截收攻击也就失效了手工签字的文件如合同文本是不具备保密性的,文件一旦丢失,文件信息就极可能泄露数字签名,可以加密要签名的消息当然,签名的报文如果不要求机密性,也可以不用加密4数字签名技术应用方案在网络环境的实际应用中,由于受机器运算速度的影响,传输速度是一大瓶颈现大多数字签名方案存在着效率不高,开销过大等问题为此,如何在确保安全性的前提下,简化操作也是数字签名技术急需解决的问题下面以A向B传递文档为例,我们提出适应在网络环境中的数字签名方案假设A为信息发送者,其公钥,私钥对为ka1,ka2,B为信息接受者,其公钥,私钥对为kb1,kb2为了进一步增加签名的安全性,引入了TIMESTAMP时间戳参数同时考虑被签名内容的大小不定,直接对明文内容进行签名,运算内容大,时间长,不适用于网络上的传输,所以先由明文用SHA1算法产生一个消息摘要,然后把TIMESTAMP与摘要一起签名,以实现双重认证功能以抵抗重放攻击和代换攻击,大大增强了其安全性
4.1需认证的数字签名方案需认证的数字签名方案是最基本的数字签名方案,不需要加密处理发送方签名过程是:1A用SHA21算法对原文件P产生摘要Z;2取得服务器系统时间T时间戳;3A使用其私钥ka2对摘要和系统时间Z+T进行签名得C;4A将P,C发送给B接收方的验证过程是:1B接收后将P,C分开;2B将取到的明文用SHA21计算出摘要;3B用A的公钥kal对A的签名进行解密得到Z,T;4B将解密得到的Z同算出的摘要进行比较,同时解密得到的时间作为辅助认证,若摘要相同,且时间符合约定,刚A的证明为真,反之为假
4.2需认证和加密的数字签名方案需认证和加密的数字签名方案是同时需要认证和加密的数字签名方案在这个方案中,发送方签名过程是:1A用SHA-1算法对原文件P产生摘要Z;2取得服务器系统时间T;3A使用其私钥ka2对摘要和系统时间Z+T进行签名得C;4A随机产生一个DES的密钥K;5A使用对称加密算法对P进行加密得P1;6A使用B公钥kb1对DES密钥K进行加密得K1;7A将K1,P1,C发送给B接收方的验证过程是:1接收后将K1,P1,C分开2560网络通讯及安全本栏目责任编辑冯蕾2B将取得的K1用其私钥kb2进行解密得DES密钥K3B用K将P1解密得明文P4B用SHA21算法对明文P产生摘要5B用A的公钥ka1对A的签名进行解密B将解密得到的Z和算出的摘要比较,同时把解密得到的时间作为辅助认证,若摘要相同且时间符合约定,则A的证明为真,反之为假数字签名的安全性取决于算法的选择和密钥的管理签名算法中,非对称加密算法在加密性能上优于对称加密算法,其中比较有代表性的有RSA算法,DSA算法,ECC算法椭圆曲线算法RSA算法的安全性与DSA算法大致相当,因为两者的算法基础—————大整数分解与求离散对数的计算复杂度是近似的,但RSA速度比DSA算法更快ECC算法基础是椭圆曲线的对数问题,这个基础使得它可能比RSA更快更安全,但它作为一种新的算法,还有待进一步的检验和标准化所以我们采用RSA算法来实现一个数字签名算法,这也是现在最普遍使用的非对称加密算法,为了提高安全性,使用密钥长度是1024位我们在第二种方案中需认证和加密的数字签名,采用对称加密算法和非对称加密算法两者相接合的方式,主要因为对称加密的加密速度快于非对称加密,所以加密用对称算法,然后用非对称算法对其密钥长度固定且短,可采用96位进行加密传输这样,两者互为补充大大加强了数据安全性且加快了系统处理的时间实践证明这种方案的实用性很强密钥的管理主要是依靠统一的公钥基础设施PKI的建立5数字签名系统的实现实现数字签名有很多方法,但大体的工作程序是一样的用户首先可以下载或者购买数字签名软件,然后安装在个人电脑上在产生密钥对后,软件自动向外界传送公开密钥由于公共密钥的存储需要,所以需要建立一个鉴定中心(CA)完成个人信息及其密钥的确定工作鉴定中心是一个政府参与管理的第三方成员,以便保证信息的安全和集中管理不过,在使用这种技术时,签名者必须注意保护好私有密钥,因为它是公开密钥体系安全的重要基础如果密钥丢失,应该立即报告鉴定中心取消认证,将其列入确认取消列表之中其次,鉴定中心必须能够迅速确认用户的身份及其密钥的关系一旦接收到用户请求,鉴定中心要立即认证信息的安全性并返回信息当然数字签名算法的实现,可以从底层算法开始,即从加密算法开始编码;也可以利用网上的一些开放源码的工具包进行二次开发,比如cryptlib,openssl等,优点是功能比较完善,可以灵活应用,但这些免费资源往往缺乏详细的文档,阅读大量的源代码就常常成为必需另外,也可以借助一定的开发工具利用其中的密码功能,比如MicrosoftCryptoAPI函数,VC下可以使用,缺点是由于受美国的密码产品出口限制,Windows自带的Cryp2toAPI的安全强度不能满足用户的各种需求;Java语言也可以方便地实现密码技术,而且Java以其强安全性,平台无关性,硬件结构无关性,语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势6数字签名的隐患数字签名已成为信息社会中人们保障网络身份安全的重要手段之一然而,随着安全威胁的日益猖獗,目前的数字签名技术存在着一定的隐患要知道数字签名的工作原理,这要对公匙加密法有一个基本认识最重要的问题就是
一、公匙和相应的私匙有着特殊的关系一把密匙加密的内容只能由另一把密匙来解密;
二、通过一家可信赖的认证中心(CA)颁发及签名的数字证书(根证书),私匙与你的身份密切相关数字签名是涉及签名信息和签名人私匙的计算结果首先,签名人的软件对发送信息进行散列函数运算后,生成信息摘要(messagedigest)———这段信息所特有的长度固定的信息表示然后,软件使用签名人的私匙对摘要进行解密,将结果连同信息和签名人的数字证书一同传送给预定的接受者而接受者的软件会对收到的信息生成信息摘要(使用同样的散列函数),并使用签名人的公匙对签名人生成的摘要进行解密接受者的软件也可以加以配置,验证签名人证书的真伪,确保证书是由可信赖的CA颁发,而且没有被CA吊销如果两个摘要一样,就表明接受者成功核实了数字签名经核实的数字签名向接受者保证了两点
一、信息未经改动;
二、信息的确来自签名人后者就成了对原产地证明(ProofofOri-gin)的认可,即加密认可这一概念的基础这正是症结所在更确切地说,经核实的数字签名向接受者保证信息未经改动,而且信息是用签名人的私匙签名的但仍存在欺诈的可能性在私匙持有人毫不知情的情形下,有人会利用无人照管的台式机对合同进行数字签名由于“始终联通”的互联网连接如线缆调制解调器和DSL日益普及,黑客窃取私匙的机会也随之激增消费者的利益就容易受到侵害还存在另一种可怕的情景将欺诈作为理由,即完全是想终止签署合同的签名人可能以合乎法律为由,拒绝履行合法签署的合同这样,企业的利益就容易受到侵害明智的个人和机构一定要意识到这些危险大多数企业和个人知道,始终没法消除所有风险,于是专注于如何降低风险,而不是完全避免风险7结论本文主要介绍了电子商务安全技术中有着特别重要地位的数字签名技术,以及数字签名技术在网络环境中的解决方案,向参与网络活动的实体提供身份认证,确保信息传输的机密性和完整性,有效防止了各种网络信息中的安全隐患数字签名已成为信息社会中人们保障网络身份安全的重要手段之一世界各地制订了赋予数字签名合法地位的法律然而,我国关于数字签名技术的研究和应用刚起步,与国际先进水平有一定差距一些人认为,这些法律对电子商务和在线金融服务公司而言无疑是重大进展,而有些人却指出了隐患参考文献:
[1]MohanAtreya.数字签名[M].贺军译.北京:清华大学出版社,2003.
[2]张先红.数字签名原理及技术[M].北京:机械工业出版社,2004:86-
96.
[3]曹学军.网络安全的卫士———数字签名技术[J].国外科技动态20015:196-203.
[4]学军.数字签名技术是网络安全的重要保障[J].电子展望与决策20007:205-208.李程1988-,男,湖北宜昌人李程数字签名技术综述2561。