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

HTTPS

HTTPS是什么

HTTPS 属于应用层协议,其原理是通过SSL/TLS协议在HTTP和TCP之间插入一层安全机制。通过SSL/TLS握手过程,客户端和服务器协商出一个对称密钥,用于后续的数据加密和解密,从而保证数据的机密性和完整性。

为什么会需要HTTPS

因为HTTP 比较严重的缺点就是不安全!
因为HTTP的内容是明文传输的,明文数据会经过路由器、wifi热点、通信服务运营商、代理服务
器等多个物理节点,如果信息在传输过程中被劫持,传输的内容就完全暴露了。劫持者还可以篡改传
输的信息且不被双方察觉,所以我们才需要对信息进行加密。

HTTPS的工作原理

非对称加密 + 对称加密 + CA证书认证

非对称加密

想象一把锁和一把钥匙。在非对称加密中,有两个特殊的“钥匙”:公钥和私钥。想象你把一个公钥放在一个盒子里,然后把盒子送给别人。任何人都可以获得这个盒子,打开它,获得这个公钥。但是,只有你拥有与之配对的“私钥”。

当别人想要给你发加密的信息时,他们可以用你的公钥来锁住信息。只有拥有私钥的人才能解锁并读取这个信息。这意味着你可以安全的接受信息不用担心数据被篡改或者被窃取。其适用于加密小量的重要信息,例如验证身份、数字签名等。

对称加密

对称加密更像是一个密码。想象你和朋友有同样的密码,你们都可以使用这个密码来加密和解密信息。但是,这个密码必须保密,因为任何知道密码的人都可以使用它。这就是为什么对称加密需要更好的密码管理和保护机制。

对称加密的关键是,同一个密钥用于加密和解密数据。这种方法在加密大量数据时非常高效,因为加密和解密过程都使用相同的操作。然而,对称加密需要确保密钥的安全性,以免被不良人士获取。

CA证书认证

当你在互联网上访问一个网站时,你可能会注意到浏览器地址栏前面有一个小锁图标,或者网站的网址以 “https://” 开头。这表示网站使用了加密来保护你的信息。而这种加密是通过一个叫做CA证书认证的方式实现的。
在这里插入图片描述

CA是什么?

CA代表“Certificate Authority”,翻译成中文就是“证书颁发机构”。CA就像是一个安全守门员,负责确保网站的身份是真实可信的。

CA证书如何获取

  1. 申请证书: 网站所有者想要使用加密来保护其网站,就需要向一个CA申请一个证书。这个证书就像一个身份证,确认了这个网站的身份。

  2. 验证身份: CA不会轻易发放证书,它会仔细验证网站所有者的身份,确保这不是一个欺诈行为。这是为了防止恶意人士伪造证书。

  3. 颁发证书: 一旦CA验证了网站所有者的身份,它就会颁发一个数字证书。这个证书包含了网站信息、公钥等。

  4. 使用证书: 网站将获得的数字证书安装在自己的服务器上。这个证书中包含了一个公钥,用于加密信息。

CA证书如何工作

  1. SSL/TLS握手过程
  • 客户端向服务器发起HTTPS请求。
  • 服务器返回公开的SSL证书,其中包含服务器的公钥和其他信息。
  • 客户端的浏览器会验证证书的合法性,包括检查证书是否由受信任的证书颁发机构签署,证书是否过期,证书是否被篡改(从系统中拿到该证书发布机构的公钥, 对签名解密, 得到一个 hash 值(称为数
    据摘要), 设为 hash1. 然后计算整个证书的 hash 值, 设为 hash2. 对比 hash1 和 hash2 是否相等. 如
    果相等, 则说明证书是没有被篡改过的)。
  • 如果证书验证成功,客户端生成一个随机的对称密钥(也称为会话密钥),用于后续的数据加密和解密。
  • 客户端使用服务器的公钥加密这个随机密钥,并将其发送给服务器。
  1. 建立安全连接
  • 服务器收到客户端发送的加密后的随机密钥后,使用服务器的私钥进行解密,获取到随机密钥。
  • 现在,服务器和客户端都拥有了相同的对称密钥,用于后续的数据加密和解密。
  • 客户端和服务器之间的数据传输将使用这个对称密钥来进行加密和解密,保证数据的机密性和完整性。
  1. 会话保持
  • 一旦SSL/TLS握手过程完成并建立了安全连接,客户端和服务器之间的通信会保持这个安全连接。
  • 在会话保持期间,客户端和服务器都可以使用相同的对称密钥来加密和解密数据。
  • 这样,每个后续的请求和响应都可以在安全的连接上进行,不需要重新进行SSL/TLS握手过程。
    在这里插入图片描述
http://www.lryc.cn/news/133319.html

相关文章:

  • spring详解
  • 香港服务器备案会通过吗?
  • 乐鑫推出 ESP ZeroCode 控制台
  • 从NLP到聊天机器人
  • 相关搜索引擎常用搜索语法(Google hacking语法和FOFA语法)
  • Mysql查询
  • 解决http下navigator.clipboard为undefined问题
  • mysql之host is blocked问题
  • 每日一题:2337 移动片段得到字符串
  • 嵌入式设备的 Json 库基本使用
  • GEEMAP 中如何拉伸图像
  • 软件测试学术顶会——ISSTA 2023 论文(网络安全方向)清单、摘要与总结
  • 基于YOLOv8模型和PCB电子线路板缺陷目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • centos安装mysql8
  • 【Apollo】阿波罗自动驾驶技术:引领汽车行业革新
  • 一文看懂!数据管道和数据流在数据分析中的作用
  • Linux系统下检验Tensorflow 2.xx版本和1.xx版本是否安装成功
  • 暑期高铁站大量遗失物品,FindMy帮助寻找
  • 通过安全日志读取WFP防火墙放行日志
  • JDK、JRE、Java SE、Java EE和Java ME有什么区别?
  • Neo4j之unwind基础
  • 回归预测 | MATLAB实现SSA-SVM麻雀搜索算法优化支持向量机多输入单输出回归预测(多指标,多图)
  • 深入探索代理技术:Socks5、IP代理与网络安全
  • Matlab 频谱图中如何设置频率刻度
  • 在线转换器有哪些优势?在线Word转PDF操作分享
  • 2023国赛数学建模A题思路模型代码汇总 高教社杯
  • vue3如何批量设置动态ref
  • Android Studio run app 设置 release 模式
  • 【SA8295P 源码分析】41 - SA8295所有镜像位置、拷贝脚本、生成QFIL包
  • 【Redis】Redisson分布式锁原理与使用