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