计算机网络安全
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 加密机制

加密是保证数据安全的基本方法。根据数据在OSI七层所处的位置和重要程度可采用不同加密算法和加密策略。被加密的对象可以是程序、数据、口令或协议,也可以是整个数据的某一部分数据内容。数据加密贯穿着整个网络信息系统,根据其特点可分数据加密和数据流加密两种类型。数据加密是一般意义上的加密/解密概念,而数据流加密则是对网络上对等层间的通信过程的加密。

2.2.1 数据流加密

1.链路加密

这是最常用的加密机制之一,它用于保护两个交换节点间的数据流安全,其加解密过程如图2-1所示。链路加密是使用硬件在物理层上对数据流进行加密实现的,这种加密的数据流每当遇到交换节点都要进行解密和加密操作。

图2-1 链路加解密过程

链路加密在交换节点处是不安全的,其改进方法之一是直接在交换节点处增加加密/解密功能模块,缩小明文区范围(局限在交换节点内的隐蔽区域),如图2-2所示。这种改进的方法称为节点加密。

图2-2 节点加解密过程

不论是链路加密还是节点加密,在传输过程中需要加密/解密的次数过多,这本身就限制了数据的安全范围,同时也增加了数据安全的成本。为了避免在数据传输过程中频繁地进行加密/解密操作,降低安全成本,一般都选择在高层进行加密,如在网络层、传输层或应用层进行加/解密操作等,而要求底层为高层加密过的数据信息提供必要的服务即可。

2.端端加密

通常将传输层及以上各层的加密称为端端加密。端端加密可以对高层的整个协议数据单元PDU进行加密,也可以只加密其中的数据或部分数据,加密过程一般是由软件实现的。例如,当对应用层数据进行加密时,可将应用层中的数据和相关头部信息H7一起进行加密,把加密的结果作为表示层中的数据,如图2-3中所示。如果一次加密可以满足安全的需求,那么,底层的加密过程就可省去了,在网络传输过程中,应用层的PDU是处于加密状态,而其他层上的头部信息都是使用明文传输的。如果安全要求很高,可使用多种加密技术对每层都实施加密,这将增加很多开销。

图2-3 端端加密后的协议数据单元

对于机密信息,一般先采用隔离方式,将机密信息进行加密处理后,再转入网络作为应用层的数据进行传输,当对方接收到这个加密数据时,先将其与网络隔离,然后进行相应解密处理。端端加密的最大特点是不需要在网络传输过程进行加密和解密,加密和解密过程只在源端和目的端两处进行,如图2-4所示。

图2-4 端端加密示例

与链路加密相比,端端加密有以下优点:

● 安全性能高,数据在传输过程中不需要频繁地进行加密/解密操作。

● 安全成本低,不需要投入大量设备。

● 加密策略灵活多样,可由用户直接提供和选择。

2.2.2 数据加密

1.数据加密的一般模型

数据加密的一般模型如图2-5所示。常见的加密技术有两种:一是对称加密(又称秘密密钥加密);二是非对称密钥加密(又称公开密钥加密)。对称加密技术的难点是密钥安全交换问题,而非对称加密技术较好地解决了这一技术难题。

图2-5 数据加密的一般模型

假设A要通过网络向B发送数据p,由于网络缺乏足够的安全保护,直接向B发送数据p可能会被其他人窃取或篡改,因此,A在发送数据之前,使用加密算法E,先对p进行加密得密文c,且c = Eke(p)。其中,ke是加密密钥。然后,再将密文c发送给B。

当B收到这个密文c之后,使用解密算法D,将c再还原成p,且p = Dkd(c)。其中,kd是解密密钥。很显然,加密算法与解密算法具有互逆性,即p = Dkd(Eke(p))。

在保密通信过程中,密钥kekd占有极其重要的地位,它们是由通信双方秘密确定的,只有通信双方自己掌握。如果不知道密钥,即使知道加密算法和解密算法,也无法得知明文信息的内容。但是,如果密钥丢失,那么数据就将受到严重威胁。

2.常见的数据加密算法

关于数据加密算法详见本书第6.2节。

常见的对称加密算法有:数据加密标准DES(56位长度密钥,目前已不安全)、多重DES(如3DES,安全性高),密钥长度可变的RC2、RC4、RC5加密算法,以及国际数据加密算法IDEA(128位长度密钥,被PGP采用)。

常见的非对称加密算法有:Diffie-Hellman(一种安全性较高的密钥交换方法)、RSA(既可用于加密也可用于数字签名的安全算法)、DSA(仅用于数字签名的安全算法)。

3.使用公钥算法的加密

(1)只使用公钥算法的加密过程

使用公钥算法的加密过程十分简单,只要使用发送方的公钥对数据进行加密即可,如图2-6所示。由于只有接收方B才有与那个公钥相匹配的私钥,所以只有接收方B能够对密文进行解密。

图2-6 使用公钥的加密过程

(2)使用公钥和对称密钥的加密过程

只使用公钥的加密过程虽然简单,但由于公钥的加解密计算量较大,所以计算速度非常缓慢,通常所需的时间是对称密钥加解密的数百倍之多,当需要加解密的数据信息量较大时,采用公钥和对称密钥相结合的加密方式是比较理想的。在公钥与对称密钥相结合的加密方式中,对数据信息的加密和解密工作由对称密钥(又称会话密钥)完成,而公钥用于加密会话密钥,私钥用于解密会话密钥,如图2-7所示。

图2-7 公钥和对称密钥相结合的加密过程