基本概念
根CA
颁发机构(CA)的公钥证书,是公钥基础设施(PKI)体系中的信任锚。可签发从属CA、私有证书与证书吊销列表。当被导入客户端信任列表后,可对其签发的证书进行校验。
从属CA
也称中间CA或子CA,用于隔绝根CA与私有证书,是划分CA层次结构的关键,在证书链校验过程中对下一层证书进行校验。当路径深度大于0时,从属CA可向下签发从属CA。
从属CA的路径深度,即当前CA可以签发下级从属CA的层次数量,用于控制证书链深度(证书链最后一层为私有证书)。
私有证书
私有证书又称终端实体证书,安装在终端实体上的证书,含客户端证书(应用于客户端)、服务器证书(应用于服务器)等。承担实体的身份验证的作用,不可用于签发证书,属于证书链中的最后一层,是拥有该证书的实体与其它实体进行HTTPS通信的凭证。私有证书内容,如图 私有证书所示。
证书吊销列表
证书吊销列表(Certificate Revocation List,CRL)是指在有效期内就被其父CA吊销的证书的名单,其中被吊销的证书类型,包含从属CA与私有证书。证书吊销列表是一种有固定格式的结构化数据文件,其中包含颁发者信息、吊销列表的生效时间、列表下一次更新时间、签发算法、指纹以及已被吊销证书的序列号与对应的吊销时间和吊销理由码。证书吊销列表具体内容,如图 证书吊销列表所示。
证书链
从根CA到私有证书之间的完整的证书链路,即各个层级证书按序链在一起的文件,用于进行身份的逐层校验。各级证书的链接关系,如图 证书链所示。
- 证书链的完整性校验,逐层校验证书的有效性。
- 证书链中的根CA是否被校验方所信任(提前预置到信任列表中)。
证书校验过程中主要包含的校验项:
- 实体所宣称的主体信息(如服务端的域名)是否在证书可选名称的范围内。
- 证书是否过期。
- 密钥用法是否符合当前操作(如密钥协商、数字签名等)。
- 数字签名验证。
- 是否已被吊销。
此处未列举出所有校验项,X509证书允许用户增加多种自定义扩展项,详情请参考相关国际标准。
PCA证书有效期
在证书链中,根CA是整条链的信任起点,一旦根CA过期,其与其从属CA签发的所有证书将不再被信任,因此根CA的有效期是其下层所有证书的有效期上限。即使签发下层证书时,可以将有效期填写超过根CA的有效期(不做强制要求下),但在校验证书链时,只要链中根CA过期,校验就会失败。
在PCA服务中,强制要求新签发的证书的到期时间不可超过其父CA的到期时间,确保从根CA到私有证书之间的链路上,有效期逐层递减。PCA服务对各类证书有效期的约束见表 证书有效期约束。
不同类型证书的有效期是根据其扮演的角色而定的。使用越频繁的证书,其密钥材料泄露风险更高,有效期应尽量设置更小。例如,根CA通常只用于签发从属CA,使用频率最少,且使用最高的安全保护措施(PCA中使用KMS进行CA密钥管理),有效期一般设置为10~30年左右。从属CA根据其所在的层级,越往下有效期逐级减少,最下层的证书用于签发大量的私有证书,有效期通常设置为2~5年左右。私有证书,频繁用于通信,通常根据使用场景的安全要求,将有效期设置为几个小时、几个月以及一两年不等。