密码编码学与网络安全——原理与实践笔记<一>

第一章 计算机与网络安全的概念

1.密码算法与协议的四个主要领域:

对称加密:加密任意大小的数据块或数据流的内容,包括消息、文件、加密密钥和口令;

非对称加密:加密小数据块,如加密密钥或数字签名中使用的散列函数值;

数据完整性算法:保护数据块(如用于告警的信息)的内容不被修改;

认证协议:基于密码算法设计的认证方案,用来认证实体的身份。

2.NIST针对计算机安全的定义:

对于一个自动化的信息系统,采取保护措施确保信息系统资源(包括硬件、软件、固件、信息/数据和通信)的完整性、可用性和保密性。

保密性Confidentiality:包含数据保密性(确保隐私或私密信息不向非授权者泄漏,也不被非授权者使用)和隐私性(确保个人能够控制或确定与其自身相关的哪些信息是可以被收集保存的,这些信息可以由谁来公开以及向谁公开);

完整性Integrity:包含数据完整性(确保信息和程序只能以特定和授权的方式进行改变)和系统完整性(确保系统以一种正常方式来执行预定的功能,免于有意或无意的非授权操纵);

可用性Availability:确保系统能工作迅速,对授权用户不能拒绝服务。

以上的三个概念构成了CIA三元组,这三个概念作为信息和信息系统的三个安全目标:

保密性:对信息的访问和公开进行授权限制,包括保护个人隐私和秘密信息。保密性缺失的定义是信息的非授权泄漏;

完整性:防止对信息的不恰当修改或破坏,包括确保信息的不可否认性和真实性。完整性缺失的定义是对信息的非授权修改和毁坏;

可用性:确保及时和可靠地访问与使用信息。可用性缺失是对信息和信息系统访问和使用的中断。

除了CIA三元组之外,还有两个常被提及的概念:

真实性Authenticity:对传输信息来说,信息和信息的来源是正确的,也就是说,能够验证那个用户是否是他声称的那个人,以及系统的每个输入是否均来自可信任的来源;

可追溯性Accountability:要求实体的行为可以唯一追溯到该实体。系统必须保留实体的活动记录,以便进行事后的审计分析,进而跟踪安全事件或解决争执。

3.安全攻击

①被动攻击:被动攻击的特性是对传输进行窃听和监测,攻击者的目标是获得传输的信息,信息内容的泄露和流量分析都属于被动攻击。

 

 

 

这其中的流量分析:假设我们使用某种方法隐藏了消息内容或者其他信息流量,攻击者即使截获了消息也无法从消息中获得信息,但即使这样,攻击者仍具有可能获取这些消息的一些模式,攻击者可以确定通信主机的身份和位置,可以观察传输消息的频率和长度,利用这些信息来判断通信的某些性质。

被动攻击不涉及对数据的更改,因此很难被觉察。通常,信息流在被正常发送和接收时,收发双方都不会意识到有第三方已经获取了消息或流量模式。对于这样的攻击,通常可以使用加密方法来阻止,因此对于被动攻击,重点应该是预防而不是检测(检测难度大)。

②主动攻击:包括对数据流进行修改或伪造数据流,具体分为四类:伪装、重放、消息修改和拒绝服务。

 

 

 

伪装:某实体伪装成其他实体(对应图中的路径②),伪装攻击通常还包含其他形式的主动攻击,例如截获认证信息,在认证信息完成合法验证之后进行重放,无权限的实体就可以通过冒充有权限的实体来获得额外的权限;

重放:指攻击者未经授权地将截获的信息再次发送;

消息修改:指未经授权修改合法消息的一部分,或者延迟消息的传输,或者改变消息的顺序;

拒绝服务:指阻止或进制对通信设施的正常使用或管理,这种攻击可能针对的是具体的目标,例如,某实体可能会查禁所有发向某目的地的消息,拒绝服务的另一种形式是破坏整个网络,降低其性能或者直接使其网络失效。

主动攻击相对被动攻击有一些不同的特性:被动攻击难以被检测,但是可以被预防;但是由于物理通信设施、软件和网络自身潜在弱点的多样性,主动攻击难以绝对预防,所以对于主动攻击,重点在于检测并从攻击造成的破坏或延迟中恢复过来。

4.安全服务

 

 

 

①认证:认证服务用以保证通信的真实性。首先在连接的初始化阶段,认证服务保证两个实体是可信的;其次,认证服务必须保证该连接不受第三方的干扰(第三方能够伪装成两个合法实体中的一个进行非授权的传输或接收)。

对等实体认证:为连接中的对等实体提供身份确认,不同系统中两个实体执行相同的协议时,认为他们是对等的,例如TCP。用于连接的建立或数据传输阶段,目标:一个实体没有试图进行伪装或对以前的连接进行非授权重放;

数据源认证:为数据的来源进行确认,对数据的复制或修改并不提供保护,这种服务支持电子邮件这样的应用,在这种应用的背景下,通信实体在通信前未预先进行交互,可以用于无连接传输。

②访问控制:实体必须被识别或认证之后,才能获取相应的访问权限。

③数据保密性:保密性是指防止传输的数据遭到被动攻击,因此也要对流量分析进行防范,这也就要求攻击者不能观察到消息的源地址和目的地址、频率、长度或通信设施上的其他流量特征。

④数据完整性:和保密性相同完整性可以被应用于消息流、单条消息或消息的指定部分,同样,最有用也最直接的方法是对整个数据流提供保护。完整性服务还分为可恢复的服务和无恢复的服务,这是因为数据完整性主要和主动攻击有关,我们更加关注的是检测而不是预防或阻止攻击,在检测到数据完整性受到攻击之后,我们可以使用软件或人工对被破坏的部分进行修复。

⑤不可否认性:防止发送方或接收方否认传输或接收过某条消息,因此消息发出后,接收方能证明消息是由声称的发送方发出的,同样,消息被接收之后,发送方也能证明消息确实被声称的接收方收到。

⑥可用性服务:根据系统的性能说明,系统资源可被授权实体请求访问或使用。

5.安全机制

 

 

安全机制分为两类:在特定协议层(如TCP或应用层协议)实现的特定安全机制,和不属于任何协议层或安全服务的普遍安全机制。

6.攻击面和攻击树

①攻击面:攻击面由系统中一系列可访问且可利用的漏洞组成,例如:

向外部Web和其他服务器开放的端口,以及监听这些端口的代码;

防火墙内部可用的服务;

处理传入的数据、邮件、XML文件和企业特定的自定义数据交换格式的代码;

接口、SQL和Web表单;

易受社会工程攻击的可访问敏感信息的员工......

攻击面可以分为一下几类:

网络攻击面:涉及企业网络、广域网或互联网,包含网络协议的漏洞;

软件攻击面:涉及应用程序、工具包或操作系统代码,其中的重点是Web服务器软件;

人类攻击面:涉及由系统人员或外部人员造成的漏洞,如社会工程学、人为错误或被信任的内部人员。

②攻击树:采用分支化、层次化表示来利用安全漏洞的可能技术集合的数据结构。

攻击的目的是造成安全事件,是攻击树的根节点,攻击者为了达到这一目的所采用的方法,被迭代增加地表示为攻击树上的分支和子节点,每个子节点定义一个子目标,而每个子目标又可能有其更加细化的子目标。每个叶子节点表示发动攻击的不同方式。每个非叶子节点都是与节点或者或节点,为了完成某个与节点代表的目标,必须先完成其所有的子节点,同样的,或节点需要至少完成一个其子节点代表的目标。

构建攻击树的动机是为了更有效地利用关于攻击模式的可用信息。

7.网络安全模型

消息通过Internet服务从一方传送到另一方,而作为消息交换的主体,双方都必须和对方合作来保证交换的可靠,双方信息通过路由从源地址到目的地址,并协作使用通信协议,从而建立起一个逻辑通信通道。

所有提供安全的技术都包含以下两部分:

①对发送信息的安全变换:如加密消息、将消息打乱,使其变得不可读、基于消息内容,附加一段基于消息内容的编码,用来验证发送者的身份;

②被两个主体共享且不被攻击者知道的一些机密信息,如在传输之前用于加密信息、收到消息后用来解密消息的密钥。

设计安全模型应该包含以下四个方面的内容:

①设计一个算法,执行与安全相关的变换,该算法是攻击者无法攻破的;

②产生算法使用的秘密信息;

③设计分配和共享秘密信息的方法;

④指明通信双方使用的协议,该协议利用安全算法和秘密信息实现安全服务。

posted @ 2022-02-02 11:29  aLieb  阅读(506)  评论(0编辑  收藏  举报