《计算机网络原理(谢希仁)》 笔记[7]——第 7 章 网络安全

来源:互联网 发布:在淘宝买拍照软件 编辑:程序博客网 时间:2024/06/05 06:14
 

第 7 章  网络安全

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

(1) 截获——从网络上窃听他人的通信内容。(被动攻击)

(2) 中断——有意中断他人在网络上的通信。

(3) 篡改——故意篡改网络上传送的报文。

(4) 伪造——伪造信息在网络上传送。

 

被动攻击和主动攻击

在被动攻击中,攻击者只是观察和分析某一个协议数据单元 PDU 而不干扰信息流。

主动攻击是指攻击者对某个连接中通过的 PDU 进行各种处理。

 

恶意程序(rogue program)

(1) 计算机病毒——会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或其变种复制进去完成的。

(2) 计算机蠕虫——通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序。

(3) 特洛伊木马——一种程序,它执行的功能超出所声称的功能。

(4) 逻辑炸弹——一种当运行环境满足某种特定条件时执行其他特殊功能的程序。

 

两类密码体制

1.对称密钥密码体制

所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。

这种加密系统又称为对称密钥系统。

 

数据加密标准 DES

数据加密标准 DES 属于常规密钥密码体制,是一种分组密码。

在加密前,先对整个明文进行分组。每一个组长为 64 位。

然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文数据。

最后将各组密文串接起来,即得出整个的密文。

使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。 

 

DES 的保密性

DES 的保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译 DES 方面取得了许多进展,但至今仍未能找到比穷举搜索密钥更有效的方法。

DES 是世界上第一个公认的实用密码算法标准,它曾对密码学的发展做出了重大贡献。

目前较为严重的问题是 DES 的密钥的长度。

现在已经设计出来搜索 DES 密钥的专用芯片。   

 

2.公钥密码体制

公钥密码体制使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。

公钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制的密钥分配问题,另一是由于对数字签名的需求。

现有最著名的公钥密码体制是RSA 体制

 

加密密钥与解密密钥

在公钥密码体制中,加密密钥(即公钥) PK 是公开信息,而解密密钥(即私钥或秘钥) SK 是需要保密的。

加密算法 E 和解密算法 D 也都是公开的。

虽然秘钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK。

 

应当注意

任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量。在这方面,公钥密码体制并不具有比传统加密体制更加优越之处。

由于目前公钥加密算法的开销较大,在可见的将来还看不出来要放弃传统的加密方法。公钥还需要密钥分配协议,具体的分配过程并不比采用传统加密方法时更简单。 

 

公钥算法的特点

1.发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,在接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文。

2.解密密钥是接收者专用的秘钥,对其他人都保密。

3.加密密钥是公开的,但不能用它来解密。

4.加密和解密的运算可以对调。

5.在计算机上可容易地产生成对的 PK 和 SK。

6.从已知的 PK 实际上不可能推导出 SK,即从 PK 到 SK 是“计算上不可能的”。

7.加密和解密算法都是公开的。

 

公钥密码体制

 

数字签名

数字签名必须保证以下三点:

(1) 报文鉴别——接收者能够核实发送者对报文的签名;

(2) 报文的完整性——发送者事后不能抵赖对报文的签名;

(3) 不可否认——接收者不能伪造对报文的签名。

 

数字签名的实现

 

具有保密性的数字签名

 

鉴别

在信息的安全领域中,对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则要用鉴别(authentication) 。使用加密就可达到报文鉴别的目的。但在网络的应用中,许多报文并不需要加密。应当使接收者能用很简单的方法鉴别报文的真伪。当我们传送不需要加密的报文时,应当使接收者能用很简单的方法鉴别报文的真伪。   

 

报文摘要 MD (Message Digest)

A 将报文 X 经过报文摘要算法运算后得出很短的报文摘要 H。然后用自己的私钥对 H 进行 D 运算,即进行数字签名。得出已签名的报文摘要 D(H) ,并将其追加在报文 X 后面发送给 B。

B 收到报文后首先把已签名的 D(H) 和报文 X 分离。然后再做两件事。

1.用A的公钥对 D(H) 进行E运算,得出报文摘要 H 。

2.对报文 X 进行报文摘要运算,看是否能够得出同样的报文摘要 H。如一样,就能以极高的概率断定收到的报文是 A 产生的。否则就不是。

 

报文摘要的优点

仅对短得多的定长报文摘要 H 进行数字签名要比对整个长报文进行数字签名要简单得多,所耗费的计算资源也小得多。但对鉴别报文 X 来说,效果是一样的。也就是说,报文 X 和已签名的报文摘要 D(H) 合在一起是不可伪造的,是可检验的和不可否认的。

 

报文摘要算法

报文摘要算法就是一种散列函数。这种散列函数也叫做密码编码的检验和。报文摘要算法是精心选择的一种单向函数。可以很容易地计算出一个长报文 X 的报文摘要  H,但要想从报文摘要 H 反过来找到原始的报文 X,则实际上是不可能的。若想找到任意两个报文,使得它们具有相同的报文摘要,那么实际上也是不可能的。 

 

报文摘要的实现

 

实体鉴别

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

 

最简单的实体鉴别过程

A 发送给 B 的报文的被加密,使用的是对称密钥 KAB。

B 收到此报文后,用共享对称密钥 KAB 进行解密,因而鉴别了实体 A 的身份。

 

明显的漏洞

入侵者 C 可以从网络上截获 A 发给 B 的报文。C 并不需要破译这个报文(因为这可能很花很多时间)而可以直接把这个由 A 加密的报文发送给 B,使 B 误认为 C 就是 A。然后 B 就向伪装是 A 的 C 发送应发给 A 的报文。

这就叫做重放攻击(replay attack)。C 甚至还可以截获 A 的 IP 地址,然后把 A 的 IP 地址冒充为自己的 IP 地址(这叫做 IP 欺骗),使 B 更加容易受骗。

为了对付重放攻击,可以使用不重数(nonce)。不重数就是一个不重复使用的大随机数,即“一次一数”。

 

使用不重数进行鉴别

 

密钥分配

对称密钥的分配

目前常用的密钥分配方式是设立密钥分配中心KDC (Key Distribution Center)。

KDC 是大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥(仅使用一次)。

用户 A 和 B 都是 KDC 的登记用户,并已经在 KDC 的服务器上安装了各自和 KDC 进行通信的主密钥(master key)KA 和 KB。 “主密钥”可简称为“密钥”。 

 

公钥的分配

需要有一个值得信赖的机构——即认证中心CA (Certification Authority),来将公钥与其对应的实体(人或机器)进行绑定(binding)。

认证中心一般由政府出资建立。每个实体都有CA 发来的证书(certificate),里面有公钥及其拥有者的标识信息。此证书被 CA 进行了数字签名。任何用户都可从可信的地方获得认证中心 CA 的公钥,此公钥用来验证某个公钥是否为某个实体所拥有。有的大公司也提供认证中心服务。

 

因特网使用的安全协议

网络层安全协议

IPsec 与安全关联 SA

IPsec 中最主要的两个部分

鉴别首部 AH (Authentication Header): AH鉴别源点和检查数据完整性,但不能保密。

封装安全有效载荷 ESP (Encapsulation Security Payload):ESP 比 AH 复杂得多,它鉴别源点、检查数据完整性和提供保密。

 

安全关联 SA (Security Association)

在使用 AH 或 ESP 之前,先要从源主机到目的主机建立一条网络层的逻辑连接。此逻辑连接叫做安全关联 SA。

 IPsec 就把传统的因特网无连接的网络层转换为具有逻辑连接的层。

 

运输层安全协议

安全套接层 SSL

SSL 是安全套接层 (Secure Socket Layer),可对万维网客户与服务器之间传送的数据进行加密和鉴别。

SSL 在双方的联络阶段协商将使用的加密算法和密钥,以及客户与服务器之间的鉴别。在联络阶段完成之后,所有传送的数据都使用在联络阶段商定的会话密钥。SSL 不仅被所有常用的浏览器和万维网服务器所支持,而且也是运输层安全协议 TLS (Transport Layer Security)的基础。

 

SSL 的位置

1.在发送方,SSL 接收应用层的数据(如 HTTP 或 IMAP 报文),对数据进行加密,然后把加了密的数据送往 TCP 套接字。

2.在接收方,SSL 从 TCP 套接字读取数据,解密后把数据交给应用层。

 

SSL 提供以下三个功能

(1) SSL 服务器鉴别    允许用户证实服务器的身份。具有 SS L 功能的浏览器维持一个表,上面有一些可信赖的认证中心 CA (Certificate Authority)和它们的公钥。

(2) 加密的 SSL 会话    客户和服务器交互的所有数据都在发送方加密,在接收方解密。

(3) SSL 客户鉴别    允许服务器证实客户的身份。

 

安全电子交易 SET (Secure Electronic Transaction)

SET 的主要特点是:

(1) SET 是专为与支付有关的报文进行加密的。

(2) SET 协议涉及到三方,即顾客、商家和商业银行。所有在这三方之间交互的敏感信息都被加密。

(3) SET 要求这三方都有证书。在 SET 交易中,商家看不见顾客传送给商业银行的信用卡号码。 

 

应用层的安全协议

PGP (Pretty Good Privacy)

PGP 是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。

PGP 并没有使用什么新的概念,它只是将现有的一些算法如 MD5,RSA,以及 IDEA 等综合在一起而已。

虽然 PGP 已被广泛使用,但 PGP 并不是因特网的正式标准。 

 

PEM (Privacy Enhanced Mail)

PEM 是因特网的邮件加密建议标准。

PEM 的功能和 PGP 的差不多,都是对基于 RFC 822 的电子邮件进行加密和鉴别。

PEM 有比 PGP 更加完善的密钥管理机制。由认证中心发布证书,上面有用户姓名、公钥以及密钥的使用期限。每个证书有一个唯一的序号。证书还包括用认证中心秘钥签了名的 MD5 散列函数。 

 

链路加密与端到端加密

链路加密

在采用链路加密的网络中,每条通信链路上的加密是独立实现的。通常对每条链路使用不同的加密密钥。

相邻结点之间具有相同的密钥,因而密钥管理易于实现。链路加密对用户来说是透明的,因为加密的功能是由通信子网提供的。

由于报文是以明文形式在各结点内加密的,所以结点本身必须是安全的。所有的中间结点(包括可能经过的路由器)未必都是安全的。因此必须采取有效措施。

链路加密的最大缺点是在中间结点暴露了信息的内容。在网络互连的情况下,仅采用链路加密是不能实现通信安全的。 

 

端到端加密

端到端加密是在源结点和目的结点中对传送的 PDU 进行加密和解密,报文的安全性不会因中间结点的不可靠而受到影响。

在端到端加密的情况下,PDU 的控制信息部分(如源结点地址、目的结点地址、路由信息等)不能被加密,否则中间结点就不能正确选择路由。

 

防火墙(firewall)

防火墙是由软件、硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施接入控制策略。接入控制策略是由使用防火墙的单位自行制订的,为的是可以最适合本单位的需要。

 

防火墙技术一般分为两类

(1) 网络级防火墙——用来防止整个网络出现外来非法的入侵。属于这类的有分组过滤和授权服务器。前者检查所有流入本网络的信息,然后拒绝不符合事先制订好的一套准则的数据,而后者则是检查用户的登录是否合法。

(2) 应用级防火墙——从应用程序来进行接入控制。通常使用应用网关或代理服务器来区分各种应用。例如,可以只允许通过访问万维网的应用,而阻止 FTP 应用的通过。

 

原创粉丝点击