

详解TLS/SSL运行机制
source link: https://www.tuicool.com/articles/ruuaUvq
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

TLS
传输层安全性协议(Transport Layer Security)及其前身 SSL
安全套接层(Secure Sockets Layer)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障, TLS/SSL
协议位于网络OSI七层模型的会话层,用来加密通信。
TLS/SSL
握手过程
第一步,客户端(Client)以明文的形式发起请求信息(client_hello),其中信息包含;
random_C TLS cipher suites
身份加密套件包括: 身份认证算法Au ,采用的密钥交换算法(密钥协商),对称加密算法,信息摘要算法Mac(校验信息的完整性)
第二步,服务端(Server)收到客户端发来的请求以后,返回协商的信息(server_hello),其中包括
random_S TLS cipher suites
第三步,客户端(Server)收到服务端发来的请求以后,首先会检查服务端证书的合法性,如果合法就会进行如下操作;
pre-master enc_key=Func(random_C, random_S, pre-master) sessionSecret
将 sessionSecret
和用证书携带的公钥加密 pre-master
发送给服务器(Server)
第四步,服务端(Server)收到客户端发来的请求后,会进行如下操作
-
用私钥解密或者
pre-master
的值 -
基于
random_S
,random_C
和pre-master
计算协商秘钥enc_key=Func(random_C, random_S, pre-master)
-
验证
sessionSecret
服务端进行完上面的操作以后,会用协商秘钥加密 sessionSecret
作为 encrypted_handshake_message
消息发送给客户端。
第五步,客户端(Client)接收到 encrypted_handshake_message
消息以后,会用自己计算出的协商秘钥解密 encrypted_handshake_message
查看里面 sessionSecret
是否和自己生成的一致,如果一致则用协商出来的秘钥加密后续的通信。
双向认证
上面的整个过程,都是客户端单向认证服务端,也是最为常用的场景。同时,服务端也可以要求验证客户端,比较常见的场景就是大额网银汇款转账会需要在电脑上插入 U盾
。
U盾
中包含银行签发的证书用来验证客户端。
双向认证在单向认证第二步的时候,服务器会要求客户端发送证书,来校验客户端证书有效性。
本文作者是深入浅出区块链共建者清源,欢迎关注清源的 博客 ,不定期分享一些区块链底层技术文章。
深入浅出区块链 - 打造高质量区块链技术博客,学区块链都来这里,关注 知乎 、微博。
Recommend
-
18
SSL/TLS协议安全系列:SSL/TLS概述 GoSSIP_SJTU
-
15
SSL/TLS协议安全系列:再见,RC4 GoSSIP_SJTU
-
45
每天的日常编码工作:就是解决一个问题的时候再创造另外一个问题 Orz….. 话说刚才生成一个私钥的时候, Python3绑定libssl1.1 又崩了;正在痛苦思考中~~~ 现在有两个选择: 放弃ssl动态库调用,反正我只用ECDS...
-
18
本文主要探讨当我们使用SSL/TLS时,在协议级别发生了什么。为了便于分析,我将会使用一个基于OpenSSL所实现的非阻塞式TCP客户端。 我们首先要记住,SSL/TLS能让应用像底层基础设施(指的是网...
-
16
SSL/TLS 协议 2019-12-01 ...
-
10
From our blog Nov 6, 2020 Standing on O...
-
13
Jun 25, 2014 - 2 minute read - Comments - BurpPiping SSL/TLS Traffic from S...
-
8
SSL/TLS协议运行机制的概述 2021-04-17 互联网的通...
-
6
SSL/TLS in Detail 10/08/2009 8 minutes to read In this article Applies To: Windows Server 2003 with SP1 This section provides a detailed explanation of t...
-
9
SSL/TLS简介 当我们使用 HTTP 协议时,传输的数据是不安全的,因为所有在客户端和服务端往来的数据都是明文: 第三方可以获取到真实数据 第三方可以篡改数据 第三方可以冒充服务端或客户端 HTTPS 的全称...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK