(一) 数字签名的概念
数字签名(digital signature)也叫电子签名,在电子支付系统中,是一个仅能由发送方才能产生的,且仅与所签署电子文档有关的一种标记,其他人只能简单地识别此标记是属于谁的和属于哪个电子文档的,而无法伪造和盗用。在日常社会生活、商务和经济往来中,盖章签名和识别签名是经常遇到的。如信件、文件、钱款的发收,挂号邮件、合同、契约及协议的签订等都离不并签名。手工签名有固定不变、易模仿、易伪造、手续繁杂等缺点。数字签名可做到既保证签名者无法否认自己的签名,又保证接收方无法伪造发送方的签名,还可作为信息发收双方对某些有争议信息的法律依据。因此,它除了具有手工签名的全部功能外,还具有易更换、难伪造、可通过远程线路传输等优点。数字签名具有通常所说的认证功能,近几年来在金融电子化系统中得到越来越广泛的应用。
(二) 数字签名技术
数字签名必须保证接收者能够核实发送者对报文的签名、发送者事后不能抵赖对报文的签名、接收者不能伪造对报文的签名。
1. 数字签名原理
数字签名技术是不对称加密算法的典型应用。数字签名的应用过程是数据源发送方使用自己的私钥对数据校验或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证。在数字签名应用中,发送者的公钥可以很方便地得到,但用以加密的私钥则需要严格保密。
若发送者A用其私钥(SKA)对源数据X进行运算,将结果DSKA(X)传送给接收者B。B用已知的A的公钥得出EPKA[DSKA(X)]=Xl。因为除A本人外他人不具有其SKA,所以除A外没有别人能产生密文DSKA(X)。这样,报文X就被签名了。若A要抵赖曾发送报文给B。B可将X及DSKA(X)出示给第三者。第三者很容易用PKA去证实A确实发送信息X给B。反之,如果是B将X伪造成X*,则B不能在第三者面前出示DSKA(X*),这样就证明B伪造了源数据。因此,实现数字签名也同时实现了对数据来源的鉴别。
2. 对数据的数字签名
对数据的数字签名过程是通过一个哈希(Hash)变换来实现的。将待签名的源数据带入哈希变换,输出得到的是一组定长的代码,这组代码即是数字签名。数字签名代表着数据的特征,数字签名的值将随着文件的变化而发生变化,也就是说,不同的数据将得到不同的数字签名。哈希变换函数对于发送数据的双方都是公开的。要在公开的网络上实现安全的数据传输,必须在数据中加入数字签名及实现数字签名的验证。(www.xing528.com)
3. 数字签名的验证
数字签名并非用“手书签名”类型的图形标志,它采用了双重加密的方法来实现防伪、防抵赖。其验证过程如下。
(1) 被发送数据用SHA编码加密产生128位的数字摘要。
(2) 发送方用自己的私钥对摘要加密,这就形成了数字签名。
(3) 将源数据和加密的摘要同时传给对方。
(4) 对方用发送方的公钥对摘要解密,同时对收到的文件用SHA编码变换产生一个新的摘要。
(5) 接收方将解密后的摘要和重新产生的摘要相互比对,如两者一致,则说明传送过程中信息没有被破坏或篡改过;否则,说明源数据曾经被改动,证书已然失效。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。