10月13号晚很多人访问淘宝、京东时遇到“此证书的签发者无效”的报错,甚至有人无法访问页面。很多人以为是自己浏览器出了问题,但后来发现通过“IT三板斧”(重启、重装、重启电脑)也无法解决该问题。于是大家都认为是网站出了故障,但最后水落石是网站使用的SSL证书厂商引发的问题。据悉10月13日知名数字证书颁发机构(CA)GlobalSign的OSCP 故障致使大量网站证书被吊销。目前已知影响较大的有淘宝、AlphaSSL 二级证书下的所有证书、bootstrapcdn。GlobalSign官方Twitter账号表示正致力于尽可能快的修复问题。
淘宝证书:
1. 什么是OCSP
PKI系统所提供的证书状态查询机制有两种,一种是OCSP(Online Certificate Status Protocol,在线证书状态协议),另一种是CRL(Certificate Revoke List,证书吊销列表 )。CRL 是由证书颁发机构定期更新的一个列表,包含了所有已被作废的证书,浏览器可以定期下载这个列表用于验证证书合法性,CRL 会随着时间推移变得越来越大,而且实时性很难得到保证。OCSP 是一个在线查询接口,浏览器可以实时查询单个证书的合法性。在每个证书的详细信息中,都可以找到对应颁发机构的 CRL 和 OCSP 地址。从TLS1.2起开始支持OCSP。
OCSP服务器原理:
OCSP采用请求响应实时应答模式,当用户试图访问一个服务器时,用户的客户机形成查询指定证书状态的请求,并将请求转发到一个OCSP应答器,服务器回复一个包含“有效”、“撤销”或“未知”状态的响应。OCSP给了用户的到期的证书一个宽限期,这样他们就可以在更新以前的一段时间内继续访问服务器。一个OCSP请求,由协议版本号、服务请求类型及一个或多个证书标识符等信息所组成;响应信息是由证书标识符、证书状态——“有效”、“撤销”或“未知”中的一个、以及验证相应时间等信息所组成。
2. GlobalSign做了什么导致网页无法正常访问?
GlobalSign管理着众多的根证书,GlobalSign为了兼容性和提高效率在根证书之间提供了交叉认证机制。GlobalSign本次在吊销部分交叉认证证书时,吊销了两个根证书的交叉认证证书。这就导致部分浏览器认为交叉认证的根证书被吊销了,因此不再信任这些网站。
目前GlobalSign已经重新更新了OCSP数据库并删除了缓存,但是由于全球CDN的缓存期限和个人OCSP的失效时间的原因,部分用户仍然无法正常获取信息。
目前清除缓存或者等待缓存响应过期方可解决问题。
1)winows清除缓存:
shell中执行:certutil -urlcache * delete
2)mac清除缓存
sudo rm /var/db/crls/*cacahe.db
3.什么是交叉认证Cross Certification?
交叉认证协议允许不同PKI的实体相互信任。信任关系的建立需要CA之间相互颁发认证:双方安全的交换签名公钥,利用自己的私钥为对方签发数字证书,从而双方都有了交叉证书,然后利用交叉证书验证最终用户的证书。用户可以利用自己的CA公钥来检验对方CA交叉证书,从而判断对方CA是否可信,再利用对方CA公钥来校验对方用户的证书,从而决定对方用户是否可信。交叉认证的好处很多,举个实际的例子,如果CA1信任了CA2和CA3,被他们两家签名过的证书也会在CA1这里获得信任,这样大大提交了客户端验证证书的效率。并且如果CA1私钥泄露了,而你使用的证书是CA1和CA2共同签名的,这时候CA1如果撤销了公钥,但信任CA2的客户端依然可以信任你。
4.UCloud是否受到影响?
UCloud采用的是GeoTrust颁发的证书,不受影响。
5.参考链接
-
http://www.theregister.co.uk/2016/10/13/globalsigned_off/
-
https://support.globalsign.com/customer/portal/articles/2599710-ocsp-revocation-errors—troubleshooting-guide
-
https://blogs.msdn.microsoft.com/ieinternals/2011/04/07/understanding-certificate-revocation-checks/
-
https://tools.ietf.org/html/rfc6960
——————
UCloud,国内领先的专业云计算服务商
,