第一章 信息与网络安全概念
学习目标
1.描述保密性、完整性和可用性的关键安全需求。
2.讨论必须应对的安全威胁和攻击类型,举例说明适用于不同计算机和网络资产的威胁与攻击类型。
3.概述无密钥、单密钥和双密钥加密算法。
4.概述网络安全的主要领域。
5.描述信息安全的信任模型。
6.列出和简要描述与密码标准相关的组织。
目录
1.1 网络空间安全、信息安全与网络安全
网络空间安全(cybersecurity):网络空间安全是指对在计算机、其他数字设备及网络设备和传输线路(包括Internet)的网络系统中储存、传输和处理的信息的保护。保护包括保密性、完整性、可用性、真实性、可用性和可审计性。保护方法包括组织策略、程序,以及技术手段,如加密和安全通信协议。
信息安全:是指保留信息的保密性、完整性和可用性。另外,还涉及其他属性,如真实性、可审计性、不可否认性和可靠性。
网络安全:是指保护网络及其服务免遭未经授权的修改、破坏或泄露,并提供网络正确执行其关键功能且没有有害作用的保证。
1.1.1 安全目标
网络空间安全的定义引入了三个关键目标,这些目标是信息和网络安全的核心
1.保密性(Confidentiality)该术语包含两个相关的概念:
数据保密性 确保隐私或秘密信息不向非授权者泄密,也不被非授权者使用。
隐私性 确保个人能够控制或确定与其自身相关的哪些信息是可以被收集、被保存的,以及这些信息可以由谁来公开及向谁公开。
2.完整性(Integrity)该术语包含两个相关概念:
数据完整性 确保信息(包括储存的信息和传输的数据包)和程序只能以特定和授权的方式进行改变。这个概念还包括:数据真实性,这意味着一个数据对象确定是它所声称的或被声称的对象;不可否认性,即保证向信息的发送方提供交付证明并向接收方提供发送方身份的证明,以便以后无论是发送方还是接收方都不能否认其已经处理了该信息。
系统完整性 确保系统以一种正常的方式执行预定的功能,免于有意或无意的非授权操作。
3.可用性(Availability)确保系统能够及时运行,对授权用户不能拒绝服务。
这三个概念组成了我们常称的CIA三元组,体现了数据、信息和计算服务的基本安全目标。虽然CIA三元组对安全目标的定义非常清晰,但在某些安全领域中还需要额外的一些安全概念来呈现完整的安全定义,其中有两个常被提及的概念如下。
真实性(Authenticity)一个实体是真实的、可被验证的和可被信任的特性;对传输信息来说,信息和信息源是正确的。也就是说,能够验证用户是否是他声称的那个人,以及系统的每个输入是否均来自可信任的信源。
可审计性(Accountability)这一安全目标要求通过实体的行为可以唯一追溯到该实体。这一属性支持不可否认性、阻止、故障隔离、入侵检测和预防、事后恢复,以及法律诉讼。由于真正安全的系统仍然是不可实现的,因此我们必须能够追查到对安全漏洞负有责任的一方。系统必须保留其活动的记录,以便以后进行举证分析,并追踪安全漏洞或解决争执。
1.1.2 信息安全的挑战
1.2 OSI安全架构
OSI安全架构出现的原因:为了有效地评价一个机构地安全要求,并对各种安全产品和政策进行评价与选择,负责安全地管理员需要以某种系统的方法来定义安全要求,并描述满足这些要求的措施。
OSI安全架构主要关注安全攻击、安全机制和安全服务
安全攻击: 任何危机信息系统安全的行为。
安全机制: 用来检测、阻止攻击或从攻击状态恢复到正常状态的过程(或实现该过程的设备)。
安全服务: 加强数据处理系统和信息传输的的安全性的一种处理过程或通信服务,目的是利用一种或多种安全机制阻止攻击。
“威胁”和“攻击”的含义:
威胁:具有破环安全的潜在可能的任何情况或事件,这些破坏通过对信息系统的非授权访问、毁坏、泄露、消息篡改和/或拒绝服务,对组织运营(包括任务、智能、形象和声誉)、组织资产、个人、其他组织或国家产生不利影响。
攻击: 任何试图收集、破坏、拒绝、降级或破坏信息系统资源或信息本身的恶意活动。
1.3 安全攻击
1.3.1 被动攻击
被动攻
击的特性是对传输进行窃听和监测。攻击者的目标是获得传输的信息。信息内容泄露和流量分析都属于被动攻击。流量分析(它有些微妙。假设我们使用方法隐藏了消息内容或其他信息流量,攻击者即使截获了消息也无法从消息中获得信息。加密是隐藏内容的常用技巧。但是,即使我们对消息进行了恰当的加密保护,攻击者仍然具有可能获取这些消息的一些模式。攻击者可以确定通信主机的身份和位置,可以观察到传输消息的频率和长度。攻击者可以利用这些信息来判断通信的某些性质。)
被动攻击由于不涉及对数据的更改,因此很难被察觉。通常,信息流在被正常发送和接受时,收发双方都不会意识到第三方获取了消息或流量模式。但是,我们通常可以使用加密方法来阻止攻击者的这种攻击。因此,对于被动攻击,重点是预防而非检测。
1.3.2 主动攻击
主动攻击包括对数据流进行篡改或伪造数据流,具体分为伪装、重放、消息篡改和拒绝服务4类。
伪装是指某个实体假装成其他实体。伪装攻击通常还包含其他形式的主动攻击。例如,截获认证信息,并在认证信息完成合法验证后进行重放,无权限的实体就可冒充有权限的实体获得额外的权限。
重放是指攻击者未经授权就将截获的信息再次发送。
消息篡改是指未经授权地修改合法消息地一部分,或延迟消息的传输,或改变消息的顺序。例如,将消息"Allo John Smith to read confidential file accounts"修改为"Allow Fred Brown to read confidential file accounts".
拒绝服务阻止或禁止对通信设施的正常使用或管理。这种攻击针对的可能是具体的目标。比如,某实体可能会查禁所有发向某个目的地(如安全审计服务)的消息。拒绝服务的另一种形式是破坏整个网络,或者使网络失效,或者使网络过载以降低其性能。拒绝服务采取两种形式:1)用大量数据淹没服务器。2)在服务器上触发一些消耗大量计算资源的动作。
主动攻击重点在于检测并从攻击造成的破坏或延迟中恢复过来。
1.4 安全服务
安全服务是支持一个或多个安全需求(保密性、完整性、可用性、真实性和可审计性)的功能。安全全服务通过安全机制来实现安全策略。
1.4.1 认证
认证服务用以保证通信的真实性。在单条消息的情况下,如一条警告或一个报警信号,认证服务功能向接收方保证消息确实来自其所声称的发送方。对正在进行的通信,如终端和主机连接,会涉及发送方和接收方两个主体。首先,在连接的初始化阶段,认证服务保证两个实体是可信的,也就是说,每个实体都是其声称的实体。其次,认证服务必须保证该连接不受第三方干扰,这种干扰是指第三方伪装成两个合法实体中的一个进行非授权传输或接受。
包括:对等实体认证,数据源认证
1.4.2 访问控制
在网络安全中,访问控制是指限制和控制那些通过通信连接对主机与应用进行访问的能力。因此,每个试图获得访问控制的实体必须被识别或认证后才能获取相应的访问权限。
1.4.3 数据保密性
保密性是指防止传输的数据遭到被动攻击。数据传输的保护可以分成不同的层级。最广泛的服务在一段时间内为两个用户间传输的所有用户数据提供保护。
保密性的另一个方面是防止流量分析。这个要求攻击者不能观察到消息的源地址与目的地址、频率、长度或通信设施上的其他流量特征。
1.4.4 数据完整性
消息与保密性一样,完整性可以应用于消息流、单条或消息的指定部分。同样,最有用、最直接的方法是对整个数据流提供保护。
面向连接的完整性服务(用于处理消息流)保证收到的消息和发出的消息是一致的,保证消息未被复制、插入、修改、重新排序或重放。该服务还涉及对数据的破坏。因此,面向连接的完整性服务需要处理消息流的修改和拒绝服务两个问题。另一方面,无连接完整性服务(处理单条消息而不考虑任何上下文)通常只提供防止消息被修改的保护。
完整性服务还可分为可恢复性服务和不可恢复性服务。因为完整性服务和主动攻击有关,因此我们关心检测而非阻止攻击。如果检测到完整性遭到破坏,那么服务可以简单地报告这种破坏,并通过软件的其他部分或人工干预来恢复被破坏的部分。也可以使用一些机制来恢复数据完整性,我们将后文中看到。通常,自动恢复机制是一种更有吸引力的选择。
1.4.5 不可否认性
不可否认性防止发送方或接收方否认传输或接受过某条消息。因此,消息发出后,接收方能证明消息是由声称的发送方发出的。同样,消息接受后,发送方能够证明消息确实由声称的接收方收到。
1.4.6 可用性服务
可用性是系统的属性,或者是根据系统的性能说明,经授权的系统实体请求访问和使用的系统资源(即当用户请求服务时,若系统能够提供符合系统设计的这些服务,则系统是可用的)。很多攻击会导致可用性的损失或降级。对某些攻击,可以通过一些自动防御措施,如认证、加密来防止。而对其他一些攻击,则需要使用一些物理措施来阻止或恢复分布式系统中可用性被破坏的那部分的功能。
1.5 安全机制
密码算法 我们可以区分可你密码机制和不可逆密码机制。可逆加密机制只是一种加密算法,他首先对数据进行加密,然后解密。不可逆加密机制包括哈希算法和消息认证码,这些算法在数字签名和消息认证应用中使用。
数据完整性 涵盖各种用于确保数据单元或数据单元流的完整性的机制
数字签名 附加到数据单元或对数据单元进行密码转换的数据,可让数据单元的接受方证明数据单元的来源和完整性,以防止伪造。
认证交换 一种旨在通过信息交换来确认实体身份的机制。
流量填充 在数据流空隙中插入若干位以使阻止流量分析的方法
路由控制 允许为某些数据选择特定的物理或逻辑安全路由,并允许更改路由,尤其是在怀疑安全性收到破坏时。
公证 使用可信的第三方来确保数据交换的某些属性。
访问控制 执行对资源的访问权限的各种机制。
1.6 密码学
密码学是数学的一个分支,他涉及数据的变换。在信息安全和网路安全中使用加密算法的方式有多种。密码学是安全存储和数据传输以及各方之间安全交互的重要组成部分。本书第二部分到第五部分将专门讨论密码学,这里先给出简短的概述。
加密算法可以分为三类:
无密钥 密码转换中不使用任何密钥。(加密哈希函数,伪随机数生成器)
单密钥 转换的结果是输入数据和单个密钥(称为秘密密钥)的函数。(分组密码对称加密,流密码对称加密,消息认证码)
双密钥 在计算的不同阶段,使用两个不同但相关的密钥,这两个密钥分别称为私钥和公钥。(非对称加密,数字签名,密钥交换,用户认证)
1.6.1 无密钥算法
无密钥算法是确定性函数,它具有对密码有用的某些特性。
无密钥算法的一种重要类型是加密哈希函数。哈希函数将变长的文本转换为一个小的定长值,后者称为哈希值、哈希码或摘要。加密哈希函数是一种具有额外属性的函数,它可以用作另一种加密算法的一部分,如消息认证码或数字签名。
伪随机数生成器产生确定性的、看起来像是真正的随机序列的数字序列或位序列。虽然序列看上去不存在任何固定的模式,但它会在一定的序列长度之后重复。尽管如此,这种随机序列对于某些密码学目的也已足够。
1.6.2 单密钥算法
单密钥加密算法依赖一个密钥的使用。这个密钥可能只有一个用户知晓,如数据创建者使用该密钥保护其存储的数据。通常,通信双方会共享一个密钥来保护彼此之间的通信。对一些特定的应用,两方以上的用户可以共享一个密钥。
使用单一密钥的加密算法被称为对称加密算法。在对称加密中,加密算法将要保护的数据和一个密钥作为输入,对这些数据产生难以理解的转换。对应的解密算法将转换的数据和同一个密钥作为输入,恢复原始的数据。对称加密的形式如下:
分组密码 分组密码将数据按一系列分组(块)进行处理。典型的分组大小位128位。大多数分组密码中的操作模式使得数据的转换不仅取决于当前数据的分组和密钥,而且取决于先前分组的内容。
流密码 流密码以位序列的形式对数据进行操作进行操作。比较典型的方式是使用异或运算逐位转换。于分组密码一样,转换依赖于密钥。
另一种单密钥加密算法是消息认证码(Message Authentication Code,MAC).MAC是关联数据分组或消息的一个数据单元。MAC使用密钥的加密转换生成,该转换通常是消息的加密哈希函数。MAC的设计使得拥有密钥的人可以验证消息的完整性。因此,MAC算法将消息和密钥作为输入,并且声称MAC。消息的接收方可以对消息执行相同的计算;若算出MAC与消息附带的MAC匹配,则可以确保该消息违背篡改。
1.6.3 双密钥算法
双密钥算法使用两个相关的密钥。私钥只对单个用户或实体是已知的,相应的公钥对许多用户是公开的。使用双密钥的加密算法被称为非对称加密算法。非对称加密可以按照如下两种方式使用。
1.加密算法以被保护的数据和私钥作为输入,对数据产生不可辨识的转换。相应的解密算法将转换后的数据和对应的公钥作为输入,恢复原始数据。在这种方式下,只有私钥拥有者才能执行加密,公钥拥有者只能执行解密。
2.加密算法以被保护的数据和公钥作为输入,对数据产生不可辨识的转换。相应的解密算法将转换后的数据和相应的私钥作为输入,恢复原始数据。在这种方式下,任何公钥拥有者都可以执行加密,但只有私钥拥有者才能执行解密。
非对称加密的应用很多。最重要的应用之一是数字签名算法。数字签名使用加密算法算出的值,并于数据对象相关联,以使数据的任何接受方都可使用签名来验证数据的来源和完整性。通常,数据对象的签名者使用其私钥来生成签名,拥有相应公钥的任何人都可以验证签名的有效性。
非对称加密算法还有其他两类重要的应用:密钥交换,即在两方或多方之间安全地分发一个对称密钥;用户认证,即对尝试访问应用程序或服务地用户身份进行身份认证,类似地,要对应用程序或服务地真实性进行身份认证。这些概念将在后续章节中详细介绍。
1.7 网络安全
网络安全是一个广义术语,它涵盖网络通信路径地安全,网络设备地安全及连接到网络地设备地安全。
1.7.1 通信安全
在网络安全环境下,通信安全涉及对网络通信的保护,包括针对被动攻击和主动攻击进行防护的措施。
通信安全主要使用网络协议来实现。网络协议由控制网络中各点之间数据传输和接受的格式与过程组成。协议定义了各个数据单元(如数据包)的结构及管理数据传输的控制命令。
关于网络安全,安全协议可以是现有协议或独立协议的一部分的增强。
所有这些协议的一个共同特征是,使用许多加密算法作为提供安全性机制的一部分。
1.7.2 设备安全
网络安全的另一方面是保护网路设备(如路由器和交换机)及连接到网络的终端系统(如客户端和服务器)。主要的安全问题是入侵者可以访问系统来执行未经授权的操作,植入恶意软件,或者耗尽系统资源以降低系统的可用性。三类主要的设备安全如下。
防火墙 一种硬件和/或软件功能,可以根据特定的安全策略限制网络与连接到网络的设备之间的访问。防火墙充当过滤器,使用基于流量内容和/或流量模式的一组规则来允许或拒绝传入和传出的数据流量。
入侵检测 硬件或软件产品,可以收集和分析计算机或网络中各个区域的信息,以便查找试图以未经授权的方式访问系统资源的尝试,并提供实时或接近实时的警告。
入侵防御 旨在检测入侵活动并尝试停止该活动的硬件或软件产品,最好实在入侵活动到达攻击目标之前进行阻止。
这 些设备安全功能与网络安全相比,与计算机安全领域关系更紧密。
1.8 信度与可信度(新增)
1.8.1 信任模型
信任的定义如下:信任是一方(信任方)对另一方(被信任方)的基于期望的意愿,这种期望易受被信任方行为的影响。信任方的期望不管是否被监视或被控制,被信任方都会执行对信任方重要的特定操作。
与信任模型相关的三个概念如下。
可信度 实体信任的一个特性,反映该实体被信任的程度
信任倾向 信任倾向是在广泛的范围和信任目标中信任目标中信任他人的趋势。这表明每个人都有一定程度的信任度,因此会影响该人依赖他人的言语和行为的意愿。
风险 衡量实体受到潜在情况或事件威胁的程度。通常可以用一个函数表示,该函数有两个参数,包括:(1)情况或事件发生产生的不利影响;(2)发生的可能性。
信任是信任方的信任倾向和被信任方的可信度的函数。信任倾向也可以表示为实体(个人或组织)准备承受的风险级别,
通常,信任方使用多个因素来建立对实体的可信度,其中以下三个因素是被经常提及的。
能力(Ability) 也称技能(Competence),它与被评估实体执行给定任务或被委托给定信息的潜能有关,
善意(Benevolence) 指定信任方对信任方的善意处置意向。也就是说,值得信赖的一方无意对该信赖方造成伤害。
完整性(Integrity) 定义为信任方对被信任方遵守其认为可以接受的一组原则的看法。完整性意味着善意的一方采取这种措施是必要的,以确保它不会对信任方造成伤害。
在图1.6所示的信任模型中,信任的目标是确定信息方相对被信任方愿意采取的行动方式(如果有的话)。根据信任级别和感知到的风险,信任方可以决定采取某种程度的冒险措施。冒险的结果可能依赖于被信任方执行的某些操作,或依赖于向信任方披露的信息,且该信息会受到双方约定好的保护。
1.8.2 信任模型和信息安全
信任是指对实体以不损害由其组成的系统的用户安全的方式执行的信心。信任始终限于特定的功能或行为方式,并且仅在安全策略的上下文中才有意义。通常,当我们说一个实体(第一个实体)信任另一个实体(第二个实体)时,指的是这个实体(即前述的第二个实体)的行为与第一个实体期望的一致。在这种情况下,术语”实体”可以是一个硬件组件或软件模块,通过品牌和型号标识的设备,站点或位置,或组织。
个人的可信度 组织包括内部用户(雇员、现场承包商)及其信息系统的外部用户(客户、供应商)。对于内部用户,组织需要根据如下两方面的政策为他们授权信任层级。
人力资源安全 安全实践表明,信息安全要求嵌入员工雇佣期的每个阶段,要说明员工入职、日常管理和离职期间的安全相关动作。人力资源安全还要明确信息的拥有者(包括保护信息的责任),以便雇员确实能够理解和接受。
安全意识和培训 向包括向IT员工,IT安全员工,管理员,IT用户和其他雇员在内的所有雇员传播安全信息。具有较高安全意识和经过适当安全培训的全体员工非常重要。
对于外部用户,信任取决于环境。一般来说,感受到的信任因素和信任者的倾向决定了信任的层级,如图1.6所示。此外,信任是双向的。也就是说,不仅组织要确定对外部用户的信任层级,而且外部用户也要关心其对所用信息资源的信任度。这种互信涉及许多实际的后果,包括使用公钥基础设施和用户身份认证协议。这些内容将在第五部分详细介绍。
组织的可信度 大多数组织或多或少地依赖于信息系统服务、外部组织提供的信息及合作伙伴来完成任务和业务职能。例如,云服务提供商和公司构成了组织供应链的一部分。为了管控风险,组织必须与这些外部组织建立信任关系。
这种信任关系可以是:1.在合同、服务级别协议、工作说明、协议/谅解备忘录或互连安全协议中记录与信息有关的信息而正式建立的。
2.可扩展的、组织间的或组织内的。
3.两个伙伴之间的简单(双边)关系或许多不同伙伴之间的更复杂的多对多关系。
建立和维护信任的要求取决于:任务/业务要求,信任关系涉及的参与者,共享信息的关键性/敏感性或提供的服务类型,组织之间的历史记录,以及参与组织的总体风险。
与个人一样,与组织有关的信任也涉及使用公钥基础设施和用户身份认证,以及第六部分中描述的网路安全措施。
信息系统的可信度 SP800-39将信息系统的可信度定义为期望信任系统(包括构建系统所依据的信息技术产品)在多大程度上保持所处理、存储或传输的信息在各种威胁情况下的保密性、完整性和可用性。影响信息系统可信度的两个因素是:
安全功能 系统内使用的安全特性/功能,包括本书中讨论的密码和网路安全技术。
安全保证 对安全功能在其应用中发生效用有信心的理由。此领域通过安全管理技术来保证,如审核并将安全考虑因素纳入系统开发生命周期。
1.8.3 建立信任关系
组织用于与各个实体建立信任关系的方法取决于多种因素,如法律法规、风险承受能力及关系的重要性和敏感性。SP 800-39中描述了以下方法:
验证的信任,直接历史信任,中介信任,强制信任
1.9 标准
美国国家标准与技术研究所(NIST)
因特网协会(Internet Society,ISOC)
ITU-T
ISO(ISO不是缩写,若为缩写,应写为IOS ,这是从希腊语延伸过来的单词,意思是“等于”)