(五)网络支付业务技术与实现手段
1. 网络支付安全方案设计 1.1. 电子支付采用的安全技术
国际上,为了适应电子商务的发展已经出现了多种技术协议,比较流行和成熟的有
SET 和 SSL。
1.2. 安全电子交易规范 SET
SET 是在开放网络环境中的卡支付安全协议,它采用公钥密码体制(PKI)和 X。509
电子证书标准,通过相应的软件,电子证书,数字签名和加密技术能在电子交易环节上提
供更大的信任度,更完整的交易信息,更高的安全性和更少受欺诈的可能性,SET 协议主
要用以支持 B to C(Business to Consumer)类型的电子商务模式。
1.3. 安全套接字层协议 SSL
SSL 是界于传输层协议 TCP 和应用层协议 HTTP 之间的协议,在 Internet 上服务器与客
户间架设安全通道,用以提供以下三种服务:
(1)利用电子证书进行身份认证实现客户与服务器之间互相确认。 (2)通过对消息加密确保消息传送的可靠性。 (3)消息的完整性。
由于现在的主流的 Web 服务器与浏览器都支持 SSL,用户操作非常容易,只需要在浏览器的 URL 栏中输入 https ://代替 http: //就发起 SSL 连接请求,通过握手序列(HandshareSequence)以建立 SSL 会话,握手过程中验证机器的身
份,确定加密方法和建立和共享会话密钥。
“SSL 握手协议”用以建立 Client 和 Server 间的“SSL 会话”, SSL 加密算法规则协议”,
以选定 SSL 会话的加密算法组合,“SSL 警告协议”以传输 Client 和 Server 间的报错信息,
这些协议和 HTTP 所传送的数据都被”SSL 记录协议”像数据一样看待,“SSL 记录协议”
用来在 Client 和 Server 间传输应用信息和 SSL 控制信息,执行对数据的分段/组合,压缩,
附加文摘签名,加密等处理,然后再被低层的 TCP 层发送。
1.4. 平台与工具
整个电子支付过程的安全保障中,身份认证是最核心的环节,而身份认证的基础就是证
书的发放和管理问题。所以身份认证既是一个技术问题,更是一个责任问题,SET 虽然提出
一套很严密的认证体系,但实施起来太复杂,成本很大,因此考察现在我国的网上银行现状,
基本都是采用独立认证的形式。虽然独立认证的形式限制了统一标准的确立,但就目前而言,
不能说不是一个比较现实的解决方案。
根据以上分析,以银行为身份认证核心的电子支付模型比较符合我国国情,在目前我国
缺乏得到广泛认可的权威的商务认证中心的前提下,银行在交易过程的安全保障应该扮演更
积极的角色,银行同时充当认证角色能比较符合各方利益。应该比 SET 更能满足我国电子
商务发展的要求,而为了保证与 SET 的兼容只要通过银行间实现交叉认证或银
行作为认证
代理就可以实现了。
开发一个满足安全业务需要的支付系统是一个艰巨的过程,,而时间的要求也决定了系
统的开发不能从最底层的代码开始,选用一个合适的开发平台非常关键,Java 不但可以保证
技术的开放性和标准性,且提供了一个完整的安全体系结构,非常满足开发安全支付工具的 要求。
2. 网络支付技术方案设计 2.1. 支付体系的构成
支付系统是由消费者、商户和银行三方组成。
2.2. 支付业务流程
电子支付流程
1) 消费者通过 Internet 访问商户,决定购买某种商品或服务。
2) 商户返回付款要求,具体可以通过引导页面使消费者访问银行支付服务器的主页。
3) 消费者通过访问银行的支付网页向银行提交支付请求。 4) 银行提示消费者确认支付,并要求对支付签名。 5) 消费者确认支付请求,并对支付交易签名
6) 银行或认证中心对消费者的支付交易的合法性进行校验,主要是验证用户对交易的 签名。
7) 交易通过验证则银行执行对付款方帐户的扣减。 8) 银行执行资金转帐,实现支付。
9) 银行通知商户已经支付。
2.3. 支付过程信息构成
其中的顾客信息/购物信息,商品信息是商户开展网上商业活动必不可少的部分,但不是我们的研究重点,我们的研究主要侧重在支付过程的实现,下面是对支付过程信息的理解。
支付请求信息由两部分组成:
2.3.1.第一部分由商户发出
商户号:商户号是商户在银行的唯一标识,由银行指定。
交易序列号:交易序列号是支付交易的唯一标识,由商户生成,并保证其唯一性。 交易金额:交易金额来自顾客的 日期:当天日期
交易数字签名:商户用私钥对商户号,交易序列号,日期和交易金额等进行数字签名,供银行进行身份认证。并且保证了商户支付请求的不可否认性。
2.3.2.第二部分由顾客提供
主要是顾客在银行开立的支付帐户的帐号和帐户密码两部分组合在一起作为完整的支付请求信息发送给银行。
银行对支付请求信息做检查,检查内容主要是帐号,商户号是否正确,支付帐户密码是否正确,并验证商户的签名,检查的作用主要防止对商户和顾客的冒认,银行对信息确认正确后向顾客发送对支付的签名请求信息。
签名请求的信息组成应该能给用户的签名以清晰的提示,包括以下内容: 商户名称,用户名称,帐号,金额,交易序列号,银行对帐号的数字签名。
支付签名信息是顾客对签名请求的进行确认,包括对帐号和交易序列号用的私钥签名,对密码也用的私钥签名。支付交易结果主要由交易序列号,交易结果以及银行对交易序列号和结果的数字签名组成。
2.4. 网络模型
由于认证服务集成到银行内部,所以不需要直接暴露到 Internet 上,既体现了银行在电子
支付过程中对信息安全所负的特殊责任,也客观对客户信息起评比作用,在认证过程中加上交
易授权的接口,可以实现银行专职人员对电子支付的实时监控,以及对大额交易的人工界入,
可以有效降低金融风险.
2.5. 方案的软件实现:
本方案的软件设计主要按付款人端,收款人端,银行端三部分实现。
2.5.1.付款人端
付款人(消费者)端:付款人端需要配置标准的浏览器软件,如 IE 或 Netscape,需要支持 Java 和 SSL。
电子签名客户端用 Java 开发, 电子签名客户端包括下面的功能: 1) 密钥信息读取:私钥作为私人信息保存在软盘,程序读出私人密钥
2) 认证银行 Web 服务器:为了保证电子支付过程的连贯,需要电子签名客户端监听银行
发来的签名请求,为了防止信息的假冒,确保签名请求是银行的服务器发来是很重要的
3) 给出清晰的签名提示界面,提示用户实施签名.得到消费者确认后对支付请求消息实施签名
4) 保存签名记录以备事后查询.