《第七节网络安全教学材料》由会员分享,可在线阅读,更多相关《第七节网络安全教学材料(53页珍藏版)》请在金锄头文库上搜索。
1、第 7 章 网络安全,李彬 山东轻工业学院 理学院,网络安全问题已经成为信息化社会的一个焦点问题; 每个国家只能立足于本国,研究自己的网络安全技术,培养自己的专门人才,发展自己的网络安全产业,才能构筑本国的网络与信息安全防范体系。,网络安全的重要性,网络中的信息安全问题,信息存储安全 如何保证静态存储在连网计算机中的信息不会 被未授权的网络用户非法使用; 信息传输安全 如何保证信息在网络传输的过程中不被泄露与不被攻击;,信息传输安全问题的四种基本类型,7.1 网络安全问题概述 7.1.1 计算机网络面临的安全性威胁,计算机网络上的通信面临以下的四种威胁: (1) 截获从网络上窃听他人的通信内容
2、。 (2) 中断有意中断他人在网络上的通信。 (3) 篡改故意篡改网络上传送的报文。 (4) 伪造伪造信息在网络上传送。 截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。,被动攻击和主动攻击,在被动攻击中,攻击者只是观察和分析某一个协议数据单元 PDU 而不干扰信息流。 主动攻击是指攻击者对某个连接中通过的 PDU 进行各种处理。 更改报文流 拒绝报文服务 伪造连接初始化,(1) 防止析出报文内容; (2) 防止通信量分析; (3) 检测更改报文流; (4) 检测拒绝报文服务; (5) 检测伪造初始化连接。,计算机网络通信安全的目标,防抵赖问题,防抵赖是防止信息源结
3、点用户对他发送的信息事后不承认,或者是信息目的结点用户接收到信息之后不认账; 通过身份认证、数字签名、数字信封、第三方确认等方法,来确保网络信息传输的合法性问题,防止“抵赖”现象出现。,(1) 计算机病毒会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或其变种复制进去完成的。 (2) 计算机蠕虫通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序。 (3) 特洛伊木马一种程序,它执行的功能超出所声称的功能。 (4) 逻辑炸弹一种当运行环境满足某种特定条件时执行其他特殊功能的程序。,恶意程序(rogue program),7.1.2 计算机网络安全的内容,保密性 安全协
4、议的设计 访问控制,明文 X,截获,密文 Y,7.1.3 一般的数据加密模型,加密密钥 K,明文 X,密文 Y,截取者,篡改,A,B,E 运算 加密算法,D 运算 解密算法,因特网,解密密钥 K,密码体制是指一个系统所采用的基本工作方式以及它的两个基本构成要素,即加密/解密算法和密钥; 传统密码体制所用的加密密钥和解密密钥相同,也称为对称密码体制; 如果加密密钥和解密密钥不相同,则称为非对称密码体制; 密钥可以看作是密码算法中的可变参数。从数学的角度来看,改变了密钥,实际上也就改变了明文与密文之间等价的数学函数关系; 密码算法是相对稳定的。在这种意义上,可以把密码算法视为常量,而密钥则是一个变
5、量; 在设计加密系统时,加密算法是可以公开的,真正需要保密的是密钥。,什么是密码,密码是含有一个参数k的数学变换,即 Y = Ek(X) X是未加密的信息(明文) Y是加密后的信息(密文) E是加密算法 参数k称为密钥 密文Y是明文X 使用密钥k 经过加密算法计算后的结果; 加密算法可以公开,而密钥只能由通信双方来掌握。,密钥长度密钥长度与密钥个数,7.2 两类密码体制 7.2.1 对称密钥密码体制,所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。 这种加密系统又称为对称密钥系统。,对称密钥(symmetric cryptography)密码体系,非对称密钥(asymmetric
6、cryptography)密码体系,数据加密标准 DES,数据加密标准 DES 属于常规密钥密码体制,是一种分组密码。 在加密前,先对整个明文进行分组。每一个组长为 64 位。 然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文数据。 最后将各组密文串接起来,即得出整个的密文。 使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。,7.2.2 公钥密码体制,公钥密码体制使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。 公钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制的密钥分配问题,另
7、一是由于对数字签名的需求。 现有最著名的公钥密码体制是RSA 体制,它基于数论中大数分解问题的体制,由美国三位科学家 Rivest, Shamir 和 Adleman 于 1976 年提出并在 1978 年正式发表的。,加密密钥与解密密钥,在公钥密码体制中,加密密钥(即公钥) PK 是公开信息,而解密密钥(即私钥或秘钥) SK 是需要保密的。 加密算法 E 和解密算法 D 也都是公开的。 虽然秘钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK。,应当注意,任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量。在这方面,公钥密码体制并不具有比传统加密体制更加优越之处。
8、 由于目前公钥加密算法的开销较大,在可见的将来还看不出来要放弃传统的加密方法。公钥还需要密钥分配协议,具体的分配过程并不比采用传统加密方法时更简单。,公钥算法的特点,发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,在接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文: (7-4) 解密密钥是接收者专用的秘钥,对其他人都保密。 加密密钥是公开的,但不能用它来解密,即,(7-5),公钥算法的特点,加密和解密的运算可以对调,即 在计算机上可容易地产生成对的 PK 和 SK。 从已知的 PK 实际上不可能推导出 SK,即从 PK 到 SK 是“计算上不可能的”。 加
9、密和解密算法都是公开的。,(7-6),公钥密码体制,密文Y,E 运算 加密算法,D 运算 解密算法,加密,解密,明文 X,明文 X,A,B,B 的私钥 SKB,密文Y,因特网,B 的公钥 PKB,7.3 数字签名,数字签名必须保证以下三点: (1) 报文鉴别接收者能够核实发送者对报文的签名; (2) 报文的完整性发送者事后不能抵赖对报文的签名; (3) 不可否认接收者不能伪造对报文的签名。 现在已有多种实现各种数字签名的方法。但采用公钥算法更容易实现。,密文,数字签名的实现,D 运算,明文 X,明文 X,A,B,A 的私钥 SKA,因特网,签名,核实签名,E 运算,密文,A 的公钥 PKA,数
10、字签名的实现,因为除 A 外没有别人能具有 A 的私钥,所以除 A 外没有别人能产生这个密文。因此 B 相信报文 X 是 A 签名发送的。 若 A 要抵赖曾发送报文给 B,B 可将明文和对应的密文出示给第三者。第三者很容易用 A 的公钥去证实 A 确实发送 X 给 B。 反之,若 B 将 X 伪造成 X,则 B 不能在第三者前出示对应的密文。这样就证明了 B 伪造了报文。,具有保密性的数字签名,核实签名,解密,加密,签名,E 运算,D 运算,明文 X,明文 X,A,B,A 的私钥 SKA,因特网,E 运算,B 的私钥 SKB,D 运算,加密与解密,签名与核实签名,B 的公钥 PKB,A 的公钥
11、 PKA,密文,7.4 鉴别,在信息的安全领域中,对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则要用鉴别(authentication) 。 报文鉴别使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。 使用加密就可达到报文鉴别的目的。但在网络的应用中,许多报文并不需要加密。应当使接收者能用很简单的方法鉴别报文的真伪。,7.4.1 报文鉴别,许多报文并不需要加密但却需要数字签名,以便让报文的接收者能够鉴别报文的真伪。 然而对很长的报文进行数字签名会使计算机增加很大的负担(需要进行很长时间的运算)。 当我们传送不需要加密的报文时,应当使接收者能用很简单
12、的方法鉴别报文的真伪。,报文摘要 MD (Message Digest),A 将报文 X 经过报文摘要算法运算后得出很短的报文摘要 H。然后用自己的私钥对 H 进行 D 运算,即进行数字签名。得出已签名的报文摘要 D(H)后,并将其追加在报文 X 后面发送给 B。 B 收到报文后首先把已签名的 D(H) 和报文 X 分离。然后再做两件事。 用A的公钥对 D(H) 进行E运算,得出报文摘要 H 。 对报文 X 进行报文摘要运算,看是否能够得出同样的报文摘要 H。如一样,就能以极高的概率断定收到的报文是 A 产生的。否则就不是。,报文摘要的优点,仅对短得多的定长报文摘要 H 进行数字签名要比对整个
13、长报文进行数字签名要简单得多,所耗费的计算资源也小得多。 但对鉴别报文 X 来说,效果是一样的。也就是说,报文 X 和已签名的报文摘要 D(H) 合在一起是不可伪造的,是可检验的和不可否认的。,报文摘要算法,报文摘要算法就是一种散列函数。这种散列函数也叫做密码编码的检验和。报文摘要算法是防止报文被人恶意篡改。 报文摘要算法是精心选择的一种单向函数。 可以很容易地计算出一个长报文 X 的报文摘要 H,但要想从报文摘要 H 反过来找到原始的报文 X,则实际上是不可能的。 若想找到任意两个报文,使得它们具有相同的报文摘要,那么实际上也是不可能的。,报文摘要的实现,A,比较,签名,核实签名,报文 X,
14、H,D 运算,D(H),A 的私钥,报文 X,D(H),B,报文摘要,报文 X,D(H),发送,E 运算,H,签名的报文摘要,H,报文摘要 运算,A 的公钥,报文摘要 运算,报文摘要,报文摘要,因特网,7.4.2 实体鉴别,实体鉴别和报文鉴别不同。 报文鉴别是对每一个收到的报文都要鉴别报文的发送者,而实体鉴别是在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次。,最简单的实体鉴别过程,A 发送给 B 的报文的被加密,使用的是对称密钥 KAB。 B 收到此报文后,用共享对称密钥 KAB 进行解密,因而鉴别了实体 A 的身份。,A,B,A, 口令,KAB,明显的漏洞,入侵者 C 可以从网
15、络上截获 A 发给 B 的报文。C 并不需要破译这个报文(因为这可能很花很多时间)而可以直接把这个由 A 加密的报文发送给 B,使 B 误认为 C 就是 A。然后 B 就向伪装是 A 的 C 发送应发给 A 的报文。 这就叫做重放攻击(replay attack)。C 甚至还可以截获 A 的 IP 地址,然后把 A 的 IP 地址冒充为自己的 IP 地址(这叫做 IP 欺骗),使 B 更加容易受骗。,使用不重数,为了对付重放攻击,可以使用不重数(nonce)。不重数就是一个不重复使用的大随机数,即“一次一数”。,使用不重数进行鉴别,A,B,时间,7.5 密钥分配,密钥管理包括:密钥的产生、分配
16、、注入、验证和使用。本节只讨论密钥的分配。 密钥分配是密钥管理中最大的问题。密钥必须通过最安全的通路进行分配。 目前常用的密钥分配方式是设立密钥分配中心 KDC (Key Distribution),通过 KDC 来分配密钥。,7.5.1 对称密钥的分配,目前常用的密钥分配方式是设立密钥分配中心 KDC (Key Distribution Center)。 KDC 是大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥(仅使用一次)。 用户 A 和 B 都是 KDC 的登记用户,并已经在 KDC 的服务器上安装了各自和 KDC 进行通信的主密钥(master key)KA 和 KB。 “主密钥”可简称为“密钥”。,对称密钥的分配,A,密钥 分配中心 KDC,用户专用主密钥,用户 主密钥 A KA B KB,时间,A,B,Kerberos,AS,TGS,7.5.2 公钥的分