LEVEL 3 NON-PROPRIETARY SECURITY POLICY FOR ProtectServer Internal Express 2 (PSI-E2) © Copyright 2012-15 SafeNet, Inc. ALL RIGHTS RESERVED This document may be freely reproduced and distributed whole and intact including this copyright notice. SafeNet, Inc. reserves the right to make changes in the product or its specifications mentioned in this publication without notice. Accordingly, the reader is cautioned to verify that information in this publication is current before placing orders. The information furnished by SafeNet, Inc. in this document is believed to be accurate and reliable. However, no responsibility is assumed by SafeNet, Inc. for its use, or for any infringements of patents or other rights of third parties resulting from its use. CR-4056 Rev 5 TABLE OF CONTENTS Section Title Page 1. INTRODUCTION ..................................................................................................................................... 4 1.1 Purpose ............................................................................................................................................ 4 1.2 References ....................................................................................................................................... 4 1.3 Terminology ..................................................................................................................................... 5 1.4 Document Organization ................................................................................................................... 5 2. THE PSI-E2 CARD ................................................................................................................................. 5 2.1 Cryptographic Module Specification ................................................................................................ 5 2.2 Cryptographic Module Ports and Interfaces ..................................................................................... 6 2.3 Roles, Services, and Authentication ................................................................................................ 7 2.3.1 Services for Authorized Roles .................................................................................................. 8 2.3.2 Administrator Security Officer ................................................................................................... 8 2.3.3 Administrator ............................................................................................................................. 8 2.3.4 Token SO .................................................................................................................................. 9 2.3.5 Token User ............................................................................................................................... 9 2.3.6 Unauthenticated Operators ..................................................................................................... 10 2.4 Physical Security ............................................................................................................................ 10 2.5 Operational Environment ............................................................................................................... 10 2.6 Cryptographic Key Management ................................................................................................... 10 2.6.1 Key Generation ....................................................................................................................... 10 2.6.2 Key Access / Storage.............................................................................................................. 11 2.6.3 Security Functions .................................................................................................................. 15 2.7 Self-Tests ....................................................................................................................................... 17 2.7.1 Power-Up Self-Tests ............................................................................................................... 17 2.7.2 Conditional Self-Tests ............................................................................................................. 19 2.8 Mitigation of Other Attacks ............................................................................................................. 19 3. FIPS APPROVED MODE OF OPERATION ......................................................................................... 19 3.1 Description ..................................................................................................................................... 19 3.2 Invoking Approved Mode of Operation .......................................................................................... 20 3.3 Mode of Operation Indicator........................................................................................................... 20 3.4 Invoking Mode of Operation Indicator ............................................................................................ 20 4. DESIGN ASSURANCE ......................................................................................................................... 20 4.1 Distribution and Delivery of Module ............................................................................................... 20 Page 2 of 22 CR-4056 Rev 5 LIST OF TABLES Table Title Page Table 2-1 FIPS 140-2 Security Levels .......................................................................................................... 6 Table 2-2 FIPS 140-2 Logical Interfaces ...................................................................................................... 7 Table 2-3 Roles and Required Identification and Authentication ................................................................. 7 Table 2-4 Types of Available Services ......................................................................................................... 8 Table 2-5 List of Keys Stored in Module .................................................................................................... 14 Table 2-6 Access to Keys for Authorized Services .................................................................................... 14 Table 2-7 FIPS Approved Security Functions ............................................................................................ 15 Table 2-8 Non-Approved FIPS Allowed Security Functions ....................................................................... 16 Table 2-9 Non-Approved FIPS Allowed Key Derivation Mechanisms ........................................................ 16 Table 2-10 Non-Approved Key Derivation Mechanisms ............................................................................ 16 Table 2-11 Power-up Self-Tests ................................................................................................................. 18 Table 2-12 Conditional Self-Tests .............................................................................................................. 19 LIST OF FIGURES Figure Title Page Figure 2-1 ProtectServer Internal Express 2 Card ....................................................................................... 5 LIST OF APPENDICES Appendix Title Page APPENDIX A. ACRONYMS AND ABBREVIATIONS ............................................................................ 21 Page 3 of 22 CR-4056 Rev 5 1. INTRODUCTION 1.1 Purpose This is a non-proprietary Cryptographic Module Security Policy for the ProtectServer Internal Express 2 (PSI-E2). This security policy describes how the PSI-E2 meets the security requirements of FIPS 140-2 and how to operate the PSI-E2 in a secure FIPS 140-2 mode. This policy was prepared as a part of the Level 3 FIPS 140-2 validation of the PSI-E2. FIPS 140-2 (Federal Information Processing Standards Publication 140-2 - Security Requirements for Cryptographic Modules) details the U.S. Government requirements for cryptographic modules. More information about the FIPS 140-2 standard and validation program is available on the NIST web site at http://csrc.nist.gov/groups/STM/cmvp/index.html. 1.2 References This document deals only with operations and capabilities of the PSI-E2 in the technical terms of a FIPS 140-2 cryptographic module security policy. More information is available on the PSI-E2 and other SafeNet products from the following sources: The SafeNet internet site contains information on the full line of security products at http://www.safenet-inc.com/products/data-protection/hardware-security- modules/protectserver-hsms/ . For answers to technical or sales related questions please refer to the contacts listed on the SafeNet internet site at http://www.safenet-inc.com/company/contact.asp. SafeNet Contact Information: SafeNet, Inc. (Corporate Headquarters) 4690 Millennium Drive Belcamp, MD 21017 Telephone: 410-931-7500 TTY Users: 800-735-2258 Fax: 410-931-7524 SafeNet Canada, Inc. 20 Colonnade Road Suite 200 Ottawa, Ontario K2E 7M6 Telephone: +1 613 723 5077 Fax: +1 613 723 5079 SafeNet Sales: U.S. (800) 533-3958 International +1 (410) 931-7500 SafeNet Technical Support: U.S. (800) 545-6608 International +1 (410) 931-7520 Page 4 of 22 CR-4056 Rev 5 SafeNet Customer Service: U.S. (866) 251-4269 EMEA +44 (0) 1276 60 80 00 APAC 852 3157 7111 1.3 Terminology In this document the SafeNet ProtectServer Internal Express 2 card is referred to as the PSI-E2, the adapter, or the module. 1.4 Document Organization This document provides an overview of the PSI-E2 and explains the secure configuration and operation of the module. This introduction section is followed by Section 2, which details the general features and functionality of the PSI-E2. Section 3 specifically addresses the required configuration for the FIPS-mode of operation. 2. THE PSI-E2 CARD 2.1 Cryptographic Module Specification The SafeNet PSI-E2 is a cryptographic module is a multi-chip embedded hardware cryptographic module in the form of a PCI-Express card that provides a wide range of cryptographic functions using firmware and dedicated hardware processors. This document refers specifically to PSI-E2 hardware version VBD-05, Version Code 0200 with Firmware Version 5.00.02 Figure 2-1 ProtectServer Internal Express 2 Card Page 5 of 22 CR-4056 Rev 5 The module, running SafeNet's Cprov firmware, implements the Cryptoki cryptographic API as defined by RSA Data Security. While certain Cryptoki features are not supported, the module does provide a comprehensive compliance to the PKCS#11 standard as well as vendor-specific extensions. The cryptographic boundary for this module includes the metal cover enclosure that is outlined in red above, under which is a hard epoxy coating protecting the PCB. This boundary encapsulates the Data Ciphering Processor (DCP), embedded processor, SDRAM memory chips, and the Real Time Clock (RTC). The battery, battery isolation link, and external alarm input link are excluded from the FIPS 140-2 security requirements. The module provides key management (e.g., generation, storage, deletion, and backup), an extensive suite of cryptographic mechanisms, and process management including separation between operators. The PSI-E2 also features non-volatile tamper protected memory for key storage, a hardware random number generator, and an RTC. The FIPS 140-2 cryptographic boundary is defined by the perimeter of the protection covers. The PSI-E2 meets all level 3 requirements for FIPS 140-2 as summarized in Table 2-1. Section Section title Level 1 Cryptographic Module Specification 3 2 Cryptographic Module Ports and Interfaces 3 3 Roles, Services, and Authentication 3 4 Finite State Machine 3 5 Physical Security 3 6 Operational Environment N/A 7 Cryptographic Key Management 3 8 EMI/EMC 3 9 Self Tests 3 10 Design Assurance 3 11 Mitigation of Other Attacks N/A Table 2-1 FIPS 140-2 Security Levels 2.2 Cryptographic Module Ports and Interfaces The PSI-E2 has the following physical interfaces: A standard PCI Express bus interfacing to the motherboard of the host machine One USB serial connector One Luna Remote PED connector (not used) One external battery isolation connector One External tamper input The PSI-E2 provides a tightly secured cryptographic element. All requests for services sent to the adapter over the PCI bus or the serial ports are captured by the adapter's processor, which controls the level of access to the on-board cryptographic services and the keys. The adapter's processor also responds to PKCS #11 commands, ensuring that during FIPS operation only authenticated users receive cryptographic services. Page 6 of 22 CR-4056 Rev 5 The module's physical interfaces are separated into the logical interfaces, defined by FIPS 140-2, and described in Table 2-2: FIPS 140-2 Logical Interfaces Adapter Physical Interfaces Data Input Interface PCI Bus, USB Serial port Data Output Interface PCI Bus, USB Serial port Control Input Interface PCI Bus, External tamper input Status Output Interface PCI Bus Power Interface PCI Bus, External battery isolation connector Table 2-2 FIPS 140-2 Logical Interfaces 2.3 Roles, Services, and Authentication The PSI-E2 supports identity-based authentication of its operator. Operators are identified by a token name and PIN. The different roles and required authentication are shown in Table 2-3. Operator Role Type of authentication Authentication Data Administrator Crypto Officer Identity Based Operator Unique PIN SO Administrator User Identity Based Operator Unique PIN Token SO Crypto Officer Identity Based Operator Unique PIN Token User User Identity Based Operator Unique PIN Table 2-3 Roles and Required Identification and Authentication The PSI-E2 supports three types of Tokens: one Administration Token, multiple Cprov Tokens and one or more Smart Card Tokens. All Tokens have two operators: a Security Officer (SO) and a User. For the Administration Token, the Administrator SO is the FIPS 140-2 Crypto Officer and the Administrator is the User. For all other Tokens, the Token SO is the FIPS 140-2 Crypto Officer and the Token User is the User. The operator explicitly selects a role when logging in by selecting a PKCS#11 Token and nominating either User or SO Role. The adapter provides restricted services to an operator based on the role to which the operator authenticated. There is only one operator assigned to each role. The Administrator SO and Token SO perform FIPS 140-2 Crypto Officer roles while the Administrator and Token User performs a FIPS 140-2 User role. The PSI-E2 enforces a minimum PIN length of 4 characters and a maximum PIN length of 32 characters. The module allows the PIN character to be any value but the software typically used with the module restricts the dictionary to the ANSI C character set. This character set provides for 92 visible characters which, with a 4 character PIN, provides a probability of less than one in 1,000,000 that a random PIN attempt (e.g., guess) will succeed (actual probability is approximately 1/71,600,000). The module is protected from brute force PIN attacks by imposing an increasing delay for every failed PIN attempt after the first three failed attempts. The initial delay is 5 seconds and increases by an additional 5 seconds for each subsequent failed attempt, e.g., 3 fails causes a 5 second delay; 4 fails causes a 10 second delay; 5 fails causes a 15 second delay; etc. Page 7 of 22 CR-4056 Rev 5 2.3.1 Services for Authorized Roles Table 2-4 lists the services related to each authorized role within the adapter: Role Services Administrator SO Initialize Administrator Token User PIN Administrator Manage Adapter and Administrator Token Token SO Manage Token Token User Use Token and manage token keys Unauthenticated operator Unauthenticated services Table 2-4 Types of Available Services All services listed in Sections 2.3.1 through 2.3.6 can be accessed in FIPS and non-FIPS mode. The services listed in Sections 2.3.1 through 2.3.6 use the security functions listed in Table 2-7, Table 2-8, Table 2-9, and Table 2-10. When the module is operating in FIPS-approved mode as described in Section 3, the Non-FIPS Approved key derivation mechanisms in Table 2-10 are disabled and cannot be used for these services. The non-Approved functions in Table 2-10 can only be accessed through the services when the module is in non- FIPS Approved mode. 2.3.2 Administrator Security Officer The primary role of the Administrator Security Officer (ASO) is to introduce the Administrator to the system. The ASO is able to set the initial Administrator PIN value but is not able to change the administration PIN after it is initialized. The ASO can perform the following services: Set the initial Administrator PIN value (may not change it later). Set the CKA_TRUSTED attribute on a Public object in the Administrator Token. Set the CKA_EXPORT attribute on a Public object in the Administrator Token. Manage Host Interface Master Keys Exercise cryptographic services with Public objects Create, destroy, import, export, generate, and derive 1 Public objects May change his/her own PIN Read the Hardware Event Log May modify Monotonic Counter object Power-up self-test on demand 2.3.3 Administrator The Administrator is responsible for the overall security management of the adapter. Token Security Officers and Slots are controlled by the Administrator. The following services are available to the Administrator: Set or Change RTC value 1 Key Derive operations are listed in Table 2-9. Page 8 of 22 CR-4056 Rev 5 Read the Hardware Event Log Purge a full Hardware Event Log Configure the Transport Mode feature Specify the Security Policy of the adapter Create new Cprov Slots/Tokens and specify their Labels, SO PINs, and minimum PIN Length Initialize smart cards and specify their Labels and SO PINs Destroy individual Cprov Slots/Tokens Zeroize all adapter Secure Memory including all PINs and User Keys Perform Firmware Upgrade Operation Manage Host Interface Master Keys Exercise cryptographic services with Public objects on Administrator Token Exercise cryptographic services with Private objects on Administrator Token Create, destroy, import, export, generate, and derive Public objects on Administrator Token Create, destroy, import, export, generate, and derive Private objects on Administrator Token May change his/her own PIN May revoke Authentication Power-up self-test on demand 2.3.4 Token SO The Token SO is responsible for granting and revoking ownership of the token. If the Token does not have a User PIN, the Token SO should initialize it by assigning the Label and User PIN. The token SO may also revoke the Token User's privileges (and possibly reassign the token to another operator) but only by destroying all the key material of the original operator first. The following services are available to the Token SO: Set the initial User PIN value (may not change it later) Reset (re-initialize) the Token (destroys all keys and User PIN on the Token) and set a new Label Set the CKA_TRUSTED attribute on a Public object in his or her Token Set the CKA_EXPORT attribute on a Public object in his or her Token Exercise cryptographic services with Public objects in his or her Token Create, destroy, import, export, generate, and derive Public objects in his or her Token May change his/her own PIN May modify Monotonic Counter object Power-up self-test on demand 2.3.5 Token User Token users may manage and use private and public keys on their own tokens. The following services are available to the Token User: Exercise cryptographic services with Public objects in his or her Token Page 9 of 22 CR-4056 Rev 5 Exercise cryptographic services with Private objects in his or her Token Create, destroy, import, export, generate, derive Public objects in his or her Token Create, destroy, import, export, generate, and derive Private objects in his or her Token May change his/her own PIN Power-up self-test on demand 2.3.6 Unauthenticated Operators Certain services are available to operators who have not (yet) authenticated to the adapter: Exercise status querying services Authenticate to a Token Force session terminate, restart adapter by setting a register which is memory mapped to the PCI bus. The host application can force a restart by writing a certain value to the register through the PSI-E2 device driver. The transparent PCI chip will then generate a bus cycle restart which in turn will restart the adapter. All of the services available to the Unauthenticated Operators are also available to all authenticated operators. 2.4 Physical Security The adapter provides tamper evidence and tamper response mechanisms. A metal casing covers the epoxy-covered PCB board. The epoxyprovides a strong tamper evident enclosure. The Administrator should perform routine visual inspection of the module for evidence of tamper such as scratches. The module is actively protected through a combination of an external tamper jumper switch and a voltage monitor. The PSI-E2 protection can also be activated by removal of the adapter from the host machine or via an external alarm input capability. In the event of a tamper the PSI-E2 enters a Tamper state in which all processing is halted and the Non-Volatile secure memory is zeroized. Hardness testing of the epoxy was performed from a low of -50° to +60° Celsius. No assurance is provided for Level 3 hardness conformance at any other temperature. 2.5 Operational Environment This section does not apply. The PSI-E2 does not provide a modifiable operational environment. 2.6 Cryptographic Key Management The PSI-E2 is a general-purpose cryptographic management device and thus securely administers both cryptographic keys and other critical security parameters (CSPs) such as passwords. 2.6.1 Key Generation The PSI-E2 Module supports the generation of DSA, RSA, ECDSA (also known as ECC), and DH public and private keys. The module also supports the generation of three-key Triple-DES keys as well as AES 128-bit, 192-bit, and 256-bit keys. The module implements a FIPS approved AES-CTR DRBG specified in NIST SP 800-90A Page 10 of 22 CR-4056 Rev 5 2.6.2 Key Access / Storage All keys except module specific keys are stored in one of three media. Flash memory is used to store encrypted keys, plaintext keys are stored either in Volatile RAM or in tamper responding secure memory (battery-backed RAM). The module prevents physical access all these media through the physical security mechanisms discussed in section 2.4. Logical access to keys and other CSPs is restricted to authenticated operators with valid permissions. Any key input to the module is performed over a Three Key Triple-DES encrypted trusted channel or by components through a dedicated port and the module only allows keys to be output if they are wrapped using a FIPS Approved algorithm. Table 2-5 outlines all the keys stored by the module. Page 11 of 22 CR-4056 CSP CSP Type Generation Input/Output Storage Destruction Mechanism Use Firmware upgrade 2048 bit RSA FIPS 186-4 RNG Not input/output Plaintext in Flash None To verify the signature attached to a Public Key new firmware image. Generation done at manufacture. Default Administrator PIN N/A Not input/output Plaintext in Flash Replaced as part of the For initial authentication to the module. Token SO PIN initialization process Replaced after the module is initialized. DH Key Agreement 2048- bit Modulus Private Component Public key Working memory Power cycle, tamper, or To establish an encrypted channel Keys Size Generated Via exported as part C_DestroyObject() API between an operator and the module. FIPS approved of key RNG; Public Value agreement Computed via Diffie-Hellman Message Encryption 3-key Triple-DES Established via DH Not input/output Working memory Power cycle, tamper, or Protects data between an operator and Shared Secret Key C_DestroyObject() API the module. Triple-DES is used to protect the secure channel established using DH. Message HMAC-SHA-1 Established via DH Not Working memory Power cycle, tamper, or Provide data authentication of Authentication Key Input/Output C_DestroyObject() API encrypted data between an operator and the module. Operating PINs PIN N/A Input encrypted2 Encrypted with MMK Tamper or All users' PINs ­ Administrator Token C_DestroyObject() API SO, Administrator Token User, Token SOs, and Token users used to authenticate to the module. Module Master Key 3-key Triple-DES FIPS Approved Not input/output Tamper responsive Tamper or Zeroize Used to encrypt contents of secure RNG memory in NVRAM command memory of RTC (ctconf ­x) 2 PINs encrypted using Triple-DES Document is Uncontrolled When Printed. Page 12 of 22 CR-4056 CSP CSP Type Generation Input/Output Storage Destruction Mechanism Use ECDH Key Agreement ECDH (P224-P521) Private Public key Working memory Power cycle, tamper, or Keys Component exported as part C_DestroyObject() API User-created keys for use by user Generated Via of key applications FIPS approved agreement RNG; Public Value Computed via Diffie-Hellman D-H Key Agreement 2048-4096 bit Private Component Public key Working memory Power cycle, tamper, or User-created keys for use by user Keys Modulus Size Generated Via exported as part C_DestroyObject() API applications for key agreement FIPS approved of key RNG; Public Value agreement Computed via Diffie-Hellman Secret Key 2-Key Triple-DES Established via Encrypted3 or Working memory or Power cycle, tamper, or User-created keys for use by user ECDH, DH, split knowledge Secure Memory C_DestroyObject() API applications for Decryption, or transported using encrypted with MMK Signature Verification RSA or Secret Key or generated by FIPS approved RNG Secret Key 3-Key Triple-DES, Established via Encrypted4 or Working memory or Power cycle, tamper, or User-created keys for use by user AES 128, 192 and ECDH, DH, split knowledge Secure Memory C_DestroyObject() API applications for Encryption, 256 bit transported using encrypted with MMK Decryption, or Signature RSA or Secret Key Verification/Generation and key or generated by wrapping/unwrapping FIPS approved RNG RSA Public/Private 2048, 3072 bit RSA FIPS 186-4 Public key Working memory or Power cycle, tamper, or User-created keys for use by user Keys exported Secure Memory C_DestroyObject() API applications for Signature encrypted with MMK Generation/Verification 3 Token Keys encrypted using AES or Triple-DES Application Keys 4 Token Keys encrypted using AES or Triple-DES Application Keys Document is Uncontrolled When Printed. Page 13 of 22 CR-4056 CSP CSP Type Generation Input/Output Storage Destruction Mechanism Use DSA Public/Private 2048 ­ 4096 bit DSA FIPS 186-4 Public key Working memory or Power cycle, tamper, or User-created keys for use by user Keys exported Secure Memory C_DestroyObject() API applications for encryption, Decryption, encrypted with MMK Key wrapping/Unwrapping and Signature Generation/Verification ECDSA Public/Private 224 ­ 512 bit FIPS 186-4 Public key Working memory or Power cycle, tamper, or User-created keys for use by user Keys ECDSA exported Secure Memory C_DestroyObject() API applications for encryption, Decryption, encrypted with MMK Key wrapping/Unwrapping and Signature Generation/Verification DRBG Seed Seed H/W RNG Not input/output Not permanently Power cycle or tamper Used as part of the RNG process. stored Table 2-5 List of Keys Stored in Module Table 2-6 outlines the access that "Authorized Services" (see Table 2-4) have to the keys listed in Table 2-5. Here `R' stands for "Read", `W' stands for "Write", X stands for "Execute" and "Z" stands for "Zeroize". FW Default DH / ECDH Key Message Operating Token Token RNG Module Upgrade Administrator Ephemeral Agreement Authentication PINs Keys Keys Seed Master Cert Token SO PIN Keys Keys Key (Public) (Private) Key Initialization - - - X - WX - - - W Administrator SO WX WX - WXZ - WXZ RWXZ RWXZ - RWXZ Administrator - - WZ X WZ WXZ - - - RWXZ Token SO - - RXZ X RXZ X - - - - Token User - - RXZ X RXZ X XZ XZ XW - Unauthenticated - - - - - X - - - - Operators Table 2-6 Access to Keys for Authorized Services Document is Uncontrolled When Printed. Page 14 of 22 CR-4056 Please note that the FW Upgrade Cert is never zeroized because it is a public key. The Default Administrator Token SO PIN is never zeroized because it's a pre-initialization value. The RNG Seed is zeroized when a tamper event is detected or overwritten when the module is restarted. All other CSPs/Keys identified in Table 2-5 are zeroized by a call to C_DestroyObject() API by the respective role or through a tamper event. 2.6.3 Security Functions The PSI-E2 supports a wide variety of security functions. FIPS 140-2 requires that only FIPS Approved algorithms be used whenever there is an applicable FIPS standard. Table 2-7 lists the PSI-E2 FIPS Approved security functions. In the FIPS mode of operation these Approved security functions are available. FIPS Approved Security Function Firmware SafeXcel-3120 SafeXcel-1746 AES Cert. #3118 Cert. #2664 Cert. #1756 DSA Cert. #902 n/a n/a ECDSA­ Only NIST Recommended Curves Cert. #563 n/a n/a RSA Cert. #1589 n/a n/a KAS (FFC) Cert. #51 n/a n/a SHA-1 (SIGVER, HASH) Cert. #2576 n/a n/a SHA-224, SHA-256, SHA-384, SHA-512 Cert. #2576 n/a n/a HMAC: SHA-224, SHA-256, SHA-384, SHA-512 Cert. #1957 n/a n/a Triple-DES Cert. #1789 n/a Cert. #1137 Triple-DES MAC (Vendor Affirmed) n/a n/a n/a DRBG n/a Cert. #428 n/a Table 2-7 FIPS Approved Security Functions Table 2-8 lists the PSI-E2 Non-Approved but FIPS allowed security functions. In the FIPS mode of operation these Non-Approved security functions are available. Document is Uncontrolled When Printed. Page 15 of 22 CR-4056 Non-Approved FIPS but Allowed Security Functions AES5 Key Wrapping/Unwrapping Triple-DES6 Key Wrapping/Unwrapping Diffie-Hellman Key Agreement/Key Establishment7 RSA Key Wrapping/Unwrapping8 EC Diffie-HelmanH9 - Only NIST Recommended Curves NDRNG Table 2-8 Non-Approved FIPS Allowed Security Functions Table 2-9 lists the PSI-E2 key derivation mechanisms that are non-Approved but Allowed in FIPS mode. MECHANISMS FOR SPLIT KNOWLEDGE ENTRY/OUTPUT OF KEY (Allowed in FIPS Mode) CKM_CONCATENATE_BASE_AND_KEY CKM_XOR_BASE_AND_DATA CKM_XOR_BASE_AND_KEY CKM_SECRET_SHARE_WITH_ATTRIBUTES Table 2-9 Non-Approved FIPS Allowed Key Derivation Mechanisms Table 2-10 lists the PSI-E2 key derivation mechanisms that are non-Approved and not Allowed in FIPS mode. These key derivation mechanisms are actively disabled by the module when operating in FIPS mode. NON-ALLOWED DERIVATION METHODS (Disabled in FIPS Mode) CKM_DES3_DERIVE_CBC CKM_DES3_DERIVE_ECB CKM _SHAxxx_KEY_DERIVATION CKM_SSL3_KEY_AND_MAC_DERIVE CKM_SSL3_MASTER_KEY CKM_EXTRACT_KEY_FROM_KEY Table 2-10 Non-Approved Key Derivation Mechanisms 5 AES key wrapping; key establishment methodology provides 128, 192 or 256 bits of encryption strength; 6 Triple-DES key wrapping; key establishment methodology provides 112 bits of encryption strength); 7 Diffie-Hellman key agreement; key establishment methodology provides between 112 and 150 bits of encryption strength; 8 RSA key wrapping; key establishment methodology provides between 112 and 150 bits of encryption strength; 9 EC Diffie-Hellman (ECDH) (curves in accordance with SP 800-57) key agreement, key establishment in accordance with NIST SP 800- 56A. key establishment methodology provides 112 or 128 bits of encryption strength Document is Uncontrolled When Printed. Page 16 of 22 CR-4056 2.7 Self-Tests The PSI-E2 Module performs a number of power-up and conditional self-tests to ensure proper operation. 2.7.1 Power-Up Self-Tests When the module is initially powered-on, each cryptographic library in the module executes its own battery of power-up self-tests. If any of the power-up self-tests fail in any of the cryptographic library implementations, the module will enter an error state and prohibit an operator from exercising the module's cryptographic functionality. Table 2-11 lists the power-up self-tests: FIPS 140- Test Function Where Performed 2 Required Secure Memory File Initializes and checks the module's secure memory file Firmware No System Integrity system RNG KAT Performs a known answer test for the AES CTR DRBG. SafeXcel-3120 Yes Symmetric Cipher Performs known answer tests for AES, Triple-DES, Firmware, AES and KATs CAST, IDEA, RC2, DES, and RC4 operations SafeXcel-3120, Triple- (encrypt/decrypt) SafeXcel-1746 DES (AES) Firmware, SafeXcel-1746 (Triple-DES) MAC Performs known answer tests for CAST MAC, IDEA Firmware Triple- and MAC, RC2 MAC, DES MAC and Triple-DES MAC. DES HMAC KATs Performs known answer tests for MD5 HMAC, HMAC- MAC SHA-1, HMAC-SHA-224, HMAC-SHA-256, HMAC- HMAC- SHA-384, HMAC-SHA-512, RMD128 HMAC and SHA-1, RMD160 HMAC. HMAC- SHA-224, HMAC- SHA-256, HMAC- SHA-384, HMAC- SHA-512 Asymmetric Cipher Performs known answer tests for RSA operations (sign Firmware Yes KATs and verify, encrypt/decrypt). Asymmetric Key Performs known answer tests for ECDH1 Derive Firmware No Derive KATs Asymmetric Pairwise Performs a pairwise consistency test on a DH key pair Firmware No Consistency Test DH X9.42 Parameter Performs a known answer test on DH X9.42 Parameter Firmware Yes Verification KAT Verification algorithm DH X9.42 Pairwise Performs a pairwise consistency test on a random DH Firmware Yes Consistency Test X9.42 key pair Document is Uncontrolled When Printed. Page 17 of 22 CR-4056 FIPS 140- Test Function Where Performed 2 Required DH X9.42 ASN1 KDF Known answer Test of ASN1 KDF Firmware Yes KAT: CS_DA_SHA1 DH X9.42 Known answer Test of Concatenate KDF Firmware Yes Concatenate KDF KAT: CS_DA_SHA1 Sign/Verify Known Answer signature/verification tests for RSA, DSA Firmware Yes and ECDSA. Message Digest Verifies known message/hash pairs for MD2, MD5, Firmware SHA-1, KATs RMD128, RMD 160, SHA-1, SHA-224, SHA-256, SHA- SHA-224, 384 and SHA-512. SHA-256, SHA-384, SHA-512 Software/Firmware Ensures that the software/firmware on the module has Firmware Yes Integrity not been modified / damaged by calculating a SHA-1 hash over all software/firmware components and comparing the result to a known good result. Table 2-11 Power-up Self-Tests Document is Uncontrolled When Printed. Page 18 of 22 CR-4056 2.7.2 Conditional Self-Tests The module performs conditional self-tests as outlined in Table 2-12. Where FIPS 140-2 Test Function Performed Required Pairwise Consistency Runs a pairwise consistency check each Firmware DSA, RSA, time the module generates a DSA, RSA, ECDSA ECDSA, or DH public/private key pair. Continuous HW RNG Performs the FIPS 140-2 required SafeXcel-3120 Yes continuous RNG check each time the module's Hardware RNG is used to produce random data. Continuous RNG Performs the FIPS 140-2 required Firmware Yes continuous RNG check each time the module's RNG is used to produce random data. Firmware Load Checks that the firmware to be loaded is Firmware Yes verified with a digital signature. If the signature cannot be verified, the module will report an error and the firmware will not be loaded. The verification algorithm used is RSASSA-PKCS-v1_5 using SHA512 and 2048 bit key. Note: Following a successful verification, all keys and CSPs will first be zeroized and then the firmware will be updated After the firmware is updated, the PSI-E2 will automatically transition to a non-FIPS mode and will require reconfiguration to return to FIPS mode. Table 2-12 Conditional Self-Tests 2.8 Mitigation of Other Attacks The PSI-E2 does not employ any technology specifically intended to mitigate against other attacks. 3. FIPS APPROVED MODE OF OPERATION 3.1 Description The PSI-E2 allows its administrators the choice of employing a wide range of security technologies. To comply with FIPS mode of operation the PSI-E2 must be configured in a secure manner. This includes: Operation with FIPS Approved algorithms as listed in Table 2-7, Non-Approved but FIPS allowed algorithms as listed in Table 2-8 and Table 2-9; Not permitting the export of clear keys; Document is Uncontrolled When Printed. Page 19 of 22 CR-4056 Locking the security mode to prevent circumvention of the mode setting; Not permitting PINs to be used in clear; Not permitting changes to the PSI-E2 firmware without first clearing all protected keys and CSPs; and Providing authentication and session management security. This Security Policy describes a particular PSI-E2 firmware and hardware. The PSI-E2 firmware can be replaced (with a firmware upgrade operation) or extended (by loading Functionality Modules [FMs]). The operator should ensure that the firmware and hardware of the PSI-E2 are validated configurations. The PSI-E2 checks that new firmware is digitally signed before it can be loaded. Following a successful verification all keys and CSPs will be zeroized. After the zeroization, the PSI-E2 will automatically transition to a non-FIPS mode and will require reconfiguration to return to FIPS mode. 3.2 Invoking Approved Mode of Operation An operator may easily place the PSI-E2 in "FIPS mode" by simply running the administrative CTCONF -fF command from the remote management facility. Once this command is executed the PSI-E2 will reject all requests for non-FIPS algorithms or configurations. Please note that the operator has to be logged in as an Administrator to invoke the FIPS mode of operation. 3.3 Mode of Operation Indicator Running the display status command from a remote management facility will return a status displaying the current PSI-E2 operating mode. Security Mode: FIPS 140-2 Mode: When the module is not running in FIPS mode, this status displays as: Security Mode: 3.4 Invoking Mode of Operation Indicator An operator may easily view the current PSI-E2 mode of operation by simply running the administrative CTCONF ­v command from the remote management facility. Once this command is executed the PSI-E2 will respond with full details of the adapter configuration. The configuration details include details of the firmware loaded and a listing of the adapter security mode flags one of which indicates that the module is in the FIPS mode of operation. 4. DESIGN ASSURANCE 4.1 Distribution and Delivery of Module The module is shipped in an anti-static shipping envelope that is sealed with a SafeNet security sticker and placed inside a SafeNet shipping box. The user should inspect the product shipping boxes to make sure they have not been tampered with or damaged upon receiving the modules, which could indicate a security compromise. Document is Uncontrolled When Printed. Page 20 of 22 CR-4056 APPENDIX A. ACRONYMS AND ABBREVIATIONS Acronym Definition AES Advanced Encryption Standard AK Application Key ANSI American National Standards Institute API Application Programming Interface ARIA Korean Government Standard Encryption Algorithm ATSO Administrator Token Security Operator ATU Administrator Token User CA Certificate Authority CPU Central Processing Unit CSP Critical Security Parameter DES Data Encryption Standard DH Diffie-Hellman DHEK Diffie-Hellman Ephemeral Key DRBG Deterministic Random Bit Generator DSA Digital Signature Algorithm ECDH Elliptic Curve Diffie-Hellman ECDHEK Elliptic Curve Diffie-Hellman Ephemeral Key FIPS Federal Information Processing Standard HRNG Hardware Random Number Generator IDEA International Data Encryption Algorithm KAT Known Answer Test LCD Liquid Crystal Display LED Light Emitting Diode MAK Message Authentication Key MD2 Message Digest Algorithm 2 MD5 Message Digest Algorithm 5 MD5 HMAC MD5 Hashed Message Authentication Code MMK Module Master Key NIST National Institute of Standards and Technology NO Normal Operator PSI-E2 ProtectServer Internal-Express 2 PIN Personal Identification Number Document is Uncontrolled When Printed. Page 21 of 22 CR-4056 Acronym Definition PKI Public Key Infrastructure RAM Random Access Memory RC2 Rivest's Code 2 RC4 Rivest's Code 4 RNG Random Number Generator RoHS Restriction on Hazardous Substances ROM Read Only Memory RSA Rivest, Shamir and Adleman RWXZ Read, Write, Execute, Zeroize SDRAM Synchronous Dynamic Random Access Memory SHA Secure Hash Algorithm SO Security Operator SRAM Static Random Access Memory Triple-DES Triple Data Encryption Standard USB Universal Serial Bus USO User Security Operator VGA Video Graphics Array Document is Uncontrolled When Printed. Page 22 of 22