计算机网络第6版)课件:CH7 网络安全

举报
资源描述
计算机网络(第 6 版)第 7 章 网络安全第 7 章 网络安全 7.1 网络安全问题概述 7.1.1 计算机网络面临的安全性威胁 7.1.2 计算机网络安全的内容 7.1.3 一般的数据加密模型7.2 两类密码体制 7.2.1 对称密钥密码体制 7.2.2 公钥密码体制第 7 章 网络安全(续)7.3 数字签名7.4 鉴别 7.4.1 报文鉴别 7.4.2 实体鉴别7.5 密钥分配 7.5.1 对称密钥的分配 7.5,2 公钥的分配第 7 章 网络安全(续)7.6 因特网使用的安全协议 7.6.1 网络层安全协议 7.6.2 运输层安全协议 7.6.3 应用层的安全协议破7.7 系统安全:防火墙与入侵检测 7.7.1 防火墙 7.7.2 入侵检测系统7.1 网络安全问题概述 7.1.1 计算机网络面临的安全性威胁 计算机网络上的通信面临以下两大类威胁:一、被动攻击。主要是截获,即从网络上窃听他人的通信内容。二、主动攻击,主要有:(1)篡改故意篡改网络上传送的报文。(2)恶意程序 包括计算机病毒、计算机蠕虫、特洛伊木马和逻辑炸弹等。(3)拒绝服务包括分布式拒绝服务。对网络的被动攻击和主动攻击 截获拒绝服务被动攻击主 动 攻 击目的站源站源站源站源站目的站目的站目的站篡改恶意程序7.1.2 计算机网络安全的内容n保密性n安全协议的设计 n访问控制 明文 X 截获密文 Y7.1.3 一般的数据加密模型 加密密钥 K明文 X密文 Y截取者篡改ABE 运算加密算法D 运算解密算法因特网解密密钥 K一些重要概念 n密码编码学(cryptography)是密码体制的设计学,而密码分析学(cryptanalysis)则是在未知密钥的情况下从密文推演出明文或密钥的技术。密码编码学与密码分析学合起来即为密码学(cryptology)。n如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则这一密码体制称为无条件安全的,或称为理论上是不可破的。n如果密码体制中的密码不能被可使用的计算资源破译,则这一密码体制称为在计算上是安全的。7.2 两类密码体制 7.2.1 对称密钥密码体制 n所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。n这种加密系统又称为对称密钥系统。数据加密标准 DESn数据加密标准 DES 属于常规密钥密码体制,是一种分组密码。n在加密前,先对整个明文进行分组。每一个组长为 64 位。n然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文数据。n最后将各组密文串接起来,即得出整个的密文。n使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。DES 的保密性nDES 的保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译 DES 方面取得了许多进展,但至今仍未能找到比穷举搜索密钥更有效的方法。nDES 是世界上第一个公认的实用密码算法标准,它曾对密码学的发展做出了重大贡献。n目前较为严重的问题是 DES 的密钥的长度。n现在已经设计出来搜索 DES 密钥的专用芯片。7.2.2 公钥密码体制n公钥密码体制使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。n公钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制的密钥分配问题,另一是由于对数字签名的需求。n现有最著名的公钥密码体制是RSA 体制,它基于数论中大数分解问题的体制,由美国三位科学家 Rivest,Shamir 和 Adleman 于 1976 年提出并在 1978 年正式发表的。加密密钥与解密密钥 n在公钥密码体制中,加密密钥(即公钥)PK 是公开信息,而解密密钥(即私钥或秘钥)SK 是需要保密的。n加密算法 E 和解密算法 D 也都是公开的。n虽然秘钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK。应当注意 n任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量。在这方面,公钥密码体制并不具有比传统加密体制更加优越之处。n由于目前公钥加密算法的开销较大,在可见的将来还看不出来要放弃传统的加密方法。公钥还需要密钥分配协议,具体的分配过程并不比采用传统加密方法时更简单。公钥算法的特点 n发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,在接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:(7-4)n解密密钥是接收者专用的秘钥,对其他人都保密。n加密密钥是公开的,但不能用它来解密,即 (7-5)公钥算法的特点(续)n加密和解密的运算可以对调,即 n在计算机上可容易地产生成对的 PK 和 SK。n从已知的 PK 实际上不可能推导出 SK,即从 PK 到 SK 是“计算上不可能的”。n加密和解密算法都是公开的。(7-6)公钥密码体制 密文Y E 运算加密算法D 运算解密算法加密解密明文 X明文 X ABB 的私钥 SKB密文Y 因特网B 的公钥 PKB7.3 数字签名n数字签名必须保证以下三点:(1)报文鉴别接收者能够核实发送者对报文的签名;(2)报文的完整性发送者事后不能抵赖对报文的签名;(3)不可否认接收者不能伪造对报文的签名。n现在已有多种实现各种数字签名的方法。但采用公钥算法更容易实现。密文 数字签名的实现 D运算明文 X明文 X ABA 的私钥 SKA因特网签名 核实签名E运算密文 A 的公钥 PKA数字签名的实现n因为除 A 外没有别人能具有 A 的私钥,所以除 A 外没有别人能产生这个密文。因此 B 相信报文 X 是 A 签名发送的。n若 A 要抵赖曾发送报文给 B,B 可将明文和对应的密文出示给第三者。第三者很容易用 A 的公钥去证实 A 确实发送 X 给 B。n反之,若 B 将 X 伪造成 X,则 B 不能在第三者前出示对应的密文。这样就证明了 B 伪造了报文。具有保密性的数字签名 核实签名解密 加密 签名 E 运算D 运算明文 X明文 X ABA 的私钥 SKA因特网E 运算B 的私钥 SKBD 运算加密与解密签名与核实签名B 的公钥 PKBA 的公钥 PKA密文7.4 鉴别n在信息的安全领域中,对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则要用鉴别(authentication)。n报文鉴别使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。n使用加密就可达到报文鉴别的目的。但在网络的应用中,许多报文并不需要加密。应当使接收者能用很简单的方法鉴别报文的真伪。鉴别与授权不同n鉴别与授权(authorization)是不同的概念。n授权涉及到的问题是:所进行的过程是否被允许(如是否可以对某文件进行读或写)。7.4.1 报文鉴别 n许多报文并不需要加密但却需要数字签名,以便让报文的接收者能够鉴别报文的真伪。n然而对很长的报文进行数字签名会使计算机增加很大的负担(需要进行很长时间的运算。n当我们传送不需要加密的报文时,应当使接收者能用很简单的方法鉴别报文的真伪。报文摘要 MD(Message Digest)nA 将报文 X 经过报文摘要算法运算后得出很短的报文摘要 H。然后然后用自己的私钥对 H 进行 D 运算,即进行数字签名。得出已签名的报文摘要 D(H)后,并将其追加在报文 X 后面发送给 B。nB 收到报文后首先把已签名的 D(H)和报文 X 分离。然后再做两件事。n用A的公钥对 D(H)进行E运算,得出报文摘要 H。n对报文 X 进行报文摘要运算,看是否能够得出同样的报文摘要 H。如一样,就能以极高的概率断定收到的报文是 A 产生的。否则就不是。报文摘要的优点n仅对短得多的定长报文摘要 H 进行数字签名要比对整个长报文进行数字签名要简单得多,所耗费的计算资源也小得多。n但对鉴别报文 X 来说,效果是一样的。也就是说,报文 X 和已签名的报文摘要 D(H)合在一起是不可伪造的,是可检验的和不可否认的。报文摘要算法n报文摘要算法就是一种散列函数。这种散列函数也叫做密码编码的检验和。报文摘要算法是防止报文被人恶意篡改。n报文摘要算法是精心选择的一种单向函数。n可以很容易地计算出一个长报文 X 的报文摘要 H,但要想从报文摘要 H 反过来找到原始的报文 X,则实际上是不可能的。n若想找到任意两个报文,使得它们具有相同的报文摘要,那么实际上也是不可能的。报文摘要的实现 A比较签名 核实签名报文 XHD 运算MACA 的私钥报文 XMACB报文摘要报文 XMAC发送 E 运算H报文鉴别码H报文摘要运算A 的公钥报文摘要运算报文摘要报文摘要因特网报文鉴别码7.4.2 实体鉴别 n实体鉴别和报文鉴别不同。n报文鉴别是对每一个收到的报文都要鉴别报文的发送者,而实体鉴别是在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次。最简单的实体鉴别过程 nA 发送给 B 的报文的被加密,使用的是对称密钥 KAB。nB 收到此报文后,用共享对称密钥 KAB 进行解密,因而鉴别了实体 A 的身份。ABA,口令KAB明显的漏洞n入侵者 C 可以从网络上截获 A 发给 B 的报文。C 并不需要破译这个报文(因为这可能很花很多时间)而可以直接把这个由 A 加密的报文发送给 B,使 B 误认为 C 就是 A。然后 B 就向伪装是 A 的 C 发送应发给 A 的报文。n这就叫做重放攻击(replay attack)。C 甚至还可以截获 A 的 IP 地址,然后把 A 的 IP 地址冒充为自己的 IP 地址(这叫做 IP 欺骗),使 B 更加容易受骗。使用不重数n为了对付重放攻击,可以使用不重数(nonce)。不重数就是一个不重复使用的大随机数,即“一次一数”。使用不重数进行鉴别 ABA,RARBKABRARBKAB,时间中间人攻击 AB我是 A中间人 C我是 ARBRBSKC请把公钥发来PKCRBRBSKA请把公钥发来PKADATAPKCDATAPKA时间中间人攻击说明nA 向 B 发送“我是 A”的报文,并给出了自己的身份。此报文被“中间人”C 截获,C 把此报文原封不动地转发给 B。B 选择一个不重数 RB 发送给 A,但同样被 C 截获后也照样转发给 A。n中间人 C 用自己的私钥 SKC 对 RB 加密后发回给 B,使 B 误以为是 A 发来的。A 收到 RB 后也用自己的私钥 SKA 对 RB 加密后发回给 B,中途被 C 截获并丢弃。B 向 A 索取其公钥,此报文被 C截获后转发给 A。nC 把自己的公钥 PKC 冒充是 A 的发送给 B,而 C 也截获到 A 发送给 B 的公钥 PKA。nB 用收到的公钥 PKC(以为是 A 的)对数据加密发送给 A。C 截获后用自己的私钥 SKC 解密,复制一份留下,再用 A 的公钥 PKA 对数据加密后发送给 A。A 收到数据后,用自己的私钥 SKA 解密,以为和B进行了保密通信。其实,B发送给A的加密数据已被中间人 C 截获并解密了一份。但 A 和 B 却都不知道。7.5 密钥分配 n密钥管理包括:密钥的产生、分配、注入、验证和使用。本节只讨论密钥的分配。n密钥分配是密钥管理中最大的问题。密钥必须通过最安全的通路进行分配。n目前常用的密钥分配方式是设立密钥分配中心 KDC(Key Distribution),通过 KDC 来分配密钥。7.5.1 对称密钥的分配n目前常用的密钥分配方式是设立密钥分配中心 KDC(Key Distribution Center)。nKDC 是大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥(仅使用一次)。n用户 A 和 B 都是 KDC 的登记用户,并已经在 KDC 的服务器上安装了各自和 KDC 进行通信的主密钥(master key)KA 和 KB。“主密钥”可简称为“密钥”。对称密钥的分配AB密钥分配中心KDCA,B,KABKB用户专用主密钥用户 主密钥 A KA B KB A,B,KABKABKBKA,时间A,B
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 中学教育 > 初中教育


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号