Orange Book Security Class Delta Requirements
The
Orange Book
security requirements
have been reformulated as a delta (differences only) document for easier comprehension of
differences of functionality from one class to the next. Each higher class adds to or
modifies the
requirements
of the lower class. Text is quoted directly from the document
TCSEC,
DOD 5200.28-STD.
Discretionary
Access Control
-
1 - C1
-
The
TCB
shall define and control
access
between named
users
and named
objects
(e.g., files and programs) in the
ADP
system.
The enforcement mechanism (e.g., self/
group
/public controls,
access control lists)
shall allow users to specify and control sharing of those objects by named
individuals or defined groups or both.
-
2 - C2, B1, B2
-
Modified.
The enforcement mechanism (e.g., self/
group
/public controls,
access control lists)
shall allow
users
to specify and control sharing of those
objects
by named individuals, or defined groups of individuals, or by both, and shall provide
controls to limit propagation of
access
rights.
-
The
discretionary
access control
mechanism shall, either by explicit user action or by default, provide that objects
are protected from
unauthorized
access. These
access controls
shall be capable of including or excluding access to the
granularity
of a single user. Access
permission
to an object by users not already possessing access permission shall only be assigned by
authorized users.
-
3 - B3, A1
-
Modified.
The enforcement mechanism (e.g.,
access control lists)
shall allow
users
to specify and control sharing of those
objects,
and shall provide controls to limit propagation of
access
rights.
-
Modified.
These
access controls
shall be capable of specifying, for each named object, a list of named individuals
and a list of
groups
of named individuals with their respective modes of access to that object. Furthermore,
for each such named object, it shall be possible to specify a list of named individuals
and a list of groups of named individuals for which no access to the object is to be given.
Object Reuse
-
4 - C2, B1, B2, B3, A1
-
All
authorizations
to the information contained within a
storage object
shall be revoked prior to initial assignment, allocation or reallocation to a
subject
from the
TCB's
pool of unused storage objects. No information, including
encrypted
representations of information, produced by a prior subject's actions is to be
available
to any subject that obtains
access
to an
object
that has been released back to the
system.
Labels
-
5 - B1
-
Sensitivity labels
associated with each
subject and
storage object
under its control (e.g., process, file, segment, device) shall be maintained by the
TCB.
These
labels
shall be used as the basis for
mandatory access control
decisions. In order to
import
non-labeled data, the TCB shall request and receive from an
authorized user
the
security level
of the data, and all such actions shall be
auditable
by the TCB.
-
6 - B2, B3, A1
-
Modified.
Sensitivity labels
associated with each
ADP
system resource
(e.g.,
subject,
storage object,
ROM) that is directly or indirectly
accessible
by subjects external to the
TCB
shall be maintained by the TCB.
Label Integrity
-
7 - B1, B2, B3, A1
-
Sensitivity labels
shall accurately represent
security levels
of the specific
subjects
or
objects
with which they are associated. When
exported
by the
TCB,
sensitivity labels shall accurately and unambiguously represent the internal
labels
and shall be associated with the information being exported.
Exportation of Labeled Information
-
8 - B1, B2, B3, A1
-
The
TCB
shall designate each
communication channel
and
I/O device
as either
single-level
or
multilevel.
Any change in this designation shall be done manually and shall be
auditable
by the TCB. The TCB shall maintain and be able to audit any change in the
security level
or levels associated with a communication channel or I/O device.
Exportation to Multilevel Devices
-
9 - B1, B2, B3, A1
-
When the
TCB
exports
an
object
to a
multilevel
I/O device,
the
sensitivity label
associated with that object shall also be exported and shall reside on the same physical
medium as the exported information and shall be in the same form (i.e., machine-readable
or human-readable form). When the TCB exports or
imports
an object over a multilevel
communication channel,
the
protocol
used on that
channel
shall provide for the unambiguous pairing between the sensitivity labels and the associated
information that is sent or received.
Exportation to Single-Level Devices
-
10 - B1, B2, B3, A1
-
Single-level
I/O devices
and single-level
communication channels
are not required to maintain the
sensitivity labels
of the information they process. However, the
TCB
shall include a mechanism by which the TCB and an
authorized user
reliably communicate to designate the single
security level
of information
imported
or
exported
via single-level communication channels or I/O devices.
Labeling Human-Readable Output
-
11 - B1, B2, B3, A1
-
The
ADP
system administrator
shall be able to specify the printable
label
names associated with
exported
sensitivity labels.
The
TCB
shall mark the beginning and end of all human-readable, paged, hardcopy output (e.g.,
line printer output) with human-readable sensitivity labels that properly (1) represent
the sensitivity of the output. The TCB shall, by default, mark the top and bottom of each
page of human-readable, paged, hardcopy output (e.g., line printer output) with human-readable
sensitivity labels that properly (1) represent the overall sensitivity of the output or that
properly (1) represent the sensitivity of the information on the page. The TCB shall, by
default and in an appropriate manner, mark other forms of human-readable output (e.g.,
maps, graphics) with human-readable sensitivity labels that properly (1) represent the
sensitivity of the output. Any override of these marking defaults shall be
auditable
by the TCB.
-
(1) The hierarchical
classification
component in human-readable sensitivity labels shall be equal to the greatest hierarchical
classification of any of the information in the output that the labels refer to; the
non-hierarchical
category
component shall include all of the non-hierarchical categories of the information in
the output the labels refer to, but no other non-hierarchical categories.
Mandatory Access Control
-
12 - B1
-
The
TCB
shall enforce a
mandatory access control
policy
over all
subjects
and
storage objects
under its control (e.g., processes, files, segments, devices). These subjects and
objects
shall be assigned
sensitivity labels
that are a combination of hierarchical
classification
levels and non-hierarchical
categories,
and the
labels
shall be used as the basis for mandatory access control decisions. The TCB shall be able to
support two or more such
security levels.
(See the Mandatory Access Control guidelines.) The following
requirements
shall hold for all
accesses
between subjects and objects controlled by the TCB: A subject can
read
an object only if the hierarchical classification in the subject's security level is
greater than or equal to the hierarchical classification in the object's security level
and the non-hierarchical categories in the subject's security level include all the
non-hierarchical categories in the object's security level. A subject can
write
an object only if the hierarchical classification in the subject's security level is less
than or equal to the hierarchical classification in the object's security level and all
the non-hierarchical categories in the subject's security level are included in the
non-hierarchical categories in the object's security level.
Identification and
authentication
data shall be used by the TCB to
authenticate
the
user's
identity
and to ensure that the security level and
authorization
of subjects external to the TCB that may be created to act on behalf of the individual user are
dominated
by the
clearance
and authorization of that user.
-
13 - B2, B3, A1
-
Modified.
The
TCB
shall enforce a
mandatory access control
policy
over all resources (i.e.,
subjects,
storage objects,
and
I/O devices)
that are directly or indirectly
accessible
by subjects external to the TCB.
-
Modified.
The following
requirements
shall hold for all accesses between all
subjects
external to the TCB and all objects directly or indirectly accessible by these subjects:
A subject can
read
an object only if the hierarchical
classification
in the subject's
security level
is greater than or equal to the hierarchical classification in the object's security level
and the non-hierarchical
categories
in the subject's security level include all the non-hierarchical categories in the object's
security level.
Subject Sensitivity Labels
-
14 - B2, B3, A1
-
The
TCB
shall immediately notify a terminal
user
of each change in the
security level
associated with that user during an interactive session. A terminal user shall be able
to query the TCB as desired for a display of the
subject's
complete
sensitivity label.
Device Labels
-
15 - B2, B3, A1
-
The
TCB
shall support the assignment of minimum and maximum
security levels
to all attached physical devices. These security levels shall be used by the TCB to enforce
constraints imposed by the physical environments in which the devices are located.
Identification and
Authentication
-
16 - C1
-
The
TCB
shall require
users
to
identify
themselves to it before beginning to perform any other actions that the TCB is expected to
mediate. Furthermore, the TCB shall use a protected mechanism (e.g.,
passwords)
to
authenticate
the user's
identity.
The TCB shall protect
authentication
data so that it cannot be
accessed
by any
unauthorized
user.
-
17 - C2
-
The
TCB
shall be able to enforce individual
accountability
by providing the
capability
to uniquely
identify
each individual
ADP
system user.
The TCB shall also provide the capability of associating this
identity
with all
auditable
actions taken by that individual.
-
18 - B1, B2, B3, A1
-
Modified.
Furthermore, the
TCB
shall maintain
authentication
data that includes information for
verifying
the
identity
of individual
users
(e.g.,
passwords)
as well as information for determining the
clearance
and
authorizations
of individual users. This data shall be used by the TCB to
authenticate
the
user's identity
and to ensure that the
security level
and authorizations of
subjects
external to the TCB that may be created to act on behalf of the individual user are
dominated
by the clearance and authorization of that user.
Audit
-
19 - C2
-
The
TCB
shall be able to create, maintain, and protect from modification or
unauthorized
access
or destruction an
audit trail
of accesses to the
objects
it protects. The
audit
data shall be protected by the TCB so that
read
access to it is limited to those who are
authorized
for audit data. The TCB shall be able to record the following types of
events:
use of
identification and
authentication
mechanisms, introduction of objects into a
user's
address space (e.g., file open, program initiation), deletion of objects, actions taken
by computer operators and
system administrators
and/or
system security
officers, and other
security
relevant events. For each recorded event, the audit record shall identify: date and time
of the event, user, type of event, and success or failure of the event. For identification/
authentication events the origin of request (e.g., terminal ID) shall be included in the
audit record. For events that introduce an object into a user's address space and for object
deletion events the audit record shall include the name of the object. The
ADP
system administrator shall be able to selectively audit the actions of any one or more
users based on individual
identity.
-
20 - B1
-
The
TCB
shall also be able to
audit
any override of human-readable output markings.
-
Modified.
For
events
that introduce an
object
into a
user's
address space and for object deletion events the audit record shall include the name of
the object and the object's
security level.
The
ADP
system administrator
shall be able to selectively audit the actions of any one or more
users based on individual
identity
and/or object security level.
-
21 - B2
-
The
TCB
shall be able to
audit
the identified
events
that may be used in the exploitation of
covert storage channels.
-
22 - B3, A1
-
The
TCB
shall contain a mechanism that is able to monitor the occurrence or accumulation of
security
auditable
events
that may indicate an imminent violation of
security policy.
This mechanism shall be able to immediately notify the
security administrator
when thresholds are exceeded and, if the occurrence or accumulation of these security
relevant events continues, the
system
shall take the least disruptive action to terminate the event.
Trusted Path
-
23 - B2
-
The
TCB
shall support a
trusted
communication path between itself and
user
for initial
login
and
authentication.
Communications via this path shall be initiated exclusively by a user.
-
24 - B3, A1
-
Modified.
The
TCB
shall support a
trusted
communication path between itself and
users
for use when a positive TCB-to-user connection is required (e.g.,
login,
change
subject
security level).
Communications via this
trusted path
shall be activated exclusively by a user or the TCB and shall be logically isolated and
unmistakably distinguishable from other paths.
System Architecture
-
25 - C1
-
The
TCB
shall maintain a
domain
for its own execution that protects it from external interference or tampering (e.g.,
by modification of its code or data structures). Resources controlled by the TCB may be
a defined subset of the
subjects
and
objects
in the
ADP
system.
-
26 - C2
-
The
TCB
shall isolate the resources to be protected so that they are subject to the
access control
and
auditing
requirements.
-
27 - B1
-
Modified.
The
TCB
shall maintain process isolation through the provision of distinct address spaces
under its control.
-
28 - B2
-
The
TCB
shall be internally structured into well-defined largely independent modules. It shall
make effective use of available hardware to separate those elements that are
protection-critical from those that are not. The TCB modules shall be designed such that
the principle of
least privilege
is enforced. Features in hardware, such as
segmentation,
shall be used to support logically distinct
storage objects
with separate attributes (namely:
readable,
writable).
The
user
interface to the TCB shall be completely defined and all elements of the TCB identified.
-
29 - B3, A1
-
The
TCB
shall be designed and structured to use a complete, conceptually simple protection mechanism
with precisely defined semantics. This mechanism shall play a central role in enforcing the
internal structuring of the TCB and the
system.
The TCB shall incorporate significant use of
layering,
abstraction and
data hiding.
Significant system engineering shall be directed toward minimizing the complexity of the TCB
and excluding from the TCB modules that are not protection-critical.
System Integrity
-
30 - C1, C2, B1, B2, B3, A1
-
Hardware and/or software features shall be provided that can be used to periodically validate
the correct operation of the on-site hardware and firmware elements of the
TCB.