您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 电子商务 > 第7章_电子商务交易的安全协议
第7章电子商务安全协议SSL协议SET协议SSL协议与SET协议的比较本章要点:7.1SSL协议一SSL协议概述安全套接层(SecureSocketsLayer,SSL)是一种传输层技术,可以实现兼容浏览器和服务器之间的安全通信。SSL协议是目前网上购物网站中常使用的一种安全协议。所谓SSL就是在和另一方通信前先讲好的一套方法,这个方法能够在它们之间建立一个电子商务的安全性秘密信道,确保电子商务的安全性,凡是不希望被别人看到的机密数据,都可通过这个秘密信道传送给对方,即使通过公共线路传输,也不必担心别人的偷窥。SSL主要工作流程:①网络连接建立;②选择与该连接相关的加密和压缩方式;③双方的身份识别;④本次传输密钥的确定;⑤加密的数据传送;⑥网络连接的关闭应用数据的传送过程:应用程序把应用数据提交给本地的SSL发送方根据需要,使用指定的压缩算法,压缩应用数据发送方使用散列函数进行散列,得到数据的散列值发送方把散列值和压缩后的应用数据一起加密密文通过网络传送给对方接受方用相同的加密算法解密接受方用相同的散列算法对解密后的数据进行散列将计算后的散列值与接受到的散列值比较SSL协议与TCP/IP协议间的关系SSL协议可以分为两个子协议:SSL握手层协议和SSL记录层协议。SSL标准主要提供了3种服务:认证服务、数据加密服务与数据完整性服务。1.认证用户和服务器:SSL客户机与服务器都有各自的识别号,这些识别号使用公开密钥进行加密。确保数据发送到正确的客户机和服务器;2.加密数据以防止数据中途被窃取:采用的是对称加密技术与公开密钥加密技术。3.维护数据的完整性:确保数据在传输过程中不被改变,采用哈希函数和机密共享的方法提供完整信息性的服务,在客户机与服务器之间建立安全通道,以保证数据在传输中完整地到达目的地。1SSL记录协议它位于一些可靠的的传输协议之上(如TCP);SSL记录协议为SSL连接提供两种服务:机密性和报文完整性;SSL记录协议将高层协议数据分成较小的单元,并进行相应的处理,然后通过低层的传输协议发送。SSL协议由SSL握手协议和SSL记录协议构成。二SSL协议规范SSL记录协议发送信息的过程(1)分段每个上层应用数据被分成214字节或更小的数据块。记录中包含类型、版本号、长度和数据字段。(2)压缩压缩是可选的,并且是无损压缩,压缩后内容长度的增加不能超过1024字节。(3)在压缩数据上计算消息认证MAC。(4)对压缩数据及MAC进行加密。(5)增加SSL记录头。2、握手协议SSL握手协议包含两个阶段,第一个阶段用于建立私密性通信信道,第二个阶段用于客户认证。1)第一阶段:第一阶段是通信的初始化阶段,通信双方都发出HELLO消息。当双方都接收到HELLO消息时,就有足够的信息确定是否需要一个新的密钥。若不需要新的密钥,双方立即进入握手协议的第二阶段。否则,此时服务器方的SERVER-HELLO消息将包含足够的信息使客户方产生一个新的密钥。这些信息包括服务器所持有的证书、加密规约和连接标识。若密钥产生成功,客户方发出CLIENT-MASTER-KEY消息,否则发出错误消息。最终当密钥确定以后,服务器方向客户方发出SERVER-VERIFY消息。因为只有拥有合适的公钥的服务器才能解开密钥。下图为第一阶段的流程:需要注意的一点是每一通信方向上都需要一对密钥,所以一个连接需要四个密钥,分别为客户方的读密钥、客户方的写密钥、服务器方的读密钥、服务器方的写密钥。2)第二阶段:第二阶段的主要任务是对客户进行认证,此时服务器已经被认证了。服务器方向客户发出认证请求消息:REQUEST-CERTIFICATE。当客户收到服务器方的认证请求消息,发出自己的证书,并且监听对方回送的认证结果。而当服务器收到客户的认证,认证成功返回SERVER-FINISH消息,否则返回错误消息。到此为止,握手协议全部结束。三、SSL相关技术1.加密算法和会话密钥加密算法包括:RC4、RC2、IDEA和DES2.认证算法(1)服务器的认证(2)客户的认证服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。客户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。四对SSL协议安全机制的分析安全机制包括以下几个方面(1)加密机制混合密码体制的使用提供了会话和数据传输的加密性保护。双方使用非对称密码体制协商出本次将要使用的会话密钥,并选择一种对称加密算法。(2)身份鉴定公开密钥技术和数字证书可以实现客户端和服务器端的身份鉴别。ClientHello和ServerHello发过去自己的证书(里面包含了身份和自己的公钥)。(3)完整性机制定义了共享的、可以用来形成报文鉴别码MAC的密钥。数据进行分片压缩后,使用单向散列函数产生一个MAC,加密后置于数据包的后部,并且再一次和数据一起被加密,然后加上SSL首部进行网络传输。这样,如果数据被修改,其散列值就无法和原来的MAC相匹配,从而保证了数据的完整性。抗重放攻击SSL使用序列号来保护通信方免受报文重放攻击。这个序列号被加密后作为数据包的负载。在整个SSL握手中,都有一个唯一的随机数来标记这个SSL握手,这样重放便无机可乘。五SSL协议的电子交易过程1基于SSL的网上购物支付交易流程如下:收单银行持卡人网上商家发卡银行1购买清单及单价2购买请求7购物应答5支付授权应答4支付授权请求3支付授权请求6支付授权应答通过SSL协议进行网上交易可能遇到的风险:商家服务器证书的信任问题商家服务器端系统遭黑客攻击不法分子伪造商家网站2基于SSL的网上银行交易交易流程如图:持卡人网上银行1身份鉴别相关资料2交易请求3交易应答第二节SET协议一、SET协议简介对安全有非常高的要求敏感的部门,SSL安全协议有缺点,不足以担此重任。由MasterCard和Visa提出了有重大实用价值和深远影响的安全电子交易(SecureElectronicTransaction,SET)。SET协议得到了许多大公司的支持,已成为事实上的工业标准。SET是一种以信用卡为基础的、在因特网上交易的付款协议书,是授权业务信息传输安全的标准,它采用RSA密码算法,利用公钥体系对通信双方进行认证,用DES等标准加密算法对信息加密传输,并用散列函数来鉴别信息的完整性。在SET的交易环境中,比现实社会中多一个电子商务的安全性认证中心——电子商务的安全性CA参与其中,在SET交易中认证是很关键的。SET规范主要包括三部分内容商业描述程序员指南正式的协议定义二.SET的相关成员(1)持卡人——消费者:持信用卡购买商品的人,包括个人消费者和团体消费者,按照网上商店的表单填写,通过由发卡银行发行的信用卡进行付费。(2)网上商家:在网上的符合SET规格的电子商店,提供商品或服务,它必须是具备相应电子货币使用的条件,从事商业交易的公司组织。(3)收单银行:通过支付网关处理持卡人和商店之间的交易付款问题事务。接受来自商店端送来的交易付款数据,向发卡银行验证无误后,取得信用卡付款授权以供商店清算。(4)支付网关:这是由支付者或指定的第三方完成的功能。为了实现授权或支付功能,支付网关将SET和现有的银行卡支付的网络系统作为接口。(5)发卡银行——在交易过程开始前,发卡银行负责查验持卡人的数据,如果查验有效,整个交易才能成立。在交易过程中负责处理电子货币的审核和支付工作。(6)认证中心CA——可信赖、公正的组织:接受持卡人、商店、银行以及支付网关的数字认证申请书,并管理数字证书的相关事宜。2019/8/2网络安全技术27CardholderInternetMerchantInternetPaymentgatewayCertificateauthorityIssuerPaymentnetworkAcquirer三、SET的购物流程SET购物流程:1持卡人浏览商品2持卡人选择商品3持卡人填写订单4持卡人选择支付方式5持卡人给商家发送订单及支付请求6商家收到订单,向持卡人所在银行发出信号请求。支付消息通过支付网关到收单银行,再到发卡银行。7商家将订单确认信息通知持卡人,同时商家开始准备发货8持卡人终端软件记录交易日志四SET的相关技术1基本安全技术⑴对称密钥加密SET协议缺省使用由IBM公司制定的DES(DataEncryptionStandard)标准。DES将数据分割成64位的数据块,用56位的密钥对其进行一系列的数学变换后产生密文,然后接收者用同一密钥将密文解译成明文。对称密钥加密的优点时加密、解密效率高,适用于大数据量加密与解密。其缺点是密钥没有安全的传递方式,容易被截获,不能适应大范围应用。⑵公钥加密技术通用算法RSA,优点是密钥方法不用加密,使用大范围使用;缺点是加密与解密速度慢,比DES算法慢10倍以上。所以它只适用于少量数据的加密和用于对称密钥的传递。RSA的密钥长度可从512bit至2048bit。SET中使用1024bit、2048bit两种长度,以满足不同等级的加密要求。⑶Hash算法Hash算法并不是加密算法,但却能产生信息的数字“指纹”,主要用途是为了确保数据没有被篡改或发生变化,以维护数据的完整性。Hash算法有三个特征:•能处理任意大小的信息,并生成固定长度(160bit)的信息摘要。•具有不可预见性。信息摘要的大小与原信息的大小没有任何联系。原信息的一个微小变化都会对信息摘要产生很大的影响。•具有不可逆性。没有办法通过信息摘要直接恢复原信息。SET使用SHA1安全Hash算法。⑷数字签名•A用其私钥加密文件,这便是签字过程;•A将加密的文件送到B;•B用A的公钥解开A送来的文件;签名方法是符合可靠性原则的。即:•签字是可以被确认的•签字是无法被伪造的•签字是无法重复使用的•文件被签字以后是无法被篡改的•签字具有不可否认性将数字摘要和数字签名结合明文AliceBobA的私钥HiBobAliceA的公钥摘要哈希函数gJ39vzamp4xOurjj9rRr%9$数字签名HiBobAlice明文Ourjj9rRr%9$数字签名HiBobAlice明文gJ39vzamp4x新摘要哈希函数gJ39vzamp4x=?相同1、没有篡改2、是Alice发送的1234567⑸数字信封技术加密过程对称密钥明文数据密文发送方解密过程接收方私钥接收方加密过程接收方公钥被加密的密钥数据密文解密过程对称密钥明文密文密文对称密钥被加密的密钥对称密钥(6)数字证书解决密钥分发问题,交给第三方机构CA管理。2双重签名交易过程中,订单信息和支付信息是捆绑在一起发送给商家和银行的,但持卡人希望的是银行只看到支付信息,商家只看到订单信息,为了解决这个问题,提出了双重签名技术。PIHPIMDOIHOIMDHPOMDEDualsignatureKRcPI:支付命令PIMD:PI消息摘要OI:订单信息OIMD:OI消息摘要H:哈希函数(SHA-1)POMD:支付/订单消息摘要‖:连结E:加密函数(RSA)KRc:用户私钥图7.3双重签名的生成过程(1)双重签名的产生客户用Hash函数对订购信息和支付信息进行散列处理,分别得到订购信息的消息摘要和支付信息的消息摘要。将两个消息摘要连接起来再用Hash函数进行散列处理,得到支付订购消息摘要。客户用他的私钥加密支付订购消息摘要,最后得到的就是经过双重签名的信息。(2)双重签名的验证过程收到的消息
本文标题:第7章_电子商务交易的安全协议
链接地址:https://www.777doc.com/doc-40709 .html