网络安全

时间:2024-04-08 20:06:18

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

被动攻击

  • 指攻击者从网络上窃听他人的通信内容。
  • 通常把这类攻击称为截获。
  • 在被动攻击中,攻击者只是观察和分析某一个协议数据单元 PDU,以便了解所交换的数据的某种性质。但不干扰信息流。
  • 这种被动攻击又称为流量分析 (traffic analysis)。

主动攻击主要有:

  • 篡改——故意篡改网络上传送的报文。这种攻击方式有时也称为更改报文流。
  • 恶意程序——种类繁多,对网络安全威胁较大的主要包括:计算机病毒、计算机蠕虫、特洛伊木马、逻辑炸弹、后门入侵、流氓软件等。
  • 拒绝服务——指攻击者向互联网上的某个服务器不停地发送大量分组,使该服务器无法提供正常服务,甚至完全瘫痪。

对于主动攻击,可以采取适当措施加以检测。
对于被动攻击,通常却是检测不出来的。
根据这些特点,可得出计算机网络通信安全的目标:
防止分析出报文内容和流量分析。
防止恶意程序。
检测更改报文流和拒绝服务。
对付被动攻击可采用各种数据加密技术。
对付主动攻击则需将加密技术与适当的鉴别技术相结合。

网络的安全性是不可判定的。
一个安全的计算机网络应达到四个目标:、

保密性

  • 只有信息的发送方和接收方才能懂得所发送信息的内容。
  • 是网络安全通信的最基本的内容,也是对付被动攻击必须具备的功能。
  • 为了使网络具有保密性,需要使用各种密码技术。

端点鉴别

  • 鉴别信息的发送方和接收方的真实身份。
  • 在对付主动攻击中是非常重要的。

信息的完整性

  • 信息的内容未被篡改过。
  • 在应对主动攻击中是必不可少的。
  • 信息的完整性与端点鉴别往往是不可分割的。
  • 在谈到“鉴别”时,也同时包含了端点鉴别和报文完整性。

运行的安全性

  • 系统能正常运行并提供服务。
  • 访问控制 (access control) 对计算机系统的安全性是非常重要的。必须对访问网络的权限加以控制,并规定每个用户的访问权限

对称**密码*
所谓常规**密码*,即加***与解***是相同的密码*。
这种加密系统又称为对称**系统。

网络安全数据加密标准 DES

  • 数据加密标准 DES 属于对称**密码*,是一种分组密码。
  • 在加密前,先对整个明文进行分组。每一个组长为 64 位。
  • 然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文 数据。
  • 最后将各组密文串接起来,即得出整个的密文。
  • 使用的**为 64 位(实际**长度为 56 位,有 8 位用于奇偶校验)。

DES 的保密性

  • DES 的保密性仅取决于对**的保密,其算法是公开的。
  • 目前较为严重的问题是 DES 的**的长度。
  • 现在已经设计出搜索 DES **的专用芯片。56位 DES 已不再认为是安全的了。

三重 DES
使用两个 56 位的**。
把一个 64 位明文用一个**加密,再用另一个**解密,然后再使用第一个**加密,即
网络安全网络安全公钥密码*

  • 公钥密码*(又称为公开**密码*)使用不同的加***与解***,是一种“由已知加***推导出解***在计算上是不可行的”密码*。
  • 公钥密码*产生的主要原因:
    常规**密码*的**分配问题。
    对数字签名的需求。

加***与解***

  • 公钥密码*中,加*** PK(public key,即公钥)是向公众公开的,而解*** SK(secret key,即私钥或秘钥)则是需要保密的。
  • 加密算法 E 和解密算法 D 也都是公开的。
  • 虽然私钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK。

应当注意

  • 任何加密方法的安全性取决于**的长度,以及攻破密文所需的计算量。在这方面,公钥密码*并不具有比传统加密*更加优越之处。
  • 由于目前公钥加密算法的开销较大,在可见的将来还看不出来要放弃传统的加密方法。
  • 公钥还需要**分配协议,具体的分配过程并不比采用传统加密方法时更简单。

公钥算法的特点

  • **对产生器产生出接收者 B 的一对**:加*** PKB 和解*** SKB 。
  • 加*** PKB 就是接收者B的公钥,它向公众公开。
  • 解*** SKB 就是接收者B的私钥,对其他人都保密。
  • 发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:
    网络安全 加***是公开的,但不能用它来解密,即:
    网络安全加密和解密运算可以对调,即加密和解密是互逆的:
    网络安全
    网络安全
    公开**与对称**的区别
  • 在使用对称**时,由于双方使用同样的**,因此在通信信道上可以进行一对一的双向保密通信,每一方既可用此**加密明文,并发送给对方,也可接收密文,用同一**对密文解密。这种保密通信仅限于持有此**的双方(如再有第三方就不保密了)。
  • 在使用公开**时,在通信信道上可以是多对一的单向保密通信。

公钥密码*

  • 如果某一信息用公开**加密,则必须用私有**解密,这就是实现保密的方法
  • 如果某一信息用私有**加密,那么,它必须用公开**解密。这就是实现数字签名的方法

数字签名

  • 用于证明真实性。
  • 数字签名必须保证以下三点:
    报文鉴别——接收者能够核实发送者对报文的签名(证明来源);
    报文的完整性——发送者事后不能抵赖对报文的签名(防否认);
    不可否认——接收者不能伪造对报文的签名(防伪造)。
  • 现在已有多种实现各种数字签名的方法。但采用公钥算法更容易实现。

基于公钥的数字签名的实现
网络安全

  • 因为除 A 外没有别人能具有 A 的私钥,所以除 A 外没有别人能产生这个密文。因此 B 相信报文 X 是 A 签名发送的。
  • 若 A 要抵赖曾发送报文给 B,B 可将明文和对应的密文出示给第三者。第三者很容易用 A 的公钥去证实 A 确实发送 X 给 B。
  • 反之,若 B 将 X 伪造成 X’,则 B 不能在第三者前出示对应的密文。这样就证明了 B 伪造了报文。

具有保密性的数字签名
网络安全
网络层安全协议

  • IP 安全性很差:
    没有为通信提供良好的数据源鉴别机制;
    没有为数据提供强大的完整性保护机制;
    没有为数据提供任何机密性保护;
    在设计和实现上存在安全漏洞,使各种攻击有机可乘。例如:攻击者很容易构造一个包含虚假地址的 IP 数据报。
  • IP 几乎不具备任何安全性,不能保证:
    数据机密性
    数据完整性
    数据来源认证
  • 由于其在设计和实现上存在安全漏洞,使各种攻击有机可乘。例如:攻击者很容易构造一个包含虚假地址的 IP 数据报。
  • IPsec 提供了标准、健壮且包含广泛的机制保证 IP 层安全。

IPsec 协议

  • IPsec 就是“IP 安全 (security)”的缩写。
  • IPsec 并不是一个单个的协议,而是能够在 IP 层提供互联网通信安全的协议族。
  • IPsec 是个框架,它允许通信双方选择合适的算法和参数(例如,**长度)。
  • 为保证互操作性,IPsec 还包含了所有 IPsec 的实现都必须有的一套加密算法。

IPsec 由三部分组成

  • IP 安全数据报格式的两个协议
    鉴别首部 AH (Authentication Header) 协议
    封装安全有效载荷 ESP (Encapsulation Security Payload) 协议
  • 有关加密算法的三个协议(在此不讨论)
  • 互联网**交换 IKE (Internet Key Exchange) 协议

-AH 协议提供源点鉴别和数据完整性,但不能保密。
ESP 协议比 AH 协议复杂得多,它提供源点鉴别、数据完整性和保密。
使用 ESP 或 AH 协议的 IP 数据报称为 IP 安全数据报(或 IPsec数据报)。
Ipsec 支持 IPv4 和 IPv6。
AH 协议的功能都已包含在 ESP 协议中。

运输层安全协议
现在广泛使用的有以下两个协议:

  • 安全套接字层 SSL (Secure Socket Layer)
  • 运输层安全 TLS (Transport Layer Security)

SSL / TLS 的位置
网络安全运输层不使用安全协议和使用安全协议的对比
网络安全
SSL 和 TLS

  • SSL / TLS 建立在可靠的 TCP 之上,与应用层协议独立无关。
  • SSL / TLS 已被所有常用的浏览器和万维网服务器所支持。
  • SSL / TLS 基本目标:实现两个应用实体之间的安全可靠通信。
  • 应用层使用 SSL 最多的就是 HTTP,但 SSL 并非仅用于 HTTP,而是可用于任何应用层的协议。
  • 应用程序 HTTP 调用 SSL 对整个网页进行加密时,网页上会提示用户,在网址栏原来显示 http 的地方,现在变成了 https。在 http 后面加上的 s 代表 security,表明现在使用的是提供安全服务的 HTTP 协议(TCP 的 HTTPS 端口号是 443,而不是平时使用的端口号 80)。

SSL 提供的安全服务

  • SSL 服务器鉴别,允许用户证实服务器的身份。支持 SSL 的客户端 通过验证来自服务器的证书,来鉴别服务器的真实身份并获得服务 器的公钥。
  • SSL 客户鉴别,SSL 的可选安全服务,允许服务器证实客户的身份。
  • 加密的 SSL 会话,对客户和服务器间发送的所有报文进行加密,并 检测报文是否被篡改。

SSL 安全会话建立过程
网络安全1. 协商加密算法。 浏览器 A 向服务器 B 发送浏览器的 SSL 版本号和一些可选的加密算法。 B 从中选定自己所支持的算法(如 RSA),并告知 A。
2. 服务器鉴别。 服务器 B 向浏览器 A 发送包含其 RSA 公钥的数字证书。 A 使用该证书的认证机构 CA 公开发布的RSA公钥对该证书进行验证。
3. 会话**计算。由浏览器 A 随机产生一个秘密数。 用服务器 B 的 RSA 公钥进行加密后发送给 B。 双方根据协商的算法产生共享的对称会话**。
4. 安全数据传输。 双方用会话**加密和解密它们之间传送的数据并验证其完整性。

应用层安全协议

PGP (Pretty Good Privacy)

  • PGP (Pretty Good Privacy) 是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。
  • PGP 并没有使用什么新的概念,它只是将现有的一些算法如 MD5,RSA,以及 IDEA 等综合在一起而已。
  • 虽然 PGP 已被广泛使用,但 PGP 并不是互联网的正式标准。

防火墙

  • 防火墙是由软件、硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施访问控制策略。
  • 访问控制策略是由使用防火墙的单位自行制订的,为的是可以最适合本单位的需要。
  • 防火墙内的网络称为“可信的网络”(trusted network),而将外部的互联网称为“不可信的网络”(untrusted network)。
  • 防火墙可用来解决内联网和外联网的安全问题。

防火墙在互连网络中的位置
网络安全
防火墙的功能

  • 防火墙的功能有两个:阻止和允许。
  • “阻止”就是阻止某种类型的通信量通过防火墙(从外部网络到内部网络,或反过来)。
  • “允许”的功能与“阻止”恰好相反。
  • 防火墙必须能够识别各种类型的通信量。不过在大多数情况下防火墙的主要功能是“阻止”。

防火墙技术一般分为两类

分组过滤路由器

  • 是一种具有分组过滤功能的路由器,它根据过滤规则对进出内部网络的分组执行转发或者丢弃(即过滤)。过滤规则基于分组的网络层或运输层首部的信息,例如:源/目的 IP 地址、源/目的端口、协议类型(TCP 或 UDP)等。
  • 分组过滤可以是无状态的,即独立地处理每一个分组。也可以是有状态的,即要跟踪每个连接或会话的通信状态,并根据这些状态信息来决定是否转发分组。
  • 简单高效,对用户透明,但不能对高层数据进行过滤。

应用网关也称为代理服务器 (proxy server)

  • 它在应用层通信中扮演报文中继的角色。
  • 每种网络应用需要一个应用网关。
  • 在应用网关中,可以实现基于应用层数据的过滤和高层用户鉴别。
  • 所有进出网络的应用程序报文都必须通过应用网关。
  • 应用网关也有一些缺点:
    每种应用都需要一个不同的应用网关。
    在应用层转发和处理报文,处理负担较重。
    对应用程序不透明,需要在应用程序客户端配置应用网关地址。

入侵检测系统