530 likes | 818 Views
第 12 章 网络安全技术. 本章任务 网络安全概述 数据加密技术 身份认证和密钥分发 数字签名和报文摘要 防火墙技术 入侵检测. 12.1 网络安全概述. 网络安全是指保护网络系统中的软件、硬件及信息资源,使之免受偶然或恶意的破坏、篡改和泄露,保证网络系统的正常运行、网络服务不中断。 在美国国家信息基础设施( NII )的文献中,给出了安全的五个属性:可用性、机密性、完整性、可靠性和不可抵赖性。 ( 1 )可用性 可用性是指得到授权的实体在需要时可以得到所需要的网络资源和服务。 ( 2 )机密性
E N D
本章任务 • 网络安全概述 • 数据加密技术 • 身份认证和密钥分发 • 数字签名和报文摘要 • 防火墙技术 • 入侵检测
12.1 网络安全概述 • 网络安全是指保护网络系统中的软件、硬件及信息资源,使之免受偶然或恶意的破坏、篡改和泄露,保证网络系统的正常运行、网络服务不中断。 • 在美国国家信息基础设施(NII)的文献中,给出了安全的五个属性:可用性、机密性、完整性、可靠性和不可抵赖性。 • (1)可用性 • 可用性是指得到授权的实体在需要时可以得到所需要的网络资源和服务。 • (2)机密性 • 机密性是指网络中的信息不被非授权实体(包括用户和进程等)获取与使用。
(3)完整性 • 完整性是指网络信息的真实可信性,即网络中的信息不会被偶然或者蓄意地进行删除、修改、伪造、插入等破坏,保证授权用户得到的信息是真实的。 • (4)可靠性 • 可靠性是指系统在规定的条件下和规定的时间内,完成规定功能的概率。 • (5)不可抵赖 • 不可抵赖性也称为不可否认性。是指通信的双方在通信过程中,对于自己所发送或接收的消息不可抵赖。
12.1.1 主要的网络安全威胁 • 所谓的网络安全威胁是指某个实体(人、事件、程序等)对某一网络资源的机密性、完整性、可用性及可靠性等可能造成的危害。
通信过程中的四种攻击方式: • 截获:两个实体通过网络进行通信时,如果不采取任何保密措施,第三者可能偷听到通信内容。 • 中断:用户在通信中被有意破坏者中断通信。 • 篡改:信息在传递过程中被破坏者修改,导致接收方收到错误的信息。 • 伪造:破坏者通过传递某个实体特有的信息,伪造成这个实体与其它实体进行信息交换,造成真实实体的损失。
其它构成威胁的因素 • (1)环境和灾害因素:地震、火灾、磁场变化造成通信中断或异常; • (2)人为因素:施工造成通信线路中断; • (3)系统自身因素:系统升级、更换设备等。
12.1.2 网络安全策略 • 安全策略是指在某个安全区域内,所有与安全活动相关的一套规则。 • 网络安全策略包括对企业的各种网络服务的安全层次和用户的权限进行分类,确定管理员的安全职责,如何实施安全故障处理、网络拓扑结构、入侵和攻击的防御和检测、备份和灾难恢复等内容。我们通常所说的安全策略主要指系统安全策略,主要涉及四个大的方面:物理安全策略、访问控制策略、信息加密策略、安全管理策略。
12.1.3 网络安全模型 • 1.P2DR安全模型 • P2DR模型是由美国国际互联网安全系统公司提出的一个可适应网络安全模型(Adaptive Network Security Model)。 • P2DR包括四个主要部分,分别是:Policy——策略,Protection——保护,Detection——检测,Response——响应。
从P2DR模型的示意图我们也可以看出,它强调安全是一个在安全策略指导下的保护、检测、响应不断循环的动态过程,系统的安全在这个动态的过程中不断得到加固。因此称之为可适应的安全模型。从P2DR模型的示意图我们也可以看出,它强调安全是一个在安全策略指导下的保护、检测、响应不断循环的动态过程,系统的安全在这个动态的过程中不断得到加固。因此称之为可适应的安全模型。 • P2DR模型对安全的描述可以用下面的公式来表示: • 安全=风险分析+执行策略+系统实施+漏洞监测+实时响应
2.PDRR安全模型 • PDRR模型是美国国防部提出的“信息安全保护体系”中的重要内容,概括了网络安全的整个环节。PDRR表示Protection(防护)、Detection(检测)、Response(响应)、Recovery(恢复)。 • 这四个部分构成了一个动态的信息安全周期。
12.2 数据加密技术 • 12.2.1 数据加密方法 • 在传统上有几种方法来加密数据流。所有这些方法都可以用软件很容易的实现,但是当只知道密文的时候,是不容易破译这些加密算法的(当同时有原文和密文时,破译加密算法虽然也不是很容易,但已经是可能的了)。最好的加密算法对系统性能几乎没有影响,并且还可以带来其他内在的优点。
比较简单的加密算法就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件,加密程序和解密程序都需要一个这样的“置换表”。比如,可以将单词的每一个字母顺延3个,将单词HELLO变换成KHOOR,接收方再反向解密。比较简单的加密算法就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件,加密程序和解密程序都需要一个这样的“置换表”。比如,可以将单词的每一个字母顺延3个,将单词HELLO变换成KHOOR,接收方再反向解密。 • 明文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z • 暗文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C • 这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了。更进一步讲,这种加密算法对于黑客破译来讲是相当直接的,只要找到一个“置换表”就可以了。
12.3 身份认证和密钥分发 • 认证即“验明正身”,用于确认某人或某物的身份。 • 在网络上,需要确认身份的对象大致可分为人类用户和物理设备两类。本节只介绍与人类用户身份认证有关的基本知识。 • 传统的认证,凭据一般是名称和一组秘密字符组合。前者称为标识(ID),后者称为密码(password)。进行认证时,被认证者需要提供标识(一般为用户名)和密码。这种认证方式是不可靠的,因为不能确保密码不外泄。 • 比较可靠的认证方式为加密认证。在这种方式下,被认证者不需要出示其秘密信息,而是采用迂回、间接的方式证明自己的身份。
12.3.1 密码和加密认证 • 1. 密码认证 • 密码认证(Password Based)方式普遍存在于各种操作系统中,例如在登录系统或使用系统资源前,用户需先出示其用户名与密码,以通过系统的认证。
2. 加密认证 • 加密认证(Cryptographic)可弥补密码认证的不足之处。在这种认证方式中,双方使用请求与响应(Challenge & Response)技巧来识别对方。
利用公用钥匙进行认证的过程与秘密钥匙相似,假设B的公用、私有钥匙分别为KB、Kb,认证过程如图12-2所示, 其中,R为请求值,X为响应值。 • 网络发证机关(CA,Certificate Authority)是专门负责颁发公用钥匙持有证书的机构。 其与网络用户的关系如图12-6所示
密钥产生及管理概述 • 一个密钥在生存期内一般要经历以下几个阶段: • 密钥的产生 • 密钥的分配 • 启用密钥/停有密钥 • 替换密钥或更新密钥 • 撤销密钥 • 销毁密钥
12.3.2 数据完整性验证 • 消息的发送者用要发送的消息和一定的算法生成一个附件,并将附件与消息一起发送出去; • 消息的接收者收到消息和附件后,用同样的算法与接收到的消息生成一个新的附件; • 把新的附件与接收到的附件相比较,如果相同,则说明收到的消息是正确的,否则说明消息在传送中出现了错误
(1)使用对称密钥体制产生消息认证码 • 发送者把消息m分成若干个分组(m1,m2…..mi),利用分组密密码算法来产生MAC,其过程如图12-8所示。
(2)使用散列函数来产生消息认证码 • 散列函数可以将任意长度的输入串转化成固定长度的输出串,将定长的输出串来做消息的认证码。 • 单向散列函数 • 单向散列函数(one-way hash function),也叫压缩函数、收缩函数,它是现代密码学的中心,是许多协议的另一个结构模块。 • 散列函数长期以来一直在计算机科学中使用,散列函数是把可变长度的输入串(叫做预映射,pre-image)转换成固定长度的输出串(叫做散列值)的一种函数 • 单向散列函数是在一个方向上工作的散列函数,即从预映射的值很容易计算出散列值,但要从一个特定的散列值得出预映射的值则非常难。
12.4 数字签名和报文摘要 • 数字签名实际上是附加在数据单元上的一些数据或是对数据单元所作的密码变换,这种数据或变换能使数据单元的接收者确认数据单元的来源和数据的完整性,并保护数据,防止被人(如接收者)伪造。
从图中可看出,数字签名的功能有三:可证明信件的来源;可判定信件内容是否被篡改;发信者无法否认曾经发过信从图中可看出,数字签名的功能有三:可证明信件的来源;可判定信件内容是否被篡改;发信者无法否认曾经发过信
数字签名的实现方法 • (1)使用对称加密和仲裁者实现数字签名 • (2)使用公开密钥体制进行数字签名 • 公开密钥体制的发明,使数字签名变得更简单,它不再需要第三方去签名和验证。签名的实现过程如下: • A用他的私人密钥加密消息,从而对文件签名; • A将签名的消息发送给B; • B用A的公开密钥解消息,从而验证签名;
12.5 防火墙技术 • 防火墙(firewall)是由软件、硬件构成的系统,用来在两个网络之间实施接入控制策略。接入控制策略是由使用防火墙的单位自行制订的,为的是可以最适合本单位的需要。 • 防火墙内的网络称为“可信赖的网络”(trusted network),而将外部的因特网称为“不可信赖的网络”(untrusted network)。防火墙可用来解决内联网和外联网的安全问题。
防火墙 不可信赖的网络 可信赖的网络 分组过滤 路由器R 分组过滤 路由器R 应用网关 G 因特网 内联网 外局域网 内局域网 • 防火墙的功能有两个:阻止和允许。“阻止”就是阻止某种类型的通信量通过防火墙(从外部网络到内部网络,或反过来)。“允许”的功能与“阻止”恰好相反。
防火墙技术一般分为两类 • (1) 网络级防火墙——用来防止整个网络出现外来非法的入侵。属于这类的有分组过滤和授权服务器。前者检查所有流入本网络的信息,然后拒绝不符合事先制订好的一套准则的数据,而后者则是检查用户的登录是否合法。 • (2) 应用级防火墙——从应用程序来进行接入控制。通常使用应用网关或代理服务器来区分各种应用。例如,可以只允许通过访问万维网的应用,而阻止 FTP 应用的通过。
12.5.1 防火墙原理 • 防火墙是建立在内外网络边界上的过滤封锁机制,内部网络被认为是安全和可信的,而外部网络(通常是Internet)被认为是不安全和不可信赖的.防火墙的作用是放逐不希望的、未经授权的通信进出被保护的内部网络,通过边界控制强化内部网络的安全政策。
防火墙一般安放在被保护网络的边界,这样必须做到以下几点,才能使防火墙起到安全防护的作用:防火墙一般安放在被保护网络的边界,这样必须做到以下几点,才能使防火墙起到安全防护的作用: • 所有进出被保护网络的通信必须通过防火墙。 • 所有通过防火墙的通信经过安全策略的过滤或者防火墙的授权。 • 防火墙本身是不可被入侵的。 • 总之,防火墙是在被保护网络和非信任网络之间进行访问控制的一个或者一组访问控制部件。防火墙是一种逻辑隔离部件,而不是物理的隔离,它所遵循的原则是,在保证网络畅通的情况下,尽可能的保证内部网络的安全。
12.5.2 防火墙的功能 • 访问控制功能 • 内容控制功能。 • 全面的日志功能。 • 集中管理功能。
12.5.3 边界保护机制 • 对防火墙而言,网络可以分为可信网络和不可信网络,可信网络和不可信网络是相对的,一般来讲内部网络是可信网络,互联网是不可信网络,但是在内部网络中,比如财务等一些重要部门网络需要特殊保护,在这里财务部等网络是可信网络,其它的内部网络就变成了不可信网络。
12.5.4 防火墙的局限性 • 安装防火墙并不能做到绝对的安全,它有许多防范不到的地方。 • 防火墙不能防范不经由防火墙的攻击。 • 防火墙不能防治感染了病毒的软件或文件的传输。 • 防火墙不能防止数据驱动式攻击。 • 反火墙不能防范恶意的内部人员。 • 防火墙不能防范不断更新的攻击方式。
12.5.5 防火墙的分类 • 1.包过滤技术 • 包过滤(packet filtering)技术是防火墙在网络层中根据数据包中包头信息实施有选择的允许通过或阻断。 • 2.应用网关技术 • 应用网关(application gateway)与包过滤防火墙不同,它不使用通用目标机制来允许各种不同种类的通信,而是针对每个应用使用专用目的的处理方法。
3.状态检测防火墙 • 状态检测(stateful inspection)防火墙现在应用十分广泛。 • 4. 电路级网关 • 电路级网关也被称之为线路级网关,它工作在会话层。
5.代理服务器技术 • 代理服务器(proxy server)工作在应用层,它用来提供应用层服务的控制,起到内部网络向外部网络申请服务时中间转接作用,内部网络只接受代理提出的服务请求,拒绝外部网络其他接点的直接请求。
12.6 入侵检测 • 12.6.1 基本概念 • 入侵检测是从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象的一种机制。入侵检测系统(intrusion detection system , IDE)使用入侵检测技术对网络与其上的系统进行监视,并根据监视结果进行不同的安全动作,最大限度地降低可能地入侵危害。简单地说,入侵检测系统工作过程是这样的:一个计算机系统与网络或互联网连接。
12.6.2 基本结构 • CIDF(common intrusion detection framework)通用入侵检测框架给出了一个入侵检测系统通用模型。CIDF将IDS(入侵检测技术)需要分析的数据统称为事件(event),它可以是基于网络的IDS从网络中提取的数据包,也可以是基于主机的IDS从系统日志等其它途径得到的数据信息。
CIDF组件之间的交互数据使用通用入侵检测对象(generalized intrusion detection objects,gido)格式,一个gido可以表示在一些特定时刻发生的一些特定事件,也可以表示从一系列事件中得出的一些结论,还可以表示执行某个行动的指令。 • 它将一个入侵检测系统分为如下组件:
12.6.3 入侵检测系统分类 • 1.基于主机的入侵检测系统 • 基于主机的入侵检测系统用于保护单台主机不受网络攻击行为的侵害,需要安装在被保护的主机上。 • 2.基于网络的入侵检测系统 • 基于网络的入侵检测系统通常是作为一个独立的个体放置于被保护的网络上,基于网络的入侵检测系统使用原始的网络分组数据包作为进行攻击分析的数据源,一般利用一个网络适配器来实现监视和分析所有通过网络进行的通信
3.基于内核的入侵检测系统 • 基于内核的入侵检测是一种较新的技术,它开始变得流行起来,特别是在Linux上。在Linux上目前可用的基于内核的入侵检测系统有两种,它们是Open Wall和LIDS(一种基于Linux内核的入侵检测和预防系统)。