密码学学习笔记【1】——计算机与网络安全概念


在进入了研究生生活之后,突然发现学校的导师的研究方向都是偏向密码学和网络安全的方向,作为密码学方面的小白,属实觉得密码学相关的书籍实在是太容易看完就忘了…所以以后每读一章就分享一篇读书笔记,在督促自己好好读书的同时,也希望能够帮助到其他刚刚入门密码学的人们。

密码与算法协议

密码与算法协议主要是分为以下四个领域:

对称加密:用于加密任意大小的数据块或数据流的内容,包括消息、文件、加密密钥以及口令,对称加密其实就是加密和解密都使用同样的密钥,包括DES、AES等。
非对称加密 : 用于加密小的数据块,比如加密密钥或者数字签名中使用的散列函数值,非对称加密就是加密和解密的密钥是不同的,比如非常重要的RSA加密,就是加密密钥为公钥,解密密钥为私钥,这种加密方式往往比对称加密有着更好的安全性,所以一般用于加密数据量不是很大,但是保密性要求非常高的信息。
数据完整性算法:保护数据块的内容不被修改。很多时候攻击者会对发送的信息进行篡改,从而达到攻击的目的,而数据完整性算法就是为了检测以及预防这种情况的发生。
认证协议: 基于密码算法设计的认证方案,用来认证实体的身份。有时候攻击者会伪装成系统管理员之类的角色,来套取我们的个人信息,而认证协议就是用于确保实体的身份,避免因为伪装而遭到攻击。

计算机安全的概念

密码学与计算机安全密不可分,计算机安全就是对于一个自动化的信息系统,采取保护措施确保信息系统资源(包括硬件、软件、固件、信息/数据和通信)的完整性。 了解了计算机安全的概念,我们才能知道很多密码要以什么目的设计,要通过什么方法设计,从而更好的学习密码学。

CIA三元组

CIA三元组代表了计算机安全最核心的三个关键目标,分别是:
保密性 :对信息的访问和公开进行授权限制,包括保护个人隐私和秘密信息。该术语包含两个相关的概念:

  • 数据保密性:确保隐私或秘密信息不向非授权者泄露,也不被非授权者使用。就是我们日常生活中所理解的保密。

  • 隐私性 :确保个人能够控制或确定与其自身相关的哪些信息是可以被收集的、被保存的,这些信息可以由谁来公开以及向谁公开。这一特性保证了个人对信息是有着足够的控制权。
    完整性 :防止对信息的不恰当修改或破坏,包括信息的不可否认性和真实性。该术语包含两个相关的概念:

  • 数据完整性 :确保信息和程序只能以特定和授权的方式进行改变。

  • 系统完整性 :确保系统以一种正常方式来执行预定的功能,免于有意或无语的非授权操作。
    可用性 :确保及时和可靠的访问与使用信息,对授权用户不能拒绝服务

真实性

这是一个CIA三元组以外经常提及的概念,真实性就是确保一个实体是真实的、可被验证的和可被信任的特性,也就是说能够验证那个用户是否是他声称的那个人,以及系统的每个输入是否均来自可信任的信源。

可追溯性

这也是一个CIA三元组以外经常被提及的概念,这一安全目标要求实体的行为可以唯一追溯到该实体,这一特性主要是用来追究责任,支持不可否认性、阻止、故障隔离、入侵检测和预防、事后恢复以及法律诉讼。

OSI安全架构

OSI 安全框架是一种系统化的定义方法,对安全人员来说,OSI安全框架是提供安全的一种组织方法,且作为国际标准开发,对于很多安全概念都做了很好的综述,OSI安全框架主要关注安全攻击安全机制安全服务

安全攻击

安全攻击主要分为以下两种:

被动攻击

被动攻击的特性是对传输进行窃听和监测,攻击者的目标是获得传输的信息。包括信息内容的泄露以及流量分析。
被动攻击由于不涉及对数据的更改,因此很难察觉,但是对于被动攻击,可以通过加密方法来进行阻止,所以对于被动攻击,重点在于预防而非检测。

流量分析:在我们已使用方法隐藏了信息内容或其他信息流量,攻击者在截获消息的情况下也无法从消息中获得消息,但攻击者仍可能获取这些消息的一些模式,比如主机的身份和位置、传输消息的频率和长度等信息,来判断通信的某些性质。

图1 被动攻击

主动攻击

主动攻击包括对数据流进行修改或伪造数据流,主动攻击难以预防,所以重点在于检测并从攻击造成的破坏或延迟中恢复过来。具体分为四类:

  • 伪装:即某实体假装成其他实体。例如截获认证信息,并在认证信息完成合法验证之后进行重放,无权限的实体就可通过冒充有权限的实体获得额外的权限。
  • 重放 :攻击者未经授权地将截获的信息再次发送。
  • 消息修改 : 未经授权地修改和发消息的一部分
  • 拒绝服务 :阻止或禁止对通信设施的正常使用或管理,这种攻击可能针对的是具体的目标,也可能是破坏整个网络,或者使网络失效,或者使网络过载以降低其性能。
    图2 主动攻击

安全服务

安全服务即在通信开放系统中,为系统或数据传输提供足够安全的协议层服务,通过安全机制来实现安全策略,主要分为5类共14个特定服务。

认证

认证服务用于保证通信的真实性

  • 在单条信息的情况下,认证服务功能向接收方保证消息确实来自其所声称的发送方。
  • 对于正在进行的通信,首先,在连接的初始化阶段,认证服务保证两个实体是可信的,其次,认证服务必须保证连接不受第三方的干扰

还包括两种特殊的认证服务:

  • 对等实体认证:对连接中的对等实体提供身份确认,用于连接的建立或数据传输阶段,保证一个实体没有试图进行伪装或对以前的链接进行非授权重放。
  • 数据源认证 :为数据的来源提供确认。

访问控制

访问控制是限制和控制那些通过通信连接对主机与应用进行访问的一种能力,每个试图获得访问控制的实体必须被识别或认证后,才能获取对应的访问权限。

数据保密性

数据保密性是为了防止传输的数据遭到被动攻击,另一方面是为了防止流量分析,这要求攻击者不能观察到消息的源地址与目的地址、频率、长度或通信设施上的其他流量特征。包括以下四个方面

  • 连接保密性:保护一次连接中所有的用户数据
  • 无连接保密性:保护单个数据块中的所有用户数据
  • 选择域保密性:对一次连接或单个数据块中指定的数据部分提供保密性
  • 流量保密性:保护那些可以通过观察流量获得的信息

数据完整性

保证收到的数据的确是授权实体发出的数据(即未修改、插入、删除或重播),主要包括五种具体的服务:

  • 具有恢复功能的连接完整性:提供一次连接中所有用户数据的完整性。检测整个数据序列内存在的修改、插入、删除或重播,并试图恢复。
  • 无恢复的连接完整性:同上,但仅提供检测,无恢复。
  • 选择域连接完整性:提供一次连接中传输的单个数据块内用户数据的指定部分的完整性,并判断指定部分是否有修改、插入、删除或重播。
  • 无连接完整性:为单个无连接数据块提供完整性保护,并检测是否有数据修改,也提供有限的重播检测。
  • 选择域无连接完整性:为单个无连接数据块内制定与提供完整性保护;判断指定域是否被修改。

不可否认性

防止整个或部分通信过程中,任一通信实体进行否认的行为,主要包括两种具体服务。

  • 源不可否认性:证明消息是由特定方发出的
  • 宿不可否认性:证明消息被特定方收到。

安全机制

以下从两方面来说明安全机制。

特定安全机制

特定安全机制是可以并入适当的协议层以提供一些OSI安全服务的安全机制。

  • 加密:运用数学算法将数据转换成不可知的形式。数据的变换和还原依赖于算法和零个或多个加密密钥。
  • 数字签名:附加于数据单元后的一种数据,它是对数据单元的密码变换,以使得可证明数据源和完整性,并防止伪造。
  • 访问控制:对资源行使访问控制的各种机制。
  • 数据完整性:用于保证数据单元或数据单元流的完整性的各种机制。
  • 认证交换:通过信息交换来保证实体身份的各种机制。
  • 流量填充:在数据流空隙中插入若干位以阻止流量分析。
  • 路由控制:能够为某些数据选择特殊的物理上安全的路线,并允许路由变化(尤其是在怀疑有侵犯安全的行为时)。
  • 公证:利用可信的第三方来保证数据交换的某些性质。

普遍的安全机制

普遍安全机制就是不局限于任何特定OSI安全服务或协议层的机制。

  • 可信功能:根据特定的标准,被认为是正确且有效的功能。(如根据安全策略所建立的标准)
  • 安全标签:资源的标志,命名或指定该资源的安全属性。
  • 事件检测:检测与安全相关的事件。
  • 安全审计跟踪:收集可用于安全审计的数据,它是对系统记录和行为的独立回顾和检查。
  • 安全恢复:处理来自安全机制的请求,如事件处理、管理功能和采取恢复行为。

安全服务与机制间的联系

图3 安全机制和服务的联系

猜你喜欢

转载自blog.csdn.net/qq_40720540/article/details/108690000