密钥复原和密钥备份
任何一位希望得到与某些密文对应的明文的人至少需要下述情况之一成立:
1.有人给他们提供了明文。
2.他们知道解密算法并且有人给他们提供了解密密钥。
3.他们知道解密算法并且有能力破解它。
4.他们能够在系统内找到明文。
5.他们知道解密算法并且能够在系统内找出解密密钥。
6.他们有能力推导出算法并破解它。
如果情形1成立,那么他们可以绕过密码术;而情形2相当于他们得到了与预定的接收者相同的信息。使用强加密可以挫败符合第3种情况的攻击者。但要用强加密来对付第4或第5种情况则是毫无用处的。如果情形4出现,攻击者可以绕开加密术,而情形5意味着他们跟真正的接收者知道的信息一样多,无须去破译算法。因此,密钥在整个生命周期内得到妥善保护是非常重要的。我们已经详细讨论了密钥管理,但还没有提到密钥备份这一重要主题。如果使用强算法对重要信息加密,之后密钥却丢失了或出现了讹误,此时那条重要信息可能会永远丢失,认识到这一点很重要。所以密钥的备份事关重大,且备份可以储存在本地的安全之处或委托可信任的第三方进行安全保管。上面描述的都是我们假定的最坏情形,所以不再考虑第6种情形。
在讨论加密问题时,我们通常采取这样的看法,即它是个人或公司用于保护他们的私人通信或存储信息的工具。自然,它也会给罪犯和恐怖分子以类似的保护,使他们逃脱法律的制裁和政府的其他监管。多年以来,执法机构一直坚持认为在与犯罪行为作斗争时拦截信息是至关重要的。出于这种认识,很多国家有长期沿袭的法律,允许在某些条件下对通信进行合法的窃听,诸如窃听电话等。为了抗击恐怖主义和消除其他对国家安全的威胁,情报机关也抱持类似的主张。不同国家对这些问题的反应各不相同。有些政府试图对一切使用加密术的活动实施严格控制;另一些国家,包括美国和英国,只控制加密装备的出口。但是,近期的技术进展,特别是软件加密算法使用领域的快速扩张,已促使大多数政府反思他们关于使用加密术的各项政策。
显然,这里存在着利益上的矛盾:一方面是私人和各种组织,他们想保护自己的机密资料;另一方面是执法机关,他们坚持认为他们有权知道拦截到的特定通信的内容,以便与犯罪行为作斗争并保护国家的安全。公司希望加密程度能够强到使有组织的罪犯不能破译的程度,而政府想要在某些情况下能够获取任何被传递的信息内容。
英国的《2000年规管调查权力法令》是一部关于通信拦截的法规。毫不奇怪,其中关于合法拦截的那部分内容已经引起了广泛的争议和辩论。部分争论是围绕这样一个条款进行的:执法机关可以在某些约束下,要求得到破译拦截到的密文所需的密钥,或是相应的明文。
执法机关是否有权在任何情况下要求得到密钥,这涉及了道德问题,围绕这一点的争论占了大多数。这也是有关人权和国家需要之间平衡问题的争论的一个特别现代的例子。我们不打算在本对这个特定的主题表明立常然而从技术的角度看,用户如果认可执法机关在某种条件下有权读懂加密数据,那么可能会发现当只有第1和第2种情况发生时,对他们是比较有利的。如果执法机关遇到了第3至第6种情况中的任何一种,那说明对掌握足够丰富资源的对手而言同样也可能出现这类情况。
曾有人预测,人们为了保证个人通信(比如电子邮件)的机密性会普遍采用加密的办法,但实际并非如此。这绝对不是因为缺少算法。确实,潜在用户所面临的可供选择的算法可以说是太多了——它们都接受过公开的科学检验,一般都很强。主要原因大概是缺少易于使用的产品。大多数人对安全不够关心,因为若要保证安全他们将不得不花费更大的力气。当用户发送电子邮件时,他往往只想到去点击“发送”按钮。然而,利用加密手段通常会激活一系列由计算机提出的问题,要求用户作答或作出回应。大多数用户不想劳这个神。使用加密手段时的很多麻烦都来自于密钥管理。不凑巧的是,正如我们反复强调的,良好的密钥管理对系统的整体安全来说确实至关重要。