标题：基于DOS的信息安全产品评级准则
前 言
本标准由公安部计算机管理监察司提出; 
本标准由公安部信息标准化技术委员会归口； 
本标准起草单位： 天津市公安局计算机管理监察处 海军计算技术研究所 
本标准主要起草人： 张健，周瑞平，王学海，张双桥，高新宇
范围
本标准的适用对象为基于DOS操作系统的信息安全产品。基于DOS的信息安全产品是指保护DOS操作系统环境下的信息免受故意的或偶然的非授权的泄漏、篡改和破坏的软件、硬件或软硬件结合产品，以及用于产品安装、执行、恢复的相关设施。在本标准中，对安全产品的评级等同于对加装了该安全产品的DOS操作系统的安全性能的评级。标准根据安全产品的性能将其分为三个等级。从最低级d到最高级b,其安全保护性能逐级增加。
引用标准
美国DOD5200.28-STD可信计算机系统评估准则。
术语
3.1 客体 Object 含有或接收信息的被动实体。客体的例子如： 文件、记录、显示器、键盘等。
3.2 主体 Subject 引起信息在客体之间流动的人、进程和装置等。
3.3 安全策略 Security Policy 有关管理、保护和发布敏感信息的法律、规章和技术标准。
3.4 可信计算基 Trusted Computing Base-TCB 操作系统中用于实现安全策略的一个集合体（包含软件、固件和硬件），该集合体根据安全策略来处理主体对客体的访问，并满足以下特征： a.TCB实施主体对客体的安全访问； b.TCB是抗篡改的； c.TCB的结构易于分析和测试。
3.5 安全策略模型 Security Policy Model 用于实施系统安全策略的模型，它表明信息的访问控制方式，以及信息的流程。
3.6 敏感标记 Sensitivity Label 表明一个客体的安全级并描述该客体中数据的敏感度（例如：密级）的一条信息。TCB依据敏感标记进行强制性访问控制。
3.7 用户访问级 User's Clearance 用户访问敏感信息的级别。
3.8 最小特权原理 Least Provilege Theorem 系统中的每个主体执行授权任务时，仅被授予完成任务所必需的最小访问权。
3.9 关键保护元素 Protection Critical Element 有TCB中，用来处理主体和客体间的访问控制的关键元素。
3.10 审计踪迹 Audit Trail 能提供客观证明的一组记录,用于从原始事务追踪到有关的记录，或从记录追踪到其原始事务。
3.11 信道 Channel 系统内的信息传输路径。
3.12 可信信道 Trusted Channel 符合系统安全策略的信道。
3.13 隐蔽信道 Covert Channel 违反系统安全策略的信道。
3.14 自主访问控制 Discretionary Access Control 根据主体身份或者主体所属组的身份或者二者的结合，对客体访问进行限制的一种方法。具有某种访问权的主体能够自行决定将其访问权直接或间接地转授给其它主体。
3.15 强制访问控制 Mandatory Access Control 根据客体中信息的敏感标记和访问敏感信息的主体的访问级对客体访问实行限制的一种方法。
评级等级
本标准将安全产品分为局部保护级、自主保护级、强制保护级三个等级。为便于和可信计算机系统评估准则互为参照，又表示有别于该标准，用d,c,b表示。
4.1 局部保护级（d) 提供一种或几种安全功能，但又未能达到c级标准的产品。
4.1.1 安全功能 必须明确定义每项安全功能预期达到的目标，描述为达到此目标而采用的TCB的安全机制及实现技术。
4.1.2 安全测试 必须对产品文档所述的安全功能进行测试，以确认其功能与文档 描述相一致。
4.1.3 文档 安全特征用户指南文档要清楚地描述产品的保护原理、使用方法、使用限制及适用范围。要提供一个测试文档，描述该产品的测试计划、安全机制的测试过程及安全功能测试的结果。
4.2 自主保护级（c) c级主要提供自主访问控制功能，并通过审计手段，能对主体行为进行审查。
安全策略
4.2.1.1 自主访问控制 TCB需定义并控制系统中主体对客体的访问机制，所采用的机制（如访问控制表）要明确规定特定主体对其它主体控制下的信息的访问类型。系统和用户设定的自主访问控制机制，能保护受保护的客体不会被未经授权的用户访问。对客体没有访问权限的用户，只有对该客体有授权能力的用户才能为其指定访问权限。
4.2.1.2 客体再用 在将TCB的空闲存储客体池中客体初始指定、分配或再分配给一个主体之前，所有对于存储客体所含信息的授权都必须被撤销。当主体获得对一个已被释放的存储客体的访问权时，由原主体活动所产生的任何信息对当前主体都是不可获得的。
4.2.2 责任核查 
4.2.2.1 身份鉴别 用户在要求TCB执行任务动作之前，必须首先向TCB表明自己的身份； TCB要使用保护机制（如：口令）来鉴别用户身份。为了防止任何未经授权的用户对鉴别数据进行访问，TCB要对鉴别数据进行保护。TCB需提供唯一标识每个系统用户的机制，并将用户的所有可审计行为与用户的标识联系起来。4
.2.2.2 审计 TCB必须能创建、维护由主体实施的操作（例如：读、删和改等）的审计记录。TCB要记录下列类型的事件：使用身份鉴别机制； 客体的引用； 客体的删除； 以及其它与安全有关的事件。对于每一个记录事件，审计记录需标识： 事件发生的日期和时间、用户、事件类型及事件的成功和失败。由可信软件执行的单个操作，如果对用户是完全透明的，则不必进行审计。TCB要保护审计数据，使得只有授权用户才能访问。
4.2.3 保证 
4.2.3.1 操作保证 
4.2.3.1.1 系统体系结构 TCB要在封闭的域中运行，使其不受外部干扰或篡改（例如： 代码或数据结构的修改）。TCB要隔离受保护资源，以满足访问控制和审计的需求。
4.2.3.1.2 系统完整性 要提供相应的硬件或软件，用于定期确认TCB中硬件或固件元素的正常运行。
4.2.3.1.3 数据完整性 TCB要提供控制机制，以保证多个主体对同一客体访问时客体中数据的正确性和完整性，并且不影响系统的正常运行。
4.2.3.2 生命周期保证
4.2.3.2.1 安全测试 必须对产品文档所述的安全功能进行测试，以确认其功能与文档描述相一致。测试要证实未经授权的用户没有明显的办法可以绕过或攻破TCB的安全保护机制。测试还要搜索TCB中明显的缺陷，这些缺陷可能导致TCB中的外部主体能够违章资源隔离原则，或者对审计数据或鉴别数据进行未经授权的访问。
4.2.4 文档 
4.2.4.1 安全特征用户指南 安全特征用户指南要描述TCB提供的保护机制、使用指南、以及保护机制之间的配合方法，必须清楚地描述TCB中安全机制之间的交互作用。
4.2.4.2 可信设施手册 在可信设施手册中，要明确描述TCB所支持的任何预定义用户或主体（例如：系统管理员），要对运行安全功能时必须受到控制的功能和特权提出警告，并清楚地描述上述受控功能和特权之间的关系。如果存在TCB的安全操作的配置选项,应该予以标识。要提供用于检查和维护审计文件的规程。对每类审计事件，还要提供详细的审计记录结构。
4.2.4.3 测试文档 测试文档要描述安全保护机制的测试计划、测试步骤及其功能测试结果。
4.2.4.4 设计文档 设计文档要描述产品的保护原理，并解释该原理在TCB中的实现，如果TCB由多个不同的模块组成，还应描述各模块间的接口。
4.3 强制保护级（b) b级的主要要求是：TCB能维护敏感标记及其完整性，并利用敏感标记来实施强制访问控制规则，b级的系统必须使系统中的主要数据结构带有敏感标记。系统开发者必须提供作为TCB基础的安全策略实现模型以及TCB的规约。
4.3.1 安全策略
4.3.1.1 自主访问控制 TCB需定义并控制系统中主体对客体的访问控制，所采用的机制（如访问控制表）要明确规定特定主体对其它主体控制下的信息的访问类型。自主访问控制机制应限制访问权限的扩展。系统和用户设定的自主访问控制机制，能保证受保护的客体不会被未经授权的用户访问。对客体没有访问权限的用户，只有对客体有授权能力的用户才能为其指定访问权限。
4.3.1.2 客体再用 在将TCB的空闲存储客体池中客体初始指定、分配或再分配给一个主体之前，所有对于存储客体所含信息的授权都必须被撤销。当主体获得对一个已被释放的存储客体的访问权时，由原主体活动所产生的任何信息对当前主体都是不可获得的。
4.3.1.3 标记TCB要维护与每一主体及其可能访问的系统资源相关的敏感标记，以此作为强制访问控制决策的基础。系统必须明确规定需要标记的客体（如文件、外部设备等）与不需要标记的客体（如：用户不可见的内部资源）。对于需要标记的客体，系统要明确定义客体标记的粒度。除了不需要标记的客体外，所有其它客体从TCB外部观点看都要有明显标记。在输入未标记数据时，必须由授权用户向TCB提供这些数据的安全级别，而且所有这些行为都可以由TCB进行审计。
4.3.1.3.1 标记完整性 敏感标记必须准确地表示出与其相关的具体主体或客体的安全级别。当TCB输出敏感标记时，输出标记的外部表示要与其内部标记一致，并与输出的信息相关联。
4.3.1.3.2 标记信息的输出 TCB要能维护并审计与通信信道或I/0设备相关联的安全级别的任何变动。
4.3.1.3.3 主体标记在TCB与用户交互期间，如果与用户有关的安全级发生任何变化，TCB应立刻通知用户。
4.3.1.3.4 设备标记TCB应能对所辖的物理设备指定最小和最大安全级。TCB要使用这些安全级，在设备所处的物理环境中对设备的使用施加约束。
4.3.1.4 强制访问控制TCB必须对所有可被TCB外部主体直接或间接访问的资源（例如：主体、存储客体`物理设备等）实施强制访问控制策略。必须为这些主体和资源指定敏感标记（它们是级别和类别的组合），这些标记将作为强制访问控制决策的基础。所有由TCB所控制的主体对客体的访问必须遵循以下规则： 仅当主体的级别高于或等于客体的级别，且主体安全等级中的类别包含客体安全等级中的所有类别时，主体才能读客体；仅当主体的级别低于或等于客体的级别，且主体安全等级中的所有类别包含于客体安全等级中的类别时，主体才能写客体。TCB要使用标识和鉴别数据来鉴别用户的身份，并确保用户的访问级和授权高于或等于代表该用户的TCB外部主体的安全等级和授权。
4.3.2 责任核查
4.3.2.1 身份鉴别 用户在要求TCB执行任何动作之前，必须首先向TCB表明自己的身份。TCB要使用保护机制（如： 口令）来鉴别用户身份。TCB必须保护鉴别数据，该数据不仅包含验证用户身份的信息（例如： 口令），也包含确定用户访问级与授权的信息。TCB要使用这些数据来鉴别用户的身份，并确保用户的访问级和授权高于或等于代表该用户的TCB外部主体的安全等级和授权。为了防止任何未经授权的用户对鉴别数据进行访问,TCB必须对鉴别数据进行保护。TCB需提供唯一标识每个操作系统用户的机制，并将用户的所有可审计行为与用户的标识联系起来。
4.3.2.2 可信路径 在对初始登录的用户进行鉴别时，TCB要在它和用户之间维持一条可信信道。经由该路径的通信必须由专门用户或TCB进行初始化。
4.3.2.3 审计TCB必须能创建、维护由主体实施的操作（例如：读、删和改等）的审计记录。TCB要记录下列类型的事件： 使用身份鉴别机制； 客体的引用； 客体的删除； 安全管理员的操作； 以及其它与安全有关的事件。对于每一个记录事件， 审计记录要标识： 事件发生的日期和时间、主体、事件类型及事件的成功和失败。对于客体的引用及删除事件，审计记录还要包含客体名称。安全管理员应能够根据个体身份或个体安全等级有选择地审计一个或多个用户的行为。由可信软件执行的单个操作，如果对用户是完全透明的，则不必进行审计。TCB必须保护审计数据，使得只有授权用户才能对它进行读访问。当发生与安全有关的事件时，TCB要做到：（1)检测事件的发生； (2)记录审计踪迹条目； (3)通知安全管理员。
4.3.3 保证 
4.3.3.1 操作保证
4.3.3.1.1 系统体系结构 TCB要在封闭的域中运行，使其不受外部干扰或篡改（例如： 代码或数据结构的修改）。由TCB控制的资源可以是系统中主体和客体的一个子集。TCB要隔离受保护资源，以满足访问控制和审计的需求。TCB要通过不同的地址空间来维护进程隔离。TCB的内部要构造成定义良好的独立模块。TCB的模块设计要保证使最小特权原理得以实现。TCB需完整定义其用户接口，并且标识TCB的所有元素。TCB要有效地利用相关硬件把关键保护元素和非关键保护元素分隔开。
4.3.3.1.2 系统完整性 要提供相应的硬件或软件，用于定期确认TCB中硬件或固件元素的正常运行。
4.3.3.1.3 可信设施管理 TCB能支持独立的操作员和管理员功能。
4.3.3.1.4 可信恢复 TCB要提供诸如转贮和日志文件等机制，以保证在系统失效或其它中断发生后的数据恢复过程中不会导致任何安全泄漏。
4.3.3.1.5 数据完整性 TCB要定义及验证完整性约束条件的功能，以维护客体及敏感标记的完整性。
4.3.3.2 生命周期保证
4.3.3.2.1 安全测试 必须对产品文档所述的安全功能进行测试，以确认其功能与文档描述相一致。测试组应充分了解TCB的安全功能的实现，并彻底分析其测试设计文档、源码和目标码，其目标是： 发现设计和实现中的所有缺陷，这些缺陷会引起TCB的外部主体能够实施违背强制或自主安全策略的某种操作； 同时保证没有任何未授权主体能使TCB进入一种不能响应其它主体发起的通讯的状态。TCB应具有一定的抗渗透能力。必须消除所有被发现的缺陷，重新测试TCB要证实这些缺陷已不再存在且没有引入新的错误。
4.3.3.2.2 设计规约和验证 要证实TCB所支持的安全策略模型符合其安全策略，并在产品运行的整个生命周期中维护这一模型。
4.3.3.2.3 配置管理 在TCB的整个生命周期期间，即TCB的设计、开发和维护期间，要使用配置管理系统来控制对设计数据、实现文档、源代码、目标代码的运行版本、测试装置以及文档的任何更改。配置管理系统要保证与TCB当前版本相关联的所有文档和代码之间的一致映射。要提供从源代码生成TCB新版本的工具。要提供比较新版TCB和原版TCB的工具，只有在确定已按预期方案完成了修改后，才能启用新的TCB版本。
4.3.4 文档 
4.3.4.1 安全特征用户指南 安全特征用户指南要描述TCB提供的保护机制、使用指南、以及保护机制之间的配合方法，必须清楚地描述TCB中完全机制之间的交互作用。
4.3.4.2 可信设施手册 在可信设施手册中，必须明确描述TCB所支持的任何预定义用户或主体（例如： 系统管理员），要对运行安全功能时必须受到控制的功能和特权提出警告，并清楚地描述上述受控功能和特权之间的关系。如果存在TCB的安全操作的配置选项，应该予以标识。要提供用于检查和维护审计文件的规程。对每类审计事件，还要提供详细的审计记录结构。手册必须描述与操作员和管理员有关的安全功能,包括修改用户安全特征的方法。手册还要提供以下信息： 如何一致地、有效地使用产品安全功能，安全功能之间的相互作用，以及操作规程、警告和特权。
4.3.4.3 测试文档 测试文档要描述安全保护机制的测试计划、测试步骤及其功能测试结果。
4.3.4.4 设计文档 设计文档要描述产品的保护原理，并解释该原理在TCB中的实现方法，如果TCB由多个不同的模块组成，还应描述各模块间的接口。应该具有TCB所实施的安全策略模型的非形式化或形式化描述，并给出它足以实施该安全策略的理由。要标识特定的TCB保护机制，并给出一个解释以证明它们满足模型。