HTTPS 安全机制解析:证书链与网络代理的风险

date
Oct 13, 2023
slug
HTTPS Security Mechanisms Explained: The Risks of Certificate Chains and Web Proxies
status
Published
tags
网络
碎碎念
计算机基础
summary
本文深入探讨了 HTTPS 协议如何通过对称加密和非对称加密技术保障网络通信安全,特别强调了证书链在验证网站安全性中的关键作用。文章解释了证书链的结构,以及为何最后一个证书(根证书)的可信度至关重要。进一步,文章揭示了安装根证书可能导致的代理风险,以及这种风险在公司网络环境中的实际应用。最后,文章提醒读者,即使没有根证书,网络活动仍然可能通过其他方式被监控和分析。
type
Post
notion image
首先,我们要知道现在大多数网络流量走的都是 HTTPS 的,这一点是能保证安全的,因为只有你和目标服务知道你访问的具体内容,中间经过的路由器,最多只能知道你访问的地址是什么,比如:IP、域名,是看不了你访问的内容的。
这个技术的实现点在于对称加密和非对称加密的共同作用。在这个过程中有一个比较重要的角色:证书。
网络本身是不安全的,所以需要层层的信赖关系链,,比如,你电脑(手机也是电脑)访问:www.baidu.com,怎么知道 baidu 是安全的呢?这就需要在 HTTPS 沟通建立的过程中,baidu 的服务器,把他的证书给我的电脑,电脑去验证。
怎么验证呢?简单说就是百度发来的证书,其实不是一个证书,而是一个证书链,比如  baidu 证书 --> abc 证书 ---> xxx 证书。
一般这个链会比较短,那问题来了,给 baidu 发证书的哪个公司的证书,为什么是可信的呢?或者说整个证书链上最后一个证书为什么是可信的呢?
因为最后一个证书一定是在你本机安装的,一般是系统默认出厂时就安装好的,可以查看,这也是为什么不要在电脑上随意安装陌生的证书,因为你安装在手机上之后,所有用这个证书签发的 HTTPS 请求都会被要求你安装陌生证书的应用程序所劫持(看到)。
看到这,你可能会觉得那还好,他只是看到他发出来的请求,但是实际情况是安装根证书的目的就是为了:代理 !!!。
什么是代理,本来你去银行办理业务,现在你找个人代替你去办,结果你都清楚,但是用代理的过程你就不清楚了。
同样的,计算机中,也是可以代理网络请求的,这样你以为你直接跟目标服务器交流,实际上,你是在跟签发了那个陌生根证书的服务在交互,你的所有东西,全部都被陌生服务看到。
这也是为什么,连接公司网络之后,可以看到我用公司网络访问过的社交平台账号和个人内容,从技术上是可行的。
综上所述:如果一个公司让你安装在自己的设备上安装了根证书,那么他不管怎么说(我不会看的,我为了信息安全,balabala),他一定会看的。当作恶的成本足够低的时候,一定会有恶出现。
PS:就算没有安装根证书,也可以通过分析 IP、端口、网络包载荷特征等等来尝试了解你的网络活动,只是不清楚具体内容,可以用流量监控、流量分析来实现,具体可以方法可以问问 Chatgpt。
 

© Craig Hart 2021 - 2025