摘 要:分析数字签名的功能、原理及其与传统手写签名的差别,对基于身份的数字签名进行了探讨,给出了数字签名在电子政务中的具体应用。
关键词:数字签名;电子政务;信息安全
数字签名是防止他人对传输的文件进行破坏.以及确定发信人的身份的手段该技术在数据单元上附加数据,或对数据单元进行秘密变换.这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,从而达到保护数据,防止被人进行伪造的目的。简单说来,数字签名是指用密码算法,对待发的数据进行加密处理,生成一段数据摘要信息附在原文上一起发送,接受方对其进行验证,判断原文真伪,其签名思想是签名只能南一个人(个体)创建,但可以被任何人校验。
数字签名技术可以解决数据的否认、伪造、篡改及冒充等问题,满足上述要求的数字签名技术有如下主要功能:(1)发送者事后不能否认自己发送的签名;(2)接收者能够核实发送者发送的签名;(3)接收者不能伪造发送者的签名;(4)接收者不能对发送者的原文进行篡改;(5)数据交换中的某一用户不能冒充另一用户作为发送者或接收者。
1.数字签名与传统手写签名差别
1.1签署文件方面:一个手写签名是所签文件的物理部分,而数字签名不是,所以要使用其他的办法将数字签名与所签文件“绑定”。
1.2验证方面:一个手写签名是通过和一个真实的手写签名相比较来验证的而数字签名是通过一个公开的验证算法来验证:
1.3签名的复制:一个手写签名不容易被复制,因为复制品通常比较容易被鉴别来:而数字签名很容易被复制,因为一个文件的数字签名的复制品和原文件是一样的:所以要使用数字时问戳等特殊的技术避免数字签名的重复使用。
1.4手书签名是模拟的,且因人而异。数字签名是0和1的数字串,因人和消息而异。
2基于身份的数字签名
2.1优势。1984年Shamir提出基于身份的加密、签名、认证的设想,其中身份可以是用户的姓名、身份证号码、地址、电子邮件地址等。系统中每个用户都有一个身份,用户的公钥就是用户的身份,或者是可以通过一个公开的算法根据用户的身份可以容易地计算出来,而私钥则是由可信中心统一生成。在基于身份的密码系统中,任意两个用户都可以安全通信,不需要交换公钥证书,不必保存公钥证书列表,也不必使用在线的第三方,只需一个可信的密钥发行中心为每个第一次接入系统的用户分配一个对应其公钥的私钥就可以了。基于身份的密码系统不存在传统CA颁发证书所带来的存储和管理开销问题。
2.2形式化定义。基于身份的数字签名由以下4个算法组成,如图1所示。Setup(系统初始化):输入一个安全参数k,输出系统参数param、和系统私钥mk,该算法由密钥产生机构PKG运行,最后PKG公开params,保存mk。Extract(用户密钥生成):输入params、mk和用户的身份ID,输出用户的私钥diD,该算法由PKG完成,PKG用安全的信道将diD返回给用户。Sign(签名):输入一个安全参数r、params、diD以及消息M,输出对}肖息M的签名盯,该算法由用户实现。Verify(验证):输入params、签名人身份ID、消息m和签名,输出签名验证结果1或0,代表真和伪,该算法由签名的验证者完成。其中,签名算法和验证算法与一般签名方案形式相同。
3数字签名在电子政务中的应用
3.1意义。数字签名的过程和政务公文的加密/解密过程虽然都使用公开密钥体系,但实现的过程正好相反,使用的密钥对也各不相同。数字签名使用的是发送方的密钥对,发送方用自己的私钥进行加密,接收方用发送方的公钥进行解密。这是一个一对多的关系,即任何拥有发送方公钥的人都可以验证数字签名的正确性。政务公文的加密/解密则使用接收方的密钥对,这是多对一的关系,即任何知道接收方公钥的人都可以向接收方发送加密公文,只有唯一拥有接收方私钥的人才能对公文解密。在实际应用过程中,通常一个用户拥有两个密钥对,一个密钥对用来对数字签名进行加密,解密;另一个密钥对用来对公文进行加密懈密,这种方式提供了更高的安全性。
3.2个人单独签名. 由于政务公文的文件相对来说都比较大,所以一般需要先对所要传输的原文进行加密压缩后形成一个文件摘要,然后对这个文件摘要进行数字签名。一般由两个阶段组成:对原文的数字签名和对数字签名的验证。
(1)对原文的数字签名。先采用单向散列哈希算法对所要传输的政务公文x进行加密计算和压缩,推算出一个文件摘要z。然后,公文的发送方用自己的私钥SKA对其加密后形成数字签名Y,并将该数字签名附在所要传送的政务公文后形成一个完整的信息包(X+Y)。再用接收方的公钥PKB对该信息包进行加密后,通过网络传输给接收方。
(2)对数字签名的验证。接收方收到该信息包后,首先用自己的私钥SKB对整个信息包进行解密,得到两部分信息:数字签名部分Y和政务公文原文部分x;其次,接收方利用发送方的公钥PKA对数字签名部分进行解密,得到一个文件摘要Z;接着,接收方也采用单向散列哈希算法对所收到的政务公文原文部分进行加密压缩,推算出另外一个文件摘要z1。由于原文的任何改动都会使推算出的文件摘要发生变化,所以只要比较两个文件摘要z和z1就可以知道公文在传输途中是否被篡改以及公文的来源所在。如果两个文件摘要相同,那么接收方就能确认该数字签名是发送方的,并且说明文件在传输过程中没有被破坏。通过数字签名能够实现对原始报文的鉴别。
参考文献:
[1]徐晓林,杨锐.电子政务[M].武汉:华中科技大学出版社.2009.
[2]侯勃峰.咸阳市电子政务内网协同办公平台的实现[J].信息化建设,2010(06).
[3]李艳芳.我国电子政务的现状与对策分析[J].中国商界,2010(01).