一 公钥合法性与所有者信任是不同的
“公钥是否合法”与“所有者是否可信”是两个不同的问题,因为尽管公钥合法,其所有者也可以是不可信的。
例如,Alice从Bob那获得的公钥是合法的,因为这个公钥是Bob当面交给Alice的。
但是Alice不信任Bob在数字签名上的判断能力,即便Bob对其他公钥进行了数字签名,Alice也会怀疑Bob是否真的进行了本人确认。因此,Alice对Bob所有者信任级别设置为“不信任”。
这样做的结果是,Alice收到了一个叫Inge人的公钥,即便这个公钥带有Bob的签名,Alice的PGP也不会认为这个公钥是合法的。
二 所有者信任级别是因人而异的
Alice的公钥串中所存放的这些公钥之间形成了一张信任网。
-
Alice对自己公钥加上数字签名(所有者信任级别为“绝对信任”)
-
Alice对Bob的公钥加上数字签名(所有者信任级别为“不信任”)
-
Alice对Trent的公钥加上数字签名(所有者信任级别为“完全信任”)
-
Alice对Dava的公钥加上数字签名(所有者信任级别为“有限信任”)
-
Alice对Fred的公钥加上数字签名(所有者信任级别为“有限信任”)
-
Trent对Carrol的公钥加上数字签名
-
Dava对George的公钥加上数字签名
-
Fred对George的公钥加上数字签名
-
Fred对Harrold的公钥加上数字签名
-
Bob对Inge的公钥加上数字签名
结果,Alice所使用的PGP会认为Alice、Bob、Trent、Dava、Fred、Carrol和George的公钥是合法的,而不会认为Harrold和Inge的公钥是合法的方。
我们可以将上述关系总结成下面这张图。这就是信任网,也叫“信任数据库”或者“信任网络”。
在这里需要注意的是,“对哪个密钥的所有者进行哪种级别的信任”是因人而异的。
Alice完全信任Trent,但别人有可能只是部分信任Trent,也有人完全不信任Trent,PGP的用户可以自行设置对谁进行哪种程度的信任,PGP就是根据信任数据库中设置来判断所得到的公钥是否属于本人。
PGP当初的设计目的是连国家都不可信的情况下依然能够使用,因此它并不关心有没有可信的认证机构,而是采用了“由用户自己来决定信任谁”这样的设计。