沈洋
摘要:针对电子支付中的安全技术,分析SET协议中的非对称密码算法RSA算法与DES数据加密算法,通过对算法的过程分析,验证了RSA算法与DES数据加密算法是目前密码体系中应用于电子商务平台中最安全的密码算法。
关键词:电子支付;SET协议;RSA;DES;3重DES
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)33-8085-03
1电子支付安全技术概述
电子支付是指电子交易的双方(消费者、厂商和金融机构),采用安全电子支付手段,通过互联网进行的货币支付或资金流转。电子支付是构建电子商务系统的重要组成部分。电子支付的业务类型按电子支付指令发起方式分为网上支付、电话支付、移动支付、销售点终端交易、自动柜员机交易和其他电子支付。
电子支付的本质指交易双方在网上发生的一种资金交换;通过计算机网络系统以电子信息传递形式实现的流通和支付。近年来,国内的电子商务活动剧增,在线支付等多种支付手段广泛应用,在线支付则是电子支付系统发展的更高形式,它使得电子支付可随时随地通过Internet或者通信网的手机银行进行直接的转账、结算,形成活跃的电子商务环境[1]。
电子商务的发展已经带动互联网经济时代的到来,而电子支付是电子商务的整个商贸活动中非常重要的一个关键环节,为电子商务活动的电子货币的安全性提供了业务过程安全保护。由此可见电子支付的安全是电子商务业务流程中的关键技术,应用的安全技术必须保证能够无风险的保障交易双方的金融账户安全。
电子支付中有两个重要的协议:SSL协议与SET协议。
1)SSL(SecureSocketsLayer,安全套接层协议)。SSL协议层包括两个协议子层,SSL记录协议与SSL握手协议。SSL记录协议基本特点是连接是专用的和可靠的。SSL握手协议基本特点是能对通信双方的身份的认证、进行协商的双方的秘密是安全的、协商是可靠的。
2)SET(SecureElectronicTransaction,安全电子交易协议)。SET协议运行的目标包括保证信息在互联网上安全传输、保证电子商务参与者信息的相互隔离、解决网上认证问题、保证网上交易的实时性、规范协议和消息格式。SET所协议涉及的对象有消费者、在线商店、收单银行、电子货币发行机构以及认证中心(CA)[2]。
在每一种协议内部都会有电子支付规定的动作,而完成这些规定动作最重要的安全保证就是密码算法。SET协议确保了网上交易所要求的保密性、数据的完整性、交易的不可否认性和交易的身份认证。SET协议主要使用的技术包括:对称密钥加密、公钥加密、Hash算法、数字签名、数字信封以及数字证书等技术。SET通过使用公钥和对称密钥方式加密,以保证数据的保密性;通过使用数字签名、Hash算法和数字证书实现交易各方的身份认证、数据的完整性和交易的不可否认性。
在SET协议的数据加密机制中,应用最广泛的算法应该是RSA公钥密码算法与DES数据加密算法,它们广泛用于电子商务体系中,是安全性较高的密码算法。
2SET协议的交易过程
SET交易过程中要对商家,客户,支付网关等交易各方进行身份认证,因此它的交易过程相对复杂。
①持卡人通过浏览器选择在线商店里自己需要的商品,放入购物篮。
②持卡人填写订单信息,并选择支付方式。
③持卡人将订单信息和支付信息发送给商家,这里订单信息和支付指令由消费者进行数字签名,同时利用双重签名技术保证商家看不到消费者的账号信息及银行看不到消费者的订单信息。
④商家接受订单量信息后,与支付网关进行通信,请求授权认证。
⑤支付网关通过收单银行向持卡人的发卡银行请求进行支付确认。
⑥发卡银行同意支付,将确认信息通过支付网关返回给商家。
⑦商家发送订单确认信息给持卡人,持卡人端软件可记录交易日志,以各将来查询。
⑧商家发送货物或提供服务。
⑨商家向持卡人的发卡银行请求支付,即实现支付获取、完成清算。在处理过程中,通信协议、请求信息的格式、数据类型的定义等,SET都有明确的规定。在操作的每一步,消费者、商家、网关都通过CA来验证通信主体的身份,以确保通信的对方不是冒名顶替[3]。
从上面的交易流程可以看出,SET交易过程十分复杂性,在完成一次SET协议交易过程中,需验证电子证书9次,验证数字签名6次,传递证书7次,进行签名5次,4次对称加密和非对称加密。通常完成一个SET协议交易过程大约要花费1.5-2分钟甚至更长时间。由于各地网络设施良莠不齐,因此,完成一个SET协议的交易过程可能需要耗费更长的时间。但是安全性远远高于SSL协议。
3RSA公开密钥密码算法研究分析
3.1RSA密码加解密算法工作过程
3.2RSA算法的安全性
RSA算法中公开的部分有N,e和公共信道上截获的密文c。若通过这些量能够算出明文或私有密钥则RSA被破译。下面讨论一下可能的方法。
如果模N=pq被分解则不难求出Φ(N)=(p-1)(q-1),由de=1(modΦ(N))就可求出私有密钥d,明文就可以被破译。但因子分解是非常困难的,目前最快的算法时间复杂性为:exp(sqrt(ln(n)lnln(n)))
Rivest,Shamir和Adleman用已知最好的算法估计了分解n的时间与n的位数的关系,在运算速度为每秒百万次的计算机上分解二百位十进制的数需要四亿年。通过仔细选取p,q,e等参数,除去分解N,目前还没有更好的方法破译RSA。但RSA算法并没有被证明其破译问题的难度等价与大整数分解问题。
随着计算机速度的提高以及大数分解算法研究的进步,被破译的RSA的密钥长度不断增加,目前安全的RSA密钥长度应至少大于1024bit。它是第一个能同时用于加密和数字签名的算法,也易于理解和操作。从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,广泛应用于密码应用技术中[4]。
4DES数据加密算法研究分析
DES(DataEncryptionStandard)是目前金融界广泛使用的数据加密标准,是由IBM公司在20世纪70年代中期开发的,由美国国家标准局(NBS)于1977年1月5日正式颁布,用做政府及商业部门的非机密数据的加密标准。DES是一种单钥密码算法,采用分组乘积密码体制,使用多次移位和代替的混合运算编制的密码。DES设计非常巧妙,除了密钥输入顺序之外,其加密和解密的步骤完全相同,这使得在制作DES芯片时,易于做到标准化和通用化。经过许多专家学者的分析论证,证明DES是一种性能良好的数据加密算法,不仅随机性好,线性复杂度高,而且易于实现,因此,DES在国际上得到了广泛的应用。
DES是一种二元数据加密的分组算法,即对64位二进制数据进行分析加密,产生64位密文数据。其中,使用密钥为64位,实际用了56位,另外8位用作奇偶校验。加密的过程是先对64位明文分组进行初始置换,然后分成左、右部分分别经过16次迭代,再进行循环移位与变换,最后进行逆变换得到明文。其加密与解密使用相同的密钥,因而属于对称密码体制。
4.1DES密码加解密算法工作过程
DES算法的入口参数有3个:Key,,Data和Mode。其中key为8个字节共64位,是DES算法的工作密钥。Data也为8个字节64为,是要被加密或解密的数据。Mode为DES的工作方式由两种:加密或解密。
如Mode为加密,则用key把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;
若Mode为解密,则用key把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果
算法实现步骤如图1DES算法流程图,
实现加密需要3个步骤。
第一步:变换明文。对给定的64位的明文x.,首先通过一个置换IP表来重新排列x.,从而构造出64位的x0,x0=IP(x)=L0R0,其中L0表示x0的前32位,R0表示x0的后32位。
第二步:按照规则迭代。规则为:
Li=Ri-1
Ri=Li⊕f(Ri-1,Ki) (i=1,2,3,…,16)
经过第1步变换已经得到L0和R0的值,其中符号⊕表示数学运算“异或”,f表示一种置换,由s盒置换构成,Ki是一些由密钥编排函数产生的比特块。F和Ki将在后面介绍。
第三步:对L16R16利用IP-1作逆置换,就得到了密文y0加密过程。
4.2DES的安全性
在DES成为标准的10来年时间里,其安全性是很高的。但随着Internet的飞速发展,随着计算机计算能力的显著提高,加之DES只采用了64位的密钥,因而国际上在DES的破译方面已取得了突破性的进展。
为了增加DES安全性,可以利用的方法就是加长密钥的长度,采用多重DES加密技术,将分组密码进行级联,在三组不同的密钥作用下,连续多次对一组明文进行加密。针对之前DES算法产生的问题,国际标准上采用3重DES加密算法。3重DES方法需要执行3次常规的DES加密步骤,但最常用的3重DES算法中仅仅用两个56位DES密钥。通过多次的加密,增加了DES密码的安全性,解决了因为密钥的长度安全性低的问题。
5SET协议中RSA与DES组合加密技术
结合以上对RSA于DES的算法分析以及安全性的比较,两者的算法各有其各自的优缺点,没有任何一种密码技术是绝对完美的,那么在SET协议中,根据电子支付的安全性要求,在数据传输中,数据本身大多数采用DES加密技术,原因是加密速度快,算法容易实现,可以满足电子商务中对数据时效的要求,但是由于本身是对称机密体制,密钥的安全存在隐患,所以在密钥的安全加密上,采用RSA技术,RSA属于非对称加密机制,在网络中便于密钥的传输与管理,便于数字签名,而且保证了数据的不可抵赖性[5]。
在电子支付安全系统中,SET协议的安全性较SSL高,SET协议在整个电子商务交易中,包括客户到商家、商家到支付网关再到银行都受到严密的保护。采用RSA和DES会有效地为其安全性增加了砝码,当然,密码技术在不断改进,新的安全威胁不断产生,SET协议的安全机制会随着网络威胁以及密码技术的改进而进行升级,例如采用嵌套加密技术的方案,无论是什么安全方案,都是在现有的RSA和DES算法基础之上构建接口,总之,只有深入研究SET协议中的安全算法,才能不断该进协议的安全性,进而保障电子商务的支付安全。
参考文献:
[1]孙晓霞,吴亚明.非对称RSA算法用于数据加密的相关技术探讨[J].通化师范学院学报,2007(2):20-22.
[2]林德敬,林柏钢.三大密码体制:对称密码、公钥密码和量子密码的理论与技术[J].电讯技术,2003(3):6-12.
[3]冯登国.国内外密码学研究现状及发展趋势[J].通信学报,2002,23(5):18-26.
[4]王雪莉,高玉良.RSA公钥密码体制及其在SET协议中的应用[J].信息安全与通信保密,2007(8):23-27.
[5]梁雪梅,盛红岩,周熙.RSA算法体制研究[J].计算机安全,2006(12):26-28.