《计算机通信网 第11章 网络安全课件》由会员分享,可在线阅读,更多相关《计算机通信网 第11章 网络安全课件(95页珍藏版)》请在金锄头文库上搜索。
1、第11章 网络安全,11.1 网络安全概述 11.2 数据保密技术 11.3 用户身份认证 11.4 访问控制,11.1 网络安全概述,1.网络安全层次模型45 ISO/OSIRM中定义了七个层次,不同的层次之间的功能虽有一定的交叉,但基本上是不同的,如传输层负责端到端的通信,网络层负责寻径,数据链路层则负责点到点的通信。从网络安全的角度出发,各层次的安全要求与措施也不完全相同,可构筑成网络安全的层次模型,如图11.1.1所示。,图11.1.1 网络安全层次模型,2.网络安全体系结构 网络安全体系结构的三维框架反映了信息系统安全的需求和可实现的体系结构特性,如图11.1.2所示。 由图可见,三
2、维指的是开放系统互连参考模型、安全特性和系统单元。系统单元包括安全管理、信息处理单元、网络系统和物理(含行政)环境。ISO74982制定了安全管理机制,含安全域的设置和管理、安全管理信息库、安全管理信息的通信、安全管理应用程序协议以及安全机制与服务管理。信息处理单元是由多个端系统和若干中继系统(诸如交换机、路由器等)组成的。,网络系统的安全为在开放系统通信环境下通信业务流的安全提供支持,包括安全通信协议、数据加密、安全管理应用进程、安全管理信息库、分布式管理系统等。物理环境与行政管理安全包括物理环境管理和人员管理、行政管理与环境安全服务配置和机制以及系统管理人员职责等。 安全特性是基于ISO7
3、4982的安全服务与安全机制。不同安全策略、不同安全等级的系统有不同的安全特性要求。,图11.1.2 网络安全体系结构框架,3.安全服务与安全机制 安全服务与安全机制指的是基于OSI的安全体系结构实现安全通信所必要的服务以及相应的机制。ISO74982描述了五种可选的安全服务:身份鉴别(Authentication)、访问控制(Access Control)、数据保密(Data Confidentiality)、数据完整性(Data Integrity)和不可否认(NonReputation)。与上述五种安全服务相关的安全机制有八种:,加密机制(Encipher Mechanisms)、访问控
4、制机制(Access Control Mechanisms)、数字签名机制(Digital Signature Mechanisms)、数据完整性机制(DataIntegrity Mechanisms)、身份鉴别(认证)机制(Authentication Mechanisms)、通信业务填充机制(Traffic Padding Mechanisms)、,路由控制机制(Routing Control Mechanisms)、公证机制(Notarization Mechanisms)。此外,还有与系统要求的安全级别直接有关的安全机制,如安全审计跟踪(Security Audit Trail)、可信
5、功能(Trusted Function)、安全标号(Security Labels)、事件检测(Event Detection)和安全恢复(Security Recovery)等。,11.2 数据保密技术,数据保密就是采取多种复杂的措施对数据加以保护,以防第三方窃取、伪造或篡改数据。数据保密模型如图11.2.1所示。,图11.2.1 数据保密模型,数据保密模型的明文P(Plaintext)是一段有意义的文字或数据,在发送方通过加密算法变换为密文C(Ciphertext)。密文是以加密密钥K为参数的函数,记作C=EK(P)。在接收方用以解密密钥K为基础的解密算法,将密文还原为明文,即P=DKEK
6、(P)。 若第三方能从传输通道上窃取有用信息,对原始信息未作更改,则称之为被动攻击;若第三方不仅截取消息并篡改或伪造了消息,则称其为主动攻击。整个数据保密涉及两大关键技术:加密算法的研究与设计和密码分析(或破译)。二者在理论上是矛盾的。设计密码和破译密码的技术统称为密码学。,11.2.1 对称密钥密码技术 对称密钥密码(Symmetric Key Cryptography)系统是一种传统的密码体制,其加密和解密用的是相同的密钥,即K=K,可确保用解密密钥K能将密码译成明文,DKEK(P)=P。早期传统的密码体制常采用替换法和易位法。在此基础上,美国在1977年将IBM研制的组合式加密方法数据加
7、密标准(DES,Data Encryption Standard)列为联邦信息标准,该标准后又被ISO定为数据加密标准。 对称密钥密码技术从加密模式上又可分为序列密码和分组密码。,1.序列密码 序列密码的基本原理是:通过有限状态机产生高品质的伪随机序列,对信息流逐位进行加密,得出密文序列,其安全强度完全取决于所产生的伪随机序列的品质。序列密码一直是在外交和军事场合涉密所用的基本技术之一。 2.分组密码 分组密码的基本原理是:将明文以组(如64比特为一组)为单元,用同一密钥和算法对每一组进行加密,输出也是固定长度的密文。DES密码算法的输入为64比特明文,密钥长度为56比特,密文长度为64比特,
8、如图11.2.2所示。,图11.2.2 DES加密算法框图,64比特明文P首先进行初始易位后得P0,其左半边32比特和右半边32比特分别记为L0和R0,然后再经过16次迭代。若用Pi表示第i次迭代的结果,同时令Li和Ri分别为左半边32比特和右半边32比特,则从图中可见,,(11.1),(11.2),式中,i=1,2,16;Ki是48比特的密钥,是从原始的64比特密钥K经过多次变换而成的。式(11.2)称为DES加密方程,在每次迭代中要进行函数F的变换、模2加运算以及左右半边的互换。在最后一次迭代之后,左、右半边没有互换,这是为了使算法既能加密又能解密。最后一次变换是逆变换,其输入为R16L1
9、6,输出为64比特密文C。,DES加密中起核心作用的是函数F。它是一个复杂的变换,先将F(Ri-1,Ki)中的Ri-132比特变换扩展为48比特,记为E(Ri-1),再将其与48比特的Ki按模2相加,所得的48比特结果顺序地分为8个6比特组B1,B2,B8,即,(11.3),然后将6比特长的组经过S变换转换为4比特的组,或写成BjSj(Bj),其中,j=1,2,8。再将8个4比特长的Sj(Bj)按顺序排好,再进行一次易位,即得出32比特的F(Ri-1,Ki)。 解密的过程与加密相似,但16个密钥的顺序正好相反。,DES的保密性取决于密钥的保密,其算法是公开的,DES可提供7.21016个密钥,
10、如用每秒百万次运算的计算机来对DES加密装置破译,则需运算2000年。DES可以用软件或硬件实现,AT&T首先用LSI芯片实现可DES的全部工作模式,即数据处理加密机DEP。在1995年,DES的原始形式被攻破,但修改后的形式仍然有效。对Lai和Massey提出的IDEA(Intetnational Data Encryption Algorithm),目前尚无有效的攻击方法进行破译。另外,MIT采用了DES技术开发的网络安全系统Kerberos在网络通信的身份认证上已成为工业中的事实标准。,11.2.2 非对称密钥密码技术 非对称密钥密码(Asymmetric Key Cryptograph
11、y)系统中有两把密钥K和K。每个通信方进行保密通信时,通常将加密密钥K公布(称为公钥,Public Key),而保留秘密密钥K(称为私钥,Privacy Key),所以人们习惯称之为公开密钥技术。显然,公开密钥算法的复杂度比传统的加密方法高得多。,公开密钥的概念是在1976年由Diffie和Hellman提出的。目前常用的公开密钥算法是RSA算法,该算法由Rivest、Shamir和Adleman三人提出,常用于数据加密和数字签名。数字签名标准(DSS,DigitalSignatureStandard)算法可实现数字签名但不提供加密,而最早Diffie和Hellman提出的算法是基于共享密钥的
12、,既无签名又无加密,通常与传统密码算法共同使用。这些算法的复杂度各不相同,提供的功能也不完全一样。,使用最广泛的MIT(麻省理工)的RSA算法有其公开密钥系统的基本特征,如: (1)若用PK(公开密钥,即公钥)对明文P进行加密,再用SK(秘密密钥,即私钥)解密,即可恢复出明文,即 P=DSKEPK(P) (2)加密密钥PK不能用于解密,即 DPKEPK(P)P (3)从已知的PK不能推导出SK,但有利于计算机生成SK和PK。,(4) 加密运算和解密运算可以对调,即 EPKDSK(P)=P 根据这些特征,在公开密钥系统中,可将PK作成公钥文件发给用户,若用户A要向用户B发送明文M,只需从公钥文件
13、中查到用户B的公钥,设为PKB,然后利用加密算法E对M加密,得密文C=EPKB(M)。B收到密文后,利用只有B用户所掌握的解密密钥SKB对密文C解密,可得明文M=DSKBEPKB(P)。任何第三者即使截获C,由于不知道SKB,也无从解得明文。,RSA系统的理论依据是著名的欧拉定理:若整数a和n互为素数,则a(n)=1(modn),其中,(n)是比n小且与n互素的正整数个数。 RSA公开密钥技术的构成要点如下: (1)取两个足够大的秘密的素数p和q(一般至少是100位以上的十进制数)。 (2)计算n=pq,n是可以公开的(事实上,从n分解因子求p和q是极其费时的)。 (3)求出n的欧拉函数z=(
14、n)=(p-1)(q-1)。 (4)选取整数e,满足e,z=1,即e与(n)互素,e可公开。 (5)计算d,满足de=1(modz),d应保密。,为了理解RSA算法的使用,现举一个简单的例子,若取p=3,q=11,则计算出n=33,z=20。由于7与20没有公因子,因此可取d=7,解方程7e=1(mod20)可以得e=3。当发送方发送字符S时,如图11.2.3所示,其数字值设为19,则密文C=Me(modn)=193(mod33)=28。在接收方,对密文进行解密,计算M=Cd(modn)=287(mod33)=19,恢复出原文。其他字母如U、Z、A、N、N、E的加密与解密处理过程可参看图11.
15、2.3。,图11.2.3 RSA算法示例,在RSA的实际应用中,安全套接字层(SSL,Security Socket Layer)所选用的p和q的值为128位十进制数,则n大于10256。 RSA算法的时间复杂度O为 O=expsqrtlnnln(lnn) 若n为200位十进制数,则选用超高速计算机(107次/秒)处理密文,约需3.8108年。,11.3 用户身份认证,身份认证(Authentication)是建立安全通信的前提条件。用户身份认证是通信参与方在进行数据交换前的身份鉴定过程。鉴定通信参与方有无合法的身份常采用身份认证协议来实现。身份认证协议是一种特殊的通信协议,它定义了参与认证服
16、务的通信方在身份认证的过程中需要交换的所有消息的格式、语义和产生的次序,常采用加密机制来保证消息的完整性、保密性。,口令(Password)是一种最基本的身份认证方法,但口令仅在本地显示时表示为不可见,在网络中是以明码(ASCII)传送的,容易遭受在线攻击或离线攻击。如今Win2000已提供了对口令在传输时进行加密的措施。 另一种身份认证技术是身份认证标记,如IC智能卡,即PIN保护记忆卡。PIN记录了用户识别号,通过读卡设备将PIN读入,经鉴别有效后才能进行通信。 基于密码学原理的密码身份认证协议可提供更多的安全服务,如共享密钥认证、公钥认证和零知识认证等。,11.3.1 基于共享秘密密钥的用户认证协议 假设在A和B之间有一个共享的秘密密钥KAB,当A要求与B进行通信时,双方可采用如图11.3.1所示的过程进行用户认证。,图11.3.1 基于共享秘密密钥算法的用户认证,(1)A向B发送自己