《第7章-电子商务安全协议19729.pptx》由会员分享,可在线阅读,更多相关《第7章-电子商务安全协议19729.pptx(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章 电子商务安全协议 第七章 安全电子交易协议安全电子交易协议SET l l7.1 7.1 电子商务安全协议概述电子商务安全协议概述 l l7.2 7.2 安全电子交易协议安全电子交易协议 l l7.3 7.3 安全套接层协议安全套接层协议 l l7.4 7.4 安全超文本传输协议安全超文本传输协议l l7.5 EDI7.5 EDI协议协议l l电子商务安全协议是保证网上交易的机密性、信息电子商务安全协议是保证网上交易的机密性、信息电子商务安全协议是保证网上交易的机密性、信息电子商务安全协议是保证网上交易的机密性、信息完整性、身份合法性和不可否认性的基础完整性、身份合法性和不可否认性的基础
2、完整性、身份合法性和不可否认性的基础完整性、身份合法性和不可否认性的基础l l完成信息安全交换共同约定的逻辑操作规则。完成信息安全交换共同约定的逻辑操作规则。完成信息安全交换共同约定的逻辑操作规则。完成信息安全交换共同约定的逻辑操作规则。l l包括:安全电子交易协议包括:安全电子交易协议包括:安全电子交易协议包括:安全电子交易协议SETSETSETSET、安全套阶层协议、安全套阶层协议、安全套阶层协议、安全套阶层协议SSLSSLSSLSSL、安全超文本传输协议安全超文本传输协议安全超文本传输协议安全超文本传输协议S-HTTPS-HTTPS-HTTPS-HTTP、电子数据交换、电子数据交换、电子
3、数据交换、电子数据交换EDIEDIEDIEDI和和和和IPIPIPIP安全协议安全协议安全协议安全协议IPsecIPsecIPsecIPsec7.1 电子商务安全协议概述7.2 安全电子交易协议l l安全电子交易协议安全电子交易协议安全电子交易协议安全电子交易协议SET(Secure Electronic SET(Secure Electronic SET(Secure Electronic SET(Secure Electronic Transaction)Transaction)Transaction)Transaction)是由是由是由是由VisaVisaVisaVisa和和和和Mast
4、er CardMaster CardMaster CardMaster Card所开发的,是为所开发的,是为所开发的,是为所开发的,是为了在了在了在了在InternetInternetInternetInternet上进行在线交易时,保证上进行在线交易时,保证上进行在线交易时,保证上进行在线交易时,保证信用卡支付的安信用卡支付的安信用卡支付的安信用卡支付的安全全全全而设计开发的一个开放的规范。由于得到了而设计开发的一个开放的规范。由于得到了而设计开发的一个开放的规范。由于得到了而设计开发的一个开放的规范。由于得到了IBMIBMIBMIBM、HPHPHPHP、MicrosoftMicrosoft
5、MicrosoftMicrosoft、NetScapeNetScapeNetScapeNetScape、GTEGTEGTEGTE、VerisignVerisignVerisignVerisign等很多大公司的等很多大公司的等很多大公司的等很多大公司的支持,它已成了事实上的工业标准,目前它已获得支持,它已成了事实上的工业标准,目前它已获得支持,它已成了事实上的工业标准,目前它已获得支持,它已成了事实上的工业标准,目前它已获得IEEEIEEEIEEEIEEE标准的认可。标准的认可。标准的认可。标准的认可。l lSETSETSETSET提供了消费者、商家和银行之间的认证,确保了网提供了消费者、商家和
6、银行之间的认证,确保了网提供了消费者、商家和银行之间的认证,确保了网提供了消费者、商家和银行之间的认证,确保了网上交易数据的保密性、数据的完整性及交易的不可抵赖上交易数据的保密性、数据的完整性及交易的不可抵赖上交易数据的保密性、数据的完整性及交易的不可抵赖上交易数据的保密性、数据的完整性及交易的不可抵赖性。特别是能保证不将消费者银行卡号暴露给商家,不性。特别是能保证不将消费者银行卡号暴露给商家,不性。特别是能保证不将消费者银行卡号暴露给商家,不性。特别是能保证不将消费者银行卡号暴露给商家,不将消费者的购物内容暴露给银行等优点,将消费者的购物内容暴露给银行等优点,将消费者的购物内容暴露给银行等优
7、点,将消费者的购物内容暴露给银行等优点,SETSETSETSET在一些国在一些国在一些国在一些国家中得到很好的应用。家中得到很好的应用。家中得到很好的应用。家中得到很好的应用。l lSETSETSETSET采用公钥密码体制,遵循采用公钥密码体制,遵循采用公钥密码体制,遵循采用公钥密码体制,遵循X.509X.509X.509X.509数字证书标准。数字证书标准。数字证书标准。数字证书标准。l lSETSETSETSET协议使用加密技术提供信息的机密性,保证支付的协议使用加密技术提供信息的机密性,保证支付的协议使用加密技术提供信息的机密性,保证支付的协议使用加密技术提供信息的机密性,保证支付的完整
8、性,验证商家和持卡者。完整性,验证商家和持卡者。完整性,验证商家和持卡者。完整性,验证商家和持卡者。l lSETSETSETSET是一种网络银行卡付款机制。是基于可信第三方认是一种网络银行卡付款机制。是基于可信第三方认是一种网络银行卡付款机制。是基于可信第三方认是一种网络银行卡付款机制。是基于可信第三方认证中心的方案。证中心的方案。证中心的方案。证中心的方案。l l支付安全的目标是:支付安全的目标是:支付安全的目标是:支付安全的目标是:l l保证信息机交易过程安全。保证信息机交易过程安全。保证信息机交易过程安全。保证信息机交易过程安全。l l支持应用的互操作性。支持应用的互操作性。支持应用的互
9、操作性。支持应用的互操作性。l l实现可推广性。实现可推广性。实现可推广性。实现可推广性。7.2 安全电子交易协议l l在在在在SETSETSETSET协议中主要定义了以下内容。协议中主要定义了以下内容。协议中主要定义了以下内容。协议中主要定义了以下内容。(1)(1)(1)(1)加密算法的应用加密算法的应用加密算法的应用加密算法的应用(如如如如RSARSARSARSA和和和和DES)DES)DES)DES)。(2)(2)(2)(2)证书消息和对象格式。证书消息和对象格式。证书消息和对象格式。证书消息和对象格式。(3)(3)(3)(3)购买消息和对象格式。购买消息和对象格式。购买消息和对象格式。
10、购买消息和对象格式。(4)(4)(4)(4)请款消息和对象格式。请款消息和对象格式。请款消息和对象格式。请款消息和对象格式。(5)(5)(5)(5)参与者之间的消息协议。参与者之间的消息协议。参与者之间的消息协议。参与者之间的消息协议。7.2 安全电子交易协议7.2 安全电子交易协议7.2.2 SET7.2.2 SET7.2.2 SET7.2.2 SET交易的参与者交易的参与者交易的参与者交易的参与者l l电子交易处理开始于持卡者。电子交易处理开始于持卡者。电子交易处理开始于持卡者。电子交易处理开始于持卡者。(1)(1)(1)(1)持卡者持卡者持卡者持卡者(Cardholder)(Cardho
11、lder)(Cardholder)(Cardholder)。在电子商务环境中,消费者和。在电子商务环境中,消费者和。在电子商务环境中,消费者和。在电子商务环境中,消费者和团体购买者通过计算机与商家进行交互,持卡者使用一团体购买者通过计算机与商家进行交互,持卡者使用一团体购买者通过计算机与商家进行交互,持卡者使用一团体购买者通过计算机与商家进行交互,持卡者使用一个发卡行发行的支付卡。个发卡行发行的支付卡。个发卡行发行的支付卡。个发卡行发行的支付卡。(2)(2)(2)(2)发卡行发卡行发卡行发卡行(Issuer)(Issuer)(Issuer)(Issuer)。一个发卡行是一个金融机构,为持。一个
12、发卡行是一个金融机构,为持。一个发卡行是一个金融机构,为持。一个发卡行是一个金融机构,为持卡者建立一个账户并发行支付卡,一个发卡行保证对经卡者建立一个账户并发行支付卡,一个发卡行保证对经卡者建立一个账户并发行支付卡,一个发卡行保证对经卡者建立一个账户并发行支付卡,一个发卡行保证对经过授权的交易进行付款。过授权的交易进行付款。过授权的交易进行付款。过授权的交易进行付款。(3)(3)(3)(3)商家商家商家商家(Merchant)(Merchant)(Merchant)(Merchant)。商家提供商品和服务,在。商家提供商品和服务,在。商家提供商品和服务,在。商家提供商品和服务,在SETSETS
13、ETSET中,商中,商中,商中,商家与持卡者可以进行安全电子交易,一个商家必须与相家与持卡者可以进行安全电子交易,一个商家必须与相家与持卡者可以进行安全电子交易,一个商家必须与相家与持卡者可以进行安全电子交易,一个商家必须与相关的收单行达成协议,保证可以接收支付卡付款。关的收单行达成协议,保证可以接收支付卡付款。关的收单行达成协议,保证可以接收支付卡付款。关的收单行达成协议,保证可以接收支付卡付款。7.2 安全电子交易协议(4)(4)(4)(4)收单行收单行收单行收单行(Acquirer)(Acquirer)(Acquirer)(Acquirer)。一个收单行是一个金融机构,为。一个收单行是一
14、个金融机构,为。一个收单行是一个金融机构,为。一个收单行是一个金融机构,为商家建立一个账户并处理支付卡授权和支付。商家建立一个账户并处理支付卡授权和支付。商家建立一个账户并处理支付卡授权和支付。商家建立一个账户并处理支付卡授权和支付。(5)(5)(5)(5)支付网关支付网关支付网关支付网关(Payment Gateway)(Payment Gateway)(Payment Gateway)(Payment Gateway)。一个支付网关是一个由。一个支付网关是一个由。一个支付网关是一个由。一个支付网关是一个由收单行操作的设备,或者是指定的第三方,用于处理支收单行操作的设备,或者是指定的第三方,
15、用于处理支收单行操作的设备,或者是指定的第三方,用于处理支收单行操作的设备,或者是指定的第三方,用于处理支付卡授权和支付。付卡授权和支付。付卡授权和支付。付卡授权和支付。(6)(6)(6)(6)认证中心认证中心认证中心认证中心(CA)(CA)(CA)(CA)。负责发放和管理数字证书的权威机构。负责发放和管理数字证书的权威机构。负责发放和管理数字证书的权威机构。负责发放和管理数字证书的权威机构。采用多层分级结构,负责发放和撤销持卡人、商家和支采用多层分级结构,负责发放和撤销持卡人、商家和支采用多层分级结构,负责发放和撤销持卡人、商家和支采用多层分级结构,负责发放和撤销持卡人、商家和支付网关的证书
16、。付网关的证书。付网关的证书。付网关的证书。(7)(7)(7)(7)第三方第三方第三方第三方(Third Parties)(Third Parties)(Third Parties)(Third Parties)。发卡行和收单行有时指定第。发卡行和收单行有时指定第。发卡行和收单行有时指定第。发卡行和收单行有时指定第三方来处理支付卡交易,在三方来处理支付卡交易,在三方来处理支付卡交易,在三方来处理支付卡交易,在SETSETSETSET协议中没有区分金融机协议中没有区分金融机协议中没有区分金融机协议中没有区分金融机构和交易处理者,认为是一家。构和交易处理者,认为是一家。构和交易处理者,认为是一家。
17、构和交易处理者,认为是一家。7.2 安全电子交易协议7.2 安全电子交易协议7.2.3 SET7.2.3 SET7.2.3 SET7.2.3 SET协议的相关技术协议的相关技术协议的相关技术协议的相关技术l l在在在在SETSETSETSET中所涉及到的技术主要有加密技术和身份认证技中所涉及到的技术主要有加密技术和身份认证技中所涉及到的技术主要有加密技术和身份认证技中所涉及到的技术主要有加密技术和身份认证技术,其中加密技术是核心,包括:术,其中加密技术是核心,包括:术,其中加密技术是核心,包括:术,其中加密技术是核心,包括:(1 1 1 1)对称加密技术)对称加密技术)对称加密技术)对称加密技
18、术(2 2 2 2)非对称加密技术)非对称加密技术)非对称加密技术)非对称加密技术(7 7 7 7)消息摘要技术)消息摘要技术)消息摘要技术)消息摘要技术(4 4 4 4)数字签名)数字签名)数字签名)数字签名(5 5 5 5)数字信封)数字信封)数字信封)数字信封(6 6 6 6)双重数字签名)双重数字签名)双重数字签名)双重数字签名(7 7 7 7)数字证书)数字证书)数字证书)数字证书7.2 安全电子交易协议7.2 安全电子交易协议l对于一些信息的流动必须要做到端对端加密。但有些信对于一些信息的流动必须要做到端对端加密。但有些信息端对端加密还不够,如银行卡中与资金有关的数据,息端对端加密
19、还不够,如银行卡中与资金有关的数据,持卡人就不想让商户看到;而购物有关的数据,商户又持卡人就不想让商户看到;而购物有关的数据,商户又不想让收单银行看到,但端对端加密办法就做不到这一不想让收单银行看到,但端对端加密办法就做不到这一点。点。l一个完整的购买交易所需的信息包括:一个完整的购买交易所需的信息包括:l交易开始交易开始(PInit Req/PInit Res)(PInit Req/PInit Res)l购买指令购买指令(PReq(PReqPRes)PRes)l授权请求授权请求(AuthReq(AuthReqAuthRes)AuthRes)l支付指令支付指令(Cap Req(Cap ReqC
20、apRes)CapRes)l持卡人查询持卡人查询(InqReq(InqReqlnq Res)lnq Res)7.2 安全电子交易协议持卡人商户支付网关(收单银行)PInit ReqPInit ResPReqPResIng ReqIng ResPReq之后时间可选Auth ReqAuth ResCap ReqCap ResSET交易步骤7.2 安全电子交易协议PI Data.OI DataTrans IDBrand IDDateChall_CChall_MODsalt(nonce)H(OI Data)H(PI Data)HashOIOI DataDual SigH2SignH2Sigc订货信息结
21、构7.2 安全电子交易协议双重数字签名-生成OIPIB:订货信息C:支付信息MDBMDCMDBCDSPVARSA双重数字签名C(PI)DS MDB PBA EMCSK2DESDECSK2PBCB(OI)DS MDC PBA EMBSK1DESDEBSK1PBB双重数字签名-生成B(OI)DS MDC PBA EMBSK1DESDEBSK1PBBC(PI)DS MDB PBA EMCSK2DESDECSK2PBC发送给商户B的信息发送给银行C的信息双重数字签名B验证EMBDMBEMCDMCEMBB(OI)DSMDCPBASK1DESMDBMDBCDSMDBC比较PBARSADEBPVBRSASK
22、1双重数字签名C验证EMBDMBEMCDMCEMCC(PI)DSMDBPBASK2DESMDCMDBCDSMDBC比较PBARSADECPVCRSASK2消费者(持卡人)认证中心CA电子钱包网上商店支付网关发卡行银行卡总中心ISO 8583银行网络SETSETSETSET电子商务环境7.2 安全电子交易协议7.2.4 SET7.2.4 SET的交易流程的交易流程l采用采用SETSET的电子商务交易分为的电子商务交易分为3 3个阶段:个阶段:(1 1)信用卡持有者与商家协商交易商品列表及所采用的)信用卡持有者与商家协商交易商品列表及所采用的支付方式。支付方式。(2 2)信用卡持有者发送支付货款指
23、令,商家与银行核实)信用卡持有者发送支付货款指令,商家与银行核实付款。付款。(3 3)商家向银行出示所有交易细节,银行以适当的方式)商家向银行出示所有交易细节,银行以适当的方式向商家转移货款。向商家转移货款。7.2 安全电子交易协议7.2.4 SET7.2.4 SET7.2.4 SET7.2.4 SET交易流程交易流程交易流程交易流程7.2 安全电子交易协议7.3 安全套接层协议l lSSLSSLSSLSSL是提供是提供是提供是提供InternetInternetInternetInternet上的通信隐私性的安全协议。该协上的通信隐私性的安全协议。该协上的通信隐私性的安全协议。该协上的通信隐
24、私性的安全协议。该协议允许客户端服务器应用之间进行防窃听、防消息篡议允许客户端服务器应用之间进行防窃听、防消息篡议允许客户端服务器应用之间进行防窃听、防消息篡议允许客户端服务器应用之间进行防窃听、防消息篡改及消息伪造的安全的通信。改及消息伪造的安全的通信。改及消息伪造的安全的通信。改及消息伪造的安全的通信。l lTCPTCPTCPTCPIPIPIPIP是整个是整个是整个是整个InternetInternetInternetInternet数据传输和通信所使用的最基数据传输和通信所使用的最基数据传输和通信所使用的最基数据传输和通信所使用的最基本的控制协议。本的控制协议。本的控制协议。本的控制协议
25、。SSLSSLSSLSSL协议可以有效地避免网上信息的偷协议可以有效地避免网上信息的偷协议可以有效地避免网上信息的偷协议可以有效地避免网上信息的偷听、篡改以及消息的伪造。听、篡改以及消息的伪造。听、篡改以及消息的伪造。听、篡改以及消息的伪造。TCP/IP LayerSecure Sockets Layer网络通信层网络通信层应用层应用层HTTPLDAPIMAPl lSSLSSLSSLSSL标准的关键是要解决以下几个问题。标准的关键是要解决以下几个问题。标准的关键是要解决以下几个问题。标准的关键是要解决以下几个问题。(1)(1)(1)(1)客户对服务器的身份确认:客户对服务器的身份确认:客户对服
26、务器的身份确认:客户对服务器的身份确认:SSL SSL SSL SSL服务器允许客户的浏览器使用标准的公钥加密技服务器允许客户的浏览器使用标准的公钥加密技服务器允许客户的浏览器使用标准的公钥加密技服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心术和一些可靠的认证中心术和一些可靠的认证中心术和一些可靠的认证中心(CA)(CA)(CA)(CA)的证书,来确认服务器的证书,来确认服务器的证书,来确认服务器的证书,来确认服务器的合法性的合法性的合法性的合法性(检验服务器的证书和检验服务器的证书和检验服务器的证书和检验服务器的证书和IDIDIDID的合法性的合法性的合法性的合法性)。对于
27、用。对于用。对于用。对于用户服务器身份的确认与否是非常重要的,因为客户可户服务器身份的确认与否是非常重要的,因为客户可户服务器身份的确认与否是非常重要的,因为客户可户服务器身份的确认与否是非常重要的,因为客户可能向服务器发送自己的信用卡密码。能向服务器发送自己的信用卡密码。能向服务器发送自己的信用卡密码。能向服务器发送自己的信用卡密码。7.3 安全套接层协议(2)(2)(2)(2)服务器对客户的身份确认:服务器对客户的身份确认:服务器对客户的身份确认:服务器对客户的身份确认:允许允许允许允许SSLSSLSSLSSL服务器确认客户的身份,服务器确认客户的身份,服务器确认客户的身份,服务器确认客户
28、的身份,SSLSSLSSLSSL协议允许客户服务协议允许客户服务协议允许客户服务协议允许客户服务器的软件通过公钥技术和可信赖的证书,来确认客户的器的软件通过公钥技术和可信赖的证书,来确认客户的器的软件通过公钥技术和可信赖的证书,来确认客户的器的软件通过公钥技术和可信赖的证书,来确认客户的身份身份身份身份(客户的证书客户的证书客户的证书客户的证书clients certificate)clients certificate)clients certificate)clients certificate)。对于服务。对于服务。对于服务。对于服务器客户身份的确认与否是非常重要的,因为网上银行可器客户
29、身份的确认与否是非常重要的,因为网上银行可器客户身份的确认与否是非常重要的,因为网上银行可器客户身份的确认与否是非常重要的,因为网上银行可能要向客户发送机密的金融信息。能要向客户发送机密的金融信息。能要向客户发送机密的金融信息。能要向客户发送机密的金融信息。(3)(3)(3)(3)建立起服务器和客户之间安全的数据通道:建立起服务器和客户之间安全的数据通道:建立起服务器和客户之间安全的数据通道:建立起服务器和客户之间安全的数据通道:SSL SSL SSL SSL要求客户和服务器之间的所有的发送数据都被发送要求客户和服务器之间的所有的发送数据都被发送要求客户和服务器之间的所有的发送数据都被发送要求
30、客户和服务器之间的所有的发送数据都被发送端加密,所有的接收数据都被接收端解密,这样才能提端加密,所有的接收数据都被接收端解密,这样才能提端加密,所有的接收数据都被接收端解密,这样才能提端加密,所有的接收数据都被接收端解密,这样才能提供一个高水平的安全保证。同时供一个高水平的安全保证。同时供一个高水平的安全保证。同时供一个高水平的安全保证。同时SSLSSLSSLSSL协议会在传输过程协议会在传输过程协议会在传输过程协议会在传输过程中检查数据是否被中途修改。中检查数据是否被中途修改。中检查数据是否被中途修改。中检查数据是否被中途修改。7.3 安全套接层协议l lSSLSSLSSLSSL协议的工作流
31、程:协议的工作流程:协议的工作流程:协议的工作流程:服务器认证阶段:服务器认证阶段:服务器认证阶段:服务器认证阶段:1 1 1 1)客户端向服务器发送一个开始信息)客户端向服务器发送一个开始信息)客户端向服务器发送一个开始信息)客户端向服务器发送一个开始信息“Hello”Hello”Hello”Hello”以便以便以便以便开始一个新的会话连接;开始一个新的会话连接;开始一个新的会话连接;开始一个新的会话连接;2 2 2 2)服务器根据客户的信息确定是否需要生成新的主)服务器根据客户的信息确定是否需要生成新的主)服务器根据客户的信息确定是否需要生成新的主)服务器根据客户的信息确定是否需要生成新的
32、主密钥,如需要则服务器在响应客户的密钥,如需要则服务器在响应客户的密钥,如需要则服务器在响应客户的密钥,如需要则服务器在响应客户的“Hello”Hello”Hello”Hello”信息时信息时信息时信息时将包含生成主密钥所需的信息;将包含生成主密钥所需的信息;将包含生成主密钥所需的信息;将包含生成主密钥所需的信息;3 3 3 3)客户根据收到的服务器响应信息,产生一个主密)客户根据收到的服务器响应信息,产生一个主密)客户根据收到的服务器响应信息,产生一个主密)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;钥,并用服务器的公开密钥加密后传给服务器;钥,并用服
33、务器的公开密钥加密后传给服务器;钥,并用服务器的公开密钥加密后传给服务器;7.3 安全套接层协议 4 4 4 4)服务器恢复该主密钥,并返回给客户一个用主密钥认)服务器恢复该主密钥,并返回给客户一个用主密钥认)服务器恢复该主密钥,并返回给客户一个用主密钥认)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。证的信息,以此让客户认证服务器。证的信息,以此让客户认证服务器。证的信息,以此让客户认证服务器。用户认证阶段:用户认证阶段:用户认证阶段:用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主在此之前,服务器已经通过了客户认证,这一阶段主在此之前,服务器已经
34、通过了客户认证,这一阶段主在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给要完成对客户的认证。经认证的服务器发送一个提问给要完成对客户的认证。经认证的服务器发送一个提问给要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,客户,客户则返回(数字)签名后的提问和其公开密钥,客户,客户则返回(数字)签名后的提问和其公开密钥,客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。从而向服务器提供认证。从而向服务器提供认证。从而向服务器提供认证。7.3 安全套接层协议l lSSLSSLSSLS
35、SL协议提供的服务可以归纳为如下:协议提供的服务可以归纳为如下:协议提供的服务可以归纳为如下:协议提供的服务可以归纳为如下:1 1 1 1用户和服务器的合法性认证(认证性)用户和服务器的合法性认证(认证性)用户和服务器的合法性认证(认证性)用户和服务器的合法性认证(认证性)使得用户和服务器能够确信数据将被发送到正确的使得用户和服务器能够确信数据将被发送到正确的使得用户和服务器能够确信数据将被发送到正确的使得用户和服务器能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都有各自的识客户机和服务器上。客户机和服务器都有各自的识客户机和服务器上。客户机和服务器都有各自的识客户机和服务器上。
36、客户机和服务器都有各自的识别号,由公开密钥编排。为了验证用户,安全套接别号,由公开密钥编排。为了验证用户,安全套接别号,由公开密钥编排。为了验证用户,安全套接别号,由公开密钥编排。为了验证用户,安全套接层协议要求在握手交换数据中做数字认证,以此来层协议要求在握手交换数据中做数字认证,以此来层协议要求在握手交换数据中做数字认证,以此来层协议要求在握手交换数据中做数字认证,以此来确保用户的合法性。确保用户的合法性。确保用户的合法性。确保用户的合法性。7.3 安全套接层协议2 2 2 2加密数据以隐藏被传送的数据(秘密性)加密数据以隐藏被传送的数据(秘密性)加密数据以隐藏被传送的数据(秘密性)加密数
37、据以隐藏被传送的数据(秘密性)安全套接层协议采用的加密技术既有对称密钥,也有公安全套接层协议采用的加密技术既有对称密钥,也有公安全套接层协议采用的加密技术既有对称密钥,也有公安全套接层协议采用的加密技术既有对称密钥,也有公开密钥。具体来说,就是客户机与服务器交换数据之前,开密钥。具体来说,就是客户机与服务器交换数据之前,开密钥。具体来说,就是客户机与服务器交换数据之前,开密钥。具体来说,就是客户机与服务器交换数据之前,先交换先交换先交换先交换SSLSSLSSLSSL初始握手信息。在初始握手信息。在初始握手信息。在初始握手信息。在SSLSSLSSLSSL握手信息中采用了各种握手信息中采用了各种握
38、手信息中采用了各种握手信息中采用了各种加密技术,以保证其机密性和数据的完整性,并且经数加密技术,以保证其机密性和数据的完整性,并且经数加密技术,以保证其机密性和数据的完整性,并且经数加密技术,以保证其机密性和数据的完整性,并且经数字证书鉴别。这样就可以防止非法用户破译。字证书鉴别。这样就可以防止非法用户破译。字证书鉴别。这样就可以防止非法用户破译。字证书鉴别。这样就可以防止非法用户破译。3 3 3 3维护数据的完整性(完整性)维护数据的完整性(完整性)维护数据的完整性(完整性)维护数据的完整性(完整性)安全套接层协议采用安全套接层协议采用安全套接层协议采用安全套接层协议采用HashHashHa
39、shHash函数和机密共享的方法,提供函数和机密共享的方法,提供函数和机密共享的方法,提供函数和机密共享的方法,提供完整信息性的服务,来建立客户机与服务器之间的安全完整信息性的服务,来建立客户机与服务器之间的安全完整信息性的服务,来建立客户机与服务器之间的安全完整信息性的服务,来建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过通道,使所有经过安全套接层协议处理的业务在传输过通道,使所有经过安全套接层协议处理的业务在传输过通道,使所有经过安全套接层协议处理的业务在传输过程中都能完整准确无误地到达目的地。程中都能完整准确无误地到达目的地。程中都能完整准确无误地到达目的地
40、。程中都能完整准确无误地到达目的地。7.3 安全套接层协议l lSSLSSLSSLSSL协议主要包含握手协议协议主要包含握手协议协议主要包含握手协议协议主要包含握手协议(handshake protocol)(handshake protocol)(handshake protocol)(handshake protocol)和记和记和记和记录协议录协议录协议录协议(record protocol)(record protocol)(record protocol)(record protocol),记录协议确定数据安全传,记录协议确定数据安全传,记录协议确定数据安全传,记录协议确定数据安全传
41、输的模式,握手协议用于客户和服务器建立起安全连接输的模式,握手协议用于客户和服务器建立起安全连接输的模式,握手协议用于客户和服务器建立起安全连接输的模式,握手协议用于客户和服务器建立起安全连接之前交换一系列的安全信息,这些安全信息主要包括以之前交换一系列的安全信息,这些安全信息主要包括以之前交换一系列的安全信息,这些安全信息主要包括以之前交换一系列的安全信息,这些安全信息主要包括以下内容:下内容:下内容:下内容:(1)(1)(1)(1)客户确定服务器的身份。客户确定服务器的身份。客户确定服务器的身份。客户确定服务器的身份。(2)(2)(2)(2)允许客户和服务器选择双方共同支持的一系列加密允许
42、客户和服务器选择双方共同支持的一系列加密允许客户和服务器选择双方共同支持的一系列加密允许客户和服务器选择双方共同支持的一系列加密算法。算法。算法。算法。(3)(3)(3)(3)服务器确定客户的身份服务器确定客户的身份服务器确定客户的身份服务器确定客户的身份(可选可选可选可选)。(4)(4)(4)(4)通过公钥密码技术产生双方共同的密钥。通过公钥密码技术产生双方共同的密钥。通过公钥密码技术产生双方共同的密钥。通过公钥密码技术产生双方共同的密钥。(5)(5)(5)(5)建立建立建立建立SSLSSLSSLSSL的加密安全通道。的加密安全通道。的加密安全通道。的加密安全通道。7.3 安全套接层协议7.
43、3 安全套接层协议客户机发出安全会话请求(客户机发出安全会话请求(hello)服务器发送服务器发送X.509证书(包含服务器的公钥)证书(包含服务器的公钥)客户机生成随机对称密钥,并用服务器的公钥加密客户机生成随机对称密钥,并用服务器的公钥加密客户机与服务器用随机对称密钥加密会话期间的数据客户机与服务器用随机对称密钥加密会话期间的数据客户机将随机对称密钥发送给服务器客户机将随机对称密钥发送给服务器7.3 安全套接层协议7.3 安全套接层协议l lSSLSSLSSLSSL记录层协议限定了所有发送和接收数据的打包,它记录层协议限定了所有发送和接收数据的打包,它记录层协议限定了所有发送和接收数据的打
44、包,它记录层协议限定了所有发送和接收数据的打包,它提供了通信、身份认证功能,它是一个在面向连接的提供了通信、身份认证功能,它是一个在面向连接的提供了通信、身份认证功能,它是一个在面向连接的提供了通信、身份认证功能,它是一个在面向连接的可靠传输协议,如可靠传输协议,如可靠传输协议,如可靠传输协议,如TCPTCPTCPTCPIPIPIPIP上提供安全保护。上提供安全保护。上提供安全保护。上提供安全保护。l l在在在在SSLSSLSSLSSL中,所有数据被封装在记录中。一个记录由两部中,所有数据被封装在记录中。一个记录由两部中,所有数据被封装在记录中。一个记录由两部中,所有数据被封装在记录中。一个记
45、录由两部分组成:记录头和非零长度的数据。记录头可以是分组成:记录头和非零长度的数据。记录头可以是分组成:记录头和非零长度的数据。记录头可以是分组成:记录头和非零长度的数据。记录头可以是2 2 2 2字字字字节或节或节或节或3 3 3 3字节字节字节字节(当有填充数据时使用当有填充数据时使用当有填充数据时使用当有填充数据时使用)。SSLSSLSSLSSL握手层协议的握手层协议的握手层协议的握手层协议的报文要求必须放在一个报文要求必须放在一个报文要求必须放在一个报文要求必须放在一个SSLSSLSSLSSL记录层的记录里,但应用层记录层的记录里,但应用层记录层的记录里,但应用层记录层的记录里,但应用
46、层协议的报文允许占用多个协议的报文允许占用多个协议的报文允许占用多个协议的报文允许占用多个SSLSSLSSLSSL记录来传送。记录来传送。记录来传送。记录来传送。7.3 安全套接层协议记录头类型记录头类型记录长度记录长度MAC数据数据记录头类型记录头类型Escape位位填充长度填充长度记录长度记录长度MAC数据数据填充数据填充数据2字节头记录字节头记录3字节头记录字节头记录7.3 安全套接层协议l lSSLSSLSSLSSL的记录头可以是两个或三个字节长的编码。的记录头可以是两个或三个字节长的编码。的记录头可以是两个或三个字节长的编码。的记录头可以是两个或三个字节长的编码。SSLSSLSSLS
47、SL记录记录记录记录头包含的信息有记录头的长度、记录数据的长度、记录头包含的信息有记录头的长度、记录数据的长度、记录头包含的信息有记录头的长度、记录数据的长度、记录头包含的信息有记录头的长度、记录数据的长度、记录数据中是否有填充数据。其中填充数据是在使用块加密数据中是否有填充数据。其中填充数据是在使用块加密数据中是否有填充数据。其中填充数据是在使用块加密数据中是否有填充数据。其中填充数据是在使用块加密(block encryption)(block encryption)(block encryption)(block encryption)算法时,填充实际数据,使其长度算法时,填充实际数据,
48、使其长度算法时,填充实际数据,使其长度算法时,填充实际数据,使其长度恰好是块的整数倍。最高位为恰好是块的整数倍。最高位为恰好是块的整数倍。最高位为恰好是块的整数倍。最高位为1 1 1 1时,不含有填充数据,时,不含有填充数据,时,不含有填充数据,时,不含有填充数据,记录头的长度为两个字节,记录数据的最大长度为记录头的长度为两个字节,记录数据的最大长度为记录头的长度为两个字节,记录数据的最大长度为记录头的长度为两个字节,记录数据的最大长度为32767327673276732767个字节;最高位为个字节;最高位为个字节;最高位为个字节;最高位为0 0 0 0时,含有填充数据,记录头的时,含有填充数
49、据,记录头的时,含有填充数据,记录头的时,含有填充数据,记录头的长度为三个字节,记录数据的最大长度为长度为三个字节,记录数据的最大长度为长度为三个字节,记录数据的最大长度为长度为三个字节,记录数据的最大长度为16383163831638316383个字节。个字节。个字节。个字节。7.3 安全套接层协议l lSSLSSLSSLSSL记录数据部分有三个分量:记录数据部分有三个分量:记录数据部分有三个分量:记录数据部分有三个分量:MAC-DATAMAC-DATAMAC-DATAMAC-DATA、ACTUAL-DATAACTUAL-DATAACTUAL-DATAACTUAL-DATA、PADDING-
50、DATAPADDING-DATAPADDING-DATAPADDING-DATA。l lMACMACMACMAC数据用于数据完整性检查。计算数据用于数据完整性检查。计算数据用于数据完整性检查。计算数据用于数据完整性检查。计算MACMACMACMAC所用的散列函数所用的散列函数所用的散列函数所用的散列函数由握手协议中的由握手协议中的由握手协议中的由握手协议中的CIPHER-CHOICECIPHER-CHOICECIPHER-CHOICECIPHER-CHOICE消息确定。若使用消息确定。若使用消息确定。若使用消息确定。若使用MD2MD2MD2MD2和和和和MD5MD5MD5MD5算法,则算法,则