SSL协议详解..docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HTTPS协议详解HTTPS是什么HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是基于安全目的的HTTP通道,其安全基础由SSL层来保证, 因此加密的详细内容就需要SSL。最初由netScape公司研发,主要提供了通讯双方的身份认证和加密通信方法。现在广泛应用于互联网上安全敏感通讯。HTTPS与HTTP主要区别协议基础不同:HTTPS在HTTP下加入了SSL层;通讯方式不同:HTTPS在数据通信之前需要客户端、服务器进行握手(身份认证),建立连接后,传输数据经过加密,通信端口443。 HTTP传输数据不加密,明文传输,通信端口80;HTTPS协议需要到ca申请证书,一般免费证书很少,需要交费。SSL协议基础 SSL协议位于传输层和应用层之间,本身又分为两层: SSL记录协议(SSL Record Protocol):建立在可靠传输层协议(TCP)之上,为上层协议提供数据封装、压缩、加密等基本功能。 记录协议层封装了高层协议的数据,协议数据采用 SSL 握手协议中协商好的加密算法及 MAC 算法来保护。记录协议传送的数据包括一个序列号,这样就可以检测消息的丢失、改动或重放。如果协商好了压缩算法,那么 SSL 记录协议还可以执行压缩功能。SSL握手协议(SSL Handshake Procotol):在SSL记录协议之上,用于实际数据传输前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。握手协议是关于客户和服务器如何协商它们在安全信道中要使用的安全参数,这些参数包括要采用的协议版本加密算法和密钥。另外,客户要认证服务器,服务器则可以选择认证/不认证客户。 PKI 在客户—服务器认证阶段就开始运作了,这就是握手协议的实质。SSL协议提供的主要服务认证客户机和服务器的合法性,确保数据发送到正确的客户机和服务器加密数据以防止数据中途被窃取维护数据的完整性,确保数据在传输过程中不被改变。SSL协议通信过程单向认证 SSL 协议的具体过程C-S :客户端浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息;S-C:服务器向客户端传送 SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书;C-S认证:客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过, 通讯将断开;如果合法性验证通过,将继续进行第四步;C产生“对称密钥”,用S的公钥对“对称密钥”加密,将“预主密钥”传给服务器:用户端随机产生一个用于后面通讯的“对称密钥”,然后用服务器的公钥(服务器的公钥从步骤2中的服务器的证书中获得)对其加密,然后将加密后的“预主密钥”传给服务器;S-C认证:如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密钥”一起传给服务器;S-C认证:如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书 的CA 是否可靠,发行CA 的公钥能否正确解开客户证书的发行 CA 的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密钥 ”,然后执行一系列步骤来产生主通讯密钥(客户端也将通过同样的方法产生相同的主通讯密钥);产生通话密钥,用于加解密:客户端和服务器用相同的主密钥即“通讯密钥”,该密钥是对称一个对称密钥,用于 SSL 协议的安全数据通讯的加解密通讯。同时在 SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化;C-S:客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤7中的主密钥为对称密钥,同时通知服务器客户端的握手过程结束。C-S:服务器向客户端发出信息,指明后面的数据通讯将使用的步骤7中的主密钥为对称密钥,同时通知客户端服务器端的握手过程结束。SSL握手完成,会话开始:SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。双向认证 SSL 协议的具体过程浏览器发送一个连接请求给安全服务器; 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器; 客户浏览器检查服务器送过来的证书是否是由自己信

文档评论(0)

tiangou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档