Trusted Platform Module SLB9670_1.2 Security Target Version: 1.3 Date: 2017-07-14 Autor: Jürgen Noller PUBLIC Chip Card & Security Edition 1.3 Published by Infineon Technologies AG 81726 Munich, Germany © 2013 Infineon Technologies AG All Rights Reserved. Legal Disclaimer The information given in this document shall in no event be regarded as a guarantee of conditions or characteristics. With respect to any examples or hints given herein, any typical values stated herein and/or any information regarding the application of the device, Infineon Technologies hereby disclaims any and all warranties and liabilities of any kind, including without limitation, warranties of non-infringement of intellectual property rights of any third party. Information For further information on technology, delivery terms and conditions and prices, please contact the nearest Infineon Technologies Office (www.infineon.com). Warnings Due to technical requirements, components may contain dangerous substances. For information on the types in question, please contact the nearest Infineon Technologies Office. Infineon Technologies components may be used in life-support devices or systems only with the express written approval of Infineon Technologies, if a failure of such components can reasonably be expected to cause the failure of that life-support device or system or to affect the safety or effectiveness of that device or system. Life support devices or systems are intended to be implanted in the human body or to support and/or maintain and sustain and/or protect human life. If they fail, it is reasonable to assume that the health of the user or other persons may be endangered. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 3 of 67 Revision History Page or Item Subjects (major changes since previous revision) 0.1 2014-04-08 Initial version 1.0 2015-03-25 Final version 1.1 2016-03-08 Versions v6.41.0197.00 and v6.41.0198.00 added 1.2 2016-12-23 Version v6.42.0204.00 and v6.42.0205.00 added 1.3 2017-07-14: New software versions added Trademarks of Infineon Technologies AG AURIX, C166, CROSSAVE, CanPAK, CIPOS, CoolGaN, CoolMOS, CoolSET, CoolSiC, CORECONTROL, DAVE, DI-POL, DrBLADE, EasyPIM, EconoBRIDGE, EconoDUAL, EconoPACK, EconoPIM, EiceDRIVER, eupec, FCOS, HITFET, HybridPACK, ISOFACE, IsoPACK, MIPAQ, ModSTACK, my-d, NovalithIC, OmniTune, OPTIGA, OptiMOS, ORIGA, POWERCODE, PRIMARION, PrimePACK, PrimeSTACK, PROFET, PRO-SIL, RASIC, REAL3, ReverSave, SatRIC, SIEGET, SIPMOS, SmartLEWIS, SOLID FLASH, SPOC, TEMPFET, thinQ!, TRENCHSTOP, TriCore. Last Trademark Update 2015-03-03 Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 4 of 67 TABLE OF CONTENTS 1 SECURITY TARGET INTRODUCTION.....................................................................................................6 1.1 SECURITY TARGET AND TARGET OF EVALUATION REFERENCE................................................................6 1.2 TARGET OF EVALUATION OVERVIEW......................................................................................................9 2 TARGET OF EVALUATION DESCRIPTION ...........................................................................................10 2.1 TOE DEFINITION.................................................................................................................................10 2.2 SCOPE OF THE TOE............................................................................................................................18 2.2.1 Hardware of the TOE................................................................................................................18 2.2.2 Firmware of the TOE.................................................................................................................19 2.2.3 Guidance documentation..........................................................................................................20 2.2.4 Forms of delivery ......................................................................................................................20 2.2.5 Production sites ........................................................................................................................20 2.2.6 Life cycle of the TOE.................................................................................................................20 3 CONFORMANCE CLAIMS ......................................................................................................................21 3.1 CC CONFORMANCE CLAIM ..................................................................................................................21 3.2 PP CLAIM ...........................................................................................................................................21 3.3 PACKAGE CLAIM .................................................................................................................................21 3.4 CONFORMANCE CLAIM RATIONALE ......................................................................................................21 3.5 APPLICATION NOTES...........................................................................................................................22 4 SECURITY PROBLEM DEFINITION.......................................................................................................23 4.1 THREATS............................................................................................................................................23 4.2 ORGANISATIONAL SECURITY POLICIES.................................................................................................23 4.3 ASSUMPTIONS ....................................................................................................................................23 5 SECURITY OBJECTIVES........................................................................................................................24 5.1 SECURITY OBJECTIVES FOR THE TOE .................................................................................................24 5.2 SECURITY OBJECTIVES FOR THE OPERATIONAL ENVIRONMENT.............................................................24 5.3 SECURITY OBJECTIVES RATIONALE .....................................................................................................24 6 EXTENDED COMPONENTS DEFINITION..............................................................................................25 7 IT SECURITY REQUIREMENTS .............................................................................................................27 7.1 SECURITY FUNCTIONAL REQUIREMENTS FOR THE TOE ........................................................................27 7.1.1 Extended Component FCS_RNG.1..........................................................................................44 7.2 OBJECTS, SUBJECTS, USER ROLES AND OPERATIONS .........................................................................45 7.3 SECURITY ASSURANCE REQUIREMENTS...............................................................................................45 7.4 SECURITY REQUIREMENTS RATIONALE ................................................................................................47 8 TOE SUMMARY SPECIFICATION..........................................................................................................48 8.1 TOE SECURITY FEATURES..................................................................................................................48 8.1.1 SF_CRY - Cryptographic Support.............................................................................................48 8.1.2 SF_I&A - Authentication and Identification ...............................................................................49 8.1.3 SF_ACC – Access Control........................................................................................................50 8.1.4 SF_GEN – General...................................................................................................................52 8.1.5 SF_P&T – Protection and Test .................................................................................................53 8.1.6 Assignment of Security Functional Requirements ....................................................................55 8.2 SECURITY FUNCTION POLICY...............................................................................................................58 8.2.1 Operational roles.......................................................................................................................58 8.2.2 Subjects ....................................................................................................................................59 8.2.3 Objects, Operations and Security Attributes.............................................................................60 9 REFERENCE............................................................................................................................................61 9.1 LITERATURE .......................................................................................................................................61 9.2 LIST OF ABBREVIATIONS......................................................................................................................63 Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 5 of 67 9.3 GLOSSERY .........................................................................................................................................64 Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 6 of 67 1 Security Target Introduction This section contains the document management and provides an information overview. The Security Target (ST) identification provides the labelling and descriptive information necessary to identify, catalogue, register, and cross-reference a ST. The ST overview summarizes the profile in narrative form and provides sufficient information for a potential user to determine whether the ST is of interest. The overview can also be used as a standalone abstract for ST catalogues and registers. 1.1 Security Target and Target of Evaluation Reference The title of the security target (ST) is Security Target Trusted Platform Module SLB9670_1.2. The security target has the version 1.3 and is dated 2017-07-14. The Target of Evaluation (TOE) is a security IC (Security Controller) with integrated TPM operating system and guidance documentation, which is named Trusted Platform Module SLB9670_1.2, is internally registered under the version v6.43.0243.00 and v6.43.0244.00 and v6.43.0245.00 and v6.43.0246.00. The Security Target is based on the Trusted Computing Group Protection Profile PC Client Specific Trusted Platform Module Family 1.2; Level 2 Revision 116 Version: 1.3 (PP, [8]). The Protection Profile and the Security Target are built in accordance with Common Criteria V3.1. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 7 of 67 Version Date Registration Security Target 1.3 2017-07-14 Security Target Trusted Platform Module SLB9670_1.2 Target of Evaluation v6.43.0243.00, v6.43.0244.00, v6.43.0245.00, v6.43.0246.00 Trusted Platform Module SLB9670_1.2 Protection Profile 1.3 2014-07-14 Trusted Computing Group Protection Profile PC Client Specific Trusted Platform Module Family 1.2; Level 2, Revision 116 BSI-CC-PP-0030-2008-MA-02 Guidance Documentation V1.2 Rev. 116 V1.2 Rev. 116 V1.2 Rev. 116 Version 1.3 Rev. 1.9 Rev. 1.00 Rev. 1.9 2011-03-01 2011-03-01 2011-03-01 21 March 2013 2017-06-27 Edition 2014-09 2017-07-14 TPM Main Part 1 Design Principles, Specification Version 1.2 Revision 116, Trusted Computing Group TPM Main Part 2 TPM Structures Specification Version 1.2 Revision 116 Trusted Computing Group TPM Main Part 3 Commands Specification Version 1.2 Revision 116 Trusted Computing Group TCG PC Client Specific TPM Interface Specification (TIS) OPTIGATM TPM SLB 9670 TPM1.2 Databook TPM Trusted Platform Module Version 1.2 Application Note Basic Platform Manufacturer Guideline OPTIGATM TPM SLB 9670 TPM1.2 Errata and Updates Common Criteria 3.1 Rev 4 2012-09 Common Criteria for Information Technology Security Evaluation Part 1: Introduction and general model CCMB-2012-09-001 Part 2: Security functional requirements CCMB-2012-09-002 Part 3: Security Assurance Components CCMB-2012-09-003 Table 1: Identification Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 8 of 67 Remarks to the Target of Evaluation (TOE): The TOE of this Security Target encloses the following different versions: v6.43.0243.00 and v6.43.0244.00 and v6.43.0245.00 and v6.43.0246.00. All of these versions may include different derivatives. The hardware and software of these derivatives are identical, the only difference between the derivatives are the extended temperature range, the packaging and the own intermediated IFX certificate. The versions v6.43.0243.00 and v6.43.0244.00 and v6.43.0245.00 and v6.43.0246.00 including the identical source code, which the v6.43.0244.00 and v6.43.0245.00 and v6.43.0246.00 are used for field upgrade. The derivatives are listed in the document “OPTIGATM TPM SLB 9670 TPM1.2 Errata and Updates” [88] in section 6 “Sales Order Code”. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 9 of 67 1.2 Target of Evaluation Overview This Security Target (ST) describes the target of evaluation (TOE) known as the Trusted Platform Module SLB9670_1.2 and gives a summary product definition. In the following description the expressions SLB9670_1.2 or TPM stands for all the TOE derivatives of the TOE. The Trusted Platform Module SLB9670_1.2, called TPM or SLB9670_1.2 in the following text, is an integrated circuit and software platform that provides computer manufacturers with the core components of a subsystem used to assure authenticity, integrity and confidentiality in e- commerce and internet communications within a Trusted Computing Platform. The SLB9670_1.2 is a complete solution implementing the version 1.2 of the TCG Trusted Platform Module Main, Specification Version 1.2, [5] [6] [7] and the TCG PC Client Specific TPM Interface Specification, Specification Version 1.3 [9]. The SLB9670_1.2 uses the Serial Peripheral Interface (SPI) for the integration into existing PC mainboards. The SLB9670_1.2 is basically a secure controller with the following added functionality:  Random number generator (DRNG)  Asymmetric key generation (RSA keys with key length up to 2048 bit)  Symmetric key generation (AES keys, for internal use only)  Symmetric and asymmetric key procedures (encryption/decryption, generation and verification of digital signatures)  Hash algorithms (SHA-1) and MAC (HMAC)  Secure key and data storage  Identification and Authentication mechanisms  Tick and Monotonic Counter In this security target the TOE (target of evaluation) is described and a summary specification is given. The security environment of the TOE is defined. The assets are identified which have to be protected through the security policy. The threats against these assets are described. The security objectives as the objectives of the security policy are defined as well as the security requirements. The applicable IT security requirements are taken from the Common Criteria, with appropriate refinements. The security requirements are constructed out of the security functional requirements as part of the security policy and the security assurance requirements, as the steps during the evaluation and certification to prove that the TOE meets these requirements. The functionality of the TOE to meet the requirements is described. The assets, threats, security objectives and the security functional requirements are defined in the Trusted Computing Group Protection Profile PC Client Specific Trusted Platform Module TPM Family 1.2; Level 2 Revision 116; Version: 1.3 [8], and are referenced here. The TOE summary specification consisting of the security features, the assurance requirements and the security function policies are defined in the ST as property of this specific TOE, the SLB9670_1.2. The rationale presents evidence that the ST is a complete and cohesive set of requirements and that a conformant TOE would provide an effective set of IT security countermeasures within the security environment. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 10 of 67 2 Target of Evaluation Description The TOE description helps to understand the specific security environment and the security policy. In this context the assets, threats, security objectives and security functional requirements can be employed. The following is a more detailed description of the TOE than in the Trusted Computing Group Protection Profile [8] as it belongs to the specific TOE. 2.1 TOE Definition The Target of Evaluation (TOE) is the “Trusted Platform Module SLB9670_1.2” of the Infineon Technologies AG called “SLB9670_1.2” or “TPM” in the following description. The TOE is an integrated circuit and software platform that provides computer manufacturers with the core components of a subsystem used to assure authenticity, integrity and confidentiality in e- commerce and internet communications within a Trusted Computing Platform as defined in the TPM Main Specification. The SLB9670_1.2 is a complete solution implementing the TCG TPM Main Specification Version 1.2, [5] [6] [7] and the TCG PC Client Specific TPM Interface Specification (TIS) for TPM Family 1.2; Level 2, Version 1.3 Final, Revision 1.00 [9]. A Trusted Platform is a platform that can be trusted by local users and by remote entities. The basis for trusting a platform is a declaration by a known authority that a platform with a given identity can be trusted to measure and report the way it is operating. That operating information can be associated with data stored on the platform, to prevent the release of that data if the platform is not operating as expected. Other authorities provide declarations that describe the operating information the platform ought to produce when it is operating properly. The local user and remote entities trust the judgment of the authorities; so, when they receive proof of the identity of the platform, information about the current platform environment, and proof about the expected platform environment, they can decide whether to trust the platform to behave in a sufficiently trustworthy and predictable manner. The local user and/or remote entities must take this decision themselves because the level of trust in a platform can vary with the intended use of that platform, and only the local user and/or remote entities know that intended purpose. The trusted mechanism of the platform uses cryptographic processes, including secrets. The trusted mechanisms are required to be isolated from the platform in order to protect secrets from disclosure and protect methods from subversion. The subsystem protects itself against physical and software attacks to provide protection against attacks to the platform. Some, but not all, subsystem capabilities must be trustworthy for the subsystem to be trustworthy. These are called the “Trusted Set” (TS). Other capabilities must work properly if the subsystem is to work properly, but they do not affect the level of trust in a Subsystem. These are called the “Trusted platform Support Set” (TSS). The Trusted Set of capabilities can be partitioned into measurement capabilities, reporting capabilities, and storage capabilities. The trusted measurement capabilities are called the “Root of Trust for Measurement” (RTM). The trusted reporting capabilities are called the “Root of Trust for Reporting” (RTR). The trusted storage capabilities are called the “Root of Trust for Storage” (RTS). The RTM makes reliable measurements about the platform and puts the measurement results into the RTR. The RTR prevents unauthorized changes to the measurement results, and reliably reports those measurement results. The RTS provides methods to minimize the amount of trusted storage that is required. The “Root of Trust for Measurement” and the “Root of Trust for Reporting” cooperate to permit an entity to believe measurements that describe the current computing environment in the platform. An entity can assess those measurement results and compare them with values that are to be expected if the platform is operating as expected. If there is sufficient match between the measurement results and the expected values, the entity can trust computations within the platform (not just within the TS) to execute as expected. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 11 of 67 The RTR have a cryptographic identity in order to prove to a remote entity that RTR messages come from genuine trusted capabilities, and not from bogus trusted capabilities. The SLB9670_1.2 is basically a secure controller with the following added TOE security services (TOSS): Random number generation (DRNG) The DRNG capability is only accessible for valid TPM commands. Intermediate results from the DRNG are not available to any user. When the data is for internal use by the TPM (e.g. asymmetric key generation) the data is held in a shielded location and is not accessible to any user. Algorithms: RSA, SHA-1, AES, MGF1 The SLB9670_1.2 supports the RSA algorithm for encryption and digital signatures with key sizes of 512, 1024 and 2048 bits. The RSA implementation provides protection and detection of failures during the Chinese Remainder Theorem (CRT) process. The TPM storage keys and TPM identity keys are of strength equivalent to a 2048 bit RSA key. A storage key whose strength is less than that of a 2048 RSA key could not be stored in the SLB9670_1.2. The TPM identity keys are RSA keys with key size of 2048 bits. The RSA algorithm is used for signature and verification operations according PKCS#1 V2 for the format and design of the signature output. The SLB9670_1.2 supports the Secure Hash Algorithm-1 (SHA-1) hash algorithm as defined by United States Federal Information Processing Standard 180-2. The output of the SHA-1 is a 160 bit hash value and all areas that expect a hash value are required to support the full 160 bits. The SLB9670_1.2 supports the AES algorithm with key sizes of 128 bits for encryption and decryption. The function is used to support the transportation functionality and to support the temporary cashing of keys outside the TPM and for the personalisation of code and data. The SLB9670_1.2 supports the MGF1 algorithm with key sizes of 160 bits for encryption and decryption. The function is used to support the transportation functionality. Key Generation The SLB9670_1.2 generates asymmetric key pairs (algorithm RSA) in accordance with P1363 and AES keys with key sizes of 128 bits (for internal use). The generation function is a protected capability and the private key and the AES key is held in a shielded location. For the HMAC key generation and for the creation of all nonce values the next n bits are taken from the internal TPM DRNG based on NIST standard. The keys managed by the TPM may be non-migratable or migratable. A non-migratable key is a key that cannot be transported outside a specific TPM. A migratable key is a key that may be transported outside the specific TPM. The certified migratable key allows for migration but still has properties that the TPM can certify. Self -Tests The SLB9670_1.2 provides startup self-tests and a mechanism to allow self-tests to be run on demand. The response from self-tests is pass or fail. Self-tests include checks of the following:  RNG functionality (according [11] class DRG.3).  Reading and extending the integrity registers.  Endorsement key pair integrity. This test verifies the RSA sign and verify engine by signing and verifying a known value with the endorsement key pair.  Integrity of the protected capabilities of the SLB9670_1.2. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 12 of 67  Test of the tamper-resistance markers. If a failure during any self-test is detected, the part experiencing the failure will enter a shutdown mode and an error code is returned. Identification and Authentication The TPM identification and authentication capability is used to authenticate an entity owner and to authorize use of an entity. The basic premise is to prove knowledge of a shared secret. This shared secret is the identification and authentication data. The TCG specification calls the identification and authentication process and this data authorization. The identification and authentication (authorization) data for the TPM Owner and the owner of the Storage Root Key are held within the TPM itself. The identification and authentication (authorization) data for other owners of entities are held and protected with the entity. The identification and authentication protocols use a random nonce. This requires that a nonce from one side be in use only for a message and its reply. For instance, the TPM would create a nonce and send that on a reply. The requestor would receive that nonce and then include it in the next request. The TPM would validate that the correct nonce was in the request and then create a new nonce for the reply. This mechanism is in place to prevent replay attacks and man-in-the-middle attacks. Access control Access control is enforced in the SLB9670_1.2 on all data and operations performed on that data. The TPM provides access control by denying access to some data and operations and allowing access to other data and operations based on the value of different flags called security attributes (e.g. TPM_AUTH_DATA_USAGE, TPM_KEY_FLAGS, TPM_KEY_USAGE) which are defined in the PP [8], Table 1. For example the security attribute TPM_AUTH_DATA_USAGE defines access as either “never” or “always”. Always must be authenticated with a shared secret. Never means that usage of the key is permitted by anyone without authentication. The security attribute TPM_KEY_FLAGS defines information regarding a key, e.g. a key is a migratable, non-migratable or certifiable migratable. A non-migratable key is a key that cannot be transported outside a specific TPM. A migratable key is a key that may be transported outside the specific TPM. In addition some keys must be bound to a specific TPM but should be able to be backuped or migrated under certain circumstances. The certified migration allows a Migration Selection Authority therefore to control a migration process without the handling of the migrated key itself or respectively uses a Migration Authority to control the migration process with the knowledge of the data of the migrated key. Those keys which are planned for certified migration are called certifiable migratable keys. The security attribute TPM_KEY_USAGE identifies the permitted usage of a key. Depending on the key type (e.g. signing key, storage key and identity key) certain operations may or may not be allowed using the particular key. Upon appropriate identification and authentication associated with the keys, users can use the key for the purposes permitted by the security attribute TPM_KEY_USAGE. The security attributes are stored as flags in the TPM or associated with the data in an encrypted blob. Tick and Monotonic Counter The SLB9670_1.2 provides a “tick counter” as a count of the numbers of ticks that have occurred since the start of a timing session. The time between the ticks is identified by the “tick rate” but it is the responsibility of the caller to associate the ticks to an actual UTC time. The SLB9670_1.2 provides also a monotonic counter as an ever-increasing incremental value for external use. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 13 of 67 Root of Trust for Storage The SLB9670_1.2 provides non-volatile storage as shielded location for data of external entities. The TPM owner controls access to the non-volatile storage. The access control may include the need of authentication of the user, delegations, PCR values and other controls. Additionally the SLB9670_1.2 has the capability of secure storage for an unlimited number of private keys or other data. The resulting encrypted file, which contains header information in addition to the data or key, is called a blob and is output by the TPM, it can be re-loaded in the TPM when needed. The functionality of the SLB9670_1.2 can also be used that private keys generated on the TPM can be stored outside the TPM (encrypted) in a way allowing the TPM to use them later without ever exposing such keys in the clear outside the TPM. The functionality used to provide secure storage is:  TPM_Seal and TPM_Unseal, which performs RSA encrypt and decrypt functions, respectively, on data that is externally generated. The sealing operation encrypts not only the data, but also the values of the selected PCRs and the locality that must exist during for unseal and tpmProof, which is a unique secret identifier for the TPM sealing the data. To unseal the data, three conditions must exist: 1) the appropriate key must be available for unseal, 2) the TPM PCRs must contain the values defined at the time of the seal operation, and 3) the value of tpmProof must be the same as that encrypted during the seal operation. By requiring the PCR values to be duplicated at unseal and the tpmProof value to be checked, the seal operation allows software to explicitly state the future “trusted” configuration that the platform must be in for the decrypted key to be used and for decrypt to only occur on the specified TPM.  TPM_Unbind, which RSA decrypts a blob created outside the TPM that has been encrypted using a public key where the associated private key is stored in the TPM. A number of key types are defined within the TPM. The keys may be migratable or non- migratable. A migratable key is a key that may be transported outside a specific TPM. A non- migratable key is a key that cannot be transported outside a specific TPM. The key types used for the Root for Trust of Storage include:  The Storage Root Key (SRK), which is the root key of a hierarchy of keys associated with a TPM; it is generated within a TPM and is a non-migratable key. Each owned TPM contains a SRK, generated by the TPM at the request of the Owner. Under that SRK may be organized different trees dealing with migatable data or non-migratable data.  Storage keys, which are used to RSA encrypt and RSA decrypt other keys and their security attributes in the Protected Storage hierarchy, only.  Binding keys, which are used for TPM_Unbind operations only. A bound operation (performed outside the TPM) associates identification and authentication data with a particular data set and the entire data blob is encrypted outside the TPM using a binding key, which is an RSA key. The TPM_Unbind operation uses a private key stored in the TPM to decrypt the blob so that the data (often a key pair) stored in the blob may be used. Root of Trust for Reporting The root of trust for reporting (RTR) exposes the measurement digests stored in the PCRs and attest to the authenticity of these measurement digests based on trusted platform identities or Direct Anonymous Attestation Protocol. The trusted platform identities for RTR are defined by Attestation Identity Credentials for Attestation Identity Keys (AIK) generated by the TPM. The TPM creates digital signatures over the PCR values using an Attestation Identity Key. Each SLB9670_1.2 is identified and validated by its Endorsement Key. The Endorsement Key is an asymmetric key pair that is used as proof that a SLB9670_1.2 is genuine. The Endorsement Key pair is generated and encrypted outside the SLB9670_1.2 in a secure Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 14 of 67 environment by the manufacturer Infineon Technologies AG and then loaded encrypted into the SLB9670_1.2 during the production phase. The Endorsement Key is transitively bound to the Platform via the SLB9670_1.2 as follows:  An Endorsement Key is bound to one and only one SLB9670_1.2 (i.e., that is a one to one correspondence between an Endorsement Key and a SLB9670_1.2)  A SLB9670_1.2 is bound to one and only one Platform, (i.e., there is a one to one correspondence between a SLB9670_1.2 and a Platform.)  Therefore, an Endorsement Key is bound to a Platform, (i.e., there is a one to one correspondence between an Endorsement Key and a Platform) The Endorsement Key is used in the process of issuance the Attestation Identity Credentials and to establish a platform owner. The Direct Anonymous Attestation Protocol (DAA) provides evidence that the TPM holds a valid Attestation Identity Key without revealing the attestation information. Support for the Root of Trust for Measurement The TPM supports the integrity measurement of the trusted platform by calculation, storage and reporting of measurement digests of measured values. The measurement values are representation of embedded data or program code scanned and provided to the TPM by the measurement agent, such as the Root-of-Trust-for-Measurement. The TPM supports cryptographic hashing of measured values and calculates the measurement digest by extending the value of a Platform Configuration Register (PCR) with a calculated or provided hash value by means of the SHA-1. The PCR are shielded locations of the TPM which can be reset by TPM reset or trusted process, written only through measurement digest extensions and read. Generation and import of the Endorsement Key pair The Endorsement Key (EK) pair stored in the TPM is generated outside the TPM with the TPM Personalization Certification Authority (TPM-CA) located within the secure production area of the TOE. The EK pair and the associated EK credential are loaded into the TPM during the manufacturing process at the TOE lifecycle phase “Manufacturing”. The TPM-CA is located at the production site of the TOE in a secure room. The TPM-CA consists of a Personalization Dataset Generator (PDG) including a hardware security module (HSM-PDA), a Certification Authority (INCA) and a database server. The HSM-PDG generates the EK pair and encrypts the key pair using a master key and the algorithm three key Triple-DES in CBC mode. The encrypted EK pair is then stored in the database server. The INCA creates the EK credential by certifying the public part of the EK. The EK credential is also stored at the database server. For the production process the plain EK pair is encrypted with a TPM individual transport key and transported to the production facility. The personalization process generates the TPM individual transport key and loads this key together with the encrypted EK pair and the EK credential into the TPM. Within the TPM the EK pair is encrypted with the transport key and stored in a shielded location. The generation and import process of the Endorsement Key pair is done completely in the secure production area of the TOE. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 15 of 67 To simplify system integration into existing PC mainboards, the SLB9670_1.2 uses the SPI interface. With these capabilities, the SLB9670_1.2 is able to realize the issue of the TPM Main Specification to insert a trusted subsystem – called the “root of trust” – into the PC platform, which is able to extend its trust to other parts of the whole platform by building a “chain of trust”, where each link extends its trust to the next one. As a result, the TPM extends its trustworthiness, providing a Trusted PC for secure transactions. As an example the TPM is able to calculate hash-values of the BIOS at boot time as integrity metric. Once this metric is available, it is saved in a secure memory location. Optionally, it could be compared to some predefined values and the boot process could be aborted on mismatch. During the boot process, other integrity metrics are collected from the platform, e.g. the boot loader and the operating system itself. Device drivers may be hashed and even hardware like PCI cards can be detected and identified. Every metric obtained is concatenated to the already available metrics. This gives a final metric, which describes the operational state of the whole platform and the state of its system integrity. A challenger may now ask the platform for these metrics and make informed decisions on whether to trust it based on the metric values obtained. To support the privacy issue, the user of the platform may restrict the SLB9670_1.2 in answering to any challenge, but the user is never able to make the SLB9670_1.2 report false metrics. Moreover, the user is able to create several identities for his interactions. Offering these features to a system, the SLB9670_1.2 can be used in a wide field of applications, e.g. in a remote access network to authenticate platforms to a server and vice versa. Concerning e-commerce transactions, contracts can be signed with digital signatures using the SLB9670_1.2 asymmetric encryption functionality. Regarding a network scenario, the client PCs equipped with a SLB9670_1.2 are able to report their platform status to the server so that the network administration is aware of their trustworthiness. In conclusion, the SLB9670_1.2 acting as a service provider to a system helps to make transactions more secure and trustworthy. The Target of Evaluation (TOE), the SLB9670_1.2, consists of the following hardware and firmware components. The hardware of the SLB9670_1.2 is based on the SLE70-Family architecture with additional components and is manufactured by the Infineon Technologies AG. The IC, whose block diagram is shown in Figure 1, consists of a dedicated microprocessor (CPU) with a MMU (Memory Management Unit), several different memories, security logic, shield, a timer, an interrupt-controlled I/O interface and a RNG (Random Number Generator) are integrated on the chip. Additionally, a hardware hash accelerator and an Serial Peripheral Interface (SPI) interface have been added. This SPI interface is the main interface of the chip. The CPU is a real 16-bit CPU-architecture and is compatible to the Intel 80251 architecture. The major components of the core system is the CPU (Central Processing Unit), the MMU (Memory Management Unit) and MED (Memory Encryption/Decryption Unit). The CPU control each other in order to detect faults and serve by this for data integrity. The TOE implements a full 16 MByte linear addressable memory space for each privilege level, a simple scalable Memory Management concept and a scalable stack size. The flexible memory concept consists of ROM- and Flash- memory as part of the non volatile memory (NVM), respectively EEPROM. For the EEPROM memory the Unified Channel Programming (UCP) memory technology is used. The SLB9670_1.2 uses an external clock of 33 MHz. The PLL unit allows operating the core controller of the SLB9670_1.2 with a multiplication factor over the divided external clock signal or free running with maximum frequency. The checksum module allows simple calculation of checksums per ISO 3309 (16 bit CRC). Three modules for cryptographic operations are implemented on the TOE. The two cryptographic co-processors serve the need of modern cryptography: The symmetric co-processor (SCP) for AES hardware acceleration. The Asymmetric Crypto Co-processor, called Crypto2304T in the Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 16 of 67 following, is used for RSA-2048 bit (4096-bit with CRT). The third module named HASH provides the Secure Hash Algorithm-1 (SHA-1). To sum up, the TOE is a powerful security IC with a large amount of memory and special peripheral devices with both improved performance and optimized power consumption at minimal chip size. Security peripherals CLK RST I/O GND VCC AXI and APB buses Core with CPU, MED, MMU, Cache Interrupt Module Memory EEPROM SPI Interface Memory Coprocessors User- ROM Test- ROM XRAM HASH CRC SCP Crypto Timer RNG SPI Peripherals Coun- ter Figure 1: Block diagram of the SLB9670_1.2 Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 17 of 67 The firmware required for operating the chip includes an operating system that provides the TCG functionality specified in the TPM Main Specification. The chip initialisation routine with security checks and identification mode as well as test routines for production testing are located in a separate test ROM. The firmware also provides the mechanism for updating the protected capabilities once the TOE is in the field as defined in the TPM_FieldUpgrade command of the TPM Main Specification. The field upgrade can only be downloaded to the chip if it has been encrypted and signed by the manufacturer Infineon Technologies AG. The Figure 2 shows the firmware block diagram of the SLB9670_1.2. System Management TPM - Dispatcher TPM - Commands System Selftest Memory Component Archive Locality Service AES State-Machine Authorization Crypto RSA 2048 Dictionary Attack Logic Tick Counter PKCS #1 FW-Upgrade RND PCR TCPA Flags DAA Key Class System Startup Locality GPIO System Communication Systems Control Field- Upgrade System Security Transportation Test RMS Int OS Startup Data & Power RMS & STS & SAM Flash Loader Figure 2: Firmware block diagram of the SLB9670_1.2 Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 18 of 67 2.2 Scope of the TOE The TOE manufactured by Infineon Technologies AG, comprises the hardware of the security controller, type SLB9670_1.2, and the associated firmware required for operation provided in ROM and EEPROM 2.2.1 Hardware of the TOE The hardware part of the TOE (cf. Figure 1) as defined in the PP [8] is comprised of:  Security Peripherals (filters, sensors)  Core System - with proprietary CPU implementation of the Intel MCS251 standard architecture from functional perspective - Cache with post failure detection - Memory Encryption/Decryption Unit (MED) - Memory Management Unit (MMU)  Memories - Read-Only Memory (ROM) - Random Access Memory (RAM) - EEPROM Flash memory  Coprocessors - Crypto2304T for asymmetric algorithms like RSA - Symmetric Crypto Co-processor AES standard (SCP) - Hash accelerator (HASH) for the algorithm SHA-1 - Checksum module (CRC)  Random number generator (RNG)  Interrupt module (INT)  Timer (TIM)  Buses (BUS) - AXITM Memory Bus - APB Peripheral B  Serial Peripheral Interface (SPI)  Tick Counter Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 19 of 67 2.2.2 Firmware of the TOE The entire firmware of the TOE consists of different parts. The one part is the operating system which includes the TPM application, the System Management and the Endorsement Key and is used to operate the IC. The operating system includes also the capability for updating the protected capabilities once the TOE is in the field (TPM_FieldUpgrade). Note that it is possible to update e.g. the certified TPM version v04.40.0119.00 to a new certified TPM version e.g. v6.43.0244.00. The other firmware part is the Self Test Software (STS), the Service Algorithm Minimal (SAM), the Resource Management System (RMS) and the Flash Loader. The STS routines are stored in the especially protected test ROM and are not accessible for the user software (application). The entire operating system of the TOE (cf. Figure 2) as defined in the PP [8] is comprised of:  Communication System  System Management including: - GPIO System - Crypto - Locality System - PKCS#1 - RND (DRNG) - RMS Int - OS Startup - Control - System Selftest - Security System - Data & Power - Field Upgrade  Transportation  TPM-Dispatcher  System Startup  State-Machine  Authorization  Dictionary Attack Logic  TPM-Command  TcpaFlags  Locality  Test  RSA2048  Memory Components  AES  Archive  Tick Counter  PCR  Key Class  FW-Upgrade  DAA Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 20 of 67 2.2.3 Guidance documentation The guidance documentation consists of a set of information containing the description of all interfaces to operate the TOE. The list of the guidance documentation is given in Table 1, section Guidance Documentation. 2.2.4 Forms of delivery The TOE is delivered in form of complete chips which include the hardware, the firmware (operating system), the Endorsement Key Pair, and the guidance documentation. The TOE is finished and the extended test features are removed. The package description of the TOE is given in the document “OPTIGA TM TPM SLB 9670 TPM1.2 Databook” [10]. 2.2.5 Production sites The TOE silicon is produced in the production site Dresden. The Chip Marking includes an assembly side code which defines the assembly site. The exact coding of the chip marking is described in [10], section 6.3 “Chip Marking”. Table 2: Production site in chip identification Production Site Chip Identification Dresden, Germany byte number 13 (Fab number): 02H The delivery measures are described in the ALC_DVS aspect. 2.2.6 Life cycle of the TOE The life cycle of the TOE as part of the evaluation covers phase 1 “Development” and phase 2 “Manufacturing” as defined in the PP [8] section 1.3.3. The phase 1 includes the TPM development, the phase 2 includes the TPM manufacturing, the TPM conformance testing, the TPM-Mfg EK key pair generation and download and the TPM-Mfg EK credential issuance. The phase 1 and phase 2 are covered by the TOE development environment. The TOE is delivered after completion of the phase 2 “Manufacturing”. The delivery of the TOE includes the TPM-Mfg EK key pair and the TPM-Mfg EK credential (both stored within the TOE) and the user guidance as defined in “Table 1: Identification” of this document. The user guidance, as part of the TOE, defines all installation procedures necessary for the secure operation of the TOE after phase 2 in the TOE operational environment (TOE preparation and TOE operational). During phase 1 and phase 2 the Security Objectives defined in the PP [8], “Table 5: Security objectives for the TOE” are relevant for the TOE, after the delivery of the TOE, after phase 2, the Security Objectives defined in the PP [8], “Table 5: Security objectives for the TOE” and the Security Objectives for the Operational Environment defined in the PP [8], “Table 6: Security Objectives for the Operational Environment” are relevant for the TOE. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 21 of 67 3 Conformance Claims 3.1 CC Conformance Claim This Security Target (ST) and the TOE claim conformance to Common Criteria version v3.1 part 1 [1], part 2 [2] and part 3 [3]. Conformance of this ST is claimed for: Common Criteria part 2 extended and Common Criteria part 3 conformant. 3.2 PP Claim This Security Target is in strict conformance to the Trusted Computing Group Protection Profile PC Client Specific Trusted Platform Module TPM Family 1.2; Level 2 Revision 116 [8]. The Protection Profile (PP) [8] is registered and certified by the Bundesamt für Sicherheit in der Informationstechnik1 (BSI) under the reference BSI-PP-0030-2008-MA-02, Version: 1.3, dated 14.07.2014. The security assurance requirements of the TOE are according to the Trusted Computing Group Protection Profile PC Client Specific Trusted Platform Module Family 1.2; Level 2, Revision 116 [8]. They are all drawn from Part 3 of the Common Criteria version v3.1. 3.3 Package Claim This Security Target does not claim conformance to a package of the PP [8]. The assurance level for the TOE is EAL4 augmented with ALC_FLR.1 and AVA_VAN.4 defined in CC part 3 [3]. 3.4 Conformance Claim Rationale This security target claims strict conformance only to one PP, the PP [8]. The Target of Evaluation (TOE) is a complete solution implementing the TCG Trusted Platform Module Main, Specification Version 1.2, [5] [6] [7] and the TCG PC Client Specific TPM Interface Specification, Version 1.2 Final, Revision 1.00 [9] as defined in the PP [8] section 1.3.1, so the TOE is consistent with the TOE type in the PP [8]. The security problem definition of this security target are consistent with the statement of the security problem definition in the PP [8], as the security target claimed strict conformance to the PP [8] and no other threats, organisational security policies and assumptions are added. The security objectives of this security target are consistent with the statement of the security objectives in the PP [8], as the security target claimed strict conformance to the PP [8] and no other security objectives are added. The security requirements of this security target are consistent with the statement of the security requirements in the PP [8], as the security target claimed strict conformance to the PP [8]. All assignments and selections of the security functional requirements are done in the PP [8] and in this security target at section 7.1, e.g. the security functional requirement FCS_RNG.1 “Generation of Random Numbers “. 1 BSI is the German abbreviation for Federal Authority for Information Security Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 22 of 67 3.5 Application Notes The functional requirement FCS_RNG.1 is a refinement of the FCS_RNG.1 defined in the Protection Profile [8] according to “Anwendungshinweise und Interpretationen zum Schema (AIS),” [11]. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 23 of 67 4 Security Problem Definition The content of the PP [8] applies to this chapter completely. 4.1 Threats The threats are directed against the assets. The threats to security are defined in the PP [8] section 4.1, no other threats are added. The primary assets concern the TSF and the User Data that includes the data as well as program code (Embedded Firmware). These assets have to be protected while being executed as well as when the TOE is not in operation. This leads to the following primary assets:  Embedded Firmware  User Data  TSF Data  Hardware of TOE 4.2 Organisational Security Policies The organisational security policies are defined in the PP [8] section 4.2, no other organisational security policies are added. 4.3 Assumptions The TOE environment is highly variable. In general, the TOE is assumed to be in an uncontrolled environment with no guarantee of the TOE’s physical security. The TOE assumptions to the IT environment are defined in the PP [8] section 4.3, no other assumptions are added. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 24 of 67 5 Security Objectives This section shows the security objectives which are relevant for the TOE. For this section the PP [8] can be applied completely. 5.1 Security Objectives for the TOE The security objectives of the TOE are defined and described in the PP [8] section 5.1, no other security objectives are added. 5.2 Security Objectives for the Operational Environment The security objectives for the operational environment are described in the PP [8] section 5.2, no other security objectives for the operational environment are added. 5.3 Security Objectives Rationale The security objectives rationale is described in the PP [8] section 5.3. No other security objectives rationale is added. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 25 of 67 6 Extended Components Definition The extended component “FCS_RNG Generation of random numbers” (FCS_RNG.1) is defined in the following sections. Family “Generation of Random Number (FCS_RNG)” The family “Generation of Random Numbers (FCS_RNG.1)” has to be newly created according the new version of the “Anwendungshinweise und Interpretationen zum Schema (AIS)” [11]. This security functional component is used instead of the functional component FCS_RNG.1 defined in the protection profile [8]. The family “Generation of Random Numbers (FCS_RNG.1)” is specified as follows (Common Criteria Part 2 extended). FCS_RNG Generation of random numbers Family behavior This family defines quality requirements for the generation of random numbers which are intended to be use for cryptographic purposes. Component leveling: FCS_RNG.1 Generation of random numbers, requires that the random number generator implements defined security capabilities and that the random numbers meet a defined quality metric. Management: FCS_RNG.1 There are no management activities foreseen. Audit: FCS_RNG.1 There are no actions defined to be auditable. FCS_RNG.1 Random number generation Hierarchical to: No other components. Dependencies: No dependencies. FCS_RNG.1.1 The TSF shall provide a [selection: physical, non-physical true, deterministic, hybrid physical, hybrid deterministic] random number generator that implements: [assignment: list of security capabilities]. FCS_RNG.1.2 The TSF shall provide random numbers that meet [assignment: a defined quality metric]. FCS_RNG Generation of random numbers 1 Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 26 of 67 Application Note 1: The functional requirement FCS_RNG.1 is a refinement of the FCS_RNG.1 defined in the Protection Profile [8] according to “Anwendungshinweise und Interpretationen zum Schema (AIS)” [11]. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 27 of 67 7 IT Security Requirements For this section the PP [8] section 6 can be applied completely. 7.1 Security Functional Requirements for the TOE The security functional requirements (SFR) for the TOE are defined and described in the PP [8] section 6.1 and in section 7.1.1 for the extended security requirement FCS_RNG1. All assignments and selections of the security functional requirements are done in the PP [8] with the exception of the following SFRs. The operations completed in the ST are marked in italic font. FMT_SMF.1 Specification of Management Functions Hierarchical to: No other components. Dependencies: No dependencies FMT_SMF.1.1 The TSF shall be capable of performing the following management functions: (1) Management of the TPM modes of operation, (2) Management of Delegation Tables and Family Tables, (3) Management of security attributes of keys, (4) Management of security attributes of PCR, (5) Management of security attributes of NV storage areas, (6) Management of security attributes of monotonic counters, (7) Reset the Action Flag of TPM dictionary attack mitigation mechanism, (8) None. FPT_TDC.1 Inter-TSF basic TSF data consistency Hierarchical to: No other components. Dependencies: No dependencies. FPT_TDC.1.1 The TSF shall provide the capability to consistently interpret authentication reference data of the User using operatorAuth, TPM owner, delegated entities, owner of entities, user of entities when shared between the TSF and another trusted IT product. FPT_TDC.1.2 The TSF shall use roles defined in [6] and [7] when interpreting the TSF data from another trusted IT product. FCS_CKM.1/AES Cryptographic key generation Hierarchical to: No other components. Dependencies: [FCS_CKM.2 Cryptographic key distribution, or FCS_COP.1 Cryptographic operation] FCS_CKM.4 Cryptographic key destruction Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 28 of 67 FCS_CKM.1.1/AES The TSF shall generate cryptographic keys in accordance with a specified cryptographic key generation algorithm AES key generator and specified cryptographic key sizes 128 bits that meet the following: the AES key is a 128 bit random number. FCS_CKM.4 Cryptographic key destruction Hierarchical to: No other components. Dependencies: [FDP_ITC.1 Import of user data without security attributes, or FDP_ITC.2 Import of user data with security attributes, or FCS_CKM.1 Cryptographic key generation] FCS_CKM.4.1 The TSF shall destroy cryptographic keys in accordance with a specified cryptographic key destruction method: key destruction that meets the following: FIPS PUB 140-1 [FIPS_140], section 4.8.5 (overwriting all bits with “1” or with a random value). FCS_COP.1/RSA_Sig Cryptographic operation Hierarchical to: No other components. Dependencies: [FDP_ITC.1 Import of user data without security attributes, or FDP_ITC.2 Import of user data with security attributes, or FCS_CKM.1 Cryptographic key generation] FCS_CKM.4 Cryptographic key destruction FCS_COP.1.1/RSA_Sig The TSF shall perform signature generation and signature verification in accordance with a specified cryptographic algorithm RSA signature scheme [5] section 31.2.1, 31.2.2 and 31.2.3 and cryptographic key sizes RSA 512, 1024, 2048 that meet the following: PKCS#1 V2.0 [PKCS]. Signature Generation (with or without CRT): According to section 5.2.1 RSASP1 in PKCS v2.0 RFC3447, for u = 2, i.e., without any (r_i, d_i, t_i), i >2, therefore without 5.2.1.2.b (ii)&(v). Without 5.2.1.1. 5.2.1.2.a, only supported up to n < 22048 Signature Verification: According to section 5.2.2 RSAVP1 in PKCS v2.0 RFC3447, without 5.2.2.1. FCS_COP.1/RSA_Enc Cryptographic operation Hierarchical to: No other components. Dependencies: [FDP_ITC.1 Import of user data without security attributes, or FDP_ITC.2 Import of user data with security attributes, or FCS_CKM.1 Cryptographic key generation] FCS_CKM.4 Cryptographic key destruction Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 29 of 67 FCS_COP.1.1/RSA_Enc The TSF shall perform encryption and decryption in accordance with a specified cryptographic algorithm RSA encryption scheme] [5] section 31.1.1, 31.1.2 and 31.1.3 and cryptographic key sizes RSA 512, 1024, 2048 that meet the following: PKCS#1 V2.0 [PKCS]. Encryption: According to section "5.1.1 RSAEP" in PKCS v2.1 RFC3447. Without 5.1.1.1. Decryption (with or without CRT): According to section "5.1.2 RSADP" in PKCS v2.1 RFC3447, for u=2, i.e., without any (r_i, d_i, t_i), i > 2, therefore without 5.1.2.2.b (ii)&(v). Without 5.1.2.1. 5.1.2.2.a, only supported up to to n < 22048 . FCS_COP.1/SymEnc2 Cryptographic operation Hierarchical to: No other components. Dependencies: [FDP_ITC.1 Import of user data without security attributes, or FDP_ITC.2 Import of user data with security attributes, or FCS_CKM.1 Cryptographic key generation] FCS_CKM.4 Cryptographic key destruction FCS_COP.1.1/SymEnc2 The TSF shall perform symmetric encryption and decryption in accordance with a specified cryptographic algorithm - AES, mode CBC and mode CTR and cryptographic key sizes - 128 bit for AES, that meet the following: - U.S. Department of Commerce, National Institute of Standards and Technology, Information Technology Laboratory (ITL), Advanced Encryption Standard (AES), FIPS PUB 197; [FIPS_197], and NIST Special Publication 800-38A, 2001 Edition, Recommendation for Block Cipher Modes of Operation Methods and Techniques [N800] FIA_UID.1 Timing of identification Hierarchical to: No other components. Dependencies: No dependencies. FIA_UID.1.1 The TSF shall allow (1) to execute commands indicated in the PP [8], Table 12 column RQU as not requesting authentication, (2) accessing objects where entity owner has given the user “World” access based on the value of TPM_AUTH_DATA_USAGE, Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 30 of 67 (3) to execute the commands TPM_HASH_START, TPM_HASH_DATA and TPM_HASH_END on behalf of the user to be performed before the user is identified. FIA_UID.1.2 The TSF shall require each user to be successfully identified before allowing any other TSF-mediated actions on behalf of that user. FIA_UAU.1 Timing of authentication Hierarchical to: No other components. Dependencies: FIA_UID.1 Timing of identification FIA_UAU.1.1 The TSF shall allow (1) to execute commands indicated in the PP [8] Table 12 column RQU as not requesting authentication, (2) accessing objects where entity owner has given the user “World” access based on the value of TPM_AUTH_DATA_USAGE, (3) to execute the commands TPM_HASH_START, TPM_HASH_DATA and TPM_HASH_END, on behalf of the user to be performed before the user is authenticated. FIA_UAU.1.2 The TSF shall require each user to be successfully authenticated before allowing any other TSF-mediated actions on behalf of that user. FIA_UAU.5 Multiple authentication mechanisms Hierarchical to: No other components. Dependencies: No dependencies. FIA_UAU.5.1 The TSF shall provide (1) OIAP authorization session, (2) OSAP authorization session, (3) DSAP authorization session, (4) Transport session, (5) Commands which require authorization and are executed outside a authorization session to support user authentication. FIA_UAU.5.2 The TSF shall authenticate any user's claimed identity according to the rule “dictionary attack”. The dictionary attack mechanism is used to manage detected authentication failures with the aim to mitigate dictionary attacks. The dictionary attack mechanism provides two different objects, a single object mode, which means that all detected authentication failure are collected at the same counter, and the full object mode, which means that the detected authentication error could be distinguished and collected on different counters. The maximal number of Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 31 of 67 authentication errors is 11, this default value can be reduced by the user software. If the dictionary attack mechanism has the maximum number of authentication errors detected, the Activation Flag is set to TRUE and two different ways of processing could be started. For the first way logic is activated to add a delay time into the processing before the next command could be processed. For each detected authentication error the delay time duration is doubled until a maximum value. For the second way the same procedure as for the first way is started, additionally the TOE is deactivated after a predefined number of detected authentication failures. The reset of the failure counter and delay timer is done with a correct authentication process, after predefined time duration or by the TPM owner. The activation of the TPM could be done only by the TPM owner. FIA_AFL.1 Authentication failure handling Hierarchical to: No other components. Dependencies: FIA_UAU.1 Timing of authentication FIA_AFL.1.1 The TSF shall detect when ten unsuccessful authentication attempts occur related to authentication attempts for the same user. FIA_AFL.1.2 When the defined number of unsuccessful authentication attempts has been met, the TSF shall (1) Set the Action Flag to TRUE, (2) Two different ways of processing could be started. For the first way logic is activated to add a delay time into the processing before the next command could be processed. For each detected authentication error the delay time duration is doubled until a maximum value. For the second way the same procedure as for the first way is started, additionally the TOE is deactivated after a predefined number of detected authentication failures. FDP_ACF.1/Deleg Security attribute based access control Hierarchical to: No other components. Dependencies: FDP_ACC.1 Subset of access control FMT_MSA.3 Static attribute initialisation FDP_ACF.1.1/Deleg The TSF shall enforce the Delegation SFP to objects based on the following: Delegated Entities and commands with the delegated permission defined in the delegation table row, locality, pcrInfo and key handle of the key in the Delegation owner blob. FDP_ACF.1.2/Deleg The TSF shall enforce the following rules to determine if an operation among controlled subjects and controlled objects is allowed: (1) The TSF shall disallow the execution of a command in a DSAP session if the permission of this command is not set in the delegation table row in the Delegation owner blob used for the DSAP session, Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 32 of 67 (2) The TSF shall disallow the execution of a command in a DSAP session if the PCR_SELECTION of the DSAP session is not NULL and the pcrInfo of the DSAP session does not match the current PCR value of the PCR_SELECTION and locality. FDP_ACF.1.3/Deleg The TSF shall explicitly authorize access of subjects to objects based on the following additional rules: if the TPM command is listed in the table at [6], section 20.2.1 “Owner Permission Settings” or the key is listed in the table at [6] section 20.2.3 “Key Permission Settings”, then the TPM owner or the key user can delegate that capability to a trusted process. FDP_ACF.1.4/Deleg The TSF shall explicitly deny access of subjects to objects based on the following additional rules: if the TPM command is listed in the table at [6], section 20.2.2 “Owner commands not delegated” or the key is listed in the table at [6], section 20.2.4 “Key commands not delegated”, then the command can not be delegated. FDP_ACF.1/KeyMan Security attribute based access control Hierarchical to: No other components. Dependencies: FDP_ACC.1 Subset access control FMT_MSA.3 Static attribute initialisation FDP_ACF.1.1/KeyMan The TSF shall enforce the Key Management SFP to objects based on the following: (1) subjects: commands with security attributes ownerAuth, srkAuth, AuthData,locality, physical presence; (2) objects: (a) EK with the SFR-related security attribute ownership of the TOE, (b) SRK with the SRF related security attributes disableOwnerClear and disableForceClear of the TOE, (c) User keys with the security attributesauth1-2 -16 . (DRG.3.5) Statistical test suites cannot practically distinguish the random numbers from output sequences of an ideal RNG. The random numbers must pass test procedure A. Application Note 2: The functional requirement FCS_RNG.1 is a refinement of the FCS_RNG.1 defined in the Protection Profile [8] according to “Anwen- dungshinweise und Interpretationen zum Schema (AIS)” [11]. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 45 of 67 7.2 Objects, Subjects, User Roles and Operations The Subjects, User Roles Objects, and Operations used in the definition of the Security Functional Requirements are all defined in the PP [8] section 1.3.4. 7.3 Security Assurance Requirements The security assurance requirements (SAR) of the TOE are the assurance components of the Evaluation Assurance Level 4 (EAL4) as defined in the Common Criteria [1] [2] [3] and augmented with ALC_FLR.1 and ADV_VAN.4. They are all drawn from the Common Criteria V3.1 part 3. The security assurance components are listed in Table 3. The security assurance requirements defined in Table 4 are defined in section 6.2 of the PP [8]. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 46 of 67 Table 3: Assurance components # Assurance Class Assurance Component Assurance Components description 1 ADV_ARC.1 Security architecture description 2 ADV: Development ADV_FSP.4 Complete functional specification 3 ADV_IMP.1 Implementation representation of the TSF 4 ADV_TDS.3 Basic modular design 5 AGD: Guidance documents AGD_OPE.1 Operational user guidance 6 AGD_PRE.1 Preparative procedures 7 ALC_CMC.4 Production support, acceptance procedures and automation 8 ALC: Life-cycle support ALC_CMS.4 Problem tracking CM coverage 9 ALC_DEL.1 Delivery procedures 10 ALC_DVS.1 Identification of security measures 11 ALC_LCD.1 Developer defined life-cycle model 12 ALC_FLR.1 Basic flow remediation -- augmented 13 ALC_TAT.1 Well-defined development tools 14 ASE_CCL.1 Conformance claims 15 ASE: Security Target evaluation ASE_ECD.1 Extended components definition 16 ASE_INT.1 ST introduction 17 ASE_OBJ.2 Security objectives 18 ASE_REQ.2 Derived security requirements 19 ASE_SPD.1 Security problem definition 20 ASE_TSS.1 TOE summary specification 21 ATE: Tests ATE_COV.2 Analysis of coverage 22 ATE_DPT.1 Testing: basic design 23 ATE_FUN.1 Functional testing 24 ATE_IND.2 Independent testing – sample 25 AVA : Vulnerability assessment AVA_VAN.4 Methodical vulnerability analysis -- augmented Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 47 of 67 7.4 Security Requirements Rationale The security requirements rationale of the TOE are defined and described in the PP [8] section 6.3. The security objectives O.Crypto_Key_Man and O.Reporting are covered by the security functional requirement FCS_CKM.1/AES. O.Crypto_Key_Man is mapped additionally to: - FCS_CKM.1/AES: Cryptographic key generation requires the TOE to generate AES keys with a key size of 128 bits according standards. O.Reporting is mapped to: - FCS_CKM.1/AES: Cryptographic key generation requires the TOE to generate AES keys with a key size of 128 bits. The security functional requirement FCS_CKM.1/AES has the following dependencies: - FCS_CKM.4 Cryptographic key destruction Rational: fulfilled - FCS_CKM.2 Cryptographic key distribution, or FCS_COP.1 Cryptographic operation Rational: fulfilled by FCS_COP.1/SymEnc2 The security objective O.Crypto_Key_Man is covered by the security functional requirement FCS_COP.1/SymEnc2. O.Crypto_Key_Man is mapped additionally to: - FCS_COP.1/SymEnc2: Symmetric encryption and decryption in accordance with a specified cryptographic algorithm AES, modes CBC and CTR, and cryptographic key sizes of 128 bits. The security functional requirement FCS_COP.1/SymEnc2 has the following dependencies: - FDP_ITC.1 Import of user data without security attributes, or FDP_ITC.2 Import of user data with security attributes, or FCS_CKM.1 Cryptographic key generation Rational: fulfilled by FCS_CKM.1/AES - FCS_CKM.4 Cryptographic key destruction Rational: fulfilled Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 48 of 67 8 TOE Summary Specification The product overview is given in section 2.1. In the following the security functionality and the assurance measures of the TOE are described. 8.1 TOE Security Features This section contains the definition and description of the security features (SF) of the TOE. The TOE provides five security features (SF) to meet the security functional requirements. The security features are: SF_CRY: Cryptographic Support SF_I&A: Authentication and Identification SF_ACC: Access Control SF_GEN General SF_P&T Protection and Test 8.1.1 SF_CRY - Cryptographic Support There are several functions within the TOE related to cryptographic support: generation of random numbers, generation of asymmetric key pairs, RSA digital signature (generation and verification), data encryption and decryption, key destruction, the generation of hash values and the generation and verification of MAC values. The TOE supports the generation of cryptographic keys in accordance with the specified cryptographic key generation algorithm RSA key generator and specified cryptographic key sizes RSA 512, 1024 and 2048 bits that meet the following: P1363 [P1363]. The source of randomness is the internal random generator (RNG). The covered security functional requirement is FCS_CKM.1. The TOE supports the generation of symmetric cryptographic keys in accordance with the specified cryptographic key generation algorithm AES key generator and specified cryptographic key sizes 128 bits. The covered security functional requirement is FCS_CKM.1/AES. The TOE supports the destruction of cryptographic keys by erasure of volatile memory areas containing cryptographic keys in accordance with FIPS PUB 140-1 [FIPS_140], section 4.8.5. The covered security functional requirement is FCS_CKM.4. The TOE performs the hash calculation in accordance with the specified cryptographic algorithm SHA-1 (cryptographic key sizes not available) that meets FIPS PUB 180-2 [FIPS_180]. The covered security functional requirement is FCS_COP.1/SHA. The TOE performs HMAC calculation and verification in accordance with the specified cryptographic algorithm HMAC (SHA-1) and cryptographic key sizes 160 bits that meet RFC2104 [RFC2104] and FIPS PUB 180-2 [FIPS_180]. The covered security functional requirement is FCS_COP.1/HMAC. The TOE performs signature generation and signature verification in accordance with the specified cryptographic algorithm RSA signature scheme [5] section 31.2.1, 31.2.2 and 31.2.3, and cryptographic key sizes RSA 512, 1024 and 2048 bits that meet PKCS#1 V2.0 [PKCS]. The TOE Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 49 of 67 uses the internal RNG as the source for any randomness that the process may require. The covered security functional requirement is FCS_COP.1/RSA_Sig. The TOE performs encryption and decryption in accordance with the specified cryptographic algorithm RSA encryption scheme [5] section 31.1.1, 31.1.2 and 31.1.3 and cryptographic key sizes RSA 512, 1024 and 2048 bits that meet PKCS#1v2.0 [PKCS]. The covered security functional requirement is FCS_COP.1/RSA_Enc. The TOE performs the encryption and decryption in accordance with the specified cryptographic algorithm AES in the CBC mode and CTR mode and cryptographic key size of 128 bits that meet FIPS PUB 197 [FIPS_197], and the specified cryptographic algorithm MGF1 and cryptographic key sizes of 160 bits that meet PKCS#1v2.0 [PKCS]. The covered security functional requirement is FCS_COP.1/SymEnc and FCS_COP.1/SymEnc2. The TOE provides a deterministic random number generator (DRNG) implemented in software to provide random numbers and a true random generator, which is used for the seeding of the DRNG. The TOE provides random numbers that fulfils the requirements from the functional class DRG.3 of [11]. The covered security functional requirement is FCS_RNG.1. The SF_CRY “Cryptographic Support” covers the following security functional requirements: FCS_CKM.1, FCS_CKM.4, FCS_COP.1 and FCS_RNG.1. 8.1.2 SF_I&A - Authentication and Identification The TPM provides four protocols for authentication and identification to authorize the use of entities without revealing the authorization data (AuthData) on the network or the connection to the TPM. The basic premise is to prove knowledge of a shared secret. This shared secret is the identification and authentication data, which is called authorization data in the TPM Main Specification. In both cases, the protocol exchanges nonce-data so that both sides of the transaction can compute a MAC value using shared secrets and nonce-data. Each side generates the MAC value and can compare to the value transmitted. Network listeners cannot directly infer the AuthData from the hashed objects sent over the network. The first protocol is the “Object-Independent Authorization Protocol” (OIAP), which allows the exchange of nonces with a specific TPM. Once an OI-AP session is established, its nonces can be used to authorize the use any entity managed by the TPM. The session can live indefinitely until either party request the session termination. The TPM_OIAP function starts the OIAP session. The second protocol is the “Object Specific Authorization Protocol” (OSAP)”. The OSAP allows establishment of an authentication session for a single entity. The session creates nonces that can authorize multiple commands without additional session-establishment overhead, but is bound to a specific entity. The TPM_OSAP command starts the OSAP session. The TPM_OSAP specifies the entity to which the authorization is bound. The third protocol is the “Delegation Specific Authorization Protocol” (DSAP)”. The DSAP allows establishment of an authentication session for the delegation model (a delegation of individual TPM owner privileges to individual entities). The session creates nonces that can authorize multiple commands without additional session-establishment overhead, but is bound to a specific entity. The TPM_DSAP command starts the DSAP session. The TPM provides the transport session protocol. The transport session protocol creates a shared secret and then uses the shared secret to authorize and protect commands sent to the TPM using this session. The protection of the sent command is done by encrypting the sent command using a XOR algorithm with a one-time pad. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 50 of 67 The TOE allows access to commands and objects with the “World” access on behalf of the user to be performed before the user is authenticated/identified. Each user has to be successfully authenticated/identified before allowing any other TSF-mediated actions on behalf of that user. The TOE controls the access to all protected functions (e.g. commands) and shielded locations in accordance to the access-rights only through the authentication mechanism, i.e. by supplying the appropriate authentication/identification token (a 20 byte long HMAC value). A re-authentication of users is done by using the authentication protocol with a new nonce for each message and response. The access-rights of commands, data and keys are defined by security attributes (see PP [8], Table 1). The TOE authenticates any user's claimed identity and reacts on the detection of unsuccessful authentication attempts occur related to the same user according to the rule “dictionary attack”. The covered security functional requirements are FIA_UID.1, FIA_UAU.1, FIA_UAU.4, FIA_UAU.5, FIA_UAU.6 and FIA_AFL.1. The TOE supports the management of TSF data by restricting the ability to modify and create the authentication data to different roles (e.g. TPM owner, User under physical presence, Entity owner, authorized user) based on different rules and restricting the ability to reset the TPM dictionary attack mitigation mechanism and the creation of migration tickets to the TPM owner, by using access control mechanisms during the command processing. The covered security functional requirements are: - FMT_MTD.1/AuthData - FMT_MTD.1/Deleg - FMT_MTD.1/Lock - FMT_MTD.1/MigK The TOE associate user security attributes (e.g. authData, locality, physical presence, authorization handle and shared secret if the subject is a OSAP session and authorization associated with the delegation blob if the subject is a DSAP session) with subjects acting on the behalf of that user. The TOE enforces different rules, implemented in the appropriate command, on the initial association and governing changes of user security attributes with subjects acting on the behalf of users. The covered security functional requirement is FIA_USB.1. The SF_I&A “Authentication and Identification” covers the following security functional requirements: FIA_UID.1, FIA_UAU.1 FIA_UAU.4, FIA_UAU.5, FIA_UAU.6, FIA_AFL.1, FMT_MTD.1 and FIA_USB.1. 8.1.3 SF_ACC – Access Control The TOE provides the security function policies TPM Mode Control SFP (MCT_SFP), Delegation SFP (Del_SFP), Key Management SFP (KeyM_SFP), Key Migration SFP (KMig_SFP), Measurement And Reporting SFP (M&R_SFP), Non-volatile Storage SFP (NVS_FSP), Monotonic Counter SFP (MC-SFP), Export and Import of Data (EID_SFP) and Direct Anonymous Attestation Protocol SFP (DAA_SFP) to protect the sensitive subjects, objects and operations of the TOE. The security policies are described in section 8.2 and in the PP [8], section 6.1. The covered security functional requirements are: FDP_ACC.1/Modes FDP_ACC.1/Deleg FDP_ACC.1/KeyMan FDP_ACC.1/MigK FDP_ACC.1/M&R Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 51 of 67 FDP_ACC.1/NVS FDP_ACC.1/MC FDP_ACC.1/EID FDP_ACC.1/DAA. The TOE enforces the different security function policies on subjects (e.g. commands, roles), objects (e.g. keys, user data) and operations (e.g. signature generation, encryption and decryption) based on different security attributes (e.g. TPM_AUTH_DATA_USAGE, TPM_KEY_USAGE, TPM_KEY_FLAGS). Any processing is only allowed if the respective security attribute has the correct value. The covered security functional requirements are: - FDP_ACF.1/Modes - FDP_ACF.1/Deleg - FDP_ACF.1/KeyMan - FDP_ACF.1/MigK - FDP_ACF.1/M&R - FDP_ACF.1/NVS - FDP_ACF.1/MC - FDP_ACF.1/EID - FDP_ACF.1/DAA. For the TPM different operational modes are defined by different security attributes. The security attributes are stored in structures at shielded locations. The management of the security attributes (e.g. the ability to modify, set to default value, to delete, to enable, to disable, to create) are restricted to different roles und sometimes additionally based on different rules. These restrictions are defined in different structures and are stored at shielded locations or directly programmed in the specific commands. The TOE checks if there are no restrictions violated before processing the management of the security attribute. This functionality is used in principle for all security functional requirements of FMT_MSA.1. The covered security functional requirements are: - FMT_MSA.1/Modes - FMT_MSA.1/PhysP - FMT_MSA.1/DFT - FMT_MSA.1/DT - FMT_MSA.1/KeyMan - FMT_MSA.1/KEvi - FMT_MSA.1/MigK - FMT_MSA.1/MC - FMT_MSA.1/DAA. The TOE ensures that only secure values are accepted for security attributes. The covered security functional requirement is FMT_MSA.2. The TOE supports the static security attribute initialization. Different security enforcing policies are allowed to provide permissive and/or restrictive default values for security attributes. The TPM owner and the user “World” under physical presence are allowed to specify alternative initial values to override the default values when an object or information is created. The permissions to change the security attributes are stored in different structures or/and controlled during the command processing. This functionality is used in principle for all security functional requirements of FMT_MSA.3. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 52 of 67 The covered security functional requirements are: - FMT_MSA.3/Deleg - FMT_MSA.3/KeyMan - FMT_MSA.3/DAA - FMT_MSA.3/M&R - FMT_MSA.3/NVS - FMT_MSA.3/MC - FMT_MSA.3/EID. The TOE ensures that any previous information content of a resource is made unavailable upon the deallocation of the resource from any object by overwriting or deallocation of the specific memory area. The covered security functional requirement is FDP_RIP.1. The export and import of user data, outside of the TOE and controlled under the SFP, is done under the control of the Key Management SFP, Key Migration SFP and Export and Import of Data SFP. The TOE enforces the export of the user data with the user data's associated security attributes and ensures that the security attributes are unambiguously associated with the exported user data. The TOE use the security attributes associated with the imported user data and ensures that interpretation of the security attributes of the imported user data is as intended by the source of the user data. The covered security functional requirements are FDP_ETC.2 and FDP_ITC.2. The SF_ACC “Access Control” covers the following security functional requirements: FDP_ACC.1, FDP_ACF.1, FDP_ETC.2, FDP_ITC.2, RDP_RIP.1, FMT_MSA.1, FMT_MSA.2 and FMT_MSA.3. 8.1.4 SF_GEN – General The TOE provides the roles: TPM owner, Entity owner, Delegated entity, Entity user, User using operatorAuth and “World” and associates users with roles. The role is bound always on specific authentication token, e.g. for the TPM owner it is the TPM ownership token and for the entity owner it is the entity token. The roles are enforced within the TOE because there are specific commands and specific keys bond to different token. The covered security functional requirement is FMT_SMR.1. The TOE performs the following management functions: - Management of the TPM modes of operation, - Management of Delegation Tables and Family Tables, - Management of security attributes of keys, - Management of security attributes of PCR, - Management of security attributes of NV storage areas, - Management of security attributes of monotonic counters and - Reset the Action Flag of TPM dictionary attack mitigation mechanism. The covered security functional requirement is FMT_SMF.1. The TOE provides an authentication functionality to consistently interpret authentication reference data of the TPM owner, delegated entities, owner of entities, user of entities and User using operatorAuth, when shared between the TSF and another trusted IT product and uses roles when interpreting the TSF data from another trusted IT product. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 53 of 67 The covered security functional requirement is FPT_TDC.1. The TOE provides the transmission and reception of user data in encrypted manner, to protect the user data from unauthorized disclosure. The covered security functional requirements are FDP_UCT.1/Exp and FDP_UCT.1/Imp. The TOE provides the transmission and reception of user data in encrypted and signed manner, to protect the user data from undiscovered modification, deletion, insertion and replay errors (only required for sessions). Interpreting the signature and the decrypted user data command input the TOE is able to determine, whether modification, deletion and insertion and replay has occurred. The covered security functional requirements are FDP_UIT.1/Data and FDP_UIT.1/Session. The TOE provides the generation of an audit record of the event Transport session including different information (e.g. type and outcome of event). The covered security functional requirement is FAU_GEN.1. The TOE provides reliable time stamps as number of ticks since start of the tick session. The covered security functional requirement is FPT_STM.1. The TOE provides the generation of evidence of origin for transmitted data at the request of the originator and is able to verify the evidence of origin of transmitted data to recipient, by calculation and verifying a digital signature of the data. The covered security functional requirements are FCO_NRO.1/STS and FCO_NRO.1/M&R. The SF_GEN “General” covers the following security functional requirements: FMT_SMR.1, FMT_SMF.1, FDP_TDC.1, FDP_UCT.1, FDP_UIT.1, FPT_STM.1, FCO_NRO.1 and FAU_GEN.1. 8.1.5 SF_P&T – Protection and Test The TOE preserves a secure state when a failure of any crypto operations including RSA encryption, RSA decryption, AES encryption, AES decryption, SHA-1, RNG, RSA signature generation, HMAC generation or failure of any commands or internal operations and authorization occurs. The covered security functional requirement is FPT_FLS.1. The TOE supports a suite of self tests during startup and at the request of an authorized user to demonstrate the correct operation of the TSF and to verify the integrity of stored TSF executable code. The covered security functional requirement is FPT_TST.1. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 54 of 67 The TOE supports the Direct Anonymous Attestation Protocol. The covered security functional requirement is FPR_UNL.1. The TOE resists physical manipulation and physical probing to the TSF by responding automatically such that the SFRs are always enforced. The TOE supports the following functions for protection against and detection of physical manipulation and probing:  The correct function of the TOE is only given in the specific range of the environmental operating parameters. To prevent an attack exploiting those circumstances the external clock conditions, the temperature and electro magnetic radiation (e.g. light) are observed to detect if the specified range is left. The TOE falls into the defined secure state in case of a specified range violation2. The defined secure state causes the chip internal reset process.  The data in the EEPROM are automatically monitored by the EDC. In case of a 1 bit error the memory content is corrected by the ECC, in case of more bit errors the TOE enters the secure state.  Several mechanisms protect the TOE against snooping the design or the user data during operation and even if it is out of operation (power down). There are topological design measures for disguise, such as the protection of security critical lines by specific intelligent and intrinsic shielding including secure wiring of security critical signals. The entire design is kept in a non standard way to prevent attacks using standard analysis methods. A dedicated CPU with a non public bus protocol is used which makes analysis complicated.  The readout of data can be controlled with the use of encryption. An attacker can not use the data obtained by espionage due to their encryption. The memory contents of the TOE are encrypted on chip to protect against data analysis on stored data as well as on internally transmitted data.  The life cycle of the TOE is split-up in several phases. The TOE development environment (phase 1 and phase 2), the TOE preparation (phase 3, 4 and 5) and the TOE operational (phase 6 and 7) is a rough split-up from TOE point of view. These phases are implemented in the TOE as Test Mode (phase 1 and 2) and User Mode (phase 2 to 7). During start-up of the TOE the decision for the User Mode or the Test Mode is taken dependent on several phase identifiers. If Test Mode is the active phase the TOE requests authentication before any action.  The virtual physical address mapping together with the memory management unit (MMU) gives the operating system the possibility to define different access rights for memory areas. In case of an access violation the MMU will generate a non maskerable interrupt (NMI) and an interrupt service routine react on the access violation.  The covered security functional requirement is FPT_PHP.3. The SF_P&T “Protection & Test” covers the following security functional requirements: FPT_FLS.1, FPR_UNL.1, FPT_PHP.3 and FPT_TST.1 2 The operating state checking this functionality can only work when the TOE is running and can not prevent reverse engeniering. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 55 of 67 8.1.6 Assignment of Security Functional Requirements The justification of the mapping between security functional requirements and the security features is given in sections 8.1.1 – 8.1.5. The results are shown at Table 4. Security Functional Requirement SF_ CRY SF_ I&A SF_ ACC SF_ GEN SF_ P&T FMT_SMR.1 X FMT_SMF.1 X FDP_ACC.1/Modes X FDP_ACC.1/Deleg X FDP_ACC.1/KeyMan X FDP_ACC.1/MigK X FDP_ACC.1/M&R X FDP_ACC.1/NVS X FDP_ACC.1/EID X FDP_ACC.1/MC X FDP_ACC.1/DAA X FDP_ACF.1/Modes X FDP_ACF.1/Deleg X FDP_ACF.1/KeyMan X FDP_ACF.1/MigK X FDP_ACF.1/M&R X FDP_ACF.1/NVS X FDP_ACF.1/MC X FDP_ACF.1/EID X FDP_ACF.1/DAA X FMT_MSA.1/Modes X FMT_MSA.1/PhysP X FMT_MSA.1/DFT X FMT_MSA.1/DT X FMT_MSA.1/KeyMan X FMT_MSA.1/MigK X FMT_MSA.1/Kevi X FMT_MSA.1/MC X Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 56 of 67 FMT_MSA.1/DAA X FMT_MSA.2 X FMT_MSA.3/Deleg X FMT_MSA.3/KeyMan X FMT_MSA.3/M&R X FMT_MSA.3/NVS X FMT_MSA.3/MC X FMT_MSA.3/EID X FMT_MSA.3/DAA X FDP_ETC.2 X FDP_ITC.2 X FDP_RIP.1 X FCS_CKM.1 X FCS_CKM.1/AES X FCS_CKM.4 X FCS_RNG.1 X FCS_COP.1/SHA X FCS_COP.1/HMAC X FCS_COP.1/RSA_Sig X FCS_COP.1/RSA_Enc X FCS_COP.1/SymEnc X FCS_COP.1/SymEnc2 X FMT_MTD.1/AuthData X FMT_MTD.1/Deleg X FMT_MTD.1/Lock X FMT_MTD.1/MigK X FIA_UID.1 X FIA_UAU.1 X FIA_UAU.4 X FIA_UAU.5 X FIA_UAU.6 X FIA_AFL.1 X FIA_USB.1 X FPT_TDC.1 X FCO_NRO.1/M&R X FCO_NRO.1/STS X Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 57 of 67 FDP_UCT.1/Exp X FDP_UCT.1/Imp X FDP_UIT.1/Data X FDP_UIT.1/Sesson X FAU_GEN.1 X FPT_STM.1 X FPT_FLS.1 X FPT_TST.1 X FPR_UNL.1 X FPT_PHP.3 X Table 4: Assignment security functional requirement to security features Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 58 of 67 8.2 Security Function Policy The TOE enforces user access to cryptographic IT assets in accordance with the following security function policies (SFP)  “TPM Mode Control SFP” (MCT-SFP)  “Delegation” (Del-SFP)  “Key Management SFP” (KeyM-SFP)  “Key Migration SFP” (KMig-SFP)  “Measurement and Reporting SFP” (M&R-SFP)  “Non-volatile Storage SFP” (NVS-SFP)  “Monotonic Counter SFP” (MC-SFP)  “Export and Import of Data SFP” (EID-SFP)  “Direct Anonymous Attestation Protocol SFP (DAA-SFP) to meet the security functional requirements. These policies include different operational roles, subjects, objects and operations which are described in the following. 8.2.1 Operational roles The following objects are defined: (1) TPM owner The TPM owner controls the use of the Endorsement Key and of the Storage Root Key. The TPM owner creates and controls the Attestation Identity Keys. The TPM Owner does the selection and the authorization of migration authorities at any time prior to key migration. The TPM owner may partly delegate his authorization to other users. (2) Delegated entity The TPM owner or another delegated entity (within their authorization) may delegate its authorization for selected commands to a delegated entity by means of a delegation table in a delegation blob. The delegation table lists the command ordinals allowable for use by the delegate, the identity of a process that can use the ordinal list, and the AuthData value to use the ordinal list (cf. to [5] section 29 for details). (3) Entity owner The user creating an entity and defining the entity owner token AuthData as security attribute of this entity by means of the AuthData Insertion Protocol (ADIP). The presentation of the entity owner token is required for loading this entity into the TPM. (4) Entity user Entity user uses a loaded entity. The authentication of more than one entity user, i.e., verification of knowledge of the entity user token (i.e. usageAuth), may be required as a condition of using a loaded entity. (5) User using operatorAuth User under physical presence may define authorization data operatorAuth for a user role allowed to deactivate temporarily the TPM. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 59 of 67 (6) World The role “World” is assigned to any user not authenticated for any role listed above. The TPM knows some user roles by permanently stored individual authentication data: the TPM owner using ownerAuth and a user role defined by operatorAuth3. Other user roles are object specific (entity owner and entity user). The users may use these roles except “World” after authentication only. The user establishing an OSAP session negotiates the authorization handle and the shared secret as user authentication data during this session. The user have the following security attributes which are indicated to the TPM in a platform specific way - Physical presence The TCG policies require physical presence to be indicated to the TPM to enable the user to execute privileged commands or to alter the following states if no TPM owner is defined: disabled, deactivated, and (ownership-)disabled (cf. [5], section 10, and section 6.1.3 TPM Operational Mode of the PP [8] for further details). The TPM and platform manufacturer defines the way how the TPM physical presence is asserted by hardware input. The physical presence may be asserted by means of the command TSC_PhysicalPresence (cf. [7], section 6.6). - Locality When a platform is designed with a trusted process, the trusted process may wish to communicate with the TPM and indicate that the command is coming from the trusted process. The commands that the trusted process sends to the TPM are the normal TPM commands with a Locality modifier that indicates that the trusted process initiated the command. The TPM accepts the command as coming from the trusted process merely due to the fact that the modifier is set (cf. [5], chapter 16, for further details). 8.2.2 Subjects The following subjects are defined: (1) The initialization process initiated by the TPM_Init signal of the platform to the TPM. (2) The self test which is started after initialization and continued after the TPM_ContinueSelfTest command is received. (3) A process receiving, executing and responding to a single command. (4) A session (sequence of commands) which may establish shared secrets, encryption keys, and session logs. The session may be an authorization session (cf.[5], section 13), monotonic counter sessions (cf. [5], section 20.1), a tick session ( cf. [5], section 20.1) or a transport session (cf. [5], section 18). In order to communicate with a subject, users shall first associate themselves with that subject, through a process called binding. Binding is established with 3 This user is some times reffered to as „operator“ Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 60 of 67 - the user “World” by default, - other users by means of authorization protocols as described in the TPM Main Part 1 Design Principles [5], chapter 13. The subject is associated with the security attributes - the authData, locality and physical presence presented by the user, - the rolling nonce, authorization handles if the subject is a session, - the authorization handle and the shared secret if the subject is a OSAP session, - the authorization associated with the delegation blob if the subject is a DSAP session, - the current PCR values. The Object Specific Authorization Protocol (OSAP) session is bound to an object. The Object- Independent Authorization Protocol (OIAP) session is independent on any object. 8.2.3 Objects, Operations and Security Attributes A detailed description is given in PP [8] section 1.3.4 and Table 1. The objects treated by the TOE are the data generated or stored in the shielded location or to be imported into or be exported from the shielded locations. The operations of the TOE are the protected capabilities of the TPM which are defined by the TPM commands (cf. [7]). The Table 1 of the PP [8] lists the objects, the operation via reference to the commands as described in the TPM specification [7] and the security attributes of the objects as described in the TPM specification [6]. The objects listed Table 1 of the PP [8] are user data except the EK and SRK. The TSF data are defined as: - EK and SRK, - authentication reference data of the TPM owner, the entity using operatorAuth, delegated entities, owner of entities, user of entities, and - TPM flags disable, deactivated and ownership as part of the TPM_PERMANENT_FLAGS, security attributes of the objects and subjects. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 61 of 67 9 Reference 9.1 Literature [FIPS_197] FIPS PUB 197, Advanced Encryption Standard (AES), November 26, 2001 U.S. Department of Commerce, National Institute of Standards and Technology, Information Technology Laboratory (ITL) [FIPS_140] FIPS PUB 140-1, Security Requirements for Cryptographic Modules, January 11, 1994, U.S. Department of Commerce, National Institute of Standards and Technology [FIPS_180] FIPS PUB 180-2, Secure Hash Standard, August 1, 2002, U.S. Department of Commerce, National Institute of Standards and Technology, Information Technology Laboratory (ITL) [RFC2104] RFC 2104: HMAC: Keyed-Hashing for Message Authentication, http://www.ietf.org/rfc/rfc2104.txt [PKCS] PKCS #1 v2.0: RSA Cryptography Standard, RSA Laboratories, October 1, 1998 [P1363] IEEE P1363-2000, Standard Specifications for Public Key Cryptography, Institute of Electrical and Electronics Engineers, Inc. (note reaffirmation PAR is actual running) [N800] NIST Special Publication 800-38A, 2001 Edition, Recommendation for Block Cipher Modes of Operation Methods and Techniques [1] Common Criteria for Information Technology Security Evaluation, Part 1: Introduction and General Model; Version 3.1, Revision 4, CCMB-2012-09-001, September 2012 [2] Common Criteria for Information Technology Security Evaluation, Part 2: Security Functional Requirements; Version 3.1, Revision 4, CCMB-2012-09-002, September 2012 [3] Common Criteria for Information Technology Security Evaluation, Part 3: Security Assurance Requirements; Version 3.1, Revision 4, CCMB-2012-09-003, September 2012 [4] Common Methodology for Information Technology Security Evaluation Methodology, Evaluation Methodology, Version 3.1, Revision 4, CCMB-2012-09-004, September 2012 [5] TPM Main Part 1 Design Principles, Specification Version 1.2, Revision 116, 1 March 2011, Trusted Computing Group, Incorporated [6] TPM Main Part 2 TPM Structures, Specification Version 1.2, Revision 116, 1 March 2011, Trusted Computing Group, Incorporated [7] TPM Main Part 3 Commands, Specification Version 1.2, Revision 116, 1 March 2011, Trusted Computing Group, Incorporated [8] Trusted Computing Group Protection Profile PC Client Specific Trusted Platform Module TPM Family 1.2; Level 2 Revision 116, Version 1.3; 13 July, 2014 [9] TCG PC Client Specific TPM Interface Specification (TIS), Specification Version 1.3, 21 March 2013 [10] OPTIGATM TPM SLB 9670 TPM1.2 Databook, Infineon Technologies AG, Revision 1.9, 2017-06-27 [11] Anwendungshinweise und Interpretationen zum Schema (AIS), AIS 20 Version 3, Bundesamt für Sicherheit in der Informationstechnik [63] TPM Trusted Platform Module Version 1.2, Application Note Basic Platform Manufacturer Guideline, Infineon Technologies AG, V1.00, Edition 2014-09 Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 62 of 67 [88] OPTIGATM TPM SLB 9670 TPM1.2 Errata and Updates, Infineon Technologies AG, Revision 1.9, 2017-07-14 Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 63 of 67 9.2 List of Abbreviations CC - Common Criteria CI - Chip Identification mode (STS-CI) CIM - Chip Identification Mode (STS-CI), same as CI CRC - Cyclic Redundancy Check DPA - Differential Power Analysis DFA - Differential Failure Analysis DRNG - Deterministic Random Number Generator EAL - Evaluation Assurance Level ECC - Error Correction Code EDC - Error Detection Code EEPROM - Electrically Erasable and Programmable Read Only Memory EMA - Electro magnetic analysis HW - Hardware IC - Integrated Circuit ID - Identification IRAM - Internal Random Access Memory IT - Information Technology I/O - Input/Output MED - Memory Encryption and Decryption MMU - Memory Management Unit OS - Operating system PLL - Phase Locked Loop PP - Protection Profile RMS - Resource Management System RNG - Random Number Generator RAM - Random Access Memory ROM - Read Only Memory SF - Security Feature SFP - Security Function Policy SFR - Special Function Register SPA - Simple power analysis ST - Security Target STS - Self Test Software SW - Software TM - Test Mode (STS) TOE - Target of Evaluation TSF - TOE Security Functionality TSP - TOE Security Policy UM - User Mode (STS) XRAM - eXtended Random Access Memory Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 64 of 67 9.3 Glossery Blob: Opaque data of fixed or variable size. The meaning and interpretation of the data is outside the scope and context of the Subsystem. Central Processing Unit(CPU): Logic circuitry for digital information processing. Chip  Integrated Circuit Chip Identification Mode: Operational status phase of the TOE, in which actions for identifying the individual take place. Controller: IC with integrated memory, CPU and peripheral devices. CRC: Process for calculating checksums for error detection. Challenger: An entity that requests and has the ability to interpret integrity metrics from a Subsystem. EEPROM: Nonvolatile memory permitting electrical read and write operations. Endorsement Key: A term used ambiguously, depending on context, to mean a pair of keys, or the public key of that pair, or the private key of that pair; an asymmetric key pair generated by or inserted in a TPM that is used as proof that a TPM is a genuine TPM; the public endorsement key (PUBEK); the private endorsement key (PRIVEK). Firmware: Part of the software implemented as hardware. Hardware: Physically present part of a functional system. Hash value: Result of a hash calculation e.g. SHA-1. HMAC: A mechanism for message authentication according RFC 2104 using the cryptographic hash function SHA-1. Integrity metrics: Values that are the results of measurements on the identity for the TPM. Integrated Circuit: Component comprising several electronic circuits implemented in a highly miniaturized device using semiconductor technology. Internal Random Access Memory: RAM integrated in the CPU. Man-in-the-middle attack: An attack by an entity intercepting communications between two others without their knowledge and by intercepting that communication able to obtain or modify the information between them. Mechanism: Logic or algorithm which implements a specific security function in Hardware or software. Memory: Hardware part containing digital information (binary data). Memory Encryption and Decryption: Method of encoding/decoding data transfer between CPU and memory. Memory Management Unit (MMU): The MMU controls the different access rights of memory areas. Microcontroller  Controller Microprocessor  CPU Migratable: A key that may be transported outside the specific TPM. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 65 of 67 Nonce: A nonce is a random number value that provides protection from replay and other attacks. Non-migratable: A key that cannot be transported outside the specific TPM. A key that is (statistically) unique to a particular TPM. Owner: The entity that owns the platform in which a TPM is installed. Since there is, by definition, a one-to-one relationship between the TPM and the platform, the Owner is also the Owner of the TPM. The Owner of the platform is not necessarily the “user” of the platform (e.g., in a corporation, the Owner of the platform might be the IT department while the user is an employee). The Owner has administration rights over the TPM. Platform Configuration Register (PCR): A PCR consists of a 160 bit field that holds a cumulatively updated hash value and a 4 byte status field. Private Endorsement Key (PRIVEK): The private key of the key pair that proves that a TPM is a genuine TPM. The PRIVEK is (statistically) unique to only one TPM. Protected function: Access to this function requires an authentication process. Public Endorsement Key(PUBEK): The public key that proves that a TPM is a genuine TPM. The PUBEK is (statistically) unique to only one TPM. Protection Profile: A document that defines all attacks and how they are resisted by the TPM, the RTM, and the methods by which these are incorporated into the platform. Random Access Memory: Volatile memory which permits write and read operations. Random Number Generator: Hardware part for generating random numbers. Read Only Memory: Nonvolatile memory which permits read operations only. Resource Management System: Part of the firmware containing EEPROM programming routines. Root of Trust for Measurement(RTM): The point from which all trust in the measure- ment process is predicated. Root of Trust for Reporting(RTR): The point from which all trust in reporting of measured information is predicated. Root of Trust for Storing(RTS): The point from which all trust in Protected Storage is predicated. RSA: An asymmetric encryption method using two keys: a private key and a public key. Reference: http://www.rsa.com. SAM: Service Algorithm Minimal Security Feature: Part(s) of the TOE used to implement part(s) of the security objectives. Security Target: Description of the intended state for countering threats. Self Test Software: Part of the firmware with routines for controlling the operating state and testing the TOE hardware. SHA-1: A hashing algorithm producing a 160-bit result from an arbitrary source as specified in FIPS 180-1. Shielded location: Storage location within the TPM with a protection against unauthorized access. Security Target for SLB9670_1.2 SLB9670_1.2 v1.3 66 of 67 Smart Card: Plastic card in credit card format with built-in chip. Storage Root Key (SRK): The root key of a hierarchy of keys associated with a TPM; generated within a TPM; a non-migratable key. Subsystem: The combination of the TSS and the TPM. Software: Information (non-physical part of the system) which is required to implement functionality in conjunction with the hardware (program). SPI Interface: Serial Peripheral Interface (SPI) is a standardized interface used e.g. in PC mainboards. Target of Evaluation: Product or system which is being subjected to an evaluation. Test Mode: Operational status phase of the TOE in which actions to test the TOE hardware take place. Threat: Action or event that might prejudice security. TpmProof: A random number stored within the TPM. The tpmProof is a unique secret for each TPM. Trusted Platform Module: The set of functions and data that are common to all types of platform, which must be trustworthy if the Subsystem is to be trustworthy; a logical definition in terms of protected capabilities and shielded locations. Trusted Platform Support Services (TSS): The set of functions and data which are common to all types of platform, which are not required to be trustworthy (and therefore do not need to be part of the TPM). TCG-protected capability: A function that is protected within the TPM, and has access to TPM secrets. Trusted Set (TS): Subsystem capability that must be trustworthy for the subsystem. TPM Identity: One of the anonymous PKI identities belonging to a TPM; a TPM may have multiple identities. User: An entity that uses the platform in which a TPM is installed. The only rights that a User has over a TPM are rights given to the User by the Owner. These rights are expressed in the form of authentication data, given by the Owner to the User, that permits access to entities protected by the Owner of the platform (e.g. in a corporation, the owner of the platform might be the IT department while the User is an employee). There can be multiple Users. User Mode: Operational status phase of the TOE in which actions intended for the user take place. Infineon Technologies – innovative semiconductor solutions for energy efficiency, mobility and security. www.infineon.com Published by Infineon Technologies AG