NCSC-TG-008 Library No. S-228,592 FOREWORD "A Guide to Understanding Trusted Distribution in Trusted Systems," is the latest in the series of technical guidelines that are being published by the National Computer Security Center. These publications are designed to provide insi ht to the Trusted Computer Systems Evaluation Criteria requirements and guiance for meeting each requirement. The specific guidelines in this document provide a set of good practices related to trusted distribution of the hardware, software, and firmware portions, both originals and updates, of automated data processing systems employed for processing classified and other sensitive information. This technical guideline has been written to help the vendor and evaluator community understand what trusted distribution is, why it is important, and how an effective trusted distribution system may be implemented to meet the requirements of the Trusted Computer Systems Evaluation Criteria. As the Director, National Computer Security Center, I invite your recommendations for revision to this technical guideline. We plan to review this document biannually. Please address any proposals for revision through appropriate channels to: National Computer Security Center 9800 Savage Road Fort George G. Meade, MD 20755-6000 Attention: Chief, Criteria and Guidelines Patrick R. Gallagher ,Jr. 15 December 1988 Director National Computer Security Center i ACKNOWLEDGMENTS Special recognition is extended to James N. Menendez, National Computer Security Center (NCSC), as project manager and coauthor of this document. Recognition is also extended to Scott Wright, Advanced Information Management (AIM), Inc., as coauthor and researcher of this document. Acknowledgment is also given to all those members of the computer security community who contributed their time and expertise by actively participating in the review of this document. ii CONTENTS FOREWORD.............................................................................i ACKNOWLEDGMENTS ii 1. INTRODUCTION 1 1.1 PURPOSE 1 1.2 SCOPE 2 1.3 CONTROL OBJECTIVE 2 2. OVERVIEW OF TRUSTED DISTRIBUTION 3 2.1 THREATS 3 2.2 PURPOSE OF TRUSTED DISTRIBUTION 5 2.3 LIFE-CYCLE ASSURANCE 6 2.3.1 Assurance for Different Types of Production 7 3. THE TCSEC REQUIREMENTS FOR TRUSTED DISTRIBUTION 9 4. IMPLEMENTATION METHODS 11 4.1 PROTECTIVE PACKAGING 12 4.1.1 Shrink Wrapping 13 4.1.2 Active Systems 14 4.1.3 Tamper-Resistant Seals 14 4.2 COURIERS 15 4.3 REGISTERED MAIL 16 4.4 MESSAGE AUTHENTICATION CODES 17 4.5 ENCRYPTION 18 4.6 SITE VALIDATION 18 4.6.1 Checksum Programs 19 4.6.2 Inventory 20 4.6.3 Engineering Inspection 21 iii CONTENTS (cont'd) 5. SAMPLE IMPLEMENTATION 23 5.1 TRUSTED DISTRIBUTION OF HARDWARE, FIRMWARE, AND SOFTWARE 23 5.2 TRUSTED DISTRIBUTION OF DOCUMENTATION 23 6. SUMMARY OF TRUSTED DISTRIBUTION 25 GLOSSARY 27 REFERENCES 31 iv 1. Introduction 1.1 Purpose The Trusted Computer System Evaluation Criteria (TCSEC) is the metric used for evaluating the effectiveness of security controls built into Automated Data Processing (ADP) systems. The TCSEC is divided into four divisions: D, C, B, and A, ordered in a hierarchical manner with the highest division, A, being reserved for systems providing the best available level of assurance.. Within division C through A are a number of subdivisions known as classes, which are also ordered in a hierarchical manner to represent different levels of security. At TCSEC class A1, trusted distribution of the hardware, software, and firmware portions of the Trusted Computing Base (TCB) and their updates shall be provided. Trusted distribution includes procedures to ensure that all of hte TCB configuration items, such as the TCB software, firmware, hardware, and updates, distributed to a customer site arrive exactly as intended by the vendor without any alterations. Additionally, trusted distribution may include procedures that enable the customer site to determine that what was received at the site was actually sent by the vendor. The purpose of this guideline is to provide guidance to vendors of trusted systems on what trusted distribution is, why it is important, and how to select and implement an effective trusted distribution system to meet the TCSEC requirement. Examples in this document are not to be construed as the only implementations that will satisfy the TCSEC requirement. The examples are merely suggestions of appropriate implementations. The recommendations in this document are also not to be construed as supplementary requirements to the TCSEC. The TCSEC is the only metric against which systems are to be evaluated. This guideline is part of an ongoing program to provide helpful guidance on TCSEC issues and the features they address. 1 1.2 Scope An important assurance requirement of TCSEC class Al is that the TCB software, firmware, hardware, and their updates be distributed to a customer site in a trusted manner. This guideline is to be used by vendors of trusted systems in the preparation of procedures, techniques, and equipment to establish trusted distribution between a vendor site and a customer site. This guideline will discuss trusted distribution as it relates to computer systems and products that are intended to meet the Al requirements of the TCSEC. 1.3 Control Objective Trusted distribution focuses primarily on the assurance control objective of the TCSEC. The assurance control objective states: "Systems that are used to process or handle classified or other sensitive information must be designed to guarantee correct and accurate interpretation of the security policy and must not distort the intent of that policy. Assurance must be provided that correct implementation and operation of the policy exists throughout the system's life cycle."[7] Any alteration to the TCB at any time during the system life cycle could result in a violation of the system security policy. Assurance that the system security policy is correctly implemented and operational throughout the system life cycle is provided by different TCSEC requirements. At TCSEC class Al, trusted distribution, in conjunction with configuration management, provides assurance that the TCB software, firmware, and hardware, both original and updates, are received by a customer site exactly as specified by the vendor's master copy. Trusted distribution also ensures that TCB copies sent from other than legitimate parties are detected. 2 2. OVERVIEW OF TRUSTED DISTRIBUTION 2.1 Threats The different divisions of the Trusted Computer System Evaluation Criteria (TCSEC) were developed to protect against threats that could be directed towards Automated Data Processing (ADP) systems. Each higher class is required to provide additional features and assurances over the next lower class, thus providing increasing levels of trust. At the C level and above, passwords and audit mechanisms provide ways to restrict access to a system and make users accountable for their actions. At the TCSEC B level, the addition of labeling mechanisms control access to data based on clearances of subjects and classifications of objects. The class of system needed by a specific site should be determined by the types of threats that are faced by that site. Generally, the class of system is dependent upon the sensitivity level of the data that are being processed by the site and the clearance of the system users. According to the Guideline for Applying the Department of Defense Trusted Computer System Evaluation Criteria in Specific Environments[5], a risk index corresponding to the minimum clearance or authorization of system users and the maximum sensitivity of data processed by the system can be used to determine the minimum evaluation class required by a site. The features and assurances in lower class systems protect against the threat that someone will tamper with a system while it is in operation, but it is at TCSEC class Al that the threat of subversion is addressed. Computer subversion is the name generally applied to deliberate, malicious modification of executable code or hardware within a computer system. The subversion can be accomplished at any time during the system's life from the earliest stages of design to the last day of its use. A component can be subverted either to permit later penetration or as an act of sabotage -- to nullify or to degrade the system's capability. Forms of subversion include the trap door, the Trojan horse, and computer viruses. The threat of subversion exists at all classes; however, the benefit of providing assurance features to guard against it in lower class systems may not justify the cost of this type of protection. 3 There are basically two threats that trusted distribution protects against. The first is the threat of someone tampering with a system during its movement from a vendor site to a customer site. Throughout this document the term "vendor site" will be used to mean the point from which the TCB hardware, software, and firmware to be distributed are sent. The term "customer site" is the point at which the distributed material is accepted. Specifically, any system component that participates in the enforcement of the security policy of the system is what needs to be protected. For example, someone may break into a delivery truck and insert malicious code into a trusted system before it reaches the customer site. The system or update being delivered, when installed at the site, will contain the harmful code that could cause compromise of the system's security policy. Trusted distribution may include protective packaging methods that protect against changes being made to a system (see Section 4.1 Protective Packaging). Trusted distribution may also include methods of detecting if a system and/or its updates have been accidentally or maliciously altered during or after distribution through validation tests (see Section 4.7 Site Validation). The second threat protected against by trusted distribution is that the TCB is a counterfeit; that is the system or update did not come from the vendor site. Trusted distribution includes procedures for the distribution of TCB components, such as requiring the vendor to notify a customer site of an impending delivery. By doing this, trusted distribution protects against the threat of sites receiving systems that were not distributed by the vendor and provides assurance that the vendor was the actual sender of the product or update. Trusted distribution should be able to answer the question, "Was what I received really sent from the vendor or an imposter?" Without trusted distribution, all a penetrator needs to do is package a system or update containing a virus or Trojan horse so that it looks as though it came from an actual vendor. The receiving site, upon seeing the packaging, assumes that the system or update is genuine, unaware that it is really a counterfeit. To prevent this from happening, the vendor and customer sites may establish procedures requiring them to agree on when deliveries will be made and what they will contain. 4 2.2 Purpose of Trusted Distribution Hostile attacks may occur on computer systems when they are in use, but it is also possible for computer systems to be attacked even before they are installed at a customer site. The TCSEC requires that assurance mechanisms be in place throughout the life cycle of a system to prevent modifications being made to the TCB which could adversely affect the security policy of a system. One such assurance requirement for class Al systems is trusted distribution. Trusted distribution maintains the integrity of the current TCB software, firmware, and hardware as well as any updates to these by ensuring that any changes made to the TCB during the distribution process do not go unnoticed. "Trap doors can be inserted during the distribution phase. If updates are sent via insecure communications - either U.S. Mail or insecure telecommunications, the penetrator can intercept the update and subtly modify it. The penetrator could also generate his own updates and distribute them using forged stationery. "[3] The main purpose of trusted distribution is to protect a trusted system as it is being distributed, and consequently to provide protection for the information that will be processed on the system. Trusted distribution provides assurance that a trusted system arrives at a customer site with all of its security properties intact and that the system or update that is received at the customer site is the, "same system or update which was produced from the master copy of the system evaluated against the TCSEC."[6] Any tampering with the TCB software, firmware, hardware, whether originals or updates, from the time they leave the vendor site to the time they arrive at the customer site may permit the security policy of the system to be circumvented. Trusted distribution provides protection against tampering and a means of detecting that a system has been altered; it accomplishes this through physical devices (locks), electronic devices (encryption), and procedures (bonding of couriers). It also provides procedures for site validation so that if the protection mechanism[s] should fail, any modification to the TCB software, firmware, hardware, both originals and updates, will not go unnoticed. If sufficient trust can be placed in either the protection methods or the customer site validation, it is possible to use that method exclusively. If not, it may be necessary to apply techniques for both the protection of the shipment and validation. 5 2.3 Life-Cycle Assurance Trusted distribution is one link in a chain of assurances provided by trusted systems. It is helpful to take a look at all of the other activities that take place to ensure that the system in operation is the one that the vendor and customer agree upon. The following is a summary of the assurances that are needed to ensure that the product delivered to a customer site is operating under a correct implementation of the system's security policy: - Assurance that the product evaluated is the one the manufacturer built - Assurance that the product built is the one that was sent - Assurance that the product sent is the one the customer site received. Long before a system is boxed and prepared to be sent to a customer site, assurance needs to be provided that the system is being built as specified. The TCSEC class Al design specification and verification requirements require a formal top-level specification (FTLS) to be maintained that accurately describes the system. The FTLS is shown to be consistent with the TCB interface. Additionally, specification to code mapping provides assurance that the design has been properly implemented. Configuration management provides control over the design and development of a system, ensuring that the system is built to specification. The main purpose of configuration management is to ensure that any changes to the system during design, development, or during the system life cycle "take place in an identifiable and controlled environment and that they do not adversely affect the implementation of the security policy of the TCB."[4] More information on 6 configuration management can be found in A Guide to Understanding Configuration Management in Trusted Systems (NCSC-TG-006). Once the system has been built, security testing shall be performed to ensure that the system works exactly as claimed in the system documentation. The security testing shall demonstrate that the TCB implementation is consistent with the FTLS. Trusted distribution provides assurance that the security policy of a system is not violated during distribution of the system. For trusted distribution to be successful, the TCB shall have been under configuration management throughout the development process, ensuring that the integrity of the developer's master copy of the TCB has been maintained. Without configuration management in place during the design and development of a system, the assurance provided by trusted distribution will be suspect. True, it will still protect against any tampering with a system during delivery, but if the system being delivered has already been tampered with during development then the damage has already been done. Once the system is in operation at a customer site, assurance shall be provided throughout the system life cycle that the security policy of the system is correctly implemented. Configuration management continues throughout the system life cycle ensuring that any changes to the system take place in a controlled environment. It is said that "a chain is only as strong at its weakest link," and if any of these assurances fails during the system life cycle, the probability that the security policy of the system could be violated increases. 2.3.1 Assurance for Different Types of Production Not every distribution is as simple as having the entire computer system designed, developed, and assembled in a vendor's facility and then shipped to a customer site. Most computer systems, particularly large-scale computer systems, comprise several parts which are produced separately and need to be assembled. The distribution process for a trusted system may be as simple as shipping from vendor sites to customer sites, or may be as complex as from vendor to central sites to other sites, or from software development center sites to other sites, etc. If 7 development is done at different sites and then integrated at yet another site, the pieces of the system transferred between these sites during development should be subject to the same trusted distribution requirements as the final TCB product. The item, at the point of transfer to a customer site, should be a true reflection of the vendor's master copy. The manner in which the TCB components are handled prior to distribution will have an impact on the trusted distribution process. The following is a recommendation for how a vendor may provide assurance before the components are actually shipped. "There are basically two types of production that companies employ: mass production, and production per request basis. In either case, there will probably be idle time where the system(s) will be waiting for delivery probably in some type of warehouse. Strict accounting procedures and physical controls must be placed on the system(s) both during the delivery to and stay in the warehouse to ensure that no unauthorized modifications are made. For example, controls must exist which log any entry into the warehouse, authorizations for the alteration of any system or range of serial numbers within the warehouse must be properly documented, etc."[6] The "trusted warehouse" spoken of in the preceding paragraph is not a TCSEC requirement, but when considering that trusted distribution really extends further than just providing assurance from vendor loading dock to customer site loading dock, it should be considered. The assurance that trusted distribution provides is dependent on a system not being altered before being loaded onto a delivery truck. The control of the system during "idle time" should be performed by configuration management practices, emphasizing the importance of configuration management in trusted distribution. 8 3. THE TCSEC REQUIREMENTS FOR TRUSTED DISTRIBUTION This section lists the TCSEC requirements for trusted distribution. These requirements have been extracted from the TCSEC and have been listed separately and numbered. How these requirements can be met will be discussed in the following sections of this document. This section is designed to serve as a quick reference for the TCSEC requirements for trusted distribution. Trusted distribution is required at TCSEC class Al, and the requirement can be broken down into two parts. Requirement 1 - "A trusted ADP system control and distribution facility shall be provided for maintaining the integrity of the mapping between the master data describing the current version of the TCB and the on-site master copy of the code for the current version."[7] Requirement 2 - "Procedures (e.g., site security acceptance testing) shall exist for assuring that the TCB software, firmware, and hardware updates distributed to a customer are exactly as specified by the master copies."[7] 9 *** Page 10 is intentionally left blank 4. IMPLEMENTATION METHODS This section describes various implementation methods that can be used to establish a trusted distribution system and the advantages and disadvantages of each method. When choosing a protective packaging system or a customer site validation process, remember that some devices or techniques provide a higher degree of protection than others. The higher the threat to the distribution system, the greater the need for more stringent measures or multiple levels of trusted distribution methods. In many situations, multiple methods for trusted distribution should be used, such as a protective packaging system during distribution and site validation upon receipt. This layered approach will counter the insider threat or the threat of collusion where employees themselves alter the contents of a package before it is distributed. Each situation that requires trusted distribution is unique and requires that the system be addressed individually. For a National Computer Security Center Al evaluation, a vendor must submit a plan that describes the trusted distribution method(s) for the system under evaluation. This plan should include a description of the procedures to be followed and the mechanisms (type of packaging) to be used for distribution of both initial versions and updates. Any deviation from the trusted distribution plan submitted could jeopardize the evaluation rating. There are other requirements in the TCSEC which are related to trusted distribution, namely those concerning configuration management. A vendor should be sure that the system sitting on the loading dock is the system that the vendor thinks it is. At TCSEC class Al, the configuration management system shall include, "a combination of technical, physical, and procedural safeguards" to be "used to protect from unauthorized modification or destruction the master copy or copies of all materials used to generate the TCB."[7] All of the implementation methods that follow are contingent upon prior performance of configuration management, ensuring that the system has not been maliciously altered before being distributed. 11 A related concern that plays a part in trusted distribution is that communication should be established between the vendor and customer sites for both the initial and updated distribution of the TCB software, firmware, and hardware. The procedures used should include agreement between the vendor and customer sites as to the methods to be used for distribution and the time frame in which the distribution will be made. The sender (the vendor) and receiver (the customer) should be uniquely identified prior to distribution for the trusted distribution system to function successfully. It is essential that this identification be made and that procedures be in place for manufacturers to notify users of pending shipments. Included in this identification should be the unique identification of every component to be shipped. This identification will allow for the detection of any system configuration changes. Additionally, the customer should have procedures in place that will keep the customer advised of the latest changes from the vendor. At a minimum the customer should enforce a policy that forbids the use of any new TCB software, firmware, or hardware without prior notification from the vendor of the most current change, to include the date each change to the TCBo was sent and the means by which the TCB software, firmware, and hardware was sent. Another concern is the reliance on the individuals involved in the design, development, manufacturing, and distribution of the trusted system. Each individual who is involved in the system prior to and during distribution should be subject to review that would verify his or her trustworthiness and reliability. Particularly for distribution, all individuals who play a significant role in the establishment of the control at the shipping end, or the validation at the receiving end should be worthy of the trust placed in them to perform their roles reliably. Without this step, any process for protection is subject to an insider compromise. 4.1 Protective Packaging Protective packaging is a way of wrapping an item so that it cannot be opened and resealed without leaving some obvious indication that the package has been tampered with. Protective packaging can be provided to limit access to the TCB software, firmware, and hardware during shipment and to guarantee their delivery in an unaltered form. Protective packaging ranges from simple shrink 12 wrapping to complex fiber-optic techniques. The wrapping for shipments should allow the sender and the package contents to remain anonymous. Techniques such as double wrapping the materials to be distributed or an absence of exterior markings when using shrink wrapping could accomplish this. The technique used for packaging the TCB components for distribution shall be documented in the trusted distribution plan. Protective packaging not only limits access to the materials being distributed, but also aids in protection against environmental factors, such as dust and water. It is not possible to present every protective packaging technique; however, the examples that follow are provided to present some of the methods that are currently in use. 4.1.1 Shrink Wrapping Shrink wrapping is one method of trusted distribution which consists of enclosing the product in a plastic film. This method may be used for TCB hardware, software, or firmware, but since it does involve the use of heat, it should not be used for computer-related equipment that is very sensitive to heat. When heat is applied to the plastic film in shrink wrapping, the film contracts, or shrinks, forming a tight seal around the product. If the shrink- wrapped seal is broken, this is an indication that the product being shipped has been tampered with. Not only is shrink wrapping used for the trusted distribution of TCB components, but many industries including the food and drug industry use shrink wrapping to provide consumer protection that products have not been tampered with. Additional special shrink-wrap techniques are available that may increase the reliability of the shrink wrap. 13 The size and construction of the materials to be packaged are important considerations when selecting a shrink-wrapping technique. For example, shrink wrapping products the size of mainframe central processing units (CPUs) or mainframe disk drives is currently not done because of their large size. Techniques will need to be improved to make shrink wrapping a feasible packaging option for these types of products. 4.1.2 Active Systems The use of active systems for protective packaging is a viable method for the distribution of TCB software, firmware, and hardware. This method was originally intended to secure personal computers and electronic equipment. Conceptually, an active system could include looping a fiber-optic cable through a latch on the opening of a container and attaching the cable to a control unit via an alarm. An active system provides assurance that a package cannot be entered without triggering the alarm. An advantage to the active systems method is that there is a real-time notification of any tampering with the TCB hardware, software, or firmware as they are being delivered. It is very possible that anyone tampering with the product could be caught before having a chance to modify the system. This real- time notification can be circumvented, though, by interfering with the alarm so that the signal will not be picked up. In these cases, the break-in will be detected but not until the delivery truck reaches its destination. True, it will presumably be too late to catch those responsible for the attack, but the detection provided by active systems will prevent an altered component from being used that could result in a security policy compromise. 4.1.3 Tamper-Resistant Seals The use of tamper-resistant seals is another method of protective packaging that may be used to protect the distribution of large TCB software, firmware, and hardware items. One example of a tamper-resistant seal for large items shipped by truck is a special-purpose truck seal. This device generates a random 4-digit 14 number when installed on a truck door. When the door is opened a new random number is generated. The device is encased in metal and epoxy resin to prevent tampering. By sealing the truck at the vendor facility and sending the number to the customer site by secure means, it is possible for the user to determine whether or not the truck cargo has been opened. Other forms of locking devices and seals, such as a high impact security lock or company registered seals, can also be applied before shipment and verified prior to opening. The different sealing devices used provide different degrees of assurance and should be selected based on the needs of the item being distributed. 4.2 Couriers The use of a courier service is a possible way to establish the trusted distribution of TCB software, hardware, firmware, both originals and updates. Couriers provide the advantage of constant surveillance of the materials they are transporting. The use of couriers increases the reliability of any delivery system and can easily be used in conjunction with other protective methods such as locking devices and protective packaging. There are several commercial firms that can supply bonded services, or manufacturers may use their own internal courier service, if available. Within the military, the Defense Courier Service (DCS), formerly known as the Armed Forces Courier Service (ARFCOS), is an alternative. It is possible to transport the most sensitive materials by means of couriers. The TCB products to be distributed should be considered to be as sensitive as the data they are being used to process and should be treated accordingly. Depending upon the sensitivity of the material to be distributed, the vendor and/or customer site may want to establish regulations regarding who may act as a courier, what type of materials they may transport, and where the material may be delivered. A partial list of guidelines for the use of courier service is provided below. Persons acting as couriers should be trusted to the level of the material they are transporting 15 - Material should remain in their personal custody at all times - Vendor as consignor should be responsible for the safety of the material - Vendor should notify the customer site of the nature of the shipment, the means of the shipment, number of seals (if used), and the anticipated time and date of arrival by separate communication at least 24 hours in advance of the arrival of the shipment in order that the customer site may take appropriate steps to receive and protect the shipment. For the use of a courier service to provide trusted distribution successfully, assurance should exist that the TCB software, firmware, or hardware is not modified while stored in a warehouse before being picked up by the courier. Otherwise, the assurance provided by the courier will have been defeated. 4.3 Registered Mail Registered mail can be part of the trusted distribution of TCB hardware, software, and firmware to a customer site without any undetected disclosure or loss. Although registered mail alone is not sufficient for meeting the TCSEC trusted distribution requirement, it does not preclude it from being a part of the trusted distribution process. The reason that registered mail alone does not satisfy the TCSEC requirement is that although the customer site has to verify its identity before being allowed to receive a package via registered mail, the sender does not have to show any form of identification to mail a package. This can result in the scenario detailed earlier in which someone can duplicate a vendor's wrapping and markings and mail a malicious update or system. Provided that the registered mail is supplemented by other adequate mechanisms to compensate for its shortcomings, such as an unforgeable internal signature to ensure the identity of the sender, it can meet the trusted distribution requirement and provide assurance that what was delivered through the mail actually came from the vendor. 16 When sending TCB software, firmware, hardware, originals or updates, via registered mail, the products should be considered to be as sensitive as the data they are being used to process and should be treated accordingly. Some procedures to be observed when using registered mail for trusted distribution include: - Material to be transmitted should be enclosed in opaque inner and outer containers - If the material is in a hard-copy form and is of such size as to permit the use of envelopes for wrapping, the contents should be protected from direct contact with the inner container by a cover sheet or by folding inward. 4.4 Message Authentication Codes Message Authentication Codes provide an effective means for transmitting segments of TCB software. The banking system is one of the largest users of electronic distribution, and has successfully used Message Authentication Codes for several years. A Message Authentication Code employs an encryption process for a data stream and from this process develops a unique code that is appended to the data stream. It is important to note that only the appended code is actually encrypted, and the message remains in plaintext. The process, repeated by the recipient, must then produce the identical code. If the codes are not the same, this is an indication that the code being transmitted has been tampered with. The length of the appended code can vary, but the strength of the process is directly related to the length of the code. As with all encryption-based processes, the management and protection of the key ancinor algorithm is a critical factor that shall be addressed in the design documentation. 17 4.5 Encryption Encryption of the entire text is an effective way of protecting data from compromise or modification attacks. Encryption has the advantage not only of preventing undetected changes to the TCB software, but also of preventing viewing of the code for any person without the key. Encryption of TCB software with public or private key techniques is a viable method of trusted distribution, provided that the keys are properly managed, protected, and changed at frequent intervals. In the event that the keys are compromised, it would be possible to alter the TCB software without detection of the alteration. As stated before, the success of encryption is dependent upon the protection of the key. For this reason, the key should be subject to some form of trusted distribution, such as courier, to ensure that it is not compromised. Encryption provides a significant increase in the quality of assurance; however, management of the system, for example, key generation and distribution, can become a very complex and time-consuming activity that needs to be well defined in the design documentation. 4.6 Site Validation Site validation is validation by the customer site that the TCB hardware, software, and firmware received are exactly as specified in the master copy. Site validation is most commonly performed on the TCB hardware items that are shipped, but TCB software and firmware items should also be subject to some type of validation testing upon receipt. Site validation includes methods for validating that a system has not been tampered with during its movement from vendor site to the customer site. Site validation provides a second layer of assurance for trusted distribution. In the event that any of the TCB components were altered during distribution, site validation procedures should detect the alteration before the system is installed and any compromise of security policy can take place. 18 4.6.1 Checksum Programs Checksum programs provide an acceptable means to detect TCB software and firmware changes during electronic or physical distribution. In this validation method, a group of digits are summed and then checked against a previously computed sum to verify that no digits have been changed since the last summation. Any difference in the two sums would indicate that the piece of software being checked had been modified. The following is taken from the Final Evaluation Report of SCOMP [2] and describes how SCOMP used the checksum method for software distribution. "When a site purchases a SCOMP system, a description of the desired configuration must be sent to Honeywell. A set of configuration files are then set up and the desired release, with the site specific configuration files, is generated. A checksum algorithm is then applied to the executable code. The executable code is sent to the site along with a checksum generation program. The checksum that was originally generated is then sent to the site. The site can run the checksum generation program and compare the result with the checksum delivered through the mail. The two checksums provide a means whereby the site can ascertain that the system that they received was the same system that Honeywell sent to them."[2] It should be noted that there are ways to improve this approach. The checksum program should not be distributed with the TCB software. Trusted distribution implementing checksums should consist of sending one package containing the checksum generation program and checksum result and another package containing the TCB software. Both packages should be protected by appropriate means of trusted distribution such as courier or registered mail. Anyone having access to both the checksum generator and the TCB software could retrieve the output from the checksum program through a print command and alter the system so that the change would go unnoticed by saving the original checksum value, modifying the system, and running the checksum program until it matches the original checksum, adding modules to inconsequential areas of the system when necessary. It may take some time to get the checksum of the modified software to equal the original checksum, but with a 16-bit or smaller checksum it may be a practical method for modifying TCB software. 19 Additionally, current Al systems should enhance their checksum implementation by using cryptographically protected checksums. Encryption of the checksum and result increases the assurance provided, by preventing anyone from viewing the checksum result. It also provides protection against the scenario described above because no one would be able to view the checksum result without possessing the proper cryptographic key. A disadvantage to this implementation is that a checksum program will not limit viewing of the TCB software; it will, however, provide a level of assurance that the transmission has not been altered. 4.6.2 Inventory An inventory is a minimal way of performing customer site validation of TCB hardware. Although this will not meet the TCSEC requirement for trusted distribution, it may provide an acceptable level of assurance for some sites. An inventory is a simple means of inspecting for the presence or absence of a piece of hardware. It consists of an inspection to see if each piece of equipment listed on the inventory arrived at its destination. The assurance provided by an inventory may be increased by inspecting the lower level elements of the TCB hardware. These elements would include such things as circuit boards and chips. The disadvantage of conducting a physical inventory is that many different hardware families use some of the same hardware components, and a physical inventory of hardware at each end of the distribution chain will not detect the substitution or change of these similar components in the hardware. It will, however, serve to detect any gross discrepancies between the items sent and received. The advantage of performing an inventory is that it provides a quick method of checking that the TCB components sent were the ones requested. The assurance it provides will be minimal, but a simple oversight or error in shipping or the loss of an item may be detected in this manner. A copy of the invoice should always be in a 20 sealed envelope and a second copy should be sent by alternate means, such as a courier, so that any invoice tampering can be easily detected. 4.6.3 Engineering Inspection An engineering inspection provides a more thorough check than an inventory and may satisfy the TCSEC requirement for trusted distribution of TCB hardware components. It differs from an inventory in that it is a detailed inspection by a qualified technician in a specific area. The technician should be capable of detecting any changes to the inspected equipment that would affect the TCB. Engineering inspections should be provided for critical parts of the TCB hardware to ensure that the components of the hardware are present and unchanged, such as ensuring, for example, physical location and serial numbered parts, are as specified. A disadvantage to an engineering inspection is that it can be very time- consuming and it may not be possible for a technician to inspect all of the TCB hardware components because of the locations and construction of the equipment being inspected. This time element may be offset by a simplified version of this safeguard consisting of a confidential agreement between the vendor and the customer as to which parts of the TCB hardware are to be inspected in detail. This will reduce the amount of effort to a reasonable level and, if the specific components are properly identified, will provide an acceptable level of assurance that no changes have been made. 21 ***Page 22 was intentionally left blank 5. SAMPLE IMPLEMENTATION 5.1 Trusted Distribution of Hardware, Firmware, and Software The preceding sections of this document have addressed different methods that may be used for trusted distribution, but none has explicitly stated what will satisfy the TCSEC class Al requirement for trusted distribution. The following paragraphs describe sample methods for meeting the trusted distribution requirements. It should be noted that these are not the only methods that will satisfy the requirement. Through the guidance offered in this document, it is hoped that vendors will be able to investigate other creative methodologies to satisfy the trusted distribution requirement. When a system is directed to be transported, an acceptable methodology would be the use of a bonded courier service. The courier would accompany and be responsible for the safety of the system. Alternate methodologies would be protective packaging (protecting against unauthorized modifications), registered mail, and, specifically on software, the use of encrypted checksums. Upon arrival of the system at the purchaser's site, the success of the protective packaging methods provided by the vendor should be validated. It is, however, the vendor's responsibility to provide either the documentation or the manpower to assist the purchaser in determining if the methods used were successful. Additionally, it is the purchaser's responsibility to provide configuration management for the system throughout the remaining life cycle of the system. 5.2 Trusted Distribution of Documentation Trusted distribution shall be provided for the distribution of the TCB hardware, software, and firmware. It can also be said that trusted distribution is required for all of the TCB configuration items as identified in the configuration management plan for a system. When speaking of configuration items, one should include the documentation for the system. Although not required by the TCSEC, the documentation and configuration records for a TCSEC class Al system should 23 be delivered to the customer site through trusted distribution. In the event that these documents are altered during distribution, it is possible that the system could be configured in a manner that would violate the security policy of the system. For instance, documentation on a TCB mechanism could be altered to allow the mechanism to be used in a harmful way. Trusted distribution of the documentation of the system will ensure that the documentation has not been altered during distribution and accurately describes the system. 24 6. SUMMARY OF TRUSTED DISTRIBUTION Trusted distribution is necessary to ensure that the TCB software, firmware, and hardware developed by a vendor arrive at a customer site exactly as specified by the master copy that has been evaluated against the TCSEC. Modification of any TCB software, firmware, or hardware, originals and updates, could result in a compromise of the system's security policy. Trusted distribution is a part of the life- cycle assurance required for trusted systems that ensures that the security policy of a trusted system remains intact throughout the life cycle of the system. Trusted distribution provides assurance that the TCB components will not be altered during their distribution from a vendor to a customer site. Generically, this process of end-to-end control can be broken down into three stages: post-production, transit, and delivery. Along with configuration management and the other assurance requirements of the TCSEC, assurance is provided that no violation of a system's security policy can occur. Trusted distribution includes methods of protecting the TCB components during distribution, and in the event of alteration, methods of detecting that the system has been altered before it is installed and compromise of the security policy occurs. In the latter case, TCB software containing a virus could be distributed to a customer site by an imposter with the intentions of compromising the data processing facilities. Advances in the ways of attacking a system and an increase in insiders committing crimes necessitate greater degrees of protection to be provided ADP systems. Therefore, a successful trusted distribution system should consist of dual methods of protection and detection and should not rely on any one technique. 25 ***Page 26 was intentionally left blank GLOSSARY Check Sum A check in which groups of digits are summed, usually without regard for overflow, and that sum checked against a previously computed sum to verify that no digits have been changed since the last summation. [9] Configuration Item The smallest component of hardware, software, firmware, documentation, or any of its discrete portions, which is tracked by the configuration management system. [4] Configuration Management The management of security features and assurances through control of changes to a system's hardware, software, firmware, and documentation throughout the development and operational life of the system. [8] Encryption The process of transforming data to an unintelligible form in such a way that the original data either cannot be obtained (one-way encryption) or cannot be obtained without using the inverse decryption process (two-way encryption). [8] Fiber-Optic Latches An active system method available for trusted distribution. In this method, a fiber optic cable is looped through a latch on the opening of a container and attached to a control unit. The control unit sends a light signal through the cable. If the light is interrupted by the cutting or damaging of the cable in any way, an alarm is set off. The alarm can be audible or telemetric. 27 Formal Top-Level Specification A top-level specification that is written in a formal mathematical language to allow theorems showing the correspondence of the system specification to its formal requirements to be hypothesized and formally proven.[7] Message Authentication Code A cryptographically computed number which is the result of passing a message through the authentication algorithm using a specific key. Lengths of from 8 to 16 hexadecimal characters can be used.[1] System Life-Cycle The period of time that a system is in existence, including its design, development, implementation, transportation, installation, maintenance, and disposal. Trap Door A hidden software or hardware mechanism that can be triggered to permit system protection mechanisms to be circumvented. It is activated in some innocent-appearing manner; e.g., special "random" key sequence at a terminal. Software developers often introduce trap doors in their code to enable them to reenter the system and perform certain functions.[8] Trojan Horse A computer program with an apparently or actually useful function that contains additional (hidden) functions that surreptitiously exploit the legitimate authorizations of the invoking process to the detriment of security or integrity. [8] 28 Trusted Computing Base (TCB) The totality of protection mechanisms within a computer system -- including hardware, firmware, and software -- the combination of which is responsible for enforcing the security policy. A TCB consists of one or more components that together enforce a unified security policy over a product or system. The ability of a TCB to correctly enforce a security policy depends solely on the mechanisms within the TCB and on the correct input by system administrative personnel of parameters (e.g., a user's clearance) related to the security policy. [7] 29 REFERENCES 1. American National Standards Institute, Financial Institution Key Management (wholesale), X9.9, 1982. 2. Department of Defense Computer Security Center, "Final Evaluation of SCOMP, Secure Communications Processor, STOP Release 2.1," CSC-EPL-85-001, September 23,1985. 3. Karger, 2LT Paul A. and Schell, Maj. Roger R., Multics Security Evaluation, Vulnerability Analysis, Electronic System Division, ESD-TR-74-193, June 1974. 4. National Computer Security Center, A Guide to Understanding Configuration Management in Trusted Systems, NCSC-TG-006, March 28,1988. 5. National Computer Security Center, Computer Security Requirements Guidance for Applying the Department of Defense Trusted Computer System Evaluation Criteria in Specific Environments, CSC-STD-003-85, 1985. 6. National Computer Security Center, Criterion Interpretation Discussion #943, September 1986. 7. National Computer Security Center, DoD Trusted Computer System Evaluation Criteria, DoD 5200.28-STD, 1985. 8. National Computer Security Center, Glossary of Computer Security Terms, NCSC-TG-004, 1988. 9. Sippl, Charles J., Computer Dictionary, Howard W. Sams & Co., Inc. Fourth Edition, 1985. 31