证书验证:回溯过去
1. 证书验证算法概述
在相关模型中,验证者需要对证书 CertX→Y 进行验证。证书验证的语义取决于具体应用以及与证书相关的安全属性。常见的证书使用场景有两种不同的验证模型:认证模型和不可否认模型。
在进行证书验证前,需要构建一条从待验证证书到信任锚的证书链。以下介绍的算法输入均为证书链,输出为验证布尔值, true 表示证书“有效”,后续会对“有效”的具体含义进行更明确的阐述。为简化算法表述,将证书“无效”信息和无相关信息的情况统一以输出 false 表示,但实际实现中应加以区分。
2. 认证模型中的证书验证算法
认证服务中证书验证的目标是判断证书在当前时间的有效性。PKIX 标准定义了这样一种算法,其简化形式如下:
input : 证书链 {CertX1 →X0 , ... , CertXn →Xn−1 , CertXn →Xn } ,其中 CertX1 →X0 为待验证证书,Xn 为信任锚
output: 验证布尔值
begin validateSimple
for i ←n to 1 do
Find a revocation object RevXi ,now in scope for CertXi →Xi−1 , or return false;
if checkRev(RevXi ,now, CertXi →Xi−1 ) ̸= ∞ then
return false;
retu
证书验证:回溯与不可否认性
超级会员免费看
订阅专栏 解锁全文
549

被折叠的 条评论
为什么被折叠?



