- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子商务安全协议及支付安全
电子商务安全协议及支付安全
PAGE
电子商务安全协议及支付安全
SSL协议工作原理
SSL协议处于互联网多层协议集的传输层上,运行在TCP/IP协议之上而在其他高层协议(如HTTP、Telnet、FTP和IMAP等)之下,如图5-1所示。在建立一次SSL连接之前,首先建立TCP/IP连接。SSL协议可以让应用层协议透明地加以应用。运行时,支持SSL协议的服务器可以同一个支持SSL协议的客户机彼此认证自己,还允许这两个机器之间建立安全的加密连接,同时保证信息在传输过程中的完整性。
SSL协议可以分为4个子协议:SSL握手协议、SSL更改密码规程协议、SSL报警协议和SSL记录协议,其中最重要的两个协议是握手协议和记录协议。SSL记录协议定义了数据传送的格式,它位于一些可靠的传输层协议之上(如TCP),用于各种更高层协议的封装。SSL握手协议位于SSL记录协议之上,并被SSL记录协议所封装。它描述建立安全连接的过程,在客户和服务器传送应用层数据之前,该协议允许服务器与客户机之间协商加密算法和会话密钥,完成通信双方的身份验证等功能。
应用层协议(HTTP、Telnet、FTP、IMAP等)
SSL握手协议
SSL更改密码规程协议
SSL报警协议
SSL记录协议
TCP协议
IP协议
图5-1 SSL协议的分层结构
SSL记录协议
SSL记录协议(Record Protocol)定义了传输的格式,包括记录头和记录数据格式的规定。发送方记录层的工作过程如图5-2所示:
分 片
分 片
添加 MAC
压 缩
加 密
添加SSL 记录头
计算MAC
图5-2 记录层的工作过程
记录层从上层接收到任意大小的应用层数据块,把数据快分成不超过214字节的分片。
记录层用当前的会话状态中给出的压缩算法静分片压缩成一个压缩快,压缩操作是可选的。
每个会话都有相应“加密规格”指定了对称加密算法和MAC算法。记录层用指定的MAC算法对压缩块计算MAC,用指定的对称加密算法加密压缩块和MAC,形成密文块。
对密文块添加SSL记录头,然后送到传输层,传输层受到这个SSL记录层数据单元后,记上TCP报头,得到TCP数据包。
MAC数据 实际数据 附加数据
MAC数据 实际数据 附加数据
图5-3 SSL记录协议中数据项的格式
SSL握手协议
客
客
户
机
服
务
器
server_hello
certificate
server_key_exchange*
certificate_request*
hello_done
certificate_verify
client_key_exchange
Certificate*
change_cipher_spec
finished
certificate_verify*
finished
change_cipher_spec
client_hello
no_certificate*
Step1:确定一些相关参数,包括协议版本、会话ID、加密规格、压缩算法和初始随机数
Step2:服务器端发送自身证书(或临时公钥)及证书请求,最后发送hello阶段结束信号。
Step3:客户端验证服务器端证书、发送自身证书、交换对称密钥。
Step4:双方确定加密规格,结束握手协议。
图5-4 SSL建立新会话时的握手过程
1)建立新会话时的握手过程
握手协议用于数据传输之前。它可以进行服务器与客户之间的身份鉴别,同时通过服务器和客户协商,决定采用的协议版本、加密算法,并确定加密数据所需的对称密钥,随后采用公钥加密技术产生共享机密信息(例如对称密钥)。每次连接,握手协议都要建立一个会话。会话中包含了一套可在多次会话中使用的加密安全参数,从而减轻了每次建立会话的负担。然而,必须指出的是,SSL中的每次连接时,在握手协议中产生的对称密钥都是独特的,这种每次更换密钥的方法显然在更大程度上确保了系统的不易攻破性。
根据是否验证对方的证书,SSL的握手过程可以分为以下三种验证模式:客户和服务器都被验证;只验证客户机,不验证服务器,这是Internet上使用最广泛的形式;客户和服务器都不验证,也称为完全匿名模式。SSL握手协议建立一个新的会话的过程如图5-4所示,具体如下:
阶段1:确定一些相关参数,包括协议版本、会话ID、加密规格、压缩算法和初始随机数
客户端发送client_hello消息给服务器,向服务器传送客户端支持的SSL协议的版本号、加密算法的种类、MAC算法的种类、会话标识、密码属性(如hash块的大小),以及其他服务器和客户端之间通信所需要的各种信息。
服务器以server_hello向客户应答,服务器端传
文档评论(0)