Protection Profile for General-Purpose Computing Platforms Version: 1.0 2022-02-10 National Information Assurance Partnership Revision History Version Date Comment 0.1 2020-11-16 Started 1.0 2022-02-10 Initial publication. Contents 1 Introduction 1.1 Overview 1.2 Terms 1.2.1 Common Criteria Terms 1.2.2 Technical Terms 1.3 TOE Overview 1.3.1 TOE Boundary 1.3.2 TOE Operational Environment 1.4 Use Cases 1.5 Roles 2 Conformance Claims 3 Security Problem Description 3.1 Threats 3.2 Assumptions 3.3 Organizational Security Policies 4 Security Objectives 4.1 Security Objectives for the TOE 4.2 Security Objectives for the Operational Environment 4.3 Security Objectives Rationale 5 Security Requirements 5.1 Security Functional Requirements 5.1.1 Auditable Events for Mandatory SFRs 5.1.2 Class: Security Management (FMT) 5.1.3 Class: Protection of the TSF (FPT) 5.1.4 TOE Security Functional Requirements Rationale 5.2 Security Assurance Requirements 5.2.1 Class ASE: Security Target 5.2.2 Class ADV: Development 5.2.3 Class AGD: Guidance Documentation 5.2.4 Class ALC: Life-cycle Support 5.2.5 Class ATE: Tests 5.2.6 Class AVA: Vulnerability Assessment Appendix A - Optional Requirements A.1 Strictly Optional Requirements A.1.1 Auditable Events for Strictly Optional Requirements A.1.2 Class: Cryptographic Support (FCS) A.1.3 Class: User Data Protection (FDP) A.1.4 Class: Identification and Authentication (FIA) A.2 Objective Requirements A.2.1 Auditable Events for Objective Requirements A.2.2 Class: Protection of the TSF (FPT) A.3 Implementation-Based Requirements Appendix B - Selection-Based Requirements B.1 Auditable Events for Selection-Based Requirements B.2 Class: Security Audit (FAU) B.3 Class: Cryptographic Support (FCS) B.4 Class: User Data Protection (FDP) B.5 Class: Identification and Authentication (FIA) B.6 Class: Protection of the TSF (FPT) B.7 Class: Trusted Path/Channels (FTP) Appendix C - Extended Component Definitions C.1 Extended Components Table C.2 Extended Component Definitions C.2.1 Class: Security Audit (FAU) C.2.1.1 FAU_STG_EXT Off-Loading of Audit Data C.2.2 Class: Cryptographic Support (FCS) C.2.2.1 FCS_CKM_EXT Cryptographic Key Management C.2.2.2 FCS_ENT_EXT Entropy for Virtual Machines C.2.2.3 FCS_HTTPS_EXT HTTPS Protocol C.2.2.4 FCS_IPSEC_EXT IPsec Protocol C.2.2.5 FCS_RBG_EXT Cryptographic Operation (Random Bit Generation) C.2.2.6 FCS_SLT_EXT Cryptographic Salt Generation C.2.2.7 FCS_STG_EXT Cryptographic Key Storage C.2.3 Class: User Data Protection (FDP) C.2.3.1 FDP_ITC_EXT Key Import C.2.3.2 FDP_TEE_EXT Trusted Execution Environment C.2.4 Class: Identification and Authentication (FIA) C.2.4.1 FIA_AFL_EXT Authentication Failure Handling C.2.4.2 FIA_PMG_EXT Password Management C.2.4.3 FIA_TRT_EXT Authentication Throttling C.2.4.4 FIA_UIA_EXT Administrator Identification and Authentication C.2.4.5 FIA_X509_EXT X.509 Certificate Handling C.2.5 Class: Security Management (FMT) C.2.5.1 FMT_CFG_EXT Secure by Default C.2.6 Class: Protection of the TSF (FPT) C.2.6.1 FPT_JTA_EXT Debug Port Access C.2.6.2 FPT_ROT_EXT Platform Integrity C.2.6.3 FPT_PPF_EXT Protection of Platform Firmware C.2.6.4 FPT_RVR_EXT Platform Firmware Recovery C.2.6.5 FPT_TUD_EXT Platform Firmware Update C.2.7 Class: Trusted Path/Channels (FTP) C.2.7.1 FTP_ITC_EXT Trusted Channel Communications C.2.7.2 FTP_ITE_EXT Encrypted Data Communications C.2.7.3 FTP_ITP_EXT Physically Protected Channel Appendix D - Implicitly Satisfied Requirements Appendix E - Entropy Documentation and Assessment E.1 Design Description E.2 Entropy Justification E.3 Operating Conditions E.4 Health Testing Appendix F - Equivalency Guidelines F.1 Introduction F.2 Approach to Equivalency Analysis F.3 Specific Guidance for Determining Product Equivalence F.4 Technical Equivalence F.5 Level of Specificity for Tested and Claimed Equivalent Configurations Appendix G - Use Case Templates G.1 Server-Class Platform, Basic G.2 Server-Class Platform, Enhanced G.3 Portable Clients (laptops, tablets), Basic G.4 Portable Clients (laptops, tablets), Enhanced G.5 CSfC EUD G.6 Tactical EUD G.7 Enterprise Desktop clients G.8 IoT Devices Appendix H - Acronyms Appendix I - Bibliography 1 Introduction 1.1 Overview The scope of this Protection Profile (PP) is to describe the security functionality of General-Purpose Computing Platforms in terms of the Common Criteria and to define functional and assurance requirements for such products. A platform is a collection of hardware devices and firmware that provide the functional capabilities and services needed by tenant software. Such components typically include embedded controllers, trusted platform modules, management controllers, host processors, network interface controllers, graphics processing units, flash memory, storage controllers, storage devices, boot firmware, runtime firmware, human interface devices, and a power supply. This Protection Profile for General-Purpose Computing Platforms derives requirements from the following documents: NIAP, BIOS Update for PC Client Devices protection Profile, Version 1.0, 12 Feb 2013 NIST SP 800-147 BIOS Protection Guidelines, April 2011 NIST SP 800-147B BIOS Protection Guidelines for Servers, August 2014 NIST SP 800-193 Platform Firmware Resiliency Guidelines Additionally, the following specifications and standards may be relevant to requirements in this PP: NIST SP 800-155 (Draft) BIOS Integrity Measurement Guidelines (Draft), December 2011 NIST SP 1800-34 (Draft) Validating the Integrity of Computing Devices (Preliminary Draft), 2021 Trusted Computing Group, TCG PC Client Platform Firmware Integrity Measurement Version 1.0 Revision Specification 43 Family 2.0, May 7, 2021 IEEE Std 802.1AR-2018, Secure Device Identity 1.2 Terms The following sections list Common Criteria and technology terms used in this document. 1.2.1 Common Criteria Terms Assurance Grounds for confidence that a TOE meets the SFRs [CC]. Base Protection Profile (Base- PP) Protection Profile used as a basis to build a PP-Configuration. Collaborative Protection Profile (cPP) A Protection Profile developed by international technical communities and approved by multiple schemes Common Criteria (CC) Common Criteria for Information Technology Security Evaluation (International Standard ISO/IEC 15408). Common Criteria Testing Laboratory Within the context of the Common Criteria Evaluation and Validation Scheme (CCEVS), an IT security evaluation facility, accredited by the National Voluntary Laboratory Accreditation Program (NVLAP) and approved by the NIAP Validation Body to conduct Common Criteria-based evaluations. Common Evaluation Methodology (CEM) Common Evaluation Methodology for Information Technology Security Evaluation. Extended Package (EP) A deprecated document form for collecting SFRs that implement a particular protocol, technology, or functionality. See Functional Packages. Functional Package (FP) A document that collects SFRs for a particular protocol, technology, or functionality. Operational Environment (OE) Hardware and software that are outside the TOE boundary that support the TOE functionality and security policy. Protection Profile (PP) An implementation-independent set of security requirements for a category of products. Protection Profile Configuration (PP- A comprehensive set of security requirements for a product type that consists of at least one Base-PP and at least one PP-Module. Configuration) Protection Profile Module (PP-Module) An implementation-independent statement of security needs for a TOE type complementary to one or more Base Protection Profiles. Security Assurance Requirement (SAR) A requirement to assure the security of the TOE. Security Functional Requirement (SFR) A requirement for security enforcement by the TOE. Security Target (ST) A set of implementation-dependent security requirements for a specific product. Target of Evaluation (TOE) The product under evaluation. TOE Security Functionality (TSF) The security functionality of the product under evaluation. TOE Summary Specification (TSS) A description of how a TOE satisfies the SFRs in an ST. 1.2.2 Technical Terms Administrator An Administrator is responsible for management activities, including setting policies that are applied by the enterprise on the platform. An Administrator can act remotely through a management server, from which the platform receives configuration policies and updates. An Administrator can enforce settings on the system that cannot be overridden by non- Administrator users. American National Standards Institute (ANSI) A private organization that oversees development of standards in the United States. Application Software that runs on a platform and performs tasks on behalf of the user or owner of the platform. Application Programming Interface (API) A specification of routines, data structures, object classes, and variables that allows an application to make use of services provided by another software component, such as a library. APIs are often provided for a set of libraries included with the platform. Baseboard Management Controller (BMC) Or Management Controller. A small computer generally found on Server motherboards that performs management tasks on behalf of an Administrator. Cipher-based Message Authentication Code (CMAC) A mode of AES that provides authentication, but not confidentiality. Commercial Solutions for Classified (CSfC) An US Department of Defense program for delivering cybersecurity solutions that leverage commercial technologies and products. Credential Data that establishes the identity of a user, e.g. a cryptographic key or password. Critical Security Parameters (CSP) Information that is either user or system defined and is used to operate a cryptographic module in processing encryption functions including cryptographic keys and authentication data, such as passwords, the disclosure or modification of which can compromise the security of a cryptographic module or the security of the information protected by the module. Data-at-Rest (DAR) Countermeasures that prevent attackers, even those with physical access, from extracting data from non-volatile storage. Common techniques include data encryption and wiping. Protection Developer An entity that writes OS software. For the purposes of this document, vendors and developers are the same. Diffie-Hellman Key Exchange (DH) A cryptographic key exchange protocol using public/private key pairs. Distinguished Name (DN) Information used in certificate-based operations to uniquely identify a person, organization, or business. End-User Device (EUD) A class of computing platform characterized by having a user interface for a single user. Often, EUDs are portable (e.g., laptop, tablet, mobile device), but this is not necessarily the case (e.g., desktop PC). General Purpose Operating System A class of OS designed to support a wide-variety of workloads consisting of many concurrent applications or services. Typical characteristics for OSes in this class include support for third-party applications, support for multiple users, and security separation between users and their respective resources. General- Purpose Computing Platform (GPCP) A physical computing platform designed to support general-purpose operating systems, virtualization systems, and applications. Internet of Things (IoT) Physical computing devices that are embedded with sensors, processing ability, software, and other technologies that connect and exchange data with other devices and systems over communications networks. Joint Test Action Group (JTAG) A standard for verifying and testing circuit boards after manufacture. KECCAK Message Authentication Code (KMAC) A variable-length keyed hash function described in NIST SP 800-185. Management Controller (MC) Or Baseboard Management Controller (BMC). A small computer generally found on server motherboards that performs management tasks on behalf of an Administrator. Open Mobile Terminal Platform (OMTP) A forum created by mobile network operators to discuss standards with manufacturers of mobile devices. Operating System (OS) Software that manages physical and logical resources and provides services for applications. Operating systems are the generally the primary tenant of a GPCP. Physical Presence A user or administrator having physical access to the TOE. An assertion of physical presence can take the form, for example, of requiring entry of a password at a boot screen, unlocking of a physical lock (e.g., a motherboard jumper), or inserting a USB cable before permitting platform firmware to be updated. Root of Trust (RoT) Roots of trust are highly reliable hardware, firmware, and software components that perform specific, critical security functions. Roots of trust are the foundation for integrity of computing devices. Sensitive Data Sensitive data may include all user or enterprise data or may be specific application data such as PII, emails, messaging, documents, calendar items, and contacts. Sensitive data must minimally include credentials and keys. Subject Alternative Name (SAN) An extended X.509 certificate field. Tenant Software Software that runs on and is supported by a platform. In the case of a GPCP, tenant software generally consists of an operating system, virtualization system, or "bare-metal" application. Trusted Execution Environment (TEE) An isolated and secure area that ensures the confidentiality and integrity of code and data loaded inside. User In the context of a GPCP, a User is a human who interacts with the platform through a user interface. Users do not need to be authenticated by the platform to use the platform, but generally authenticate to tenant software such as on Operating System. Virtualization System (VS) A software product that enables multiple independent computing systems to execute on the same physical hardware platform without interference from one other. 1.3 TOE Overview This Protection Profile for General-Purpose Computing Platforms (GPCP) specifies security requirements for general-purpose computing platforms. A GPCP is is a hardware device that is capable of hosting one or more general-purpose operating systems as defined by the Protection Profile for General Purpose Operating Systems, one or more virtualization systems as defined by the Protection Profile for Virtualization, or more than one application. Typical platform implementations include servers, PC clients, laptops, and tablets. Mobile Device platforms as defined in the Protection Profile for Mobile Device Fundamentals and Network Device platforms as defined in the collaborative Protection Profile for Network Devices are out of scope of this PP. Mobile Device and Network Device platforms must be evaluated against the more specific requirements in their respective specialized PPs. The core security features of GPCPs include protected firmware and a boot integrity processes. Platform firmware must be protected such that it is not permitted to execute if it has been modified outside of authorized and authenticated update processes. Other use-case-specific features include audit capabilities, Administrator authentication, and protections against physical tampering. 1.3.1 TOE Boundary The TOE comprises the hardware and firmware necessary for the hosting of tenant software. Generally, tenant software is an operating system or virtualization system, but may also be "bare-metal" applications. Tenant software is outside the TOE boundary. For example, for a PC Client platform, the hardware and firmware responsible for booting the platform and operation of platform devices (such as BIOS, device controller firmware, and platform management firmware would all be included in the TOE. Operating systems and application software is outside the TOE. For server-class hardware, any management controller responsible for updating platform firmware (such as a baseboard management controller) is expressly included within the TOE. Figure 1: High-Level Architecture of a Generic Platform Figure 1 (taken from NIST SP 800-193) shows a high-level system architecture for a typical generic computing platform. Tenant software (operating system/virtualization system and applications) is shown in orange. The tenant-specific software responsible for booting the tenant (Master Boot Record, etc.) is shown in grey. Platform components are in blue. In general, the TOE consists of the platform components represented by the blue boxes, along with their associated firmware. Any particular platform may have additional hardware components, or fewer than those illustrated. 1.3.2 TOE Operational Environment The TOE has no platform since it is itself a platform, but the TOE does have an operational environment. The OE consists of the physical environment in which the TOE operates (e.g., data center, enterprise office, vehicle, outdoors) and any networks to which the TOE may be connected. Different use cases may invoke different requirements depending on the operational environment. 1.4 Use Cases This Protection Profile supports several use cases. The cases enumerated below add requirements to the baseline for GPCP due to additional threats or changes in assumptions about the operational environment. Use cases not listed below (e.g. consumer-grade desktop computers) need be evaluated only against the baseline requirements subject to the appropriate selections. [USE CASE 1] Server-Class Platform, Basic This use case encompasses server-class hardware in a data center. There are no additional physical protections required because the platform is assumed to be protected by the operational environment as indicated by A.PHYSICAL_PROTECTION. The platform is administered through a management controller that accesses the MC through a console or remotely. This use case adds audit requirements and Administrator authentication requirements to the base mandatory requirements. For changes to included SFRs, selections, and assignments required for this use case, see G.1 Server- Class Platform, Basic. [USE CASE 2] Server-Class Platform, Enhanced This use case adds physical protections to the base requirements for server-class hardware. Additional physical protections are required because the platform us assumed to be minimally protected by the by the operational environment. This use case can also be invoked for servers in data centers where there are enhanced security requirements. This use case adds requirements for audit, physical protections, and Administrator authentication to the base mandatory SFRs. It removes the assumption that the TOE is physically protected by the OE. For changes to included SFRs, selections, and assignments required for this use case, see G.2 Server- Class Platform, Enhanced. [USE CASE 3] Portable Clients (laptops, tablets), Basic This use case defines the base requirements for portable clients. This use case adds no requirements to the base mandatory SFRs. [USE CASE 4] Portable Clients (laptops, tablets), Enhanced This use case adds physical protections to the base requirements for portable clients or end-user devices. It is intended for devices that are used in high-assurance scenarios. For changes to included SFRs, selections, and assignments required for this use case, see G.4 Portable Clients (laptops, tablets), Enhanced. [USE CASE 5] CSfC EUD EUDs used in accordance with the CSfC Mobile Access Capability Package can include smart phones, tablets, and laptops. This use case covers the basic CSfC requirements for tablet and laptop EUDs (mobile devices are out of scope for this PP). Although CSfC requires that users maintain physical control of EUDs at all times, this use case removes the assumption that the TOE is protected by the OE and adds requirements for audit and basic tamper detection and reporting. For changes to included SFRs, selections, and assignments required for this use case, see G.5 CSfC EUD. [USE CASE 6] Tactical EUD This use case adds requirements for portable end user computing devices in a tactical environment. For changes to included SFRs, selections, and assignments required for this use case, see G.6 Tactical EUD. [USE CASE 7] Enterprise Desktop clients This use case covers the requirements for non-portable desktop computing devices in a low-threat enterprise physical environment. This use case adds only audit to the base mandatory SFRs. For changes to included SFRs, selections, and assignments required for this use case, see G.7 Enterprise Desktop clients. [USE CASE 8] IoT Devices IoT devices are field-located devices without human interfaces when in normal operation. In order to qualify for evaluation under this PP, the device must meet the basic criteria for a general-purpose platform, and not meet the requirements for a mobile device or network device. For changes to included SFRs, selections, and assignments required for this use case, see G.8 IoT Devices. 1.5 Roles For purposes of these requirements there are two entities that interact with a general-purpose computing platform: 1. Users (unprivileged users) 2. Administrators (privileged users) Users are humans who interact with the platform through user interfaces. They usually have to authenticate themselves to tenant software (e.g. an operating system), but generally not to the platform itself. Throughout this document the term "user" refers generally to a person interacting with the platform. Administrators are users who manage the platform through a management interface. The interface may be local or remote to the platform. Administrators manage the physical platform, not the OS (OS Administrators would be classified as platform Users). Administrators must be authenticated to the platform before the platform can allow them to perform administrative functions. For an EUD, this could be accomplished through an interface implemented in firmware. For server-class hardware, the management interface could be implemented in a management controller that is part of the platform. Administrators are assumed to be acting in the best interests of the platform owner. Tenant Software generally consists of an operating system, virtualization system, or application that uses platform resources to run workloads on behalf of Users. Tenant software generally has the privilege of the User or Administrator in whose context it runs. 2 Conformance Claims Conformance Statement A Security Target must claim exact conformance to this Protection Profile, as defined in the CC and CEM addenda for Exact Conformance, Selection-Based SFRs, and Optional SFRs (dated May 2017). CC Conformance Claims This PP is conformant to Parts 2 (Extended) and 3 (Extended) of Common Criteria Version 3.1, Release 5 [CC]. PP Claim This PP does not claim conformance to any other PP. Package Claim This PP is Functional Package for Transport Layer Security (TLS), version 1.1 Conformant and Functional Package for Secure Shell (SSH), version 1.0 Conformant. 3 Security Problem Description The security problem is described in terms of the threats that the GPCP is expected to address, assumptions about the operational environment, and any organizational security policies that the GPCP is expected to enforce. The platform has three major security responsibilities: ensuring the integrity of its own firmware and hardware ensuring that it is resilient providing security services to tenant workloads These responsibilities manifest as protecting: Platform firmware and hardware Platform firmware updates Tenant initialization (boot) 3.1 Threats T.PHYSICAL An attacker with physical access might be able to compromise TOE integrity, subvert TOE protections, or access tenant data through hardware attacks such as probing, physical manipulation, fault-injection, side-channel analysis, environmental stress, or activating disabled features or pre-delivery services. This threat is addressed by TOE Objectives O.PHYSICAL_SECURITY and O.ATTACK_DETECTION_AND_RESPONSE for the use cases listed below. For other use cases, this threat is mitigated by Operational Environment Objective OE.PHYSICAL_PROTECTION as mapped to Assumption A.PHYSICAL_PROTECTION. Server-Class Platform, Enhanced Portable Clients (laptops, tablets), Enhanced CSfC EUD Tactical EUD IoT Devices T.SIDE_CHANNEL_LEAKAGE An attacker running in a tenant context might be able to leverage physical effects caused by the operation of the TOE to derive sensitive information about other tenants or the TOE. T.PERSISTENCE An attacker might be able to establish a permanent presence on the TOE in firmware. This could result in permanent compromise of tenant information, as well as TOE updates. This threat does not encompass attacker presence in tenant software, as tenant software is not part of the TOE. T.UPDATE_COMPROMISE An attacker may attempt to provide a compromised update of TOE firmware. Such updates can undermine the security functionality of the device if they are unauthorized, unauthenticated, or are improperly validated using non-secure or weak cryptography. T.SECURITY_FUNCTIONALITY_FAILURE An attacker could leverage failed or compromised security functionality to access, change, or modify tenant data, TOE data, or other security functionality of the device. T.TENANT_BASED_ATTACK An attacker running software as a tenant can attempt to access or modify TOE firmware or functionality. Note that direct tenant attacks against other tenants are not encompassed by this threat as they are out of scope. T.NETWORK_BASED_ATTACK An attacker from off the TOE can attempt to compromise the TOE through a network interface connected to an active TOE component, such as a management subsystem. T.UNAUTHORIZED_RECONFIGURATION An attacker might be able to modify the configuration of the TOE and alter its functionality. This might include, activating dormant subsystems, disabling hardware assists, or altering boot-time behaviors. T.UNAUTHORIZED_PLATFORM_ADMINISTRATOR An attacker might be able to attain platform administrator status by defeating or bypassing authentication measures. 3.2 Assumptions A.PHYSICAL_PROTECTION The TOE is assumed to be physically protected in its operational environment and thus is not subject to physical attacks that could compromise its security or its ability to support the security of tenant workloads. This assumption does not apply if the TOE implements any of the below, in which case physical protection from the Operational Environment is not assumed and the threat T.PHYSICAL and its associated TOE Objectives apply: Server-Class Platform, Enhanced Portable Clients (laptops, tablets), Enhanced CSfC EUD Tactical EUD IoT Devices A.ROT_INTEGRITY The TOE includes one or more Roots of Trust composed of TOE firmware, hardware, and pre-installed credentials. Roots of Trust are assumed to be free of malicious capabilities as their integrity cannot be verified. A.TRUSTED_ADMIN TOE Security Administrator are assumed to be trusted and to act in the best interest of security for the organization. The TOE is not expected to be capable of defending against a malicious Administrator that actively works to bypass or compromise the security of the platform. A.MFR_ROT The root signing credential of the manufacturer is assumed to be secure and has not been compromised. A.TRUSTED_DEVELOPMENT_AND_BUILD_PROCESSES The TOE cannot protect itself during its own development and build processes. Therefore it is assumed that the developers and participants in the build process are not hostile. A.SUPPLY_CHAIN_SECURITY The hardware components that comprise the TOE are assumed to be non-hostile and not compromised at the time of TOE construction. Likewise, the TOE is assumed to retain its integrity throughout transportation until delivery to its operational site. A.CORRECT_INITIAL_CONFIGURATION It is assumed that the initial setup and configuration of the TOE at its operational site is correct and in accordance with organizational security policy and operational use case. A.TRUSTED_USERS Physically present non-administrative users of the TOE are assumed to be trusted as far as they are assumed to not be actively trying to subvert the system. (Not for all use cases). A.REGULAR_UPDATES It is assumed that the manufacturer provides updates to TOE firmware in a timely manner in response to known vulnerabilities, and that Administrators apply these updates when they are received. 3.3 Organizational Security Policies This document does not define any additional OSPs. 4 Security Objectives 4.1 Security Objectives for the TOE O.PHYSICAL_INTEGRITY The TOE must be able to protect the physical platform and interfaces from access by physical means such as probing, physical manipulation, fault-injection, side-channel analysis, environmental stress, or activating disabled features or pre-delivery services. This includes specification of: Requirements for tamper detection Requirements for disabling or protection of external debug interfaces Requirements for updateability Requirements for environmental shielding This Objective applies only if the TOE implements a use case that addresses the threat T.PHYSICAL. O.ATTACK_DETECTION_AND_RESPONSE The TOE must be capable of detecting attempts to compromise the physical or logical integrity of the TOE and respond by notifying a user or reporting the attempt to an enterprise security authority. This includes specification of: Requirements for responses to particular detected events. (resilience, secure state, etc.) Requirements for basic auditing capabilities and protection of audit records. Requirements for secure transmission of audit records (if applicable) O.MITIGATE_FUNDAMENTAL_FLAWS The TOE must have a capability for mitigating or fixing fundamental flaws through update or some other technical or operational means. This includes specifications of: Requirements for updateability of TOE firmware. O.PROTECTED_FIRMWARE TOE must ensure that its firmware cannot be modified other than through a non-bypassable trusted update process. This ensures the integrity of firmware both during the update process and while at rest. This includes specification of: Requirements for invocation of the trusted update process Requirements for non-bypassability of the update process Requirements for detection and reporting of attempts to modify TOE firmware outside of the trusted update process. O.UPDATE_INTEGRITY The TOE must ensure that updates to TOE firmware are authorized, authenticated, and properly validated prior to installation. This includes specification of: Requirements for protection of updates Requirements for authentication of update packages Requirements for management of updates Requirements for detection and reporting of update events, whether authorized or not. O.STRONG_CRYPTOGRAPHY Cryptography must meet the standards required for protection of National Security Systems data (in accordance with CNSSP 15, "Use of Public Standards for Secure Information Sharing"). This includes specification of: Requirements for use and configuration of cryptographic operations. Requirements for key generation Requirements for random bit generation support. O.SECURITY_FUNCTIONALITY_INTEGRITY The TOE should be able not be able to operate with failed or degraded security functionality in such a way as might compromise the security or integrity of the TOE or of TOE data. Requirements for detection of degraded or failed security functionality. Requirements for protection of platform credentials against compromise (secret keys, passwords, etc.) Requirements for secure destruction of platform credentials (if applicable) Requirements for quality of credentials (password lengths and the like) O.TENANT_SECURITY The TOE should provide capabilities and security services to tenant software to help tenants help themselves. This includes specification of: Requirements for providing cryptographic support to tenants (random bit generation, crypto support instructions). Requirements for support for separation of tenant workloads Requirements for supporting secure storage of tenant credentials Requirements for supporting secure boot of a tenant operating system O.TRUSTED_CHANNELS The TOE must protect certain network communications through guaranteed confidentiality, integrity, and authenticity. Such traffic includes communications with remote administrators, audit servers, update servers, and credential managers. This objective includes specification of: Requirements for the use of secure network protocols Requirements for the use of public key certificates Requirements for the authentication of endpoints O.CONFIGURATION_INTEGRITY The TOE should detect or prevent unauthorized users from being able to modify the system configuration. This includes: Requirements for authentication of Administrators before application of configuration modifications. Requirements for detection and reporting of attempts to modify the TOE configuration. O.AUTHORIZED_ADMINISTRATOR The TOE must ensure that Administrative actions can be taken only by authorized Administrators. This includes specification of: Requirements specifying actions allowable for the Administrator role Requirements for processes for authenticating Administrators Requirements for protection of Administrator credentials Requirements for setup and operation of a secure channel for remote administration Requirements for management of administrator sessions. 4.2 Security Objectives for the Operational Environment The following security objectives for the operational environment assist the GPCP in correctly providing its security functionality. These track with the assumptions about the environment. OE.PHYSICAL_PROTECTION Platforms that operate within data centers or in other access-controlled environments are expected to receive a considerable degree of protection from these environments. In addition to physical protection, these environments often provide malware-detection and behavior-monitoring services for networked computing assets. OE.SUPPLY_CHAIN The manufacturer is expected to implement processes to ensure that TOE hardware and firmware is not compromised between time of TOE manufacture and delivery to its operational site. OE.TRUSTED_ADMIN The administrator of the GPCP is not careless, willfully negligent or hostile, and administers the platform within compliance of enterprise security policy. 4.3 Security Objectives Rationale This section describes how the assumptions, threats, and organizational security policies map to the security objectives. Table 1: Security Objectives Rationale Threat, Assumption, or OSP Security Objectives Rationale T.PHYSICAL O.PHYSICAL_​ INTEGRITY The threat T.PHYSICAL is countered by O.PHYSICAL_INTEGRITY as this objective supports detection or prevention of attempts to compromise the physical platform. O.ATTACK_​ DETECTION_​AND_​ RESPONSE The threat T.PHYSICAL is countered by O.ATTACK_DETECTION_AND_RESPONSE as this objective supports detection and reporting of attempts to compromise the TOE. T.SIDE_​CHANNEL_​ LEAKAGE O.MITIGATE_​ FUNDAMENTAL_​ FLAWS The threat T.SIDE_CHANNEL_LEAKAGE is countered by O.MITIGATE_FUNDAMENTAL_FLAWS as this objective supports the remedy of critical flaws through update or other technical or operational means. T.PERSISTENCE O.PROTECTED_​ FIRMWARE The threat T.PERSISTENCE is countered by O.PROTECTED_FIRMWARE as this objective supports maintenance of platform firmware integrity. T.UPDATE_​ COMPROMISE O.UPDATE_​ INTEGRITY The threat T.UPDATE_COMPROMISE is countered by O.UPDATE_INTEGRITY as this objective supports ensuring that platform firmware updates are authentic and properly validated prior to installation. O.STRONG_​ CRYPTOGRAPHY The threat T.UPDATE_COMPROMISE is countered by O.STRONG_CRYPTOGRAPHY as this objective supports use of proven, standards-based cryptographic mechanisms for ensuring that updates are authentic and maintain their integrity. O.ATTACK_​ DETECTION_​AND_​ RESPONSE The threat T.UPDATE_COMPROMISE is countered by O.ATTACK_DETECTION_AND_RESPONSE as this objective supports detection and reporting of attempts to compromise the TOE. T.SECURITY_​ FUNCTIONALITY_​ FAILURE O.SECURITY_​ FUNCTIONALITY_​ INTEGRITY The threat T.SECURITY_FUNCTIONALITY_FAILURE is countered by O.SECURITY_FUNCTIONALITY_INTEGRITY as this objective supports integrity and proper functioning of security functionality. T.TENANT_​BASED_​ ATTACK O.TENANT_​ SECURITY The threat T.TENANT_BASED_ATTACK is countered by O.TENANT_SECURITY as this objective supports tenant- based security mechanisms to prevent tenant compromise. T.NETWORK_​ BASED_​ATTACK O.TRUSTED_​ CHANNELS The threat T.NETWORK_BASED_ATTACK is countered by O.TRUSTED_CHANNELS as this provides for integrity and confidentiality of transmitted data. T.UNAUTHORIZED_​ RECONFIGURATION O.CONFIGURATION_​ INTEGRITY The threat T.UNAUTHORIZED_RECONFIGURATION is countered by O.CONFIGURATION_INTEGRITY as this provides for integrity of platform configuration. T.UNAUTHORIZED_​ PLATFORM_​ ADMINISTRATOR O.AUTHORIZED_​ ADMINISTRATOR The threat T.UNAUTHORIZED_PLATFORM_ADMINISTRATOR is countered by O.AUTHORIZED_ADMINISTRATOR as this provides for authentication of privileged Administrators. A.PHYSICAL_​ PROTECTION OE.PHYSICAL_​ PROTECTION The operational environment objective OE.PHYSICAL_PROTECTION is realized through A.PHYSICAL_PROTECTION. A.ROT_​INTEGRITY OE.SUPPLY_​CHAIN The operational environment objective OE.SUPPLY_CHAIN is realized through A.ROT_INTEGRITY. A.TRUSTED_​ADMIN OE.TRUSTED_​ ADMIN The operational environment objective OE.TRUSTED_ADMIN is realized through A.TRUSTED_ADMIN. A.MFR_​ROT OE.TRUSTED_​ ADMIN The operational environment objective OE.TRUSTED_ADMIN is realized through A.TRUSTED_ADMIN. A.TRUSTED_​ DEVELOPMENT_​ AND_​BUILD_​ PROCESSES OE.TRUSTED_​ ADMIN The operational environment objective OE.TRUSTED_ADMIN is realized through A.TRUSTED_ADMIN. A.SUPPLY_​CHAIN_​ SECURITY OE.TRUSTED_​ ADMIN The operational environment objective OE.TRUSTED_ADMIN is realized through A.TRUSTED_ADMIN. A.CORRECT_​ INITIAL_​ CONFIGURATION OE.TRUSTED_​ ADMIN The operational environment objective OE.TRUSTED_ADMIN is realized through A.TRUSTED_ADMIN. A.TRUSTED_​USERS OE.TRUSTED_​ ADMIN The operational environment objective OE.TRUSTED_ADMIN is realized through A.TRUSTED_ADMIN. A.REGULAR_​ UPDATES OE.TRUSTED_​ ADMIN The operational environment objective OE.TRUSTED_ADMIN is realized through A.TRUSTED_ADMIN. 5 Security Requirements This chapter describes the security requirements which have to be fulfilled by the product under evaluation. Those requirements comprise functional components from Part 2 and assurance components from Part 3 of [CC]. The following conventions are used for the completion of operations: Refinement operation (denoted by bold text or strikethrough text): is used to add details to a requirement (including replacing an assignment with a more restrictive selection) or to remove part of the requirement that is made irrelevant through the completion of another operation, and thus further restricts a requirement. Selection (denoted by italicized text): is used to select one or more options provided by the [CC] in stating a requirement. Assignment operation (denoted by italicized text): is used to assign a specific value to an unspecified parameter, such as the length of a password. Showing the value in square brackets indicates assignment. Iteration operation: is indicated by appending the SFR name with a slash and unique identifier suggesting the purpose of the operation, e.g. "/EXAMPLE1." 5.1 Security Functional Requirements 5.1.1 Auditable Events for Mandatory SFRs Table 2: Auditable Events for Mandatory Requirements Requirement Auditable Events Additional Audit Record Contents FMT_CFG_EXT.1 No events specified. N/A FMT_MOF.1 No events specified. N/A FMT_SMF.1 No events specified. N/A FMT_SMR.1 No events specified. N/A FPT_JTA_EXT.1 No events specified. N/A FPT_PPF_EXT.1 No events specified. N/A FPT_ROT_EXT.1 No events specified. N/A FPT_ROT_EXT.2 [selection: Failure of integrity verification, None]. None. FPT_STM.1 No events specified. N/A FPT_TUD_EXT.1 No events specified. N/A 5.1.2 Class: Security Management (FMT) FMT_CFG_EXT.1 Secure by Default Configuration FMT_CFG_EXT.1.1 The TSF shall enforce that Administrator credentials be changed immediately after first use when configured with default Administrator credentials or with no Administrator credentials. Application Note: Default credentials are credentials (e.g., passwords, keys) that are pre-installed (without user interaction) onto the platform, generally by the manufacturer, whether they are default values or randomly generated. This requirement applies only to credentials used by an Administrator for logging in to the TOE, and not to other platform credentials that might come pre-installed. Evaluation Activities FMT_CFG_EXT.1 TSS The evaluator shall check the TSS to determine whether the platform comes pre-installed with default Administrator credentials, or does not require credentials for initial Administrator access. Guidance The evaluator shall examine the AGD to ensure that it describes the process for replacing or specifying Administrator credentials on first use. KMD There are no KMD evaluation activities for this component. Tests If the platform uses default Administrator credentials or no Administrator credentials on first use the evaluator shall run the following tests: Test 1: The evaluator shall reset the platform to factory state and restart the platform to verify that only the functionality required to set new Administrator credentials is available immediately after Administrator login. Test 2: The evaluator shall log in to the platform as Administrator using the default credentials, establish new credentials, and verify that the original default credentials no longer provide Administrative access to the platform. FMT_MOF.1 Management of Security Functions Behavior FMT_MOF.1.1 The TSF shall restrict the ability to [determine the behaviour of] the functions [listed in Table 3] to [the roles indicated in Table 3]. Application Note: There are two roles defined in this PP: Administrator and User (see FIA_SMR.1). Administrators can perform most management functions on the platform, and only Administrators are required to authenticate themselves to the platform. Users have a limited ability to select responses to certain events as specified in the Management Functions table in FMT_SMF.1. Evaluation Activities FMT_MOF.1 TSS The evaluator shall verify that the TSS describes those management functions that may be performed by the Administrator, and those that can be performed by ordinary users. The TSS also describes any functionality that is affected by administrator-configured policy and how. This activity will be performed in conjunction with FMT_SMF.1. Guidance There are no AGD evaluation activities for this component. KMD There are no KMD evaluation activities for this component. Tests Testing of this SFR is covered in the tests for FMT_SMF.1. FMT_SMF.1 Specification of Management Functions FMT_SMF.1.1 The TSF shall be capable of performing the following management functions: [ Table 3: Management Functions Status Markers: M - Mandatory O - Optional/Selectable X - Not permitted Number Function Admin User Notes 1 Ability to administer the platform [selection: locally, remotely, not at all] M X If "remotely" is selected, then FTP_TRP.1 mush be claimed in the ST and Management Function 5 must be selected. If "not at all" is selected, then no other management functions may be selected. 2 Ability to configure and manage the audit functionality and audit data O X If FAU_GEN.1 is included in the ST, then this function must be selected. 3 Ability to configure name/address O X If FAU_STG_EXT.1 is included in the ST, then this function must be selected. of audit/logging server to which to send audit/logging records 4 Ability to review audit records. O X If FAU_SAR.1 in included in the ST, then this function must be selected. 5 Ability to initiate a trusted channel for remote administration. O X If FTP_TRP.1 is included in the ST, then this function must me selected. 6 Ability to set parameters for allowable number of authentication failures. O X If FIA_AFL_EXT.1 is included in the ST, then this function must be selected. 7 Ability to configure password length and complexity. O X If FIA_PMG_EXT.1 is included in the ST, then this function must be selected if password length and complexity are configurable. 8 Ability to configure authentication throttling policy. O X If FIA_TRT_EXT.1 is included in the ST, then this function must be selected if authentication throttling policy is configurable. 9 Ability to manage authentication methods and change default authorization factors O X If FIA_UAU.5 is included in the ST, then this function must be selected if authentication methods are configurable. 10 Ability to configure of certificate revocation checking methods. O X If FIA_X509_EXT.1 is included in the ST, then this function must be selected if TOE supports configuration of certificate revocation checking methods. 11 Ability to configure TSF behavior when certificate revocation status cannot be determined. O X If FIA_X509_EXT.2 is included in the ST and " allow the administrator to choose whether to accept the certificate in these cases" is selected, then this function must be selected. 12 Ability to configure default action to take on integrity failure. O X If FPT_ROT_EXT.2 or FPT_ROT_EXT.3 is included in the ST and "in accordance with Administrator-configurable policy" is selected in FPT_ROT_EXT.2.2 or FPT_ROT_EXT.3.2, then this function must be selected. 13 Ability to configure default action to take on update failure. O X If FPT_TUD_EXT.2 or FPT_TUD_EXT.3 is included in the ST and "in accordance with Administrator-configurable policy" is selected in FPT_TUD_EXT.2.5 or FPT_TUD_EXT.3.4, then this function must be selected. 14 Ability to initiate the O X If "no mechanism for platform firmware update" is selected in update process. FPT_TUD_EXT.1.1, then this function must be selected. 15 Ability to determine the action to take on update failure. O O If FPT_TUD_EXT.2 or FPT_TUD_EXT.3 is included in the ST and "by express determination of an [Administrator]" is selected in FPT_TUD_EXT.2.5 or FPT_TUD_EXT.3.4, then this function must be selected for Administrators. If "by express determination of an [User]" is selected, then this function must be selected for Users. 16 Ability to determine the action to take on integrity check failure. O O If FPT_ROT_EXT.2 or FPT_ROT_EXT.3 is included in the ST and "by express determination of an [Administrator]" is selected in FPT_ROT_EXT.2.2 or FPT_ROT_EXT.3.2, then this function must be selected for Administrators. If "by express determination of an [User]" is selected, then this function must be selected for Users. 17 Ability to manage import and export keys/secrets to and from protected storage. O X If FCS_STG_EXT.1 is included in the ST, then this function must be selected. ]. Application Note: Note that all Administrator management functions except Function 1 are indicated as "Optional/Selectable." These functions become Mandatory or Selectable as indicated in the Notes. Administration is considered “local” if the Administrator is physically present at the GPCP. Administration is considered “remote” if communications between the Administrator and GPCP is over a network. "Not at all" is the proper selection for Function 1 only in the case where the GPCP is incapable of being Administered at all. Evaluation Activities FMT_SMF.1 TSS The evaluator shall examine the TSS to ensure that it describes each management function and its associated actions. Guidance The evaluator shall examine the AGD to ensure that it describes how the Administrator performs each management function that the ST claims the TOE supports. The evaluator shall verify for each claimed management function that the guidance is sufficiently detailed to allow the function to be performed. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall test each management function included in the ST to demonstrate that the function can be performed only by the roles indicated in Table 3 and the result of the function is demonstrated. FMT_SMR.1 Security Roles FMT_SMR.1.1 The TSF shall maintain the roles [User and [selection: Administrator, no other roles]]. FMT_SMR.1.2 The TSF shall be able to associate users with roles. Application Note: If "Administrator" is selected, then the user authentication SFRs in FIA must be claimed. A User is a human who interacts with the GPCP through a user interface. Users do not authenticate themselves to the GPCP, though they may be authenticated by tenant software. The User role is considered to exist even if no humans normally interact with a GPCP. An Administrator is a privileged user that must be authenticated by the GPCP in order to administer the GPCP. This role is distinct from OS or VS administrators, who are may are authenticated to tenant software and are considered to be Users in the context of the GPCP. Evaluation Activities FMT_SMR.1 Documentation and testing for roles is covered in the Evaluation Activities for FMT_SMF.1 5.1.3 Class: Protection of the TSF (FPT) FPT_JTA_EXT.1 JTAG/Debug Port Access FPT_JTA_EXT.1.1 The TSF shall allow access to JTAG or other debug ports only to an authorized Administrator through platform firmware or through assertion of physical presence. Application Note: This requirement means that JTAG ports may not be accessible to tenant software. For use cases that include the threat T.PHYSICAL, FPT_JTA_EXT.2 should also be included in the ST. Evaluation Activities FPT_JTA_EXT.1 TSS The evaluator shall examine the TSS to determine how access to the JTAG or debug ports is denied to tenant software. Guidance The evaluator shall examine the AGD to ensure that it describes how Administrators assert physical presence to the TSF. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall perform the following tests: Test 1: The evaluator shall attempt to access the debug port without authenticating as an Administrator. The attempt should fail. Test 2: The evaluator shall authenticate as an Administrator and then attempt to access the debug port. The attempt should succeed. FPT_PPF_EXT.1 Protection of Platform Firmware and Critical Data FPT_PPF_EXT.1.1 The TSF shall allow modification of platform firmware only through the update mechanisms described in FPT_TUD_EXT.1. Application Note: Platform firmware must be modifiable only through one of the secure update mechanisms specified in FPT_TUD_EXT.1. If the update mechanism itself is implemented in platform firmware, then naturally, it must itself also be modifiable only through the secure update mechanism. Configuration data used by platform firmware that is stored in nonvolatile memory is not included in these protections. Executable portions of the TSF and data critical for ensuring the integrity of the TSF are included in these protections. Specifically, this includes the key store and the signature verification algorithm used by the update mechanisms. Evaluation Activities FPT_PPF_EXT.1 TSS The evaluator shall examine the TSS to ensure that it explains how the various areas of platform firmware and critical data are protected from modification outside of the platform firmware update mechanism described in FPT_TUD_EXT.1. If the TOE implements an authenticated update mechanism as specified in FPT_TUD_EXT.2, then the evaluator shall ensure that the TSS describes specifically how the signature verification code and key store is protected from update outside of the secure platform firmware update mechanism. Guidance The evaluator shall check the AGD to ensure that there are instructions for how to securely modify the platform firmware and critical data using a mechanism specified in FPT_TUD_EXT.1. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall perform the following test: The evaluator shall attempt to overwrite or modify the platform firmware without invoking one of the update mechanisms specified in FPT_TUD_EXT.1 (e.g., using a modified Linux boot loader such as GRUB that attempts to write to the memory where platform firmware is stored). The test succeeds if the attempts to overwrite platform firmware fail. The evaluator shall attempt at least two such tests--one that attempts to overwrite the first platform firmware that executes after boot, and one that targets the secure update mechanism (if implemented), and one that targets firmware that has been integrity-checked since the last boot. FPT_ROT_EXT.1 Platform Integrity Root FPT_ROT_EXT.1.1 The integrity of platform firmware shall be rooted in [selection: code or data written to immutable memory or storage, credentials held in immutable storage on-platform or protected storage off- platform, a separate management controller that is itself rooted in a mechanism that meets this requirement, integrity measurements held securely in an on-platform dedicated security component, integrity measurements held securely by an off-platform entity ]. Application Note: Roots of Trust are components that constitute a set of unconditionally trusted functions. The above are acceptable roots of trust for platform firmware integrity. The ST Author must select the root of trust used to ensure the integrity of the first platform firmware that executes. The integrity of subsequently executed platform firmware must be traceable back to this root or to some other root as specified in FPT_ROT_EXT.2. This SFR should be iterated for additional TOE roots (for example, a management controller or firmware executed from an add-in card). Selection of "a separate management controller..." implies the existence of an Administrator role. Evaluation Activities FPT_ROT_EXT.1 TSS The evaluator shall verify that the TSS describes the Root of Trust on which initial integrity of platform firmware is anchored, consistent with the selection above. The description shall include means by which the Root of Trust is protected from modification. Guidance There are no AGD evaluation activities for this component. KMD There are no KMD evaluation activities for this component. Tests There are no Test evaluation activities for this component. FPT_ROT_EXT.2 Platform Integrity Extension FPT_ROT_EXT.2.1 The integrity of all mutable platform firmware outside of the platform integrity root specified in FPT_ROT_EXT.1 shall be verified prior to execution or use through: [selection: computation and verification of a hash by trusted code/data, verification of a digital signature by trusted code/data, measurement and verification by trusted code/data, measurement and verification by an on-platform dedicated security component, measurement and verification by an off-platform entity ]. Application Note: This requirement specifies the means for extending the initial integrity of platform firmware established by FPT_ROT_EXT.1.1 to subsequently executed platform firmware and data that is located in mutable storage. (Integrity of code and data written to immutable storage is assured). Otherwise, integrity must be extended through cryptographic means: either through hashes or digital signatures computed and verified by firmware that is trusted because it has previously had its integrity verified or is itself a Root of Trust. Verification can be performed by TOE components such as management controllers or non-TOE trusted entities. If "computation and verification of a hash by trusted code/data" is selected, then FCS_COP.1/Hash must be claimed. If "verification of a digital signature by trusted code/data" is selected, then FCS_COP.1/SigVer must be claimed. FPT_ROT_EXT.2.2 The TOE shall take the following actions if an integrity check specified in FPT_ROT_EXT.2.1 fails: 1. Halt, 2. Notify an [selection: Administrator, User] by [selection: generating an audit event, [assignment: other notification method(s)]], and 3. [selection, choose one of: Stop all execution and shut down, Initiate a recovery process as specified in FPT_RVR_EXT.1 ] [selection, choose one of: automatically, in accordance with Administrator-configurable policy, by express determination of an [selection: Administrator, User] ]. Application Note: Notification of an administrator can take many forms. For server-class platforms, such notification could take the form of administrator alerts or audit events. For platforms without management controllers, notification could be achieved, for example, by blinking lights, beep codes, screen indications, or local logging. If "Administrator" is selected anywhere in FPT_ROT_EXT.2.2, or if "in accordance with Administrator-configurable policy" is selected, then all Administrator authentication requirements must be included in the ST (FIA_UIA_EXT.1, FIA_UAU.5, FIA_PMG_EXT.1, FIA_AFL_EXT.1, FIA_UAU.7). If "generating an audit event" is selected, then FAU_GEN.1, FAU_SAR.1, FAU_STG.1, FAU_STG.4, and FAU_STG_EXT.1 must be included in the ST. If "computation and verification of a hash by trusted code/data" is selected, then FCS_COP.1/Hash must be included in the ST. If "verification of a digital signature by trusted code/data" is selected, then FCS_COP.1/SigVer must be included in the ST. If "Initiate a recovery process as specified in FPT_RVR_EXT.1" is selected, then FPT_RVR_EXT.1 must be included in the ST. If "in accordance with administrator-configurable policy" is selected, then FMT_MOF_EXT.1 and FMT_SMF.1 must be included in the ST. Evaluation Activities FPT_ROT_EXT.2 TSS The evaluator shall verify that the TSS describes the means by which initial integrity of platform firmware is extended to other platform components, and that the means are consistent with the selection(s) made in FPT_ROT_EXT.2. The TSS shall also describe how the TOE responds to failure of verification consistent with the selections in FPT_ROT_EXT.2.2. Guidance The evaluator shall examine the AGD to ensure that it describes the actions taken and notification methods used in case of failure to establish the integrity of the platform firmware root. If the actions are configurable, the AGD shall explain how they are configured. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall modify the platform firmware in a way that should cause a failure of the integrity check. The test passes if the mechanism specified in FPT_ROT_EXT.2.2 is triggered on the first subsequent boot of the platform. Depending on the protections implemented, the evaluator may need a specially crafted update module from the vendor to perform this test. But note that this is not necessarily the same as a test of the update mechanism. The update mechanism can be tested either at boot time or at the time of the update. This verification check must be done during boot. If modification of platform firmware in situ or using the update mechanism is deemed to be not feasible within the time and cost constraints of the evaluation, then the evaluator shall make such an argument in the AAR, and with concurrence of the CC scheme, this test can be replaced by evidence of vendor testing. FPT_STM.1 Reliable Time Stamps FPT_STM.1.1 The TSF shall be able to provide reliable time stamps. Application Note: It is acceptable for the TSF to provide timestamp data either through an internal clock or a counter. It is also permissible for the TSF to obtain time data from a clock contained within the same physical enclosure as the TOE. Evaluation Activities FPT_STM.1 TSS The evaluator shall examine the TSS to ensure that it lists each security function that makes use of time. The TSS provides a description of how the time is maintained and considered reliable in the context of each of the time related functions. Guidance The evaluator shall examine the AGD to ensure it instructs the Administrator on any mechanisms for configuring the time source. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall perform the following tests: [conditional] If the TSF provides a mechanism to manually set the time, the evaluator shall use the guidance documentation to set the time. The evaluator shall then use an available interface to observe that the time is reported correctly. FPT_TUD_EXT.1 TOE Firmware Update FPT_TUD_EXT.1.1 The TSF shall implement [selection: no mechanism for platform firmware update, an authenticated platform firmware update mechanism as described in FPT_TUD_EXT.2, a delayed-authentication platform firmware update mechanism as described in FPT_TUD_EXT.3, a secure local platform firmware update mechanism described in FPT_TUD_EXT.4 ]. Application Note: The purpose of the platform firmware update mechanism is to ensure the authenticity and integrity of platform firmware updates. If platform firmware is immutable (not updateable by any non-destructive means), then the ST Author selects "no mechanism for platform firmware update." If the platform implements an update mechanism that does not require physical presence at the platform, and that authenticates firmware updates prior to installing them, then the ST Author selects "an authenticated platform firmware update mechanism..." and includes FPT_TUD_EXT.2 and FCS_COP.1/SigVer in the ST. If the platform implements an update mechanism that does not require physical presence at the platform, and that does not authenticate firmware updates prior to installing them, then the ST Author selects "a delayed-authentication platform firmware update mechanism..." and includes FPT_TUD_EXT.3 and FCS_COP.1/SigVer in the ST. If platform firmware is modifiable only through a local update requiring physical presence at the platform, then the ST Author must select "a secure local platform firmware update mechanism..." and include FPT_TUD_EXT.4 in the ST. Evaluation Activities FPT_TUD_EXT.1 TSS If the ST Author selects "no provision for platform firmware update," then the evaluator shall examine the TSS to ensure that it explains all ways of modifying platform firmware in the absence of any provided mechanism. For example, breaking open the case and prying a chip off the motherboard and then reprogramming the chip. The purpose of this activity is to ensure that the TOE does not implement a local update mechanism that does not meet the requirements of FPT_TUD_EXT.4. This requirement is met if the platform implements no means for updating platform firmware and the TSS describes a method for updating or replacing platform firmware that involves potentially destroying or damaging the TOE or some of its components. If the ST Author selects "an authenticated platform firmware update mechanism...," then this requirement is satisfied if FPT_TUD_EXT.2 is satisfied. If the ST Author selects "a delayed-authentication platform firmware update mechanism...," then this requirement is satisfied if FPT_TUD_EXT.3 is satisfied. If the ST Author selects "a secure local platform firmware update mechanism...," then this requirement is satisfied if FPT_TUD_EXT.4 is satisfied. Guidance There are no AGD evaluation activities for this component. KMD There are no KMD evaluation activities for this component. Tests There are no Test evaluation activities for this component. 5.1.4 TOE Security Functional Requirements Rationale The following rationale provides justification for each security objective for the TOE, showing that the SFRs are suitable to meet and achieve the security objectives: Table 4: SFR Rationale Objective Addressed by Rationale O.PHYSICAL_​ INTEGRITY FPT_JTA_EXT.1 Supports the objective through restricting access to debug ports. FPT_TUD_EXT.1 Supports the objective through requiring that a TOE be either updateable or immutable. FPT_ROT_EXT.3 (objective) Supports the objective through requiring supply chain traceability. FPT_JTA_EXT.2 (sel- based) Supports the objective through requiring debug ports to be disabled. FPT_PHP.1 (sel-based) Supports the objective through passive detection of physical tampering. FPT_PHP.2 (sel-based) Supports the objective through detection and reporting of physical tampering. FPT_PHP.3 (sel-based) Supports the objective through resistance to physical tampering. FPT_TUD_EXT.2 (sel- based) Supports the objective through specifying an authenticated firmware update mechanism. FPT_TUD_EXT.3 (sel- based) Supports the objective through specifying a firmware update mechanism with delayed authentication. FPT_TUD_EXT.4 (sel- based) Supports the objective through specifying a secure local firmware update mechanism. O.ATTACK_​ FPT_ROT_EXT.2 Supports the objective by indicating integrity failures in DETECTION_​AND_​ RESPONSE platform firmware. FPT_STM.1 Supports the objective by ensuring that audit events are marked with reliable time stamps. FAU_GEN.1 (sel- based) Supports the objective by requiring reporting of security- related audit events. FAU_SAR.1 (sel-based) Supports the objective by requiring that audit events be readable by an Administrator. FAU_STG.1 (sel-based) Supports the objective by requiring that audit records be protected from unauthorized deletion. FAU_STG.4 (sel-based) Supports the objective by requiring that audit records be protected from automatic deletion. FAU_STG_EXT.1 (sel- based) Supports the objective by requiring that audit records be off-loaded to an external IT entity. FPT_PHP.1 (sel-based) Supports the objective through passive detection of physical tampering. FPT_PHP.3 (sel-based) Supports the objective through resistance to physical tampering. O.MITIGATE_​ FUNDAMENTAL_​ FLAWS FPT_TUD_EXT.1 Supports the objective through requiring that a TOE be either updateable or immutable. FPT_TUD_EXT.2 (sel- based) Supports the objective through specifying an authenticated firmware update mechanism. FPT_TUD_EXT.3 (sel- based) Supports the objective through specifying a firmware update mechanism with delayed authentication. FPT_TUD_EXT.4 (sel- based) Supports the objective through specifying a secure local firmware update mechanism. O.PROTECTED_​ FIRMWARE FPT_ROT_EXT.1 Supports the objective by ensuring that platform integrity is rooted in a trust anchor. FPT_PPF_EXT.1 Supports the objective by requiring that platform firmware be modifiable only through the update process. FPT_TUD_EXT.1 Supports the objective through requiring that a TOE be either updateable or immutable. FPT_ROT_EXT.2 (sel- based) Supports the objective by detecting integrity failures in platform firmware. FPT_RVR_EXT.1 (sel- based) Supports the objective by specifying a means for recovery from a boot firmware failure. FPT_TUD_EXT.2 (sel- based) Supports the objective through specifying an authenticated firmware update mechanism. FPT_TUD_EXT.3 (sel- based) Supports the objective through specifying a firmware update mechanism with delayed authentication. FPT_TUD_EXT.4 (sel- based) Supports the objective through specifying a secure local firmware update mechanism. O.UPDATE_​ INTEGRITY FPT_PPF_EXT.1 Supports the objective by requiring that platform firmware be modifiable only through the update process. FPT_ROT_EXT.2 Supports the objective by validating the integrity of platform firmware prior to execution. FPT_TUD_EXT.1 Supports the objective through requiring that a TOE be either updateable or immutable. FPT_TUD_EXT.2 (sel- based) Supports the objective through specifying an authenticated firmware update mechanism. FPT_TUD_EXT.3 (sel- based) Supports the objective through specifying a firmware update mechanism with delayed authentication. FPT_TUD_EXT.4 (sel- based) Supports the objective through specifying a secure local firmware update mechanism. O.STRONG_​ CRYPTOGRAPHY FCS_SLT_EXT.1 (optional) Supports the objective by specifying the requirements for cryptographic salt generation. FCS_CKM.1/AK (sel- based/optional) Supports the objective by specifying the requirements for generating asymmetric keys. FCS_CKM.1/SK (sel- based/optional) Supports the objective by specifying the requirements for generating symmetric keys. FCS_CKM.2 (sel- based/optional) Supports the objective by specifying the requirements for cryptographic key establishment. FCS_CKM_EXT.5 (sel- based/optional) Supports the objective by specifying the requirements for cryptographic key derivation. FCS_COP.1/Hash (sel- based/optional) Supports the objective by specifying the requirements for cryptographic hashing. FCS_COP.1/KAT (sel- based/optional) Supports the objective by specifying the requirements for key agreement and transport. FCS_COP.1/KeyedHash (sel-based/optional) Supports the objective by specifying the requirements for keyed hashes. FCS_COP.1/SigGen (sel-based/optional) Supports the objective by specifying the requirements for digital signature generation. FCS_COP.1/SigVer (sel-based/optional) Supports the objective by specifying the requirements for digital signature verification. FCS_COP.1/SKC (sel- based/optional) Supports the objective by specifying the requirements for symmetric-key cryptography. FCS_RBG_EXT.1 (sel- based/optional) Supports the objective by specifying the requirements for random-bit generation services. O.SECURITY_​ FUNCTIONALITY_​ INTEGRITY FPT_PPF_EXT.1 Supports the objective by requiring that platform firmware be modifiable only through the update process. FCS_STG_EXT.1 (optional) Supports the objective by specifying the types of credential storage supported by the TOE. FCS_CKM.4 (sel- based) Supports the objective by specifying the requirements for credential and key destruction. FCS_CKM_EXT.4 (sel- based) Supports the objective by specifying the timing for credential and key destruction. FCS_STG_EXT.2 (sel- based) Supports the objective by specifying the types of material that must be encrypted for storage. FCS_STG_EXT.3 (sel- based) Supports the objective by specifying the encryption requirements for credential storage. FDP_ITC_EXT.1 (sel- based) Supports the objective by specifying the requirements for import of keys and credentials. O.TENANT_​SECURITY FCS_ENT_EXT.1 (optional) Supports the objective by requiring that the TOE provide entropy to tenant software. FCS_STG_EXT.1 (optional) Supports the objective by specifying the types of credential storage supported by the TOE. FDP_TEE_EXT.1 (optional) Supports the objective by specifying the requirements for a trusted execution environment. FCS_STG_EXT.2 (sel- based) Supports the objective by specifying the types of material that must be encrypted for storage. FCS_STG_EXT.3 (sel- based) Supports the objective by specifying the encryption requirements for credential storage. FDP_ITC_EXT.1 (sel- based) Supports the objective by specifying the requirements for import of keys and credentials. O.TRUSTED_​ CHANNELS FCS_HTTPS_EXT.1 (sel-based) Supports the objective by specifying requirements for the HTTPS protocol. FCS_IPSEC_EXT.1 (sel- Supports the objective by specifying requirements for based) the IPSec protocol. FIA_X509_EXT.1 (sel- based) Supports the objective by specifying how X.509 certificate validation is performed. FIA_X509_EXT.2 (sel- based) Supports the objective by specifying how X.509 certificate authentication is performed. FTP_ITC_EXT.1 (sel- based) Supports the objective by specifying allowable trusted channel protocols. FTP_ITE_EXT.1 (sel- based) Supports the objective by specifying requirements for moving data through untrusted channels. FTP_ITP_EXT.1 (sel- based) Supports the objective by allowing physically protected communications channels. FTP_TRP.1 (sel-based) Supports the objective by specifying allowable uses for trusted channels. O.CONFIGURATION_​ INTEGRITY FMT_CFG_EXT.1 Supports the objective by requiring that default Administrator credentials be changed. FIA_UIA_EXT.1 (sel- based) Supports the objective by requiring Administrators be authenticated before making changes. FMT_MOF_EXT.1 (sel- based) Supports the objective by specifying that management functions be performed by Administrators. FMT_SMF.1 (sel- based) Supports the objective by specifying the management functions implemented by the TOE. FMT_SMR.1 (sel- based) Supports the objective by defining the roles of Administrator and User. O.AUTHORIZED_​ ADMINISTRATOR FMT_CFG_EXT.1 Supports the objective by requiring that default Administrator credentials be changed. FIA_TRT_EXT.1 (optional) Supports the objective by limiting the number of automated authentication attempts. FIA_AFL_EXT.1 (sel- based) Supports the objective by requiring that Administrators be authenticated. FIA_PMG_EXT.1 (sel- based) Supports the objective by specifying password complexity requirements. FIA_UAU.5 (sel-based) Supports the objective by specifying supported authentication mechanisms. FIA_UAU.7 (sel-based) Supports the objective by requiring that authentication factor feedback be suppressed. FIA_UIA_EXT.1 (sel- based) Supports the objective by requiring Administrators be authenticated before making changes. FIA_X509_EXT.1 (sel- based) Supports the objective by specifying how X.509 certificate validation is performed. FIA_X509_EXT.2 (sel- based) Supports the objective by specifying how X.509 certificate authentication is performed. FMT_MOF_EXT.1 (sel- based) Supports the objective by specifying that management functions be performed by Administrators. FMT_SMF.1 (sel- based) Supports the objective by specifying the management functions implemented by the TOE. FMT_SMR.1 (sel- based) Supports the objective by defining the roles of Administrator and User. 5.2 Security Assurance Requirements The Security Objectives in Section 4.1 Security Objectives for the TOE were constructed to address threats identified in Section 3.1 Threats. The Security Functional Requirements (SFRs) in Section 5.1 Security Functional Requirements are a formal instantiation of the Security Objectives. The PP identifies the Security Assurance Requirements (SARs) to frame the extent to which the evaluator assesses the documentation applicable for the evaluation and performs independent testing. This section lists the set of SARs from CC part 3 that are required in evaluations against this PP. Individual Evaluation Activities to be performed are specified both in Section 5.1 Security Functional Requirements as well as in this section. The general model for evaluation of GPCPs against STs written to conform to this PP is as follows: After the ST has been approved for evaluation, the ITSEF will obtain the TOE, supporting environmental IT, and the administrative/user guides for the TOE. The ITSEF is expected to perform actions mandated by the Common Evaluation Methodology (CEM) for the ASE and ALC SARs. The ITSEF also performs the Evaluation Activities contained within Section 5.1 Security Functional Requirements, which are intended to be an interpretation of the other CEM assurance requirements as they apply to the specific technology instantiated in the TOE. The Evaluation Activities that are captured in Section 5.1 Security Functional Requirements also provide clarification as to what the developer needs to provide to demonstrate the TOE is compliant with the PP. 5.2.1 Class ASE: Security Target As per ASE activities defined in [CEM]. 5.2.2 Class ADV: Development The information about the TOE is contained in the guidance documentation available to the end user as well as the TSS portion of the ST. The TOE developer must concur with the description of the product that is contained in the TSS as it relates to the functional requirements. The Evaluation Activities contained in Section 5.1 Security Functional Requirements should provide the ST Authors with sufficient information to determine the appropriate content for the TSS section. ADV_FSP.1 Basic Functional Specification (ADV_FSP.1) The functional specification describes the TSFIs. It is not necessary to have a formal or complete specification of these interfaces. Additionally, because TOEs conforming to this PP will necessarily have interfaces to the Operational Environment that are not directly invokable by TOE users, there is little point specifying that such interfaces be described in and of themselves since only indirect testing of such interfaces may be possible. For this PP, the activities for this family should focus on understanding the interfaces presented in the TSS, KMD, and any other supplemental evidence that may be required to satisfy the TSS Evaluation Activities, such as a non-public interface specification, in response to the functional requirements and the interfaces presented in the AGD documentation. No additional "functional specification" documentation is necessary to satisfy the Evaluation Activities specified. The interfaces that need to be evaluated are characterized through the information needed to perform the Evaluation Activities listed, rather than as an independent, abstract list. Developer action elements: ADV_FSP.1.1D The developer shall provide a functional specification. Content and presentation elements: ADV_FSP.1.1C The developer shall provide a tracing from the functional specification to the SFRs. Application Note: As indicated in the introduction to this section, the functional specification comprises the information contained in the TSS, KMD, and any additional supplemental documentation. The developer may reference a website accessible to application developers and the evaluator. The Evaluation Activities in the functional requirements point to evidence that should exist in the documentation and TSS section; since these are directly associated with the SFRs, the tracing in element ADV_FSP.1.2D is implicitly already done and no additional documentation is necessary. ADV_FSP.1.2C The functional specification shall describe the purpose and method of use for each SFR-enforcing and SFR-supporting TSFI. ADV_FSP.1.3C The functional specification shall identify all parameters associated with each SFR-enforcing and SFR-supporting TSFI. ADV_FSP.1.4C The functional specification shall provide rationale for the implicit categorization of interfaces as SFR-non-interfering. ADV_FSP.1.5C The tracing shall demonstrate that the SFRs trace to TSFIs in the functional specification. Evaluator action elements: ADV_FSP.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ADV_FSP.1.2E The evaluator shall determine that the functional specification is an accurate and complete instantiation of the SFRs. Evaluation Activities ADV_FSP.1 There are no specific Evaluation Activities associated with these SARs, except ensuring the information is provided. The functional specification documentation is provided to support the evaluation activities described in Section 5.1 Security Functional Requirements, and other activities described for AGD, ATE, and AVA SARs. The requirements on the content of the functional specification information is implicitly assessed by virtue of the other Evaluation Activities being performed; if the evaluator is unable to perform an activity because there is insufficient interface information, then an adequate functional specification has not been provided. 5.2.3 Class AGD: Guidance Documentation The guidance documents will be provided with the ST. Guidance must include a description of how the IT personnel verifies that the Operational Environment can fulfill its role for the security functionality. The documentation should be in an informal style and readable by the IT personnel. Guidance must be provided for every operational environment that the product supports as claimed in the ST. This guidance includes instructions to successfully install the TSF in that environment; and Instructions to manage the security of the TSF as a product and as a component of the larger operational environment. Guidance pertaining to particular security functionality is also provided; requirements on such guidance are contained in the Evaluation Activities specified with each requirement. AGD_OPE.1 Operational User Guidance (AGD_OPE.1) Developer action elements: AGD_OPE.1.1D The developer shall provide operational user guidance. Application Note: The operational user guidance does not have to be contained in a single document. Guidance to users, administrators and application developers can be spread among documents or web pages. Rather than repeat information here, the developer should review the Evaluation Activities for this component to ascertain the specifics of the guidance that the evaluator will be checking for. This will provide the necessary information for the preparation of acceptable guidance. Content and presentation elements: AGD_OPE.1.1C The operational user guidance shall describe, for each user role, the user- accessible functions and privileges that should be controlled in a secure processing environment, including appropriate warnings. Application Note: User and administrator are to be considered in the definition of user role. AGD_OPE.1.2C The operational user guidance shall describe, for each user role, how to use the available interfaces provided by the TOE in a secure manner. AGD_OPE.1.3C The operational user guidance shall describe, for each user role, the available functions and interfaces, in particular all security parameters under the control of the user, indicating secure values as appropriate. Application Note: This portion of the operational user guidance should be presented in the form of a checklist that can be quickly executed by IT personnel (or end-users, when necessary) and suitable for use in compliance activities. When possible, this guidance is to be expressed in the eXtensible Configuration Checklist Description Format (XCCDF) to support security automation. Minimally, it should be presented in a structured format which includes a title for each configuration item, instructions for achieving the secure configuration, and any relevant rationale. AGD_OPE.1.4C The operational user guidance shall, for each user role, clearly present each type of security-relevant event relative to the user-accessible functions that need to be performed, including changing the security characteristics of entities under the control of the TSF. AGD_OPE.1.5C The operational user guidance shall identify all possible modes of operation of the TOE (including operation following failure or operational error), their consequences, and implications for maintaining secure operation. AGD_OPE.1.6C The operational user guidance shall, for each user role, describe the security measures to be followed in order to fulfill the security objectives for the operational environment as described in the ST. AGD_OPE.1.7C The operational user guidance shall be clear and reasonable. Evaluator action elements: AGD_OPE.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. Evaluation Activities AGD_OPE.1 Some of the contents of the operational guidance are verified by the Evaluation Activities in Section 5.1 Security Functional Requirements and evaluation of the TOE according to the [CEM]. The following additional information is also required: If cryptographic functions are provided by the TOE, the operational guidance shall contain instructions for configuring the cryptographic engine associated with the evaluated configuration of the TOE. It shall provide a warning to the administrator that use of other cryptographic engines was not evaluated nor tested during the CC evaluation of the TOE. If the TOE supports firmware updates, the documentation must describe the process for verifying updates to the TOE by verifying a digital signature – this may be done by the TOE or the underlying platform. The evaluator will verify that this process includes the following steps: Instructions for obtaining the update itself. This should include instructions for making the update accessible to the TOE (e.g., placement in a specific directory). Instructions for initiating the update process, as well as discerning whether the process was successful or unsuccessful. This includes generation of the hash/digital signature. The TOE will likely contain security functionality that does not fall in the scope of evaluation under this PP. The operational guidance shall make it clear to an administrator which security functionality is covered by the evaluation activities. AGD_PRE.1 Preparative Procedures (AGD_PRE.1) Developer action elements: AGD_PRE.1.1D The developer shall provide the TOE, including its preparative procedures. Application Note: As with the operational guidance, the developer should look to the Evaluation Activities to determine the required content with respect to preparative procedures. Content and presentation elements: AGD_PRE.1.1C The preparative procedures shall describe all the steps necessary for secure acceptance of the delivered TOE in accordance with the developer's delivery procedures. AGD_PRE.1.2C The preparative procedures shall describe all the steps necessary for secure installation of the TOE and for the secure preparation of the operational environment in accordance with the security objectives for the operational environment as described in the ST. Evaluator action elements: AGD_PRE.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. AGD_PRE.1.2E The evaluator shall apply the preparative procedures to confirm that the TOE can be prepared securely for operation. Evaluation Activities AGD_PRE.1 As indicated in the introduction above, there are significant expectations with respect to the documentation—especially when configuring the operational environment to support TOE functional requirements. 5.2.4 Class ALC: Life-cycle Support At the assurance level provided for TOEs conformant to this PP, life-cycle support is limited to end-user- visible aspects of the life-cycle, rather than an examination of the TOE vendor’s development and configuration management process. This is not meant to diminish the critical role that a developer’s practices play in contributing to the overall trustworthiness of a product; rather, it is a reflection on the information to be made available for evaluation at this assurance level. ALC_CMC.1 Labeling of the TOE (ALC_CMC.1) This component is targeted at identifying the TOE such that it can be distinguished from other products or versions from the same vendor and can be easily specified when being procured by an end user. Developer action elements: ALC_CMC.1.1D The developer shall provide the TOE and a reference for the TOE. Content and presentation elements: ALC_CMC.1.1C The TOE shall be labeled with a unique reference. Application Note: Unique reference information includes: TOE Model Name TOE Version TOE Description Software Identification (SWID) tags, if available Evaluator action elements: ALC_CMC.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. Evaluation Activities ALC_CMC.1 The evaluator will check the ST to ensure that it contains sufficient information to specifically identify the the TOE and the version that meets the requirements of the ST. Further, the evaluator will check the AGD guidance and TOE samples received for testing to ensure that the version number is consistent with that in the ST. If the vendor maintains a web site advertising the TOE, the evaluator will examine the information on the web site to ensure that the information in the ST is sufficient to distinguish the product. ALC_CMS.1 TOE CM Coverage (ALC_CMS.1) Given the scope of the TOE and its associated evaluation evidence requirements, this component’s Evaluation Activities are covered by the Evaluation Activities listed for ALC_CMC.1. Developer action elements: ALC_CMS.1.1D The developer shall provide a configuration list for the TOE. Content and presentation elements: ALC_CMS.1.1C The configuration list shall include the following: the TOE itself; and the evaluation evidence required by the SARs. ALC_CMS.1.2C The configuration list shall uniquely identify the configuration items. Evaluator action elements: ALC_CMS.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. Evaluation Activities ALC_CMS.1 The "evaluation evidence required by the SARs" in this PP is limited to the information in the ST coupled with the guidance provided to administrators and users under the AGD requirements. By ensuring that the OS is specifically identified and that this identification is consistent in the ST and in the AGD guidance (as done in the Evaluation Activity for ALC_CMC.1), the evaluator implicitly confirms the information required by this component. Life-cycle support is targeted aspects of the developer’s life-cycle and instructions to providers of applications for the developer’s devices, rather than an in-depth examination of the TSF manufacturer’s development and configuration management process. This is not meant to diminish the critical role that a developer’s practices play in contributing to the overall trustworthiness of a product; rather, it’s a reflection on the information to be made available for evaluation. The evaluator will ensure that the developer has identified (in guidance documentation for application developers concerning the targeted platform) one or more development environments appropriate for use in developing applications for the developer’s platform. For each of these development environments, the developer shall provide information on how to configure the environment to ensure that buffer overflow protection mechanisms in the environment(s) are invoked (e.g., compiler and linker flags). The evaluator will ensure that this documentation also includes an indication of whether such protections are on by default, or have to be specifically enabled. The evaluator will ensure that the TSF is uniquely identified (with respect to other products from the TSF vendor), and that documentation provided by the developer in association with the requirements in the ST is associated with the TSF using this unique identification. ALC_TSU_EXT.1 Timely Security Updates This component requires the TOE developer, in conjunction with any other necessary parties, to provide information as to how the TOE is updated to address security issues in a timely manner. The documentation describes the process of providing updates to the public from the time a security flaw is reported/discovered, to the time an update is released. This description includes the parties involved (e.g., developer/OEM, component manufacturers) and the steps that are performed (e.g., developer testing), including worst case time periods, before an update is made available to the public. For TOE implementations with immutable firmware, update might not be possible other than through replacement of the entire device. In this case, delivery of a new device with the necessary security fixes would constitute deployment of the security update. Developer action elements: ALC_TSU_EXT.1.1D The developer shall provide a description in the TSS of how timely security updates are made to the TOE. ALC_TSU_EXT.1.2D The developer shall provide a description in the TSS of how users are notified when updates change security properties or the configuration of the product. Content and presentation elements: ALC_TSU_EXT.1.1C The description shall include the process for creating and deploying security updates for TOE firmware. ALC_TSU_EXT.1.2C The description shall include the mechanisms publicly available for reporting security issues pertaining to the TOE. Note: The reporting mechanism could include web sites, email addresses, as well as a means to protect the sensitive nature of the report (e.g., public keys that could be used to encrypt the details of a proof-of-concept exploit). Evaluator action elements: ALC_TSU_EXT.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. Evaluation Activities ALC_TSU_EXT.1 The evaluator will verify that the TSS contains a description of the timely security update process used by the developer to create and deploy security updates for TOE firmware. The evaluator will also verify that, in addition to the TOE developer’s process, any third-party processes are also addressed in the description. The evaluator will also verify that each mechanism for deployment of security updates is described. The evaluator will verify that, for each deployment mechanism described for the update process, the TSS lists a time between public disclosure of a vulnerability and public availability of the security update to the TOE patching this vulnerability. The evaluator will verify that this time is expressed in a number or range of days. The evaluator will verify that this description includes the publicly available mechanisms (including either an email address or website) for reporting security issues related to the TOE. The evaluator shall verify that the description of this mechanism includes a method for protecting the report either using a public key for encrypting email or a trusted channel for a website. 5.2.5 Class ATE: Tests Testing is specified for functional aspects of the system as well as aspects that take advantage of design or implementation weaknesses. The former is done through the ATE_IND family, while the latter is through the AVA_VAN family. At the assurance level specified in this PP, testing is based on advertised functionality and interfaces with dependency on the availability of design information. One of the primary outputs of the evaluation process is the test report as specified in the following requirements. ATE_IND.1 Independent Testing – Conformance (ATE_IND.1) Testing is performed to confirm the functionality described in the TSS as well as the administrative (including configuration and operational) documentation provided. The focus of the testing is to confirm that the requirements specified in Section 5.1 Security Functional Requirements being met, although some additional testing is specified for SARs in Section 5.2 Security Assurance Requirements. The Evaluation Activities identify the additional testing activities associated with these components. The evaluator produces a test report documenting the plan for and results of testing, as well as coverage arguments focused on the hardware configurations that are claiming conformance to this PP. Given the scope of the TOE and its associated evaluation evidence requirements, this component’s Evaluation Activities are covered by the Evaluation Activities listed for ALC_CMC.1. Developer action elements: ATE_IND.1.1D The developer shall provide the TOE for testing. Content and presentation elements: ATE_IND.1.1C The TOE shall be suitable for testing. Evaluator action elements: ATE_IND.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ATE_IND.1.2E The evaluator shall test a subset of the TSF to confirm that the TSF operates as specified. Evaluation Activities ATE_IND.1 The evaluator will prepare a test plan and report documenting the testing aspects of the system, including any application crashes during testing. The evaluator shall determine the root cause of any application crashes and include that information in the report. The test plan covers all of the testing actions contained in the [CEM] and the body of this PP’s Assurance Activities. While it is not necessary to have one test case per test listed in an Assurance Activity, the evaluator must document in the test plan that each applicable testing requirement in the ST is covered. The test plan identifies the platforms to be tested, and for those platforms not included in the test plan but included in the ST, the test plan provides a justification for not testing the platforms. This justification must address the differences between the tested platforms and the untested platforms, and make an argument that the differences do not affect the testing to be performed. It is not sufficient to merely assert that the differences have no affect; rationale must be provided. If all platforms claimed in the ST are tested, then no rationale is necessary. The test plan describes the composition of each platform to be tested, and any setup that is necessary beyond what is contained in the AGD documentation. It should be noted that the evaluator is expected to follow the AGD documentation for installation and setup of each platform either as part of a test or as a standard pre-test condition. This may include special test drivers or tools. For each driver or tool, an argument (not just an assertion) should be provided that the driver or tool will not adversely affect the performance of the functionality by the OS and its platform. This also includes the configuration of the cryptographic engine to be used. The cryptographic algorithms implemented by this engine are those specified by this PP and used by the cryptographic protocols being evaluated (IPsec, TLS). The test plan identifies high-level test objectives as well as the test procedures to be followed to achieve those objectives. These procedures include expected results. The test report (which could just be an annotated version of the test plan) details the activities that took place when the test procedures were executed, and includes the actual results of the tests. This shall be a cumulative account, so if there was a test run that resulted in a failure; a fix installed; and then a successful re-run of the test, the report would show a “fail” and “pass” result (and the supporting details), and not just the “pass” result. 5.2.6 Class AVA: Vulnerability Assessment For the first generation of this protection profile, the evaluation lab is expected to survey open sources to discover what vulnerabilities have been discovered in these types of products. In most cases, these vulnerabilities will require sophistication beyond that of a basic attacker. Until penetration tools are created and uniformly distributed to the evaluation labs, the evaluator will not be expected to test for these vulnerabilities in the TOE. The labs will be expected to comment on the likelihood of these vulnerabilities given the documentation provided by the vendor. This information will be used in the development of penetration testing tools and for the development of future protection profiles. AVA_VAN.1 Vulnerability Survey (AVA_VAN.1) Developer action elements: AVA_VAN.1.1D The developer shall provide the TOE for testing. Content and presentation elements: AVA_VAN.1.1C The TOE shall be suitable for testing. Evaluator action elements: AVA_VAN.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. AVA_VAN.1.2E The evaluator shall perform a search of public domain sources to identify potential vulnerabilities in the TOE. Application Note: Public domain sources include the Common Vulnerabilities and Exposures (CVE) dictionary for publicly known vulnerabilities. AVA_VAN.1.3E The evaluator shall conduct penetration testing, based on the identified potential vulnerabilities, to determine that the TOE is resistant to attacks performed by an attacker possessing Basic attack potential. Evaluation Activities AVA_VAN.1 The evaluator will generate a report to document their findings with respect to this requirement. This report could physically be part of the overall test report mentioned in ATE_IND, or a separate document. The evaluator performs a search of public information to find vulnerabilities that have been found in similar applications with a particular focus on network protocols the application uses and document formats it parses. The evaluator documents the sources consulted and the vulnerabilities found in the report. For each vulnerability found, the evaluator either provides a rationale with respect to its non- applicability, or the evaluator formulates a test (using the guidelines provided in ATE_IND) to confirm the vulnerability, if suitable. Suitability is determined by assessing the attack vector needed to take advantage of the vulnerability. If exploiting the vulnerability requires expert skills and an electron microscope, for instance, then a test would not be suitable and an appropriate justification would be formulated. Appendix A - Optional Requirements As indicated in the introduction to this PP, the baseline requirements (those that must be performed by the TOE) are contained in the body of this PP. This appendix contains three other types of optional requirements that may be included in the ST, but are not required in order to conform to this PP. However, applied modules, packages and/or use cases may refine specific requirements as mandatory. The first type (A.1 Strictly Optional Requirements) are strictly optional requirements that are independent of the TOE implementing any function. If the TOE fulfills any of these requirements or supports a certain functionality, the vendor is encouraged to include the SFRs in the ST, but are not required in order to conform to this PP. The second type (A.2 Objective Requirements) are objective requirements that describe security functionality not yet widely available in commercial technology. The requirements are not currently mandated in the body of this PP, but will be included in the baseline requirements in future versions of this PP. Adoption by vendors is encouraged and expected as soon as possible. The third type (A.3 Implementation-Based Requirements) are dependent on the TOE implementing a particular function. If the TOE fulfills any of these requirements, the vendor must either add the related SFR or disable the functionality for the evaluated configuration. A.1 Strictly Optional Requirements A.1.1 Auditable Events for Strictly Optional Requirements Table 5: Auditable Events for Optional Requirements Requirement Auditable Events Additional Audit Record Contents FCS_CKM_EXT.5 No events specified. N/A FCS_ENT_EXT.1 No events specified. N/A FCS_SLT_EXT.1 No events specified. N/A FCS_STG_EXT.1 No events specified. N/A FDP_TEE_EXT.1 No events specified. N/A FIA_TRT_EXT.1 Authentication throttling triggered. None. A.1.2 Class: Cryptographic Support (FCS) FCS_CKM_EXT.5 Cryptographic Key Derivation FCS_CKM_EXT.5.1 The TSF shall derive cryptographic keys of type [assignment: key type] from input parameters [selection: Input parameters] in accordance with a specified key derivation algorithm [selection: Key derivation algorithm] and specified cryptographic key sizes [selection: Cryptographic key sizes] that meet the following: [selection: List of standards] Table 6: Choices for completion of the assignment operations in FCS_CKM_EXT.5.1 Identifier Input parameters Key derivation algorithm Cryptographic key sizes List of standards KDF-CTR [selection: Direct Generation from a Random Bit Generator as specified in FCS_RBG_EXT.1, Concatenated keys] KDF in Counter Mode using [selection: CMAC-AES-128, CMAC- AES-192, CMAC-AES- 256, HMAC-SHA-1, HMAC-SHA-256, HMAC-SHA-512] as the PRF [selection: 128, 192, 256] bits NIST SP 800-108 sec. 5.1 (KDF in Counter Mode) [selection: ISO/IEC 9797- 1:2011 (CMAC), NIST SP 800-38B (CMAC), ISO/IEC 18033- 3:2010 (AES), ISO/IEC 9797- 2:2011 (HMAC), FIPS PUB 198-1 (HMAC), ISO/IEC 10118- 3:2018 (SHA), FIPS PUB 180-4 (SHA)] KDF-FB [selection: Direct Generation from a Random Bit Generator as specified in FCS_RBG_EXT.1, Concatenated keys] KDF in Feedback Mode using [selection: CMAC-AES-128, CMAC- AES-192, CMAC-AES- 256, HMAC-SHA-1, HMAC-SHA-256, HMAC-SHA-512] as the PRF [selection: 128, 192, 256] bits NIST SP 800-108 sec 5.2 (KDF in Feedback Mode) [selection: ISO/IEC 9797- 1:2011 (CMAC), NIST SP 800-38B (CMAC), ISO/IEC 18033- 3:2010 (AES), ISO/IEC 9797- 2:2011 (HMAC), FIPS PUB 198-1 (HMAC), ISO/IEC 10118- 3:2018 (SHA), FIPS PUB 180-4 (SHA)] KDF-DPI [selection: Direct Generation from a Random Bit Generator as specified in FCS_RBG_EXT.1, Concatenated keys] KDF in Double Pipeline Iteration Mode using [selection: CMAC-AES- 128, CMAC-AES-192, CMAC-AES-256, HMAC-SHA-1, HMAC- SHA-256, HMAC-SHA- 512] as the PRF [selection: 128, 192, 256]bits NIST SP 800-108 sec. 5.3 (KDF in n Double Pipeline Iteration Mode) [selection: ISO/IEC 9797- 1:2011 (CMAC), NIST SP 800-38B (CMAC), ISO/IEC 18033- 3:2010 (AES), ISO/IEC 9797- 2:2011 (HMAC), FIPS PUB 198-1 (HMAC), ISO/IEC 10118- 3:2018 (SHA), FIPS PUB 180-4 (SHA)] KDF-XOR Intermediary keys [selection: exclusive OR (XOR), SHA-256, SHA-512] [selection: 128, 192, 256] bits [selection: ISO/IEC 10118- 3:2018 (SHA), FIPS PUB 180-4 (SHA)] KDF-ENC Two keys Encryption using [selection: AES-CCM, AES-GCM, AES-CBC, AES-KWP, AES-KW] [selection: 128, 192, 256] bits [selection: ISO/IEC 18033- 3:2010 (subclause 5.2) (AES), FIPS PUB 197 (AES), ISO/IEC 10116:2017 (clause 7) (CBC), NIST SP 800-38A sec. 6.2 (CBC), ISO/IEC 19772:2009 (clause 8) (CCM), NIST SP 800-38C (CCM), ISO/IEC 19772:2009 (clause 11) (GCM), NIST SP 800-38D (GCM), IEEE Std. 1619-2007 (XTS), NIST SP 800-38E (XTS), ISO/IEC 19772:2009, clause 7 (Key wrap), NIST SP 800-38F sec. 6.2 (KW), NIST SP 800-38F sec. 6.3 (KWP)] KDF- HASH Shared secret, salt, output length, fixed information [assignment: Hash function from FCS_COP.1/Hash] [selection: 128, 192, 256] bits NIST SP 800-56C rev2, sec. 4 KDF-MAC Shared secret, salt, IV, output length, fixed information [assignment: keyed hash from FCS_COP.1/KeyedHash] [selection: 128, 192, 256] bits NIST SP 800-56C rev2, sec. 4 KDF- PBKDF Password, salt, iteration count [selection: HMAC- SHA-1, HMAC-SHA- 224, HMAC-SHA-256, HMAC-SHA-384, HMAC-SHA-512, HMAC-SHA-512/224, HMAC-SHA-512/256, [selection: 128, 192, 256] bits NIST SP 800-132 HMAC-SHA3-224, HMAC-SHA3-256, HMAC-SHA3-384, HMAC-SHA3-512] Application Note: The "key type" assignment should indicate the type type of key being derived, e.g. "symmetric," "asymmetric," or "HMAC." This SFR must be included in the ST if key derivation is a service provided by the TOE to tenant software, or if it is used by the TOE itself to support or implement PP-specified security functionality. If this SFR is included in the ST, then FCS_CKM.4 must also be claimed. If "KDF-XOR" and at least one of the SHA hashes is selected, then FCS_COP.1/Hash must be claimed. If "KDF-HASH" or "KDF-MAC" is selected, then FCS_COP.1/Hash must be claimed. If "KDF-MAC" is selected, then FCS_COP.1/KeyedHash must be claimed. If "KDF-PBKDF" is selected, then FCS_COP.1/KeyedHash must be claimed. If "KDF-CTR," "KDF-FB," or "KDF-DPI" is selected, then FCS_RBG_EXT.1 must be claimed. If "KDF-CTR," "KDF-FB," or "KDF-DPI" is selected, and HMAC is selected as part of the key derivation algorithm, then FCS_COP.1/KeyedHash must be claimed. For Authorization Factor Submasks, the key size to be used in the HMAC falls into a range between L1 and L2 defined in ISO/IEC 10118 for the appropriate hash function (for example for SHA-256 L1 = 512, L2 = 256) where L2 <= k <= L1. NIST SP 800-131A Rev 1 allows the use of SHA-1 in these use cases. KDF-ENC and KDF-XOR create an “inverted key hierarchy” in which the TSF will combine two or more keys to create a third key. These same KDFs may also use a submask key as input, which could be an authorization factor or derived from a PBKDF. In these cases the ST Author must explicitly declare this option and should present a reasonable argument that the entropy of the inputs to the KDFs will result in full entropy of the expected output. Evaluation Activities FCS_CKM_EXT.5 TSS The evaluator shall check that the TSS includes a description of the key derivation functions and shall check that this uses a key derivation algorithm and key sizes according to the specification selected in Table 6. The evaluator shall confirm that the TSS supports the selected methods. If key combination is used to form a KEK, the evaluator shall verify that the TSS describes the method of combination and that this method is either an XOR, a KDF, or encryption. If a KDF is used to form a KEK, the evaluator shall ensure that the TSS includes a description of the key derivation function and shall verify the key derivation uses an approved derivation mode and key expansion algorithm according to SP 800-108. If key concatenation is used to derive KEKs, the evaluator shall ensure the TSS includes a description of the randomness extraction step, including the following: The description must include how an approved untruncated MAC function is being used for the randomness extraction step and the evaluator must verify the TSS describes that the output length (in bits) of the MAC function is at least as large as the targeted security strength (in bits) of the parameter set employed by the key establishment scheme (see Tables 1-3 of SP 800-56C). The description must include how the MAC function being used for the randomness extraction step is related to the PRF used in the key expansion and verify the TSS description includes the correct MAC function: If an HMAC-hash is used in the randomness extraction step, then the same HMAC- hash (with the same hash function hash) is used as the PRF in the key expansion step. If an AES-CMAC (with key length 128, 192, or 256 bits) is used in the randomness extraction step, then AES-CMAC with a 128-bit key is used as the PRF in the key expansion step. The description must include the lengths of the salt values being used in the randomness extraction step and the evaluator shall verify the TSS description includes correct salt lengths: If an HMAC-hash is being used as the MAC, the salt length can be any value up to the maximum bit length permitted for input to the hash function hash. If an AES-CMAC is being used as the MAC, the salt length shall be the same length as the AES key (i.e. 128, 192, or 256 bits). Guidance The evaluator shall verify that the AGD instructs the administrator how to configure the TOE to use the selected key types for all uses identified in the ST. KMD The evaluator shall examine the KMD to ensure that: The KMD describes the complete key derivation chain and the description must be consistent with the description in the TSS. For all key derivations the TOE must use a method as described in the PP table. There should be no uncertainty about how a key is derived from another in the chain. The length of the key derivation key is defined by the PRF. The evaluator should check whether the key derivation key length is consistent with the length provided by the selected PRF. If a key is used as an input to several KDFs, each invocation must use a distinct context string. If the output of a KDF execution is used for multiple cryptographic keys, those keys must be disjoint segments of the output. If keys are combined, the ST Author shall describe which method of combination is used in order to justify that the effective entropy of each factor is preserved. Tests The following tests require the developer to provide access to a test platform that provides the evaluator with tools that are typically not found on factory products. The evaluator shall perform one or more of the following tests to verify the correctness of the key derivation function, depending on the specific functions that are supported: Preconditions for testing: Specification of input parameter to the key derivation function to be tested Specification of further required input parameters Access to derived keys The following table maps the data fields in the tests below to the notations used in SP 800-108 and SP 800-56C Data Fields Notations SP 800-108 SP 800-56C Pseudorandom function PRF PRF Counter length r r Length of output of PRF r r Length of derived keying material L L Length of input values I_length I_length Pseudorandom input values I K1 (key derivation key) Z (shared secret) Pseudorandom salt values S Randomness extraction MAC n/a MAC The below tests are derived from Key Derivation using Pseudorandom Functions (SP 800-108) Validation System (KBKDFVS), Updated 4 January 2016, Section 6.2, from the National Institute of Standards and Technology. KDF-CTR: Counter Mode Tests: The evaluator shall determine the following characteristics of the key derivation function: One or more pseudorandom functions that are supported by the implementation (PRF). One or more of the values {8, 16, 24, 32} that equal the length of the binary representation of the counter (r). The length (in bits) of the output of the PRF (h). Minimum and maximum values for the length (in bits) of the derived keying material (L). These values can be equal if only one value of L is supported. These must be evenly divisible by h. Up to two values of L that are NOT evenly divisible by h. Location of the counter relative to fixed input data: before, after, or in the middle. Counter before fixed input data: fixed input data string length (in bytes), fixed input data string value. Counter after fixed input data: fixed input data string length (in bytes), fixed input data string value. Counter in the middle of fixed input data: length of data before counter (in bytes), length of data after counter (in bytes), value of string input before counter, value of string input after counter. The length (I_length) of the input values I. For each supported combination of I_length, MAC, salt, PRF, counter location, value of r, and value of L, the evaluator shall generate 10 test vectors that include pseudorandom input values I, and pseudorandom salt values. If there is only one value of L that is evenly divisible by h, the evaluator shall generate 20 test vectors for it. For each test vector, the evaluator shall supply this data to the TOE in order to produce the keying material output. The results from each test may either be obtained by the evaluator directly or by supplying the inputs to the implementer and receiving the results in response. To determine correctness, the evaluator shall compare the resulting values to those obtained by submitting the same inputs to a known good implementation. KDF-FB: Feedback Mode Tests: The evaluator shall determine the following characteristics of the key derivation function: One or more pseudorandom functions that are supported by the implementation (PRF). The length (in bits) of the output of the PRF (h). Minimum and maximum values for the length (in bits) of the derived keying material (L). These values can be equal if only one value of L is supported. These must be evenly divisible by h. Up to two values of L that are NOT evenly divisible by h. Whether or not zero-length IVs are supported. Whether or not a counter is used, and if so: One or more of the values {8, 16, 24, 32} that equal the length of the binary representation of the counter (r). Location of the counter relative to fixed input data: before, after, or in the middle. Counter before fixed input data: fixed input data string length (in bytes), fixed input data string value. Counter after fixed input data: fixed input data string length (in bytes), fixed input data string value. Counter in the middle of fixed input data: length of data before counter (in bytes), length of data after counter (in bytes), value of string input before counter, value of string input after counter. The length (I_length) of the input values L. For each supported combination of I_length, MAC, salt, PRF, counter location (if a counter is used), value of r (if a counter is used), and value of L, the evaluator shall generate 10 test vectors that include pseudorandom input values I and pseudorandom salt values. If the KDF supports zero-length IVs, five of these test vectors will be accompanied by pseudorandom IVs and the other five will use zero-length IVs. If zero-length IVs are not supported, each test vector will be accompanied by an pseudorandom IV. If there is only one value of L that is evenly divisible by h, the evaluator shall generate 20 test vectors for it. For each test vector, the evaluator shall supply this data to the TOE in order to produce the keying material output. The results from each test may either be obtained by the evaluator directly or by supplying the inputs to the implementer and receiving the results in response. To determine correctness, the evaluator shall compare the resulting values to those obtained by submitting the same inputs to a known good implementation. KDF-DPI: Double Pipeline Iteration Mode Tests: The evaluator shall determine the following characteristics of the key derivation function: One or more pseudorandom functions that are supported by the implementation (PRF). The length (in bits) of the output of the PRF (h). Minimum and maximum values for the length (in bits) of the derived keying material (L). These values can be equal if only one value of L is supported. These must be evenly divisible by h. Up to two values of L that are NOT evenly divisible by h. Whether or not a counter is used, and if so: One or more of the values {8, 16, 24, 32} that equal the length of the binary representation of the counter (r). Location of the counter relative to fixed input data: before, after, or in the middle. Counter before fixed input data: fixed input data string length (in bytes), fixed input data string value. Counter after fixed input data: fixed input data string length (in bytes), fixed input data string value. Counter in the middle of fixed input data: length of data before counter (in bytes), length of data after counter (in bytes), value of string input before counter, value of string input after counter. The length (I_length) of the input values I. For each supported combination of I_length, MAC, salt, PRF, counter location (if a counter is used), value of r (if a counter is used), and value of L, the evaluator shall generate 10 test vectors that include pseudorandom input values I, and pseudorandom salt values. If there is only one value of L that is evenly divisible by h, the evaluator shall generate 20 test vectors for it. For each test vector, the evaluator shall supply this data to the TOE in order to produce the keying material output. The results from each test may either be obtained by the evaluator directly or by supplying the inputs to the implementer and receiving the results in response. To determine correctness, the evaluator shall compare the resulting values to those obtained by submitting the same inputs to a known good implementation. KDF-XOR: Intermediate Keys Method If the selected algorithm is a hash, then the testing of the hash primitive is the only required Evaluation Activity. If the selected algorithm is XOR, then no separate primitive testing is necessary. KDF-ENC: Two Keys Method The evaluator should confirm that the combined length of the two keys should be at least as long as the key size of the selected methods. There are no other tests other than for the methods selected for this row from FCD_COP.1/SK. KDF-HASH: Shared Secret, Salt, Output Length, Fixed Information Method For each supported selection of PRF, length of shared secret (Z) [selection: 128, 256] bits, length of salt (S) [selection: length of input block of PRF, one-half length of input block of PRF, 0] bits, output length (L) [selection: 128, 256] bits, and length of fixed information (FixedInfo) [selection: length of input block of PRF, one-half length of input block of PRF, 0] bits, the evaluator shall generate 10 test vectors that include pseudorandom input values for Z, salt values (for non-zero lengths, otherwise, omit) and fixed information (for non-zero lengths, otherwise, omit). For each test vector, the evaluator shall supply this data to the TOE in order to produce the keying material output. The results from each test may either be obtained by the evaluator directly or by supplying the inputs to the implementer and receiving the results in response. To determine correctness, the evaluator shall compare the resulting values to those obtained by submitting the same inputs to a known good implementation. KDF-MAC: Shared Secret, Salt, IV, Output Length, Fixed Information Method For each supported selection of PRF, length of shared secret (Z), length of salt, length of initialization vector (IV), output length (L), and length of fixed information (FixedInfo), the evaluator shall generate 10 test vectors that include pseudorandom input values for Z, salt values (for non-zero lengths, otherwise, omit), IV (for non-zero lengths, otherwise, use a vector of length equal to length of input block of PRF and fill with zeros), and fixed information (for non-zero lengths, otherwise, omit). For each test vector, the evaluator shall supply this data to the TOE in order to produce the keying material output. The results from each test may either be obtained by the evaluator directly or by supplying the inputs to the implementer and receiving the results in response. To determine correctness, the evaluator shall compare the resulting values to those obtained by submitting the same inputs to a known good implementation. FCS_ENT_EXT.1 Entropy for Tenant Software FCS_ENT_EXT.1.1 The TSF shall provide one or more mechanisms to make entropy that meets FCS_RBG_EXT.1 available to tenant software. Application Note: This SFR must be included in the ST if the TOE provides an entropy source accessible to tenant software. This requirement ensures that the TOE makes available sufficient entropy to any tenant that requires it. Every entropy source need not provide high-quality entropy, but tenant software must have a means of acquiring sufficient entropy. Evaluation Activities FCS_ENT_EXT.1 TSS The evaluator shall verify that the TSS documents the entropy sources implemented by the TOE. It is not necessary to document all the platform features that can be used by tenant software to contribute to entropy, rather only those features expressly provided as entropy sources. Guidance The evaluator shall examine the AGD to ensure that it describes how to configure entropy sources (if applicable) and how tenant software can access the sources. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall perform the following test: The evaluator shall invoke the entropy source(s) from tenant software. The evaluator shall verify that the tenant acquires values from the interface. FCS_SLT_EXT.1 Cryptographic Salt Generation FCS_SLT_EXT.1.1 The TSF shall use salts and nonces generated by an RBG as specified in FCS_RBG_EXT.1. Application Note: This SFR must be included in the ST if it is a service provided by the TOE to tenant software, or if it is used by the TOE itself to support or implement PP-specified security functionality. Evaluation Activities FCS_SLT_EXT.1 TSS The evaluator shall ensure the TSS describes how salts are generated using the RBG. Guidance There are no AGD evaluation activities for this component. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall confirm by testing that the salts obtained in the cryptographic operations that use the salts are of the length specified in FCS_SLT_EXT.1, are obtained from the RBG, and are fresh on each invocation. This testing may be carried out as part of the testing for the relevant cryptographic operations. FCS_STG_EXT.1 Protected Storage FCS_STG_EXT.1.1 The TSF shall provide [selection: mutable hardware-based, immutable hardware-based, software-based] protected storage for asymmetric private keys and [selection: symmetric keys, persistent secrets, no other keys]. Application Note: This SFR should be included in the ST if the TOE provides protected storage as a service for tenant software, or if it stores keys or other persistent secrets for its own use. This SFR must be claimed if the TOE includes a Dedicated Security Component that provides storage services, such as a TPM. If the protected storage is implemented in software that is protected as required by FCS_STG_EXT.2, the ST Author is expected to select "software-based." If "software-based" is selected, the ST Author is expected to select "software-based key storage" in FCS_STG_EXT.2 and also claim FCS_STG_EXT.3. If this SFR is included in the ST, then FCS_CKM.4 must also be claimed. FCS_STG_EXT.1.2 The TSF shall support the capability of [selection: importing keys/secrets into the TOE, causing the TOE to generate [selection: asymmetric, symmetric]keys/secrets ] upon request of [selection: a client application, an administrator]. Application Note: If "causing the TOE to generate keys/secrets" is selected in FCS_STO_EXT.1.2, then the ST must include at least one of FCS_CKM.1/AK or FCS_CKM.1/SK depending on the value of the internal selection. FCS_STG_EXT.1.3 The TSF shall be capable of destroying keys/secrets in the protected storage upon request of [selection: a client application, an administrator]. Evaluation Activities FCS_STG_EXT.1 TSS The evaluator shall review the TSS to determine that the TOE implements the required protected storage. The evaluator shall ensure that the TSS contains a description of the protected storage mechanism that justifies the selection of mutable hardware-based or software- based. Guidance The evaluator shall examine the AGD to ensure that it describes the process for generating keys, importing keys, or both, based on what is claimed by the ST. The evaluator shall also examine the AGD to ensure that it describes the process for destroying keys that have been imported or generated. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall test the functionality of each security function as described below. If the TOE supports both import and generation of keys, the evaluator shall repeat the testing as needed to demonstrate that the keys resulting from both operations are treated in the same manner. The devices used with the tooling may need to be non-production devices in order to enable the execution of testing and gathering of evidence. Test 1: The evaluator shall import or generate keys/secrets of each supported type according to the operational guidance. The evaluator shall write, or the developer shall provide access to, an application that generates a key/secret of each supported type and calls the import functions. The evaluator shall verify that no errors occur during import. Test 2: The evaluator shall write, or the developer shall provide access to, tenant software that uses a generated or imported key/secret: For RSA, the secret shall be used to sign data. For ECDSA, the secret shall be used to sign data. The evaluator shall verify that the tenant software is able to access and use the key/secret as described. Test 3: The evaluator shall destroy keys/secrets of each supported type according to the operational guidance. The evaluator shall write, or the developer shall provide access to, tenant software that destroys an imported or generated key/secret. The evaluator shall verify that the tenant software is able to cause the deletion of only keys that were created or imported on its behalf. A.1.3 Class: User Data Protection (FDP) FDP_TEE_EXT.1 Trusted Execution Environment for Tenant Software FDP_TEE_EXT.1.1 The TSF shall implement a trusted execution environment that conforms to the following standard: [Advanced Trusted Environment: OMTP TR1 v1.1] and make this TEE available to tenant software. Application Note: This SFR should be claimed in the ST if the TOE includes a trusted execution environment for the use of tenant software. Evaluation Activities FDP_TEE_EXT.1 TSS The evaluator shall examine the TSS to ensure that it describes the protections provided by the TOE's TEE implementation. Guidance The evaluator shall examine the AGD to ensure that it describes the steps required for tenant software to invoke the TEE. KMD There are no KMD evaluation activities for this component. Tests There are no Test evaluation activities for this component. A.1.4 Class: Identification and Authentication (FIA) FIA_TRT_EXT.1 Authentication Throttling FIA_TRT_EXT.1.1 The TSF shall limit automated user authentication attempts by [selection: preventing authentication via an external port, enforcing a delay between incorrect authentication attempts] for all authentication mechanisms selected in FIA_UAU.5.1. FIA_TRT_EXT.1.2 The minimum delay between incorrect authentication attempts shall be such that no more than 10 attempts can be attempted per 500 milliseconds. Application Note: This SFR should be included in the ST if the TOE implements a mechanism for limiting the number or frequency of Administrator authentication attempts. The authentication throttling applies to all authentication mechanisms selected in FIA_UAU.5.1. The user authentication attempts in this requirement are attempts to guess the Authentication Factor. The developer can implement the timing of the delays in the requirements using unequal or equal timing of delays. The minimum delay specified in this requirement provides defense against brute forcing. Evaluation Activities FIA_TRT_EXT.1 TSS The evaluator shall verify that the TSS describes the method by which authentication attempts are not able to be automated. The evaluator shall ensure that the TSS describes either how the TSF disables authentication via external interfaces (other than the ordinary user interface) or how authentication attempts are delayed in order to slow automated entry and shall ensure that no more than 10 attempts can be attempted per 500 milliseconds for all authentication mechanisms selected in FIA_UAU.5.1. Guidance There are no AGD evaluation activities for this component. KMD There are no KMD evaluation activities for this component. Tests There are no test evaluation activities for this component. A.2 Objective Requirements A.2.1 Auditable Events for Objective Requirements Table 7: Auditable Events for Objective Requirements Requirement Auditable Events Additional Audit Record Contents FPT_ROT_EXT.3 Detection of attempted intrusion. None. A.2.2 Class: Protection of the TSF (FPT) FPT_ROT_EXT.3 Hardware component integrity FPT_ROT_EXT.3.1 Outside of the integrity root specified in FPT_ROT_EXT.1, the integrity of [assignment: critical platform hardware components] shall be verified prior to execution or use through: [assignment: method for ensuring integrity of platform hardware components]. Application Note: The purpose of this objective requirement is to encourage platform and component vendors to adopt mechanisms similar to those defined in upcoming NIST SP 1800-34 for ensuring the integrity of the hardware supply chain. The scope of SP 1800-34 is to cover "manufacturing and OEM processes that protect against counterfeits, tampering, and insertion of unexpected software and hardware, and the corresponding customer processes that verify that client and server computing devices and components have not been tampered with or otherwise modified. Manufacturing processes that cannot be verified by the customer are explicitly out of scope." As a basic step, SP 1800-34 specifies that critical platform components should include immutable hardware IDs that can be listed in a hardware component manifest that is provided to the purchaser and signed by the manufacturer. It should then be possible for the TOE to verify the signature on the manifest and check that each hardware ID in the manifest matches the IDs in the actual hardware. The component manifest and hardware IDs provide proof of provenance for the TOE and its hardware components. For purposes of this requirement, hardware identities can be verified once on first boot, on every boot, when new hardware is detected, or during normal operation of the platform - as long as the hardware integrity is verified before the component or device is used. The ST Author lists the hardware components for which the integrity is checked, and the methods used for conducting the checks. "Critical components" generally would include chassis, motherboards, CPUs, network cards, memory chips, hard drives, controllers, graphics processors, and service controllers. FPT_ROT_EXT.3.2 The TOE shall take the following actions if an integrity check specified in FPT_ROT_EXT.3.1 fails: 1. Halt, 2. Notify an [selection: Administrator, User] by [selection: generating an audit event, [assignment: other notification method(s)]], and 3. [selection, choose one of: Stop all execution and shut down, Continue execution without the integrity-compromised component, Continue execution ] [selection, choose one of: in accordance with administrator-configurable policy, by express determination of an [selection: Administrator, User] ]. Application Note: Notification of an administrator can take many forms. For server-class platforms, such notification could take the form of administrator alerts or audit events. For platforms without management controllers, notification could be achieved, for example, by blinking lights, beep codes, screen indications, or local logging. If "administrator" is selected anywhere in FPT_ROT_EXT.3.2, or if "in accordance with administrator-configurable policy" is selected, then all administrator authentication requirements must be included in the ST (FIA_UIA_EXT.1, FIA_UAU.5, FIA_PMG_EXT.1, FIA_AFL_EXT.1, FIA_UAU.7). If "generating an audit event" is selected, then FAU_GEN.1, FAU_SAR.1, FAU_STG.1, FAU_STG.4, and FAU_STG_EXT.1 must be included in the ST. If "in accordance with administrator-configurable policy" is selected, then FMT_MOF_EXT.1 and FMT_SMF.1 must be claimed in the ST. Evaluation Activities FPT_ROT_EXT.3 TSS The evaluator shall verify that the TSS describes the means by which integrity of platform hardware and firmware is maintained from TOE manufacture to delivery of the TOE to its operational site. The TSS shall also describe how the TOE responds to failure of an integrity check consistent with the selections in FPT_ROT_EXT.3.2. Guidance The evaluator shall examine the AGD to ensure that it describes the actions taken and notification methods used in case of detection of a platform integrity violation. If the actions are configurable, the AGD shall explain how they are configured. KMD There are no KMD evaluation activities for this component. Tests There are no tests for this requirement. A.3 Implementation-Based Requirements This PP does not define any Implementation-Based requirements. Appendix B - Selection-Based Requirements As indicated in the introduction to this PP, the baseline requirements (those that must be performed by the TOE or its underlying platform) are contained in the body of this PP. There are additional requirements based on selections in the body of the PP: if certain selections are made, then additional requirements below must be included. B.1 Auditable Events for Selection-Based Requirements Table 8: Auditable Events for Selection-based Requirements Requirement Auditable Events Additional Audit Record Contents FAU_GEN.1 No events specified. N/A FAU_STG.1 No events specified. N/A FAU_STG.4 No events specified. N/A FAU_STG_EXT.1 On failure of logging function, capture record of failure and record upon restart of logging function. None. FCS_CKM.1/AK No events specified. N/A FCS_CKM.1/SK No events specified. N/A FCS_CKM.2 No events specified. N/A FCS_CKM.4 No events specified. N/A FCS_CKM_EXT.4 No events specified. N/A FCS_COP.1/Hash No events specified. N/A FCS_COP.1/KeyedHash No events specified. N/A FCS_COP.1/KAT No events specified. N/A FCS_COP.1/SigGen No events specified. N/A FCS_COP.1/SigVer No events specified. N/A FCS_COP.1/SKC No events specified. N/A FCS_HTTPS_EXT.1 Failure to establish a HTTPS Session. Reason for failure. Non-TOE endpoint of connection (IP address) for failures. FCS_HTTPS_EXT.1 Establishment/Termination of a HTTPS session. Non-TOE endpoint of connection (IP address). FCS_IPSEC_EXT.1 Failure to establish an IPsec SA. Reason for failure. Non-TOE endpoint of connection (IP address). FCS_IPSEC_EXT.1 Establishment/Termination of an IPsec SA. Non-TOE endpoint of connection (IP address). FCS_RBG_EXT.1 Failure of the randomization process None. FDP_ITC_EXT.1 No events specified. N/A FIA_AFL_EXT.1 Failed attempt at Administrator authentication. None. FIA_PMG_EXT.1 No events specified. N/A FIA_UAU.5 No events specified. N/A FIA_UAU.7 No events specified. N/A FIA_UIA_EXT.1 All use of the identification and authentication mechanism. Provided user identity, origin of the attempt (e.g. console, remote IP address). FIA_X509_EXT.1 Failure to validate a certificate. Reason for failure. FIA_X509_EXT.2 No events specified. N/A FPT_JTA_EXT.2 No events specified. N/A FPT_PHP.1 Detection of intrusion. None. FPT_PHP.2 Detection of intrusion. None. FPT_PHP.3 Detection of attempted intrusion. None. FPT_RVR_EXT.1 No events specified. N/A FPT_TUD_EXT.2 [selection: Failure of update authentication/integrity check/rollback, None]. Version numbers of the current firmware and of the attempted update. FPT_TUD_EXT.2 [selection: Failure of update operation, None]. Version numbers of the current firmware and of the attempted update. FPT_TUD_EXT.2 [selection: Success of update operation, None]. Version numbers of the new and old firmware images. FPT_TUD_EXT.3 [selection: Failure of update authentication/integrity/rollback check, None]. Version numbers of the current firmware and of the attempted update. FPT_TUD_EXT.3 [selection: Failure of update operation, None]. Version numbers of the current firmware and of the attempted update. FPT_TUD_EXT.3 [selection: Success of update operation, None]. Version numbers of the new and old firmware images. FPT_TUD_EXT.4 No events specified. N/A FTP_ITC_EXT.1 Initiation of the trusted channel. User ID and remote source (IP Address) if feasible. FTP_ITC_EXT.1 Termination of the trusted channel. User ID and remote source (IP Address) if feasible. FTP_ITC_EXT.1 Failures of the trusted path functions. User ID and remote source (IP Address) if feasible. FTP_ITE_EXT.1 No events specified. N/A FTP_ITP_EXT.1 No events specified. N/A FTP_TRP.1 Initiation of the trusted channel. Administrator ID and remote source (IP Address), if feasible. FTP_TRP.1 Termination of the trusted channel. Administrator ID and remote source (IP Address), if feasible. FTP_TRP.1 Failures of the trusted path functions. User ID and remote source (IP Address), if feasible. B.2 Class: Security Audit (FAU) FAU_GEN.1 Audit Data Generation The inclusion of this selection-based component depends upon selection in FPT_ROT_EXT.2.2, FPT_ROT_EXT.3.2, FPT_TUD_EXT.2.5, FPT_TUD_EXT.3.4. This component must also be included in the ST if any of the following use cases are selected: Server-Class Platform, Basic Server-Class Platform, Enhanced CSfC EUD Enterprise Desktop clients FAU_GEN.1.1 The TSF shall be able to generate an audit record of the following auditable events: 1. Start-up and shutdown of the audit functions 2. All administrative actions 3. Start-up, shutdown, and reboot of the platform 4. Specifically defined auditable events in Table 2 5. [selection: Specifically defined auditable event in Table 5 for Strictly Optional requirements, Specifically defined auditable event in Table 7 for Objective requirements, Specifically defined auditable event in Table 8 for Selection-based requirements, Additional information for the Functional Package for Transport Layer Security (TLS), version 1.1 listed in Table 9, Additional information defined in the audit table for the Functional Package for Secure Shell (SSH), version 1.0, no additional auditable events ]. FAU_GEN.1.2 The TSF shall record within each audit record at least the following information: a. Date and time of the event b. Type of event c. Subject and object identity (if applicable) d. The outcome (success or failure) of the event e. [Additional information defined in Table 2] f. [selection: Additional information defined in Table 5 for Strictly Optional SFRs, Additional information defined in Table 7 for Objective SFRs, Additional information defined in Table 8 for Selection-Based SFRs, Additional information for the Functional Package for Transport Layer Security (TLS), version 1.1 listed in Table 9, Additional information defined in the audit table for the Functional Package for Secure Shell (SSH), version 1.0, no other information ]. Application Note: The ST Author should include this SFR in the ST if the TOE generates audit events for integrity verification or boot failures as indicated by the appropriate selections in FPT_ROT_EXT.2, FPT_ROT_EXT.3, FPT_TUD_EXT.2, or FPT_TUD_EXT.3.4; or if the TOE supports the Server (basic or enhanced), CSfC EUD, or Enterprise Desktop use cases. If this SFR is included in the ST, then all the other FAU SFRs must also be claimed. Appropriate entries from Table 5, Table 7, and Table 8 should be included in the ST if the associated SFRs and selections are included. The following table contains the events enumerated in the auditable events table for the TLS Functional Package. Inclusion of these events in the ST is subject to selection above, inclusion of the corresponding SFRs in the ST, and support in the Package as represented by a selection in the table below. Table 9: Auditable Events for the TLS Functional Package FCS_TLSC_EXT.1 Failure to establish a session. Reason for failure. FCS_TLSC_EXT.1 Failure to verify presented identifier. Presented identifier and reference identifier. FCS_TLSC_EXT.1 Establishment/termination of a TLS session. Non-TOE endpoint of connection. FCS_TLSS_EXT.1 Failure to establish a session. Reason for failure. FCS_DTLSC_EXT.1 Failure of the certificate validity check. Issuer Name and Subject Name of certificate. FCS_DTLSS_EXT.1 Failure of the certificate Issuer Name and Subject validity check. Name of certificate. Evaluation Activities FAU_GEN.1 TSS The evaluator shall check the TSS and ensure that it lists all of the auditable events and provides a format for audit records. Each audit record format type shall be covered, along with a brief description of each field. Guidance The evaluator shall also make a determination of the administrative actions that are relevant in the context of this PP. The evaluator shall examine the AGD and make a determination of which administrative commands, including subcommands, scripts, and configuration files, are related to the configuration (including enabling or disabling) of the mechanisms implemented in the TOE that are necessary to enforce the requirements specified in the PP. The evaluator shall document the methodology or approach taken while determining which actions in the AGD are security-relevant with respect to this PP. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall test the TOE’s ability to correctly generate audit records by having the TOE generate audit records for the events listed and administrative actions. For administrative actions, the evaluator shall test that each action determined by the evaluator above to be security relevant in the context of this PP is auditable. When verifying the test results, the evaluator shall ensure the audit records generated during testing match the format specified in the administrative guide, and that the fields in each audit record have the proper entries. Note that the testing here can be accomplished in conjunction with the testing of the security mechanisms directly. FAU_SAR.1 Audit Review This component must be included in the ST if any of the following SFRs are included: FAU_GEN.1 FAU_SAR.1.1 The TSF shall provide the Administrator with the capability to read all audited events and record contents from the audit records. FAU_SAR.1.2 The TSF shall provide the audit records in a manner suitable for the Administrator to interpret the information. Application Note: This SFR must be included in the ST if FAU_GEN.1 is claimed. Evaluation Activities FAU_SAR.1 TSS There are no TSS evaluation activities for this component. Guidance The evaluator shall review the AGD for the procedure on how to review the audit records. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall verify that the audit records provide all of the information specified in FAU_GEN.1 and that this information is suitable for human interpretation. The evaluation activity for this requirement is performed in conjunction with the evaluation activity for FAU_GEN.1. FAU_STG.1 Protected Audit Trail Storage This component must be included in the ST if any of the following SFRs are included: FAU_GEN.1 FAU_STG.1.1 The TSF shall protect the stored audit records in the audit trail from unauthorized deletion. FAU_STG.1.2 The TSF shall be able to prevent unauthorized modifications to the stored audit records in the audit trail. Application Note: This SFR must be included in the ST if FAU_GEN.1 is claimed. Evaluation Activities FAU_STG.1 TSS The evaluator shall ensure that the TSS lists the locations of all logs and the access controls of those files such that unauthorized modification and deletion are prevented. Guidance The evaluator shall ensure that the AGD describes the steps necessary for an authorized administrator to delete audit records, if such a capability is implemented. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall perform the following tests: Test 1: [conditional] If the TOE implements an audit record deletion capability, then the evaluator shall attempt to delete the audit trail in a manner that the access controls should prevent (as an unauthorized user) and shall verify that the attempt fails. Test 2: The evaluator shall attempt to modify the audit trail in a manner that the access controls should prevent (as an unauthorized application) and shall verify that the attempt fails. FAU_STG.4 Prevention of Audit Data Loss This component must be included in the ST if any of the following SFRs are included: FAU_GEN.1 FAU_STG.4.1 The TSF shall overwrite the oldest stored audit records if the audit trail is full. Application Note: This SFR must be included in the ST if FAU_GEN.1 is claimed. Evaluation Activities FAU_STG.4 TSS The evaluator shall examine the TSS to ensure that it describes the size limits on the audit records, the detection of a full audit trail, and the action(s) taken by the TSF when the audit trail is full. The evaluator shall ensure that the action(s) results in the deletion or overwrite of the oldest stored record. Guidance The evaluator shall examine the AGD to ensure that it describes the means used by the TOE to indicate that the audit trail is full and overwrite is about to commence. KMD There are no KMD evaluation activities for this component. Tests The evaluator shall cause audit records to be written until the size limits are met and exceeded. The evaluator shall verify that the overwrite function works as described in the TSS and that the indication of full audit trail is evident as described in the AGD. FAU_STG_EXT.1 Off-Loading of Audit Data This component must be included in the ST if any of the following SFRs are included: FAU_GEN.1 FAU_STG_EXT.1.1 The TSF shall be able to transfer generated audit data to an external IT entity using [selection: a trusted channel as specified in FTP_ITC_EXT.1, removable media requiring physical access to the platform ]. Application Note: The ST Author must select "trusted channel" and include FTP_ITC_EXT.1 in the ST if the TOE offloads audit data to external IT entity over a network connection. Protocols used for implementing the trusted channel must be selected in FTP_ITC_EXT.1. The ST Author must select "removable media" if the TOE supports offload of audit data using removable media such as thumb drives or disks. Evaluation Activities FAU_STG_EXT.1.1 TSS The evaluator shall examine the TSS to ensure it describes the means by which the audit data are transferred to the external audit server. Guidance If "trusted channel" is selected above, the evaluator shall examine the AGD to ensure it describes how to establish the trusted channel to the audit server, as well as describe any requirements on the audit server (particular audit server protocol, version of the protocol required, etc.), as well as configuration of the TOE needed to communicate with the audit server. Furthermore, it must describe whether the transfer mechanism is periodic or continuous, and what happens in the event of a loss of connectivity. If "removable media" is selected, the evaluator shall ensure that the AGD describes the process for accessing audit data and copying it to media. The AGD must also include high-level guidance on how frequently this operation may need to be done to minimize risk of data loss. KMD There are no KMD evaluation activities for this component. Tests If "trusted channel" is selected above, testing of the trusted channel mechanism itself is to be performed as specified in the evaluation activities for FTP_ITC_EXT.1. In addition, the evaluator must perform the following test: The evaluator shall establish a session between the TOE and the audit server according to the configuration guidance provided. The evaluator shall then examine the traffic that passes between the audit server and the TOE during several activities of the evaluator’s choice designed to generate audit data to be transferred to the audit server. The evaluator shall observe that these data are not able to be viewed in the clear during this transfer, and that they are successfully received by the audit server. The evaluator shall record the particular software (name, version) used on the audit server during testing. If "removable media" is selected above, the evaluator must run the system for a time long enough to generate some audit data and then collect audit data onto removable media for transfer to another machine. On another machine, the evaluator shall examine the audit data to ensure that it appears to be complete and correct. This test may be performed in conjunction with any other requirement that generates audit events. B.3 Class: Cryptographic Support (FCS) FCS_CKM.1/AK Cryptographic Key Generation (Asymmetric Keys) The inclusion of this selection-based component depends upon selection in FCS_STG_EXT.1.2. This component must be included in the ST if any of the following SFRs are included: FCS_IPSEC_EXT.1 This component may also be included in the ST as if optional. FCS_CKM.1.1/AK The TSF shall generate asymmetric cryptographic keys in accordance with a specified cryptographic key generation algorithm [selection: Cryptographic key generation algorithm ] and specified cryptographic key sizes [selection: Cryptographic key sizes] that meet the following: [selection: List of standards] Table 10: Choices for completion of the selection operations in FCS_CKM.1.1/AK Cryptographic key generation algorithm Cryptographic key sizes List of standards RSA [selection: 2048 bit, 3072-bit] FIPS PUB 186-4 sec. B.3 [key generation] ECC-N [selection: 256 (P-256), 384 (P-384), 521 (P-521)] FIPS PUB 186-4 sec. D.1.2 [NIST curves] FIPS PUB 186-4 sec. B.4 [key generation] ECC-B [selection: 256 (brainpoolP256r1), 384 (brainpoolP384r1), 512 (brainpoolP512r1)] RFC 5639 sec. 3 [Brainpool Curves] FIPS PUB 186-4 sec. B.4 [key generation] DSA DSA Bit lengths of p and q respectively (L, N) [selection: (2048, 224), (2048, 256), (3027, 256)] FIPS PUB 186-4 sec. B.1 [key generation] Curve25519 256 bits RFC 7748 [Curve25519] FIPS PUB 186-4 sec. B.4 [key generation] Application Note: This SFR must be included in the ST if asymmetric key generation is a service provided by the TOE to tenant software, or if it is used by the TOE itself to support or implement PP-specified security functionality. Also, this SFR must be included in the ST if FCS_IPSEC_EXT.1 is claimed, or if "causing the TOE to generate [asymmetric] keys/secrets" is selected in FCS_STG_EXT.1.2. If this SFR is included in the ST, then FCS_CKM.4 and FCS_RBG_EXT.1 must also be claimed. DSA will be deprecated by FIPS PUB 186-5, when published. DSA keys of size (1024, 160) were deprecated by FIPS PUB 186-4 though that size is still allowed for signature verification. For Curve25519, see also, final draft NIST FIPS PUB 186-5, Oct 2019. Evaluation Activities FCS_CKM.1/AK TSS The evaluator shall examine the TSS to verify that it describes how the TOE generates an asymmetric key based on the methods selected from Table 10. The evaluator shall examine the TSS to verify that it describes how the TOE invokes the methods selected in the ST from the table. The evaluator shall examine the TSS to verify that it identifies the usage for each row identifier (key type, key size, and list of standards) selected in the ST. Guidance The evaluator shall verify that the AGD guidance instructs the administrator how to configure the TOE to use the selected key types for all uses identified in the ST. KMD If the TOE uses the generated key in a key chain/hierarchy, then the evaluator shall confirm that the KMD describes: If "RSA" is selected, then the KMD describes which methods for generating p and q are used How the key is used as part of the key chain/hierarchy. Tests The following tests require the developer to provide access to a test platform that provides the evaluator with tools that are typically not found on factory products. RSA: RSA Key Generation The below tests are derived from The 186-4 RSA Validation System (RSA2VS), Updated 8 July 2014, Section 6.2, from the National Institute of Standards and Technology. The evaluator shall verify the implementation of RSA Key Generation by the TOE using the Key Generation test. This test verifies the ability of the TSF to correctly produce values for the key components including the public verification exponent e, the private prime factors p and q, the public modulus n and the calculation of the private signature exponent d. FIPS PUB 186-4 Key Pair generation specifies 5 methods for generating the primes p and q. These are: 1. Random Primes: Provable primes Probable primes 2. Primes with Conditions: Primes p1, p2, q1, q2, p and q shall all be provable primes. Primes p1, p2, q1, and q2 shall be provable primes and p and q shall be probable primes Primes p1, p2, q1, q2, p and q shall all be probable primes. To test the key generation method for the Random Provable primes method and for all the Primes with Conditions methods, the evaluator must seed the TSF key generation routine with sufficient data to deterministically generate the RSA key pair. For each key length supported, the evaluator shall have the TSF generate 25 key pairs. The evaluator shall verify the correctness of the TSF’s implementation by comparing values generated by the TSF with those generated by a known good implementation using the same input parameters. If the TOE generates Random Probable Primes, then if possible, the Random Probable primes method should also be verified against a known good implementation as described above. If verification against a known good implementation is not possible, the evaluator shall have the TSF generate 25 key pairs for each supported key length nlen and verify that all of the following are true: n = p*q p and q are probably prime according to Miller-Rabin tests with error probability <2^(-125) 2^16 < e < 2^256 and e is an odd integer GCD(p-1,e) = 1 GCD(q-1,e) = 1 |p-q| > 2^(nlen/2 - 100) p >= squareroot(2)*( 2^(nlen/2 -1) ) q >= squareroot(2)*( 2^(nlen/2 -1) ) 2^(nlen/2) < d < LCM(p-1,q-1) e*d = 1 mod LCM(p-1,q-1) ECC-N & ECC-B: ECC Key Generation with NIST and Brainpool Curves These tests are derived from The FIPS 186-4 Elliptic Curve Digital Signature Algorithm Validation System (ECDSA2VS), Updated 18 Mar 2014, Section 6. ECC Key Generation Test For each selected curve, and for each key pair generation method as described in FIPS PUB 186- 4, section B.4, the evaluator shall require the implementation under test to generate 10 private/public key pairs (d, Q). The private key, d, shall be generated using a random bit generator as specified in FCS_RBG_EXT.1. The private key, d, is used to compute the public key, Q’. The evaluator shall confirm that 0