优良保密协议(PGP)
优良保密协议最初是20世纪80年代后期由菲尔·齐默尔曼(Phil Zimmermann)开创的。它是一种用户友好型产品,用于在个人电脑上进行的加密,使用对称和非对称两种加密术。它的很多版本现在还在使用之中。在此我们只讨论一般性概念,而不专注于任何一个特定版本或用途。
PGP使用的是两个层次的密钥结构,其中对称会话密钥用于保护数据,非对称密钥既用来签名,也用来保护对称会话密钥。PGP有多种用途,包括电子邮件保密及安全文件存储等。1991年一个公告版上公布了PGP,这招致了齐默尔曼与美国政府(声称公布PGP是非法出口密码术)及各种专利所有者之间的辩论。这场争辩直到1997年才得到解决。PGP成为一种免费软件,很多新的个人电脑的软件中都包括了它。
我们前面已经讨论过,使用非对称加密的主要困难在于密钥认证。我们已讨论过一种解决方法,就是在一种公钥基础设施(PKI)中使用认证中心网络。PGP针对公钥认证问题引入了一种不同的解决方法,即建立信任网。
信任网可按下列方式建立。首先,每个用户签署自己真实的公钥,这就是说,本质上用户成了他们自己的认证中心。现在假设用户A和B每人都有这样的由自己签署的密钥。如果用户B“信任”用户A,则B会很乐意签署A的公钥并认为其是可信的。所以,用户B在本质上就成了用户A的认证中心。现在假设用户C不认识用户A,但他想确定A的公钥是可信的。如果C“信任”签署过A的公钥的任一用户,那么C会愉快地接受用户A的公钥并认为其是可信的。这个用户被称为是把A介绍给C的介绍人。利用这种交叉签署公钥的方式,一个大型的、错综复杂的、已认证公钥的网络(信任网)就可以建立起来。它使得用户能够根据自己判断的签署了公钥的人的可信程度,对每个公钥给予某种程度的信任。
自1991年公布以来,PGP有了很多版本,最近的版本(2001年版)是第7版。早期的PGP版本使用RSA和IDEA作为非对称和对称的加密算法;而PGP的后期版本(默认值)用迪菲–赫尔曼协议/贾迈勒算法和CAST作为它们的非对称和对称的加密算法。我们现在简单勾画一下利用PGP的各种选项对电子邮件进行加密的过程。