Sun Microsystems Sun Crypto Accelerator 6000 Bootstrap Version 1.0.1 and 1.0.10, Firmware Version 1.0.11 FIPS 140-2 Non-Proprietary Security Policy Level 3 Validation © Copyright 2008 SUN MICROSYSTEMS This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Table of Contents 1 INTRODUCTION.......................................................................................................... 3 1.1 PURPOSE ................................................................................................................. 3 1.2 REFERENCES ........................................................................................................... 3 1.3 DOCUMENT ORGANIZATION ....................................................................................... 3 2 SUN CRYPTO ACCELERATOR 6000 ....................................................................... 4 2.1 OVERVIEW ............................................................................................................... 4 2.2 MODULE INTERFACES ............................................................................................... 4 2.3 ROLES AND SERVICES ............................................................................................... 5 2.3.1 Crypto Officer Role........................................................................................... 5 2.3.2 User Role ......................................................................................................... 8 2.3.3 Driver Role ..................................................................................................... 10 2.3.4 Admin Secure Channel & Authentication ....................................................... 12 2.3.5 Unauthenticated Services............................................................................... 13 2.4 PHYSICAL SECURITY ............................................................................................... 15 2.5 CRYPTOGRAPHIC KEY MANAGEMENT ....................................................................... 15 2.5.1 Random Number Generator ........................................................................... 19 2.5.2 Key Zeroization .............................................................................................. 19 2.6 EMI/EMC.............................................................................................................. 19 2.7 SELF-TESTS ........................................................................................................... 19 2.8 DESIGN ASSURANCE ............................................................................................... 20 3 SECURE OPERATION .............................................................................................. 21 3.1 CRYPTO OFFICER GUIDANCE ................................................................................... 21 3.1.1 Initialization..................................................................................................... 21 3.1.2 Termination .................................................................................................... 22 3.2 USER GUIDANCE .................................................................................................... 22 4 ACRONYMS .............................................................................................................. 23 © Copyright 2007 SUN MICROSYSTEMS Page 2 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. 1Introduction 1.1Purpose This is a non-proprietary Cryptographic Module Security Policy for the Sun Crypto Accelerator 6000 from Sun Microsystems Inc. This security policy describes how the Sun Crypto Accelerator 6000 meets the security requirements of FIPS 140-2 and how to run the module in a secure FIPS 140-2 mode. This policy was prepared as part of the Level 3 FIPS 140-2 validation of the module. FIPS 140-2 (Federal Information Processing Standards Publication 140-2 -- Security Requirements for Cryptographic Modules) details the U.S. Government requirements for cryptographic modules. More information about the FIPS 140-2 standard and validation program is available on the NIST website at http://csrc.nist.gov/cryptval/. 1.2References This document deals only with operations and capabilities of the module in the technical terms of a FIPS 140-2 cryptographic module security policy. More information is available on the module from the following sources: ·The Sun Microsystems website (http://www.sun.com/) contains information on the full line of products from Sun Microsystems. ·The NIST Validated Modules website (http://csrc.ncsl.nist.gov/cryptval/) contains contact information for answers to technical or sales-related questions for the module. 1.3Document Organization The Security Policy document is one document in a FIPS 140-2 Submission Package. In addition to this document, the Submission Package contains: Sun Microsystems Vendor Evidence document Finite State Machine Other supporting documentation as additional references With the exception of this Non-Proprietary Security Policy, the FIPS 140-2 Validation Documentation is proprietary to Sun Microsystems and is releasable only under appropriate non-disclosure agreements. For access to these documents, please contact Sun Microsystems. © Copyright 2007 SUN MICROSYSTEMS Page 3 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. 2SUN CRYPTO ACCELERATOR 6000 2.1Overview The Sun Crypto Accelerator 6000 (SCA 6000) is a X8 PCI-Express card in low profile and short form factor and is designed to provide the highest level of security to customers. The Sun Crypto Accelerator 6000 is the next generation of the already FIPS 140-2 Level 3 certified product line by Sun Microsystems Inc. The hardware version number of the module is: 375-3424, Revisions -02 and - 03. The bootstrap versions are 1.0.1 and 1.0.10, and the firmware version is 1.0.11. In order to achieve such a high level of security, the Sun Crypto Accelerator 6000 product design, development, test and production has satisfied the requirements to ensure a secure product. Security has been the focus of the development team from the outset, and the Sun Crypto Accelerator 6000 product has been designed from the ground up to incorporate security in all design and development steps. The design team also took advantage of the experience gained from previous generation of the security product. The card enhances server system performance by off-loading computer intensive cryptographic calculations (asymmetric and symmetric) from the server's CPU, accelerating both IPsec and TLS processing. The SCA 6000 also provides a secure remote administration capability. It also provides local administration via a serial port directly connected to the card. There is also a USB port on the product to backup and restore keys directly to the product. 2.2Module Interfaces The cryptographic boundary of the Sun Crypto Accelerator 6000 is defined by the perimeter of the PCI-Express card itself. The local interfaces to the card through on-board serial and USB ports, LED indicators, jumper pins and physical presence push-button are excluded from the security requirements of FIPS 140- 2. The module is accessible only through well-defined interfaces, and these interfaces include a PCI-Express slot, RJ-11 Serial port, USB port, LEDs, and a jumper. It also has a physical presence push-button switch that is currently not used by the operational firmware. Since this push-button may be used in future versions of the firmware, it is tested during hardware diagnostics to verify that it functions correctly. All of these physical interfaces are separated into logical interfaces defined by FIPS 140-2, as described in the following table: Module Physical Interface FIPS 140-2 Logical Interface PCI-E, USB Port, Serial Port Data Input/Output Interface PCI-E, Jumper, Push-Button Control Input Interface PCI-E, LEDs Status Output Interface PCI-E, USB Port, Serial Port Power Interface © Copyright 2007 SUN MICROSYSTEMS Page 4 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Table 1 ­ FIPS 140-2 Logical Interfaces 2.3Roles and Services The module supports identity based authentication. There are three main roles in the module (as required by FIPS 140-2) that operators may assume: a Crypto Officer role (or Security Officer role as defined in SCA 6000 documents), User role, and a Driver. There is also an additional set of unauthenticated services which are not security relevant to the Sun Crypto Accelerator 6000 card. 2.3.1Crypto Officer Role The CO (Crypto Officer) accesses the module using a command line interface (CLI) over the PCI-E port using the administration tool, scamgr, on the host machine, or using a serial hand-held device directly connected to card. The Crypto Officer identifies him/herself with a login name and authenticates with a password and is able to configure the module. When scamgr is executing in interactive mode, a sub-shell style interface is supplied that allows the Crypto Officer to interact with the interface. Commands may be entered one at a time, and the output from the commands is sent to standard output device. There are 4 registers that execute the CO administration at the PCI-E interface level. There are 2 command buffers that perform data input from the card to the host machine and 2 command buffers that receive a response from the host machine. All administrative commands from the application level are sent encrypted with AES session keys using these 4 registers. To issue a command, the host driver uses these registers to define a command block on the host and generates an interrupt to the SCA 6000 firmware via the command bit of the SCA 6000 IRQ register. When the firmware has finished processing the command, it will notify the host via command complete bit of the Host IRQ register. The CO can also perform direct administration of the card using the serial port interface. The serial port interface supports a subset of the commands provided by the remote PCI-E interface and also provides several additional commands to support Financial Services (FS) activities. When performing keystore backup and restore the encrypted backup data file is stored on a USB mass storage device connected to the USB port rather than sent to the host for archiving to disk. Information is also output in an abbreviated form to the serial port to support the use of a stateless handheld input device. This serial interface has a similar look and feel to that of scamgr, but is designed to work with hand-held serial devices or laptop serial connections. This interface provides most of the functionality that scamgr does, with the exception of the following tasks: © Copyright 2007 SUN MICROSYSTEMS Page 5 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. - reset SCA 6000 hardware - zeroize SCA 6000 hardware - firmware upgrades - deletion of decimalization tables Administrative functions that are limited to the serial interface only are: - Entry of key components and User, CO passwords - Entry of decimalization tables - Control of financial services operating mode - Deletion of financial services keys Backup and restore of the key material will be done via the USB port. Descriptions of the services available to the Crypto Officer role are provided in the table below. Service Description Input Output Backup Backup master key and keystore Command, password Status of command and (on local host)1 and path encrypted keystore file over secure admin channel Backup master key and keystore Command, password Status of command and (on USB3 port)1 and path (multiple SO encrypted keystore file names and passwords using UWK. required in multi-admin mode) Connect Begin admin session w/ firmware Command Login Prompt Create Creates users and CO accounts Command and user Status of command over name secure admin channel © Copyright 2007 SUN MICROSYSTEMS Page 6 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Service Description Input Output Delete Delete users and CO accounts Command and user Status of command over name serial port Delete FS MFK3 Command and label Status of command over serial port Delete FS KEKs and Command and label Status of command over decimalization tables3 serial port Delete UWK 3 Command and label Status of command over serial port Diagnostics Runs diagnostics for the card Command Status of command over secure admin channel Disable Disable a user Command and user Status of command over name secure admin channel Disable multiadmin mode Command Status of command over secure admin channel Disable CO as a Multiadmin CO1 Command and CO Status of command over name secure admin channel Enable Enable a user Command and user Status of command over name secure admin channel Enable multiadmin mode Command, M value and Status of command over timeout value secure admin channel Enable a MFK Command Status of command over Serial port Enable CO as a Multiadmin CO1 Command and CO Status of command over name serial port Exit Exit current session Command Status of command over secure admin channel Load Load new firmware2 Command and path Status of command over secure admin channel Load FS MFK component3 Command and MFK Status of command over component serial port Load a decimalization table3 Command, Status of command over decimalization table and serial port label Load KEK component3 Command, KEK label, Status of command over KEK component serial port Load UWK component3 Command and UWK Status of command over component serial port Logout Logout current session Command Exit command line Quit Exit current session Command Status of command over secure admin channel © Copyright 2007 SUN MICROSYSTEMS Page 7 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Service Description Input Output Rekey Generate new master key or Command and select Status of command over remote access key option secure admin channel Reset Reset the hardware2 Command Hardware is reset Set Change password for crypto Command and select Options to change officer, set password strength option password or set password strength Set minimum number of CO Command and M value Status of command over logins required (M) to authorize secure admin channel a multiadmin command1 Set multiadmin timeout1 Command and timeout Status of command over value secure admin channel Set Financial Services operating Command and mode Status of command over mode3 value serial port Show Show system settings Command and select Status of command over option secure admin channel Zeroize Delete all keys and reset board2 Command INIT led is off Restore Restore backup file (on local Command, backup file, Status of command over host)1 and password secure admin channel Restore backup file (on USB3)1 Command, backup file, Status of command UWK components and password (multiple SO names and passwords required in multi-admin mode) Approve/Reject Approve/reject multiadmin Command Status of command over command secure admin channel Cancel Cancel multiadmin command Command Status of command over secure admin channel Cancel FS MFK, UWK and KEK Command Status of command over entry3 serial port Table 2 ­ Crypto Officer Services, Descriptions, Inputs and Outputs 1 These services require multi-admin authentication and authorization in multi-admin mode 2 These services are only available via the local host. 3 These services are only available when using the direct (serial) interface 2.3.2User Role The User role can perform cryptographic operations such as owning and accessing keying material within the key store. Users can also perform bulk encryption, asymmetric cryptographic functions, and object management services for cryptographic acceleration. Service descriptions and inputs/outputs are listed in the following tables: © Copyright 2007 SUN MICROSYSTEMS Page 8 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Service Description Input Output TDES Encryption Raw TDES encryption Plaintext data Ciphertext data TDES Decryption Raw TDES decryption Ciphertext data Plaintext data AES Encryption Raw AES encryption Plaintext data Ciphertext data AES Decryption Raw AES decryption Ciphertext data Plaintext data MD5 HMAC* MD5 HMAC processing Ciphertext data Hashed data MD5* MD5 hashing Plaintext/ciphertext data Perform MD5 hashing SHA-1 SHA-1 hashing Plaintext/ciphertext data Perform SHA-1 hashing Diagnostics Perform diagnostics on the Command Blinking of LED SCA 6000 card Display Display public key information Command Displaying the public key and the public key fingerprint used by the Cryptographic Accelerator 6000 board for securing administration sessions. Status Displays status of keystore Command Output is a colon- information separated list of the following pieces of information: device, internal function, keystore name, keystore serial number, and keystore reference count. You can use this command to determine the association between devices and keystores. Table 3a ­ User Services-Bulk Encryption, Descriptions, Inputs and Outputs Service Description Input Output DSA Sign DSA signing operation Plaintext/ciphertext data Digital Signature Verify DSA DSA verification operation Signed data Verify response signature Access RNG Direct access to the RNG Random data Calls FIPS PRNG to use random data RNG SHA-1 RNG output processed by Random data Calls FIPS PRNG to use SHA-1 random data RSA encrypt RSA_PKCS#1 encrypt Plaintext data CyphertextCiphertext data RSA decrypt RSA_PKCS#1 decrypt Ciphertext data Plaintext data RSA Sign RSA_PKCS#1 sign Plaintext/ciphertext data Digital Signature Verify RSA RSA_PKCS#1 verify Signed data Verify response signature Table 3b ­ User Services-Asymmetric Encryption, Descriptions, Inputs and Outputs © Copyright 2007 SUN MICROSYSTEMS Page 9 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Service Description Input Output Login User login User's login information Login successful/failed Setpass User change password Command New password Enumerate key Enumerate user's keys Command List of keys Retrieve key Retrieve a key Command Obtain user key Delete key Delete a key Command Key is deleted Create key Create a key Command New key Change key Change key attribute Command Updated key attribute attribute Generate DES Generate DES key Command New DES key key* Generate DES2 Generate DES 2-key Command New DES 2 key key Generate DES3 Generate DES 3-key Command New DES 3 key key Generate AES Generate AES key Command New AES key key Generate RSA Generate RSA keypair Command New RSA keypair keypair Generate DSA Generate DSA keypair Command New DSA keypair keypair Generate DH key Generate DH key Command New DH key Wrap Key Wrap an asymmetric key using Command Wrapped key the given key. Wrapping using RC2 is not allowed in FIPS mode. Unwrap Key Unwrap a wrapped key using Command Unwrapped key the given key. Unwrapping (encrypted with KTK in using RC2 is not allowed in FIPS mode) FIPS mode. Copy Object Copy a key object Command Copy of key Table 3c ­ User Services-Object Management, Descriptions, Inputs and Outputs * Services not allowed in FIPS mode 2.3.3Driver Role The Driver role authenticates with a login and password in the driver to authenticate its identity to the SCA 6000. The driver can perform similar services as the user role such as bulk encryption and asymmetric cryptographic function, but cannot perform object management services. Service Description Input Output TDES Encryption Raw TDES encryption Plaintext data Ciphertext data TDES Decryption Raw TDES decryption Ciphertext data Plaintext data AES Encryption Raw AES encryption Plaintext data Ciphertext data AES Decryption Raw AES decryption Ciphertext data Plaintext data MD5 HMAC* MD5 HMAC processing Input data Signed data MD5* MD5 hashing Plaintext/ciphertext data Hashed data SHA-1 SHA-1 hashing Plaintext/ciphertext data Hashed data © Copyright 2007 SUN MICROSYSTEMS Page 10 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Service Description Input Output Load KTK Authenticate to card and Load Data structure Authentication and KTK Key Transport Key (KTK) containing encrypted decryption result Function KTK, driver username and password Diagnostics Perform diagnostics on the Command Blinking of LED SCA 6000 card Display Display public key information Command Displaying the public key and the public key fingerprint used by the Cryptographic Accelerator 6000 board for securing administration sessions. Status Displays status of keystore Command Output is a colon- information separated list of the following pieces of information: device, internal function, keystore name, keystore serial number, and keystore reference count. You can use this command to determine the association between devices and keystores. Reset Reset the SCA 6000 card and Command This function resets the initiates all the POSTs. SCA 6000 firmware Zeroize Zeroizing all CSPs Command All CSPs and Keys on the card are zeroized. The Cryptographic Accelerator 6000 is returned to its factory state. Table 4a ­ Driver Services-Bulk Encryption, Descriptions, Inputs and Outputs © Copyright 2007 SUN MICROSYSTEMS Page 11 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Service Description Input Output DSA Sign DSA signing operation Plaintext/ciphertext data Digital Signature Verify DSA DSA verification operation Signed data Verify response signature Access RNG Direct access to the RNG Random data Calls FIPS PRNG to use random data RNG SHA-1 RNG output processed by Random data Calls FIPS PRNG to use SHA-1 random data RSA encrypt RSA_PKCS#1 encrypt Plaintext data CipherText data RSA decrypt RSA_PKCS#1 decrypt Ciphertext data Plaintext data RSA Sign RSA_PKCS#1 sign Plaintext/ciphertext data Digital Signature Verify RSA RSA_PKCS#1 verify Signed data Verify response signature DH Key Derive DH shared secret generation DH public key values Shared secret Table 4b ­ Driver Services-Asymmetric cryptographic function, Descriptions, Inputs and Outputs 2.3.4Admin Secure Channel & Authentication The Crypto Officer authentication takes place within a secure admin channel using RSA for key establishment as specified in the TLS protocol. The algorithm used is always AES-128 bit session keys and the MAC algorithm is always HMAC-SHA-1. The public key exchange protocol begins with the Sun Crypto Accelerator 6000 providing a public RSA key to the host machine (where the admin application is running from) along with the hardware Ethernet address. A pre master secret is generated by the host machine, encrypted using the SCA 6000 public RSA key, and than sent to the firmware. At this point, both the host machine and the SCA 6000 derive the master secret, and the 2 AES keys, 2 Message Authentication Code (MAC) keys, and 2 Initialization Vectors (IVs). The MAC keys are 20-byte keys that will be used with HMAC-SHA-1. The SCA 6000 will verify the value using TLS. The host machine will compute its own verify on the messages and compare them to the SCA 6000 before this exchange is completed. A CO is identified using a username. When a command requiring multi-admin authentication is issued in multi-admin mode the card goes into a polling mode and waits for COs belonging to multi-admin group to login to the card. A separate secure session is established for each CO. Assuming the CO login and password are correct, one of following three things happens: ·If the authenticated CO does not belong to the multi-admin group, no services can be invoked by that CO. The CO is given a message indicating that the board is in the middle of authorizing a Multi-Admin command and the CO cannot administer the board. © Copyright 2007 SUN MICROSYSTEMS Page 12 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. ·If the CO belongs to the multi-admin group (and is not the initiator of the multi-admin command), the CO has the option to either authorize or reject the multi-admin command. In case the CO has authorized the command already a message indicating that the CO has already approved this is given. ·If the initiating CO authenticates to the card, the CO has the option to cancel the ongoing multi-admin command. A total of M COs of the multi-admin group must login and authorize the command. If M COs do not authorize the command within the timeout period the multi-admin command is terminated. At the end of the command, control is transferred back to the initiating CO. The module allows multiple CO logins only in multi-admin mode. The module uses passwords to authenticate an operator in the Crypto Officer, User and Driver role. The following table shows the strength of authentication used by the module: Authentication Type Strength Password The SCA 6000 accepts 93 different characters for a password and the probability that a random access will succeed with a 6 digit password is 1 in 646,990,183,449 with repetition of characters. A failed login is accompanied by a 1 second delay allowing for no more than 60 attempts within one minute. The chance that any of these attempts will succeed within a one-minute time period is 1 in 10,783,169,724. Table 5 ­ Estimated Strength of Authentication Mechanisms 2.3.5Unauthenticated Services1 The module has unauthenticated services that provide no security relevant functionality, and these services are available to all roles. None of the services listed below provides information related to CSPs. The LEDs on the rear of the module provide status information. Service Description Input Output Diagnostics Perform diagnostics on the Command Blinking of LED SCA 6000 card Display Display public key Command Displaying the public key and the public information key fingerprint used by the Crypto Accelerator 6000 board for securing administration sessions. 1 These services are only available to the root user on the host Solaris system © Copyright 2007 SUN MICROSYSTEMS Page 13 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Service Description Input Output Status Displays status of keystore Command Output is a colon-separated list of the information following pieces of information: device, internal function, keystore name, keystore serial number, and keystore reference count. You can use this command to determine the association between devices and keystores. Reset Reset the SCA 6000 card Command This function resets the SCA 6000 firmware and initiates all the POSTs. Zeroize Zeroizing all CSPs Command All CSPs and Keys on the card are zeroized. The Crypto Accelerator 6000 is returned to its factory state. Debug Services debugInfo Displays the registered None List of debug routines callable from the debug routines callable host. from vcadebug2 mexInfo Display all exception None Exception headers stored in FLASH headers currently on the card mexShow Displays segments (data Exception Information relating to a specific blocks) associated with an number and exception and segment exception segment number mexProcInfo Lists additional processes None List of processes in the process list added to the exception dump mexSegInfo Displays individual segment Exception List of segments in the segment list data for a given exception number mcfCfg Displays the core firmware None Contents of the card configuration configuration register registers mcfCsrs Displays the core firmware None Contents of the card control/status control/status registers registers cfgDump Displays the firmware None Firmware configuration data configuration data ksDump Displays high level None Information about on-card keystore information about the module keystore partDisplayAll Displays memory partition None Memory partition data data (if debug messages enabled) Load Load firmware Firmware Status of load image Load bootstrap Bootstrap Status of load image Table 6 ­ Unauthenticated Services 2 Vcadebug is a host application provided by Sun to invoke the firmware debug interface commands © Copyright 2007 SUN MICROSYSTEMS Page 14 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. 2.4Physical Security The SCA 6000 card is a multi-chip embedded cryptographic module. The SCA 6000 card is completely enclosed in a hard epoxy coating with only specific interfaces providing access to the module. Components excluded from the cryptographic boundary are not covered in epoxy (see section 2.2). 2.5Cryptographic Key Management The implementations of the FIPS-approved algorithms have following FIPS algorithm certifications: ·SHA-1 (Certs. #469 and #850) as per NIST's FIPS PUB 180-1 ·TDES CBC (Cert. #435) as per NIST's FIPS PUB 46-3 ·AES (Certs. #397 and #856) as per NIST's FIPS PUB 197 ·DSA (Cert. #309) as per NIST's FIPS PUB 186-2 ·HMAC-SHA-1 (Cert. #473) as per NIST's FIPS PUB 198 ·RNG (Cert. #490) as per NIST FIPS PUB 186-2 Appendix 3.1 ·RSA (Certs. #409 and #410) as per PKCS#1 v1.5 The module provides following algorithms allowed for use in FIPS mode for key establishment: ·RSA Encrypt/Decrypt, 1024-2048 bit modulus sizes. This key transport methodology provides 80-112-bits of security strength ·Diffie Hellman, 1024-2048 modulus sizes. This key transport methodology provides 80-112-bits of security strength. ·MD5 used internally for TLS only. ·HMAC-MD5 used internally for TLS only The Sun Crypto Accelerator 6000 provides RSA encrypt/decrypt functions for the User Role. RSA encryption/decryption must be used only for performing key transport such as in TLS protocols in a FIPS mode of operation. The follow algorithms are not supported when the SCA 6000 card is operating in FIPS mode: ·DES © Copyright 2007 SUN MICROSYSTEMS Page 15 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. ·MD5 (used internally for TLS in FIPS mode) ·HMAC-MD5 (used internally for TLS in FIPS mode) ·RC2 (ECB, CBC modes) The module supports the following critical security parameters listed below: Key Key type Generation Storage Use Initiate the secure Factory Remote RSA 1024-bit FIPS approved Plaintext read-only tunnel for the first Access Key Public/Private Keys PRNG EEPROM connection to the SCA 6000 card Authenticate the administration application with the Remote Access RSA 1024-bit FIPS approved Plaintext in SDRAM SCA 6000, Key (RAK) Public/Private Keys PRNG Allows driver to send the KTK to the device encrypted Plaintext in flash Wraps CSPs crossing memory Key Transport Key Generated the FIPS boundary Runs for a given (KTK) AES Key 128-bit outside the b/w the SCA 6000 boot cycle crypto boundary firmware and the Solaris host Encrypted using FIPS approved Master Keys AES Key 128-bit protection key in Encrypt keystore data PRNG flash memory RSA Public/Private Keypairs, DSA Public/Private FIPS approved Performing Crypto User Keys Plaintext in SDRAM Keypairs, PRNG functions DES/TDES and AES Keys Encrypts/decrypts Session Keys FIPS approved AES Keys 128-bit Plaintext in SDRAM admin commands (Crypto Officer) PRNG and responses Generated Plaintext in Authenticate driver to Driver Password Password outside the EEPROM module crypto boundary Authenticate user to User Password Password User entered Plaintext in SDRAM the module Crypto Officer Crypto Officer Authenticate Crypto Password Plaintext in SDRAM Password entered Officer to the module Used during IPSec Generated negotiations to IPSec session DES/TDES keys outside the Plaintext in SDRAM encrypt/decrypt and keys crypto boundary authenticate data packets © Copyright 2007 SUN MICROSYSTEMS Page 16 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. Key Key type Generation Storage Use Used to encrypt the FIPS approved AES shares key AES Key 128-bit Plaintext in SDRAM key shares calculated PRNG from the backup data Shamir's secret Used to re-create the Share values sharing scheme backup configuration calculated from the Key shares based on Plaintext in SDRAM data once M COs backup interpolation of have been configuration data polynomials authenticated FIPS approved Encrypted data item in Protection key AES Key 128-bit EEPROM PRNG Flash Crypto officer Encrypt/Decrypt Master File Key AES Key 192-bit entered in Plaintext in SDRAM Financial services component form keys Encrypted with the Used to MFK and user- Crypto officer encrypt/decrypt Key Encrypting maintained. These 2DES or TDES key entered in financial service keys Key keys are not component form for import/export for persistently stored in other HSMs SCA 6000 device. Generated Encrypt keystore USB Wrapping AES 128, 192 or outside the EEPROM during backup using Key (UWK) 256-bit crypto boundary USB port Table 7 ­ Description of the Keys used on the SCA 6000 A default Remote Access Key (RAK) is shipped with the SCA 6000 card from the factory. This Factory Remote Access Key is an RSA public/private keypair that is used to establish secure administration channels when the device is not initialized. The Factory Remote Access Public Key is used to encrypt the Key Transport Key and host machine driver login/password information, and sent down to the module. Once the driver is authenticated, the driver can send encrypted commands with the KTK securely to the module. Once the card has been initialized, the module generates a new Remote Access Keypair. The RAK is used to negotiate two AES session keys for a single secure tunnel encryption session that are used for Crypto Officer and card communication. These AES session keys will be negotiated at the time a Crypto Officer selects a keystore, and will terminate when the Crypto Officer terminates the session with the module. Each subsequent session will renegotiate new AES session keys, using the Remote Access Key. These CO session keys are generated by a key agreement using TLS master secret derivation TLS session. 32 bytes of a pre-master secret enter the module encrypted by the public Remote Access Key. There are two different CO session keys generated to create sessions; one session key to receive data and one session key to send out data. © Copyright 2007 SUN MICROSYSTEMS Page 17 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. These keys are used to encrypt/decrypt admin commands and encrypt/decrypt responses from the administration application tool. The Remote Access Key also allows the host machine driver to send the Key Transport Key to the device encrypted with an RSA public key. RAKs are generated using a FIPS approved PRNG. The RSA private key is wrapped using the Master key and stored on the host file system. When the SCA 6000 card is operating in FIPS mode, the Key Transport Key is used when transporting passwords or session keys crossing the FIPS boundary between the SCA 6000 firmware and the Solaris host. This transport key is created when the module is powered up after the host machine authenticates to the SCA 6000 card. The KTK is generated outside the FIPS boundary and are input into the card at startup using the public Remote Access Key; the KTK is never output from the module. Master Keys on the module are used to wrap all User and Crypto Officer account information and keying material associated with the SCA 6000 device. When the system and the card powers-up, the Solaris host reads the Master Key wrapped data from an encrypted file on the host file system. This data is sent down to the SCA 6000 card in the wrapped form. When the module receives this encrypted data, the card unwraps the data using the Master Key. The unwrapped data is then used to populate the user account information, and user owned data stores holding User Keys. Master Keys are generated using a FIPS approved PRNG and are only output when they are backed up as part of the device backup command. The Crypto Officer session key encrypts the Master Key to be stored on the host machine's file system. User Keys are used to perform cryptographic operations and are created on demand by the User. However, prior storage of a user application keying material within the SCA 6000 keystore, a number of steps must have already taken place: ·SCA 6000 device must be initialized ·A keystore must be created ·A user account must be created within the keystore The creation of a SCA 6000 keystore establishes a name space for the creation of users within the keystore. The creation of a user account establishes data for enforcing ownership and access rights to the keying material based on password based authentication. The User Keys are generated using a FIPS approved RNG and are stored outside of the module encrypted with the Master Key. The Master File Key (MFK) and Key Encrypting Key (KEK) both are generated by multiple crypto officers entering individual key components which are XOR'ed © Copyright 2007 SUN MICROSYSTEMS Page 18 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. together to form the finished key. For both types of keys, component entry may only happen through the serial interface. The purpose of the MFK is to act as a master encrypting key for any financial services CSPs which reside outside the cryptographic boundary (like the KEK). The purpose of the KEK is for key import and export between different HSM products. The KEK is stored outside the cryptographic boundary and is always encrypted using the MFK. 2.5.1Random Number Generator The SCA 6000 card uses the FIPS-approved RNG specified in FIPS 186-2 DSA- RNG using SHA-1 for generation of cryptographic keys. 2.5.2Key Zeroization There are three ways to zeroize all the keying material on the SCA 6000 card. In all cases, all keys, passwords and other CSPs are removed from within the cryptographic boundary: 1) A jumper located on the board will zeroize all keying material, and all updated firmware, taking the device back to factory state, when it is next powered up. The jumper must be subsequently removed to use the device again. 2) An operator with access to the root login on the host machine can present the correct commands to initiate a zeroization of all the keys on the SCA 6000 card taking the device back to the initial Factory Remote Access Key. This application can be performed when an operator is unauthenticated to the module. 3) The Crypto Officer can zeroize all the keys and updated Remote Access Key via a remote channel (protected under a session key generated using the Remote Access Key) after the operator has properly authenticated. 2.6EMI/EMC The module conforms to FCC Part 15 Class B requirements for home use. 2.7Self-Tests The SCA 6000 card performs self-tests to monitor the proper functioning of the module. These self-tests are divided into two categories, those run during power- up and those run upon certain conditions. The module consists of the following Power-up Tests for firmware algorithms: ·Firmware AES CBC Known Answer Test © Copyright 2007 SUN MICROSYSTEMS Page 19 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. ·Firmware HMAC-SHA-1 KAT ·PRNG Known Answer Test ·Firmware RSA Sign/Verify Known Answer Test ·CRC-32 Firmware Integrity Check The module consists of the following Power-up Tests for hardware algorithms: ·Hardware AES CBC Known Answer Test ·DSA Sign/Verify Known Answer Test ·Hardware HMAC-SHA-1 KAT ·Hardware RSA Sign/Verify Known Answer Test ·TDES CBC Known Answer Test The module consists of the following Conditional Tests: ·Continuous Random Number Test ·DSA Pairwise Consistency Test ·Main Firmware Load Test (using RSA PKCS#1 1.5 for authentication) ·Bootstrap Firmware Load Test (using RSA PKCS#1 1.5 for authentication) ·Manual Key Entry Test ·RSA Pair-wise Consistency Check 2.8Design Assurance Hardware builds are controlled by a build release process. Each hardware build is named, e.g: P0, P0.1, P1.0, P1.1, P2.0, etc. The hardware version is contained in a PROM part on the device which is accessible by software. © Copyright 2007 SUN MICROSYSTEMS Page 20 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. User documentation is versioned like source. Each release of the documentation is stored in a separate repository named by release number. Manual pages, and other miscellaneous documentation delivered with the software packages are stored and controlled in the software gates. The source code and firmware version control is done using Source Code Control System 3SECURE OPERATION The Sun Microsystems SCA 6000 meets Level 3 requirements for FIPS 140-2. The sections below describe how to place and keep the module in FIPS- approved mode of operation. 3.1Crypto Officer Guidance The Crypto-Officer is responsible for initialization of the module, configuration and management of the module, and termination of the module. Detailed information for the Crypto-Officer can be found in the Sun Microsystems SCA 6000 Installation and User Guide. The module should be checked regularly for signs of tamper-evidence (scratches, holes in the epoxy, etc.). 3.1.1Initialization The Crypto-Officer receives the module from Sun Microsystems via a secure delivery mechanism. The Crypto-Officer can either pick the module up directly from a Sun Microsystems facility, or the module can be shipped to the Crypto- Officer. Before the initial configuration of the module, there is no access control provided by the module. The Crypto-Officer must maintain control of the module and restrict any access to the module. The Crypto-Officer must follow the Sun Microsystems instructions for setting up the module. The Crypto Officer first installs the card, installs the host software packages and uses the administration interface from the host machine to configure the card. The Factory Remote Access Key is used to authenticate to the card and initiate a secure login. Once the card has been initialized with a keystore, the "INIT" led is lit. Additional steps include setting the access control password for users and configuring the module's network settings. The Crypto Officer must also select FIPS mode during the SCA 6000 card configuration. The FIPS led indicator will be lit when the module is operating in a FIPS mode of operation. After this process is complete, the Crypto-Officer is able to begin managing the module through the host machine's scamgr application and can generate new Users. Additionally, while in a FIPS mode, the module only supports FIPS-approved algorithms (DSA, SHA-1, HMAC-SHA-1, RSA, Triple-DES and AES) and © Copyright 2007 SUN MICROSYSTEMS Page 21 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. algorithms permitted for use in a FIPS mode of operation (RSA encryption/decryption for key transport, Diffie Hellman for key agreement, MD and HMAC-MD5 for use in TLS internally). Please see tables 3a, 3b, 3c, 4a and 4b for a complete listing of cryptographic services available in FIPS mode. 3.1.2Termination When a module's usage has been completed, the module should be zeroized by the Crypto-Officer in order to wipe all sensitive data. The module should than be stored in a secure location. 3.2User Guidance The User is able to use the module as defined above in the description of the User role. The User must be careful not to provide session keys and secret keys to other parties. The User must also not provide the User password to anyone. The User must not use RSA and Diffie Hellman modulus sizes smaller than 1024-bits in FIPS mode. © Copyright 2007 SUN MICROSYSTEMS Page 22 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice. 4ACRONYMS Term Definition AES Advanced Encryption Standard ANSI American National Standards Institute CBC Cipher Block Chaining CLI Command Line Interface CMVP Cryptographic Module Validation Program CO Crypto Officer CRC Cyclic Redundancy Checksum CSE Communications Security Establishment CSP Critical Security Parameter DES Data Encryption Standard DH Diffie-Hellman DSA Digital Signature Algorithm EDC Error Detection Code EMC Electromagnetic Compatibility EMI Electromagnetic Interference FCC Federal Communication Commission FIPS Federal Information Processing Standard FS Financial Services HMAC Hashing for Message Authentication Code IPSec Internet Protocol Security IRQ Interrupt Request Line KAT Known Answer Test KEK Key Encryption Key KTK Key Transport Key LAN Local Area Network LED Light Emitting Diode MAC Message Authentication Code MFK Master File Key NIST National Institute of Standards and Technology PCI Peripheral Component Interconnect PKCS Public Key Cryptographic Standard POST Power On Self Test PROM Programmable Read Only Memory RAK Remote Access Key RAM Random Access Memory RNG Random Number Generator ROM Read Only Memory RSA Rivest Shamir and Adleman SA Security Association SADB Security Association Database SHA Secure Hash Algorithm SSL Secure Socket Layer TLS Transport Layer Security UWK USB Wrapping Key Table 8 ­ Terms and Definitions © Copyright 2007 SUN MICROSYSTEMS Page 23 of 23 This document may be freely reproduced and distributed whole and intact including this Copyright Notice.