CIA and OSI SECURITY ARCHITECTURE

写这篇文章的原因:考完试后经过半个月的补觉和躺平,本菜狗终于想起来要学习了(不是),《密码编码学与网络安全》简称CANS之前其实看过一二章,然后再次看的时候,完全不记得以前看过了(淦),算了算了重新开始看吧,写博客单纯记录自己学习的过程和尽量避免学完就忘(dalao们不要见笑,原谅我这个菜狗的水平hh),如有错误,敬请指出!!!

1 CIA三元组和一些安全概念

The cybersecurity definition introduces three key objectives that are the heart of information and network secutiry.

大概就是说计算机安全定义了最核心的三个关键目标,如下:

  • Confidentiality 机密性
    又包括了两个方面:

    • Data confidentiality 数据机密性 ,原书给的定义是:

      Assures that private or confidential information is not made available or disclosed to unauthorized individuals.

      意思大概就是说 数据机密性保证未经授权的个人不得获取或披露私人的或机密的信息。

    • Privacy 个人隐私:

      Privacy: assures that individuals control or influence what information related to them may be collected and stored and by whom and to whom that information may be disclosed

      意思大概就是说 保证个人控制或影响与他们相关的哪些信息是可能被收集和存储的,以及这些信息可能由谁或向谁公开。

      举个例子,学生的分数信息在一些国家受到法律的保护,他们认为学生分数的机密性非常重要,学生分数仅仅能被学生自己,父母和需要这些信息完成工作的学校员工得到,这就需要保证学生分数的机密性,防止被未经授权的个人获取和泄露

  • Integrity 完整性
    数据完整性防止对信息的不恰当修改或破坏,包括确保信息的不可否认性(nonrepudiation)和真实性(data authenticity)。

    不可否认性就是通过某种机制,防止发送方或接收方否认传输或接收过某条信息。发送方有信息已经送达的证明(接收方你不能否认你没收到信息~),而接收方有信息发送方的身份证明(发送方你不能否认你发过了该信息,因为该信息有你的身份证明)。

    真实性(这里指的是信息的真实性,与后面实体的真实性还有所区别):保证信息是真实的,不是虚假的,就是信息就是如同信息所说的那样。(比如说信息写着某某病人对什么食物过敏,那这个病人就是真的对该食物过敏)

    Data authenticity also means that a digital object is indeed what it claims to be or what it is claimed to be.

完整性的例子:医院的数据库存储着病人的过敏信息,在保证完整性的前提下,医生能够信任这些信息是正确的最新的。现假设一个护士对该信息进行了不恰当的修改,或者一个黑客对该数据库进行破坏,插入了虚假的信息,在完整性机制的保证下,数据库需要快速恢复到可以信赖的状态,保证数据库存储的信息是正确的值得信赖的

  • Availability 可用性 确保系统工作的及时性和不对授权用户拒绝服务

Availability assures that systems work promptly and service is not denied to authorized user.

可用性的例子就比较多了,比如一台服务器瘫痪了导致用户不能访问计算机资源,比如上面那个数据库的例子,该数据库所在的服务器瘫痪了,医生无法访问数据库可能会造成一定的麻烦,所以服务器要保证可用性。

这就是CIA三元组,CIA三元组对于安全目标的定义已经比较清晰和全面了,但有时候还需要一些补充的安全概念,呈现更完整的安全定义,如:

  • Authenticity 真实性 书里写的是(being genuine,being able to be verified and trusted) 大概就是说安全主体是真实的,可验证的,可信赖的。对传输信息来说,就是要保证信息信息源是正确的,信息源是正确的,我的理解是,也就是能验证说 用户(信息源)就是他声称的那个人。比如有个人跟你说他是张三~,嗯你把他身份证拿来一看,哦确实是张三,他没欺骗你(这里排除拿假身份证的情况)。还有就是系统的每个输入是否均来自可信任的信源。信息是正确的就是上面的data Authenticity。

  • Accountability 可追溯性 这一安全概念要求实体的行为可以唯一性地追溯到该实体,该属性支撑事后恢复以及后续的如法律诉讼等。

2 THE OSI SECURITY ARCHITECTURE

为了有效地评价安全需求,以及对各种安全的产品和政策进行评价和选择,OSI安全架构给出了一种系统的定义方法。

OSI安全架构主要关注安全攻击,安全机制和安全服务,简短地定义如下

  • 安全攻击:可以简单地理解任何危机信息系统安全的行为

    Security attack: Any action that compromises the security of information owned by an organization.

  • 安全机制 用来检测阻止攻击和从被攻击状态恢复到正常状态的过程(或实现该过程的设备)

    Security mechanism: A process(or a device incorporating such a process) that designed to detect, prevent, or recover from a security attack

  • 安全服务 加强数据处理系统信息传输的安全性的一种处理过程或通信服务,目的在于利用一种或多种安全机制对安全攻击进行反攻击

    安全攻击,安全机制和安全攻击一些类型如下图:

2.1 Threat and Attack

  • 威胁:破坏安全的潜在(potential)可能,在环境,行为事件允许的情况下,会破坏安全。
  • 攻击: 对系统安全的攻击,有意违反安全服务和侵犯系统安全策略的恶毒(malicious)行为

2.2 Security Attack

安全攻击分为被动攻击(Passive Attack)和主动攻击(Active Attack)。

被动攻击试图获取或利用系统的信息但不影响系统资源

A passive attack attempts to learn or make use of information from system but does not affect system resources.

而主动攻击试图去改变系统资源或影响系统运行。

An active attack attempts to alter system resources or affect their operation.

2.2.1 Passive Attack

被动攻击的本质是对传输进行窃听(eavesdropping)监测(monitoring)。攻击者的目的是获得传输的信息。信息内容的泄露流量分析都属于被动攻击。

  • The release of message content 信息内容的泄露 比如说你打电话,电子邮件消息和传输的文件,开腾讯会议会议内容都可能含有敏感的机密的信息,我们需要防止这些传输内容的泄露。

  • Traffic analysis 流量分析 假设我们已经使用方法隐藏了消息内容,比如对传输的消息进行加密(encrtption),这样攻击者即使截获了消息也无法从消息中直接获得信息。但是攻击者依然可以观察到这些消息的一些模式,比如传输消息的频率和长度,通信主机的身份和位置。利用这些信息攻击者可以来判断通信中的某些性质。书中原文:

    If we had encryption protection in place,an opponent might still be able to observe the pattern of these messages. The opponent could determine the location and identity of communicatio hosts and could observe the frequency and length of messages being exchanged.

被动攻击由于并不修改数据,所以信息流正常的发送和送达,双方都没有意识到有第三方正在获取和观察流量模型,因此很难去察觉到。

The message traffic is sent and received in an apparently normal fashion and neither the sender nor receiver is aware that a third party has read the message or observed the traffic pattern.

因此对于被动攻击,重点在于预防,而不是检测。

2.2.2 Active Attack

主动攻击包括对数据流进行修改(modification)或伪造数据量(the creation of a false stream)。具体分为四类:replay,masquerade,modification of messagesdenial of service

  1. masquerade 伪装是指实体假装成其他实体,违背了前面提到的真实性(Authenticity)(那个人拿着张三的身份证,但其实他不是张三),无权限的实体可以通过伪装成有权限的实体来获得权力,然后进行其他的操作,比如修改数据(modification of messages),所以伪装攻击通常还包含其他形式的主动攻击。
  2. replay: 重放包括对数据单元的捕获(被动攻击)和对捕获后的数据单元进行重传,以获得未经授权的效果。我的理解是A给B发送数据,但C没有权限给B发送数据,然后C把A发送给B的数据捕获了,然后可能进行一些自己想要的修改,再重放给B,B此时依旧认为是A给他发送的数据,C就达到了给B发送数据的目的(该行为本是未被授权的)。
  3. modification of messages 消息修改指的是未经授权地修改合法消息的一部分,或者是延迟消息的传输改变消息的顺序。比如说原来的消息是"luo is vegetable dog"(luo是菜狗),被修改为"luo is not vegetable dog"(luo不是菜狗)。再比如说"Allow John to read confidential file accounts"修改为"Allow Fred Brown to read confidential file accounts"。从而带来一些麻烦,比如说luo是菜狗居然变成了luo不是菜狗,麻烦大了…
  4. denial of service 拒绝服务破坏了可用性(availability),这种攻击可能针对的是具体的目标,比如某个服务器拒绝提供服务,另一种形式是破坏了整个网络,使网络失效。

主动攻击难以做到绝对的预防,所以对于主动攻击,重点在于检测并从攻击造成的破坏或延迟中恢复回来

下图说明了在CS机制交互过程中,各种攻击是如何实现的。

如(b)图机制适用于被动攻击,包括窃听和流量分析,在Client和Server正常通信的过程中,Attacker窃听和检测该过程,实现被动攻击。其他也是类似

2.3 SECURITY SERVICES

A security service is a capability that supports one or more of the seurity requirements(confidentiality,integrity,availability,authenticity,and accountability).

Security services implement security policies and are implemented by security mechanisms

我的简单理解是 安全服务支持一个或多个安全需求的功能(就是前面说的机密性,完整性,可用性,真实性和可追溯性)。

安全服务实现安全策略,并由安全机制去实现安全服务。

一些比较重要的安全服务包括认证,访问控制,数据保密性,数据完整性和不可否认性。

  1. Authentication 认证服务
    认证服务用来保证通信的真实性(authentic)。对于单条信息而言,认证服务功能向接收方保证消息确实来自其所声称的发送方。对于正在进行的通信,比如终端和主机连接,在初始化的时候,认证服务保证两个实体都是可信的,也就是前面说的每个实体都是他们所声称的实体(What is claim to be),其次,认证服务保证该连接不受第三方的干扰(干扰指的是第三方能够伪装成两个合法实体中的一个进行非授权的传输或接收)

    两个特殊的认证服务

    • Peer entity authentication 对等实体认证
    • Data origin authentication 数据源认证 为数据的来源提供确认。
  2. Access Control 访问控制
    访问控制是限制和控制那些通过通信连接对主机和应用进行访问 的一种能力,为此,每个试图获得访问控制的实体必须被识别或认证后,才能获得相应的访问权限。保证的是真实性

  3. Data Confidentiality 数据机密性

​ 数据机密性服务保证数据机密性,主要是防止传输的数据遭到被动攻击,造成私人信息和机密信息的泄露。

  1. Data Integrity 数据完整性
    数据完整性服务保证数据的完整性。简单地理解,如果是在通信中,就是保证收到的消息和发出的消息是一致的。如果是上面提到的数据库系统的数据完整性的话,就要保证数据库的信息是正确的可以信赖的,对于非法修改做出反应和及时恢复(恢复就要用到一些机制)。

  2. Nonrepudiation 不可否认性

    不可否认性服务保证不可否认性。 防止发送方和接收方否认传输或接收过某条信息

    发送方有信息已经送达的证明(接收方你不能否认你没收到信息~),而接收方有信息发送方的身份证明(发送方你不能否认你发过了该信息,因为该信息有你的身份证明)。

  3. Availability Service 可用性服务

    保证可用性…处理由拒绝服务攻击引起的安全问题,依赖于对系统资源的合适管理和控制,同时还需要其他的安全服务配合,比如认证(以防止未授权的坏人破坏系统资源从而破坏可用性)。
    系统是可用的当系统资源可被授权实体请求访问或使用。

2.4 SECURITY MECHANISMS

…书里这里说本书会到处覆盖安全机制,暂时不多说,只是简单罗列,好吧…后面看到再说

  • Cryptographic algorithms 加密算法 运用数学算法将数据转换为不可知的形式,再通过密钥等方法还原。分为可逆加密算法不可逆加密算法

  • Data integrity 数据完整性 怎么又是它,嗯其实差不多意思,就是用以保证数据完整性的各种机制

  • Digital signature 数字签名 附加在数据单元之后的一种数据,是对数据单元的密码变化,使得接收方可以证明数据源和数据完整性,防止伪造

  • Traffic padding 流量填充 在数据流空隙中填充若干位,以防止流量分析,改变了数据流的模式(pattern)。

  • Routing control 路由控制 能够为某些数据选择特殊的物理上安全的路线。

  • Notarization 公证 利用可信的第三方来保证数据交换的某些性质

  • Access control 跟上同,只不过这里是机制。

参考资料 《密码编码学与网络安全》----原理与实践(第八版)

vegetable dog------->me

文章作者: luo
文章链接: https://luo41.top/2021/07/24/CIA-and-OSI-SECURITY-ARCHITECTURE/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 luo's Blog