目录

1.网络安全问题概述

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

分布式拒绝服务DDoS

计算机网络通信安全的目标

Ⅱ.安全的计算机网络

Ⅲ.数据加密模型

密钥

一些重要概念

2.两类密码体制

Ⅰ.对称密钥密码体制

数据加密标准DES

DES的保密性

三重DES

Ⅱ.公钥密码体制

加密密钥与解密密钥

应当注意

公钥算法的特点

公钥密码体制

公开密钥与对称密钥的区别

3.数字签名

基于公钥的数字签名的实现

具有保密性的数字签名

4.鉴别

鉴别与授权不同

鉴别分类

Ⅰ.报文鉴别

①密码散列函数

散列函数的两个特点

密码散列函数的特点

②实用的密码散列函数MD5和SHA-1

MD5算法

安全散列算法(SHA-1)

③报文鉴别码MAC

Ⅱ.实体鉴别

最简单的实体鉴别过程

存在明显漏洞

使用不重数进行鉴别

中间人攻击

5.密钥分配

Ⅰ.对称密钥的分配

对称密钥的分配说明

Kerberos

Kerberos密钥分配说明

Kerberos使用两个服务器

Ⅱ.公钥的分配

CA证书

6.互联网使用的安全协议

Ⅰ.网络层安全协议

①lPsec协议

IPsec由三部分组成

IP安全数据报有两种工作方式

安全关联 SA

安全关联的特点

安全关联 SA状态信息

②IP安全数据报的格式

③lPsec的其他构件

互联网密钥交换IKE

Ⅱ.运输层的安全协议

SSL和 TLS

SSL/ TLS的位置

SSL安全会话建立过程

Ⅲ.应用层的安全协议

PGP (Pretty Good Privacy)

PGP 工作原理

发送方A的工作

接收方B的工作

7.系统安全:防火墙与入检测

Ⅰ.防火墙

防火墙在互连网络中的位置

防火墙的功能

防火墙技术一般分为两类

Ⅱ.入侵检测系统

两种入侵检测方法

8.一些未来的发展方向


1.网络安全问题概述

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

计算机网络上的通信面临以下两大类威胁:被动攻击和主动攻击。

被动攻击

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

主动攻击主要有:

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

分布式拒绝服务DDoS

  • 若从互联网上的成百上千的网站集中攻击一个网站,则称为分布式拒绝服务DDoS (Distributed Denial of Service)。
  • 有时也把这种攻击称为网络带宽攻击或连通性攻击。

计算机网络通信安全的目标

■ 对于主动攻击,可以采取适当措施加以检测。对于被动攻击,通常却是检测不出来的。
■ 根据这些特点,可得出计算机网络通信安全的目标:

  • (1)防止析出报文内容和流量分析。
  • (2)防止恶意程序。
  • (3)检测更改报文流和拒绝服务。

■ 对付被动攻击可采用各种数据加密技术。
■ 对付主动攻击则需将加密技术与适当的鉴别技术相结合。


Ⅱ.安全的计算机网络

  • 网络的安全性是不可判定的。

  • 一个安全的计算机网络应达到四个目标:

  1. 保密性

  2. 端点鉴别
  3. 信息的完整性
  4. 运行的安全性
保密性
  • 只有信息的发送方和接收方才能懂得所发送信息的内容。
  • 是网络安全通信的最基本的内容,也是对付被动攻击必须具备的功能。
  • 为了使网络具有保密性,需要使用各种密码技术。
端点鉴别
  • 鉴别信息的发送方和接收方的真实身份。
  • 在对付主动攻击中是非常重要的。
信息的完整性
  • 信息的内容未被篡改过。
  • 在应对主动攻击中是必不可少的。
  • 信息的完整性与端点鉴别往往是不可分割的。
  • 在谈到“鉴别”时,也同时包含了端点鉴别和报文完整性。
运行的安全性
  • 系统能正常运行并提供服务。
  • 访问控制(access control)对计算机系统的安全性是非常重要的。必须对访问网络的权限加以控制,并规定每个用户的访问权限。

Ⅲ.数据加密模型


密钥

  • 加密和解密用的密钥K(key)是一串秘密的字符串(即比特串)。
  • 明文通过加密算法 E 和 加密秘钥 K 变成密文:
  • 接收端利用解密算法D运算和解密密钥K解出明文X。解密算法是加密算法的逆运算。
  • 加密密钥和解密密钥可以一样,也可以不一样。
  • 密钥通常是由密钥中心提供。
  • 当密钥需要向远地传送时,一定要通过另一个安全信道。

一些重要概念

  • 密码编码学(cryptography)是密码体制的设计学。
  • 密码分析学(cryptanalysis)则是在未知密钥的情况下从密文推演出明文或密钥的技术。
  • 密码编码学与密码分析学合起来即为密码学(cryptology)。
  • 如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则这一密码体制称为无条件安全的,或称为理论上是不可破的。
  • 如果密码体制中的密码不能被可使用的计算资源破译,则这一密码体制称为在计算上是安全的。

2.两类密码体制

Ⅰ.对称密钥密码体制

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


数据加密标准DES

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


DES的保密性

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

三重DES

  • 使用两个56位的密钥。
  • 把一个64位明文用一个密钥加密,再用另一个密钥解密,然后再使用第一个密钥加密,即


Ⅱ.公钥密码体制

■ 公钥密码体制(又称为公开密钥密码体制)使用不同的加密密钥与解密密钥,是一种 “由已知加密密钥推导出解密密钥在计算上是不可行的” 密码体制。
■ 公钥密码体制产生的主要原因:

  • 常规密钥密码体制的密钥分配问题。
  • 对数字签名的需求。

加密密钥与解密密钥

  • 在公钥密码体制中,加密密钥(即公钥)PK是公开信息,而解密密钥(即私钥或秘钥)SK是需要保密的。
  • 加密算法 E 和解密算法 D 也都是公开的。
  • 虽然秘钥SK是由公钥PK决定的,但却不能根据PK计算出SK。

应当注意

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

公钥算法的特点

■ 密钥对产生器产生出接受者B的一对密钥:加密秘钥和解密密钥

  • 加密秘钥就是接收者B的公钥,它向公众公开。
  • 解密密钥就是接收者B的私钥,对其他人都保密。

■ 发送者A用B的公钥对明文 X 加密(E运算)后,在接受者B用自己的私钥解密(D运算),即可恢复出明文:

■ 加密密钥是公开的,但不能用它来解密,即:

■ 加密和解密运算可以对调,即加密和解密是互逆的:


公钥密码体制

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

公开密钥与对称密钥的区别

  • 在使用对称密钥时,由于双方使用同样的密钥,因此在通信信道上可以进行一对一的双向保密通信,每一方既可用此密钥加密明文,并发送给对方,也可接收密文,用同一密钥对密文解密。这种保密通信仅限于持有此密钥的双方(如再有第三方就不保密了)。
  • 在使用公开密钥时,在通信信道上可以是多对一的单向保密通信。

3.数字签名

■ 用于证明真实性。
■ 数字签名必须保证以下三点:

  1. 报文鉴别——接收者能够核实发送者对报文的签名(证明来源)
  2. 报文的完整性——发送者事后不能抵赖对报文的签名(防否认)
  3. 不可否认——接收者不能伪造对报文的签名(防伪造)

■ 现在已有多种实现各种数字签名的方法。但采用公钥算法更容易实现。


基于公钥的数字签名的实现

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

具有保密性的数字签名

4.鉴别

  • 在信息的安全领域中,对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则要用鉴别(authentication) 。
  • 报文鉴别使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。
  • 使用加密就可达到报文鉴别的目的。但在网络的应用中,许多报文并不需要加密。应当使接收者能用很简单的方法鉴别报文的真伪。

鉴别与授权不同

  • 鉴别与授权(authorization)是不同的概念。
  • 授权涉及到的问题是:所进行的过程是否被允许(如是否可以对某文件进行读或写)。

鉴别分类

  • 可再把鉴别细分为两种。
  • 报文鉴别:即鉴别所收到的报文的确是报文的发送者所发送的,而不是其他人伪造的或篡改的。这就包含了端点鉴别和报文完整性的鉴别。
  • 实体鉴别:仅仅鉴别发送报文的实体。实体可以是一个人,也可以是一个进程(客户或服务器)。这就是端点鉴别。

Ⅰ.报文鉴别

  • 许多报文并不需要加密,但却需要数字签名,以便让报文的接收者能够鉴别报文的真伪。
  • 然而对很长的报文进行数字签名会使计算机增加很大的负担(需要进行很长时间的运算)。
  • 当我们传送不需要加密的报文时,应当使接收者能用很简单的方法鉴别报文的真伪。

①密码散列函数

  • 数字签名就能够实现对报文的鉴别。
  • 但这种方法有一个很大的缺点:对较长的报文(这是很常见的)进行数字签名会使计算机增加非常大的负担,因为这需要进行较多的时间来进行运算。
  • 密码散列函数(cryptographic hash function)是一种相对简单的对报文进行鉴别的方法。

散列函数的两个特点

  1. 散列函数的输入长度可以很长,但其输出长度则是固定的,并且较短。散列函数的输出叫做散列值,或更简单些,称为散列。
  2. 不同的散列值肯定对应于不同的输入,但不同的输入却可能得出相同的散列值。这就是说,散列函数的输入和输出并非一 一对应的,而是多对一的。

密码散列函数的特点

■ 在密码学中使用的散列函数称为密码散列函数。

■ 特点:单向性。

  • 要找到两个不同的报文,它们具有同样的密码散列函数输出,在计算上是不可行的。
  • 也就是说,密码散列函数实际上是一种单向函数(one-way function)。


②实用的密码散列函数MD5和SHA-1

  • 通过许多学者的不断努力,已经设计出一些实用的密码散列函数(或称为散列算法),其中最出名的就是MD5 和 SHA-1。
  • 报文摘要算法 MD5 公布于RFC 1321 (1991年),并获得了非常广泛的应用。
  • SHA-1 比 MD5更安全,但计算起来却比 MD5 要慢些。

MD5算法

■ MD5是报文摘要MD (Message Digest)的第5个版本。报文摘要算法MD5公布于RFC1321 (1991年),并获得了非常广泛的应用。

■ MD5的设计者Rivest 曾提出一个猜想,即根据给定的MD5 报文摘要代码,要找出一个与原来报文有相同报文摘要的另一报文,其难度在计算上几乎是不可能的。

■ 基本思想:

  • 用足够复杂的方法将报文的数据位充分“弄乱”,报文摘要代码中的每一位都与原来报文中的每一位有关。

■ 计算步骤:

  1. 附加:把任意长的报文按模计算其余数(64位),追加在报文的后面(长度项)。
  2. 填充:在报文和长度项之间填充1~512位,使得填充后的总长度是512的整数倍。填充的首位是1,后面都是0。

  3. 分组:把追加和填充后的报文分割为一个个512位的数据块,每个512位的报文数据再分成4个128位的数据块
  4. 计算:将4个128位的数据块依次送到不同的散列函数进行4轮计算。每一轮又都按32位的小数据块进行复杂的运算。一直到最后计算出MD5报文摘要代码(128位)。

安全散列算法(SHA-1)

■ 安全散列算法 SHA (Secure Hash Algorithm)是由美国标准与技术协会NIST提出一个散列算法系列。

■ SHA 比 MD5更安全,但计算起来却比MD5要慢些。

■ 已制定SHA-1、SHA-2、SHA-3 等版本。

■ 基本思想:

  • 要求输入码长小于264位,输出码长为160位。

  • 将明文分成若干512位的定长块,每一块与当前的报文摘要值结合,产生报文摘要的下一个中间结果,直到处理完毕

  • 共扫描5遍,效率略低于MD5,抗穷举性更高。


③报文鉴别码MAC

■ MD5实现的报文鉴别可以防篡改,但不能防伪造,因而不能真正实现报文鉴别。
■ 例如:

  • 入侵者创建了一个伪造的报文M,然后计算出其散列H(M),并把拼接有散列的扩展报文冒充A发送给B。
  • B 收到扩展的报文(M,H(M)) 后,通过散列函数的运算,计算出收到的报文M的散列 H(MR)。
  • 若H(M)= H(),则B就会误认为所收到的伪造报文就是A发送的。

■ 为防范上述攻击,可以对散列进行一次加密。

■ 散列加密后的结果叫做报文鉴别码MAC(Message Authentication Code)。
■ 由于入侵者不掌握密钥K,所以入侵者无法伪造A的报文鉴别码 MAC,因而无法伪造 A 发送的报文。这样就完成了对报文的鉴别。

  • 注意到,现在整个的报文是不需要加密的。
  • 虽然从散列H 导出报文鉴别码MAC 需要加密算法,但由于散列H的长度通常都远远小于报文X的长度,因此这种加密不会消耗很多的计算资源。
  • 因此,使用鉴别码MAC就能够很方便地保护报文的完整性。

Ⅱ.实体鉴别

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

最简单的实体鉴别过程

■ 可以使用共享的对称密钥实现实体鉴别。
■ A发送给B的报文的被加密,使用的是对称密钥KAB。
■ B收到此报文后,用共享对称密钥KAB进行解密,因而鉴别了实体A的身份。因为该密钥只有A和B知道。


存在明显漏洞

  • 入侵者C可以从网络上截获A发给B的报文。
  • C并不需要破译这个报文,而是直接把这个截获的、由A加密的报文发送给B,使B误认为C就是A。然后B就向伪装是A的C发送应发给A的报文。
  • 这种攻击被称为重放攻击(replay attack)。C甚至还可以截获A的IP地址,然后把A的IP地址冒充为自己的IP地址(这叫做IP欺骗),使B更加容易受骗。

使用不重数进行鉴别

不重数(nonce)就是一个不重复使用的大随机数,即“—次一数”。由于不重数不能重复使用,所以C在进行重放攻击时无法重复使用所截获的不重数。

  • 在使用公钥密码体制时,可以对不重数进行签名鉴别。
  • B用其私钥对不重数进行签名后发回给A。A用B的公钥核实签名。如能得出自己原来发送的不重数,就核实了和自己通信的对方的确是B。
  • 同样,A也用自己的私钥对不重数进行签名后发送给B。B用A的公钥核实签名,鉴别了A的身份。
  • 公钥密码体制虽然不必在互相通信的用户之间秘密地分配共享密钥,但仍有受到攻击的可能。
  • C 冒充是 A,发送报文给B,说:“我是A”。
  • B 选择一个不重数,发送给A,但被 C 截获了。
  • C 用自己的私钥。冒充是A的私钥,对加密,并发送给B。
  • B向A发送报文,要求对方把解密用的公钥发送过来,但这报文也被C截获了。
  • C把自己的公钥冒充是A的公钥发送给B。
  • B用收到的公钥对收到的加密的进行解密,其结果当然正确。于是B相信通信的对方是A,接着就向A发送许多敏感数据,但都被C截获了。

中间人攻击

  • A 向 B 发送 “我是A” 的报文,并给出了自己的身份。此报文被 “中间人” C 截获,C 把此报文原封不动地转发给 B。B 选择一个不重数  发送给A,但同样被截获后也照样转发给 A 。
  • 中间人 C 用自己的私钥  对  加密后发回给B,使B误以为是A发来的。A收到后也用自己的私钥  对  加密后发回给B,中途被C截获并丢弃。B向A索取其公钥,此报文被C截获后转发给A。
  • C 把自己的公钥  冒充是 A 的发送给 B,而C也截获到A发送给B的公钥 
  • B用收到的公钥(以为是A的)对数据加密发送给A。C截获后用自己的私钥解密,复制一份留下,再用 A 的公钥对数据加密后发送给A。
  • A 收到数据后,用自己的私钥  解密,以为和B进行了保密通信。其实,B发送给A的加密数据已被中间人 C 截获并解密了一份。但 A 和 B 却都不知道。

5.密钥分配

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

Ⅰ.对称密钥的分配

  • 目前常用的密钥分配方式是设立密钥分配中心KDC (Key Distribution Center)。
  • KDC是大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥(仅使用一次)。
  • 假设用户 A 和 B 都是KDC的登记用户,并已经在KDC的服务器上安装了各自和KDC进行通信的主密钥(master key)KA 和 KB。“主密钥” 可简称为 “密钥”。

对称密钥的分配说明

  • ❶ 用户A 向密钥分配中心KDC发送时用明文,说明想和用户B通信。在明文中给出A和B在KDC登记的身份。
  • ❷ KDC用随机数产生 “一次一密” 的会话密钥  供A和B的这次会话使用,然后向A发送回答报文。这个回答报文用 A的密钥加密。这个报文中包含有这次会话使用的密钥和请A转给B的一个票据(ticket),它包含 A 和 B 在KDC登记的身份,以及这次会话将要使用的密钥 。这个票据用B的密钥。加密,因此A无法知道此票据的内容,因为A没有B的密钥。当然A也不需要知道此票据的内容。
  • ❸当 B 收到 A 转来的票据并使用自己的密钥解密后,就知道A要和他通信,同时也知道KDC为这次和A通信所分配的会话密钥
  • 此后,A和B 就可使用会话密钥  进行这次通信了。

Kerberos

  • 目前最出名的密钥分配协议是 Kerberos V5。
  • Kerberos既是鉴别协议,同时也是KDC,它已经变得很普及,现在是互联网建议标准。
  • Kerberos使用比 DES 更加安全的高级加密标准 AES 进行加密。
  • Kerberos使用两个服务器:鉴别服务器AS(Authentication Server)、票据授予服务器TGS(Ticket-Granting Server)。
  • Kerberos 只用于客户与服务器之间的鉴别,而不用于人对人的鉴别。


Kerberos密钥分配说明

■ ❶ A用明文(包括登记的身份)向鉴别服务器AS表明自己的身份。

■ ❷ AS向A发送用A的对称密钥加密的报文,这个报文包含 A 和 TGS 通信的会话密钥Ks ,以及AS要发送给 TGS 的票据(这个票据是用TGS的对称密钥加密的)。

■ ❸ A向TGS发送三个项目:

  • 转发鉴别服务器 AS 发来的票据。
  • 服务器B的名字。这表明 A 请求 B 的服务。请注意,现在A向TGS证明自己的身份并非通过键入口令(因为入侵者能够从网上截获明文口令),而是通过转发AS发出的票据(只有A才能提取出)。票据是加密的,入侵者伪造不了。
  • 加密的时间戳T。它用来防止入侵者的重放攻击。

■ ❹ TGS发送两个票据,每一个都包含 A 和 B 通信的会话密钥。给A的票据用加密;给B的票据用B的密钥。加密。请注意,现在入侵者不能提取,因为不知道。入侵者也不能重放步骤❸,因为入侵者不能把时间戳更换为一个新的(因为不知道)。

■ ❺ A 向B转发 TGS 发来的票据,同时发送用加密的时间戳T。
■ ❻ B 把时间戳 加1来证实收到了票据。B 向 A 发送的报文用密钥加密。
■ 以后,A和B就使用TGS给出的会话密钥  进行通信。


Kerberos使用两个服务器

  • Kerberos 要求所有使用 Kerberos的主机必须在时钟上进行 “松散的” 同步。
  • 所谓 “松散的” 同步是要求所有主机的时钟误差不能太大,例如,不能超过5分钟的数量级。
  • 这个要求是为了防止重放攻击。

Ⅱ.公钥的分配

  • 在公钥密码体制中,如果每个用户都具有其他用户的公钥,就可实现安全通信。
  • 看来好像可以随意公布用户的公钥。其实不然。
  • 设想用户A要欺骗用户B。A可以向B发送一份伪造是C发送的报文。A用自己的秘密密钥进行数字签名,并附上A自己的公钥,谎称这公钥是C的。B如何知道这个公钥不是C的呢?
  • 需要有一个值得信赖的机构——即认证中心CA(Certification Authority),来将公钥与其对应的实体(人或机器)进行绑定(binding)。
  • 认证中心一般由政府出资建立。每个实体都有CA发来的证书(certificate),里面有公钥及其拥有者的标识信息。此证书被CA进行了数字签名。任何用户都可从可信的地方获得认证中心CA的公钥,此公钥用来验证某个公钥是否为某个实体所拥有。
  • 有的大公司也提供认证中心服务。

CA证书

  • CA证书具有统一的格式,ITU-T制定了X.509协议标准,用来描述证书的结构。
  • 在 X.509中规定要使用 ASN.1。
  • IETF接受了X.509(仅有少量的改动),并在RFC 5280(现在是建议标准)中给出了互联网X.509公钥基础结构PKI (Public Key Infrastructure)。

6.互联网使用的安全协议

Ⅰ.网络层安全协议

■ IP几乎不具备任何安全性,不能保证:

  • 数据机密性;
  • 数据完整性;
  • 数据来源认证

■ 由于其在设计和实现上存在安全漏洞,使各种攻击有机可乘。例如:攻击者很容易构造一个包含虚假地址的 IP 数据报。
■ lPsec 提供了标准、健壮且包含广泛的机制保证IP层安全。

■ IP安全性很差,不能保证:

  • 没有为通信提供良好的数据源鉴别机制
  • 没有为数据提供强大的完整性保护机制
  • 没有为数据提供任何机密性保护
  • 在设计和实现上存在安全漏洞,使各种攻击有机可乘。例如:攻击者很容易构造一个包含虚假地址的IР数据报。

①lPsec协议

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

IPsec由三部分组成

■ 1,IP安全数据报格式的两个协议

  • 鉴别首部AH (Authentication Header)协议

提供源点鉴别和数据完整性,但不能保密。

  • 封装安全有效载荷ESP(Encapsulation Security Payload)协议

提供源点鉴别、数据完整性和保密。

■ 2,有关加密算法的三个协议(在此不讨论)。

■ 3,互联网密钥交换IKE (Internet Key Exchange)协议。


IP安全数据报有两种工作方式

1,运输方式(transport mode):

  • 在整个运输层报文段的前后分别添加若干控制信息,再加上IP首部,构成IP安全数据报。
  • 把整个运输层报文段都保护起来,适合于主机到主机之间的安全传送。
  • 需要使用IPsec的主机都运行IPsec协议。

2,隧道方式(tunnel mode):

  • 在原始的 IP 数据报的前后分别添加若干控制信息,再加上新的 IP 首部,构成一个 IP 安全数据报。
  • 这需要在 IPsec 数据报所经过的所有路由器上都运行 IPsec 协议。
  • 隧道方式常用来实现虚拟专用网 VPN。

  • 无论使用哪种方式,最后得出的 IP安全数据报的 IP首部都是不加密的。
  • 所谓 “安全数据报” 是指数据报的数据部分是经过加密的,并能够被鉴别的。
  • 通常把数据报的数据部分称为数据报的有效载荷(payload)。

安全关联 SA

  • 在使用 AH 或 ESP 之前,先要从源主机到目的主机建立一条网络层的逻辑连接。此逻辑连接叫做安全关联SA(Security Association)。
  • lPsec就把传统互联网无连接的网络层转换为具有逻辑连接的网络层。

安全关联的特点

  • 安全关联是从源点到终点的单向连接,它能够提供安全服务。
  • 在安全关联 SA 上传送的就是 IP 安全数据报。
  • 如要进行双向安全通信,则两个方向都需要建立安全关联。
  • 若 个员工进行双向安全通信,一共需要创建(2+ 2n)条安全关联SA。

路由器,的安全关联 SA

假定公司总部的主机H要和分公司的主机H,通过互联网进行安全通信。公司总部与分公司之间的安全关联SA就是在路由器之间建立的。


路由器到主机的安全关联 SA

若公司总部的主机要和某外地业务员的主机进行安全通信,需要在公司总部的路由器和外地业务员的主机,建立安全关联SA。


安全关联 SA状态信息

  1. 一个32位的连接标识符,称为安全参数索引 SPl(Security Parameter Index)。
  2. 安全关联SA的源点和终点的IP地址(例如路由器的IP地址)。
  3. 所使用的加密类型(例如,DES或AES) 。
  4. 加密的密钥。
  5. 完整性检查的类型(例如,使用报文摘要MD5或SHA-1的报文鉴别码MAC)。
  6. 鉴别使用的密钥。

②IP安全数据报的格式


③lPsec的其他构件

■ 安全关联数据库SAD(Security Association Database)

  • 存放SA。

■ 安全策略数据库 SPD(Security Policy Database)

  • 指明什么样的数据报需要进行IPsec处理。

■ 互联网密钥交换IKE(Internet Key Exchange)

  • 为 IP 安全数据报创建安全关联SA。

互联网密钥交换IKE

■ lKE是个非常复杂的协议,在2014年10月已成为互联网的正式标准[RFC 7296]。
■ 以另外三个协议为基础:

  • Oakley——是密钥生成协议[RFC 2412]。
  • 安全密钥交换机制SKEME(Secure Key Exchange Mechanism)——是用于密钥交换的协议。它利用公钥加密来实现密钥交换协议中的实体鉴别。
  • 互联网安全关联和密钥管理协议 ISAKMP(Internet Secure Association and Key Management Mechanism)——用于实现IKE中定义的密钥交换,使lIKE的交换能够以标准化、格式化的报文创建安全关联SA。

Ⅱ.运输层的安全协议

现在广泛使用的有以下两个协议:

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

SSL和 TLS

  • 安全套接层SSL由 Netscape于1994年开发,广泛应用于基于万维网的各种网络应用(但不限于万维网应用)。
  • SSL作用在端系统应用层的HTTP和运输层之间,在TCP之上建立起一个安全通道,为通过TCP传输的应用层数据提供安全保障。
  • 1996年发布 SSL 3.0,成为Web安全的事实标准。
  • 1999年,IETF 在SSL 3.0基础上推出了传输层安全标准TLS,为所有基于TCP的网络应用提供安全数据传输服务。

SSL/ TLS的位置

在发送方,SSL接收应用层的数据,对数据进行加密,然后把加了密的数据送往TCP套接字。在接收方,SSL从 TCP套接字读取数据,解密后把数据交给应用层。

  • SSL / TLS建立在可靠的TCP之上,与应用层协议独立无关。

  • SSL/ TLS已被所有常用的浏览器和万维网服务器所支持。

  • SSL/ TLS基本目标:实现两个应用实体之间的安全可靠通信。

  • 应用层使用SSL最多的就是HTTP,但SSL并非仅用于HTTP,而是可用于任何应用层的协议。

  • 应用程序HTTP调用SSL对整个网页进行加密时,网页上会提示用户,在网址栏原来显示http的地方,现在变成了https。在http后面加上的s代表security,表明现在使用的是提供安全服务的HTTP协议(TCP的HTTPS端口号是443,而不是平时使用的端口号80)。


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

SSL安全会话建立过程

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

Ⅲ.应用层的安全协议

  • 本节仅讨论应用层中有关电子邮件的安全协议。
  • 发送电子邮件是个即时的行为。发送方A和接收方B并不会为此而建立任何会话。
  • 电子邮件安全协议就应当为每种加密操作定义相应的算法,以及密钥管理、鉴别、完整性保护等方法。

PGP (Pretty Good Privacy)

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

PGP 工作原理

PGP提供电子邮件的安全性、发送方鉴别和报文完整性。

假定A向B发送电子邮件明文,使用PGP进行加密。
A有三个密钥:A的私钥、B的公钥和A生成的一次性密钥。

B有两个密钥:B的私钥和A的公钥。

在发送方A的PGP处理过程

发送方A的工作

  1. 对明文邮件 进行 MD5 运算,得出 MD5 报文摘要 H。用A 的私钥对 进行加密  (即数字签名),得出报文鉴别码MAC,把它拼接在明文X后面,得到扩展的邮件(X,MAC)。
  2. 使用A自己生成的一次性密钥对扩展的邮件(X,MAC)进行加密。
  3. 用 B的公钥对 A 生成的一次性密钥进行加密。
  4. 把加了密的一次性密钥和加了密的扩展的邮件发送给B。
在接收方B的PGP处理过程

接收方B的工作

  1. 把被加密的一次性密钥和被加密的扩展报文(X, MAC)分离开。
  2. 用B自己的私钥解出A的一次性密钥。
  3. 用解出的一次性密钥对报文进行解密,然后分离出明文 和MAC。
  4. 用A的公钥对MAC进行解密(即签名核实),得出报文摘要H。这个报文摘要就是A原先用明文邮件 通过 MD5 运算生成的那个报文摘要。
  5. 对分离出的明文邮件X进行MD5报文摘要运算,得出另一个报文摘要H(X)。把H(X)和前面得出的H进行比较,是否和一样。如一样,则对邮件的发送方的鉴别就通过了,报文的完整性也得到肯定。

7.系统安全:防火墙与入检测

Ⅰ.防火墙

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

防火墙在互连网络中的位置


防火墙的功能

  • 防火墙的功能有两个:阻止和允许。

  • “阻止” 就是阻止某种类型的通信量通过防火墙(从外部网络到内部网络,或反过来)。

  • “允许” 的功能与“阻止”恰好相反。

  • 防火墙必须能够识别通信量的各种类型。不过在大多数情况下防火墙的主要功能是 “阻止”。


防火墙技术一般分为两类

■ 分组过滤路由器

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

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

  • 它在应用层通信中扮演报文中继的角色。
  • 一种网络应用需要一个应用网关,例如万维网缓存就是一种万维网应用的代理服务器。
  • 在应用网关中,可以实现基于应用层数据的过滤和高层用户鉴别。
  • 所有进出网络的应用程序报文都必须通过应用网关。
  • 应用网关也有一些缺点:
  1. 首先,每种应用都需要一个不同的应用网关。
  2. 其次,在应用层转发和处理报文,处理负担较重。
  3. 另外,对应用程序不透明,需要在应用程序客户端配置应用网关地址。

Ⅱ.入侵检测系统

■ 防火墙试图在入侵行为发生之前阻止所有可疑的通信。
■ 入侵检测系统IDS(Intrusion Detection System)能够在入侵已经开始,但还没有造成危害或在造成更大危害前,及时检测到入侵,以便尽快阻止入侵,把危害降低到最小。

■ IDS 对进入网络的分组执行深度分组检查,当观察到可疑分组时,向网络管理员发出告警或执行阻断操作(由于IDS的 “误报” 率通常较高,多数情况不执行自动阻断)。
■ IDS 能用于检测多种网络攻击,包括网络映射、端口扫描、DoS攻击、蠕虫和病毒、系统漏洞攻击等。


两种入侵检测方法

  • 基于特征的IDS维护一个所有已知攻击标志性特征的数据库。

  • 这些特征和规则通常由网络安全专家生成,机构的网络管理员定制并将其加入到数据库中。

  • 基于特征的IDS只能检测已知攻击,对于未知攻击则束手无策。


  • 基于异常的IDS通过观察正常运行的网络流量,学习正常流量的统计特性和规律。当检测到网络中流量某种统计规律不符合正常情况时,则认为可能发生了入侵行为。

    至今为止,大多数部署的IDS主要是基于特征的,尽管某些IDS 包括了某些基于异常的特性。

8.一些未来的发展方向

网络安全是一个很大的领域。对于有志于这一领域的读者,可在下面几个方向作进一步的研究:

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

计网PPT 第七章 网络安全相关推荐

  1. 计网PPT 第三章 数据链路层

    目录 数据链路层使用的信道 数据链路层的简单模型 1.使用点对点信道的数据链路层 Ⅰ.数据链路和帧 数据链路层传送的是帧 数据链路层像个数字管道 Ⅱ.三个基本问题 封装成帧 透明传输 差错检测 2.点 ...

  2. 计网PPT 第六章 应用层

    目录 应用层协议的特点 1.域名系统 DNS Ⅰ.域名系统概述 Ⅱ.互联网的域名结构 域名只是个逻辑概念 顶级域名TLD(Top Level Domain) 互联网的域名空间 Ⅲ.域名服务器 区的不同 ...

  3. 计网PPT 第四章 网络层

    目录 1.网络层提供的两种服务 Ⅰ.-种观点:让网络负责可靠交付 虚电路服务 虚电路是逻辑连接 Ⅱ.另一种观点:网络提供数据报服条 尽最大努力交付 数据报服务 虚电路服务与数据报服务的对比 2.网际协 ...

  4. 计网PPT 第五章 运输层

    目录 1.运输层协议概述 Ⅰ.进程之间的通信 运输层的作用 网络层和运输层有明显的区别 运输层的作用 基于端口的复用和分用功能 屏蔽作用 两种不同的运输协议 可靠信道与不可靠信道 Ⅱ.运输层的两个主要 ...

  5. 计网复习第三章part one

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 记录计网学习(复习) 计网学习 第三章 part one 3 ...

  6. 计算机网络教程第五版|微课版 - 第七章 网络安全 - 重要概念【补充】

    第七章.网络安全[补充] 本章的重要概念 计算机网络中需要提供的基本安全服务有机密性.报文完整性.不可否认性.实体鉴别.访问控制和可用性等. 密码学是计算机网络安全的基础,是实现机密性.报文完整性.实 ...

  7. 计网PPT 第九章 无线网络和移动网络

    目录 1.无线局域网WLAN Ⅰ.无线局域网的组成 ①IEEE 802.11 建立关联(association) 移动站与AP建立关联的方法 热点(hot spot) ②移动自组网络 移动自组网络的应 ...

  8. 网安--第七章 恶意代码分析与防治

    第7章 恶意代码分析与防治 内容提要 ◎ 恶意代码的发展史和恶意代码长期存在的原因 ◎ 恶意代码实现机理.定义以及攻击方法 ◎ 恶意代码生存技术.隐藏技术,介绍网络蠕虫的定义以及结构 ◎ 恶意代码防范 ...

  9. 网规:第4章 网络安全-4.5IDS和IPS

    4.5 IDS和IPS(P643-658) 1.***检测系统概述 (1)IDS的定义 是一种主动保护自己,使网络和系统免遭非法***的网络安全技术,它依照一定的安全策略,对网络.系统的运行状况进行监 ...

最新文章

  1. extjs Combobox级联
  2. BigDecimal的四舍五入的RoundingMode 选择
  3. 数据挖掘系列(4)使用weka做关联规则挖掘
  4. Python 安装 uWSGI并运行一个入门示例
  5. 【Java】Java中ThreadLocal简介以及源码
  6. Fiddler抓包工具入门:软件测试员必知的抓取https协议的方法
  7. 当当笔试java_20170921 当当和今日头条笔试题
  8. 叉乘与空间曲线的切向量
  9. Stencil计算GPU性能建模
  10. 苹果手机测距离_手机上有个小功能,可以精确的测量距离,比卷尺还要好用
  11. win10下docker部署nginx+node+mongodb+redis学习
  12. 创业者如何克服困难,控制焦虑情绪,走向成功
  13. 【青龙面板】返利好省
  14. 【腾讯TMQ】iOS逻辑自动化测试实践
  15. 51单片机定时/计数器的工作原理
  16. python获得用户输入的一段文字将这段文字进行垂直输出_Python练习题2020
  17. 中国天气通android版,中国天气通(全国天气实时查询)
  18. 桌面缓存服务器,primocache 把内存虚拟成硬盘缓存的硬盘优化软件
  19. c语言递归的用法,C语言递归操作用法总结
  20. 数据库系统概论第一章课后习题答案(第5版)

热门文章

  1. 【转】Redis 分布式——可用性保证之 Sentinel(实战篇)
  2. 【57期分享】4款毕业答辩PPT模板免费下载
  3. 资产管理之输油管线RFID资产管理解决方案,避免人为破坏资产-新导智能
  4. gRPC教程 — 第一章
  5. 网页多个OnLoad事件处理
  6. 一坨咸鱼怎么更上一层楼
  7. 信息中心网络ICN的物联网应用调研
  8. html 下拉菜单不能下拉_音乐下拉菜单
  9. 复活谷歌翻译流程(亲测好用)
  10. 低俗英语一百句----快速学习英语的一个好方法