聊聊浏览器里的那把锁:HTTPS 如何让你安全冲浪?( 四 )
还有几个问题值得讨论
为什么一定要有「会话密钥」 , 直接使用公私钥对来通信不好吗?
确实 , 为了交换一个保险箱密码我们多花了不少精力 。而要取得少数派的神奇信封 , 似乎只要向少数派索取一个证书就可以了 。
但这样做原因很简单:用保险箱上锁 , 只要打乱密码就可以了 , 成本低;而神奇信封和用于封口的神奇胶水太贵了 。
术语来讲 , 前者称为对称加密 , 后者称为非对称加密 。对称加密更加高效 。
为什么有些软件还是可以读取 HTTPS 内容?
我所知的几种方法 。
第一种 , 你可以直接通过浏览器 F12 的「网络」标签页来读取 HTTPS 内容 。这里 , 浏览器就是通信双方中的一方(也就是上文中的「你」) , 自然知道所有的加密要素 , 所以通过浏览器可以读到明文的数据也就不足为奇了;就像你可以知道你发给少数派、少数派发给你的所有信息一样自然 。
第二种 , 你信任其中一个邮差 , 告诉了他密码锁的密码;那邮差就可以读信给你听了 。
还有一种 , 是通过安装私有证书来实现 。你信任一个邮差 , 所以你把邮差的证书加入了自己系统的「受信任列表」;于是:
你跟邮差之间通信 , 使用邮差的证书
邮差收到你的内容 , 转发给少数派 , 使用少数派的证书
邮差收到少数派的内容 , 用少数派的密码解密
邮差把少数派的答复转发给你 , 用与你之间的密码加密
所以 , 只要你保护好自己的「受信任列表」 , 就不用担心 HTTPS 通信被他人偷看 , 换句话说 , 如果有网站让你「添加证书到系统」 , 为了安全请一定要慎重 。
自签名证书安全吗?
不安全 , 自签名证书属于自欺欺人、掩耳盗铃、欲盖弥彰 。
文章图片
文章图片
有些网站会自己签发证书 。由于缺少了可靠的证书信任链 , 客户端无法验证服务端的真实身份 , 因此信件很容易被路上的邮差调包;如果邮差从最开始的「问候」阶段就开始动坏心思 , 那么整个通信都可以被邮差控制 。
当使用自签名证书时 , 几乎所有浏览器都会给出证书出错的提示 , 需要用户手动确认才可以继续访问 。
中间人还可以窃听到什么信息?
路由器和运营商提供的访问统计、以安全之名实行的网站拦截 , 亦或是以大数据之名而进行的隐私追踪 , 这些在 HTTPS 中依然可以做到吗?采取了 HTTPS 通信后 , 作为路上的邮差 , 还可以偷看到哪些信息呢?
自然 , 加密信件的全部内容都无法获取 。这些内容包括:
GET /message/2hzb91qd HTTP/1.1 Host: sspai.com Connection: keep-alive Cache-Control: max-age=0 sec-ch-ua: "Chromium";v="92", " Not A;Brand";v="99", "Microsoft Edge";v="92" sec-ch-ua-mobile: ?0 DNT: 1 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.62 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,zh-TW;q=0.5,ja;q=0.4,sl;q=0.3 If-Modified-Since: Wed, 04 Aug 2021 08:54:52 GMT HTTP/1.1 200 OK Server: nginx/1.10.3 Date: Wed, 04 Aug 2021 08:55:22 GMT Last-Modified: Wed, 04 Aug 2021 08:54:52 GMT Access-Control-Allow-Origin: *.sspai.com Content-Type: text/html Vary: Accept-Encoding ETag: W/"610a55dc-1121" Content-Encoding: gzip ...
也就是说 , 包括主机名、请求体、URL路径和参数、返回的头部和消息体 , 这些都是加密的 。而信件的地址 , 也就是 IP 地址 , 必然是会被邮差知道 , 否则邮差不知道把信送到哪儿去 。
- 英雄联盟手游加里奥什么定位(英雄联盟手游加里奥属性强度解析)
- 英雄联盟手游加里奥什么分路(英雄联盟手游加里奥定位说明)
- safari浏览器中的indexeddb漏洞
- 复苏的魔女关卡宝箱里有什么(复苏的魔女关卡宝箱奖励介绍)
- 王牌竞速车辆改装哪里好(王牌竞速车辆改装方式分享)
- 支付宝福卡刮奖的券在哪里(支付宝福卡刮奖奖励查看方法介绍)
- 听说,这里将会有超大福利……
- 细节里都是绿色科技
- 和平精英|和平精英悠波球在哪里刷新(和平精英悠波球刷新位置)
- 2022支付宝扫福字在哪里扫(2022支付宝扫福集福卡方法说明)
