home *** CD-ROM | disk | FTP | other *** search
/ Hackers Toolkit v2.0 / Hackers_Toolkit_v2.0.iso / HTML / archive / Rainbow / ncsc / lavendarncsc.txt < prev    next >
Text File  |  1999-11-04  |  250KB  |  5,634 lines

  1. Trusted Database Management System
  2. Interpretation
  3.  
  4. NCSC-TG-021 
  5.  
  6. Library 
  7.  
  8. No. S235,625 
  9.  
  10. FOREWORD
  11.  
  12. The National Computer Security Center is issuing the Trusted Database
  13. Management System Interpretation as part of the Technical Guidelines
  14. Program, through which we produce the "Rainbow Series." 
  15.  
  16. In the Rainbow Series, we discuss in detail the features of the Trusted
  17. Computer System Evaluation Criteria (DoD 5200.28-STD) and provide guidance
  18. for meeting each requirement. The National Computer Security Center,
  19. through its Trusted Product Evaluation Program, analyzes the security
  20. features of commercially produced and supported computer systems.
  21. Together, these programs ensure that organizations are capable of
  22. protecting their important data with trusted computer systems. 
  23.  
  24. The Trusted Database Management System Interpretation extends the
  25. evaluation classes of the Trusted Computer System Evaluation Criteria to
  26. trusted applications in general, and database management systems in
  27. particular. It serves as an adjunct to the Trusted Computer System
  28. Evaluation Criteria by providing a technical context for the consideration
  29. of entire systems constructed of parts and by presenting database-specific
  30. interpretation of topics that require direct comment. Thus, it is relevant
  31. to applications which support sharing of computer services and resources,
  32. and which enforce access control policies. More specifically, it provides
  33. insight into the the design, implementation, evaluation, and accreditation
  34. of database management systems. 
  35.  
  36. This document will be used for at least one year after the date of
  37. signature. During this period the NCSC will gain experience using the
  38. Trusted Database Management Systems Interpretation in several evaluations
  39. and continue to receive comments on issues of technical accuracy, clarity
  40. of exposition, and utility. After this trial period, necessary changes
  41. will be made and a revised version issued. 
  42.  
  43. PATRICK R. GALLAGHER, JR. 
  44.  
  45. April 1991 
  46.  
  47. Director National Computer Security Center 
  48.  
  49. ACKNOWLEDGMENTS
  50.  
  51. This document represents the combined effort of participants from the
  52. research community, industry, and government working over several years.
  53. Three major drafts and numerous intermediary versions were produced,
  54. reviewed, and commented upon. To name all the contributors would be
  55. impossible. To single out a few would be to slight a host of others who
  56. gave unstintingly of their time and talent. To all those who contributed
  57. to the development and refinement of the fundamental concepts, contributed
  58. to the development of the several predecessor versions, and who
  59. contributed valuable personal time and invaluable experience in reviewing
  60. and commenting on the previous versions, thanks is extended. 
  61.  
  62. TABLE OF CONTENTS
  63.  
  64. FOREWORD i 
  65.  
  66. ACKNOWLEDGMENTS iii 
  67.  
  68. INTRODUCTION 1 
  69.  
  70. HISTORICAL PERSPECTIVE 1 
  71.  
  72. SCOPE 2 
  73.  
  74. PURPOSE 2 
  75.  
  76. STRUCTURE OF THE DOCUMENT 4 
  77.  
  78. PART 1 TECHNICAL CONTEXT 7 
  79.  
  80. TC-1 INTRODUCTION 9 
  81.  
  82. TC-2 REFERENCE MONITOR PERSPECTIVE 10 
  83.  
  84. TC-3 NEED FOR EVALUATION BY PARTS 11 
  85.  
  86. TC-4 TCB SUBSETS 11 
  87.  
  88. TC-4.1 INTRODUCTION 12 
  89.  
  90. TC-4.2 TCB SUBSETS CONTEXT 13 
  91.  
  92. TC-4.2.1 DEFINITION OF TCB SUBSETS 13 
  93.  
  94. TC-4.2.2 MOTIVATION 13 
  95.  
  96. TC-4.3 CONDITIONS FOR EVALUATION BY PARTS 14 
  97.  
  98. TC-4.3.1 CANDIDATE TCB SUBSETS 14 
  99.  
  100. TC-4.3.2 POLICY ALLOCATION 15 
  101.  
  102. TC-4.3.3 TRUSTED SUBJECTS INCLUDED 15 
  103.  
  104. TC-4.3.4 TCB SUBSET STRUCTURE 15 
  105.  
  106. TC-4.3.5 SEPARATE SUBSET-DOMAINS 16 
  107.  
  108. TC-4.3.6 SUPPORT FOR RVM ARGUMENTS 16 
  109.  
  110. TC-4.4 EVALUATION ALTERNATIVES 17 
  111.  
  112. TC-5 GENERAL INTERPRETED REQUIREMENTS 18 
  113.  
  114. TC-5.1 OVERVIEW 18 
  115.  
  116. TC-5.2 DETAILED REQUIREMENTS 18 
  117.  
  118. TC-5.2.1 SECURITY POLICY 18 
  119.  
  120. TC-5.2.1.1 Discretionary Access Control 18 
  121.  
  122. TC-5.2.1.2 Object Reuse 18 
  123.  
  124. TC-5.2.1.3 Labels 19 
  125.  
  126. TC-5.2.1.4 Mandatory Access Control 20 
  127.  
  128. TC-5.2.2 ACCOUNTABILITY 20 
  129.  
  130. TC-5.2.2.1 Identification and Authentication 20 
  131.  
  132. TC-5.2.2.2 Audit 21 
  133.  
  134. TC-5.2.3 ASSURANCE 22 
  135.  
  136. TC-5.2.3.1 Operational Assurance 22 
  137.  
  138. TC-5.2.3.2 Life-Cycle Assurance 23 
  139.  
  140. TC-5.2.4 DOCUMENTATION 24 
  141.  
  142. TC-5.2.4.1 Security Features User's Guide 24 
  143.  
  144. TC-5.2.4.2 Trusted Facility Manual 25 
  145.  
  146. TC-5.2.4.3 Test Documentation 26 
  147.  
  148. TC-5.2.4.4 Design Documentation 26 
  149.  
  150. TC-5.3 SUMMARY OF THE REQUIREMENTS 26 
  151.  
  152. TC-5.3.1 LOCAL REQUIREMENTS 26 
  153.  
  154. TC-5.3.2 GLOBAL REQUIREMENTS 27 
  155.  
  156. TC-6 DESIGN CHOICES 28 
  157.  
  158. TC-6.1 OVERVIEW 28 
  159.  
  160. TC-6.2 A SINGLE TCB SUBSET 28 
  161.  
  162. TC-6.2.1 ANALYSIS OF THE CONDITIONS 28 
  163.  
  164. TC-6.2.1.1 Condition 1: Candidate TCB Subsets 28 
  165.  
  166. TC-6.2.1.2 Condition 2: Policy Allocation 29 
  167.  
  168. TC-6.2.1.3 Condition 3: Trusted Subjects Included 29 
  169.  
  170. TC-6.2.1.4 Condition 4: TCB Subset Structure 29 
  171.  
  172. TC-6.2.1.5 Condition 5: Separate Subset-Domains 29 
  173.  
  174. TC-6.2.1.6 Condition 6: Support for RVM Arguments 29 
  175.  
  176. TC-6.2.2 EVALUATION CONSEQUENCES 29 
  177.  
  178. TC-6.3 TWO TCB SUBSETS,MEETING THE CONDITIONS 30 
  179.  
  180. TC-6.3.1 ANALYSIS OF THE CONDITIONS 30 
  181.  
  182. TC-6.3.1.1 Condition 1: Candidate TCB Subsets 30 
  183.  
  184. TC-6.3.1.2 Condition 2: Policy Allocation 31 
  185.  
  186. TC-6.3.1.3 Condition 3: Trusted Subjects Included 31 
  187.  
  188. TC-6.3.1.4 Condition 4: TCB Subset Structure 31 
  189.  
  190. TC-6.3.1.5 Condition 5: Separate Subset-Domains 31 
  191.  
  192. TC-6.3.1.6 Condition 6: Support for RVM Arguments 31 
  193.  
  194. TC-6.3.2 EVALUATION CONSEQUENCES 32 
  195.  
  196. TC-6.4 TWO TCB SUBSETS, NOT MEETING THE CONDITIONS 33 
  197.  
  198. TC-6.4.1 ANALYSIS OF THE CONDITIONS 34 
  199.  
  200. TC-6.4.1.1 Condition 1: Candidate TCB Subsets 34 
  201.  
  202. TC-6.4.1.2 Condition 2: Policy Allocation 34 
  203.  
  204. TC-6.4.1.3 Condition 3: Trusted Subjects Included 34 
  205.  
  206. TC-6.4.1.4 Condition 4: TCB Subset Structure 35 
  207.  
  208. TC-6.4.1.5 Condition 5: Separate Subset-Domains 35 
  209.  
  210. TC-6.4.1.6 Condition 6: Support for RVM Arguments 35 
  211.  
  212. TC-6.4.2 EVALUATION CONSEQUENCES 35 
  213.  
  214. TC-6.5 SUMMARY 36 
  215.  
  216. PART 2 INTERPRETED REQUIREMENTS 37 
  217.  
  218. IR-1 OVERVIEW AND CONTEXT 39 
  219.  
  220. IR-2 SUMMARY OF THE INTERPRETATIONS 39 
  221.  
  222. IR-2.1 SECURITY POLICY 39 
  223.  
  224. IR-2.1.1 DISCRETIONARY ACCESS CONTROL 39 
  225.  
  226. IR-2.1.2 OBJECT REUSE 40 
  227.  
  228. IR-2.1.3 LABELS 40 
  229.  
  230. IR-2.1.4 MANDATORY ACCESS CONTROL 40 
  231.  
  232. IR-2.2 ACCOUNTABILITY 40 
  233.  
  234. IR-2.2.1 IDENTIFICATION AND AUTHENTICATION 40 
  235.  
  236. IR-2.2.2 AUDIT 40 
  237.  
  238. IR-2.3 ASSURANCE 40 
  239.  
  240. IR-2.3.1 OPERATIONAL ASSURANCE 40 
  241.  
  242. IR-2.3.1.1 System Architecture 40 
  243.  
  244. IR-2.3.1.2 System Integrity 40 
  245.  
  246. IR-2.3.1.3 Covert Channel Analysis 41 
  247.  
  248. IR-2.3.1.4 Trusted Facility Management 41 
  249.  
  250. IR-2.3.1.5 Trusted Recovery 41 
  251.  
  252. IR-2.3.2 LIFE CYCLE ASSURANCE 41 
  253.  
  254. IR-2.3.2.1 Security Testing 41 
  255.  
  256. IR-2.3.2.2 Design Specification and Verification 41 
  257.  
  258. IR-2.3.2.3 Configuration Management 41 
  259.  
  260. IR-2.3.2.4 Trusted Distribution 41 
  261.  
  262. IR-2.4 DOCUMENTATION 42 
  263.  
  264. IR-2.4.1 SECURITY FEATURES USER'S GUIDE 42 
  265.  
  266. IR-2.4.2 TRUSTED FACILITY MANUAL 42 
  267.  
  268. IR-2.4.3 TEST DOCUMENTATION 42 
  269.  
  270. IR-2.4.4 DESIGN DOCUMENTATION 42 
  271.  
  272. IR-3 LABELS 42 
  273.  
  274. IR-3.1 GENERAL DISCUSSION 42 
  275.  
  276. IR-3.2 SPECIFIC INTERPRETATIONS 43 
  277.  
  278. IR-4 AUDIT 44 
  279.  
  280. IR-4.1 GENERAL DISCUSSION 44 
  281.  
  282. IR-4.2 SPECIFIC INTERPRETATIONS 45 
  283.  
  284. IR-5 SYSTEM ARCHITECTURE 47 
  285.  
  286. IR-5.1 GENERAL DISCUSSION 47 
  287.  
  288. IR-5.2 SPECIFIC INTERPRETATIONS 47 
  289.  
  290. IR-6 DESIGN SPECIFICATION AND VERIFICATION 48 
  291.  
  292. IR-6.1 GENERAL DISCUSSION 48 
  293.  
  294. IR-6.2 SPECIFIC INTERPRETATIONS 52 
  295.  
  296. IR-7 DESIGN DOCUMENTATION 55 
  297.  
  298. IR-7.1 GENERAL DISCUSSION 55 
  299.  
  300. IR-7.2 SPECIFIC INTERPRETATIONS 56 
  301.  
  302. APPENDIX A 59 
  303.  
  304. CLASS (C1): 62 
  305.  
  306. C1-1 SECURITY POLICY 62 
  307.  
  308. C1-2 ACCOUNTABILITY 62 
  309.  
  310. C1-3 ASSURANCE 62 
  311.  
  312. C1-4 DOCUMENTATION 63 
  313.  
  314. CLASS (C2): 66 
  315.  
  316. C2-1 SECURITY POLICY 66 
  317.  
  318. C2-2 ACCOUNTABILITY 66 
  319.  
  320. C2-3 ASSURANCE 67 
  321.  
  322. C2-4 DOCUMENTATION 68 
  323.  
  324. CLASS (B1): 70 
  325.  
  326. B1-1 SECURITY POLICY 70 
  327.  
  328. B1-2 ACCOUNTABILITY 71 
  329.  
  330. B1-3 ASSURANCE 73 
  331.  
  332. B1-4 DOCUMENTATION 74 
  333.  
  334. CLASS (B2): 77 
  335.  
  336. B2-1 SECURITY POLICY 77 
  337.  
  338. B2-2 ACCOUNTABILITY 79 
  339.  
  340. B2-3 ASSURANCE 81 
  341.  
  342. B2-4 DOCUMENTATION 85 
  343.  
  344. CLASS (B3): 89 
  345.  
  346. B3-1 SECURITY POLICY 89 
  347.  
  348. B3-2 ACCOUNTABILITY 91 
  349.  
  350. B3-3 ASSURANCE 93 
  351.  
  352. B3-4 DOCUMENTATION 98 
  353.  
  354. CLASS (A1): 102 
  355.  
  356. A1-1 SECURITY POLICY 102 
  357.  
  358. A1-2 ACCOUNTABILITY 104 
  359.  
  360. A1-3 ASSURANCE 106 
  361.  
  362. A1-4 DOCUMENTATION 112 
  363.  
  364. APPENDIX B 117 
  365.  
  366. 1. PERSPECTIVE ON ASSURANCE 119 
  367.  
  368. 2. PROCUREMENT OPTIONS 120 
  369.  
  370. 3. ALTERATION OF PREVIOUSLY EVALUATED TCB 122 
  371.  
  372. 4. SATISFYING RVM REQUIREMENTS 125 
  373.  
  374. 5. SUBSET DEPENDENCY 127 
  375.  
  376. 6. TAMPER RESISTANCE ARGUMENTS 131 
  377.  
  378. 7. RATIONALE FOR LOCAL AND GLOBAL REQUIREMENTS 132 
  379.  
  380. 8 CONTENT-DEPENDENT AND CONTEXT-DEPENDENT 
  381.  
  382. ACCESS CONTROL 136 
  383.  
  384. 9. BULK LOADING OF A DATABASE 137 
  385.  
  386. 10. LOCAL ANALYSIS IN SYSTEM ASSESSMENT 137 
  387.  
  388. 11. RATING MORE COMPLEX SYSTEMS 139 
  389.  
  390. GLOSSARY 141 
  391.  
  392. BIBLIOGRAPHY 145 
  393.  
  394. INTRODUCTION
  395.  
  396. HISTORICAL PERSPECTIVE
  397.  
  398. The Department of Defense Trusted Computer System Evaluation Criteria
  399. (TCSEC), published in 1983 as CSC-STD-001-83, consolidates knowledge about
  400. the degree of trust one can place in a computer system to protect
  401. sensitive information and organizes this knowledge into usable criteria
  402. for system evaluation. The TCSEC was republished as a DoD standard,
  403. DoD-5200.28-STD, in December 1985 to provide a means of evaluating
  404. specific security features and assurances available in "trusted,
  405. commercially available automatic data processing system The TCSEC's rating
  406. scale extends from a minimal to a high level of trust with advanced
  407. security features and sophisticated assurance measures. Specific criteria
  408. determine each rating level and guide system builders and evaluators in
  409. determining the level of trust provided by specific systems. When the
  410. rating levels are combined with environmental guidelines and minimum
  411. security protection requirements, accreditation decisions for specific
  412. installations can be made. 
  413.  
  414. The philosophy of protection embodied in the TCSEC requires that the
  415. access of subjects (i.e., processes in a domain) to objects (i.e.,
  416. containers of information) be mediated in accordance with an explicit and
  417. well-defined security policy. At the higher criteria classes, the
  418. "reference monitor concept" [1] is an essential part of the system and the
  419. security policy is modeled. There are several security policy models that
  420. represent the desired behavior of a reference monitor. The Bell-La Padula
  421. model [4-6] and its Multics interpretation [3] are commonly used, but not
  422. mandated. 
  423.  
  424. The computer security research and development that underpin the TCSEC
  425. began in the late 1960s and concentrated on secure operating systems. By
  426. the early 1970s initial worked examples had provided a substantial amount
  427. of information about building trust into operating systems. Research
  428. continued throughout the 1970s to refine mechanisms, features, and
  429. assurances needed to provide trusted operating systems. 
  430.  
  431. Multilevel database management security received far less research and
  432. development attention than did secure operating systems. This was
  433. primarily due to the perception that one could not credibly implement a
  434. multilevel secure database management system (DBMS) on top of an untrusted
  435. operating system base. However, some research in multilevel secure DBMSs
  436. (mostly theoretical) was conducted during the 1970s [15-16], and research
  437. has continued to the present [9-14, 17-19, 22, 25-28]. By the mid 1980s,
  438. commercially developed, trusted operating systems were becoming available
  439. that could provide the basis for hosting secure applications such as
  440. multilevel secure DBMSs. 
  441.  
  442. In June 1986, the National Computer Security Center (NCSC) initiated its
  443. efforts to address the 
  444.  
  445. evaluation of trusted database management systems with an Invitational
  446. Workshop in Baltimore, Maryland. Representatives from the research,
  447. commercial, and government communities met to address issues of database
  448. management security. The met to discuss aspects of trust (defined by the
  449. that were sufficiently well defined and capable producing repeatable and
  450. objective assessments. The NCSC invited issue papers and prepared a
  451. agenda. The issue papers and the subcommittee summaries were published as
  452. the Proceedings of the National Computer Security Center Invitational
  453. Workshop on Database Security [20]. 
  454.  
  455. As an outgrowth of this workshop, the NCSC undertook the task of preparing
  456. this Trusted Database Management System Interpretation (TDI) of the TCSEC
  457. to focus on the special problems posed by DBMSs. A working group was
  458. assembled to draft this Interpretation. Three drafts were produced, with
  459. extensive community review and public discussion. This Interpretation is
  460. the result of the interaction within the general computer security and
  461. database management communities. 
  462.  
  463. SCOPE
  464.  
  465. The interpretations in this document are intended to be used in
  466. conjunction with the TCSEC itself; they apply to application-oriented
  467. software systems in general, and database management systems (DBMSs) in
  468. particular. Although the interpretations, as noted, are general enough to
  469. apply to any software system which supports sharing and needs to enforce
  470. access control (e.g., transaction processing systems, electronic mail
  471. systems), in the interest of simplicity, the discussion, and thus the
  472. terminology, will be directed toward DBMSs. 
  473.  
  474. The interpretations are intended to be applied primarily to commercially
  475. developed trusted DBMSs, but can also be applied to the evaluation of
  476. existing non-commercial DBMSs and to the specification of security
  477. requirements for DBMS acquisitions. 
  478.  
  479. PURPOSE
  480.  
  481. This Interpretation of the TCSEC has been prepared for the following
  482. purposes: 
  483.  
  484. ₧ To provide a standard to manufacturers for security features to build
  485. into their new and planned commercial products in order to provide widely
  486. available systems that satisfy trust requirements (with particular
  487. emphasis on preventing the disclosure of data) for sensitive applications,
  488.  
  489. ₧ To provide a metric with which to evaluate the degree of trust that can
  490. be placed in computer systems for the secure processing of classified and
  491. other sensitive information, and 
  492.  
  493. ₧ To provide a basis for specifying security requirements in acquisition
  494. specifications. 
  495.  
  496. With respect to the second purpose for development of the criteria, i.e.,
  497. providing a security evaluation metric, evaluations can be delineated into
  498. two types: (1) evaluations performed on a computer product from a
  499. perspective that excludes the application environment; or, (2) evaluations
  500. to assess whether appropriate security measures have been taken to permit
  501. the system to be used operationally in a specific environment. The former
  502. type of evaluation is done by the National Computer Security Center (NCSC)
  503. through the Trusted Product Evaluation Program and is called "formal
  504. product evaluation." 
  505.  
  506. The latter type of evaluation, that is, one done for the purpose of
  507. assessing a system's security attributes with respect to a specific
  508. operational mission, is known as a "certification evaluation." A formal
  509. product evaluation does not constitute certification or accreditation for
  510. the system to be used in any specific application environment. The system
  511. security certification and the formal approval/accreditation procedure,
  512. done in accordance with the applicable policies of the issuing agencies,
  513. must still be followed before a system can be approved for use in
  514. processing or handling sensitive or classified information. Designated
  515. Approving Authorities (DAAs) remain ultimately responsible for specifying
  516. the security of systems they The TCSEC and this Interpretation will be
  517. used directly and indirectly in the certification process. Along with
  518. applicable policy, they will be used directly as technical guidance for
  519. evaluation of the total system and for specifying system security and
  520. certification requirements for new acquisitions. Where a system being
  521. evaluated for certification employs a product that has undergone a formal
  522. product evaluation, reports from that process will be used as input to the
  523. certification evaluation. Moreover, the National Security Agency plans to
  524. publish additional guidelines to assist certifiers and help ensure
  525. consistency in certifications of systems processing national security
  526. informantion. 
  527.  
  528. STRUCTURE OF THE DOCUMENT
  529.  
  530. The remainder of the TDI is divided into two parts, plus two appendices
  531. and a glossary. 
  532.  
  533. PART 1, TECHNICAL CONTEXT, "presents general information about the
  534. evaluation of trusted systems that are constructed of several parts. This
  535. discussion is critical to trusted DBMSs built upon trusted operating
  536. systems, but is not limited to DBMSs only. It is included in the TDI
  537. because it is not currently available in any previously published
  538. document. This section reviews the central reference monitor concept,
  539. explains the need to evaluate a system built of well-defined parts, and
  540. develops the concept of TCB subsets. TCB subsets provide a way of
  541. splitting a total TCB along access control policy lines such that an
  542. evaluation by parts can be undertaken. PART 1 concludes with an
  543. interpretation of those TCSEC requirements which are relevant to an
  544. evaluation by parts, and a description of the process of evaluation by
  545. parts. 
  546.  
  547. PART 2, INTERPRETED REQUIREMENTS, "provides interpretions of those TCSEC
  548. requirements that are either specific to DBMSs (or applications in
  549. general), or are particularly relevant to DBMSs. The number of
  550. requirements that are treated explicitly is relatively small, because many
  551. of the TCSEC requirements apply as stated to database management systems.
  552. The requirements treated explicitly are labels, audit, system
  553. architecture, design specification and verification, and design
  554. documentation. 
  555.  
  556. Appendix A summarizes the interpreted requirements for each TCSEC class
  557. and is intended to provide an easy reference for those requiring a listing
  558. of requirements for a specific class (e.g., B2). Appendix B provides
  559. discussion of several topics not directly tied to the requirements levied
  560. on trusted DBMSs by the interpretation of the TCSEC requirements. 
  561.  
  562. The TDI proper will be supplemented by a Companion Document Series (CDS).
  563. The CDS will address a wide spectrum of issues related to trusted DBMSs
  564. but which are beyond the scope of this document. Community debate about
  565. on-going topics of interest will probably result in gradual extensions of
  566. what is known about trusted DBMSs. Thus, volumes in the CDS will be issued
  567. both regularly (to document the state of the community debate) and by
  568. exception (to record new problems and new solutions). 
  569.  
  570. PART 1 TECHNICAL CONTEXT
  571.  
  572. TC-1 INTRODUCTION
  573.  
  574. Modern computing systems are rarely conceived and built by a single
  575. organization. Rather, the rule is that systems are constructed by
  576. assembling parts?hardware, firmware, and software?produced independently
  577. by various organizations or vendors. 
  578.  
  579. This fact introduces a fundamental difficulty into the task of evaluating
  580. a "system" for conformance to the trust requirements of the Trusted
  581. Computer System Evaluation Criteria (TCSEC). [8] This difficulty stems
  582. from the fact that assessment (either evaluation of a product or
  583. certification of a system) entails a global perspective of the entire
  584. system under consideration. There are not yet widely accepted methods of
  585. factoring the various aspects of a trust assessment and then reassembling
  586. the results into a statement about the whole. 
  587.  
  588. These conflicting perspectives of local production and global evaluation
  589. analysis are particularly evident in the field of database management, but
  590. they are by no means limited to that field. Thus the publication of this
  591. Interpretation requires consideration of how to deal with systems built in
  592. parts in the absence of a general treatment of the topic. On the other
  593. hand, any treatment of the issue in the context of trusted database
  594. management will have significant influence in other fields where the same
  595. or similar problems arise, just because of community review and NCSC
  596. publication. The approach taken in this document is to address the issues
  597. of evaluating systems built of parts in a way that is independent of the
  598. field of trusted database management. This conscious attitude of
  599. generality is intended to make clear the distinction between the larger
  600. system-of-parts issues and the more specific DBMS issues. 
  601.  
  602. PART 1, "TECHNICAL CONTEXT," is divided into six sections. Section TC-2,
  603. "Reference Monitor Perspective," summarizes the role of the reference
  604. monitor concept in both the TCSEC and the assessing of a system for its
  605. trust characteristics. Section TC-3, "Need for Evaluation by Parts," deals
  606. with the need to extend the reference monitor perspective slightly to
  607. begin to address the evaluation of systems constructed of separate parts.
  608. Section TC-4, "TCB Subsets," is the heart of PART 1. That section
  609. introduces a conservative extension to the reference validation mechanism,
  610. TCB subsets. This extension provides the basis for being able to undertake
  611. evaluation of systems built in parts in a way that allows re-use of the
  612. results of separate evaluations (whether those evaluations were performed
  613. before the current evaluation was begun or whether the separate
  614. evaluations overlap in time). Section TC-5, "General Interpreted
  615. Requirements," outlines the application of the TCSEC requirements to
  616. individual TCB subsets when an evaluation by parts is being done. Section
  617. TC-6, "Design Choices" describes the general process of applying TCB
  618. subsets and meeting the conditions for evaluation by parts. The treatment
  619. in this section is general and not limited to DBMSs; DBMS-specific issues
  620. are discussed in the appendices. 
  621.  
  622. TC-2 REFERENCE MONITOR PERSPECTIVE
  623.  
  624. Building or evaluating a system for compliance with the requirements of a
  625. particular class in the TCSEC is based on the perspective of the Trusted
  626. Computing Base (TCB). The notion of the TCB is central to the entire
  627. concept of assessing systems for trust. The reference monitor described in
  628. the Anderson report [1] is the basis of the notion of a TCB, as described
  629. in the TCSEC: 
  630.  
  631. For convenience, these evaluation criteria use the term Trusted Computing
  632. Base to refer to the reference validation mechanism, beit a security
  633. kernel, front-end security filter, or the entire trusted computer system.
  634. [8, p. 67] Even in those lower classes (below B2) where the reference
  635. monitor concept and reference validation mechanisms are not mentioned
  636. explicitly, the perspective of the reference monitor and its
  637. implementation as a reference validation mechanism is present.
  638. Specifically, there are requirements for (1) identifying the policy being
  639. enforced, (2) identifying subjects and objects, (3) providing evidence
  640. that the operation of the reference validation mechanism matches the
  641. high-level description of the user interface, and (4) demonstrating
  642. isolation of the TCB. 
  643.  
  644. Therefore, all TCSEC evaluations share the initial conceptual steps of
  645. identifying the mediation policy, the subjects, and the objects. Starting
  646. from a global system perspective, the initial step is to identify the
  647. access mediation policy that will be enforced. One must then identify
  648. those active system entities that are candidates for being the "subjects"
  649. whose access to objects the TCB will mediate. Similarly, one must identify
  650. those passive entities, those data repositories, that are candidates for
  651. being the "objects," access to which the TCB will mediate. 
  652.  
  653. As usual, the existence of an abstraction within a system does not make it
  654. necessarily a reference-monitor object, i.e., one visible at the TCB
  655. interface. This is because the TCB will make use of system abstractions
  656. for both its internal processes and its storage requirements. Those
  657. entities, while being stored in system "objects," will not be available to
  658. untrusted processes (that is, they are not exported by the TCB). Thus the
  659. analytical, iterative step is the separation of candidate subjects and
  660. objects into those that are mediated by the TCB and those that are not. 
  661.  
  662. The various trust classes include requirements, at varying levels of
  663. completeness and rigor, that the basic reference monitor perspective of
  664. mediating access of subjects to objects be implemented in a correct,
  665. self-protecting, and non-bypassable manner. The core requirements of the
  666. TCSEC classes focus on these reference monitor imperatives. The
  667. increasingly strict requirements for visibility into the system design and
  668. implementation (structure, documentation, testing, configuration, and
  669. distribution requirements) all support the notion of checking the system's
  670. conformance to its identified intent with regard to the subjects, objects,
  671. and policy. 
  672.  
  673. TC-3 NEED FOR EVALUATION BY PARTS
  674.  
  675. The need to be able to evaluate and certify systems built in parts is
  676. increasingly evident. This need is seen in a variety of contexts: 
  677.  
  678. The need to evaluate and certify systems built out of parts sold by
  679. different vendors, a situation especially prevalent in the field of
  680. trusted DBMSs. 
  681.  
  682. The need to re-assess systems that have undergone either small- or
  683. large-scale improvements and are already evaluated and placed on the
  684. Evaluated Products List (EPL). 
  685.  
  686. The general problem of "families of systems," systems that exist on a
  687. spectrum of hardware bases or that can be customized for a user's specific
  688. needs. 
  689.  
  690. In all such cases, two related versions of a system are largely similar.
  691. It should be possible to undertake evaluations and certifications in such
  692. a way that the entire assessment does not have to be re-done for every
  693. slight variation that appears. The current state of technology, however,
  694. places limitations on what can be accomplished in this regard; it is not
  695. currently possible to determine the trust characteristics of a system on
  696. the basis of an arbitrary collection of subparts. The overall task of
  697. trust assessment entails so many interrelated subtasks that the ability to
  698. separate and reassemble is not well understood. 
  699.  
  700. In this circumstance of needing to be able to accommodate evaluation of a
  701. system built in parts and the lack of consensus about how this can be done
  702. in a technically sound fashion, a conservative approach must be adopted.
  703. The following are required: (1) a clear description of what "parts" will
  704. be considered for separate evaluation; (2) a clear description of the
  705. conditions under which such an evaluation by parts will be undertaken; and
  706. (3) a general interpretation of TCSEC requirements as they would apply
  707. when a system is being evaluated by parts. The "parts" that will be
  708. considered by separate evaluation are called "TCB subsets," the topic of
  709. Section TC-4 below. 
  710.  
  711. TC-4 TCB SUBSETS
  712.  
  713. TC-4.1 INTRODUCTION
  714.  
  715. To attempt an evaluation of a TCB by splitting it into parts, there must
  716. be available a precise definition of what parts are candidates for
  717. separate evaluation (that is, for evaluation by parts) as well as any
  718. other conditions that must be satisfied before an evaluation by parts will
  719. be undertaken. This section defines "TCB subset" as a strict and
  720. conservative extension of the traditional concept of the reference
  721. validation mechanism (RVM) as a method of delineating which parts of a TCB
  722. can be candidates for separate evaluation. The definition of TCB subsets,
  723. as well as explanatory and motivational material, is included below in
  724. Section TC-4.2, "TCB Subsets Context." Section TC-4.3 addresses the
  725. conditions that must be satisfied by a TCB divided into a set of TCB
  726. subsets before evaluation by parts will be undertaken. These conditions
  727. assure that the structure of and relationships among TCB subsets will
  728. satisfy TCSEC requirements, especially those derived from the reference
  729. monitor concept. 
  730.  
  731. TC-4.2 TCB SUBSETS CONTEXT
  732.  
  733. TC-4.2.1 DEFINITION OF TCB SUBSETS
  734.  
  735. A TCB subset M is a set of software, firmware, and hardware (where any of
  736. these three could be absent) that mediates the access of a set S of
  737. subjects to a set O of objects on the basis of a stated access control
  738. policy P and satisfies the properties: 
  739.  
  740.      1) M mediates every access to objects in O by subjects in S; 
  741.      2) M is tamper resistant; and 
  742.      3) M is small enough to be subject to analysis and tests, the
  743.      completeness of which can be assured. 
  744.  
  745.      M uses resources provided by an explicit set of more primitive TCB
  746.      subsets to create the objects of O, create and manage its data
  747.      structures, and enforce the policy P. If there are no TCB subsets
  748.      more primitive than M, then M uses only hardware resources to
  749.      instantiate its objects, to create and manage its own data
  750.      structures, and to enforce its policy. 
  751.      The above definition does not explicitly prohibit an access control
  752.      policy P that allows trusted subjects. The implications for the
  753.      evaluation process when a TCB subset's policy allows or does not
  754.      allow such trusted subjects are substantial and are discussed in
  755.      Section TC-6.4. As described in TC-4.3, one of the conditions for an
  756.      evaluation by parts of a TCB made up of TCB subsets is that all the
  757.      trusted subjects of each TCB subset be included in that TCB subset. 
  758.  
  759.  
  760. TC-4.2.2 MOTIVATION
  761.  
  762. The definition of "TCB subset" is intended to parallel the definitions of
  763. the reference monitor and reference validation mechanism found in the
  764. Anderson report [1] and included in the TCSEC itself. "The term Trusted
  765. Computing Base [refers] to the reference validation mechanism, be it
  766. security kernel, front-end security filter, or the entire trusted computer
  767. system." [8, p. 67] "TCB subset" is defined exactly like a reference
  768. validation mechanism, with only one difference, that it does not
  769. necessarily extend to the hardware. Rather, a TCB subset uses either
  770. hardware resources or the resources provided by other, more primitive TCB
  771. subsets. Thus TCB subsets build on abstract machines, either physical
  772. hardware machines or other TCB subsets. Just like reference validation
  773. mechanisms, a TCB subset must enforce a defined access control policy. 
  774.  
  775. TC-4.3 CONDITIONS FOR EVALUATION BY PARTS
  776.  
  777. Building or evaluating a system using the definition of TCB subsets in the
  778. section above requires meeting six conditions in addition to demonstrating
  779. that the candidate TCB subsets satisfy the properties appropriate to the
  780. evaluation target class. The conditions are as follows: 
  781.  
  782. The candidate TCB subsets are identified; 
  783.  
  784. The system policy is allocated to the candidate TCB subsets; 
  785.  
  786. Each candidateTCB subset M[i] includes all the trusted subjects with
  787. respect to its technical policies P[i]; 
  788.  
  789. The TCB subset structure or architecture is explicitly described; 
  790.  
  791. Each TCB subset occupies distinct subset-domains; and 
  792.  
  793. The more primitive TCB subsets provide support for the RVM arguments for
  794. less primitve TCB subsets. 
  795.  
  796. These conditions are described below. 
  797.  
  798. TC-4.3.1 CANDIDATE TCB SUBSETS
  799.  
  800. The first condition is that the relevant elements of each candidate TCB
  801. subset M[i] be identified. The hardware, firmware, and software which
  802. compose the TCB subset need to be clearly identified, along with the
  803. subjects and objects. In terms of Section TC-4.2.1, this condition is the
  804. identification of M[i], S[i], and O[i]. There may be no objects mediated
  805. by more than one TCB subset. That is, there cannot be an object O that is
  806. both in O[i] and O[j]. 
  807.  
  808. TC-4.3.2 POLICY ALLOCATION
  809.  
  810. The next condition is policy allocation, the description of the technical
  811. policy P[i] for each identified M[i] along with the relation of these
  812. policies to the system policy P. The policies P[i] will be expressed in
  813. terms of subjects in S[i] and objects in O[i]. Thus, to satisfy the TCSEC
  814. requirement that the (composite) TCB enforce its stated policy P, each
  815. rule in P must be traceable through the structure of the candidate TCB
  816. subsets to the TCB subset(s) where that enforcement occurs. See Sections
  817. TC-5.2.1.1 and TC-5.2.1.4. 
  818.  
  819. TC-4.3.3 TRUSTED SUBJECTS INCLUDED
  820.  
  821. Every trusted subject with respect to P[i] must be part of the TCB subset
  822. M[i]. This condition makes possible separate evaluation of TCB subsets
  823. with respect to "local" requirements. When this condition is not met,
  824. evaluation of candidate TCB subsets cannot be guaranteed on an evaluation
  825. by parts basis. This situation is treated in Section 6.4. 
  826.  
  827. TC-4.3.4 TCB SUBSET STRUCTURE
  828.  
  829. The TCB subsets will exhibit a structure based on the ordering implied by
  830. dependency. TCB subset A is less primitive than TCB subset B if (a) A
  831. directly depends on B or (b) a chain of TCB subsets from A to B exists
  832. such that each element of the chain directly depends on its successor in
  833. the chain. In this case we use the phrase "TCB subset B is more primitive
  834. than TCB subset A" synonymously. 
  835.  
  836. The sense of "directly depend" in (a) is exactly the following: it is not
  837. possible to verify the implementation of A with respect to its
  838. specification without a statement about the specification of B. 
  839.  
  840. More precisely, for a candidate TCB subset M, let sM denote the
  841. specification of M. The specification will include, as a minimum, the
  842. statement of the technical policy P of M. Further, let vM denote the
  843. (engineering) demonstrations of the correctimplementation of M with
  844. respect to its specification. 
  845.  
  846. A (candidate) TCB subset A depends (for its correctness)" on (candidate)
  847. TCB subset B if and only if the arguments of vA assume, wholly or in part,
  848. that sB has been implemented correctly. (See Appendix B, item 5 for
  849. additional discussion.) 
  850.  
  851. The proposed structure of TCB subsets has to be identified. The order must
  852. be a partial order. (Without a partial order, there could be circular
  853. chains of dependencies that would inhibit separate evaluations of the TCB
  854. subsets.) 
  855.  
  856. TC-4.3.5 SEPARATE SUBSET-DOMAINS
  857.  
  858. The candidate TCB subsets must operate in near isolation from each other,
  859. with the only interaction between them being that explicitly asserted as
  860. part of the interface. In the case of reference monitors, many existing
  861. implementations have relied on the domain concept [23] which supports the
  862. assertions of non-bypassability and self protection. A natural extension
  863. of the domain concept will be required for isolation of TCB subsets from
  864. each other and from non-TCB entities. 
  865.  
  866. A subset-domain is a set of system domains. 
  867.  
  868. Each candidate TCB subset must occupy a distinct subset-domain such that
  869. modify-access to a TCB subset's subset-domain is permitted only to that
  870. TCB subset and (possibly) to more primitive TCB subsets. This requirement
  871. ensures that the structure of subset-domains with respect to access is
  872. consonant with the dependency relation among TCB subsets. 
  873.  
  874. TC-4.3.6 SUPPORT FOR RVM ARGUMENTS
  875.  
  876. Candidate TCB subsets must satisfy the three RVM properties included in
  877. the definition in TC-4.2.1 in order to complete evaluation by parts
  878. successfully. TCB subsets that build on resources and functionality
  879. provided by more primitive TCB subsets must rely on assured and
  880. evaluatable characteristics of those more primitive TCB subsets. A
  881. convincing argument must be advanced that the features, characteristics,
  882. and assurances provided by the more primitive TCB subsets are capable of
  883. supporting RVM arguments for the less primitive TCB subsets. 
  884.  
  885. The first property (mediating every access) requires that there is no way
  886. of bypassing the mediation provided by TCB subset M for its objects,
  887. either directly or by unexpected side-effects of interactions with other
  888. TCB subsets. A variety of approaches could suffice for demonstrating this
  889. property. 
  890.  
  891. The second property (tamper resistance) requires that the policy-critical
  892. code and data for the less primitive TCB subset be protected from any
  893. alteration not specifically allowed by the TCB subset. A variety of
  894. approaches could suffice for demonstrating this property. 
  895.  
  896. The third property (completeness of testing and analysis for correctness)
  897. requires the (engineering) demonstrations vM[i] of the correctnessof each
  898. less primitive candidate TCB subset M[i]. Aconvincing argument must
  899. therefore be advanced that the specifications sM[k] for all of the more
  900. primitive TCB subsets M[k] on which M[i] depends will suffice for
  901. establishing vM[i]. 
  902.  
  903. TC-4.4 EVALUATION ALTERNATIVES
  904.  
  905. As noted earlier, the need to evaluate systems whose elements are
  906. developed separately, possibly by independent developers, results in the
  907. need to define TCB subsets. That is not to say, however, that design by
  908. TCB subsetting and the subsequent evaluation by parts are the only
  909. alternatives. Rather, there are three distinct possibilities. 
  910.  
  911. A system TCB, regardless of any internal structure, may be viewed as a
  912. single entity. In such a case, the evaluation may proceed essentially as
  913. an evaluation against the TCSEC. This case is examined in Section TC-6.2. 
  914.  
  915. A system TCB may be presented as a subsetted architecture composed of a
  916. number of candidate TCB subsets. Given that each of the candidate TCB
  917. subsets satisfies the conditions set forth in Section TC-4.3, an
  918. evaluation by parts is possible. This case is described in Section TC-6.3.
  919.  
  920. It may be possible to satisfy only some of the conditions for evaluation
  921. by parts. This situation might arise when a previously evaluated TCB or
  922. TCB subset is modified to accommodate the policy-enforcing elements of a
  923. new application layer. A special case of this situation is described in
  924. Section TC-6.4. In such cases, depending upon the particulars, it may be
  925. possible to realize some of the savings in evaluation effort. However, no
  926. general statements can be made for these cases. 
  927.  
  928. TC-5 GENERAL INTERPRETED REQUIREMENTS
  929.  
  930. TC-5.1 OVERVIEW
  931.  
  932. This section provides specific interpretations of those TCSEC requirements
  933. that are particularly relevant for subsetted architectures and evaluation
  934. by parts. Its organization is derived from the structure of the TCSEC
  935. requirements. For each relevant TCSEC requirement there is a discussion of
  936. how that requirement is interpreted in an evaluation by parts. 
  937.  
  938. For conciseness, only the requirements headings applicable for A1 systems
  939. are included below. Thus, the interpretation guidance below should be
  940. applied only as demanded by the requirements for the target class of the
  941. candidate trusted system. For a system targeted at an evaluation class
  942. below A1, only those requirements that pertain to the target class apply
  943. to the TCB subsets making up that system. 
  944.  
  945. A listing of the requirements and interpretations by TCSEC class is
  946. presented in Appendix A. The rationale for the applicability of the TCSEC
  947. requirements to TCB subsets alone or to the TCB as an entirety is
  948. described in Appendix B, item 7.] 
  949.  
  950. TC-5.2 DETAILED REQUIREMENTS
  951.  
  952. TC-5.2.1 SECURITY POLICY
  953.  
  954. TC-5.2.1.1 Discretionary Access Control
  955.  
  956. The discretionary access control requirements apply as stated in the TCSEC
  957. to every TCB subset whose policy includes discretionary access control of
  958. its subjects to its objects. Any TCB subset whose policy does not include
  959. such discretionary access control is exempt from this requirement. 
  960.  
  961. TC-5.2.1.2 Object Reuse
  962.  
  963. This requirement applies as stated in the TCSEC to every TCB subset in the
  964. TCB. 
  965.  
  966. TC-5.2.1.3 Labels
  967.  
  968. This requirement applies as stated in the TCSEC to every TCB subset whose
  969. policy includes mandatory access control of its subjects to its objects.
  970. Any TCB subset whose policy does not include such mandatory access control
  971. is exempt from this requirement. 
  972.  
  973. Label Integrity
  974.  
  975. This requirement applies as stated in the TCSEC to every TCB subset whose
  976. policy includes mandatory access control of its subjects to its objects.
  977. Any TCB subset whose policy does not include such mandatory access control
  978. is exempt from this requirement. 
  979.  
  980. Exportation of Labeled Information
  981.  
  982. This requirement applies as stated in the TCSEC to every TCB subset whose
  983. policy includes mandatory access control of its subjects to its objects.
  984. Any TCB subset whose policy does not include such mandatory access control
  985. is exempt from this requirement. 
  986.  
  987. Subject Sensitivity Labels
  988.  
  989. This requirement applies as stated in the TCSEC to the entire TCB. The
  990. cooperative action of the TCB subsets making up the TCB must satisfy the
  991. requirement. 
  992.  
  993. Device Labels
  994.  
  995. This requirement applies as stated in the TCSEC to every TCB subset whose
  996. policy includes mandatory access control of its subjects to its objects
  997. and has attached physical or virtual devices. Any TCB subset whose policy
  998. does not include such mandatory access control or has no attached physical
  999. or virtual devices is exempt from this requirement. This requirement can
  1000. be satisifed by the cooperative action of more than one TCB subset. 
  1001.  
  1002. TC-5.2.1.4 Mandatory Access Control
  1003.  
  1004. This requirement applies as stated in the TCSEC to every TCB subset whose
  1005. policy includes mandatory access control of its subjects to its objects.
  1006. Any TCB subset whose policy does not include such mandatory access control
  1007. is exempt from this requirement. 
  1008.  
  1009. TC-5.2.2 ACCOUNTABILITY
  1010.  
  1011. TC-5.2.2.1 Identification and Authentication
  1012.  
  1013. This requirement applies as stated in the TCSEC to the entire TCB. The
  1014. cooperative action of the TCB subsets making up the TCB must satisfy the
  1015. requirement. 
  1016.  
  1017. If the TCB is composed of TCB subsets, one TCB subset may either rely on a
  1018. mechanism in another TCB subset to provide identification and
  1019. authentication services or provide the services directly. Similarly, that
  1020. TCB subset may rely on a mechanism in another more primitive TCB subset to
  1021. ensure that the security level of subjects external to the TCB that may be
  1022. created to act on behalf of the individual user are dominated by the
  1023. clearance and authorization of that user. Each TCB subset may maintain its
  1024. own identification and authentication data or one central repository may
  1025. be maintained. If each TCB subset has its own data, then the information
  1026. for each individual user must be consistent among all subsets. 
  1027.  
  1028. Trusted Path
  1029.  
  1030. This requirement applies as stated in the TCSEC to the entire TCB. The
  1031. cooperative action of the TCB subsets making up the TCB must satisfy the
  1032. requirement. 
  1033.  
  1034. When TCB subsets are used, the requirement for trusted path at levels B2
  1035. and above remains applicable to the entire TCB. The need for trusted path
  1036. "when positive TCB-to-user connection is required (e.g., login, change
  1037. subject security level)" can require user interaction with virtually any
  1038. TCB subset within the TCB. The implementation of trusted path could be
  1039. localized in a single TCB subset. Alternatively, it could be implemented
  1040. in more than one TCB subset if the separate implementations together
  1041. comply with the system security policy. 
  1042.  
  1043. TC-5.2.2.2 Audit
  1044.  
  1045. This requirement applies as stated in the TCSEC to the entire TCB. The
  1046. cooperative action of the TCB subsets making up the TCB must satisfy the
  1047. requirement. 
  1048.  
  1049. A TCB subset may maintain its own security audit log, distinct from that
  1050. maintained by more primitive TCB subsets, or it may use an audit interface
  1051. provided by a different TCB subset allowing the audit records it generates
  1052. to be processed by that TCB subset. 
  1053.  
  1054. If the TCB subset uses different user identifications than a more
  1055. primitive TCB subset, there shall be a means to associate audit records
  1056. generated by different TCB subsets for the same individual with each
  1057. other, either at the time they are generated or later. 
  1058.  
  1059. Any TCB subset wherein events may occur that require notification of the
  1060. security administrator 
  1061.  
  1062. shall be able to do the following: (1) detect the occurrence of these
  1063. events, (2) initiate the recording of the audit trail entry, and (3)
  1064. initiate the notification of the security administrator. The ability to
  1065. terminate events (2) and (3) above may be provided either in the TCB
  1066. subset within which they occur, or in the TCB subset(s) where actions that
  1067. lead to the event were initiated. 
  1068.  
  1069. The monitoring and notification requirements may require cooperation
  1070. between multiple distinct TCB subsets or multiple instantiations of the
  1071. same TCB subset. For example, to detect the accumulation of events for a
  1072. single user it may be necessary to collect events from several subjects in
  1073. distinct processes that are surrogates for the same user. As another
  1074. example, there may be a single TCB subset that collects events from a
  1075. number of other TCB subset instantiations and, based on its analysis of
  1076. them, notifies the security administrator. 
  1077.  
  1078. TC-5.2.3 ASSURANCE
  1079.  
  1080. TC-5.2.3.1 Operational Assurance
  1081.  
  1082. System Architecture
  1083.  
  1084. This requirement applies as stated in the TCSEC to every TCB subset, with
  1085. the following 
  1086.  
  1087. additional interpretations.The TCB must provide domains for execution that
  1088. are allocated to and used by TCB subsets according to the subset-domain
  1089. condition for evaluation by parts. A most primitive TCB subset must
  1090. provide domains for execution. A less primitive TCB subset must make use
  1091. of domains provided by a more primitive TCB subset. A less primitive TCB
  1092. subset may provide further execution domains but is not required to do so.
  1093.  
  1094. Similarly, the TCB must provide distinct address spaces for untrusted
  1095. processes. A most primitive TCB subset must provide distinct address
  1096. spaces for its subjects. A less primitive TCB subset must make use of the
  1097. distinct address space provided by a more primitive TCB subset. A less
  1098. primitive TCB subset may provide more fine-grained distinct address
  1099. spaces, but is not required to do so. 
  1100.  
  1101. In general, requirements specifically referring to hardware or firmware
  1102. apply only to TCB subsets that include hardware or firmware. The exception
  1103. is the requirement that the TCB make effective use of available hardware.
  1104. This requirement applies to those TCB subsets that use resources provided
  1105. by more primitive TCB subsets in lieu of hardware. Those TCB subsets are
  1106. required to make effective use of the protection-relevant features
  1107. exported to it by the more primitive TCB subsets (e.g., execution domains,
  1108. support for distinct address spaces) to separate those elements that are
  1109. protection-critical from those that are not. 
  1110.  
  1111. System Integrity
  1112.  
  1113. This requirement applies as stated in the TCSEC to every TCB subset that
  1114. includes hardware or firmware. Any TCB subset that does not include
  1115. hardware or firmware is exempt from this requirement. 
  1116.  
  1117. Covert Channel Analysis
  1118.  
  1119. This requirement applies as stated in the TCSEC to the entire TCB. When
  1120. the TCB is made up entirely of TCB subsets meeting the conditions for
  1121. evaluation by parts, analysis of the individual TCB subsets satisfies this
  1122. requirement. Otherwise, covert channel analysis of the entire TCB must be
  1123. performed (even if the results of covert channel analysis of the
  1124. individual TCB subsets were available). 
  1125.  
  1126. Trusted Facility Management
  1127.  
  1128. This requirement applies as stated in the TCSEC to the entire TCB. Any
  1129. "operator" or "administrator" functions intrinsic to an individual TCB
  1130. subset must be supported by that TCB subset or by a more primitive TCB
  1131. subset. 
  1132.  
  1133. Trusted Recovery
  1134.  
  1135. This requirement applies as stated in the TCSEC to the entire TCB and to
  1136. the individual TCB subsets. The cooperative recovery actions of the TCB
  1137. subsets making up the TCB must provide trusted recovery for the overall
  1138. TCB. Otherwise, trusted recovery evaluation must address the entire TCB
  1139. (even if the individual TCB subsets meet the trusted recovery
  1140. requirements). 
  1141.  
  1142. TC-5.2.3.2 Life-Cycle Assurance
  1143.  
  1144. Security Testing
  1145.  
  1146. This requirement applies as stated in the TCSEC to the entire TCB. If a
  1147. TCB consists of TCB subsets meeting the conditions for evaluation by
  1148. parts, the satisfaction of the requirements by each TCB subset satisfies
  1149. the requirement for the entire TCB. Otherwise, security testing of the
  1150. entire TCB must be performed (even if the results of testing the
  1151. individual TCB subsets were available). 
  1152.  
  1153. Design Specification and Verification
  1154.  
  1155. This requirement applies as stated in the TCSEC to every TCB subset, with
  1156. the following specific additional interpretations. It must be demonstrated
  1157. that the securitypolicy enforced by the composite TCB is represented by
  1158. the collection of policy models for the individual TCB subsets. 
  1159.  
  1160. The argument that the descriptive top level specification (DTLS) and
  1161. formal top level specification (FTLS) are consistent with the TCB
  1162. interface applies to the entire TCB. There is required an explicit and
  1163. convincing description of how the set of top level specifications (one for
  1164. each TCB subset) describes the TCB interface in terms of exceptions,
  1165. errors, and effects. 
  1166.  
  1167. Configuration Management
  1168.  
  1169. This requirement applies as stated in the TCSEC to every TCB subset in the
  1170. TCB, with the following additional interpretation. 
  1171.  
  1172. Because subsets of the TCB may be developed independently, a single
  1173. configuration management system may not be feasible. However, the
  1174. combination of configuration management systems used to support all the
  1175. TCB subsets must meet all the stated requirements. The information
  1176. describing the interrelations between separate TCB subsets and separate
  1177. security policy models falls into the category of "all documentation and
  1178. code associated with the current version of the TCB" in the TCSEC
  1179. requirements. 
  1180.  
  1181. Trusted Distribution
  1182.  
  1183. This requirement applies as stated in the TCSEC to the entire TCB. It can
  1184. be met by satisfying the requirements for each TCB subset if procedures
  1185. exist for assuring that all TCB subsets upon which a particular TCB subset
  1186. depends (that is, the more primitive TCB subsets) are exactly the same
  1187. version as specified for the TCB subset in question. 
  1188.  
  1189. TC-5.2.4 DOCUMENTATION
  1190.  
  1191. TC-5.2.4.1 DOCUMENTATION
  1192.  
  1193. This requirement applies as stated in the TCSEC to every TCB subset in the
  1194. TCB. This collection of guides must include descriptions of every TCB
  1195. subset in the TCB and explicit cross-references to other related user's
  1196. guides to other TCB subsets, as required. In addition, interactions
  1197. between mechanisms within different TCB subsets must be clearly described.
  1198.  
  1199. TC-5.2.4.2 Trusted Facility Manual
  1200.  
  1201. This requirement applies as stated in the TCSEC to the TCB and to every
  1202. TCB subset in the TCB. 
  1203.  
  1204. This requirement can be met by providing a set of manuals, one for each
  1205. distinct (non-replicated) TCB subset. Each manual shall address the
  1206. functions and privileges to be controlled for the associated TCB subset.
  1207. Additionally, it must clearly show the interfaces to, and the interaction
  1208. with, more primitive TCB subsets. The manual for each TCB subset shall
  1209. identify the functions and privileges of the TCB subsets on which the
  1210. associated TCB subset depends. Also, the TCB subset's manual shall
  1211. identify which, if any, configuration options of the more primitive TCB
  1212. subsets are to be used for the composite TCB to operate securely. 
  1213.  
  1214. Any pre-defined roles supported (e.g., database administrator) by the TCB
  1215. subset shall be addressed. 
  1216.  
  1217. The means for correlating multiple audit logs and synonymous user
  1218. identifications from multiple TCB subsets (if such exist) shall also be
  1219. addressed. The trusted facility manual shall describe the composite TCB so
  1220. that the interactions among the TCB subsets can be readily determined.
  1221. Other manuals may be referenced in this determination. The manuals that
  1222. address the distinct modules of the TCB and the generation of the TCB need
  1223. to be integrated with the other trusted facility manuals only to the
  1224. extent that they are affected by the use and operation (versus the
  1225. development) of the composite TCB. 
  1226.  
  1227. The TCB modules that contain the reference validation mechanism must be
  1228. associated with the TCB subset to which they belong. The procedure for
  1229. generating a new TCB after modifying only one (or several) TCB subsets
  1230. must be described. This may be accommodated by independent regeneration of
  1231. the individual TCB subsets or by regeneration of only the affected TCB
  1232. subsets. 
  1233.  
  1234. TC-5.2.4.3 Test Documentation
  1235.  
  1236. This requirement applies as stated in the TCSEC to the composite TCB. 
  1237.  
  1238. TC-5.2.4.4 Design Documentation
  1239.  
  1240. This requirement applies as stated in the TCSEC to the composite TCB, with
  1241. the following specific additional interpretations: 
  1242.  
  1243. Requirements concerning models, FTLS and DTLS, apply to individual TCB
  1244. subsets. 
  1245.  
  1246. The requirement concerning the description of interfaces between modules
  1247. of the TCB includes the interfaces between TCB subsets. 
  1248.  
  1249. The documentation of the implementation of a reference validation
  1250. mechanism must include justification for meeting the conditions for
  1251. evaluation by parts. 
  1252.  
  1253. The A1 requirement to describe clearly non-FTLS internals of the TCB
  1254. applies to TCB subsets. 
  1255.  
  1256. TC-5.3 SUMMARY OF THE REQUIREMENTS
  1257.  
  1258. The requirements interpretations in Section TC-5.2 above can be grouped
  1259. into two categories: those that apply to individual TCB subsets and those
  1260. that apply totally or in part to the overall TCB. For purposes of
  1261. exposition, the former category will be termed "local requirements," that
  1262. is, those for which separate analysis of the individual TCB subsets
  1263. suffices to determine compliance for the composite TCB. The latter are
  1264. termed "global requirements," that is, those which require analysis of the
  1265. entire system and for which separate analysis of the individual TCB
  1266. subsets does not suffice. 
  1267.  
  1268. TC-5.3.1 LOCAL REQUIREMENTS
  1269.  
  1270.      Discretionary Access Control; 
  1271.      Object Reuse; 
  1272.      Labels (except Subject Sensitivity Labels); 
  1273.      Mandatory Access Control; 
  1274.      System Architecture (except domains for 
  1275.  
  1276. execution and distinct address spaces); 
  1277.  
  1278.      System Integrity; 
  1279.      Configuration Management; 
  1280.      Security Features User's Guide; 
  1281.      Design Documentation 
  1282.      models, 
  1283.      DTLSs, 
  1284.      FTLSs, and 
  1285.      non-FTLS internals. 
  1286.  
  1287. TC-5.3.2 GLOBAL REQUIREMENTS
  1288.  
  1289. Subject Sensitivity Labels; 
  1290.  
  1291. Identification and Authentication; 
  1292.  
  1293. Trusted Path; 
  1294.  
  1295. Audit; 
  1296.  
  1297. System Architecture domains for execution, and distinct address spaces; 
  1298.  
  1299. Covert Channel Analysis; 
  1300.  
  1301. Trusted Facility Management; 
  1302.  
  1303. Trusted Recovery (also applies to 
  1304.  
  1305. individual TCB subsets); Security Testing; Design Specification and
  1306. Verification correspondence between system policy and the set of TCB
  1307. subset models consistency of TCB interface with the 
  1308.  
  1309. set of TCB subset DTLSs, and consistency ofTCB interface with the set of
  1310. TCB subset FTLSs; Trusted Distribution; Trusted Facility Manual (also
  1311. applies to individual TCB subsets); 
  1312.  
  1313. Test Documentation; and Design Documentation (except models, DTLSs, FTLSs,
  1314. and non-FTLS internals). 
  1315.  
  1316. TC-6 DESIGN CHOICE
  1317.  
  1318. TC-6.1 OVERVIEW
  1319.  
  1320. This section examines the several design choices available for
  1321. constructing systems in parts and the consequences of each when attempting
  1322. to perform an evaluation by parts. The first case described is that of a
  1323. TCB evaluated under the TCSEC without benefit of TCB subset structuring.
  1324. This case is of value for several reasons: it serves as a reference point;
  1325. it can be considered the degenerate case of subsetting; and it is always
  1326. an option to evaluate any TCB, regardless of internal structure, as a
  1327. monolith. The second and third cases are presented in terms of a 
  1328.  
  1329. configuration of exactly two subsets; the 
  1330.  
  1331. generalization to more than two TCB subsets is 
  1332.  
  1333. straightforward. The second case is that of a 
  1334.  
  1335. subsetted architecture that exactly satisfies the 
  1336.  
  1337. conditions for evaluation by parts. The third case represents a special
  1338. case of an altered TCB, one which is implemented using trusted subjects. 
  1339.  
  1340. Note that no evaluation using TCB subsets and evaluation by parts results
  1341. in a TCB subset receiving an evaluation rating. Rather, the entire system,
  1342. with its composite TCB, is evaluated and receives a rating. 
  1343.  
  1344. However, evaluation by parts is intended to allow the 
  1345.  
  1346. results of local analysis of individual TCB subsets to be distinguishable
  1347. and separately referencable. For further discussion of this topic, see
  1348. Appendix B, item 10. 
  1349.  
  1350. TC-6.2 A SINGLE TCB SUBSET
  1351.  
  1352. The evaluation of a TCB consisting of a single TCB subset is equivalent to
  1353. a straightforward evaluation against the TCSEC. The conditions for
  1354. evaluation by parts (Section TC-4.3) reduce to requirements found in the
  1355. TCSEC itself. 
  1356.  
  1357. TC-6.2.1 ANALYSIS OF THE CONDITIONS
  1358.  
  1359. TC-6.2.1.1 Condition 1: Candidate TCB Subsets
  1360.  
  1361. The TCB (hardware, software, and firmware), as distinguished from the rest
  1362. of the computing system, must be identified. This is a basic requirement
  1363. for TCSEC evaluation. Similarly, the subjects and objects within the
  1364. system must be identified. The requirement that no more than one TCB
  1365. subset mediate access to any particular object is satisfied, because there
  1366. is only one TCB subset. 
  1367.  
  1368. TC-6.2.1.2 Condition 2: Policy Allocation
  1369.  
  1370. The policy P enforced by the TCB (subset) must be identified. The
  1371. demonstration that the TCB (subset) enforces that policy will be a
  1372. description of how the TCB performs access mediation between the system's
  1373. subjects and objects according a system-level description of limitations
  1374. on access (the technical policy P[i] of the definition). The tracing of
  1375. the policy to the system design and behavior is part of the stated TCSEC
  1376. requirements. 
  1377.  
  1378. TC-6.2.1.3 Condition 3: Trusted Subjects Included 
  1379.  
  1380. This condition is satisfied in the same manner as it is in evaluations
  1381. under the TCSEC. Specifically, the TCB boundary is shown to be the
  1382. interface that is presented to untrusted subjects. 
  1383.  
  1384. TC-6.2.1.4 Condition 4: TCB Subset Structure
  1385.  
  1386. Satisfaction of this condition (TC-4.3.4) is immediate, because there is
  1387. only one TCB subset. 
  1388.  
  1389. TC-6.2.1.5 Condition 5: Separate Subset-Domains 
  1390.  
  1391. Satisfaction of the separate subset-domain condition (TC-4.3.5) is
  1392. identical to the C1 through A1 requirement that "the TCB maintain a domain
  1393. for its own execution that protects it from external interference or
  1394. tampering." [8, p. 13 et al.] 
  1395.  
  1396. TC-6.2.1.6 Condition 6: Support for RVM Arguments 
  1397.  
  1398. Satisfaction of this condition (TC-4.3.6) is immediate, inasmuch as there
  1399. are no less primitive TCB subsets that must be demonstrated to satisfy RVM
  1400. requirements. 
  1401.  
  1402. TC-6.2.2 EVALUATION S CONSEQUENCE
  1403.  
  1404. In this case, the evaluation of the (single) TCB subset proceeds exactly
  1405. like an evaluation under the TCSEC. Demonstration that the candidate
  1406. system meets all the global and local requirements (as they apply to the
  1407. target evaluation class) includes the consideration of each requirement as
  1408. it applies system's philosophy of protection, design, documentation, and
  1409. implementation. The system must be shown to exhibit the properties of a
  1410. reference validation mechanism, appropriate to the target class. 
  1411.  
  1412. TC-6.3 TWO TCB SUBSETS, MEETING THE CONDITIONS
  1413.  
  1414. This case is of a TCB that consists of two candidate TCB subsets, A and B,
  1415. where A is the most primitive TCB subset. That is, B uses the abstractions
  1416. provided by A (the objects, in particular) as its resource for the
  1417. construction and exportation of its own abstractions. B also uses the
  1418. abstractions provided by A for its metadata (that is, internal data
  1419. structures) that make it possible for B to instantiate its exported
  1420. abstractions as well as keep records that enable it to correctly enforce
  1421. its stated policy. In terms of the discussion of Section TC-4.3.4, TCB
  1422. subset B directly depends on TCB subset A. It will be assumed that TCB
  1423. subset A enforces mandatory and discretionary policies on its objects and
  1424. that TCB subset B enforces a discretionary policy on the objects it
  1425. exports. Additionally, all trusted subjects of A are contained within A.
  1426. Thus, every subject of A (including all the active entities that make up
  1427. the logic of B) operates at a single sensitivity level. It will further be
  1428. assumed for th is example that the mechanisms for domains and thus for
  1429. subset-domains are independent of the mandatory and discretionary access
  1430. control policy enforcement mechanisms. 
  1431.  
  1432. TC-6.3.1 ANALYSIS OF THE CONDITIONS
  1433.  
  1434. TC-6.3.1.1 Condition 1: Candidate TCB subsets
  1435.  
  1436. The TCB (hardware, software, and firmware), as distinguished from the rest
  1437. of the computing system, must be identified. This is a basic requirement
  1438. for TCSEC evaluation. Similarly, the subjects and objects within the
  1439. system must be identified. 
  1440.  
  1441. In this case, all the hardware, software, and firmware that make up the
  1442. TCB must be identified as being part of either TCB subset A or TCB subset
  1443. B. The subjects and objects mediated by A (call them the "A-subjects" and
  1444. "A-objects" for this discussion) must be identified. Similarly the
  1445. B-subjects and B-objects must also be identified. 
  1446.  
  1447. The additional requirement in Section TC-4.3.1 that "there may not be any
  1448. objects mediated by more than one TCB subset" means that there can be no
  1449. B-object that is also an A-object. 
  1450.  
  1451. TC-6.3.1.2 Condition 2: Policy Allocation
  1452.  
  1453. The policy P enforced by the whole TCB must be identified. In addition,
  1454. the policy enforced by A (call it the A-policy), stated in terms of the
  1455. A-subjects and the A-objects, must be identified. Similarly, the B-policy,
  1456. stated in terms of the B-subjects and the B-objects, must be identified. 
  1457.  
  1458. TC-6.3.1.3 Condition 3: Trusted Subjects included
  1459.  
  1460. As was stated above, TCB Subset A contains all its own trusted subjects.
  1461. There may be trusted subjects with respect to the policy of A, but all
  1462. such subjects execute in the subset-domain of A. 
  1463.  
  1464. TC-6.3.1.4 Condition 4: TCB Subset Structure
  1465.  
  1466. Because B directly uses the A-objects and its logic is embodied in
  1467. A-subjects, the structure of the TCB subsets is precisely "TCB subset A is
  1468. more primitive than TCB subset B." This is a partial order. 
  1469.  
  1470. TC-6.3.1.5 Condition 5: Separate Subset-Domains 
  1471.  
  1472. Satisfaction of the separate subset-domain condition requires that a set
  1473. of domains provided by the system be identified as being the domains
  1474. "occupied" by A and B. The domain, or domains, occupied by A is exactly
  1475. the "domain for its own execution" found in the TCSEC requirements. The
  1476. domain or domains occupied by TCB subset B must not be modifiable by any
  1477. code or other system entity except possibly by TCB subset A. 
  1478.  
  1479. TC-6.3.1.6 Condition 6: Support for RVM Arguments
  1480.  
  1481. Satisfying the condition for RVM arguments requires demonstrating the
  1482. plausibility of being able to establish the three requisite properties of
  1483. an RVM. The first property requires that no B-subject be allowed to access
  1484. B-objects without those accesses being mediated by TCB subset B. The
  1485. tamper resistance property requires that TCB subset A provide a way that
  1486. TCB subset B can be designed and implemented such that A-subjects that are
  1487. not part of B's implementation cannot tamper with B's policy-critical code
  1488. or data. The third RVM property must be satisfied by the individual TCB
  1489. subsets. The degree to which each TCB subset must satisfy this property is
  1490. commensurate with the evaluation class of the TCB. 
  1491.  
  1492. TC-6.3.2 EVALUATION CONSEQUENCES
  1493.  
  1494. In this case, the evaluation of the two TCB subsets requires that each
  1495. meet TCSEC requirements applicable to each TCB subset viewed individually
  1496. and that the two TCB subsets combine in a way to meet all the TCSEC
  1497. requirements stated for the target class. 
  1498.  
  1499. All local requirements are imposed on the two TCB subsets, A and B,
  1500. individually. If each TCB subset can meet the requirements of the target
  1501. class, viewed as if it were a separate TCB, the only areas where
  1502. additional evaluation or accreditation work might be required are those
  1503. areas where the sum of the analysis of the parts is not necessarily
  1504. complete and convincing. Those areas requiring additional work are exactly
  1505. the set of global requirements described in Section TC-5.3.2. 
  1506.  
  1507. Demonstrating that the candidate system meets the TCSEC requirements (as
  1508. they apply to the target evaluation class) requires that both A and B be
  1509. evaluated with respect to the local requirements of the target class and
  1510. that the composite TCB be evaluated for global requirements. In this case,
  1511. full testing of TCB subset A against all the requirements (both local and
  1512. global) simplifies the task of demonstrating satisfaction of the global
  1513. requirements, both for B and for the entire TCB. 
  1514.  
  1515. Suppose, for example, that TCB subset A has been subjected to security
  1516. testing appropriate to the target class and has been shown to be
  1517. adequately resistant to penetration attacks. This means that within the
  1518. confidence level provided by the testing requirement, no A-subject can
  1519. subvert A's enforcement of its policy. In this situation, every active
  1520. entity in B is an A-subject and hence B can neither penetrate A nor be
  1521. induced to do so by any B-subject. Thus, no further testing of A will be
  1522. required to determine whether the entire TCB is resistant to penetration;
  1523. any additional penetration testing can be limited to determining the
  1524. ability of B to withstand assault. 
  1525.  
  1526. Similarly, if A has been searched for covert channels (as required for its
  1527. target class requirements), then no further search for covert channels
  1528. will be required, either in the analysis of B or in the overall
  1529. consideration of the entire TCB. Note that if B implements a mandatory
  1530. access control policy (e.g., integrity), then it would be necessary to
  1531. perform a covert channel analysis on B, but no further covert channel
  1532. analysis of A would be required. 
  1533.  
  1534. The ability of users to determine the current sensitivity level of
  1535. B-subjects operating on their behalf will have to be shown by considering
  1536. the TCB subsets A and B together. This requirement is satisfied
  1537. immediately if the argument relies exclusively on A meeting the
  1538. requirement. 
  1539.  
  1540. TC-6.4 TWO TCB SUBSETS, NOT MEETING THE CONDITIONS
  1541.  
  1542. This case also concerns a TCB that consists of two candidate TCB subsets,
  1543. C and D. C is the most primitive TCB subset. That is, D uses the
  1544. abstractions provided by C (the objects, in particular) as its resource
  1545. for the construction and exportation of its own abstractions. D also uses
  1546. the abstractions provided by C for its metadata (that is, internal data
  1547. structures) that make it possible for D to instantiate its exported
  1548. abstractions as well as keep records that enable it to correctly enforce
  1549. its stated policy. In terms of the discussion of Section TC-4.3.4, TCB
  1550. subset D directly depends on TCB subset C. Additionally, D is trusted with
  1551. respect to C. That is, some of the C-subjects which make up TCB subset D
  1552. execute as trusted processes of C. Here also, as in the previous example,
  1553. it is assumed that C implements mandatory and discretionary policies over
  1554. its objects. Further, the intent of D is to implement a discretionary
  1555. policy over the objects it exports. However, because D includes subjects
  1556. which are trusted relative to C's policy demonstration of the full and
  1557. correct enforcement of the mandatory policy requires analysis of both C
  1558. and D and is no longer localized to TCB subset C. It will be assumed that
  1559. the mechanisms for domains and thus for subset-domains are independent of
  1560. the mandatory and discretionary access control policy enforcement
  1561. mechanisms. 
  1562.  
  1563. This case can be viewed as a special case of a previously evaluated TCB
  1564. which has been altered. However, the alteration takes the form of a less
  1565. primitive subset which is implemented, at least in part, with trusted
  1566. subjects (i.e., some of the C-subjects are trusted subjects which execute
  1567. in the subset-domain of D). Although this case may appear, intuitively, to
  1568. be different from that of arbitrary alteration of a previously evaluated
  1569. TCB, the example demonstrates that such an approach makes it impossible to
  1570. perform an evaluation by parts. 
  1571.  
  1572. TC-6.4.1 ANALYSIS OF THE CONDITIONS
  1573.  
  1574. TC-6.4.1.1 Condition 1: Candidate TCB Subsets 
  1575.  
  1576. The identification of the TCB (hardware, software, and firmware) as
  1577. distinguished from the rest of the computing system is a basic requirement
  1578. for TCSEC evaluation. Likewise, the subjects and objects within the system
  1579. must be identified. 
  1580.  
  1581. In this case, all the hardware, software, and firmware that make up the
  1582. TCB must be identified as being part of either TCB subset C or TCB subset
  1583. D. The C-subjects and C-objects mediated by C have to be identified.
  1584. Similarly the D-subjects and D-objects must also be identified. 
  1585.  
  1586. The additional requirement in Section TC-4.3.1 that "there may not be any
  1587. objects mediated by more than one TCB subset" means there can be no
  1588. D-object that is also a C-object. 
  1589.  
  1590. TC-6.4.1.2 Condition 2: Policy Allocation
  1591.  
  1592. The policy P enforced by the whole TCB must be identified. In addition,
  1593. the individual policy enforced by C (call it the C-policy) must be
  1594. identified in terms of the C-subjects and the C-objects. Similarly, the
  1595. D-policy, stated in terms of theD-subjects and the D-objects, must be
  1596. stated. In this case, the C-policy will include the strict enforcement of
  1597. a mandatory access control policy that allows trusted subjects to execute
  1598. in the subset-domains which compose TCB subset D. 
  1599.  
  1600. TC-6.4.1.3 Condition 3: Trusted Subjects 
  1601.  
  1602. Included This condition is not satisfied because D includes at least one
  1603. subject that is trusted with respect to C. Hence a subject that is trusted
  1604. with respect to the policy of C is outside C, and evaluation by parts is
  1605. not an option. If TCB subset C had previously been evaluated, then this is
  1606. an example of an altered TCB, albeit a special case. The change consists
  1607. of the addition of one or more trusted C-subjects in D whose effect on the
  1608. behavior of C cannot be predicted a priori. An assessment of the impact of
  1609. D on the behavior of C cannot be made strictly by an examination of the
  1610. trusted subjects and the definition of C's interface. A global assessment
  1611. of C and D is required. 
  1612.  
  1613. TC-6.4.1.4 Condition 4: TCB Subset Structure
  1614.  
  1615. Because D directly uses the C-objects and its logic is embodied in
  1616. C-subjects, the structure of the TCB subsets is precisely "TCB subset C is
  1617. more primitive than TCB subset D." This is a partial order. 
  1618.  
  1619. TC-6.4.1.5 Condition 5: Separate Subset-Domains 
  1620.  
  1621. Satisfying the separate subset-domain condition (TC-4.3.5) requires
  1622. identifying the set of system domains (likely administered by the most
  1623. primitive TCB subset C) as the domains "occupied" by C and D. The domain,
  1624. or domains, occupied by C is exactly the "domain for its own execution"
  1625. found in the TCSEC requirements. The domain or domains occupied by TCB
  1626. subset D must not be modifiable by any code or other system entity except
  1627. possibly by a part of TCB subset C. 
  1628.  
  1629. TC-6.4.1.6 Condition 6: Support for RVM Arguments
  1630.  
  1631. Satisfying the condition for RVM arguments requires demonstrating the
  1632. plausibility of being able to establish the three requisite properties of
  1633. an RVM. The first property requires that no B-subject be allowed to access
  1634. B-objects without those accesses being mediated by TCB subset B. The
  1635. tamper resistance property requires that TCB subset A provide a way that
  1636. TCB subset B can be designed and implemented such that A-subjects that are
  1637. not part of B's implementation cannot tamper with B's policy-critical code
  1638. or data. The third RVM property must be satisfied by the individual TCB
  1639. subsets. The degree to which each TCB subset must satisfy this property is
  1640. commensurate with the evaluation class of the TCB. 
  1641.  
  1642. TC-6.4.2 EVALUATION CONSEQUENCES
  1643.  
  1644. In this example, the conditions for evaluation by parts are not satisfied
  1645. and thus, thef ull potential for savings in evaluation effort cannot, in
  1646. general, be realized. A clear option in such cases is to view the system
  1647. as a monolithic TCB and proceed accordingly. However, because this case
  1648. represents an example of an altered TCB, it admits of a wide spectrum of
  1649. specific sub-cases. Thus, if the analysis of the system proceeds in
  1650. parallel to that required for evaluation by parts it may be possible, in
  1651. special cases, to identify elements of the analysis of the more primitive
  1652. candidate TCB subset which can be successfully argued to be unaffected by
  1653. the alterations. Some evaluation effort, often significant, can be saved,
  1654. but unlike evaluation by parts, how much can only be estimated by
  1655. consideration of the implementation specifics. For example, in this
  1656. specific case, the local analysis of TCB subset C represents a reasonable
  1657. candidate for analysis that need not be redone. 
  1658.  
  1659. TC-6.5 SUMMARY
  1660.  
  1661. The three cases described above illustrate the effects of various TCB
  1662. subsetting situations as they relate to the evaluation requirements. A
  1663. monolithic evaluation proceeds exactly as described in the TCSEC, with
  1664. requirements being applied to the entire TCB. When all the conditions for
  1665. evaluation by parts are satisfied, considerable savings in evaluation
  1666. effort are realized. The evaluation of a new system configuration that
  1667. includes exactly the same TCB subset that was previously evaluated (such
  1668. as the TCB subsets A and B in the Section TC-6.3) is limited to (a) local
  1669. analysis of the individual TCB subsets (by reference to earlier analysis,
  1670. if available) and (b) a simpler global analysis, because each TCB subset
  1671. is an exact analog of a TCB. 
  1672.  
  1673. When the conditions for evaluation by parts are not satisfied, no general
  1674. statements can be made about the factorability of analysis or the
  1675. reusability of previous analysis. The extent to which previous evaluation
  1676. evidence and results remain valid can be determined only on a case-by-case
  1677. basis. 
  1678.  
  1679. PART 2 INTERPRETED REQUIREMENTS
  1680.  
  1681. IR-1 OVERVIEW AND CONTEXT
  1682.  
  1683. Part 2, "INTERPRETED REQUIREMENTS," provides specific interpretations of
  1684. those TCSEC requirements which are deemed to be either DBMS-specific (or,
  1685. more generally, application-specific) or particularly relevant to DBMSs.
  1686. All of the requirements in the TCSEC apply in any case. 
  1687.  
  1688. For the topics included below, the interpretations provide clarification
  1689. of the TCSEC requirements. As is the case for the TCSEC, the interpreted
  1690. requirements at any class include those specified for that class in
  1691. addition to interpretations for lower classes that have not been
  1692. superseded or altered. 
  1693.  
  1694. Section IR-2 presents an overall summary of the TCSEC requirements, as
  1695. interpreted in the more detailed sections that follow. Sections IR-3
  1696. through IR-7 address individual requirements interpretations for labels,
  1697. audit, system architecture, design specification and verification, and
  1698. design documentation, respectively. The format is an initial discussion of
  1699. the topic in general, followed by specific requirements and
  1700. interpretations that apply to database management systems. A listing of
  1701. the requirements and interpretations organized by TCSEC class is presented
  1702. in Appendix A. 
  1703.  
  1704. IR-2 SUMMARY OF THE INTERPRETATIONS
  1705.  
  1706. This section provides specific interpretations of those TCSEC requirements
  1707. that are particularly relevant for subsetted architectures and evaluation
  1708. by parts. Its organization is derived from the structure of the TCSEC
  1709. requirements. For each relevant TCSEC requirement there is a discussion of
  1710. how that requirement is interpreted for a DBMS. 
  1711.  
  1712. IR-2.1 SECURITY POLICY
  1713.  
  1714. IR-2.1.1 DISCRETIONARY ACCESS CONTROL
  1715.  
  1716. The requirement for discretionary access control is not changed in the
  1717. context of this document and therefore applies as stated in the TCSEC. 
  1718.  
  1719. IR-2.1.2 OBJECT REUSE
  1720.  
  1721. The requirement for object reuse is not changed in the context of this
  1722. document and therefore applies as stated in the TCSEC. 
  1723.  
  1724. IR-2.1.3 LABELS
  1725.  
  1726. The requirement for labels is treated in Section IR-3 of this document. 
  1727.  
  1728. IR-2.1.4 MANDATORY ACCESS CONTROL
  1729.  
  1730. The requirement for mandatory access control is not changed in the context
  1731. of this document and therefore applies as stated in the TCSEC. However,
  1732. there are several subtle ramifications of this requirement of which a
  1733. developer or evaluator should be aware. A brief discussion can be found in
  1734. Appendix B, item 8, "Content-Dependent and Context-Dependent Access
  1735. Control." 
  1736.  
  1737. IR-2.2 ACCOUNTABILITY
  1738.  
  1739. IR-2.2.1 IDENTIFICATION AND AUTHENTICATION
  1740.  
  1741. The requirement for identification and authentication is not changed in
  1742. the context of this document and therefore applies as stated in the TCSEC.
  1743.  
  1744. IR-2.2.2 AUDIT
  1745.  
  1746. The requirement for audit is treated in Section IR-4 of this document. 
  1747.  
  1748. IR-2.3 ASSURANCE
  1749.  
  1750. IR-2.3.1 OPERATIONAL ASSURANCE
  1751.  
  1752. IR-2.3.1.1 System Architecture
  1753.  
  1754. The requirement for system architecture is treated in Section IR-5 of this
  1755. document. 
  1756.  
  1757. IR-2.3.1.2 System Integrity
  1758.  
  1759. The requirement for system integrity is not changed in the context of this
  1760. document and therefore applies as stated in the TCSEC. 
  1761.  
  1762. IR-2.3.1.3 Covert Channel Analysis
  1763.  
  1764. The requirement for covert channel analysis is not changed in the context
  1765. of this document and therefore applies as stated in the TCSEC. 
  1766.  
  1767. IR-2.3.1.4 Trusted Facility Management
  1768.  
  1769. The requirement for trusted facility management is not changed in the
  1770. context of this document and therefore applies as stated in the TCSEC. 
  1771.  
  1772. IR-2.3.1.5 Trusted Recovery
  1773.  
  1774. The requirement for trusted recovery is not changed in the context of this
  1775. document and therefore applies as stated in the TCSEC. 
  1776.  
  1777. IR-2.3.2 LIFE CYCLE ASSURANCE
  1778.  
  1779. IR-2.3.2.1 Security Testing
  1780.  
  1781. The requirement for security testing is not changed in the context of this
  1782. document and therefore applies as stated in the TCSEC. IR-2.3.2.2 Design
  1783. Specification and Verification The requirement for design specification
  1784. and verification is treated in Section IR-6 of this document. 
  1785.  
  1786. IR-2.3.2.3 Configuration Management
  1787.  
  1788. The requirement for configuration management is not changed in the context
  1789. of this document and therefore applies as stated in the TCSEC. 
  1790.  
  1791. IR-2.3.2.4 Trusted Distribution
  1792.  
  1793. The requirement for trusted distribution is not changed in the context of
  1794. this document and therefore applies as stated in the TCSEC. 
  1795.  
  1796. IR-2.4 DOCUMENTATION
  1797.  
  1798. IR-2.4.1 SECURITY FEATURES USER'S GUIDE
  1799.  
  1800. The requirement for a security features user's guide is not changed in the
  1801. context of this document and therefore applies as stated in the TCSEC. 
  1802.  
  1803. IR-2.4.2 TRUSTED FACILITY MANUAL
  1804.  
  1805. The requirement for a trusted facility manual is not changed in the
  1806. context of this document and therefore applies as stated in the TCSEC. 
  1807.  
  1808. IR-2.4.3 TEST DOCUMENTATION
  1809.  
  1810. The requirement for test documentation is not changed in the context of
  1811. this document and therefore applies as stated in the TCSEC. 
  1812.  
  1813. IR-2.4.4 DESIGN DOCUMENTATION
  1814.  
  1815. The requirement for design documentation is treated in Section IR-7 of
  1816. this document. 
  1817.  
  1818. IR-3 LABELS
  1819.  
  1820. IR-3.1 GENERAL DISCUSSION
  1821.  
  1822. The labels requirements of the TCSEC are entirely applicable to database
  1823. management systems. The basic difference between the TCSEC labeling
  1824. requirements as they apply to operating systems and DBMSs involves which
  1825. storage objects are labeled rather than how the labels are handled. This
  1826. section discusses special considerations in implementing and evaluating
  1827. labeling mechanisms in database management systems. Of particular
  1828. importance is the selection of the storage objects that are to be labeled.
  1829.  
  1830. Beginning at the B1 evaluation class, trusted database management systems
  1831. are required to associate labels with all storage objects under their
  1832. control. The granularity of storage objects to be protected shall be
  1833. chosen by the DBMS designer. 
  1834.  
  1835. Stored view definitions (that is, named query commands) that are visible
  1836. at the TCB boundary must be stored in labeled objects. The TCB must
  1837. mediate access both to the view definition and to the view instantiation
  1838. (that is, the set of labeled objects accessed as the result of executing
  1839. the query command contained in the view definition). 
  1840.  
  1841. It has been proposed in several designs that views be used as a mechanism
  1842. to implement context- or content-dependent labeling. The intuitive
  1843. attractiveness of this approach is undeniable, but the implementation
  1844. details must be carefully worked out to achieve a sound implementation. A
  1845. brief discussion of this topic can be found in Appendix B, item 8,
  1846. "Content-Dependent and Context-Dependent Access Control." TCB designers
  1847. and evaluators may make distinctions between objects that are explicitly
  1848. labeled or implicitly labeled. Such distinctions are meaningful only
  1849. within the confines of the TCB; all storage objects are explicitly labeled
  1850. from a point of view outside the TCB. For example, consider an object of
  1851. one type (e.g., table or file) within the TCB that "contains" many
  1852. (reference monitor) objects of another type (e.g., tuples and records).
  1853. The file could have an explicit label associated with it, and some of the
  1854. records could have explicit labels associated with them. Those records
  1855. that have no explicit label would be implicitly labeled by the label of
  1856. the file. 
  1857.  
  1858. For database management systems, the objects that store the base data of
  1859. the database (e.g., files, records, relations, and tuples), as well as
  1860. those objects that store the metadata (e.g., directories, indices,
  1861. schemas, data dictionaries, discretionary authorization tables, recovery
  1862. logs, and transaction logs), must be labeled. Objects that need not be
  1863. labeled include internal resources that are not user visible (e.g.,
  1864. printer daemon scratch files and resource allocation tables). The
  1865. requirement for importing data (labeled and unlabeled) is the same as in
  1866. the TCSEC. For additional information, see Appendix B, item 9, "Bulk
  1867. Loading of a Database." 
  1868.  
  1869. IR-3.2 SPECIFIC INTERPRETATIONS
  1870.  
  1871. CLASS (B1): LABELED SECURITY PROTECTION
  1872.  
  1873. There are no interpretations for this class. 
  1874.  
  1875. CLASS (B2): STRUCTURED PROTECTION
  1876.  
  1877. Statement from TCSEC
  1878.  
  1879. Sensitivity labels associated with each ADP system resource . . . that is
  1880. directly or indirectly accessible by subjects external to the TCB shall be
  1881. maintained by the TCB. 
  1882.  
  1883. Interpretation
  1884.  
  1885. Internal TCB variables that are not visible to untrusted subjects need not
  1886. be labeled, provided that they are not directly or indirectly accessible
  1887. by subjects external to the TCB. However, it is important to understand
  1888. that such internal variables can function as covert signaling channels
  1889. when untrusted subjects are able to detect changes in these variables by
  1890. observing system behavior. 
  1891.  
  1892. CLASS (B3): SECURITY DOMAINS
  1893.  
  1894. There are no additional requirements. 
  1895.  
  1896. CLASS (A1): VERIFIED DESIGN
  1897.  
  1898. There are no additional requirements. 
  1899.  
  1900. IR-4 AUDIT
  1901.  
  1902. IR-4.1 GENERAL DISCUSSION
  1903.  
  1904. The audit requirements of the TCSEC apply to database management systems.
  1905. This section discusses special considerations in designing and evaluating
  1906. audit mechanisms in database management systems. The TCB must be capable
  1907. of maintaining an audit trail of accesses and attempted accesses to the
  1908. objects protected by the mandatory and discretionary security policies.
  1909. Two examples are given to illustrate auditing techniques for discretionary
  1910. access control decisions. 
  1911.  
  1912. Example 1. Consider a DBMS TCB providing discretionary controls on defined
  1913. views of the database. Because the named object presented at the TCB
  1914. interface is the view definition (not the records instantiated through the
  1915. view), all that needs to be auditable is the use of the view by any
  1916. untrusted subject. 
  1917.  
  1918. Example 2.Consider a DBMS TCB that enforces discretionary access control
  1919. on individual data records. When a user enters a query, the construction
  1920. of a response may involve a search over many records that are not returned
  1921. to the user because they did not satisfy the query. Records that do
  1922. satisfy the query but to which the user does not have access should be
  1923. auditable. Records that do not satisfy the query need not be auditable.
  1924. That is, in the context of audit, access permission to the user and
  1925. satisfaction of a query are to be kept separate. 
  1926.  
  1927. There is no need to audit operations that are strictly internal to the
  1928. TCB. Separate security audit logs may be maintained by the operating
  1929. system and the database management system. Likewise, separate
  1930. identifications for the same user may be maintained by the operating
  1931. system and the database management system. The correlation of separate
  1932. audit logs may be done either at the time they are generated or at some
  1933. later time. 
  1934.  
  1935. The emphasis of the audit criterion is to provide individual
  1936. accountability for actions by users. This goal is not the same as that for
  1937. a backup and recovery log. There is no requirement to integrate the audit
  1938. log with the backup and recovery log, although such an integrated log is
  1939. not prohibited. At the designer's discretion, there may be a selectable
  1940. capability to reduce the number of audit records generated in response to
  1941. queries that involve many access control decisions. 
  1942.  
  1943. IR-4.2 SPECIFIC INTERPRETATIONS CLASS (C2): CONTROLLED ACCESS
  1944. PROTECTION
  1945.  
  1946. Statement from TCSEC
  1947.  
  1948. The TCB shall be able to create, maintain, and protect from modification .
  1949. . . an audit trail of accesses to the objects it protects. 
  1950.  
  1951. Interpretation
  1952.  
  1953. Auditable events, in the case of a database management system, are the
  1954. individual operations initiated by untrusted users (e.g., updates,
  1955. retrievals, and inserts), not just the invocation of the database
  1956. management system. The auditing mechanism shall have the capability of
  1957. auditing all mediated accesses which are visible to users. That is, each
  1958. discretionary access control policy decision shall be auditable.
  1959. Individual operations performed by trusted software, if totally
  1960. transparent to the user, need not be auditable. If the total audit
  1961. requirement is met by the use of more than one audit log, a method of
  1962. correlation must be available. 
  1963.  
  1964. CLASS (B1): LABELED SECURITY PROTECTION
  1965.  
  1966. Statement from TCSEC
  1967.  
  1968. The TCB shall be able to create, maintain, and protect from modification .
  1969. . . an audit trail of accesses to the objects it protects. 
  1970.  
  1971. Interpretation
  1972.  
  1973. Auditable events, in the case of a database management system, are the
  1974. individual operations initiated by untrusted users (e.g., updates,
  1975. retrievals, and inserts), not just the invocation of the database
  1976. management system. The auditing mechanism shall have the capability of
  1977. auditing all mediated accesses which are visible to the user. That is,
  1978. each discretionary access control policy decision and each mandatory
  1979. access control policy decision shall be auditable. Individual operations
  1980. performed by trusted software, if totally transparent to the user, need
  1981. not be auditable. If the total audit requirement is met by the use of more
  1982. than one audit log, a method of correlation must be available. 
  1983.  
  1984. CLASS (B2): STRUCTURED PROTECTION
  1985.  
  1986. There is no interpretation for the additional requirements. 
  1987.  
  1988. CLASS (B3): SECURITY DOMAINS
  1989.  
  1990. There is no interpretation for the additional requirements. 
  1991.  
  1992. CLASS (A1): VERIFIED DESIGN
  1993.  
  1994. There are no additional requirements. 
  1995.  
  1996. IR-5 SYSTEM ARCHITECTURE
  1997.  
  1998. IR-5.1GENERAL DISCUSSION
  1999.  
  2000. The system architecture requirements of the TCSEC apply to database
  2001. management systems. The interpretations provided are a duplication of the
  2002. general interpreted requirements that apply to an evaluation by parts.
  2003. They are included because DBMS evaluations often involve multiple TCB
  2004. subsets. 
  2005.  
  2006. IR-5.2 SPECIFIC INTERPRETATIONS
  2007.  
  2008. CLASS (C1): DISCRETIONARY SECURITY PROTECTION
  2009.  
  2010. Statement from TCSEC
  2011.  
  2012. The TCB shall maintain a domain for its own execution that protects it
  2013. from external interference or tampering. 
  2014.  
  2015. Interpretation
  2016.  
  2017. If the TCB is composed of multiple TCB subsets, this requirement applies
  2018. to each TCB subset. 
  2019.  
  2020. CLASS (C2): CONTROLLED ACCESS PROTECTION
  2021.  
  2022. There is no interpretation for the additional requirements. 
  2023.  
  2024. CLASS (B1): LABELED SECURITY PROTECTION
  2025.  
  2026. There is no interpretation for the additional requirements. 
  2027.  
  2028. CLASS (B2): STRUCTURED PROTECTION
  2029.  
  2030. Statement from TCSEC
  2031.  
  2032. The user interface to the TCB shall be completely defined and all elements
  2033. of the TCB identified. 
  2034.  
  2035. Interpretation
  2036.  
  2037. If the TCB is composed of multiple subsets, this requirement applies to
  2038. the interface between the TCB subsets as well as the user interface to the
  2039. whole TCB. 
  2040.  
  2041. Statement from TCSEC
  2042.  
  2043. It shall make effective use of available hardware to separate those
  2044. elements that are protection-critical from those that are not. 
  2045.  
  2046. Interpretation
  2047.  
  2048. If the TCB is composed of multiple subsets, each TCB subset must make use
  2049. of facilities provided to it by more primitive TCB subsets, such as
  2050. support for execution domains and for distinct address spaces, to achieve
  2051. the required separation. 
  2052.  
  2053. CLASS (B3): SECURITY DOMAINS
  2054.  
  2055. There is no interpretation for the additional requirements. 
  2056.  
  2057. CLASS (A1): VERIFIED DESIGN
  2058.  
  2059. There are no additional requirements. 
  2060.  
  2061. IR-6 DESIGN SPECIFICATION AND VERIFICATION 
  2062.  
  2063. IR-6.1 GENERAL DISCUSSION
  2064.  
  2065. The design specification and verification requirements of the TCSEC, with
  2066. the related documentation requirements, apply to database management
  2067. systems. The interpretations provided include a duplication of general
  2068. interpreted requirements that apply to an evaluation by parts. They are
  2069. included because of the likelihood that a DBMS evaluation will involve
  2070. multiple TCB subsets. 
  2071.  
  2072. In the database context, the set of candidates for "subject" and "object"
  2073. can be larger than normally encountered in trusted operating systems.
  2074. Where a database system builds on an underlying trusted operating system,
  2075. for example, the set of candidate subjects for the two TCB subsets
  2076. includes both the active entities created by the operating system and
  2077. those active entities created by the trusted portion of the DBMS. The set
  2078. of candidates for objects is large. 
  2079.  
  2080. Examples are files, segments, buffers, structures, pages, relations,
  2081. tables, tuples, rows, columns, elements, entities, relationships,
  2082. procedures, metadata, system tables, query trees, query plans, locking
  2083. mechanisms, rollback mechanisms, indices, recovery and backupmechanisms,
  2084. precalculated operations (such as joins), view definitions, view
  2085. instantiations, constraints, authorization tables, data dictionary tables,
  2086. and audit logs. 
  2087.  
  2088. The requirements in the TCSEC for showing how the various representations
  2089. of the system being evaluated fit together can be represented as in Figure
  2090. IR-1. For monolithic TCBs, the policy must be stated; the model must be
  2091. developed, maintained, and shown to be sufficient to enforce the policy;
  2092. and the DTLS (FTLS for A1) must be constructed and shown to correspond
  2093. both to the model and to the TCB implementation. These steps allow a chain
  2094. of reasoning to proceed from the stated policy to the assertion that the
  2095. system in question actually enforces the policy. 
  2096.  
  2097. In the case of multiple TCB subsets, the intent is the same. Tracing all
  2098. policy requirements to 
  2099.  
  2100. the actual system implementation must be possible, and vice versa. The
  2101. current dilemma is that the theory and techniques for subdividing a model
  2102. into a set of models (or a top level specification into a set of top level
  2103. specifications) have not yet been established. Likewise neither theory or
  2104. techniques have been established for composing a set of models or top
  2105. level specifications into a unified model or top level specification. The
  2106. absence of rigorous methods does not preclude an evaluation using a
  2107. subsetted TCB. 
  2108.  
  2109. The process of mapping policy to implementation is possible for each TCB
  2110. subset, using the same techniques required for a monolithic TCB. For
  2111. subsetted TCBs, designers and evaluators must explicitly show how the
  2112. policy, model and specifications for each TCB subset meet the TCSEC
  2113. requirements. In addition, convincing informal arguments must be given to
  2114. show how the collection of TCB subsets enforces the policy of the
  2115. composite TCB. 
  2116.  
  2117. Because morerigorous composition methods are unavailable, convincing
  2118. informal arguments are appropriate for evaluation of TCBs up to and
  2119. including Class A1. 
  2120.  
  2121. The TCSEC requirements concerning the mapping from policy to
  2122. implementation for a TCB composed of multiple TCB subsets raise these
  2123. crucial topics: 
  2124.  
  2125. The allocation of policy to the TCB subsets, 
  2126.  
  2127. The relation of the models for the TCB subsets to the overall system
  2128. policy, and 
  2129.  
  2130. The relation of the top level specification for each TCB subset to the
  2131. entire system. 
  2132.  
  2133. Allocation of policy to the TCB subsets is a precise division of the
  2134. policy for the entire system, as addressed in the policy allocation
  2135. condition of Section TC-4.3. 
  2136.  
  2137. The second topic, above, requires that the policy for each TCB subset be
  2138. stated. Additionally, it is required that there be an informal convincing
  2139. argument that the collection of models represents the policy enforced by
  2140. the entire system. 
  2141.  
  2142. The third topic, the way in which the set of top level specifications for
  2143. the individual TCB subsets describes the composite TCB interface with
  2144. respect to exceptions, errors and effects, is treated in a similar
  2145. fashion. The top level specifications for each TCB subset must meet the
  2146. requirement. There is, in addition, a requirement for an informal,
  2147. convincing description of how the set of top level specifications
  2148. describes the TCB interface with respect to exceptions, errors, and
  2149. effects. At the A1 level, there is no requirement for additional formal
  2150. specification or formal proofs beyond the specification and proofs
  2151. specific to the individual TCB subsets. 
  2152.  
  2153. Rather than formally composing the policies, models, and specifications
  2154. and performing a single monolithic evaluation, a series of separate
  2155. evaluations may be performed (one for each TCB subset). The evaluations
  2156. are then tied together by presentation of sufficient informal arguments
  2157. that the individual policies collectively represent the policy enforced by
  2158. the entire system, that the individual models collectively represent the
  2159. system's policy, that the individual specifications represent the TCB
  2160. interface, and that the source code of each TCB subset is consistent with
  2161. its top level specification. 
  2162.  
  2163. Note that satisfactory completion of these requirements is logically
  2164. equivalent to demonstrating that a "unified" model for the entire TCB is
  2165. consistent with the policy enforced by the system, that a "unified" top
  2166. level specification corresponds to the model, and that the "unified" top
  2167. level specification(s) corresponds to the source code. These interpreted
  2168. requirements, which do not mandate a "unified" top level specification,
  2169. are technically achievable interpretations of the policy-tracing
  2170. requirements in the case of multiple TCB subsets. 
  2171.  
  2172. IR-6.2 SPECIFIC INTERPRETATIONS
  2173.  
  2174. CLASS (B1): LABELED SECURITY PROTECTION
  2175.  
  2176. Statement from TCSEC
  2177.  
  2178. An informal or formal model of the security 
  2179.  
  2180. policy supported by the TCB shall be maintained over the life cycle of the
  2181. ADP system and demonstrated to be consistent with its axioms. 
  2182.  
  2183. Interpretation
  2184.  
  2185. If the TCB is composed of multiple TCB 
  2186.  
  2187. subsets, this requirement applies to the security policy of each TCB
  2188. subset. An informal argument that the set of policy models represents the
  2189. "security policy supported by the [composite] TCB" must be provided. 
  2190.  
  2191. CLASS (B2): STRUCTURED PROTECTION
  2192.  
  2193. Statement from TCSEC
  2194.  
  2195. A formal model of the security policy supported by the TCB shall be
  2196. maintained over the life cycle of the ADP system and demonstrated to be
  2197. consistent with its axioms. 
  2198.  
  2199. Interpretation
  2200.  
  2201. If the TCB is composed of multiple TCB 
  2202.  
  2203. subsets, this requirement applies to the security policy of each TCB
  2204. subset. An informal argument that the set of policy models represents the
  2205. "security policy supported by the [composite] TCB" must be provided. 
  2206.  
  2207. Statement from TCSEC
  2208.  
  2209. A descriptive top-level specification (DTLS) of the TCB shall be
  2210. maintained that completely and accurately describes the TCB in terms of
  2211. exceptions, error messages, and effects. 
  2212.  
  2213. Interpretation
  2214.  
  2215. If the TCB is composed of multiple TCB 
  2216.  
  2217. subsets, this requirement applies to the DTLS of each TCB subset. An
  2218. informal argument that the set of DTLSs accurately describes the TCB must
  2219. be provided. If there is a multifaceted policy (e.g., both mandatory
  2220. access control and discretionary access control policies) in a particular
  2221. TCB subset, then all facets must be represented in the DTLS and in the TCB
  2222. subset's model. 
  2223.  
  2224. Statement from TCSEC
  2225.  
  2226. The descriptive top-level specification (DTLS) shall be shown to be an
  2227. accurate description of the TCB interface. 
  2228.  
  2229. Interpretation
  2230.  
  2231. If the TCB is composed of multiple subsets, this requirement applies to
  2232. the interface between the TCB subsets as well as to the user interface of
  2233. the composite TCB. The TCB interface description shall include an
  2234. explanation of how to describe the total TCB accurately, in the context of
  2235. the multiple TCB subset DTLSs. 
  2236.  
  2237. CLASS (B3): SECURITY DOMAINS
  2238.  
  2239. Statement from TCSEC
  2240.  
  2241. A convincing argument shall be given that the DTLS is consistent with the
  2242. model. 
  2243.  
  2244. Interpretation
  2245.  
  2246. If the TCB is composed of multiple TCB subsets, this requirement applies
  2247. to individual TCB subsets. Enforcement of all policies must be shown to
  2248. occur in all situations (e.g., state transitions) required by the formal
  2249. security policy model. In the case of a discretionary access control
  2250. policy, the presence of the access control check at all identified state
  2251. transitions is the total of what is required for demonstrating consistency
  2252. between the DTLS and the model. This may be verified by inspection of the
  2253. DTLS (that is, by visually checking that exception checks required by the
  2254. model are present in the DTLS). For the mandatory access control policy,
  2255. the DTLS must be shown by a convincing argument to be consistent with the
  2256. model. 
  2257.  
  2258. CLASS (A1): VERIFIED DESIGN
  2259.  
  2260. Statement from TCSEC
  2261.  
  2262. A formal top-level specification (FTLS) of the TCB shall be maintained
  2263. that accurately describes the TCB in terms of exceptions, error messages,
  2264. and effects. 
  2265.  
  2266. Interpretation
  2267.  
  2268. If the TCB is composed of multiple TCB subsets, this requirement applies
  2269. to the FTLS of each TCB subset. An informal argument that the set of FTLSs
  2270. accurately describes the TCB must be provided. 
  2271.  
  2272. If there is a multifaceted policy (e.g., both mandatory access control and
  2273. discretionary access control policies) in a particular TCB subset, then
  2274. all facets must be represented in the FTLS and in the TCB subset's model. 
  2275.  
  2276. Statement from TCSEC
  2277.  
  2278. The FTLS shall be shown to be an accurate description of the TCB
  2279. interface. 
  2280.  
  2281. Interpretation
  2282.  
  2283. If the TCB is composed of multiple subsets, this requirement applies to
  2284. the interface between the TCB subsets as well as to the user interface of
  2285. the composite TCB. The TCB interface description shall include an
  2286. explanation of how to describe the total TCB accurately, in the context of
  2287. the multiple TCB subset DTLSs. 
  2288.  
  2289. Statement from TCSEC
  2290.  
  2291. . . . a combination of formal and informal techniques shall be used to
  2292. show that the FTLS is consistent with the model. 
  2293.  
  2294. Interpretation
  2295.  
  2296. If the TCB is composed of multiple TCB 
  2297.  
  2298. subsets, this requirement applies to individual TCB subsets. Enforcement
  2299. of all policies must be shown to occur in all situations (e.g., state
  2300. transitions) required by the formal security policy model at the required
  2301. occasions. In the case of a discretionary access control policy, the
  2302. presence of the access control check at all identified state transitions
  2303. is the total of what is required for demonstrating consistency between the
  2304. FTLS and the model. This may be verified by inspection of the FTLS (that
  2305. is, by visually checking that exception checks required by the model are
  2306. present in the FTLS). For the mandatory access control policy, the FTLS
  2307. must be shown by a combination of formal and informal techniques to be
  2308. consistent with the model. 
  2309.  
  2310. IR-7 DESIGN DOCUMENTATION
  2311.  
  2312. IR-7.1 GENERAL DISCUSSION
  2313.  
  2314. The design documentation requirement of the
  2315.  
  2316. TCSEC applies to database management systems. 
  2317.  
  2318. The interpretations provided are a duplication of the general interpreted
  2319. requirements that apply to an evaluation by parts. They are included
  2320. because DBMS evaluations often involve multiple TCB subsets. 
  2321.  
  2322. IR-7.2 SPECIFIC INTERPRETATIONS
  2323.  
  2324. CLASS (C1): DISCRETIONARY SECURITY PROTECTION
  2325.  
  2326. Statement from TCSEC
  2327.  
  2328. If the TCB is composed of distinct modules, the interfaces between these
  2329. modules shall be described. 
  2330.  
  2331. Interpretation
  2332.  
  2333. If the TCB is composed of multiple subsets, this requirement applies to
  2334. each TCB subset and the interfaces between TCB subsets. 
  2335.  
  2336. CLASS (C2): CONTROLLED ACCESS PROTECTION
  2337.  
  2338. There are no additional requirements. 
  2339.  
  2340. CLASS (B1): LABELED SECURITY PROTECTIONStatement from TCSEC 
  2341.  
  2342. The specific TCB protection mechanisms shall be identified and an
  2343. explanation given to show that they satisfy the model. 
  2344.  
  2345. Interpretation
  2346.  
  2347. If the TCB is composed of multiple subsets, this requirement applies to
  2348. each TCB subset and shall include the protection mechanisms which support
  2349. the conditions for TCB subset structure and separate subset-domains. 
  2350.  
  2351. CLASS (B2): STRUCTURED PROTECTION
  2352.  
  2353. Statement from TCSEC
  2354.  
  2355. The interfaces between the TCB modules shall be described. 
  2356.  
  2357. Interpretation
  2358.  
  2359. If the TCB is composed of multiple subsets, this requirement applies to
  2360. each TCB subset and the interfaces between different TCB subsets. 
  2361.  
  2362. Statement from TCSEC
  2363.  
  2364. The descriptive top-level specification (DTLS) shall be shown to be an
  2365. accurate description of the TCB interface. 
  2366.  
  2367. Interpretation
  2368.  
  2369. If the TCB is composed of multiple subsets, this requirement applies to
  2370. the interface between the TCB subsets as well as to the user interface of
  2371. the composite TCB. The TCB interface description shall include an
  2372. explanation of how to describe the total TCB accurately, in the context of
  2373. the multiple TCB subset DTLSs. 
  2374.  
  2375. Statement from TCSEC
  2376.  
  2377. Documentation shall describe how the TCB implements the reference monitor
  2378. concept and give an explanation of why it is tamper resistant, cannot be
  2379. bypassed, and is correctly implemented. 
  2380.  
  2381. Interpretation
  2382.  
  2383. If the TCB is composed of multiple TCB subsets, this requirement is
  2384. interpreted to apply to each TCB subset with respect to its specific
  2385. technical policy. In addition, there must be documented an informal
  2386. argument that the cooperative action of the TCB subsets makes the TCB
  2387. itself tamper resistant, non-bypassable, and correct. 
  2388.  
  2389. Statement from TCSEC
  2390.  
  2391. Documentation shall describe how the TCB is structured to facilitate
  2392. testing and to enforce least privilege. 
  2393.  
  2394. Interpretation
  2395.  
  2396. If the TCB is composed of multiple subsets, this requirement is
  2397. interpreted to apply to individual TCB subsets as well as to the overall
  2398. TCB. 
  2399.  
  2400. CLASS (B3): SECURITY DOMAINS
  2401.  
  2402. Statement from TCSEC
  2403.  
  2404. The TCB implementation shall be informally shown to be consistent with the
  2405. DTLS. 
  2406.  
  2407. Interpretation
  2408.  
  2409. If the TCB is composed of multiple TCB subsets, this requirement is
  2410. interpreted to apply to individual TCB subsets. 
  2411.  
  2412. CLASS (A1): VERIFIED DESIGN
  2413.  
  2414. Statement from TCSEC
  2415.  
  2416. The TCB implementation shall be informally shown to be consistent with the
  2417. FTLS. 
  2418.  
  2419. Interpretation
  2420.  
  2421. If the TCB is composed of multiple TCB subsets, this requirement is
  2422. interpreted to apply to individual TCB subsets. 
  2423.  
  2424. SUMMARY OF THE INTERPRETATIONS BY CLASS Appendix A
  2425.  
  2426. This section is a presentation of all the interpreted requirements
  2427. organized by TCSEC class. It includes all the requirements which are
  2428. either relevant to subsetted architectures or are DBMS-specific. Any TCSEC
  2429. requirements not explicitly identified herein apply as stated in the
  2430. TCSEC. 
  2431.  
  2432. CLASS (C1): DISCRETIONARY SECURITY PROTECTION
  2433.  
  2434. C1-1 SECURITY POLICY
  2435.  
  2436. C1-1.1 DISCRETIONARY ACCESS CONTROL
  2437.  
  2438. The discretionary access control requirements apply as stated in the TCSEC
  2439. to every TCB subset whose policy includes discretionary access control of
  2440. its subjects to its objects. Any TCB subset whose policy does not include
  2441. such discretionary access control is exempt from this requirement. 
  2442.  
  2443. C1-2 ACCOUNTABILITY
  2444.  
  2445. C1-2.1 IDENTIFICATION AND AUTHENTICATION
  2446.  
  2447. This requirement applies as stated in the TCSEC to the entire TCB. The
  2448. cooperative action of the TCB subsets making up the TCB must satisfy the
  2449. requirement. 
  2450.  
  2451. If the TCB is composed of TCB subsets, one TCB subset may either rely on a
  2452. mechanism in another TCB subset to provide identification and
  2453. authentication services or provide the services directly. Each TCB subset
  2454. may maintain its own identification and authentication data or one central
  2455. repository may be maintained. If each TCB subset has its own data, then
  2456. the information for each individual user must be consistent among all
  2457. subsets. 
  2458.  
  2459. C1-3 ASSURANCE
  2460.  
  2461. C1-3.1 OPERATIONAL ASSURANCE
  2462.  
  2463. C1-3.1.1 SYSTEM ARCHITECTURE
  2464.  
  2465. This requirement applies as stated in the TCSEC to every TCB subset, with
  2466. the following additional interpretations. 
  2467.  
  2468. The TCB must provide domains for execution that are allocated to and used
  2469. by TCB subsets according to the subset-domain condition for evaluation by
  2470. parts. A most primitive TCB subset must provide domains forexecution. A
  2471. less primitive TCB subset must make use of domains provided by a more
  2472. primitive TCB subset. A less primitive TCB subset may provide further
  2473. execution domains but is not required to do so. 
  2474.  
  2475. Statement from TCSEC
  2476.  
  2477. The TCB shall maintain a domain for its own execution that
  2478. protects it from external interference or tampering. 
  2479.  
  2480. Interpretation
  2481.  
  2482. If the TCB is composed of multiple TCB subsets, this requirement applies
  2483. to each TCB subset. 
  2484.  
  2485. C1-3.1.2 SYSTEM INTEGRITY
  2486.  
  2487. This requirement applies as stated in the TCSEC to every TCB subset that
  2488. includes hardware or firmware. Any TCB subset that does not include
  2489. hardware or firmware is exempt from this requirement. 
  2490.  
  2491. C1-3.2 LIFE CYCLE ASSURANCE
  2492.  
  2493. C1-3.2.1 SECURITY TESTING
  2494.  
  2495. This requirement applies as stated in the TCSEC to the entire TCB. If a
  2496. TCB consists of TCB subsets meeting the conditions for evaluation by
  2497. parts, the satisfaction of the requirements by each TCB subset satisfies
  2498. the requirement for the entire TCB. Otherwise, security testing of the
  2499. entire TCB must be performed (even if the results of testing the
  2500. individual TCB subsets were available). 
  2501.  
  2502. C1-4 DOCUMENTATION
  2503.  
  2504. C1-4.1 SECURITY FEATURES USER'S GUIDE
  2505.  
  2506. This requirement applies as stated in the TCSEC to every TCB subset in the
  2507. TCB. This collection of guides must include descriptions of every TCB
  2508. subset in the TCB and explicit cross-references to other related user's
  2509. guides to other TCB subsets, as required. In addition, interactions
  2510. between mechanisms within different TCB subsets must be clearly described.
  2511.  
  2512. C1-4.2 TRUSTED FACILITY MANUAL
  2513.  
  2514. This requirement applies as stated in the TCSEC to the TCB and to every
  2515. TCB subset in the TCB. This requirement can be met by providing a set of
  2516. manuals, one for each distinct (non-replicated) TCB subset. Each manual
  2517. shall address the functions and privileges to be controlled for the
  2518. associated TCB subset. Additionally, it must clearly show the interfaces
  2519. to, and the interaction with, more primitive TCB subsets. The manual for
  2520. each TCB subset shall identify the functions and privileges of the TCB
  2521. subsets on which the associated TCB subset depends. Also, the TCB subset's
  2522. manual shall identify which, if any, configuration options of the more
  2523. primitive TCB subsets are to be used for the composite TCB to operate
  2524. securely. 
  2525.  
  2526. Any pre-defined roles supported (e.g., database administrator) by the TCB
  2527. subset shall be addressed. 
  2528.  
  2529. The means for correlating multiple audit logs and synonymous user
  2530. identifications from multiple TCB subsets (if such exist) shall also be
  2531. addressed. The trusted facility manual shall describe the composite TCB so
  2532. that the interactions among the TCB subsets can be readily determined.
  2533. Other manuals may be referenced in this determination. The manuals that
  2534. address the distinct modules of the TCB and the generation of the TCB need
  2535. to be integrated with the other trusted facility manuals only to the
  2536. extent that they are affected by the use and operation (versus the
  2537. development) of the composite TCB. 
  2538.  
  2539. C1-4.3 TEST DOCUMENTATION
  2540.  
  2541. This requirement applies as stated in the TCSEC to the composite TCB. 
  2542.  
  2543. C1-4.4 DESIGN DOCUMENTATION
  2544.  
  2545. This requirement applies as stated in the TCSEC to the composite TCB. 
  2546.  
  2547. Statement from TCSEC
  2548.  
  2549. If the TCB is composed of distinct modules, the interfaces between these
  2550. modules shall be described. 
  2551.  
  2552. Interpretation
  2553.  
  2554. If the TCB is composed of multiple subsets, this requirement applies to
  2555. each TCB subset and the interfaces between TCB subsets. 
  2556.  
  2557. CLASS (C2): CONTROLLED ACCESS PROTECTION
  2558.  
  2559. C2-1 SECURITY POLICY
  2560.  
  2561. C2-1.1 DISCRETIONARY ACCESS CONTROL
  2562.  
  2563. The discretionary access control requirements apply as stated in the TCSEC
  2564. to every TCB subset whose policy includes discretionary access control of
  2565. its subjects to its objects. Any TCB subset whose policy does not include
  2566. such discretionary access control is exempt from this requirement. 
  2567.  
  2568. C2-1.2 OBJECT REUSE
  2569.  
  2570. This requirement applies as stated in the TCSEC to every TCB subset in the
  2571. TCB. 
  2572.  
  2573. C2-2 ACCOUNTABILITY
  2574.  
  2575. C2-2.1 IDENTIFICATION AND AUTHENTICATION
  2576.  
  2577. This requirement applies as stated in the TCSEC to the entire TCB. The
  2578. cooperative action of the TCB subsets making up the TCB must satisfy the
  2579. requirement. 
  2580.  
  2581. If the TCB is composed of TCB subsets, one TCB subset may either rely on a
  2582. mechanism in another TCB subset to provide identification and
  2583. authentication services or provide the services directly. Each TCB subset
  2584. may maintain its own identification and authentication data or one central
  2585. repository may be maintained. If each TCB subset has its own data, then
  2586. the information for each individual user must be consistent among all
  2587. subsets. 
  2588.  
  2589. C2-2.2 AUDIT
  2590.  
  2591. This requirement applies as stated in the TCSEC to the entire TCB. The
  2592. cooperative action of the TCB subsets making up the TCB must satisfy the
  2593. requirement. 
  2594.  
  2595. A TCB subset may maintain its own security audit log, distinct from that
  2596. maintained by more primitive TCB subsets, or it may use an audit interface
  2597. provided by a different TCB subset allowing the audit records it generates
  2598. to be processed by that TCB subset. 
  2599.  
  2600. If the TCB subset uses different user identifications than a more
  2601. primitive TCB subset, there shall be a means to associate audit records
  2602. generated by different TCB subsets for the same individual with each
  2603. other, either at the time they are generated or later. 
  2604.  
  2605. Statement from TCSEC
  2606.  
  2607. The TCB shall be able to create, maintain, and protect from modification .
  2608. . . an audit trail of access to the objects it protects. 
  2609.  
  2610. Interpretation
  2611.  
  2612. Auditable events, in the case of a database management system, are the
  2613. individual operations initiated by users (e.g., updates, retrievals, and
  2614. inserts), not just the invocation of the database management system. The
  2615. auditing mechanism shall have the capability of auditing all mediated
  2616. accesses which are visible to users. That is, each discretionary access
  2617. control policy decision shall be auditable. Individual operations
  2618. performed by trusted software, if totally transparent to the user, need
  2619. not be auditable. If the total audit requirement is met by the use of more
  2620. than one audit log, a method of correlation must be available. 
  2621.  
  2622. C2-3 ASSURANCE
  2623.  
  2624. C2-3.1 OPERATIONAL ASSURANCE
  2625.  
  2626. C2-3.1.1 SYSTEM ARCHITECTURE
  2627.  
  2628. This requirement applies as stated in the TCSEC to every TCB subset, with
  2629. the following additional interpretations. The TCB must provide domains for
  2630. execution that are allocated to and used by TCB subsets according to the
  2631. subset-domain condition for evaluation by parts. A most primitive TCB
  2632. subset must provide domains for execution. A less primitive TCB subset
  2633. must make use of domains provided by a more primitive TCB subset. A less
  2634. primitive TCB subset may provide further execution domains but is not
  2635. required to do so. 
  2636.  
  2637. Statement from TCSEC
  2638.  
  2639. The TCB shall maintain a domain for its own execution that protects it
  2640. from external interference or tampering. 
  2641.  
  2642. Interpretation
  2643.  
  2644. If the TCB is composed of multiple TCB subsets, this requirement applies
  2645. to each TCB subset. 
  2646.  
  2647. C2-3.1.2 SYSTEM INTEGRITY
  2648.  
  2649. This requirement applies as stated in the TCSEC to every TCB subset that
  2650. includes hardware or firmware. Any TCB subset that does not include
  2651. hardware or firmware is exempt from this requirement. 
  2652.  
  2653. C2-3.2 LIFE CYCLE ASSURANCE
  2654.  
  2655. C2-3.2.1 SECURITY TESTING
  2656.  
  2657. This requirement applies as stated in the TCSEC to the entire TCB. If a
  2658. TCB consists of TCB subsets meeting the conditions for evaluation by
  2659. parts, the satisfaction of the requirements by each TCB subset satisfies
  2660. the requirement for the entire TCB. Otherwise, security testing of the
  2661. entire TCB must be performed (even if the results of testing the
  2662. individual TCB subsets were available). 
  2663.  
  2664. C2-4 DOCUMENTATION
  2665.  
  2666. C2-4.1 SECURITY FEATURES USER'S GUIDE
  2667.  
  2668. This requirement applies as stated in the TCSEC to every TCB subset in the
  2669. TCB. This collection of guides must include descriptions of every TCB
  2670. subset in the TCB and explicit cross-references to other related user's
  2671. guides to other TCB subsets, as required. In addition, interactions
  2672. between mechanisms within different TCB subsets must be clearly described.
  2673.  
  2674. C2-4.2 TRUSTED FACILITY MANUAL
  2675.  
  2676. This requirement applies as stated in the TCSEC to the TCB and to every
  2677. TCB subset in the TCB. This requirement can be met by providing a set of
  2678. manuals, one for each distinct (non-replicated) TCB subset. Each manual
  2679. shall address the functions and privileges to be controlled for the
  2680. associated TCB subset. Additionally, it must clearly show the interfaces
  2681. to, and the interaction with, more primitive TCB subsets. The manual for
  2682. each TCB subset shall identify the functions and privileges of the TCB
  2683. subsets on which the associated TCB subset depends. Also, the TCB subset's
  2684. manual shall identify which, if any, configuration options of the more
  2685. primitive TCB subsets are to be used for the composite TCB to operate
  2686. securely. 
  2687.  
  2688. Any pre-defined roles supported (e.g., database administrator) by the TCB
  2689. subset shall be addressed. 
  2690.  
  2691. The means for correlating multiple audit logs and synonymous user
  2692. identifications from multiple TCB subsets (if such exist) shall also be
  2693. addressed. 
  2694.  
  2695. The trusted facility manual shall describe the composite TCB so that the
  2696. interactions among the TCB subsets can be readily determined. Other
  2697. manuals may be referenced in this determination. The manuals that address
  2698. the distinct modules of the TCB and the generation of the TCB need to be
  2699. integrated with the other trusted facility manuals only to the extent that
  2700. they are affected by the use and operation (versus the development) of the
  2701. composite TCB. 
  2702.  
  2703. C2-4.3 TEST DOCUMENTATION
  2704.  
  2705. This requirement applies as stated in the TCSEC to the composite TCB. 
  2706.  
  2707. C2-4.4 DESIGN DOCUMENTATION
  2708.  
  2709. This requirement applies as stated in the TCSEC to the composite TCB. 
  2710.  
  2711. Statement from TCSEC
  2712.  
  2713. If the TCB is composed of distinct modules, the interface between these
  2714. modules shall be described. 
  2715.  
  2716. Interpretation
  2717.  
  2718. If the TCB is composed of multiple subsets, this requirement applies to
  2719. each TCB subset and the interfaces between TCB subsets. 
  2720.  
  2721. CLASS (B1): LABELED SECURITY PROTECTION SECURITY POLICY
  2722.  
  2723. B1-1 SECURITY POLICY
  2724.  
  2725. B1-1.1 DISCRETIONARY ACCESS CONTROL
  2726.  
  2727. The discretionary access control requirements apply as stated in the TCSEC
  2728. to every TCB subset whose policy includes discretionary access control of
  2729. its subjects to its objects. Any TCB subset whose policy does not include
  2730. such discretionary access control is exempt from this requirement. 
  2731.  
  2732. B1-1.2 OBJECT REUSE
  2733.  
  2734. This requirement applies as stated in the TCSEC to every TCB subset in the
  2735. TCB. 
  2736.  
  2737. B1-1.3 LABELS
  2738.  
  2739. This requirement applies as stated in the TCSEC to every TCB subset whose
  2740. policy includes mandatory access control of its subjects to its objects.
  2741. Any TCB subset whose policy does not include such mandatory access control
  2742. is exempt from this requirement. 
  2743.  
  2744. B1-1.3.1 LABEL INTEGRITY
  2745.  
  2746. This requirement applies as stated in the TCSEC to every TCB subset whose
  2747. policy includes mandatory access control of its subjects to its objects.
  2748. Any TCB subset whose policy does not include such mandatory access control
  2749. is exempt from this requirement. 
  2750.  
  2751. B1-1.3.2 EXPORTATION OF LABELED INFORMATION
  2752.  
  2753. This requirement applies as stated in the TCSEC to every TCB subset whose
  2754. policy includes mandatory access control of its subjects to its objects.
  2755. Any TCB subset whose policy does not include such mandatory access control
  2756. is exempt from this requirement. 
  2757.  
  2758. B1-1.4 MANDATORY ACCESS CONTROL
  2759.  
  2760. This requirement applies as stated in the TCSEC to every TCB subset whose
  2761. policy includes mandatory access control of its subjects to its objects.
  2762. Any TCB subset whose policy does not include such mandatory access control
  2763. is exempt from this requirement. 
  2764.  
  2765. B1-2 ACCOUNTABILITY
  2766.  
  2767. B1-2.1 IDENTIFICATION AND AUTHENTICATION
  2768.  
  2769. This requirement applies as stated in the TCSEC to the entire TCB. The
  2770. cooperative action of the TCB subsets making up the TCB must satisfy the
  2771. requirement. If the TCB is composed of TCB subsets, one TCB subset may
  2772. either rely on a mechanism in another TCB subset to provide identification
  2773. and authentication services or provide the services directly. Similarly,
  2774. that TCB subset may rely on a mechanism in another more primitive TCB
  2775. subset to ensure that the security level of subjects external to the TCB
  2776. that may be created to act on behalf of the individual user are dominated
  2777. by the clearance and authorization of that user. Each TCB subset may
  2778. maintain its own identification and authentication data or one central
  2779. repository may be maintained. If each TCB subset has its own data, then
  2780. the information for each individual user must be consistent among all
  2781. subsets. 
  2782.  
  2783. B1-2.2 AUDIT
  2784.  
  2785. This requirement applies as stated in the TCSEC to the entire TCB. The
  2786. cooperative action of the TCB subsets making up the TCB must satisfy the
  2787. requirement. 
  2788.  
  2789. A TCB subset may maintain its own security audit log, distinct from that
  2790. maintained by more primitive TCB subsets, or it may use an audit interface
  2791. provided by a different TCB subset allowing the audit records it generates
  2792. to be processed by that TCB subset. 
  2793.  
  2794. If the TCB subset uses different user identifications than a more
  2795. primitive TCB subset, there shall be a means to associate audit records
  2796. generated by different TCB subsets for the same individual with each
  2797. other, either at the time they are generated or later. 
  2798.  
  2799. Statement from TCSEC
  2800.  
  2801. The TCB shall be able to create, maintain, and protect from modification .
  2802. . . an audit trail of access to the objects it protects. 
  2803.  
  2804. Interpretation
  2805.  
  2806. Auditable events, in the case of a database management system, are the
  2807. individual operations initiated by untrusted users (e.g., updates,
  2808. retrievals, and inserts), not just the invocation of the database
  2809. management system. The auditing mechanism shall have the capability of
  2810. auditing all mediated accesses which are visible to users. That is, each
  2811. discretionary access control policy decision shall be auditable.
  2812. Individual operations performed by trusted software, if totally
  2813. transparent to the user, need not be auditable. If the total audit
  2814. requirement is met by the use of more than one audit log, a method of
  2815. correlation must be available. 
  2816.  
  2817. Statement from TCSEC
  2818.  
  2819. The TCB shall be able to create, maintain, and protect from modification .
  2820. . . an audit trail of accesses to the objects it protects. 
  2821.  
  2822. Interpretation
  2823.  
  2824. Auditable events, in the case of a database management system, are the
  2825. individual operations initiated by untrusted users (e.g., updates,
  2826. retrievals, and inserts), not just the invocation of the database
  2827. management system. The auditing mechanism shall have the capability of
  2828. auditing all mediated accesses which are visible to the user. That is,
  2829. each discretionary access control policy decision and each mandatory
  2830. access control policy decision shall be auditable. Individual operations
  2831. performed by trusted software, if totally transparent to the user, need
  2832. not be auditable. If the total audit requirement is met by the use of more
  2833. than one audit log, a method of correlation must be available. 
  2834.  
  2835. B1-3 ASSURANCE
  2836.  
  2837. B1-3.1 OPERATIONAL ASSURANCE
  2838.  
  2839. B1-3.1.1 SYSTEM ARCHITECTURE
  2840.  
  2841. This requirement applies as stated in the TCSEC to every TCB subset, with
  2842. the following additional interpretations. The TCB must provide domains for
  2843. execution that are allocated to and used by TCB subsets according to the
  2844. subset-domain condition for evaluation by parts. A most primitive TCB
  2845. subset must provide domains for execution. A less primitive TCB subset
  2846. must make use of domains provided by a more primitive TCB subset. A less
  2847. primitive TCB subset may provide further execution domains but is not
  2848. required to do so. 
  2849.  
  2850. Similarly, the TCB must provide distinct address spaces for untrusted
  2851. processes. A most primitive TCB subset must provide distinct address
  2852. spaces for its subjects. A less primitive TCB subset must make use of the
  2853. distinct address space provided by a more primitive TCB subset. A less
  2854. primitive TCB subset may provide more fine-grained distinct address
  2855. spaces, but is not required to do so. 
  2856.  
  2857. Statement from TCSEC
  2858.  
  2859. The TCB shall maintain a domain for its own execution that protects it
  2860. from external interference or tampering. 
  2861.  
  2862. Interpretation
  2863.  
  2864. If the TCB is composed of multiple TCB subsets, this requirement applies
  2865. to each TCB subset. 
  2866.  
  2867. B1-3.1.2 SYSTEM INTEGRITY
  2868.  
  2869. This requirement applies as stated in the TCSEC to every TCB subset that
  2870. includes hardware or firmware. Any TCB subset that does not include
  2871. hardware or firmware is exempt from this requirement. 
  2872.  
  2873. B1-3.2 LIFE CYCLE ASSURANCE
  2874.  
  2875. B1-3.2.1 SECURITY TESTING
  2876.  
  2877. This requirement applies as stated in the TCSEC to the entire TCB. If a
  2878. TCB consists of TCB subsets meeting the conditions for evaluation by
  2879. parts, the satisfaction of the requirements by each TCB subset satisfies
  2880. the requirement for the entire TCB. Otherwise, security testing of the
  2881. entire TCB must be performed (even if the results of testing the
  2882. individual TCB subsets were available). 
  2883.  
  2884. B1-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
  2885.  
  2886. This requirement applies as stated in the TCSEC to every TCB subset, with
  2887. the following specific additional interpretations. 
  2888.  
  2889. It must be demonstrated that the security policy enforced by the composite
  2890. TCB is represented by the collection of policy models for the individual
  2891. TCB subsets. 
  2892.  
  2893. Statement from TCSEC
  2894.  
  2895. An informal or formal model of the security policy supported by the TCB
  2896. shall be maintained over the life cycle of the ADP system and demonstrated
  2897. to be consistent with its axioms. 
  2898.  
  2899. Interpretation
  2900.  
  2901. If the TCB is composed of multiple TCB subsets, this requirement applies
  2902. to the security policy of each TCB subset. An informal argument that the
  2903. set of policy models represents the "security policy supported by the
  2904. [composite] TCB" must be provided. 
  2905.  
  2906. B1-4 DOCUMENTATION
  2907.  
  2908. B1-4.1 SECURITY FEATURES USER'S GUIDE
  2909.  
  2910. This requirement applies as stated in the TCSEC to every TCB subset in the
  2911. TCB. This collection of guides must include descriptions of every TCB
  2912. subset in the TCB and explicit cross-references to other related user's
  2913. guides to other TCB subsets, as required. In addition, interactions
  2914. between mechanisms within different TCB subsets must be clearly described.
  2915.  
  2916. B1-4.2 TRUSTED FACILITY MANUAL
  2917.  
  2918. This requirement applies as stated in the TCSEC to the TCB and to every
  2919. TCB subset in the TCB. This requirement can be met by providing a set of
  2920. manuals, one for each distinct (non-replicated) TCB subset. Each manual
  2921. shall address the functions and privileges to be controlled for the
  2922. associated TCB subset. Additionally, it must clearly show the interfaces
  2923. to, and the interaction with, more primitive TCB subsets. The manual for
  2924. each TCB subset shall identify the functions and privileges of the TCB
  2925. subsets on which the associated TCB subset depends. Also, the TCB subset's
  2926. manual shall identify which, if any, configuration options of the more
  2927. primitive TCB subsets are to be used for the composite TCB to operate
  2928. securely. 
  2929.  
  2930. Any pre-defined roles supported (e.g., database administrator) by the TCB
  2931. subset shall be addressed. 
  2932.  
  2933. The means for correlating multiple audit logs and synonymous user
  2934. identifications from multiple TCB subsets (if such exist) shall also be
  2935. addressed. 
  2936.  
  2937. The trusted facility manual shall describe the composite TCB so that the
  2938. interactions among the TCB subsets can be readily determined. Other
  2939. manuals may be referenced in this determination. The manuals that address
  2940. the distinct modules of the TCB and the generation of the TCB need to be
  2941. integrated with the other trusted facility manuals only to the extent that
  2942. they are affected by the use and operation (versus the development) of the
  2943. composite TCB. 
  2944.  
  2945. B1-4.3 TEST DOCUMENTATION
  2946.  
  2947. This requirement applies as stated in the TCSEC to the composite TCB. 
  2948.  
  2949. B1-4.4 DESIGN DOCUMENTATION
  2950.  
  2951. This requirement applies as stated in the TCSEC to the composite TCB, with
  2952. the following specific additional interpretation: 
  2953.  
  2954. Requirements concerning models and DTLSs apply to individual TCB subsets. 
  2955.  
  2956. Statement from TCSEC
  2957.  
  2958. If the TCB is composed of distinct modules, the interface between these
  2959. modules shall be described. 
  2960.  
  2961. Interpretation
  2962.  
  2963. If the TCB is composed of multiple subsets, this requirement applies to
  2964. each TCB subset and the interfaces between TCB subsets. 
  2965.  
  2966. Statement from TCSEC
  2967.  
  2968. The specific TCB protection mechanisms shall be identified and an
  2969. explanation given to show that they satisfy the model. 
  2970.  
  2971. Interpretation
  2972.  
  2973. If the TCB is composed of multiple subsets, this requirement applies to
  2974. each TCB subset and shall include the protection mechanisms which support
  2975. the conditions for TCB subset structure and separatesubset-domains. 
  2976.  
  2977. CLASS (B2): STRUCTURED PROTECTION
  2978.  
  2979. B2-1 SECURITY POLICY
  2980.  
  2981. B2-1.1 DISCRETIONARY ACCESS CONTROL
  2982.  
  2983. The discretionary access control requirements apply as stated in the TCSEC
  2984. to every TCB subset whose policy includes discretionary access control of
  2985. its subjects to its objects. Any TCB subset whose policy does not include
  2986. such discretionary access control is exempt from this requirement. 
  2987.  
  2988. B2-1.2 OBJECT REUSE
  2989.  
  2990. This requirement applies as stated in the TCSEC to every TCB subset in the
  2991. TCB. 
  2992.  
  2993. B2-1.3 LABELS
  2994.  
  2995. This requirement applies as stated in the TCSEC to every TCB subset whose
  2996. policy includes mandatory access control of its subjects to its objects.
  2997. Any TCB subset whose policy does not include such mandatory access control
  2998. is exempt from this requirement. 
  2999.  
  3000. Statement from TCSEC
  3001.  
  3002. Sensitivity labels associated with each ADP system resource . . . that is
  3003. directly or indirectly accessible by subjects external to the TCB shall be
  3004. maintained by the TCB 
  3005.  
  3006. Interpretation
  3007.  
  3008. Internal TCB variables that are not visible to untrusted subjects need not
  3009. be labeled, provided that they are not directly or indirectly accessible
  3010. by subjects external to the TCB. However, it is important to understand
  3011. that such internal variables can function as covert signaling channels
  3012. when untrusted subjects are able to detect changes in these variables by
  3013. observing system behavior. 
  3014.  
  3015. B2-1.3.1 LABEL INTEGRITY
  3016.  
  3017. This requirement applies as stated in the TCSEC to every TCB subset whose
  3018. policy includes mandatory access control of its subjects to its objects.
  3019. Any TCB subset whose policy does not include such mandatory access control
  3020. is exempt from this requirement. 
  3021.  
  3022. B2-1.3.2 EXPORTATION OF LABELED INFORMATION
  3023.  
  3024. This requirement applies as stated in the TCSEC to every TCB subset whose
  3025. policy includes mandatory access control of its subjects to its objects.
  3026. Any TCB subset whose policy does not include such mandatory access control
  3027. is exempt from this requirement. 
  3028.  
  3029. B2-1.3.3 SUBJECT SENSITIVITY LABELS
  3030.  
  3031. This requirement applies as stated in the TCSEC to the entire TCB. The
  3032. cooperative action of the TCB subsets making up the TCB must satisfy the
  3033. requirement. 
  3034.  
  3035. B2-1.3.4 DEVICE LABELS
  3036.  
  3037. This requirement applies as stated in the TCSEC to every TCB subset whose
  3038. policy includes mandatory access control of its subjects to its objects
  3039. and has attached physical or virtual devices. Any TCB subset whose policy
  3040. does not include such mandatory access control or has no attached physical
  3041. or virtual devices is exempt from this requirement. This requirement can
  3042. be satisifed by the cooperative action of more than one TCB subset. 
  3043.  
  3044. B2-1.4 MANDATORY ACCESS CONTROL
  3045.  
  3046. This requirement applies as stated in the TCSEC to every TCB subset whose
  3047. policy includes mandatory access control of its subjects to its objects.
  3048. Any TCB subset whose policy does not include such mandatory access control
  3049. is exempt from this requirement. 
  3050.  
  3051. B2-2 ACCOUNTABILITY
  3052.  
  3053. B2-2.1 IDENTIFICATION AND AUTHENTICATION
  3054.  
  3055. This requirement applies as stated in the TCSEC to the entire TCB. The
  3056. cooperative action of the TCB subsets making up the TCB must satisfy the
  3057. requirement. 
  3058.  
  3059. If the TCB is composed of TCB subsets, one TCB subset may either rely on a
  3060. mechanism in another TCB subset to provide identification and
  3061. authentication services or provide the services directly. Similarly, that
  3062. TCB subset may rely on a mechanism in another more primitive TCB subset to
  3063. ensure that the security level of subjects external to the TCB that may be
  3064. created to act on behalf of the individual user are dominated by the
  3065. clearance and authorization of that user. Each TCB subset may maintain its
  3066. own identification and authentication data or one central repository may
  3067. be maintained. If each TCB subset has its own data, then the information
  3068. for each individual user must be consistent among all subsets. 
  3069.  
  3070. B2-2.1.1 TRUSTED PATH
  3071.  
  3072. This requirement applies as stated in the TCSEC to the entire TCB. The
  3073. cooperative action of the TCB subsets making up the TCB must satisfy the
  3074. requirement. When TCB subsets are used, the requirement for trusted path
  3075. at levels B2 and above remains applicable to the entire TCB. The
  3076. implementation of trusted path could be localized in a single TCB subset.
  3077. Alternatively, it could be implemented in more than one TCB subset if the
  3078. separate implementations together comply with the system security policy. 
  3079.  
  3080. B2-2.2 AUDIT
  3081.  
  3082. This requirement applies as stated in the TCSEC to the entire TCB. The
  3083. cooperative action of the TCB subsets making up the TCB must satisfy the
  3084. requirement. 
  3085.  
  3086. A TCB subset may maintain its own security audit log, distinct from that
  3087. maintained by more primitive TCB subsets, or it may use an audit interface
  3088. provided by a different TCB subset allowing the audit records it generates
  3089. to be processed by that TCB subset. 
  3090.  
  3091. If the TCB subset uses different user identifications than a more
  3092. primitive TCB subset, there shall be a means to associate audit records
  3093. generated by different TCB subsets for the same individual with each
  3094. other, either at the time they are generated or later. 
  3095.  
  3096. Any TCB subset wherein events may occur that require notification of the
  3097. security administrator shall be able to: 
  3098.  
  3099. (1) detect the occurrence of these events, 
  3100.  
  3101. (2) initiate the recording of the audit trail entry, and 
  3102.  
  3103. (3) initiate the notification of the security administrator. 
  3104.  
  3105. The ability to terminate events (2) and (3) above may be provided either
  3106. in the TCB subset within which they occur, or in the TCB subset(s) where
  3107. actions that lead to the event were initiated. 
  3108.  
  3109. The monitoring and notification requirements may require cooperation
  3110. between multiple distinct TCB subsets or multiple instantiations of the
  3111. same TCB subset. For example, to detect the accumulation of events for a
  3112. single user it may be necessary to collect events from several subjects in
  3113. distinct processes that are surrogates for the same user. As another
  3114. example, there may be a single TCB subset that collects events from a
  3115. number of other TCB subset instantiations and, based on its analysis of
  3116. them, notifies the security administrator. 
  3117.  
  3118. Statement from TCSEC
  3119.  
  3120. The TCB shall be able to create, maintain, and protect from modification .
  3121. . . an audit trail of accesses to the objects it protects. 
  3122.  
  3123. Interpretation
  3124.  
  3125. Auditable events, in the case of a database management system, are the
  3126. individual operations initiated by untrusted users (e.g., updates,
  3127. retrievals, inserts), not just the invocation of the database management
  3128. system. The auditing mechanism shall have the capability of auditing all
  3129. mediated accesses which are visible to the user. That is, each
  3130. discretionary access control policy decision and each mandatory access
  3131. control policy decision shall be auditable. Individual operations
  3132. performed by trusted software, if totally transparent to the user, need
  3133. not be auditable. If the total audit requirement is met by the use of more
  3134. than one audit log, a method of correlation must be available. 
  3135.  
  3136. Statement from TCSEC
  3137.  
  3138. The TCB shall be able to create, maintain, and protect from modification .
  3139. . . an audit trail of accesses to the objects it protects. 
  3140.  
  3141. Interpretation
  3142.  
  3143. Auditable events, in the case of a database management system, are the
  3144. individual operations initiated by untrusted users (e.g., updates,
  3145. retrievals, and inserts), not just the invocation of the database
  3146. management system. The auditing mechanism shall have the capability of
  3147. auditing all mediated accesses which are visible to the user. That is,
  3148. each discretionary access control policy decision and each mandatory
  3149. access control policy decision shall be auditable. Individual operations
  3150. performed by trusted software, if totally transparent to the user, need
  3151. not be auditable. If the total audit requirement is met by the use of more
  3152. than one audit log, a method of correlation must be available. 
  3153.  
  3154. B2-3 ASSURANCE
  3155.  
  3156. B2-3.1 OPERATIONAL ASSURANCE
  3157.  
  3158. B2-3.1.1 SYSTEM ARCHITECTURE
  3159.  
  3160. This requirement applies as stated in the TCSEC to every TCB subset, with
  3161. the following additional interpretations. 
  3162.  
  3163. The TCB must provide domains for execution that are allocated to and used
  3164. by TCB subsets according to the subset-domain condition for evaluation by
  3165. parts. A most primitive TCB subset must provide domains for execution. A
  3166. less primitive TCB subset must make use of domains provided by a more
  3167. primitive TCB subset. A less primitive TCB subset may provide further
  3168. execution domains but is not required to do so. 
  3169.  
  3170. Similarly, the TCB must provide distinct address spaces for untrusted
  3171. processes. A most primitive TCB subset must provide distinct address
  3172. spaces for its subjects. A less primitive TCB subset must make use of the
  3173. distinct address space provided by a more primitive TCB subset. A less
  3174. primitive TCB subset may provide more fine-grained distinct address
  3175. spaces, but is not required to do so. 
  3176.  
  3177. In general, requirements specifically referring to hardware or firmware
  3178. apply only to TCB subsets that include hardware or firmware. The exception
  3179. is the requirement that the TCB make effective use of available hardware.
  3180. This requirement applies to those TCB subsets that use resources provided
  3181. by more primitive TCB subsets in lieu of hardware. Those TCB subsets are
  3182. required to make effective use of the protection-relevant features
  3183. exported to it by the more primitive TCB subsets (e.g., execution domains,
  3184. support for distinct address spaces) to separate those elements that are
  3185. protection-critical from those that are not. 
  3186.  
  3187. Statement from TCSEC
  3188.  
  3189. The TCB shall maintain a domain for its own execution that protects it
  3190. from external interference or tampering. 
  3191.  
  3192. Interpretation
  3193.  
  3194. If the TCB is composed of multiple TCB subsets, this requirement applies
  3195. to each TCB subset. 
  3196.  
  3197. Statement from TCSEC
  3198.  
  3199. The user interface to the TCB shall be completely defined and all elements
  3200. of the TCB identified. 
  3201.  
  3202. Interpretation
  3203.  
  3204. If the TCB is composed of multiple subsets, this requirement applies to
  3205. the interface between the TCB subsets as well as the user interface to the
  3206. whole TCB. 
  3207.  
  3208. Statement from TCSEC
  3209.  
  3210. It shall make effective use of available hardware to separate those
  3211. elements that are protection-critical from those that are not. 
  3212.  
  3213. Interpretation
  3214.  
  3215. If the TCB is composed of multiple subsets, each TCB subset must make use
  3216. of facilities provided to it by more primitive TCB subsets, such as
  3217. support for execution domains and for distinct address spaces, to achieve
  3218. the required separation. 
  3219.  
  3220. B2-3.1.2 SYSTEM INTEGRITY
  3221.  
  3222. This requirement applies as stated in the TCSEC to every TCB subset that
  3223. includes hardware or firmware. Any TCB subset that does not include
  3224. hardware or firmware is exempt from this requirement. 
  3225.  
  3226. B2-3.1.3 COVERT CHANNEL ANALYSIS
  3227.  
  3228. This requirement applies as stated in the TCSEC to the entire TCB. When
  3229. the TCB is made up entirely of TCB subsets meeting the conditions for
  3230. evaluation by parts, analysis of the individual TCB subsets satisfies this
  3231. requirement. Otherwise, covert channel analysis of the entire TCB must be
  3232. performed (even if the results of covert channel analysis of the
  3233. individual TCB subsets were available). 
  3234.  
  3235. B2-3.1.4 TRUSTED FACILITY MANAGEMENT
  3236.  
  3237. This requirement applies as stated in the TCSEC to the entire TCB. Any
  3238. "operator" or "administrator" functions intrinsic to an individual TCB
  3239. subset must be supported by that TCB subset or by a more primitive TCB
  3240. subset. 
  3241.  
  3242. B2-3.2 LIFE CYCLE ASSURANCE
  3243.  
  3244. B2-3.2.1 SECURITY TESTING
  3245.  
  3246. This requirement applies as stated in the TCSEC to the entire TCB. If a
  3247. TCB consists of TCB subsets meeting the conditions for evaluation by
  3248. parts, the satisfaction of the requirements by each TCB subset satisfies
  3249. the requirement for the entire TCB. Otherwise, security testing of the
  3250. entire TCB must be performed (even if the results of testing the
  3251. individual TCB subsets were available). 
  3252.  
  3253. B2-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
  3254.  
  3255. This requirement applies as stated in the TCSEC to every TCB subset, with
  3256. the following specific additional interpretations. 
  3257.  
  3258. It must be demonstrated that the security policy enforced by the composite
  3259. TCB is represented by the collection of policy models for the individual
  3260. TCB subsets. 
  3261.  
  3262. The argument that the descriptive top level specification (DTLS) is
  3263. consistent with the TCB interface applies to the entire TCB. There is
  3264. required an explicit and convincing description of how the set of top
  3265. level specifications (one for each TCB subset) describes the TCB interface
  3266. in terms of exceptions, errors, and effects. 
  3267.  
  3268. Statement from TCSEC
  3269.  
  3270. A formal model of the security policy supported by the TCB shall be
  3271. maintained over the life cycle of the ADP system and demonstrated to be
  3272. consistent with its axioms. 
  3273.  
  3274. Interpretation
  3275.  
  3276. If the TCB is composed of multiple TCB subsets, this requirement applies
  3277. to the security policy of each TCB subset. An informal argument that the
  3278. set of policy models represents the "security policy supported by the
  3279. [composite] TCB" must be provided. 
  3280.  
  3281. Statement from TCSEC
  3282.  
  3283. A descriptive top-level specification (DTLS) of the TCB shall be
  3284. maintained that completely and accurately describes the TCB in terms of
  3285. exceptions, error messages, and effects. 
  3286.  
  3287. Interpretation
  3288.  
  3289. If the TCB is composed of multiple TCB subsets, this requirement applies
  3290. to the DTLS of each TCB subset. An informal argument that the set of DTLSs
  3291. accurately describes the TCB must be provided. 
  3292.  
  3293. If there is a multifaceted policy (e.g., both mandatory access control and
  3294. discretionary access control policies) in a particular TCB subset, then
  3295. all facets must be represented in the DTLS and in the TCB subset's model. 
  3296.  
  3297. Statement from TCSEC
  3298.  
  3299. The descriptive top-level specification (DTLS) shall be shown to be an
  3300. accurate description of the TCB interface. 
  3301.  
  3302. Interpretation
  3303.  
  3304. If the TCB is composed of multiple subsets, this requirement applies to
  3305. the interface between the TCB subsets as well as to the user interface of
  3306. the composite TCB. The TCB interface description shall include an
  3307. explanation of how to describe the total TCB accurately, in the context of
  3308. the multiple TCB subset DTLSs. 
  3309.  
  3310. B2-3.2.3 Configuration Management
  3311.  
  3312. This requirement applies as stated in the TCSEC to every TCB subset in the
  3313. TCB, with the following additional interpretation. Because subsets of the
  3314. TCB may be developed independently, a single configuration management
  3315. system may not be feasible. However, the combination of configuration
  3316. management systems used to support all the TCB subsets must meet all the
  3317. stated requirements. The information describing the interrelations between
  3318. separate TCB subsets and separate security policy models falls into the
  3319. category of "all documentation and code associated with the current
  3320. version of the TCB" in the TCSEC requirements. 
  3321.  
  3322. B2-4 DOCUMENTATION
  3323.  
  3324. B2-4.1 SECURITY FEATURES USER'S GUIDE
  3325.  
  3326. This requirement applies as stated in the TCSEC to every TCB subset in the
  3327. TCB. This collection of guides must include descriptions of every TCB
  3328. subset in the TCB and explicit cross-references to other related user's
  3329. guides to other TCB subsets, as required. In addition, interactions
  3330. between mechanisms within different TCB subsets must be clearly described.
  3331.  
  3332. B2-4.2 TRUSTED FACILITY MANUAL
  3333.  
  3334. This requirement applies as stated in the TCSEC to the TCB and to every
  3335. TCB subset in the TCB. This requirement can be met by providing a set of
  3336. manuals, one for each distinct (non-replicated) TCB subset. Each manual
  3337. shall address the functions and privileges to be controlled for the
  3338. associated TCB subset. Additionally, it must clearly show the interfaces
  3339. to, and the interaction with, more primitive TCB subsets. The manual for
  3340. each TCB subset shall identify the functions and privileges of the TCB
  3341. subsets on which the associated TCB subset depends. Also, the TCB subset's
  3342. manual shall identify which, if any, configuration options of the more
  3343. primitive TCB subsets are to be used for the composite TCB to operate
  3344. securely. 
  3345.  
  3346. Any pre-defined roles supported (e.g., database administrator) by the TCB
  3347. subset shall be addressed. The means for correlating multiple audit logs
  3348. and synonymous user identifications from multiple TCB subsets (if such
  3349. exist) shall also be addressed. 
  3350.  
  3351. The trusted facility manual shall describe the composite TCB so that the
  3352. interactions among the TCB subsets can be readily determined. Other
  3353. manuals may be referenced in this determination. The manuals that address
  3354. the distinct modules of the TCB and the generation of the TCB need to be
  3355. integrated with the other trusted facility manuals only to the extent that
  3356. they are affected by the use and operation (versus the development) of the
  3357. composite TCB. 
  3358.  
  3359. The TCB modules that contain the reference validation mechanism must be
  3360. associated with the TCB subset to which they belong. The procedure for
  3361. generating a new TCB after modifying only one (or several) TCB subsets
  3362. must be described. This may be accommodated by independent regeneration of
  3363. the individual TCB subsets or by regeneration of only the affected TCB
  3364. subsets. 
  3365.  
  3366. B2-4.3 TEST DOCUMENTATION
  3367.  
  3368. This requirement applies as stated in the TCSEC to the composite TCB. 
  3369.  
  3370. B2-4.4 DESIGN DOCUMENTATION
  3371.  
  3372. This requirement applies as stated in the TCSEC to the composite TCB, with
  3373. the following specific addditional interpretations. Requirements
  3374. concerning models and DTLSs apply to individual TCB subsets. The
  3375. requirement concerning the description of interfaces between modules of
  3376. the TCB includes the interfaces between TCB subsets. The documentation of
  3377. the implementation of a reference validation mechanism must include
  3378. justification for meeting the conditions for evaluation by parts. 
  3379.  
  3380. Statement from TCSEC
  3381.  
  3382. The interfaces between the TCB modules shall be described. 
  3383.  
  3384. Interpretation
  3385.  
  3386. If the TCB is composed of multiple subsets, this requirement applies to
  3387. each TCB subset and the interfaces between TCB subsets. 
  3388.  
  3389. Statement from TCSEC
  3390.  
  3391. The specific TCB protection mechanisms shall be identified and an
  3392. explanation given to show that they satisfy the model. 
  3393.  
  3394. Interpretation
  3395.  
  3396. If the TCB is composed of multiple subsets, this
  3397. requirement applies to each TCB subset and shall include
  3398. the protection mechanisms which support the conditions for
  3399. TCB subset structure and separate subset-domains.
  3400.  
  3401. Statement from TCSEC
  3402.  
  3403. The descriptive top-level specification (DTLS) shall be shown to be an
  3404. accurate description of the TCB interface. 
  3405.  
  3406. Interpretation
  3407.  
  3408. If the TCB is composed of multiple subsets, this requirement applies to
  3409. the interface between the TCB subsets as well as to the user interface of
  3410. the composite TCB. The TCB interface description shall include an
  3411. explanation of how to describe the total TCB accurately, in the context of
  3412. the multiple TCB subset DTLSs. 
  3413.  
  3414. Statement from TCSEC
  3415.  
  3416. Documentation shall describe how the TCB implements the reference monitor
  3417. concept and give an explanation of why it is tamper resistant, cannot be
  3418. bypassed, and is correctly implemented. 
  3419.  
  3420. Interpretation
  3421.  
  3422. If the TCB is composed of multiple TCB subsets, this requirement is
  3423. interpreted to apply to each TCB subset with respect to its specific
  3424. technical policy. In addition, there must be documented an informal
  3425. argument that the cooperative action of the TCB subsets makes the TCB
  3426. itself tamper resistant, non-bypassable, and correct. 
  3427.  
  3428. Statement from TCSEC
  3429.  
  3430. Documentation shall describe how the TCB is structured to facilitate
  3431. testing and to enforce least privilege. 
  3432.  
  3433. Interpretation
  3434.  
  3435. If the TCB is composed of multiple subsets, this requirement is
  3436. interpreted to apply to individual TCB subsets as well as to the overall
  3437. TCB. 
  3438.  
  3439. CLASS (B3): SECURITY DOMAINS
  3440.  
  3441. B3-1 SECURITY POLICY 
  3442.  
  3443. B3-1.1 DISCRETIONARY ACCESS CONTROL
  3444.  
  3445. The discretionary access control requirements apply as stated in the TCSEC
  3446. to every TCB subset whose policy includes discretionary access control of
  3447. its subjects to its objects. Any TCB subset whose policy does not include
  3448. such discretionary access control is exempt from this requirement. 
  3449.  
  3450. B3-1.2 OBJECT REUSE
  3451.  
  3452. This requirement applies as stated in the TCSEC to every TCB subset in the
  3453. TCB. 
  3454.  
  3455. B3-1.3 LABELS
  3456.  
  3457. This requirement applies as stated in the TCSEC to every TCB subset whose
  3458. policy includes mandatory access control of its subjects to its objects.
  3459. Any TCB subset whose policy does not include such mandatory access control
  3460. is exempt from this requirement. 
  3461.  
  3462. Statement from TCSEC
  3463.  
  3464. Sensitivity labels associated with each ADP system resource . . . that is
  3465. directly or indirectly accessible by subjects external to the TCB shall be
  3466. maintained by the TCB 
  3467.  
  3468. Interpretation
  3469.  
  3470. Internal TCB variables that are not visible to untrusted subjects need not
  3471. be labeled, provided that they are not directly or indirectly accessible
  3472. by subjects external to the TCB. However, it is important to understand
  3473. that such internal variables can function as covert signaling channels
  3474. when untrusted subjects are able to detect changes in these variables by
  3475. observing system behavior. 
  3476.  
  3477. B3-1.3.1 LABEL INTEGRITY
  3478.  
  3479. This requirement applies as stated in the TCSEC to every TCB subset whose
  3480. policy includes mandatory access control of its subjects to its objects.
  3481. Any TCB subset whose policy does not include such mandatory access control
  3482. is exempt from this requirement. 
  3483.  
  3484. B3-1.3.2 EXPORTATION OF LABELED INFORMATION
  3485.  
  3486. This requirement applies as stated in the TCSEC to every TCB subset whose
  3487. policy includes mandatory access control of its subjects to its objects.
  3488. Any TCB subset whose policy does not include such mandatory access control
  3489. is exempt from this requirement. 
  3490.  
  3491. B3-1.3.3 SUBJECT SENSITIVITY LABELS
  3492.  
  3493. This requirement applies as stated in the TCSEC to the entire TCB. The
  3494. cooperative action of the TCB subsets making up the TCB must satisfy the
  3495. requirement. 
  3496.  
  3497. B3-1.3.4 DEVICE LABELS
  3498.  
  3499. This requirement applies as stated in the TCSEC to every TCB subset whose
  3500. policy includes mandatory access control of its subjects to its objects
  3501. and has attached physical or virtual devices. Any TCB subset whose policy
  3502. does not include such mandatory access control or has no attached physical
  3503. or virtual devices is exempt from this requirement. This requirement can
  3504. be satisifed by the cooperative action of more than one TCB subset. 
  3505.  
  3506. B3-1.4 MANDATORY ACCESS CONTROL
  3507.  
  3508. This requirement applies as stated in the TCSEC to every TCB subset whose
  3509. policy includes mandatory access control of its subjects to its objects.
  3510. Any TCB subset whose policy does not include such mandatory access control
  3511. is exempt from this requirement. 
  3512.  
  3513. B3-2 ACCOUNTABILITY
  3514.  
  3515. B3-2.1 IDENTIFICATION AND AUTHENTICATION
  3516.  
  3517. This requirement applies as stated in the TCSEC to the entire TCB. The
  3518. cooperative action of the TCB subsets making up the TCB must satisfy the
  3519. requirement. 
  3520.  
  3521. If the TCB is composed of TCB subsets, one TCB subset may either rely on a
  3522. mechanism in another TCB subset to provide identification and
  3523. authentication services or provide the services directly. Similarly, that
  3524. TCB subset may rely on a mechanism in another more primitive TCB subset to
  3525. ensure that the security level of subjects external to the TCB that may be
  3526. created to act on behalf of the individual user are dominated by the
  3527. clearance and authorization of that user. Each TCB subset may maintain its
  3528. own identification and authentication data or one central repository may
  3529. be maintained. If each TCB subset has its own data, then the information
  3530. for each individual user must be consistent among all subsets. 
  3531.  
  3532. B3-2.1.1 TRUSTED PATH
  3533.  
  3534. This requirement applies as stated in the TCSEC to the entire TCB. The
  3535. cooperative action of the TCB subsets making up the TCB must satisfy the
  3536. requirement. 
  3537.  
  3538. When TCB subsets are used, the requirement for trusted path at levels B2
  3539. and above remains applicable to the entire TCB. The need for trusted path
  3540. "when positive TCB-to-user connection is required (e.g., login, change
  3541. subject security level)" can require user interaction with virtually any
  3542. TCB subset within the TCB. The implementation of trusted path could be
  3543. localized in a single TCB subset. Alternatively, it could be implemented
  3544. in more than one TCB subset if the separate implementations together
  3545. comply with the system security policy. 
  3546.  
  3547. B3-2.2 AUDIT
  3548.  
  3549. This requirement applies as stated in the TCSEC to the entire TCB. The
  3550. cooperative action of the TCB subsets making up the TCB must satisfy the
  3551. requirement. A TCB subset may maintain its own security audit log,
  3552. distinct from that maintained by more primitive TCB subsets, or it may use
  3553. an audit interface provided by a different TCB subset allowing the audit
  3554. records it generates to be processed by that TCB subset. If the TCB subset
  3555. uses different user identifications than a more primitive TCB subset,
  3556. there shall be a means to associate audit records generated by different
  3557. TCB subsets for the same individual with each other, either at the time
  3558. they are generated or at some later time. 
  3559.  
  3560. Any TCB subset wherein events may occur that require notification of the
  3561. security administrator shall be able to: (1) detect the occurrence of
  3562. these events, (2) initiate the recording of the audit trail entry, and (3)
  3563. initiate the notification of the security administrator The ability to
  3564. terminate events (2) and (3) above may be provided either in the TCB
  3565. subset within which they occur, or in the TCB subset(s) where actions that
  3566. lead to the event were initiated. The monitoring and notification
  3567. requirements may require cooperation between multiple distinct TCB subsets
  3568. or multiple instantiations of the same TCB subset. For example, to detect
  3569. the accumulation of events for a single user it may be necessary to
  3570. collect events from several subjects in distinct processes that are
  3571. surrogates for the same user. As another example, there may be a single
  3572. TCB subset that collects events from a number of other TCB subset
  3573. instantiations and, based on its analysis of them, notifies the security
  3574. administrator. 
  3575.  
  3576. Statement from TCSEC
  3577.  
  3578. The TCB shall be able to create, maintain, and protect from modification .
  3579. . . an audit trail of accesses to the objects it protects. 
  3580.  
  3581. Interpretation
  3582.  
  3583. Auditable events, in the case of a database management system, are the
  3584. individual operations initiated by untrusted users (e.g., updates,
  3585. retrievals, inserts), not just the invocation of the database management
  3586. system. The auditing mechanism shall have the capability of auditing all
  3587. mediated accesses which are visible to the user. That is, each
  3588. discretionary access control policy decision and each mandatory access
  3589. control policy decision shall be auditable. Individual operations
  3590. performed by trusted software, if totally transparent to the user, need
  3591. not be audited. If the total audit requirement is met by the use of more
  3592. than one audit log, a method of correlation must be available. 
  3593.  
  3594. Statement from TCSEC
  3595.  
  3596. The TCB shall be able to create, maintain, and protect from modification .
  3597. . . an audit trail of accesses to the objects it protects. 
  3598.  
  3599. Interpretation
  3600.  
  3601. Auditable events, in the case of a database management system, are the
  3602. individual operations initiated by untrusted users (e.g., updates,
  3603. retrievals, and inserts), not just the invocation of the database
  3604. management system. The auditing mechanism shall have the capability of
  3605. auditing all mediated accesses which are visible to the user. That is,
  3606. each discretionary access control policy decision and each mandatory
  3607. access control policy decision shall be auditable. Individual operations
  3608. performed by trusted software, if totally transparent to the user, need
  3609. not be auditable. If the total audit requirement is met by the use of more
  3610. than one audit log, a method of correlation must be available. 
  3611.  
  3612. B3-3 ASSURANCE
  3613.  
  3614. B3-3.1 OPERATIONAL ASSURANCE 1 
  3615.  
  3616. B3-3.1.1 System Architecture
  3617.  
  3618. This requirement applies as stated in the TCSEC to every TCB subset, with
  3619. the following additional interpretations. The TCB must provide domains for
  3620. execution that are allocated to and used by TCB subsets according to the
  3621. subset-domain condition for evaluation by parts. A most primitive TCB
  3622. subset must provide domains for execution. A less primitive TCB subset
  3623. must make use of domains provided by a more primitive TCB subset. A less
  3624. primitive TCB subset may provide further execution domains but is not
  3625. required to do so. 
  3626.  
  3627. Similarly, the TCB must provide distinct address spaces for untrusted
  3628. processes. A most primitive TCB subset must provide distinct address
  3629. spaces for its subjects. A less primitive TCB subset must make use of the
  3630. distinct address space provided by a more primitive TCB subset. A less
  3631. primitive TCB subset may provide more fine-grained distinct address
  3632. spaces, but is not required to do so. 
  3633.  
  3634. In general, requirements specifically referring to hardware or firmware
  3635. apply only to TCB subsets that include hardware or firmware. However, the
  3636. requirement that the TCB make effective use of hardware requires that a
  3637. less primitive TCB subset make effective use of the protection-relevant
  3638. features exported to it by the more primitive TCB subsets (e.g., execution
  3639. domains, support for distinct address spaces) to separate those elements
  3640. that are protection-critical from those that are not. 
  3641.  
  3642. Statement from TCSEC
  3643.  
  3644. The TCB shall maintain a domain for its own execution that protects it
  3645. from external interference or tampering. 
  3646.  
  3647. Interpretation
  3648.  
  3649. If the TCB is composed of multiple TCB subsets, this requirement applies
  3650. to each TCB subset. 
  3651.  
  3652. Statement from TCSEC
  3653.  
  3654. The user interface to the TCB shall be completely defined and all elements
  3655. of the TCB identified. 
  3656.  
  3657. Interpretation
  3658.  
  3659. If the TCB is composed of multiple subsets, this requirement applies to
  3660. the interface between the TCB subsets as well as the user interface to the
  3661. whole TCB. 
  3662.  
  3663. Statement from TCSEC
  3664.  
  3665. It shall make effective use of available hardware to separate those
  3666. elements that are protection-critical from those that are not. 
  3667.  
  3668. Interpretation
  3669.  
  3670. If the TCB is composed of multiple subsets, each TCB subset must make use
  3671. of facilities provided to it by more primitive TCB subsets, such as
  3672. support for execution domains and for distinct address spaces, to achieve
  3673. the required separation. 
  3674.  
  3675. B3-3.1.2 SYSTEM INTEGRITY
  3676.  
  3677. This requirement applies as stated in the TCSEC to every TCB subset that
  3678. includes hardware or firmware. Any TCB subset that does not include
  3679. hardware or firmware is exempt from this requirement. 
  3680.  
  3681. B3-3.1.3 COVERT CHANNEL ANALYSIS
  3682.  
  3683. This requirement applies as stated in the TCSEC to the entire TCB. When
  3684. the TCB is made up entirely of TCB subsets meeting the conditions for
  3685. evaluation by parts, analysis of the individual TCB subsets satisfies this
  3686. requirement. Otherwise, covert channel analysis of the entire TCB must be
  3687. performed (even if the results of covert channel analysis of the
  3688. individual TCB subsets were available). 
  3689.  
  3690. B3-3.1.4 TRUSTED FACILITY MANAGEMENT
  3691.  
  3692. This requirement applies as stated in the TCSEC to the entire TCB. Any
  3693. "operator" or "administrator" functions intrinsic to an individual TCB
  3694. subset must be supported by that TCB subset or by a more primitive TCB
  3695. subset. 
  3696.  
  3697. B3-3.1.5 TRUSTED RECOVERY
  3698.  
  3699. This requirement applies as stated in the TCSEC to the entire TCB and to
  3700. the individual TCB subsets. The cooperative recovery actions of the TCB
  3701. subsets making up the TCB must provide trusted recovery for the overall
  3702. TCB. Otherwise, trusted recovery evaluation must address the entire TCB
  3703. (even if the individual TCB subsets meet the trusted recovery
  3704. requirements). 
  3705.  
  3706. B3-3.2 LIFE CYCLE ASSURANCE
  3707.  
  3708. B3-3.2.1 SECURITY TESTING
  3709.  
  3710. This requirement applies as stated in the TCSEC to the entire TCB. If a
  3711. TCB consists of TCB subsets meeting the conditions for evaluation by
  3712. parts, the satisfaction of the requirements by each TCB subset satisfies
  3713. the requirement for the entire TCB. 
  3714.  
  3715. Otherwise, security testing of the entire TCB must be performed (even if
  3716. the results of testing the individual TCB subsets were available). 
  3717.  
  3718. B3-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
  3719.  
  3720. This requirement applies as stated in the TCSEC to every TCB subset, with
  3721. the following specific additional interpretations. 
  3722.  
  3723. It must be demonstrated that the security policy enforced by the composite
  3724. TCB is represented by the collection of policy models for the individual
  3725. TCB subsets. 
  3726.  
  3727. The argument that the descriptive top level specification (DTLS) is
  3728. consistent with the TCB interface applies to the entire TCB. There is
  3729. required an explicit and convincing description of how the set of top
  3730. level specifications (one for each TCB subset) describes the TCB interface
  3731. in terms of exceptions, errors, and effects. 
  3732.  
  3733. Statement from TCSEC
  3734.  
  3735. A formal model of the security policy supported by the TCB shall be
  3736. maintained over the life cycle of the ADP system and demonstrated to be
  3737. consistent with its axioms. 
  3738.  
  3739. Interpretation
  3740.  
  3741. If the TCB is composed of multiple TCB subsets, this requirement applies
  3742. to the security policy of each TCB subset. An informal argument that the
  3743. set of policy models represents the "security policy supported by the
  3744. [composite] TCB" must be provided. 
  3745.  
  3746. Statement from TCSEC
  3747.  
  3748. A descriptive top-level specification (DTLS) of the TCB shall be
  3749. maintained that completely and accurately describes the TCB in terms of
  3750. exceptions, error messages, and effects. 
  3751.  
  3752. Interpretation
  3753.  
  3754. If the TCB is composed of multiple TCB subsets, this requirement applies
  3755. to the DTLS of each TCB subset. An informal argument that the set of DTLSs
  3756. accurately describes the TCB must be provided. 
  3757.  
  3758. If there is a multifaceted policy (e.g., both mandatory access control and
  3759. discretionary access control policies) in a particular TCB subset, then
  3760. all facets must be represented in the DTLS and in the TCB subset's model. 
  3761.  
  3762. Statement from TCSEC
  3763.  
  3764. The descriptive top-level specification (DTLS) shall be shown to be an
  3765. accurate description of the TCB interface. 
  3766.  
  3767. Interpretation
  3768.  
  3769. If the TCB is composed of multiple subsets, this requirement applies to
  3770. the interface between the TCB subsets as well as to the user interface of
  3771. the composite TCB. The TCB interface description shall include an
  3772. explanation of how to describe the total TCB accurately, in the context of
  3773. the multiple TCB subset DTLSs. 
  3774.  
  3775. Statement from TCSEC
  3776.  
  3777. A convincing argument shall be given that the DTLS is consistent with the
  3778. model. 
  3779.  
  3780. Interpretation
  3781.  
  3782. If the TCB is composed of multiple TCB subsets, this requirement applies
  3783. to individual TCB subsets. Enforcement of all policies must be shown to
  3784. occur in all situations (e.g., state transitions) required by the formal
  3785. security policy model. In the case of a discretionary access control
  3786. policy, the presence of the access control check at all identified state
  3787. transitions is the total of what is required for demonstrating consistency
  3788. between the DTLS and the model. This may be verified by inspection of the
  3789. DTLS (that is, by visually checking that exception checks required by the
  3790. model are present in the DTLS). For the mandatory access control policy,
  3791. the DTLS must be shown by a convincing argument to be consistent with the
  3792. model. 
  3793.  
  3794. B3-3.2.3 CONFIGURATION MANAGEMENT
  3795.  
  3796. This requirement applies as stated in the TCSEC to every TCB subset in the
  3797. TCB, with the following additional interpretation. 
  3798.  
  3799. Because subsets of the TCB may be developed independently, a single
  3800. configuration management system may not be feasible. However, the
  3801. combination of configuration management systems used to support all the
  3802. TCB subsets must meet all the stated requirements. The information
  3803. describing the interrelations between separate TCB subsets and separate
  3804. security policy models falls into the category of "all documentation and
  3805. code associated with the current version of the TCB" in the TCSEC
  3806. requirements. 
  3807.  
  3808. B3-4 DOCUMENTATION
  3809.  
  3810. B3-4.1 SECURITY FEATURES USER'S GUIDE
  3811.  
  3812. This requirement applies as stated in the TCSEC to every TCB subset in the
  3813. TCB. This collection of guides must include descriptions of every TCB
  3814. subset in the TCB and explicit cross-references to other related user's
  3815. guides to other TCB subsets, as required. In addition, interactions
  3816. between mechanisms within different TCB subsets must be clearly described.
  3817.  
  3818. B3-4.2 TRUSTED FACILITY MANUAL
  3819.  
  3820. This requirement applies as stated in the TCSEC to the TCB and to every
  3821. TCB subset in the TCB. This requirement can be met by providing a set of
  3822. manuals, one for each distinct (non-replicated) TCB subset. Each manual
  3823. shall address the functions and privileges to be controlled for the
  3824. associated TCB subset. Additionally, it must clearly show the interfaces
  3825. to, and the interaction with, more primitive TCB subsets. The manual for
  3826. each TCB subset shall identify the functions and privileges of the TCB
  3827. subsets on which the associated TCB subset depends. Also, the TCB subset's
  3828. manual shall identify which, if any, configuration options of the more
  3829. primitive TCB subsets are to be used for the composite TCB to operate
  3830. securely. 
  3831.  
  3832. Any pre-defined roles supported (e.g., database administrator) by the TCB
  3833. subset shall be addressed. 
  3834.  
  3835. The means for correlating multiple audit logs and synonymous user
  3836. identifications from multiple TCB subsets (if such exist) shall also be
  3837. addressed. 
  3838.  
  3839. The trusted facility manual shall describe the composite TCB so that the
  3840. interactions among the TCB subsets can be readily determined. Other
  3841. manuals may be referenced in this determination. The manuals that address
  3842. the distinct modules of the TCB and the generation of the TCB need to be
  3843. integrated with the other trusted facility manuals only to the extent that
  3844. they are affected by the use and operation (versus the development) of the
  3845. composite TCB. 
  3846.  
  3847. The TCB modules that contain the reference validation mechanism must be
  3848. associated with the TCB subset to which they belong. The procedure for
  3849. generating a new TCB after modifying only one (or several) TCB subsets
  3850. must be described. This may be accommodated by independent regeneration of
  3851. the individual TCB subsets or by regeneration of only the affected TCB
  3852. subsets. 
  3853.  
  3854. B3-4.3 TEST DOCUMENTATION
  3855.  
  3856. This requirement applies as stated in the TCSEC to the composite TCB. 
  3857.  
  3858. B3-4.4 DESIGN DOCUMENTATION
  3859.  
  3860. This requirement applies as stated in the TCSEC to the composite TCB, with
  3861. the following addtional specific interpretations Requirements concerning
  3862. models and DTLSs apply to individual TCB subsets. The requirement
  3863. concerning the description of interfaces between modules of the TCB
  3864. includes the interfaces between TCB subsets. The documentation of the
  3865. implementation of a reference validation mechanism must include
  3866. justification for meeting the conditions for evaluation by parts. 
  3867.  
  3868. Statement from TCSEC
  3869.  
  3870. The interfaces between the TCB modules shall be described. 
  3871.  
  3872. Interpretation
  3873.  
  3874. If the TCB is composed of multiple subsets, this requirement applies to
  3875. each TCB subset and the interfaces between TCB subsets. 
  3876.  
  3877. Statement from TCSEC
  3878.  
  3879. The specific TCB protection mechanisms shall be identified and an
  3880. explanation given to show that they satisfy the model. 
  3881.  
  3882. Interpretation
  3883.  
  3884. If the TCB is composed of multiple subsets, this requirement applies to
  3885. each TCB subset and shall include the protection mechanisms which support
  3886. the conditions for TCB subset structure and separate subset-domains. 
  3887.  
  3888. Statement from TCSEC
  3889.  
  3890. The descriptive top-level specification (DTLS) shall be shown to be an
  3891. accurate description of the TCB interface. 
  3892.  
  3893. Interpretation
  3894.  
  3895. If the TCB is composed of multiple subsets, this requirement applies to
  3896. the interface between the TCB subsets as well as to the user interface of
  3897. the composite TCB. The TCB interface description shall include an
  3898. explanation of how to describe the total TCB accurately, in the context of
  3899. the multiple TCB subset DTLSs. 
  3900.  
  3901. Statement from TCSEC
  3902.  
  3903. Documentation shall describe how the TCB implements the reference monitor
  3904. concept and give an explanation of why it is tamper resistant, cannot be
  3905. bypassed, and is correctly implemented. 
  3906.  
  3907. Interpretation
  3908.  
  3909. If the TCB is composed of multiple TCB subsets, this
  3910. requirement is interpreted to apply to each TCB subset with
  3911. respect to its specific technical policy. In addition,
  3912. there must be documented an informal argument that the
  3913. cooperative action of the TCB subsets makes the TCB itself
  3914. tamper resistant, non-bypassable, and correct.
  3915.  
  3916. Statement from TCSEC
  3917.  
  3918. Documentation shall describe how the TCB is structured to facilitate
  3919. testing and to enforce least privilege. 
  3920.  
  3921. Interpretation
  3922.  
  3923. If the TCB is composed of multiple subsets, this requirement is
  3924. interpreted to apply to individual TCB subsets as well as to the overall
  3925. TCB. 
  3926.  
  3927. Statement from TCSEC
  3928.  
  3929. The TCB implementation shall be informally shown to be consistent with the
  3930. DTLS. 
  3931.  
  3932. Interpretation
  3933.  
  3934. If the TCB is composed of multiple TCB subsets, this requirement is
  3935. interpreted to apply to individual TCB subsets. 
  3936.  
  3937. CLASS (A1): VERIFIED DESIGN
  3938.  
  3939. A1-1 SECURITY POLICY 
  3940.  
  3941. A1-1.1 DISCRETIONARY ACCESS CONTROL
  3942.  
  3943. The discretionary access control requirements apply as stated in the TCSEC
  3944. to every TCB subset whose policy includes discretionary access control of
  3945. its subjects to its objects. Any TCB subset whose policy does not include
  3946. such discretionary access control is exempt from this requirement. 
  3947.  
  3948. A1-1.2 OBJECT REUSE
  3949.  
  3950. This requirement applies as stated in the TCSEC to every TCB subset in the
  3951. TCB. 
  3952.  
  3953. A1-1.3 LABELS
  3954.  
  3955. This requirement applies as stated in the TCSEC to every TCB subset whose
  3956. policy includes mandatory access control of its subjects to its objects.
  3957. Any TCB subset whose policy does not include such mandatory access control
  3958. is exempt from this requirement. 
  3959.  
  3960. Statement from TCSEC
  3961.  
  3962. Sensitivity labels associated with each ADP system resource . . . that is
  3963. directly or indirectly accessible by subjects external to the TCB shall be
  3964. maintained by the TCB 
  3965.  
  3966. Interpretation
  3967.  
  3968. Internal TCB variables that are not visible to untrusted subjects need not
  3969. be labeled, provided that they are not directly or indirectly accessible
  3970. by subjects external to the TCB. However, it is important to understand
  3971. that such internal variables can function as covert signaling channels
  3972. when untrusted subjects are able to detect changes in these variables by
  3973. observing system behavior. 
  3974.  
  3975. A1-1.3.1 LABEL INTEGRITY
  3976.  
  3977. This requirement applies as stated in the TCSEC to every TCB subset whose
  3978. policy includes mandatory access control of its subjects to its objects.
  3979. Any TCB subset whose policy does not include such mandatory access control
  3980. is exempt from this requirement. 
  3981.  
  3982. A1-1.3.2 EXPORTATION OF LABELED INFORMATION
  3983.  
  3984. This requirement applies as stated in the TCSEC to every TCB subset whose
  3985. policy includes mandatory access control of its subjects to its objects.
  3986. Any TCB subset whose policy does not include such mandatory access control
  3987. is exempt from this requirement. 
  3988.  
  3989. A1-1.3.3 SUBJECT SENSITIVITY LABELS
  3990.  
  3991. This requirement applies as stated in the TCSEC to the entire TCB. The
  3992. cooperative action of the TCB subsets making up the TCB must satisfy the
  3993. requirement. 
  3994.  
  3995. A1-1.3.4 DEVICE LABELS
  3996.  
  3997. This requirement applies as stated in the TCSEC to every TCB subset whose
  3998. policy includes mandatory access control of its subjects to its objects
  3999. and has attached physical or virtual devices. Any TCB subset whose policy
  4000. does not include such mandatory access control or has no attached physical
  4001. or virtual devices is exempt from this requirement. This requirement can
  4002. be satisifed by the cooperative action of more than one TCB subset. 
  4003.  
  4004. A1-1.4 MANDATORY ACCESS CONTROL
  4005.  
  4006. This requirement applies as stated in the TCSEC to every TCB subset whose
  4007. policy includes mandatory access control of its subjects to its objects.
  4008. Any TCB subset whose policy does not include such mandatory access control
  4009. is exempt from this requirement. 
  4010.  
  4011. A1-2 ACCOUNTABILITY
  4012.  
  4013. A1-2.1 IDENTIFICATION AND AUTHENTICATION
  4014.  
  4015. This requirement applies as stated in the TCSEC to the entire TCB. The
  4016. cooperative action of the TCB subsets making up the TCB must satisfy the
  4017. requirement. 
  4018.  
  4019. If the TCB is composed of TCB subsets, one TCB subset may either rely on a
  4020. mechanism in another TCB subset to provide identification and
  4021. authentication services or provide the services directly. Similarly, that
  4022. TCB subset may rely on a mechanism in another more primitive TCB subset to
  4023. ensure that the security level of subjects external to the TCB that may be
  4024. created to act on behalf of the individual user are dominated by the
  4025. clearance and authorization of that user. Each TCB subset may maintain its
  4026. own identification and authentication data or one central repository may
  4027. be maintained. If each TCB subset has its own data, then the information
  4028. for each individual user must be consistent among all subsets. 
  4029.  
  4030. A1-2.1.1 TRUSTED PATH
  4031.  
  4032. This requirement applies as stated in the TCSEC to the entire TCB. The
  4033. cooperative action of the TCB subsets making up the TCB must satisfy the
  4034. requirement. 
  4035.  
  4036. When TCB subsets are used, the requirement for trusted path at levels B2
  4037. and above remains applicable to the entire TCB. The need for trusted path
  4038. "when positive TCB-to-user connection is required (e.g., login, change
  4039. subject security level)" can require user interaction with virtually any
  4040. TCB subset within the TCB. The implementation of trusted path could be
  4041. localized in a single TCB subset. Alternatively, it could be implemented
  4042. in more than one TCB subset if the separate implementations together
  4043. comply with the system security policy. 
  4044.  
  4045. A1-2.2 AUDIT
  4046.  
  4047. This requirement applies as stated in the TCSEC to the entire TCB. The
  4048. cooperative action of the TCB subsets making up the TCB must satisfy the
  4049. requirement. A TCB subset may maintain its own security audit log,
  4050. distinct from that maintained by more primitive TCB subsets, or it may use
  4051. an audit interface provided by a different TCB subset allowing the audit
  4052. records it generates to be processed by that TCB subset. 
  4053.  
  4054. If the TCB subset uses different user identifications than a more
  4055. primitive TCB subset, there shall be a means to associate audit records
  4056. generated by different TCB subsets for the same individual with each
  4057. other, either at the time they are generated or at some later time. 
  4058.  
  4059. Any TCB subset wherein events may occur that require notification of the
  4060. security administrator shall be able to: (1) detect the occurrence of
  4061. these events, (2) initiate the recording of the audit trail entry, and (3)
  4062. initiate the notification of the security administrator. The ability to
  4063. terminate events (2) and (3) above may be provided either in the TCB
  4064. subset within which they occur, or in the TCB subset(s) where actions that
  4065. lead to the event were initiated. 
  4066.  
  4067. The monitoring and notification requirements may require cooperation
  4068. between multiple distinct TCB subsets or multiple instantiations of the
  4069. same TCB subset. For example, to detect the accumulation of events for a
  4070. single user it may be necessary to collect events from several subjects in
  4071. distinct processes that are surrogates for the same user. As another
  4072. example, there may be a single TCB subset that collects events from a
  4073. number of other TCB subset instantiations and, based on its analysis of
  4074. them, notifies the security administrator. 
  4075.  
  4076. Statement from TCSEC
  4077.  
  4078. The TCB shall be able to create, maintain, and protect from modification .
  4079. . . an audit trail of accesses to the objects it protects. 
  4080.  
  4081. Interpretation
  4082.  
  4083. Auditable events, in the case of a database management system, are the
  4084. individual operations initiated by untrusted users (e.g., updates,
  4085. retrievals, inserts), not just the invocation of the database management
  4086. system. The auditing mechanism shall have the capability of auditing all
  4087. mediated accesses which are visible to the user. That is, each
  4088. discretionary access control policy decision and each mandatory access
  4089. control policy decision shall be auditable. Individual operations
  4090. performed by trusted software, if totally transparent to the user, need
  4091. not be audited. If the total audit requirement is met by the use of more
  4092. than one audit log, a method of correlation must be available. 
  4093.  
  4094. Statement from TCSEC
  4095.  
  4096. The TCB shall be able to create, maintain, and protect from modification .
  4097. . . an audit trail of accesses to the objects it protects. 
  4098.  
  4099. Interpretation
  4100.  
  4101. Auditable events, in the case of a database management system, are the
  4102. individual operations initiated by untrusted users (e.g., updates,
  4103. retrievals, and inserts), not just the invocation of the database
  4104. management system. The auditing mechanism shall have the capability of
  4105. auditing all mediated accesses which are visible to the user. That is,
  4106. each discretionary access control policy decision and each mandatory
  4107. access control policy decision shall be auditable. Individual operations
  4108. performed by trusted software, if totally transparent to the user, need
  4109. not be auditable. If the total audit requirement is met by the use of more
  4110. than one audit log, a method of correlation must be available. 
  4111.  
  4112. A1-3 ASSURANCE
  4113.  
  4114. A1-3.1 OPERATIONAL ASSURANCE
  4115.  
  4116. A1-3.1.1 SYSTEM ARCHITECTURE
  4117.  
  4118. This requirement applies as stated in the TCSEC to every TCB subset, with
  4119. the following additional interpretations.The TCB must provide domains for
  4120. execution that are allocated to and used by TCB subsets according to the
  4121. subset-domain condition for evaluation by parts. A most primitive TCB
  4122. subset must provide domains for execution. A less primitive TCB subset
  4123. must make use of domains provided by a more primitive TCB subset. A less
  4124. primitive TCB subset may provide further execution domains but is not
  4125. required to do so. 
  4126.  
  4127. Similarly, the TCB must provide distinct address spaces for untrusted
  4128. processes. A most primitive TCB subset must provide distinct address
  4129. spaces for its subjects. A less primitive TCB subset must make use of the
  4130. distinct address space provided by a more primitive TCB subset. A less
  4131. primitive TCB subset may provide more fine-grained distinct address
  4132. spaces, but is not required to do so. In general, requirements
  4133. specifically referring to hardware or firmware apply only to TCB subsets
  4134. that include hardware or firmware. However, the requirement that the TCB
  4135. make effective use of hardware requires that a less primitive TCB subset
  4136. make effective use of the protection-relevant features exported to it by
  4137. the more primitive TCB subsets (e.g., execution domains, support for
  4138. distinct address spaces) to separate those elements that are
  4139. protection-critical from those that are not. 
  4140.  
  4141. Statement from TCSEC
  4142.  
  4143. The TCB shall maintain a domain for its own execution that protects it
  4144. from external interference or tampering. 
  4145.  
  4146. Interpretation
  4147.  
  4148. If the TCB is composed of multiple TCB subsets, this requirement applies
  4149. to each TCB subset. 
  4150.  
  4151. Statement from TCSEC
  4152.  
  4153. The user interface to the TCB shall be completely defined and all elements
  4154. of the TCB identified. 
  4155.  
  4156. Interpretation
  4157.  
  4158. If the TCB is composed of multiple subsets, this requirement applies to
  4159. the interface between the TCB subsets as well as the user interface to the
  4160. whole TCB. 
  4161.  
  4162. Statement from TCSEC
  4163.  
  4164. It shall make effective use of available hardware to separate those
  4165. elements that are protection-critical from those that are not. 
  4166.  
  4167. Interpretation
  4168.  
  4169. If the TCB is composed of multiple subsets, each TCB subset must make use
  4170. of facilities provided to it by more primitive TCB subsets, such as
  4171. support for execution domains and for distinct address spaces, to achieve
  4172. the required separation. 
  4173.  
  4174. A1-3.1.2 SYSTEM INTEGRITY
  4175.  
  4176. This requirement applies as stated in the TCSEC to every TCB subset that
  4177. includes hardware or firmware. Any TCB subset that does not include
  4178. hardware or firmware is exempt from this requirement. 
  4179.  
  4180. A1-3.1.3 COVERT CHANNEL ANALYSIS
  4181.  
  4182. This requirement applies as stated in the TCSEC to the entire TCB. When
  4183. the TCB is made up entirely of TCB subsets meeting the conditions for
  4184. evaluation by parts, analysis of the individual TCB subsets satisfies this
  4185. requirement. Otherwise, covert channel analysis of the entire TCB must be
  4186. performed (even if the results of covert channel analysis of the
  4187. individual TCB subsets were available). 
  4188.  
  4189. A1-3.1.4 TRUSTED FACILITY MANAGEMENT
  4190.  
  4191. This requirement applies as stated in the TCSEC to the entire TCB. Any
  4192. "operator" or "administrator" functions intrinsic to an individual TCB
  4193. subset must be supported by that TCB subset or by a more primitive TCB
  4194. subset. 
  4195.  
  4196. A1-3.1.5 TRUSTED RECOVERY
  4197.  
  4198. This requirement applies as stated in the TCSEC to the entire TCB and to
  4199. the individual TCB subsets. The cooperative recovery actions of the TCB
  4200. subsets making up the TCB must provide trusted recovery for the overall
  4201. TCB. Otherwise, trusted recovery evaluation must address the entire TCB
  4202. (even if the individual TCB subsets meet the trusted recovery
  4203. requirements). 
  4204.  
  4205. A1-3.2 LIFE CYCLE ASSURANCE
  4206.  
  4207. A1-3.2.1 SECURITY TESTING
  4208.  
  4209. This requirement applies as stated in the TCSEC to the entire TCB. If a
  4210. TCB consists of TCB subsets meeting the conditions for evaluation by
  4211. parts, the satisfaction of the requirements by each TCB subset satisfies
  4212. the requirement for the entire TCB. 
  4213.  
  4214. Otherwise, security testing of the entire TCB must be performed (even if
  4215. the results of testing the individual TCB subsets were available). 
  4216.  
  4217. A1-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
  4218.  
  4219. This requirement applies as stated in the TCSEC to every TCB subset, with
  4220. the following specific additional interpretations. 
  4221.  
  4222. It must be demonstrated that the security policy enforced by the composite
  4223. TCB is represented by the collection of policy models for the individual
  4224. TCB subsets. 
  4225.  
  4226. The argument that the descriptive top level specification (DTLS) and
  4227. formal top level specification (FTLS) are consistent with the TCB
  4228. interface applies to the entire TCB. There is required an explicit and
  4229. convincing description of how the set of top level specifications (one for
  4230. each TCB subset) describes the TCB interface in terms of exceptions,
  4231. errors, and effects. 
  4232.  
  4233. Statement from TCSEC
  4234.  
  4235. A formal model of the security policy supported by the TCB shall be
  4236. maintained over the life cycle of the ADP system and demonstrated to be
  4237. consistent with its axioms. 
  4238.  
  4239. Interpretation
  4240.  
  4241. If the TCB is composed of multiple TCB subsets, this requirement applies
  4242. to the security policy of each TCB subset. An informal argument that the
  4243. set of policy models represents the "security policy supported by the
  4244. [composite] TCB" must be provided. 
  4245.  
  4246. Statement from TCSEC
  4247.  
  4248. A descriptive top-level specification (DTLS) of the TCB shall be
  4249. maintained that completely and accurately describes the TCB in terms of
  4250. exceptions, error messages, and effects. 
  4251.  
  4252. Interpretation
  4253.  
  4254. If the TCB is composed of multiple TCB subsets, this requirement applies
  4255. to the DTLS of each TCB subset. An informal argument that the set of DTLSs
  4256. accurately describes the TCB must be provided. 
  4257.  
  4258. If there is a multifaceted policy (e.g., both mandatory access control and
  4259. discretionary access control policies) in a particular TCB subset, then
  4260. all facets must be represented in the DTLS and in the TCB subset's model. 
  4261.  
  4262. Statement from TCSEC
  4263.  
  4264. A formal top-level specification (FTLS) of the TCB shall be maintained
  4265. that accurately describes the TCB in terms of exceptions, error messages,
  4266. and effects. 
  4267.  
  4268. Interpretation
  4269.  
  4270. If the TCB is composed of multiple TCB subsets, this requirement applies
  4271. to the FTLS of each TCB subset. An informal argument that the set of FTLSs
  4272. accurately describes the TCB must be provided. 
  4273.  
  4274. If there is a multifaceted policy (e.g., both mandatory access control and
  4275. discretionary access control policies) in a particular TCB subset, then
  4276. all facets must be represented in the FTLS and in the TCB subset's model. 
  4277.  
  4278. Statement from TCSEC
  4279.  
  4280. The FTLS shall be shown to be an accurate description of the TCB
  4281. interface. 
  4282.  
  4283. Interpretation
  4284.  
  4285. If the TCB is composed of multiple subsets, this requirement applies to
  4286. the interface between the TCB subsets as well as to the user interface of
  4287. the composite TCB. The TCB interface description shall include an
  4288. explanation of how to describe the total TCB accurately, in the context of
  4289. the multiple TCB subset DTLSs. 
  4290.  
  4291. Statement from TCSEC
  4292.  
  4293. A convincing argument shall be given that the DTLS is consistent with the
  4294. model. 
  4295.  
  4296. Interpretation
  4297.  
  4298. If the TCB is composed of multiple TCB subsets, this requirement applies
  4299. to individual TCB subsets. Enforcement of all policies must be shown to
  4300. occur in all situations (e.g., state transitions) required by the formal
  4301. security policy model. In the case of a discretionary access control
  4302. policy, the presence of the access control check at all identified state
  4303. transitions is the total of what is required for demonstrating consistency
  4304. between the DTLS and the model. This may be verified by inspection of the
  4305. DTLS (that is, by visually checking that exception checks required by the
  4306. model are present in the DTLS). For the mandatory access control policy,
  4307. the DTLS must be shown by a convincing argument to be consistent with the
  4308. model. 
  4309.  
  4310. Statement from TCSEC
  4311.  
  4312. . . . a combination of formal and informal techniques shall be used to
  4313. show that the FTLS is consistent with the model. 
  4314.  
  4315. Interpretation
  4316.  
  4317. If the TCB is composed of multiple TCB subsets, this requirement applies
  4318. to individual TCB subsets. Enforcement of all policies must be shown to
  4319. occur in all situations (e.g., state transitions) required by the formal
  4320. security policy model at the required occasions. In the case of a
  4321. discretionary access control policy, the presence of the access control
  4322. check at all identified state transitions is the total of what is required
  4323. for demonstrating consistency between the FTLS and the model. This may be
  4324. verified by inspection of the FTLS (that is, by visually checking that
  4325. exception checks required by the model are present in the FTLS). For the
  4326. mandatory access control policy, the FTLS must be shown by a combination
  4327. of formal and informal techniques to be consistent with the model. 
  4328.  
  4329. A1-3.2.3 CONFIGURATION MANAGEMENT
  4330.  
  4331. This requirement applies as stated in the TCSEC to every TCB subset in the
  4332. TCB, with the following additional interpretation. 
  4333.  
  4334. Because subsets of the TCB may be developed independently, a single
  4335. configuration management system may not be feasible. However, the
  4336. combination of configuration management systems used to support all the
  4337. TCB subsets must meet all the stated requirements. The information
  4338. describing the interrelations between separate TCB subsets and separate
  4339. security policy models falls into the category of "all documentation and
  4340. code associated with the current version of the TCB" in the TCSEC
  4341. requirements. 
  4342.  
  4343. A1-3.2.4 TRUSTED DISTRIBUTION
  4344.  
  4345. This requirement applies as stated in the TCSEC to the entire TCB. It can
  4346. be met by satisfying the requirements for each TCB subset if procedures
  4347. exist for assuring that all TCB subsets upon which a particular TCB subset
  4348. depends (that is, the more primitive TCB subsets) are exactly the same
  4349. version as specified for the TCB subset in question. 
  4350.  
  4351. A1-4 DOCUMENTATION
  4352.  
  4353. A1-4.1 SECURITY FEATURES USER'S GUIDE
  4354.  
  4355. This requirement applies as stated in the TCSEC to every TCB subset in the
  4356. TCB. This collection of guides must include descriptions of every TCB
  4357. subset in the TCB and explicit cross-references to other related user's
  4358. guides to other TCB subsets, as required. In addition, interactions
  4359. between mechanisms within different TCB subsets must be clearly described.
  4360.  
  4361. A1-4.2 TRUSTED FACILITY MANUAL
  4362.  
  4363. This requirement applies as stated in the TCSEC to the TCB and to every
  4364. TCB subset in the TCB. This requirement can be met by providing a set of
  4365. manuals, one for each distinct (non-replicated) TCB subset. Each manual
  4366. shall address the functions and privileges to be controlled for the
  4367. associated TCB subset. Additionally, it must clearly show the interfaces
  4368. to, and the interaction with, more primitive TCB subsets. The manual for
  4369. each TCB subset shall identify the functions and privileges of the TCB
  4370. subsets on which the associated TCB subset depends. Also, the TCB subset's
  4371. manual shall identify which, if any, configuration options of the more
  4372. primitive TCB subsets are to be used for the composite TCB to operate
  4373. securely. 
  4374.  
  4375. Any pre-defined roles supported (e.g., database administrator) by the TCB
  4376. subset shall be addressed. The means for correlating multiple audit logs
  4377. and synonymous user identifications from multiple TCB subsets (if such
  4378. exist) shall also be addressed. 
  4379.  
  4380. The trusted facility manual shall describe the composite TCB so that the
  4381. interactions among the TCB subsets can be readily determined. Other
  4382. manuals may be referenced in this determination. The manuals that address
  4383. the distinct modules of the TCB and the generation of the TCB need to be
  4384. integrated with the other trusted facility manuals only to the extent that
  4385. they are affected by the use and operation (versus the development) of the
  4386. composite TCB. 
  4387.  
  4388. The TCB modules that contain the reference validation mechanism must be
  4389. associated with the TCB subset to which they belong. The procedure for
  4390. generating a new TCB after modifying only one (or several) TCB subsets
  4391. must be described. This may be accommodated by independent regeneration of
  4392. the individual TCB subsets or by regeneration of only the affected TCB
  4393. subsets. 
  4394.  
  4395. A1-4.3 TEST DOCUMENTATION
  4396.  
  4397. This requirement applies as stated in the TCSEC to the composite TCB. 
  4398.  
  4399. A1-4.4 DESIGN DOCUMENTATION
  4400.  
  4401. This requirement applies as stated in the TCSEC to the composite TCB, with
  4402. the following specific additional interpretations: 
  4403.  
  4404. Requirements concerning models, FTLS and DTLS, apply to individual TCB
  4405. subsets. 
  4406.  
  4407. The requirement concerning the description of interfaces between modules
  4408. of the TCB includes the interfaces between TCB subsets. 
  4409.  
  4410. The documentation of the implementation of a reference validation
  4411. mechanism must include justification for meeting the conditions for
  4412. evaluation by parts. 
  4413.  
  4414. The A1 requirement to describe clearly non-FTLS internals of the TCB
  4415. applies to TCB subsets. 
  4416.  
  4417. Statement from TCSEC
  4418.  
  4419. The interfaces between the TCB modules shall be described. 
  4420.  
  4421. Interpretation
  4422.  
  4423. If the TCB is composed of multiple subsets, this requirement applies to
  4424. each TCB subset and the interfaces between TCB subsets. 
  4425.  
  4426. Statement from TCSEC
  4427.  
  4428. The specific TCB protection mechanisms shall be identified and an
  4429. explanation given to show that they satisfy the model. 
  4430.  
  4431. Interpretation
  4432.  
  4433. If the TCB is composed of multiple subsets, this requirement applies to
  4434. each TCB subset and shall include the protection mechanisms which support
  4435. the conditions for TCB subset structure and separate subset-domains. 
  4436.  
  4437. Statement from TCSEC
  4438.  
  4439. The descriptive top-level specification (DTLS) shall be shown to be an
  4440. accurate description of the TCB interface. 
  4441.  
  4442. Interpretation
  4443.  
  4444. If the TCB is composed of multiple subsets, this requirement applies to
  4445. the interface between the TCB subsets as well as to the user interface of
  4446. the composite TCB. The TCB interface description shall include an
  4447. explanation of how to describe the total TCB accurately, in the context of
  4448. the multiple TCB subset DTLSs. 
  4449.  
  4450. Statement from TCSEC
  4451.  
  4452. Documentation shall describe how the TCB implements the reference monitor
  4453. concept and give an explanation of why it is tamper resistant, cannot be
  4454. bypassed, and is correctly implemented. 
  4455.  
  4456. Interpretation
  4457.  
  4458. If the TCB is composed of multiple TCB subsets, this requirement is
  4459. interpreted to apply to each TCB subset with respect to its specific
  4460. technical policy. In addition, there must be documented an informal
  4461. argument that the cooperative action of the TCB subsets makes the TCB
  4462. itself tamper resistant, non-bypassable, and correct. 
  4463.  
  4464. Statement from TCSEC
  4465.  
  4466. The TCB implementation shall be informally shown to be consistent with the
  4467. DTLS. 
  4468.  
  4469. Interpretation
  4470.  
  4471. If the TCB is composed of multiple TCB subsets, this requirement is
  4472. interpreted to apply to individual TCB subsets. 
  4473.  
  4474. Statement from TCSEC
  4475.  
  4476. The TCB implementation shall be informally shown to be consistent with the
  4477. FTLS. 
  4478.  
  4479. Interpretation
  4480.  
  4481. If the TCB is composed of multiple TCB subsets, this requirement is
  4482. interpreted to apply to individual TCB subsets. 
  4483.  
  4484. Statement from TCSEC
  4485.  
  4486. Documentation shall describe how the TCB is structured to facilitate
  4487. testing and to enforce least privilege. 
  4488.  
  4489. Interpretation
  4490.  
  4491. If the TCB is composed of multiple subsets, this requirement is
  4492. interpreted to apply to individual TCB subsets as well as to the overall
  4493. TCB. 
  4494.  
  4495. APPENDIX B 
  4496.  
  4497. GENERAL ITEMS 
  4498.  
  4499. 1. PERSPECTIVE ON ASSURANCE
  4500.  
  4501. This Trusted Database Management System Interpretation (TDI) of the
  4502. Trusted Computer System Evaluation Criteria (TCSEC) derives its
  4503. perspective on assurance directly from the reference monitor concept as
  4504. recorded in the Anderson Report [1] and as embodied in the TCSEC. In both
  4505. the reference monitor concept and in the TCSEC, the assessment of a system
  4506. for trust characteristics involves a single, global review of the system
  4507. at issue. That same perspective of an even, global review of a candidate
  4508. trusted database management system (DBMS) is present in the TDI, in that
  4509. only complete systems will be considered for assessment. That is, neither
  4510. software packages in isolation nor systems that satisfy only a subset of
  4511. the TCSEC. requirements will be considered for evaluation or
  4512. accreditation. The interpretation of requirements, both in Part 1,
  4513. "Technical Context," and Part 2, "Interpreted Requirements," is consistent
  4514. with both community experience in designing and assessing trusted systems,
  4515. and the precedents of the reference monitor concept and the TCSEC. The
  4516. interpretations, therefore, provide special guidance for the task of
  4517. evaluating (or accrediting) candidate systems composed of distinguishable
  4518. parts. However, the interpretations neither attenuate nor delete TCSEC
  4519. requirements. 
  4520.  
  4521. It is worth noting that the introduction of the TCSEC with its metric for
  4522. the evaluation of whole systems had as one goal the simplification of the
  4523. task of accrediting computer systems for use in the processing of
  4524. sensitive information. The evaluation process was not intended to replace
  4525. the accreditation process but to provide input to that process. It must be
  4526. recognized that there will be occasions when a fielded suite of computer
  4527. systems, each evaluated against the TCSEC requirements at a particular
  4528. class, will not be able to be assigned a TCSEC class, nor is it necessary
  4529. to be able to make such an assignment. The accreditation decision includes
  4530. the assessment of risk of a particular system configuration in a
  4531. particular environment; a decision to connect a suite of TCSEC evaluated
  4532. systems may have to be made without a uniformly applied TCSEC-like
  4533. assessment over the entire system. 
  4534.  
  4535. 2. PROCUREMENT OPTIONS
  4536.  
  4537. The Trusted Computing System Evaluation Criteria (TCSEC) and its published
  4538. interpretations, including this Trusted Database Management System
  4539. Interpretation, have as a primary purpose the "provision [of] a basis for
  4540. specifying security requirements in acquisition specifications." [8, p. 2]
  4541. In the area of trusted DBMS and trusted systems that include database
  4542. management functionality, there is a range of options open to an
  4543. acquisition organization. These options need to be understood by the
  4544. acquisition managers and their staffs to allow them the greatest possible
  4545. flexibility in matching operational requirements with a combination of
  4546. available products and the state of the art in system integration and
  4547. development. 
  4548.  
  4549. The fundamental point is the distinction between the target trust class
  4550. (that is, C1, C2, B1, B2, B3, or A1) needed for a particular installation
  4551. and the degree of trusted DBMS functionality that is required. Succinctly,
  4552. a system that requires a particular level of trust (B2, for example) and
  4553. DBMS functionality does not necessarily require an evaluated trusted DBMS
  4554. at the level of B2. In fact, if the statement of required capability
  4555. allows it, meeting the requirement without a trusted DBMS could well be
  4556. the preferred risk-reducing approach. This is generally true because the
  4557. more sophisticated the trusted DBMS requirement, the more likely it is
  4558. that the current vendor base will not be able to supply the needed
  4559. functionality (with the requisite assurance) from the normal product line.
  4560. Further, even if one can specify carefully just what additional assured
  4561. capability is needed so that a program-specific development can be
  4562. undertaken, the lack of community experience and consensus on advanced
  4563. trusted DBMS issues and implementations introduces the potential for 
  4564.  
  4565. significant programmatic, schedule, and cost risks. 
  4566.  
  4567. Although a full description of options for the acquisition manager is
  4568. beyond the scope of this document, a representative description of some of
  4569. the options that could be considered is included below. The options
  4570. include (1) multiple copies of a DBMS running at different levels, each
  4571. maintaining single-level databases; (2) a single copy of a DBMS, but with
  4572. each database maintained at a single sensitivity level (i.e., no sharing
  4573. of data between databases); (3) a single copy supporting single level
  4574. databases, but with limited sharing, perhaps of a "snapshot" nature; and
  4575. (4) DBMSs that allow databases that include data of several sensitivity
  4576. levels. This option admits of subcases from the very simple to the very
  4577. complex. 
  4578.  
  4579. To illustrate the options listed above, consider a command post where a
  4580. commander's staff uses a single computer system. Included on the staff are
  4581. logistics, weather, and intelligence organizations, each dealing with
  4582. information of differing (maximum) sensitivity. If all three organizations
  4583. require similar DBMS functions, there might be a variety of ways to
  4584. provide that functionality. 
  4585.  
  4586.      (1) If the product DBMS-1 suited the needs of each of the
  4587.      organizations and there were no requirement to share data between
  4588.      them, then three copies of DBMS-1 could be used, running at, for
  4589.      example, TOP SECRET, SECRET, and CONFIDENTIAL, respectively, and
  4590.      maintaining separate single-level databases. If the organizational
  4591.      missions do not require multilevel operations or sharing, this option
  4592.      could be perfectly suited to the operational need. In this case,
  4593.      every copy of DBMS-1 would be running as an application outside the
  4594.      TCB and would not have to be evaluated at all, neither as a product
  4595.      nor as a developed system. The advantages of this option are that
  4596.      commercial, off-the-shelf systems can be used (both the DBMS and the
  4597.      underlying trusted operating system) and no evaluation risk is
  4598.      entailed. 
  4599.  
  4600. The disadvantages are the limited flexibility and the hidden fact that the
  4601. installation procedures for many DBMSs require the insertion of code into
  4602. the heart of the underlying computer system, insertions that would
  4603. undermine the evaluation rating and thus theconfidence in the trusted
  4604. operating system. 
  4605.  
  4606.      (2) A cost advantage could be realized in the preceding case if there
  4607.      were a product, DBMS-2, such that a single copy could provide DBMS
  4608.      functionality at all three levels. This capability requires that the
  4609.      base trusted operating system and the DBMS itself are designed so
  4610.      that the DBMS code uses scratch space to allow the code to be shared
  4611.      without the potential for mixing control or metadata in workspaces,
  4612.      indices, and stacks. Not all commercial DBMSs have this property, so
  4613.      this option will be less available than case (1). Note that in this
  4614.      case also, the databases themselves are single-level and the
  4615.      workspace used by the DBMS itself will have to be single-level. 
  4616.  
  4617. (3) If the operational requirements are that the intelligence and
  4618. logistics organizations must have access to the weather data maintained by
  4619. the weather organization, the simplest technical solution would be to
  4620. periodically provide a snapshot of the needed weather data for use by the
  4621. other organizations. The database management system DBMS-2 above could
  4622. provide a solution in this case if a portion of the weather database could
  4623. be copied onto diskette (or even into another file) for the other
  4624. organizations to incorporate into their own DBMS operations. The
  4625. disadvantage of this approach is that the information will not be as
  4626. current as that available to the weather organization itself. Frequently,
  4627. however, that lack of currency may be a reasonable price to pay for the
  4628. enormous reductions in cost and risk in procurement and maintenance. 
  4629.  
  4630. (4) If the operational requirements will not allow anything less than
  4631. real-time sharing of information, then DBMS-2 will not be sufficient. At
  4632. this point, the operational requirements have forced the inclusion of the
  4633. most sophisticated solution to a trusted system with DBMS requirements, a
  4634. true multilevel DBMS. In this case, it remains a valuable goal to minimize
  4635. the complexity of the needed sharing. If the DBMS is providing a
  4636. functionality that looks like tables to the user, then it is less complex
  4637. if each table is at a single level than if each row (or each column) could
  4638. be at a different sensitivity level. The most complex situation is when
  4639. each entry in the table could be at a different sensitivity level. During
  4640. the procurement and development process, it would be worthwhile to
  4641. structure the procurement to favor solutions that are as simple as
  4642. possible from a multilevel trusted DBMS standpoint. 
  4643.  
  4644. 3. ALTERATION OF PREVIOUSLY EVALUATED TCB
  4645.  
  4646. The discussion in Part 1, "Technical Context" arose from consideration of
  4647. the conditions under which it is possible to add an application layer,
  4648. such as a DBMS, to another TCB in such a way as to allow the system rating
  4649. to be determined by evaluating the system elements (i.e., the subsets)
  4650. separately. The benefit to both the applications vendor and the evaluators
  4651. derives from the fact that the DBMS operates as an untrusted subject
  4652. relative to the underlying TCB (even though the DBMS enforces its own
  4653. policy). Therefore, there is no need to re-examine previous evaluation
  4654. evidence; any and ll actions performed by the application layer are
  4655. completely constrained in accordance with the security policy defined for
  4656. the underlying TCB. 
  4657.  
  4658. The savings in evaluation effort is predicated on the assumption that the
  4659. vendor of the application layer makes no changes of any kind to the other
  4660. TCB. In effect, the argument made by the vendor is as follows: 
  4661.  
  4662. (a) The underlying TCB enforces policy P[i].
  4663.  
  4664. The validity of the claims about the underlying TCB has already been
  4665. established, and these claims remain valid because the underlying TCB has
  4666. not been altered in any way and because the DBMS is completely constrained
  4667. by that policy (i.e., P[i] cannot be violated by any action of the DBMS). 
  4668.  
  4669. (b) The application is a TCB subset which enforces policy P[k]
  4670.  
  4671. Thus, the policy enforced by the composite system (i.e., the policy
  4672. enforced at the user interface of the composite TCB) is merely a
  4673. combination of the policies of the individual TCB subsets. 
  4674.  
  4675. Because there is neither theory nor experience which allows one to make
  4676. general, a priori statements about the effects of arbitrary changes, any
  4677. alterations to a previously evaluated product must, in general, be
  4678. considered to result in a product whose security attributes, and thus
  4679. whose rating, is unknown. Thus, if the previously evaluated product is
  4680. altered, argument (a) cannot be made merely by referencing the published
  4681. evaluation report. It becomes the responsibility of the DBMS vendor to
  4682. state P[i] (i.e., identify the policy enforced by the altered product) and
  4683. to demonstrate that the implementation satisfies the appropriate TCSEC
  4684. requirements. Hence, at least some evaluation evidence focused on the
  4685. underlying TCB must be provided by the vendor of the application layer.
  4686. The amount of evidence required will be determined by the type, extent,
  4687. and amount of change, as well as the characteristics of the original TCB. 
  4688.  
  4689. This is not to say, however, that changes always invalidate all previous
  4690. evaluation evidence. Rather, that there is no way to predict what effect
  4691. arbitrary change will have on that evidence. Clearly, some changes will
  4692. invalidate a substantial part, if not all, of the previous evaluation
  4693. results, requiring a completely new evaluation. In some cases it will be
  4694. virtually impossible to determine the full effect of even relatively
  4695. simple changes, whereas in other instances it may be possible to determine
  4696. the effects of at least some changes quite precisely. In a
  4697. well-modularized system, changes to the internals of a module might be
  4698. shown to have no functional or security effect outside of the module. Even
  4699. changes to the module that alter its interface might be shown to have
  4700. effects which do not propagate beyond those modules which have a direct
  4701. interface to the altered module. 
  4702.  
  4703. In either case however, at least some evidence must be produced about the
  4704. underlying, altered TCB. Thus, the vendor who alters the product which is
  4705. hosting his application becomes responsible for any and all evidence
  4706. required to substantiate the claims being made for both the application
  4707. and the underlying TCB. 
  4708.  
  4709. In fact, it is always the case that the DBMS vendor is responsible for all
  4710. the evidence required to demonstrate that the system (i.e., the trusted
  4711. components of the application plus the underlying TCB) has the level of
  4712. trust claimed for it. In the case of strict subsetting for evaluation by
  4713. parts, in which the application is layered onto an unaltered,
  4714. previously-evaluated TCB, part of the evidence is satisfied by referencing
  4715. the previous evaluation results and the commercially-available
  4716. specifications for that portion of the system. However, if the previously
  4717. evaluated TCB has been altered, the applications vendor is now responsible
  4718. for demonstrating that the underlying TCB has the level of trust being
  4719. claimed for it. How much, if any, of the previous evaluation evidence is
  4720. still valid is a matter to be resolved. 
  4721.  
  4722. The development of the subsetting notion has been motivated by the need
  4723. for evaluating systems whose elements may have been developed by different
  4724. vendors. Consequently, the discussion of TCB subsets has been largely
  4725. focused on the topic of extending the policy enforcement attributes of
  4726. previously evaluated TCBs. However, the notion of TCB subsetting provides
  4727. a perfectly general design method. A TCB can be structured and policy
  4728. enforcement allocated to simplify both analysis and evaluation. To the
  4729. extent that each TCB subset in a subsetted system satisfies the conditions
  4730. of TC-4.3, the evaluation can be factored along policy lines, and a rating
  4731. for the composite system determined. 
  4732.  
  4733. 4. SATISFYING RVM REQUIREMENTS
  4734.  
  4735. The evaluation of a system whose TCB is made up of a set of TCB subsets
  4736. follows a logical flow that makes it an orderly process. The initial step
  4737. is satisfying the conditions for evaluation by parts. Those conditions are
  4738. as follows: 
  4739.  
  4740. Identification of the candidate TCB subsets; 
  4741.  
  4742. Allocation of the policy (the clear statement of the technical policies
  4743. enforced by the individual TCB subsets, stated in terms of the subjects
  4744. and objects for that TCB subset); 
  4745.  
  4746. Demonstration that each candidate TCB subset contains its own trusted
  4747. subjects; 
  4748.  
  4749. Specification of the structure of the TCB subsets (as a collection of
  4750. abstract machines); 
  4751.  
  4752. Identification of sets of domains (called "subset-domains") assigned for
  4753. the execution of the individual TCB subsets; and 
  4754.  
  4755. Identification of what externally stated properties of TCB subsets will be
  4756. used to argue convincingly and independently for the RVM nature of each of
  4757. the constituent TCB subsets. 
  4758.  
  4759. The successful completion of this step, especially the "support for RVM
  4760. arguments" will result in a conditional approval of two items: a set of
  4761. goals in the evaluation of the more primitive TCB subsets and the
  4762. feasibility of being able to argue the RVM properties of less primitive
  4763. TCB subsets using no more information about the more primitive TCB subsets
  4764. than the identified goals. The goals for the more primitive TCB subsets
  4765. will be a set of mechanisms, characteristics, or properties whose proper,
  4766. assured functioning will have to be demonstrated. Examples are domain
  4767. mechanisms, mandatory integrity policy enforcement mechanisms, and a
  4768. special category of object with associated content-preservation
  4769. guarantees. These mechanisms or characteristics or properties are strictly
  4770. a function of the more primitive TCB subset and will have to be evaluated
  4771. and approved in a (possibly) later part of the evaluation process. The
  4772. conditional approval of the feasibility of constructing an independent RVM
  4773. argument for less primitive TCB subsets relies on an interplay between the
  4774. proposed mechanisms of the more primitive TCB subset and the anticipated
  4775. needs of the RVM argument for the less primitive TCB subset. 
  4776.  
  4777. The next steps of the evaluation process, with regards to the reference
  4778. validation mechanism requirements, involve the independent evaluation of
  4779. the TCB subsets. TCB subsets that have been identified as providing
  4780. features or mechanisms on which other TCB subsets will rely for RVM
  4781. arguments will have to be demonstrated to provide the stated mechanisms
  4782. with the same level of assurance as the target evaluation class of the
  4783. entire system. If all the identified mechanisms can be validated, the
  4784. conditional approval of the "support for RVM arguments" condition remains
  4785. unchanged. If some mechanism cannot be properly established from either a
  4786. functional or an assurance perspective, then the conditional approval of
  4787. that portion of the "support" condition is withdrawn and the evaluation
  4788. effort must regroup. 
  4789.  
  4790. TCB subsets that were projected to be able to complete RVM arguments
  4791. successfully using no more than the identified "support" mechanisms and
  4792. features will have to have full RVM arguments advanced and accepted by the
  4793. evaluation team. There are three possible outcomes: (1) it could be shown
  4794. that the TCB subset in question does not meet the RVM requirements; (2) it
  4795. could be shown, using the external descriptions and assurances of the
  4796. mechanisms of the more primitive TCB subsets, that the less primitive TCB
  4797. subset does meet the RVM requirements; or (3) it might be impossible to
  4798. determine whether or not the TCB subset meets the requirements. In case
  4799. (1), the TCB subset failed to meet its reference validation mechanism
  4800. requirements and the design team must regroup. In case (2), the TCB subset
  4801. satisfies its reference validation mechanism requirements. In case (3),
  4802. the conditional approval of the "support for RVM arguments" condition will
  4803. be withdrawn and the design and evaluation teams will have to agree on an
  4804. alternate course of action. 
  4805.  
  4806. In the case that an attempt to establish RVM properties for a less
  4807. primitive TCB subset could not be completed (case (3) above), it might
  4808. well be that additional mechanisms or features of the more primitive TCB
  4809. subset would allow the RVM arguments to be completed successfully. In that
  4810. case, the evaluation team and the design team would have to establish a
  4811. new, augmented set of mechanisms for the "support" condition. The
  4812. evaluation could then continue with the new mechanism requiring validation
  4813. by the evaluation team and the argument for the RVM properties of the less
  4814. primitive TCB subset having to be re-attempted. 
  4815.  
  4816. It is important to note that the dependency of the less primitive TCB
  4817. subsets on the assured policies and RVM supporting mechanisms makes it
  4818. imperative that the evaluation of the whole TCB be done by a single
  4819. evaluation team through the final determination that the system complies
  4820. with the full 
  4821.  
  4822. set of requirements for the target class. Thus, in particular, an
  4823. evaluation team addressing an evaluation by parts (including the case of a
  4824. TCB subset that has been previously evaluated and placed on the EPL) must
  4825. be kept together for the entire evaluation. Local evaluation of one TCB
  4826. subset does not justify dissolving the responsible subteam. Later results,
  4827. global or local to another TCB subset, could require a full evaluation
  4828. team current on all aspects of the evaluated configuration. This does not
  4829. mean, of course, that the original evaluation team for a previously
  4830. evaluated EPL product has to be reassembled. A new team, part of which may
  4831. be delegated prime responsibility for that TCB subset, suffices, as long
  4832. as the full team is kept together for the whole evaluation. 
  4833.  
  4834. 5. SUBSET DEPENDENCY
  4835.  
  4836. For candidate TCB subset M, sM denotes the specification of M, including
  4837. as a minimum, the statement of the technical policy P of M. The term vM
  4838. denotes the (engineering) demonstrations of the correctness of the
  4839. implementation of M with respect to its specification. A (candidate) TCB
  4840. subset A "depends (for its correctness)" on (candidate) TCB subset B if
  4841. and only if the arguments within vA assume the correctness of the
  4842. implementation of B with respect to sB. 
  4843.  
  4844. In less precise terms, the specification sM defines what M is supposed to
  4845. do. M does whatever its implementation allows, features and all. How well
  4846. M does compared to what sM says it should do is encompassed in the
  4847. engineering arguments vM. If, in the argument vA, one has to assume that
  4848. all or part of sB accurately describes what B does, A "depends" on B for
  4849. its correctness. 
  4850.  
  4851. Example 1: Use of Provided Objects
  4852.  
  4853. Suppose TCB subset B provides "file" as a mediated object under its
  4854. technical policy P[B] and that candidate TCB subset A uses B-files to
  4855. store data and executables. If vA uses the fact that different B-files are
  4856. distinct and access to them is constrained by the technical policy P[B]
  4857. (assumptions that are nearly certain to apply), then vA is relying on the
  4858. fact that sB and B match and in this case, A depends on B. 
  4859.  
  4860. Example 2: Mutually Suspicious Systems
  4861.  
  4862. Suppose A and B are mutually suspicious airline reservation systems hosted
  4863. in two interconnected systems belonging to two distinct organizations. It
  4864. is assumed that sA and sB both provide for a capability to accept
  4865. reservations over the network from "foreign" systems using a mutually
  4866. defined protocol. The protocol is carefully and completely specified
  4867. (within both sA and sB) and both vA and vB demonstrate, to the desired
  4868. level of satisfaction, that A and B are correct with respect to sA and sB,
  4869. respectively. A does not depend for its correctness on B because sA is
  4870. complete: for whatever sequence of bits it receives from B, sA specifies
  4871. exactly what behavior A must exhibit, and vA demonstrates that it does
  4872. exhibit that behavior. Similarly, B does not depend upon A for its
  4873. correctness. Neither A nor B depends on the other. 
  4874.  
  4875. There may well exist a "system specification" that specifies the desired
  4876. behavior of the entire system, but that is irrelevant to the arguments
  4877. that A and B are individually correct with respect to their own
  4878. specifications. It may even be the case that both A and B are individually
  4879. correct, while the combined system is incorrect with respect to the
  4880. "system specification." That is, two correct subsystems can be combined
  4881. improperly with respect to the desired "system specification." 
  4882.  
  4883. Example 3: Use of Remotely Provided Functionality
  4884.  
  4885. Suppose A is a mail server and B a generic SQL DBMS. The specification sA
  4886. (as might be expected) makes no mention of a DBMS; it simply specifies the
  4887. interface behavior (to its human clients) of the mail system. In vA,
  4888. however, we find that the software for A uses tables provided by B to
  4889. store messages. A and B are on separate, interconnected machines. Neither
  4890. sB nor vB make mention of the mail system at all. As in the preceding
  4891. example, sB completely specifies the behavior of B for all received bit
  4892. patterns and sequences. Here, A depends upon B, but B does not depend on
  4893. A. Note that data flow in both directions is completely legitimate and
  4894. does not compromise in any way the "integrity" (correctness) of B.
  4895. Dependency is distinct from "data flow." 
  4896.  
  4897. This example shows that a superficial examination of the "architecture" of
  4898. a domain structure is insufficient to determine which candidate TCB
  4899. subsets depend upon other TCB subsets. Superficially, this architecture is
  4900. the same as the example of mutually suspicious systems above, but here A
  4901. depends on B. It also shows that an examination of the interface
  4902. specifications is insufficient. Finally, it shows that dependency is not
  4903. the same as the notion of "privilege" (as normally understood in the
  4904. context of operating systems to mean loosened restrictions on allowed
  4905. functions and accesses), because there is in this example no sense in
  4906. which B has access to all of A's internal structures. It only has access
  4907. to some of them. 
  4908.  
  4909. Example 4: Use of Locally Provided Functionality
  4910.  
  4911. Suppose A and B are the mail server and SQL DBMS of the preceding example,
  4912. except that A is implemented in a less privileged ring than B. That is,
  4913. the interconnect is replaced by a ring-crossing service call. Obviously, A
  4914. still depends on B and B does not depend on A. The change is that now B
  4915. has potential access to any of A's structures. The general rule for the
  4916. use of domain protection mechanisms (such as rings) is that if B is
  4917. privileged with respect to A, then A necessarily depends on B (simply by
  4918. virtue of B's privilege to access any of A's structures). Thus, a detailed
  4919. examination of sA and vA is unnecessary to establish dependency. 
  4920.  
  4921. Cautionary Example
  4922.  
  4923. Suppose that A and B are "mutually dependent"; that is, A depends on B and
  4924. B depends on A. This means that vA assumes that B is implemented correctly
  4925. with respect to sB, and vB assumes that A is implemented correctly with
  4926. respect to sA. Further suppose that both vA and vB are valid (reasonable
  4927. and compelling). One would hope that it follows from this that both A and
  4928. B are correct. Unfortunately, this is not always the case. 
  4929.  
  4930. If A and B are both correct with respect to sA and sB, then vA is a valid
  4931. argument with a true premise and is therefore true. The same is true for B
  4932. and vB. 
  4933.  
  4934. Suppose, however, that A is implemented incorrectly with respect to sA and
  4935. B is implemented incorrectly with respect to sB. vA is a valid argument
  4936. with a false premise; it is thus valid but (possibly) untrue. Similarly,
  4937. vB is valid but (possibly) untrue. This case shows that it is quite
  4938. possible for vA and vB to both be valid while A and B are both
  4939. (individually) incorrectly implemented. 
  4940.  
  4941. What has been exposed here is a hidden case of circular reasoning: the
  4942. argument that A is correct is based on the assumption that B is correct,
  4943. and the argument that B is correct is based on the assumption that A is
  4944. correct. Thus, vA depends (circularly) on the assumption that A is
  4945. correct, and vA reduces to the following tautology: if vA is correct with
  4946. respect to sA then vA is correct with respect to sA. It is thus possible
  4947. in principle for mutually dependent subsystems A and B to have vA and vB
  4948. to be logically valid while either A or B, or both, are incorrect with
  4949. respect to their specifications (sA or sB). 
  4950.  
  4951. To make this result concrete, consider two airline reservation systems, A
  4952. and B, based on the mutually suspicious systems of example 2 above.
  4953. Suppose that A maintains information about all flights originating or
  4954. terminating in the United States while B maintains information about
  4955. flights originating or terminating in Europe. Assume sA includes a
  4956. statement that A will generate flight itineraries from an origin to a
  4957. destination, with appropriate provision for connections. "Appropriate
  4958. provision for connections" means allowing enough time to change planes
  4959. without requiring passengers to wait an excessive period of time. Further
  4960. assume that sB includes a similar statement. From the assumption that A
  4961. meets sA and B meets sB, one can construct a valid argument that A meets
  4962. its specification sA for itineraries orginating or terminating in either
  4963. the U.S. or Europe. A similarly valid argument can be made about B. If,
  4964. however, A stores flight segment times in the local time of the airport
  4965. and B stores them i n Greenwich Mean Time, an itinerary generated by
  4966. either A or B that relies on information from the other will be incorrect
  4967. because of the time differences. Thus, A will not generate accurate,
  4968. timely flight itineraries, even though a valid argument that it does can
  4969. be constructed. This difficulty arises from the presumption that A and B
  4970. are mutually dependent. 
  4971.  
  4972. 6. TAMPER RESISTANCE ARGUMENTS
  4973.  
  4974. The requirement to demonstrate that individual TCB subsets exhibit the
  4975. reference validation mechanism tamper resistance property deserves special
  4976. attention. In a subsetted architecture there are two (related) aspects to
  4977. this requirement. The first is the ability of a less primitive TCB subset
  4978. to maintain control over access to the objects that implement its logic
  4979. and data structures. The second is establishing the assurance that
  4980. policy-critical or correctness-critical data used by a TCB subset is
  4981. persistent (that is, that it does not change or become contaminated with
  4982. other data between the execution of instructions). 
  4983.  
  4984. A less primitive TCB subset will be using objects and subjects provided by
  4985. a more primitive TCB subset. Thus, policy-critical data will be stored in
  4986. objects that are provided by the more primitive TCB subset rather than in
  4987. some system entity created and maintained by the less primitive TCB subset
  4988. itself. 
  4989.  
  4990. One part of the tamper resistance argument focuses on being able to
  4991. demonstrate that no alteration of either the policy-critical data or of
  4992. the TCB subset's code is possible. That is, no system entity external to a
  4993. TCB subset (with the possible exception of more primitive TCB subsets upon
  4994. which it depends) should be capable of causing arbitrary changes to that
  4995. TCB subset's code or data structures. If a third, not more primitive TCB
  4996. subset (or a subject totally outside the TCB) were able to gain access to
  4997. an object where policy-critical data was stored, the tamper resistance
  4998. property could not be established for the TCB subset in question. For a
  4999. most-primitive TCB subset, a wide variety of techniques could be used to
  5000. limit access to an object in which such policy-critical data is stored
  5001. (e.g., prohibition on the sharing of objects, strict ownership control of
  5002. the ability to extend access permission, and mandatory access controls).
  5003. Similarly, the conditions for evaluation by parts require that the system
  5004. designer identify a set of mechanisms and their assured properties as the
  5005. basis for demonstrating tamper resistance for each TCB subset. 
  5006.  
  5007. The second topic is the assurance that the contents of the objects that
  5008. store a TCB subset's policy-critical data not change except through the
  5009. execution of that TCB subset's logic. If a data structure that identified
  5010. an exported object (such as tables or tuples or entities) were to have
  5011. extraneous data inserted by a more primitive TCB subset (for example, as a
  5012. result of garbage collection or the random action of memory management),
  5013. then no basis would exist for arguments concerning the correct
  5014. implementation of the less primitive TCB subset. For a most primitive TCB
  5015. subset (which includes supporting hardware), the argument that the
  5016. policy-critical data is kept current and correct can be made strictly on
  5017. the basis of that TCB subset. However, when a TCB subset obtains resources
  5018. from a more primitive TCB subset, the argument cannot be made strictly on
  5019. the basis of the design of the TCB subset. Rather, the argument must
  5020. proceed from assured mechanisms provided by more primitive TCB subsets.
  5021. This is exactl y analogous to the case of a reference validation mechanism
  5022. for which one relies on mechanisms not strictly included in the design of
  5023. the policy-enforcing elements to establish the requisite properties of
  5024. non-bypassability and tamper resistance. A variety of mechanisms might
  5025. provide a basis for demonstrating that the implementation of a TCB subset
  5026. is correct, even though resources are obtained from a more primitive TCB
  5027. subset (e.g., type-enforcement). 
  5028.  
  5029. 7. RATIONALE FOR LOCAL AND GLOBAL REQUIREMENTS
  5030.  
  5031. Section TC-5, "General Interpreted Requirements," lists the requirements
  5032. of the TCSEC according to how the requirements apply to a TCB made up of
  5033. more than one TCB subset. The general rationale for distinguishing which
  5034. requirements can be satisfied by independent analysis and consideration of
  5035. the TCB subsets was to consider the requirements one at a time to
  5036. determine whether satisfaction of the requirement by the individual TCB
  5037. subsets would necessarily mean that the entire system satisfies the stated
  5038. requirement. 
  5039.  
  5040. For some requirements, such as those for certain documentation, it is
  5041. clear that the requirement is factorable; that is, it is satisfied for the
  5042. composite TCB if it is satisfied for each of the TCB subsets individually.
  5043. For other requirements, individual system characteristics could make
  5044. factorability of a requirement patently obvious, but not all systems would
  5045. enjoy such simple factorability. An example would be trusted path
  5046. requirements for security-related events: if all security-related ev ents
  5047. occur in the most primitive TCB subset, satisfaction of the requirement by
  5048. that TCB subset suffices to demonstrate that the system meets the
  5049. requirement, but for systems that have security-relevant events in less
  5050. primitive TCB subsets, some explanation of the cooperative action of the
  5051. TCB subsets would be required. For still other requirements, one can
  5052. expect that the satisfaction of the requirement for the entire system will
  5053. always require some explanation of the cooperative action of the
  5054. constituent TCB subsets. Provision of a coherent audit record across
  5055. events in several TCB subsets is in this category. 
  5056.  
  5057. In the paragraphs below, a brief rationale for identifying requirements as
  5058. wholly or partially global is provided. Those requirements that are not
  5059. listed are considered to be completely local. 
  5060.  
  5061. Subject Sensitivity Labels
  5062.  
  5063. At level B2 and above, the TCSEC requires the following: 
  5064.  
  5065. The TCB shall immediately notify a terminal user of each change in the
  5066. security level associated with that user during an interactive session. A
  5067. terminal user shall be able to query the TCB as desired for a display of
  5068. the subject's complete sensitivity level. 
  5069.  
  5070. For subsetted architectures, the user interface could be to a TCB subset
  5071. that does not support a mandatory access control policy. Thus, a change
  5072. noted by a more primitive TCB subset that does support such a policy would
  5073. have to be relayed to the user, possibly through cooperative action of the
  5074. full set of TCB subsets. Similarly, a request by a terminal user for the
  5075. complete sensitivity level could be initially received by a TCB subset
  5076. that does not support a mandatory access control policy and will require
  5077. cooperation between TCB subsets to determine the complete subject
  5078. sensitivity level and to provide that information to the requesting user. 
  5079.  
  5080. Identification and Authentication
  5081.  
  5082. The identification and authentication requirements in the TCSEC address
  5083. the need to correctly associate authorizations with subjects. In a TCB
  5084. made of several TCB subsets, it is possible that only one of the TCB
  5085. subsets will provide identification and authentication, which will be used
  5086. by all the less primitive TCB subsets. Alternatively, identification and
  5087. authentication may be provided directly in more than one TCB subset. In
  5088. either case, the TCB subsets have to work cooperatively to use
  5089. identification and authentication data for uniquely identifying users and
  5090. for associating users with auditable actions. 
  5091.  
  5092. Trusted Path
  5093.  
  5094. At B2, the only required uses of trusted path are login and
  5095. authentication. At B3 and above, occasions "when a positive TCB-to-user
  5096. connection is required (e.g., login, change subject security level)" are
  5097. included. In both cases, a system vendor may choose to use trusted path
  5098. for situations where the security-relevant event could be recognized or
  5099. handled in more than one TCB subset. On those occasions, the careful
  5100. coordination of all the involved TCB subsets in the correct handling of
  5101. trusted path situations must be shown. If a single TCB subset implements
  5102. trusted path and all the invocations of trusted path are limited to that
  5103. TCB subset (that is, the flow of control in responding to a trusted path
  5104. initiation never leaves the TCB subset until the response is completed),
  5105. then nothing further would be required. The description of the limitation
  5106. of trusted path to a single TCB subset will suffice for the global part of
  5107. the requirement, leaving only the demonstration of local satisfaction of
  5108. the requireme nt by the identified TCB subset. 
  5109.  
  5110. Audit
  5111.  
  5112. If each of several TCB subsets meets the audit requirements locally, then
  5113. there is the issue of whether the set of audit records meets the
  5114. requirements of being able to note and record individual user actions, and
  5115. at B3 and above, to be able to initiate required action. If not all the
  5116. TCB subsets meet the audit requirements locally, then the requirements
  5117. must be satisfied by the cooperative action of the set of TCB subsets. In
  5118. both cases, consideration of the audit characteristics of all the TCB
  5119. subsets has to be part of determining that the entire TCB meets the audit
  5120. requirements. 
  5121.  
  5122. System Architecture
  5123.  
  5124. For many of the system architecture requirements, demonstrating that a
  5125. requirement is satisfied by all of the consitituent TCB subsets is
  5126. sufficient to demonstrate that it is satisfied for the composite TCB. The
  5127. requirements for the "TCB [to] maintain a domain for its execution" and
  5128. for the TCB to "maintain process isolation through the provision of
  5129. distinct address spaces" could be satisfied by the entire TCB without each
  5130. constituent TCB meeting the requirement. 
  5131.  
  5132. The requirement for the TCB to maintain a domain for its execution implies
  5133. the need for each TCB subset to have a domain for its own execution,
  5134. isolated from both untrusted portions of the system and from less
  5135. primitive TCB subsets. The exact wording of the TCSEC requirement could be
  5136. read as disallowing a less primitive TCB subset from occupying a domain
  5137. provided by a more primitive TCB subset and to allocate its subjects to
  5138. domains that do not have access to its own domain: the verb "maintain"
  5139. could be (erroneously) read as requiring each TCB subset to create and
  5140. maintain its own domain for execution. The proper interpretation is that
  5141. the TCB as a whole must provide and maintain such domains for execution,
  5142. rather than each individual TCB subset. Similarly, the exact wording of
  5143. the TCSEC requirement on the "maintain[ing] of process isolation through
  5144. the provision of distinct address spaces" could be read as requiring each
  5145. TCB subset to provide distinct address spaces. The proper interpretation
  5146. is that the TCB as a whole must provide and maintain process isolation,
  5147. either through provision and subsequent use of distinct address spaces, or
  5148. through provision of distinct address spaces by every TCB subset. 
  5149.  
  5150. Covert Channel Analysis
  5151.  
  5152. This requirement applies as stated in the TCSEC to the entire TCB. When
  5153. the TCB is made up entirely of TCB subsets meeting the conditions for
  5154. evaluation by parts, analysis of the individual TCB subsets suffices to
  5155. satisfy this analysis requirement. Otherwise, covert channel analysis must
  5156. address the entire TCB (even if the result of covert channel analyses of
  5157. the individual TCB subsets were available). 
  5158.  
  5159. Trusted Facility Management
  5160.  
  5161. The ability to run a trusted system facility properly applies to the
  5162. combination of TCB subsets making up the TCB. This requirement should not
  5163. be difficult to meet, provided that the individual TCB subsets meet the
  5164. requirement and the interactions between the TCB subsets at the facility
  5165. management level are clear. 
  5166.  
  5167. Trusted Recovery
  5168.  
  5169. In the case of "an ADP system failure or other discontinuity," each TCB
  5170. subset in a B3 or above system needs to be able to recover "without a
  5171. protection compromise." Further, the recovery actions of distinct TCB
  5172. subsets needs to be coordinated and combined so that the resulting system
  5173. is not only recovered as far as each TCB subset is concerned, but is also
  5174. recovered as a composite TCB. 
  5175.  
  5176. Security Testing
  5177.  
  5178. This requirement applies as stated in the TCSEC to the entire TCB. If a
  5179. TCB consists of TCB subsets meeting the conditions for evaluation by
  5180. parts, the satisfaction of the requirements by each TCB subset suffices to
  5181. satisfy the requirement for the entire TCB. Otherwise, security testing
  5182. must include testing of the entire TCB (even if the results of testing the
  5183. individual TCB subsets are available). 
  5184.  
  5185. Design Specification and Verification
  5186.  
  5187. For many of the design specification and verification requirements,
  5188. demonstrating that a requirement is satisfied by all of the consitituent
  5189. TCB subsets is sufficient to demonstrate that it is satisfied for the
  5190. composite TCB. The requirements for a "formal model of the security policy
  5191. supported by the TCB" and that the DTLS at B3 and the FTLS at A1 "be an
  5192. accurate description of the TCB interface" apply in a limited way to the
  5193. entire TCB. 
  5194.  
  5195. After complying security models are provided for the individual TCB
  5196. subsets, a convincing argument is required to explain how the set of
  5197. models represents abstractly the policy of the entire system. 
  5198.  
  5199. After complying top-level specifications (DTLS at B3 and FTLS at A1) are
  5200. provided for the individual TCB subsets, an explicit and convincing
  5201. description of how the set of top-level specifications describe the TCB
  5202. interface with respect to exceptions, errors and effects must also be
  5203. provided. 
  5204.  
  5205. 8. CONTENT-DEPENDENT AND CONTEXT-DEPENDENT ACCESS CONTROL 
  5206.  
  5207. An attractive proposition in a database managment system is to implement
  5208. access controls that depend in some way on the values of the data in a
  5209. storage object or the context in which the information is accessed. For
  5210. example, one might desire to limit access to all personnel records in a
  5211. database according to the salary value (content-dependent access rules).
  5212. On the other hand, a company's earnings report might be held in confidence
  5213. until announced at the stockholders' meeting, at which time it is public
  5214. information (context-dependent access rules). 
  5215.  
  5216. This document does not encourage or endorse mandatory access control on
  5217. storage objects that are based on the content of data values or on the
  5218. context in which the information is viewed. Given that these are research
  5219. topics, it is prudent to take this conservative stance. Research and
  5220. current practice are insufficient to allow definitive guidance on such
  5221. implementations. 
  5222.  
  5223. 9. BULK LOADING OF A DATABASE
  5224.  
  5225. The bulk loading of a database into (perhaps thousands of) database
  5226. objects must be done with care. If the data to be loaded are unlabeled, it
  5227. may not be practical to require an authorized user to examine the data to
  5228. be loaded into each object and assign it a sensitivity label. Instead it
  5229. may be more practical to assign labels to the data according to the
  5230. sensitivity label of the single-level device that is used to import it. In
  5231. this way, bulk loading may be done in single-level stages. 
  5232.  
  5233. Even importing labeled multilevel data may prove difficult. The imported
  5234. data records may be organized on the input device in accordance with their
  5235. logical structure, not their sensitivity levels. For some trusted DBMS
  5236. architectures, this requires that the TCB first separate the data by
  5237. sensitivity levels and subsequently load the data into the database as
  5238. single-level structures. 
  5239.  
  5240. Another problem with bulk loading of labeled data is granularity. It may
  5241. be that the labeling granularity of data on the input device is different
  5242. from the labeling granularity supported by the receiving trusted DBMS. As
  5243. an example, the data being imported may be labeled at the file or field
  5244. level, and the importing DBMS may support labeling at the tuple level. In
  5245. such instances, the data would have to be mapped into objects of the
  5246. proper labeling granularity as the data are being imported. 
  5247.  
  5248. 10. LOCAL ANALYSIS IN SYSTEM ASSESSMENT
  5249.  
  5250. The ability to distinguish and separately reference the results of local
  5251. analysis of TCB subsets is a primary aspect of evaluation by parts, and
  5252. the benefits which accrue are apparent in two, closely related, cases that
  5253. arise in evalutions by parts. These may be thought of as dealing with the
  5254. problems of "hosting" and "porting" although they are actually two aspects
  5255. of the same problemthat of assessing a trusted system constructed of
  5256. previously evaluated parts. 
  5257.  
  5258. For the first case (i.e., that of "hosting"), consider an operating system
  5259. which has been evaluated against the TCSEC requirements and has received a
  5260. rating. Thus, the operating system is a TCB for which both the local and
  5261. global analysis has been done. The results of the local analysis can now
  5262. be used to support the evaluation of a TCB made up of the operating system
  5263. (or, the more primitive TCB subset) and any proposed TCB extension (or,
  5264. less primitive TCB subset). Suppose, for example, that vendor A chooses
  5265. the rated operating system as the host for a DBMS product, which
  5266. implements an access control policy. As described in TC-6, it is now
  5267. possible, under the 
  5268.  
  5269. correct conditions, to re-use the results of the local analysis of the
  5270. host operating system in developing a rating for the composite system.
  5271. Even for those cases not meeting all the conditions for evaluation by
  5272. parts, it may be possible that some, if not most, of the previous results
  5273. are still valid. If vendor B also chooses the rated operating system as
  5274. the host for his DBMS product, it will be possible (again, under the
  5275. proper conditions) to develop a rating for the (new) composite system
  5276. without having to repeat the local analysis of the host operating system.
  5277. As an alternate case, suppose a site has need of an electronic mail
  5278. service as well as the DBMS utility. The mail utility will operate in a
  5279. peer-entity relation with the trusted DBMS utility (i.e., both the mail
  5280. service and the DBMS depend on the host operating system, but neither
  5281. depends on the other). Again, having the results of the local analysis of
  5282. the host operating system eases the burden of assessing the security
  5283. characteristics of the user interface to the composite system made up of
  5284. the mail system and the host operating system. In short, the ability to
  5285. distinguish and separately reference the results of the local analysis of
  5286. the host operating system makes it feasible to evaluate the effect of
  5287. adding arbitrary trusted applications, only by performing the local
  5288. analyis for the application and any global analysis required. 
  5289.  
  5290. For the second case, (i.e., that of "porting") the question becomes that
  5291. of determining the effect of moving a known trusted application, such as a
  5292. DBMS, across arbitrary host systems. Assume that a trusted DBMS product
  5293. meeting the conditions for evaluation by parts has been evaluated on some
  5294. trusted host, and a rating determined for the composite system. Clearly,
  5295. the results of the local analysis of the trusted application available are
  5296. also applicable to the analysis of a composite system made up of the
  5297. trusted application and a different host operating system. Thus, having
  5298. the local analysis of the trusted application will ease the evaluation
  5299. burden associated with porting of trusted applications to different hosts.
  5300. To the extent that the conditions for evaluations by parts have been
  5301. satisfied, the local analysis of the application is valid by reference. 
  5302.  
  5303. Hence only the local analysis of the host operating system and the
  5304. requisite global analysis is needed to assess the security attributes of
  5305. the new composite system. 
  5306.  
  5307. 11. RATING MORE COMPLEX SYSTEMS
  5308.  
  5309. The view taken by the TCSEC is that of an "atomic" TCB; the TCB is seen to
  5310. be a single entity which is, in some sense, homogeneous. This allows a
  5311. relatively simple measure (i.e., the digraphs) to be assigned to the TCB.
  5312. However, real systems may be more complex, resulting in the inability of a
  5313. single, simple rating to convey the full complexity of the system. This is
  5314. implicitly recognized in TCSEC evaluation reports and EPL entries, in
  5315. which credit may be given to a vendor for meeting TCSEC (functional)
  5316. requirements beyond those necessary to satisfy the rating (e.g., the B3
  5317. discretionary access control feature in a C2 TCB). In short, systems which
  5318. reflect straightforward implementations or extensions of the TCSEC can
  5319. accurately be described with a single digraph. On the other hand, adding
  5320. complexity to systems may violate assumptions which underlie the TCSEC
  5321. rating system, requiring a more complex description if accuracy is to be
  5322. achieved. 
  5323.  
  5324. If a TCB made up of TCB subsets is consistent with the TCSEC assumptions
  5325. on homogeneity, then a simple digraph suffices for a full and accurate
  5326. description of the security properties of the product. However, to the
  5327. extent that a subsetted architecture introduces complexity not captured by
  5328. the digraphs, the simple TCSEC ratings cannot be applied to the composite
  5329. system. More specifically, for a subsetted TCB to achieve a single rating,
  5330. all the requirements of that class must be satisfied. For example, if a
  5331. discretionary access control-enforcing DBMS TCB subset is added onto a
  5332. previously evaluated B3 product, the entire system can achieve a B3 rating
  5333. if it could also have achieved the B3 rating evaluated as a monolith. That
  5334. is, the new TCB subset must also satisfy all the assurance and
  5335. architectural requirements of B3. 
  5336.  
  5337. Consider a candidate TCB subset which enforces a discretionary access
  5338. control policy over a new type of object, targeted at a host system which
  5339. has already been evaluated at the B3 level. Examples are a database
  5340. management system providing discretionary access control over tuples, a
  5341. transaction processor providing discretionary access control over
  5342. transactions, and a message system providing discretionary access control
  5343. over messages. If the candidate TCB subset meets all the C2 requirements,
  5344. the problem is what rating will be assigned to the composite system. To
  5345. designate it a "C2" is clearly inaccurate, as well as being unfair to the
  5346. original B3 product vendor. To designate it "B3" may be equally
  5347. inaccurate, and it creates ambiguity in the meaning of the metric used for
  5348. comparing systems. In fact, depending on the details of the specific
  5349. candidate, the composite system could legitimately be rated at any level
  5350. from C2 to B3 under a TCSEC evaluation. 
  5351.  
  5352. The TCSEC rating system assumes a measure of homogeneity which the above
  5353. example violates thus invalidating the very basis upon which a single
  5354. digraph may be assigned. Hence, a subsetted system such as described
  5355. above, will have to be characterized with a more complex description than
  5356. a single digraph. 
  5357.  
  5358. Although this may seem undesirable, it will be a more accurate description
  5359. of the system, and it provides sufficient information to allow system
  5360. designers and accreditors to make decisions about sufficiency of security
  5361. for their specific applications. In essence, such an approach is necessary
  5362. for recognizing the additional complexity which can be introduced by
  5363. architectures which allow system elements to be developed separately. 
  5364.  
  5365. GLOSSARY
  5366.  
  5367. candidate TCB subset The identification of the hardware, firmware, and
  5368. software that make up the proposed TCB subset, along with the
  5369. identification of its subjects and objects; one of the conditions for
  5370. evaluation by parts 
  5371.  
  5372. content-dependent access control Access control in which access is
  5373. determined by the value of the data to be accessed. 
  5374.  
  5375. context-dependent access control Access control in which access is
  5376. determined by the specific circumstances under which the data is being
  5377. accessed. 
  5378.  
  5379. database management system A computer system whose main function is to
  5380. facilitate the sharing of a common set of data among many different users.
  5381. It may or may not maintain semantic relationships among the data items. 
  5382.  
  5383. DBMS Abbreviation for "database management system." 
  5384.  
  5385. depends A TCB subset A depends (for its correctness) on TCB subset B if
  5386. and only if the (engineering) arguments of the correct implementation of A
  5387. with respect to its specification assume, wholly or in part, that the
  5388. specification of B has been implemented correctly. 
  5389.  
  5390. domain The set of objects that a subject has the ability to access. 
  5391.  
  5392. dominated by Security level A is dominated by security level B if (1) the
  5393. clearance/classification in A is less than or equal to the
  5394. clearance/classification in B, and (2) the set of access approvals (e.g.,
  5395. compartment designators) in A is contained in the set of access approvals
  5396. in B (i.e., each access approval appearing in A also appears in B). This
  5397. dominance relation is a special case of a partial order. 
  5398.  
  5399. dominates "Security level B dominates security level A" is synonymous with
  5400. "security level A is dominated by security level B." See "dominated by." 
  5401.  
  5402. global requirements Those which require analysis of the entire system and
  5403. for which separate analysis of the individual TCB subsets does not
  5404. suffice. See Section TC-5.3.2 for a summary list. 
  5405.  
  5406. lattice A partially ordered set for which every pair of elements has a
  5407. greatest lower bound and a least upper bound. 
  5408.  
  5409. local requirements Those for which separate analysis of the individual TCB
  5410. subsets suffices to determine compliance for the composite TCB. See
  5411. Section TC-5.3.1 for summary list. 
  5412.  
  5413. metadata (1) Data referring to other data; data (such as data structures,
  5414. indices, and pointers) that are used to instantiate an abstraction (such
  5415. as "process," "task," "segment," "file," or "pipe"). (2) A special
  5416. database, also referred to as a data dictionary, containing descriptions
  5417. of the elements (e.g., relations, domains, entities, or relationships) of
  5418. a database. 
  5419.  
  5420. monolithic TCB A TCB that consists of a single TCB subset. 
  5421.  
  5422. object A passive entity that contains or receives information. Access to
  5423. an object potentially implies access to the information it contains.
  5424. Examples of objects are: records, blocks, pages, segments, files,
  5425. directories, directory trees, and programs, as well as bits, bytes, words,
  5426. fields, processors, video displays, keyboards, clocks, printers, network
  5427. nodes, etc. 
  5428.  
  5429. partial order A relation that is symmetric (a is related to a), transitive
  5430. (if a is related to b and b is related to c, then a is related to c), and
  5431. antisymmetric (if a is related to b and b is related to a, then a and b
  5432. are identical.) 
  5433.  
  5434. primitive An ordering relation between TCB subsets based on dependency
  5435. (see "depends" above). A TCBsubset B is more primitive than a second TCB
  5436. subset A (and A is less primitive than B) if (a) A directly depends on B
  5437. or (b) a chain of TCB subsets from A to B exists such that each element of
  5438. the chain directly depends on its successor in the chain. 
  5439.  
  5440. reference monitor concept An access control concept that refers to an
  5441. abstract machine that mediates all accesses to objects by subjects. 
  5442.  
  5443. reference validation mechanism "An implementation of the reference monitor
  5444. concept . . . that validates each reference to data or programs by any
  5445. user (program) against a list of authorized types of reference for that
  5446. user." It must be tamper proof, must always be invoked, and must be small
  5447. enough to be subject to analysis and tests, the completeness of which can
  5448. be assured. [1] 
  5449.  
  5450. security policy The set of laws, rules, and practices that regulate how an
  5451. organization manages, protects, and distributes sensitive information. 
  5452.  
  5453. storage object An object that supports both read and write accesses. 
  5454.  
  5455. subject An active entity, generally in the form of a person, process, or
  5456. device that causes information to flow among objects or changes the system
  5457. state. Technically, a process/domain pair. 
  5458.  
  5459. subset-domain A set of system domains. For evaluation by parts, each
  5460. candidate TCB subset must occupy a distinct subset domain such that
  5461. modify-access to a domain within a TCB subset's subset-domain is permitted
  5462. only to that TCB subset and (possibly) to more primitive TCB subsets. 
  5463.  
  5464. TCB subset A set of software, firmware, and hardware (where any of these
  5465. three could be absent) that mediates the access of a set S of subjects to
  5466. a set O of objects on the basis of a stated access control policy P and
  5467. satisfies the properties: 
  5468.  
  5469.      (1) M mediates every access to objects O by subjects in S; 
  5470.      (2) M is tamper resistant; and 
  5471.      (3) M is small enough to be subject to analysis and tests, the
  5472.      completeness of which can be assured. 
  5473.  
  5474.      technical policy The set of rules regulating access of subjects to
  5475.      objects enforced by a computer system. 
  5476.  
  5477. Trusted Computing Base (TCB) The totality of protection mechanisms within
  5478. a computer system including hardware, firmware, and software the
  5479. combination of which is responsible for enforcing a security policy. A TCB
  5480. consists of one or more components that together enforce a unified
  5481. security policy over a product or system. The ability of a TCB to
  5482. correctly enforce a security policy depends solely on the mechanisms
  5483. within the TCB and on the correct input by system administrative personnel
  5484. of parameters (e.g., a user's clearance) related to the security policy. 
  5485.  
  5486. trusted subject A subject that is permitted to have simultaneous view- and
  5487. alter-access to objects of more than one sensitivity level. 
  5488.  
  5489. user Any person who interacts directly with a computer system. 
  5490.  
  5491. view That portion of the database that satisfies the conditions specified
  5492. in a query. 
  5493.  
  5494. view definition A stored query; sometimes loosely referred to as a "view."
  5495.  
  5496. BIBLIOGRAPHY
  5497.  
  5498. 1. J. P. Anderson, "Computer Security Technology 
  5499.  
  5500. Planning Study," ESD-TR-73-51 (AD-758206), J. P. 
  5501.  
  5502. Anderson Co., October 1972. 
  5503.  
  5504.      2. J. P. Anderson, "On the Feasibility of Connecting 
  5505.      RECON to an External Network," Technical Report, J. P. 
  5506.      Anderson Co., March 1981. 
  5507.      3. D. E. Bell and L. J. La Padula, "Secure 
  5508.      Computer Systems: Unified Exposition and Multics Interpretation,"
  5509.      MTR-2997, (AY/W 020 445), The MITRE Corporation, Bedford,
  5510.      Massachusetts, July 1975. 
  5511.      4. D. E. Bell and L. J. La Padula, "Secure 
  5512.  
  5513. Computer Systems: Mathematical Foundations," 
  5514.  
  5515. MTR-2547-I, (AD 770 768), The MITRE Corporation, 
  5516.  
  5517. Bedford, Massachusetts, March 1973. 
  5518.  
  5519.      5. L. J. La Padula and D. E. Bell, "Secure 
  5520.      Computer Systems: A Mathematical Model," MTR 2547-II, (AD 771 543),
  5521.      The MITRE Corporation, Bedford, Massachusetts, May 1973. 
  5522.      6. D. E. Bell, "Secure Computer Systems: A 
  5523.      Refinement of the Mathematical Model," MTR 2547-III, 
  5524.      (AD 780 528), The MITRE Corporation, Bedford, 
  5525.  
  5526. Massachusetts, December 1973. 
  5527.  
  5528.      7. D. E. Bell, "Secure Computer Systems: A Network 
  5529.      Interpretation," Proceedings of the Second Aerospace Computer
  5530.      Security Conference, McLean Virginia, December 2-4, 1986, pp. 32-39. 
  5531.  
  5532. 8. Department of Defense, Department of Defense 
  5533.  
  5534. Trusted Computer System Evaluation Criteria, DOD 
  5535.  
  5536. 5200.28-STD, December 1985. 
  5537.  
  5538.      9. D. E. Denning, "Cryptographic Checksums for 
  5539.      Multilevel Database Security," Proceedings of the IEEE Symposium on
  5540.      Security & Privacy, Oakland, California, April 29-May 2, 1984, pp.
  5541.      52-61. 
  5542.      10. D. E. Denning, "Commutative Filters for Reducing 
  5543.      Inference Threats in Multilevel Database Systems," Proceedings of the
  5544.      IEEE Symposium on Security & Privacy, Oakland, California, April
  5545.      22-24, 1985, pp. 134-146. 
  5546.      11. E. B. Fernandez, R. C. Summers, and C. Wood, 
  5547.      Database Security and Integrity, Boston, Massachusetts: 
  5548.      Addison Wesley, 1981. 
  5549.      12. C. Garvey and A. Wu, "ASD Views," Proceedings of the Fourth
  5550.      Aerospace Computer Security Applications Conference, Orlando,
  5551.      Florida, December 1988, pp. 85-95. 
  5552.      13. R. D. Graubart and J. P. L. Woodward, "A 
  5553.      Preliminary Naval Surveillance DBMS Security Model," Proceedings of
  5554.      the IEEE Symposium on Security & Privacy, Oakland, California, April
  5555.      26-28, 1982, pp. 21-37. 
  5556.      14. R. D. Graubart, "The Integrity-Lock Approach to 
  5557.      Secure Database Management," Proceedings of the IEEE 
  5558.      Symposium on Security & Privacy, Oakland, California, 
  5559.  
  5560. April 29-May 2, 1984, pp. 62-74. 
  5561.  
  5562.      15. M. J. Grohn, "A Model of a Protected Data 
  5563.      Management System," ESD-TR-76-289, I. P. Sharp Associates, Ltd., June
  5564.      1976. 
  5565.      16. T. H. Hinke, M. Schaefer et al., "Secure Data 
  5566.      Management System," RADC-TR-75-266 (AD-A019201), System Development
  5567.      Corporation, Santa Monica, California, November 1975. 
  5568.      17. C. E. Landwehr, C. L. Heitmeyer, and J. 
  5569.      McLean, "A Security Model for Military Message Systems," ACM
  5570.      Transactions on Computer Systems, Vol. 2, No. 3, August 1984, pp.
  5571.      198-222. 
  5572.      18. T. F. Lunt, D. E. Denning, P. G. Neumann, R. 
  5573.      R. Schell, M. Heckman, and W. R. Shockley, "Final 
  5574.  
  5575. Report Vol. 1: Security Policy and Policy 
  5576.  
  5577. Interpretation for a Class A1 Multilevel Secure 
  5578.  
  5579. Relational Database System," Computer Science 
  5580.  
  5581. Laboratory, SRI International, Menlo Park, California, 1988. 
  5582.  
  5583.      19. J. McHugh and B. M. Thuraisingham, "Multilevel 
  5584.      Security Issues in Distributed Database Management Systems,"
  5585.      Computers & Security, Vol. 7, No. 4, Elsevier Advanced Technology
  5586.      Publications, August 1988, pp. 387-396. 
  5587.      20. National Computer Security Center, Proceedings of the National
  5588.      Computer Security Center Invitational Workshop on Database Security,
  5589.      Baltimore, Maryland, June 17-20, 1986. 
  5590.      21. P. A. Rougeau and E. D. Sturms, "The Sybase 
  5591.      Secure Dataserver: A Solution to the Multilevel Secure 
  5592.  
  5593. DBMS Problem," Proceedings of the 10th National 
  5594.  
  5595. Computer Security Conference, Baltimore, Maryland, 
  5596.  
  5597. September 21-24, 1987, pp. 211-215. 
  5598.  
  5599.      22. M. Schaefer, ed., Multilevel Data Management 
  5600.  
  5601. Security, Air Force Studies Board, Committee on 
  5602.  
  5603. Multilevel Data Management Security, National Academy Press: Washington,
  5604. D.C., 1983. 
  5605.  
  5606.      23. M. D. Schroeder and J. H. Saltzer, "A Hardware 
  5607.      Architecture for Implementing Protection Rings," Communications of
  5608.      the ACM, Vol. 15, No. 3, March 1972, pp.157-170. 
  5609.      24. W. R. Shockley and R. R. Schell, "TCB Subsets for Incremental
  5610.      Evaluation," Proceedings of the Third Aerospace Computer Security
  5611.      Conference, Orlando, Florida, December 7-11, 1987, pp. 131-139. 
  5612.      25. P. Stachour and B. Thuraisingham, "Design of LDV 
  5613.           ₧ A Multilevel Secure Database Management System," IEEE
  5614.           Transactions on Knowledge and Data Engineering, Vol. 2, No. 2,
  5615.           June 1990, pp. 190-209. 
  5616.  
  5617.      26. M. Stonebraker, "Operating System Support for Database
  5618.      Management," Communications of the ACM, Vol. 24, No. 7, July 1981,
  5619.      pp. 412-418. 
  5620.  
  5621.      27. Unisys Corporation, "Secure Distributed Database 
  5622.      Management System," Final Technical Report, Rome Air Development
  5623.      Center Technical Report, RADC-TR-89-314, Vol. 1-5, December 1989. 
  5624.      28. J. Wilson, "Views as the Security Objects in a 
  5625.      Multi-level Secure Relational Database Management System,"
  5626.      Proceedings of the 1988 IEEE Symposium on Security & Privacy,
  5627.      Oakland, California, April 18-21, 1988, pp. 70-84. 
  5628.  
  5629.  
  5630.  
  5631.  
  5632.  
  5633.  
  5634.