1、计算机网络(第 5 版)第 7 章 网络安全第8章 网络安全n加密:防止信息落入非授权用户之手n认证(鉴别):在对话前确认对方的身份n认可(签名):防止对方抵赖和伪造n完整性控制:确认所收到的信息在传 输过程中没有被篡改本章将讨论:n密码学n对称密钥体制n公开密钥体制n数字签名n公钥管理n通信安全n防火墙第 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
2、 报文鉴别 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.8 防火墙7.1 网络安全问题概述 7.1.1 计算机网络面临的安全性威胁 n计算机网络上的通信面临以下的四种威胁:(1)截获从网络上窃听他人的通信内容。(2)中断有意中断他人在网络上的通信。(3)篡改故意篡改网络上传送的报文。(4)伪造伪造信息在网络上传送。n截获信息的攻击称为
3、被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。对网络的被动攻击和主动攻击 截获篡改伪造中断被动攻击主 动 攻 击目的站源站源站源站源站目的站目的站目的站明文 X 截获密文 Y7.1.3 一般的数据加密模型 加密密钥 K明文 X密文 Y截取者篡改ABE 运算加密算法D 运算解密算法因特网解密密钥 K传统的数据加密模型说明n明文P用加密算法E和加密密钥K加密,得到密文C=EK(P)n在传送过程中可能出现密文截取者n到了接收端,利用解密算法D和解密密钥K,解出明文为:DK(C)=DK(EK(P)=Pn截取者又称为攻击者,或入侵者n在这里我们假定加密密钥和解密密钥都是一样的,但实际上它们可
4、以是不一样的(即使不一样,这两个密钥也必然有某种相关性)n密钥通常是由一个密钥源提供,当密钥需要向远地传送时,一定要通过另一个安全信道 nKerckhoff法则:算法是公开的,密钥是保密的7.2 两类密码体制 7.2.1 对称密钥密码体制 n所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。n这种加密系统又称为对称密钥系统。1、凯撒密码(替换密码)a-D、b-E、c-F、d-G、e-H s-V 、z-C eg.明文:明文:access control 可变为:可变为:DFFHVV FRQWURO 密钥为:移密钥为:移4位位 改进改进1:允许移位:允许移位k位,位,k为密钥,解密要尝试
5、为密钥,解密要尝试25种可能种可能 n用对照表 a b c d efg hijkl m n o p qrstu v w x y zQ W E R T Y U I O P A S D F G H J K L Z X C V B N M第二行的第二行的26个字母次序即为密钥个字母次序即为密钥解密要尝试解密要尝试26!=4 x 1026 种情况,假设种情况,假设1 s测试一个密测试一个密钥钥也需也需1010年年 但解密方法可用:但解密方法可用:分布式计算分布式计算2、变位密码(Transposition cipher)n每个码不变,但位置改变,最常用的是列变位加密例:例:密钥为密钥为MEGABUCK
6、 明文为:明文为:pleasetransferonemilliondollarstomyswissbankaccountsixtwotwo密文为:密文为:AFLLSKSOSELAWAIATOOSSCTCLNMOMANTESILYNTWRNNTSOWDPAEDOBUOERIRICXB MEGABUCK74512836pleasetransferonemilliondollarstomyswissbankaccountsixtwotwoabcdTnbm P729 Fig.8-3 变位密码变位密码3、数据加密标准 DESn数据加密标准 DES 属于常规密钥密码体制,是一种分组密码。n在加密前,先对整
7、个明文进行分组。每一个组长为 64 位。n然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文数据。n最后将各组密文串接起来,即得出整个的密文。n使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。DES 的保密性nDES 的保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译 DES 方面取得了许多进展,但至今仍未能找到比穷举搜索密钥更有效的方法。nDES 是世界上第一个公认的实用密码算法标准,它曾对密码学的发展做出了重大贡献。n目前较为严重的问题是 DES 的密钥的长度。n现在已经设计出来搜索 DES 密钥的专用芯片。7.2.2 公钥密码体制
8、n公钥密码体制使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。n密钥是成对产生的 n加密密钥不能用来解密 DSK(EPK(P)=P 但DPK(EPK(P)P n加密密钥和算法是公开的,解密密钥是保密的 n从PK(加密密钥)导出SK(解密密钥)极其困难 加密密钥与解密密钥 n在公钥密码体制中,加密密钥(即公钥)PK 是公开信息,而解密密钥(即私钥或秘钥)SK 是需要保密的。n加密算法 E 和解密算法 D 也都是公开的。n虽然秘钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK。公开密钥算法模型n公开密钥算法中RSA算法最有代表性 n
9、RSA算法:基于数论 E加密算法加密算法D解密算法解密算法密钥对密钥对产生源产生源明文明文P明文明文P密文密文C=EPk(P)解密密钥解密密钥SK加密密钥加密密钥PK发送者发送者接收者接收者公钥密码体制 密文Y E 运算加密算法D 运算解密算法加密解密明文 X明文 X ABB 的私钥 SKB密文Y 因特网B 的公钥 PKB公钥算法的过程 n发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,在接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:(7-4)n解密密钥是接收者专用的秘钥,对其他人都保密。n加密密钥是公开的,但不能用它来解密,即 XXEDYDPKSKS
10、K)()(BBB(7-5)XXEDPKPK)(BB公钥算法的过程(续)n加密和解密的运算可以对调,即 n在计算机上可容易地产生成对的 PK 和 SK。n从已知的 PK 实际上不可能推导出 SK,即从 PK 到 SK 是“计算上不可能的”。n加密和解密算法都是公开的。XXEDXDEBBBBPKSKSKPK)()((7-6)7.3 数字签名n数字签名必须保证以下三点:(1)报文鉴别接收者能够核实发送者对报文的签名;(2)报文的完整性发送者事后不能抵赖对报文的签名;(3)不可否认接收者不能伪造对报文的签名。数字签名用来验证计算机网络数字签名用来验证计算机网络中传送的电文的真实性,数字中传送的电文的真
11、实性,数字签名必须实现的三个功能是什签名必须实现的三个功能是什么?么?数字签名的实现 1、采用对称密钥的数字签名、采用对称密钥的数字签名2、采用公开密钥的数字签名、采用公开密钥的数字签名3、采用报文摘要的数字签名、采用报文摘要的数字签名使用对称密钥加使用对称密钥加密技术的模型描密技术的模型描述数字签名的过述数字签名的过程。程。使用公开密钥加使用公开密钥加密技术的模型描密技术的模型描述数字签名的过述数字签名的过程。程。1、采用对称密钥的数字签名 n一个公认的信任机构BB,负责给每个人分配密码 n传输时,也必须通过该信任机构,如A发一消息给B,A必须先用自己的密钥加密后发给信任机构BB,信任机构B
12、B解密,然后BB用B的密钥加密后发给B A,KA(B,RA,t,P)KB(A,RA,t,P,KBB(A,t,P)AliceBBBob明文信息明文信息时间戳时间戳随机数随机数RA Bob的名字的名字Alice的密钥的密钥Tnbm P757 Fig.8-18 2、采用公开密钥的数字签名 n对称密钥加密的问题:需要有公认的信任机构,但有时难以找到这样的机构n公开密钥加密不需要有公认的信任机构Tnbm P758 Fig.8-19 公开密钥的数字签名公开密钥的数字签名 PAlice的私钥的私钥DABob的公钥的公钥EBPAlice的公钥的公钥EABob的私钥的私钥DBAlice的计算机的计算机Bob的计
13、算机的计算机通信线路通信线路DA(P)EA(P)EB(EA(P)具有保密性的数字签名)(AXDSK)(AXDSK核实签名解密 加密 签名 E 运算D 运算明文 X明文 X ABA 的私钥 SKA因特网E 运算B 的私钥 SKBD 运算加密与解密签名与核实签名)(ABXDESKPKB 的公钥 PKBA 的公钥 PKA密文3、报文鉴别n在信息的安全领域中,对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则要用鉴别(authentication)。n报文鉴别使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。报文摘要(Message Digest)n用于对文件
14、的认证,保证文件的完整性、正确性用于对文件的认证,保证文件的完整性、正确性n不需要对完整的信息进行加密不需要对完整的信息进行加密n报文摘要报文摘要(MD)是基于一个单向的是基于一个单向的hash函数,从明文中函数,从明文中取出任意长的部分,从中计算出一个定长的取出任意长的部分,从中计算出一个定长的bit串串n报文摘要的特性报文摘要的特性n给定明文给定明文P,很容易就能计算出,很容易就能计算出MD(P)n给定给定MD(P),不可能推算出,不可能推算出Pn给定给定P,不可能发现一个,不可能发现一个P 并使得并使得MD(P)=MD(P)n当输入改变时,甚至改变一个当输入改变时,甚至改变一个bit,都
15、将产生不同的输出,都将产生不同的输出报文摘要的实现 A比较签名 核实签名报文 XHD 运算D(H)A 的私钥报文 XD(H)B报文摘要报文 XD(H)发送 E 运算H签名的报文摘要H报文摘要运算A 的公钥报文摘要运算报文摘要报文摘要因特网7.5 密钥分配 n密钥管理包括:密钥的产生、分配、注入、验证和使用。本节只讨论密钥的分配。n密钥分配是密钥管理中最大的问题。密钥必须通过最安全的通路进行分配。n目前常用的密钥分配方式是设立密钥分配中心 KDC(Key Distribution),通过 KDC 来分配密钥。7.5.1 对称密钥的分配n目前常用的密钥分配方式是设立密钥分配中心 KDC(Key D
16、istribution Center)。nKDC 是大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥(仅使用一次)。n用户 A 和 B 都是 KDC 的登记用户,并已经在 KDC 的服务器上安装了各自和 KDC 进行通信的主密钥(master key)KA 和 KB。“主密钥”可简称为“密钥”。对称密钥的分配AB密钥分配中心KDCA,B,KABKB用户专用主密钥用户 主密钥 A KA B KB A,B,KABKABKBKA,时间A,B7.5.2 公钥的分配每个人都有自己的私钥和公钥,那么:n怎样把公钥发给其它人呢?n对方拿到你的公钥后怎样验证就是你的公钥呢,而不是别人的
17、呢?解决方法(分情况)Alice Bob 读读Bob的网页的网页返回返回Bob的公钥的公钥用用Bob的公钥加密通信的公钥加密通信正常情况下的通信正常情况下的通信有非法者的情况下的通信有非法者的情况下的通信Alice Bob 读读Bob的网页的网页返回返回Trudy伪造的公伪造的公钥钥用用Trudy的公钥加密的公钥加密通信通信Trudy 用用Bob的公钥加密的公钥加密通信通信Tnbm P765 Fig.8-23 Trudy 破坏公开密钥加密的一种方法破坏公开密钥加密的一种方法证书n设置一个机构设置一个机构CA(Certification Authority)证明)证明某些公钥是属于某个人或某个机
18、构,这个证明称作某些公钥是属于某个人或某个机构,这个证明称作为证书为证书n证书用证书用SHA-1做摘要,该摘要用做摘要,该摘要用CA的私钥加密的私钥加密n证书的拥有者可将证书放在网上,供希望与他通信证书的拥有者可将证书放在网上,供希望与他通信的人下载的人下载n证书可解决伪造者的问题证书可解决伪造者的问题 如伪造者用自己的证书替换如伪造者用自己的证书替换Bob的证书:由于证书中有持有者姓名的证书:由于证书中有持有者姓名,Alice马上就可发现有人伪造马上就可发现有人伪造7.8 防火墙 Firewalln防火墙的作用 n基于协议层的防火墙分类 n网络层防火墙 n应用层防火墙 内部网内部网 外部网外
19、部网1、防火墙的作用n限制外部对内容网络访问,过滤掉不安全服务和非法用户,不受攻击;n监视、记录进出内部网的信息,包括流量统计,设置访问控制表等 n可以防止内部消息的外泄;n可采用加密技术对信息进行加密处理2、基于协议层的防火墙分类 n包过滤器:网络层 n应用网关:应用层在实际应用中,通常防火墙的安装位置在实际应用中,通常防火墙的安装位置外部网络外部网络内部网络内部网络包过滤器包过滤器包过滤器包过滤器应用网关应用网关防火墙防火墙外部网络外部网络企业内网企业内网路由器路由器防火墙防火墙企业外网企业外网3、网络层防火墙n检查的项目 源IP地址 目的IP地址 TCP/IP协议及其源、目的端口号(po
20、rt number)n访问控制表(+表示无限制)actionsrcportdesportflagcommentsallow+1023 202.120.10.123telnetallow+1023 202.120.10.225SMTPallow212.5.32.61023 202.120.10.3119NNTPallow+ACK回答响应blockhackers address+4、应用层防火墙 n采用代理网关,外部网委托代理执行相应的操作 内部网内部网外部网外部网代理代理代理代理应用层防火墙应用层防火墙额外功能:额外功能:v代理可控制一些服务的子功能,如代理可控制一些服务的子功能,如FTP,可设置,可设置服务器只提供服务器只提供get不提供不提供putv流量、计费等功能流量、计费等功能v检查传输信息本身,如检查传输信息本身,如mail 对不同的应用,应建立不同的应用网关,开销较大,对不同的应用,应建立不同的应用网关,开销较大,所以通常仅开放几个常用的应用所以通常仅开放几个常用的应用