关于中间人根证书的一些常识:
1.中间人根证书通常来自于公司在员工电脑上安装的企业根证书,或者例如fiddler这样的抓包软件所安装的用于抓取HTTPS流量的根证书。
2.一旦电脑上安装了根证书,你的全部上网数据都是不安全的,无论在你本地电脑是否安装了诸如深信服一类的监控软件。
3.中间人攻击的原理,简单描述就是公司可以利用中间人根证书给网站颁发一个子证书,代替你与网站通信,再把结果用它自己颁发的证书返回给你的设备,所以你只要连了公司网,有根证书就已经被中间人了,不需要你设备运行什么软件。这步操作发生在主交换机/主路由这一层。
4.如果是Android或IOS客户端,可以使用ssl pinning 来防止中间人攻击以保护你的用户,这需要服务端和客户端同时支持。ssl pinning技术不适用于普通web浏览,仅应用于app客户端这类场景。
5.作为网站开发者,虽然不能使用ssl pinning,但是可以使用TLS-PSK (预共享密钥 TLS )、mTLS (双向认证 TLS )等技术,但均需要配置浏览器,有较大的用户教育成本。
6.本地客户端会读取系统 CA 证书,因为第三方签发的 CA 已经被系统信任,所以你的 HTTPS 流量可以被任何使用系统证书存储的软件解密。一个可行的解决方案是让你的客户端使用 NSS ( Firefox 就用的这个)。NSS 是单独的证书存储系统,只要第三方 CA 没有导入到你的 NSS 数据库里面,你的客户端流量就不会被 MiTM。
7.在被强制注入中间人证书的场景下,为了保护你的流量不被 MiTM,建议使用 firefox浏览器+v2ray等客户端组合,利用GFW对抗技术,需要较大学习成本。
8.不要使用公司网络和设备浏览非工作内容。
1.中间人根证书通常来自于公司在员工电脑上安装的企业根证书,或者例如fiddler这样的抓包软件所安装的用于抓取HTTPS流量的根证书。
2.一旦电脑上安装了根证书,你的全部上网数据都是不安全的,无论在你本地电脑是否安装了诸如深信服一类的监控软件。
3.中间人攻击的原理,简单描述就是公司可以利用中间人根证书给网站颁发一个子证书,代替你与网站通信,再把结果用它自己颁发的证书返回给你的设备,所以你只要连了公司网,有根证书就已经被中间人了,不需要你设备运行什么软件。这步操作发生在主交换机/主路由这一层。
4.如果是Android或IOS客户端,可以使用ssl pinning 来防止中间人攻击以保护你的用户,这需要服务端和客户端同时支持。ssl pinning技术不适用于普通web浏览,仅应用于app客户端这类场景。
5.作为网站开发者,虽然不能使用ssl pinning,但是可以使用TLS-PSK (预共享密钥 TLS )、mTLS (双向认证 TLS )等技术,但均需要配置浏览器,有较大的用户教育成本。
6.本地客户端会读取系统 CA 证书,因为第三方签发的 CA 已经被系统信任,所以你的 HTTPS 流量可以被任何使用系统证书存储的软件解密。一个可行的解决方案是让你的客户端使用 NSS ( Firefox 就用的这个)。NSS 是单独的证书存储系统,只要第三方 CA 没有导入到你的 NSS 数据库里面,你的客户端流量就不会被 MiTM。
7.在被强制注入中间人证书的场景下,为了保护你的流量不被 MiTM,建议使用 firefox浏览器+v2ray等客户端组合,利用GFW对抗技术,需要较大学习成本。
8.不要使用公司网络和设备浏览非工作内容。