数字证书采用公钥体制进行加密和解密。每个用户有一个私钥,用它进行(1);同时每个用户还有一个公钥,用于(2)。X.509标准规定,数字证书由(3)发放,将其放入公共目录中,以供用户访问。X.509数字证书中的签名字段是指(4)。如果用户UA从A地的发证机构取得了证书,用户UB从B地的发证机构取得了证书,那么(5)。
1.()
A.解密和验证
B.解密和签名
C.加密和签名
D.加密和验证
参考答案:B
解析:
在双钥体制下,私钥用于解密和签名,公钥用于加密和验证。当一个用户收到以他的公钥加密的报文后,可以用自己的私钥解密,获取报文的内容。由于别人不知道他的私钥,所以保密通信得以实现。另外,用户也可以用他的私钥对消息进行,签名,别人可以用他的公钥解密以验证消息的真实性。
X.509数字证书由证书授权中心(certificate authentication,CA)发放,这种证书包含下列字段:
▲ 版本号。
▲ 序列号:为一整数值,由同一CA发放的每个证书的序列号是惟一的。
▲ 签名算法识别符:签署证书所用的算法及其参数。
▲ 发行者名称:指建立和签署证书的CA名称。
▲ 有效期:证书有效期的起始时间和终止时间。
▲ 主体名称:指证书所属用户的名称,以及该用户的公钥。
▲ 主体的公开密钥信息:包括主体的公钥、该公钥算法的标识符及有关参数。
▲ 发行者惟一识别符:这一数据项是可选的,当CA名称被重新用于其他实体时,用这一识别符惟一标识发行者。
▲ 主体惟一标识符:这一数据项也是可选的,当主体的名称被重新用于其他实体时,用这一识别符惟一地识别主体。
▲ 扩充域;其中包括一个或多个扩充的数据项,仅在第三版中使用。
▲ 签名:CA用其私钥对上述字段的哈希值进行数字签名。上述最后一个字段就是发证机构对用户证书的签名。
假设用户UA从证书发放机构A获取了公钥证书,用户UB从证书发放机构B获取了公钥证书。如果UA不知B的公钥,则他虽然能读取LIB的证书,但却无法验证UB证书中B的签名,因此LIB的证书对UA是无用的。然而,如果两个证书发放机构A和 B安全地交换了公钥,则UA可通过以下过程获取UB的公钥:
①UA从目录中获取由A签署的B的证书A《B》,因为.UA知道A的公钥,所以能验证B的证书,并从中得到B的公钥。
②UA再从目录中获取由B签署的UB的证书B《UB》,并用B的公钥加以验证,然后从中得到UB的公钥。
以上过程中,UA通过证书链来获取UB的公钥,证书链可表示为
A《B》B《UB》
类似地,LIB能通过相反的证书链获取UA的公钥,表示为
B《A》A《UA》
以上证书链中只涉及两个证书,有N个证书的链可表示为
X1《X2》X2《X3》…XN《A》
此时,任意两个相邻的证书发放机构xi和Xi+l已彼此安全地交换了公钥证书。对每一证书发放机构来说,由其他CA为其建立的所有证书都应存放于目录中,并使得用户知道所有证书相互之间的链接关系,从而可获取另一用户的公钥证书。X.509建议将所有CA以层次结构组织起来,用户UA可从目录中得到需要的证书以建立到UB的证书链:
X《W》W《V》V《U》U《Y》Y《Z》Z《UB》
并通过该证书链获取B的公钥。
类似地,UB可建立以下证书链以获取UA的公钥:
X《W》W《V》V《U》U《Y》Y《Z》Z《UA》