用了 HTTPS,没想到还是被监控了!

48df2d5f1f7a91aa04da6b5e873ac0ff.gif

作者 | 轩辕之风

来源 | 编程技术宇宙

大家好,我是轩辕。

上周,微信里有个小伙伴儿给我发来了消息:

c6b0c578ac266ccee9746ba1c83bcf8b.png631fccfb18bb1f42f0ba223a1e62d118.png

随后,我让他截了一个完整的图,我一瞅,是HTTPS啊!没用HTTP!再一瞅,是www.baidu.com啊,不是什么山寨网站!

我瞬间明白了些什么,让他点击了一下浏览器地址栏中那个表示安全的小锁标志,查看了一下网站使用的HTTPS证书。

0943c6408272bc90c86923277a79d092.png

果然不出我之所料,证书不是官方的,官方的证书长这样:

5e1111714b49ea3d06a907ad53256921.png

而那个假的证书是他们公司签发的,看来,他们公司开始对HTTPS流量做解析了,这家伙瞬间瑟瑟发抖···

8448abb4efee9eed1e232b434a26992d.png

今天就来跟大家聊一下:HTTPS真的安全吗?

现如今大家每天上网基本上看到的都是使用了HTTPS的网站,有时候特意想找一个HTTP的网站来让新同学练习抓包分析都不好找。

但在几年前,差不多我刚刚开始毕业工作(2014年)的时候,情况却不是这样的,网络上还有大量使用HTTP的网站。

大家知道,HTTP是超文本传输协议,数据内容在网络中都是明文传输的,非常不安全。同在一个宿舍里的同学,随便搞一个中间人劫持就能监听到你浏览了什么视频学习网站。

不仅如此,上网链路中包括寝室路由器在内的各级网络设备都可以探知你的数据,甚至给你插入小广告(其实这种现象现在依然存在,尤其是很多医院、学校的网站,还是很多都是用HTTP,特别容易粘上小广告),一不小心就跳到了广告页面,真是防不胜防。

不久,网站HTTPS化的浪潮很快打来,通过加密这一最简单直接的办法,将浏览器上网过程中传输的数据进行加密保护,上网内容的安全性得到了极大的提升。

我之前写过一篇故事深入浅出的描述了HTTPS的工作原理,还不懂的小伙伴儿可以学习一下,我经常也会在面试中考察候选人这个问题,这可以迅速帮助我知道对方对HTTPS的了解程度。

为了一个HTTPS,浏览器操碎了心···

咱们通过下面的快问快答环节来简单总结一下。

HTTPS为什么安全呢?

d5a9543a4abb2183cce58eca1bd6d806.png

b929940148e98fa396212d4448530b06.png

因为数据加密了啊~

04ce0eb0be6ac53a32076d7bf3ca90b0.png

ac5a1b54ea2a8cf3ee922cb203d992ab.png

那数据加密的秘钥怎么来的?

d4028f2cec7ac9b0361152bf4cd64507.png

093a775aa3c1d6cea45e04a7762b00e1.png

是双方通过相同的随机数计算出来的。

2585242e871da2f959b25a6f3c004eb6.png

9e563bb2d7b385689f7856e20e8ba1f6.png

那随机数怎么传输的?

c4afccaa46610a353302a76bf81876b1.png

90b7ed0eb6298895e3097a6e4ae6bcc8.png

使用非对称加密传输的,浏览器使用服务器提供的公钥加密,只有服务器使用自己的私钥才能解开,别人解不开。

e370217021287c79f102b0d6794c5b17.png

45abc502cf46e1250ebf64f905c4efae.png

你怎么知道那是服务器的公钥,万一是别人的,中间人攻击呢?

d7e197ca053176874bd1e65c995a13c9.png

252bbc6b1c14742a2931d4dfeb6cc52d.png

有证书来证明服务器身份

24a4aa3ce61bd6caca5478c9e9ccaa65.png

dfdcd06f8ce1943d4b9fcead323becd9.png

证书万一是假的呢?

cc9199c5236b944b72d38863ea1ac326.png

8fa3d3181c8f7d69d31e2c9fbc7a5bc5.png

不可能,假的证书不是受信任的机构签发的,浏览器会验证通不过。

5dfc9fc2526568e95c2967c95fbc2d7a.png

bc622cf3a01225c68f725a93524396f4.png

那浏览器怎么知道证书的签发机构是不是受信任的?

96bd957365c3a57625d0c6a60c2c6232.png

c3e70788910a740cb36352edf15f9976.png

因为受信任机构的根证书安装到了系统中,你总得相信微软吧!

f5687757d08136a634ff40378188fb41.png

a646c5bec63e2d9c67cbd034ce113349.png

要是假的根证书被安装进了系统咋办?

73566952660e71d0d3543d11bdbc299a.png

19797ca6638c3e1cc2b36aaa5e570a02.png

ef09b68aada605d975b1cfc7df65a9ea.png

d3584703a1f20f688bd399d398ea7773.png

5a4a2048e475f6a32ae90df03fb40ec1.png

看到了吧,HTTPS能够安全的基石是非对称加密,非对称加密建立的前提是对方真的是对方,如果这一个前提不成立,后面的一切都是假的!

网站服务器使用HTTPS进行通信时,会提供一个用于证明身份的证书,这个证书,将会由某个受信任的机构签发。

浏览器拿到这个证书后,会校验证书的合法性,去检查证书的签发机构是不是受信任的。

那如何去检查签发机构是不是受信任的呢?

答案是继续检查签发机构的证书,看看是谁给他签发的,一直这样追溯,直到找到最终的签发者,看看最终的签发者的证书是不是安装在操作系统的受信任的根证书列表中。

b4ed9f6d119c6f9674af8b843e534a93.png

是不是已经晕了?没关系,我们来用百度的那个证书为例,看一下这个过程,你就知道什么意思了。

你可以通过点击证书路径tab页面查看证书的签发链条:

e68de4dd54a835e935c0c7e1ed73ba89.png

通过这个树形结构图,可以清晰地看到:

baidu.com这个域名使用的证书,是由名为GlobalSign Organization Validation CA - SHA256 - G2的颁发者签发的。

而这个颁发者的证书,又是由GlobalSign Root CA - R1签发的。

浏览器拿到这个最顶层的签发证书后,去操作系统安装的受信任的根证书列表中一找,嘿,还真让它找着了!

94b80018981dc00d8ce1fc6189679f0d.png

于是,浏览器信任了这个证书,继续接下来的通信过程。

如果找不到,浏览器就会弹出不受信任的消息,提醒用户要当心了!

3fe6b8423e067f8c0cd54925d43ff665.png

而如果,有人在你的电脑中安装了一个自己的根证书进去,骗过浏览器,这一切安全的根基也就倾覆了。

而文章开头那个小伙伴儿之所以弹出了那个窗口,多半是根证书还没安装进去,就开始了HTTPS劫持。因为重启之后,便再也没有这些提示信息,一切如往常一样风平浪静,只不过上网的流量已经被公司悉数掌握。

看到这里,还不赶紧点开浏览器地址栏的那把锁,看看证书的签发机构是不是你们公司?

如果是,那恭喜你了~

2e304dd6432735781d13771c9c158226.gif

往期推荐

低代码发展专访系列之八:低代码平台能够打破企业「应用孤岛」现象吗?

Medusa又一个开源的替代品

数字孪生+交通,到底有啥用?

快速搭建实验环境:使用 Terraform 部署 Proxmox 虚拟机

0cfbbf24094c33736c9f9706b993cd6d.gif

点分享

24312f78cfbd05c592b27aff8d8fe3ca.gif

点收藏

aa1ff0ba21c073015ee79211c88a1f39.gif

点点赞

d4a780b89007eab7762e9c64ab77652b.gif

点在看

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

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

相关文章

AI让边缘更智能 边缘让AI无处不在

简介: 城市管理和城市服务逐步走向智能化,智慧化。到2019底,全国100%的副省级城市,95%以上的地级市,以及50%以上的县级市均提出建设新型智慧城市,并已经有32个主要城市成立了专门的大数据管理机构&#xff…

开源自建/托管与商业化自研 Trace,如何选择?

简介: 随着微服务架构的兴起,服务端的调用依赖愈加复杂,为了快速定位异常组件与性能瓶颈,接入分布式链路追踪 Trace 已经成为 IT 运维领域的共识。但是,开源自建、开源托管或商业化自研 Trace 产品之间到底有哪些差异&…

python 覆盖list_【Python妙招】gt;gt;gt;看腻了能不能换成别的啊……当然可以啦:)...

原文作者:站在两个世界边缘 & 小象编辑:VL今天给大家介绍几个Python里(可能没那么广为人知的)小知识,希望能给大家带来帮助,让编程更有乐趣。1.如何修改解释器提示符正常情况下,我们在终端下执行Python 命令是这样…

阿里云IoT Studio升级版新增解决方案引擎 大幅提升方案交付效率

简介: 8月25日,阿里云发布IoT Studio升级版,新增了解决方案引擎,让设备方案商复用之前搭建的解决方案模板进行简单的定制化修改,即可交付。使整个物联网解决方案的交付过程由几个月,缩短到几小时&#xff0…

如何用 Nacos 构建服务网格生态

简介: Nacos 在阿里巴巴起源于 2008 年五彩石项目(该项目完成微服务拆分和业务中台建设),成长于十年的阿里双十一峰值考验,这一阶段主要帮助业务解决微服务的扩展性和高可用问题,解决了百万实例扩展性问题&…

华为oj题目c语言,华为OJ机试题目——24点游戏算法

对于这种题用程序实现只能是穷举的思想,而做法各异,如下代码是利用符号的不断变化,利用4个数计算值,默认是4个数字a,b,c,d是按顺序计算的,即默认是加了括号的,即(((a op1 b)op2 c)op3 d)。而4个数字要组合顺…

性能提升一个数量级,大杀器来了!| 文内福利

经过多年的演进,Java语言的功能和性能都在不断地发展和提高,但是冷启动开销较大的问题长期存在,难以从根本上解决。本文先讨论冷启动问题的根本原因,然后介绍一种新近提出的彻底解决Java冷启动问题的技术方案——Java静态编译技术…

快手基于 Flink 构建实时数仓场景化实践

简介: 一文了解快手基于 Flink 构建的实时数仓架构,以及一些难题的解决方案。 本文整理自快手数据技术专家李天朔在 5 月 22 日北京站 Flink Meetup 分享的议题《快手基于 Flink 构建实时数仓场景化实践》,内容包括: 快手实时计算…

PyFlink 开发环境利器:Zeppelin Notebook

简介: 在 Zeppelin notebook 里利用 Conda 来创建 Python env 自动部署到 Yarn 集群中。 PyFlink 作为 Flink 的 Python 语言入口,其 Python 语言的确很简单易学,但是 PyFlink 的开发环境却不容易搭建,稍有不慎,PyFlin…

Android自动化打包工具,利用Jenkins实现Android自动化打包

Jenkins简介What is Jenkins?Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.Jenkins can be installed through native system packag…

为什么简单的删除集合中的元素竟然报错了?

作者 | 七十一来源 | 程序员巴士前言什么是快速失败:fail-fast 机制是java集合(Collection)中的一种错误机制。它只能被用来检测错误,因为JDK并不保证fail-fast机制一定会发生。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fas…

一文详解Redis中BigKey、HotKey的发现与处理

简介: 在Redis的使用过程中,我们经常会遇到BigKey(下文将其称为“大key”)及HotKey(下文将其称为“热key”)。大Key与热Key如果未能及时发现并进行处理,很可能会使服务性能下降、用户体验变差&a…

阿里云CDN操控2.0版本正式发布

简介: 2021年8月,阿里云边缘云CDN完成过去3年来最大的一次版本升级。 2021年8月,阿里云边缘云CDN完成过去3年来最大的一次版本升级。本次升级根据上万企业客户的使用反馈和行业应用特征,从简单开通到个性化定制,从内容…

向xxxhub发了一个数据包,发现了···

作者 | 轩辕之风来源 | 编程技术宇宙那天,我突然想到一个问题:当我访问那个让万千宅男程序员为之着迷的GitHub时,我电脑发出的数据包是如何抵达大洋彼岸的GitHub服务器的呢,这中间又要经过哪些节点呢?让我们一起来探究…

使用 Flink Hudi 构建流式数据湖

简介: 本文介绍了 Flink Hudi 通过流计算对原有基于 mini-batch 的增量计算模型的不断优化演进。 本文介绍了 Flink Hudi 通过流计算对原有基于 mini-batch 的增量计算模型不断优化演进。用户可以通过 Flink SQL 将 CDC 数据实时写入 Hudi 存储,且在即将…

android获取版本号报错,Android开发:获取安卓App版本号的方法步骤

在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版本号就是必须要有的功能。Android的App版本号相关内容比iOS的App版本号内容要多,而且iOS版的App版本信息跟Android的还不一样。本篇…

运营也用的起来的数据分析工具:Quick BI即席分析详解

简介: 数据部门是一个容易被投诉的“高危”部门,需求响应慢、数据准确性不高会影响业务的发展。 然而数据分析师每周动辄就有几十个需求在手,无限的加班也无法解决所有问题,到底怎样才能改变BI分析师的需求响应问题呢?…

【产品动态】解读Dataphin流批一体的实时研发

简介: Dataphin作为一款企业级智能数据构建与管理产品,具备全链路实时研发能力,从2019年开始就支撑可集团天猫双11的实时计算需求,文章将详细介绍Dataphin实时计算的能力。 背景 每当双11全球购物狂欢节钟声响起,上千…

Aruba与中国电信国际有限公司达成战略合作 助力中国企业扬帆出海

2022年1月12日,慧与科技公司 (NYSE: HPE) 旗下Aruba日前宣布,与中国电信国际有限公司(CTG)签署MSP(托管服务运营商)战略合作伙伴协议,Aruba的产品将纳入中国电信国际有限公司的主营产品线。协议…

模仿Spring实现一个类管理容器

简介: 项目的初衷是独立作出一个成熟的有特色的IOC容器,但由于过程参考Spring太多,而且也无法作出太多改进,于是目的变为以此项目作为理解Spring的一个跳板,与网上的一些模仿Spring的框架不同,本项目主要是针对注解形式 概述 项目的初衷是独立作出一个成熟的有特色…