目录
引言
在这一部分的学习中,我们将通篇使用 Alice 和 Bob 俩人的通信作为例子。他们俩是一种象征,可以代指两台需要安全交换路由选择表的路由器,也可以代指希望建立一个安全传输连接的客户端和服务器,或者是两个安全交换邮件的电子邮件应用程序。
Alice 和 Bob 希望他们之间的通信时安全的,比如,他们不希望信息被窃听者获取,他们要确保自己是在和对方通信,而不是一个伪装的第三者,或者是当通信内容被窃听者篡改后,Alice 和 Bob 都能检测到信息的破坏。接下来我们将更加具体的阐述这些问题。
5.1 什么是网络安全
我们指出,安全通信(secure communication)应该具有下列特征:
机密性(confidentiality)
仅有发送方和希望的接收方能够理解传输报文的内容。因为窃听者可以截获报文,这必须要求报文在一定程度上进行加密(encrypted),使截取的报文无法被截获者所理解。
报文完整性(message integrity)
Alice和Bob希望确保其通信的内容在传输过程中未被改变——或者恶意篡改或者意外改动。
端点鉴别(end-point authentication)
发送方和接收方都应该能证实通信过程所涉及的另一方,以确信通信的另一方确实具有他们所声称的身份。
运行安全性(operational security)
与公共因特网相连接的网络都潜在地能够被危及安全。攻击者能够试图在网络主机中安放蠕虫,获取机构秘密,勘察内部网络配置并发起DoS攻击。我们需要使用诸如防火墙和人侵检测系统等运行设备正被用于反制对机构网络的攻击。防火墙位于机构网络和公共网络之间,控制接人和来自网络的分组。人侵检测系统执行“深度分组检查”任务,向网络管理员发出有关可疑活动的警告。
明确了网络安全的具体含义后,我们再定义一下入侵者可能执行的行为:
窃听——监听并记录信道上传输的控制报文和数据报文。
修改、插入或删除报文或报文内容。
5.2 密码学的原则
我们通过这张图,来学习密码学中的一些重要术语:
明文(plaintext, cleartext)
Alice要向Bob发送一个报文。Alice报文的最初形式被称为明文。
加密算法(encryption algorithm)
Alice 使用加密算法加密其明文报文,
密文(eiphertext)
通过加密算法生成的加密报文被称为密文,该密文对任何人侵者看起来是不可懂的。
那是不是我们只需要加密算法就可以完成安全通信。但在许多现代密码系统中,包括因特网上所使用的那些加密算法,是公开发行的、标准化的和任何人都可使用的,即使对潜在的人侵者也是如此!所以我们需要使用一个秘密信息来阻止入侵者解密被传输的数据,即使用密钥。
密钥(key)
Alice提供了一个密钥,它是一串数字或字符,作为加密算法的输入。加密算法以密钥和明文报文m为输入,生成的密文作为输出。用符号表示使用密钥加密的明文报文m的密文形式。也就意味着使用密钥的实际加密算法与上下文有关。
解密算法(decryption algorithm)
类似的,Bob将为解密算法提供密钥,将密文和Bob的密钥作为输入,输出初始明文。即,Bob接收到一个加密的报文,他可通过计算进行解密。
对称密钥系统(symmetric key system)
对称密钥系统中,Alice和Bob的密钥是相同的并且是秘密的。
公开密钥系统(public key system)
公开密钥系统中,使用一对密钥:一个密钥为所有人所知,另一个密钥只有Bob或Alice知道(而不是双方都知道)。
5.2.1 对称密钥密码体系
首先我们从一个古老简单的对称密钥算法开始,凯撒密码用于英语文本时,将明文报文中的每个字母用字母表中该字母后第k个字母进行替换(允许回绕,即把 a 排在 z 之后)。它加密简单,破译也简单,因为密钥值只有25个,只要你知道了凯撒密码的原理,不久就可以破译密文。
凯撒密码的一种改进方法是单码代替密码,就是使用字母表中的一个字母代替另一个字母,而不是按照一定规则替换。这种密码之所以优于凯撒密码是因为它的字母配对可能性是(10的26次方数量级)。
但是它也存在问题,因为不同字母的使用频率是不同的,还有一些常见的字母组合,如果入侵者大概知道密文的可能内容,那破译难度就会直线下降。上述所说的入侵者降低破译难度的方法是有术语解释的:
唯密文攻击
入侵者只得到截取的密文,也不了解明文报文的内容。入侵者可以在此情