《[精选]第四章网络安全协议修改.pptx》由会员分享,可在线阅读,更多相关《[精选]第四章网络安全协议修改.pptx(146页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章第四章网络安全协议网络安全协议1第四章第四章 网络安全协议网络安全协议SSL协议协议SET协议协议IPSec协议协议2因特网与因特网与TCP/IP安全安全-1TCP/IP协议栈协议栈TCP/IP是一组通信协议的缩写是一组通信协议的缩写ISO/OSI模型及其与模型及其与TCP/IP的关系的关系3因特网与因特网与TCP/IP安全安全-IP协议协议IP数据包中含有源地址和目的地址数据包中含有源地址和目的地址不可靠协议,没有做任何事情来确认数据包是不可靠协议,没有做任何事情来确认数据包是否按顺序或是未被破坏否按顺序或是未被破坏而高层在接受服务时通常假设源地址是有效的而高层在接受服务时通常假设源地
2、址是有效的IP地址成为认证的基础地址成为认证的基础IP协议存在的安全问题不少协议存在的安全问题不少4IP欺骗欺骗攻击者通过攻击者通过伪造伪造一个一个可信任地址可信任地址的数据包以使一的数据包以使一台机器认证另一台机器的复杂技术台机器认证另一台机器的复杂技术攻击是利用应用程序之间攻击是利用应用程序之间基于基于IP地址的认证地址的认证机制,机制,攻击者通过攻击者通过IP地址欺骗获得远程系统的非法授权地址欺骗获得远程系统的非法授权访问。访问。5IP欺骗欺骗过程描述:过程描述:1、X-B:SYN(序列号为序列号为M),IP=A2、B-A:SYN(序列号为序列号为N),ACK(应答序号应答序号M+1)此
3、时此时A没有同没有同B发起连接,当发起连接,当A收到收到B的包后,会发的包后,会发送送RST置位的包给置位的包给B,从而断开连接从而断开连接此时攻击者事先让此时攻击者事先让A无法对来自无法对来自B的任何数据包进行的任何数据包进行应答。应答。3、X-B:ACK(应答序号应答序号N+1)IP=A攻击者猜测攻击者猜测B发送给发送给A的序列号。若的序列号。若猜测猜测成功则,成功则,X将获得主机将获得主机B赋予赋予A的权利。的权利。6IP欺骗欺骗辅助技术辅助技术1:如何阻止:如何阻止A响应响应B的包的包SYN淹没淹没7IP欺骗欺骗辅助技术辅助技术2:序列号预测序列号预测攻击者事先要进行连接试验:攻击者事
4、先要进行连接试验:(1)同目标主机进行连接同目标主机进行连接(2)目标主机应答目标主机应答(3)记录应答包所含的序列号,继续步骤记录应答包所含的序列号,继续步骤1测试测试分析序列号产生的模式分析序列号产生的模式8攻击检测攻击检测上述攻击过程中,攻击者必须依照一定的顺序上述攻击过程中,攻击者必须依照一定的顺序来完成网络入侵,这往往是攻击的一种先兆。来完成网络入侵,这往往是攻击的一种先兆。可安装一个网络嗅探器。可安装一个网络嗅探器。(1)最初,会检测到大量的最初,会检测到大量的TCPSYN从某个主机从某个主机发往发往A的登录端口。的登录端口。(2)大量的大量的TCPSYN包将从主机包将从主机X经过
5、网络发往经过网络发往主机主机B,相应的有相应的有SYN+ACK包从主机包从主机B发往发往X,然后主机然后主机X用用RST作应答作应答9其他措施其他措施配置路由器和网关,使他们拒绝网络外部与本配置路由器和网关,使他们拒绝网络外部与本网内具有相同网内具有相同IP地址的连接请求地址的连接请求当包的源当包的源IP地址不在本地子网内时,路由器和地址不在本地子网内时,路由器和网关不应该把本网主机的包发出去,以阻止内网关不应该把本网主机的包发出去,以阻止内部用户去破坏他人网络部用户去破坏他人网络10因特网与因特网与TCP/IP安全安全-TCP协议协议TCP安全缺陷安全缺陷TCP连接的可靠性连接的可靠性初始化
6、连接初始化连接:三次握手,确保双方做好传输准备,:三次握手,确保双方做好传输准备,统一序列号。统一序列号。SYN,SEQ=x主机 BSYN,ACK,SEQ=y,ACK=x 1ACK,SEQ=x+1,ACK=y 1确认确认主机 A连接请求11TCP安全缺陷没有任何认证机制安全缺陷没有任何认证机制TCP会话劫持会话劫持所谓所谓会话会话,就是两台主机之间的一次通讯。,就是两台主机之间的一次通讯。例如例如Telnet到某台主机,这就是一次到某台主机,这就是一次Telnet会话;会话;浏览某个网站,这就是一次浏览某个网站,这就是一次HTTP会话。会话。12会话劫持(会话劫持(会话劫持(会话劫持(Sess
7、ion HijackSession Hijack),就是在一次正常的会话就是在一次正常的会话过程当中,过程当中,攻击者作为第三方参与到其中攻击者作为第三方参与到其中,他可以,他可以在正常数据包中插入恶意数据,也可以在双方的会在正常数据包中插入恶意数据,也可以在双方的会话当中进行监听,甚至可以是代替某一方主机接管话当中进行监听,甚至可以是代替某一方主机接管会话。会话。原因:原因:TCP假定只要接受到假定只要接受到的数据的数据包含有正确的包含有正确的序列号就认为数据是序列号就认为数据是可以接受的可以接受的。一旦连接建立,服务一旦连接建立,服务器无法确定进入的数器无法确定进入的数据包是否来自真实的据
8、包是否来自真实的机器。机器。13会话劫持防范会话劫持防范防范会话劫持是一个比较大的工程。防范会话劫持是一个比较大的工程。最根本的解决办法是采用最根本的解决办法是采用加密通讯加密通讯,使用,使用SSH代替代替Telnet、使用、使用SSL加强加强HTTP,或者干脆使,或者干脆使用用IPSec/VPN。其次,其次,监视网络流量监视网络流量,如发现网络中出现大量,如发现网络中出现大量的的ACK包,则有可能已被进行了会话劫持攻击。包,则有可能已被进行了会话劫持攻击。完善认证措施完善认证措施,不仅仅在建立会话时进行认证,不仅仅在建立会话时进行认证14SSL协议协议1 概况概况SSL协议协议(Securi
9、tySocketLayer)是是Netscape公司公司于于1994年提出的基于年提出的基于web应用的安全协议。主要应用的安全协议。主要介绍介绍SSLv3.SSL主要采用主要采用公开密钥体制公开密钥体制和和x.509数字证书技术数字证书技术。1516SSL协议协议1 概况概况协议的位置:协议的位置:SSL介于介于TCP和应用层协议和应用层协议之间。之间。SSL可以用于任何面向连接的安全通信,但通常可以用于任何面向连接的安全通信,但通常用于安全用于安全web应用的应用的HTTP协议。协议。SMTPIPSSLTCPHTTPFTP17SSL协议协议1 概况概况SSL提提供供一一个个安安全全的的“握
10、握手手”来来初初始始化化一一个个TCPIP连接连接建立建立TCPTCP“连接连接”SSLSSL握手,建立握手,建立SSLSSL会话会话完完成成客客户户端端和和服服务务器器之之间间关关于于安安全全等等级级、密密码码算算法法、通通信信密密钥钥的的协协商商,以以及及执执行行对对连连接接端端身身份份的的认认证证工工作。作。SSL连连接接上上所所传传送送的的应应用用层层协协议议数数据据都都会会被被加加密密,从而保证通信的机密性。从而保证通信的机密性。18SSL协议协议1 概况概况提供的安全保护提供的安全保护(1)SSL 服务器鉴别服务器鉴别(2)允许用户证实服务器的身份。具有允许用户证实服务器的身份。具
11、有SSL功能的浏功能的浏览器维持一个表,上面有一些可信赖的览器维持一个表,上面有一些可信赖的认证中心认证中心CA(CertificateAuthority)和它们的公开密钥。和它们的公开密钥。(2)加密的加密的SSL会话会话客户和服务器交互的所有数据都在客户和服务器交互的所有数据都在发送方加密,在接收方解密。发送方加密,在接收方解密。(3)SSL客户鉴别客户鉴别(可选可选)允许服务器证实客户的身份。允许服务器证实客户的身份。(4)检测客户和服务器间的数据完整性检测客户和服务器间的数据完整性(5)客户与服务器自动协商生成密钥,无需用户参与客户与服务器自动协商生成密钥,无需用户参与19SSL协议协
12、议2 协议结构协议结构协议栈协议栈SSL握手协议握手协议SSL记录协议记录协议SSL告警协议告警协议SSL修改密文协修改密文协议议20SSL协议协议2 协议结构协议结构通信步骤通信步骤(1)(1)建立建立TCPTCP“连接连接”;(2)(2)SSLSSL握手,建立握手,建立SSLSSL“会话会话”(Session)Session);(3)(3)通过通过“会话会话”传送加密数据包;传送加密数据包;(4)(4)释放连接,释放连接,“会话会话”过期。过期。TCPTCP连接和连接和SSLSSL会话的关系会话的关系安全连接的特性安全连接的特性21连接和会话的关系连接和会话的关系连接是传输层中的概念连接是
13、传输层中的概念SSL会话联系客户端和服务器,由会话联系客户端和服务器,由SSL握手协议建立,握手协议建立,制定一系列加密的安全参数。这些安全参数可被连接制定一系列加密的安全参数。这些安全参数可被连接多次使用。多次使用。连接是短暂的,对应一个会话,而一个会话可被多次连接是短暂的,对应一个会话,而一个会话可被多次连接使用。连接使用。安全连接的特性安全连接的特性连接是私有的。握手协议商量一个会话密钥,然后用连接是私有的。握手协议商量一个会话密钥,然后用对称的加密算法对数据加密对称的加密算法对数据加密连接的标识符用非对称算法加密连接的标识符用非对称算法加密连接是可靠的。连接是可靠的。22SSL概况小结
14、概况小结1、基于的安全技术、基于的安全技术2、协议的位置、协议的位置3、通信步骤、通信步骤4、提供的安全保护、提供的安全保护5、协议栈、协议栈6、连接和会话、连接和会话23SSL协议协议3记录层协议记录层协议 功能功能功能功能根据当前根据当前会话状态会话状态给出参数给出参数压缩算法压缩算法对称加密算法对称加密算法MAC算法算法密钥长度密钥长度Hash长度长度IV长度长度连接状态连接状态给出的参数给出的参数Client和和Server的随机数的随机数加密密钥加密密钥MACsecretsIVs消息序列号消息序列号对对当当前前的的连连接接中中要要传传送送的的高高层层数数据据实实施施压压缩缩/解解压压
15、缩缩、加加/解解密密、计算计算/校验校验MAC等操作。等操作。SSL握手协议握手协议SSL记录协议记录协议SSL告警协议告警协议SSL修改密文协修改密文协议议24SSL协议协议3记录层协议记录层协议封装的高层协议封装的高层协议SSL握手协议握手协议SSL记录协议记录协议TCPIPSSL告警协议告警协议SSL修改修改密文协议密文协议应用数据协议应用数据协议HTTP、FTP、Telnet等等25SSL协议协议3记录层协议记录层协议SSL记录协议的发送过程记录协议的发送过程(接收过程反之接收过程反之)应用数据应用数据分片分片压缩压缩加加MAC加密加密 附另附另SSLSSL记录记录报头报头26记录层协
16、议小结记录层协议小结功能功能提供的服务提供的服务发送过程发送过程27SSL协议协议4 修改密文规约协议修改密文规约协议目的是为了目的是为了表示密码策略的变化表示密码策略的变化。通知对方其后的记录将用刚刚协商的密码规范及相通知对方其后的记录将用刚刚协商的密码规范及相关的密钥来保护。关的密钥来保护。所有意外的更改密码规范消息都将产生一个所有意外的更改密码规范消息都将产生一个“意外消息意外消息”(unexpectedmessage)警告警告28SSL协议协议5 告警协议告警协议 作用作用包括若干个告警消息包括若干个告警消息当握手过程或数据加密等操作出错误或发生异常情当握手过程或数据加密等操作出错误或
17、发生异常情况时,向对方发出警告或中止当前连接。况时,向对方发出警告或中止当前连接。组成组成第一个字节的值为第一个字节的值为warning(警告警告)或或fatal(致命致命),表,表示消息的严重性等级。第二个字节是具体的告警消示消息的严重性等级。第二个字节是具体的告警消息。息。29SSL握手协议握手协议SSL记录协议记录协议TCPIPSSL告警协议告警协议SSL修改修改密文协议密文协议应用数据协议应用数据协议HTTP、FTP、Telnet等等30SSL协议协议5 握手协议握手协议作用作用验证实体身份验证实体身份协商密钥交换算法、压缩算法和加密算法、协商密钥交换算法、压缩算法和加密算法、完成密钥
18、交换完成密钥交换生成密钥生成密钥客客户户端端和和服服务务器器要要建建立立一一个个连连接接,就就必必须须进进行行握握手手过过程程。每每次次握握手手都都存存在在一一个个会会话话和和一一个个连连接接,连连接接一一定定是是新新的的,但但会会话话可可能能是是新新的的,也也可可能能是是已存在的会话。已存在的会话。31SSL协议协议5 握手协议握手协议消息描述消息描述握手协议由一系列在客户端和服务器端之间交握手协议由一系列在客户端和服务器端之间交换的消息组成换的消息组成HelloRequest(问候请求问候请求)ClientHello(客户端问候客户端问候)消息消息ServerHello(服务器问候服务器问
19、候)消息消息ServerCertificate(服务器证明服务器证明)消息消息ServerKeyExchange(服务器密钥交换服务器密钥交换)消息消息CertificateRequest(证明请求证明请求)消息消息ServerHelloDone(服务器问候结束服务器问候结束)消息消息32ClientCertificate(客户端证明客户端证明)消息消息ClientKeyExchange(客户端密钥交换客户端密钥交换)消息消息CertificateVerify(证明检查证明检查)消息消息Finished(结束结束)消息消息33SSL协议协议5 握手协议握手协议建立一个新的握手过程建立一个新的握
20、手过程Client hello包括:包括:客户端支持的客户端支持的SSL版本号版本号产生的随机数产生的随机数会话会话ID密码算法列表密码算法列表压缩方法列表压缩方法列表Clientserver34Client helloServer hello(server Certificate)(Server key exchange)(certificate request)Server hello doneClientserverServer hello:从客户列表中选出的从客户列表中选出的SSL版本号版本号产生的随机数产生的随机数会话会话ID从客户列表中选出密码算法从客户列表中选出密码算法选定的压缩
21、算法选定的压缩算法Server Certificate:由由CA签发的签发的X.509证书。证书。包括服务器的信息和公钥包括服务器的信息和公钥客户可以使用这个公钥向服务器发客户可以使用这个公钥向服务器发送加密信息送加密信息Server key exchange:补充,为客户端进一步补充,为客户端进一步提供算法变量提供算法变量Certificate request:一般客户端是匿名的一般客户端是匿名的Server hello done完成通信,等待客户端应答完成通信,等待客户端应答35ClienthelloServerhello(Server Certificate)(Server key ex
22、change)(certificaterequest)Serverhellodone(clientCertificate)Clientkeyexchange(certificateverify)ChangecipherspecfinishedClient Certificate:客户的客户的X.509证书。证书。Client key exchange:随机数,用于会话密钥的建立随机数,用于会话密钥的建立Certificate verify:若用户提供了证书,将用私钥对若用户提供了证书,将用私钥对信息签名信息签名Change cipher spec表示将使用选定的密码算法和参表示将使用选定的密码
23、算法和参数处理将来的通信。但是客户端数处理将来的通信。但是客户端不需要将密钥告诉服务器,因为不需要将密钥告诉服务器,因为服务器可使用前面的随机数和算服务器可使用前面的随机数和算法计算出同样的密钥。法计算出同样的密钥。Finished:使用会话密钥加密使用会话密钥加密36ClienthelloServerhello(Server Certificate)(Server key exchange)(certificaterequest)Serverhellodone(Client Certificate)Clientkeyexchange(certificateverify)Changeciphe
24、rspecfinishedChangecipherspecfinishedChange cipher spec:向客户端显示它也将使向客户端显示它也将使用与客户端相同的参数用与客户端相同的参数来加密将来所有的通信来加密将来所有的通信Finished:使用会话密钥加密使用会话密钥加密37恢复一个已存会话的握手过程恢复一个已存会话的握手过程Clienthello:会话会话ID是要恢复的会话是要恢复的会话的的sessionid服务器发送一个含有相服务器发送一个含有相同同sessionid的的ServerHello消息消息idClienthelloServerhelloChangecipherspec
25、Server_hello_doneChangecipherspecfinishedApplicationdata38SSL协议协议5 握手协议握手协议要注意的问题:要注意的问题:由于公钥加密算法的速度非常慢。为了提高性能,由于公钥加密算法的速度非常慢。为了提高性能,双方可以缓存并重用在握手协议过程中交换的信双方可以缓存并重用在握手协议过程中交换的信息。该过程称为息。该过程称为会话会话IDID重用重用。如果在握手协议的过程中可以确定协议的客户端如果在握手协议的过程中可以确定协议的客户端和服务器所共享的一个会话和服务器所共享的一个会话IDID的话,就可以略过的话,就可以略过公钥和认证操作,同时可以
26、在密钥生成的过程中公钥和认证操作,同时可以在密钥生成的过程中重用先前生成的共享秘密。重用先前生成的共享秘密。39SSL协议协议6 密码计算密码计算主密码:从预主密码衍生出来的主密码:从预主密码衍生出来的预主密码:在预主密码:在RSA密码技术预主密码是由客户密码技术预主密码是由客户端生成,然后通过端生成,然后通过ClientKeyExchange消息发消息发送给服务器的。送给服务器的。MAC写密钥和写密钥:对于一个连接,写密钥和写密钥:对于一个连接,从主密从主密码中生成的。用于每次连接的加密。码中生成的。用于每次连接的加密。40一个简化的例子一个简化的例子假定假定A有一个使用有一个使用SSL的安
27、全网页。的安全网页。B上网时用鼠标点击到这个安全网页的链接上网时用鼠标点击到这个安全网页的链接(https).接着,服务器和浏览器进行握手协议。接着,服务器和浏览器进行握手协议。4142SSL协议小结协议小结1、基于的安全技术、基于的安全技术2、协议的位置、协议的位置3、通信步骤、通信步骤4、提供的安全保护、提供的安全保护5、协议栈、协议栈6、连接和会话、连接和会话7、握手协议、握手协议SSL握手协议握手协议SSL记录协议记录协议TCPIPSSL告警协议告警协议SSL修改修改密文协议密文协议应用数据协议应用数据协议HTTP、FTP、Telnet等等43因特网与因特网与TCP/IP安全安全SSL
28、协议协议SET协议协议IPSec协议协议44信用卡在线支付信用卡在线支付SSL模式模式45信用卡在线支付信用卡在线支付SSL模式优缺点模式优缺点1、流程很简单、流程很简单2、架构简单,认证简单、处理速度快、费用低、架构简单,认证简单、处理速度快、费用低3、使用方便、使用方便461、付款人的信用卡资料先传到商家,再转发给付款人的信用卡资料先传到商家,再转发给银行,付款人无法确认商家是否能保密自己的银行,付款人无法确认商家是否能保密自己的相关信息相关信息2、只能提供交易中客户与服务器间的双方认证,、只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,在涉及多方的电子交易中,SSL协议并
29、不能协调协议并不能协调各方间的安全传输和信任关系。各方间的安全传输和信任关系。SSL协议运行的基础是商家对消费者信息保密的协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。承诺,这就有利于商家而不利于消费者。47在电子商务初级阶段,由于运作电子商务的企在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。中的单一认证问
30、题就越来越突出。在这种情况下,在这种情况下,Visa和和MasterCard两大信用卡两大信用卡公组织制定了公组织制定了SET协议,为网上信用卡支付提协议,为网上信用卡支付提供了全球性的标准。供了全球性的标准。48Secure Electronic TransactionsProtect credit card transaction on the Internet.Companies involved:MasterCard,Visa,IBM,Microsoft,Netscape,RSA,Terisa and VerisignSet of security protocols and form
31、ats.49Key Features of SETConfidentiality of informationIntegrity of dataCardholder account authenticationMerchant authenticationProvides tust by the use of X.509v3 digital certificates.50SET Participants51信用卡的信用卡的数字证书数字证书来自银行来自银行的数字证的数字证书书定购货物定购货物商家有效性的确认商家有效性的确认发送定购信息和支付信息发送定购信息和支付信息订购订购者的者的消息消息传送传
32、送到收到收单行单行确认用户信用卡确认用户信用卡认可认可认可认可传送货物和收据传送货物和收据索款索款52Sequence of events for transactions1.持卡人打开一个银行账号。持卡人打开一个银行账号。2.持持卡卡人人收收到到一一个个作作为为在在线线购购买买或或其其他他交交易易的的信信用用卡卡的的电电子子证证书书,它它包包括括一一个公钥和一个有效期限。个公钥和一个有效期限。3.商家也收到来自银行的证书,包括商家的公钥和银行的公钥。商家也收到来自银行的证书,包括商家的公钥和银行的公钥。4.持卡人定购货物。持卡人定购货物。5.持卡人的浏览器得到来自商家证书的关于商家有效性的确
33、认。持卡人的浏览器得到来自商家证书的关于商家有效性的确认。6.浏浏览览器器发发送送定定购购信信息息,信信息息用用商商家家的的公公钥钥加加密密,支支付付信信息息用用银银行行的的公公钥钥加加密以保证支付只为特定的订购者使用。密以保证支付只为特定的订购者使用。7.商家通过检查持卡人证书中的数字签名来验证持卡人。商家通过检查持卡人证书中的数字签名来验证持卡人。8.商商家家把把订订购购者者的的消消息息传传送送到到收收单单行行,收收单单行行可可以以解解密密信信用用卡卡号号,并并通通过过认认证验证签名;证验证签名;9.收单行向发卡行查问,确认用户信用卡是否属实;收单行向发卡行查问,确认用户信用卡是否属实;1
34、0.发卡行认可并签证该笔交易;发卡行认可并签证该笔交易;11.收单行认可商家并签证此交易;收单行认可商家并签证此交易;12.商家向持卡人传送货物和收据;商家向持卡人传送货物和收据;13.交易成功,商家向收单行索款;交易成功,商家向收单行索款;14.14.收单行按合同将货款划给商家。收单行按合同将货款划给商家。53Dual Signature它它允允许许将将两两种种数数据据连连接接在在一一起起并并交交给给两两个个不不同同的的实体处理实体处理。消费者想要将消费者想要将订购信息订购信息(OI)OI)发送给发送给商家商家将将支付信息支付信息(PI)PI)发送给发送给银行银行。商家不必知道消费者的信用卡
35、号码商家不必知道消费者的信用卡号码银行也不必知道消费者订单的细节银行也不必知道消费者订单的细节消消费费者者可可以以证证明明这这个个支支付付是是用用于于这这次次订订购购而而不不是是用用于其他某种货物或服务。于其他某种货物或服务。思考思考为为什么要什么要连连接?接?54Dual Signature假假设设消消费费者者将将两两个个报报文文发发送送给给商商家家签签名名的的OIOI和签名的和签名的PIPI接着商家将接着商家将PIPI继续传递给银行。继续传递给银行。如如果果商商家家可可以以截截获获来来自自这这个个消消费费者者的的另另一一个个OIOI,商商家家可可以以声声明明后后一一个个OIOI是是和和那那
36、个个PIPI一一起起的的而而不是原来的不是原来的OIOI。连接可以防止这个问题连接可以防止这个问题。OI PI OI PI第一次第一次电视机电视机卡号¥卡号¥5000第二次第二次电话电话卡号¥卡号¥5055Dual Signature561 1 商家收到商家收到PIMDPIMD、OIOI、DS,DS,知道知道KucKuc持卡人的公钥持卡人的公钥计算计算H(PIMD|H(OI)H(PIMD|H(OI)和和D DKUcKUcDSDS,验证该签名。验证该签名。思考:如何验证思考:如何验证订购信息的完整?订购信息的完整?572 2银行收到银行收到OIMDOIMD、PIPI、DS,DS,知道知道KucK
37、uc持卡人的公钥持卡人的公钥计算计算H(OIMD|H(PI)H(OIMD|H(PI)和和D DKUcKUcDSDS,验证该签名。验证该签名。思考:如何验证思考:如何验证支付信息的完整?支付信息的完整?583 3 消消费费者者将将OIOI和和PIPI连连接接起起来来并并且且能能够够证证明明这这个个连接关系。连接关系。59思考:商家是否可用另一个思考:商家是否可用另一个OIOI来代替?来代替?那么它就必须找到另一个散列数据与已经存在那么它就必须找到另一个散列数据与已经存在的的OIMDOIMD相匹配的相匹配的OIOI,这被认为是不可行的。因这被认为是不可行的。因此,商家不能将另一个此,商家不能将另一
38、个OIOI与这个与这个PIPI相连接。相连接。60基于基于SET的的CA的分级结构的分级结构 根根CA品牌品牌CA地区地区CA持卡人持卡人CA商家商家CA支付网关支付网关CA持卡人持卡人商家商家支付网关支付网关61书书P131P131购买请求购买请求:用户与商家确定所用支付方式的细节;:用户与商家确定所用支付方式的细节;支支付付授授权权:商商家家会会与与银银行行核核实实,随随着着交交易易的的进进展展,他们将得到付款他们将得到付款支支付付获获取取:商商家家向向银银行行出出示示所所有有交交易易的的细细节节,然然后后银行以适当方式转移货款。银行以适当方式转移货款。SET规范定义的交易类型规范定义的交
39、易类型 621.1.1.1.购买请求购买请求购买请求购买请求购买请求由持卡人和商家之间交换的购买请求由持卡人和商家之间交换的4 4个消息组成:个消息组成:发发起起请请求求:持持卡卡人人软软件件请请求求网网关关证证书书的的一一个个拷拷贝贝;表表明该交易中将使用何种品牌的支付卡。明该交易中将使用何种品牌的支付卡。发起响应:发起响应:唯一的唯一的交易标识符交易标识符。商家商家证书证书以及支付网关的证书以及支付网关的证书商家的私钥对该信息进行数字签名后发送给持卡人。商家的私钥对该信息进行数字签名后发送给持卡人。购买请求购买请求:收收到到发发起起响响应应消消息息之之后后,持持卡卡人人软软件件验验证证商商
40、家家和和支支付付网网关关的的证书。证书。持卡人软件使用持卡人软件使用OIOI和和PIPI来产生一个双向签名。来产生一个双向签名。最后,持卡人软件生成一个购买请求消息。最后,持卡人软件生成一个购买请求消息。持卡人生成了一次性的对称加密密钥持卡人生成了一次性的对称加密密钥s s。63SET消息消息PI双向签名双向签名OIMDDES加密加密RSA加密加密KsKUb请求报文请求报文数字信封数字信封SET密文密文PIMDOI持卡人证书持卡人证书双向签名双向签名PIPI支付信息支付信息OIOI订购信息订购信息PIMDPIMDPIPI报文摘要报文摘要OIMDOIMDOIOI报文摘要报文摘要KsKs临时的对称
41、密钥临时的对称密钥KUbKUb银行的公开密钥交换的密钥银行的公开密钥交换的密钥与购买相关的信息。这个信息将被商家转发给支付网关与购买相关的信息。这个信息将被商家转发给支付网关与订购有关的信息。商家需要这个信息与订购有关的信息。商家需要这个信息持卡人的证书。持卡人的证书。64(4)(4)购买响应购买响应 :通过持卡人的签名来验证持卡人的证书。通过持卡人的签名来验证持卡人的证书。使使用用消消费费者者的的公公开开签签名名密密钥钥来来验验证证双双向向签签名名。这这样样可可以以确确保保订订购购信信息息在在传传输输过过程程中中没没有有被被篡篡改改,并并且且它它使使用用了了持持卡卡人人的的私有签名密钥进行了
42、签名。私有签名密钥进行了签名。处理订购信息,并将支付信息转交给支付网关进行认可。处理订购信息,并将支付信息转交给支付网关进行认可。最最后后,商商家家生生成成一一个个购购买买响响应应消消息息,它它表表明明商商家家已已经经收收到到持卡人的请求。持卡人的请求。一一旦旦收收到到了了商商家家的的购购买买响响应应,持持卡卡人人软软件件就就验验证证商商家家的的证证书书以以及及消消息息内内容容的的数数字字签签名名。在在此此时时刻刻,持持卡卡人人软软件件基基于于这这些些消消息息将将采采取取一一些些行行动动,诸诸发发向向持持卡卡人人显显示示一一个个消消息息,或或者者用用订订单单的状态来更新数据库。的状态来更新数据
43、库。65HOIMDRSA解密解密KUC请求报文请求报文SET密文密文数字信封数字信封PIMDOI持卡人证书持卡人证书双向签名双向签名POMDPOMDH|比较比较OI=订购信息订购信息OIMDOI报文摘要报文摘要POMD支付订购报文摘要支付订购报文摘要H散列函数(散列函数(SHA1)KUC顾客的公开签名密钥顾客的公开签名密钥662.2.2.2.支付授权支付授权支付授权支付授权授授权权请请求求:商商家家软软件件生生成成并并数数字字签签发发一一个个授授权权请请求求,其其中中包包括括授授权权的的数数量量、来来自自OIOI的的交交易易标标识识符符以以及及其其他他的的关关于于交交易易的的信信息息。然然后后
44、,使使用用支支付付网网关关的的公公钥钥对对这这一一信信息息生生成成一一个个数数字字信信封封。授授权权请请求求和和持持卡卡人人的的PIPI(它它也也以以数字信封的形式传给支付网关)被传送给支付网关。数字信封的形式传给支付网关)被传送给支付网关。授授权权响响应应:当当收收到到授授权权请请求求时时,支支付付网网关关解解密密并并验验证证消消息息(也也就就是是证证书书和和PIPI)的的内内容容。如如果果一一切切都都是是合合法法的的,那那么么支支付付网网关关会会生生成成一一个个授授权权响响应应消消息息;然然后后用用商商家家的的公钥对之生成一个数字信封并将它传送加商家。公钥对之生成一个数字信封并将它传送加商
45、家。一一旦旦收收到到了了支支付付网网关关的的授授权权响响应应消消息息,商商家家就就解解密密数数字字信信封封并并验验证证里里面面的的数数据据。如如果果本本购购买买是是授授权权过过的的,则则商商家家通通过过发发送送货货物物或或者者完完成成在在订订单单内内指指明明的的服服务务来来完完成成对对持卡人订单的处理。持卡人订单的处理。Payment processing673.3.3.3.支付回复支付回复支付回复支付回复 回回复复请请求求:商商家家软软件件生生成成回回复复请请求求,它它包包括括交交易易的的最最终终数数量量、交交易易标标识识符符以以及及其其他他的的关关于于交交易易的的信信息息。然然后后使使用用
46、支支付付网网关关的的公公钥钥对对这这一一消消息息生生成成数数字字信信封封并并传传送送给给支付网关。支付网关。回回复复响响应应:接接收收到到回回复复请请求求并并验验证证了了它它的的内内容容之之后后,支支付付网网关关将将生生成成一一个个回回复复响响应应。回回复复响响应应包包括括与与该该请请求求交交易易的的支支付付有有关关的的信信息息。然然后后使使用用商商家家的的公公钥钥对对这这一一响响应生成数字信封并将之传送回商家。应生成数字信封并将之传送回商家。一一旦旦收收到到了了支支付付网网关关的的回回复复响响应应,商商家家软软件件就就解解密密数数字字信信封封,验验证证签签名名和和消消息息数数据据,用用于于同
47、同从从收收单单行行那那里里接接收收的支付相匹配。的支付相匹配。Payment processing68SET协议与协议与SSL协议的比较协议的比较1、在认证要求方面在认证要求方面,早期的早期的SSL并没有提供商家身份认证机制,虽然在并没有提供商家身份认证机制,虽然在SSL3.0中中可以通过数字签名和数字证书可实现浏览器和可以通过数字签名和数字证书可实现浏览器和Web服务器双服务器双方的身份验证,但仍方的身份验证,但仍不能实现多方认证不能实现多方认证;相比之下,相比之下,SET的安全要求较高,所有参与的安全要求较高,所有参与SET交易的成员交易的成员(持卡人、商家、发卡行、收单行和支付网关)都必
48、须申请(持卡人、商家、发卡行、收单行和支付网关)都必须申请数字证书进行身份识别。数字证书进行身份识别。2、在安全性方面,在安全性方面,SET协议规范了协议规范了整个商务活动的流程整个商务活动的流程,从持卡人到商家,到,从持卡人到商家,到支付网关,到认证中心以及信用卡结算中心之间的信息流走支付网关,到认证中心以及信用卡结算中心之间的信息流走向和必须采用的加密、认证都制定了严密的标准,从而最大向和必须采用的加密、认证都制定了严密的标准,从而最大限度地保证了商务性、服务性、协调性和集成性。限度地保证了商务性、服务性、协调性和集成性。而而SSL只对持卡人与商店端的只对持卡人与商店端的信息交换进行加密保
49、护,可以信息交换进行加密保护,可以看作是用于看作是用于传输的那部分的技术规范传输的那部分的技术规范。从电子商务特性来看,。从电子商务特性来看,它并不具备商务性、服务性、协调性和集成性。因此它并不具备商务性、服务性、协调性和集成性。因此SET的的安全性比安全性比SSL高。高。693、在网络层协议位置方面在网络层协议位置方面,SSL是基于传输层的通用安全协议,是基于传输层的通用安全协议,而而SET位于应用层,对网络上其他各层也有涉及。位于应用层,对网络上其他各层也有涉及。4、在应用领域方面,、在应用领域方面,SSL主要是和主要是和Web应用一起工作,而应用一起工作,而SET是为信用卡交易提供安全,
50、因此如果电子商务应用只是通过是为信用卡交易提供安全,因此如果电子商务应用只是通过Web或是电子邮件,则可以不要或是电子邮件,则可以不要SET。但如果电子商务应用是。但如果电子商务应用是一个涉及多方交易的过程,则使用一个涉及多方交易的过程,则使用SET更安全、更通用些。更安全、更通用些。总之:总之:SSL协议实现简单,独立于应用层协议,大部分内置于浏览器和协议实现简单,独立于应用层协议,大部分内置于浏览器和Web服务器中,在电子交易中应用便利。但它是一个面向连接服务器中,在电子交易中应用便利。但它是一个面向连接的协议,只能提供交易中客户与服务器间的双方认证,不能实的协议,只能提供交易中客户与服务