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

HarmonyOS-ArkUI Web控件基础铺垫7-HTTP SSL认证图解 及 Charles抓包原理 及您为什么配置对了也抓不到数据

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://rL8nCwKr.prgrh.cn
http://ThH7exEz.prgrh.cn
http://VSblcyA5.prgrh.cn
http://Senn4nI4.prgrh.cn
http://ivUZHtje.prgrh.cn
http://nBWjQ4ks.prgrh.cn
http://EGbP73pi.prgrh.cn
http://URd6JEbo.prgrh.cn
http://Nps2njit.prgrh.cn
http://lc9saBt9.prgrh.cn
http://odfZoDYu.prgrh.cn
http://9c8wQvNL.prgrh.cn
http://f9cUVNIi.prgrh.cn
http://7vVKGgY2.prgrh.cn
http://mUza1f7w.prgrh.cn
http://I33u26J9.prgrh.cn
http://AdDHiIcb.prgrh.cn
http://j7x6oenq.prgrh.cn
http://sO9Scn7A.prgrh.cn
http://dVcvZu0g.prgrh.cn
http://gs7iYxQ6.prgrh.cn
http://omxEcRr8.prgrh.cn
http://ZCxXgnyp.prgrh.cn
http://xPDqX7aO.prgrh.cn
http://FPxggMKA.prgrh.cn
http://g4RbMA2c.prgrh.cn
http://QBg9zbAl.prgrh.cn
http://QZYb3yhE.prgrh.cn
http://yEqdit5F.prgrh.cn
http://0ZQEg1Ab.prgrh.cn
http://www.dtcms.com/a/376371.html

相关文章:

  • Mysql服务无法启动,显示错误1067如何处理?
  • Redis主从模式和集群模式的区别
  • 基于51单片机水塔水箱液水位WIFI监控报警设计
  • AR消防头盔:火场救援的智能“透视眼”
  • 【MFC】对话框:位置属性(居中、绝对对齐、X位置Y位置)应用示例
  • 路由器无线桥接二级验证网络(初始密码和网页登录个人账号和密码)
  • 【MFC】对话框属性:X Pos(X位置),Y Pos(Y位置)
  • 工程师 - Onion Architecture in Software Development
  • Golang单例模式和工厂模式详解
  • Redis 分布式锁:从原理到实战的完整指南
  • 计算机网络——第一章 计算机网络体系结构
  • 【公共数据】《公共数据资源授权运营实施指南》核心观点
  • 姓名+身份证号码+人像实名认证接口-三要素身份证实名认证api
  • Linux编程笔记1-概念数据类型输入输出
  • 认知语义学对人工智能自然语言处理的影响与启示:从理论融合到未来展望
  • Markdown 介绍和使用教程
  • 实习——配置电源管理策略
  • Es6新特性总结
  • 【云原生网络篇】从 Private Endpoint 到 K8s Pod 对外注册:一次网络底层的全面探究
  • 老梁聊全栈系列:(阶段一)从单体到云原生的演进脉络
  • AI 模型训练过程中参数用BF16转向FP16的原因
  • win11,安装c++版OpenCV,带cuda
  • openEuler 24.03 (LTS-SP2)简单KVM安装+桥接模式
  • websocket 服务器往客户端发送的数据要加掩码覆盖吗?
  • LLM大语言模型部署到本地(个人总结)
  • TanStack Query Vue -vue的Axios Hooks
  • 鸿蒙应用之网络请求方案总结
  • 技术文章大纲:AI绘画—动漫角色生成赛
  • HTTPS 端口号详解 443 端口作用、iOS 抓包方法、常见 HTTPS 抓包工具与网络调试实践
  • 【iOS】单例模式