




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机网络的安全本章目录第10章 计算机网络的安全 110.1 网络安全问题概述 110.1.1 计算机网络面临的安全性威胁 110.1.2 计算机网络安全的内容 210.1.3 一般的数据加密模型 310.2 常规密钥密码体制 410.2.1 替代密码与置换密码 410.2.2 数据加密标准DES 510.3 公开密钥密码体制 710.3.1 公开密钥密码体制的特点 710.3.2 RSA公开密钥密码体制 810.3.3 数字签名 810.4 报文鉴别 910.5 密钥分配 1010.6 链路加密与端到端加密 1110.6.1 链路加密 1110.6.2 端到端加密 1110.7 防火墙 11网络安全问题概述计算机网络面临的安全性威胁计算机网络上的通信面临以下的4种威胁。截获(interception)攻击者从网络上窃听他人的通信内容。中断(interruption)攻击者有意中断他人在网络上的通信。篡改(modification)攻击者故意篡改网络上传送的报文。伪造(fabrication)攻击者伪造信息在网络上传送。上述四种威胁可划分为两大类,即被动攻击和主动攻击(如图10-1所示)。在上述情况中,截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。在被动攻击中,攻击者只是观察和分析某一个协议数据单元PDU(这里使用PDU这一名词是考虑到攻击可能涉及数据的不同的层次)而不干扰信息流。即使这些数据对攻击者来说是不易理解的,他也可以通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究PDU的长度和传输的频度,以便了解所交换的数据的性质。这种被动攻击又称为通信量分析(trafficanalysis)。主动攻击是指攻击者对某个连接中通过的PDU进行各种处理。如有选择地更改、删除、延迟这些PDU(当然也包括记录和复制它们)。还可在稍后的时间将以前记录下的PDU插入这个连接(即重放攻击)。甚至还可以将合成的或伪造的PDU送入一个连接中去。所有主动攻击都是上述各种方法的某种组合。但从类型上看,主动攻击又可进一步划分为以下3种:更改报文流,包括对通过连接的PDU的真实性、完整性和有序性的攻击。拒绝报文服务,指攻击者或者删除通过某一连接的所有PDU,或者将双方或单方的所有PDU加以延迟,从而使被攻击网站的服务器一直处于“忙”的状态,因而拒绝向发出请求的合法客户提供服务。这种攻击方式被称为拒绝服务DoS(DenialofService),或分布式拒绝服务DDoS(DistributedDenialofService)。伪造连接初始化,攻击者重放以前已被记录的合法连接初始化序列,或者伪造身份而企图建立连接。对于主动攻击,可以采取适当措施加以检测。但对于被动攻击,通常却是检测不出来的。根据这些特点,可得出计算机网络通信安全的五个目标:防止析出报文内容;防止信息量分析;检测更改报文流;检测拒绝报文服务;检测伪造初始化连接。对付被动攻击可采用各种加密技术,而对付主动攻击,则需要将加密技术与适当的鉴别技术相结合。还有一种特殊的主动攻击就是恶意程序(rogueprogram)的攻击。恶意程序种类繁多,对网络安全威胁较大的主要有以下几种:计算机病毒(computervirus),一种会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或其变种复制进去完成的。计算机蠕虫(computerworm),一种通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序。特洛伊木马(Trojanhorse),一种程序,它执行的功能超出所声称的功能。如一个编译程序除了执行编译任务以外,还把用户的源程序偷偷地复制下来,则这种编译程序就是一种特洛伊木马。计算机病毒有时也以特洛伊木马的形式出现。逻辑炸弹(logicbomb),一种当运行环境满足某种特定条件时执行其他特殊功能的程序。如一个编辑程序,平时运行得很好,但当系统时间为13日又为星期五时,它删去系统中所有的文件,这种程序就是一种逻辑炸弹。计算机网络安全的内容保密性为用户提供安全可靠的保密通信是计算机网络安全最为重要的内容。尽管计算机网络安全不仅仅局限于保密性,但不能提供保密性的网络肯定是不安全的。网络的保密性机制除了为用户提供保密通信以外,也是许多其他安全机制的基础。例如,接入控制中登录口令的设计、安全通信协议的设计以及数字签名的设计等,都离不开密码机制。安全协议的设计人们一直希望能设计出安全的计算机网络,但不幸的是,网络的安全性是不可判定的[DENN82]。目前在安全协议的设计方面,主要是针对具体的攻击(如假冒)设计安全的通信协议。但如何保证所设计出的协议是安全的?协议安全性的保证通常有两种方法:一种是用形式化方法来证明协议的安全性。另一种是用经验来分析协议的安全性。接入控制接入控制(accesscontrol)也叫做访问控制或存取控制。指对接入网络的权限加以控制,并规定每个用户的接入权限。由于网络是个非常复杂的系统,所以其接入控制机制比操作系统的访问控制机制更复杂(尽管网络的接入控制机制是建立在操作系统的访问控制机制之上的),尤其在高安全性级别的多级安全性(multilevelsecurity)情况下更是如此。所有上述计算机网络安全的内容都与密码技术紧密相关。一般的数据加密模型一般的数据加密模型如图10-2所示。在发送端,明文X用加密算法E和加密密钥K1得到密文Y,这个过程可以简记为:。在接收端,密文Y通过解密算法D和解密密钥K2重新得到明文X,这个过程可以简记为:。或。密文在传送过程中可能出现截取者,截取者又称为攻击者或入侵者。如果K1=K2,则称为对称加密,反之,则称为非对称加密。密钥通常是由一个密钥源提供。当密钥需要向远地传送时,也需要通过一个安全信道来进行。这称为密钥的分发。密码编码学(cryptography)是密码体制的设计学,而密码分析学(cryptanalysis)则是未知密钥的情况下从密文推演出明文或密钥的技术。这两者合起来即为密码学(cryptology)。对一个密码体制而言,如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则该密码体制称为无条件安全,或称为理论上是不可破译的。如果一个密码体制中的密码在给定的计算资源下是不可破译的,则称该密码体制在计算上是安全的。在20世纪70年代后期,美国的数据加密标准DES(DataEncryptionStandard)和公开密钥密码体制(publickeycrypto-system)的出现,成为近代密码学发展史上的两个重要里程碑。常规密钥密码体制替代密码与置换密码在早期的常规密钥密码体制中,有两种常用的密码,即替代密码和置换密码。替代密码(substitutioncipher)的原理可用一个例子来说明。如表10-1所示。表10-1 字母a、b、c、等与D、E、F、等相对应abcdefghijklmnopqrstuywxyzDEFGHIJKLMNOPQRSTUVWXYZABC注: 设明文为:hello,则对应的密文为:KHOOR。 解密时反查上表即可。也可往左数3个字符。置换密码(transpositioncipher)则是按照某一规则重新排列消息中的比特或字符的顺序。例子如下文所示。密钥 C I P H E R顺序 1 4 5 3 2 6明文 a t t a c k b e g i n s a t f o u r注: 顺序与密钥等价,但不如密钥便于记忆。 明文旋涡状的意思是“四时开始进攻” 密文为:abatettgfaiocnuksr。 密钥与顺序的关系见下表:abcdefghijklm1234nopqrstuywxyz56从得到密文序列的结构来划分,则有序列密码和分组密码两种不同的密码体制。序列密码体制是将明文X看成是连续的比特流(或字符流)X=,并且用密钥序列K=中的第个元素对明文中的进行加密,即=…序列密码又称为密钥流密码。目前常使用伪随机序列作为密钥序列。图10-3是其原理框图。在发送方加密时,伪随机序列的种子对密钥序列产生器进行初始化。,和均为1位(或均为1个字符),并按照模2进行运算,得出:= (10-1)在接收方,对的解密算法是:=== (10-2)另一种密码体制与序列密码不同。它将明文划分成固定的n比特的数据组,然后以组为单位,在密钥的控制下进行一系列的线性或非线性的变化而得到密文。这就是分组密码(blockcipher)。图10-4为分组密码体制的框图。分组密码一次变换一组数据。分组密码算法的一个重要特点就是:当给定一个密钥后,若明文分组相同,那么所变换出密文分组也相同。数据加密标准DES数据加密标准DES属于常规密钥密码体制。它由IBM公司研制出,于1977年被美国定为联邦信息标准后,在国际上引起了极大的重视。ISO曾将DES作为数据加密标准。加密算法如图10-5所示。解密过程和加密过程相似,但生成16个密钥的顺序正好相反。上述的DES的一个明显的缺点是它实际上就是一种单字符替代,而这种字符的长度是64位。也就是说,对于DES算法,相同的明文就产生相同的密文。这对DES的安全性来说是不利的。为了提高DES的安全性,可采用加密分组链接的方法,如图10-6所示。(注,此种说法不太准确,因为链接后并没有能增加多少算法的计算复杂性。)图10-6(a)是加密过程。图10-6(b)是解密过程。DES的保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译DES方面取得了许多进展[BIHA90],但至今仍未能找到比穷举搜索密钥更有效的方法。DES的安全性问题主要是密钥比较短(即56位太短),为了增加密钥长度,可以有多种方法,但不一定增加了密钥长度,安全性就能相应地增加。一种叫做三重DES(TripleDES)是Tuchman提出的,并在1985年成为美国的一个商用加密标准[RFC2420]。三重DES使用两个密钥,执行三次DES算法,如图10-7所示。在DES之后出现了国际数据加密算法IDEA(InternationalDataEncryptionAlgorithm)[LAI90]。IDEA使用128位密钥,因而更加不容易被攻破。计算结果表明,当密钥长度为128位时,若每微秒可搜索1百万次,则用穷举法破译IDEA密码需要花费年。公开密钥密码体制公开密钥密码体制的特点公开密钥密码体制就是使用不同的加密密钥与解密密钥进行加解密的密码体制,即对加解密的一般公式而言,其中满足,要求由已知加密密钥推导出解密密钥在计算上是不可行。公开密钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制的密钥分配(distribution)问题,另一是由于对数字签名的需求。在公开密钥密码体制中,加密密钥(即公开密钥,或记为)PK是公开的,而解密密钥(即秘密密钥,或记为)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。公开密钥算法的特点如下所述。发送者用加密密钥PK对明文X加密后,在接收端,接收者用解密密钥SK解密,即可恢复出明文,或写为: (10-3) 加密密钥是公钥,而解密密钥是接收方专用的私钥,对其他人都保密。此外,加密和解密的运算可以对调,即。加密密钥是公开的,但不能用它来解密,即 (10-4)在计算机上可以容易地产生成对的PK和SK。从已知的PK实际上不可能推导出SK,即从PK到SK是“计算上不可能的”。加密和解密算法都是公开的。上述过程如图10-8所示。RSA公开密钥密码体制RSA公开密钥密码体制所根据的原理是:根据数论,计算两个大素数的乘积比较简单,而将它们的乘积分解为素因子则极其困难。加密算法若用整数X表示明文,用整数Y表示密文(X和Y均小于),则加密和解密运算为:加密:Y= (10-5)解密:X= (10-6)密钥的产生现在讨论RSA公开密钥密码体制中每个参数是如何选择和计算的。①计算。用户秘密地选择两个大素数和,计算出。称为RSA算法的模数。明文必须能够用小于的数来表示。实际上是几百位长的数。②计算。用户再计算出的欧拉函数,定义为不超过并与互素的数的个数。= (10-7)③选择。用户从[0,1]中选择一个与互素的数作为公开的加密指数。④计算。用户计算出满足下式的 =1 (10-8)作为解密指数。⑤得出所需要的公开密钥和秘密密钥:公开密钥(即加密密钥)PK={,}秘密密钥(即解密密钥)SK={,}数字签名数字签名必须保证以下三点:接收方能够核实发送者对报文的签名;发送方事后不能抵赖对报文的签名;接收方不能伪造对报文的签名。数字签名的方法发送者A用其私钥即解密密钥SKA和解密算法对报文X进行运算,将结果传送给接收者B。B用已知的A的公钥即加密密钥PKA对报文进行计算,得出。因为除A外没有别人能具有A的解密密钥SKA,所以除A外没有别人能产生密文。这样,B就相信报文X是A签名发送的,如图10-9所示。注意,报文X是明文并没有加密,即直接对明文作解密运算。这样做的原因不是为了加密而是为了数字签名。为了确证报文是否真的来自A。(注意明文与密文的相对性。)如果A要抵赖曾发送报文给B,则B可以把X及出示给具有权威的第三方。第三方很容易用PKA去证实A确实发送X给B。反之,如果B把X伪造成X′,则B不能在第三方前出示。这样就证明了B伪造了报文。上述过程仅报文进行了签名。对报文X本身却未保密。因为截到并知道发送方身份的任何人,通过查阅手册即可获得发送方的公钥PKA,因而也能得知报文X的内容。若采用图10-10所示的方法,则可同时实现秘密通信和数字签名。图中SKA和SKB分别为A和B的私钥,而PKA和PKB分别为A和B的公钥。报文鉴别在信息的安全领域中,对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则要用报文鉴别(messageauthentication)的方法。报文鉴别就是一种过程,它使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。近年来,广泛使用报文摘要MD(MessageDigest)来进行报文鉴别。发送方将可变长度的报文经过报文摘要算法运算后得出固定长度的报文摘要然后对进行加密,得出,并将其附加在报文后面发送出动。接收文把解密还原为,再把收到的报文进行摘要运算,看得出的是否为此。如不一样,则可断定收到的报文不是发送方产生的。对鉴别报文来说,报文摘要方法也是可检验的和不可抵赖的,因为和合在一起是不可伪造的。要做到不可伪造,报文摘要算法必须满足以下两个条件:任给一个报文摘要值x,若想找到一个报文y使得H(y)=x,则在计算上是不可行的。若想找到任意两个报文x和y,使得H(x)=H(y),则在计算上是不可行的。RFC1321提出的报文摘要算法MD5已获得了广泛的应用。MD5的算法大致的过程如下:先将任意长的报文按模计算其余数(64位),追加在报文的后面。这就是说,最后得出的MD代码已包含了报文长度的信息。在报文和余数之间填充1~512位的数据块,使得填充后的总长度是512的整数倍。填充比特的首位是1,后面都是0。将追加和填充后的报文分割为一个个512位的数据块,512位的报文数据分成4个128位的数据块依次送到不同的散列函数进行4轮计算。每一轮又都按32位的小数据块进行复杂的运算。一直到最后计算出MD5报文摘要代码。另一种标准叫做安全散列算法SHA(SecureHashAlgorithm),和MD5相似,但码长为160位。它也是用512位长的数据块经过复杂运算得出的。SHA比MD5更安全,但计算起来也比MD5要慢些。密钥分配由于密码算法是公开的,网络的安全性就完全基于密钥的安全保护上。因此在密码学中出现了一个重要的分支——密钥管理。密钥管理包括:密钥的产生、分配、注入、验证和使用。随着用户的增多和通信量的增大,密钥更换频繁(密钥必须定期更换才能做到可靠),派信使的办法将不再适用。这时应采用网内分配方式,即对密钥自动分配。目前,常用的密钥分配方式是设立密钥分配中心KDC(KeyDistribution),通过KDC来分配密钥。图10-11为一种对常规密钥进行分配的方法。假定用户A和B都是KDC的登记用户,他们分别拥有与KDC通信的主密钥KA和KB。密钥分配分为三个步骤:首先,用户A向KDC发送自己私有的主密钥KA加密的报文说明想和用户B通信。KDC用随机数产生一个“一次一密”密钥供A和B这次的信通使用,然后向A发送回答报文,这个回答报文用A的主密钥KA加密,报文中有密钥和请A转给B的报文,但报文是用B的私有主密钥KB加密的,因此A无法知道报文的内容。当B收到A转来的报文并使用自己的私有主密钥KB解密后,就知道A要和他通信,同时也知道和A通信时所使用的密钥。此后,A和B就可使用这个一次一密的密钥进行本次通信了。KDC还可以在报文中加入时间戳,以防止攻击者利用以前记录下的报文进行重放攻击。链路加密与端到端加密链路加密在采用链路加密的网络中,每条通信链路上的加密是独立实现的。通常对每条链路使用不同的加密密钥。链路加密的最大缺点是在中间结点暴露了信息的内容。端到端加密端到端加密是在源结点和目的结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度农业保险合同
- 2025年度煤炭企业安全生产责任追究与赔偿合同签约
- 2025年度汽车经销商返点奖励合作框架协议
- 二零二五年度个人股份转让与股权激励及绩效评估合同
- 2025年度智能支付定时协议书
- 2025年度车辆贷款抵押与二手车置换服务合同
- 二零二五年度事业单位与员工协商终止劳动合同执行细则
- 2024年下半年教师资格复核
- 二零二五年度住房公积金购房合同原件追回与法律咨询支持合同
- 二零二五年度农业科技展柜设计与农产品广告投放合同
- 四年级语文下册第六单元【集体备课】(教材解读+教学设计)
- 2024版义务教育小学科学课程标准
- 八年级学生学情分析-20211031092110
- 健身健美课件
- 2024关于教师的民主评议个人年度工作总结
- 农田防护林营建技术规程
- 人教版四年级上册语文《一单元》测试卷【及答案】
- 北京市某中学2024-2025学年高一地理下学期期中试题(含解析)
- 重点部位消防安全检查培训
- 上门维修机合同协议书
- 延长煤矿招聘考试题库
评论
0/150
提交评论