由于数字签名在保证信息安全方面的重要性,在美国、新加坡、日本、韩国等电子商务开展较早的国家和地区相继通过了法案赋予数字签名法律效力,我国也于2004年8月颁布了《中华人民共和国数字签名法》,数字签名将与手写签名具有同等的法律效力[3]。
2.数字签名的介绍
2.1 数字签名的概念
在电子政务的虚拟世界中,文件是以电子数据的形式表现和传递的。在电子文件上,传统的手写签名和盖章无法进行,必须依靠数字技术手段来替代。能够在电子文件中起到与手写签名或者盖章同等作用的签名的电子技术手段,称为数字签名[4]。通俗的说,所谓数字签名就是附加在被签名文件上的一些密文,或者是对被签名文件所作的变换。这种密文或变换允许被签名文件的接收人用以确认被签名文件的来源和被签名文件的完整性并保护数据,防止被其他人员进行篡改、伪造等。目前主要是基于公钥密码体制的数字签名。
2.2 数字签名算法的分类
2.2.1 基于数学难题的分类
公开密钥密码算法是建立在数学难题的基础上,数字签名基于数学难题的分类可分为基于大整数素因子分解问题(例如RSA)和基于有限域离散对数问题(例如DSA)两种[5]。
2.2.2 基于签名用户数量的分类
根据文件需要签名的人数,数字签名可以分为一个人签名的数字签名方案和多个人签名的数字签名方案。
2.2.3 基于特殊用途的分类
(1) 门限签名:就是在一个团体中必须满足n个人签名,才能生效。
(2) 代理签名:第三方在接受了当事人的授权后,可以代表当事人进行数字签名。
(3) 盲签名:就是当事人不知道或者不需要知道文件的内容时可以进行盲签名。
(4) 门限代理签名:就是当事人授权n个人代理签名,其中必须有m个人钱名,文件方能生效。门限代理签名是门限签名和代理签名的结合。
(5) 群签名:一个团体中的一员以团体的名义签名,接受者可以验证签名者的身份。
(6) 不可否认的门限代理签名:就是当事人授权n个人代理签名,其中必须有m 个人签名,这m个人不可否认自己的签名[7]。
2.3 对数字签名的基本要求和作用
2.3.1 对数字签名的基本要求
(1) 收方能够确认或证实发方的签名,但不能伪造签名。
(2) 发方向收方发出签名的消息后,就不能再否认他所签发的消息,以保证他不能抵赖之前的行为。
(3) 接收方对自己收到的被签名文件不能进行否认,这就是收报认证机制。
(4) 第三方人员能够确认接收方和发送方双方的信息传递,却不能造假这一过程。
2.3.2 数字签名的作用
(1) 防篡改:现实生活中,假如要签署一份100页的合同,是只在合同书的结尾处进行签名还逐页签名呢,不然,签署合同的另一方会不会偷偷换掉其中的一部分。数字签名是将被签名文件的整体和签名整合为一个整体,这样签署合同的另一方就不能对其进行篡改。
(2) 防冒充:就是每个私钥只能是当事人自己持有,其他人员不能构造出正确的签名,就不能代替当事人对文件进行签名。所以私钥需要当事人妥善的保管,不然其他人员就可以代替当事人对文件进行签名。
(3) 防重放:在现实生活中,甲借钱给乙,乙需要写一张借条给甲。当乙还钱后,忘记向甲索要借条。这时甲就可以凭借这张借条,再次向乙索要钱。而数字签名可以使用对签名文件添加流水号、时间戳等技术,来防止上述情况的发生,就是防重放。
(4) 可鉴别身份:就是接收方能够通过数字签名来确认签名者的身份。就相当于传统签名中面对面一样,清楚对方的身份。 数字签名在电子政务系统中的实现(2):http://www.youerw.com/jisuanji/lunwen_3073.html