摘要: 该文从电子政务的信息安全问题出发,把数字签名技术与电子政务中工作流结合在一起,探讨数字签名技术在电子政务中的应用的安全解决方案。
关键词:数字签名,电子政务,工作流,多重数字签名
1、引言
随着网络技术和软件技术的飞速发展,特别是Internet/Intranet的出现及其相关技术的迅速发展,信息革命带来了全球范围市场竞争的日益加剧,对传统的办公和生活方式产生了巨大冲击。在社会信息化的不断推进过程中,各级政府的办公自动化需求也在不断升级。电子政务系统(Electronic Government或简称e-government)就是在这种背景下应运而生的。电子政务是政府机构运用现代网络通信与计算机技术,将其内部和外部的管理和服务职能经过精简、优化整合、重组后到网络上实现,它打破了时间、空间及部门分隔的制约,为社会公众及自身提供一体化的高效、优质、廉洁的管理和服务。 政务的信息化是政府行为,直接涉及各级政府的核心政务,要求电子政务的实施过程始终具有高度的可靠性和安全性。而Internet的全球性、开放性在为电子政务提供极大便利的同时,也为信息安全带来极大的威胁,非授权访问、冒充合法用户、破坏数据完整性、干扰系统正常运行等,将对电子政务数据的保密性、完整性、不可抵赖性及上网人员的身份真实性、稳私权等带来了极大的损害。 随着电子政务的应用系统逐渐增多,这类问题显得越来越重要。为此,电子政务的安全体系是电子政务建设的关键所在。
电子政务系统中的安全体系涉及到物理安全、网络安全、信息安全以及安全管理等多方面。本文从信息安全的角度探讨数字签名技术在电子政务中的应用的安全解决方案。
2、数字签名技术
以往,在政府办公过程中,文件或通知等是根据亲笔签名或印章来证明其真实性,签名起到认证、核准和生效的作用。而无纸办公时,计算机网络中传送的文电又如何签名呢?这就是数字签名所要解决的问题。数字签名是相对于手书签名而言的,类似于手书签名,但还应满足以下要求:(1)收方能确认或证实发方的签字,但不能伪造;(2)发方把签字的消息发给收方后,就不能否认所签发的消息;(3)一旦收发双方就消息内容和来源发生争执时,应能给仲裁者提供发方对所发消息签了字的证据。但数字签名和手书签名也有所不同,手书签名是模拟的,因人而异,且无论用那种语言签名,都可以模仿;数字签名是0或1的数字串,因消息而异,不可模仿。
数字签名体系的目的在于保证数据来源的可靠性和其输入时间的不可否认性,一般由数字信封结构、签名算法、公钥基础设施PKI等部分组成。
数字信封结构把待签名的数据、时间和数字签名结合成一个不可分割的整体,以抵抗重放攻击和代换攻击,确保签名的法律效力。
签名算法一般由公开密钥密码算法(RSA、ELGamal、DSA、ECDSA等),对称密钥密码算法(DES,AES等)和单向散列函数(MD2、MD4、MD5或SHA等)构成。在签名过程中,签名方使用单向散列函数得到待签名文件的散列值,用对称密钥密码算法将文件加密,然后用公钥算法生成数字签名并加密对称密钥密码算法中所使用的密钥,最后将加密后的源文件、签名、加密密钥和时间戳放在一个信封中发送出去。验证过程则相反,验证方用公钥算法得到签名方发送的对称密钥和文件的散列值,用对称密钥解密文件并用单向散列函数生成散列值,若该值与签名方发送的散列值相等,则签名被验证。
公钥基础设施PKI是一种遵循ITU-T X.509标准的密钥管理平台,它的核心内容就是为所有网络应用透明地提供采用加密和数字签名等密码服务所必需的密钥和证书管理,由PKI用户、注册机构(RA)、认证机构(CA)、证书库和作废证书清单(CRL)等基本组成成分构成。RA是证书的注册机构,是PKI的入口,负责受理PKI的服务申请,并将合法的申请上传给CA。CA是证书的签发机构,是PKI的核心。在使用公钥体制的网络环境中,CA作为可信的机构对任何一个主体的公钥进行公证,其签名用来保证此公钥的确属于用户信息中所指定的用户。PKI通过作废证书清单来进行作废证书的管理。各个CA周期性地发布作废证书列表,公布最新作废证书序号。
目前在网络中比较常用的是基于口令的认证方式,这是一种弱认证方式,口令在网络传输的过程中很容易被窃取和破译,不适用于安全性较高的场合,而且其认证是单向的,浏览器不能对服务器进行认证。安全电子政务系统通过使用由可信证书机构(CA)颁发的数字证书,结合对应的私钥,完成对实体的单向或双向身份认证,克服了传统的口令认证的弊端,大大提高了身份认证的安全水平。在系统中,用户管理和登录需要使用数字证书,以确认用户,保证某一项网络行为是持有证书的用户所施,保证用户的真实性和合法性,同时防止用户抵赖行为。
3、电子政务中的数字签名技术
信息技术的发展导致了电子政务的工作流系统从笔头文本到电子文本的转变。一些在笔头文本工作流处理中的签名的作用可能不再需要。例如,一个计算机系统能通过数字签名在一个文件中自动的加上时间戳来给出处理的时间和日期。数字签名方案是安全的,因为这些方案通常是基于加密技术的。如公钥加密体制。这样就保证了签名数据的完整性,和数字签名的不可否认性。然而,在工作流中数字签名的应用往往在数字签名的研究中被忽视了的。在一个电子工作流系统中,不同用途的数字签名需要不同的处理程序。例如,作为授权用途的签名必须被CA检查。这是因为CA中心能够授权认证签名的有效性。处理没有经CA认证的签名可能会导致不适当的工作流程序的操作。所以,有必要把数字签名方案和处理工作流结合在一起。这样数字签名可以控制工作流的处理,起到安全性的作用。
在工作流的处理数字签名过程中,不仅仅有个人单独签名的需要,有时也需要多个用户对同一消息进行签名认证。能够实现多个用户对同一消息进行签名的数字签名称为多重数字签名。多重数字签名与现实生活中多人手写签名最大的不同之处在于手写签名的长度与签名人数成正比,而多重数字签名长度与单个签名长度一致;对多重数字签名进行验证时也只需验证这个最终形成的多重数字签名即可。
根据签名过程的不同,多重数字签名方案可分为两类:一类为有序多重数字签名方案,另一类为广播多重数字签名方案。无论是有序多重签名方案,还是广播多重签名方案,都包含消息发送者、消息签名者和签名验证者。在广播签名方案中还包含签名收集者。
3.1有序多重签名
在有序多重数字签名方案中,由消息发送者规定消息签名顺序,然后将消息发送到第一个签名者,除了第一个签名者外,每一位签名者收到签名消息后,首先验证上一签名的有效性,如果签名有效,继续签名,然后将签名消息发送到下一个签名者;如果签名无效,拒绝对消息签名,终止整个签名。当签名验证者收到签名消息后,验证签名的有效性,如果有效,多重签名有效;否则,多重签名无效。
有序多重数字签名方案
根据不同的政务需求,这就要有不同的处理多重签名需求的工作流的设计。为此可分为独立性有序多重签名和依赖性有序多重签名。
独立性有序多重签名 对签名的先后顺序是没有要求的,只需按次序签名即可。
依赖性有序多重签名 相对来说就是对签名顺序有要求,必须第一签名者签名后才能依次向下执行。
3.2广播多重签名
在广播多重签名方案中,消息发送者同时将消息发送给每一位签名者进行签名,然后签名者将签名消息发送到签名收集者,由收集者对签名消息进行整理并发送给签名验证者。签名验证者验证多重签名的有效性。
广播多重签名方案
在电子工作流中,每个签名人的签名相互间是独立的。我们称之为处理签名的分散式机制。
处理过程还需要把分散处理的签名收集起来进行汇总,我们称之为汇总机制。根据签名和验证的操作,分散和汇总接下来将作更细致的分类。
分散
根据全部签名人还是部分签名人的选择来选择签名,有两种类型的分散:全部分散和部分分散。
全部分散 例如在政府的采购中,如果信息管理系统只需要财务部门和资产部门的同意,这种意见是独立的。那么信息管理部门可以提交两份表单分别同时送到这两个部门申报,然后同时处理调用的意见。
部分分散 在同一个例子中,除了需要财务部门和资产部门同意外,还需要机构中六个主要领导的其它至少三个的同意。那么除了把申请表单送给财务部门和资产部门外,还应至少选三个领导进行申报。但这三个成员的选择权在于信息管理部门。这样签名人的数目就在五到八个这间。
汇总
类同分散,汇总也可以分全部汇总和部分汇总。
全部汇总 在全部汇总中,这就需要对所有汇总来的签名进行有效性验证。例如,信息管理部门汇总所有从相应部门签名的表单,如财务部门和资产部门。并且,所有这些签名必须有效。无效签名将排除。
部分汇总 在部分汇总中,不需要等到所有的签名,只要满足条件要求就可以了。如在部分分散的例子中,信息管理部门可以只收到财务部门和资产部门以及三个领导的签名,就成立了。这样的前提是管理部门必须向其它成员发出多于三份的申报表。但是,只需要收集够一定数量的签名即可。
3.3多重数字签名的实现方案
许多数字签名方案是在思想上设计成一个签名。有两种主要的方案处理多重数字签名。第一种签名方案是应用一个整体的复杂数学算法,例如用改进的RSA算法处理多重签名。这种算法通常在结构上非常复杂,并且他们的应用没这么容易扩展来解决相关的问题。特别是在工作流中操作流程变化后,数字签名的作用也随之发生了变化。所以在工作流中数字签名的多样化使一个整体的数字签名方案的应用不能满足电子工作流系统的需求的。第二种方案就是按预先的工作流的次序多次使用单一数字签名,由此成为一个组合的多重签名方案。这种方案在以下的例子中示范。
假若有三个人,Amy,Bob,和Charlie想签署同一个文件M。
1. Amy用她的私钥加密M。加密的消息命名为SA,Amy发送M和SA给Bob。
2. Bob收到M和SA后,Bob用Amy的公钥解密SA来验证SA是否是用Amy的私钥加密产生的。然后,Bob用他自己的私钥加密M和SA,加密后的消息称为SB。Bob发送M和SB给Charlie。
3. 以Charlie收到M和SB后,他用Bob的公钥解密SB来验证SB是否是Bob的私钥生成的。然后Charles用Amy的公钥解密SA来验证SA是否为Amy的私钥产生的。
这种方法的好处是没有复杂的数学算法被使用。所有的密码运算使用同样的单一签名算法。附加的工作就是合并各个不同的签名,如以上提到的M,SA和SB。因此,这种方案在电子工作流系统中需要多重签名时非常适用。
5、结论
公众的信心是电子政务应用系统成功建设和运行的关键,也是电子政务市场化的重要障碍之一。公众的信心来自于信息的安全和对隐私的有效的保护。因此,信息安全和隐私保护仍然是许多国家在电子政务发展中极为关注的问题。
本文主要在电子政务系统的工作流中引入数字签名技术,提出了基于数字签名技术的电子政务的安全解决方案,向参与电子政务活动的实体提供身份认证,确保工作流中信息传输的机密性和完整性,有效防止了各种电子政务中的安全隐患。
然而,我国数字签名技术的研究和应用刚起步,与国际先进水平有一定差距。在电子政务系统中如何能够将多个普通的单个数字签名结合成为一个更高效率和抗攻击的多重数字签名成为进一步研究的课题。