每日一博 - 闲聊Https工作原理

简介: 每日一博 - 闲聊Https工作原理

HTTPS工作原理


HTTPS(Hypertext Transfer Protocol Secure)是 Hypertext Transfer Protocol(HTTP)的扩展。HTTPS使用 **传输层安全性(TLS)**传输加密数据。


如果数据在在线传输过程中被劫持,劫持者只能获得二进制代码。



数据的加密和解密


步骤1 - 客户端(浏览器)和服务器建立一个TCP连接。


步骤2 - 客户端向服务器发送一个“客户端Hello”消息。该消息包含一组必要的加密算法(密码套件)和它可以支持的最新TLS版本。服务器会回应一个“服务器Hello”,以便浏览器知道是否可以支持这些算法和TLS版本。


然后,服务器将SSL证书发送给客户端。该证书包含了公钥、主机名、过期日期等信息。客户端验证证书的有效性。


步骤3 - 在验证SSL证书后,客户端生成一个会话密钥并使用公钥对其进行加密。服务器接收加密的会话密钥并使用私钥解密它。


步骤4 - 现在,客户端和服务器都拥有相同的会话密钥(对称加密),加密的数据在安全的双向通道中传输。


为什么HTTPS在数据传输过程中切换到对称加密?有两个主要原因:


  1.    安全性:非对称加密只能单向加密。这意味着如果服务器试图将加密数据发送回客户端,任何人都可以使用公钥解密数据。
  2.    服务器资源:非对称加密增加了相当多的数学开销。它不适用于长时间会话中的数据传输。




HTTP相比,HTTPS增加了多少性能开销?


HTTPS通常会引入一些性能开销,但具体性能开销取决于多个因素,包括服务器硬件、TLS协议版本、加密算法等。以下是一些与HTTPS相关的性能开销因素:


  1.    握手开销:在建立HTTPS连接时,需要执行TLS握手过程,这涉及多个消息的交换,包括客户端Hello、服务器Hello和证书交换等。握手过程可能会引入一些延迟,尤其是在低延迟要求的应用中。
  2.    加密和解密开销:HTTPS使用加密算法对数据进行加密和解密。这些操作需要计算资源,尤其是在高负载情况下。较复杂的加密算法可能会引入更大的性能开销。
  3.    加密套件选择:不同的加密套件具有不同的性能开销。一些套件提供更高级别的安全性,但可能需要更多的计算资源。服务器和客户端可以选择适合其性能需求的套件。




Flow


image.png



小结

总的来说,HTTPS通常会引入一些性能开销,但这些开销通常可以通过优化服务器配置、使用硬件加速和选择适当的加密套件来降低。

在许多情况下,安全性的提升可以抵消性能开销。


相关文章
|
3月前
|
安全 应用服务中间件 网络安全
HTTPS 基础原理和配置 -2
HTTPS 基础原理和配置 -2
|
3月前
|
安全 应用服务中间件 网络安全
HTTPS 基础原理和配置 -3
HTTPS 基础原理和配置 -3
|
1天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
|
5天前
|
安全 网络协议 算法
秒懂HTTPS接口(原理篇)
【4月更文挑战第24天】秒懂HTTPS接口(原理篇)
26 4
秒懂HTTPS接口(原理篇)
|
19天前
|
安全 网络协议 网络安全
网络原理(5)--HTTPS是如何进行加密的
网络原理(5)--HTTPS是如何进行加密的
12 0
|
5月前
|
网络协议 网络安全
【网络安全 | HTTP】 gopher协议原理、语法及利用总结
【网络安全 | HTTP】 gopher协议原理、语法及利用总结
116 0
|
2月前
|
运维 安全 Linux
CA认证与HTTPs原理介绍
CA认证与HTTPs原理介绍
28 2
|
2月前
|
安全 网络协议 算法
是时候理解下HTTPS的原理及流程了
是时候理解下HTTPS的原理及流程了
23 0
|
2月前
|
安全 搜索推荐 数据安全/隐私保护
深入探讨HTTPS协议的原理和工作流程
【2月更文挑战第10天】
36 4
深入探讨HTTPS协议的原理和工作流程
|
2月前
|
安全 算法 数据安全/隐私保护
网络原理 - HTTP/HTTPS(5)
网络原理 - HTTP/HTTPS(5)