理解证书和证书链(二)

3序列号验证

    序列号的验证是指检查实体证书中的签名实体序列号是否与签发者证书序列号相一致,验证证书的真伪。

验证操作过程是:用户实体证书中的AuthorityKey Identifier扩展项Cert Serial Number,签发证书的序

列号,检查CA证书中的Certificate Serial Number 证书序列号,二者应该相一致,否则证书不是可信

任的认证机构CA所签发。

    4 有效期验证
   
有效期验证就是检查用户证书使用的日期是否合法,有无过期。具体做法为:

    (1)用户实体证书的有效期ValidityPeriod及私钥的有效期Priva Key Usege Period,应当在CA证书的

有效日期ValidityPeriod之内。如图2中粗箭头所示,超过CA证书有效期,实体证书应作废,交易是不安全的。

    (2)用户实体证书有效期开始时间ValidityPeriod中notBefore日期应在CA证书的私钥有效期Private Key

 Usagc Period日期之内,否则证书是不安全的。

    5 证书作废止列表查询

    所谓证书作废止列表查询,是检查用户的证书是否已经作废,并发布在证书吊销列表中。

一般称CRL查询,俗称“黑名单查询”。一个实体证书因私钥泄密等原因,需要废止时,应及时向CA声明作废。

CA实时地通过LDAP标准协议向证书库中以X.500的格式进行发布,以供访问时实体间进行开放式查询。

    图3中所示为浏览器和Web服务器之间进行的双方认证,即进行双向CRL查询,在Web服务器查询浏

览器证书是否为“黑名单”的同时,浏览器也去证书库查询Web服务器证书是否为有效。此为“双向认证”,

CFCA的企业级高级证书即为这种机制,是中国金融CA PKI的特点。一般B to B模式的网上银行、网上

购物皆采取这种方式。当然,也有“单向认证”方式,即Web服务器只去查验浏览器证书的有效性,

如SSL证书的认证,这是一般CA 的普遍做法。

    6. 证书使用策略的认证

    证书的使用方式与任何声明的策略Certificate Policy或使用限制相一致,即用户实体证书中的

Certificate Policies应为CA所承认的证书政策列表。它是用特殊扩展域来限定的,用来指定用户

证书所适用的政策,这些政策应在CA的CPS中有明确规定,对象标识符不超过200个字符。没有CA承认

的政策,用户证书是不能执行的。如Policy URL、 Policy E-mail地址,必须由根政策陈述。

    7. 最终用户实体证书的确认
   
为了证书的使用安全,CA所签发的认证机构内部管理员的证书要与最终用户实体证书相区分。为此:

    (1)在扩展域基本制约Basic Constraints中其默认值表示最终实体(End Entity),以区别其他CA内

部管理证书,防止证书用于不同的目的。

    (2)在扩展域Key Usage中要对声明的用途有效,用于数字签名或用于传输加密,为确保安全,要明确分开,

不能混用,以备争议时审计,为仲裁提供依据。

当然,以上这些操作对用户来说都是透明的。

 

证书链是由一系列 CA 证书发出的证书序列,最终以根 CA 证书结束。

证书最初生成时是一个自签名证书。自签名证书是其签发者(签名者)与主题(其公共密钥由该证

书进行验证的实体)相同的证书。如果拥有者向 CA 发送证书签名请求 (CSR),然后输入响应,自签

名证书将被证书链替换。链的底部是由 CA 发布的、用于验证主题的公共密钥的证书(回复)。链中的

下一个证书是验证 CA 的公共密钥的证书。通常,这是一个自签名证书(即,来自 CA、用于验证其自

身的公共密钥的证书)并且是链中的最后一个证书。

在其他情况下,CA 可能会返回一个证书链。在此情况下,链的底部证书是相同的(由 CA 签发的证书,

用于验证密钥条目的公共密钥),但是链中的第二个证书是由其他 CA 签发的证书,用于验证您向其发

送了 CSR 的 CA 的公共密钥。然后,链中的下一个证书是用于验证第二个 CA 的密钥的证书,依此类推,

直至到达自签名的根证书。因此,链中的每个证书(第一个证书之后的证书)都需要验证链中前一个证书

的签名者的公共密钥。

猜你喜欢

转载自blog.csdn.net/junwua/article/details/80506577