证书的层级结构

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/82915049

一 点睛

用户需要使用认证机构的公钥,对证书上的数字签名进行验证。

那么,对于用来验证数字签名的认证机构的公钥,怎样才能判断它是合法的呢?对于认证机构的公钥,可以由其他认证机构施加数字签名,从而对认证机构的公钥进行验证,即生成一张认证机构的公钥证书。

一个认证机构来验证另外一个认证机构的公钥,这样的关系可以迭代好几层。这样一种认证机构之间的层级关系,我们可以用某公司内部PKI来类比。例如某公司的组织结构如下,每一层组织都设有认证机构。

假设Bob是札幌办事处的一名员工,札幌办事处员工的公钥由札幌办事处认证机构颁发的(因为这样更容易认证本人身份)。

对于札幌办事处认证机构的公钥,则由北海道分公司认证机构颁发证书,而对于北海道分公司认证机构的公钥,则由东京总公司认证机构颁发证书,以此类推......。不过这个链条不能无限制延伸,总要有一个终点,如果这个终点就是东京总公司认证机构(即不存在更高一层的认证机构)的话,该认证机构一般就称根CA(Root CA)。而对于东京总公司认证机构,则由东京总公司认证机构自己来颁发证书,这种对自己的公钥进行数字签名的行为称为自签名。

二 分析

现在假设Alice要验证札幌办事处员工Bob的数字签名,那么Alice需要执行如下步骤进行验证。

首先从最高层认证机构(根CA)开始。如果连根CA的公钥都不合法的话,那么就无法验证证书了,因此我们假设Alice所持有的东京总公司认证机构的公钥是合法的。

接着,Alice取得北海道分公司认证机构的公钥证书,这个证书上面带有东京总公司认证机构的数字签名。Alice用合法的东京总公司认证机构的公钥对数字签名进行验证。如果验证成功,说明Alice取得了合法的北海道分公司认证机构的公钥。

再接下来,Alice取的札幌办事处认证机构的公钥证书,这个证书上面带有北海道分公司认证机构的数字签名。Alice用合法的北海道认证机构的公钥对数字签名进行验证。如果验证成功,则说明Alice获得了合法的札幌办事处认证机构的公钥。

最后,Alice取得札幌办事处员工Bob的公钥证书,这个证书上面带有札幌办事处认证机构的数字签名。Alice用合法的札幌办事处认证机构的公钥对数字签名进行验证。如果验证成功,则说明Alice获得了合法的札幌办事处员工Bob的公钥。

上面就是Alice对Bob的数字签名进行验证的整个过程。当然,如此复杂的验证过程不会是由人来操作的,而是由电子邮件或者浏览器等软件自动完成的。

三 认证机构的层级

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/82915049