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

【linux】HTTPS 协议原理

1. 了解 HTTPS 协议原理

(一)认识 HTTPS

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

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

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

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

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

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

(三)常见的加密方式

1. 对称加密

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

特征:

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

特点:

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

2. 非对称加密

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

特点:

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

注意:

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

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

数据摘要(数据指纹):基本原理是利用单向散列函数(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 && 假⽹站等


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

相关文章:

  • datastage在升级版本到11.7之后,部分在11.3上正常执行的SP报错SQLSTATE = 22007: 本机错误代码 = -180
  • 任何使用 Keras 进行迁移学习
  • 前端,location.reload刷新页面
  • Elasticsearch 8.16:适用于生产的混合对话搜索和创新的向量数据量化,其性能优于乘积量化 (PQ)
  • 从社交媒体到元宇宙:Facebook未来发展新方向
  • 丹摩征文活动|丹摩智算平台使用指南
  • 软件缺陷等级评定综述
  • asp.net framework从webform开始创建mvc项目
  • 2024江苏省网络建设与运维省赛Linux(十) mariadb 服务
  • 电信网关配置管理系统 upload_channels.php 文件上传致RCE漏洞复现
  • uniapp 集成 uview
  • CPP贪心算法示例
  • Java 面向对象编程(OOP)
  • Word表格自动跨页怎么办
  • Pr 视频过渡:沉浸式视频
  • MySQL必会知识精华7(通配符过滤)
  • 【MySQL场景题:如何保障传入id顺序与查询结果id顺序一致】---项目积累
  • 海康私有化视频平台EasyCVR视频分析设备平台流媒体协议RTMP、HTTP-FLV、HLS的简单对比
  • HTML5+css3(定位属性,position:absolute,relative,fixed,相对定位,绝对定位,固定定位,z-index属性)
  • 01、机器学习概述
  • 《EasyQuotation 与MongoDB在股市信息的奇妙融合》
  • javaFX controlsfx 控件之SpreadsheetView
  • EDUCODER头哥 SpringBoot初体验
  • 124. Raycaster(射线拾取模型)
  • Guarding the Chessboard(UVA 11214)
  • uniapp—android原生插件开发(3Android真机调试)