这篇文章的标题是“加密与安全计算机网络”,作者是Gerald J. Popek和Charles S. Kline,发表在1979年12月的《计算调查》第11卷第4期上。文章讨论了随着计算机网络数量和分布式计算应用的增加,对信息交换的隐私、安全和完整性的关注也日益增加,这促使人们对使用加密技术来保护网络中的信息产生了浓厚兴趣。
文章面向那些熟悉各种网络设计的读者,他们现在希望考虑将加密方法纳入这些设计中。同时,它也面向那些希望了解在网络应用中有用的加密算法特性的加密算法开发者。文章讨论了密钥管理、网络加密协议、数字签名以及传统或公钥加密方法的实用性。通过研究如何将加密集成到实际网络中,例如Arpanet,文章说明了设计网络加密设施时存在的许多问题。
关键词和短语包括:计算机网络、计算机安全、加密、公钥密码系统、数字签名、网络注册、加密协议。
文章介绍了随着小型机器的计算成本大幅降低,以及连接机器的技术成熟,计算将越来越多地呈现出分布式的特征。这种变化现在正在发生。在许多情况下,用户的数据操作需求可以由一台专用于单个用户的机器来满足,该机器连接到一个集成数据库的网络。组织需求,如易于增量增长和分散控制计算资源和信息,也以这种方式得到了很好的满足。在这种环境中,通用应用软件的多道程序处理的重要性逐渐减弱。
文章指出,随着计算机网络的保护和安全问题的演变,对中央操作系统保护设施的便利性和可靠性的担忧正在转移到网络上。计算机网络的保护问题在几个基本方面与集中式操作系统的问题有所不同。最重要的区别之一是,通常不能假定底层硬件是安全的。特别是,组成网络的通信线路通常不受网络用户的身体控制。因此,不能对通过线路发送的数据的安全性做出任何假设。此外,在当前的分组交换网络中,交换机中的软件通常非常复杂,并且是用汇编语言编写的;不能确定地说消息只被送达了预期的接收者。
文章讨论了网络中的各种威胁,包括线路窃听、虚假消息的引入、以前传输的有效消息的重传以及通信的破坏。每种威胁在没有适当防护措施的情况下都可能对运行网络造成相当大的损害,甚至使其无法用于通信。窃听线路会导致通信信息的隐私丧失。引入虚假消息使接收任何消息变得可疑。即使是早期消息的重传在某些情况下也会造成相当大的困难。
文章强调,加密是发送和存储数据的一种普遍方法,这些数据通过不安全的媒介传输。因此,合适的加密算法是开发安全网络的先决条件。同样重要的是将加密方法集成到网络操作系统和应用软件中。文章从实用、工程的角度出发,关注为了开发安全的网络功能而必须解决的问题,不讨论整个网络的安全性可以假设的安全情况,因为在这些情况下,问题不是网络特有的。
文章还讨论了在网络中实现安全通信的各种方法,包括认证、私人通信、网络邮件和数字签名。在认证方面,加密可以提供多种方式来解决这个问题。首先,拥有正确的密钥被视为初步证据,证明参与者能够参与消息交换。发送者可以确信,只有密钥持有者能够以可理解的方式发送或接收传输。
文章还讨论了密钥管理,指出在网络对话中安全通信需要参与者之间获得匹配的密钥。文章描述了传统密钥分发和基于公钥的分发算法,并比较了它们在私人通信中的使用。文章还讨论了在网络中整合加密的不同层次,包括链路加密、主机加密和端到端加密。
最后,文章通过一个案例研究,说明了如何在Arpanet中整合加密,强调了设计网络加密设施时需要考虑的许多问题。案例研究描述了一种基本对称协议,适用于智能节点,这是一个相当普遍的情况。然而,在某些情况下,一对中的一个可能缺乏算法能力,如简单的硬件终端或简单的微处理器。然后需要一个强不对称协议,其中建立安全通信的负担落在双方中更强大的一个身上。
文章总结指出,一旦理解了系统含义,公钥算法和传统算法在很大程度上是等效的。实际上,任何给定的加密算法类别都不太可能单独足以提供所需的各种安全功能。需要一种强大的可扩展系统,这种系统可以轻松添加新特性,并以直接、增量的方式证明增加的强度。任何强大的算法,无论是传统的还是公钥的,都可以作为强大可扩展系统的基础,结合额外的可信管理算法,无论是硬件还是软件。文章强调,混合系统是必要的,并且一旦认识到这一点,对具有特殊特性的加密算法的开发压力就会减轻;相反,更多的注意力集中在对一般强大算法的需求上。
文章最后感谢了审稿人对他们的评论,特别感谢Adele Goldberg在修订手稿过程中的帮助和指导。