> For the complete documentation index, see [llms.txt](https://wheatoceans-organization.gitbook.io/a-missing-semester-of-tj-is/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wheatoceans-organization.gitbook.io/a-missing-semester-of-tj-is/1-ji-chu-gai-nian/1.5-an-quan-mo-xing.md).

# 1.5 安全模型

## 1.5.1 基本概念

本节介绍的“主体和客体”、“封闭系统和开放系统”实际上都是安全设计原则的一部分。安全设计原则还包括威胁建模、纵深防御、最小特权等，在此不展开介绍。

### 1.5.1.1 客体和主体

对安全系统中任何资源的访问控制都涉及两个实体：

* 主体：发出资源请求的主动实体。
* 客体：主体想要访问的被动实体。

访问是主体和客体之间的一种关系，可能包括读、写、更改、删除等活动。主体和客体具体指代的实体可能会因具体访问请求而异。

### 1.5.1.2 封闭系统和开放系统

* 封闭系统经设计只与小范围的其他系统协作，这些系统通常来自同一家制造商。封闭系统的标准一般是专有的，且通常不会公开。封闭系统更难与相异系统集成，但这一特性使它们更安全。
* 开放系统在设计上使用公认的行业标准。开放系统更容易与支持相同标准或使用兼容应用编程接口（API）的其他系统进行集成。

## 1.5.2 安全模型

安全模型是表达特定安全策略或策略集合的模型。安全模型用于精确和形式地描述信息系统的安全特征，以及用于解释系统安全相关行为的理由。

按照控制对象，可以分为：

1. 信息流模型 考虑客体之间的信息传输过程的控制。可以在不同安全级别之间防止未经授权、不安全或受限制的信息流。 信息流模型的安全规则：在系统状态转换时，信息流只能从访问级别低的模型流向访问级别高的状态。
2. 访问控制模型 主要针对系统中主体对客体的访问及其安全控制。

* 自主访问控制：主体可以决定对客体的访问权限。对应访问矩阵模型，可以通过访问控制列表（ACL）实现。
* 强制访问控制：给主体和客体分配不同的安全属性，实施过程中系统对主体和客体安全属性进行比较，决定主体是否能够访问客体
* 基于角色的访问控制：

按照模型适应对象的不同，可以分为：

1. 多级安全模型 为信息定为不同的安全级别，为访问者指定不同安全等级，指定权限用户可以读取指定级别数据。确保每一密级的信息只能让那些具有高于或等于该级别权限的人使用。
2. 多边安全模型 控制信息的横向流动（在相同安全级别的流动）。
