证书授权CA由RA和CP两部分构成,RA承担为证书申请者的资格审查的责任,决定是否让发给证书,并承担因此引起错误的后果。它由能承担此责任的机构担任。CP承担因证书操作有误产生的所有后果,含失密与给非授权的用户发放证书等。
1.X509证书的签发
X.509中用以下符号表示CA给用户A签发的证书:
CA《A》=CA{V,SN,AI,CA,TA,A,Ap}
其中,V为版本;SN为序号;AI为算法标识符;CA为发放证书的机构;TA为有效期;A为证书的拥有者;Ap为公钥信息。
CA给用户A签发的证书有下列特征:
1)除A外的任一用户只要获得CA的公钥,就可因此让CA为其签署的公钥。
2)除CA外,其他所有人都不可以借不被察觉的手段改变用户A的证书内容。
若全部用户都是同一CA签署证书,则该CA就一定要获取他们的信任。用户证书除可放于目录中让他人访问外,用户也可直接发给其他用户。
若用户数量非常大,则只有一个CA负责给用户签署证书不可能,因每一用户都得以绝对安全的方式获得CA的公钥,来验证签署的证书。在用户数目非常多时,应存在多个CA,每一CA只给部分用户签署证书。
若A不知V的公钥,则B尽管可以读取他的证书,但不能验证V的签名,因此B的证书对A来说无用。然而,若W与V双方已安全地交换了公钥,则A可由以下过程获取B的公钥:
1)A在目录中得到W签署的V的证书,因A清楚W的公钥,因此可验证V的证书,并得到V的公钥。
2)A再从目录中得到V签署的B的证书,并借V的公钥验证,然后从中获取B的公钥。
这样,A有一个证书链得到B的公钥,证书链如下表示:
W《V》V《B》
相似的,B可由反向的证书链得到A的公钥:
V《W》W《A》
2.X.509证书的吊销
当用户的证书有效期超过,或某些用户的证书还未到截止日期,就被该证书的CA吊销时,必须签发新的证书。证书没有到截止日期却被吊销,可能存在如下情况:
1)用户的私钥已泄露,或该用户有欺诈行为。
2)用户已不再需要证书。
3)CA为该用户签署证书的私钥已泄露。
每个CA维护一个证书吊销列表CRL,其中存放全部没有到期而被吊销的证书,包括该CA发放给用户和发放给其他CA的证书。CRL还得经此CA签字,之后存放在目录方便让他人查询。
对CA来说,他发放的所有证书的序列号都唯一,因此能用序列号识别每个证书。被吊销的证书数据域就含此证书的序列号与吊销的日期。每个用户拿到他人消息中的证书时,都得借助目录检查此证书是否被吊销,以防欺骗,证书吊销牵涉的问题十分复杂。