证书透明度如何发挥作用?
证书透明度(CT)在现有的证书颁发机构(CA)基础设施内发挥作用,是一种为实体对颁发SSL证书的授权提供颁发后验证的方法。
证书颁发流程如下所示,其中因CT所引入的新步骤以蓝色突出显示。
- 服务器操作员从CA购买证书
- CA验证服务器操作员
- CA创建预先证书
- CA使用日志服务器记录预先证书,日志服务器返回已签名的证书时间戳(SCT)
- CA颁发SSL证书
- SSL证书可能包含已签名的证书时间戳(SCT)
- 浏览器在TLS握手期间验证SSL证书
- 浏览器通过OCSP装订、TLS扩展或证书中嵌入的信息验证在TLS握手期间提供的SCT
- 浏览器与服务器建立连接
- SSL证书在其从浏览器被传送到服务器时对所有数据进行加密
有三种可能的方法可以在TLS握手期间提供SCT,如 此处所述。以下是其中一种SCT提供方法的流程图。
证书透明度组成部分
CT系统有四个组成部分:CA、证书日志、证书监测人员和证书审核人员。以下是示意图以及这些组成部分可能的配置。下文将更详细地解释其中的每一个组成部分。
证书颁发机构
CT在现有的公共可信CA系统中发挥作用。通过使用CT,CA可以在公共日志中纳入证书颁发的证据,而浏览器可以在握手期间检查这些SCT。对证书进行记录是证明CA正确操作的证据,并能让人们深入了解CA操作。
证书日志
理想情况下,证书日志将保存所有已颁发的SSL证书的记录;尽管其最开始推出时仅限于EV证书。由于以下几个原因,需要多个独立日志:1) 多个日志能在某个日志失效的情况下提供备份,2)独立日志意味着即使一个日志或日志操作员遭受攻击,证书仍然可以被验证;3) 独立日志意味着单一的政府行动无法从所有日志中删除颁发的证据;且4)多个独立日志意味着CA和日志操作员无法串通起来以掩盖令人尴尬的证书颁发不当的情况。
所有日志都有以下特点:
- 仅能添加——证书只能被添加到日志中;它们不能被删除、修改或追溯插入。
- 加密保障——日志使用一种被称为梅克尔树哈希的加密机制来防止篡改。
- 可公开审核——任何人都可以查询日志并查找颁发不当的证书或恶意证书。所有的证书日志都必须公开其URL和公钥。
证书监测人员
证书监测人员是指任何查看证书日志以发现可疑活动的人,如大型品牌的所有者或CA。
监测人员可以使用HTTP GET命令从日志中获取信息。每个客户都可以自行开展日志监测,也可以将其委托给另一方开展。DigiCert计划为其客户提供日志监测服务。
证书审核人员
证书审核人员检查日志以验证日志是否与其他日志一致,是否添加了新条目,以及日志是否未被追溯插入、删除或修改证书的人所损坏。
审核很可能是内置于浏览器的自动化流程。然而,审核可以是一种独立的服务,也可以是监测人员的次要职能。