HarmonyOS-ArkUI Web控件基础铺垫6--TCP协议- 流量控制算法与拥塞控制算法

HarmonyOS-ArkUI Web控件基础铺垫5--TCP协议- 动画展示超时重传,滑动窗口,快速重传

HarmonyOS-ArkUI Web控件基础铺垫4--TCP协议- 断联-四次挥手解析

HarmonyOS-ArkUI Web控件基础铺垫3--TCP协议- 从规则本质到三次握手

HarmonyOS-ArkUI Web控件基础铺垫2-DNS解析

HarmonyOS-ArkUI Web控件基础铺垫1-HTTP协议-数据包内容

SSL认证环节,是Http与Https之间的重大区别。这个多出来的“s”,指的就是SSL认证。 Https相比于Http更为安全,原因在于Https对所有的数据加了密。 加密方式为对称性加密。对称性加密呢通常有一个双方都知道的,一模一样的秘钥, 双方都拿这个秘钥加密解密。

这个对称性秘钥从哪里来的呢? SSL认证环节就是来拿这个秘钥的。

通常这个秘钥是由一方生成,之后传递给另外一方。从而让两方都知道了这个相同的秘钥。但是谁来确保这个秘钥的传输过程中,是安全的呢??SSL!!!

SSL采用了更为精密的非对称性加密,来使得双方同步了这个对称加密的秘钥。

可以这么理解:

A B双方传输,会拿一把开锁速度特别快,但是容易被破解的木钥匙进行加密。(对称性加密),为什么用这个,因为涉及大量的数据传输,一定要快!快很关键。

AB怎么知道这把很快钥匙的呢?? 是在双方交涉之初的一次传输中,用了一把非常精密的金锁,对这个木钥匙加了密!传过去的。 此处金锁涉及到的环节就是SSL。

所以我们从“金锁”讲起。 那把木锁呢,可以看看网上其他帖子。

非对称加密的特点

非对称性加密在使用的时候,通常是有其中一个作为私钥被存储在本地,另一个作为公钥被公开在网上。其关系如下:

数字签名的使用-私钥加密摘要公钥解密

数字签名指得就是将一串文件通过摘要算法转换成固定大小如128个字串长度大小的串。

证书呢,就是利用了数字签名技术和非对称加密技术,统一完成的,确定来源的且确定内容有无被修改的技术。通常这套机制被用在Https中SSL环节,来确保地址网站的合法性,和互换对称性秘钥。为后续加密的http密文传输做准备。

下图为演化方式:

好,接下来我们不难看出来其中有问题,就是贼人万一改了源文件,自己弄一套私钥加密,给一套公钥,对方是不知道的,那怎么办啊!如图所示

解决思路

数字证书

数字证书的起源正是如此,起于发送端发送给警察的不是裸公钥,而是更全面的信息。就是证书。这个证书必须提前注册给警察,警察经过严格的审核之后,才能记录在案。此处的经常便是颁发证书的机构。

证书的组成:

信任锚点及Https中的SSL原理

数字签名想要真正的安全,是需要一个信任锚点的。 所谓的信任锚点就是,你必须有一个隐蔽的绝对信任的点,这个点一旦确认,你就必须承认它里面的信息就是绝对安全的。否则这套逻辑必定会有大漏洞。

在这套系统里的信任锚点,就是证书!你的电脑里,手机里,在出厂的时候就会被设置一些证书的。这些证书要是出了问题,你可以直接告硬件厂商去了。这是绝对有保障的

Charles抓包原理

加密-SSL与Charles抓包

问题

Http用了非对称加密和对称性加密结合的能力。用非对称加密把对称性加密的钥匙加密了双方进行解析,之后的数据采用对称性加密进行。

SSL证书仅仅是其中的一个环节。 我做智能家居的时候因为创业阶段,没有拿到这个证书,所以生撸了这套机制。下面针对加密着重讲里面涉及到的概念及合作机制:

  • 客户端向服务端发起https请求,连接到服务端的443接口
  • 服务端有一对非对称秘钥,服务端保存私钥, 不能泄露给任何人。公钥可以公布。
  • 服务端发送一个SSL证书给客户端,SSL证书中含有具体的内容有
    • 证书的发布机构CA
    • 证书的有效期
    • 公钥
    • 证书所有者, 签名。
  • 客户端收到这个SSL证书之后,验证服务器发送的数字证书的合法性,如果发现这个证书是有问题的,那么HTTPS传输则无法继续,如果合格,则客户端会生成一个随机值,这个随机值就是用于对称性加密的秘钥,然后用刚才的公钥对这段对称性加密的秘钥进行加密,变成密文。
  • 接下来客户端会向服务端发起请求,将这段秘钥发给服务端。
  • 服务端接受到密文,用自己的私钥解析,解析出来对称性加密的秘钥,之后的请求里,就会用这段秘钥当加密钥匙,对内容进行对称性加密。
  • 客户端收到之后的密文,就会用自己的对称性秘钥进行传输了。

这里面是不是会出问题呢?

你的手机系统里的公钥,一定是要正常的,这个是这套机制的信任锚点,是万物起源,所以一定不要Root手机,或者买山寨机。因为这里容易出问题。

Charles

Charles让你先信任一个证书,你信任了它给的证书,才能看到其它App中抓的包数据。你但凡信任了就代表你允许公开这个数据了。我们可以防止别人看我们的内容。但是为什么Charles能看得见你Https里面的内容?如下图所示:

Charles作为一个中间的拦截者存在,伪装成客户端来进行数据的解析,和转发给真正的客户端的。但是如果您不同意安装本地的证书, 一切都没有基石。还是要在信任锚点上解决了才可以进行。

为什么有时候您用Charles,看不到里面的数据内容

因为现在各大应用为了预防这种第三方拦截攻击的问题,自己写了逻辑,标注上,“我们的Https请求的SSL认证环节,只信手机系统安装的那个证书,其他的不信!” ,您的Charles证书即使安装上去,那也是用户认证证书,Https底层认证环节压根就不用您那个证书。这就导致了您抓不到这些应用的包。

如果您在开发中遇到了看不见自家公司抓包内容的问题,可以看看工程里配置文件中,一般会有配置的。您可以指定开发环境下信任什么证书,也可以指定线上环境中,不信任用户自己安装的证书。这样,贼人就抓不到你家公司Https协议里的内容了。

不要使用山寨机

为了用户信息安全,建议不要使用来路不明的手机,或者是root掉的。原因是,往系统里如果植入了非法证书(信任锚点处被改了),是完全可以越过防线,看到您的所有信息的。不安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/921979.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/921979.shtml
英文地址,请注明出处:http://en.pswp.cn/news/921979.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【qt】通过TCP传输json,json里包含图像

主要是使用协议头 发送方connect(m_pDetectWorker, &DetectionWorker::sig_detectImg, this, [](const QJsonObject &json){// 转换为JSON数据QJsonDocument doc(json);QByteArray jsonData doc.toJson(QJsonDocument::Compact);// 构建增强协议头struct EnhancedHead…

四,基础开发工具(下)

4.5自动构建make/Makefile4.5.1基本使用1示例2进一步解释3实践4最佳实践4.6练习:进度条4.6.1倒计时4.6.2进度条version14.6.2进度条version24.7版本控制器Git4.7.1git操作1操作一次,以后不愁2经典"三件套"3常用4版本回退4.7.2小结4.5自动构建m…

C++基本数据类型的范围

文章目录不同位数的系统下各个类型所占字节数如何存储的我发现我能搜到的相关文章都只讲了这些数据类型的范围是这样的,不说实际的存储情况,当你了解了类型实际是如何存储的,再去记忆这些范围就简单了,所以就有了这篇文章不同位数…

基于社交媒体数据的公众情绪指数构建与重大事件影响分析

一、引言在信息爆炸的时代,社交媒体(如微博、Twitter)已成为公众表达情绪、讨论热点事件的主要平台。通过分析社交媒体数据,可以构建公众情绪指数,并进一步研究其与股市波动、政策发布等重大事件的关联性。本文将介绍如…

OpenLayers数据源集成 -- 章节七:高德地图集成详解

前言在前面的文章中,我们学习了OpenLayers的瓦片调试(VectorTileDebug)技术。本文将深入探讨OpenLayers中高德地图的集成方法,这是WebGIS开发中接入商业地图服务的重要技术。高德地图作为国内领先的地图服务提供商,提供…

海外代理IP平台Top3评测:LoongProxy、神龙动态IP、IPIPGO哪家更适合你?

在当今互联网环境中,代理IP服务已成为许多企业和个人用户的刚需。无论是数据采集、市场调研还是账号管理,优质的代理IP都能大幅提升工作效率。本文将针对LoongProxy、神龙海外动态IP和IPIPGO这三家主流代理IP服务商进行横向评测,帮助你根据自…

对浏览器事件机制的理解

浏览器事件是什么: 事件是用户操作网页时发生的交互动作,比如 click/move, 事件除了用户触发的动作外,还可以是文档加载,窗口滚动和大小调整。事件被封装成一个 event 对象,包含了该事件发生时的所有相关信…

XCVP1902-2MSEVSVA6865 AMD 赛灵思 XilinxVersal Premium FPGA

XCVP1902-2MSEVSVA6865 是 AMD 赛灵思(Xilinx)Versal Premium FPGA 系列中的高端自适应系统级芯片(Adaptive SoC)变体,面向需要极高逻辑密度、海量 I/O 与超高速收发能力的数据中心互联、原型验证与高性能网络加速等应…

kotlin - 2个Fragment实现左右显示,左边列表,右边详情,平板横、竖屏切换(一)

kotlin - 2个Fragment实现左右显示,左边列表,右边详情,平板横、竖屏切换(要使用平板测试)平板横屏:左右fragment实现分屏效果,平板竖屏:只显示左边的fragment,点击才显示右边fragment屏幕旋转&a…

推荐系统中的AB测试:从设计到分析全流程

推荐系统中的AB测试:从设计到分析全流程 关键词:推荐系统、AB测试、实验设计、数据分析、效果评估、统计显著性、用户体验 摘要:本文将深入探讨推荐系统中AB测试的全流程,从实验设计到结果分析。我们将用通俗易懂的方式解释AB测试的核心概念,展示如何科学地评估推荐算法改…

【go语言 | 第1篇】Go环境安装+go语言特性

文章目录go开发环境1. 下载安装包2. 配置环境变量3. GOPROXYgo语言特性1. go的优势2. go适合做什么3. go缺点编写一个go程序注:在VSCode中补全go代码go开发环境 我这里是windows操作系统的环境安装,其他系统可以查看菜鸟教程:Go 语言环境安装…

【Pywinauto库】0. Pywinauto Windows GUI 自动化指南

概述 Pywinauto 是一个用于自动化 Windows GUI 应用程序的 Python 库,适用于自动化测试、数据录入和其他重复性桌面操作。 快速参考表方面方法/属性示例说明安装pip install pywinauto安装库后端选择Application(backend"uia") 或 Application(backend&qu…

CStringArray 和 CStringList

CStringArray 和 CStringList 都是 MFC 中用于管理字符串集合的类,但它们的内部数据结构和适用场景有显著差异,选择时需根据具体操作需求决定。以下从核心区别、功能对比和适用场景三个方面详细说明:一、核心区别:数据结构决定特性…

2025版基于springboot的企业考勤管理系统

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有实…

设计模式(C++)详解—单例模式(1)

<摘要> 单例模式是创建型设计模式中最经典且应用最广泛的设计模式之一&#xff0c;它确保一个类只有一个实例并提供全局访问点。本文从历史背景和核心概念出发&#xff0c;详细阐述了单例模式的产生背景和演进历程&#xff0c;深入剖析了其在资源管理、状态一致性和访问控…

将GitHub远程仓库修改为ssh

8 将GitHub远程仓库修改为ssh 文章目录8 将GitHub远程仓库修改为ssh1 创建本地的ssh密钥2 设置GitHub密钥3 将本地库链接到远程仓库很多时候在使用GitHub的远程链接使用的是http的格式&#xff0c;但是这个格式并不好&#xff0c;尤其是在代码上传的时候&#xff0c;因此需要采…

【OEC-Turbo】网心云 OEC-Turbo 刷机 Armbian 系统教程

前言 大量网心云 OEC 及 OEC-Turbo 设备流入二手市场&#xff08;如海鲜市场&#xff09;&#xff0c;价格低至 70-100 元。相比同配置的拾光坞 N3&#xff08;约 380 元&#xff09;&#xff0c;OEC-Turbo 仅需一个零头&#xff0c;性价比极高。这些“矿渣”设备外观与玩客云…

25.线程概念和控制(二)

一、线程周边问题1.线程的优点创建一个新线程的代价要比创建一个新进程小得多。线程占用的资源要比进程少很多。能充分利用多处理器的可并行数量。在等待慢速I/O操作结束的同时&#xff0c;程序可执行其他的计算任务。计算密集型应用&#xff0c;为了能在多处理器系统上运行&am…

【CVPR2023】奔跑而非行走:追求更高FLOPS以实现更快神经网络

文章目录一、论文信息二、论文概要三、实验动机四、创新之处五、实验分析六、核心代码注释版本七、实验总结一、论文信息 论文题目&#xff1a;Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks中文题目&#xff1a;奔跑而非行走&#xff1a;追求更高FLOPS…

JVM(二)--- 类加载子系统

目录 前言 一、类加载过程 1. loading阶段 2. Linking阶段 2.1 验证 2.2 准备 2.3 解析 3. Initialization阶段 二、类加载器 1. 类加载器的分类 2. 用户自定义类加载器 三、双亲委派机制 四、其他知识点 前言 JVM的内存结构如图所示&#xff1a; 一、类加载过程…