电子商务安全中的数据加密技术

时间:2022-09-14 03:02:00

电子商务安全中的数据加密技术

摘要:本文论述和分析了加密技术及其在电子商务安全方面的应用现状。在对称加密体制方面,重点讨论了DES算法,给出了其在密钥管理,安全应用方面存在的问题;在非对称加密体制方面,重点研究RSA及其应用中存在的问题、ECC的优点及应注意的问题等。最后对加密技术在电子商务安全中的应用作了总结和展望。

关键词:加密技术;电子商务;对称加密体制;非对称加密体制

中图分类号:G642 文献标识码:B

文章编号:1672-5913(2007)18-0166-03

电子商务在当今世界已经被广泛应用,其在技术方面的核心问题是信息的保密性、完整性和不可否认性。加密技术是电子商务采取的主要的安全措施。

一般说来,系统的保密性不依赖于加密体制或算法的保密,而只依赖于密钥。也就是说虽然加密和解密算法是公开的,密码分析者可以知道算法与密文,但不知道密钥,仍难于将密文还原为明文。根据密钥的特点将密码算法分为对称加密体制和非对称加密体制。

1对称加密体制-单钥加密体制

对称加密算法是加密密钥Ke与解密密钥Kd为同一密钥的加密算法。信息的发送者和接收者在进行信息的传输和处理时共同持有该密钥。对称加密体制最著名的算法是美国数据加密标准DES、高级加密标准AES和欧洲数据加密标准IDEA。

1.1IDES加密算法

输入64位的明文,在56位(另外8位可用作奇偶校验或随意设置)密钥的控制下,通过初始换位,然后经过16轮完全相同的加密变换,在加密变换过程中明文与密钥相结合,最后再通过逆初始换位得到64位的密文。该算法的优点是运算速度快,密钥容易产生,适合加密大量的数据。缺点是算法迭代次数少,不能提供足够的安全性。

1.2对称加密在电子商务应用中的缺陷

对称加密体制的最大问题是密钥的管理和分配非常复杂。比如,在购物支付环境中,一个具有n个用户的网络,因为每对用户每次使用对称式加密算法都需要使用其他人不知道的唯一的密钥,以保证信息的机密性,所以系统拥有的密钥总数为n(n-1)/2,若n等于104,则就大约需要管理5×107个密钥,耗费大量的存储空间。对称加密方式存在的另一个问题是无法鉴别贸易发起方或贸易最终方,这是因为贸易双方共享同一把密钥,贸易双方的任何信息都是通过这把密钥加密后传送给对方,所以不能用于数字签名。

2非对称加密体制-公钥加密体制

加密密钥和解密密钥为2个不同的密钥的密码体制。它使用一对密钥:一个称为公钥PK,是公开的,由他人使用,其作用是进行加密或验证数字签名;另一个称为私钥SK,由用户自己使用,是保密的,用于解密或对消息进行数字签名。这两个密钥之间的关系是用其中任何一个密钥加密的信息只能用另一个密钥解密,而且解密密钥不能从加密密钥获得。若以公钥作为加密密钥,以私钥作为解密密钥,则可实现多个用户加密的信息只能由一个用户解读;反之,以私钥作为加密密钥而以公钥作为解密密钥,则可实现一个用户加密的信息可由多个用户解读。前者用于数据加密,后者用于数字签名。

2.1RSA加密算法

RSA加密算法是当前最著名且应用最广泛的公钥算法,其安全性基于模运算的大整数素因子分解问题的困难性。选择两个互异的大素数p和q,一般要求大于10100;计算n=p×q和z=(p-1)(q-1);选择一个与z互质的整数,记为d;计算满足下列条件的e, (e×d) mod z=1。这里 (n, e) 就是公开的加密密钥,(n, d) 是私钥。在进行加密时,把明文分割成一定大小的块M,加密过程即C=Me mod n;解密过程即M=Cd mod n。在RSA算法中,n的长度是控制该算法可靠性的重要因素,目前大多数加密程序均采用1024位以上。因为它无须收发双方同时参与加密过程非常适合于电子函件系统的加密。尽管RSA算法既可用于加密,也可以用于数字签名,但其加密、解密运算复杂,速度慢,所以目前该算法适用于少量数据的加密,更多的用于加密密钥。

2.2ElGamal加密算法

ElGamal加密算法的安全性是基于有限域上离散对数问题的难解性。随机选取一大素数p (200位十进制数) ,选一个数g (模p的本原根,1

2.3Rabin算法

设p,q是两个保密的随机大素数,(p,q) 是私钥;n(=p×q) 和b (≥1) 是公开的,(n,b) 是公钥两个保密的大素数p,q由Dirichlet定理可得到:已知b≥1,则使得y×2b+1是素数的整数y (≥1) 有无穷多个;而且使得y΄×2b-1是素数的整数y΄ (≥1) 也有无穷多个。

加密过程:C=E(M) =M (M+b) (mod n),其中M是明文,C是密文。

解密过程:求同余方程M2+bM-C=0 (mod n) 的解。因为n=p×q,p,q是素数,所以该方程等价于

Rabin密码系统的加密与解密速度一般比RSA系统要快1-3倍。因此,在诸如PGP等应用软件中使用Rabin,将有效地提高软件的执行速度。

2.4椭圆曲线加密算法ECC

椭圆曲线加密算法 (ECC) ,其安全性基于椭圆曲线点群上离散对数问题 (ECDLP) 的难解性。

(1) 相关概念

有限域上的椭圆曲线E指的是满足Weier2trass方程

y2+a1xy+a3y=x3+a2x2+a4x+a6(式1)

的所有解 (x, y) 和无穷远点的集合。

椭圆曲线上的无穷远点:令x=X/Z,y=Y/Z,代入 (式1) 得

(Y/Z)2+a1(XY/Z2)+a3(Y/Z)=(X/Z)3+a2 (X/Z)2+a4(X/Z)+a6

当Z≠0时,整理得

Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3(式2)

显然,点 (x, y) 和 (X, Y, Z) 是相对应,而θ (X, Y, 0) 可以看作是曲线上点 (X, Y, ε) ,在ε0而得到的,θ就被称为椭圆曲线上的无穷远点。

椭圆曲线上的加法运算:设P、Q是E上任意2点,直线l是PQ连线,如图1所示。设l和E相交于另一点R΄,R是R΄关于x轴的对称点,记为R=P+Q,根据椭圆曲线的对称性,可知R必在曲线上。

由上述加法的定义可知:曲线上2个点 (可能是相同的点,如图1中的M点) 相加,其和仍是曲线上的点。不妨将P+P记为2×P,P+P+…+P记为m×P。不难证明,2×P、…、m×P都一定是曲线E上的点。这样,椭圆曲线上的点外加一个无穷远点构成的集合和以上定义的加法运算构成了可交换群 (Abel群) 。

(2) 椭圆曲线加密体制

ECC是在有限域的椭圆曲线上建立加密算法,可用的加密实现方法有Diffie-Hellman公钥系统、ElGamal公钥系统、因数分解算法等。其定义如下:

给定整数k和椭圆曲线E,求出

Q=k×P=P+P+…+P (k个P相加)(式3)

其中k

n×P=P+P+…+P=H(式4)

显然,已知k和P,可以容易地计算Q,而由Q和P推导出k则比较困难,这就是ECC的数学原理。ECC的工作原理(其中曲线E、点P和素数n都是公开信息,此处的加密实现方法是ElGamal公钥算法)为:

密钥的生成:私钥拥有者(以下用A表示)随机选取一个整数k(k

消息的发送:消息发送方 (以下用B表示) 为了发送消息M,进行如下操作:

1) 找到A的公钥 (E, P, n, Q) ;

2) 将M标识成一个域元素;

3) 在区间 [1, n-1] 内选取一个随机整数d;

4) 依照A的公钥计算点 (x1,y1)=d×P,(x2,y2)=d×Q,若x2=0则回到第 3) 步;

5) 计算C=M×x2;

6) 传送密文 (x1x, C) 给A。

解密过程:A收到B的密文后,使用私钥k,计算点 (x2, y2)=k(x1, y1) ,再计算x2-1;计算M=C x2-1,恢复得到明文。

(3) ECC的优势与应用注意事项

1) 安全性高。加密算法的安全性能一般通过算法的抗攻击强度来反映。解决椭圆曲线上的离散对数问题的最好算法是Pollard ρ方法,其时间复杂度是完全指数阶的。而RSA所利用的是大整数分解的困难问题,其因数分解最好算法的时间复杂度是子指数阶的,所以攻击ECC的算法复杂度比RSA要高得多。例如,密钥长度为1024位的RSA破解最快需要3×1011MIP年,而密钥长度为160位的ECC破解最快需要9.6×1011MIP年从加密强度来看,椭圆曲线密码体制是目前已知的公钥体制中,对每字节所提供加密强度最高的一种体制。

2) 短密钥。密钥越长,其安全层次就越高,但运行速度必然会慢。研究表明,106位ECC密钥加密强度相当于512位的RSA,而160位ECC密钥加密强度更是相当于1024位的RSA。这意味着,在保证同样安全等级的前提下,RSA密钥长度要比ECC的长得多,占用的内存也大得多。ECC密钥的长度优势给ECC算法带来了短小、高效、低耗的技术优势,在IC卡上的应用具有重要的意义。

3) 处理速度快。ECC算法在处理解密和签名的速度上,要比RSA、ElGamal快很多。虽然在RSA算法中可以通过选择较短的公钥的方法来提高加密和签名验证的速度,但总的来说,在相同的安全强度下,ECC速度要比RSA、ElGamal快很多。使用160位密钥长度的ECC算法加、解密或数字签名要比使用1024位密钥长度的RSA算法大约快10倍。该算法应用于签名、多重签名和盲签名技术。

4) 在使用ECC时,椭圆曲线的选择上一定要避免超奇异椭圆曲线和异常曲线这两种曲线是不宜用于密码体制的椭圆曲线,它们的ECDLP相对容易,因而易遭到特定算法的攻击。

2.5公钥密码体制在电子商务应用中的优缺点

由于加密、解密的密钥不同且能公开加密密钥,所以公钥密码算法的密钥管理和分配问题很简单。例如具有n个用户的网络,仅需要管理2n个密钥,远远小于对称密钥的管理。公钥加密算法应用广泛,既可用于信息加密又可用于数字签名,而且,基于数字签名,还可实现鉴别、数据完整性和防抵赖等安全目标,适应于电子商务安全的需要。公钥密码算法最大的缺点是算法比较复杂,运算量十分浩大,加密、解密的速度慢。因此提高公钥算法的运算速度成为密码算法研究的一个重要方向。

3总结与展望

上面介绍了数据加密技术中几种主要的密码算法。虽然非对称加密算法在电子商务应用方面有很多优势,并且非对称加密体制!椭圆数据加密技术也成为密码技术在电子商务安全方面的热点研究领域,但由于对称加密算法加密速度远快于非对称加密算法,而且在相同安全水平下,对称密钥长度为128位,RSA密钥长度为3072位,ECC密钥长度为256位,密钥长度相对较短,所以,非对称加密体制不能完全取代对称加密体制。在实际用中,电子商务的安全加密系统普遍采用对称加密体制和非对称加密体制相结合的混合加密体制:用对称密码算法来加密或解密大量的数据,而用非对称密码算法来加密关键性的、核心的机密数据(如会话密钥)。这样既发挥了对称密码算法的高速、简便性又充分利用了非对称密码体制密钥管理的方便、安全性,较好地解决了运算速度问题和密钥分配管理问题。

参考文献

[1] 祁明. 电子商务安全与保密[M]. 北京:高等教育出版社,2001,(7):44-84.

[2] 邱新建. 信息加密技术概论[J]. 石家庄职业技术学院学报,2004,12(6).

[3] 杨波等. 基于Rabin加密算法的密钥托管体制[J]. 西安电子科技大学学报,1999,4(2).

[4] 邱奇志. 椭圆曲线在数字签名中的应用[J]. 武汉理工大学学报,2004,9(9).

[5] 刘凌波等. 现代密码理论新动向[J]. 计算机时代,2004,(2).

[6] 李俊芳. 椭圆曲线加密算法及实例分析[J]. 网络安全技术与应用,2004,(11).

[7] 秦志光. 密码算法的现状和发展研究[J]. 计算机应用,2004,2(2).

作者简介:阚晓初(1958-),男,浙江商业职业技术学院副教授,电子邮件:

上一篇:在计算机科学与技术专业教学中引入信息安全学... 下一篇:基于PHP和MYSQL的远程教育平台设计与实现