摘要:本文通过对安全电子交易协议进行分析,针对SET协议在电子商务应用中存在的一些问题,提出了几种改进方案。通过对SET协议的改进,增强了其使用性,提高了安全性,使其更加有利于在电子商务中的应用和推广。关键词:SET协议、电子商务安全、改进方案目录1、安全电子交易协议.................................................31.1安全电子交易协议简介.......................................31.2SET交易的商务模型和支付流程................................41.3SET协议的安全技术..........................................52、SET协议的改进方案...............................................62.1改进支付模型...............................................62.2简化身份认证过程...........................................72.3改进加密方式及加密算法.....................................82.4对软件进行改进,减少其复杂性...............................82.5改进后SET协议分析.........................................93、结束语...........................................................9参考文献...........................................................10引言随着网络技术的不断发展与应用,电子商务日渐盛行,越来越多的交易开始在网上进行,而确保实现网上的安全支付既是电子商务的核心问题,也是电子商务得以顺利发展的基础和保障。为了将电子支付的相关参与方与先进的安全技术相结合,安全有序、顺利快捷地完成网络支付的整个流程,则需要一个协议来规范各方的行为与各种技术的运用。这个协议就是安全的网上交易协议,目前使用较为广泛的为SET协议。安全的电子交易协议,可以保证交易通过电子数据存储和传递的形式,在计算机网络系统上实现资金的流通和安全支付,同时具有保护传输数据的机密性、完整性、不可抵赖等多项功能。1、安全电子交易协议为了保证电子商务的安全性,引进了许多网络安全方面的技术,比如加密技术、认证技术、数字签名、消息摘要等,同时也制定了电子商务的安全交易标准,主要有SSL协议和SET协议。1.1安全电子交易协议简介1997年5月,SET(SecureElectronicTransaction安全电子交易)协议由VISA和MasterCard两大信用卡公司联合推出,得到了Internet支付产业许多重要组织的支持。SET技术的实质是一种以信用卡为基础的电子支付系统规范,SET协议主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份以及可操作性。SET规范使用了公开密钥体系对通信双方进行认证,利用DES、RC4或其它标准对称加密方法进行信息的加密传输,并利用Hash算法鉴别消息的真伪,以维护在开放网络上金融资料的安全性。SET妥善地解决了信用卡在电子商务交易中的交易协议、信息保密、资料完整以及身份认证等问题。目前,SET协议已获得IETF标准认可,是电子商务的发展方向。1.2SET交易的商务模型和支付流程SET协议交易的商务模型如图1所示,其中持卡人在发卡行开设有账户,商家在收单行开设有账户。持卡人和商家之间的通讯是在Internet上进行的,在交易过程中的每一步均需要认证中心CA来进行身份认证以保证交易双方是合法主体。发卡行和收单行均属于金融机构,它们之间通过金-融专网进行安全通讯,通过支付网关同Internet连接。[1]图1安全电子交易商务模型SET协议的交易流程与实际购物流程非常接近,但所有的操作都是通过网络完成的,整个流程如图2所示,左边线框内的交易在Internet上进行,右边线框内的交易在金融专网上进行。从图中可以看出,一项SET交易需要持卡人、商家、CA、支付网关、发卡行和收单行共同参与,而且持卡人、商家和支付网关之间的每次交易都需要经过CA认证,支付网关处理商家的每次交易,持卡人并不直接参与和支付网关的对话。从持卡人发出购买请求到收到货物,整个过程分为:持卡人注册、商家注册、购买请求、付款授权和付款结算等几个阶段。图2SET协议交易流程图1.3SET协议的安全技术SET协议的安全核心技术主要有公开密钥加密、数字签名、数字信封、消息摘要和数字证书等,主要应用于BtoC模式中保障支付信息的安全性。在SET协议中,采用DES,RSA加密算法实现对数据加密,采用SHA-1和RSA算法实现数字签名,采用数字证书、数字签名和双重签名等技术实现身份认证。在SET协议下的一个电子购物结算交易中,SET使用非对称加密算法RSA算法来完成数字签名和数字信封,使用DES算法作为SET协议的对称加密算法,用于保护敏感的金融数据,使用安全哈希算法SHA-1来生成消息摘要。下面将相关的安全技术作一个简单介绍。1、数字信封所谓数字信封就是发送端用接收端的公钥PK将一个对称加密密钥加密后传送过去。接收端只有用自己的私钥解密,才能得到对称密钥,再用它来解密正文消息。2、数字证书的发放在SET协议中,任何一个信任CA的通信方,都可以通过验证对方数字证书上的CA数字签名来建立起与对方的信任关系,并且获得对方的公钥。根据SET标准,对证书使用分层结构进行管理,SET定义了一套完备的证书信任链,每个证书连接一个实体的数字签名证书,沿着信任树可以到达信任机构,用户可以确认证书的有效性,对于所有使用SET的实体来说,只有唯一的根CA。持卡人证书、商家证书和支付网关证书分别由持卡人认证中心(CCA)、商家认证中心(MCA)和支付网关中心(PCA)颁发,而CCA证书、MCA证书和PCA证书由品牌认证中心(BCA)或区域性认证中心(GCA)颁发,BCA的证书由根认证中心(RCA)颁发。3、数据摘要算法MD5MD5被称为迭代型杂凑算法或消息摘要算法,其作用是从任意长度的消息中计算产生出固定长度为128bit的超短消息,称为消息摘要,对如此短的消息使用个人私钥进行加密称为数字签名,非常节省时间。特别是该消息摘要是唯一的,即对原消息的任何修改将得到不同的另一个消息摘要,因此摘要算法可以防止对消息的篡改。[2]4、DES和3DESDES(DataEncryptionStandard)是一种典型的分组加密对称密钥算法,其加、解密密钥相同。DES利用56比特长的密钥来加密长度为64位的明文,得到长度为64位的密文。3DES称为三重DES,是使用三个56位的对称密钥(其中两个允许相同)对DES加密算法重叠使用,以增强抗解密攻击的能力。5、RSA公钥算法公开密钥算法即非对称算法,是70年代末,由美国斯坦福大学几位学者发明的,以他们的名字(Ri—vest、Shamir、Adelman)命名为RSA密码算法。在电子商务中,RSA主要是用于数字签名、数字信封等对较短信息的操作。RSA算法有一个公钥和一个私钥,其中私钥保密由个人所有,公钥可以公开。RSA的私钥和公钥各有用途。可用对方的公钥对信息加密上网传送,对方收到信息后以自己的私钥解密。若发送方用自己的私钥加密信息,称为签名,接收方用发送方的公钥解密,称为验证。签名验证的目的是为了防伪造、欺诈以及保证交易往来信息的不可抵赖性。2、SET协议的改进方案SET协议很好地满足了消费者、商家和银行的需求,已经成为电子商务中在线支付的一种主要模型。但其本身也有许多不足,比如整个交易的流程太复杂,参加认证的实体太多,给程序的设计带来了很大不便;SET的加密算法复杂度较大,且在交易时要反复传递数字证书,从而使交易时间较长;另外SET还存在着其它方面的一些安全隐患,其安全性己经受到严重挑战。针对SET协议存在的一些问题,我们提出以下几种改进方案。2.1改进支付模型针对SET协议不能保证数字化商品在网络传送过程中的安全性这一缺陷,在交易流程中对原来的交易模型进行改进,建立一个电子交易中心(ECT)。SET协议在增加了电子交易中心这个实体后,交易的流程有所不同,主要有以下步骤:1、持卡人向在线商家发送初始购买请求;2、商家响应请求,并发送证书;3、持卡人对欲购商品的价格等无异议,生成订单消息,并将订单消息和持卡人证书发给商家;4、商家收到订单消息后首先通过证书链校验持卡人证书,接着使用持卡人公钥解密,确保订单为持卡人所发。商家随机生成对称密钥,对数字商品加密,同时商家根据订单信息生成付款要求并进行数字签名。商家将加密后的数字商品和付款要求发给持卡人,并将密钥和商家的证书发给电子交易中心;5、持卡人收到消息后,用商家证书公钥解密,确认为商家所发。持卡人按付款的要求生成支付指令并签名和加密,加密后连同持卡人证书一起发给电子交易中心;6、电子交易中心验证持卡人的证书,再用自己的私钥解密,并用持卡人公钥解密,得到支付指令,确认其为持卡人所发。电子交易中心验证商家的证书,确认后生成支付授权请求。通过金融专网将授权请求传给发卡行,发卡行核实持卡人的支付能力后,将应付款项划入一个临时的信用账户中,等待进一步处理,并通知收单行款项已扣除;收单行得到发卡行的承诺后产生授权响应并送至电子交易中心;7、电子交易中心将资金已划拨消息告知商家。商家通过自己的收单行查询信用账户中货款是否到账,并向电子交易中心发送确认信息;8、电子交易中心收到商家确认信息后,将商家事先发送的对称密钥为先用自己的私钥签名,再用持卡人的公钥加密后转发给持卡人;9、持卡人验证商品是否为自己需要的商品,若一致,则向电子交易中心发送确认支付信息,由电子交易中心将信用账户中的资金划入商家的收单行账户;若不一致,则电子交易中心将信用账户中的资金冻结,等待进一步处理,如果商家继续不提供所要的商品,则支付中心将所发生的费用划回持卡人帐户。2.2简化身份认证过程简化身份认证可采取以下几种方法:1、生成身份令牌在SET交易过程中,为了鉴别对方身份,持卡人、商家和支付网关相互间要多次重复传递并验证证书,这占据了大量交易时间。可在通信双方已经相互认证后,由双方协商产生一个双方认可的身份令牌,身份令牌在后面的交易过程中充当临时数字证书,从而减少了对数字证书的传递与验证次数。同时,可规定一个身份令牌的有效期,当超过有效期以后,身份令牌失效,需要重新通过数字证书来验证身份,这样就增强了身份令牌的可靠性。通过采用上述力法,能够减少50%以上的证书传递与验证过程,从而简化了身份认证过程,提高了执行效率。2、本地缓存证书在第一次验证地区CA的数字证书后,可以将这个证书缓存起来,以后的传递验证CA证书就直接和本地缓存中的比较,从而大大缩短了验证证书的时间。由于一次交易的时间相对于证书作废的时间要短,所以安全性一般不会降低。3、取消CA机构在SET中,持卡人、商家和支付网关的身份都是由CA机构进行验证的。而前面已经提及证书的传递和验证花费了大量时间,因此我们可以考虑用另外的方式进行身份验证。这里我们提出取消原有的CA机构.各参与者之间不再通过传递证书来验证身份,而是要求持卡人、商家和支付网关均建立自己的公钥信息,采用由发卡行和收单行对数字签名进行认证的方式来进行身份验证,其中要求将持卡人的公钥信息存放在发卡行的账户信息中,商家的公钥信息存放在收单行的账户信息中。这种方式由于无须大量地传递证书,交易效率得到了极大地提高。2.3改进加密方式及加密算法1、变换加密密钥长度在SET交易过程中,需要进行多次加密解密,在整个交易时间中占了很大比例。可以考虑根据交易