信任需求-密码术的奥秘

时间:2024-07-01 20:17:08

信任需求

CA是所谓可信任的第三方(TTP)概念的一个例子。在这个例子中,两个参与者都信任第三个参与者,即CA,他们利用这种信任建立起他们之间的安全通信联络。TTP几乎出现在所有使用密码术的地方,而且对它们的使用常常会引发一些忧虑。一般来说,用户必须信任TTP的诚信以及技术能力。要精确地判断它们应发挥多大的影响以及用户的安全应在多大程度上依赖于它们,这通常是很难的。

信任需求-密码术的奥秘

例如,考虑公钥与私钥对的生成。我们已经指出,这是一个数学过程,需要专用的软件。普通人无法完成这一过程,所以密钥或密钥生成软件都须由外部提供。无论是哪种情形,无疑都需要信任。通常密钥都是在外部生成的。一个显而易见的问题是:密钥应由CA生成还是由另一家TTP生成。我们提出这个问题的目的不是为了给出答案,因为很清楚,答案取决于具体的用途和环境。我们只是想引起对某些课题的关注。值得担心的是,如果一个组织为另一个实体生成了私钥和公钥对,该组织可能会保存私钥的副本,甚至将其透露给其他实体。对此的争论影响深远,一些人主张根本就不需要CA。

1991年,名为优良保密协议(PGP)的软件包的首个版本问世,任何一位希望使用强加密的人都能免费使用它。它采用RSA方法进行用户认证和对称密钥配送,并且采用称为IDEA的对称加密算法来保证机密性。虽然它使用了数字证书,但原始版的PGP并不依赖于核心CA,而是任一用户对其他任何用户而言都可以担任CA角色。它成了众所周知的信任网工作方式。本质上,它意味着用户判断证书的可靠性是根据签发人是否为他所信赖的人而定的。对于小规模的通信网络而言,上述方式确实不需要核心CA而仍能正常工作。然而,对于大规模网络而言,这种做法还存在许多隐患。

另一个取消CA的可能做法是让用户的公钥值完全由他们的身份来确定。如果用户的身份与公钥值(本质上)是等同的,那就很清楚不再需要使用证书把它们绑在一起了。基于用户身份的公钥密码术概念是沙米尔在1984年提出的,此后出现了多种基于此概念的签名方案,但直到2001年才生产出基于身份的公钥加密算法。这样的算法有两个,一个是博内(Boneh)和富兰克林(Franklin)设计的,另一个是英国通信电子安全组(CESG)设计的。

在基于身份的系统中,必须存在一个受到普遍信任的中心体,由它来根据客户的公钥计算出相应的私钥并交付给客户。因此这种方法不会消除对TTP的需求,必须通过它生成所有用户的私钥。然而这种方法确实消除了对证书的需求。在这种系统下,用户A声称自己是B,大概不会给他带来什么好处,因为只有B才具有由B的身份确定的私钥。

基于身份的公钥系统的应用代表了除传统的PKI途径之外的另一有趣的加密途径。不幸的是,它也显现出了自身的问题,最明显的是关于唯一身份的概念和公钥撤销的问题。假定用户用他的名字和地址确定了他的公钥,如果他的私钥泄密,那么他就得搬家或改名字。这种做法当然是不实际的。对于这种身份盗窃的特殊问题,还是有些解决办法的。一个办法是让用户的公钥取决于身份和另一个公开变量,比如日期。这将保证用户的私钥每天都在变化,但可能会给中心体带来难以承受的工作量。目前有相当多的研究都想弄清楚是否能够用基于身份的系统来代替PKI。

还有另一种极端的观点,有些人主张,保证安全的最好方法是将众多危险集于一处,然后为此处提供最强大的安全保障。如果采纳这种想法,那么就可以由CA来生成用户的密钥。持这种观点的人争论道,如果用户对生成其密钥的CA足够信任,那么用户也应信任由它来代表其进行密钥管理。辩护理由是密钥需要这种高度安全的CA环境。这就是所谓的中心服务器的安全手段,事实证明,它对某些组织而言是有吸引力的。