据我所知,CA 可以通过标准机制(CRL、OCSP)单方面撤销证书。
在越来越多的 TLS 世界中,当前有什么技术可以阻止 CA 关闭他们不喜欢的服务?
据我所知,CA 可以通过标准机制(CRL、OCSP)单方面撤销证书。
在越来越多的 TLS 世界中,当前有什么技术可以阻止 CA 关闭他们不喜欢的服务?
同侪压力,有效。
存在多层信任结构 - CA 信任浏览器制造商包含其根证书,而不是无故删除它们。浏览器制造商相信 CA 只会为合法请求签署证书,并隐含地同意相信这一点,并威胁要删除实际上不这样做的 CA 的根证书。网站所有者相信 CA 会努力将其根证书保存在所有流行的浏览器捆绑包中(因为手动添加证书对用户体验来说是一个巨大的障碍),并且浏览器制造商会在他们的捆绑包中保留根证书,除非有充分的理由不这样做到(例如,CA 要求将其删除)。
因此,如果某个 CA 单方面撤销了证书,浏览器制造商可以要求一个理由,如果发现理由不充分,则删除属于该 CA 的根证书。他们不太可能这样做,除非这是一种模式(例如,撤销属于某个特定政党的网站的证书)。
根据定义,CA 负责管理撤销。事实上,这是一种概念上更好的表达方式:CA每天重新颁发所有证书。CRL 是一种数据压缩:从验证者(例如,验证 SSL 服务器证书的 Web 浏览器)的角度来看,只要 CA 表示可以,证书就有效。为了让事情变得更轻松,CA 不是每天为每个客户签署一个新证书,而是 CA 签署长期存在的证书,并且在 CRL 中只包含已撤销的证书。这是在大多数证书不会被撤销的假设下工作的优化。
由于保持证书浮动是 CA 的日常工作,因此没有任何技术可以阻止 CA 停止这样做。“迫使” CA 不随心所欲地撤销证书的是合同法(您为服务支付了 CA,因此维护该服务受法律约束)和市场压力(如果 CA 无正当理由撤销证书,客户将简单地将他们的业务转移给竞争对手)。
该站点的所有者可以简单地从不同的 CA 获得另一个证书,然后备份并运行。