陈 聪 贺 杰 何高明 莫智懿 彭金虎
[摘要]随着社会经济的不断发展,电子政务已经逐渐成为人们进行各种活动的新型模式,越来越多的人通过Internet进行政务活动,因此,关于电子下政务的安全性能问题也日益成为广泛关注的焦点。就电子政务的安全问题、数字签名的定义、功能及原理问题、ECC算法的原理及其优点问题进行简要的介绍。
[关键词]电子政务 安全性 数字签名 ECC
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0310049-01
电子政务系统是实现信息交换和资源共享、面向公众提供服务、增强各部门工作的透明度的一个工作平台。在企事业单位增加电子服务的同时,也必然面临着某些威胁、风险和不利因素,这些信息通过网络进行电子交换时有可能被破坏或被窃取。但是随着近几年来我国电子签名法的出台,使数字签名具备了法律效力,其重要性不言而喻。
一、电子政务中的安全性能需求
电子政务的实质是政府机构行使其职能的过程中,运用现代信息化技术实现政府结构和工作流程的优化重组,尽可能的实现政务资源的优化配置。因此,要建成一个精简、高效、廉洁、公平的政府运作模式,从而有效避免政府各部门之间的隔阂。在这所说的电子政务的安全性能,指的就是保护政务信息资源价值不受侵犯,保证信息资产的拥有者面临最小的风险和获取最大的安全利益,使政务的信息基础设施、信息应用服务和信息内容为抵御上述威胁而具有有保密性、完整性、真实性、可用性和可控性的能力。
针对电子政务的安全性要求很多,归纳起来,其基本信息必须保证:(1)机密性。采用加密技术,对用户进行身份验证,确保数据能够保持私有或保存为一个秘密的格式;(2)完整性。信息的接收方可以验证收到的信息是否完整,是否被人篡改;(3)访问控制。系统的安全管理者能分配或终止用户访问、操作等权利,授权用户的访问不能被拒绝;(4)真实性。交易方的身份可以有效鉴别、确定,不会有假冒或伪装;(5)不可否认性。信息的发送方不能抵赖曾经发送的信息,不能否认自己的行为;(6)
权限授予。对使用公文传输系统的管理人员、电子盖章或电子签名的人员、打印或查看公文的人员进行不同权限授权,保障系统的安全性。
二、数字签名算法的定义、功能
(一)数字签名的定义。一般而言,数字签名在ISO7498-2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。美国等国对于数字签名作了如下解释:“利用一套规则和一个参数对数据进行计算,所得的结果能够确认签名者的身份和数据的完整性”。从以上的定义中我们可以得知,数字签名的实质就是利用数据之间的内在联系,通过一系列的规则,从而达到确认实质身份的目的。
(二)数字签名的功能。数字签名所要解决的是在无纸办公时,计算机网络中传送的文电如何签名的问题。数字签名类似于手书签名,对此应满足以下要求:(1)收方能确认或证实发方的签字,但不能伪造;(2)发方把签字的消息发给收方后,就不能否认所签发的消息;(3)当收发双方就消息内容和来源发生争执时,应能给仲裁者提供发方对所发消息签了字的证据。从以上我们可以看出,数字签名具有与手书签名同等的法律效力。但数字签名和手书签名在形式上也有所不同,手书签名是模拟的,因人而异,且无论用那种语言签名,都可以模仿;数字签名是0或1的数字串,因消息而异,不可模仿。数字签名的不可模仿性也为其广泛应用奠定基础。
三、ECC算法的原理及其优点分析
(一)数字签名实现的原理。要想知道ECC的实现原理,我们就必须首先了解数字签名的实现原理。数字签名是电子签名的一种特定形式。完整的数字签名系统包括数字信封结构、公匙基础设施PKI、签名算法等部分。其中,数字信封把待签名的数据、时间和数字签名结合成一个不可分割的整体,以抵抗重放攻击和代换攻击,确保签名的法律效力。
签名算法一般由公开密匙算法(RSA、ECC等)、对称密匙算法(DES、
AES等)和单向散列函数(MD2、MD4、MD5和SHA等)构成。在数字签名中,将报文按照双方约定的HASH算法计算得到一个固定位数的报文摘要(Message Digest)值。在数学上保证,只要改动报文的任何一位,重新计算出的报文摘要就会与原始值不符,从而保证了报文的不可更改。然后把该报文的摘要值用发送者的私人密匙加密,并将该密文同原报文一起发送给接收者,所产生的报文即为数字签名。接收方收到数字签名后,用同样的HASH算法对报文计算摘要值,然后与用发送者的公开密匙进行解密解开的报文摘要值相比较。如相等则说明报文确实来自发送者,因为只有用发送者的签名私匙加密的信息才能用发送者的公匙解开,从而保证了数据的真实性。
(二)ECC算法的实现原理。ECC中的加法操作是RSA中的取模乘法运算的对应物,而多次加法则是取模指数操作的对应物。为了用椭圆曲线构造一个密码系统,需要找到一个与分解两个素数的乘积或者取离散对数相对应的“难题”。
椭圆曲线并非椭圆,它是由三次方程描述的而这些三次方成类似于计算一个椭圆周长的方程。一般,描述椭圆曲线三次方程的形式是:
Y2+axy+by=x3+cx2+dx+e
其中a,b,c,d,e是满足一些简单条件的实数。在任何椭圆曲线的定义中还有一个单独的成分,它就是被称为无穷点或零点的0。这样的方程称为三次的或阶数为3的,因为它们包含的最高指数为3。
对于椭圆曲线可以定义一种形式的加法,即:如果一个椭圆曲线上的三个点处于一条直线上,那么它们的和为0。从这个定义可以定义椭圆曲线上的加法规则。
(三)ECC安全性能分析。目前,200比特长的椭圆曲线密码体制已经有相当高的安全强度。椭圆曲线密码体制的诱人之处在于安全性相当的前提下,其密钥的长度更短。加密算法的安全性能一般通过该算法的抗攻击强度来反映,ECC和其他的几种公钥系统相比,其抗攻击性具有绝对的优势,另外,与RSA,DSA算法相比,ECC还有以下优点:
1.计算量小,处理速度快。虽然在RSA中可以通过选取较小的公钥的方法提高公钥处理速度,即提高加密和签名验证的速度,使其在加密和签名验证速度上与ECC有可比性,但在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多;因此ECC总的速度比RSA、DSA要快得多。
2.存储空间占用小,ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。
3.带宽要求低,当对长消息进行加解密时,ECC与DSA/RSA密码算法具有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。而公钥密码算法多用于短消息(如用于数字签名和密钥交换)带宽要求低使ECC在无线网络领域具有广泛的应用前景。ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。