SET 安全电子交易协议:保障电子商务支付安全的关键

2024-07-01
来源:网络整理

基于互联网的电子商务以其传统商业模式无法比拟的优势在当今世界蓬勃发展。电子商务发展中的关键问题是交易的安全,即互联网上的信息安全,即网上电子支付的安全实施。SET安全电子交易协议是1997年5月由Visa公司和美国运通公司联合开发的,是一种可以保证互联网网上交易过程中电子支付安全的开放协议。该协议一般服务于刷卡消费、网上购物等电子商务类型。在我国,中国银行、招商银行、建设银行、工商银行等均开通了网上银行服务,电子支付系统已能实现B to C、B to B、G to C的网上电子支付。中国银行的“长城电子借记卡”和“长城国际信用卡”就采用的是SET协议。

本文基于SET协议的电子商务支付流程,分析了网上电子支付系统的三大模块(即购物平台模块、网关支付模块、CA模块),同时阐述了如何利用数字证书、双重签名及数字签名技术来实现系统在电子商务中的应用。

1 SET协议的电子支付流程

目前电子商务的运作过程一般涉及五个直接相关的实体:客户S、商家A、CA认证中心、支付网关P、银行B,其体系结构如图1所示。

总体来说,基于SET协议的电商支付流程如下:

(1)客户S登录网上银行系统注册并开立账户;

(2)S向CA申请数字证书,并保存到存储介质中;

(3)S进入网站,浏览并选择需要购买的商品,输入用户名和密码,上传客户数字证书并下载商户数字证书,然后提交给CA进行验证。验证成功后,将商品放入购物车,系统自动计算价格;

(4)S填写送货信息,在收银台付款,系统生成订单信息OI;

(5)支付前,S将自己的数字证书上传给商户A,经支付网关P验证,支付网关P下载A、P的数字证书进行验证;

(6)当双方验证通过后,A向P发送支付指令,要求P办理转账手续;

(7)P收到付款指令后,连接S与A的银行账户,进行转账,A将货物交付给S,付款完成;

(8)保存订单以供日后查询并完成购物及付款。

可以看出,基于SET协议的电子商务支付流程是:客户S的付款经过支付网关P,然后到银行B,最后到商家A,因此有一套严格的安全措施来保证交易的安全。

2 电子支付系统功能分析

从实用角度看,安全的电子支付系统应具备以下功能:

(1)使用数字签名和数字证书对交易各方进行身份认证。交易双方在进行交易之前,必须进行身份认证,并从CA机构获取数字证书,以验证双方身份的合法性。只有通过身份认证的各方才能进行正常的网上交易。

(2)使用加密技术对服务进行加密。采用基于椭圆曲线的密码体制实现SET协议中公钥的加密和解密。使用双签名来增强数据传输的保密性。

(3)使用消息摘要算法和哈希函数来确认数据服务的完整性。 如果发现收到的消息不完整,则要求发送者重新发送以确保其完整性。

(4)当交易双方发生纠纷时,必须保证业务的不可否认性。

(5)使用双重签名处理贸易业务中的多边支付问题。订单信息OI必须与支付指令相衔接,因为商户S确认支付指令后才会继续交易,而银行B也必须确认,无法读取商户S的订单信息OI。这种相互隔离可以通过双重签名来实现。

3 模块分析

为了实现上述功能,按照SET协议的电子商务支付流程,可以将网上电子支付系统划分为三个模块,分别是购物平台模块、支付网关模块和CA模块,图2为整个系统的模块图。

3.1 购物平台模块

该模块主要负责客户S浏览商家S的商品目录、购物、在平台上生成订单,并配合支付网关模块、CA模块完成支付流程。

电子支付系统及内容_电子支付系统的功能_电子支付系统功能包括

通过使用该模块和双重签名,可以保证在交易过程中,商户不知道客户的账户信息、银行不知道客户的购买信息,并生成订单和支付信息。实现过程如下:

(1)客户S拥有包含其账号及其他支付信息的PI,选择商品后,系统生成订单信息OI;

(2)客户端S利用哈希函数分别生成PI和OI的消息摘要H(PI)和H(OI),然后生成支付订单摘要,并用自己的私钥KSc对其进行签名,得到双签名DS=Eksc[H(H(PI)‖H(OI))];

(3)客户S用商户A的公钥AEPU加密(OI,H(PI),DS),得到密文C1。然后,客户S用银行B的公钥BEPU加密(PI,H(OI),DS),得到密文C2。这样,(C1,C2)就是双签名消息。之后,客户S将(C1,C2)发送给商户A;

(4)商户A收到(C1,C2),用私钥解密得到OI,H(PI),DS。再用从客户端证书中获取的客户端S的公钥KUc进行计算。若H(H(PI)‖H(OI)与DKUC(DS)相等,则商户A确认这是客户端S的签名。

(5)商户A将C2发送给银行B,银行B使用自己的私钥BEPV解密C2得到PI、H(OI)、DS,再利用客户S的公钥KUC计算出H(H(PI)‖H(OI))、DKUc(DS),若二者相等,则银行B判定为客户S的签名。

3.2 支付网关模块

支付网关模块主要负责客户|商户注册、客户|商户账户业务变更管理(转账、挂失)以及客户|商户账户业务查询(余额、账单查询)等,支付网关模块主要工作流程如图3所示。

图3中,支付网关验证完客户S和商户A的数字证书后,就可以接受支付指令,并连接银行B进行转账处理。

3.3 CA模块

CA模块是本系统中最基础、最重要的模块,主要负责客户S和商户A的数字证书的申请、管理和验证。该模块利用数字签名技术实现了CA认证系统的设计,在设计过程中,可以利用基于椭圆曲线的密码体制来实现这一过程。

在实现时,CA可以先选取椭圆曲线E(Fq),并以G作为公共基点,n为G的阶,则实现方法如下:

(1)客户S申请数字证书

客户端S将其ID和公钥KUc发送给CA。

CA选择一个随机数k∈[1,n-1]。

千克=(x,y)

r=,e=H(ID+KUc),私钥KSc。

S=k-1(e+rKSc)modn。

然后CA生成签名(r,s),颁发给S的数字证书为CAs=(ID,KUc,(r,s))。

(2)客户S和商家A进行交易时,S将自己的证书CA发送给A,A通过CA对证书CA进行验证。

如果v=r,则签名有效。

当客户S与商家A进行交易时,信息必须经过数字签名后传输,以保证信息的完整性和不可否认性。

以上三个模块既独立又相互联系,每个模块都有各自的工作流程,但又调用其他模块的一些功能,从而实现了软件的高内聚性和低耦合性。

4。结论

本文将基于SET协议的电子支付系统划分为三个模块,分别为购物平台模块、网关支付模块和CA模块,然后根据模块间的相互独立性和相关性,在现实中很好的实现了软件的高内聚性和低耦合性。同时通过模块分析,更好的了解了SET协议的优缺点,为进一步设计更加安全高效的解决方案提供了参考,具有一定的实用价值。

分享