安全电子事务规范

1.简介

安全电子事务规范(Secure Electronic Transaction,SET)是开放的加密与安全规范,用于保护Internet上的信用卡事务。SET是个非常复杂的的规范。SET不是个人付款系统,而是一组安全协议和格式,使用户可以安全地在Internet上采用现有信用卡付款基础结构。SET服务可以总结如下:
1.在参与电子商务事务的各方之间提供安全的通信通道。
2.用数字证书提供验证。
3.保证保密性,因为只对参与事务的各方提供消息,只在需要时对其提供消息。

2.SET参与者

介绍SET之前,下面总结一下SET系统中的参与者:
1.持卡人:消费者与公司购买者通过Internet与商家交互,购买商品和服务。持卡人是付款卡的合法持有者,这些卡是由签发人签发的。
2.商家:商家是向持卡人销售商品和服务的个人或组织。商家与收款人建立关系,从Internet上收款。
3.签发人:签发人是银行之类的财务机构,向持卡人提供付款卡。最关键的是签发人要最终负责为持卡人付款。
4.收款人:收款人是个财务机构,与商家建立关系,处理付款卡授权与付款业务,收款人还向商家账户提供电子转账,后面签发人用某个付款网络与收款人结账。
5.付款网关:这个任务可以由收款人承担,也可以由专门组织承担。付款网关为商家处理付款消息。
6.证书机构:证书机构向持卡人、商家和付款网关提供公钥证书,事实上,CA对SET的成功至关重要。

3.SET过程

下面先看看简化的SET的过程:
1.客户开设账号:客户在支持付款机制与SET协议的银行(签发人)开一个信用卡账户
2.客户接收证书:验证客户身份后,客户接收CA发来的证书,这个证书还包括客户的公钥和有效期等细节。
3.商家接收证书:商家要接收某个品牌的信用卡,就要拥有数字证书。
4.客户下订单:这是典型的购物推车过程,客户浏览货物清单,搜索特定货物,选择其中一项或几项,并下订单。商家将这些货物的细节返回客户,以便记录。
5.验证商家:商家也把数字证书发给客户,向客户保证其为有效商家。
6.发送订单与付款细节:客户向商家发送订单与付款细节和客户的数字证书。订单利用订单表单中的项目确认购物事务,付款包含信用卡细节。但是,付款信息是加密的,商家无法阅读。客户证书向商家保证客户身份。
7.商家请求付款授权:商家将客户发来的付款细节发给付款网关,请求付款网关授权付款。
8.付款网关授权付款:付款网关利用刚从商家收到的信用卡信息,在签发人帮助下验证客户的信用卡细节,授权或拒绝付款。
9.商家确认订单:如果付款网关授权付款,则商家向客户发送订单确认。
10.商家提供商品或服务:商家按客户订单要求商家提供商品或服务。
11.商家请求付款:付款网关从商家那里收到付款请求。付款网关与各个财务机构交互,执行从客户账号向商家账号付款工作。

4.SET如何达到目的

联机付款机制的主要问题是客户要向商家发送信用卡细节。这里有两个方面:一个是信用卡号以明文形式传递,使侵入者有机会知道信用卡号,可以用于不良用途(例如,用这个信用卡号付款);第二个问题是商家得到信用卡号后,可能滥用。
第一个问题通常用SSL解决。由于SSL中的所有信息交换都是以加密形式进行的,因此攻击者无法理解,即使窃听到客户机与服务器在Internet上的会话,也无法达到自己的目的。但是,SSL无法达到第二个目标,即防止商家了解信用卡号。这里SET非常重要,因为它可以对商家隐藏信用卡细节。SET对商家隐藏信用卡细节的方法是利用数字信封的概念,采用下列步骤:
1.SET软件在持卡人计算机上准备PI(付款信息),主要包含持卡人的信用卡细节,和任何Web付款系统中一样。
2.SET的特别之处是持卡人的计算机生成一次性会话密钥。
3.持卡人的计算机利用这个一次性会话密钥加密付款信息。
4.然后持卡人的计算机用付款网关的公钥加密一次性会话密钥,构成数字信封。
5.然后将第3步加密的付款信息和数字信封发送给商家,商家再将其交给付款网关。
注意,下面几点很重要。商家只能访问加密的付款信息,因此无法阅读。如果要能够访问,则要知道加密付款信息所用的一次性会话密钥。但一次性会话密钥是用付款网关的公钥加密的,形成数字信封。要打开数字信封,只能使用付款网关的私钥,然后才能得到原先的一次性会话密钥。私钥的思路就是将其保密,因此,只有付款网关知道其私钥,而商家不知道,不能打开信封和取得一次性会话密钥,因此不能解密原先的付款信息。

5.SET技术内幕

下面看看SET支持的主要事务,即购物请求、付款授权和付款捕获。
5.1 购物请求
开始购物请求事务之前,持卡人要浏览、选择和订购商品,在这个阶段结束时,商家通过Web向客户发送一个填好的订单表单。这些步骤不用SET,SET是在购物请求开始时才起作用的。购物请求交换四个信息:启动请求、启动响应、购物请求、购物响应。
第一步:启动请求
要向商家发送SET消息,持卡人就要有商家和付款网关的数字证书,这里涉及三个机构:签发信用卡的机构、证书机构和付款网关,付款网关也可以同时是收款人。有时财务机构把付款网关功能委托给第三方,因此可以使用不同模型。持卡人用启动请求信息请求商家的证书,并在这个信息中将信用卡公司名和持卡人为这个交互过程生成的ID发给商家。
第二步:启动响应
商家产生响应并用私钥签名,响应包括这个事务的事务ID(由商家生成)、商家的数字证书和付款网关的数字证书,这个消息称为启动响应。
第三步:购物请求
持卡人用相应CA签名验证商家的数字证书和付款网关的数字证书,然后生成订单信息(OI)和付款信息(PI),将商家生成的事务ID加进OI与PI中,OI不包括项目号和价格之类的订单细节,而是参照购物请求阶段之前客户与商家间的购物阶段,即使用商家数据库中保存的购物推车,找出其订单号、事务日期和卡类型等信息。PI的细节包括信用卡信息、购买量、订单描述等。这时持卡人准备购买请求,为此要生成一次性对称密钥(假设为K)。购物请求消息包括下列内容:
1.购买相关信息:主要供付款网关使用。其中包含PI、对PI与OI求出的数字签名和OIMD(OI消息摘要),是持卡人对OI求出的消息摘要。所有这些消息用K加密。最后,用付款网关的公钥加密K,生成数字信封。数字信封表示要先解密之后才能访问其他PI信息。K的值不提供给商家,因此商家无法阅读任何付款相关信息,而要将其转发给付款网关。
2.订单相关信息:商家需要这个信息,包括OI、对PI与OI求出的数字签名和PIMD(PI消息摘要),是持卡人对PI求出的消息摘要。商家需要PIMD,验证对PI与OI求出的数字签名。
3.持卡人证书:包含持卡人的公钥,商家和付款网关需要。
这个过程是双向签名,保证商家与付款网关收到他们需要的信息,而持卡人也可以对商家隐藏信用卡细节。这个如下图所示:
在这里插入图片描述
下面简要介绍这个过程:
1.持卡人对PI进行消息摘要或散列(H)得到PIMD。持卡人还对OI散列得到OIMD。然后持卡人组合PIMD与OIMD,一起散列,得到POMD。然后用其私钥加密POMD,生成双向签名,POMD向商家和付款网关提供。
2.持卡人向商家发送OI、DS与PIMD,注意商家不能获得PI。利用这些信息,商家验证订单是来自该持卡人,而不是某个伪装人。为此商家,商家进行如下图所示的操作:
在这里插入图片描述
3.付款网关得到PI、DS与OIMD。注意付款网关不能取得OI。付款网关可以用这些信息验证POMD,验证付款信息来自该持卡人,而不是某个伪装人。为此,付款网关进行如下图的操作:
在这里插入图片描述
持卡人要对商家保护付款信息,持卡人需要完成下列步骤:
1.持卡人生成PI、DS和OIMD并用一次性会话密钥K一起加密。
2.然后持卡人用付款网关的公钥加密一次性会话密钥K。
3.两者形成数字信封。
4.持卡人将数字信封发给商家,让其转发给付款网关。由于商家没有付款网关的私钥,因此无法解密信封和取得付款细节。
第四步:购物响应
商家收到购物请求后,完成如下工作:
1.用CA签名验证持卡人的证书。
2.用持卡人的公钥(在持卡人的证书中)验证PI与OI生成的签名,保证订单没有中途被篡改,是用持卡人的私钥签名的。
3.处理订单和把付款信息(PI)转发给付款网关批准。
4.将购物响应返回给持卡人。
购物响应包括订单和引用响应事务号的消息。商家用私钥签名消息,消息及其签名随商家的数字证书一起发给持卡人。持卡人软件收到购物响应信息时,验证商家的证书,然后采用某些动作,如用户显示信息。
5.2 付款授权
这个过程保证信用卡签发人批准事务。付款授权发生在商家将付款细节发给付款网关时,付款网关验证这些细节并批准付款。因此,商家可以按订单内容向持卡人提供商品或服务。付款授权交换两个消息:授权请求和授权响应。
第一步:授权请求
商家向付款网关发一个授权请求,包括下列步骤:
1.购物相关信息:这个消息是商家从持卡人那里取得的。
2.授权相关信息:这个信息是商家生成的,包括事务ID,用商家的私钥签名,用商家和数字信封生成的一次性会话密钥加密。
3.证书:商家还发送持卡人的数字证书,用于验证持卡人的数字签名;发送商家的数字证书,用于验证商家的数字签名。
付款网关完成下列任务:
1.验证所有证书。
2.解密数字信封,取得一次性会话密钥,并用其解密授权块。
3.验证商家在授权信息上的签名。
4.对从持卡人收到的付款信息(PI)执行第二步和第三步。
5.匹配从商家收到的事务ID与从持卡人的PI收到的事务。
6.请求和接收信用卡签发人的授权,即持卡人银行,以便从持卡人向商家付款。
第二步:授权响应
取得签发人的授权后,付款网关向商家返回授权响应消息。这个消息包括如下内容:
1.授权相关信息:包括授权块,用付款网关的私钥签名,用网关产生的一次性会话密钥加密,还包括一个数字信封,它包括用商家公钥加密的一次性对称密钥。
2.捕获令牌信息:这个信息使后面可以执行付款业务。这个信息的基本结构与授权相关信息相同,这个令牌不由商家处理,而是直接返回客户。
3.证书:消息还包括付款网关的数字证书。
有了付款网关的授权后,商家就可以向持卡人提供商品和服务。
5.3 付款捕获
为了取得付款,商家要与付款网关进行付款捕获事务,其中也包括两个消息:捕获请求与捕获响应。
第一步:捕获请求
商家产生、签名和加密一个捕获请求块,包括付款金额和事务ID。这个消息还包括前面收到的加密捕获令牌、商家的数字证书和数字证书。
付款网关收到捕获请求消息时,解密和验证捕获请求块,并解密和验证捕获令牌,然后检查捕获令牌与捕获请求之间的一致性,然后生成清算请求,通过专用付款网络发送给签发人,这个请求使钱转到商家账户上。
第二步:捕获响应
在这个消息中,付款网关通知商家付款,消息包括捕获响应块,是由网关签发和加密的。消息还包括付款网关的数字证书。商家软件处理这个消息并存放信息,以便从银行收到的款对照。

6.SET结论

SSL与SET都用于安全交换信息,但作用大不相同。SSL主要用于只涉及双方时安全交换信息(客户机和服务器),而SET则专门用于进行电子商务事务。SET涉及的第三方称为付款网关,负责信用卡授权、向商家付款,等等。SSL则不是这样,主要涉及双方加密与解密消息,而不指定如何进行付款,这是靠SET体系结构来保证的。

7.SET模型

SET协议要求参与各方具有有效数字证书和使用数字签名,即三方都要有批准的证书机构签发的有效证书。SET的典型设置如下图所示:
在这里插入图片描述上图显示了典型购物事务的简化SET模型,当然实际事务中涉及的主要三方是客户、商家和付款网关。商家和客户请求响应的证书,这里显示的是不同的证书机构,但商家和客户的证书也可以来自同一个CA。
一般来说,客户的证书由银行或信用卡公司签发,它们向客户发卡,也可以由代表信用卡公司的第三方机构签发。另一方面,财务机构(也称为收款人)向商家签发证书,财务机构可以授权对其信用卡的付款。因此,商家要有不同品牌信用卡的多个证书。这样,客户收到商家证书时,可以保证商家有权接收这种信用卡付款,这相当于商店和餐厅中显示的标牌,显示其可以接收某种信用卡。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZhInen丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值