PGP 中用于发送消息的信任网络的基本思想是对等验证:
爱丽丝认识鲍勃,鲍勃认识辛迪,但爱丽丝不认识辛迪。Cindy 想私下给 Alice 发送一些东西,但首先需要“介绍”给 Alice。
Cindy 首先向 Alice 索要她的公钥证书。爱丽丝发送它;这是公开信息,所以她可以向全世界广播。这个证书中包含许多数字签名,每个数字签名都来自 Alice 认识的人,包括 Bob,他保证该证书的准确性。每个签名对于证书和签名者的组合都是唯一的,并且签名的创建需要只有该签名者知道的私钥。一旦创建,任何知道与签名者的私钥匹配的公钥的人都可以使用该密钥来验证签名是否与消息和签名者匹配(或不匹配)。
因此,邪恶的 Eve 不能希望以签名仍然匹配的方式更改消息,她也不能在不泄露所有签名者的私钥的情况下更改签名本身。鉴于其他人已经知道并为 Alice 的身份作担保,她能做的最糟糕的事情就是破坏证书,导致 Cindy 拒绝它,从而阻止了预期的通信。
或者,Cindy 可以询问她所有的朋友是否认识 Alice,包括 Bob 在内的任何人都可以向 Cindy 转发一份 Alice 的证书副本,上面只有他们的签名。这减少了必须包含在单个证书中的签名数量,以便为 Cindy 识别一个提供良好的机会;由于 Cindy 询问她自己的朋友,而这些朋友只有在他们确实认识 Alice 的情况下才会回复,所以 Cindy 只收到她认识并表面上信任的人的签名。但是,如果 Cindy 和 Alice 有很多共同的朋友,这可能会导致向 Cindy 发送大量数据。
无论哪种情况,Cindy 都会扫描这些签名以查找她认识的签名者。她找到 Bob 的名字,验证他对这个证书的签名,现在知道 Bob 认为这是给真正 Alice 的真正证书。Cindy 现在可以选择隐式信任 Bob,因此仅凭 Alice 自己的话信任 Alice 的证书,或者部分信任 Bob,并寻找她认识的其他人签署了 Alice 的证书。如果她找到足够多她部分信任的人,或者至少一个她隐含信任的人,她可以通过扩展信任 Alice 的证书。这被称为“受信任的介绍”,是信任网络的核心。
一旦 Cindy 决定信任该证书,她就会使用其公钥将密钥加密为对称加密的消息,该消息也由 Cindy 使用她自己的证书签名。然后她将它发送给爱丽丝。Alice 不认识 Cindy,因此重复了 Cindy 为获取、验证并决定信任 Cindy 的公钥证书所做的类似过程(她这样做了,因为 Bob 已经签署了 Cindy 的证书,而 Alice 隐含地信任 Bob)。她使用自己的私钥解密消息密钥,然后使用消息密钥解密消息,最后使用 Cindy 的公钥验证消息的签名。
现在,这三个人已经部分“纠缠”在网络中,因此可以根据同行推荐相互信任。对于没有相互信任的朋友的两个人,例如当一个网络刚刚开始或当一个以前从未使用过 PGP 的新人尝试加入时,这种自动同伴推荐根本不起作用;没有同行推荐可言(甚至可能没有同行)。为了正确地旋转这个网络的前几个线程,希望形成它的人必须在本质上受信任的环境(称为“密钥签名方”)内相互交换证书文件。否则邪恶的夏娃可以截获正在交换的证书,用伪造的证书代替,她就成了“中间人”。
避免这种情况的最古老、最简单的方法就是亲自见面并相互交换证书文件。存在其他可能性,例如安全的保管箱,但 Eve 所需要的只是一秒钟不受限制、未被检测到的对密钥物理存储的访问,以将其搞砸。