您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 电子商务 > 第7章-电子商务安全协议
第七章电子商务安全协议第七章安全电子交易协议SET7.1电子商务安全协议概述7.2安全电子交易协议7.3安全套接层协议7.4安全超文本传输协议7.5EDI协议电子商务安全协议是保证网上交易的机密性、信息完整性、身份合法性和不可否认性的基础完成信息安全交换共同约定的逻辑操作规则。包括:安全电子交易协议SET、安全套阶层协议SSL、安全超文本传输协议S-HTTP、电子数据交换EDI和IP安全协议IPsec7.1电子商务安全协议概述7.2安全电子交易协议安全电子交易协议SET(SecureElectronicTransaction)是由Visa和MasterCard所开发的,是为了在Internet上进行在线交易时,保证信用卡支付的安全而设计开发的一个开放的规范。由于得到了IBM、HP、Microsoft、NetScape、GTE、Verisign等很多大公司的支持,它已成了事实上的工业标准,目前它已获得IEEE标准的认可。SET提供了消费者、商家和银行之间的认证,确保了网上交易数据的保密性、数据的完整性及交易的不可抵赖性。特别是能保证不将消费者银行卡号暴露给商家,不将消费者的购物内容暴露给银行等优点,SET在一些国家中得到很好的应用。SET采用公钥密码体制,遵循X.509数字证书标准。SET协议使用加密技术提供信息的机密性,保证支付的完整性,验证商家和持卡者。SET是一种网络银行卡付款机制。是基于可信第三方认证中心的方案。支付安全的目标是:保证信息机交易过程安全。支持应用的互操作性。实现可推广性。7.2安全电子交易协议在SET协议中主要定义了以下内容。(1)加密算法的应用(如RSA和DES)。(2)证书消息和对象格式。(3)购买消息和对象格式。(4)请款消息和对象格式。(5)参与者之间的消息协议。7.2安全电子交易协议7.2安全电子交易协议7.2.2SET交易的参与者电子交易处理开始于持卡者。(1)持卡者(Cardholder)。在电子商务环境中,消费者和团体购买者通过计算机与商家进行交互,持卡者使用一个发卡行发行的支付卡。(2)发卡行(Issuer)。一个发卡行是一个金融机构,为持卡者建立一个账户并发行支付卡,一个发卡行保证对经过授权的交易进行付款。(3)商家(Merchant)。商家提供商品和服务,在SET中,商家与持卡者可以进行安全电子交易,一个商家必须与相关的收单行达成协议,保证可以接收支付卡付款。7.2安全电子交易协议(4)收单行(Acquirer)。一个收单行是一个金融机构,为商家建立一个账户并处理支付卡授权和支付。(5)支付网关(PaymentGateway)。一个支付网关是一个由收单行操作的设备,或者是指定的第三方,用于处理支付卡授权和支付。(6)认证中心(CA)。负责发放和管理数字证书的权威机构。采用多层分级结构,负责发放和撤销持卡人、商家和支付网关的证书。(7)第三方(ThirdParties)。发卡行和收单行有时指定第三方来处理支付卡交易,在SET协议中没有区分金融机构和交易处理者,认为是一家。7.2安全电子交易协议7.2安全电子交易协议7.2.3SET协议的相关技术在SET中所涉及到的技术主要有加密技术和身份认证技术,其中加密技术是核心,包括:(1)对称加密技术(2)非对称加密技术(7)消息摘要技术(4)数字签名(5)数字信封(6)双重数字签名(7)数字证书7.2安全电子交易协议7.2安全电子交易协议对于一些信息的流动必须要做到端对端加密。但有些信息端对端加密还不够,如银行卡中与资金有关的数据,持卡人就不想让商户看到;而购物有关的数据,商户又不想让收单银行看到,但端对端加密办法就做不到这一点。一个完整的购买交易所需的信息包括:交易开始(PInitReq/PInitRes)购买指令(PReq/PRes)授权请求(AuthReq/AuthRes)支付指令(CapReq/CapRes)持卡人查询(InqReq/lnqRes)7.2安全电子交易协议持卡人商户支付网关(收单银行)PInitReqPInitResPReqPResIngReqIngResPReq之后时间可选AuthReqAuthResCapReqCapResSET交易步骤7.2安全电子交易协议PIData….…OIDataTransIDBrandIDDateChall_CChall_MODsalt(nonce)H(OIData)H(PIData)HashOIOIDataDualSigH2Sign{H2}Sigc订货信息结构7.2安全电子交易协议双重数字签名-生成OIPIB:订货信息C:支付信息MDBMDCMDBCDSPVARSA双重数字签名C(PI)DSMDBPBAEMCSK2DESDECSK2PBCB(OI)DSMDCPBAEMBSK1DESDEBSK1PBB双重数字签名-生成B(OI)DSMDCPBAEMBSK1DESDEBSK1PBBC(PI)DSMDBPBAEMCSK2DESDECSK2PBC发送给商户B的信息发送给银行C的信息双重数字签名—B验证EMBDMBEMCDMCEMBB(OI)DSMDCPBASK1DESMDBMDBC’DSMDBC比较PBARSADEBPVBRSASK1双重数字签名—C验证EMBDMBEMCDMCEMCC(PI)DSMDBPBASK2DESMDCMDBC’DSMDBC比较PBARSADECPVCRSASK2消费者(持卡人)认证中心CA电子钱包网上商店支付网关发卡行银行卡总中心ISO8583银行网络SETSETSETSET电子商务环境7.2安全电子交易协议7.2.4SET的交易流程采用SET的电子商务交易分为3个阶段:(1)信用卡持有者与商家协商交易商品列表及所采用的支付方式。(2)信用卡持有者发送支付货款指令,商家与银行核实付款。(3)商家向银行出示所有交易细节,银行以适当的方式向商家转移货款。7.2安全电子交易协议7.2.4SET交易流程7.2安全电子交易协议7.3安全套接层协议SSL是提供Internet上的通信隐私性的安全协议。该协议允许客户端/服务器应用之间进行防窃听、防消息篡改及消息伪造的安全的通信。TCP/IP是整个Internet数据传输和通信所使用的最基本的控制协议。SSL协议可以有效地避免网上信息的偷听、篡改以及消息的伪造。TCP/IPLayerSecureSocketsLayer网络通信层…应用层HTTPLDAPIMAPSSL标准的关键是要解决以下几个问题。(1)客户对服务器的身份确认:SSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性(检验服务器的证书和ID的合法性)。对于用户服务器身份的确认与否是非常重要的,因为客户可能向服务器发送自己的信用卡密码。7.3安全套接层协议(2)服务器对客户的身份确认:允许SSL服务器确认客户的身份,SSL协议允许客户服务器的软件通过公钥技术和可信赖的证书,来确认客户的身份(客户的证书client’scertificate)。对于服务器客户身份的确认与否是非常重要的,因为网上银行可能要向客户发送机密的金融信息。(3)建立起服务器和客户之间安全的数据通道:SSL要求客户和服务器之间的所有的发送数据都被发送端加密,所有的接收数据都被接收端解密,这样才能提供一个高水平的安全保证。同时SSL协议会在传输过程中检查数据是否被中途修改。7.3安全套接层协议SSL协议的工作流程:服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;7.3安全套接层协议4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。7.3安全套接层协议SSL协议提供的服务可以归纳为如下:1.用户和服务器的合法性认证(认证性)使得用户和服务器能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都有各自的识别号,由公开密钥编排。为了验证用户,安全套接层协议要求在握手交换数据中做数字认证,以此来确保用户的合法性。7.3安全套接层协议2.加密数据以隐藏被传送的数据(秘密性)安全套接层协议采用的加密技术既有对称密钥,也有公开密钥。具体来说,就是客户机与服务器交换数据之前,先交换SSL初始握手信息。在SSL握手信息中采用了各种加密技术,以保证其机密性和数据的完整性,并且经数字证书鉴别。这样就可以防止非法用户破译。3.维护数据的完整性(完整性)安全套接层协议采用Hash函数和机密共享的方法,提供完整信息性的服务,来建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中都能完整准确无误地到达目的地。7.3安全套接层协议SSL协议主要包含握手协议(handshakeprotocol)和记录协议(recordprotocol),记录协议确定数据安全传输的模式,握手协议用于客户和服务器建立起安全连接之前交换一系列的安全信息,这些安全信息主要包括以下内容:(1)客户确定服务器的身份。(2)允许客户和服务器选择双方共同支持的一系列加密算法。(3)服务器确定客户的身份(可选)。(4)通过公钥密码技术产生双方共同的密钥。(5)建立SSL的加密安全通道。7.3安全套接层协议7.3安全套接层协议客户机发出安全会话请求(hello)服务器发送X.509证书(包含服务器的公钥)客户机生成随机对称密钥,并用服务器的公钥加密客户机与服务器用随机对称密钥加密会话期间的数据客户机将随机对称密钥发送给服务器7.3安全套接层协议7.3安全套接层协议SSL记录层协议限定了所有发送和接收数据的打包,它提供了通信、身份认证功能,它是一个在面向连接的可靠传输协议,如TCP/IP上提供安全保护。在SSL中,所有数据被封装在记录中。一个记录由两部分组成:记录头和非零长度的数据。记录头可以是2字节或3字节(当有填充数据时使用)。SSL握手层协议的报文要求必须放在一个SSL记录层的记录里,但应用层协议的报文允许占用多个SSL记录来传送。7.3安全套接层协议记录头类型记录长度MAC数据记录头类型Escape位填充长度记录长度MAC数据填充数据2字节头记录3字节头记录7.3安全套接层协议SSL的记录头可以是两个或三个字节长的编码。SSL记录头包含的信息有记录头的长度、记录数据的长度、记录数据中是否有填充数据。其中填充数据是在使用块加密(blockencryption)算法时,填充实际数据,使其长度恰好是块的整数倍。最高位为1时,不含有填充数据,记录头的长度为两个字节,记录数据的最大长度为32767个字节;最高位为0时,含有填充数据,记录头的长度为三个字节,记录数据的最大长度为16383个字节。7.3安全套接层协议SSL记录数据部分有三个分量:MAC-DATA、ACTUAL-DATA、PADDING-DATA。MAC数据用于数据完整性检查。计算MAC所用的散列函数由握手协议中的CIPHER-CHOICE消息确定。若使用MD2和MD5算法,则MAC数据长度是16个字节。MAC的计算公式:MAC数据:Hash[密钥,实际数据,填充数据,序号]。ACTUAL-DATA是被传送的应用数据,PADDING-DATA是当采用分组码时所需要的填充数据,在明文传送下只有第二项。7.3安全套接层协议7.3.4SSL协议与SET协议的比较SSL协议实现简单、使用方便、成本较低,易推广普及。SET协议实施成本较高,要依赖于可信任第三方认证机构,运行机制复杂。SS
本文标题:第7章-电子商务安全协议
链接地址:https://www.777doc.com/doc-40706 .html