HP XP7 Encryption Ready Disk Adapter (eDKA) Level1 FIPS 140-2 Non-Proprietary Cryptographic Module Security Policy Version: 1.7 Date: May 13, 2015 Copyright HP, 2014 Version 1.7 Page 1 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). Table of Contents 1 Introduction .................................................................................................................. 4 1.1 Hardware and Physical Cryptographic Boundary.........................................................................5 1.2 Mode of Operation.......................................................................................................................6 2 Cryptographic Functionality ........................................................................................... 7 2.1 Critical Security Parameters .........................................................................................................7 3 Roles, Authentication and Services ................................................................................ 9 3.1 Assumption of Roles .....................................................................................................................9 3.2 Authentication Methods ..............................................................................................................9 3.3 Services.......................................................................................................................................10 4 Self-tests ..................................................................................................................... 13 5 Physical Security Policy ................................................................................................ 14 6 Operational Environment ............................................................................................ 14 7 Mitigation of Other Attacks Policy................................................................................ 14 8 Security Rules and Guidance ........................................................................................ 15 8.1 Crypto Officer Guidance .............................................................................................................15 8.2 User Guidance ............................................................................................................................16 9 Design Assurance Policy ............................................................................................... 17 9.1 Configuration Management Overview .......................................................................................17 9.2 Installation, Initialization, and start-up Overview ......................................................................17 9.3 Secure Delivery and Operation Overview ..................................................................................17 10 References and Definitions .......................................................................................... 18 Copyright HP, 2014 Version 1.7 Page 2 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). List of Tables Table 1 – Cryptographic Module Configurations .......................................................................................... 4 Table 2 – Security Level of Security Requirements ....................................................................................... 4 Table 3 – Ports and Interfaces ...................................................................................................................... 6 Table 4 – Approved and CAVP Validated Cryptographic Functions .............................................................. 7 Table 5 – Non-Approved but Allowed Cryptographic Functions .................................................................. 7 Table 6 – Critical Security Parameters (CSPs) ............................................................................................... 7 Table 7 – Roles Description ........................................................................................................................... 9 Table 8 – Authentication Description ......................................................................................................... 10 Table 9 – Authenticated Services................................................................................................................ 10 Table 10 – Unauthenticated Services ......................................................................................................... 10 Table 11 – CSP Access Rights within Services ............................................................................................. 12 Table 12 – Power Up Self-tests ................................................................................................................... 13 Table 13 – Conditional Self-tests ................................................................................................................ 14 Table 14 – References ................................................................................................................................. 18 Table 15 – Acronyms and Definitions ......................................................................................................... 18 List of Figures Figure 1 – Module Block Diagram ................................................................................................................. 5 Copyright HP, 2014 Version 1.7 Page 3 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). 1 Introduction This non-proprietary document defines the Security Policy for the HP XP7 Encryption Ready Disk Adapter (eDKA) Level1, hereafter denoted the Module. The Module is 6 Gb/s SAS I/O Module with Encryption. The Module provides high speed data at rest encryption for HP storage. The Module meets FIPS 140-2 overall Level 1 requirements. Table 1 – Cryptographic Module Configurations Module HW P/N and Version FW Version 1 HP XP7 Encryption Ready Disk Adapter R800L1 02.09.28.00 (eDKA) Level1 02.09.32.00 The Module is intended for use by US Federal agencies and other markets that require FIPS 140-2 validated SAS I/O module used for HP storage system with data at rest encryption feature. The Module is a hardware cryptographic module with multi-chip embedded embodiment. The FIPS 140-2 security levels for the Module are as follows: Table 2 – Security Level of Security Requirements Security Requirement Security Level Cryptographic Module Specification 1 Cryptographic Module Ports and Interfaces 1 Roles, Services, and Authentication 2 Finite State Model 1 Physical Security 1 Operational Environment N/A Cryptographic Key Management 1 EMI/EMC 1 Self-Tests 1 Design Assurance 2 Mitigation of Other Attacks N/A Overall 1 Copyright HP, 2014 Version 1.7 Page 4 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). 1.1 Hardware and Physical Cryptographic Boundary The physical form of the Module is depicted in Figure 1. Red dotted line shows the cryptographic boundary. Major components of the Module are module board, micro processor, non-volatile memories and interfaces. The Module relies on HP storage as input/output devices. The firmware running on the micro processor is responsible for processing IOs to HDDs as well as encrypting/decrypting IOs where applicable. AES and SHA hardware accelerators are integrated into the micro processor. Firmware images are stored in the flash memory. They are loaded to the micro processor when the Module power up. All functions and system initialization are performed by the micro processor, which is contained within the cryptographic boundary of the module. CSPs are stored in flash memory or SEEPROM. Host Driver Connector BE IF PK PROM PROM ASIC LR LR SDRAM SDRAM SDRAM SDRAM SDRAM SDRAM SDRAM SDRAM PCI-express SDRAM SDRAM Data in, Data out, SDRAM SDRAM Control in, Status out Micro Micro Flash Flash Flash Flash Processor Processor Memory Memory SEEPROM PROM PROM SEEPROM SAS Data in, Data out I2C Control in, Status out GPIO Control in, Status out SAS Connector SAS Connector LED LED LED LED HDD ・・・ HDD HDD HDD HDD ・・・ HDD Figure 1 – Module Block Diagram Copyright HP, 2014 Version 1.7 Page 5 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). Table 3 – Ports and Interfaces Port Description Logical Interface Type PCI-express plaintext input/output, module control data input, module - Control in / Status out status data output - Data in / Data out GPIO module control data input, module status data output - Control in / Status out I2C module control data input, module status data output - Control in / Status out Power 12V power input - Power SAS cipher text input/output - Data in / Data out LED module status output - Status out 1.2 Mode of Operation The Module encrypts and decrypts data using only a FIPS-approved mode of operation. It does not have any functional non-approved modes. Copyright HP, 2014 Version 1.7 Page 6 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). 2 Cryptographic Functionality The Module implements the FIPS Approved and Non-Approved but Allowed cryptographic functions listed in the tables below. Table 4 – Approved and CAVP Validated Cryptographic Functions Algorithm Description Cert # AES [SP 800-38A] 3341 Functions: Encryption, Decryption Modes: ECB Key sizes: 256 bits XTS-AES mode [SP 800-38E] 3341 Functions: Encryption, Decryption Key sizes: 256 bits SHA [FIPS 180-4] 2775 Functions: Calculation of HMAC SHA sizes: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 HMAC [FIPS 198-1] 2131 Functions: MAC generation SHA sizes: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 Table 5 – Non-Approved but Allowed Cryptographic Functions Algorithm Description AES Key [IG D.9] and [AES Key Wrap Specification, Nov 2001] Wrap/Unwrap AES (Cert. #3341, key wrapping; key establishment methodology provides 256 bits of encryption strength) 2.1 Critical Security Parameters All CSPs used by the Module are described in this section. All usage of these CSPs by the Module (including all CSP lifecycle states) is described in the services detailed in Section 3. Table 6 – Critical Security Parameters (CSPs) CSP Description / Usage KEKini 256-bit factory-set key used to unwrap KEK. KEK wrapped with KEKini is entered to the module. KEK management service zeroizes KEKini by overwriting with 0xFF. KEK 256-bit key used to unwrap DEKs and operator keys. DEKs and operator keys wrapped with KEK are entered to the module. KEK management service zeroizes KEK by overwriting with 0xFF. Copyright HP, 2014 Version 1.7 Page 7 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). CSP Description / Usage DEK Two 256-bit keys used for XTS-AES encryption/decryption. DEK service zeroizes DEK by overwriting with 0x00. Operator Key 256-bit key used to unwrap operator certificate. Operator Management service zeroizes operator key by overwriting with 0xFF. HMAC Key 256-bit key used for authenticating firmware loaded from host. HMAC key management service zeroizes HMAC key by overwriting with 0x00. Copyright HP, 2014 Version 1.7 Page 8 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). 3 Roles, Authentication and Services 3.1 Assumption of Roles The Module supports two distinct operator roles, User and Cryptographic Officer (CO). The cryptographic module enforces the separation of roles using one authentication is allowed per module reset. Re-authentication is enforced when changing roles. Each operator must be assigned to a single role. Concurrent operators are NOT supported. An operator must log out before another operator can log in. Table 7 lists all operator roles supported by the module. The Module does not support a maintenance role and bypass capability. The Module does not support concurrent operators. After the Module powers off or chip reset, all the data stored in internal memory (RAM), including previously authenticated operators, are cleared. All CSPs are protected through APIs and logic developed for the sole purpose of integration into specific HP host platforms. Only HP-authored drivers can access cryptographic APIs. Further, the Module functionally does not allow keys to be disclosed, modified, or substituted in FIPS mode of operation. Table 7 – Roles Description Role ID Role Description Authentication Type Authentication Data CO Cryptographic Officer – The role assumed Role-based Operator certificate to perform cryptographic initialization or management functions. User User – The role assumed to perform Role-based Operator certificate general security services, including cryptographic operations and other approved security functions. 3.2 Authentication Methods Operator Certificate Authentication Method An operator is assigned to a 256-bit unique key, it called “operator key”. The operator key is stored together with its role and identity string in non-volatile memory. The key is used to authenticate the operator when it logs in. It is the role and the identity string from the certificate that distinguishes each operator. An operator also owns a unique operator certificate that consists of a role and an identity string, which is wrapped by the operator key using the procedure outlined by the NIST AES Key Wrap specification. Therefore the probability that a random attempt will succeed or a false acceptance depend on operator key. When the operator wants to log in, they send the certificate to the controller. The controller unwraps the certificate using the preloaded operator key. If the unwrap is successful and if the role and the identity string from the certificate both match the ones stored in the module, the operator authentication passes. The cryptographic services within the role are then activated. Authentication requires less than 7.5ms (actual measured value). Copyright HP, 2014 Version 1.7 Page 9 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). Table 8 – Authentication Description Authentication Method Probability Justification Operator Certificate 1/2^256 8000/2^256 Authentication Method Since authentication requires less than The probability that a random 7.5ms, in a worst case scenario, the attempt will succeed or a false Module can perform 8000 per acceptance will occur depends on minute. Therefore, the probability 256-bit operator key. Therefore, the that multiple attacks within a given probability is 1/2^256, which is less minute will be successful is than 1/1,000,000. 8000/2^256, which is less than 1/100,000. 3.3 Services All services implemented by the Module are listed in the tables below. Each service description also describes all usage of CSPs by the service. Also, Table 9 shows the role that is able to perform the service. Table 9 – Authenticated Services Service Description CO User Configure Configures parameters X Operator Management Adds an operator’s role, an identity string and an operator X X key, updates the operator key and zeroizes one or all operators and operator keys Logout Operator logout of the module X X Execute encryption tests Execute encryption tests for diagnostic purposes X Decrypt Decrypts data using XTS-AES X Encrypt Encrypts data using XTS-AES X DEK Management Updates and zeroizes DEKs X X KEK Management Updates and zeroizes KEKs X X HMAC Key Management Sets and zeroizes the HMAC key X X Firmware Update Updates the firmware X X Table 10 – Unauthenticated Services Service Description Module Reset Reset the module (Self-test) Login Authenticates operators Copyright HP, 2014 Version 1.7 Page 10 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). Service Description Get Current Operator Get the operator’s role and an identity string of the current operator Get Configuration Get controller configuration parameters Show Status Show module status with LEDs or bits in a status register Copyright HP, 2014 Version 1.7 Page 11 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). Table 11 defines the relationship between access to CSPs and the different module services. The modes of access shown in the table are defined as:  G = Generate: The Module generates the CSP. (But "G" is not used in the table below, because this module does not have any key generation function.)  E = Execute: The Module executes using the CSP.  W = Write: The Module writes the CSP. The write access is typically performed after a CSP is imported into the module, when the Module generates a CSP, or when the Module overwrites an existing CSP.  Z = Zeroize: The Module zeroizes the CSP. Table 11 – CSP Access Rights within Services CSPs Service Operator KEKini KEK DEK HMAC Key Key Configure Operator Management E W/Z Logout E Execute encryption test Decrypt E Encrypt E DEK Management E W/Z KEK Management E/W/Z E/W/Z HMAC Key Management E W/Z Firmware Update E Module Reset(Self-test) Login E Get Current Operator Get Configuration Show Status Copyright HP, 2014 Version 1.7 Page 12 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). 4 Self-tests Each time the Module is powered up it tests that the cryptographic algorithms still operate correctly and that sensitive data have not been damaged. Power up self-tests are available on demand by power cycling or resetting the Module. On power up or reset, the Module performs self-tests described in Table 12 below. Firmware Integrity test and all KATs must be completed successfully prior to any other use of cryptography by the Module. If Firmware Integrity test or one of the KATs fails, the Module enters the fatal error state. The Module shows the result of self-tests with bits in a status register. If Firmware Integrity test fails, the two bits of the status register for “Image Loader Agent (ILA)” are set to “10”. In this case, the boot process is halted by the ILA. If one of the KATs fails, the two bits of the status register for “Encryption Capability” are set to “01”. In addition, from other eight bits of the register, it is known which cryptographic algorithm engine (AES, SHA or KWP) caused the error. Self-tests do not require any intervention or input from the operator. Power up self-tests are automatically executed when the controller is powered up. Table 12 – Power Up Self-tests Test Target Description Firmware Integrity 32 bit CRC performed over all code in Flash memory. AES KATs: Encryption, Decryption Modes: ECB Key sizes: 256 bits HMAC KATs: Verification SHA sizes: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 XTS-AES mode KATs: Encryption, Decryption Key sizes: 256 bits AES Key Wrap KATs: Wrap, Unwrap Key sizes: 256 bits As the firmware is being externally sent to the controller, the firmware images are authenticated using the HMAC-SHA-256 authentication technique. Both a firmware image and the HMAC key are fed into the SHA engine, together with the proper SHA algorithm, the calculated HMAC digest is compared with the one embedded in the firmware image. If they don't equal, the firmware authentication fails and the Module indicate the state. If “Firmware Update” results in failure, the status field code of 0x0000000E is sent from the micro processor as the response. This code means “Firmware image HMAC authentication failure”. Conditional self-tests are automatically performed when an applicable security function or operation is invoked. As the encryption test execute command is sent to the controller, the Module executes Cryptographic Algorithm Known Answer tests or HMAC test. The Cryptographic Algorithm Known Answer tests have positive test cases and negative ones. For a positive test case, the test passes if the result matches the known answer. For a negative test case, the result is expected to mismatch the known answer. For the HMAC test, the Module feeds the message and the HMAC key input from the host into the SHA engine, and returns the digest to the host. The command for Execute encryption test will change hardware configuration when running the Cryptographic Algorithm Known Answer tests or HMAC test. Therefore use it only for diagnostic purposes. To return to normal mode operations, execute a Module reset. Copyright HP, 2014 Version 1.7 Page 13 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). Table 13 – Conditional Self-tests Test Target Description Firmware Load HMAC authentication performed when firmware is loaded. Encryption Cryptographic Algorithm Known Answer tests or HMAC test performed by command Engine Diagnosis only when no active IOMBs. 5 Physical Security Policy The Module is a multi-chip embedded cryptographic module and conforms to Level 1 requirements for physical security. The cryptographic module consists of production-grade components. 6 Operational Environment The Module is designated as a limited operational environment under the FIPS 140-2 definitions. The Module includes a firmware load service to support necessary updates. New firmware versions within the scope of this validation must be validated through the FIPS 140-2 CMVP. Any other firmware loaded into this module is out of the scope of this validation and require a separate FIPS 140-2 validation. 7 Mitigation of Other Attacks Policy The Module does not mitigate other attacks. Copyright HP, 2014 Version 1.7 Page 14 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). 8 Security Rules and Guidance The Module design corresponds to the Module security rules. This section documents the security rules enforced by the cryptographic module to implement the security requirements of this FIPS 140-2 Level 1 module. 1. The Module shall provide two distinct operator roles: User and Cryptographic Officer. 2. The Module shall provide role-based authentication. 3. The Module shall clear previous authentications on power cycle. 4. When the Module has not been placed in a valid role, the operator shall not have access to any cryptographic services. 5. The operator shall be capable of commanding the Module to perform the power up self-tests by cycling power or resetting the Module. 6. Power up self-tests do not require any operator action. 7. Data output shall be inhibited during self-tests, zeroization, and error states. 8. Status information does not contain CSPs or sensitive data that if misused could lead to a compromise of the Module. 9. There are no restrictions on which keys or CSPs are zeroized by the zeroization service. 10. The Module does not support concurrent operators. 11. The Module does not support a maintenance interface or role. 12. The Module does not support manual key entry. 13. The Module does not have any external input/output devices used for entry/output of data. 14. The Module does not enter or output plaintext CSPs. 15. The Module does not support the update of the logical serial number or vendor ID. 8.1 Crypto Officer Guidance The Crypto Officer must configure and enforce the following initialization procedures: 1. Verify that the name and part number of board is eSCAx WP820 B/xx(x: wild card). The eSCAx WP820 B/xx is the part number of the board that includes the module. 2. Verify that the firmware version of module is 02.09.28.00 or 02.09.32.00. 3. Enable the encryption feature. 4. Configure encryption environmental settings. The Module provides only FIPS-Approved mode of operation. Copyright HP, 2014 Version 1.7 Page 15 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). When the step mentioned above is completed, one KEK and two Operator Keys have been input into the module. See [User Guide] Chapter 2 for detail of initialization procedures. Otherwise, no specific commands or settings are required to place the Module in FIPS-approved mode of operation. 8.2 User Guidance The User must configure and enforce the following initialization procedures in order to operate in FIPS approved mode of operation: 1. Enable data encryption on the parity group. 2. Format the Volumes at the parity-group level. See [User Guide] Chapter 4 for detail of initialization procedures. Copyright HP, 2014 Version 1.7 Page 16 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). 9 Design Assurance Policy 9.1 Configuration Management Overview Programs and documents are managed using a proprietary web-base configuration management system (Electric Stock System). Documents for validation and hardware components are managed by revision management by a proprietary ledger. 9.2 Installation, Initialization, and start-up Overview The procedure is described in section 8.1. 9.3 Secure Delivery and Operation Overview The Module shipped to customers from the factory or the distribution centers. The Module is delivered by the contracted carrier and unpacked by the contacted service personnel on site, and its contents are confirmed by the personnel. Copyright HP, 2014 Version 1.7 Page 17 of 18 HP Public Material – May be reproduced only in its original entirety (without revision). 10 References and Definitions The following standards are referred to in this Security Policy. Table 14 – References Abbreviation Full Specification Name [FIPS140-2] Security Requirements for Cryptographic Modules, May 25, 2001 [SP800-131A] Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths, January 2011 [SP800-38A] Recommendation for Block Cipher Modes of Operation Methods and Techniques, 2001 Edition [FIPS 198-1] The Keyed-Hash Message Authentication Code(HMAC), July 2008 [SP800-38E] Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality on Storage Devices, January 2010 [IG D.9] Implementation Guidance for FIPS PUB 140-2 and the Cryptographic Module Validation Program, FIPS 140-2 Annex D – Approved Key Establishment Techniques, D.9 Key Transport Methods, July 25, 2013 [AES Key Wrap AES Key Wrap Specification, November 16, 2001. Specification, Nov 2001] [User Guide] HP XP7 Encryption User Guide Table 15 – Acronyms and Definitions Acronym Definition AES Advanced Encryption Standard CRC Cyclic Redundancy Check CSP Critical Security Parameter DEK Data Encryption Key FIPS Federal Information Processing Standard HMAC Hash-based Message Authentication Code KAT Known Answer Test KEK Key Encryption Key NIST National Institute of Standards and Technology Copyright HP, 2014 Version 1.7 Page 18 of 18 HP Public Material – May be reproduced only in its original entirety (without revision).