电子商务安全与一种改进RSA算法
摘 要:近些年来,随着互联网的迅猛发展,电子商务已成为大家所熟知的形式。越来越多的人通过电子交易的方式进行商务活动,然而在交易过程中暴露的安全性问题也愈发明显。那么究竟是那些方面的不安全因素阻碍了电子商务的进程呢?本文将就个别安全性问题进行详细分析和探讨。
关键词:电子商务;安全;电子交易;信息安全;人员管理
互联网事业的快速发展,催生了电子商务这种方便而又易于接受的交易新模式,买卖双方足不出户便可以完成复杂的谈判定价、合同签订等程序。所以,越来越多的人以这种商务活动模式取代了传统的交易形式。随着其应用范围的不断延伸,针对电子商务安全性的犯罪活动也在日益猖獗,越来越多的安全问题已经成为制约电子商务健康成长和发展的关键性因素。那么如何为用户打造一个安全、舒适的交易环境,为他们的交易信息和个人信息提供一个安全的避风港呢?
1.电子商务及其主要安全问题的简介
电子商务是指利用互联网为条件,基于B/S的应用模式,不在同一地域或时间的买卖双方实现的贸易洽谈、合同签订、集货发货等贸易活动,简单地说就是交易双方在不见面的情况下实现网上购物、电子支付和物流跟踪等业务活动的新型贸易模式。而电子商务中的安全问题就是电子交易的双方涉及的个人账户安全、隐私信息安全和对交易数据的可靠性、安全性和完整性的有效保护。
根据电子商务的几种交易方式,我们将安全性问题也分为技术类安全问题和管理类安全问题。那么技术类安全问题主要是指黑客利用网络漏洞并通过不正当手段获取交易方的个人信息、密码口令和印章签名甚至支付账户的用户名和密码等,从而给个人或者企业造成不必要的经济损失。这类安全性问题按照使用设备的不同又可分为固定电子商务安全和移动电子商务安全。移动电子商务作为电子商务的一个分支,其安全性问题主要来自于通信终端和无线网络的漏洞。而管理类的安全问题主要是指在交易企业的运作中,相关企业缺乏对内部员工的培训和有效管理,从而导致电子商务犯罪案件的发生。
2.若干安全问题类型的分析
2.1网络类电子商务的安全问题
电子商务的整个过程都是基于网络的,可见网络就是出现问题的关键部位,黑客也是利用网络的漏洞通过不同的方式对电子商务的正常交易进行攻击。那么,黑客攻击交易网络的主要方式有篡改网页、传播病毒、释放木马和网络钓鱼。
篡改网页是很多黑客所热衷的方式,即为用其他网页来替换被篡改的网页。其方式本身对于电子交易并没有什么危害,但是因为选购货物全过程都要依赖于网页,所以恶意丑化和涂改相应的商品会误导消费者的判断,并损害企业的信誉和形象。
释放木马的方式类似于传播病毒。木马是一种不为用户所知的植入性程序,黑客一般利用这类程序对目标机器进行远程监督和操控,盗取企业和个人的信息后,进行一些不符合交易双方意愿的操作,但这种方式也和传播病毒一样,受到了杀毒技术的巨大挑战。
2.2企业内部的管理不善造成的安全问题
企业管理混乱,没有通盘考虑安全问题。个别电子商务企业的产业规模并不是很大,企业管理相对松散,不同部门虽然各司其职,但是却令不行、禁不止。所以信息安全只做到了某一部门的安全,而不是企业的整体信息安全。
3.解决安全问题的建议RSA算法
在Internet中使用更多的是公钥系统,即公开密钥加密。在该体系中,密钥被分解为一对:公开密钥PK和私有密钥SK。这对密钥中的任何一把都可作为公开密钥(加密密钥)向他人公开,而另一把则作为私有密钥(解密密钥)加以保存。公开密钥用于加密,私有密钥用于解密,私有密钥只能由生成密钥对的贸易方掌握,公开密钥可广泛发布,但它只对应于生成该密钥的贸易方。在公开密钥体系中,加密算法E和解密算法D也都是公开的。虽然SK与PK成对出现,但却不能根据PK计算出SK,如图1。
RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。
RSA的算法涉及三个参数,n、e1、e2。
其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。
e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。
(n及e1),(n及e2)就是密钥对。
RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1 mod n;B=A^e2 mod n;
e1和e2可以互换使用,即:
A=B^e2 mod n;B=A^e1 mod n
图1 RSA算法基本远离流程图
4.一种改进的RSA改进算法
当今社会处于信息时代,随着计算机互联网络的飞速发展,整个世界被越来越紧密地联系在一起。资讯的发达在为人类社会带来巨大便利的同时,也产生了一系列严重的问题,信息安全就是其中突出的一个。由于网络中存储着许多重要、敏感数据,因此,信息安全己越来越受到人们的关注。RSA 算法在公钥密码体制中占有重要的地位。但该算法所采用的幂剩余计算会耗费太多的时间,一直是制约其广泛应用的瓶颈,现提出一种RSA改进算法。
4.1 三重RSA算法
由于RSA 算法是基于大数分解的理论,应用了费尔马小定理,在两个素数qi 和pi 的乘积n 被分解是最主要的攻击方法,因此提出了三重RSA 算法:用户j 的公开加密变换Ej 和保密的解密变换Dj 的产生,如图2:
(1)随机选取三个素数pj、qj 和rj;
(2)计算nj= pj*qj*rj,Ф(nj)=(pj-1)(qj-1)(rj-1);
(3)随机选取整数ej 满足(ej,Ф(nj)) =1;
(4)利用欧几里得算法计算dj,满足ei*di≡1 MOD Ф(nj);
(5)公开nj,ej 作为Ej,记为Ej=< nj,ej>,保密pj,qj,rj,dj,Ф(nj)作为Dj,记为Dj=< pj,qj,rj,dj,Ф(nj)>。加密算法:c = Ej(m) = mej(MOD nj),解密算法:m = Dj(c) = cdj(MOD nj),在RSA 算法中,包含两个密钥:加密密钥PK 和解密密钥SK,加密密钥公开。
由于三重的RSA 算法成立,原来的RSA 算法也成立,因此推断N 重RSA 算法即:用户x 的公开加密变换Ex 和保密的解密变换Dx 的产生:
(1)随机选取N 个素数p1、p2……pn;
(2)计算nx=p1*p2……*pn,Ф(nx)=(p1-1)*(p2-1)*……*(rj-1);
(3)随机选取整数ex 满足(ex,Ф(nx)) =1;
(4)利用欧几里得算法计算dx,满足ex*dx≡1 MOD Ф(nx);
(5)公开nx,ex 作为Ex,记为Ex=< nx,ex>,保密p1,p2,……,pn,Ф(nx)作为Dx,记为Dx=。加
密算法:c = Ex(m) = mex(MOD nx),解密算法:m = Dx(c) =cdx(MOD nx),在N 重RSA 算法中,同样也包含两个密钥:加密密钥PK 和解密密钥SK,加密密钥公开。
图2 三重RSA算法流程图
4.2 N 重RSA 算法证明
若p, q是相异质数, d*e==1 MOD (p- 1)(q- 1), a 是任意一个正整数b==aeMOD p*q,c==bdMOD p*q, 则c==a MOD p*q。
可以得出推论1:
若p1,p2,……,pn是相异质数, d*e==1 MOD (p1- 1)*(p2- 1)*……*(pn-1), a 是任意一个正整数b==aeMOD p1*p2*……*pn, c==bdMOD p1*p2*……*pn, 则c==a MODp1*p2*……*pn。
证明推论1的过程中过程如下:
由n(n>=2)个质数时,推论1成立。
当n+1时d’*e’==1 MOD(p1- 1)*(p2- 1)*……*pn*(p(n+1)-1)a’是任意一个正整数
b’==a’e’MOD p1*p2*……*pn*p(n+1), ①
c’==b’d’MOD p1*p2*……*pn*p(n+1) ②
由于里面的a’、b’、p1,p2,……,pn, p(n+1)都是已知数,就c’是未知数,所以可以求得c’==b’d’MOD p1*p2*……*pn*p(n+1)因此可以知道推论1 成立。
可以证明N 重RSA 算法的正确性,因为N 重RSA 算法是正确的所以三重的RSA 算法想当然是正确的。
4.3 RSA 改进算法举例
要对2 运用N=3 的N 重RSA 算法进行加密,取p1=5, p2=3,p3=7,求得n=p1*p2*p3=105,m=(p1-1)*(p2-1)*(p3-1)=(5-1)*(3-1)*(7-1)=48,然后生成较小的数e,使e 与48 互质,2 不对,5是最小的,于是e=5 最后生成d,使d*e MOD m=1 , d*5 MOD 48=1,d*3 除以48 余数为1,于是算出d=29 , 所以求出公钥e=5,n=105. 私钥d=29,n=105. 密钥计算完毕。加密:c=pe%n=25%105=8%105=8, 于是密文为8。把8 传出去。同时应把公钥也传出去,好在收到时知道对应的是那个私钥。解密过程:接收者收到密文和公钥,找到对应的私钥:p=cd%n=829%105,经过运算,余数为2。
上面运用了N=3 时的N 重RSA 算法,在这种非对称的RSA 加密算法中,充分利用了大数分解的思想,这样在改进的N 重RSA 算法中加进了多个是相乘,由于这样每次都有可能有不同多个数得出的结论来完成的加密密钥和公钥的计算,所以在更大程度上也保证的算法的安全性和保密性。
RSA 算法使用方便,尤其是公开密钥的特征使得用户在数据传输之前无需交换密钥,就算是和多个用户进行秘密通信,也没有必要记住所有的密钥,N 个用户通信,要有N 对密钥,每个用户只需记住自己的密钥,并到公共存储区去取得其他公钥就可以了。但是由于RSA 算法的实现是以大素数来为基础,依赖于计算机的速度和容量,效率比较低。根据统计,对相同数据块的加密,对称算法比RSA 算法的效率要高几十倍。
改进的N 重RSA 算法中,由于所取得素数比较多,取多少个也是有应用N 重RSA 算法的用户决定的,所以就可以把所取得素数的大小取得小一点,这样就提高了计算机的运算速度,加快了RSA 算法的运算效率。由于N 重RSA 算法根本没有违背RSA 算法,所以其安全性也是毋庸置疑的。
5.小结
在对传统的RSA 算法的充分研究和深刻理解上,对RSA 算法效率低的问题进行了改进得到了基于原有算法的N 重RSA 算法。在增加了素数的情况下降低了所选素数的个数,以达到小数相乘运算速度比大数相乘效率高的特点。由于N 重RSA 算法还是在原有的RSA 算法的基础上,因此它的安全性和保密性都和原来的RSA 算法是一样的,因此在应用上还是和原有的RSA 算法是相同的。
参考文献:
.天津:天津大学,2004.
下一篇:基于网络形式的网络运行模拟屏系统