LEVEL 2 NON-PROPRIETARY SECURITY POLICY FOR Luna® PCM Cryptographic Module (Includes configurations Key Export – SIM [KES]; Key Export – Cloning [KEC]; Signing [S]; and Signing- Backup [SB]) DOCUMENT NUMBER: CR-2372 AUTHOR: Terry Fletcher DEPARTMENT: Engineering LOCATION OF ISSUE: Ottawa DATE ORIGINATED: March 16, 2006 REVISION LEVEL: 21 REVISION DATE: July 4, 2012 SUPERSESSION DATA: CR-2372, Revision 20 SECURITY LEVEL: Non-proprietary © Copyright 2007-2012 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. Document is uncontrolled when printed. CR-2372 Revision Level: 21 PREFACE This document deals only with operations and capabilities of the Luna® PCM Cryptographic Module in the technical terms of a FIPS 140-2 cryptographic module security policy. More information is available on the Luna PCM 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/. • For answers to technical or sales related questions please refer to the contacts listed below or 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 SafeNet Customer Service: U.S. (866) 251-4269 EMEA +44 (0) 1276 60 80 00 APAC 852 3157 7111 Document is Uncontrolled When Printed. Page i of iv CR-2372 Revision Level: 21 TABLE OF CONTENTS Section Title Page 1. INTRODUCTION ..................................................................................................................................... 1 1.1. Purpose ............................................................................................................................................ 1 1.2. Scope ............................................................................................................................................... 1 1.3. Overview .......................................................................................................................................... 1 2. SECURITY POLICY MODEL INTRODUCTION ..................................................................................... 2 2.1. Functional Overview......................................................................................................................... 2 2.2. Assets to be Protected ..................................................................................................................... 3 2.3. Operating Environment .................................................................................................................... 3 3. SECURITY POLICY MODEL DESCRIPTION ........................................................................................ 3 3.1. Operational Policy ............................................................................................................................ 4 3.1.1. Module Capabilities................................................................................................................... 4 3.1.2. Partition Capabilities ................................................................................................................. 5 3.2. FIPS-Approved Mode ..................................................................................................................... 11 3.3. Description of Operator, Subject and Object ................................................................................. 11 3.3.1. Operator .................................................................................................................................. 11 3.3.2. Roles ....................................................................................................................................... 12 3.3.3. Account Data .......................................................................................................................... 12 3.3.4. Subject .................................................................................................................................... 13 3.3.5. Operator – Subject Binding ..................................................................................................... 13 3.3.6. Object ...................................................................................................................................... 13 3.3.7. Object Operations ................................................................................................................... 13 3.4. Identification and Authentication .................................................................................................... 14 3.4.1. Authentication Data Generation and Entry ............................................................................. 14 3.4.2. Limits on Login Failures .......................................................................................................... 14 3.5. Access Control ............................................................................................................................... 14 3.5.1. Object Re-use ......................................................................................................................... 16 3.5.2. Privileged Functions................................................................................................................ 16 3.6. Cryptographic Material Management ............................................................................................. 16 3.6.1. Key Cloning ............................................................................................................................. 17 3.6.2. Key Mask/Unmask .................................................................................................................. 17 3.6.3. Key Wrap/Unwrap ................................................................................................................... 18 3.7. Cryptographic Operations .............................................................................................................. 18 Document is Uncontrolled When Printed. Page ii of iv CR-2372 Revision Level: 21 3.8. Self-tests ........................................................................................................................................ 22 3.9. Firmware Security .......................................................................................................................... 22 3.10. Physical Security ........................................................................................................................ 23 3.11. EMI / EMC .................................................................................................................................. 23 3.12. Fault Tolerance ........................................................................................................................... 23 3.13. Mitigation of Other Attacks ......................................................................................................... 23 LIST OF TABLES Table Title Page Table 1-1. FIPS 140-2 Security Requirements ............................................................................................. 1 Table 3-1 Module Capabilities and Policies ................................................................................................. 6 Table 3-2 Partition Capabilities and Policies ................................................................................................ 8 Table 3-3 Object Attributes Used in Access Control Policy Enforcement .................................................. 15 Table 3-4. Approved and Allowed Security Functions Firmware Implementation ...................................... 19 Table 3-5 – Non-FIPS Approved Security Functions .................................................................................. 21 Table 3-6. Module Self-Tests ..................................................................................................................... 22 LIST OF FIGURES Figure Title Page Figure 2-1. Luna PCM Cryptographic Module .............................................................................................. 2 LIST OF APPENDICES Appendix Title Page APPENDIX A. SECURITY POLICY CHECKLIST TABLES ..................................................................... 1 APPENDIX B. LIST OF TERMS, ABBREVIATIONS AND ACRONYMS ................................................. 1 Document is Uncontrolled When Printed. Page iii of iv CR-2372 Revision Level: 21 - THIS PAGE LEFT BLANK INTENTIONALLY - Document is Uncontrolled When Printed. Page iv of iv CR-2372 Revision Level: 21 1. INTRODUCTION 1.1. Purpose This document describes the security policies enforced by SafeNet Inc.’s Luna® PCM Cryptographic Module, also known as the G4. This document applies to Hardware Version LTK-02-0501, Firmware Version 4.8.7 1.2. Scope The security policies described in this document apply to the Password Authentication (Level 2) configurations of the Luna PCM Cryptographic Module only and do not include any security policy that may be enforced by the host appliance or server. 1.3. Overview The cryptographic module meets all level 2 requirements for FIPS 140-2 as summarized in Table 1-1. Table 1-1. FIPS 140-2 Security Requirements Security Requirements Section Level Cryptographic Module Specification 2 Cryptographic Module Ports and Interfaces 2 Roles and Services and Authentication 2 Finite State Machine Model 2 Physical Security 3 Operational Environment N/A Cryptographic Key Management 2 EMI/EMC 3 Self-Tests 2 Design Assurance 3 Mitigation of Other Attacks 2 Cryptographic Module Security Policy 2 Document is Uncontrolled When Printed. Page 1 of 24 CR-2372 Revision Level: 21 2. SECURITY POLICY MODEL INTRODUCTION 2.1. Functional Overview The Luna PCM cryptographic module is a multi-chip standalone hardware cryptographic module in the form of a PCMCIA card that typically resides within a custom computing or secure communications appliance. It is contained in its own secure enclosure that provides physical resistance to tampering. The cryptographic boundary of the module is defined to encompass all components inside the secure enclosure on the PCM card. Figure 2-1 depicts the Luna PCM cryptographic module. The Luna PCM may be explicitly configured to operate in FIPS Level 2 mode, or in a non-FIPS mode of operation. Configuration in FIPS mode enforces the use of FIPS-approved algorithms only. Note that selection of FIPS mode occurs at initialization of the cryptographic module, and cannot be changed during normal operation without zeroizing the module’s non-volatile memory. The cryptographic module is accessed directly (i.e., electrically) via the PCMCIA communications interface. The module provides secure key generation and storage for symmetric keys and asymmetric key pairs along with symmetric and asymmetric cryptographic services. Access to key material and cryptographic services for users and user application software is provided indirectly through the host appliance. It provides the ability to manage multiple user definitions and concurrent authentication states. The software on the host that provides the connections to the module presents a logical view of “virtual tokens” or “partitions” to user applications. Each partition must be separately authenticated in order to make it available for use. This Security Policy is specifically written for the Luna PCM in a Password Authentication (FIPS Level 2) configuration. Figure 2-1. Luna PCM Cryptographic Module Document is Uncontrolled When Printed. Page 2 of 24 CR-2372 Revision Level: 21 2.2. Assets to be Protected The module is designed to protect the following assets: 1. User-generated private keys, 2. User-generated secret keys, 3. Cryptographic services, and 4. Module security critical parameters. 2.3. Operating Environment The module is assumed to operate as a key management and cryptographic processing card connected to a host computer via a peripheral interface and card reader. The host computer will normally be used in an internal network environment when key management security is a primary requirement. It is assumed that the host computer runs a suitably secured operating system, with only known versions of the permitted application services running on it. It is assumed that trained and trustworthy administrators are responsible for the initial configuration and ongoing maintenance of the host computer and the cryptographic module. It is assumed that physical access to the cryptographic module will be controlled, and that connections to the host computer will be controlled either by accessing the host via a direct local connection or by accessing it via remote connections controlled by secure services. 3. SECURITY POLICY MODEL DESCRIPTION This section provides a narrative description of the security policy enforced by the module, in its most general form. It is intended both to state the security policy enforced by the module and to give the reader an overall understanding of the security behaviour of the module. The detailed functional specification for the module is provided elsewhere. The security behaviour of the cryptographic module is governed by the following security policies: • Operational Policy • Identification and Authentication Policy • Access Control Policy • Cryptographic Material Management Policy • Firmware Security Policy • Physical Security Policy These policies complement each other to provide assurance that cryptographic material is securely managed throughout its life cycle and that access to other data and functions provided by the product is properly controlled. Configurable parameters that determine many of the variable aspects of the module’s behaviour are specified by the higher level Operational Policy implemented at two levels: the cryptographic module as a whole and the individual partition. This is described in section 3.1. The Identification and Authentication policy is crucial for security enforcement and it is described in section 3.4. The access control policy is the main security functional policy enforced by the module and is described in section 3.5, which also describes the supporting object re-use policy. Cryptographic Material Management is described in section 3.6. Firmware security, physical security and fault tolerance are described in sections 3.8 through 3.12. Document is Uncontrolled When Printed. Page 3 of 24 CR-2372 Revision Level: 21 3.1. Operational Policy The module employs the concept of the Operational Policy to control the overall behaviour of the module and each of the partitions within. At each level, either the module or the partition is assigned a fixed set of “capabilities” that govern the allowed behaviour of the module or individual partition. The Security Officer (SO) establishes the Operational Policy by enabling/disabling or refining the corresponding policy elements to equate to or to be more restrictive than the pre-assigned capabilities. The set of configurable policy elements is a proper subset of the corresponding capability set. That is, not all elements of the capability set can be refined. Which of the capability set elements have corresponding policy set elements is pre-determined based on the “personality” of the partition or manufacturing restrictions placed on the module. For example, the module capability setting for “domestic algorithms and key sizes available” does not have a corresponding configurable policy element. There are also several fixed settings that do not have corresponding capability set elements. These are elements of the cryptographic module’s behaviour that are truly fixed and, therefore, are not subject to configuration by the SO. The specific settings are the following: • Allow/disallow non-sensitive secret keys – fixed as disallow. • Allow/disallow non-sensitive private keys – fixed as disallow. • Allow/disallow non-private secret keys – fixed as disallow. • Allow/disallow non-private private keys – fixed as disallow. • Allow/disallow secret key creation through the create objects interface – fixed as disallow. • Allow/disallow private key creation through the create objects interface – fixed as disallow. Further, policy set elements can only refine capability set elements to more restrictive values. Even if an element of the policy set exists to refine an element of the capability set, it may not be possible to assign the policy set element to a value other than that held by the capability set element. Specifically, if a capability set element is set to allow, the corresponding policy element may be set to either enable or disable. However, if a capability set element is set to disallow, the corresponding policy element can only be set to disable. Thus, an SO cannot use policy refinement to lift a restriction set in a capability definition. 3.1.1. Module Capabilities The following is the set of capabilities supported at the module level: • Allow/disallow non-FIPS algorithms available. • Allow/disallow password authentication. (Allowed in Level 2 configuration) • Allow/disallow trusted path authentication. (Disallowed in Level 2 configuration) • Allow/disallow M of N. (Disallowed in Level 2 configuration) • Allow/disallow cloning. • Allow/disallow masking. • Allow/disallow off-board storage. • Allow/disallow M of N auto-activation. (Disallowed in Level 2 configuration) • Allow/disallow ECC mechanisms. • Number of failed SO logins allowed before the Hardware Security Module (HSM) is zeroized (set to 3). • 1 Allow/disallow Korean algorithms . 1 Korean algorithms include SEED, ARIA, and KCDSA. Document is Uncontrolled When Printed. Page 4 of 24 CR-2372 Revision Level: 21 • Allow/disallow Remote Authentication. (Not applicable) • Allow/disallow SO reset of partition PIN. • Allow/disallow network replication (set to disallow). • Allow/disallow forcing PIN change. 3.1.2. Partition Capabilities The following is the set of capabilities supported at the partition level. All capability elements described as “allow/disallow some functionality” are Boolean values where false (or zero) equates to disallow the functionality and true (or one) equates to allow the functionality. The remainder of the elements are integer values of the indicated number of bits. • Allow/disallow partition reset. • Allow/disallow activation. • Allow/disallow automatic activation. • Allow/disallow High Availability (HA). • Allow/disallow multipurpose keys. • Allow/disallow changing of certain key attributes once a key has been created. • Allow/disallow operation without RSA blinding. • Allow/disallow signing operations with non-local keys. • Allow/disallow raw RSA operations. • Allow/disallow private key wrapping. • Allow/disallow private key unwrapping. • Allow/disallow secret key wrapping • Allow/disallow secret key unwrapping. • Allow/disallow Level 3 operation without a challenge. (Not applicable) • Allow/disallow user key management capability. (Not applicable) • Allow/disallow incrementing of failed login attempt counter on failed challenge response validation. • Allow/disallow RSA signing without confirmation • Allow/disallow Registration Authority (RA) type wrapping. • Minimum/maximum password length (minimum must be >= 7). • Number of failed Partition User logins allowed before partition is locked out/cleared. (The maximum value, set as the default, is 10.) The following capabilities are only configurable if cloning is allowed and enabled at the module level: • Allow/disallow private key cloning. • Allow/disallow secret key cloning. Document is Uncontrolled When Printed. Page 5 of 24 CR-2372 Revision Level: 21 The following capabilities are only configurable if masking is allowed and enabled at the module level: • 2 Allow/disallow private key masking . • Allow/disallow secret key masking. In addition, the masking function can only be used according to the following restrictions: • If cloning is not allowed or not enabled, masking/unmasking can only be used by the original module within its host appliance. • If cloning is allowed and enabled, masking/unmasking can be used across multiple modules within the same domain. The following tables summarize the module and partition capabilities, showing the typical capability settings for modules configured as Luna PCM Signing (S), Signing with Backup (SB), Key Export – Cloning (KEC) and Key Export – SIM (KES) modules. An X indicates the default capability setting for each configuration of the module. Greyed-out rows indicate that the corresponding capability setting is not used as a default for any of the configurations of the module. Table 3-1 Module Capabilities and Policies Description Capability S SB KEC KES Policy Comments Enable SO can configure the policy to enable or X X X X Allow disable the availability of non-FIPS Disable algorithms at the time the HSM is initialized. Non-FIPS algorithms available The HSM must operate using FIPS- Disallow Disable approved algorithms only. Must be disabled in FIPS mode Enable SO can configure the policy to enable or X X X X Allow disable the use of passwords without trusted Disable path for authentication. Password authentication The HSM must operate using the trusted Disallow Disable path and module-generated secrets for authentication. Enable SO can configure the policy to enable or disable the use of the trusted path and Allow module-generated secrets for Disable Trusted path authentication. authentication The HSM must operate using passwords X X X X Disallow Disable without trusted path for authentication.3 SO can configure the policy to enable or Enable disable the use of M of N secret sharing to Allow activate the module. Requires that the Disable policy for “trusted path” authentication be M of N enabled. The HSM must operate without M of N X X X X Disallow Disable secret sharing for activation. Enable SO can configure the policy to enable or X X X Allow disable the availability of the cloning function Cloning Disable for the HSM as a whole. X Disallow Disable The HSM must operate without cloning. 2 “Key masking” is a Luna product feature that provides encrypted key output. Key masking provides AES 256-bit encryption employing additional proprietary obfuscation, which does not provide additional security. Within the terms of FIPS 140-2 and supporting Implementation Guidance, this capability is a form of “key wrapping”. 3 One and only one means of authentication (“user password” or “trusted path”) must be enabled by the policy. Therefore, either one or both of the authentication capabilities must be allowed and, if one of the capabilities is disallowed or the policy setting disabled, then the policy setting for the other must be enabled. Document is Uncontrolled When Printed. Page 6 of 24 CR-2372 Revision Level: 21 Description Capability S SB KEC KES Policy Comments Enable SO can configure the policy to enable or X X Allow disable the availability of the masking Masking Disable function for the HSM as a whole. X X Disallow Disable The HSM must operate without masking. Enable Off-board storage is used for backup X Allow purposes. The SO can enable or disable Disable the use of off-board storage. Off-board Storage Off-board storage is not allowed in the PCM X X X Disallow Disable configuration. Enable SO can configure the policy to enable or Allow disable the use of the M of N auto-activation Disable feature. M of N auto-activation The HSM must operate without M of N auto- X X X X Disallow Disable activation. Enable This capability is set prior to shipment to the X X X X Allow customer. It controls the availability of ECC ECC mechanisms Disable mechanisms. available Disallow Disable ECC mechanisms are not available. Enable SO can configure the policy to enable a partition to be reset if it is locked as a result X X X X Allow of exceeding the maximum number of failed Disable login attempts. Partition reset A partition cannot be reset and must be re- Disallow Disable created as a result of exceeding the maximum number of failed login attempts. Enable SO can configure the policy to enable the Allow replication of the module’s key material over Disable the network to a second module. Network Replication The module cannot be replicated over the X X X X Disallow Disable network. Enable This capability is set prior to shipment to the X X X X Allow customer. If enabled, it forces the user to Disable change PIN upon first login. Force user PIN change The user is never forced to change PIN on Disallow Disable first login. Enable This capability is set prior to shipment to the X X Allow customer. It allows the use of remote Disable authentication. Remote authentication Remote authentication cannot be enabled X X Disallow Disable for the module. Korean algorithms Enable SO can configure the policy to enable or Allow disable the use of the Korean algorithms Disable Korean algorithms are not available.4 X X X X Disallow Disable 4 Allowed upon customer request. Document is Uncontrolled When Printed. Page 7 of 24 CR-2372 Revision Level: 21 Table 3-2 Partition Capabilities and Policies Description Prerequisite Capability S SB KEC KES Policy Comments Enable SO can configure the policy to enable Level 3 login using the PED trusted path only, Allow with no challenge-response Disable validation required. Must be Level 3 operation Trusted path disabled if either activation or without a authentication auto-activation is enabled challenge enabled Challenge-response validation required plus PED N/A N/A N/A N/A Disallow Disable trusted path login to access the partition. Enable SO can configure the policy to enable the normal PKCS #11 user role to perform key Trusted path management functions. If authentication X X X X Allow enabled, the Partition User User key Disable enabled, Level 3 key management functions management operation without capability5 are available. If disabled, a challenge only the Crypto User role disabled functions are accessible. Only the Crypto User role Disallow Disable functions are accessible. Enable SO can configure the policy to count failures of the challenge-response validation Allow against the maximum login Disable Count failed failures or not. Must be Trusted path challenge- enabled if either activation or authentication response auto-activation is enabled enabled validations Failures of the challenge- response validation are not N/A N/A N/A N/A Disallow Disable counted against the maximum login failures. 5 This capability/policy is intended to offer customers a greater level of control over key management functions. By disabling the policy, the Security Officer places the partition into a state in which the key material is locked down and can only be used by connected applications, i.e., only Crypto User access is possible. Document is Uncontrolled When Printed. Page 8 of 24 CR-2372 Revision Level: 21 Description Prerequisite Capability S SB KEC KES Policy Comments Enable SO can configure the policy to enable the authentication data provided via the PED trusted path to be cached in the module, allowing all Allow subsequent access to the Disable Trusted path partition, after the first login, Activation authentication to be done on the basis of enabled challenge-response validation alone. PED trusted path X X X X Disallow Disable authentication is required for every access to the partition. Enable SO can configure the policy to enable the activation data to be stored on the appliance server in encrypted form, allowing the partition to resume its authentication Allow Trusted path state after a re-start. This is Disable Auto-activation authentication intended primarily to allow enabled partitions to automatically re- start operation when the appliance returns from a power outage. Activation data cannot be X X X X Disallow Disable externally cached. Enable SO can configure the policy Allow to enable the use of the High Network Disable Availability feature. High Availability replication enabled X X X X High Availability cannot be Disallow Disable enabled. Enable SO can configure the policy to enable the use of keys for more than one purpose, e.g., an RSA private key could be used for digital signature and X X X X Allow for decryption for key Disable Multipurpose keys N/A transport purposes. RSA key pairs generated using the X9.31 mechanism can only be used for signatures. Keys can only be used for a Disallow Disable single purpose. Enable SO can configure the policy X X X X Allow to enable changing key Disable attributes. Change attributes N/A Key attributes cannot be Disallow Disable changed. Enable SO can configure the use of blinding mode for RSA operations. Blinding mode is used to defeat timing analysis X X X X Allow attacks on RSA digital Disable Operate without signature operations, but it N/A RSA blinding also imposes a significant performance penalty on the signature operations. Blinding mode is not used for Disallow Disable RSA operations. Document is Uncontrolled When Printed. Page 9 of 24 CR-2372 Revision Level: 21 Description Prerequisite Capability S SB KEC KES Policy Comments Enable SO can configure the ability to sign with externally- X X X X Allow generated private keys that Disable have been imported into the Signing with non- N/A partition. local keys Externally-generated private Disallow Disable keys cannot be used for signature operations. Enable SO can configure the ability to use raw (no padding) X X X X Allow format for RSA encrypt / Raw RSA N/A Disable decrypt operations for key operations transport purposes. Disallow Disable Raw RSA cannot be used. Enable SO can configure the ability X X Allow to wrap private keys for Disable export. Private key N/A wrapping Private keys cannot be X X Disallow Disable wrapped and exported from the partition. Enable SO can configure the ability X X X X Allow to unwrap private keys and Disable import them into the partition. Private key N/A unwrapping Private keys cannot be Disallow Disable unwrapped and imported into the partition. Enable SO can configure the ability to wrap secret keys and X X X X Allow export them from the Disable Secret key partition. N/A wrapping Secret keys cannot be Disallow Disable wrapped and exported from the partition. Enable SO can configure the ability X X X X Allow to unwrap secret keys and Disable import them into the partition. Secret key N/A unwrapping Secret keys cannot be Disallow Disable unwrapped and imported into the partition. Enable SO can configure the ability X Allow to clone private keys from Disable Private key one partition to another. Cloning enabled cloning Private keys cannot be X X X X Disallow Disable cloned. Enable SO can configure the ability X Allow to clone secret keys from one Disable partition to another. Secret key cloning Cloning enabled Secret keys cannot be X X X Disallow Disable cloned. Enable SO can configure the ability X Allow to mask private keys for Disable storage outside the partition. Private key Masking enabled masking Private keys cannot be X X X Disallow Disable masked for storage outside the partition. Document is Uncontrolled When Printed. Page 10 of 24 CR-2372 Revision Level: 21 Description Prerequisite Capability S SB KEC KES Policy Comments Enable SO can configure the ability X X Allow to mask secret keys for Disable storage outside the partition. Secret key Masking enabled masking Secret keys cannot be X X Disallow Disable masked for storage outside the partition. Enable This setting allows wrapping of individual private key CRT Private key X X X Allow components rather than as RA type wrapping wrapping Disable one PKCS #8 formatted enabled object. X Disallow Disable The SO can configure the Minimum / User password minimum password length for 7-255 Configurable maximum authentication Level 2 modules, but characters password length enabled minimum length must always be >= 7. Number of failed The SO can configure; Minimum:1, Partition User N/A Configurable default maximum value is 10. Maximum:10 logins allowed 3.2. FIPS-Approved Mode The SO controls operation of the module in FIPS-approved mode, as defined by FIPS PUB 140-2, by enabling or disabling the appropriate Module Policy settings (assuming each is allowed at the Module Capability level). To operate in FIPS-approved mode, the following policy settings are required: • “Non-FIPS Algorithms Available” must be disabled. Additionally, for operation at FIPS Level 2, “User password authentication” must be enabled (implies that trusted path authentication is disallowed or disabled). The policy setting “User password authentication” may also be configured in the case where “Non-FIPS Algorithms Available” has been enabled. If the SO selects policy options (i.e., enables “Non-FIPS Algorithms Available”) that would place the module in a mode of operation that is not approved, a warning is displayed and the SO is prompted to confirm the selection. The SO can determine FIPS mode of operation by matching the displayed capability and policy settings to those described in Sections 3.1 and 3.2. 3.3. Description of Operator, Subject and Object 3.3.1. Operator An operator is defined as an entity that acts to perform an operation on the module. An operator may be directly mapped to a responsible individual or organization, or it may be mapped to a composite of a responsible individual or organization plus an agent (application program) acting on behalf of the responsible individual or organization. In the case of a Certification Authority (CA), for example, the organization may empower one individual or a small group of individuals acting together to operate the cryptographic module as part of the company’s service. The operator might be that individual or group, particularly if they are interacting with the module locally. The operator might also be the composite of the individual or group, who might still be present locally to the module (particularly for activation purposes, plus the CA application running on a network- attached host computer. Document is Uncontrolled When Printed. Page 11 of 24 CR-2372 Revision Level: 21 3.3.2. Roles In a Level 2 configuration (Password Authentication), the Luna PCM supports two authenticated roles: 6 Partition User and Security Officer (SO). It also supports one unauthenticated operator role, the Public User, primarily to permit access to status information and diagnostics before authentication. The SO is a privileged role, which exists only at the module level, whose primary purpose is to initially configure the module for operation and to perform security administration tasks such as partition creation. The Partition User is the key management and user role for the partition. For an operator to assume any role other than Public User, the operator must be identified and authenticated. The following conditions must hold in order to assume one of the authenticated roles: • No operator can assume the Partition User or Security Officer role before identification and authentication; • No identity can assume the Partition User plus the Security Officer role. 3.3.3. Account Data 7 The module maintains the following User (per Partition ) and SO account data: • Partition ID or SO ID number. • Partition User encrypted or SO encrypted authentication data (checkword). • Partition User locked out flag. An authenticated User is referred to as a Partition User. The ability to manipulate the account data is restricted to the SO and the Partition User. The specific restrictions are as described below: 1. Only the Security Officer role can create (initialize) and delete the following security attributes: • Partition ID. • Checkword. 2. If Partition reset is allowed and enabled, the SO role only can modify the following security attribute: • Locked out flag for Partition User. 3. Only the Partition User can modify the following security attribute: • Checkword for Partition User. 4. Only the Security Officer role can change the default value, query, modify and delete the following security attribute: • Checkword for Security Officer. 6 Within the confines of the operational use of the Luna cryptographic module, the term “Security Officer” is equivalent to the FIPS 140-2 term of “Crypto Officer”. 7 A Partition effectively represents an identity within the module. Document is Uncontrolled When Printed. Page 12 of 24 CR-2372 Revision Level: 21 3.3.4. Subject For purposes of this security policy, the subject is defined to be a module session. The session provides a logical means of mapping between applications connecting to the module and the processing of commands within the module. Each session is tracked by the Session ID, the Partition ID and the Access ID, which is a unique ID associated with the application’s connection. It is possible to have multiple open sessions with the module associated with the same Access ID/Partition ID combination. It is also possible for the module to have sessions opened for more than one Partition ID or have multiple Access IDs with sessions opened on the module. Applications running on remote host systems that require data and cryptographic services from the module must first connect via the communications service within the appliance, which will establish the unique Access ID for the connection and then allow the application to open a session with one of the partitions within the module. A local application (e.g., command line administration interface) will open a session directly with the appropriate partition within the module without invoking the communications service. 3.3.5. Operator – Subject Binding An operator must access a partition through a session. A session is opened with a partition in an unauthenticated state and the operator must be authenticated before any access to cryptographic functions and Private objects within the partition can be granted. Once the operator is successfully identified and authenticated, the session state becomes authenticated and is bound to the Partition User represented by the Partition ID, in the Partition User role. Any other sessions opened with the same Access ID/Partition ID combination will share the same authentication state and be bound to the same Partition User. 3.3.6. Object An object is defined to be any formatted data held in volatile or non-volatile memory on behalf of an operator. For the purposes of this security policy, the objects of primary concern are private (asymmetric) keys and secret (symmetric) keys. 3.3.7. Object Operations Object operations may only be performed by a Partition User. New objects can be made in several ways. The following list identifies operations that produce new objects: • Create, • Copy, • Generate, • Unwrapping, • Derive. Existing objects can be modified and deleted. The values of a subset of attributes can be changed through a modification operation. Objects can be deleted through a destruction operation. Constant operations do not cause creation, modification or deletion of an object. These constant operations include: • Query an object’s size; • Query the size of an attribute; • Query the value of an attribute; • Use the value of an attribute in a cryptographic operation; • Search for objects based on matching attributes; Document is Uncontrolled When Printed. Page 13 of 24 CR-2372 Revision Level: 21 • Cloning an object; • Wrapping an object; and • Masking and unmasking an object. Secret keys and private keys are always maintained as Sensitive objects and, therefore, they are permanently stored with the key value encrypted to protect its confidentiality. Key objects held in volatile memory do not have their key values encrypted, but they are subject to active zeroization in the event of a module reset. Operators are not given direct access to key values for any purpose. 3.4. Identification and Authentication 3.4.1. Authentication Data Generation and Entry The module requires that Partition Users and the SO be authenticated by proving knowledge of a secret shared by the operator and the module. The FIPS mode is determined when the HSM is initialized: a module that is to support Level 2 mode must be initialized using a password to define the SO authentication data. For a module operating in FIPS Level 2 mode, the SO must enable the “User password authentication” (implies that the trusted path authentication is disallowed or disabled). The SO defines a user password when a partition is created. The minimum length of the password must always be equal to or greater than 7 characters, and up to 16 characters. 3.4.2. Limits on Login Failures The module also implements a maximum login attempts policy. The policy differs for an SO authentication data search and a Partition User authentication data search. In the case of an SO authentication data search: • If three (3) consecutive SO logon attempts fail, the module is zeroized. In the case of a Partition User authentication data search, one of two responses will occur, depending on the partition policy: 1. If “Partition reset” is Allowed and Enabled, then if “n” (“n” is set by the SO at the time the HSM is initialized) consecutive operator logon attempts fail, the module flags the event in the Partition User’s account data, locks the Partition User and clears the volatile memory space. The SO must unlock the partition in order for the Partition User to resume operation. 2. If “Partition reset” is not Allowed or not Enabled, then if “n” consecutive Partition User logon attempts via the physical trusted path fail, the module will erase the partition. The SO must delete and re-create the partition. Any objects stored in the partition, including private and secret keys, are permanently erased. 3.5. Access Control The Access Control Policy is the main security function policy enforced by the module. It governs the rights of a subject to perform privileged functions and to access objects stored in the module. It covers the object operations detailed in section 3.3.7. Document is Uncontrolled When Printed. Page 14 of 24 CR-2372 Revision Level: 21 A subject’s access to objects stored in the module is mediated on the basis of the following subject and object attributes: • Subject attributes: Session ID o Access ID and Partition ID associated with session o Session authentication state (binding to authenticated Partition identity and role) o • Object attributes: Owner. A Private object is owned by the Partition User associated with the subject o that produces it. Ownership is enforced via internal key management. Private. If True, the object is Private. If False, the object is Public. o Sensitive. If True, object is Sensitive. If False, object is Non-Sensitive. o 8 Extractable . If True, object may be extracted. If False, object may not be o extracted. Modifiable. If True, object may be modified. If False, object may not be modified. o Objects are labelled with a number corresponding to their partition and are only accessible by a subject associated with the owning Partition ID. Only generic data and certificate objects can be non-sensitive. Private key and secret key objects are always created as Sensitive, Private objects. Sensitive objects are encrypted using the partition’s secret key to prevent their values from ever being exposed to external entities. Private objects can only be used for cryptographic operations by a logged in Partition User. Key objects that are marked as extractable may be exported from the module using the Wrap operation if allowed and enabled in the partition’s policy set. Table 3-3 summarizes the object attributes used in Access Control Policy enforcement. Table 3-3 Object Attributes Used in Access Control Policy Enforcement Attribute Values Impact TRUE – Object is private to (owned by) the operator Object is only accessible to subjects (sessions) bound identified as the Access Owner when the object is to the operator identity that owns the object. created. PRIVATE FALSE – Object is not private to one operator identity. Object is accessible to all subjects associated with the partition in which the object is stored. Key material is stored in encrypted form. TRUE – Attribute values representing plaintext key material are not permitted to exist (value encrypted). SENSITIVE FALSE – Attribute values representing plaintext data Plaintext data is stored with the object and is are permitted to exist. accessible to all subjects otherwise permitted access to the object. TRUE – The object’s attribute values may be modified. The object is “writeable” and its attribute values can be changed during a copy or set attribute operation. MODIFIABLE FALSE – The object’s values may not be modified. The object can only be read and only duplicate copies can be made. TRUE – Key material stored with the object may be The ability to extract a key permits sharing with other extracted from the Luna PCM using the Wrap crypto modules and archiving of key material. operation. EXTRACTABLE Keys must never leave the module’s control. FALSE – Key material stored with the object may not be extracted from the Luna PCM. 8 Extract means to remove the key from the control of the module. This is typically done using the Wrap operation, but the Mask operation is also considered to perform an extraction when cloning is enabled for the container. Document is Uncontrolled When Printed. Page 15 of 24 CR-2372 Revision Level: 21 The module does not allow any granularity of access other than owner or non-owner (i.e., a Private object is only accessible by one Partition User. It cannot be accessible by two Partition Users and restricted to other Partition Users.). Ownership of a Private object gives the owner access to the object through the allowed operations but does not allow the owner to assign a subset of rights to other operators. Allowed operations are those permitted by the HSM and Partition Capability and Policy settings. The policy is summarized by the following statements: • A subject may perform an allowed operation on an object if the object is in the partition with which the subject is associated and one of the following two conditions holds: 1. The object is a “Public” object, i.e., the PRIVATE attribute is FALSE, or 2. The subject is bound to the Partition User that owns the object. • Allowed operations are those permitted by the object attribute definitions within the constraints imposed by the HSM and Partition Capability and Policy settings. 3.5.1. Object Re-use The access control policy is supported by an object re-use policy. The object re-use policy requires that the resources allocated to an object be cleared of their information content before they are re-allocated to a different object. 3.5.2. Privileged Functions The module shall restrict the performance of the following functions to the SO role only: • Module initialization • Partition creation and deletion • Configuring the module and partition policies • Module zeroization • Firmware update 3.6. Cryptographic Material Management Cryptographic material (key) management functions protect the confidentiality of key material throughout its life-cycle. The FIPS PUB 140-2 approved key management functions provided by the module are the following: (1) Pseudo random number generation in accordance with ANSI X9.31, Appendix A2.4. (2) Cryptographic key generation in accordance with the following indicated standards: a. RSA 1024-4096 bits key pairs in accordance with FIPS PUB 186-2. b. TDES 168 bits (SP 800-67, ANSI X9.52). c. AES 128, 192, 256 bits (FIPS PUB 197). d. DSA 1024 bits key pairs in accordance with FIPS PUB 186-2 and FIPS PUB 186-3. e. Elliptic Curve key pairs (curves in accordance with SP 800-57) in accordance with FIPS PUB 186-3. f. Diffie-Hellman key pairs in accordance with SP 800-56A. g. Key Derivation in accordance with NIST SP 800-108 (Counter mode). Document is Uncontrolled When Printed. Page 16 of 24 CR-2372 Revision Level: 21 (3) Diffie-Hellman (key agreement; key establishment methodology provides 80 and 112 bits of encryption strength). (4) EC Diffie-Hellman (ECDH) (curves in accordance with SP 800-57) key establishment in accordance with NIST SP 800-56A. (5) Symmetric key wrap / unwrap: TDES 168 bits and AES 128, 192 and 256 bits in accordance with PKCS #11 (key transport provides 112 bits of security strength with TDES and between 128 and 256 bits of security strength with AES). (6) Asymmetric key wrap / unwrap: RSA 1024 – 4096 (PKCS #1 V1.5 and OAEP) (key transport provides between 80 and 128 bits of security strength). (7) Secure key storage and key access following the PKCS #11 standard. (8) Destruction of cryptographic keys is performed in one of three ways as described below in accordance with the PKCS #11 and FIPS PUB 140-2 standard: a. An object on the Luna PCM that is destroyed using the PKCS #11 function C_DestroyObject is marked invalid and remains encrypted with the Partition User's key or the Luna PCM’s general secret key until such time as its memory locations (flash or RAM) are re-allocated for additional data on the Luna PCM, at which time they are purged and zeroized before re-allocation. b. Objects on the Luna PCM that are destroyed as a result of authentication failure are zeroized (all flash blocks in the Partition User’s memory turned to 1's). If it is an SO authentication failure, all flash blocks used for key and data storage on the Luna PCM are zeroized. c. Objects on the Luna PCM that are destroyed through C_InitToken (the SO-accessible command to initialize the Luna PCM available through the API) are zeroized, along with the rest of the flash memory being used by the SO and Partition Users. Keys are always stored as secret key or private key objects with the Sensitive attribute set. The key value is, therefore, stored in encrypted form using the owning Partition User’s secret key. Access to keys is never provided directly to a calling application. A handle to a particular key is returned that can be used by the application in subsequent calls to perform cryptographic operations. Private key and secret key objects may be imported into the module using the Unwrap, Unmask (if cloning is enabled at the HSM level) or Derive operation under the control of the Access Control Policy. Any externally-set attributes of keys imported in this way are ignored by the module and their attributes are set by the module to values required by the Access Control Policy. 3.6.1. Key Cloning Key cloning is a Luna product feature that uses a one-time 3-key TDES key as a session key to encrypt an object being transferred from one Luna module to another. Objects transferred using the cloning protocol may be keys, user data, or module data. The TDES session encrypting key is obtained by combining the 24 byte cloning domain value (randomly generated by the module) with random one-time data generated by source and target modules and exchanged using RSA 4096-based transport. 3.6.2. Key Mask/Unmask Key masking is a Luna product feature that uses a 256-bit AES key, which is unique to the module, to encrypt a key object for output in a way that ensures the key can only be imported, by unmasking, into the module from which it originally came or one that has been initialized to contain the same “master” key for the module. The key mask operation takes a key handle as input and uses the module’s validated AES implementation to create the masked key output. Document is Uncontrolled When Printed. Page 17 of 24 CR-2372 Revision Level: 21 The key unmask operation takes a masked (encrypted) key object as input, performs the necessary decryptions inside the module and returns a handle to the imported key. Note that for both mask and unmask operations, the user (or calling application acting on the user’s behalf) never has access to the actual key values – only handles assigned to the key objects in the module. 3.6.3. Key Wrap/Unwrap The key wrap operation encrypts a key value for output, using either an RSA public key (only if wrapping a symmetric key) or a symmetric key to wrap either another symmetric key or an asymmetric private key. The unwrap operation takes as input an encrypted key value and a handle to the key that was originally used to do the wrapping. It decrypts the key value, stores it in the module as a key object and returns the handle to the imported key. Note that for both wrap and unwrap operations, the user (or calling application acting on the user’s behalf) never has access to the actual key values – only handles assigned to the key objects in the module. 3.7. Cryptographic Operations Because of its generic nature, the module firmware supports a wide range of cryptographic algorithms and mechanisms. The approved cryptographic functions and algorithms that are relevant to the FIPS 140-2 validation are the following: (1) Symmetric encryption/decryption: TDES 168 bits (SP 800-67, ANSI X9.52). (2) Symmetric encryption/decryption: AES 128, 192, 256 bits (FIPS PUB 197). (3) Signature generation/verification (FIPS PUB 186-3): RSA 1024-3072 bits (X9.31) with SHA-1, RSA 1024-3072 bits (PKCS #1 V1.5) with SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 (FIPS PUB 180-3), RSA 1024-3072 bits (PSS) with SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 (FIPS PUB 180-3); DSA 1024 bits (FIPS PUB 186-2) with SHA-1; ECDSA with SHA-1, SHA-224, SHA-256, SHA-256, SHA-384, SHA-512. (4) Signature generation/verification (FIPS PUB 186-2): RSA 1024-4096 bits (X9.31) with SHA-1, RSA 1024-4096 bits (PKCS #1 V1.5) with SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 (FIPS PUB 180-3), RSA 1024-4096 bits (PSS) with SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 (FIPS PUB 180-3); DSA 1024 bits (FIPS PUB 186-2) with SHA-1; ECDSA (ANSI X9.62) with SHA-1. (5) Hash generation SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 (FIPS PUB 180-3). (6) Keyed hash generation HMAC using SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 (FIPS PUB 198). (7) Message authentication TDES MAC (FIPS PUB 113) and CMAC (NIST SP 800-38B). (8) Random number generation (ANSI X9.31 A2.4). Document is Uncontrolled When Printed. Page 18 of 24 CR-2372 Revision Level: 21 Table 3-4. Approved and Allowed Security Functions Firmware Implementation Approved and Allowed Security Functions Certificate No. Symmetric Encryption/Decryption AES: (ECB, CBC, OFB); Encrypt/Decrypt; Key Size = 128, 192, 256 1785 Triple-DES: (TECB, TCBC); Encrypt/Decrypt KO 1,2 1157 Secure Hash Standard (SHS) SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 (Byte Only) 1567 Message Authentication Code HMAC-SHA-1, HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, HMAC-SHA-512 1050 Triple-DES MAC (Vendor Affirmed) 1157 CMAC (Key Sizes Tested: 128 192 256) 1785 Asymmetric RSA: FIPS 186-2: [ANSIX9.31]; KEYGEN; SIG (gen); SIG (ver) (MOD: 1024, 1536, 2048, 3072, 4096 PubKey Values: 3, 17, 65,537 ); [RSASSA-PKCS1_V1_5]; SIG(gen); SIG(ver); (MOD: 1024, 1536, 2048, 3072, 4096); SHA(1, 224, 256, 384, 512); [RSASSA- PSS]; SIG(gen); SIG(ver); (MOD: 1024, 1536, 2048, 3072, 4096) SHA(1, 224, 256, 384, 512)) 892 FIPS 186-3: [ANSIX9.31]; SIG(gen); SIG (ver) (MOD: 1024 SHA( 1 ); 2048 SHA( 1 ); 3072 SHA( 1 )); [RSASSA-PKCS1_V1_5]; SIG(gen); SIG(ver); (MOD: 1024 SHA(1, 224, 256, 384, 512); (2048 SHA(1, 224, 256, 384, 512); 3072; SHA(1, 224, 256, 384, 512); ALG[RSASSA-PSS]; SIG(gen); SIG(ver); (MOD: 1024 SHA(1, 224, 256, 384, 512), 2048 SHA(1, 224, 256, 384, 512), 3072 SHA(1, 224, 256, 384, 512)) DSA: FIPS 186-2: KEYGEN(Y); SIG(gen); SIG(ver) MOD (1024) 561 FIPS 186-3: KEYGEN: [ (1024,160) ]; SIG(gen): [ (1024,160) SHA( 1 ) ]; SIG(ver): [ (1024,160) SHA( 1 ) ] Document is Uncontrolled When Printed. Page 19 of 24 CR-2372 Revision Level: 21 Approved and Allowed Security Functions Certificate No. ECDSA: FIPS 186-2: PKG: CURVES( P-192 P-224 P-256 P-384 P-521 K-163 K-233 K-283 K-409 K-571 B-163 B-233 B-283 B-409 B-571) SIG(gen): CURVES( P-192 P-224 P-256 P-384 P-521 K-163 K-233 K-283 K-409 K-571 B-163 B-233 B-283 B-409 B-571) SIG(ver): CURVES( P-192 P-224 P-256 P-384 P-521 K-163 K-233 K-283 K-409 K-571 B- 163 B-233 B-283 B-409 B-571) FIPS 186-3: PKG: CURVES( ALL-P ALL-K ALL-B) SIG(gen): CURVES( P-192: (SHA-1, 224, 256, 384, 512) P-224: (SHA-1, 224, 256, 384, 512) P-256: (SHA-1, 224, 256, 384, 512) P-384: (SHA-1, 224, 256, 384, 512) P-521: (SHA-1, 224, 256, 384, 512) K-163: (SHA-1, 224, 256, 384, 512) K-233: (SHA-1, 224, 241 256, 384, 512) K-283: (SHA-1, 224, 256, 384, 512) K-409: (SHA-1, 224, 256, 384, 512) K-571: K-283: (SHA-1, 224, 256, 384, 512) B-163: (SHA-1, 224, 256, 384, 512) B-233 (SHA-1, 224, 256, 384, 512) B-283: (SHA-1, 224, 256, 384, 512) B-409: (SHA-1, 224, 256, 384, 512) B-571: (SHA-1, 224, 256, 384, 512) ) SIG(ver): CURVES( P-192: (SHA-1, 224, 256, 384, 512) P-224: (SHA-1, 224, 256, 384, 512) P-256: (SHA-1, 224, 256, 384, 512) P-384: (SHA-1, 224, 256, 384, 512) P-521: (SHA-1, 224, 256, 384, 512) K-163: (SHA-1, 224, 256, 384, 512) K-233: (SHA-1, 224, 256, 384, 512) K-283: (SHA-1, 224, 256, 384, 512) K-409: (SHA-1, 224, 256, 384, 512) K-571: K-283: (SHA-1, 224, 256, 384, 512) B-163: (SHA-1, 224, 256, 384, 512) B-233 (SHA-1, 224, 256, 384, 512) B-283: (SHA-1, 224, 256, 384, 512) B-409: (SHA-1, 224, 256, 384, 512) B-571: (SHA-1, 224, 256, 384, 512) ) Key Agreement Scheme ECC: SCHEMES [ Ephemeral Unified ( KARole(s): Initiator / Responder No_KC: ( EA: P-192 SHA1 SHA224 SHA256 SHA384 SHA512 ) ( EB: K-233 SHA224 SHA256 SHA384 SHA512 ) ( EC: B-283 SHA256 SHA384 SHA512 ) ( ED: K-409 SHA384 SHA512 ) ( EE: P-521 ) ] 24 [ OnePassDH ( KARole(s): Initiator / Responder ( No_KC: ( EA: P-192 SHA1 SHA224 SHA256 SHA384 SHA512 ) ( EB: K-233 SHA224 SHA256 SHA384 SHA512 ) ( EC: B-283 SHA256 SHA384 SHA512 ) ( ED: K-409 SHA384 SHA512 ) ( EE: P-521 ) ] Diffie-Hellman (key agreement; key establishment methodology provides 80 and 112 bits of encryption strength). Key Transport RSA (key wrapping; key establishment methodology provides between 80 and 128 bits of security strength) AES (key wrapping – provides between 128 and 256 bits of security strength) TDES (key wrapping – provides 112 bits of security strength with 3-key TDES) Key Derivation NIST SP 800-108 (Counter Mode) (Vendor Affirmed) Random Number Generation (RNG) ANSI X9.31 Appendix A, para 2.4 [ TDES-3Key ] 947 Document is Uncontrolled When Printed. Page 20 of 24 CR-2372 Revision Level: 21 Table 3-5 – Non-FIPS Approved Security Functions Encrypt/Decrypt • DES-ECB • DES-CBC • RC2-ECB • RC2-CBC • RC4 • RC5-ECB • RC5-CBC • CAST5-ECB • CAST5-CBC • RSA X-509 • SEED • ARIA Digest • MD2 • MD5 • HAS-160 Sign/Verify • AES MAC (non-compliant) • DES-MAC • RC2-MAC • RC5-MAC • CAST5-MAC • SSL3-MD5-MAC • SSL3-SHA1-MAC • KCDSA Generate Key • DES • RC2 • RC4 • RC5 • CAST5 • SEED • ARIA • GENERIC-SECRET • SSL PRE-MASTER Generate Key Pair • KCDSA Encrypt Symmetric Key Using Symmetric Algorithm • RC2-ECB • CAST5-ECB Decrypt Symmetric Key With Symmetric Algorithm • RC2-ECB • CAST5-ECB Document is Uncontrolled When Printed. Page 21 of 24 CR-2372 Revision Level: 21 3.8. Self-tests The module provides self-tests on power-up and on request to confirm the firmware integrity, and to check the random number generator and each of the implemented cryptographic algorithms. The module also performs conditional self-tests in accordance with FIPS 140-2, section 4.9.2. Table 3-6. Module Self-Tests Test When Performed Indicator Module halt9 Firmware CRC by boot block prior to firmware start Power-on Firmware SHA-1 Power-on Module halt Module halt / Error - Halt10 TDES Known Answer Test (KAT) Power-on/Request SHA-1 KAT Power-on/Request Module halt / Error - Halt SHA-224 KAT Power-on/Request Module halt / Error - Halt SHA-256 KAT Power-on/Request Module halt / Error - Halt SHA-384 KAT Power-on/Request Module halt / Error - Halt SHA-512 KAT Power-on/Request Module halt / Error - Halt HMAC SHA-1 KAT Power-on/Request Module halt / Error - Halt HMAC SHA-224 KAT Power-on/Request Module halt / Error - Halt HMAC SHA-256 KAT Power-on/Request Module halt / Error - Halt HMAC SHA-384 KAT Power-on/Request Module halt / Error - Halt HMAC SHA-512 KAT Power-on/Request Module halt / Error - Halt RSA KAT Power-on/Request Module halt / Error - Halt DSA KAT Power-on/Request Module halt / Error - Halt Diffie-Hellman KAT Power-on/Request Module halt / Error - Halt AES KAT Power-on/Request Module halt / Error - Halt ECDH KAT Power-on/Request Module halt / Error - Halt ECDSA KAT Power-on/Request Module halt / Error - Halt RNG continuous tests Continuous Error - Halt RSA – Pair-wise consistency test (asymmetric key pairs) On generation Error DSA – Pair-wise consistency test (asymmetric key pairs) On generation Error On generation Error ECDSA – Pair-wise consistency test (asymmetric key pairs) Firmware load test (4096-bit RSA sig ver) On firmware update Error – module will continue load with existing firmware 3.9. Firmware Security The Firmware Security Policy assumes that any firmware images loaded in conformance with the policy have been verified by SafeNet to ensure that the firmware will function correctly. The policy applies to initial firmware loading and subsequent firmware updates. 9 Details of the failure can be obtained from the dual-port following a module halt. 10 An error message is output, the cryptographic module halts, and data output is inhibited. Document is Uncontrolled When Printed. Page 22 of 24 CR-2372 Revision Level: 21 11 The module shall not allow external software to be loaded inside its boundary. Only properly formatted firmware may be loaded. The communication of initial or updated firmware to a target module shall be initiated by a SafeNet module dedicated to that function. Firmware shall be digitally signed using the SafeNet Manufacturing signature key and encrypted using a secret key that may be derived by the receiving module for decryption. The unencrypted firmware must not be visible outside the module before, during and after the loading operation. The target module shall verify the signature on the firmware image before allowing it to be loaded. If the signature does not verify, the module will return an error and not load the image. In the case of an attempted firmware update, it will continue to operate with the existing installed image. The firmware shall provide mechanisms to ensure its own integrity and to ensure the integrity of any permanent security-critical data stored within the module. 3.10. Physical Security The Luna PCM cryptographic module is a multi-chip standalone module as defined by FIPS PUB 140– 2 section 4.5. The module is enclosed in a strong enclosure that provides tamper-evidence. Any tampering that might compromise the module’s security is detectable by visual inspection of the physical integrity of the module. A hard opaque epoxy covers the circuitry of the cryptographic module. Attempts to remove this epoxy will cause sufficient damage to the cryptographic module so that it is rendered inoperable. The module’s enclosure is opaque to resist visual inspection of the device design, physical probing of the device and attempts to access sensitive data on individual components of the device. 3.11. EMI / EMC The module conforms to FCC Part 15 Class B requirements for home use. 3.12. Fault Tolerance If power is lost to the module for whatever reason, the module shall, at a minimum, maintain itself in a state that it can be placed back into operation when power is restored without compromise of its functionality (including security functionality) or permanently stored data. All requirements of this Security Policy apply when power is restored. 12 The module shall maintain its secure state in the event of data input/output failures. When data input/output capability is restored, the module will resume operation in the state it was prior to the input/output failure. 3.13. Mitigation of Other Attacks Timing attacks are mitigated directly by the module through the use of hardware accelerator chips for modular exponentiation operations. The use of hardware acceleration ensures that all RSA signature operations complete in very nearly the same time, therefore making the analysis of timing differences irrelevant. RSA blinding may also be selected as an option to mitigate this type of attack. 11 External software means any form of executable code that has been generated by anyone other than SafeNet and has not been properly formatted and signed as a legitimate SafeNet firmware image. 12 A secure state is one in which either the Luna PCM is operational and its security policy enforcement is functioning correctly, or it is not operational and all sensitive material is stored in a cryptographically protected form on the Luna PCM. Document is Uncontrolled When Printed. Page 23 of 24 CR-2372 Revision Level: 21 - THIS PAGE LEFT BLANK INTENTIONALLY - Document is Uncontrolled When Printed. Page 24 of 24 CR-2372 Revision Level: 21 APPENDIX A. SECURITY POLICY CHECKLIST TABLES Table A-1 Roles and Required Identification and Authentication Role Type of Authentication Authentication Data Security Officer Role-based Level 2 – Password Partition User (crypto Role-based Level 2 – Password officer) Public User Not required N/A Table A-2 Strengths of Authentication Mechanisms Authentication Mechanism Strength of Mechanism Password (Level 2) Configurable by SO from 7 to 16 characters. The probability of guessing the challenge secret in a single attempt is 1 in 627 (approximately 3.5 x 1012). With login failure thresholds of 3 for SO and configurable from 1 to 15 (default 10) for users, this ensures the FIPS 140-2 required thresholds can never be reached. Table A-3 Services Authorized for Roles Role Authorized Services Security Officer Show Status, Self-test, Initialize Module, Configure Module Policy, Create Partition, Configure Partition Policy, Zeroize, Firmware Update Partition User (crypto Show Status, Self-test, Key and Key Pair Generation, Symmetric Encrypt/Decrypt, Asymmetric officer) Signature/Verification, Symmetric & Asymmetric Key Wrap/Unwrap, Symmetric & Asymmetric Key Mask/Unmask, Store Data Object, Read Data Object, Partition Backup and Restore Public User Show Status, Self-test, Store Public Data Object, Read Public Data Object Document is Uncontrolled When Printed. Page A-1 of A-4 CR-2372 Revision Level: 21 Table A-4 Access Rights within Services Service Cryptographic Keys and CSPs Role Type(s) of Access Show Status13 N/A All N/A Self-test N/A All N/A Initialize Module Authentication data SO Write – SO authentication data Use14 Configure Module Policy Authentication data SO Create Partition Authentication data SO Write – User authentication data Configure Partition Policy Authentication data SO Use Zeroize Authentication data, symmetric keys, SO Write, Erase asymmetric key pairs MVK15 Firmware Update SO Use, Write (firmware only) Key and Key Pair Generation Symmetric keys, asymmetric key pairs Partition User Write Symmetric Key Wrap/ Unwrap Symmetric with RSA Partition User Use, Write Symmetric with Symmetric ECB mode Asymmetric Key Wrap/ Asymmetric with Symmetric CBC mode Partition User Use, Write Unwrap Symmetric Key Mask/ Symmetric with AES 256 Partition User Use, Write Unmask Asymmetric Key Mask/ Symmetric with AES 256 Partition User Use, Write Unmask Transfer16 Partition Backup / Restore Symmetric keys, asymmetric key pairs with 3- Partition User key TDES Symmetric Encrypt/Decrypt Symmetric keys Partition User Use Asymmetric Signature RSA, DSA private keys Partition User Use Asymmetric Verification RSA, DSA public keys Partition User Use Store Data Object Non-cryptographic data Partition User, Write Public User17 Read Data Object Non-cryptographic data Partition User, Read Public User18 13 Show status is provided by invoking the “hsm showinfo” command from the administrative interface. It will display identifying information about the module such as label, serial number, firmware version, etc., and state whether the module is in FIPS-approved mode. 14 Use means access to key material for use in performing a cryptographic operation. The key material is never visible. 15 Public key value. See Table A-5 for its description. 16 Transfer means moving a key using the cloning protocol from one crypto module to another. 17 The Public User has access to Public Data Objects only. 18 The Public User has access to Public Data Objects only. Document is Uncontrolled When Printed. Page A-2 of A-4 CR-2372 Revision Level: 21 Table A-5 Keys and Critical Security Parameters Used in the Module Key/CSP Name Description SIM authorization values These user-supplied values are used to authorize the insertion of a masked key blob previously extracted using the SIM II feature. User password Used in Password Authentication (Level 2) configuration only. The user provided password used for authentication in a Level 2 configuration. Minimum of 7 characters and maximum of 16. RNG Seed Value (V) The 64 bit intermediate value of the X9.31 Annex A2.4 TDES- based PRNG algorithm. It is used as one of the initial seed values for the algorithm. It is stored in flash encrypted with the GSK. RNG Key Value (*K) The triple-length TDES key used for the X9.31 Annex A2.4 TDES- based PRNG algorithm. It is used as one of the initial seed values for the algorithm. It is stored in flash encrypted with the GSK. Cloning Domain Vector 24-byte value that is used to control a module’s ability to participate in the cloning protocol. It is either generated by the module or imprinted onto the module at the time the module is initialized. It is stored encrypted (using the SGSK) in the module. User Storage Key (USK) 24 byte TDES key that is randomly generated for the User partition. This key is used to encrypt all sensitive attributes of all private objects owned by the User. The USK is stored encrypted 19 using an AES key, which is derived from the User password. Security Officer Master Key (SMK) The storage key for the SO; a 24 byte TDES key that is randomly generated for the SO on the module. This key is used to encrypt all sensitive attributes of all private objects owned by the SO. The SMK is stored encrypted using an AES key, which is derived from 20 the SO password. Global Storage Key (GSK) 24-byte TDES key that is the same for all users on a specific Luna PCM. It is stored encrypted with USK and SMK. It is used to encrypt permanent parameters within the non-volatile memory area reserved for use by the module. Secondary Global Storage Key (SGSK) 24-byte TDES key that is the same for all users on a specific Luna PCM. It is stored encrypted using USK and SMK. It is used to encrypt non-permanent parameters (parameters re-generated for every module initialization) within the non-volatile memory area reserved for use by the module. Token or Module Wrapping Key (TWK) A 2048-bit RSA private key used in the cloning protocol. Stored in the Param area; encrypted with the GSK. Token or Module Wrapping Certificate Based on the Hardware Origin Certificate (HOC). The TWC3 is a (TWC) 3 2048-bit RSA with SHA-256 certificate. The TWC3 is signed by the private key corresponding to the HOC. Used in exchange of session encryption key as part of the handshake during the cloning protocol. Stored as plaintext in the Param area. Hardware Origin Key (HOK) A 4096 bit RSA private key used to sign certificates for other device key pairs, such as the TWC3. It is generated at the time the device is manufactured. 19 The password-derived key is used for authentication and access control purposes. In a Level 2 configuration, data encrypted by it is considered to be plaintext data for FIPS purposes. 20 The password-derived key is used for authentication and access control purposes. In a Level 2 configuration, data encrypted by it is considered to be plaintext data for FIPS purposes. Document is Uncontrolled When Printed. Page A-3 of A-4 CR-2372 Revision Level: 21 Table A-5 Keys and Critical Security Parameters Used in the Module Key/CSP Name Description Hardware Origin Certificate (HOC) A 4096-bit RSA with SHA-256 certificate. The X.509 public key certificate corresponding to the HOK. It is signed by the Manufacturer’s Integrity Key (MIK) at the time the device is manufactured. U Key 24-byte TDES key used in conjunction with the auth code for a firmware update to derive a key used to decrypt the firmware update image when it is loaded into the module. Used for backwards compatibility purposes with earlier firmware versions. Stored in the Param area. Token or Module Variable Key (TVK) 24-byte TDES key stored in a dedicated non-volatile RAM. It is used to encrypt authentication data stored for auto-activation purposes. The non-volatile RAM is actively zeroized in response to a tamper event. This setting is not used in a Level 2 configuration. Masking Key AES 256-bit key stored in the Param area. It is generated on the HSM at initialization time. It is used during masking operations Manufacturer’s Integrity Certificate (MIC) 4096-bit RSA public key certificate corresponding to the Manufacturer’s Integrity Key (MIK) held at SafeNet. Used in verifying Hardware Origin Certificates (HOCs), which are generated in response to a customer function call to provide proof of hardware origin. Stored as plaintext in flash. Manufacturer’s Verification Key (MVK) 4096-bit Public key counterpart to the Manufacturer’s Signature Key (MSK) held at SafeNet. Used to verify the digital signature on a firmware update image. Stored in flash as plaintext. Device Authentication Key (DAK) 2048-bit RSA private key used for a specific PKI implementation requiring assurance that a key or a specific action originated within the hardware crypto module. Document is Uncontrolled When Printed. Page A-4 of A-4 CR-2372 Revision Level: 21 APPENDIX B. LIST OF TERMS, ABBREVIATIONS AND ACRONYMS Term Definition ANSI American National Standards Institute CA Certification Authority Chrysalis-ITS Former name of SafeNet Canada, Inc. CRT Chinese Remainder Theorem DAK Device Authentication Key ECC Elliptic Curve Cryptography FIPS Federal Information Processing Standard GSK Global Storage Key HA High Availability HOC Hardware Origin Certificate HOK Hardware Origin Key HRNG Hardware Random Number Generator HSM Hardware Security Module KAT Known Answer Test KEC Key Export - Cloning KES Key Export - SIM MAC Message Authentication Code Masking A SafeNet term to describe the encryption of a key for use only within a SafeNet cryptographic module. MIC Manufacturer’s Integrity Certificate MIK Manufacturer’s Integrity Key MSK Manufacturer’s Signature Key MVK Manufacturers Verification Key PCMCIA Personal Computer Memory Card Industry Association PKCS Public-Key Cryptography Standards PED PIN Entry Device PRNG Pseudo-Random Number Generator RA Registration Authority RNG Random Number Generator S Signing SB Signing with Backup SGSK Secondary Global Storage Key SIM Secure Information Management SMK Security Officer Master Key SO Security Officer Document is Uncontrolled When Printed. Page B-1 of B-2 CR-2372 Revision Level: 21 Term Definition TWC3 Token or Module Wrapping Certificate (Revised format 3). TWK Token or Module Wrapping Key USK User’s Storage Key Document is Uncontrolled When Printed. Page B-2 of B-2