《10电子交易协议4》由会员分享,可在线阅读,更多相关《10电子交易协议4(48页珍藏版)》请在金锄头文库上搜索。
1、安全电子交易协议(安全电子交易协议(SET) 刘昆刘昆中国矿业大学徐海学院中国矿业大学徐海学院使用信用卡在线交易使用信用卡在线交易n问题: 怎么样保证在开放网络上使用信用卡进行在线购物的安全,以获得消费者的信任n对商家与客户的认证n保密传输n系统可以分为以下几类:n基于公钥加密n基于对称加密n基于消息摘要算法n各参与方都持有私钥n各参与方都持有证书安全电子交易安全电子交易(SET)nVisa和Master Card公司联合研制的安全电子交易协议SET协议,是实现网上信用卡交易的模型和规范。n从概念上,它是通过信用卡的自然延拓,并保留了信用卡交易的所有特点。同时它针对网上交易,制定了确保信息安全
2、的一系列规范和协议。 安全电子交易安全电子交易(SET)n机密性:所有消息都加密 n可信:所有各方都持有数字证书 n隐私:只有在需要时才能获得相应信息SET的主要目标的主要目标nSET是一个基于可信的第三方认证中心的方案,它要实现的主要目标有下列三个方面:(1)保障支付安全(2)确定应用的互通性 (3)达到全球市场的接受性 SET协议保证了电子交易的机密性、数据完整性、身份的合法性和不可否认性。 SET的体系结构的体系结构nSET支付系统的主要参与方有支付系统的主要参与方有:n(1)持卡人(Cardholder) n(2)发卡机构(Card Issuer) n(3)商家(Merchant) n
3、(4)收单银行(Acquiring Bank) n(5)支付网关(Payment Gateway)n(6)品牌(Brand) n(7)认证中心(Certificate Authority,CA) SET支付系统的主要参与方支付系统的主要参与方持卡人商家认证机构认证机构支支付付网网关关发卡行收单行收单行商家:出售商品或服务的个人或机构,通常通过WEB网页或电子邮件进行出售。商家还必须和收单行达成协议,保证可以接受支付卡付款。发卡行:一个金融机构,为持卡人建立一个帐户并发行支付卡,一个发卡行保证对经过授权的交易进行付款。SET的体系结构的体系结构持卡人商家认证机构支付网关发卡行收单行收单行:一个金
4、融机构,为商家建立一个帐户并处理支付卡授权和支付。支付网关:收单行的一个操作设备,用于处理支付卡授权和支付SET的体系结构的体系结构SET 业务需求业务需求n提供支付信息和订购信息的机密性 n确保所有数据传输的完整性n提供身份验证:持卡人是信用卡帐户的合法用户 n提供认证 :商人可以接受通过金融机构的信用卡交易SET 业务需求业务需求n承诺最好的系统设计,为电子商务活动中合法的各方提供最好的安全性保障n建立一个既不依赖任何传输安全机制,又方便使用的协议n为软件与网络提供商之间的互操作提供便捷SET 工作原理SET 工作原理工作原理n客户申请一个发卡机构的帐户 nMasterCard, Visa
5、, etc.n客户收到一个由银行签署的 X.509 v3证书nX.509 V3n商家接受某品牌的卡必须有两个X.509 v3证书 n一个用于签名n一个用于密钥交换n客户将订购信息或想要得到的服务发送给商家。n商家将其证书副本发送给客户,以确认身份。SET 工作原理工作原理n客户将订单信息和支付信息发送给商家 .n商家接受订单量信息后,与支付网关进行通信,请求授权认证 .支付网关通过收单银行向持卡人的发卡银行请求进行支付确认。n发卡银行同意支付,将确认信息通过支付网关返回给商家。n商家发送订单确认信息给持卡人,持卡人端软件可记录交易日志,以备将来查询。n商家发送货物或提供服务。n商家向持卡人的发
6、卡银行请求支付,即实现支付获取、完成清算 SET使用的关键技术使用的关键技术n信息的机密性: DESn数据完整性 : RSA数字签名,SHA-1 n持卡人帐户认证 : X.509v3数字证书,使用RSA签名 n商家认证 : X.509v3数字证书 , 使用RSA签名 n隐私: 分离订购信息和支付信息,使用双重签名双重签名双重签名n连接两个信息,但只允许一方读取一个。 MESSAGE 1DIGEST 1NEW DIGESTHASH 1 & 2WITH SHAMESSAGE 2DIGEST 2连接两个消息摘要连接两个消息摘要使用使用 SHA ,生成一个新的消息摘要,生成一个新的消息摘要DUAL S
7、IGNATUREPRIVATE KEY使用签名者私钥使用签名者私钥加密新生成的消息摘要加密新生成的消息摘要双重签名双重签名n概念: 连接不同接收者的两个消息n订购信息 (Order Information OI):客户给商家 n支付信息 (Payment Information PI):客户给银行 n目标: 限制消息只发送给需要知道的一方 n商家不需要的信用卡号n银行不需要客户的订购信息n使这些信息相互隔离,保证客户隐私安全n此连接必须保证支付信息与订单的对应为什么使用双重签名为什么使用双重签名 ?n假设客户发送商家两个信息: n已签名的订购信息 (OI).n已签名的支付信息(PI).n商家将
8、支付信息(PI)发送给银行 .n如果商家可以捕获此客户其他的订购信息 (OI), 商家可以要求得到此订单的支付信息。双重签名操作双重签名操作n订购信息 (OI)和支付信息(PI)的消息摘要(SHA-1) n连接这两个消息摘要 H(PI) | H(OI) ,然后再进行哈希。n使用签名者私钥加密新生成的消息摘要得到双重签名.DS = EKRC H(H(PI) | H(OI) 双重签名操作双重签名操作PIOI|HPIMDHOIMDPOMDHDSKRc商家验证双重签名商家验证双重签名n商家从客户证书中获得客户公钥 n现在,商人可以计算两个值: H(PIMD | H(OI)DKUCDSn应是相等的! 银
9、行验证双重签名银行验证双重签名n银行持有 DS, PI, OI (OIMD)的消息摘要 ,和客户的公钥 ,那么银行可以计算如下值: H(H(PI) | OIMD)DKUC DS 我们实现了什么?我们实现了什么? n商家收到 OI ,并验证签名n银行收到 PI ,并验证签名n客户连接 OI和 PI ,验证连接SET协议的交易流程协议的交易流程 n SET 协议是由17 个子协议组成的一套协议, 涵盖了证书管理和支付系统的各流程。 n持卡人注册(card holder registration) n商家注册 (merchant registration) n购买请求(Purchase Reques
10、t)n支付授权(Payment Authorization)n支付获得(Payment Capture) 购买请求n在购买请求交换开始之前,持卡人已经完成了浏览、选择和订购。当商家向客户发送了完整的订单后,进入购买请求阶段。n购买请求交换包含了4条消息:初始请求、初始响应、购买请求和购买响应。 客户初始化请客户初始化请客户初始化请客户初始化请求求求求客户收到响应客户收到响应客户收到响应客户收到响应并发送请求并发送请求并发送请求并发送请求客户收到购买客户收到购买客户收到购买客户收到购买响应响应响应响应商家发送证商家发送证商家发送证商家发送证书书书书商家处理请商家处理请商家处理请商家处理请求消息求
11、消息求消息求消息购买请求 客户电脑 初始化请求 商家电脑 初始化响应 购买请求 购买响应(1) 初始请求 n为了给商家发送购买请求消息,持卡人必须拥有商家和支付网关的证书。n持卡人在发送给商家的初始请求中请求证书。这条消息包括了n持卡人使用的信用卡品牌n分配给持卡人的请求/响应对的IDn一个用于保证时限的临时值(2) 初始响应n商家产生相应的响应,并用其私钥签名。响应包括了n持卡人的临时值n持卡人在下一条消息中应该回应的临时值n本次购买交易的交易IDn除此之外,初始响应消息包括了商家和支付网关的证书。(3) 购买请求 n持卡人通过其各自的CA签名验证商家和支付网关的证书,并生成OI(Order
12、 Information,订购信息)和PI(Payment Information,支付信息)。n由商家分配的交易ID放置在OI和PI中。OI不包含显式的订购数据,例如物品数量和价格,但是它包含一个订单引用,订单引用是在第一条SET消息之前的购物阶段中由客户和商家的信息交换过程中产生的。然后,持卡人准备购买请求消息。 (3) 购买请求n请求消息包括以下三个方面:n1) 支付的相关消息:此部分信息由商家转发给支付网关,组成包括PI、双重签名DS、OI消息摘要(OIMD,由消费者加过密的)以及数字信封(由支付网关的公钥加密形成)。 n2) 订购的相关信息:即商家需要的信息,包括OI、双重签名和PI
13、的消息摘要。n3) 持卡人证书。(3) 购买请求 n持卡人生成一个一次性对称密钥, KS, (4) 购买响应 n当商家接收到了购买请求时,将实现如下活动:n1) 通过持卡人的CA签名验证持卡人的证书。n2) 用持卡人公钥验证双重签名,这确保了订单在传输过程中没有损害,并用持卡人私钥签署。 (4) 购买响应 n3)处理订购。并传输支付信息给支付网关授权。n4)给持卡人发送购买响应。(4) 购买响应n购买消息包括了接受订单的响应组,该组由商家用其私钥签署。该组和商家证书一起发送给持卡人。n当持卡人的软件接收到购买响应消息时,就n验证商家的证书n验证响应组的签名n在此响应的基础上采取一些行动,例如给
14、用户显示一条信息,或用订购状态更新数据。 支付授权 商家电脑 授权请求 支付网关 授权响应商家请求支商家请求支商家请求支商家请求支付授权付授权付授权付授权商家处理响商家处理响商家处理响商家处理响应应应应支付网关处支付网关处支付网关处支付网关处理授权请求理授权请求理授权请求理授权请求支付授权交换包含了两条消息:授权请求和授权响应。支付授权交换包含了两条消息:授权请求和授权响应。 (1) 支付授权请求n商家发送给支付网关的授权请求包含了以下内容:n1) 购买的相关信息:该部分信息从持卡人获得,组成包括PI、双重签名、OI消息摘要(OIMD)和数字信封。n2) 授权的相关信息:这部分信息由商家生成,
15、包括交易ID(使用商家的私钥签署,并用商家生成的临时对称密钥加密)和数字信封(用支付网关的公钥加密对称密钥形成)。n3) 证书:包括持卡人及商家的证书。 (1) 支付授权请求n支付网关收到授权请求后,实现如下任务:n(a) 验证所有的证书;n(b) 解密授权块的数字信封以获得对称密钥,然后解密授权块;n(c) 验证授权块上商家的签名;n(d) 解密支付块的数字信封以获得对称密钥,然后解密支付块;n(e) 验证支付块的双重签名;n(f) 验证从商家获得的交易ID与从持卡人(间接)获得的PI中的交易ID匹配;n(g) 向发行者请求并接受授权。(2) 支付授权响应n从发行者获得授权后,支付网关给商家
16、返回一个授权响应,其中包括了一下元素:n1) 授权相关信息:包括了受权块,用支付网关的密钥进行签署,并用支付网关生成的一次性对称密钥加密。还包括了用商家公钥加密的一次对称密钥的数字信封。n2) 捕获标记信息:该信息用来使以后的支付有效。n3) 支付网关的证书:有了支付网关的授权,商家就可以给持卡人提供货物或服务。 支付获得 商家电脑 获得请求 支付网关 获得响应商家请求支付商家请求支付商家请求支付商家请求支付支付网关处理支付网关处理支付网关处理支付网关处理获得请求获得请求获得请求获得请求商家收到响应商家收到响应商家收到响应商家收到响应SET的开销简单的购买交易: n商家和客户之间四个信息 n商
17、家和支付网关之间两个消息 n6 个数字签名n9 个RSA 加密/解密周期n4 个DES加密/解密周期n4 个证书验证缩放:n多服务器需要所有证书的副本SET协议的安全性 nSET协议是为了在互联网上进行在线交易时保证信用卡支付的安全而设立的一个开放的规范,它主要通过以下方法来保证信息的机密性、完整性、真实性和不可否认性。n(1)信息发送者随机生成对称密钥,用对称密钥加密信息,并将对称密钥用接收方的公开密钥加密,装入数字信封;接收方用自己的私人密钥解密收到的数字信封,取出对称密钥,然后用对称密钥解密密文,从而得到发送方的原始信息。SET协议的安全性n(2)通过消息摘要的检验,可以保证信息的完整性
18、。消息发送者将要发送的消息经Hash运算,得到该消息的消息摘要,然后将消息和消息摘要一起发送给接收者;接收者用同样算法计算出他所收到的消息的消息摘要,并将计算出的消息摘要与收到的消息摘要进行比较,如果两条消息摘要完全相同,则说明消息在传输过程中未被篡改。SET协议的安全性n(3)使用经CA签名的数字证书,可以确定双方的身份。由于证书是由大家公认的权威机构CA 在对用户进行认证后发给用户的,并且CA还在证书上用自己的私人密钥对所发证书的消息摘要进行加密,生成CA的数字签名,消息接收方收到对方的数字证书后,用CA的公开密钥对CA的数字签名解密,证明对方的证书确实是CA 所发,从而就证明了对方的真实
19、身份。 SET协议的安全性n(4)通过验证对方的数字签名来确认消息确实是对方发送的,从而保证了交易的不可否认性。因为数字签名是用消息发送方的私人密钥对所发消息的消息摘要进行加密生成的,接收方只要能用消息发送方的公开密钥解密,就能证明此数字签名肯定是消息发送方生成的,又因为数字签名所加密的消息摘要是由所发消息生成的,从而可证明消息确实是由对方发送的。SET协议的安全性n(5)在SET交易中,持卡人发给网关的信息是通过商家转交的。持卡人用网关的公开密钥对持卡人要发给网关的信息加密,将信息装入只能由网关才能打开的数字信封内,同时采用双重签名的方法,就能使商家看不到持卡人发给网关的信息,网关也不能看到
20、持卡人发给商家的信息 SET协议的不足n(1)SET协议采用DES算法和RSA算法进行加密、解密,由于美国政府对安全产品的出口限制,出口的分组加密算法DES的密钥是64位,而公钥加密算法RSA的密钥也只有512位。致使SET协议的安全性不高,适应性不强。 n(2)SET协议过于复杂,要求安装的软件包太多,处理速度慢,价格昂贵。SET协议的不足n(3)SET协议没有说明发卡银行在给商家付款前,是否必须收到消费者的货物接受证书。否则,商家提供的货物不符合质量标准,或消费者故意说质量有问题而拒不接收货物,其责任由谁来负。n(4)SET技术规范没有提及在事务处理完成后,如何安全地保存或销毁此类数据,是否应当将数据保存在消费者、在线商店或收单银行的计算机里。这种漏洞可能使这些数据以后受到潜在的攻击。SET协议的不足n(5)SET协议中对于持卡人的隐私问题考虑不够,因为商家仍然知道某个持卡人买了些什么东西,没有给消费者的消费带来匿名性。n(6)在交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样是应该防止伪造和篡改的关键性内容,而在计算机上改变某个文件的时间标记是轻而易举的事。所以,在电子交易中也需要对文件的日期和时间信息采取相应的安全措施,以防止以后当事人对交易的否认和抵赖。