博客专栏  >  互联网   >  SSL/TLS协议详解

SSL/TLS协议详解

从原理到实现

关注
3 已关注
31篇博文
  • TLS/SSL 协议详解(1) 前言

    首先,需要清楚SSL是什么。   很多人把SSL 和 HTTPS混为一谈,认为SSL就是HTTPS,其实不尽然。SSL全称是“Secure Socket Layer”,字面上可以从“Secure...

    2017-09-06 15:15
    153
  • TLS/SSL 协议详解 (2) SSL有关的密码学原理

    1:对称加(解)密 加密和解密使用同样的密钥。举个例子就知道了。假设现在有一段明文: 0010 1101 1110 0101,以及一个密钥:0111,我们定义加密方式是“异或”,4 bit一加密。那么...

    2017-09-06 15:16
    201
  • TLS/SSL 协议详解(3) 运用密码学原理构建安全信道1

    上一节的知识很大程度上是数学意义上的知识,本章将讲解如何使用这些数学意义上的东西,使其体现出实际应用的价值。本章将站在设计者的角度,考虑如何构建一条安全的信道。 1:身份认证 首先,之前建行网...

    2017-09-06 15:23
    186
  • TLS/SSL 协议详解 (4) 运用密码学原理构建安全信道2

    密钥的协商、交换   上一节中,我们已经能保证客户端的确是和可信的服务器进行交互了,在保证服务器可信的基础上,接下去,我们要让客户端和服务器之间共享一个密钥,该密钥用来加密后续的会话。 密钥协商和...

    2017-09-06 15:25
    137
  • TLS/SSL 协议详解 (5) 运用密码学原理构建安全信道3

    保证数据的完整性   到目前为止,我们后续的报文可以加密通信了。现在只要保证,后续加密的数据不被篡改就行了,或者说,SSL需要辨别数据是否被篡改的能力。   这时候摘要就派上用场了。回顾第三章中,我们...

    2017-09-06 15:28
    141
  • TLS/SSL 协议详解(6) SSL 数字证书的一些细节1

    证书关系到了SSL的众多安全性,比如身份认证,密钥交换。所以有必要单拉出一章来讲证书。本章完善一下前几节中的身份认证的一些缺点。   首先,通过前面讲解,我们知道,证书需要几个重要的字段。例如“...

    2017-09-06 15:37
    164
  • TLS/SSL 协议详解 (7) SSL 数字证书的一些细节2

    证书格式 编码格式 证书编码格式多种,但是不要根据文件后缀名(der,cer)等区分证书格式。 总的来说,证书分为2种,一种是二进制的、一种是进行base64编码的证书。前者使用notepad或...

    2017-09-06 15:42
    137
  • TLS/SSL 协议详解 (8) 协议简介

    我们大致了解了SSL的流程,以及运用了哪些手段达到了哪些目的。但是前面的描述毕竟不太完善,但这并不妨碍我们了解SSL。   本节,我们将详细介绍SSL协议,结合报文,我们将学习到比第四章的更多的知识。...

    2017-09-06 15:47
    120
  • TLS/SSL 协议详解 (9) Client hello

    SSL报文格式可以大致分为2部分,Record层 和 Data层,Record层中指定了后续数据的类型,SSL版本(一般来说固定),以及后续数据的长度。 例如上图中显示的那样,SSL报文头部是TVL...

    2017-09-06 16:03
    178
  • TLS/SSL 协议详解(10) server hello

    Server hello 相对Client hello 来说简单的多,Server hello中的内容主要是对Client hello的响应。 主要包含几点重要的信息 1:随机数(用来生成主密钥和...

    2017-09-06 16:06
    158
  • TLS/SSL 协议详解(11) Server Certificate

    发送服务器证书,这个不再赘述。将服务器配置的证书(链)发送到客户端。 注意证书链的顺序,最下层证书在前(用户证书在前,上级证书在后)。 有个技巧,在wireshark右键“导出分组字节流”功能,然后保...

    2017-09-07 08:34
    123
  • TLS/SSL 协议详解(12) server key exchange

    对于使用DHE/ECDHE非对称密钥协商算法的SSL握手,将发送该类型握手。 这是ECDHE下,server key exchange ECDHE下主要有几点重要的信息 1:指明自己使用...

    2017-09-07 08:36
    259
  • TLS/SSL 协议详解(13) certificate request

    双向认证时,服务器会发送certificate request,表明自己想要收到客户端的证书。   这个类型的握手主要包含了ca证书的subject,用以告诉客户端自己需要哪些证书,不是由这些ca签发...

    2017-09-07 08:37
    144
  • TLS/SSL 协议详解(14) server hello done

    没什么有用信息。

    2017-09-07 08:38
    80
  • TLS/SSL 协议详解(15) client certificate

    如果服务器端请求了客户端的证书,客户端即使没有证书,也需要发送该类型的握手报文,只是这种情况下,里面的内容为0。 如果浏览器有对应的证书,则会发送证书,当然,也有可能发送上级证书(即发送证书链...

    2017-09-07 08:55
    91
  • TLS/SSL 协议详解 (16) client key exchange

    ECDH/ECDHE下client key exchange 如下所示 比较简单了,和server key exchange处理一样,客户端随机生成一个大数,然后乘上base point,得到...

    2017-09-07 08:56
    172
  • TLS/SSL 协议详解(17) Certificate verify

    发送这个类型的握手需要2个前提条件 (1):服务器端请求了客户端证书 (2):客户端发送了非0证书      此时,客户端想要证明自己拥有该证书,必然需要私钥签名一段数据发给服务器验证。 签名的数据是...

    2017-09-07 08:57
    100
  • TLS/SSL 协议详解(18) Change cipher

    这是一个无关紧要的数据。在TLS1.3中就被废弃了。 需要注意的是,该数据本身不被计算握手摘要,因为它的type不是Handshake。 一般开源代码在读到该数据时,计算(derive) read侧的...

    2017-09-07 08:58
    98
  • TLS/SSL 协议详解 (19) Encrypted handshake message

    其实这个报文的目的就是告诉对端自己在整个握手过程中收到了什么数据,发送了什么数据。来保证中间没人篡改报文。   计算方法也比较简单,将之前所有的握手数据,计算摘要,然后计算prf,然后就是对称加密了。...

    2017-09-07 08:58
    179
  • TLS/SSL 协议详解 (20)加密套件的选择

    服务器在选择算法时,会有优先级,是以客户端提供的的为最优,还是服务器端配置的为最优。所谓的客户端最优,就是根据客户端提供的加密套件,从上到下,看是否有本地支持的,有的话则使用。所谓服务器端最优,就是服...

    2017-09-07 08:59
    323

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部