【linux】HTTPS 协议原理

1. 了解 HTTPS 协议原理

(一)认识 HTTPS

HTTPS 也是一种应用层协议,是在 HTTP 协议的基础上引入了一个加密层

因为 HTTP协议的内容都是按照文本的方式进行传输的,这个过程中,可能会出现一些篡改的情况

(二)认识 "加密" , "解密"

加密:把明文 (在网络上要传输的数据)进行一系列操作,生成密文(处理过后的数据)的过程

解密:把密文再进行一系列操作,还原成明文的过程

在这个加密和解密过程中,往往需要一个或者多个中间数据,来辅助这个过程,这样的数据叫做密钥

(三)常见的加密方式

  1. 对称加密

采用单密码的加密方法,同一个密钥可以同时用作信息的加密和解密

特征:

加密和解密所使用的密钥都是相同的

特点:

算法公开,计算小,加密速度快,加密效率高

  1. 非对称加密

需要两个密钥来进行加密和解密,这两个密钥一个是公开密钥(一般来说,是服务器交给客户端的),一个是私有密钥(一般来说,是服务器私有的,不会交给别人)

特点:

算法强度复杂,安全性高,但是效率低,速度慢

注意:

公有密钥和私有密钥是配对的,可以通过 公有密钥 解开 私有密钥的加密,也可以通过 私有密钥 解开 公有密钥的加密

(四)数据摘要(数据指纹)

数据摘要(数据指纹):基本原理是利用单向散列函数(hash表)对信息进行运算,生成一串固定的长度的字符串,它不是一种加密,但是可以判断数据是否发生篡改

摘要常见算法:MD5,SHA1 ........,算法只能尽可能减少数据冲突,确保唯一性

(五)数字签名

摘要经过加密,就得到数字签名

2. HTTPS 数据安全的探讨

要确保数据安全,只要是在于加密过程是否安全可靠,而加密主要分为两大类:对称加密和非对称加密

(一)方案1 ---- 只使用 对称加密

(二)方案2 ---- 只使用 非对称加密

(三)方案3 ---- 双方都采用 非对称加密

(四)方案4 ---- 非对称加密 + 对称加密

针对方案3,4共同拥有的安全缺陷问题

中间人是有可能获取所有在网络传输中的数据

以上方案都存在⼀个问题,如果最开始,中间⼈就已经开始攻击,从而造成不安全

最直接的原因是:客户端无法识别公钥是不是服务端的(这里需要引入一个概念:证书)

(五)⽅案 5 ---- ⾮对称加密 + 对称加密 + 证书认证

在客户端和服务器刚⼀建⽴连接的时候, 客户端给服务端发送请求,服务器给客户端返回一个证书,证书包含了之前服务端的公钥, 也包含了⽹站的⾝份信息

3. 证书

(一)CA认证

服务端在使⽤HTTPS前,需要向CA机构申领⼀份数字证书,数字证书⾥含有证书申请者信息、公钥信

息等。服务器把证书传输给浏览器,浏览器从证书⾥获取公钥就⾏了,证书就如⾝份证,证明服务端

公钥的权威性

这里还有一些细节:如,签名是什么,如何保证证书的内容不会被中间人修改

(二)理解数据签名

签名的形成是基于**⾮对称加密**算法的

把证书里面的明文信息变成数据摘要,再通过加密(CA 机构自身的私有密钥进行加密),得到数据签名

(三)验证证书

客户端进行认证:

  • 当客户端获取到这个证书之后, 会对证书进⾏校验(防⽌证书是伪造的).
  • 判定证书的有效期是否过期
  • 判定证书的发布机构是否受信任(操作系统中已内置的受信任的证书发布机构)

查看浏览器的受信任证书发布机构:

设置 -- 安全 -- 管理证书

  • 验证证书是否被篡改

判断是否发生篡改,如图:

4. 常见问题

  • 为什么签名不直接加密,⽽是要先形成数据摘要?

缩⼩签名密⽂的⻓度,加快数字签名的验证签名的运算速度

  • 如何成为中间⼈?
  1. ARP欺骗:在局域⽹中,hacker经过收到ARP Request⼴播包,能够偷听到其它节点的 (IP, MAC)地址。例, ⿊客收到两个主机A, B的地址,告诉B (受害者) ,⾃⼰是A,使得B在发送给A 的数据包都被⿊客截取

  2. ICMP攻击:由于ICMP协议中有重定向的报⽂类型,那么我们就可以伪造⼀个ICMP信息然后发送给局域⽹中的客⼾端,并伪装⾃⼰是⼀个更好的路由通路。从⽽导致⽬标所有的上⽹流量都会发送到我们指定的接⼝上,达到和ARP欺骗同样的效果

  3. 假wifi && 假⽹站等

相关推荐
文静小土豆32 分钟前
Rocky Linux 二进制 安装K8S-1.35.0高可用集群
linux·运维·kubernetes
暮云星影1 小时前
二、linux系统 应用开发:整体Pipeline流程
linux·arm开发
weixin_430750932 小时前
OpenMediaVault debian Linux安装配置企业私有网盘(三) 静态ip地址配置
linux·服务器·debian·nas·网络存储系统
403240732 小时前
[Jetson/Ubuntu 22.04] 解决挂载 exFAT 硬盘报错 “unknown filesystem type“ 及只读权限问题的终极指南
linux·运维·ubuntu
Source.Liu3 小时前
【沟通协作软件】使用 Rufus 制作 Ubuntu 启动盘的详细过程
linux·ubuntu
Love丶伊卡洛斯3 小时前
Ubuntu 部署 STUN服务端
linux·运维·ubuntu
梁洪飞3 小时前
通过链接文件和Start.S学习armv7
linux·arm开发·嵌入式硬件·学习·arm
DN金猿3 小时前
使用ubuntu安装nginx时报错
linux·nginx·ubuntu
上海云盾安全满满3 小时前
选择高防IP时需要重点关注哪些因素
网络·网络协议·tcp/ip
智在碧得3 小时前
碧服打造DataOps全链路闭环,定义大数据工程化发布新标杆
大数据·网络·数据库