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

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

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

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

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

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

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

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

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

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

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

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

HTTPS为什么安全呢?

因为数据加密了啊~

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

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

那随机数怎么传输的?

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

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

有证书来证明服务器身份

证书万一是假的呢?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如果是,那恭喜你了~

最后,给大家留一个思考题:微信会受到这种HTTPS劫持的影响吗? 欢迎在评论区发表你的看法!

有道无术,术可成;有术无道,止于术

欢迎大家关注Java之道公众号

好文章,我在看❤️

用了HTTPS,没想到还是被监控了!相关推荐

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

    作者 | 轩辕之风 来源 | 编程技术宇宙 大家好,我是轩辕. 上周,微信里有个小伙伴儿给我发来了消息: 随后,我让他截了一个完整的图,我一瞅,是HTTPS啊!没用HTTP!再一瞅,是www.baid ...

  2. 微博程序员:我每天监控流量却没想到自己也成了流量

    人们对程序员的刻板印象是什么样的呢? 最常穿格仔衫?最爱黑框眼镜?顶着蓬(散)松(乱)的头发?哦,程序员本尊老说自己秃头-- 新浪微博的月活跃用户超过4亿.这里已成为很多中国人的生活习惯之一.早上起床 ...

  3. 没想到这一天来的这么快 大数据之下再无隐私

    2019独角兽企业重金招聘Python工程师标准>>> 作者:肥肥猫 我最近发现个诡异的事情. 我前几天在淘宝和京东分别搜过一样特别小众的商品,小众到什么程度呢?小众到一般人根本不知 ...

  4. 记一次服务器被入侵,没想到我轻松搞定了它~

    作者:tlanyan 链接:https://itlanyan.com/server-being-hacked-log/ 常在河边走,哪能不湿鞋.自认为安全防范意识不错,没想到服务器被入侵挖矿的事情也能 ...

  5. 真没想到,Python还能实现5毛特效

    来源 | ZackSock(ID:ZackSock) 图源 | 视觉中国 Python牛已经不是一天两天的事了,但是我开始也没想到,Python能这么牛.前段时间接触了一个批量抠图的模型库,而后在一些 ...

  6. PyTorch迎来5岁生日,创始人带领大一实习生开发:没想到会这么成功

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨量子位 编辑丨极市平台 导读 PyTorch公开发布5周年! ...

  7. 显卡暴涨,这我万万没想到啊

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI ...

  8. 科学家们竟用乐高观察细胞,网友:万万没想到啊

    杨净 子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI 玩乐高还能玩出个显微镜?! 原本以为是一个普普通通的玩具. 没想到,还真能当成显微镜来用,是能看到细胞的那种. 真·高端新玩法! 比如 ...

  9. 显卡暴涨,等等党输了,这我万万没想到啊

    梦晨 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 万万没想到,去年信心满满准备好钱包要买30系显卡的我,现在连1660Ti都快买不起了. 不仅官方原价3899的RTX 3070,一路 ...

最新文章

  1. 41款实用工具,数据获取、清洗、建模、可视化都有了
  2. 寒武纪首颗AI训练芯片亮相
  3. python dataframe 计算上下两行的差值_用Python进行数据清洗!
  4. python连接mysql数据库数据库_python如何连接mysql数据库
  5. Java开发程序员最值得学习的10大技术
  6. 版权监控中心怎么关闭_防火门监控系统让消防通道疏散更安全
  7. [EDA] 给出一个状态机,请把它的组合进程分为2个,分别命名为COM1和COM2,其中:COM1实现对外的控制信号输出,COM2实现状态译码。
  8. 【EOJ Monthly 2019.02 - F】方差(数学,前缀和,积的前缀和)
  9. spring+websocket综合(springMVC+spring+MyBatis这是SSM框架和websocket集成技术)
  10. 2021年重庆高考成绩排名查询,2021年重庆理科高考成绩排名一分一段表,重庆高考理科成绩排名查询...
  11. ifconfig源代码-NetBSD
  12. 小程序中 wx.navigateTo 页面跳转没有反应?
  13. 将Maven项目转换成Eclipse支持的Java项目
  14. 最新 Python 爬虫利器!
  15. 软件设计师教程(第5版)- 前言和目录
  16. wincc控件之FlexGrid系列(注册安装)
  17. 区分PV、IV、UV
  18. 怎样免费下载知网、万方数据库等文献库的文献?
  19. linux qt 找不到 lgl,Linux Qt cannot find -lGL错误完美解决方案(亲测有效)
  20. android 模拟器 itools,iTools安卓模拟器常见问题及解决方法

热门文章

  1. SpringBoot - MyBatis-Plus使用详解2(设置实体类对应的表名、字段名 )
  2. input radio 样式
  3. 河北体检系统诚信企业推荐_海南膜结构停车棚加工厂诚信企业推荐
  4. python创建数据库字数不限制_textarea字数限制方法一例
  5. 界面上下固定_【技术浅析】三通道机床自动上下料控制方法应用
  6. mysql+查看connection_如何查看MySQL connection id连接id
  7. 多标签分类_多标签分类文献阅读(8)
  8. java的jstl的标签库_java_jstl 标签库
  9. centos7安装MongoDB(亲测)
  10. FTP:文件传输协议(指令及响应代码)