本文来自依云's Blog,转载请注明。
中华人民共和国铁道部铁路客户服务中心在其首页上说:
为保障您顺畅购票,请下载安装根证书。
真的是这样吗?
当然意味着你在12306网站上买票时不会遇到证书错误了。但是除此之外呢?
安装之后,你的计算机系统(或者浏览器)会信任该「CA 机构」所签名的所有证书。根据安装说明,该证书不仅能签名用于标识网站的身份的证书,还能签名应用程序,即 .exe 和 .dll 文件。
这意味着,如果铁道部没有按照规范正确管理该根证书对应的私钥的话,一旦被滥用,或者被攻击盗用,那么:
攻击者可以实施中间人攻击,伪装成支付宝、网上银行、微信、网页邮箱等网站,获取你的登录和隐私信息,篡改网页内容,以你的身份提交转账和订单、与你的亲友同事聊天等。
攻击者可以为病毒和木马签名。拥有一个受系统信任的签名,恶意软件更容易在用户不知不觉间潜入。
这是一个 SHA1 签名的证书。因为其安全性比较低,各大浏览器厂商将逐渐淘汰该类证书。
当然还有一些其它的用法,毕竟这个证书的权限非常大。
而铁道部能按照规范正确管理该根证书对应的私钥吗?很多人连工信部(CNNIC)的根证书都不信任呢。而工信部,即使出现过下级机构违规使用证书以至于 Google 和 Mozilla 都不再信任之,至少工信部曾经得到过各操作系统和浏览器厂商的信任,不管做没做到,人家至少知道应该怎么做。而铁道部呢?根本不是干这行的,也从未在这方面做过多少努力,连正规的 HTTPS 都不知道用,你觉得如何呢?
火狐有个功能,叫「添加证书例外」。在遇到不被信任的网站证书的时候,如果你确知你没有被骗,你可以为该网站添加例外,如图所示:
添加例外之后,火狐将这个证书和这个网站关联起来。也就是说,如果12306突然换证书了,你会得到错误消息;如果别的网站也使用铁道部签名的证书,你也会得到错误消息。而这些错误消息,绝大部分是在告诉你有人正在进行中间人攻击。
HTTPS 保证了端到端的数据安全性(私密性、完整性),使得你即使在公共场合上网,或者本地网络有不可信的人时也可以安心上网。请不要随意破坏这份安全。