home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hackers Toolkit v2.0
/
Hackers_Toolkit_v2.0.iso
/
HTML
/
archive
/
Rainbow
/
ncsc
/
lavendarncsc.txt
< prev
next >
Wrap
Text File
|
1999-11-04
|
250KB
|
5,634 lines
Trusted Database Management System
Interpretation
NCSC-TG-021
Library
No. S235,625
FOREWORD
The National Computer Security Center is issuing the Trusted Database
Management System Interpretation as part of the Technical Guidelines
Program, through which we produce the "Rainbow Series."
In the Rainbow Series, we discuss in detail the features of the Trusted
Computer System Evaluation Criteria (DoD 5200.28-STD) and provide guidance
for meeting each requirement. The National Computer Security Center,
through its Trusted Product Evaluation Program, analyzes the security
features of commercially produced and supported computer systems.
Together, these programs ensure that organizations are capable of
protecting their important data with trusted computer systems.
The Trusted Database Management System Interpretation extends the
evaluation classes of the Trusted Computer System Evaluation Criteria to
trusted applications in general, and database management systems in
particular. It serves as an adjunct to the Trusted Computer System
Evaluation Criteria by providing a technical context for the consideration
of entire systems constructed of parts and by presenting database-specific
interpretation of topics that require direct comment. Thus, it is relevant
to applications which support sharing of computer services and resources,
and which enforce access control policies. More specifically, it provides
insight into the the design, implementation, evaluation, and accreditation
of database management systems.
This document will be used for at least one year after the date of
signature. During this period the NCSC will gain experience using the
Trusted Database Management Systems Interpretation in several evaluations
and continue to receive comments on issues of technical accuracy, clarity
of exposition, and utility. After this trial period, necessary changes
will be made and a revised version issued.
PATRICK R. GALLAGHER, JR.
April 1991
Director National Computer Security Center
ACKNOWLEDGMENTS
This document represents the combined effort of participants from the
research community, industry, and government working over several years.
Three major drafts and numerous intermediary versions were produced,
reviewed, and commented upon. To name all the contributors would be
impossible. To single out a few would be to slight a host of others who
gave unstintingly of their time and talent. To all those who contributed
to the development and refinement of the fundamental concepts, contributed
to the development of the several predecessor versions, and who
contributed valuable personal time and invaluable experience in reviewing
and commenting on the previous versions, thanks is extended.
TABLE OF CONTENTS
FOREWORD i
ACKNOWLEDGMENTS iii
INTRODUCTION 1
HISTORICAL PERSPECTIVE 1
SCOPE 2
PURPOSE 2
STRUCTURE OF THE DOCUMENT 4
PART 1 TECHNICAL CONTEXT 7
TC-1 INTRODUCTION 9
TC-2 REFERENCE MONITOR PERSPECTIVE 10
TC-3 NEED FOR EVALUATION BY PARTS 11
TC-4 TCB SUBSETS 11
TC-4.1 INTRODUCTION 12
TC-4.2 TCB SUBSETS CONTEXT 13
TC-4.2.1 DEFINITION OF TCB SUBSETS 13
TC-4.2.2 MOTIVATION 13
TC-4.3 CONDITIONS FOR EVALUATION BY PARTS 14
TC-4.3.1 CANDIDATE TCB SUBSETS 14
TC-4.3.2 POLICY ALLOCATION 15
TC-4.3.3 TRUSTED SUBJECTS INCLUDED 15
TC-4.3.4 TCB SUBSET STRUCTURE 15
TC-4.3.5 SEPARATE SUBSET-DOMAINS 16
TC-4.3.6 SUPPORT FOR RVM ARGUMENTS 16
TC-4.4 EVALUATION ALTERNATIVES 17
TC-5 GENERAL INTERPRETED REQUIREMENTS 18
TC-5.1 OVERVIEW 18
TC-5.2 DETAILED REQUIREMENTS 18
TC-5.2.1 SECURITY POLICY 18
TC-5.2.1.1 Discretionary Access Control 18
TC-5.2.1.2 Object Reuse 18
TC-5.2.1.3 Labels 19
TC-5.2.1.4 Mandatory Access Control 20
TC-5.2.2 ACCOUNTABILITY 20
TC-5.2.2.1 Identification and Authentication 20
TC-5.2.2.2 Audit 21
TC-5.2.3 ASSURANCE 22
TC-5.2.3.1 Operational Assurance 22
TC-5.2.3.2 Life-Cycle Assurance 23
TC-5.2.4 DOCUMENTATION 24
TC-5.2.4.1 Security Features User's Guide 24
TC-5.2.4.2 Trusted Facility Manual 25
TC-5.2.4.3 Test Documentation 26
TC-5.2.4.4 Design Documentation 26
TC-5.3 SUMMARY OF THE REQUIREMENTS 26
TC-5.3.1 LOCAL REQUIREMENTS 26
TC-5.3.2 GLOBAL REQUIREMENTS 27
TC-6 DESIGN CHOICES 28
TC-6.1 OVERVIEW 28
TC-6.2 A SINGLE TCB SUBSET 28
TC-6.2.1 ANALYSIS OF THE CONDITIONS 28
TC-6.2.1.1 Condition 1: Candidate TCB Subsets 28
TC-6.2.1.2 Condition 2: Policy Allocation 29
TC-6.2.1.3 Condition 3: Trusted Subjects Included 29
TC-6.2.1.4 Condition 4: TCB Subset Structure 29
TC-6.2.1.5 Condition 5: Separate Subset-Domains 29
TC-6.2.1.6 Condition 6: Support for RVM Arguments 29
TC-6.2.2 EVALUATION CONSEQUENCES 29
TC-6.3 TWO TCB SUBSETS,MEETING THE CONDITIONS 30
TC-6.3.1 ANALYSIS OF THE CONDITIONS 30
TC-6.3.1.1 Condition 1: Candidate TCB Subsets 30
TC-6.3.1.2 Condition 2: Policy Allocation 31
TC-6.3.1.3 Condition 3: Trusted Subjects Included 31
TC-6.3.1.4 Condition 4: TCB Subset Structure 31
TC-6.3.1.5 Condition 5: Separate Subset-Domains 31
TC-6.3.1.6 Condition 6: Support for RVM Arguments 31
TC-6.3.2 EVALUATION CONSEQUENCES 32
TC-6.4 TWO TCB SUBSETS, NOT MEETING THE CONDITIONS 33
TC-6.4.1 ANALYSIS OF THE CONDITIONS 34
TC-6.4.1.1 Condition 1: Candidate TCB Subsets 34
TC-6.4.1.2 Condition 2: Policy Allocation 34
TC-6.4.1.3 Condition 3: Trusted Subjects Included 34
TC-6.4.1.4 Condition 4: TCB Subset Structure 35
TC-6.4.1.5 Condition 5: Separate Subset-Domains 35
TC-6.4.1.6 Condition 6: Support for RVM Arguments 35
TC-6.4.2 EVALUATION CONSEQUENCES 35
TC-6.5 SUMMARY 36
PART 2 INTERPRETED REQUIREMENTS 37
IR-1 OVERVIEW AND CONTEXT 39
IR-2 SUMMARY OF THE INTERPRETATIONS 39
IR-2.1 SECURITY POLICY 39
IR-2.1.1 DISCRETIONARY ACCESS CONTROL 39
IR-2.1.2 OBJECT REUSE 40
IR-2.1.3 LABELS 40
IR-2.1.4 MANDATORY ACCESS CONTROL 40
IR-2.2 ACCOUNTABILITY 40
IR-2.2.1 IDENTIFICATION AND AUTHENTICATION 40
IR-2.2.2 AUDIT 40
IR-2.3 ASSURANCE 40
IR-2.3.1 OPERATIONAL ASSURANCE 40
IR-2.3.1.1 System Architecture 40
IR-2.3.1.2 System Integrity 40
IR-2.3.1.3 Covert Channel Analysis 41
IR-2.3.1.4 Trusted Facility Management 41
IR-2.3.1.5 Trusted Recovery 41
IR-2.3.2 LIFE CYCLE ASSURANCE 41
IR-2.3.2.1 Security Testing 41
IR-2.3.2.2 Design Specification and Verification 41
IR-2.3.2.3 Configuration Management 41
IR-2.3.2.4 Trusted Distribution 41
IR-2.4 DOCUMENTATION 42
IR-2.4.1 SECURITY FEATURES USER'S GUIDE 42
IR-2.4.2 TRUSTED FACILITY MANUAL 42
IR-2.4.3 TEST DOCUMENTATION 42
IR-2.4.4 DESIGN DOCUMENTATION 42
IR-3 LABELS 42
IR-3.1 GENERAL DISCUSSION 42
IR-3.2 SPECIFIC INTERPRETATIONS 43
IR-4 AUDIT 44
IR-4.1 GENERAL DISCUSSION 44
IR-4.2 SPECIFIC INTERPRETATIONS 45
IR-5 SYSTEM ARCHITECTURE 47
IR-5.1 GENERAL DISCUSSION 47
IR-5.2 SPECIFIC INTERPRETATIONS 47
IR-6 DESIGN SPECIFICATION AND VERIFICATION 48
IR-6.1 GENERAL DISCUSSION 48
IR-6.2 SPECIFIC INTERPRETATIONS 52
IR-7 DESIGN DOCUMENTATION 55
IR-7.1 GENERAL DISCUSSION 55
IR-7.2 SPECIFIC INTERPRETATIONS 56
APPENDIX A 59
CLASS (C1): 62
C1-1 SECURITY POLICY 62
C1-2 ACCOUNTABILITY 62
C1-3 ASSURANCE 62
C1-4 DOCUMENTATION 63
CLASS (C2): 66
C2-1 SECURITY POLICY 66
C2-2 ACCOUNTABILITY 66
C2-3 ASSURANCE 67
C2-4 DOCUMENTATION 68
CLASS (B1): 70
B1-1 SECURITY POLICY 70
B1-2 ACCOUNTABILITY 71
B1-3 ASSURANCE 73
B1-4 DOCUMENTATION 74
CLASS (B2): 77
B2-1 SECURITY POLICY 77
B2-2 ACCOUNTABILITY 79
B2-3 ASSURANCE 81
B2-4 DOCUMENTATION 85
CLASS (B3): 89
B3-1 SECURITY POLICY 89
B3-2 ACCOUNTABILITY 91
B3-3 ASSURANCE 93
B3-4 DOCUMENTATION 98
CLASS (A1): 102
A1-1 SECURITY POLICY 102
A1-2 ACCOUNTABILITY 104
A1-3 ASSURANCE 106
A1-4 DOCUMENTATION 112
APPENDIX B 117
1. PERSPECTIVE ON ASSURANCE 119
2. PROCUREMENT OPTIONS 120
3. ALTERATION OF PREVIOUSLY EVALUATED TCB 122
4. SATISFYING RVM REQUIREMENTS 125
5. SUBSET DEPENDENCY 127
6. TAMPER RESISTANCE ARGUMENTS 131
7. RATIONALE FOR LOCAL AND GLOBAL REQUIREMENTS 132
8 CONTENT-DEPENDENT AND CONTEXT-DEPENDENT
ACCESS CONTROL 136
9. BULK LOADING OF A DATABASE 137
10. LOCAL ANALYSIS IN SYSTEM ASSESSMENT 137
11. RATING MORE COMPLEX SYSTEMS 139
GLOSSARY 141
BIBLIOGRAPHY 145
INTRODUCTION
HISTORICAL PERSPECTIVE
The Department of Defense Trusted Computer System Evaluation Criteria
(TCSEC), published in 1983 as CSC-STD-001-83, consolidates knowledge about
the degree of trust one can place in a computer system to protect
sensitive information and organizes this knowledge into usable criteria
for system evaluation. The TCSEC was republished as a DoD standard,
DoD-5200.28-STD, in December 1985 to provide a means of evaluating
specific security features and assurances available in "trusted,
commercially available automatic data processing system The TCSEC's rating
scale extends from a minimal to a high level of trust with advanced
security features and sophisticated assurance measures. Specific criteria
determine each rating level and guide system builders and evaluators in
determining the level of trust provided by specific systems. When the
rating levels are combined with environmental guidelines and minimum
security protection requirements, accreditation decisions for specific
installations can be made.
The philosophy of protection embodied in the TCSEC requires that the
access of subjects (i.e., processes in a domain) to objects (i.e.,
containers of information) be mediated in accordance with an explicit and
well-defined security policy. At the higher criteria classes, the
"reference monitor concept" [1] is an essential part of the system and the
security policy is modeled. There are several security policy models that
represent the desired behavior of a reference monitor. The Bell-La Padula
model [4-6] and its Multics interpretation [3] are commonly used, but not
mandated.
The computer security research and development that underpin the TCSEC
began in the late 1960s and concentrated on secure operating systems. By
the early 1970s initial worked examples had provided a substantial amount
of information about building trust into operating systems. Research
continued throughout the 1970s to refine mechanisms, features, and
assurances needed to provide trusted operating systems.
Multilevel database management security received far less research and
development attention than did secure operating systems. This was
primarily due to the perception that one could not credibly implement a
multilevel secure database management system (DBMS) on top of an untrusted
operating system base. However, some research in multilevel secure DBMSs
(mostly theoretical) was conducted during the 1970s [15-16], and research
has continued to the present [9-14, 17-19, 22, 25-28]. By the mid 1980s,
commercially developed, trusted operating systems were becoming available
that could provide the basis for hosting secure applications such as
multilevel secure DBMSs.
In June 1986, the National Computer Security Center (NCSC) initiated its
efforts to address the
evaluation of trusted database management systems with an Invitational
Workshop in Baltimore, Maryland. Representatives from the research,
commercial, and government communities met to address issues of database
management security. The met to discuss aspects of trust (defined by the
that were sufficiently well defined and capable producing repeatable and
objective assessments. The NCSC invited issue papers and prepared a
agenda. The issue papers and the subcommittee summaries were published as
the Proceedings of the National Computer Security Center Invitational
Workshop on Database Security [20].
As an outgrowth of this workshop, the NCSC undertook the task of preparing
this Trusted Database Management System Interpretation (TDI) of the TCSEC
to focus on the special problems posed by DBMSs. A working group was
assembled to draft this Interpretation. Three drafts were produced, with
extensive community review and public discussion. This Interpretation is
the result of the interaction within the general computer security and
database management communities.
SCOPE
The interpretations in this document are intended to be used in
conjunction with the TCSEC itself; they apply to application-oriented
software systems in general, and database management systems (DBMSs) in
particular. Although the interpretations, as noted, are general enough to
apply to any software system which supports sharing and needs to enforce
access control (e.g., transaction processing systems, electronic mail
systems), in the interest of simplicity, the discussion, and thus the
terminology, will be directed toward DBMSs.
The interpretations are intended to be applied primarily to commercially
developed trusted DBMSs, but can also be applied to the evaluation of
existing non-commercial DBMSs and to the specification of security
requirements for DBMS acquisitions.
PURPOSE
This Interpretation of the TCSEC has been prepared for the following
purposes:
₧ To provide a standard to manufacturers for security features to build
into their new and planned commercial products in order to provide widely
available systems that satisfy trust requirements (with particular
emphasis on preventing the disclosure of data) for sensitive applications,
₧ To provide a metric with which to evaluate the degree of trust that can
be placed in computer systems for the secure processing of classified and
other sensitive information, and
₧ To provide a basis for specifying security requirements in acquisition
specifications.
With respect to the second purpose for development of the criteria, i.e.,
providing a security evaluation metric, evaluations can be delineated into
two types: (1) evaluations performed on a computer product from a
perspective that excludes the application environment; or, (2) evaluations
to assess whether appropriate security measures have been taken to permit
the system to be used operationally in a specific environment. The former
type of evaluation is done by the National Computer Security Center (NCSC)
through the Trusted Product Evaluation Program and is called "formal
product evaluation."
The latter type of evaluation, that is, one done for the purpose of
assessing a system's security attributes with respect to a specific
operational mission, is known as a "certification evaluation." A formal
product evaluation does not constitute certification or accreditation for
the system to be used in any specific application environment. The system
security certification and the formal approval/accreditation procedure,
done in accordance with the applicable policies of the issuing agencies,
must still be followed before a system can be approved for use in
processing or handling sensitive or classified information. Designated
Approving Authorities (DAAs) remain ultimately responsible for specifying
the security of systems they The TCSEC and this Interpretation will be
used directly and indirectly in the certification process. Along with
applicable policy, they will be used directly as technical guidance for
evaluation of the total system and for specifying system security and
certification requirements for new acquisitions. Where a system being
evaluated for certification employs a product that has undergone a formal
product evaluation, reports from that process will be used as input to the
certification evaluation. Moreover, the National Security Agency plans to
publish additional guidelines to assist certifiers and help ensure
consistency in certifications of systems processing national security
informantion.
STRUCTURE OF THE DOCUMENT
The remainder of the TDI is divided into two parts, plus two appendices
and a glossary.
PART 1, TECHNICAL CONTEXT, "presents general information about the
evaluation of trusted systems that are constructed of several parts. This
discussion is critical to trusted DBMSs built upon trusted operating
systems, but is not limited to DBMSs only. It is included in the TDI
because it is not currently available in any previously published
document. This section reviews the central reference monitor concept,
explains the need to evaluate a system built of well-defined parts, and
develops the concept of TCB subsets. TCB subsets provide a way of
splitting a total TCB along access control policy lines such that an
evaluation by parts can be undertaken. PART 1 concludes with an
interpretation of those TCSEC requirements which are relevant to an
evaluation by parts, and a description of the process of evaluation by
parts.
PART 2, INTERPRETED REQUIREMENTS, "provides interpretions of those TCSEC
requirements that are either specific to DBMSs (or applications in
general), or are particularly relevant to DBMSs. The number of
requirements that are treated explicitly is relatively small, because many
of the TCSEC requirements apply as stated to database management systems.
The requirements treated explicitly are labels, audit, system
architecture, design specification and verification, and design
documentation.
Appendix A summarizes the interpreted requirements for each TCSEC class
and is intended to provide an easy reference for those requiring a listing
of requirements for a specific class (e.g., B2). Appendix B provides
discussion of several topics not directly tied to the requirements levied
on trusted DBMSs by the interpretation of the TCSEC requirements.
The TDI proper will be supplemented by a Companion Document Series (CDS).
The CDS will address a wide spectrum of issues related to trusted DBMSs
but which are beyond the scope of this document. Community debate about
on-going topics of interest will probably result in gradual extensions of
what is known about trusted DBMSs. Thus, volumes in the CDS will be issued
both regularly (to document the state of the community debate) and by
exception (to record new problems and new solutions).
PART 1 TECHNICAL CONTEXT
TC-1 INTRODUCTION
Modern computing systems are rarely conceived and built by a single
organization. Rather, the rule is that systems are constructed by
assembling parts?hardware, firmware, and software?produced independently
by various organizations or vendors.
This fact introduces a fundamental difficulty into the task of evaluating
a "system" for conformance to the trust requirements of the Trusted
Computer System Evaluation Criteria (TCSEC). [8] This difficulty stems
from the fact that assessment (either evaluation of a product or
certification of a system) entails a global perspective of the entire
system under consideration. There are not yet widely accepted methods of
factoring the various aspects of a trust assessment and then reassembling
the results into a statement about the whole.
These conflicting perspectives of local production and global evaluation
analysis are particularly evident in the field of database management, but
they are by no means limited to that field. Thus the publication of this
Interpretation requires consideration of how to deal with systems built in
parts in the absence of a general treatment of the topic. On the other
hand, any treatment of the issue in the context of trusted database
management will have significant influence in other fields where the same
or similar problems arise, just because of community review and NCSC
publication. The approach taken in this document is to address the issues
of evaluating systems built of parts in a way that is independent of the
field of trusted database management. This conscious attitude of
generality is intended to make clear the distinction between the larger
system-of-parts issues and the more specific DBMS issues.
PART 1, "TECHNICAL CONTEXT," is divided into six sections. Section TC-2,
"Reference Monitor Perspective," summarizes the role of the reference
monitor concept in both the TCSEC and the assessing of a system for its
trust characteristics. Section TC-3, "Need for Evaluation by Parts," deals
with the need to extend the reference monitor perspective slightly to
begin to address the evaluation of systems constructed of separate parts.
Section TC-4, "TCB Subsets," is the heart of PART 1. That section
introduces a conservative extension to the reference validation mechanism,
TCB subsets. This extension provides the basis for being able to undertake
evaluation of systems built in parts in a way that allows re-use of the
results of separate evaluations (whether those evaluations were performed
before the current evaluation was begun or whether the separate
evaluations overlap in time). Section TC-5, "General Interpreted
Requirements," outlines the application of the TCSEC requirements to
individual TCB subsets when an evaluation by parts is being done. Section
TC-6, "Design Choices" describes the general process of applying TCB
subsets and meeting the conditions for evaluation by parts. The treatment
in this section is general and not limited to DBMSs; DBMS-specific issues
are discussed in the appendices.
TC-2 REFERENCE MONITOR PERSPECTIVE
Building or evaluating a system for compliance with the requirements of a
particular class in the TCSEC is based on the perspective of the Trusted
Computing Base (TCB). The notion of the TCB is central to the entire
concept of assessing systems for trust. The reference monitor described in
the Anderson report [1] is the basis of the notion of a TCB, as described
in the TCSEC:
For convenience, these evaluation criteria use the term Trusted Computing
Base to refer to the reference validation mechanism, beit a security
kernel, front-end security filter, or the entire trusted computer system.
[8, p. 67] Even in those lower classes (below B2) where the reference
monitor concept and reference validation mechanisms are not mentioned
explicitly, the perspective of the reference monitor and its
implementation as a reference validation mechanism is present.
Specifically, there are requirements for (1) identifying the policy being
enforced, (2) identifying subjects and objects, (3) providing evidence
that the operation of the reference validation mechanism matches the
high-level description of the user interface, and (4) demonstrating
isolation of the TCB.
Therefore, all TCSEC evaluations share the initial conceptual steps of
identifying the mediation policy, the subjects, and the objects. Starting
from a global system perspective, the initial step is to identify the
access mediation policy that will be enforced. One must then identify
those active system entities that are candidates for being the "subjects"
whose access to objects the TCB will mediate. Similarly, one must identify
those passive entities, those data repositories, that are candidates for
being the "objects," access to which the TCB will mediate.
As usual, the existence of an abstraction within a system does not make it
necessarily a reference-monitor object, i.e., one visible at the TCB
interface. This is because the TCB will make use of system abstractions
for both its internal processes and its storage requirements. Those
entities, while being stored in system "objects," will not be available to
untrusted processes (that is, they are not exported by the TCB). Thus the
analytical, iterative step is the separation of candidate subjects and
objects into those that are mediated by the TCB and those that are not.
The various trust classes include requirements, at varying levels of
completeness and rigor, that the basic reference monitor perspective of
mediating access of subjects to objects be implemented in a correct,
self-protecting, and non-bypassable manner. The core requirements of the
TCSEC classes focus on these reference monitor imperatives. The
increasingly strict requirements for visibility into the system design and
implementation (structure, documentation, testing, configuration, and
distribution requirements) all support the notion of checking the system's
conformance to its identified intent with regard to the subjects, objects,
and policy.
TC-3 NEED FOR EVALUATION BY PARTS
The need to be able to evaluate and certify systems built in parts is
increasingly evident. This need is seen in a variety of contexts:
The need to evaluate and certify systems built out of parts sold by
different vendors, a situation especially prevalent in the field of
trusted DBMSs.
The need to re-assess systems that have undergone either small- or
large-scale improvements and are already evaluated and placed on the
Evaluated Products List (EPL).
The general problem of "families of systems," systems that exist on a
spectrum of hardware bases or that can be customized for a user's specific
needs.
In all such cases, two related versions of a system are largely similar.
It should be possible to undertake evaluations and certifications in such
a way that the entire assessment does not have to be re-done for every
slight variation that appears. The current state of technology, however,
places limitations on what can be accomplished in this regard; it is not
currently possible to determine the trust characteristics of a system on
the basis of an arbitrary collection of subparts. The overall task of
trust assessment entails so many interrelated subtasks that the ability to
separate and reassemble is not well understood.
In this circumstance of needing to be able to accommodate evaluation of a
system built in parts and the lack of consensus about how this can be done
in a technically sound fashion, a conservative approach must be adopted.
The following are required: (1) a clear description of what "parts" will
be considered for separate evaluation; (2) a clear description of the
conditions under which such an evaluation by parts will be undertaken; and
(3) a general interpretation of TCSEC requirements as they would apply
when a system is being evaluated by parts. The "parts" that will be
considered by separate evaluation are called "TCB subsets," the topic of
Section TC-4 below.
TC-4 TCB SUBSETS
TC-4.1 INTRODUCTION
To attempt an evaluation of a TCB by splitting it into parts, there must
be available a precise definition of what parts are candidates for
separate evaluation (that is, for evaluation by parts) as well as any
other conditions that must be satisfied before an evaluation by parts will
be undertaken. This section defines "TCB subset" as a strict and
conservative extension of the traditional concept of the reference
validation mechanism (RVM) as a method of delineating which parts of a TCB
can be candidates for separate evaluation. The definition of TCB subsets,
as well as explanatory and motivational material, is included below in
Section TC-4.2, "TCB Subsets Context." Section TC-4.3 addresses the
conditions that must be satisfied by a TCB divided into a set of TCB
subsets before evaluation by parts will be undertaken. These conditions
assure that the structure of and relationships among TCB subsets will
satisfy TCSEC requirements, especially those derived from the reference
monitor concept.
TC-4.2 TCB SUBSETS CONTEXT
TC-4.2.1 DEFINITION OF TCB SUBSETS
A TCB subset M is a set of software, firmware, and hardware (where any of
these three could be absent) that mediates the access of a set S of
subjects to a set O of objects on the basis of a stated access control
policy P and satisfies the properties:
1) M mediates every access to objects in O by subjects in S;
2) M is tamper resistant; and
3) M is small enough to be subject to analysis and tests, the
completeness of which can be assured.
M uses resources provided by an explicit set of more primitive TCB
subsets to create the objects of O, create and manage its data
structures, and enforce the policy P. If there are no TCB subsets
more primitive than M, then M uses only hardware resources to
instantiate its objects, to create and manage its own data
structures, and to enforce its policy.
The above definition does not explicitly prohibit an access control
policy P that allows trusted subjects. The implications for the
evaluation process when a TCB subset's policy allows or does not
allow such trusted subjects are substantial and are discussed in
Section TC-6.4. As described in TC-4.3, one of the conditions for an
evaluation by parts of a TCB made up of TCB subsets is that all the
trusted subjects of each TCB subset be included in that TCB subset.
TC-4.2.2 MOTIVATION
The definition of "TCB subset" is intended to parallel the definitions of
the reference monitor and reference validation mechanism found in the
Anderson report [1] and included in the TCSEC itself. "The term Trusted
Computing Base [refers] to the reference validation mechanism, be it
security kernel, front-end security filter, or the entire trusted computer
system." [8, p. 67] "TCB subset" is defined exactly like a reference
validation mechanism, with only one difference, that it does not
necessarily extend to the hardware. Rather, a TCB subset uses either
hardware resources or the resources provided by other, more primitive TCB
subsets. Thus TCB subsets build on abstract machines, either physical
hardware machines or other TCB subsets. Just like reference validation
mechanisms, a TCB subset must enforce a defined access control policy.
TC-4.3 CONDITIONS FOR EVALUATION BY PARTS
Building or evaluating a system using the definition of TCB subsets in the
section above requires meeting six conditions in addition to demonstrating
that the candidate TCB subsets satisfy the properties appropriate to the
evaluation target class. The conditions are as follows:
The candidate TCB subsets are identified;
The system policy is allocated to the candidate TCB subsets;
Each candidateTCB subset M[i] includes all the trusted subjects with
respect to its technical policies P[i];
The TCB subset structure or architecture is explicitly described;
Each TCB subset occupies distinct subset-domains; and
The more primitive TCB subsets provide support for the RVM arguments for
less primitve TCB subsets.
These conditions are described below.
TC-4.3.1 CANDIDATE TCB SUBSETS
The first condition is that the relevant elements of each candidate TCB
subset M[i] be identified. The hardware, firmware, and software which
compose the TCB subset need to be clearly identified, along with the
subjects and objects. In terms of Section TC-4.2.1, this condition is the
identification of M[i], S[i], and O[i]. There may be no objects mediated
by more than one TCB subset. That is, there cannot be an object O that is
both in O[i] and O[j].
TC-4.3.2 POLICY ALLOCATION
The next condition is policy allocation, the description of the technical
policy P[i] for each identified M[i] along with the relation of these
policies to the system policy P. The policies P[i] will be expressed in
terms of subjects in S[i] and objects in O[i]. Thus, to satisfy the TCSEC
requirement that the (composite) TCB enforce its stated policy P, each
rule in P must be traceable through the structure of the candidate TCB
subsets to the TCB subset(s) where that enforcement occurs. See Sections
TC-5.2.1.1 and TC-5.2.1.4.
TC-4.3.3 TRUSTED SUBJECTS INCLUDED
Every trusted subject with respect to P[i] must be part of the TCB subset
M[i]. This condition makes possible separate evaluation of TCB subsets
with respect to "local" requirements. When this condition is not met,
evaluation of candidate TCB subsets cannot be guaranteed on an evaluation
by parts basis. This situation is treated in Section 6.4.
TC-4.3.4 TCB SUBSET STRUCTURE
The TCB subsets will exhibit a structure based on the ordering implied by
dependency. TCB subset A is less primitive than TCB subset B if (a) A
directly depends on B or (b) a chain of TCB subsets from A to B exists
such that each element of the chain directly depends on its successor in
the chain. In this case we use the phrase "TCB subset B is more primitive
than TCB subset A" synonymously.
The sense of "directly depend" in (a) is exactly the following: it is not
possible to verify the implementation of A with respect to its
specification without a statement about the specification of B.
More precisely, for a candidate TCB subset M, let sM denote the
specification of M. The specification will include, as a minimum, the
statement of the technical policy P of M. Further, let vM denote the
(engineering) demonstrations of the correctimplementation of M with
respect to its specification.
A (candidate) TCB subset A depends (for its correctness)" on (candidate)
TCB subset B if and only if the arguments of vA assume, wholly or in part,
that sB has been implemented correctly. (See Appendix B, item 5 for
additional discussion.)
The proposed structure of TCB subsets has to be identified. The order must
be a partial order. (Without a partial order, there could be circular
chains of dependencies that would inhibit separate evaluations of the TCB
subsets.)
TC-4.3.5 SEPARATE SUBSET-DOMAINS
The candidate TCB subsets must operate in near isolation from each other,
with the only interaction between them being that explicitly asserted as
part of the interface. In the case of reference monitors, many existing
implementations have relied on the domain concept [23] which supports the
assertions of non-bypassability and self protection. A natural extension
of the domain concept will be required for isolation of TCB subsets from
each other and from non-TCB entities.
A subset-domain is a set of system domains.
Each candidate TCB subset must occupy a distinct subset-domain such that
modify-access to a TCB subset's subset-domain is permitted only to that
TCB subset and (possibly) to more primitive TCB subsets. This requirement
ensures that the structure of subset-domains with respect to access is
consonant with the dependency relation among TCB subsets.
TC-4.3.6 SUPPORT FOR RVM ARGUMENTS
Candidate TCB subsets must satisfy the three RVM properties included in
the definition in TC-4.2.1 in order to complete evaluation by parts
successfully. TCB subsets that build on resources and functionality
provided by more primitive TCB subsets must rely on assured and
evaluatable characteristics of those more primitive TCB subsets. A
convincing argument must be advanced that the features, characteristics,
and assurances provided by the more primitive TCB subsets are capable of
supporting RVM arguments for the less primitive TCB subsets.
The first property (mediating every access) requires that there is no way
of bypassing the mediation provided by TCB subset M for its objects,
either directly or by unexpected side-effects of interactions with other
TCB subsets. A variety of approaches could suffice for demonstrating this
property.
The second property (tamper resistance) requires that the policy-critical
code and data for the less primitive TCB subset be protected from any
alteration not specifically allowed by the TCB subset. A variety of
approaches could suffice for demonstrating this property.
The third property (completeness of testing and analysis for correctness)
requires the (engineering) demonstrations vM[i] of the correctnessof each
less primitive candidate TCB subset M[i]. Aconvincing argument must
therefore be advanced that the specifications sM[k] for all of the more
primitive TCB subsets M[k] on which M[i] depends will suffice for
establishing vM[i].
TC-4.4 EVALUATION ALTERNATIVES
As noted earlier, the need to evaluate systems whose elements are
developed separately, possibly by independent developers, results in the
need to define TCB subsets. That is not to say, however, that design by
TCB subsetting and the subsequent evaluation by parts are the only
alternatives. Rather, there are three distinct possibilities.
A system TCB, regardless of any internal structure, may be viewed as a
single entity. In such a case, the evaluation may proceed essentially as
an evaluation against the TCSEC. This case is examined in Section TC-6.2.
A system TCB may be presented as a subsetted architecture composed of a
number of candidate TCB subsets. Given that each of the candidate TCB
subsets satisfies the conditions set forth in Section TC-4.3, an
evaluation by parts is possible. This case is described in Section TC-6.3.
It may be possible to satisfy only some of the conditions for evaluation
by parts. This situation might arise when a previously evaluated TCB or
TCB subset is modified to accommodate the policy-enforcing elements of a
new application layer. A special case of this situation is described in
Section TC-6.4. In such cases, depending upon the particulars, it may be
possible to realize some of the savings in evaluation effort. However, no
general statements can be made for these cases.
TC-5 GENERAL INTERPRETED REQUIREMENTS
TC-5.1 OVERVIEW
This section provides specific interpretations of those TCSEC requirements
that are particularly relevant for subsetted architectures and evaluation
by parts. Its organization is derived from the structure of the TCSEC
requirements. For each relevant TCSEC requirement there is a discussion of
how that requirement is interpreted in an evaluation by parts.
For conciseness, only the requirements headings applicable for A1 systems
are included below. Thus, the interpretation guidance below should be
applied only as demanded by the requirements for the target class of the
candidate trusted system. For a system targeted at an evaluation class
below A1, only those requirements that pertain to the target class apply
to the TCB subsets making up that system.
A listing of the requirements and interpretations by TCSEC class is
presented in Appendix A. The rationale for the applicability of the TCSEC
requirements to TCB subsets alone or to the TCB as an entirety is
described in Appendix B, item 7.]
TC-5.2 DETAILED REQUIREMENTS
TC-5.2.1 SECURITY POLICY
TC-5.2.1.1 Discretionary Access Control
The discretionary access control requirements apply as stated in the TCSEC
to every TCB subset whose policy includes discretionary access control of
its subjects to its objects. Any TCB subset whose policy does not include
such discretionary access control is exempt from this requirement.
TC-5.2.1.2 Object Reuse
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB.
TC-5.2.1.3 Labels
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
Label Integrity
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
Exportation of Labeled Information
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
Subject Sensitivity Labels
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
Device Labels
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects
and has attached physical or virtual devices. Any TCB subset whose policy
does not include such mandatory access control or has no attached physical
or virtual devices is exempt from this requirement. This requirement can
be satisifed by the cooperative action of more than one TCB subset.
TC-5.2.1.4 Mandatory Access Control
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
TC-5.2.2 ACCOUNTABILITY
TC-5.2.2.1 Identification and Authentication
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
If the TCB is composed of TCB subsets, one TCB subset may either rely on a
mechanism in another TCB subset to provide identification and
authentication services or provide the services directly. Similarly, that
TCB subset may rely on a mechanism in another more primitive TCB subset to
ensure that the security level 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. Each TCB subset may maintain its
own identification and authentication data or one central repository may
be maintained. If each TCB subset has its own data, then the information
for each individual user must be consistent among all subsets.
Trusted Path
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
When TCB subsets are used, the requirement for trusted path at levels B2
and above remains applicable to the entire TCB. The need for trusted path
"when positive TCB-to-user connection is required (e.g., login, change
subject security level)" can require user interaction with virtually any
TCB subset within the TCB. The implementation of trusted path could be
localized in a single TCB subset. Alternatively, it could be implemented
in more than one TCB subset if the separate implementations together
comply with the system security policy.
TC-5.2.2.2 Audit
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
A TCB subset may maintain its own security audit log, distinct from that
maintained by more primitive TCB subsets, or it may use an audit interface
provided by a different TCB subset allowing the audit records it generates
to be processed by that TCB subset.
If the TCB subset uses different user identifications than a more
primitive TCB subset, there shall be a means to associate audit records
generated by different TCB subsets for the same individual with each
other, either at the time they are generated or later.
Any TCB subset wherein events may occur that require notification of the
security administrator
shall be able to do the following: (1) detect the occurrence of these
events, (2) initiate the recording of the audit trail entry, and (3)
initiate the notification of the security administrator. The ability to
terminate events (2) and (3) above may be provided either in the TCB
subset within which they occur, or in the TCB subset(s) where actions that
lead to the event were initiated.
The monitoring and notification requirements may require cooperation
between multiple distinct TCB subsets or multiple instantiations of the
same TCB subset. For example, to detect the accumulation of events for a
single user it may be necessary to collect events from several subjects in
distinct processes that are surrogates for the same user. As another
example, there may be a single TCB subset that collects events from a
number of other TCB subset instantiations and, based on its analysis of
them, notifies the security administrator.
TC-5.2.3 ASSURANCE
TC-5.2.3.1 Operational Assurance
System Architecture
This requirement applies as stated in the TCSEC to every TCB subset, with
the following
additional interpretations.The TCB must provide domains for execution that
are allocated to and used by TCB subsets according to the subset-domain
condition for evaluation by parts. A most primitive TCB subset must
provide domains for execution. A less primitive TCB subset must make use
of domains provided by a more primitive TCB subset. A less primitive TCB
subset may provide further execution domains but is not required to do so.
Similarly, the TCB must provide distinct address spaces for untrusted
processes. A most primitive TCB subset must provide distinct address
spaces for its subjects. A less primitive TCB subset must make use of the
distinct address space provided by a more primitive TCB subset. A less
primitive TCB subset may provide more fine-grained distinct address
spaces, but is not required to do so.
In general, requirements specifically referring to hardware or firmware
apply only to TCB subsets that include hardware or firmware. The exception
is the requirement that the TCB make effective use of available hardware.
This requirement applies to those TCB subsets that use resources provided
by more primitive TCB subsets in lieu of hardware. Those TCB subsets are
required to make effective use of the protection-relevant features
exported to it by the more primitive TCB subsets (e.g., execution domains,
support for distinct address spaces) to separate those elements that are
protection-critical from those that are not.
System Integrity
This requirement applies as stated in the TCSEC to every TCB subset that
includes hardware or firmware. Any TCB subset that does not include
hardware or firmware is exempt from this requirement.
Covert Channel Analysis
This requirement applies as stated in the TCSEC to the entire TCB. When
the TCB is made up entirely of TCB subsets meeting the conditions for
evaluation by parts, analysis of the individual TCB subsets satisfies this
requirement. Otherwise, covert channel analysis of the entire TCB must be
performed (even if the results of covert channel analysis of the
individual TCB subsets were available).
Trusted Facility Management
This requirement applies as stated in the TCSEC to the entire TCB. Any
"operator" or "administrator" functions intrinsic to an individual TCB
subset must be supported by that TCB subset or by a more primitive TCB
subset.
Trusted Recovery
This requirement applies as stated in the TCSEC to the entire TCB and to
the individual TCB subsets. The cooperative recovery actions of the TCB
subsets making up the TCB must provide trusted recovery for the overall
TCB. Otherwise, trusted recovery evaluation must address the entire TCB
(even if the individual TCB subsets meet the trusted recovery
requirements).
TC-5.2.3.2 Life-Cycle Assurance
Security Testing
This requirement applies as stated in the TCSEC to the entire TCB. If a
TCB consists of TCB subsets meeting the conditions for evaluation by
parts, the satisfaction of the requirements by each TCB subset satisfies
the requirement for the entire TCB. Otherwise, security testing of the
entire TCB must be performed (even if the results of testing the
individual TCB subsets were available).
Design Specification and Verification
This requirement applies as stated in the TCSEC to every TCB subset, with
the following specific additional interpretations. It must be demonstrated
that the securitypolicy enforced by the composite TCB is represented by
the collection of policy models for the individual TCB subsets.
The argument that the descriptive top level specification (DTLS) and
formal top level specification (FTLS) are consistent with the TCB
interface applies to the entire TCB. There is required an explicit and
convincing description of how the set of top level specifications (one for
each TCB subset) describes the TCB interface in terms of exceptions,
errors, and effects.
Configuration Management
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB, with the following additional interpretation.
Because subsets of the TCB may be developed independently, a single
configuration management system may not be feasible. However, the
combination of configuration management systems used to support all the
TCB subsets must meet all the stated requirements. The information
describing the interrelations between separate TCB subsets and separate
security policy models falls into the category of "all documentation and
code associated with the current version of the TCB" in the TCSEC
requirements.
Trusted Distribution
This requirement applies as stated in the TCSEC to the entire TCB. It can
be met by satisfying the requirements for each TCB subset if procedures
exist for assuring that all TCB subsets upon which a particular TCB subset
depends (that is, the more primitive TCB subsets) are exactly the same
version as specified for the TCB subset in question.
TC-5.2.4 DOCUMENTATION
TC-5.2.4.1 DOCUMENTATION
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB. This collection of guides must include descriptions of every TCB
subset in the TCB and explicit cross-references to other related user's
guides to other TCB subsets, as required. In addition, interactions
between mechanisms within different TCB subsets must be clearly described.
TC-5.2.4.2 Trusted Facility Manual
This requirement applies as stated in the TCSEC to the TCB and to every
TCB subset in the TCB.
This requirement can be met by providing a set of manuals, one for each
distinct (non-replicated) TCB subset. Each manual shall address the
functions and privileges to be controlled for the associated TCB subset.
Additionally, it must clearly show the interfaces to, and the interaction
with, more primitive TCB subsets. The manual for each TCB subset shall
identify the functions and privileges of the TCB subsets on which the
associated TCB subset depends. Also, the TCB subset's manual shall
identify which, if any, configuration options of the more primitive TCB
subsets are to be used for the composite TCB to operate securely.
Any pre-defined roles supported (e.g., database administrator) by the TCB
subset shall be addressed.
The means for correlating multiple audit logs and synonymous user
identifications from multiple TCB subsets (if such exist) shall also be
addressed. The trusted facility manual shall describe the composite TCB so
that the interactions among the TCB subsets can be readily determined.
Other manuals may be referenced in this determination. The manuals that
address the distinct modules of the TCB and the generation of the TCB need
to be integrated with the other trusted facility manuals only to the
extent that they are affected by the use and operation (versus the
development) of the composite TCB.
The TCB modules that contain the reference validation mechanism must be
associated with the TCB subset to which they belong. The procedure for
generating a new TCB after modifying only one (or several) TCB subsets
must be described. This may be accommodated by independent regeneration of
the individual TCB subsets or by regeneration of only the affected TCB
subsets.
TC-5.2.4.3 Test Documentation
This requirement applies as stated in the TCSEC to the composite TCB.
TC-5.2.4.4 Design Documentation
This requirement applies as stated in the TCSEC to the composite TCB, with
the following specific additional interpretations:
Requirements concerning models, FTLS and DTLS, apply to individual TCB
subsets.
The requirement concerning the description of interfaces between modules
of the TCB includes the interfaces between TCB subsets.
The documentation of the implementation of a reference validation
mechanism must include justification for meeting the conditions for
evaluation by parts.
The A1 requirement to describe clearly non-FTLS internals of the TCB
applies to TCB subsets.
TC-5.3 SUMMARY OF THE REQUIREMENTS
The requirements interpretations in Section TC-5.2 above can be grouped
into two categories: those that apply to individual TCB subsets and those
that apply totally or in part to the overall TCB. For purposes of
exposition, the former category will be termed "local requirements," that
is, those for which separate analysis of the individual TCB subsets
suffices to determine compliance for the composite TCB. The latter are
termed "global requirements," that is, those which require analysis of the
entire system and for which separate analysis of the individual TCB
subsets does not suffice.
TC-5.3.1 LOCAL REQUIREMENTS
Discretionary Access Control;
Object Reuse;
Labels (except Subject Sensitivity Labels);
Mandatory Access Control;
System Architecture (except domains for
execution and distinct address spaces);
System Integrity;
Configuration Management;
Security Features User's Guide;
Design Documentation
models,
DTLSs,
FTLSs, and
non-FTLS internals.
TC-5.3.2 GLOBAL REQUIREMENTS
Subject Sensitivity Labels;
Identification and Authentication;
Trusted Path;
Audit;
System Architecture domains for execution, and distinct address spaces;
Covert Channel Analysis;
Trusted Facility Management;
Trusted Recovery (also applies to
individual TCB subsets); Security Testing; Design Specification and
Verification correspondence between system policy and the set of TCB
subset models consistency of TCB interface with the
set of TCB subset DTLSs, and consistency ofTCB interface with the set of
TCB subset FTLSs; Trusted Distribution; Trusted Facility Manual (also
applies to individual TCB subsets);
Test Documentation; and Design Documentation (except models, DTLSs, FTLSs,
and non-FTLS internals).
TC-6 DESIGN CHOICE
TC-6.1 OVERVIEW
This section examines the several design choices available for
constructing systems in parts and the consequences of each when attempting
to perform an evaluation by parts. The first case described is that of a
TCB evaluated under the TCSEC without benefit of TCB subset structuring.
This case is of value for several reasons: it serves as a reference point;
it can be considered the degenerate case of subsetting; and it is always
an option to evaluate any TCB, regardless of internal structure, as a
monolith. The second and third cases are presented in terms of a
configuration of exactly two subsets; the
generalization to more than two TCB subsets is
straightforward. The second case is that of a
subsetted architecture that exactly satisfies the
conditions for evaluation by parts. The third case represents a special
case of an altered TCB, one which is implemented using trusted subjects.
Note that no evaluation using TCB subsets and evaluation by parts results
in a TCB subset receiving an evaluation rating. Rather, the entire system,
with its composite TCB, is evaluated and receives a rating.
However, evaluation by parts is intended to allow the
results of local analysis of individual TCB subsets to be distinguishable
and separately referencable. For further discussion of this topic, see
Appendix B, item 10.
TC-6.2 A SINGLE TCB SUBSET
The evaluation of a TCB consisting of a single TCB subset is equivalent to
a straightforward evaluation against the TCSEC. The conditions for
evaluation by parts (Section TC-4.3) reduce to requirements found in the
TCSEC itself.
TC-6.2.1 ANALYSIS OF THE CONDITIONS
TC-6.2.1.1 Condition 1: Candidate TCB Subsets
The TCB (hardware, software, and firmware), as distinguished from the rest
of the computing system, must be identified. This is a basic requirement
for TCSEC evaluation. Similarly, the subjects and objects within the
system must be identified. The requirement that no more than one TCB
subset mediate access to any particular object is satisfied, because there
is only one TCB subset.
TC-6.2.1.2 Condition 2: Policy Allocation
The policy P enforced by the TCB (subset) must be identified. The
demonstration that the TCB (subset) enforces that policy will be a
description of how the TCB performs access mediation between the system's
subjects and objects according a system-level description of limitations
on access (the technical policy P[i] of the definition). The tracing of
the policy to the system design and behavior is part of the stated TCSEC
requirements.
TC-6.2.1.3 Condition 3: Trusted Subjects Included
This condition is satisfied in the same manner as it is in evaluations
under the TCSEC. Specifically, the TCB boundary is shown to be the
interface that is presented to untrusted subjects.
TC-6.2.1.4 Condition 4: TCB Subset Structure
Satisfaction of this condition (TC-4.3.4) is immediate, because there is
only one TCB subset.
TC-6.2.1.5 Condition 5: Separate Subset-Domains
Satisfaction of the separate subset-domain condition (TC-4.3.5) is
identical to the C1 through A1 requirement that "the TCB maintain a domain
for its own execution that protects it from external interference or
tampering." [8, p. 13 et al.]
TC-6.2.1.6 Condition 6: Support for RVM Arguments
Satisfaction of this condition (TC-4.3.6) is immediate, inasmuch as there
are no less primitive TCB subsets that must be demonstrated to satisfy RVM
requirements.
TC-6.2.2 EVALUATION S CONSEQUENCE
In this case, the evaluation of the (single) TCB subset proceeds exactly
like an evaluation under the TCSEC. Demonstration that the candidate
system meets all the global and local requirements (as they apply to the
target evaluation class) includes the consideration of each requirement as
it applies system's philosophy of protection, design, documentation, and
implementation. The system must be shown to exhibit the properties of a
reference validation mechanism, appropriate to the target class.
TC-6.3 TWO TCB SUBSETS, MEETING THE CONDITIONS
This case is of a TCB that consists of two candidate TCB subsets, A and B,
where A is the most primitive TCB subset. That is, B uses the abstractions
provided by A (the objects, in particular) as its resource for the
construction and exportation of its own abstractions. B also uses the
abstractions provided by A for its metadata (that is, internal data
structures) that make it possible for B to instantiate its exported
abstractions as well as keep records that enable it to correctly enforce
its stated policy. In terms of the discussion of Section TC-4.3.4, TCB
subset B directly depends on TCB subset A. It will be assumed that TCB
subset A enforces mandatory and discretionary policies on its objects and
that TCB subset B enforces a discretionary policy on the objects it
exports. Additionally, all trusted subjects of A are contained within A.
Thus, every subject of A (including all the active entities that make up
the logic of B) operates at a single sensitivity level. It will further be
assumed for th is example that the mechanisms for domains and thus for
subset-domains are independent of the mandatory and discretionary access
control policy enforcement mechanisms.
TC-6.3.1 ANALYSIS OF THE CONDITIONS
TC-6.3.1.1 Condition 1: Candidate TCB subsets
The TCB (hardware, software, and firmware), as distinguished from the rest
of the computing system, must be identified. This is a basic requirement
for TCSEC evaluation. Similarly, the subjects and objects within the
system must be identified.
In this case, all the hardware, software, and firmware that make up the
TCB must be identified as being part of either TCB subset A or TCB subset
B. The subjects and objects mediated by A (call them the "A-subjects" and
"A-objects" for this discussion) must be identified. Similarly the
B-subjects and B-objects must also be identified.
The additional requirement in Section TC-4.3.1 that "there may not be any
objects mediated by more than one TCB subset" means that there can be no
B-object that is also an A-object.
TC-6.3.1.2 Condition 2: Policy Allocation
The policy P enforced by the whole TCB must be identified. In addition,
the policy enforced by A (call it the A-policy), stated in terms of the
A-subjects and the A-objects, must be identified. Similarly, the B-policy,
stated in terms of the B-subjects and the B-objects, must be identified.
TC-6.3.1.3 Condition 3: Trusted Subjects included
As was stated above, TCB Subset A contains all its own trusted subjects.
There may be trusted subjects with respect to the policy of A, but all
such subjects execute in the subset-domain of A.
TC-6.3.1.4 Condition 4: TCB Subset Structure
Because B directly uses the A-objects and its logic is embodied in
A-subjects, the structure of the TCB subsets is precisely "TCB subset A is
more primitive than TCB subset B." This is a partial order.
TC-6.3.1.5 Condition 5: Separate Subset-Domains
Satisfaction of the separate subset-domain condition requires that a set
of domains provided by the system be identified as being the domains
"occupied" by A and B. The domain, or domains, occupied by A is exactly
the "domain for its own execution" found in the TCSEC requirements. The
domain or domains occupied by TCB subset B must not be modifiable by any
code or other system entity except possibly by TCB subset A.
TC-6.3.1.6 Condition 6: Support for RVM Arguments
Satisfying the condition for RVM arguments requires demonstrating the
plausibility of being able to establish the three requisite properties of
an RVM. The first property requires that no B-subject be allowed to access
B-objects without those accesses being mediated by TCB subset B. The
tamper resistance property requires that TCB subset A provide a way that
TCB subset B can be designed and implemented such that A-subjects that are
not part of B's implementation cannot tamper with B's policy-critical code
or data. The third RVM property must be satisfied by the individual TCB
subsets. The degree to which each TCB subset must satisfy this property is
commensurate with the evaluation class of the TCB.
TC-6.3.2 EVALUATION CONSEQUENCES
In this case, the evaluation of the two TCB subsets requires that each
meet TCSEC requirements applicable to each TCB subset viewed individually
and that the two TCB subsets combine in a way to meet all the TCSEC
requirements stated for the target class.
All local requirements are imposed on the two TCB subsets, A and B,
individually. If each TCB subset can meet the requirements of the target
class, viewed as if it were a separate TCB, the only areas where
additional evaluation or accreditation work might be required are those
areas where the sum of the analysis of the parts is not necessarily
complete and convincing. Those areas requiring additional work are exactly
the set of global requirements described in Section TC-5.3.2.
Demonstrating that the candidate system meets the TCSEC requirements (as
they apply to the target evaluation class) requires that both A and B be
evaluated with respect to the local requirements of the target class and
that the composite TCB be evaluated for global requirements. In this case,
full testing of TCB subset A against all the requirements (both local and
global) simplifies the task of demonstrating satisfaction of the global
requirements, both for B and for the entire TCB.
Suppose, for example, that TCB subset A has been subjected to security
testing appropriate to the target class and has been shown to be
adequately resistant to penetration attacks. This means that within the
confidence level provided by the testing requirement, no A-subject can
subvert A's enforcement of its policy. In this situation, every active
entity in B is an A-subject and hence B can neither penetrate A nor be
induced to do so by any B-subject. Thus, no further testing of A will be
required to determine whether the entire TCB is resistant to penetration;
any additional penetration testing can be limited to determining the
ability of B to withstand assault.
Similarly, if A has been searched for covert channels (as required for its
target class requirements), then no further search for covert channels
will be required, either in the analysis of B or in the overall
consideration of the entire TCB. Note that if B implements a mandatory
access control policy (e.g., integrity), then it would be necessary to
perform a covert channel analysis on B, but no further covert channel
analysis of A would be required.
The ability of users to determine the current sensitivity level of
B-subjects operating on their behalf will have to be shown by considering
the TCB subsets A and B together. This requirement is satisfied
immediately if the argument relies exclusively on A meeting the
requirement.
TC-6.4 TWO TCB SUBSETS, NOT MEETING THE CONDITIONS
This case also concerns a TCB that consists of two candidate TCB subsets,
C and D. C is the most primitive TCB subset. That is, D uses the
abstractions provided by C (the objects, in particular) as its resource
for the construction and exportation of its own abstractions. D also uses
the abstractions provided by C for its metadata (that is, internal data
structures) that make it possible for D to instantiate its exported
abstractions as well as keep records that enable it to correctly enforce
its stated policy. In terms of the discussion of Section TC-4.3.4, TCB
subset D directly depends on TCB subset C. Additionally, D is trusted with
respect to C. That is, some of the C-subjects which make up TCB subset D
execute as trusted processes of C. Here also, as in the previous example,
it is assumed that C implements mandatory and discretionary policies over
its objects. Further, the intent of D is to implement a discretionary
policy over the objects it exports. However, because D includes subjects
which are trusted relative to C's policy demonstration of the full and
correct enforcement of the mandatory policy requires analysis of both C
and D and is no longer localized to TCB subset C. It will be assumed that
the mechanisms for domains and thus for subset-domains are independent of
the mandatory and discretionary access control policy enforcement
mechanisms.
This case can be viewed as a special case of a previously evaluated TCB
which has been altered. However, the alteration takes the form of a less
primitive subset which is implemented, at least in part, with trusted
subjects (i.e., some of the C-subjects are trusted subjects which execute
in the subset-domain of D). Although this case may appear, intuitively, to
be different from that of arbitrary alteration of a previously evaluated
TCB, the example demonstrates that such an approach makes it impossible to
perform an evaluation by parts.
TC-6.4.1 ANALYSIS OF THE CONDITIONS
TC-6.4.1.1 Condition 1: Candidate TCB Subsets
The identification of the TCB (hardware, software, and firmware) as
distinguished from the rest of the computing system is a basic requirement
for TCSEC evaluation. Likewise, the subjects and objects within the system
must be identified.
In this case, all the hardware, software, and firmware that make up the
TCB must be identified as being part of either TCB subset C or TCB subset
D. The C-subjects and C-objects mediated by C have to be identified.
Similarly the D-subjects and D-objects must also be identified.
The additional requirement in Section TC-4.3.1 that "there may not be any
objects mediated by more than one TCB subset" means there can be no
D-object that is also a C-object.
TC-6.4.1.2 Condition 2: Policy Allocation
The policy P enforced by the whole TCB must be identified. In addition,
the individual policy enforced by C (call it the C-policy) must be
identified in terms of the C-subjects and the C-objects. Similarly, the
D-policy, stated in terms of theD-subjects and the D-objects, must be
stated. In this case, the C-policy will include the strict enforcement of
a mandatory access control policy that allows trusted subjects to execute
in the subset-domains which compose TCB subset D.
TC-6.4.1.3 Condition 3: Trusted Subjects
Included This condition is not satisfied because D includes at least one
subject that is trusted with respect to C. Hence a subject that is trusted
with respect to the policy of C is outside C, and evaluation by parts is
not an option. If TCB subset C had previously been evaluated, then this is
an example of an altered TCB, albeit a special case. The change consists
of the addition of one or more trusted C-subjects in D whose effect on the
behavior of C cannot be predicted a priori. An assessment of the impact of
D on the behavior of C cannot be made strictly by an examination of the
trusted subjects and the definition of C's interface. A global assessment
of C and D is required.
TC-6.4.1.4 Condition 4: TCB Subset Structure
Because D directly uses the C-objects and its logic is embodied in
C-subjects, the structure of the TCB subsets is precisely "TCB subset C is
more primitive than TCB subset D." This is a partial order.
TC-6.4.1.5 Condition 5: Separate Subset-Domains
Satisfying the separate subset-domain condition (TC-4.3.5) requires
identifying the set of system domains (likely administered by the most
primitive TCB subset C) as the domains "occupied" by C and D. The domain,
or domains, occupied by C is exactly the "domain for its own execution"
found in the TCSEC requirements. The domain or domains occupied by TCB
subset D must not be modifiable by any code or other system entity except
possibly by a part of TCB subset C.
TC-6.4.1.6 Condition 6: Support for RVM Arguments
Satisfying the condition for RVM arguments requires demonstrating the
plausibility of being able to establish the three requisite properties of
an RVM. The first property requires that no B-subject be allowed to access
B-objects without those accesses being mediated by TCB subset B. The
tamper resistance property requires that TCB subset A provide a way that
TCB subset B can be designed and implemented such that A-subjects that are
not part of B's implementation cannot tamper with B's policy-critical code
or data. The third RVM property must be satisfied by the individual TCB
subsets. The degree to which each TCB subset must satisfy this property is
commensurate with the evaluation class of the TCB.
TC-6.4.2 EVALUATION CONSEQUENCES
In this example, the conditions for evaluation by parts are not satisfied
and thus, thef ull potential for savings in evaluation effort cannot, in
general, be realized. A clear option in such cases is to view the system
as a monolithic TCB and proceed accordingly. However, because this case
represents an example of an altered TCB, it admits of a wide spectrum of
specific sub-cases. Thus, if the analysis of the system proceeds in
parallel to that required for evaluation by parts it may be possible, in
special cases, to identify elements of the analysis of the more primitive
candidate TCB subset which can be successfully argued to be unaffected by
the alterations. Some evaluation effort, often significant, can be saved,
but unlike evaluation by parts, how much can only be estimated by
consideration of the implementation specifics. For example, in this
specific case, the local analysis of TCB subset C represents a reasonable
candidate for analysis that need not be redone.
TC-6.5 SUMMARY
The three cases described above illustrate the effects of various TCB
subsetting situations as they relate to the evaluation requirements. A
monolithic evaluation proceeds exactly as described in the TCSEC, with
requirements being applied to the entire TCB. When all the conditions for
evaluation by parts are satisfied, considerable savings in evaluation
effort are realized. The evaluation of a new system configuration that
includes exactly the same TCB subset that was previously evaluated (such
as the TCB subsets A and B in the Section TC-6.3) is limited to (a) local
analysis of the individual TCB subsets (by reference to earlier analysis,
if available) and (b) a simpler global analysis, because each TCB subset
is an exact analog of a TCB.
When the conditions for evaluation by parts are not satisfied, no general
statements can be made about the factorability of analysis or the
reusability of previous analysis. The extent to which previous evaluation
evidence and results remain valid can be determined only on a case-by-case
basis.
PART 2 INTERPRETED REQUIREMENTS
IR-1 OVERVIEW AND CONTEXT
Part 2, "INTERPRETED REQUIREMENTS," provides specific interpretations of
those TCSEC requirements which are deemed to be either DBMS-specific (or,
more generally, application-specific) or particularly relevant to DBMSs.
All of the requirements in the TCSEC apply in any case.
For the topics included below, the interpretations provide clarification
of the TCSEC requirements. As is the case for the TCSEC, the interpreted
requirements at any class include those specified for that class in
addition to interpretations for lower classes that have not been
superseded or altered.
Section IR-2 presents an overall summary of the TCSEC requirements, as
interpreted in the more detailed sections that follow. Sections IR-3
through IR-7 address individual requirements interpretations for labels,
audit, system architecture, design specification and verification, and
design documentation, respectively. The format is an initial discussion of
the topic in general, followed by specific requirements and
interpretations that apply to database management systems. A listing of
the requirements and interpretations organized by TCSEC class is presented
in Appendix A.
IR-2 SUMMARY OF THE INTERPRETATIONS
This section provides specific interpretations of those TCSEC requirements
that are particularly relevant for subsetted architectures and evaluation
by parts. Its organization is derived from the structure of the TCSEC
requirements. For each relevant TCSEC requirement there is a discussion of
how that requirement is interpreted for a DBMS.
IR-2.1 SECURITY POLICY
IR-2.1.1 DISCRETIONARY ACCESS CONTROL
The requirement for discretionary access control is not changed in the
context of this document and therefore applies as stated in the TCSEC.
IR-2.1.2 OBJECT REUSE
The requirement for object reuse is not changed in the context of this
document and therefore applies as stated in the TCSEC.
IR-2.1.3 LABELS
The requirement for labels is treated in Section IR-3 of this document.
IR-2.1.4 MANDATORY ACCESS CONTROL
The requirement for mandatory access control is not changed in the context
of this document and therefore applies as stated in the TCSEC. However,
there are several subtle ramifications of this requirement of which a
developer or evaluator should be aware. A brief discussion can be found in
Appendix B, item 8, "Content-Dependent and Context-Dependent Access
Control."
IR-2.2 ACCOUNTABILITY
IR-2.2.1 IDENTIFICATION AND AUTHENTICATION
The requirement for identification and authentication is not changed in
the context of this document and therefore applies as stated in the TCSEC.
IR-2.2.2 AUDIT
The requirement for audit is treated in Section IR-4 of this document.
IR-2.3 ASSURANCE
IR-2.3.1 OPERATIONAL ASSURANCE
IR-2.3.1.1 System Architecture
The requirement for system architecture is treated in Section IR-5 of this
document.
IR-2.3.1.2 System Integrity
The requirement for system integrity is not changed in the context of this
document and therefore applies as stated in the TCSEC.
IR-2.3.1.3 Covert Channel Analysis
The requirement for covert channel analysis is not changed in the context
of this document and therefore applies as stated in the TCSEC.
IR-2.3.1.4 Trusted Facility Management
The requirement for trusted facility management is not changed in the
context of this document and therefore applies as stated in the TCSEC.
IR-2.3.1.5 Trusted Recovery
The requirement for trusted recovery is not changed in the context of this
document and therefore applies as stated in the TCSEC.
IR-2.3.2 LIFE CYCLE ASSURANCE
IR-2.3.2.1 Security Testing
The requirement for security testing is not changed in the context of this
document and therefore applies as stated in the TCSEC. IR-2.3.2.2 Design
Specification and Verification The requirement for design specification
and verification is treated in Section IR-6 of this document.
IR-2.3.2.3 Configuration Management
The requirement for configuration management is not changed in the context
of this document and therefore applies as stated in the TCSEC.
IR-2.3.2.4 Trusted Distribution
The requirement for trusted distribution is not changed in the context of
this document and therefore applies as stated in the TCSEC.
IR-2.4 DOCUMENTATION
IR-2.4.1 SECURITY FEATURES USER'S GUIDE
The requirement for a security features user's guide is not changed in the
context of this document and therefore applies as stated in the TCSEC.
IR-2.4.2 TRUSTED FACILITY MANUAL
The requirement for a trusted facility manual is not changed in the
context of this document and therefore applies as stated in the TCSEC.
IR-2.4.3 TEST DOCUMENTATION
The requirement for test documentation is not changed in the context of
this document and therefore applies as stated in the TCSEC.
IR-2.4.4 DESIGN DOCUMENTATION
The requirement for design documentation is treated in Section IR-7 of
this document.
IR-3 LABELS
IR-3.1 GENERAL DISCUSSION
The labels requirements of the TCSEC are entirely applicable to database
management systems. The basic difference between the TCSEC labeling
requirements as they apply to operating systems and DBMSs involves which
storage objects are labeled rather than how the labels are handled. This
section discusses special considerations in implementing and evaluating
labeling mechanisms in database management systems. Of particular
importance is the selection of the storage objects that are to be labeled.
Beginning at the B1 evaluation class, trusted database management systems
are required to associate labels with all storage objects under their
control. The granularity of storage objects to be protected shall be
chosen by the DBMS designer.
Stored view definitions (that is, named query commands) that are visible
at the TCB boundary must be stored in labeled objects. The TCB must
mediate access both to the view definition and to the view instantiation
(that is, the set of labeled objects accessed as the result of executing
the query command contained in the view definition).
It has been proposed in several designs that views be used as a mechanism
to implement context- or content-dependent labeling. The intuitive
attractiveness of this approach is undeniable, but the implementation
details must be carefully worked out to achieve a sound implementation. A
brief discussion of this topic can be found in Appendix B, item 8,
"Content-Dependent and Context-Dependent Access Control." TCB designers
and evaluators may make distinctions between objects that are explicitly
labeled or implicitly labeled. Such distinctions are meaningful only
within the confines of the TCB; all storage objects are explicitly labeled
from a point of view outside the TCB. For example, consider an object of
one type (e.g., table or file) within the TCB that "contains" many
(reference monitor) objects of another type (e.g., tuples and records).
The file could have an explicit label associated with it, and some of the
records could have explicit labels associated with them. Those records
that have no explicit label would be implicitly labeled by the label of
the file.
For database management systems, the objects that store the base data of
the database (e.g., files, records, relations, and tuples), as well as
those objects that store the metadata (e.g., directories, indices,
schemas, data dictionaries, discretionary authorization tables, recovery
logs, and transaction logs), must be labeled. Objects that need not be
labeled include internal resources that are not user visible (e.g.,
printer daemon scratch files and resource allocation tables). The
requirement for importing data (labeled and unlabeled) is the same as in
the TCSEC. For additional information, see Appendix B, item 9, "Bulk
Loading of a Database."
IR-3.2 SPECIFIC INTERPRETATIONS
CLASS (B1): LABELED SECURITY PROTECTION
There are no interpretations for this class.
CLASS (B2): STRUCTURED PROTECTION
Statement from TCSEC
Sensitivity labels associated with each ADP system resource . . . that is
directly or indirectly accessible by subjects external to the TCB shall be
maintained by the TCB.
Interpretation
Internal TCB variables that are not visible to untrusted subjects need not
be labeled, provided that they are not directly or indirectly accessible
by subjects external to the TCB. However, it is important to understand
that such internal variables can function as covert signaling channels
when untrusted subjects are able to detect changes in these variables by
observing system behavior.
CLASS (B3): SECURITY DOMAINS
There are no additional requirements.
CLASS (A1): VERIFIED DESIGN
There are no additional requirements.
IR-4 AUDIT
IR-4.1 GENERAL DISCUSSION
The audit requirements of the TCSEC apply to database management systems.
This section discusses special considerations in designing and evaluating
audit mechanisms in database management systems. The TCB must be capable
of maintaining an audit trail of accesses and attempted accesses to the
objects protected by the mandatory and discretionary security policies.
Two examples are given to illustrate auditing techniques for discretionary
access control decisions.
Example 1. Consider a DBMS TCB providing discretionary controls on defined
views of the database. Because the named object presented at the TCB
interface is the view definition (not the records instantiated through the
view), all that needs to be auditable is the use of the view by any
untrusted subject.
Example 2.Consider a DBMS TCB that enforces discretionary access control
on individual data records. When a user enters a query, the construction
of a response may involve a search over many records that are not returned
to the user because they did not satisfy the query. Records that do
satisfy the query but to which the user does not have access should be
auditable. Records that do not satisfy the query need not be auditable.
That is, in the context of audit, access permission to the user and
satisfaction of a query are to be kept separate.
There is no need to audit operations that are strictly internal to the
TCB. Separate security audit logs may be maintained by the operating
system and the database management system. Likewise, separate
identifications for the same user may be maintained by the operating
system and the database management system. The correlation of separate
audit logs may be done either at the time they are generated or at some
later time.
The emphasis of the audit criterion is to provide individual
accountability for actions by users. This goal is not the same as that for
a backup and recovery log. There is no requirement to integrate the audit
log with the backup and recovery log, although such an integrated log is
not prohibited. At the designer's discretion, there may be a selectable
capability to reduce the number of audit records generated in response to
queries that involve many access control decisions.
IR-4.2 SPECIFIC INTERPRETATIONS CLASS (C2): CONTROLLED ACCESS
PROTECTION
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of accesses to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by untrusted users (e.g., updates,
retrievals, and inserts), not just the invocation of the database
management system. The auditing mechanism shall have the capability of
auditing all mediated accesses which are visible to users. That is, each
discretionary access control policy decision shall be auditable.
Individual operations performed by trusted software, if totally
transparent to the user, need not be auditable. If the total audit
requirement is met by the use of more than one audit log, a method of
correlation must be available.
CLASS (B1): LABELED SECURITY PROTECTION
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of accesses to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by untrusted users (e.g., updates,
retrievals, and inserts), not just the invocation of the database
management system. The auditing mechanism shall have the capability of
auditing all mediated accesses which are visible to the user. That is,
each discretionary access control policy decision and each mandatory
access control policy decision shall be auditable. Individual operations
performed by trusted software, if totally transparent to the user, need
not be auditable. If the total audit requirement is met by the use of more
than one audit log, a method of correlation must be available.
CLASS (B2): STRUCTURED PROTECTION
There is no interpretation for the additional requirements.
CLASS (B3): SECURITY DOMAINS
There is no interpretation for the additional requirements.
CLASS (A1): VERIFIED DESIGN
There are no additional requirements.
IR-5 SYSTEM ARCHITECTURE
IR-5.1GENERAL DISCUSSION
The system architecture requirements of the TCSEC apply to database
management systems. The interpretations provided are a duplication of the
general interpreted requirements that apply to an evaluation by parts.
They are included because DBMS evaluations often involve multiple TCB
subsets.
IR-5.2 SPECIFIC INTERPRETATIONS
CLASS (C1): DISCRETIONARY SECURITY PROTECTION
Statement from TCSEC
The TCB shall maintain a domain for its own execution that protects it
from external interference or tampering.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to each TCB subset.
CLASS (C2): CONTROLLED ACCESS PROTECTION
There is no interpretation for the additional requirements.
CLASS (B1): LABELED SECURITY PROTECTION
There is no interpretation for the additional requirements.
CLASS (B2): STRUCTURED PROTECTION
Statement from TCSEC
The user interface to the TCB shall be completely defined and all elements
of the TCB identified.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as the user interface to the
whole TCB.
Statement from TCSEC
It shall make effective use of available hardware to separate those
elements that are protection-critical from those that are not.
Interpretation
If the TCB is composed of multiple subsets, each TCB subset must make use
of facilities provided to it by more primitive TCB subsets, such as
support for execution domains and for distinct address spaces, to achieve
the required separation.
CLASS (B3): SECURITY DOMAINS
There is no interpretation for the additional requirements.
CLASS (A1): VERIFIED DESIGN
There are no additional requirements.
IR-6 DESIGN SPECIFICATION AND VERIFICATION
IR-6.1 GENERAL DISCUSSION
The design specification and verification requirements of the TCSEC, with
the related documentation requirements, apply to database management
systems. The interpretations provided include a duplication of general
interpreted requirements that apply to an evaluation by parts. They are
included because of the likelihood that a DBMS evaluation will involve
multiple TCB subsets.
In the database context, the set of candidates for "subject" and "object"
can be larger than normally encountered in trusted operating systems.
Where a database system builds on an underlying trusted operating system,
for example, the set of candidate subjects for the two TCB subsets
includes both the active entities created by the operating system and
those active entities created by the trusted portion of the DBMS. The set
of candidates for objects is large.
Examples are files, segments, buffers, structures, pages, relations,
tables, tuples, rows, columns, elements, entities, relationships,
procedures, metadata, system tables, query trees, query plans, locking
mechanisms, rollback mechanisms, indices, recovery and backupmechanisms,
precalculated operations (such as joins), view definitions, view
instantiations, constraints, authorization tables, data dictionary tables,
and audit logs.
The requirements in the TCSEC for showing how the various representations
of the system being evaluated fit together can be represented as in Figure
IR-1. For monolithic TCBs, the policy must be stated; the model must be
developed, maintained, and shown to be sufficient to enforce the policy;
and the DTLS (FTLS for A1) must be constructed and shown to correspond
both to the model and to the TCB implementation. These steps allow a chain
of reasoning to proceed from the stated policy to the assertion that the
system in question actually enforces the policy.
In the case of multiple TCB subsets, the intent is the same. Tracing all
policy requirements to
the actual system implementation must be possible, and vice versa. The
current dilemma is that the theory and techniques for subdividing a model
into a set of models (or a top level specification into a set of top level
specifications) have not yet been established. Likewise neither theory or
techniques have been established for composing a set of models or top
level specifications into a unified model or top level specification. The
absence of rigorous methods does not preclude an evaluation using a
subsetted TCB.
The process of mapping policy to implementation is possible for each TCB
subset, using the same techniques required for a monolithic TCB. For
subsetted TCBs, designers and evaluators must explicitly show how the
policy, model and specifications for each TCB subset meet the TCSEC
requirements. In addition, convincing informal arguments must be given to
show how the collection of TCB subsets enforces the policy of the
composite TCB.
Because morerigorous composition methods are unavailable, convincing
informal arguments are appropriate for evaluation of TCBs up to and
including Class A1.
The TCSEC requirements concerning the mapping from policy to
implementation for a TCB composed of multiple TCB subsets raise these
crucial topics:
The allocation of policy to the TCB subsets,
The relation of the models for the TCB subsets to the overall system
policy, and
The relation of the top level specification for each TCB subset to the
entire system.
Allocation of policy to the TCB subsets is a precise division of the
policy for the entire system, as addressed in the policy allocation
condition of Section TC-4.3.
The second topic, above, requires that the policy for each TCB subset be
stated. Additionally, it is required that there be an informal convincing
argument that the collection of models represents the policy enforced by
the entire system.
The third topic, the way in which the set of top level specifications for
the individual TCB subsets describes the composite TCB interface with
respect to exceptions, errors and effects, is treated in a similar
fashion. The top level specifications for each TCB subset must meet the
requirement. There is, in addition, a requirement for an informal,
convincing description of how the set of top level specifications
describes the TCB interface with respect to exceptions, errors, and
effects. At the A1 level, there is no requirement for additional formal
specification or formal proofs beyond the specification and proofs
specific to the individual TCB subsets.
Rather than formally composing the policies, models, and specifications
and performing a single monolithic evaluation, a series of separate
evaluations may be performed (one for each TCB subset). The evaluations
are then tied together by presentation of sufficient informal arguments
that the individual policies collectively represent the policy enforced by
the entire system, that the individual models collectively represent the
system's policy, that the individual specifications represent the TCB
interface, and that the source code of each TCB subset is consistent with
its top level specification.
Note that satisfactory completion of these requirements is logically
equivalent to demonstrating that a "unified" model for the entire TCB is
consistent with the policy enforced by the system, that a "unified" top
level specification corresponds to the model, and that the "unified" top
level specification(s) corresponds to the source code. These interpreted
requirements, which do not mandate a "unified" top level specification,
are technically achievable interpretations of the policy-tracing
requirements in the case of multiple TCB subsets.
IR-6.2 SPECIFIC INTERPRETATIONS
CLASS (B1): LABELED SECURITY PROTECTION
Statement from TCSEC
An informal or formal model of the security
policy supported by the TCB shall be maintained over the life cycle of the
ADP system and demonstrated to be consistent with its axioms.
Interpretation
If the TCB is composed of multiple TCB
subsets, this requirement applies to the security policy of each TCB
subset. An informal argument that the set of policy models represents the
"security policy supported by the [composite] TCB" must be provided.
CLASS (B2): STRUCTURED PROTECTION
Statement from TCSEC
A formal model of the security policy supported by the TCB shall be
maintained over the life cycle of the ADP system and demonstrated to be
consistent with its axioms.
Interpretation
If the TCB is composed of multiple TCB
subsets, this requirement applies to the security policy of each TCB
subset. An informal argument that the set of policy models represents the
"security policy supported by the [composite] TCB" must be provided.
Statement from TCSEC
A descriptive top-level specification (DTLS) of the TCB shall be
maintained that completely and accurately describes the TCB in terms of
exceptions, error messages, and effects.
Interpretation
If the TCB is composed of multiple TCB
subsets, this requirement applies to the DTLS of each TCB subset. An
informal argument that the set of DTLSs accurately describes the TCB must
be provided. If there is a multifaceted policy (e.g., both mandatory
access control and discretionary access control policies) in a particular
TCB subset, then all facets must be represented in the DTLS and in the TCB
subset's model.
Statement from TCSEC
The descriptive top-level specification (DTLS) shall be shown to be an
accurate description of the TCB interface.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as to the user interface of
the composite TCB. The TCB interface description shall include an
explanation of how to describe the total TCB accurately, in the context of
the multiple TCB subset DTLSs.
CLASS (B3): SECURITY DOMAINS
Statement from TCSEC
A convincing argument shall be given that the DTLS is consistent with the
model.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to individual TCB subsets. Enforcement of all policies must be shown to
occur in all situations (e.g., state transitions) required by the formal
security policy model. In the case of a discretionary access control
policy, the presence of the access control check at all identified state
transitions is the total of what is required for demonstrating consistency
between the DTLS and the model. This may be verified by inspection of the
DTLS (that is, by visually checking that exception checks required by the
model are present in the DTLS). For the mandatory access control policy,
the DTLS must be shown by a convincing argument to be consistent with the
model.
CLASS (A1): VERIFIED DESIGN
Statement from TCSEC
A formal top-level specification (FTLS) of the TCB shall be maintained
that accurately describes the TCB in terms of exceptions, error messages,
and effects.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to the FTLS of each TCB subset. An informal argument that the set of FTLSs
accurately describes the TCB must be provided.
If there is a multifaceted policy (e.g., both mandatory access control and
discretionary access control policies) in a particular TCB subset, then
all facets must be represented in the FTLS and in the TCB subset's model.
Statement from TCSEC
The FTLS shall be shown to be an accurate description of the TCB
interface.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as to the user interface of
the composite TCB. The TCB interface description shall include an
explanation of how to describe the total TCB accurately, in the context of
the multiple TCB subset DTLSs.
Statement from TCSEC
. . . a combination of formal and informal techniques shall be used to
show that the FTLS is consistent with the model.
Interpretation
If the TCB is composed of multiple TCB
subsets, this requirement applies to individual TCB subsets. Enforcement
of all policies must be shown to occur in all situations (e.g., state
transitions) required by the formal security policy model at the required
occasions. In the case of a discretionary access control policy, the
presence of the access control check at all identified state transitions
is the total of what is required for demonstrating consistency between the
FTLS and the model. This may be verified by inspection of the FTLS (that
is, by visually checking that exception checks required by the model are
present in the FTLS). For the mandatory access control policy, the FTLS
must be shown by a combination of formal and informal techniques to be
consistent with the model.
IR-7 DESIGN DOCUMENTATION
IR-7.1 GENERAL DISCUSSION
The design documentation requirement of the
TCSEC applies to database management systems.
The interpretations provided are a duplication of the general interpreted
requirements that apply to an evaluation by parts. They are included
because DBMS evaluations often involve multiple TCB subsets.
IR-7.2 SPECIFIC INTERPRETATIONS
CLASS (C1): DISCRETIONARY SECURITY PROTECTION
Statement from TCSEC
If the TCB is composed of distinct modules, the interfaces between these
modules shall be described.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and the interfaces between TCB subsets.
CLASS (C2): CONTROLLED ACCESS PROTECTION
There are no additional requirements.
CLASS (B1): LABELED SECURITY PROTECTIONStatement from TCSEC
The specific TCB protection mechanisms shall be identified and an
explanation given to show that they satisfy the model.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and shall include the protection mechanisms which support
the conditions for TCB subset structure and separate subset-domains.
CLASS (B2): STRUCTURED PROTECTION
Statement from TCSEC
The interfaces between the TCB modules shall be described.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and the interfaces between different TCB subsets.
Statement from TCSEC
The descriptive top-level specification (DTLS) shall be shown to be an
accurate description of the TCB interface.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as to the user interface of
the composite TCB. The TCB interface description shall include an
explanation of how to describe the total TCB accurately, in the context of
the multiple TCB subset DTLSs.
Statement from TCSEC
Documentation shall describe how the TCB implements the reference monitor
concept and give an explanation of why it is tamper resistant, cannot be
bypassed, and is correctly implemented.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement is
interpreted to apply to each TCB subset with respect to its specific
technical policy. In addition, there must be documented an informal
argument that the cooperative action of the TCB subsets makes the TCB
itself tamper resistant, non-bypassable, and correct.
Statement from TCSEC
Documentation shall describe how the TCB is structured to facilitate
testing and to enforce least privilege.
Interpretation
If the TCB is composed of multiple subsets, this requirement is
interpreted to apply to individual TCB subsets as well as to the overall
TCB.
CLASS (B3): SECURITY DOMAINS
Statement from TCSEC
The TCB implementation shall be informally shown to be consistent with the
DTLS.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement is
interpreted to apply to individual TCB subsets.
CLASS (A1): VERIFIED DESIGN
Statement from TCSEC
The TCB implementation shall be informally shown to be consistent with the
FTLS.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement is
interpreted to apply to individual TCB subsets.
SUMMARY OF THE INTERPRETATIONS BY CLASS Appendix A
This section is a presentation of all the interpreted requirements
organized by TCSEC class. It includes all the requirements which are
either relevant to subsetted architectures or are DBMS-specific. Any TCSEC
requirements not explicitly identified herein apply as stated in the
TCSEC.
CLASS (C1): DISCRETIONARY SECURITY PROTECTION
C1-1 SECURITY POLICY
C1-1.1 DISCRETIONARY ACCESS CONTROL
The discretionary access control requirements apply as stated in the TCSEC
to every TCB subset whose policy includes discretionary access control of
its subjects to its objects. Any TCB subset whose policy does not include
such discretionary access control is exempt from this requirement.
C1-2 ACCOUNTABILITY
C1-2.1 IDENTIFICATION AND AUTHENTICATION
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
If the TCB is composed of TCB subsets, one TCB subset may either rely on a
mechanism in another TCB subset to provide identification and
authentication services or provide the services directly. Each TCB subset
may maintain its own identification and authentication data or one central
repository may be maintained. If each TCB subset has its own data, then
the information for each individual user must be consistent among all
subsets.
C1-3 ASSURANCE
C1-3.1 OPERATIONAL ASSURANCE
C1-3.1.1 SYSTEM ARCHITECTURE
This requirement applies as stated in the TCSEC to every TCB subset, with
the following additional interpretations.
The TCB must provide domains for execution that are allocated to and used
by TCB subsets according to the subset-domain condition for evaluation by
parts. A most primitive TCB subset must provide domains forexecution. A
less primitive TCB subset must make use of domains provided by a more
primitive TCB subset. A less primitive TCB subset may provide further
execution domains but is not required to do so.
Statement from TCSEC
The TCB shall maintain a domain for its own execution that
protects it from external interference or tampering.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to each TCB subset.
C1-3.1.2 SYSTEM INTEGRITY
This requirement applies as stated in the TCSEC to every TCB subset that
includes hardware or firmware. Any TCB subset that does not include
hardware or firmware is exempt from this requirement.
C1-3.2 LIFE CYCLE ASSURANCE
C1-3.2.1 SECURITY TESTING
This requirement applies as stated in the TCSEC to the entire TCB. If a
TCB consists of TCB subsets meeting the conditions for evaluation by
parts, the satisfaction of the requirements by each TCB subset satisfies
the requirement for the entire TCB. Otherwise, security testing of the
entire TCB must be performed (even if the results of testing the
individual TCB subsets were available).
C1-4 DOCUMENTATION
C1-4.1 SECURITY FEATURES USER'S GUIDE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB. This collection of guides must include descriptions of every TCB
subset in the TCB and explicit cross-references to other related user's
guides to other TCB subsets, as required. In addition, interactions
between mechanisms within different TCB subsets must be clearly described.
C1-4.2 TRUSTED FACILITY MANUAL
This requirement applies as stated in the TCSEC to the TCB and to every
TCB subset in the TCB. This requirement can be met by providing a set of
manuals, one for each distinct (non-replicated) TCB subset. Each manual
shall address the functions and privileges to be controlled for the
associated TCB subset. Additionally, it must clearly show the interfaces
to, and the interaction with, more primitive TCB subsets. The manual for
each TCB subset shall identify the functions and privileges of the TCB
subsets on which the associated TCB subset depends. Also, the TCB subset's
manual shall identify which, if any, configuration options of the more
primitive TCB subsets are to be used for the composite TCB to operate
securely.
Any pre-defined roles supported (e.g., database administrator) by the TCB
subset shall be addressed.
The means for correlating multiple audit logs and synonymous user
identifications from multiple TCB subsets (if such exist) shall also be
addressed. The trusted facility manual shall describe the composite TCB so
that the interactions among the TCB subsets can be readily determined.
Other manuals may be referenced in this determination. The manuals that
address the distinct modules of the TCB and the generation of the TCB need
to be integrated with the other trusted facility manuals only to the
extent that they are affected by the use and operation (versus the
development) of the composite TCB.
C1-4.3 TEST DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB.
C1-4.4 DESIGN DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB.
Statement from TCSEC
If the TCB is composed of distinct modules, the interfaces between these
modules shall be described.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and the interfaces between TCB subsets.
CLASS (C2): CONTROLLED ACCESS PROTECTION
C2-1 SECURITY POLICY
C2-1.1 DISCRETIONARY ACCESS CONTROL
The discretionary access control requirements apply as stated in the TCSEC
to every TCB subset whose policy includes discretionary access control of
its subjects to its objects. Any TCB subset whose policy does not include
such discretionary access control is exempt from this requirement.
C2-1.2 OBJECT REUSE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB.
C2-2 ACCOUNTABILITY
C2-2.1 IDENTIFICATION AND AUTHENTICATION
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
If the TCB is composed of TCB subsets, one TCB subset may either rely on a
mechanism in another TCB subset to provide identification and
authentication services or provide the services directly. Each TCB subset
may maintain its own identification and authentication data or one central
repository may be maintained. If each TCB subset has its own data, then
the information for each individual user must be consistent among all
subsets.
C2-2.2 AUDIT
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
A TCB subset may maintain its own security audit log, distinct from that
maintained by more primitive TCB subsets, or it may use an audit interface
provided by a different TCB subset allowing the audit records it generates
to be processed by that TCB subset.
If the TCB subset uses different user identifications than a more
primitive TCB subset, there shall be a means to associate audit records
generated by different TCB subsets for the same individual with each
other, either at the time they are generated or later.
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of access to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by users (e.g., updates, retrievals, and
inserts), not just the invocation of the database management system. The
auditing mechanism shall have the capability of auditing all mediated
accesses which are visible to users. That is, each discretionary access
control policy decision shall be auditable. Individual operations
performed by trusted software, if totally transparent to the user, need
not be auditable. If the total audit requirement is met by the use of more
than one audit log, a method of correlation must be available.
C2-3 ASSURANCE
C2-3.1 OPERATIONAL ASSURANCE
C2-3.1.1 SYSTEM ARCHITECTURE
This requirement applies as stated in the TCSEC to every TCB subset, with
the following additional interpretations. The TCB must provide domains for
execution that are allocated to and used by TCB subsets according to the
subset-domain condition for evaluation by parts. A most primitive TCB
subset must provide domains for execution. A less primitive TCB subset
must make use of domains provided by a more primitive TCB subset. A less
primitive TCB subset may provide further execution domains but is not
required to do so.
Statement from TCSEC
The TCB shall maintain a domain for its own execution that protects it
from external interference or tampering.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to each TCB subset.
C2-3.1.2 SYSTEM INTEGRITY
This requirement applies as stated in the TCSEC to every TCB subset that
includes hardware or firmware. Any TCB subset that does not include
hardware or firmware is exempt from this requirement.
C2-3.2 LIFE CYCLE ASSURANCE
C2-3.2.1 SECURITY TESTING
This requirement applies as stated in the TCSEC to the entire TCB. If a
TCB consists of TCB subsets meeting the conditions for evaluation by
parts, the satisfaction of the requirements by each TCB subset satisfies
the requirement for the entire TCB. Otherwise, security testing of the
entire TCB must be performed (even if the results of testing the
individual TCB subsets were available).
C2-4 DOCUMENTATION
C2-4.1 SECURITY FEATURES USER'S GUIDE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB. This collection of guides must include descriptions of every TCB
subset in the TCB and explicit cross-references to other related user's
guides to other TCB subsets, as required. In addition, interactions
between mechanisms within different TCB subsets must be clearly described.
C2-4.2 TRUSTED FACILITY MANUAL
This requirement applies as stated in the TCSEC to the TCB and to every
TCB subset in the TCB. This requirement can be met by providing a set of
manuals, one for each distinct (non-replicated) TCB subset. Each manual
shall address the functions and privileges to be controlled for the
associated TCB subset. Additionally, it must clearly show the interfaces
to, and the interaction with, more primitive TCB subsets. The manual for
each TCB subset shall identify the functions and privileges of the TCB
subsets on which the associated TCB subset depends. Also, the TCB subset's
manual shall identify which, if any, configuration options of the more
primitive TCB subsets are to be used for the composite TCB to operate
securely.
Any pre-defined roles supported (e.g., database administrator) by the TCB
subset shall be addressed.
The means for correlating multiple audit logs and synonymous user
identifications from multiple TCB subsets (if such exist) shall also be
addressed.
The trusted facility manual shall describe the composite TCB so that the
interactions among the TCB subsets can be readily determined. Other
manuals may be referenced in this determination. The manuals that address
the distinct modules of the TCB and the generation of the TCB need to be
integrated with the other trusted facility manuals only to the extent that
they are affected by the use and operation (versus the development) of the
composite TCB.
C2-4.3 TEST DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB.
C2-4.4 DESIGN DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB.
Statement from TCSEC
If the TCB is composed of distinct modules, the interface between these
modules shall be described.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and the interfaces between TCB subsets.
CLASS (B1): LABELED SECURITY PROTECTION SECURITY POLICY
B1-1 SECURITY POLICY
B1-1.1 DISCRETIONARY ACCESS CONTROL
The discretionary access control requirements apply as stated in the TCSEC
to every TCB subset whose policy includes discretionary access control of
its subjects to its objects. Any TCB subset whose policy does not include
such discretionary access control is exempt from this requirement.
B1-1.2 OBJECT REUSE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB.
B1-1.3 LABELS
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
B1-1.3.1 LABEL INTEGRITY
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
B1-1.3.2 EXPORTATION OF LABELED INFORMATION
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
B1-1.4 MANDATORY ACCESS CONTROL
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
B1-2 ACCOUNTABILITY
B1-2.1 IDENTIFICATION AND AUTHENTICATION
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement. If the TCB is composed of TCB subsets, one TCB subset may
either rely on a mechanism in another TCB subset to provide identification
and authentication services or provide the services directly. Similarly,
that TCB subset may rely on a mechanism in another more primitive TCB
subset to ensure that the security level 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. Each TCB subset may
maintain its own identification and authentication data or one central
repository may be maintained. If each TCB subset has its own data, then
the information for each individual user must be consistent among all
subsets.
B1-2.2 AUDIT
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
A TCB subset may maintain its own security audit log, distinct from that
maintained by more primitive TCB subsets, or it may use an audit interface
provided by a different TCB subset allowing the audit records it generates
to be processed by that TCB subset.
If the TCB subset uses different user identifications than a more
primitive TCB subset, there shall be a means to associate audit records
generated by different TCB subsets for the same individual with each
other, either at the time they are generated or later.
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of access to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by untrusted users (e.g., updates,
retrievals, and inserts), not just the invocation of the database
management system. The auditing mechanism shall have the capability of
auditing all mediated accesses which are visible to users. That is, each
discretionary access control policy decision shall be auditable.
Individual operations performed by trusted software, if totally
transparent to the user, need not be auditable. If the total audit
requirement is met by the use of more than one audit log, a method of
correlation must be available.
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of accesses to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by untrusted users (e.g., updates,
retrievals, and inserts), not just the invocation of the database
management system. The auditing mechanism shall have the capability of
auditing all mediated accesses which are visible to the user. That is,
each discretionary access control policy decision and each mandatory
access control policy decision shall be auditable. Individual operations
performed by trusted software, if totally transparent to the user, need
not be auditable. If the total audit requirement is met by the use of more
than one audit log, a method of correlation must be available.
B1-3 ASSURANCE
B1-3.1 OPERATIONAL ASSURANCE
B1-3.1.1 SYSTEM ARCHITECTURE
This requirement applies as stated in the TCSEC to every TCB subset, with
the following additional interpretations. The TCB must provide domains for
execution that are allocated to and used by TCB subsets according to the
subset-domain condition for evaluation by parts. A most primitive TCB
subset must provide domains for execution. A less primitive TCB subset
must make use of domains provided by a more primitive TCB subset. A less
primitive TCB subset may provide further execution domains but is not
required to do so.
Similarly, the TCB must provide distinct address spaces for untrusted
processes. A most primitive TCB subset must provide distinct address
spaces for its subjects. A less primitive TCB subset must make use of the
distinct address space provided by a more primitive TCB subset. A less
primitive TCB subset may provide more fine-grained distinct address
spaces, but is not required to do so.
Statement from TCSEC
The TCB shall maintain a domain for its own execution that protects it
from external interference or tampering.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to each TCB subset.
B1-3.1.2 SYSTEM INTEGRITY
This requirement applies as stated in the TCSEC to every TCB subset that
includes hardware or firmware. Any TCB subset that does not include
hardware or firmware is exempt from this requirement.
B1-3.2 LIFE CYCLE ASSURANCE
B1-3.2.1 SECURITY TESTING
This requirement applies as stated in the TCSEC to the entire TCB. If a
TCB consists of TCB subsets meeting the conditions for evaluation by
parts, the satisfaction of the requirements by each TCB subset satisfies
the requirement for the entire TCB. Otherwise, security testing of the
entire TCB must be performed (even if the results of testing the
individual TCB subsets were available).
B1-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
This requirement applies as stated in the TCSEC to every TCB subset, with
the following specific additional interpretations.
It must be demonstrated that the security policy enforced by the composite
TCB is represented by the collection of policy models for the individual
TCB subsets.
Statement from TCSEC
An informal or formal model of the security policy supported by the TCB
shall be maintained over the life cycle of the ADP system and demonstrated
to be consistent with its axioms.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to the security policy of each TCB subset. An informal argument that the
set of policy models represents the "security policy supported by the
[composite] TCB" must be provided.
B1-4 DOCUMENTATION
B1-4.1 SECURITY FEATURES USER'S GUIDE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB. This collection of guides must include descriptions of every TCB
subset in the TCB and explicit cross-references to other related user's
guides to other TCB subsets, as required. In addition, interactions
between mechanisms within different TCB subsets must be clearly described.
B1-4.2 TRUSTED FACILITY MANUAL
This requirement applies as stated in the TCSEC to the TCB and to every
TCB subset in the TCB. This requirement can be met by providing a set of
manuals, one for each distinct (non-replicated) TCB subset. Each manual
shall address the functions and privileges to be controlled for the
associated TCB subset. Additionally, it must clearly show the interfaces
to, and the interaction with, more primitive TCB subsets. The manual for
each TCB subset shall identify the functions and privileges of the TCB
subsets on which the associated TCB subset depends. Also, the TCB subset's
manual shall identify which, if any, configuration options of the more
primitive TCB subsets are to be used for the composite TCB to operate
securely.
Any pre-defined roles supported (e.g., database administrator) by the TCB
subset shall be addressed.
The means for correlating multiple audit logs and synonymous user
identifications from multiple TCB subsets (if such exist) shall also be
addressed.
The trusted facility manual shall describe the composite TCB so that the
interactions among the TCB subsets can be readily determined. Other
manuals may be referenced in this determination. The manuals that address
the distinct modules of the TCB and the generation of the TCB need to be
integrated with the other trusted facility manuals only to the extent that
they are affected by the use and operation (versus the development) of the
composite TCB.
B1-4.3 TEST DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB.
B1-4.4 DESIGN DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB, with
the following specific additional interpretation:
Requirements concerning models and DTLSs apply to individual TCB subsets.
Statement from TCSEC
If the TCB is composed of distinct modules, the interface between these
modules shall be described.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and the interfaces between TCB subsets.
Statement from TCSEC
The specific TCB protection mechanisms shall be identified and an
explanation given to show that they satisfy the model.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and shall include the protection mechanisms which support
the conditions for TCB subset structure and separatesubset-domains.
CLASS (B2): STRUCTURED PROTECTION
B2-1 SECURITY POLICY
B2-1.1 DISCRETIONARY ACCESS CONTROL
The discretionary access control requirements apply as stated in the TCSEC
to every TCB subset whose policy includes discretionary access control of
its subjects to its objects. Any TCB subset whose policy does not include
such discretionary access control is exempt from this requirement.
B2-1.2 OBJECT REUSE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB.
B2-1.3 LABELS
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
Statement from TCSEC
Sensitivity labels associated with each ADP system resource . . . that is
directly or indirectly accessible by subjects external to the TCB shall be
maintained by the TCB
Interpretation
Internal TCB variables that are not visible to untrusted subjects need not
be labeled, provided that they are not directly or indirectly accessible
by subjects external to the TCB. However, it is important to understand
that such internal variables can function as covert signaling channels
when untrusted subjects are able to detect changes in these variables by
observing system behavior.
B2-1.3.1 LABEL INTEGRITY
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
B2-1.3.2 EXPORTATION OF LABELED INFORMATION
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
B2-1.3.3 SUBJECT SENSITIVITY LABELS
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
B2-1.3.4 DEVICE LABELS
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects
and has attached physical or virtual devices. Any TCB subset whose policy
does not include such mandatory access control or has no attached physical
or virtual devices is exempt from this requirement. This requirement can
be satisifed by the cooperative action of more than one TCB subset.
B2-1.4 MANDATORY ACCESS CONTROL
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
B2-2 ACCOUNTABILITY
B2-2.1 IDENTIFICATION AND AUTHENTICATION
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
If the TCB is composed of TCB subsets, one TCB subset may either rely on a
mechanism in another TCB subset to provide identification and
authentication services or provide the services directly. Similarly, that
TCB subset may rely on a mechanism in another more primitive TCB subset to
ensure that the security level 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. Each TCB subset may maintain its
own identification and authentication data or one central repository may
be maintained. If each TCB subset has its own data, then the information
for each individual user must be consistent among all subsets.
B2-2.1.1 TRUSTED PATH
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement. When TCB subsets are used, the requirement for trusted path
at levels B2 and above remains applicable to the entire TCB. The
implementation of trusted path could be localized in a single TCB subset.
Alternatively, it could be implemented in more than one TCB subset if the
separate implementations together comply with the system security policy.
B2-2.2 AUDIT
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
A TCB subset may maintain its own security audit log, distinct from that
maintained by more primitive TCB subsets, or it may use an audit interface
provided by a different TCB subset allowing the audit records it generates
to be processed by that TCB subset.
If the TCB subset uses different user identifications than a more
primitive TCB subset, there shall be a means to associate audit records
generated by different TCB subsets for the same individual with each
other, either at the time they are generated or later.
Any TCB subset wherein events may occur that require notification of the
security administrator shall be able to:
(1) detect the occurrence of these events,
(2) initiate the recording of the audit trail entry, and
(3) initiate the notification of the security administrator.
The ability to terminate events (2) and (3) above may be provided either
in the TCB subset within which they occur, or in the TCB subset(s) where
actions that lead to the event were initiated.
The monitoring and notification requirements may require cooperation
between multiple distinct TCB subsets or multiple instantiations of the
same TCB subset. For example, to detect the accumulation of events for a
single user it may be necessary to collect events from several subjects in
distinct processes that are surrogates for the same user. As another
example, there may be a single TCB subset that collects events from a
number of other TCB subset instantiations and, based on its analysis of
them, notifies the security administrator.
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of accesses to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by untrusted users (e.g., updates,
retrievals, inserts), not just the invocation of the database management
system. The auditing mechanism shall have the capability of auditing all
mediated accesses which are visible to the user. That is, each
discretionary access control policy decision and each mandatory access
control policy decision shall be auditable. Individual operations
performed by trusted software, if totally transparent to the user, need
not be auditable. If the total audit requirement is met by the use of more
than one audit log, a method of correlation must be available.
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of accesses to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by untrusted users (e.g., updates,
retrievals, and inserts), not just the invocation of the database
management system. The auditing mechanism shall have the capability of
auditing all mediated accesses which are visible to the user. That is,
each discretionary access control policy decision and each mandatory
access control policy decision shall be auditable. Individual operations
performed by trusted software, if totally transparent to the user, need
not be auditable. If the total audit requirement is met by the use of more
than one audit log, a method of correlation must be available.
B2-3 ASSURANCE
B2-3.1 OPERATIONAL ASSURANCE
B2-3.1.1 SYSTEM ARCHITECTURE
This requirement applies as stated in the TCSEC to every TCB subset, with
the following additional interpretations.
The TCB must provide domains for execution that are allocated to and used
by TCB subsets according to the subset-domain condition for evaluation by
parts. A most primitive TCB subset must provide domains for execution. A
less primitive TCB subset must make use of domains provided by a more
primitive TCB subset. A less primitive TCB subset may provide further
execution domains but is not required to do so.
Similarly, the TCB must provide distinct address spaces for untrusted
processes. A most primitive TCB subset must provide distinct address
spaces for its subjects. A less primitive TCB subset must make use of the
distinct address space provided by a more primitive TCB subset. A less
primitive TCB subset may provide more fine-grained distinct address
spaces, but is not required to do so.
In general, requirements specifically referring to hardware or firmware
apply only to TCB subsets that include hardware or firmware. The exception
is the requirement that the TCB make effective use of available hardware.
This requirement applies to those TCB subsets that use resources provided
by more primitive TCB subsets in lieu of hardware. Those TCB subsets are
required to make effective use of the protection-relevant features
exported to it by the more primitive TCB subsets (e.g., execution domains,
support for distinct address spaces) to separate those elements that are
protection-critical from those that are not.
Statement from TCSEC
The TCB shall maintain a domain for its own execution that protects it
from external interference or tampering.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to each TCB subset.
Statement from TCSEC
The user interface to the TCB shall be completely defined and all elements
of the TCB identified.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as the user interface to the
whole TCB.
Statement from TCSEC
It shall make effective use of available hardware to separate those
elements that are protection-critical from those that are not.
Interpretation
If the TCB is composed of multiple subsets, each TCB subset must make use
of facilities provided to it by more primitive TCB subsets, such as
support for execution domains and for distinct address spaces, to achieve
the required separation.
B2-3.1.2 SYSTEM INTEGRITY
This requirement applies as stated in the TCSEC to every TCB subset that
includes hardware or firmware. Any TCB subset that does not include
hardware or firmware is exempt from this requirement.
B2-3.1.3 COVERT CHANNEL ANALYSIS
This requirement applies as stated in the TCSEC to the entire TCB. When
the TCB is made up entirely of TCB subsets meeting the conditions for
evaluation by parts, analysis of the individual TCB subsets satisfies this
requirement. Otherwise, covert channel analysis of the entire TCB must be
performed (even if the results of covert channel analysis of the
individual TCB subsets were available).
B2-3.1.4 TRUSTED FACILITY MANAGEMENT
This requirement applies as stated in the TCSEC to the entire TCB. Any
"operator" or "administrator" functions intrinsic to an individual TCB
subset must be supported by that TCB subset or by a more primitive TCB
subset.
B2-3.2 LIFE CYCLE ASSURANCE
B2-3.2.1 SECURITY TESTING
This requirement applies as stated in the TCSEC to the entire TCB. If a
TCB consists of TCB subsets meeting the conditions for evaluation by
parts, the satisfaction of the requirements by each TCB subset satisfies
the requirement for the entire TCB. Otherwise, security testing of the
entire TCB must be performed (even if the results of testing the
individual TCB subsets were available).
B2-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
This requirement applies as stated in the TCSEC to every TCB subset, with
the following specific additional interpretations.
It must be demonstrated that the security policy enforced by the composite
TCB is represented by the collection of policy models for the individual
TCB subsets.
The argument that the descriptive top level specification (DTLS) is
consistent with the TCB interface applies to the entire TCB. There is
required an explicit and convincing description of how the set of top
level specifications (one for each TCB subset) describes the TCB interface
in terms of exceptions, errors, and effects.
Statement from TCSEC
A formal model of the security policy supported by the TCB shall be
maintained over the life cycle of the ADP system and demonstrated to be
consistent with its axioms.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to the security policy of each TCB subset. An informal argument that the
set of policy models represents the "security policy supported by the
[composite] TCB" must be provided.
Statement from TCSEC
A descriptive top-level specification (DTLS) of the TCB shall be
maintained that completely and accurately describes the TCB in terms of
exceptions, error messages, and effects.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to the DTLS of each TCB subset. An informal argument that the set of DTLSs
accurately describes the TCB must be provided.
If there is a multifaceted policy (e.g., both mandatory access control and
discretionary access control policies) in a particular TCB subset, then
all facets must be represented in the DTLS and in the TCB subset's model.
Statement from TCSEC
The descriptive top-level specification (DTLS) shall be shown to be an
accurate description of the TCB interface.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as to the user interface of
the composite TCB. The TCB interface description shall include an
explanation of how to describe the total TCB accurately, in the context of
the multiple TCB subset DTLSs.
B2-3.2.3 Configuration Management
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB, with the following additional interpretation. Because subsets of the
TCB may be developed independently, a single configuration management
system may not be feasible. However, the combination of configuration
management systems used to support all the TCB subsets must meet all the
stated requirements. The information describing the interrelations between
separate TCB subsets and separate security policy models falls into the
category of "all documentation and code associated with the current
version of the TCB" in the TCSEC requirements.
B2-4 DOCUMENTATION
B2-4.1 SECURITY FEATURES USER'S GUIDE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB. This collection of guides must include descriptions of every TCB
subset in the TCB and explicit cross-references to other related user's
guides to other TCB subsets, as required. In addition, interactions
between mechanisms within different TCB subsets must be clearly described.
B2-4.2 TRUSTED FACILITY MANUAL
This requirement applies as stated in the TCSEC to the TCB and to every
TCB subset in the TCB. This requirement can be met by providing a set of
manuals, one for each distinct (non-replicated) TCB subset. Each manual
shall address the functions and privileges to be controlled for the
associated TCB subset. Additionally, it must clearly show the interfaces
to, and the interaction with, more primitive TCB subsets. The manual for
each TCB subset shall identify the functions and privileges of the TCB
subsets on which the associated TCB subset depends. Also, the TCB subset's
manual shall identify which, if any, configuration options of the more
primitive TCB subsets are to be used for the composite TCB to operate
securely.
Any pre-defined roles supported (e.g., database administrator) by the TCB
subset shall be addressed. The means for correlating multiple audit logs
and synonymous user identifications from multiple TCB subsets (if such
exist) shall also be addressed.
The trusted facility manual shall describe the composite TCB so that the
interactions among the TCB subsets can be readily determined. Other
manuals may be referenced in this determination. The manuals that address
the distinct modules of the TCB and the generation of the TCB need to be
integrated with the other trusted facility manuals only to the extent that
they are affected by the use and operation (versus the development) of the
composite TCB.
The TCB modules that contain the reference validation mechanism must be
associated with the TCB subset to which they belong. The procedure for
generating a new TCB after modifying only one (or several) TCB subsets
must be described. This may be accommodated by independent regeneration of
the individual TCB subsets or by regeneration of only the affected TCB
subsets.
B2-4.3 TEST DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB.
B2-4.4 DESIGN DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB, with
the following specific addditional interpretations. Requirements
concerning models and DTLSs apply to individual TCB subsets. The
requirement concerning the description of interfaces between modules of
the TCB includes the interfaces between TCB subsets. The documentation of
the implementation of a reference validation mechanism must include
justification for meeting the conditions for evaluation by parts.
Statement from TCSEC
The interfaces between the TCB modules shall be described.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and the interfaces between TCB subsets.
Statement from TCSEC
The specific TCB protection mechanisms shall be identified and an
explanation given to show that they satisfy the model.
Interpretation
If the TCB is composed of multiple subsets, this
requirement applies to each TCB subset and shall include
the protection mechanisms which support the conditions for
TCB subset structure and separate subset-domains.
Statement from TCSEC
The descriptive top-level specification (DTLS) shall be shown to be an
accurate description of the TCB interface.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as to the user interface of
the composite TCB. The TCB interface description shall include an
explanation of how to describe the total TCB accurately, in the context of
the multiple TCB subset DTLSs.
Statement from TCSEC
Documentation shall describe how the TCB implements the reference monitor
concept and give an explanation of why it is tamper resistant, cannot be
bypassed, and is correctly implemented.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement is
interpreted to apply to each TCB subset with respect to its specific
technical policy. In addition, there must be documented an informal
argument that the cooperative action of the TCB subsets makes the TCB
itself tamper resistant, non-bypassable, and correct.
Statement from TCSEC
Documentation shall describe how the TCB is structured to facilitate
testing and to enforce least privilege.
Interpretation
If the TCB is composed of multiple subsets, this requirement is
interpreted to apply to individual TCB subsets as well as to the overall
TCB.
CLASS (B3): SECURITY DOMAINS
B3-1 SECURITY POLICY
B3-1.1 DISCRETIONARY ACCESS CONTROL
The discretionary access control requirements apply as stated in the TCSEC
to every TCB subset whose policy includes discretionary access control of
its subjects to its objects. Any TCB subset whose policy does not include
such discretionary access control is exempt from this requirement.
B3-1.2 OBJECT REUSE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB.
B3-1.3 LABELS
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
Statement from TCSEC
Sensitivity labels associated with each ADP system resource . . . that is
directly or indirectly accessible by subjects external to the TCB shall be
maintained by the TCB
Interpretation
Internal TCB variables that are not visible to untrusted subjects need not
be labeled, provided that they are not directly or indirectly accessible
by subjects external to the TCB. However, it is important to understand
that such internal variables can function as covert signaling channels
when untrusted subjects are able to detect changes in these variables by
observing system behavior.
B3-1.3.1 LABEL INTEGRITY
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
B3-1.3.2 EXPORTATION OF LABELED INFORMATION
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
B3-1.3.3 SUBJECT SENSITIVITY LABELS
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
B3-1.3.4 DEVICE LABELS
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects
and has attached physical or virtual devices. Any TCB subset whose policy
does not include such mandatory access control or has no attached physical
or virtual devices is exempt from this requirement. This requirement can
be satisifed by the cooperative action of more than one TCB subset.
B3-1.4 MANDATORY ACCESS CONTROL
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
B3-2 ACCOUNTABILITY
B3-2.1 IDENTIFICATION AND AUTHENTICATION
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
If the TCB is composed of TCB subsets, one TCB subset may either rely on a
mechanism in another TCB subset to provide identification and
authentication services or provide the services directly. Similarly, that
TCB subset may rely on a mechanism in another more primitive TCB subset to
ensure that the security level 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. Each TCB subset may maintain its
own identification and authentication data or one central repository may
be maintained. If each TCB subset has its own data, then the information
for each individual user must be consistent among all subsets.
B3-2.1.1 TRUSTED PATH
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
When TCB subsets are used, the requirement for trusted path at levels B2
and above remains applicable to the entire TCB. The need for trusted path
"when positive TCB-to-user connection is required (e.g., login, change
subject security level)" can require user interaction with virtually any
TCB subset within the TCB. The implementation of trusted path could be
localized in a single TCB subset. Alternatively, it could be implemented
in more than one TCB subset if the separate implementations together
comply with the system security policy.
B3-2.2 AUDIT
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement. A TCB subset may maintain its own security audit log,
distinct from that maintained by more primitive TCB subsets, or it may use
an audit interface provided by a different TCB subset allowing the audit
records it generates to be processed by that TCB subset. If the TCB subset
uses different user identifications than a more primitive TCB subset,
there shall be a means to associate audit records generated by different
TCB subsets for the same individual with each other, either at the time
they are generated or at some later time.
Any TCB subset wherein events may occur that require notification of the
security administrator shall be able to: (1) detect the occurrence of
these events, (2) initiate the recording of the audit trail entry, and (3)
initiate the notification of the security administrator The ability to
terminate events (2) and (3) above may be provided either in the TCB
subset within which they occur, or in the TCB subset(s) where actions that
lead to the event were initiated. The monitoring and notification
requirements may require cooperation between multiple distinct TCB subsets
or multiple instantiations of the same TCB subset. For example, to detect
the accumulation of events for a single user it may be necessary to
collect events from several subjects in distinct processes that are
surrogates for the same user. As another example, there may be a single
TCB subset that collects events from a number of other TCB subset
instantiations and, based on its analysis of them, notifies the security
administrator.
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of accesses to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by untrusted users (e.g., updates,
retrievals, inserts), not just the invocation of the database management
system. The auditing mechanism shall have the capability of auditing all
mediated accesses which are visible to the user. That is, each
discretionary access control policy decision and each mandatory access
control policy decision shall be auditable. Individual operations
performed by trusted software, if totally transparent to the user, need
not be audited. If the total audit requirement is met by the use of more
than one audit log, a method of correlation must be available.
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of accesses to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by untrusted users (e.g., updates,
retrievals, and inserts), not just the invocation of the database
management system. The auditing mechanism shall have the capability of
auditing all mediated accesses which are visible to the user. That is,
each discretionary access control policy decision and each mandatory
access control policy decision shall be auditable. Individual operations
performed by trusted software, if totally transparent to the user, need
not be auditable. If the total audit requirement is met by the use of more
than one audit log, a method of correlation must be available.
B3-3 ASSURANCE
B3-3.1 OPERATIONAL ASSURANCE 1
B3-3.1.1 System Architecture
This requirement applies as stated in the TCSEC to every TCB subset, with
the following additional interpretations. The TCB must provide domains for
execution that are allocated to and used by TCB subsets according to the
subset-domain condition for evaluation by parts. A most primitive TCB
subset must provide domains for execution. A less primitive TCB subset
must make use of domains provided by a more primitive TCB subset. A less
primitive TCB subset may provide further execution domains but is not
required to do so.
Similarly, the TCB must provide distinct address spaces for untrusted
processes. A most primitive TCB subset must provide distinct address
spaces for its subjects. A less primitive TCB subset must make use of the
distinct address space provided by a more primitive TCB subset. A less
primitive TCB subset may provide more fine-grained distinct address
spaces, but is not required to do so.
In general, requirements specifically referring to hardware or firmware
apply only to TCB subsets that include hardware or firmware. However, the
requirement that the TCB make effective use of hardware requires that a
less primitive TCB subset make effective use of the protection-relevant
features exported to it by the more primitive TCB subsets (e.g., execution
domains, support for distinct address spaces) to separate those elements
that are protection-critical from those that are not.
Statement from TCSEC
The TCB shall maintain a domain for its own execution that protects it
from external interference or tampering.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to each TCB subset.
Statement from TCSEC
The user interface to the TCB shall be completely defined and all elements
of the TCB identified.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as the user interface to the
whole TCB.
Statement from TCSEC
It shall make effective use of available hardware to separate those
elements that are protection-critical from those that are not.
Interpretation
If the TCB is composed of multiple subsets, each TCB subset must make use
of facilities provided to it by more primitive TCB subsets, such as
support for execution domains and for distinct address spaces, to achieve
the required separation.
B3-3.1.2 SYSTEM INTEGRITY
This requirement applies as stated in the TCSEC to every TCB subset that
includes hardware or firmware. Any TCB subset that does not include
hardware or firmware is exempt from this requirement.
B3-3.1.3 COVERT CHANNEL ANALYSIS
This requirement applies as stated in the TCSEC to the entire TCB. When
the TCB is made up entirely of TCB subsets meeting the conditions for
evaluation by parts, analysis of the individual TCB subsets satisfies this
requirement. Otherwise, covert channel analysis of the entire TCB must be
performed (even if the results of covert channel analysis of the
individual TCB subsets were available).
B3-3.1.4 TRUSTED FACILITY MANAGEMENT
This requirement applies as stated in the TCSEC to the entire TCB. Any
"operator" or "administrator" functions intrinsic to an individual TCB
subset must be supported by that TCB subset or by a more primitive TCB
subset.
B3-3.1.5 TRUSTED RECOVERY
This requirement applies as stated in the TCSEC to the entire TCB and to
the individual TCB subsets. The cooperative recovery actions of the TCB
subsets making up the TCB must provide trusted recovery for the overall
TCB. Otherwise, trusted recovery evaluation must address the entire TCB
(even if the individual TCB subsets meet the trusted recovery
requirements).
B3-3.2 LIFE CYCLE ASSURANCE
B3-3.2.1 SECURITY TESTING
This requirement applies as stated in the TCSEC to the entire TCB. If a
TCB consists of TCB subsets meeting the conditions for evaluation by
parts, the satisfaction of the requirements by each TCB subset satisfies
the requirement for the entire TCB.
Otherwise, security testing of the entire TCB must be performed (even if
the results of testing the individual TCB subsets were available).
B3-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
This requirement applies as stated in the TCSEC to every TCB subset, with
the following specific additional interpretations.
It must be demonstrated that the security policy enforced by the composite
TCB is represented by the collection of policy models for the individual
TCB subsets.
The argument that the descriptive top level specification (DTLS) is
consistent with the TCB interface applies to the entire TCB. There is
required an explicit and convincing description of how the set of top
level specifications (one for each TCB subset) describes the TCB interface
in terms of exceptions, errors, and effects.
Statement from TCSEC
A formal model of the security policy supported by the TCB shall be
maintained over the life cycle of the ADP system and demonstrated to be
consistent with its axioms.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to the security policy of each TCB subset. An informal argument that the
set of policy models represents the "security policy supported by the
[composite] TCB" must be provided.
Statement from TCSEC
A descriptive top-level specification (DTLS) of the TCB shall be
maintained that completely and accurately describes the TCB in terms of
exceptions, error messages, and effects.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to the DTLS of each TCB subset. An informal argument that the set of DTLSs
accurately describes the TCB must be provided.
If there is a multifaceted policy (e.g., both mandatory access control and
discretionary access control policies) in a particular TCB subset, then
all facets must be represented in the DTLS and in the TCB subset's model.
Statement from TCSEC
The descriptive top-level specification (DTLS) shall be shown to be an
accurate description of the TCB interface.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as to the user interface of
the composite TCB. The TCB interface description shall include an
explanation of how to describe the total TCB accurately, in the context of
the multiple TCB subset DTLSs.
Statement from TCSEC
A convincing argument shall be given that the DTLS is consistent with the
model.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to individual TCB subsets. Enforcement of all policies must be shown to
occur in all situations (e.g., state transitions) required by the formal
security policy model. In the case of a discretionary access control
policy, the presence of the access control check at all identified state
transitions is the total of what is required for demonstrating consistency
between the DTLS and the model. This may be verified by inspection of the
DTLS (that is, by visually checking that exception checks required by the
model are present in the DTLS). For the mandatory access control policy,
the DTLS must be shown by a convincing argument to be consistent with the
model.
B3-3.2.3 CONFIGURATION MANAGEMENT
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB, with the following additional interpretation.
Because subsets of the TCB may be developed independently, a single
configuration management system may not be feasible. However, the
combination of configuration management systems used to support all the
TCB subsets must meet all the stated requirements. The information
describing the interrelations between separate TCB subsets and separate
security policy models falls into the category of "all documentation and
code associated with the current version of the TCB" in the TCSEC
requirements.
B3-4 DOCUMENTATION
B3-4.1 SECURITY FEATURES USER'S GUIDE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB. This collection of guides must include descriptions of every TCB
subset in the TCB and explicit cross-references to other related user's
guides to other TCB subsets, as required. In addition, interactions
between mechanisms within different TCB subsets must be clearly described.
B3-4.2 TRUSTED FACILITY MANUAL
This requirement applies as stated in the TCSEC to the TCB and to every
TCB subset in the TCB. This requirement can be met by providing a set of
manuals, one for each distinct (non-replicated) TCB subset. Each manual
shall address the functions and privileges to be controlled for the
associated TCB subset. Additionally, it must clearly show the interfaces
to, and the interaction with, more primitive TCB subsets. The manual for
each TCB subset shall identify the functions and privileges of the TCB
subsets on which the associated TCB subset depends. Also, the TCB subset's
manual shall identify which, if any, configuration options of the more
primitive TCB subsets are to be used for the composite TCB to operate
securely.
Any pre-defined roles supported (e.g., database administrator) by the TCB
subset shall be addressed.
The means for correlating multiple audit logs and synonymous user
identifications from multiple TCB subsets (if such exist) shall also be
addressed.
The trusted facility manual shall describe the composite TCB so that the
interactions among the TCB subsets can be readily determined. Other
manuals may be referenced in this determination. The manuals that address
the distinct modules of the TCB and the generation of the TCB need to be
integrated with the other trusted facility manuals only to the extent that
they are affected by the use and operation (versus the development) of the
composite TCB.
The TCB modules that contain the reference validation mechanism must be
associated with the TCB subset to which they belong. The procedure for
generating a new TCB after modifying only one (or several) TCB subsets
must be described. This may be accommodated by independent regeneration of
the individual TCB subsets or by regeneration of only the affected TCB
subsets.
B3-4.3 TEST DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB.
B3-4.4 DESIGN DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB, with
the following addtional specific interpretations Requirements concerning
models and DTLSs apply to individual TCB subsets. The requirement
concerning the description of interfaces between modules of the TCB
includes the interfaces between TCB subsets. The documentation of the
implementation of a reference validation mechanism must include
justification for meeting the conditions for evaluation by parts.
Statement from TCSEC
The interfaces between the TCB modules shall be described.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and the interfaces between TCB subsets.
Statement from TCSEC
The specific TCB protection mechanisms shall be identified and an
explanation given to show that they satisfy the model.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and shall include the protection mechanisms which support
the conditions for TCB subset structure and separate subset-domains.
Statement from TCSEC
The descriptive top-level specification (DTLS) shall be shown to be an
accurate description of the TCB interface.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as to the user interface of
the composite TCB. The TCB interface description shall include an
explanation of how to describe the total TCB accurately, in the context of
the multiple TCB subset DTLSs.
Statement from TCSEC
Documentation shall describe how the TCB implements the reference monitor
concept and give an explanation of why it is tamper resistant, cannot be
bypassed, and is correctly implemented.
Interpretation
If the TCB is composed of multiple TCB subsets, this
requirement is interpreted to apply to each TCB subset with
respect to its specific technical policy. In addition,
there must be documented an informal argument that the
cooperative action of the TCB subsets makes the TCB itself
tamper resistant, non-bypassable, and correct.
Statement from TCSEC
Documentation shall describe how the TCB is structured to facilitate
testing and to enforce least privilege.
Interpretation
If the TCB is composed of multiple subsets, this requirement is
interpreted to apply to individual TCB subsets as well as to the overall
TCB.
Statement from TCSEC
The TCB implementation shall be informally shown to be consistent with the
DTLS.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement is
interpreted to apply to individual TCB subsets.
CLASS (A1): VERIFIED DESIGN
A1-1 SECURITY POLICY
A1-1.1 DISCRETIONARY ACCESS CONTROL
The discretionary access control requirements apply as stated in the TCSEC
to every TCB subset whose policy includes discretionary access control of
its subjects to its objects. Any TCB subset whose policy does not include
such discretionary access control is exempt from this requirement.
A1-1.2 OBJECT REUSE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB.
A1-1.3 LABELS
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
Statement from TCSEC
Sensitivity labels associated with each ADP system resource . . . that is
directly or indirectly accessible by subjects external to the TCB shall be
maintained by the TCB
Interpretation
Internal TCB variables that are not visible to untrusted subjects need not
be labeled, provided that they are not directly or indirectly accessible
by subjects external to the TCB. However, it is important to understand
that such internal variables can function as covert signaling channels
when untrusted subjects are able to detect changes in these variables by
observing system behavior.
A1-1.3.1 LABEL INTEGRITY
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
A1-1.3.2 EXPORTATION OF LABELED INFORMATION
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
A1-1.3.3 SUBJECT SENSITIVITY LABELS
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
A1-1.3.4 DEVICE LABELS
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects
and has attached physical or virtual devices. Any TCB subset whose policy
does not include such mandatory access control or has no attached physical
or virtual devices is exempt from this requirement. This requirement can
be satisifed by the cooperative action of more than one TCB subset.
A1-1.4 MANDATORY ACCESS CONTROL
This requirement applies as stated in the TCSEC to every TCB subset whose
policy includes mandatory access control of its subjects to its objects.
Any TCB subset whose policy does not include such mandatory access control
is exempt from this requirement.
A1-2 ACCOUNTABILITY
A1-2.1 IDENTIFICATION AND AUTHENTICATION
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
If the TCB is composed of TCB subsets, one TCB subset may either rely on a
mechanism in another TCB subset to provide identification and
authentication services or provide the services directly. Similarly, that
TCB subset may rely on a mechanism in another more primitive TCB subset to
ensure that the security level 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. Each TCB subset may maintain its
own identification and authentication data or one central repository may
be maintained. If each TCB subset has its own data, then the information
for each individual user must be consistent among all subsets.
A1-2.1.1 TRUSTED PATH
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement.
When TCB subsets are used, the requirement for trusted path at levels B2
and above remains applicable to the entire TCB. The need for trusted path
"when positive TCB-to-user connection is required (e.g., login, change
subject security level)" can require user interaction with virtually any
TCB subset within the TCB. The implementation of trusted path could be
localized in a single TCB subset. Alternatively, it could be implemented
in more than one TCB subset if the separate implementations together
comply with the system security policy.
A1-2.2 AUDIT
This requirement applies as stated in the TCSEC to the entire TCB. The
cooperative action of the TCB subsets making up the TCB must satisfy the
requirement. A TCB subset may maintain its own security audit log,
distinct from that maintained by more primitive TCB subsets, or it may use
an audit interface provided by a different TCB subset allowing the audit
records it generates to be processed by that TCB subset.
If the TCB subset uses different user identifications than a more
primitive TCB subset, there shall be a means to associate audit records
generated by different TCB subsets for the same individual with each
other, either at the time they are generated or at some later time.
Any TCB subset wherein events may occur that require notification of the
security administrator shall be able to: (1) detect the occurrence of
these events, (2) initiate the recording of the audit trail entry, and (3)
initiate the notification of the security administrator. The ability to
terminate events (2) and (3) above may be provided either in the TCB
subset within which they occur, or in the TCB subset(s) where actions that
lead to the event were initiated.
The monitoring and notification requirements may require cooperation
between multiple distinct TCB subsets or multiple instantiations of the
same TCB subset. For example, to detect the accumulation of events for a
single user it may be necessary to collect events from several subjects in
distinct processes that are surrogates for the same user. As another
example, there may be a single TCB subset that collects events from a
number of other TCB subset instantiations and, based on its analysis of
them, notifies the security administrator.
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of accesses to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by untrusted users (e.g., updates,
retrievals, inserts), not just the invocation of the database management
system. The auditing mechanism shall have the capability of auditing all
mediated accesses which are visible to the user. That is, each
discretionary access control policy decision and each mandatory access
control policy decision shall be auditable. Individual operations
performed by trusted software, if totally transparent to the user, need
not be audited. If the total audit requirement is met by the use of more
than one audit log, a method of correlation must be available.
Statement from TCSEC
The TCB shall be able to create, maintain, and protect from modification .
. . an audit trail of accesses to the objects it protects.
Interpretation
Auditable events, in the case of a database management system, are the
individual operations initiated by untrusted users (e.g., updates,
retrievals, and inserts), not just the invocation of the database
management system. The auditing mechanism shall have the capability of
auditing all mediated accesses which are visible to the user. That is,
each discretionary access control policy decision and each mandatory
access control policy decision shall be auditable. Individual operations
performed by trusted software, if totally transparent to the user, need
not be auditable. If the total audit requirement is met by the use of more
than one audit log, a method of correlation must be available.
A1-3 ASSURANCE
A1-3.1 OPERATIONAL ASSURANCE
A1-3.1.1 SYSTEM ARCHITECTURE
This requirement applies as stated in the TCSEC to every TCB subset, with
the following additional interpretations.The TCB must provide domains for
execution that are allocated to and used by TCB subsets according to the
subset-domain condition for evaluation by parts. A most primitive TCB
subset must provide domains for execution. A less primitive TCB subset
must make use of domains provided by a more primitive TCB subset. A less
primitive TCB subset may provide further execution domains but is not
required to do so.
Similarly, the TCB must provide distinct address spaces for untrusted
processes. A most primitive TCB subset must provide distinct address
spaces for its subjects. A less primitive TCB subset must make use of the
distinct address space provided by a more primitive TCB subset. A less
primitive TCB subset may provide more fine-grained distinct address
spaces, but is not required to do so. In general, requirements
specifically referring to hardware or firmware apply only to TCB subsets
that include hardware or firmware. However, the requirement that the TCB
make effective use of hardware requires that a less primitive TCB subset
make effective use of the protection-relevant features exported to it by
the more primitive TCB subsets (e.g., execution domains, support for
distinct address spaces) to separate those elements that are
protection-critical from those that are not.
Statement from TCSEC
The TCB shall maintain a domain for its own execution that protects it
from external interference or tampering.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to each TCB subset.
Statement from TCSEC
The user interface to the TCB shall be completely defined and all elements
of the TCB identified.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as the user interface to the
whole TCB.
Statement from TCSEC
It shall make effective use of available hardware to separate those
elements that are protection-critical from those that are not.
Interpretation
If the TCB is composed of multiple subsets, each TCB subset must make use
of facilities provided to it by more primitive TCB subsets, such as
support for execution domains and for distinct address spaces, to achieve
the required separation.
A1-3.1.2 SYSTEM INTEGRITY
This requirement applies as stated in the TCSEC to every TCB subset that
includes hardware or firmware. Any TCB subset that does not include
hardware or firmware is exempt from this requirement.
A1-3.1.3 COVERT CHANNEL ANALYSIS
This requirement applies as stated in the TCSEC to the entire TCB. When
the TCB is made up entirely of TCB subsets meeting the conditions for
evaluation by parts, analysis of the individual TCB subsets satisfies this
requirement. Otherwise, covert channel analysis of the entire TCB must be
performed (even if the results of covert channel analysis of the
individual TCB subsets were available).
A1-3.1.4 TRUSTED FACILITY MANAGEMENT
This requirement applies as stated in the TCSEC to the entire TCB. Any
"operator" or "administrator" functions intrinsic to an individual TCB
subset must be supported by that TCB subset or by a more primitive TCB
subset.
A1-3.1.5 TRUSTED RECOVERY
This requirement applies as stated in the TCSEC to the entire TCB and to
the individual TCB subsets. The cooperative recovery actions of the TCB
subsets making up the TCB must provide trusted recovery for the overall
TCB. Otherwise, trusted recovery evaluation must address the entire TCB
(even if the individual TCB subsets meet the trusted recovery
requirements).
A1-3.2 LIFE CYCLE ASSURANCE
A1-3.2.1 SECURITY TESTING
This requirement applies as stated in the TCSEC to the entire TCB. If a
TCB consists of TCB subsets meeting the conditions for evaluation by
parts, the satisfaction of the requirements by each TCB subset satisfies
the requirement for the entire TCB.
Otherwise, security testing of the entire TCB must be performed (even if
the results of testing the individual TCB subsets were available).
A1-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
This requirement applies as stated in the TCSEC to every TCB subset, with
the following specific additional interpretations.
It must be demonstrated that the security policy enforced by the composite
TCB is represented by the collection of policy models for the individual
TCB subsets.
The argument that the descriptive top level specification (DTLS) and
formal top level specification (FTLS) are consistent with the TCB
interface applies to the entire TCB. There is required an explicit and
convincing description of how the set of top level specifications (one for
each TCB subset) describes the TCB interface in terms of exceptions,
errors, and effects.
Statement from TCSEC
A formal model of the security policy supported by the TCB shall be
maintained over the life cycle of the ADP system and demonstrated to be
consistent with its axioms.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to the security policy of each TCB subset. An informal argument that the
set of policy models represents the "security policy supported by the
[composite] TCB" must be provided.
Statement from TCSEC
A descriptive top-level specification (DTLS) of the TCB shall be
maintained that completely and accurately describes the TCB in terms of
exceptions, error messages, and effects.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to the DTLS of each TCB subset. An informal argument that the set of DTLSs
accurately describes the TCB must be provided.
If there is a multifaceted policy (e.g., both mandatory access control and
discretionary access control policies) in a particular TCB subset, then
all facets must be represented in the DTLS and in the TCB subset's model.
Statement from TCSEC
A formal top-level specification (FTLS) of the TCB shall be maintained
that accurately describes the TCB in terms of exceptions, error messages,
and effects.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to the FTLS of each TCB subset. An informal argument that the set of FTLSs
accurately describes the TCB must be provided.
If there is a multifaceted policy (e.g., both mandatory access control and
discretionary access control policies) in a particular TCB subset, then
all facets must be represented in the FTLS and in the TCB subset's model.
Statement from TCSEC
The FTLS shall be shown to be an accurate description of the TCB
interface.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as to the user interface of
the composite TCB. The TCB interface description shall include an
explanation of how to describe the total TCB accurately, in the context of
the multiple TCB subset DTLSs.
Statement from TCSEC
A convincing argument shall be given that the DTLS is consistent with the
model.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to individual TCB subsets. Enforcement of all policies must be shown to
occur in all situations (e.g., state transitions) required by the formal
security policy model. In the case of a discretionary access control
policy, the presence of the access control check at all identified state
transitions is the total of what is required for demonstrating consistency
between the DTLS and the model. This may be verified by inspection of the
DTLS (that is, by visually checking that exception checks required by the
model are present in the DTLS). For the mandatory access control policy,
the DTLS must be shown by a convincing argument to be consistent with the
model.
Statement from TCSEC
. . . a combination of formal and informal techniques shall be used to
show that the FTLS is consistent with the model.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement applies
to individual TCB subsets. Enforcement of all policies must be shown to
occur in all situations (e.g., state transitions) required by the formal
security policy model at the required occasions. In the case of a
discretionary access control policy, the presence of the access control
check at all identified state transitions is the total of what is required
for demonstrating consistency between the FTLS and the model. This may be
verified by inspection of the FTLS (that is, by visually checking that
exception checks required by the model are present in the FTLS). For the
mandatory access control policy, the FTLS must be shown by a combination
of formal and informal techniques to be consistent with the model.
A1-3.2.3 CONFIGURATION MANAGEMENT
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB, with the following additional interpretation.
Because subsets of the TCB may be developed independently, a single
configuration management system may not be feasible. However, the
combination of configuration management systems used to support all the
TCB subsets must meet all the stated requirements. The information
describing the interrelations between separate TCB subsets and separate
security policy models falls into the category of "all documentation and
code associated with the current version of the TCB" in the TCSEC
requirements.
A1-3.2.4 TRUSTED DISTRIBUTION
This requirement applies as stated in the TCSEC to the entire TCB. It can
be met by satisfying the requirements for each TCB subset if procedures
exist for assuring that all TCB subsets upon which a particular TCB subset
depends (that is, the more primitive TCB subsets) are exactly the same
version as specified for the TCB subset in question.
A1-4 DOCUMENTATION
A1-4.1 SECURITY FEATURES USER'S GUIDE
This requirement applies as stated in the TCSEC to every TCB subset in the
TCB. This collection of guides must include descriptions of every TCB
subset in the TCB and explicit cross-references to other related user's
guides to other TCB subsets, as required. In addition, interactions
between mechanisms within different TCB subsets must be clearly described.
A1-4.2 TRUSTED FACILITY MANUAL
This requirement applies as stated in the TCSEC to the TCB and to every
TCB subset in the TCB. This requirement can be met by providing a set of
manuals, one for each distinct (non-replicated) TCB subset. Each manual
shall address the functions and privileges to be controlled for the
associated TCB subset. Additionally, it must clearly show the interfaces
to, and the interaction with, more primitive TCB subsets. The manual for
each TCB subset shall identify the functions and privileges of the TCB
subsets on which the associated TCB subset depends. Also, the TCB subset's
manual shall identify which, if any, configuration options of the more
primitive TCB subsets are to be used for the composite TCB to operate
securely.
Any pre-defined roles supported (e.g., database administrator) by the TCB
subset shall be addressed. The means for correlating multiple audit logs
and synonymous user identifications from multiple TCB subsets (if such
exist) shall also be addressed.
The trusted facility manual shall describe the composite TCB so that the
interactions among the TCB subsets can be readily determined. Other
manuals may be referenced in this determination. The manuals that address
the distinct modules of the TCB and the generation of the TCB need to be
integrated with the other trusted facility manuals only to the extent that
they are affected by the use and operation (versus the development) of the
composite TCB.
The TCB modules that contain the reference validation mechanism must be
associated with the TCB subset to which they belong. The procedure for
generating a new TCB after modifying only one (or several) TCB subsets
must be described. This may be accommodated by independent regeneration of
the individual TCB subsets or by regeneration of only the affected TCB
subsets.
A1-4.3 TEST DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB.
A1-4.4 DESIGN DOCUMENTATION
This requirement applies as stated in the TCSEC to the composite TCB, with
the following specific additional interpretations:
Requirements concerning models, FTLS and DTLS, apply to individual TCB
subsets.
The requirement concerning the description of interfaces between modules
of the TCB includes the interfaces between TCB subsets.
The documentation of the implementation of a reference validation
mechanism must include justification for meeting the conditions for
evaluation by parts.
The A1 requirement to describe clearly non-FTLS internals of the TCB
applies to TCB subsets.
Statement from TCSEC
The interfaces between the TCB modules shall be described.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and the interfaces between TCB subsets.
Statement from TCSEC
The specific TCB protection mechanisms shall be identified and an
explanation given to show that they satisfy the model.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
each TCB subset and shall include the protection mechanisms which support
the conditions for TCB subset structure and separate subset-domains.
Statement from TCSEC
The descriptive top-level specification (DTLS) shall be shown to be an
accurate description of the TCB interface.
Interpretation
If the TCB is composed of multiple subsets, this requirement applies to
the interface between the TCB subsets as well as to the user interface of
the composite TCB. The TCB interface description shall include an
explanation of how to describe the total TCB accurately, in the context of
the multiple TCB subset DTLSs.
Statement from TCSEC
Documentation shall describe how the TCB implements the reference monitor
concept and give an explanation of why it is tamper resistant, cannot be
bypassed, and is correctly implemented.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement is
interpreted to apply to each TCB subset with respect to its specific
technical policy. In addition, there must be documented an informal
argument that the cooperative action of the TCB subsets makes the TCB
itself tamper resistant, non-bypassable, and correct.
Statement from TCSEC
The TCB implementation shall be informally shown to be consistent with the
DTLS.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement is
interpreted to apply to individual TCB subsets.
Statement from TCSEC
The TCB implementation shall be informally shown to be consistent with the
FTLS.
Interpretation
If the TCB is composed of multiple TCB subsets, this requirement is
interpreted to apply to individual TCB subsets.
Statement from TCSEC
Documentation shall describe how the TCB is structured to facilitate
testing and to enforce least privilege.
Interpretation
If the TCB is composed of multiple subsets, this requirement is
interpreted to apply to individual TCB subsets as well as to the overall
TCB.
APPENDIX B
GENERAL ITEMS
1. PERSPECTIVE ON ASSURANCE
This Trusted Database Management System Interpretation (TDI) of the
Trusted Computer System Evaluation Criteria (TCSEC) derives its
perspective on assurance directly from the reference monitor concept as
recorded in the Anderson Report [1] and as embodied in the TCSEC. In both
the reference monitor concept and in the TCSEC, the assessment of a system
for trust characteristics involves a single, global review of the system
at issue. That same perspective of an even, global review of a candidate
trusted database management system (DBMS) is present in the TDI, in that
only complete systems will be considered for assessment. That is, neither
software packages in isolation nor systems that satisfy only a subset of
the TCSEC. requirements will be considered for evaluation or
accreditation. The interpretation of requirements, both in Part 1,
"Technical Context," and Part 2, "Interpreted Requirements," is consistent
with both community experience in designing and assessing trusted systems,
and the precedents of the reference monitor concept and the TCSEC. The
interpretations, therefore, provide special guidance for the task of
evaluating (or accrediting) candidate systems composed of distinguishable
parts. However, the interpretations neither attenuate nor delete TCSEC
requirements.
It is worth noting that the introduction of the TCSEC with its metric for
the evaluation of whole systems had as one goal the simplification of the
task of accrediting computer systems for use in the processing of
sensitive information. The evaluation process was not intended to replace
the accreditation process but to provide input to that process. It must be
recognized that there will be occasions when a fielded suite of computer
systems, each evaluated against the TCSEC requirements at a particular
class, will not be able to be assigned a TCSEC class, nor is it necessary
to be able to make such an assignment. The accreditation decision includes
the assessment of risk of a particular system configuration in a
particular environment; a decision to connect a suite of TCSEC evaluated
systems may have to be made without a uniformly applied TCSEC-like
assessment over the entire system.
2. PROCUREMENT OPTIONS
The Trusted Computing System Evaluation Criteria (TCSEC) and its published
interpretations, including this Trusted Database Management System
Interpretation, have as a primary purpose the "provision [of] a basis for
specifying security requirements in acquisition specifications." [8, p. 2]
In the area of trusted DBMS and trusted systems that include database
management functionality, there is a range of options open to an
acquisition organization. These options need to be understood by the
acquisition managers and their staffs to allow them the greatest possible
flexibility in matching operational requirements with a combination of
available products and the state of the art in system integration and
development.
The fundamental point is the distinction between the target trust class
(that is, C1, C2, B1, B2, B3, or A1) needed for a particular installation
and the degree of trusted DBMS functionality that is required. Succinctly,
a system that requires a particular level of trust (B2, for example) and
DBMS functionality does not necessarily require an evaluated trusted DBMS
at the level of B2. In fact, if the statement of required capability
allows it, meeting the requirement without a trusted DBMS could well be
the preferred risk-reducing approach. This is generally true because the
more sophisticated the trusted DBMS requirement, the more likely it is
that the current vendor base will not be able to supply the needed
functionality (with the requisite assurance) from the normal product line.
Further, even if one can specify carefully just what additional assured
capability is needed so that a program-specific development can be
undertaken, the lack of community experience and consensus on advanced
trusted DBMS issues and implementations introduces the potential for
significant programmatic, schedule, and cost risks.
Although a full description of options for the acquisition manager is
beyond the scope of this document, a representative description of some of
the options that could be considered is included below. The options
include (1) multiple copies of a DBMS running at different levels, each
maintaining single-level databases; (2) a single copy of a DBMS, but with
each database maintained at a single sensitivity level (i.e., no sharing
of data between databases); (3) a single copy supporting single level
databases, but with limited sharing, perhaps of a "snapshot" nature; and
(4) DBMSs that allow databases that include data of several sensitivity
levels. This option admits of subcases from the very simple to the very
complex.
To illustrate the options listed above, consider a command post where a
commander's staff uses a single computer system. Included on the staff are
logistics, weather, and intelligence organizations, each dealing with
information of differing (maximum) sensitivity. If all three organizations
require similar DBMS functions, there might be a variety of ways to
provide that functionality.
(1) If the product DBMS-1 suited the needs of each of the
organizations and there were no requirement to share data between
them, then three copies of DBMS-1 could be used, running at, for
example, TOP SECRET, SECRET, and CONFIDENTIAL, respectively, and
maintaining separate single-level databases. If the organizational
missions do not require multilevel operations or sharing, this option
could be perfectly suited to the operational need. In this case,
every copy of DBMS-1 would be running as an application outside the
TCB and would not have to be evaluated at all, neither as a product
nor as a developed system. The advantages of this option are that
commercial, off-the-shelf systems can be used (both the DBMS and the
underlying trusted operating system) and no evaluation risk is
entailed.
The disadvantages are the limited flexibility and the hidden fact that the
installation procedures for many DBMSs require the insertion of code into
the heart of the underlying computer system, insertions that would
undermine the evaluation rating and thus theconfidence in the trusted
operating system.
(2) A cost advantage could be realized in the preceding case if there
were a product, DBMS-2, such that a single copy could provide DBMS
functionality at all three levels. This capability requires that the
base trusted operating system and the DBMS itself are designed so
that the DBMS code uses scratch space to allow the code to be shared
without the potential for mixing control or metadata in workspaces,
indices, and stacks. Not all commercial DBMSs have this property, so
this option will be less available than case (1). Note that in this
case also, the databases themselves are single-level and the
workspace used by the DBMS itself will have to be single-level.
(3) If the operational requirements are that the intelligence and
logistics organizations must have access to the weather data maintained by
the weather organization, the simplest technical solution would be to
periodically provide a snapshot of the needed weather data for use by the
other organizations. The database management system DBMS-2 above could
provide a solution in this case if a portion of the weather database could
be copied onto diskette (or even into another file) for the other
organizations to incorporate into their own DBMS operations. The
disadvantage of this approach is that the information will not be as
current as that available to the weather organization itself. Frequently,
however, that lack of currency may be a reasonable price to pay for the
enormous reductions in cost and risk in procurement and maintenance.
(4) If the operational requirements will not allow anything less than
real-time sharing of information, then DBMS-2 will not be sufficient. At
this point, the operational requirements have forced the inclusion of the
most sophisticated solution to a trusted system with DBMS requirements, a
true multilevel DBMS. In this case, it remains a valuable goal to minimize
the complexity of the needed sharing. If the DBMS is providing a
functionality that looks like tables to the user, then it is less complex
if each table is at a single level than if each row (or each column) could
be at a different sensitivity level. The most complex situation is when
each entry in the table could be at a different sensitivity level. During
the procurement and development process, it would be worthwhile to
structure the procurement to favor solutions that are as simple as
possible from a multilevel trusted DBMS standpoint.
3. ALTERATION OF PREVIOUSLY EVALUATED TCB
The discussion in Part 1, "Technical Context" arose from consideration of
the conditions under which it is possible to add an application layer,
such as a DBMS, to another TCB in such a way as to allow the system rating
to be determined by evaluating the system elements (i.e., the subsets)
separately. The benefit to both the applications vendor and the evaluators
derives from the fact that the DBMS operates as an untrusted subject
relative to the underlying TCB (even though the DBMS enforces its own
policy). Therefore, there is no need to re-examine previous evaluation
evidence; any and ll actions performed by the application layer are
completely constrained in accordance with the security policy defined for
the underlying TCB.
The savings in evaluation effort is predicated on the assumption that the
vendor of the application layer makes no changes of any kind to the other
TCB. In effect, the argument made by the vendor is as follows:
(a) The underlying TCB enforces policy P[i].
The validity of the claims about the underlying TCB has already been
established, and these claims remain valid because the underlying TCB has
not been altered in any way and because the DBMS is completely constrained
by that policy (i.e., P[i] cannot be violated by any action of the DBMS).
(b) The application is a TCB subset which enforces policy P[k]
Thus, the policy enforced by the composite system (i.e., the policy
enforced at the user interface of the composite TCB) is merely a
combination of the policies of the individual TCB subsets.
Because there is neither theory nor experience which allows one to make
general, a priori statements about the effects of arbitrary changes, any
alterations to a previously evaluated product must, in general, be
considered to result in a product whose security attributes, and thus
whose rating, is unknown. Thus, if the previously evaluated product is
altered, argument (a) cannot be made merely by referencing the published
evaluation report. It becomes the responsibility of the DBMS vendor to
state P[i] (i.e., identify the policy enforced by the altered product) and
to demonstrate that the implementation satisfies the appropriate TCSEC
requirements. Hence, at least some evaluation evidence focused on the
underlying TCB must be provided by the vendor of the application layer.
The amount of evidence required will be determined by the type, extent,
and amount of change, as well as the characteristics of the original TCB.
This is not to say, however, that changes always invalidate all previous
evaluation evidence. Rather, that there is no way to predict what effect
arbitrary change will have on that evidence. Clearly, some changes will
invalidate a substantial part, if not all, of the previous evaluation
results, requiring a completely new evaluation. In some cases it will be
virtually impossible to determine the full effect of even relatively
simple changes, whereas in other instances it may be possible to determine
the effects of at least some changes quite precisely. In a
well-modularized system, changes to the internals of a module might be
shown to have no functional or security effect outside of the module. Even
changes to the module that alter its interface might be shown to have
effects which do not propagate beyond those modules which have a direct
interface to the altered module.
In either case however, at least some evidence must be produced about the
underlying, altered TCB. Thus, the vendor who alters the product which is
hosting his application becomes responsible for any and all evidence
required to substantiate the claims being made for both the application
and the underlying TCB.
In fact, it is always the case that the DBMS vendor is responsible for all
the evidence required to demonstrate that the system (i.e., the trusted
components of the application plus the underlying TCB) has the level of
trust claimed for it. In the case of strict subsetting for evaluation by
parts, in which the application is layered onto an unaltered,
previously-evaluated TCB, part of the evidence is satisfied by referencing
the previous evaluation results and the commercially-available
specifications for that portion of the system. However, if the previously
evaluated TCB has been altered, the applications vendor is now responsible
for demonstrating that the underlying TCB has the level of trust being
claimed for it. How much, if any, of the previous evaluation evidence is
still valid is a matter to be resolved.
The development of the subsetting notion has been motivated by the need
for evaluating systems whose elements may have been developed by different
vendors. Consequently, the discussion of TCB subsets has been largely
focused on the topic of extending the policy enforcement attributes of
previously evaluated TCBs. However, the notion of TCB subsetting provides
a perfectly general design method. A TCB can be structured and policy
enforcement allocated to simplify both analysis and evaluation. To the
extent that each TCB subset in a subsetted system satisfies the conditions
of TC-4.3, the evaluation can be factored along policy lines, and a rating
for the composite system determined.
4. SATISFYING RVM REQUIREMENTS
The evaluation of a system whose TCB is made up of a set of TCB subsets
follows a logical flow that makes it an orderly process. The initial step
is satisfying the conditions for evaluation by parts. Those conditions are
as follows:
Identification of the candidate TCB subsets;
Allocation of the policy (the clear statement of the technical policies
enforced by the individual TCB subsets, stated in terms of the subjects
and objects for that TCB subset);
Demonstration that each candidate TCB subset contains its own trusted
subjects;
Specification of the structure of the TCB subsets (as a collection of
abstract machines);
Identification of sets of domains (called "subset-domains") assigned for
the execution of the individual TCB subsets; and
Identification of what externally stated properties of TCB subsets will be
used to argue convincingly and independently for the RVM nature of each of
the constituent TCB subsets.
The successful completion of this step, especially the "support for RVM
arguments" will result in a conditional approval of two items: a set of
goals in the evaluation of the more primitive TCB subsets and the
feasibility of being able to argue the RVM properties of less primitive
TCB subsets using no more information about the more primitive TCB subsets
than the identified goals. The goals for the more primitive TCB subsets
will be a set of mechanisms, characteristics, or properties whose proper,
assured functioning will have to be demonstrated. Examples are domain
mechanisms, mandatory integrity policy enforcement mechanisms, and a
special category of object with associated content-preservation
guarantees. These mechanisms or characteristics or properties are strictly
a function of the more primitive TCB subset and will have to be evaluated
and approved in a (possibly) later part of the evaluation process. The
conditional approval of the feasibility of constructing an independent RVM
argument for less primitive TCB subsets relies on an interplay between the
proposed mechanisms of the more primitive TCB subset and the anticipated
needs of the RVM argument for the less primitive TCB subset.
The next steps of the evaluation process, with regards to the reference
validation mechanism requirements, involve the independent evaluation of
the TCB subsets. TCB subsets that have been identified as providing
features or mechanisms on which other TCB subsets will rely for RVM
arguments will have to be demonstrated to provide the stated mechanisms
with the same level of assurance as the target evaluation class of the
entire system. If all the identified mechanisms can be validated, the
conditional approval of the "support for RVM arguments" condition remains
unchanged. If some mechanism cannot be properly established from either a
functional or an assurance perspective, then the conditional approval of
that portion of the "support" condition is withdrawn and the evaluation
effort must regroup.
TCB subsets that were projected to be able to complete RVM arguments
successfully using no more than the identified "support" mechanisms and
features will have to have full RVM arguments advanced and accepted by the
evaluation team. There are three possible outcomes: (1) it could be shown
that the TCB subset in question does not meet the RVM requirements; (2) it
could be shown, using the external descriptions and assurances of the
mechanisms of the more primitive TCB subsets, that the less primitive TCB
subset does meet the RVM requirements; or (3) it might be impossible to
determine whether or not the TCB subset meets the requirements. In case
(1), the TCB subset failed to meet its reference validation mechanism
requirements and the design team must regroup. In case (2), the TCB subset
satisfies its reference validation mechanism requirements. In case (3),
the conditional approval of the "support for RVM arguments" condition will
be withdrawn and the design and evaluation teams will have to agree on an
alternate course of action.
In the case that an attempt to establish RVM properties for a less
primitive TCB subset could not be completed (case (3) above), it might
well be that additional mechanisms or features of the more primitive TCB
subset would allow the RVM arguments to be completed successfully. In that
case, the evaluation team and the design team would have to establish a
new, augmented set of mechanisms for the "support" condition. The
evaluation could then continue with the new mechanism requiring validation
by the evaluation team and the argument for the RVM properties of the less
primitive TCB subset having to be re-attempted.
It is important to note that the dependency of the less primitive TCB
subsets on the assured policies and RVM supporting mechanisms makes it
imperative that the evaluation of the whole TCB be done by a single
evaluation team through the final determination that the system complies
with the full
set of requirements for the target class. Thus, in particular, an
evaluation team addressing an evaluation by parts (including the case of a
TCB subset that has been previously evaluated and placed on the EPL) must
be kept together for the entire evaluation. Local evaluation of one TCB
subset does not justify dissolving the responsible subteam. Later results,
global or local to another TCB subset, could require a full evaluation
team current on all aspects of the evaluated configuration. This does not
mean, of course, that the original evaluation team for a previously
evaluated EPL product has to be reassembled. A new team, part of which may
be delegated prime responsibility for that TCB subset, suffices, as long
as the full team is kept together for the whole evaluation.
5. SUBSET DEPENDENCY
For candidate TCB subset M, sM denotes the specification of M, including
as a minimum, the statement of the technical policy P of M. The term vM
denotes the (engineering) demonstrations of the correctness of the
implementation of M with respect to its specification. A (candidate) TCB
subset A "depends (for its correctness)" on (candidate) TCB subset B if
and only if the arguments within vA assume the correctness of the
implementation of B with respect to sB.
In less precise terms, the specification sM defines what M is supposed to
do. M does whatever its implementation allows, features and all. How well
M does compared to what sM says it should do is encompassed in the
engineering arguments vM. If, in the argument vA, one has to assume that
all or part of sB accurately describes what B does, A "depends" on B for
its correctness.
Example 1: Use of Provided Objects
Suppose TCB subset B provides "file" as a mediated object under its
technical policy P[B] and that candidate TCB subset A uses B-files to
store data and executables. If vA uses the fact that different B-files are
distinct and access to them is constrained by the technical policy P[B]
(assumptions that are nearly certain to apply), then vA is relying on the
fact that sB and B match and in this case, A depends on B.
Example 2: Mutually Suspicious Systems
Suppose A and B are mutually suspicious airline reservation systems hosted
in two interconnected systems belonging to two distinct organizations. It
is assumed that sA and sB both provide for a capability to accept
reservations over the network from "foreign" systems using a mutually
defined protocol. The protocol is carefully and completely specified
(within both sA and sB) and both vA and vB demonstrate, to the desired
level of satisfaction, that A and B are correct with respect to sA and sB,
respectively. A does not depend for its correctness on B because sA is
complete: for whatever sequence of bits it receives from B, sA specifies
exactly what behavior A must exhibit, and vA demonstrates that it does
exhibit that behavior. Similarly, B does not depend upon A for its
correctness. Neither A nor B depends on the other.
There may well exist a "system specification" that specifies the desired
behavior of the entire system, but that is irrelevant to the arguments
that A and B are individually correct with respect to their own
specifications. It may even be the case that both A and B are individually
correct, while the combined system is incorrect with respect to the
"system specification." That is, two correct subsystems can be combined
improperly with respect to the desired "system specification."
Example 3: Use of Remotely Provided Functionality
Suppose A is a mail server and B a generic SQL DBMS. The specification sA
(as might be expected) makes no mention of a DBMS; it simply specifies the
interface behavior (to its human clients) of the mail system. In vA,
however, we find that the software for A uses tables provided by B to
store messages. A and B are on separate, interconnected machines. Neither
sB nor vB make mention of the mail system at all. As in the preceding
example, sB completely specifies the behavior of B for all received bit
patterns and sequences. Here, A depends upon B, but B does not depend on
A. Note that data flow in both directions is completely legitimate and
does not compromise in any way the "integrity" (correctness) of B.
Dependency is distinct from "data flow."
This example shows that a superficial examination of the "architecture" of
a domain structure is insufficient to determine which candidate TCB
subsets depend upon other TCB subsets. Superficially, this architecture is
the same as the example of mutually suspicious systems above, but here A
depends on B. It also shows that an examination of the interface
specifications is insufficient. Finally, it shows that dependency is not
the same as the notion of "privilege" (as normally understood in the
context of operating systems to mean loosened restrictions on allowed
functions and accesses), because there is in this example no sense in
which B has access to all of A's internal structures. It only has access
to some of them.
Example 4: Use of Locally Provided Functionality
Suppose A and B are the mail server and SQL DBMS of the preceding example,
except that A is implemented in a less privileged ring than B. That is,
the interconnect is replaced by a ring-crossing service call. Obviously, A
still depends on B and B does not depend on A. The change is that now B
has potential access to any of A's structures. The general rule for the
use of domain protection mechanisms (such as rings) is that if B is
privileged with respect to A, then A necessarily depends on B (simply by
virtue of B's privilege to access any of A's structures). Thus, a detailed
examination of sA and vA is unnecessary to establish dependency.
Cautionary Example
Suppose that A and B are "mutually dependent"; that is, A depends on B and
B depends on A. This means that vA assumes that B is implemented correctly
with respect to sB, and vB assumes that A is implemented correctly with
respect to sA. Further suppose that both vA and vB are valid (reasonable
and compelling). One would hope that it follows from this that both A and
B are correct. Unfortunately, this is not always the case.
If A and B are both correct with respect to sA and sB, then vA is a valid
argument with a true premise and is therefore true. The same is true for B
and vB.
Suppose, however, that A is implemented incorrectly with respect to sA and
B is implemented incorrectly with respect to sB. vA is a valid argument
with a false premise; it is thus valid but (possibly) untrue. Similarly,
vB is valid but (possibly) untrue. This case shows that it is quite
possible for vA and vB to both be valid while A and B are both
(individually) incorrectly implemented.
What has been exposed here is a hidden case of circular reasoning: the
argument that A is correct is based on the assumption that B is correct,
and the argument that B is correct is based on the assumption that A is
correct. Thus, vA depends (circularly) on the assumption that A is
correct, and vA reduces to the following tautology: if vA is correct with
respect to sA then vA is correct with respect to sA. It is thus possible
in principle for mutually dependent subsystems A and B to have vA and vB
to be logically valid while either A or B, or both, are incorrect with
respect to their specifications (sA or sB).
To make this result concrete, consider two airline reservation systems, A
and B, based on the mutually suspicious systems of example 2 above.
Suppose that A maintains information about all flights originating or
terminating in the United States while B maintains information about
flights originating or terminating in Europe. Assume sA includes a
statement that A will generate flight itineraries from an origin to a
destination, with appropriate provision for connections. "Appropriate
provision for connections" means allowing enough time to change planes
without requiring passengers to wait an excessive period of time. Further
assume that sB includes a similar statement. From the assumption that A
meets sA and B meets sB, one can construct a valid argument that A meets
its specification sA for itineraries orginating or terminating in either
the U.S. or Europe. A similarly valid argument can be made about B. If,
however, A stores flight segment times in the local time of the airport
and B stores them i n Greenwich Mean Time, an itinerary generated by
either A or B that relies on information from the other will be incorrect
because of the time differences. Thus, A will not generate accurate,
timely flight itineraries, even though a valid argument that it does can
be constructed. This difficulty arises from the presumption that A and B
are mutually dependent.
6. TAMPER RESISTANCE ARGUMENTS
The requirement to demonstrate that individual TCB subsets exhibit the
reference validation mechanism tamper resistance property deserves special
attention. In a subsetted architecture there are two (related) aspects to
this requirement. The first is the ability of a less primitive TCB subset
to maintain control over access to the objects that implement its logic
and data structures. The second is establishing the assurance that
policy-critical or correctness-critical data used by a TCB subset is
persistent (that is, that it does not change or become contaminated with
other data between the execution of instructions).
A less primitive TCB subset will be using objects and subjects provided by
a more primitive TCB subset. Thus, policy-critical data will be stored in
objects that are provided by the more primitive TCB subset rather than in
some system entity created and maintained by the less primitive TCB subset
itself.
One part of the tamper resistance argument focuses on being able to
demonstrate that no alteration of either the policy-critical data or of
the TCB subset's code is possible. That is, no system entity external to a
TCB subset (with the possible exception of more primitive TCB subsets upon
which it depends) should be capable of causing arbitrary changes to that
TCB subset's code or data structures. If a third, not more primitive TCB
subset (or a subject totally outside the TCB) were able to gain access to
an object where policy-critical data was stored, the tamper resistance
property could not be established for the TCB subset in question. For a
most-primitive TCB subset, a wide variety of techniques could be used to
limit access to an object in which such policy-critical data is stored
(e.g., prohibition on the sharing of objects, strict ownership control of
the ability to extend access permission, and mandatory access controls).
Similarly, the conditions for evaluation by parts require that the system
designer identify a set of mechanisms and their assured properties as the
basis for demonstrating tamper resistance for each TCB subset.
The second topic is the assurance that the contents of the objects that
store a TCB subset's policy-critical data not change except through the
execution of that TCB subset's logic. If a data structure that identified
an exported object (such as tables or tuples or entities) were to have
extraneous data inserted by a more primitive TCB subset (for example, as a
result of garbage collection or the random action of memory management),
then no basis would exist for arguments concerning the correct
implementation of the less primitive TCB subset. For a most primitive TCB
subset (which includes supporting hardware), the argument that the
policy-critical data is kept current and correct can be made strictly on
the basis of that TCB subset. However, when a TCB subset obtains resources
from a more primitive TCB subset, the argument cannot be made strictly on
the basis of the design of the TCB subset. Rather, the argument must
proceed from assured mechanisms provided by more primitive TCB subsets.
This is exactl y analogous to the case of a reference validation mechanism
for which one relies on mechanisms not strictly included in the design of
the policy-enforcing elements to establish the requisite properties of
non-bypassability and tamper resistance. A variety of mechanisms might
provide a basis for demonstrating that the implementation of a TCB subset
is correct, even though resources are obtained from a more primitive TCB
subset (e.g., type-enforcement).
7. RATIONALE FOR LOCAL AND GLOBAL REQUIREMENTS
Section TC-5, "General Interpreted Requirements," lists the requirements
of the TCSEC according to how the requirements apply to a TCB made up of
more than one TCB subset. The general rationale for distinguishing which
requirements can be satisfied by independent analysis and consideration of
the TCB subsets was to consider the requirements one at a time to
determine whether satisfaction of the requirement by the individual TCB
subsets would necessarily mean that the entire system satisfies the stated
requirement.
For some requirements, such as those for certain documentation, it is
clear that the requirement is factorable; that is, it is satisfied for the
composite TCB if it is satisfied for each of the TCB subsets individually.
For other requirements, individual system characteristics could make
factorability of a requirement patently obvious, but not all systems would
enjoy such simple factorability. An example would be trusted path
requirements for security-related events: if all security-related ev ents
occur in the most primitive TCB subset, satisfaction of the requirement by
that TCB subset suffices to demonstrate that the system meets the
requirement, but for systems that have security-relevant events in less
primitive TCB subsets, some explanation of the cooperative action of the
TCB subsets would be required. For still other requirements, one can
expect that the satisfaction of the requirement for the entire system will
always require some explanation of the cooperative action of the
constituent TCB subsets. Provision of a coherent audit record across
events in several TCB subsets is in this category.
In the paragraphs below, a brief rationale for identifying requirements as
wholly or partially global is provided. Those requirements that are not
listed are considered to be completely local.
Subject Sensitivity Labels
At level B2 and above, the TCSEC requires the following:
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 level.
For subsetted architectures, the user interface could be to a TCB subset
that does not support a mandatory access control policy. Thus, a change
noted by a more primitive TCB subset that does support such a policy would
have to be relayed to the user, possibly through cooperative action of the
full set of TCB subsets. Similarly, a request by a terminal user for the
complete sensitivity level could be initially received by a TCB subset
that does not support a mandatory access control policy and will require
cooperation between TCB subsets to determine the complete subject
sensitivity level and to provide that information to the requesting user.
Identification and Authentication
The identification and authentication requirements in the TCSEC address
the need to correctly associate authorizations with subjects. In a TCB
made of several TCB subsets, it is possible that only one of the TCB
subsets will provide identification and authentication, which will be used
by all the less primitive TCB subsets. Alternatively, identification and
authentication may be provided directly in more than one TCB subset. In
either case, the TCB subsets have to work cooperatively to use
identification and authentication data for uniquely identifying users and
for associating users with auditable actions.
Trusted Path
At B2, the only required uses of trusted path are login and
authentication. At B3 and above, occasions "when a positive TCB-to-user
connection is required (e.g., login, change subject security level)" are
included. In both cases, a system vendor may choose to use trusted path
for situations where the security-relevant event could be recognized or
handled in more than one TCB subset. On those occasions, the careful
coordination of all the involved TCB subsets in the correct handling of
trusted path situations must be shown. If a single TCB subset implements
trusted path and all the invocations of trusted path are limited to that
TCB subset (that is, the flow of control in responding to a trusted path
initiation never leaves the TCB subset until the response is completed),
then nothing further would be required. The description of the limitation
of trusted path to a single TCB subset will suffice for the global part of
the requirement, leaving only the demonstration of local satisfaction of
the requireme nt by the identified TCB subset.
Audit
If each of several TCB subsets meets the audit requirements locally, then
there is the issue of whether the set of audit records meets the
requirements of being able to note and record individual user actions, and
at B3 and above, to be able to initiate required action. If not all the
TCB subsets meet the audit requirements locally, then the requirements
must be satisfied by the cooperative action of the set of TCB subsets. In
both cases, consideration of the audit characteristics of all the TCB
subsets has to be part of determining that the entire TCB meets the audit
requirements.
System Architecture
For many of the system architecture requirements, demonstrating that a
requirement is satisfied by all of the consitituent TCB subsets is
sufficient to demonstrate that it is satisfied for the composite TCB. The
requirements for the "TCB [to] maintain a domain for its execution" and
for the TCB to "maintain process isolation through the provision of
distinct address spaces" could be satisfied by the entire TCB without each
constituent TCB meeting the requirement.
The requirement for the TCB to maintain a domain for its execution implies
the need for each TCB subset to have a domain for its own execution,
isolated from both untrusted portions of the system and from less
primitive TCB subsets. The exact wording of the TCSEC requirement could be
read as disallowing a less primitive TCB subset from occupying a domain
provided by a more primitive TCB subset and to allocate its subjects to
domains that do not have access to its own domain: the verb "maintain"
could be (erroneously) read as requiring each TCB subset to create and
maintain its own domain for execution. The proper interpretation is that
the TCB as a whole must provide and maintain such domains for execution,
rather than each individual TCB subset. Similarly, the exact wording of
the TCSEC requirement on the "maintain[ing] of process isolation through
the provision of distinct address spaces" could be read as requiring each
TCB subset to provide distinct address spaces. The proper interpretation
is that the TCB as a whole must provide and maintain process isolation,
either through provision and subsequent use of distinct address spaces, or
through provision of distinct address spaces by every TCB subset.
Covert Channel Analysis
This requirement applies as stated in the TCSEC to the entire TCB. When
the TCB is made up entirely of TCB subsets meeting the conditions for
evaluation by parts, analysis of the individual TCB subsets suffices to
satisfy this analysis requirement. Otherwise, covert channel analysis must
address the entire TCB (even if the result of covert channel analyses of
the individual TCB subsets were available).
Trusted Facility Management
The ability to run a trusted system facility properly applies to the
combination of TCB subsets making up the TCB. This requirement should not
be difficult to meet, provided that the individual TCB subsets meet the
requirement and the interactions between the TCB subsets at the facility
management level are clear.
Trusted Recovery
In the case of "an ADP system failure or other discontinuity," each TCB
subset in a B3 or above system needs to be able to recover "without a
protection compromise." Further, the recovery actions of distinct TCB
subsets needs to be coordinated and combined so that the resulting system
is not only recovered as far as each TCB subset is concerned, but is also
recovered as a composite TCB.
Security Testing
This requirement applies as stated in the TCSEC to the entire TCB. If a
TCB consists of TCB subsets meeting the conditions for evaluation by
parts, the satisfaction of the requirements by each TCB subset suffices to
satisfy the requirement for the entire TCB. Otherwise, security testing
must include testing of the entire TCB (even if the results of testing the
individual TCB subsets are available).
Design Specification and Verification
For many of the design specification and verification requirements,
demonstrating that a requirement is satisfied by all of the consitituent
TCB subsets is sufficient to demonstrate that it is satisfied for the
composite TCB. The requirements for a "formal model of the security policy
supported by the TCB" and that the DTLS at B3 and the FTLS at A1 "be an
accurate description of the TCB interface" apply in a limited way to the
entire TCB.
After complying security models are provided for the individual TCB
subsets, a convincing argument is required to explain how the set of
models represents abstractly the policy of the entire system.
After complying top-level specifications (DTLS at B3 and FTLS at A1) are
provided for the individual TCB subsets, an explicit and convincing
description of how the set of top-level specifications describe the TCB
interface with respect to exceptions, errors and effects must also be
provided.
8. CONTENT-DEPENDENT AND CONTEXT-DEPENDENT ACCESS CONTROL
An attractive proposition in a database managment system is to implement
access controls that depend in some way on the values of the data in a
storage object or the context in which the information is accessed. For
example, one might desire to limit access to all personnel records in a
database according to the salary value (content-dependent access rules).
On the other hand, a company's earnings report might be held in confidence
until announced at the stockholders' meeting, at which time it is public
information (context-dependent access rules).
This document does not encourage or endorse mandatory access control on
storage objects that are based on the content of data values or on the
context in which the information is viewed. Given that these are research
topics, it is prudent to take this conservative stance. Research and
current practice are insufficient to allow definitive guidance on such
implementations.
9. BULK LOADING OF A DATABASE
The bulk loading of a database into (perhaps thousands of) database
objects must be done with care. If the data to be loaded are unlabeled, it
may not be practical to require an authorized user to examine the data to
be loaded into each object and assign it a sensitivity label. Instead it
may be more practical to assign labels to the data according to the
sensitivity label of the single-level device that is used to import it. In
this way, bulk loading may be done in single-level stages.
Even importing labeled multilevel data may prove difficult. The imported
data records may be organized on the input device in accordance with their
logical structure, not their sensitivity levels. For some trusted DBMS
architectures, this requires that the TCB first separate the data by
sensitivity levels and subsequently load the data into the database as
single-level structures.
Another problem with bulk loading of labeled data is granularity. It may
be that the labeling granularity of data on the input device is different
from the labeling granularity supported by the receiving trusted DBMS. As
an example, the data being imported may be labeled at the file or field
level, and the importing DBMS may support labeling at the tuple level. In
such instances, the data would have to be mapped into objects of the
proper labeling granularity as the data are being imported.
10. LOCAL ANALYSIS IN SYSTEM ASSESSMENT
The ability to distinguish and separately reference the results of local
analysis of TCB subsets is a primary aspect of evaluation by parts, and
the benefits which accrue are apparent in two, closely related, cases that
arise in evalutions by parts. These may be thought of as dealing with the
problems of "hosting" and "porting" although they are actually two aspects
of the same problemthat of assessing a trusted system constructed of
previously evaluated parts.
For the first case (i.e., that of "hosting"), consider an operating system
which has been evaluated against the TCSEC requirements and has received a
rating. Thus, the operating system is a TCB for which both the local and
global analysis has been done. The results of the local analysis can now
be used to support the evaluation of a TCB made up of the operating system
(or, the more primitive TCB subset) and any proposed TCB extension (or,
less primitive TCB subset). Suppose, for example, that vendor A chooses
the rated operating system as the host for a DBMS product, which
implements an access control policy. As described in TC-6, it is now
possible, under the
correct conditions, to re-use the results of the local analysis of the
host operating system in developing a rating for the composite system.
Even for those cases not meeting all the conditions for evaluation by
parts, it may be possible that some, if not most, of the previous results
are still valid. If vendor B also chooses the rated operating system as
the host for his DBMS product, it will be possible (again, under the
proper conditions) to develop a rating for the (new) composite system
without having to repeat the local analysis of the host operating system.
As an alternate case, suppose a site has need of an electronic mail
service as well as the DBMS utility. The mail utility will operate in a
peer-entity relation with the trusted DBMS utility (i.e., both the mail
service and the DBMS depend on the host operating system, but neither
depends on the other). Again, having the results of the local analysis of
the host operating system eases the burden of assessing the security
characteristics of the user interface to the composite system made up of
the mail system and the host operating system. In short, the ability to
distinguish and separately reference the results of the local analysis of
the host operating system makes it feasible to evaluate the effect of
adding arbitrary trusted applications, only by performing the local
analyis for the application and any global analysis required.
For the second case, (i.e., that of "porting") the question becomes that
of determining the effect of moving a known trusted application, such as a
DBMS, across arbitrary host systems. Assume that a trusted DBMS product
meeting the conditions for evaluation by parts has been evaluated on some
trusted host, and a rating determined for the composite system. Clearly,
the results of the local analysis of the trusted application available are
also applicable to the analysis of a composite system made up of the
trusted application and a different host operating system. Thus, having
the local analysis of the trusted application will ease the evaluation
burden associated with porting of trusted applications to different hosts.
To the extent that the conditions for evaluations by parts have been
satisfied, the local analysis of the application is valid by reference.
Hence only the local analysis of the host operating system and the
requisite global analysis is needed to assess the security attributes of
the new composite system.
11. RATING MORE COMPLEX SYSTEMS
The view taken by the TCSEC is that of an "atomic" TCB; the TCB is seen to
be a single entity which is, in some sense, homogeneous. This allows a
relatively simple measure (i.e., the digraphs) to be assigned to the TCB.
However, real systems may be more complex, resulting in the inability of a
single, simple rating to convey the full complexity of the system. This is
implicitly recognized in TCSEC evaluation reports and EPL entries, in
which credit may be given to a vendor for meeting TCSEC (functional)
requirements beyond those necessary to satisfy the rating (e.g., the B3
discretionary access control feature in a C2 TCB). In short, systems which
reflect straightforward implementations or extensions of the TCSEC can
accurately be described with a single digraph. On the other hand, adding
complexity to systems may violate assumptions which underlie the TCSEC
rating system, requiring a more complex description if accuracy is to be
achieved.
If a TCB made up of TCB subsets is consistent with the TCSEC assumptions
on homogeneity, then a simple digraph suffices for a full and accurate
description of the security properties of the product. However, to the
extent that a subsetted architecture introduces complexity not captured by
the digraphs, the simple TCSEC ratings cannot be applied to the composite
system. More specifically, for a subsetted TCB to achieve a single rating,
all the requirements of that class must be satisfied. For example, if a
discretionary access control-enforcing DBMS TCB subset is added onto a
previously evaluated B3 product, the entire system can achieve a B3 rating
if it could also have achieved the B3 rating evaluated as a monolith. That
is, the new TCB subset must also satisfy all the assurance and
architectural requirements of B3.
Consider a candidate TCB subset which enforces a discretionary access
control policy over a new type of object, targeted at a host system which
has already been evaluated at the B3 level. Examples are a database
management system providing discretionary access control over tuples, a
transaction processor providing discretionary access control over
transactions, and a message system providing discretionary access control
over messages. If the candidate TCB subset meets all the C2 requirements,
the problem is what rating will be assigned to the composite system. To
designate it a "C2" is clearly inaccurate, as well as being unfair to the
original B3 product vendor. To designate it "B3" may be equally
inaccurate, and it creates ambiguity in the meaning of the metric used for
comparing systems. In fact, depending on the details of the specific
candidate, the composite system could legitimately be rated at any level
from C2 to B3 under a TCSEC evaluation.
The TCSEC rating system assumes a measure of homogeneity which the above
example violates thus invalidating the very basis upon which a single
digraph may be assigned. Hence, a subsetted system such as described
above, will have to be characterized with a more complex description than
a single digraph.
Although this may seem undesirable, it will be a more accurate description
of the system, and it provides sufficient information to allow system
designers and accreditors to make decisions about sufficiency of security
for their specific applications. In essence, such an approach is necessary
for recognizing the additional complexity which can be introduced by
architectures which allow system elements to be developed separately.
GLOSSARY
candidate TCB subset The identification of the hardware, firmware, and
software that make up the proposed TCB subset, along with the
identification of its subjects and objects; one of the conditions for
evaluation by parts
content-dependent access control Access control in which access is
determined by the value of the data to be accessed.
context-dependent access control Access control in which access is
determined by the specific circumstances under which the data is being
accessed.
database management system A computer system whose main function is to
facilitate the sharing of a common set of data among many different users.
It may or may not maintain semantic relationships among the data items.
DBMS Abbreviation for "database management system."
depends A TCB subset A depends (for its correctness) on TCB subset B if
and only if the (engineering) arguments of the correct implementation of A
with respect to its specification assume, wholly or in part, that the
specification of B has been implemented correctly.
domain The set of objects that a subject has the ability to access.
dominated by Security level A is dominated by security level B if (1) the
clearance/classification in A is less than or equal to the
clearance/classification in B, and (2) the set of access approvals (e.g.,
compartment designators) in A is contained in the set of access approvals
in B (i.e., each access approval appearing in A also appears in B). This
dominance relation is a special case of a partial order.
dominates "Security level B dominates security level A" is synonymous with
"security level A is dominated by security level B." See "dominated by."
global requirements Those which require analysis of the entire system and
for which separate analysis of the individual TCB subsets does not
suffice. See Section TC-5.3.2 for a summary list.
lattice A partially ordered set for which every pair of elements has a
greatest lower bound and a least upper bound.
local requirements Those for which separate analysis of the individual TCB
subsets suffices to determine compliance for the composite TCB. See
Section TC-5.3.1 for summary list.
metadata (1) Data referring to other data; data (such as data structures,
indices, and pointers) that are used to instantiate an abstraction (such
as "process," "task," "segment," "file," or "pipe"). (2) A special
database, also referred to as a data dictionary, containing descriptions
of the elements (e.g., relations, domains, entities, or relationships) of
a database.
monolithic TCB A TCB that consists of a single TCB subset.
object A passive entity that contains or receives information. Access to
an object potentially implies access to the information it contains.
Examples of objects are: records, blocks, pages, segments, files,
directories, directory trees, and programs, as well as bits, bytes, words,
fields, processors, video displays, keyboards, clocks, printers, network
nodes, etc.
partial order A relation that is symmetric (a is related to a), transitive
(if a is related to b and b is related to c, then a is related to c), and
antisymmetric (if a is related to b and b is related to a, then a and b
are identical.)
primitive An ordering relation between TCB subsets based on dependency
(see "depends" above). A TCBsubset B is more primitive than a second TCB
subset A (and A is less primitive than B) if (a) A directly depends on B
or (b) a chain of TCB subsets from A to B exists such that each element of
the chain directly depends on its successor in the chain.
reference monitor concept An access control concept that refers to an
abstract machine that mediates all accesses to objects by subjects.
reference validation mechanism "An implementation of the reference monitor
concept . . . that validates each reference to data or programs by any
user (program) against a list of authorized types of reference for that
user." It must be tamper proof, must always be invoked, and must be small
enough to be subject to analysis and tests, the completeness of which can
be assured. [1]
security policy The set of laws, rules, and practices that regulate how an
organization manages, protects, and distributes sensitive information.
storage object An object that supports both read and write accesses.
subject An active entity, generally in the form of a person, process, or
device that causes information to flow among objects or changes the system
state. Technically, a process/domain pair.
subset-domain A set of system domains. For evaluation by parts, each
candidate TCB subset must occupy a distinct subset domain such that
modify-access to a domain within a TCB subset's subset-domain is permitted
only to that TCB subset and (possibly) to more primitive TCB subsets.
TCB subset A set of software, firmware, and hardware (where any of these
three could be absent) that mediates the access of a set S of subjects to
a set O of objects on the basis of a stated access control policy P and
satisfies the properties:
(1) M mediates every access to objects O by subjects in S;
(2) M is tamper resistant; and
(3) M is small enough to be subject to analysis and tests, the
completeness of which can be assured.
technical policy The set of rules regulating access of subjects to
objects enforced by a computer system.
Trusted Computing Base (TCB) The totality of protection mechanisms within
a computer system including hardware, firmware, and software the
combination of which is responsible for enforcing a security policy. A TCB
consists of one or more components that together enforce a unified
security policy over a product or system. The ability of a TCB to
correctly enforce a security policy depends solely on the mechanisms
within the TCB and on the correct input by system administrative personnel
of parameters (e.g., a user's clearance) related to the security policy.
trusted subject A subject that is permitted to have simultaneous view- and
alter-access to objects of more than one sensitivity level.
user Any person who interacts directly with a computer system.
view That portion of the database that satisfies the conditions specified
in a query.
view definition A stored query; sometimes loosely referred to as a "view."
BIBLIOGRAPHY
1. J. P. Anderson, "Computer Security Technology
Planning Study," ESD-TR-73-51 (AD-758206), J. P.
Anderson Co., October 1972.
2. J. P. Anderson, "On the Feasibility of Connecting
RECON to an External Network," Technical Report, J. P.
Anderson Co., March 1981.
3. D. E. Bell and L. J. La Padula, "Secure
Computer Systems: Unified Exposition and Multics Interpretation,"
MTR-2997, (AY/W 020 445), The MITRE Corporation, Bedford,
Massachusetts, July 1975.
4. D. E. Bell and L. J. La Padula, "Secure
Computer Systems: Mathematical Foundations,"
MTR-2547-I, (AD 770 768), The MITRE Corporation,
Bedford, Massachusetts, March 1973.
5. L. J. La Padula and D. E. Bell, "Secure
Computer Systems: A Mathematical Model," MTR 2547-II, (AD 771 543),
The MITRE Corporation, Bedford, Massachusetts, May 1973.
6. D. E. Bell, "Secure Computer Systems: A
Refinement of the Mathematical Model," MTR 2547-III,
(AD 780 528), The MITRE Corporation, Bedford,
Massachusetts, December 1973.
7. D. E. Bell, "Secure Computer Systems: A Network
Interpretation," Proceedings of the Second Aerospace Computer
Security Conference, McLean Virginia, December 2-4, 1986, pp. 32-39.
8. Department of Defense, Department of Defense
Trusted Computer System Evaluation Criteria, DOD
5200.28-STD, December 1985.
9. D. E. Denning, "Cryptographic Checksums for
Multilevel Database Security," Proceedings of the IEEE Symposium on
Security & Privacy, Oakland, California, April 29-May 2, 1984, pp.
52-61.
10. D. E. Denning, "Commutative Filters for Reducing
Inference Threats in Multilevel Database Systems," Proceedings of the
IEEE Symposium on Security & Privacy, Oakland, California, April
22-24, 1985, pp. 134-146.
11. E. B. Fernandez, R. C. Summers, and C. Wood,
Database Security and Integrity, Boston, Massachusetts:
Addison Wesley, 1981.
12. C. Garvey and A. Wu, "ASD Views," Proceedings of the Fourth
Aerospace Computer Security Applications Conference, Orlando,
Florida, December 1988, pp. 85-95.
13. R. D. Graubart and J. P. L. Woodward, "A
Preliminary Naval Surveillance DBMS Security Model," Proceedings of
the IEEE Symposium on Security & Privacy, Oakland, California, April
26-28, 1982, pp. 21-37.
14. R. D. Graubart, "The Integrity-Lock Approach to
Secure Database Management," Proceedings of the IEEE
Symposium on Security & Privacy, Oakland, California,
April 29-May 2, 1984, pp. 62-74.
15. M. J. Grohn, "A Model of a Protected Data
Management System," ESD-TR-76-289, I. P. Sharp Associates, Ltd., June
1976.
16. T. H. Hinke, M. Schaefer et al., "Secure Data
Management System," RADC-TR-75-266 (AD-A019201), System Development
Corporation, Santa Monica, California, November 1975.
17. C. E. Landwehr, C. L. Heitmeyer, and J.
McLean, "A Security Model for Military Message Systems," ACM
Transactions on Computer Systems, Vol. 2, No. 3, August 1984, pp.
198-222.
18. T. F. Lunt, D. E. Denning, P. G. Neumann, R.
R. Schell, M. Heckman, and W. R. Shockley, "Final
Report Vol. 1: Security Policy and Policy
Interpretation for a Class A1 Multilevel Secure
Relational Database System," Computer Science
Laboratory, SRI International, Menlo Park, California, 1988.
19. J. McHugh and B. M. Thuraisingham, "Multilevel
Security Issues in Distributed Database Management Systems,"
Computers & Security, Vol. 7, No. 4, Elsevier Advanced Technology
Publications, August 1988, pp. 387-396.
20. National Computer Security Center, Proceedings of the National
Computer Security Center Invitational Workshop on Database Security,
Baltimore, Maryland, June 17-20, 1986.
21. P. A. Rougeau and E. D. Sturms, "The Sybase
Secure Dataserver: A Solution to the Multilevel Secure
DBMS Problem," Proceedings of the 10th National
Computer Security Conference, Baltimore, Maryland,
September 21-24, 1987, pp. 211-215.
22. M. Schaefer, ed., Multilevel Data Management
Security, Air Force Studies Board, Committee on
Multilevel Data Management Security, National Academy Press: Washington,
D.C., 1983.
23. M. D. Schroeder and J. H. Saltzer, "A Hardware
Architecture for Implementing Protection Rings," Communications of
the ACM, Vol. 15, No. 3, March 1972, pp.157-170.
24. W. R. Shockley and R. R. Schell, "TCB Subsets for Incremental
Evaluation," Proceedings of the Third Aerospace Computer Security
Conference, Orlando, Florida, December 7-11, 1987, pp. 131-139.
25. P. Stachour and B. Thuraisingham, "Design of LDV
₧ A Multilevel Secure Database Management System," IEEE
Transactions on Knowledge and Data Engineering, Vol. 2, No. 2,
June 1990, pp. 190-209.
26. M. Stonebraker, "Operating System Support for Database
Management," Communications of the ACM, Vol. 24, No. 7, July 1981,
pp. 412-418.
27. Unisys Corporation, "Secure Distributed Database
Management System," Final Technical Report, Rome Air Development
Center Technical Report, RADC-TR-89-314, Vol. 1-5, December 1989.
28. J. Wilson, "Views as the Security Objects in a
Multi-level Secure Relational Database Management System,"
Proceedings of the 1988 IEEE Symposium on Security & Privacy,
Oakland, California, April 18-21, 1988, pp. 70-84.