1第7章网络安全《计算机网络教程(第5版)》第七章网络安全人民邮电出版社ComputerNetworkTutorial谢钧谢希仁编著2第7章网络安全机密性与密码学网络安全概述完整性与鉴别密钥分发与公钥认证7.17.2内容导航CONTENTS访问控制网络各层的安全实例7.37.47.57.6系统安全:防火墙与入侵检测网络攻击及其防范7.77.83第7章网络安全7.1.1安全威胁计算机网络上的通信面临以下四种威胁:课件制作人:谢钧谢希仁01OPTION截获从网络上窃听他人的通信内容。02OPTION中断有意中断他人在网络上的通信。03OPTION篡改故意篡改网络上传送的报文。04OPTION伪造伪造信息在网络上传送。截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。4第7章网络安全对网络的被动攻击和主动攻击课件制作人:谢钧谢希仁截获篡改伪造中断被动攻击主动攻击目的站源站源站源站源站目的站目的站目的站攻击者只是观察和分析网络中传输的数据流而不干扰数据流本身。主动攻击是指攻击者对传输中的数据流进行各种处理。更改报文流拒绝服务攻击恶意程序攻击5第7章网络安全恶意程序(rogueprogram)课件制作人:谢钧谢希仁01OPTION计算机病毒会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或其变种复制进去完成的。02OPTION计算机蠕虫通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序。03OPTION特洛伊木马一种程序,它执行的功能超出所声称的功能。04OPTION逻辑炸弹一种当运行环境满足某种特定条件时执行其他特殊功能的程序。6第7章网络安全机密性与密码学网络安全概述完整性与鉴别密钥分发与公钥认证7.17.2内容导航CONTENTS访问控制网络各层的安全实例7.37.47.57.6系统安全:防火墙与入侵检测网络攻击及其防范7.77.87第7章网络安全7.1.2安全服务课件制作人:谢钧谢希仁确保计算机系统中的信息或网络中传输的信息不会泄漏给非授权用户。这是计算机网络中最基本的安全服务。机密性(confidentiality)报文完整性(messageintergrity)确保计算机系统中的信息或网络中传输的信息不被非授权用户篡改或伪造。后者要求对报文源进行鉴别。防止发送方或接收方否认传输或接收过某信息。在电子商务中这是一种非常重要安全服务。不可否认性(nonrepudiation)实体鉴别(entityauthentication)通信实体能够验证正在通信的对端实体的真实身份,确保不会与冒充者进行通信。访问控制(accesscontrol)系统具有限制和控制不同实体对信息源或其他系统资源进行访问的能力。系统必须在鉴别实体身份的基础上对实体的访问权限进行控制。可用性(availability)确保授权用户能够正常访问系统信息或资源。拒绝服务攻击是可用性的最直接的威胁。8第7章网络安全数据加密的一般模型7.2机密性与密码学机密性应该是密码学最早的应用领域,但我们在后面几节将会看到密码学技术和鉴别、报文完整性以及不可否认性等是紧密相关的,可以说密码学是计算机网络安全的基础。课件制作人:谢钧谢希仁明文X截获密文Y加密密钥KA明文X密文Y截取者篡改ABE运算加密算法D运算解密算法因特网解密密钥KBY=EKA(X)DKB(Y)=DKB(EKA(X))=X9第7章网络安全一些重要概念课件制作人:谢钧谢希仁如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则这一密码体制称为无条件安全的,或称为理论上是不可破的。如果密码体制中的密码不能被可使用的计算资源破译,则这一密码体制称为在计算上是安全的。我们关心的是在计算上(而不是在理论上)是不可破的密码体制。10第7章网络安全7.2.1对称密钥密码体制课件制作人:谢钧谢希仁所谓对称密钥密码体制是一种加密密钥与解密密钥相同的密码体制。在这种加密系统中两个参与者共享同一个秘密密钥,如果用一个特定的密钥加密一条消息,也必须要使用相同的密钥来解密该消息。该系统又称为对称密钥系统。11第7章网络安全数据加密标准DES课件制作人:谢钧谢希仁数据加密标准DES属于常规密钥密码体制,是一种分组密码。数据加密标准DES(DataEncryptionStandard)是对称密钥密码的典型代表,由IBM公司研制,于1977年被美国定为联邦信息标准后,在国际上引起了极大的重视。ISO曾把DES作为数据加密标准。DES使用的密钥为64位(实际密钥长度为56位,有8位用于奇偶校验)。12第7章网络安全DES的保密性DES的保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译DES方面取得了许多进展,但至今仍未能找到比穷举搜索密钥更有效的方法。DES是世界上第一个公认的实用密码算法标准,它曾对密码学的发展做出了重大贡献。目前较为严重的问题是DES的密钥的长度。现在已经设计出来搜索DES密钥的专用芯片。13第7章网络安全三重DES为解决DES密钥太短的问题,人们提出了三重DES。EDK1K2K3明文密文K3K2K1密文明文(a)(b)加密解密EDED14第7章网络安全7.2.2公钥密码体制课件制作人:谢钧谢希仁公钥密码体制使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。公钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制的密钥分配问题,另一是由于对数字签名的需求。现有最著名的公钥密码体制是RSA体制,它基于数论中大数分解问题的体制,由美国三位科学家Rivest,Shamir和Adleman于1976年提出并在1978年正式发表的。15第7章网络安全加密密钥与解密密钥课件制作人:谢钧谢希仁在公钥密码体制中,加密密钥(即公钥)PK是公开信息,而解密密钥(即私钥或秘钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘钥SK是由公钥PK决定的,但却不能根据PK计算出SK。16第7章网络安全公钥算法的特点XXEDYDPKSKSK))(()(发送方用加密密钥PK对明文X加密(E运算)后,在接收方用解密密钥SK解密(D运算),即可恢复出明文:(7-3)解密密钥是接收者专用的秘钥(私钥),对其他人都保密。加密密钥是公开(公钥)的,但不能用它来解密,即(7-4)XXEDPKPK))((BB17第7章网络安全加密和解密的运算可以对调,即(7-5)在计算机上可容易地产生成对的PK和SK。从已知的PK实际上不可能推导出SK,即从PK到SK是“计算上不可能的”。加密和解密算法都是公开的。公钥算法的特点(续)XXEDXDEPKSKSKPK))(())((18第7章网络安全应当注意任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量。在这方面,公钥密码体制并不具有比传统加密体制更加优越之处。公钥密码体制有许多很好的特性,但公钥密码算法比对称密码算法要慢好几个数量级。因此,对称密码被用于绝大部分加密,而公钥密码则通常用于会话密钥的建立。19第7章网络安全机密性与密码学网络安全概述完整性与鉴别密钥分发与公钥认证7.17.2内容导航CONTENTS访问控制网络各层的安全实例7.37.47.57.6系统安全:防火墙与入侵检测网络攻击及其防范7.77.820第7章网络安全7.3完整性与鉴别课件制作人:谢钧谢希仁01OPTION有时,通信双方并不关心通信的内容是否会被人窃听,而只关心通信的内容是否被人篡改或伪造,这就是报文完整性问题。02OPTION报文完整性又称为报文鉴别,既鉴别报文的真伪。03OPTION例如,路由器之间交换的路由信息不一定要求保密,但要求能检测出被篡改或伪造的路由信息。04OPTION实体鉴别就是一方验证另一方身份的技术。21第7章网络安全7.3.1报文摘要和报文鉴别码课件制作人:谢钧谢希仁使用加密就可达到报文鉴别的目的。但对于不需要保密,而只需要报文鉴别的网络应用,对整个报文的加密和解密,会使计算机增加很多不必要的负担。更有效的方法是使用报文摘要MD(MessageDigest)来进行报文鉴别22第7章网络安全用报文摘要进行报文鉴别MD相同?是否接收被篡改发送方接收方摘要KEDK密文MD•发送方将可变长度的报文m经过报文摘要算法运算后得出固定长度的报文摘要H(m)。•然后对H(m)进行加密,得出EK(H(m)),并将其附加在报文m后面发送出去。•接收方把EK(H(m))解密还原为H(m),再把收到的报文进行报文摘要运算,看结果是否与收到的H(m)一样。密文摘要附加在报文上用于鉴别报文真伪的码串,被称为报文鉴别码MAC(MessageAuthenticationCode)23第7章网络安全密码散列函数报文摘要和差错检验码都是多对一(many-to-one)的散列函数(hashfunction)的例子。但要抵御攻击者的恶意篡改,报文摘要算法必须满足以下两个条件:任给一个报文摘要值x,若想找到一个报文y使得H(y)=x,则在计算上是不可行的。若想找到任意两个报文x和y,使得H(x)=H(y),则在计算上是不可行的。满足以上条件的散列函数称为密码散列函数课件制作人:谢钧谢希仁24第7章网络安全密码散列函数差错检验码通常并不满足以上条件。例如,很容易找到两个不同的字符串:“IOU100.99BOB”和“IOU900.19BOB”的校验和是完全一样的。虽然差错检验码可以检测出报文的随机改变,但却无法抵御攻击者的恶意篡改,因为攻击者可以很容易地找到差错检验码与原文相同的其他报文,从而达到攻击目的。25第7章网络安全广泛应用的报文摘要算法课件制作人:谢钧谢希仁MD相同?是否接收被篡改发送方接收方KEKMDE摘要摘要密文密文密文并不需要将报文鉴别码解密出来就可以进行报文鉴别,即报文鉴别码的计算并不需要可逆性!进行报文鉴别并不需要解密目前广泛应用的报文摘要算法有MD5[RFC1321]和安全散列算法1(SecureHashAlgorithm,SHA-1)。MD5输出128位的摘要,SHA-1输出160位的摘要。SHA-1比MD5更安全些,但计算起来比MD5要慢。26第7章网络安全散列报文鉴别码课件制作人:谢钧谢希仁散列报文鉴别码HMAC利用密码散列函数无需对报文摘要加密就可以实现对报文的鉴别,前提是双方共享一个称为鉴别密钥的秘密比特串s。发送方计算散列H(m+s)。H(m+s)被称为散列报文鉴别码HMAC(HashedMAC)。将MAC与报文m一起发送给接收方。接收方利用收到的s和m重新计算MAC,与接收到的MAC进行比较,从而实现鉴别。散列函数MACMAC散列函数MAC相同?是否接收被篡改发送方接收方27第7章网络安全7.3.2数字签名数字签名必须保证以下三点:(1)接收方能够核实发送方对报文的数字签名。(2)发送方事后不能抵赖对报文的数字签名。(3)任何人包括接收方都不能伪造对报文的签名。现在已有多种实现各种数字签名的方法。但采用公钥算法更容易实现。28第7章网络安全数字签名的实现课件制作人:谢钧谢希仁密文)(AXDSKD运算明文X明文XABA的私钥SKA因特网签名核实签名E运算密文)(AXDSKA的公钥PKA因为除A外没有别人能具有A的私钥,所以除A外没有别人能产生这个密文。因此B相信报文X是A签名发送的。若A要抵赖曾发送报文给B,B可将明文和对应的密文出示给第三者。第三者很容易用A的公钥去证实A确实发送X给B。反之,若B将X伪造成X‘,则B不能在第三者前出示对应的密文。这样就证明了B伪造了报文。29第7章网络安全具有保密性的数字签名公钥密码算法的计算代价非常大,对整个报文进行数字签名是一件非常耗时的事情。更有效的方法是仅对报文摘要进行数字签名。课件制作人:谢钧谢希仁数字签名的实现)(AXDSK)(AXDSK核实签名解密加密签名E运算D运算明文X明文XABA的私钥SKA因特网B的私钥S