目录

HTTPS
-
HTTPS = http+SSL/TLS
- 其实说白了https还是http哪些数据,只不过在ssl/tls层进行了加密和解密处理
-
SSL/TLS对数据进行加密和解密
-
TLS 传输层安全 安全检测也要检测tls的版本我们一般都要使用tls1.2以上的版本。
-
TLS是升级到ssl的加密版本
-
SSL3.0、TLS1.0、TLS1.1由于存在安全漏洞,已经很少被使用到。
- TLS 1.3协议发布距TLS 1.2 版本已有十年时间,在这期间互联网需求及密码学都发生了翻天覆地的变化,经过长时间需求累计和修订,此版本相较之前版本,无论是性能还是安全方面,TLS 1.3都有了较大的发展,所以对安全性要求非常高的企业还是更推荐使用TLS 1.3协议
HTTPS剖析
- HTTPS 其实我们更多的是去研究s的作用,也就是SSL\TLS 的机密和认证过程,这也就叫SSL/TLS握手认证的过程。
- 这个过程有效的泛娱乐http协议的三大风险,窃听风险 篡改风险 冒充风险,而防御这三大风险,也就是https原理涉及的过程。
HTTPS将HTTP协议存在的风险都做了防护:
- 加密数据传输,防止敏感信息泄露。
- 数据完整性保护,防止数据在传输过程中被篡改。
- 身份验证,防止中间人攻击和伪造身份。
- 防止降级攻击,通过强制TLS加密协议增强安全性。
- 防止会话劫持,通过加密Cookie和使用安全协议保护会话。
- 防止重放攻击,通过引入随机数和时间戳防止重放攻击。
Https窃听风险
-
窃听风险 也就是明文数据很统一被窃听,那么我们就将数据加密?
- 那么如何加密了 哈希是不能解密的。
-
所以我们考虑对称加密可以解密,并且加解密速度快,性能高,HTTPS选择了对此加密了.
- 那么密钥是如何传递了。
- 尽管HTTPS为数据传输提供了加密保护,但仍然存在某些窃听风险,尤其是中间人攻击(MITM),这种攻击通过拦截和篡改数据流,窃取或篡改用户与服务器之间的通信。
- HTTPS使用对称加密 和非对称加密相结合的方式来保证通信的机密性、完整性和身份验证。
对称加密与非对称加密的关系:

非对称加密:
- 使用一对公钥和私钥来加密和解密数据。
- 在HTTPS中,非对称加密用于身份验证和密钥交换。
- 客户端验证服务器的身份时,会使用公钥加密数据,服务器使用私钥解密。
- 由于非对称加密速度较慢,因此它通常只在初期阶段用于安全协商。
对称加密:
- 使用相同的密钥加密和解密数据。
- 在HTTPS中,一旦建立了安全的连接,双方会协商出一个对称密钥,之后使用这个对称密钥加密和解密实际的通信数据。
- 客户端自己生成一个密钥字符串,发送给服务端,客户端和服务端用这个密钥进行数据的对称加密和解密。
- 由于对称加密算法(如AES)的加解密速度较快,因此更适合于加密大量数据。
- 但是如果通过请求报文的方式直接传输密钥,那么之后的通信其实还是在裸奔,因为这个密钥会被中间人截获甚至替换掉,这样中间人就可以用截获的密钥解密报文,甚至替换掉密钥以达到篡改报文的目的.
中间人攻击的流程
中间人攻击(MITM)是一种攻击方式,攻击者可以劫持两方的通信流,并在不被察觉的情况下篡改信息,窃取敏感数据或伪造数据。中间人攻击的流程如下:
-
攻击者拦截客户端请求:当用户访问HTTPS网站时,客户端会发起一个加密请求。攻击者通过网络监听和伪装成合法的服务器,拦截客户端请求。
-
伪造服务器证书:攻击者将自己的证书(伪造的SSL证书)发送给客户端,而不是目标服务器的证书。客户端在没有验证证书有效性的情况下,可能会接受伪造的证书。
-
客户端加密信息发送给攻击者:客户端使用伪造的服务器证书加密敏感信息(如用户名、密码等),然后将数据发送给攻击者。由于攻击者持有伪造证书的私钥,他可以解密并窃取这些信息。
-
攻击者与目标服务器通信:攻击者将获取的明文数据加密后,再发送给真正的目标服务器。目标服务器无法察觉通信已经被中间人拦截。
-
目标服务器的响应被劫持:目标服务器回应的数据也会经过攻击者,攻击者可能篡改数据并发送给客户端,造成信息的失真或进一步的攻击。
服务端将公钥发送给客户端后, 客户端自己检测是不是真实的服务端公钥就好了,那么我们如何证明了,那么这玩意就是一个证书 CA证书的问题。
- 通过这一流程,攻击者能够在客户端和服务器之间进行"中间人"操作,窃取或篡改传输的数据。
喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!