CA全称CertificateAuthority,即证书颁发机构。
这个非对称加密过程(即加密、解密过程使用的密钥不同且成对)保护着互联网大部分通信过程。
举个例子,下图是sspai.com使用的数字证书,其中包含的证书路径根证书是Sectigo。
这些根证书的入库标准则是CA组织的信誉。若CA组织做出了违背安全原则的颁发操作,各大组织(主要是Apple、Mozilla与Microsoft)会把失信组织的根证书从信任库中删除。某些组织曾因为信度低或是篡改证书签发日期被各大组织从信任证书库中剔除。而由于历史原因,到目前为止Mozilla的证书库中的国内组织根证书只有CFCA(中金金融认证中心)。
这种认证逻辑导致CA认证并不是绝对可信的,历史上也曾出现过多次CA根证书机构滥用签发权导致不再被信任的事件。
因此根证书在这里的作用可以这样理解:卫龙因为生产辣条时遵守的标准高而受到产业的认可,那么它旗下的产品通常将一并被认可。
既然CA认证的认证逻辑有漏洞,为什么我们还是可以信任这套体系呢?
一方面,根证书库的更新并不频繁,各大公司对根证书的增、删也较为谨慎。在此条件下,操作系统对安装新的根证书的操作更是百般阻拦、层层设限。
以iOS为例,在iOS13中使用的根证书库版本号为2018121000,大概可以判断出它是2018年更新的。同时安装新证书的操作从之前的单纯安装描述文件变成了安装描述文件+「关于本机」二次信任,在此过程中多次提示操作的危险性,降低了用户被盲目引导安装不可信根证书的可能。
所以在这个体系下造出一个自己的证书并诱导用户安装并开启是有一定难度的,相对应的,那些「有效证书」的信度也相对较高。
另一方面,目前针对HTTP的证书分为三个等级:EV、OV和DV,验证强度和可信程度逐级递减。
EV是等级最高的证书,不仅要支付一笔不算便宜的申请费,还需要提交邓白氏码等辅助验证信息才可申请。EV证书的安全性、可信性也是最高的,它的加密算法可选用更高的强度,网页浏览时也将会同步显示公司名称。
而DV证书只需要验证域名所有权或是服务器所有权即可颁发,一般只用来保证连接在加密的状态下运行,不在对安全性要求高的场合(如支付、购物等)使用。
除了保证连接是加密的,普通用户可以怎样使用这个体系更好地保护自己呢?
个人整理了一些可以轻松注意到的角度供大家参考。
由于特殊的网络环境,有时我们需要从国内的镜像下载一些专业软件。
如上图所示,Windows提供的独立更新安装包在安装时就会通过证书来检验安装程序的完整性。但如果有软件包没有经过签名就进行外发,此时这种判断方式可以作为充分条件,而不能作为必要条件。查看一个安装包的数字签名很简单:右击安装包打开属性窗口,在「数字签名」下即可看见签名时使用的证书。
在如今的网络形势下,各大公司将签名用证书视为机密文件存储,同时也因为CodeSigning证书的签发方式与上文提到的EV证书签发方式类似甚至更麻烦、价格更高,被修改的安装包通常不带数字签名,更不用说原公司的数字签名了。
网站信度有时候可以与SSL部署与否、SSL证书登记挂钩。例如:人行征信中心等网站通常应使用EV等级证书,即点开地址栏左边的小锁,在「证书」一栏下有公司名。
其中有一种例外:EV不支持通配符证书,支付宝的证书由于需要通配符,没有使用EV级别证书。
当连接到一个陌生Wi-Fi时,很多人会担心操作泄密或是隐私被截取。
而在业务部署了HTTPS的情况下,这种可能性大大降低。而当网络中有尝试解密SSL流量的行为时,最简便的方法就是进行MitM中间人攻击。这种攻击手段简单理解就是充当客户端与服务器之间的中间人,将会把客户端的全部流量转发给中间人,再由中间人传递给服务器。
类似的攻击手段在HTTP时期十分好用,因为当时验证消息私密性的手段并不多;而在HTTPS时代,由于中间人需要让客户端、服务器相信连接是私密的,它需要部署一张对所有域都有效的证书。
要达到该目的,需要中间人持有一张有效的根证书,可操作性十分低;同时各大浏览器都对MitM攻击有显眼的提醒,下图为百度在证书错误时MicrosoftEdge(Chromium内核版)给出的警告,这些警告也不应该被轻易忽视。
Windows下的证书保护机制通常依赖于UAC和SmartScreen,所以若非必要请勿关闭UAC或是直接使用Administrator账户。
大多数网站为了保证安全性,在可能存在MitM攻击时主动设置为不可访问。如果你在一个需要登陆的Wi-Fi下无法跳转到登陆页面,可以尝试使用HTTP网页或是未开启HSTS的网站,个人常用的有www.cnki.net和connect.rom.miui.com/generate_204
如今的网络环境下,大面积爆发杀伤力强大的木马病毒的几率逐渐在变小,最近的一次WannaCry病毒借助操作系统漏洞传播,但及时更新补丁包的普通用户被波及的可能性并不高。除此之外,我们在网络上的通讯变得可靠了、连接变得私密了,运营商劫持也因为SSL的加入慢慢淡出主流视线。
而这些改进,有很一大部分要归功于CA证书的引入。再次回想HTTP时代,数据包经过的任何一跳都可以对它进行修改、拦截,数据安全没有保障。令人高兴的是,互联网越来越重视隐私保护与信息安全,营造更好的互联网空间。