第7章 网络安全


7.1 网络安全问题概述

7.1.1计算机网络面临的安全性威胁

  • 计算机网络的通信面临两大类威胁,即被动攻击主动攻击(见图7-1)。
    1. ![[Pasted image 20230813195923.png]]
  • 被动攻击是指攻击者从网络上窃听他人的通信内容。通常把这类攻击称为截获。在被动攻击中,攻击者只是观察和分析某一个协议数据单元 PDU而不干扰信息流。即使这些数据对攻击者来说是不易理解的,他也可通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究PDU的长度和传输的频度,从而了解所交换的数据的某种性质。这种被动攻击又称为**流量分析。
  • 主动攻击有如下几种最常见的方式。
    1. 篡改  攻击者故意篡改网络上传送的报文。这里也包括彻底中断传送的报文,甚至是把完全伪造的报文传送给接收方。这种攻击方式有时也称为更改报文流。
    2. 恶意程序  恶意程序种类繁多,对网络安全威胁较大的主要有以下几种:
      • 计算机病毒,一种会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或自己的变种复制进去而完成的。
      • 计算机蠕虫,一种通过网络的通信功能将自身从一个结点发送到另一个结点并自动启动运行的程序。
      • 特洛伊木马 ,一种程序,它执行的功能并非所声称的功能而是某种恶意功能。如一个编译程序除了执行编译任务以外,还把用户的源程序偷偷地复制下来,那么这种编译程序就是一种特洛伊木马。计算机病毒有时也以特洛伊木马的形式出现。
      • 逻辑炸弹,一种当运行环境满足某种特定条件时执行其他特殊功能的程序。如一个编辑程序,平时运行得很好,但当系统时间为13日又为星期五时,它会删去系统中所有的文件,这种程序就是一种逻辑炸弹。
      • 后门入侵,是指利用系统实现中的漏洞通过网络入侵系统。就像一个盗贼在夜晚试图闯入民宅,如果某家住户的房门有缺陷,盗贼就能乘虚而入。
      • 流氓软件,一种未经用户允许就在用户计算机上安装运行并损害用户利益的软件,其典型特征是:强制安装、难以卸载、浏览器劫持、广告弹出、恶意收集用户信息、恶意卸载、恶意捆绑等等。
    3. 拒绝服务 DoS 指攻击者向互联网上的某个服务器不停地发送大量分组,使该服务器无法提供正常服务,甚至完全瘫痪。
  • 若从互联网上的成百上千个网站集中攻击一个网站,则称为分布式拒绝服务 DDoS。有时也把这种攻击称为网络带宽攻击连通性攻击
  • 对于主动攻击,可以采取适当措施加以检测。但对于被动攻击,通常却是检测不出来的。根据这些特点,可得出计算机网络通信安全的目标如下:
    1. 防止析出报文内容和流量分析
    2. 防止恶意程序
    3. 检测更改报文流和拒绝服务
  • 对付被动攻击可采用各种数据加密技术,而对付主动攻击,则需将加密技术与适当的鉴别技术相结合。

7.1.2 安全的计算机网络

  • 一个安全的计算机网络应设法达到以下四个目标:
    1. 保密性
      • 保密性就是只有信息的发送方和接收方才能懂得所发送信息的内容,而信息的截获者则看不懂所截获的信息。
    2. 端点鉴别
      • 安全的计算机网络必须能够鉴别信息的发送方和接收方的真实身份。
    3. 信息的完整性
      • 即使能够确认发送方的身份是真实的,并且所发送的信息都是经过加密的,我们依然不能认为网络是安全的。还必须确认所收到的信息都是完整的,也就是信息的内容没有被人篡改过。
    4. 运行的安全性
      • 现在的机构与计算机网络的关系越密切,就越要重视计算机网络运行的安全性。

7.1.3 数据加密模型

  • 一般的数据加密模型如图7-2所示。
    1. ![[Pasted image 20230813200600.png]]
    2. 用户A向B发送明文X,但通过加密算法E运算后,就得出密文Y
    3. 图中所示的加密和解密用的密钥 K (key)是一串秘密的字符串(即比特串)。公式(7-1)就是明文通过加密算法变成密文的一般表示方法。
    4. 在传送过程中可能出现密文的截取者 (或攻击者、入侵者 )。公式(7-2)表示接收端利用解密算法 D 运算和解密密钥 K ,解出明文_X_ 。解密算法是加密算法的逆运算。在进行解密运算时,如果不使用事先约定好的密钥就无法解出明文。
  • 这里我们假定加密密钥和解密密钥都是一样的。但实际上它们可以是不一样的(即使不一样,这两个密钥也必然有某种相关性)。密钥通常由密钥中心提供。当密钥需要向远地传送时,一定要通过另一个安全信道。
  • 密码编码学是密码体制的设计学,而密码分析学则是在未知密钥的情况下从密文推演出明文或密钥的技术。密码编码学与密码分析学合起来即为密码学
  • 如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则这一密码体制称为无条件安全的,或称为理论上是不可破的。在无任何限制的条件下,目前几乎所有实用的密码体制均是可破的。因此,人们关心的是要研制出在计算上(而不是在理论上)是不可破的密码体制。如果一个密码体制中的密码,不能在一定时间内被可以使用的计算资源破译,则这一密码体制称为在计算上是安全的

7.2 两类密码体制

7.2.1 对称密钥密码体制

  • 所谓对称密钥密码体制,即加密密钥与解密密钥是使用相同的密码体制数据加密标准 DES属于对称密钥密码体制。
  • DES是一种分组密码。在加密前,先对整个的明文进行分组。每一个组为64位长的二进制数据。然后对每一个64位二进制数据进行加密处理,产生一组64位密文数据。最后将各组密文串接起来,即得出整个的密文。使用的密钥占有64位(实际密钥长度为56位,外加8位用于奇偶校验)。
  • DES的保密性仅取决于对密钥的保密,而算法是公开的。DES的问题是它的密钥长度。
  • 三重DES,把一个64位明文用一个密钥加密,再用另一个密钥解密,然后再使用第一个密钥加密,即:
    1. ![[Pasted image 20230813200941.png]]
    2. 这里,X是明文,Y是密文,K1K2 分别是第一个和第二个密钥,DES K1(·)表示用密钥K1进行DES加密,而DES-1K2(·)表示用密钥K2进行DES解密。

7.2.2 公钥密码体制

  • 公钥密码体制使用不同的加密密钥与解密密钥
  • 公钥密码体制的产生主要有两个方面的原因,一是由于对称密钥密码体制的密钥分配问题,二是由于对数字签名的需求。
  • 在公钥密码体制中,加密密钥PK是向公众公开的,而解密密钥SK则是需要保密的。加密算法E和解密算法D也都是公开的。
  • 公钥密码体制的加密和解密过程有如下特点:
    1. 密钥对在使用对称密钥时,由于双方使用同样的密钥,因此在通信信道上可以进行一对一的双向保密通信 ,每一方既可用此密钥加密明文,并发送给对方,也可接收密文,用同一密钥对密文解密。产生器产生出接收者B的一对密钥:加密密钥PKB 和解密密钥SKB。发送者A所用的加密密钥PKB 就是接收者B的公钥,它向公众公开。而B所用的解密密钥SKB 就是接收者B的私钥,对其他人都保密。
    2. 发送者A用B的公钥PKB 通过E运算对明文X 加密,得出密文Y ,发送给B。B用自己的私钥SKB 通过D 运算进行解密,恢复出明文,即
      • ![[Pasted image 20230813201823.png]]
      • ![[Pasted image 20230813201836.png]]
    3. 虽然在计算机上可以容易地产生成对的PKBSKB ,但从已知的PKB 实际上不可能推导出SKB ,即从PKBSKB 是“计算上不可能的”。.
    4. 虽然公钥可用来加密,但却不能用来解密,即
      • ![[Pasted image 20230813201935.png]]
    5. 先后对X 进行D 运算和E 运算或进行E 运算和D 运算,结果都是一样的:
      • ![[Pasted image 20230813201952.png]]
  • 在使用对称密钥时,由于双方使用同样的密钥,因此在通信信道上可以进行一对一的双向保密通信,每一方既可用此密钥加密明文,并发送给对方,也可接收密文,用同一密钥对密文解密。
    • 在使用公开密钥时,在通信信道上可以是多对一的单向保密通信
    • 任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量

7.3 数字签名

  • 数字签名必须保证能够实现以下三点功能:
    1. 接收者能够核实发送者对报文的签名。也就是说,接收者能够确信该报文的确是发送者发送的。其他人无法伪造对报文的签名。这叫做报文鉴别
    2. 接收者确信所收到的数据和发送者发送的完全一样而没有被篡改过。这叫做报文的完整性
    3. 发送者事后不能抵赖对报文的签名。这叫做不可否认

7.4 鉴别

  • 鉴别是要验证通信的对方的确是自己所要通信的对象,而不是其他的冒充者,并且所传送的报文是完整的,没有被他人篡改过
  • 鉴别细分为两种。一种是报文鉴别,即鉴别所收到的报文的确是报文的发送者所发送的,而不是其他人伪造的或篡改的。这就包含了端点鉴别和报文完整性的鉴别。另一种则是实体鉴别,即仅仅鉴别发送报文的实体。实体可以是一个人,也可以是一个进程(客户或服务器)。这就是端点鉴别。

7.4.1 报文鉴别

  • 密码散列函数
    1. 散列函数具有以下两个特点:
      • 散列函数的输入长度可以很长,但其输出长度则是固定的,并且较短。散列函数的输出叫做散列值,或更简单些,称为散列
      • 不同的散列值肯定对应于不同的输入,但不同的输入却可能得出相同的散列值。这就是说,散列函数的输入和输出并非一一对应的,而是多对一的。
    2. 在密码学中使用的散列函数称为密码散列函数,其最重要的特点就是:要找到两个不同的报文,它们具有同样的密码散列函数输出,在计算上是不可行的。也就是说,密码散列函数实际上是一种单向函数
  • 实用的密码散列函数MD5和SHA-1
  • 报文鉴别码*

7.4.2 实体鉴别

  • 实体鉴别和报文鉴别不同。报文鉴别是对每一个收到的报文都要鉴别报文的发送者,而实体鉴别是在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次。

7.5 密钥分配

  • 由于密码算法是公开的,网络的安全性就完全基于密钥的安全保护上。因此在密码学中出现了一个重要的分支——密钥管理。密钥管理包括:密钥的产生、分配、注入、验证和使用。
  • 密钥分配(或密钥分发)是密钥管理中最大的问题。密钥必须通过最安全的通路进行分配。例如,可以派非常可靠的信使携带密钥分配给互相通信的各用户。这种方法称为网外分配方式。但随着用户的增多和网络流量的增大,密钥更换频繁(密钥必须定期更换才能做到可靠),派信使的办法已不再适用,而应采用网内分配方式,即对密钥自动分配。

7.5.1 对称密钥的分配

  • 对称密钥分配存在以下两个问题:
    1. 如果n 个人中的每一个需要和其他n –1个人通信,就需要n (n –1)个密钥。但每两人共享一个密钥,因此密钥数是n (n –1)/2。这常称为 ***n2*问题 。如果n 是个很大的数,所需要的密钥数量就非常大。
    2. 通信的双方怎样才能安全地得到共享的密钥呢?正是因为网络不安全,所以才需要使用加密技术。但密钥又需要怎样传送呢?
  • 目前常用的密钥分配方式是设立密钥分配中心 KDC。KDC是大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥(仅使用一次)。
  • 目前最出名的密钥分配协议是Kerberos V5。
  • Kerberos使用两个服务器:鉴别服务器 AS、票据授予服务器 TGS。Kerberos只用于客户与服务器之间的鉴别,而不用于人对人的鉴别。

7.5.2 公钥的分配

7.6 互联网使用的安全协议

7.6.1 网络层安全协议

  • IPsec协议族概述
    1. IPsec并不是一个单一协议,而是能够在IP层提供互联网通信安全的协议族。IPsec并没有限定用户必须使用何种特定的加密和鉴别算法。实际上,IPsec是个框架,它允许通信双方选择合适的算法和参数(例如,密钥长度)。为保证互操作性,IPsec还包含了一套加密算法,所有IPsec的实现都必须使用。
    2. IPsec协议族中的协议可划分为以下三个部分:
      • IP安全数据报格式的两个协议:鉴别首部AH 协议和封装安全有效载荷ESP 协议。
      • 有关加密算法的三个协议。
      • 互联网密钥交换 IKE协议。
    3. AH协议提供源点鉴别和数据完整性,但不能保密。而ESP协议比AH协议复杂得多,它提供源点鉴别、数据完整性和保密。IPsec支持IPv4和IPv6。在IPv6中,AH和ESP都是扩展首部的一部分。AH协议的功能都已包含在ESP协议中,因此使用ESP协议就可以不使用AH协议。
    4. 使用ESP或AH协议的IP数据报称为IP安全数据报(或IPsec数据报),它可以在两台主机之间、两个路由器之间或一台主机和一个路由器之间发送。
    5. IP安全数据报有以下两种不同的工作方式:
      • 运输方式。运输方式是在整个运输层报文段的前后分别添加若干控制信息,再加上IP首部,构成IP安全数据报。
      • 隧道方式。隧道方式是在原始的IP数据报的前后分别添加若干控制信息,再加上新的IP首部,构成一个IP安全数据报。
    6. 无论使用哪种方式,最后得出的IP安全数据报的IP首部都是不加密的。只有使用不加密的IP首部,互联网中的各个路由器才能识别IP首部中的有关信息,把IP安全数据报在不安全的互联网中进行转发,从源点安全地转发到终点。
  • 安全关联
    1. 在发送IP安全数据报之前,在源实体和目的实体之间必须创建一条网络层的逻辑连接,即安全关联SA。这样,传统的互联网中无连接的网络层就变为了具有逻辑连接的一个层。安全关联是从源点到终点的单向连接,它能够提供安全服务。如要进行双向安全通信,则两个方向都需要建立安全关联。
    2. SA的状态信息应包括的项目:
      • 一个32位的连接标识符,称为安全参数索引SPI 
      • 安全关联SA的源点和终点的IP地址(即路由器R 1 和R 2 的IP地址)
      • 所使用的加密类型(例如,DES或AES)
      • 加密的密钥
      • 完整性检查的类型(例如,使用报文摘要MD5或SHA-1的报文鉴别码MAC)
      • 鉴别使用的密钥
  • IP安全数据报的格式
    1. 图7-15是IP安全数据报的格式。
      • ![[Pasted image 20230813203425.png]]
  • IPsec的其他构件*
    1. 当主机要发送IP安全数据报时,就要在安全关联数据库 SAD中查找相应的SA,以便获得必要的信息,来对该IP安全数据报实施安全保护。同样,当主机要接收IP安全数据报时,也要在SAD中查找相应的SA,以便获得信息来检查该分组的安全性。
    2. 除了安全关联数据库SAD,还需要另一个数据库,这就是安全策略数据库 SPD。SPD指明什么样的数据报需要进行IPsec处理。这取决于源地址、源端口、目的地址、目的端口,以及协议的类型等。
    3. 对于大型的、地理位置分散的系统,为了创建SAD,我们需要使用自动生成的机制,即使用互联网密钥交换 IKE协议。IKE的用途就是为IP安全数据报创建安全关联SA。
    4. IKE是个非常复杂的协议,IKEv2是其新的版本,IKEv2以另外三个协议为基础:
      • Oakley——是个密钥生成协议
      • 安全密钥交换机制 SKEME——是用于密钥交换的协议。它利用公钥加密来实现密钥交换协议中的实体鉴别
      • 互联网安全关联和密钥管理协议 ISAKMP——用于实现IKE中定义的密钥交换,使IKE的交换能够以标准化、格式化的报文创建安全关联SA

7.6.2 运输层安全协议

  • 广泛使用的有两个协议:
    1. 安全套接字层 SSL
    2. 运输层安全 TLS
  • SSL提供的安全服务可归纳为以下三种:
    1. SSL服务器鉴别,允许用户证实服务器的身份。支持SSL的客户端通过验证来自服务器的证书,来鉴别服务器的真实身份并获得服务器的公钥。
    2. SSL客户鉴别,SSL的可选安全服务,允许服务器证实客户的身份。
    3. 加密的SSL会话,对客户和服务器间发送的所有报文进行加密,并检测报文是否被篡改。
  • SSL的工作过程:
    1. 协商加密算法 
    2. 服务器鉴别 
    3. 会话密钥计算 
    4. 安全数据传输

 

7.6.3 应用层安全协议

  • 当我们使用IPSec或SSL时,我们假设双方在相互之间建立起一个会话并双向地交换数据。而在电子邮件中没有会话存在。
  • PGP是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。
  • PGP的工作原理并不复杂。它提供电子邮件的安全性、发送方鉴别和报文完整性。

7.7 系统安全:防火墙与入侵检测

7.7.1 防火墙

  • 防火墙作为一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生,尽可能降低这类安全威胁所带来的安全风险。由于防火墙不可能阻止所有入侵行为,作为系统防御的第二道防线,入侵检测系统 IDS通过对进入网络的分组进行深度分析与检测发现疑似入侵行为的网络活动,并进行报警以便进一步采取相应措施。
  • 防火墙是一种特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略。这个访问控制策略是由使用防火墙的单位自行制定的。这种安全策略应当最适合本单位的需要。
  • 互联网这边是防火墙的外面,而内部网络这边是防火墙的里面。一般都把防火墙里面的网络称为“可信的网络”,而把防火墙外面的网络称为“不可信的网络”。
  • 防火墙技术一般分为以下两类:
    1. 分组过滤路由器
    2. 应用网关也称为代理服务器

7.7.2 入侵检测系统

  • 入侵检测系统 IDS在入侵还没有造成危害或在造成更大危害前,及时检测到入侵,以便尽快阻止入侵,把危害降低到最小IDS对进入网络的分组执行深度分组检查,当观察到可疑分组时,向网络管理员发出告警或执行阻断操作。
  • 入侵检测方法一般可以分为基于特征的入侵检测和基于异常的入侵检测两种。

7.8 一些未来的发展方向

  • 椭圆曲线密码(Elliptic Curve Cryptography,简写为ECC)与AES这一系统现在已广泛用于电子护照中,也是下一代金融系统使用的加密系统。
  • 移动安全(Mobile Security)移动通信带来的广泛应用(如移动支付,Mobile Payment)向网络安全提出了更高的要求。
  • 量子密码(Quantum Cryptography)量子计算机的到来将使得目前许多使用中的密码技术无效,后量子密码学(Post-Quantum Cryptography)的研究方兴未艾。

本章的重要概念

  • 计算机网络上的通信面临的威胁可分为两大类,即被动攻击(如截获)和主动攻击(如中断、篡改、伪造)。主动攻击的类型有更改报文流、拒绝服务、伪造初始化、恶意程序(病毒、蠕虫、木马、逻辑炸弹、后门入侵、流氓软件)等。
  • 计算机网络安全主要有以下一些内容:保密性、安全协议的设计和访问控制。
  • 密码编码学是密码体制的设计学,而密码分析学则是在未知密钥的情况下从密文推演出明文或密钥的技术。密码编码学与密码分析学合起来即为密码学。
  • 如果不论截取者获得了多少密文,都无法唯一地确定出对应的明文,则这一密码体制称为无条件安全的(或理论上是不可破的)。在无任何限制的条件下,目前几乎所有实用的密码体制均是可破的。如果一个密码体制中的密码不能在一定时间内被可以使用的计算资源破译,则这一密码体制称为在计算上是安全的。
  • 对称密钥密码体制是加密密钥与解密密钥相同的密码体制(如数据加密标准DES和高级加密标准AES)。这种加密的保密性仅取决于对密钥的保密,而算法是公开的。
  • 公钥密码体制(又称为公开密钥密码体制)使用不同的加密密钥与解密密钥。加密密钥(即公钥)是向公众公开的,而解密密钥(即私钥或秘钥)则是需要保密的。加密算法和解密算法也都是公开的。
  • 目前最著名的公钥密码体制是RSA体制,它是基于数论中的大数分解问题的体制。
  • 任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量,而不是简单地取决于加密的体制(公钥密码体制或传统加密体制)。
  • 数字签名必须保证能够实现以下三点功能:(1)报文鉴别,即接收者能够核实发送者对报文的签名;(2)报文的完整性,即接收者确信所收到的数据和发送者发送的完全一样而没有被篡改过;(3)不可否认,即发送者事后不能抵赖对报文的签名。
  • 鉴别是要验证通信的对方的确是自己所要通信的对象,而不是其他的冒充者。鉴别与授权是不同的概念。
  • 报文摘要MD是进行报文鉴别的一种简单方法。目前广泛使用的是SHA-1。
  • 密钥管理包括:密钥的产生、分配、注入、验证和使用。密钥分配(或密钥分发)是密钥管理中最大的问题。密钥必须通过最安全的通路进行分配。目前常用的密钥分配方式是设立密钥分配中心KDC。
  • 认证中心CA是一个值得信赖的机构,用来将公钥与其对应的实体(人或机器)进行绑定。每个实体都有CA发来的证书,里面有公钥及其拥有者的标识信息(人名或IP地址)。此证书被CA进行了数字签名。任何用户都可从可信的地方获得认证中心CA的公钥。
  • 在网络层可使用IPsec协议族,IPsec包括鉴别首部协议AH和封装安全有效载荷协议ESP。AH协议提供源点鉴别和数据完整性,但不能保密。而ESP协议提供源点鉴别、数据完整性和保密。IPsec支持IPv4和IPv6。在IPv6中,AH和ESP都是扩展首部的一部分。IPsec数据报的工作方式有运输方式和隧道方式两种。
  • 运输层的安全协议有SSL(安全套接字层)和TLS(运输层安全)。SSL最新的版本是SSL 3.0,它是保护万维网HTTP通信量所公认的事实上的标准。SSL不仅被所有常用的浏览器和万维网服务器所支持,而且也是TLS的基础。
  • PGP是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。PGP并没有使用什么新的概念,它只是把现有的一些加密算法(如RSA公钥加密算法或MD5报文摘要算法)综合在一起而已。
  • 防火墙是一种特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略。防火墙里面的网络称为“可信的网络”,而把防火墙外面的网络称为“不可信的网络”。防火墙的功能有两个:一个是阻止(主要的),另一个是允许。
  • 防火墙技术分为:网络级防火墙,用来防止整个网络出现外来非法的入侵(属于这类的有分组过滤和授权服务器);应用级防火墙,用来进行访问控制(用应用网关或代理服务器来区分各种应用)。
  • 入侵检测系统IDS是在入侵已经开始,但还没有造成危害或在造成更大危害前,及时检测到入侵,以便尽快阻止入侵,把危害降低到最小。

文章作者: Chipfron
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Chipfron !
  目录