对计算机系统识别、验证和隐私问题的解决方案依赖加密措施。由于媒体不具备物理实质形态,以物理方式对媒体加以印章或签名(用于各种商业和法律目的)的传统方法现在无用了。此外,必须将一些标记编码到信息自身中,以便识别信息源、验证内容及防止隐私失窃。
使用对称算法来保护隐私(如使用 DES,政府监管的数据加密标准)要求在各方之间交换加密密钥,这在小型网络中相对容易。随着网络的扩大,安全交换密匙逐渐不便,费用也越来越高。因此,即便在中等大小的网络中,此解决方案自身也不太可行。
DES 还有一个缺点:它要求共享密匙。每个人都必须信任他人能保护好对方的密钥,不会泄露给任何人。因为对于每个通信对象,用户都必须有一个不同的密钥,所以大家必须信任知道自己一个密钥的每一个人。这表示实际实施中,在无论是公是私,此前必须有过某种联系的人之间,才有可能进行安全通信。
DES 没有解决身份验证和不可否认性这两个基本问题。共享密匙的结果时,任何一方都无法证明他人可能进行过的行为。任何人都可以秘密修改数据,且确信第三方无法识别出肇事人。用于安全通信的密匙同样可以用于以他人名义伪造行为。
1976 年,威特菲尔德•迪菲和马丁•海尔曼提出设法交换秘密消息但不交换密匙的概念,从理论上解决了身份验证和大型网络隐私保护的问题。1977 年,麻省理工学院教授罗纳德·李维斯特、阿迪·萨莫尔和阿德勒曼发明了 RSA 公匙加密,将这一想法变为现实。
RSA 系统不是在数据的加密和解密中使用同一密匙,而是采用匹配的加密密匙和解密密钥对。每个密匙都对数据执行单向转换。每个密匙都是另一个密匙的反函数;一个密钥的操作只有另一个密钥能够取消。
RSA 公匙由其所有者对外提供,RSA 密匙则不对外提供。若要发送私人消息,作者可以使用预期接收人的公匙为消息编码。这样加密后,只有使用接收人的私钥才能为消息解码。
反之,用户也可以使用他们的私钥对数据编码;即,RSA 密钥可以双向使用。这为“数字签名”奠定了基础,如果用户能使用某人的公匙对信息解码,则表明对方此前必定是使用他们的密钥对信息编码。因为只有所有者可以使用他们自己的私钥,所以编码的消息便成为某种形式的电子签名,即任何他人都无法编制的文档。
数字签名的创建方法是对消息文本运行散列算法。这将产生消息摘要。然后使用信息发送方的私钥对消息摘要加密,使其变成数字签名。数字签名只能使用同一人的公匙进行解密。消息接收方解密数字签名,然后重新计算消息摘要。将新计算出的消息摘要值与签名中找到的消息摘要值进行比较。如果两者相同,说明消息未经篡改。因为是使用发送方的公匙来验证签名,所以签名文本时,使用的必然是只有发送方知道的私钥。这整个身份验证过程将集成到任何安全识别应用程序中。
RSA 技术用户通常将其独有的公匙附加到传出文档,以便接收方无需在公匙存储库中查找该公匙。但接收方如何能够确定此公匙,甚或公共目录中的任一公钥,确实属于它指明的那个人呢?计算机网络中的入侵者难道不能伪装成合法用户,坐等其他用户毫不知情地将秘密敏感文档发送到入侵者创建的虚假帐户中?
解决方案是使用数字证书,这是一种数字“护照”或“凭据”。数字证书是由某个可信方进行“数字签名”后的用户公钥,例如网络安全总监、MIS 客服部门或 VeriSign, Inc。下图展示了数字证书的图形化说明。
每次发送消息时,发送方都附加自己的数字证书。消息接收方首先使用数字证书来验证作者的公钥真实可信,然后使用该公钥来验证消息自身。这样一来,将只需集中存储或广为公开一个公钥,即鉴定机构的公匙,然后每个人都可以简单地随消息传送自己的公钥和有效数字证书。
使用数字证书可以建立与组织层次结构相对应的身份验证链,这允许在分散的环境中方便地进行公匙注册和鉴定。
用户获得数字证书之后,可如何使用?数字证书具有广泛用途,从办公室间的电子邮件到全球电子资金转账 (EFT) 都可以用到它。若要使用数字证书,必须高度信任数字证书与其关联用户或组织之间的绑定。这种信任通过建立数字证书层次结构来实现,此层次结构的所有成员都遵守一套同样的策略。数字证书仅颁发给拥有层次结构潜在成员身份的个人或实体,且仅在确立身份证明后颁发。不同层次结构可能使用不同的策略来确立身份及颁发数字证书。
Verisign 运作着多个数字证书层次结构。商业 CA 能为最终用户的数字证书和实际最终用户之间的绑定关系提供高度保障。RSA 商业 CA 的成员只要遵守这些策略,便能高度信任自己的通信对象。属于低保障层次结构的两名最终用户,在使用数字证书进行通信时,此情况并不一定成立。没有与妥善管理的数字证书层次结构相关联的保障,数字证书的使用价值将有限。