滨江学院课程论文题目数字签名的发展院系计算机系专业软件工程(动画方向)学生姓名陈婷学号20092358009指导教师朱节中职称副教授二O一二年五月二十日数字签名的发展陈婷南京信息工程大学滨江学院软件工程(动画方向),南京210044摘要:数字签名是电子商务安全的一个非常重要的分支。
随着电子商务的发展,电子签名的使用越来越多。
实现电子签名的技术手段有很多种,但比较成熟的、世界先进国家目前普遍使用的电子签名技术还是基于PKI的数字签名技术。
关键词:数字签名信息安全电子商务1引言1.1 研究背景在当今信息社会,计算机网络技术得到了突飞猛进的发展。
计算机网络日益成为工业、农业和国防等领域的重要信息交换手段,并逐渐渗透到社会的各个领域。
在现实生活中,人们常常需要进行身份鉴别、数据完整性认证和抗否认。
身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。
随着无纸化办公的发展,计算机网络的安全越来越受到重视,防止信息被未经授权的泄漏、篡改和破坏等都是亟待解决的问题。
在Internet上,数字签名作为一项重要的安全技术,在保证数据的保密性、完整性、可用性、真实性和可控性方面起着极为重要的作用。
同时由于信息技术的发展及其在商业、金融、法律等部门的普及, 数字签名技术又面临着新的挑战。
1.2 开发意义数字签名是实现电子交易安全的核心技术之一,它在实现身份认证、数字完整性、不可抵赖性等功能方面都有重要应用。
尤其是在密钥分配、电子银行、电子证券、电子商务和电子政务等许多领域有重要的应用价值。
2相关技术介绍2.1PKI/CA 技术的介绍PKI 就是公开密钥基础设施。
它是利用公开密钥技术所构建的,解决网络安全问题的,普遍适用的一种基础设施。
公开密钥技术也就是利用非对称算法的技术。
说PKI 是基础设施,就意味着它对信息网络的重要。
PKI 通过延伸到用户本地的接口,为各种应用提供安全的服务,如认证、身份识别、数字签名、加密等。
PKI 中最基本的元素就是数字证书。
所有安全的操作主要通过证书来实现。
PKI 的硬设备还包括签置这些证书的证书机构(CA) ,登记和批准证书签置的登记机构(RA) ,以及存储和发布这些证书的电子目录。
PKI 中还包括证书策略,证书路径以及证书的使用者。
所有这些都是PKI 的基本元素。
许多这样的基本元素有机地结合在一起就构成了PKI 。
2.2CA 机构CA 机构,又称为证书授证(Certificate Authority) 中心,是一个负责发放和管理数字证书的权威机构, 它作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
CA 中心为每个使用公开密钥的用户发放一个数字证书,以实现公钥的分发并证明其合法性。
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件, 作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。
CA 机构的数字签名使得攻击者不能伪造和篡改证书。
在SET 交易中,CA 不仅对持卡人、商户发放证书,还要对获款的银行、网关发放证书。
它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。
2.3公钥密码技术原理公钥算法利用的是非对称的密钥,即利用两个足够大的质数与被加密原文相乘产生的积来加/解密。
这两个质数无论是用哪一个与被加密的原文相乘(模乘),即对原文件加密,均可由另一个质数再相乘来进行解密。
但是,若想用这个乘积来求出另一个质数,就要进行对大数分解质因子,分解一个大数的质因子是十分困难的,若选用的质数足够大,这种求解几乎是不可能的。
因此,将这两个质数称密钥对,其中一个采用私密的安全介质保密存储起来,应不对任何外人泄露,简称为“私钥”;另一个密钥可以公开发表,用数字证书的方式发布在称之为“网上黄页”的目录服务器上,用LDAP协议进行查询,也可在网上请对方发送信息时主动将该公钥证书传送给对方,这个密钥称之为“公钥”。
公/私密钥对的用法是,当发方向收方通信时发方用收方的公钥对原文进行加密,收方收到发方的密文后,用自己的私钥进行解密,其中他人是无法解密的,因为他人不拥有自己的私钥,这就是用公钥加密,私钥解密用于通信;而用私钥加密文件公钥解密则是用于签名,即发方向收方签发文件时,发方用自己的私钥加密文件传送给收方,收方用发方的公钥进行解密。
3.数字签名的基本概念3.1 数字签名的定义数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。
一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。
这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。
它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。
基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。
包括普通数字签名和特殊数字签名。
普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、DES/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。
特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。
3.2 数字签名的基本要求身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。
数字签名技术用来保证信息的完整性。
“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并核实报文是否发生变化的一个字母数字串。
数字签名可以解决否认、伪造、篡改及冒充等问题。
类似于手书签名,数字签名也应满足以下基本要求:1)收方能够确认或证实发方的签名,但不能伪造签名。
2)发方向收方发出签名的消息后,就不能再否认他所签发的消息,以保证他不能抵赖之前的交易行为。
3)收方对已收到的签名信息不能否认,即有收报认证。
4)第三者可以确认收发双方之间的信息传递,但不能伪造这一过程。
3.3 数字签名的原理数字签名是解决网络通信中特有安全问题的一种有效方法,它能够实现电子文档的辨认和验证,在保证数据的完整性、私有性、不可抵赖性方面起着极其重要的作用。
为了实现网络环境下的身份鉴别、数据完整性认证和抗否认的功能。
数字签名应满足以下要求:1.签名者发出签名的消息后,就不能再否认自己所签发的消息;2.接收者能够确认或证实签名者的签名,但不能否认;3.任何人都不能伪造签名;4.第三方可以确认收发双方之间的消息传送,但不能伪造这一过程,这样,当通信的双方关于签名的真伪发生争执时,可由第三方来解决双方的争执。
对于一个典型的数字签名体系而言,它必须包含2个重要的组成部分:即签名算法和验证算法。
为了满足上述4点要求,数字签名体系必须满足2条基本假设:1.签名密钥是安全的,只有其拥有者才能使用;2.使用签名密钥是产生数字签名的唯一途径。
数字签名的基础是密码技术,其大致思想就是在传输文件(明文或密文)的同时附带一个“签名”,这个“签名”是用此文件作者的密钥把文件或者由其产生的一段文档加密而得。
其中采用的加密算法大致分为两类,对称加密和非对称加密。
对称加密中使用的一对密钥本质相同,所以通信前双方必须通过安全途径交换密钥,否则任何一方的密钥泄露,另外一方也毫无安全可言。
同时,其密钥的管理随着用户的增加呈平方级数增长。
而非对称加密使用的一对密钥(公共密钥和私有密钥)互不相同且不能由一个推出另外一个。
用自己的私钥对信息的数字摘要签名,将其发送给对方时,如果对方能够使用发送者的公钥来验证信息,他就能确定信息是从你那里发来的。
密钥对中的私有密钥只有密钥对的所有者才知道,从而可以作为其所有者的身份特征。
公共密钥的管理可以由专门的仲裁中心负责,其复杂程度随用户的增加呈线性增长。
鉴于以上两点,采用非对称加密算法签名更好,但其加密的运算复杂度和速度比对称加密慢得多,所以采用非对称加密算法签名常常是对文件由哈希函数所产生的数字摘要进行的。
数字签名算法依靠公钥加密技术来实现的。
在公钥加密技术里,每一个使用者有一对密钥:一把公钥和一把私钥。
公钥可以自由发布,但私钥则秘密保存;还有一个要求就是要让通过公钥推算出私钥的做法不可能实现。
3.4 数字签名的作用网络的安全,主要是网络信息安全,需要采取相应的安全技术措施,提供适合的安全服务。
数字签名机制作为保障网络信息安全的手段之一,可以解决伪造,抵赖,冒充和篡改问题。
数字签名的目的之一,就是在网络环境中代替传统的手工签字与印章,其可抵御的网络攻击主要有:1) 防冒充(伪造)。
其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,所以其他人不可以构造出正确的签名结果数据。
显然要求各位保存好自己的私有密钥,好像保存自己家门的钥匙一样。
2) 可鉴别身份。
由于传统的手工签名一般是双方直接见面的,身份自可一清二楚;在网络环境中,接受方必须能够鉴别发送方所宣称的身份。
3) 防篡改(防破坏信息的完整性)。
传统的手工签字,假如要签署一本200 页的合同,是仅仅在合同末尾签名呢还是对每一页都有签名,不然,对方会不会偷换其中几页这些都是问题所在。
而数字签名,如前所述:签名与原有文件已经形成了一个混合的整体数据,不可能篡改,从而保证了数据的完整性。
4) 防重放。
如在日常生活中, A 向B 借了钱,同时写了一张借条给B ;当A 还钱的时候,肯定要向B 索回他写的借条撕毁,不然,恐怕他会再次挟借条要求A 再次还钱。
在数字签名中,如果采用了对签名报文添加流水号,时戳等技术,可以防止重放攻击。
5) 防抵赖。
如前所述,数字签名可以鉴别身份,不可能冒充伪造,那么,只要保存好签名的报文,就好似保存好了手工签署的合同文本,也就是保留了证据,签名者就无法抵赖。
以上是签名者不能抵赖,那如果接受者确已收到对方的签名报文,却抵赖没有收到呢?要预防接受者的抵赖,在数字签名体制中,要求接受者返回一个自己签名的表示收到的报文,给对方或者是第三方,或者引入第三方机制。
如此操作,双方均不可抵赖。
6) 机密性(保密性)。
有了机密性保证,截收攻击也就失效了。
手工签字的文件(如合同文本)是不具备保密性的,文件一旦丢失,文件信息就极可能泄露。
数字签名,可以加密要签名的消息。
当然,签名的报文如果不要求机密性,也可以不用加密。