[关闭]
@1qaz 2016-07-04T13:44:43.000000Z 字数 1421 阅读 1015

You Won’t Be Needing These Any More: On Removing Unused Certificates From Trust Stores

TrustStore


Henning Perl et al. Leibniz University Hannover, Germany, FC'14

概述:作者分析了各大平台的trust store,检查其中的CA在实际中使用HTTPS的情况,发现426个根证书中只有66%的签发过HTTPS证书。移除未使用过的CA是改善HTTPS安全的第一步。

只有很少的power user会从trust store中手动移除不需要的CA,但是决定移除哪些CA是出于个人直觉和一些传闻。大多数的server都会使用主流trust store都包含的根CA签发的证书,而攻击者可以只需要被某个平台支持的证书。所以,不常见的CA是潜在的安全威胁。

哪些平台上信任哪些CA,并与ZMap从443端口收集的4千多万个证书进行验证,发现有148个CA从来没有签发过HTTPS证书;从trust store中移除这些CA并不会影响正常的网络访问。作者对自己大学2个月所有流量进行分析,确定这些移除的CA并不会带来问题。

改善PKI体系中CA的安全性
1. 完全代替CA
2. 跟踪CA签发的证书:Certificate Transparency
3. 通过DNS传输证书:DANE
4. 限制CA的签发范围:基于签发证书的历史

Technical Setup

ZMAP数据:2012-2013,48 million 证书,重建证书链
trust store: 12个平台,
移动:Android, BlackBerry, iOS
Linux:CentOS, Debian, Gentoo, openSUSE, Ubuntu
MISC:Mozilla Firefox, OpenBSD, OS X and Windows 8

t1

Trusted Root CA Certificates

f1
只有28个CA 证书同时出现在了11个平台中(iOS/OS X算一个)

  1. Windows:包含大量其他用途的CA证书(S/MIME和代码签名)。微软可以根据需要安装新的CA证书
  2. OSX和iOS:证书默认没有用途限制
  3. Linux/OpenBSD: 默认在/etc/ssl/certs目录下 不能限制证书用途
  4. Android/BlackBerry: 146/96 更少的未使用证书 没有其他平台都不包含的CA
  5. Windows和OSX理论上可以限制CA的用途 ,但是并没有发现限制用途的CA

Removing Unneeded CAs

34%(148个)未签发过HTTPS证书的根证书可被用来中间人攻击,应当将他们从trust store中移除
148个,140个没有被主流平台支持(Windows,OSX,iOS,Android,Mozilla)
保守建议:移除148个CA

非常保守建议:移除不被主流支持的140个CA

可能存在的问题和解决方法:
False positive warnings:作者在自己大学的SSL流量测试,130 million的TLS握手,没有出现例外
CA证书用作其他用途:
浏览器自己的trust store:不可能有其他用途
Windows OSX:移除证书的SSL功能,可能有S/MIME的中间人攻击
Linux:只能选择完全移除CA。 Chrome依赖OS的trust store,在Linux上由certutil管理
mobile: CA证书可能有其他用途 RADIUS

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注