一篇文章让你彻底弄懂SSL/TLS协议
SSL/TLS是一种密码通信框架,他是世界上使用最广泛的密码通信方法。SSL/TLS综合运用了密码学中的对称密码,消息认证码,公钥密码,数字签名,伪随机数生成器等,可以说是密码学中的集大成者。 SSL(Secure Socket Layer)安全套接层,是1994年由Netscape公司设计的一套协议,并与1995年发布了3.0版本。 TLS(Transport Layer Security)传输层安全是IETF在SSL3.0基础上设计的协议,实际上相当于SSL的后续版本。 SSL/TLS是一个安全通信框架,上面可以承载HTTP协议或者SMTP/POP3协议等。 TLS主要分为两层,底层的是TLS记录协议,主要负责使用对称密码对消息进行加密。 上层的是TLS握手协议,主要分为握手协议,密码规格变更协议和应用数据协议4个部分。 握手协议负责在客户端和服务器端商定密码算法和共享密钥,包括证书认证,是4个协议中最最复杂的部分。 密码规格变更协议负责向通信对象传达变更密码方式的信号 警告协议负责在发生错误的时候将错误传达给对方 应用数据协议负责将TLS承载的应用数据传达给通信对象的协议。 握手协议是TLS协议中非常重要的协议,通过客户端和服务器端的交互,和共享一些必要信息,从而生成共享密钥和交互证书。 不说话,先上图: 接下来我们一步步的介绍每一步的含义: client hello 客户端向服务器端发送一个client hello的消息,包含下面内容: 我们之前提到了TLS其实是一套加密框架,其中的有些组件其实是可以替换的,这里可用版本号,可用的密码套件清单,可用的压缩方式清单就是向服务器询问对方支持哪些服务。 客户端随机数是一个由客户端生成的随机数,用来生成对称密钥。 server hello 服务器端收到client hello消息后,会向客户端返回一个server hello消息,包含如下内容: 使用的版本号,使用的密码套件,使用的压缩方式是对步骤1的回答。 服务器随机数是一个由服务器端生成的随机数,用来生成对称密钥。 可选步骤:certificate 服务器端发送自己的证书清单,因为证书可能是层级结构的,所以处理服务器自己的证书之外,还需要发送为服务器签名的证书。 可选步骤:ServerKeyExchange 如果第三步的证书信息不足,则可以发送ServerKeyExchange用来构建加密通道。 ServerKeyExchange的内容可能包含两种形式: 可选步骤:CertificateRequest 如果是在一个受限访问的环境,比如fabric中,服务器端也需要向客户端索要证书。 server hello done 可选步骤:Certificate 对步骤5的回应,客户端发送客户端证书给服务器 ClientKeyExchange 还是分两种情况: 可选步骤:CertificateVerify 客户端向服务器端证明自己是客户端证书的持有者。 ChangeCipherSpec(准备切换密码) ChangeCipherSpec是密码规格变更协议的消息,表示后面的消息将会以前面协商过的密钥进行加密。 finished(握手协议结束) 客户端告诉服务器端握手协议结束了。 ChangeCipherSpec(准备切换密码) 服务器端告诉客户端自己要切换密码了。 finished(握手协议结束) 服务器端告诉客户端,握手协议结束了。 切换到应用数据协议 这之后服务器和客户端就是以加密的方式进行沟通了。 上面的步骤8生成了预备主密码,主密码是根据密码套件中定义的单向散列函数实现的伪随机数生成器+预备主密码+客户端随机数+服务器端随机数生成的。 主密码主要用来生成称密码的密钥,消息认证码的密钥和对称密码的CBC模式所使用的初始化向量。详见分组密码和模式 TLS记录协议主要负责消息的压缩,加密及数据的认证: 先上图。 消息首先将会被分段,然后压缩,再计算其消息验证码,然后使用对称密码进行加密,加密使用的是CBC模式,CBC模式的初始向量是通过主密码来生成的。 得到密文之后会附加类型,版本和长度等其他信息,最终组成最后的报文数据。 更多内容请访问 flydean的博客SSL/TLS的应用
TLS协议的架构
握手协议
客户端将会对服务器端的证书进行验证。如果是以匿名的方式通信则不需要证书。
密文=明文E mod N, 只要知道了E和N,那么就知道了RSA的公钥,这里传递的就是E,N两个数字。具体内容可以参考RSA算法详解
如果并不需要客户端认证,则不需要此步骤。
服务器端发送server hello done的消息告诉客户端自己的消息结束了。
主密码和预备主密码
TLS记录协议
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算