【网络原理】——图解HTTPS如何加密(通俗简单易懂)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密

  image.gif 编辑

阿华代码,不是逆风,就是我疯

你们的点赞收藏是我前进最大的动力!!

希望本文内容能够帮助到你!!

目录

一:HTTP为什么不安全

二:HTTPS加密过程

1:密码学中的概念

(1)明文

(2)密文

(3)密钥

(4)对称加密

(5)非对称加密

(6)公钥和私钥

2:HTTPS工作过程

(1)引入对称加密

(2)非对称加密

(3)证书加密


一:HTTP为什么不安全

在介绍HTTP的那一篇文章中我们提了一嘴,HTTP是明文传输,不安全的。HTTPS在HTTP的基础上,引入了一个加密层(SSL)来保证安全性——防运营商劫持篡改Referer~(可以参考这篇文章)

【网络原理】——HTTP请求头中的属性-CSDN博客

比如我们想要下载一个音乐播放器,点击了下载,蹦出来的并不是这个音乐播放器的下载链接,而变成另一个的了,很常见的挂羊头卖狗肉~

image.gif 编辑

image.gif 编辑

image.gif 编辑

二:HTTPS加密过程

1:密码学中的概念

(1)明文

传输的真实的数据,表达的实际意思

(2)密文

给明文经过加密之后得到的结果就是密文,不直观,不易理解

(3)密钥

可以理解成对照表,比如我们将字符A设置成明文,我给字符A按照ASCII码值进行加密,我们通过ASCII码值表对照,知道了密文97所代表就是A.

(4)对称加密

加密和解密使用的同一个密钥,我们举个简单的例子哈,看下面的图(这种感觉,我称之为偷感)

image.gif 编辑

(5)非对称加密

加密和解密使用的是两个密钥,比如K1密钥和K2密钥,这两者成对的,

使用K1来加密,此时就是K2来解密;使用K2来加密,此时就是K1来解密

(6)公钥和私钥

公开出去,大家都知道的叫做公钥;私自保留的,只有自己知道的叫私钥

2:HTTPS工作过程

由引入我们知道,运营商劫持的根本原因在于“明文传输”,于是我们也提出了好几种加密对策,主要针对header和body进行加密

(1)引入对称加密

通过对称加密的方式,针对传输的数据进行加密操作

关键点:

①对称加密,客户端和服务器使用的是同一个密钥

②不同的客户端,需要使用不同的密钥

③TCP建立连接后,在进行SSL握手(交换/传输密钥),最后才是加密传输

注:每个客户端连接到服务器的时候,都要自己生成一个随机密钥,在传输告知给服务器(服务器也可以生成,调换一下角色,关键在于密钥的传输),如果黑客入侵路由器拿到了这个密钥,意味着加密操作就没有意义了。

image.gif 编辑

image.gif 编辑

解决方式:对咱们得密钥也进行加密

(2)非对称加密

主要目的就是为了对“对称密钥”进行加密,确保密钥的安全性

关键点:

①传输问题上,可以让服务器生成公钥和私钥,把公钥传输给客户端,自己手持私钥

②非对称加密消耗CPU的资源远远高于对称加密,所以不能大规模使用

③黑客入侵不了的根本原因:不能对公钥进行解密

注:可以理解成——我持有信箱和和钥匙(私钥),邮递员持有信箱的锁(公钥)

image.gif 编辑

(3)证书加密

问题引入:中间人攻击

上述非对称加密任然有问题——服务器可以生成一对公钥和密钥,那么黑客也可以模仿生成一对假的公钥和秘钥进行冒充

这里我们设置对称秘钥为key,非对称秘钥中公钥为pub私钥为pri

image.gif 编辑

解决方式:引入证书

问题关键就是,客户端在拿到公钥的时候,有办法验证这个公钥是真的,不是冒充的

证书:是一个结构化的数据(里面包含很多数据,比如:服务器的主域名、公钥、证书的有效期,以字符串的形式呈现),需要服务器从第三方公正机构进行申请 image.gif 编辑

image.gif 编辑

注意:

①证书的信息是基于字符串提供,便于后面我们使用算法进行计算

②证书的私钥只有公正机构有,如果黑客用公钥解密证书,并用自己的私钥加密签名,客户端会解密失败,所以黑客无法重新生成加密的签名。

③私钥对应解密的公钥系统电脑自带就有

④校验和是对证书中的字段用(CRC,MD5等)算法得到一个较短的字符串

⑤客户端拿到证书做两件事:对证书签名解密得到校验和1,对证书的字段进行计算得到校验和2,再比较两者


相关文章
|
10天前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
43 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
18天前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
18天前
|
域名解析 网络协议 关系型数据库
【网络原理】——带你认识IP~(长文~实在不知道取啥标题了)
IP协议详解,IP协议管理地址(NAT机制),IP地址分类、组成、特殊IP地址,MAC地址,数据帧格式,DNS域名解析系统
|
18天前
|
存储 JSON 缓存
【网络原理】——HTTP请求头中的属性
HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。
|
18天前
|
XML JSON 网络协议
【网络原理】——拥塞控制,延时/捎带应答,面向字节流,异常情况
拥塞控制,延时应答,捎带应答,面向字节流(粘包问题),异常情况(心跳包)
|
Java 数据安全/隐私保护
Java中请求HTTPS加密的源代码
import java.io.*;import java.net.*;import java.security.*;import java.security.
784 0
|
Java 数据安全/隐私保护
Java中请求HTTPS加密的源代码
 HTTPS访问方法的代码,抄一个能用的DEMO吧,我测试过的,可以用、,希望对大家也有用   import java.io.*;import java.net.*;import java.security.*;import java.security.cert.*;import java.util.*;import javax.net.ssl.*;public class Http
1053 0
|
4月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
21天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
82 1
|
2月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
79 11