当前位置: 首页 > article >正文

6 个问题搞懂 HTTPS 加密通信的原理与 HTTPS 通信安全协议

📌HTTPS 通信原理

HTTPS(HyperText Transfer Protocol Secure)是一种在HTTP基础上加入了加密传输层(TLS或SSL)的安全通信协议,用来确保在互联网上传输的数据能够得到加密和安全保护。HTTPS通信的原理可以简单分为以下几个步骤:

  1. 客户端发起连接:客户端(如浏览器)向服务器发起连接请求,请求建立一个安全的连接。
  2. 服务器端返回证书:服务器将自己的数字证书发送给客户端。数字证书包含了服务器的公钥以及一些其他信息。
  3. 客户端验证证书:客户端接收到服务器的证书后,会验证证书的合法性。这包括验证证书是否由可信的证书机构颁发,证书是否在有效期内等。
  4. 协商加密算法:如果证书验证通过,客户端会使用服务器的公钥来协商对称密钥,并将其加密后发送给服务器。
  5. 建立加密通道:服务器使用自己的私钥解密客户端发来的对称密钥,然后客户端和服务器使用这个对称密钥来加密和解密通信数据。
  6. 安全通信:一旦加密通道建立起来,客户端和服务器之间的通信就会通过这个加密通道进行,保护数据在传输过程中的安全性。

通过这些步骤,HTTPS可以确保在互联网上传输的数据能够得到加密和安全保护,防止数据被窃听、篡改或伪造。

📌TLS 与 SSL

TLS(Transport Layer Security)与SSL(Secure Sockets Layer)是两种加密通信协议,它们的目的都是为了保护在网络上传输的数据安全。
TLS和SSL有很大的相似性,但在技术上存在一些差异。SSL是早期被广泛使用的加密协议,TLS协议是SSL协议的升级版本,它修复了SSL的一些安全漏洞,并增加了新的加密算法和协议版本。TLS的设计目标是确保通信的安全性、完整性和验证性,同时提供更好的性能和灵活性。

📌SSL 与 TLS 的各个版本

SSL 2.0:存在严重的安全漏洞,已经被废弃。
SSL 3.0:使用的加密算法包括MD5和SHA-1等,这些算法都已经被证明不够安全,存在被攻击的风险。
TLS 1.0:使用的加密算法包括MD5和SHA-1等,这些算法也存在安全隐患,已经被证明不足以应对现代的攻击手段,不建议使用。
TLS 1.1:加入了更安全的加密算法,包括SHA-256等,增强数据完整性和安全性,提高了安全性,但依然包含了如 MD5、SHA-1 等一些不安全加密算法,所以也不建议使用。
TLS 1.2:进一步增强了安全性,支持更多的加密算法,包括AES和GCM等,去除了一些不安全加密算法,提供更强的安全保护,推荐使用。
TLS 1.3:引入了更多安全性和性能优化,去除了一些不安全的加密算法,提供更快的握手速度和更好的加密性能,推荐使用。

📌客户端和服务端是如何协商加密算法的?

客户端和服务器协商选择加密算法的依据主要包括以下几个方面:

  1. 支持的算法:客户端和服务器都会在握手过程中发送自己所支持的加密算法列表。基于这个列表,双方会选择一个双方都支持的算法。
  2. 安全性:双方会选择一个安全性较高的加密算法,以确保通信数据的保密性和完整性。但是随着安全漏洞的暴露,部分加密算法已经不再被认为是安全的,从而被移除,比如TLS 1.0 中的 MD5和SHA-1 在 TLS 1.1 中已经被移除。
  3. 性能:客户端和服务器也会考虑选择一个性能较好的加密算法,以确保通信的效率。

基于以上的因素,客户端和服务器会协商共同选择一个都支持且安全,并且性能较好的算法,用于后续通信数据的加密和解密。这样可以确保通信的安全性和保密性。

📌当同时支持多个版本时,客户端和服务端是如何协商使用 TLS 哪个版本的?

如果客户端和服务端都支持多个版本,它们会选择双方都支持的最高版本来进行通信。
比如客户端和服务端都支持 TLS 1.0、TLS 1.1、TLS 1.2,但是服务端支持 TLS 1.3,客户端不支持 TLS 1.3,此时就会选择双方都支持的最高版本 TLS 1.2。

📌MD5 和 SHA-1 为什么被认为不安全的算法?

MD5(Message Digest Algorithm 5)和SHA-1(Secure Hash Algorithm 1)是两种常见的摘要算法,被广泛用于数据完整性验证和唯一性标识。
MD5 的结果是 128 位 2 进制,通常展示为 32 位 16 进制,也有少部分会截取中间 16 位;
SHA-1 的结果是 160 位 2 进制,通常展示位 40 位 16 进制;

它们已经被认为不安全的主要原因如下:

  1. 强力碰撞攻击:对于MD5和SHA-1,已经出现了强力碰撞攻击的方法,即可以通过计算找到两个不同的输入数据,但它们产生相同的散列值。这意味着攻击者可以伪造数据并通过验证,这对于数据完整性是一个严重的威胁。
  2. 安全性漏洞:MD5和SHA-1算法的设计在现代密码学标准中已经被证明存在一些安全性漏洞,这些漏洞使得这些算法容易受到各种攻击,如碰撞攻击和预像攻击。
  3. 算法强度:随着计算机技术和计算能力的不断提高,MD5和SHA-1的算法强度已经无法满足当今的安全需求,这使得它们容易受到暴力破解和计算攻击。

http://www.kler.cn/a/134456.html

相关文章:

  • WebAssembly在现代Web开发中的应用
  • INQUIRE:一个包含五百万张自然世界图像,涵盖10,000个不同物种的专为专家级文本到图像检索任务设计的新型基准数据集。
  • 随手记:简单实现纯前端文件导出(XLSX)
  • 24.11.13 Javascript3
  • Unity3D学习FPS游戏(12)敌人检测和攻击玩家
  • 物理设备命名规则(Linux网络服务器 15)
  • JPA整合Sqlite解决Dialect报错问题, 最新版Hibernate6
  • Spring cloud负载均衡@LoadBalanced LoadBalancerClient
  • “我们把最扎心的话,说给了自己最亲近的人” 何解?| IDCF
  • 多标签页之间的通信
  • GoLong的学习之路,进阶,标准库之并发(context)补充并发三部曲,你真的明白context吗?
  • 【深度学习】吴恩达课程笔记(五)——超参数调试、batch norm、Softmax 回归
  • 基于C#实现字符串相似度
  • 【PostgreSQL】日期操作
  • 邦芒支招:求职自荐的五条技巧
  • 如何为视频添加旁白,有哪些操作技巧?
  • [Android]创建TabBar
  • IOS 关于CoreText的笔记
  • idea中误删.iml和.idea文件,如何处理
  • flink 查看写入starrocks的数据量 总行数
  • VivadoAndTcl: synth_ip
  • ASUS华硕ROG幻13笔记本电脑GV301QE原厂Windows10系统
  • 区别Vue 2.0 和 Vue 3.0
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • 让资产权利归于建设者:Kiosk使过程变得更简单
  • BSN专网项目介绍:宁波市区块链新型基础设施“甬链”