简析数字签名
【摘要】文章从数字签名的基本概念出发,具体阐述了 RSA 公钥密码算法、使用公
开密钥密码技术对文件签名的过程协议的实例,在对数字签名的总体 发展 情况与安全现
状进行 分析 后并提出解决方案,最后提出了我国数字签名未来发展趋势
【关键词】数字签名;密钥;时间标记
一、数字签名的相关定义
所谓“数字签名”,就是通过某种密码运算生成一系列符号及代码组成 电子 密码进行签
名,来代替手写签名或印章,对于这种电子式的签名还可进行技术验证。数字签名在
ISO7498-2 标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码
变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性
,并保护数据,防止被人(例如接收者)进行伪造”。数字签名实现的功能与我们“有纸办
公”的手写签名类同,具有准确性、实用性、完整性、可鉴别性、不可抵赖性等特性,同
时解决否认、伪造、篡改及冒充等 问题 。
二、数字签名技术
数字签名技术实际使用了信息发送者的私有密钥变换所需传输的信息,对于不同的文
档信息,发送者的数字签名并不相同。 目前 主要是基于公钥密码体制的数字签名,包括
普通数字签名和特殊数字签名。普通数字签名算法有 SHA、RSA、Schnorr 数字签名算法
等。特殊数字签名有代理签名、门限签名等。
(一)RSA 算法体制
1978 年,美国三位学者 Rivest、Shamir 和 Adleman,提出了 RSA 公钥密码体制,它
是第一个成熟的、迄今为止上最成功的公钥密码体制。
RSA 算法是建立在大数分解和素数检测的 理论 基础上的,是一种分组密码体制。它
的思路是:两个大素数相乘在 计算 上是容易实现的,但将它们的乘积分解为两个大素数
的因子的计算时却相当巨大,甚至在计算机上也是不可实现的。所谓素数检测,是指判断
给定的一个整数是否为素数。RSA 的安全性基于数论中大整数的素因子分解的困难性。
(二)使用公开密钥密码技术对文件签名的过程
公开密钥或者私人密钥都可用作加密。用你的私人密钥加密文件,你就拥有安全的数
字签名。
1.数字签名的协议举例:假设有 A 公司的老板名叫 John,B 公司的老板名叫 Marry
,现 John 想传输一个文件给 Marry,这个文件是有关于一个合作项目标书,属公司机密,
不能让其它人知道,而恰好有一个 C 公司的老板 David 对 A 和 B 公司的那项合作标书非常
关注,总想取得 A 公司的标书。于是他时刻监视他们的 网络 通信,想在 John 通过网络传
输这份标书时,从网络上截取它。为了防止 David 截取标书,实现安全传输,我们可以采
用以下步骤: (1)Marry 用她的私人密钥对文件加密,从而对文件签名。 (2)
Marry 将签名的文件传给 John。。 (3)John 用 Marry 的公开密钥解密文件,从而验
证签名。 这个协议比以前的算法更好。不需要 Trent 去签名和验证。从中需要证明
Marry 的公开密钥确实是她的。甚至协议的双方不需要 Trent 来解决争端;如果 John 不能
完成第 3 步,那么他知道签名是无效的。
这个协议也满足我们期待的要求:
(1)签名是可信的,当 John 用 Marry 的公开密钥时,他知道是由 Marry 的签名。
(2)签名不可伪造的,只有 Marry 知道她的私人密钥解密。
(3)签名是不可重用的。签名是文件的函数,并且不可能转换成另外的文件。
(4)被签名的文件是不可改变的。如果文件有任何的改变,文件就不可能用 Marry
的公开密钥验证。
(5)签名是不可抵赖的。John 不需要 Marry 的帮助就能验证 Marry 的签名。
2.文件签名和时间标记。实际上,John 在某种情况下可以欺骗 Marry。他可能把签
名和文件一起重用。如果 Marry 在合同上签名,这种重用不会有什么问题,但如果 Marry
在一张数字支票上签名,那样做就令人兴奋了。假若 Marry 交给 John 一张¥100000 的
签名数字支票,John 把支票拿到银行去验证签名,然后把钱从 Marry 的账户上转到自己的
账户上。John 是一个无耻之徒,他保存了数字支票的副本。过了一星期,他又把数字支票
拿到银行(或可能是另一个银行),并把钱转到他的账户上。只要 Marry 不去对支票本清
账,John 就可以一直干下去。
因此,数字签名经常包括时间标记。对日期和时间和签名附在消息中,并跟消息中的
其他部分一起签名。银行将时间标记存储在数据库中。现在,当 John 第二次想支取 Marry
的支票时,银行就要检查时间标记是否和数据库中的一样。由于银行已经从 Marry 的支票
上支付了这一时间标记的支票,于是就报警。
三、我国数字签名存在的问题及分析
数字签名的保密性很大程度上依赖于公开密钥。数字认证是基于安全标准、协议和密
码技术的电子证书,用以确立一个人或服务器的身份,它把一对用于信息加密和签名的电
子密钥捆绑在一起,保证了这对密钥真正属于指定的个人和机构。
由于互联网自身的开放性和全球性,在电子交易过程中也产生了诸多安全和诚信的
法律 问题
【 参考 文献 】 [1]谢希仁.计算机网络[M].电子 工业 出版社,2003. [
2]Rivest,Shamir, Adleman.A Method for Obtaining Digital Signature and Public Key
cryptosystems.[J].1978,(2). [3]管有庆,王晓军.电子商
务安全技术[M].电子工业出版社,2005. [4]吴汉平.信息站与信息安全[M
].电子工业出版社,2003. [5]彭钦,郭晶.电子商务教程[M].人民邮电出
版社,2005,. [6]长沙通信职业技术学院编写组. 现代 通信网技术[M].人民
邮电出版社,2004. [7]信息产业部电信管理局.电信网络与信息安全管理[M]
.电子工业出版社,2004