第7章_电子商务交易的安全协议.pptx
《第7章_电子商务交易的安全协议.pptx》由会员分享,可在线阅读,更多相关《第7章_电子商务交易的安全协议.pptx(63页珍藏版)》请在冰豆网上搜索。
第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消息时,就有足够的信息确定是否需要一个新的密钥。
若不需要新的密钥,双方立即进入握手协议的第二阶段。
否则,此时服务器方的SERVERHELLO消息将包含足够的信息使客户方产生一个新的密钥。
这些信息包括服务器所持有的证书、加密规约和连接标识。
若密钥产生成功,客户方发出CLIENTMASTERKEY消息,否则发出错误消息。
最终当密钥确定以后,服务器方向客户方发出SERVERVERIFY消息。
因为只有拥有合适的公钥的服务器才能解开密钥。
下图为第一阶段的流程:
需要注意的一点是每一通信方向上都需要一对密钥,所以一个连接需要四个密钥,分别为客户方的读密钥、客户方的写密钥、服务器方的读密钥、服务器方的写密钥。
2)第二阶段:
第二阶段的主要任务是对客户进行认证,此时服务器已经被认证了。
服务器方向客户发出认证请求消息:
REQUESTCERTIFICATE。
当客户收到服务器方的认证请求消息,发出自己的证书,并且监听对方回送的认证结果。
而当服务器收到客户的认证,认证成功返回SERVERFINISH消息,否则返回错误消息。
到此为止,握手协议全部结束。
三、SSL相关技术1加密算法和会话密钥加密算法包括:
RC4、RC2、IDEA和DES2认证算法
(1)服务器的认证
(2)客户的认证服务器认证阶段:
1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
客户认证阶段:
在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。
经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
四对SSL协议安全机制的分析安全机制包括以下几个方面
(1)加密机制混合密体制的使用提供了和据码会话数的加密性保。
方使用非密传输护双对称码体制商出本次要使用的密,协将会话钥并一加密算法。
选择种对称
(2)身份鉴定公开密钥技术和数字证书可以实现客户端和服务器端的身份鉴别。
ClientHello和ServerHello发过去自己的证书(里面包含了身份和自己的公钥)。
(3)完整性机制定义了共享的、可以用来形成报文鉴别码MACMAC的密钥。
数据进行分片压缩后,使用单向散列函数产生一个MACMAC,加密后置于数据包的后部,并且再一次和数据一起被加密,然后加上SSLSSL首部进行网络传输。
这样,如果数据被修改,其散列值就无法和原来的MACMAC相匹配,从而保证了数据的完整性。
抗重放攻击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可信赖、公正的组织:
接受持卡人、商店、银行以及支付网关的数字认证申请书,并管理数字证书的相关事宜。
24年2月1日27网络安全技术CardholderInternetMerchantInternetPaymentgatewayCertificateauthorityIssuerPaymentnetworkAcquirer三、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)双重签名的验证过程收到的消息收到的消息消息摘要消息摘要收到收到的消息摘要的消息摘要双重签名双重签名消息消息op消息摘要消息摘要消息摘要消息摘要H(op)消息被篡改消息被篡改消息完整消息完整有效有效H持卡人公钥签名持卡人公钥签名比较比较五SET证书管理1证书管理体系根根CA品牌品牌CA区域区域CA持卡人持卡人CA商家商家CA支付网关支付网关CA持卡人持卡人商家商家支付网关支付网关2证书的信任链层通信过程中,交易双方出示各自的证书来证明身份。
而对证书的信任是通过对签发证书的CA的身份验证得到的。
从对方的证书沿着信任链逐级的追溯到根证书。
3证书管理功能CA为其证书管理层次下的实体提供三个服务,即证书发放、更新和废除。
(1)证书发放SET定义了三种方式:
web方式、email方式和离线方式web方式需经历三个阶段:
(2)证书的更新证书一旦失效,必须更新后才能正常进行SET交易。
(3)证书废除证书废除涉及两个概念:
CRL和BCI。
BCI是指针对某个信用卡品牌的所有目前使用的CRL,由SET协议定义,由BCA维护。
SET协议针对参与交易的不同对象,制定了具体的证书作废过程:
1)持卡人证书的废除。
2)商家证书的废除3)支付网关证书的废除4)CA证书的废除六SET协议的支付处理流程SET的支付处理主要包括持卡人注册、商家注册、购买请求、支付授权和支付请款等。
1持卡人注册七个步骤1持卡人初始化注册2CA发出响应3持卡人接收响应并请求注册表4CA处理请求并发送注册表5持卡人接收注册表和请求证书6CA处理请求并创建证书7持卡人接收证书2商家注册五个步骤1商家请求注册表2CA发出响应3商家接收注册表和请求证书4CA处理请求并创建证书、5商家接收证书3购买请求五个步骤1持卡人初始化请求2商家发出证书3持卡人接收响应并发送请求4商家处理请求信息5持卡人接收购买信息4支付授权三个步骤1商家请求授权2支付网关处理授权请求3商家处理响应5支付请款三个步骤1商家请求支付2支付网关处理请款请求3商家处理响应七SET安全分析
(1)信息的机密性SET协议采用了对称性与非对称性的密码系统每一次交易双方建立新的连接就是一次通信期间的开始,而每次通信期间都会产生新的通信密钥,也就是说每个通信密钥的有效期为通信期间,而这个期间通常都不长;基于这些特性,相对于长期间都使用同一把密钥加密来说,就算某次的通信密钥遭到破解,也不会影响到其它交易数据的安全性。
采用双重签名完整性安全SET协议使用RSA数字签名与哈希函数技术来达成完整性的要求,运作方式为发送方先将交易信息经过哈希函数的计算产生消息摘要后,再使用发送方的私钥加密产生签名。
SET使用的哈希函数算法是SHA-1,其产生的消息摘要长度为160位,而只要更改消息中任一个位,平均来说,将导致一半的消息摘要位改变,故可提升签名的安全性。
(3)身份认证通过数字证书和RSA签名实现身份认证第三节SSL与SET协议的比较目项SSL协议SET协议工作次层传输层与应用之层间用应层是否透明透明不透明程过简单复杂效率高低安全性商家掌握消者费消者商费对家保密机制认证方双认证多方认证是否专为EC设计否是一SSL与SET协议本身的比较SET与SSL相比优势在于1提供保护手段,使得商家免受欺诈2保护消费者秘密3信用卡支付方式比其他的支付方式更具优势4SET对于参与交易的各方定义了互操作接口,一个系统可以由不同厂商的产品构筑。
5可以灵活使用在系统的一部分或是全部6提供了不可否认性二SSL与SET协议性能及费用比较采用SSL购买者可能承担的风险1不得不信任商家能够安全的保护他们的信用卡信息2无法保证商家是该支付卡的特约商户1SSL与SET协议性能的对比
(1)客户计算机
(2)电子商务服务器性能2提高性能的技术
(1)对称多cpu技术
(2)群集技术(3)密码加速硬件(4)椭圆曲线密码技术3对比结论两者相比,SSL的安全性较差,如果不改进客户方软件的话,基于SSL的系统达不到像SET这种专用银行卡支付协议所能达到的安全性。