浅谈数字签名
2015年1月09日 13:25 作者:赵 乐 熊 勇浅谈数字签名
赵 乐 熊 勇 云南广播电视台电视播出中心 云南昆明 650031
【文章摘要】
数字签名是一种类似写在纸上的普通物理签名,也叫做电子签章,公钥数字签名,它是用于鉴别数字信息的方法,使用了公钥加密领域的技术实现。一套数字签名一般定义为用于签名与用于验证的两种互补运算。
【关键词】
公钥体制;CA 认证;数字签名; 应用研究
0 引言
如今,网络的快速发展正在逐渐改变着我们的生活,尤其是电子商务的兴起于发展,大大影响了人们的生产生活方式, 网络开始更大范围的走进人们的生产生活当中。但是,如何实现电子商务的顺利发展,并通过电子商务有效实现其经济与社会效益,保证电子信息安全是目前亟待解决的重要问题。于是,数字签名应运而生,它是一种重要的数据安全保护技术, 对于实现网络数据的保密性、完整性、不可抵赖性具有重要作用。在网络的发展与快速推广过程中,数字签名将对人们的生命财产安全发挥着更大的作用。因此,本研究主要从数字签名理论入手,对单向散列函数、公开密钥体制、CA 机构和证书几个概念进行详细分析,并主要探讨了带加密的数字签名、普通数字签名、双方均不可抵赖的数字签名实现算法。
1 基本介绍
数字签名就是一段数字串,它是非对称密钥加密技术与数字摘要技术的应用, 其特点是只有信息的发送者才可以产生, 除此之外,任何人不能对其进行伪造的别人无法伪造的,这段数字串能够对发送者信息进行确认。
我们并不难展开对数字签名文件完整性验证,因为它不必进行骑缝章,骑缝签名,以及笔迹专家,数字签名具有不可
图1 服务器虚拟化
图2 应用虚拟化124
信息工程
Information Technology
电子制作
抵赖性。
美国联邦政府制定了数字签名标准(DSS),实际上, 数字签名的应用与相关法律问题密不可分。数字签名就是对数据单元所作的密码变换,它是附加在数据单元上的数据。这种数据或变换允许数据单元的接收者用以保护数据,防止被伪造,确认数据单元的来源与完整性。一个签名消息能在一个通信网络中传输,它是实现电子形式消息签名的一种方法, 以基于公钥密码体制的数字签名为主,但是无论是公钥密码体制,还是私钥密码体制,都能够获得数字签名,包括普通数字签名和特殊数字签名。其中,群签名、盲签名、具有消息恢复功能的签名、不可否认签名、代理签名、门限签名、公平盲签名等属于特殊数字签名, 它与具体应用环境之间有着密切联系。Guillou- Quisquarter、Schnorr、ElGamal、Ong-Schnorr-Shamir、Fiat- Shamir、RSA 数字签名算法,有限自动机数字签名算法,Des/DSA, 椭圆曲线数字签名算法等是普通数字签名算法。
2 主要功能
数字签名的主要功能包括的发送者身份进行认证,保证信息完整性、避免交易中的抵赖。以其完整性功能为例:
数字签名实现了加密功能,数字签名验证实现了解密功能。用发送者的私钥加密将摘要信息进行加密,并将其与原文共同传送给接收者,这就是数字签名技术。接收者在受到信息之后,需要借助于发送者公钥,才可以对其进行解密,收到的原文需要利用HASH 函数产生一个能够与解密的摘要信比较分析的摘要信息。如果二者不一致,那么就是信息已被修改,如果二者一致,则证明信息并未在传输时出现修改情况,收到信息是完整的。这就是数字签名保证信息完整性的功能。
3 签名过程
发送报文时,发送方从报文文本中生成报文摘要需要利用哈希函数, 而对该摘要进行加密时需要用到私人密钥,最终形成报文的数字签名,并将其与报文一起传输到接收方。接收方在计算报文摘要时同样需要利用哈希函数,而对报文附加的数字签名进行解密时,需要用到发送方的公用密钥,若这两个摘要一致,说明接收方所接受到的是发送方的报文。
数字签名的功能主要有两种:一是能根据发送方签名确定消息是发送方发送的,因为任何人不能代替发送方实现数字签名。二是消息的完整性可以通过数字签名进行确定。能够代表文件特征是数字签名的特点,不同的文件数字摘要也是不一样的,文件一旦改变,数字摘要的值也会相应的变化。
数字签名:
发送方用自己的密钥对报文X 进行Encrypt( 编码) 运算,生成不可读取的密文Dsk,然后将Dsk 传送给接收方,接收方为了核实签名,用发送方的公用密钥进行Decrypt( 解码) 运算,还原报文。
4 原理特点
每个人都有两个“钥匙”,其中一个是公开的,而另一个只有本人了解。验证签名的过程利用的是前者,而签名过程中使用的是后者。由于每个人都能够在落款声称他就是你,所以公钥需要向接受者信任的人来注册,那就是合格的身份认证机构,对文件签名后,你把此数字证书连同文件及签名一起发给接受者,由身份认证机构为你颁发注册后的数字证书,接受者向身份认证机构求证是否真地是用你的密钥签发的文件。
在通讯中使用数字签名的原因包括以下几点:
鉴权
所有人都可以利用公钥加密系统使用公钥对发送信息加密,信息接收者可以通过数字签名确认发送者身份。但是,接收者并不是100% 的确信发送者的真实身份,而其确信条件是建立在密码系统未被破译的基础上的。
财务数据突出表现了鉴权的重要性。举例来说,比如某银行以(a,b) 格式指令, 从分行向其总行发布相关信息,其中,格式中的a 表示的是账户账号,而b 表示的是账户现有金额。如果此时有某远程客户存入账户50 元现金,并对传输结果进行观察,然后陆续发送上述格式的指令,这种方法就叫做重放攻击。
完整性
传输数据的双方都希望确认消息在传输时没有被修改,加密让第三方不容易实现数据的读取,但是,并不是说第三方就不能在传输中修改数据,最典型的案例就是同形攻击。比如,还是某银行从它的分行向它的中央管理系统发送格式为(a,b) 的指令,一个远程客户首先先存50 元,再拦截传输结果,再传输(a,b3),那么他就拥有了很多的财富。
不可抵赖
密文条件下,抵赖这个词指的是不承认与消息有关的举动。因为接收方可以出示签名给别人看来证明信息的来源,消息的接收方可以通过数字签名来防止所有后续的抵赖行为。