NCSC-TG-009 - Computer Security Subsystems Library No. S230,512 Version 1 FOREWORD This publication is issued by the National Computer Security Center (NCSC) as part of its program to promulgate technical computer security guidelines. This interpretation extends the Department of Defense Trusted Computer System Evaluation Criteria (DOD 5200.28-STD) to computer security subsystems. This document will be used for a period of at least one year after date of signature. During this period the NCSC will gain experience using the Computer Security Subsystem Interpretation in several subsystem evaluations. After this trial period, necessary changes to the document will be made and a revised version issued. Anyone wishing more information, or wishing to provide comments on the usefulness or correctness of the Computer Security Subsystem Interpretation may contact: Chief Technical Guidelines Division, National Computer Security Center, Fort George G. Meade, MD 20755-6000, ATTN: Cll. PATRICK R GALLAGHER, JR. 16 September 1988 Director National Computer Security Center Computer Security Subsystems ACKNOWLEDGEMENT ACKNOWLEDGEMENT Acknowledgment is extended to the members of the working group who produced this Interpretation. Members were: Michael W. Hale, National Computer Security Center (Chair); James P. Anderson; Terry Mayfie!d, Institute For Defense Analyses; Alfred W. Arsenault, NCSC; William Geer, NCSC; John C. Inglis, NCSC; Dennis Steinauer, National Bureau of Standards; Mario Tinto, NCSC; Grant Wagner, NCSC; and Chris Wilcox, NCSC. Acknowledgement is further extended to those individuals who conducted thorough reviews and and provided constructive comments on this document. Reviewers included: Steve Lipner, Earl Boebert, Virgil Gligor, Debbie Downs, Len Brown, Doug Hardie, Steve Covington, Jill Sole and Bob Morris. 1. INTRODUCTION This document provides interpretations of the Department of Defense Trusted Computer System Evaluation Criteria (DoD 5200.28-STD or TCSEC) for computer security subsystems. A computer security subsystem (subsystem) is defined, herein, as hardware, firmware and/or software which can be added to a computer system to enhance the security of the overall system. A subsystem's primary utility is to increase the security of a computer system. The computer system that the subsystem is to protect is referred to as the protected system in this Interpretation. When incorporated into a system environment, evaluated computer security subsystems may be very effective in reducing or eliminating certain types of vulnerabilities whenever entire evaluated systems are unavailable or impractical. 1.1 PURPOSE This Interpretation has been prepared for the following purposes: 1. to establish a standard for manufacturers as to what security features and assurance levels to build into their new and planned computer security subsystem products to provide widely available products that satisfy trust requirements for sensitive applications; 2. to provide a metric to evaluate the degree of trust that can be placed in a subsystem for protecting classified and sensitive information; 3. to lend consistency to evaluations of these products by explicitly stating the implications that are in the TCSEC; and 4. to provide the security requirements for subsystems in acquisition specifications. 1.2 BACKGROUND The Department of Defense Trusted Computer System Evaluation Criteria (DoD 5200.28-STD or TCSEC) was developed to establish uniform DoD policy and security requirements for "trusted, commercially available, automatic data processing (ADP) systems." Evaluation criteria defined in the TCSEC provides a standard to manufacturers as to what security features to build into their commercial products to satisfy trust requirements for sensitive applications, and serves as a metric with which to evaluate the degree of trust that can be placed in a computer system for the secure processing of classified or other sensitive information. The TCSEC specifies a variety of features that a computer system must provide to constitute a complete security system. The security requirements specified in the TCSEC depend on and complement one another to provide the basis for effective implementation of a security policy in a trusted computer system. The effectiveness of any one security feature present within a system is, therefore, dependent to some degree on the presence and effectiveness of other security features found within the same system. Because it was intended to be used only for systems which incorporated all the security features of a particular evaluation class, the TCSEC does not, in all cases, completely specify these interdependencies among security features. In addition to the class of trusted system products, there exists a recognized need for a class of computer security products which may not individually meet all of the security features and assurances of the TCSEC. Instead, these products may implement some subset of the features enumerated in the TCSEC and can potentially improve the security posture in existing systems. These products are collectively known as computer security subsystems. Evaluation of computer security subsystems against a subset of the requirements given in the TCSEC has proven an extremely difficult task because of the implied dependencies among the various features discussed in the TCSEC. As a consequence, interpretations of these interdependencies and the relative merits of specific subsystem implementations have been highly subjective and given to considerable variation. This document provides interpretations of the TCSEC for computer security subsystems in an effort to lend consistency to evaluations of these products by explicitly stating the implications in the TCSEC. Evaluations can be divided into two types: (l) a product evaluation can be perforrned on a subsystem from a perspective that excludes the application environment, or (2) a certification evaluation can be done to assess whether appropriate security measures have been taken to permit an entire system to be used operationally in a specific environment. The product evaluation type is done by the National Computer Security Center (NCSC) through the Trusted Product Evaluation Process using this interpretation for subsystems. The certification type of evaluation lS done in support of a formal accreditation for a system to operate in a specific environment using the TCSEC. 1.3 SCOPE This document interprets the security feature, assurance and documentation requirements of the TCSEC for subsystem evaluations. In this interpretation, the functional requirements of the TCSEC are divided into four general categories: 1. Discretionary Access Control (DAC) 2. Object Reuse (OR). 3. Identification and Authentication (I&A) 4. Audit (AUD) These categories form the basis for classifying products to be evaluated as computer security subsystems. The document, in addition to this introductory section, is organized into three major sections and a glossary. Section 2 contains the feature requirements for each of the above four categories on which subsystems evaluations are based. The requirements in this section are listed in increments, with only new or changed requirements being added for each subsequent class of the same feature. All requirements that are quoted from the TCSEC are in bold print for easy identification and are clarified, in the context of subsystems, by interpretation paragraphs. Section 3 contains the assurance requirements for all subsystems. The assurances that are relevant to each category are listed here in the same format as the requirements in Section 2. Section 4 contains the requirements and interpretations for subsystem documentation, again, in the same forrnat as Section 2. The TCSEC-related feature and assurance requirements described herein are intended for the evaluation of computer security subsystems designed to protect sensitive information. This Interpretation, like the TCSEC, assumes that physical, administrative, and procedural protection measures adequate to protect the inforrnation being handled are already in place. This Interpretation can be used to support a certification evaluation. In fact, it would be helpful whenever subsystems are a part of the overall system being certified. 1.4 EVALUATION OF SUBSYSTEMS 1.4.1 Basis for Evaluation Subsystems are evaluated for the specific security-relevant functions they perforrn. This Interpretation interprets the relevant TCSEC requirements for each function evaluated. So the function(s) for which subsystems are evaluated will be identified within its ratings. Each function has its own set of ratings as identified in Table 1.1. Subsystems that are evaluated for more than one function will receive a separate rating for each function evaluated. TABLE 1.1. Possible Subsystem Ratings SUBSYSTEM FUNCTION POSSIBLE RATINGS Discretionary Access Control DAC/D, DAC/Dl, DAC/D2, DAC/D3 Object Reuse OR/D,OR/D2 Identification & Authentication I&A/D, I&A/Dl, I&A/D2 Audit AUD/D, AUD/D2, AUD/D3 Although the requirements for subsystems are derived from the TCSEC, the ratings for subsystems will not directly reflect the TCSEC class they are derived from. Since subsystems, by their very nature, do not meet all of the requirements for a class Cl or higher computer system, it is most appropriate to associate subsystem ratings with the D division of the TCSEC. This Interpretation defines the Dl, D2 and D3 classes within the D division for subsystems. The Dl class is assigned to subsystems that meet the interpretations for requirements drawn from the Cl TCSEC class. Likewise, the D2 class consists of requirements and interpretations that are drawn from the C2 TCSEC class. The D3 subsystem class is reserved for DAC subsystems and audit subsystems that meet the B3 functionality requirements for those functions. In addition to meeting the functionality requirements and interpretations, subsystems must also meet the assurance and documentation requirements in sections 3 and 4 of this document. The Dl and D2 classes have requirements and interpretations for ~ssurances and documentation as well as functionality. The D3 class contains additional requirements and interpretations only for functionality, not for assurances or documentation. So, subsystems with this rating will adhere to the D2 assurance and documentation requirements and interpretations. Like the classes within the TCSEC, the Dl, D2 and D3 classes are ordered hierarchically. Subsystems being evaluated for the Dl class must meet the requirements and interpretations for the Dl class. Subsystems being evaluated for the D2 class must meet the requirements and interpretations for the Dl class plus the additional requirements and interpretations for the D2 class. Subsystems being evaluated for the D3 class must meet the additional requirements and interpretations associated with the functionality at D3. Although the subsystem requirements and interpretations are derived directly from the TCSEC, subsystems are not considered to be complete computer security solutions. There is no general algorithm to derive a system rating from an arbitrary collection of computer security subsystems. Any collection of individually evaluated subsystems must be evaluated as a whole to determine the rating of the resulting system. The ratings of the individual subsystems in a complete system are not a factor in the rating of that system. 1.4.2 Integration Requirements Because all of the TCSEC requirements for a given rating class were intended to be implemented in a complete computer security system, many of the security features are dependent upon each other for support within the system. This poses a certain degree of difficulty with extracting only the relevant requirements from the TCSEC for a given feature. Further, this poses a fundamental problem for subsystems because there is an explicit dependency between security features that restricts the "independent" incorporation of subsystems into the system's environment. The problem has been handled in this Interpretation by discussing the integration requirements for each type of subsystem. The requirements for integration are discussed for each type of subsystem in a sub-section entitled, "Role Within Complete Security System." Furthermore, explicit requirements for integration are stated in the interpretations at appropriate points. The developer must show, and the evaluation shall validate, that the subsystem can be integrated into a system to fulfill its designated role. Most all computer security subsystems will rely on other security-relevant functions in the enviromnent where they are implemented. Audit subsystems, for example, depend on an identification and authentication function to provide the unique user identities that are necessary for individual accountability. Also, it is important to realize that some of these functions may be dependent on each other in a cyclic fashion (e.g., I&A depends on DAC and DAC depends on I&A). In these cases, the cyclic dependencies should be removed either by complete integration of the functions or by modularizing the functions in a way that allows linear dependencies. Tl~is latter method is termed "sandwiching" and it requires the splitting of one function and surroundmg the other dependent function with the two functions resulting from the split. For example, in the case of DAC and I&A cyclic dependencies, one might split I&A into two parts so that there is a system I&A, a DAC subsystem, and a DAC module containing its own I&A functionality. With the exception of object reuse, all functions implemented by subsystems will be dependent on other functions as shown in Table 1.2. The functions upon which any subsystem is dependent will be referred to as that subsystem's required supporting functions. These required supporting functions must be present in the subsystem's environment for the effective integration of the subsystem. TABLE 1.2. Required Supporting Functions SUBSYSTEM FUNCTION REQUIRED SUPPORTING FUNCTIONS Discretionary Access Control I&A, Audit Object Reuse None Identification & Authentication Audit,DAC2, Audit, I&A, DAC2 Subsystems that are not self-sufficient in providing required supporting functions must, at a minimum, provide an interface to their required supporting functions. The evaluation team will perform tests to show whether the interface to the required supporting functions is reliable and works properly. The robustness of the required supporting functions on the other side of the interface will not be tested, as the scope of the subsystem evaluation is bounded by the interface. A more integrated solution is for subsystems to be self- su~cient in providing all of their required supporting functions. Such subsystems w_ill be evaluated and assigned a separate rating for each function they provide. Unlike the previous solution, where only an interface is provided, each required supporting function is performed by the subsystem and must be a part of the subsystem evaluation. The audit supporting functions are required at D2. 2 Audit and/or authentication data must be protected through domain isolation or DAC. 1.4.3 WARNING An overan system rating, such as that provided by the TCSEC, cannot be inferred from the application of one or more separately-rated subsystems. Mechanisms, interfaces, and the extent of required supporting functions for each subsystem may differ substantiany and may introduce significant vulnerabilities that are not present in systems where security features are designed with fun knowledge of interfaces and host system support. Therefore, incorporation of an evaluated subsystem into any system environment does not automaticany confer any rating to the resulting system. 2. FEATURE REQUIREMENTS 2.1 DISCRETIONARY ACCESS CONTROL DAC) SUBSYSTEMS 2.1.1 Global Description of Subsystem Features 2.1.1.1 Purpose This subsystem provides user-specified, controlled sharing of resources. This control is established from security policies which define, given identified subjects and objects, the set of rules that are used by the system to determine whether a given subject is authorized to gain access to a specific object. DAC features include the means for restricting access to objects; the means for instantiating authorizations for objects; and the mechanisms for distribution, review, and revocation of access privileges, especially during object creation and deletion. 2.1.1.2 Role Within Complete Security System The requirement is to give individual users the ability to restrict access to objects created or controlled by them. Thus, given identified subjects and objects, DAC includes the set of rules (group-oriented and/or individually-oriented) used by the subsystem to ensure that only specified users or groups of users may obtain access to data (e.g., based on a need-to-know). A DAC subsystem controls access to resowces. As such, it shall be integrable with the operating system of the protected system and shall mediate all accesses to the protected resources. To fully protect itself and the resources it controls, the DAC subsystem must be interfaced to the protected system in such a way that it is tamperproof and always invoked. DAC subsystems use the identifiers of both subjects and DAC-controlled objects as a basis for access control decisions. Thus, they must be supplied with the identifiers in a reliable manner. The DAC subsystem may supply subject identification for itself or it may rely on an I&A mechanism in the protected system or in another subsystem. It is also essential that DAC subsystems be implemented in an environment where the objects it protects are well defined and uniquely identified. At the DAC/D2 class, the DAC subsystem must interface with an auditing mechanism. This auditing mechanism can be included within the DAC subsystem, or it may reside elsewhere in the subsystem's environment. 2.1.2 Evaluation of DAC Subsystems Subsystems which are designed to implement discretionary access controls to assist a host in controlling the sharing of a collection of objects must comply with all of the TCSEC requirements as outlined below for features, assurances and documentation. Compliance with these requirements will assure that the subsystem can enforce a specifically defined group-oriented and/or individually-oriented discretionary access control policy. As a part of the evaluation, the subsystem vendor shall set up the subsystem in a typical functional configuration for security testing. This will show that the subsystem interfaces correctly with the protected system to meet all of the feature requirements in this section and ali of the assurance and documentation requirements in Sections 3 and 4. It will also show that the subsystem can be integrated into a larger system environment. The interpretations for applying the feature requirements to DAC subsystems are explained in the subsequent interpretations sections. The application of the assurances requirements and documentation requirements is explained in Sections 3 and 4, respectively. 2.1.3 Feature Requirements For DAC Subsystems 2.1.3.1 DAC/Dl TCSEC Quote: "Cl: New: The TCB shall define and control access between named users and named objects (e.g., files and programs) in the ADP system. The enforcement mechanism (e.g., self/group/public controls, access control lists) shall allow users to special and control sharing of those objects by named indinduals or defined groups or both." Interpretation: In the TCSEC quote, "TCB" is interpreted to mean "DAC subsystem". 2.1.3.1.1 Identified users and objects DAC subsystems must use some mechanism to determine whether users are authorized for each access attempted. At DAC/Dl, this mechanism must control access by groups of users. The mechanisms that can meet this requirement include, but are not limited to: access control lists, capabilities, descriptors, user profiles, and protection bits. The DAC mechanism uses the identification of subjects and objects to perform access control decisions. This implies that the DAC subsystem must interface with or provide some I&A mechanism. The evaluation shall show that user identities are available to DAC. 2.1.3.1.2 User-specified object sharing The DAC subsystem must provide the capability for users to specify how other users or groups may access the objects they control. This requires that the user have a means to specify the set of authorizations (e.g., access control list) of all users or groups permitted to access an object and/or the set of all objects accessible to a user or group (e.g., capabilities). 2.1.3.1.3 Mediation The checking of the specified authorizations of a user prior to granting access to an object is the essential function of DAC which must be provided. Mediation either allows or disallows the access. 2.1.3.2 DAC/D2 TCSEC Quote: "C2: Change: The enforcement mechanism (e.g. self/group/public controls, access control lists) shall allow users to specify and control sharing of those objects by named individuals, or defined groups of individuals, or by both, and shan provide controls to limit propagation of access rights." "C2: Add: The discretionary access control mechamsm shan, either by explicit user action or by default, provide that objects are protected from unauthorized access. These access controls s~ll be capable of including or excluding access to the granularity of a single wer. Access permission to an object by users not already possessing access pernlission shan only be assigned by authorized users." Interpretation: The following interpretations, in addition to the interpretations for the DAC/Dl Class, shall be satisfied at the DAC/D2 Class. 2.1.3.2.1 DAC/D2 The DAC/D2 class requires mdividual access controls; therefore, the granularity of user identification must enable the capabili~ to discern an individual user. That is, access control based upon group identi~ alone is insufflcient. To comply with the requirement, the DAC subsystem must either provide unique user identities through its own I&A mechanism or Mterface with an I&A mechanism that provides unique user identities. The DAC subsystem must be able to interface to an auditing mechanism that records data about access mediation events. The evaluation shall show that audit data is created and is available to the auditing mechanism. 2.1.3.2.2 Authorized user-specified object sharing The ability to propagate access rights to objects must be lirnited to authorized users. This additional feature is incorporated to limit access rights propagation. This distribution of privileges encompasses granting, reviewing, and revoking of access. The ability to grant the right to grant propagation of access will itself be limited to authorized users. 2.1.3.2.3 Default protection The DAC mechanism must deny all users access to objects when no explicit action has been taken by the authorized user to allow access. 2.1.3.3 DAC/D3 ž TCSEC Quote: "B3: Change: The enforcement mechanism (e.g., access control lists) shall allow users to specify and control sharing of those objects, and shall provide controls to limit propagation of access rights. These access controls shall be capable of specifying, for each named object, a list of named individuals and a list of groups of named individuals with their respective modes of access to that object." "Add: Furtherrnore, for each such named object, it shall be possible to specify a list of named individuals and a list of groups of named individuals for which no access to the object is to be given." ž Interpretation: The following interpretation, in addition to the interpretations and requirements for the DAC/D2 class, shall be satisfied for the DACID3 class. 2.1.3.3.1 Access control lists for each object The DAC subsystem shan anow users to specify the list of individuals or groups of individuals who can access each object. The list shan additionally specify the mode(s) of access that is anowed each user or group. This implies that access control lists associated with each object is the only acceptable mechanism to satisfy the DAC/D3 requirement. 2.1.4 Assurance Requirements for DAC Subsystems DAC subsystems must comply with an of the assurance requirements for their given class as indicated below. The interpretations for these assurance requirements are contained in Section 3. Subsystems at the DAC/Dl class must comply with: ž System Architecture (Dl) ž System Integrity (Dl) ž Security Testing (Dl) Subsystems at the DAC/D2 and DAC/D3 classes must comply with: ž System Architecture (D2) ž System Integrity (D2) ž Security Testing (D2) 2.1.5 Documentation Requirements for DAC Subsystems DAC subsystems must meet the documentation requirements listed below for their target rating class. The interpretations for these documentation requirements are contained in Section 4. Subsystems at the DAC/Dl class must comply with: ž Security Features User's Guide (Dl) ž Trusted Facility Manual (Dl) ž Test Documentation (Dl) ž Desi~ Documentation (Dl) Subsystems at the DAC/D2 and DAC/D3 classes must comply with: ž Security Features User's Guide (D2) ž Trusted Facility Manual (D2) ž Test Documentation (D2) ž Design Documentation (D2) 2.2 OBJECT REUSE SUBSYSTEMS 2.2.1 Global Description of Subsystem Features 2.2.1.1 Purpose Object reuse subsystems clear storage objects to prevent subjects from scavenging data from storage objects which have been previously used. 2.2.1.2 Role Within the Complete Security System Object reuse can be used to prevent information scavenging by erasing information residue contained in previously used storage objects that have been released by the storage management system. Object reuse subsystems are most effective in environments where some security policy is implemented on the system. To prevent scavenging of information from previously used storage objects, object reuse subsystems must be fully integrable with the operating system of the protected system. The object reuse subsystem must perform its function for all reusable storage objects on the protected system (i.e., main memory, disk storage, tape storage, I/O buffers, etc.). Object reuse subsystems must be interfaced with the protected system in such a way that they are tamperproof and always invoked. 2.2.2 Evaluation of Object Reuse Subsystems Subsystems which implement object reuse must comply with all of the TCSEC requirements as outlined below for features, assurances, and documentation. Compliance with these requirements will show that the subsystem can enforce object reuse adequately to receive an OR/D2 rating for object reuse. As a part of the evaluation, the subsystem vendor shall set up the subsystem in a typical functional connguration for security testing. This will show that the subsystem interfaces correctly with the protected system to meet all of the feature requirements in this section and all of the assurance and documentation requirements in Sections 3 and 4. It will also show that the subsystem can be integrated into a larger system environment. The interpretations for applying the feature requirements of object reuse subsystems are explained in the subsequent interpretations section. The application of the assurance requirements listed below is explained in Sections 3 and 4, respectively. 2.2.3 Feature Requirements for Object Reuse Subsystems 2.2.3.1 OR/D2 TCSEC Quote: "C2: New: all authorizations to the information contained within a storage object shall be revoked prior to initial assignment, allocation or reallocation to a subject from the TCB's pool of unused storage objects. No information, including encrypted representations of information, produced by a prior subject's actions is to be available to any subject that obtains access to an object that has been released back to the system." Interpretation: In the TCSEC quote, "TCB" is interpreted to mean "protected system". Otherwise, this requirement applies as stated. The object reuse subsystem shall perform its function for all storage objects on the protected system that are accessible to users. Rationale/Discussion: Object reuse subsystems must assure that no previously used storage objects (e.g., message buffers, page frames, disk sectors, magnetic tape, memory registers, etc.) can be used to scavenge residual information. Information remaining in previously used storage objects can be destroyed by overwriting it with meaningless or unintelligible bit patterns. An alternative way of approaching the problem is to deny read access to previously used storage objects until the user who has just acquired them has overwritten them with his own data. Object reuse subsystems do not equate to systems used to eliminate magnetic remnance. 2.2.4 Assurance Requirements for Object Reuse Subsystems Object reuse subsystems must comply with all of the assurance requirements shown below for the D2 class. The interpretations for these assurance requirements for Object Reuse subsystems are contained in Section 3. ž System Architecture (D2) ž System Integrity (D2) ž Security Testing (D2) 2.2.5 Documentation Requirements for Object ReuseSubsystems Object reuse subsystems must meet the documentation requirements shown below for the D2 class. The interpretations for these documentation requirements are contained in Section 4. ž Security Features User's Guide (D2) ž Trusted Facility Manual (D2) ž Test Documentation (D2) ž Design Documentation (D2) 2.3 IDENTICATION & AUTHENTICATION (I&A) SUBSYSTEMS 2.3.1 Global Description of Subsystem Features 2.3.1.1 Purpose This subsystem provides the authenticated identification of a user seeking to gain access to any resources under the control of the protected system. 2.3.1.2 Role Within Complete Security System The I&A subsystem provides an authenticated user identification needed to provide accountability for and control access to the protected system. The granularity of user identification is determined by the requirements in this interpretation. The granularity increases from group identification at I&A/Dl to individual identification at I&A/D2. The requirement is to be able to accurately authenticate the claimed identity of a user. The I&A subsystem must determine whether a user is authorized to use the protected system. For all authorized users, the I&A subsystem communicates the identity of the user to the protected system. This identity can then be used by the protected system or other subsystems to provide accountability for use of the system and access controls to protected objects on the system. To be effective and to protect the authentication data it uses, the I&A subsystem must be tamperproof and always invoked. At I&A/D2, it is important that all uses of the I&A subsystem be recorded in an audit trail. The auditing of these actions may be performed entirely by the auditing mechanism on the I&A subsystem, or through an interface with an auditing mechanism in the protected system or another subsystem. 2.3.2 Evaluation of I&A Subsystems Subsystems which are designed to implement I&A must comply with all of the TCSEC requirements outlined below for features, assurances, and documentation. Compliance with these requirements will assure that the subsystem can enforce, either wholly or in part, a specific I&A policy. As a part of the evaluation, the subsystem vendor shall set up the subsystem in a typical functional configuration for security testing. This will show that the subsystem interfaces correctly with the protected system to meet all of the feature requirements in this section and all of the assurance and documentation requirements in Sections 3 and 4. It will also show that the subsystem can be integrated into a larger system environment. The interetations for applying the feature requirements to I&A subsystems are explained in the subsequent interpretations sections. The application of the assurance requirements and documentation requirements listed in the next section is explained in Sections 3 and 4, respectively. 2.3.3 Feature Requirement for I&A Subsystems 2.3.3.1 I&A/Dl TCSEC Quote: "Cl: New: The TCB shall require users to identify themselves to it before beginning to perform any other actions that the TCB is expected to mediate. Furthermore, the - TCB shall use a protected mechanism (e.g., passwords) to authenticate the user's identity. The TCB shall protect authentication data so that it cannot be accessed by any unauthorized user." Interpretation: The I&A subsystem shall require users to identify themselves to it before beginning to perforrn any other actions that the system is expected to mediate. Furthermore, the I&A subsystem shall use a protected mechanism (e.g., passwords) to authenticate the user's identity. The I&A subsystem shall protect authentication data so that it cannot be accessed by any unauthorized user. The I&A subsystem shall, at a minimum, identify and authenticate system users. At I&A/Dl, users need not be individually identified. Rationale/Discussion: Identification and Authentication must be based on at least a two-step process, which is derived from a combination of something the user possesses (e.g., smart card, magnetic stripe card), some physical attribute about the user (e.g., fingerprint, voiceprint), something the user knows (e.g., password, passphrase). The claimed identification of a user must be authenticated by an explicit action of the user. It is not acceptable for one step to be used as both identification and authentication. The claimed identity can be public. The measure used for authentication must be resistant to forging, guessing, and fabricating. The I&A subsystem must interface to the protected system in such a way that it can reliably pass authenticated user identities to the protected system. The evaluation shall show that authenticated user identities can be passed to the protected system. 2.3.3.2 I&A/D2 TCSEC Quote: - "C2: Add: The TCB shan be able to enforce individual accountability by providing the capability to uniqueb identify each individual ADP system user. The TCB shall also ; provide the capabmty of associa~ ~is identity ~nth an auditable actiol~ taken by ; that indindual." Interpretation ~ The following interpretations, in addition to those interpretations for I&A/Dl, shall be satisfied at the I&A/D2 Class. In the TCSEC quote, "TCB" is interpreted to mean "I&A subsystem." The I&A subsystem shall pass to the protected system a unique identifier for each individual. The I&A subsystem shall be able to uniquely identify each individual user. This includes the ability to identify individual members within an authorized user group and the ability to identify specific system users such as operators, system administrators, etc. The I&A subsystem shall provide for the audit logging of security-relevant I&A events. For I&A, the origin of the request (e.g., terminal ID, etc.), the date and time of the event, user ID (to the extent recorded), type of event, and the success or failure of the event shall be recorded. The I&A subsystem may meet this requirement either through its own auditing mechanism or by providing an interface for passing the necessary data to another auditing mechanism. , Rationale/Discussion: The intent of this requirement is for the I&A subsystem to supply a unique identity for each user to the protected system. The subsystem supplies a unique user identity which may or may not be used by an auditing mechanism. This auditing support is : required to maintain consistency with the C2 level of trust as defined by the TCSEC. 2.3.4 Assurance Requirements for I&A Subsystems I&A subsystems must comply with all of the assurance requirements listed below for their given class. The interpretations for these assurance requirements to I&A subsystems are contained in Section 3. Subsystems at the I&A/Dl class shall comply with: ž System Architecture (Dl) ž System Integrity (Dl) ž Security Testing (Dl) . Subsystems at the I&A/D2 class shall comply with: ž System Architecture (D2) ž System Integrity (D2) ž Security Testing(D2) 2.3.5 Documentation Requirements for I&A Subsystems I&A subsystems must meet the documentation requirements listed below for their target rating class. The interpretations for these documentation requirements are contained in Section 4. Subsystems at the I&A/Dl class shall comply with: ž Security Features User's Guide (Dl) ž Trusted Facility Manual (Dl) ž Test Documentation (Dl) ž Design Documentation (Dl) Subsystems at the I&A/D2 class shall comply with: ž Security Features User's Guide (D2) ž Trusted Facility Manual (D2) ž Test Documentation (D2) ž Design Documentation (D2) 2.4 AUDlT SUBSYSTEMS 2.4.1 Global Description of Subsystem Features 2.4.1.1 Purpose Accountability is partly achieved through auditing. That is, data from security- relevant events is captured and passed to the audit mechanism to be recorded for use in detecting possible security breaches and providing a trace to the party responsible. 2.4.1.2 Role Within Complete Security System The requirement is to be able to record security-relevant events in a manner that will allow detection and/or after-the-fact investigations to trace security violations to the responsible party. An auditing subsystem must be capable of recording all security-relevant actions -i - that take place throughout the computer system. To accomplish this goal, it must integrate itself into the mechanisms that mediate access and perform user identification and authentication, and capture data about the events they control. Additionally, an audit subsystem must be interfaced with the protected system in such a way that it is tamperproof and always invoked. The auditing subsystem must be provided all of the necessary data associated with actions as specified in Section 2.4.3. The necessary data includes the unique identity of the user that is responsible for each action. This implies that an auditing subsystem must be augmented by an identification and authentication mechanism either within the subsystem itself or elsewhere on the system. 2.4.2 Evaluation of Auditing Subsystems Subsystems which are designed to implement audit data collection and control functions for a host must comply with all of the TCSEC requirements as outlined below for features, assurances and documentatioi. Compliance with these features will assure that the subsystem, through its integration, can detect or generate the relevant audit data or can record all relevant audit data passed to it by the host or other subsystems. As a part of the evaluation, the subsystem vendor shall set up the subsystem in a typical functional configuration for security testing. This will show that the subsystem interfaces correctly with the protected system to meet all of the feature requirements in this section and all of the assurance and documentation requirements in Sections 3 and 4. It will also show that the subsystem can be integrated into a larger system environrnent. The interpretations for applying the feature requirements to auditing subsystems are explained in the subsequent interpretations sections. The application of the assurance requirements and documentation requirements is explained in Sections 3 and 4, respectively. 2.4.3 Feature Requirements For Auditing Subsystems 2.4.3.1 AUD/D2 TCSEC Quote: "C2: New: The TCB shan be able to create, maintain, and protect from modification or unauthorized access or destruction an audit trail of accesses to the objects it protects. The audit data shan be protected by the TCB so that read access to it is limited to those who are authorized for audit data. The TCB shall be able to record the following types of events: use of identification and authentication mechanisms introduction of objects into a user's address space (e.g., file open, program ~. initiation), deletion of objects, actions taken by computer operators and system administrators and/or system security officers, and other security relevant events. For each recorded event, the audit record shall identify: date and time of the event, ~ user, type of event, and success or failure of the event. For identincation/authentication events the origin of request (e.g., terminal ID) shan be - included in the audit record. For events that introduce an object into a user's address space and for object deletion events the audit record shall include the name of the object. rne ADP system administrator shall be able to selectively audit the actions of any one or more users based on individual identity." Interpretations: The following subsections provide interpretations of the TCSEC requirements which shall be satisfied by auditing subsystems at AUD/D2. 2.4.3.1.1 Creation and management of audit trail The auditing subsystem shall create and manage the audit trail of security-relevant " events in the system. If the other portions of the system are unable to capture data about such events, the auditiug subsystem shaU coutain the necessary interfaces into the system to perform this function. Alternatively, the auditing subsystem might simply accept and store data about events if the other portions of the system are capable of creating such data and passing them on. Rationale/Discussion: To meet this requirement, it is sufficient that the audit subsystem provides a set of calls which permit the system to supply the needed data as parameters that the audit subsystem puts into a data structure and routes to audit storage (or transmits securely to an audit logger). 2.4.3.1.2 Protection of audit data It shall be demonstrated that the audit data is protected from unauthorized modification. This protection will be provided either by the subsystem itself or by its integration with the protected system. Rationale/Discussion: The auditing subsystem might store the audit data in a dedicated data storage area that cannot be accessed by any subject on the system except the auditing subsystem itself and the system security officer (or system administrator through the auditing subsystem. Or, if the protected system has adequate access control facilities, the audit data might be stored on the protected system, using its access control mechanisms for protection. 2.4.3.1.3 Access control to audit The audit mechanism, auditing parameters, and the audit data storage media shall be protected to ensure access is allowed only to authorized individuals. Individuals who are authorized to access the audit data shall be able to gain access only through the auditing subsystem. Rationale/Discussion: This interpretation assumes that discretionary access controls or physical controls will be in place to keep unauthorized individuals from gaining access to the audit data. 2.4.3.1.4 Specific types of events Data about all security relevant events must be recorded. The other portions of the system shall be able to pass data concerning these events to the auditing subsystem, or the auditing subsystem shall have the necessary code integrated into the other portions of the system to pass the data to the collection point. 2.4.3.1.5 Specific infolmation per event All of the specific information enumerated in the TCSEC quote shall be captured for each recorded event. Of particular concern, is the recording of the user identity with each recorded event. Rationale/Discussion: This implies that the audit subsystem must be able to acquire user identities from an I&A mechanism, which may be provided on the audit subsystem itself, on the protected system, or in a separate I&A subsystem. Whichever is the case, the evaluation shall show that the audit subsystem has a working interface to an I&A mechanism. 2.4.3.1.6 Ability to selectively audit individuals The auditing subsystem shall have the ability to perform selection of audit data based on individual users. Rationale/Discussion: This requirement can be satisfied by pre-selection of the information to be recorded in the audit log (selective logging) and/or by post-selection of information to be extracted from the audit log (selective reduction). The reduction of the audit log must be able to show all of the security-relevant actions performed by any specified individual. The intent of selective logging is to reduce the volume of audit data to be recorded by only recording audit data for those specific individuals that the systcm security officer (or system administrator) specifies. The intent of selective reduction is to reduce the large volume of audit data into a collection of intelligible information which can be more efficiently used by the system administrator. 2.4.3.2 AUD/D3 ž TCSEC Quote: "B3: Add: The TCB shal~ contain a mechanism that is able to monitor the occurrence or accumulation of security auditable events that may indicate an imminent violation of security policy. This mechanism shall be able to immediately notify the security administrator when thresholds are exceeded and, if the occurrence or accumulation of these securib relevant events continues, the system shall take the least disruptive action to terminate the event." ž Interpretation: The following interpretation, in addition to the interpretation and requirement for AUD/D2, shall be satisfied for the AUD/D3 class. 2.4.3.2.1 Real-time alarms The auditing subsystem shall provide the capability for the security administrator to set thresholds for certain auditable events. Furthermore, when the thresholds are exceeded, the audit subsystem shall immediately notify the security administrator of an imminent security violation. 2.4.4 Assurance Requirements for Auditing Subsystems Audit subsystems, whether being evaluated at AUD/D2 or AUD/D3, must comply with the assurance requirements listed below for the D2 class. The interpretations for these assurance requirements are contained in Section 3. ž System Architecture (D2) ž System Integrity (D2) ž Security Testing (D2) 2.4.5 Documentation Requirements for Auditing Subsystems Audit subsystems, whether being evaluated at AUD/D2 or AUD/D3, must meet the documentation requirements listed below for the D2 class. The interpretations for these documentation requirements are contained in Section 4. ž Security Features User's Guide (D2) ž Trusted Facility Manual (D2) ž Test Documentation (D2) ž Design Documentation (D2) 3. ASSURANCE REQUIREMENTS Rated subsystems must provide correct and accurate operations. Assurance must be provided that correct implementation and operation of the subsystem's function exist throughout the subsystem's life cycle. The objective in applying these assurance requirements is to develop confidence that the subsystem has been implemented correctly and that it is protected from tampering and circumvention. The requirement is that the subsystem must contain hardware/software mechanisms that can be independently evaluated through a combination of inspection and testing to provide sufficient assurance that the subsystem features enforce or support the functions for which the subsystem is intended. To receive a rating, a subsystem must meet the assurance requirements at the same level of trust as it has I met the requirements for functionality. The assurances must be applied to the different types of subsystems as described in the previous sections. 3.1 SUBSYSTEM ARCHITECTURE Subsystem architecture evaluation is designed to provide operational assurances with regard to the design and implementation of the protection mechanisms of the subsystem and its interfaces to the host/host TCB. 3.1.1 Arch:D1 TCSEC Quote: "Cl: New: The TCB shall maintain a domain for its own execution that protects it from external interference or tampering (e.g., by modification of its code or data structures). Resources controned by the TCB may be a defined subset of the subjects and objects in the ADP system." Interpretation: This requirement applies to all subsystems evaluated at all classes, regardless of the function(s) they perform. There are two specific elements of this requirement: Execution Domain Protection and Defined Subsets. 3.1.1.1 Execution Domain Protection Protection of the subsystem's mechanism and data from external interference or tampering must be provided. The code and data of the subsystem may be protected' through physical protection (e.g., by the subsystem's dedicated hardware base) or by logical isolation (e.g., using the protected system's domain mechanism). Rationale and Discussion: The subsystem may be contained entirely on its own hardware base which must protect the operational elements of the mechanisms. Alternatively, all or a portion of the subsystem may be implemented on the hardware of the host, in which case the host system's architecture must protect this portion from external interference or tampering. 3.1.1.2 Defined Subsets I&A subsystems, when used for the system's I&A, define the subset of subjects under the control of the system's TCB. DAC subsystems may protect a subset of the total collection of objects on the protected system. 3.1.2 Arch:D2 TCSEC Quotes: "C2: Add: The TCB shall isolate the resources to be protected so that they are subject to the access control and auditing requirements." Interpretation: In the TCSEC quote, "TCB" is interpreted to mean "subsystem". This requirement applies to all subsystems evaluated at the D2 class or the D3 class. The following interpretations explain how this requirement applies to specific functions performed by subsystems. ž Interpretation for DAC Subsystems: All named objects which are in the defined subset of protected objects shall be isolated such that the DAC subsystem mediates all access to those objects. ž Interpretation for Auditing Subsystems: The system's architecture shall ensure that the auditing mechanism cannot be bypassed by any subjects accessing those objects under the system's control. ž Interpretation for Object Reuse Subsystems The notion of subsetting objects is not applicable to object reuse subsystems. Object reuse subsystems shall perform their function for all storage objects on the protected system that are accessible to users. ž Interpretation for I&A Subsystems: This requirement applies to I&A subsystems. Authentication data shall be protected from unauthorized access. Access to the authentication data shall also be recorded in the audit trail. 3.2 SUBSYSTEM INTEGRITY Subsystem integrity evaluation is designed to provide operational assurances with regard to the correct operation of the protection mechanisms of the subsystem and its interfaces to the protected system. 3.2.1 Integity:D1 TCSEC Quote "Cl: New: Hardware and/or software features shan be provided that can be used to periodicany ~aUdate the correct operation of the on site hardware and firmware elements of the TCB." Interpretation: In the TCSEC quote, "TCB" is interpreted to mean "subsystem". This requirement applies to an subsystems evaluated at any class, regardless of the functions they perform. Rationale/Discussion The capability must exist to validate the correct operation of all hardware and firrnware elements of the system regardless of whether they reside within the subsystem, the protected system, or other interfacing subsystems. If the hardware and/or firmware elements of the protected system or other interfacing subsystems play an integral role in the protection and/or correct operation of the subsystem, then they must comply with this requirement as though they were part of the subsystem. 3.2.2 Integrity:D2 There are no additional requirements for System Integrity at D2. 3.3 SECURITY TESTING Testing, as part of the evaluation, is designed to provide life cycle assurances with regard to the integrity of the subsystem. Further, testing provides additional assurances regarding the correct operation of the protection mechanisms of the subsystem and the subsystem's interfaces to the protected system. These mechanisms and their interfaces to the protected system, are termed the Subsystem's Security- Relevant Portion (SRP). 3.3.1 Test:Dl TCSEC Quote: "Cl: New: The securib mechanisms of the ADP system shan be tested and found to work as claimed in the system documentation. Testing shan be done to assure that there are no ob~ious ways for an unauthorized wer to bypass or otherwise defeat the security protection mechanisms of the TCB. (See the Security Testing Guidelines.) " Interpretation This requirement applies to all subsystems evaluated at any class, regardless of the function(s) they perform. In the TCSEC quote, "TCB" is interpreted to mean subsystem. The subsystem's SRP shall be tested and found to work as claimed in the subsystem's documentation. The addition of a subsystem to a protected system shall not cause obvious flaws to the resulting system. _ Test results shall show that there are no obvious ways for an unauthorized user to bypass or otherwise defeat the subsystem's SRP. Rational/Discussion: Security testing is a very important part of subsystem evaluations. It is essential that the subsystem be demonstrated to operate securely. 3.3.2 Test:D2 TCSEC Quote: "C2: Add: Testing shan also include a search for obvious flaws that would anow nolation of resource isolation, or that would permit unauthorized access to the audit or authentication data." Interpretation: This requirement applies to the testing of the SRP of any subsystem evaluated at the D2 class or the D3 class. Rationale/Discussion The requirement as written in the TCSEC quote is directly applicable. This requirement is to ensure that subsystems at D2 cannot be circumvented or tampered with. 4. DOCUMENTATION REQUIREMENTS Documentation shan produce evidence that the subsystem can and does provide specified security features. The evaluation will focus on the completeness of this evidence through inspection of documentation structure and content and through a mapping of the documentation to the subsystem's implementation and its operation. 4.1 SECURITY FEATURES USER'S GUIDE 4.1.1 SFUG:Dl TCSEC Quote: "Cl: New: A single summaIy, chapter, or manual in user documentation shall describe the protection mechanisms provided by the TCB, guidelines on their use, and how they interact with one another." Interpretation: All subsystems shall meet this requirement in that they shall describe the protection mechanisms provided by the subsystem. Rationale/Discussion: It is recognized that some subsystems may be partially or completely transparent to the general user. In such cases, this requirement can be met by documenting the functions the subsystem performs so users will be aware of what the subsystem does. Other subsystems which have a very limited user interface may not need to be accompanied by more than a pocketsize card available to every user. In short, the documentation required to meet this requirement need not be elaborate, but must be clear and comprehenslve. 4.1.2 SFUG:D2 Interpretation: There are no additional requirements at the D2 class. 4.2 TRUSTED FACILITY MANUAL 4.2.1 TFM:Dl TCSEC Quote : "Cl: New: A manual addressed to the ADP system admmistrator shan present cautions about functions and prvileges that should be controlled when running a secure facility." Interpretation: This requirement applies to all subsystems in that the manual shall present cautions about functions and privileges provided by the subsystem. Further, this manual shall present specific and precise direction for effectively integrating the subsystem into the overall system. 4.2.2 TFM:D2 TCSEC Quote: "C2: Add: The procedures for examining and maintaMing the audit files as well as the detailed audit record structure for each type of audit event shall be given." Interpretation: This requirement applies directly to all auditing subsystems and to other subsystems that maintain their own audit data concerning events that happen under their control. For subsystems that create audit data and pass it to an external auditing collection and maintenance facility, the audit record structure shall be documented; however, the procedures for examination and maintenance of audit files may be left to the external auditing facility. 4.3 TEST DOCUMENTATION 4.3.1 TD:Dl TCSEC Quote: "Cl: New: The system developer shall provide to the evaluators a document that describes the test plan, test procedures that show how the securib mechanisms were tested, and results of the security mechanisms' functional testing." Interpretation: The document shall explain the exact configuration used for security testing. All mechanisms supplying the required supporting functions shall be identified. All interfaces between the subsystem being tested, the protected system, and other subsystems shall be described. 4.3.2 TD:D2 Interpretation There are no additional requirements at the D2 class. 4.4 DESIGN DOCUMENTATION 4.4.1 DD:Dl TCSEC Quote: "Cl: New: Documentation shall be available that provides a description of the manufacturer's philosophy of protection and an explanation of how this philosophy is translated into the TCB. If the TCB is composed of distinct modules, the interfaces between these modules shall be described. " Interpretation: This requirement applies directly to all subsystems. Specifically, the design documentation shall state what types of threats the subsystem is designed to protect against (e.g., casual browsing, determined attacks, accidents). This documentation shan show how the protection philosophy is translated into the subsystem's SRP. Design documentation shan also specify how the subsystem is to interact with the protected system and other subsystems to provide a complete computer security system. If the SRP is modularized, the interfaces between these modules shall be described. 4.4.2 DD:D2 There are no additional requirements for Design Documentation at the D2 class. 5- GLOSSARY Accreditation - The offlcial authorization that is granted to an ADP system to process sensitive information in its operational environment, based upon , comprehensive security evaluation of the system's hardware, firmware, and software . security design, configuration and implementation of the other system procedural, administrative, physical, TEMPEST, personnel, and comrnunications controls. Audit - The procedure of capturing, storing, maintaining, and managing data concerning security-relevant events that occur on a computer system. The data recorded are intended for use in detecting security violations and tracing thosc violations to the responsible individual. Audit trail - A set of records that collectively provide documentary evidence of processing users to aid in tracing from original transactions forward to related records and reports, and/or backwards from records and reports to their component source transactions. Authenticate - To establish the validity of a claimed identity. Authorization - Permission which establishes right to access information. Certification evaluation - The technical evaluation of a system's security features, made as part of and in support of the approval/accreditation process, that establishes " the extent to which a particular computer system's design and implementation meet a set of specified security requirements. Computer security subsystem - Hardware, firmware and/or software which are added to a computer system to enhance the security of the overall system. Group user - A user of a computer system whose system identification is the name of a defined group of users on that system. Individual user - A user of a computer system whose system identification is unique, in that no other user on that system has that same identification. Named object - An object which is directly manipulable at the TCB interface. Thc object must have meaning to more than one process. Product evaluation - Thc technical evaluation of a product's security features to determine the level of trust that can be placed in that product as defined by thc NCSC. evaluation criteria for that type of product (e.g., operating system, database management system, computer network, computer security subsystem). Product evaluations do not consider the application of the product in the evaluation. Protected system - The system being protected. In the context of computer security subsystems, a stand-alone computer system or a computer network to which a subsystem is attached to pronde some computer security function. Security Relevant Portion (SRP) - The protection-critical mechanism of the subsystem, the subsystem's interface(s) to the protected system, and interfaces to the mechanisms providing required supporting functions. For most cases, the SRP encompasses the entire subsystem. Subsystem - See "computer security subsystem." System - The combination of the protected system and the computer security subsystem. *U.S. GOVERNMENT PRINTING OFFICE: 1989-225-703