Kanguru Solutions Defender 2000 Security Policy Document Defender 2000 Cryptographic Module FIPS 140-2 Security Policy Document Revision: 1.2 H.W. Version: 1.0 F.W. Version: 2.02.10 (Kanguru Solutions Copyright 2012 - This document may be reproduced in its entirety without revision) Page 1 of 16 Kanguru Solutions Defender 2000 Security Policy Document Revision History Author(s) Version Updates Nate Cote, 1.2 Initial public release. Kanguru Solutions Page 2 of 16 Kanguru Solutions Defender 2000 Security Policy Document Introduction The Kanguru Defender 2000, herein after referred to as “cryptographic module” or “module”, (HW Version: 1.0; FW Version: 2.02.10) is a FIPS 140-2 Level 2 multi-chip standalone cryptographic module that utilizes AES hardware encryption to secure data at rest. The module is a ruggedized, opaque, tamper-evident USB token/storage device that connects to an external general purpose computer (GPC) outside of its cryptographic boundary to serve as a secure peripheral storage drive for the GPC. The module is a self-contained device that automatically encrypts and decrypts data copied to and from the drive from the externally connected GPC. All files distributed with the module that are loaded into the GPC (client application and PC configuration data) are excluded from the validation. The Kanguru Defender Elite has been specifically designed to address sensitive data concerns of Government and security conscious customers in a variety of markets. Cryptographic Boundary The physically contiguous cryptographic boundary is defined by the outer perimeter of the metal enclosure. The cryptographic module does not contain any removable covers, doors, or openings. The cryptographic module is available in a variety of Approved configurations: Kanguru Defender 2000 Capacity 2GB 4GB 8GB Module Part Number KDF2000-2G KDF2000-4G KDF2000-8G The following photographs define the cryptographic boundary: Kanguru Defender Elite – Models: KDF2000-xG x = 2,4,8 Exhibit 1– Specification of Cryptographic Boundary Page 3 of 16 Kanguru Solutions Defender 2000 Security Policy Document Exhibit 2– Specification of Cryptographic Boundary Security Level Specification Security Requirements Area Level Cryptographic Module Specification 3 Cryptographic Module Ports and Interfaces 2 Roles, Services, and Authentication 3 Finite State Model 2 Physical Security 2 Operational Environment N/A Cryptographic Key Management 2 EMI/EMC 3 Self-tests 2 Design Assurance 3 Mitigation of Other Attacks N/A Exhibit 3 – Security Level Table Approved algorithms The cryptographic module supports the following Approved algorithms for secure data storage:  AES with 256-bit key in CBC and ECB mode Encrypt/Decrypt (Cert. #1623)  SHA-256 (Cert. #1432)  HMAC-SHA256 (Cert. #954)  RSASSA-PKCS1_V1_5 with 2048 bit key and SHA-256 Signature Verification (Cert. #801)  SP800-90 DRBG HMAC_DRBG with HMAC-SHA256 core (Cert. #86)  PBKDF (vendor affirmed); Key Establishment per Recommendation for Password-Based Key Derivation, Part 1: Storage Applications, Special Publication 800-132, December 2010 (vendor affirmed per FIPS 140-2 IG D.6, Option 2a- The MK is used to recover the DPK through approved decryption – AES-256 (Cert. #1623); the PBKDF “salt” is generated by NIST SP800-90 HMAC_DRBG and its length is 32 bytes; see password strength in “Identification and Authentication Policy“ section below; The keys derived in accordance with SP800-32 are used in storage applications only). Page 4 of 16 Kanguru Solutions Defender 2000 Security Policy Document Allowed algorithms The cryptographic module supports the following Allowed algorithms:  RSA 2048 Key Transport (key wrapping; key establishment methodology provides 112 bits of encryption strength) Non-Approved algorithms The cryptographic module supports the following non-Approved algorithms:  Hardware non-deterministic random number generator (for seeding Approved DRBG) Physical Ports and Logical Interfaces A single physical universal serial bus port (USB 1.1/2.0) is exposed on the top of the module that supports all logical interfaces (data input, data output, control input, status output, power). A light emitting diode (LED) is located inside the bottom metal enclosure for status output. The cryptographic module does not contain a maintenance interface. The following table summarizes the physical ports and logical interfaces: Physical Port Logical Interface Data Output, Data Input, USB 1.1/2.0 port Control Input, Status Output, Power LED Status Output Exhibit 4 – Specification of Cryptographic Module Physical Ports and Logical Interfaces Security rules The following specifies security rules under which the cryptographic module shall operate in accordance with FIPS 140-2:  The cryptographic module does not support a non-FIPS mode of operation and only operates in an Approved mode of operation. The method used to indicate the Approved mode of operation is to query the module for its firmware version number (“Get Device Info”), and then the operator compares this value with the version number listed in this security policy.  The cryptographic module provides logical separation between all of the data input, control input, data output, status output interfaces. The module receives external power inputs through the defined power interface.  The cryptographic module supports identity based authentication for all services that utilize CSPs and Approved security functions.  The data output interface is inhibited during self tests, zeroization, and when error states exist. Page 5 of 16 Kanguru Solutions Defender 2000 Security Policy Document  When the cryptographic module is in an error state, it ceases to provide cryptographic services, inhibits all data outputs, and provides status of the error.  The cryptographic module does not support multiple concurrent operators.  When the cryptographic module is powered off and subsequently powered on, the results of previous authentications are not be retained and the cryptographic module requires the operator to be re-authenticated in an identity based fashion.  The cryptographic module protects CSPs from unauthorized disclosure, unauthorized modification, and unauthorized substitution.  The cryptographic module protects public keys from unauthorized modification, and unauthorized substitution.  The cryptographic module satisfies the FCC EMI/EMC requirements specified by 47 Code of Federal Regulations, Part 15, Subpart B, Unintentional Radiators, Digital Devices, Class B (i.e., for home use).  The cryptographic module implements the following self-tests: Power-up self-tests o Firmware integrity test (256-bit SHA256 hash verification) o SHA-256 KAT o HMAC-SHA256 KAT o RSA2048 signature verification KAT o AES-256 CBC Encrypt/Decrypt KAT o SP800-90 DRBG KAT o Continuous test on non-Approved NDRNG o Critical functions:  RSA2048 Encrypt KAT Conditional self-test o Continuous test on SP800-90 DRBG o Continuous test on non-Approved NDRNG o Firmware load test (via RSA2048 with SHA256 digital signature verification) o Critical functions: CSP integrity test (via SHA-256-bit CRC verification)  Manual key entry is not supported and the cryptographic module does not implement manual key entry tests.  The cryptographic module does not support bypass capability and does not implement bypass tests.  The status indicator output by the module when power-on self-tests succeeds is the LED flashing at 3.125 Hz, and outputs an icon to host PC. Page 6 of 16 Kanguru Solutions Defender 2000 Security Policy Document  The status indicator output by the module when a power-on self-test fails is flashing on the status output LED in a continuous fashion at 16Hz.  The status indicator output by the module when a conditional self-test fails is flashing on the status output LED in a continuous fashion at 16Hz.  The status indicator output by the module upon entry into the error state is flashing on the status output LED in a continuous fashion at 16Hz.  Split-knowledge processes are not supported.  All maintenance related services (i.e. maintenance role, physical maintenance interface, logical maintenance interface) are not applicable.  Plaintext CSP output is not supported.  The module does not support plaintext password entry. Passwords are entered encrypted with AES.  The cryptographic module does not contain dedicated physical ports for CSP input/output  The power interfaces cannot be used to drive power to external targets.  The continuous comparison self-tests related to twin implementations are not applicable.  Upon authenticating into a particular role, it is not possible to switch into another role without re-authenticating.  The cryptographic module does not provide the means to feedback authentication data.  The finite state machine does not support the following states: maintenance, CSP output.  The requirements of FIPS 140-2 Section 4.6 are not applicable; there exists no support for the execution of untrusted code. All code loaded from outside the cryptographic boundary is cryptographically authenticated via RSA digital signature verification via the firmware load test.  The cryptographic module is not a radio, does not support any wireless interfaces or OTAR.  The requirements of FIPS 140-2 Section 4.11 are not applicable; the cryptographic module was not designed to mitigate specific attacks beyond the scope of FIPS 140-2. Identification and Authentication Policy The following table defines the roles, type of authentication, and associated authenticated data types supported by the cryptographic module: Authentication Role Type of Authentication Data Identity-based Password (8 to 136 Master/ Cryptographic Officer: responsible for bytes) initialization, physical Page 7 of 16 Kanguru Solutions Defender 2000 Security Policy Document security inspection, and administrative functions. User: the end user of the Identity-based Password (8 to 136 product that utilizes the bytes) module under the direction of the Master. CD Update Officer: the end Identity-based RSA Signature user of the product that Verification (RSA utilizes the module to update 2048 bit) the CD partition of the module. Exhibit 5 - Roles and Required Identification and Authentication (FIPS 140-2 Table C1) The following table defines the strength of the implemented identity-based authentication mechanism (password verification or RSA signature verifications) by discussing the probabilities associated with random attempts, and multiple consecutive attempts within a one-minute period towards subverting the implemented authentication mechanisms: Authentication Mechanism Strength of Mechanism: Strength of Random attempted Mechanism: breach Multiple consecutive attempts in a one- minute period Password verification Less than 1 / 256^8 Less than 60/ 256 ^8 RSA signature verification Less than 1 / 2^112 Less than 60/ 2 ^112 Exhibit 6 - Strengths of Authentication Mechanisms (FIPS 140-2 Table C2) Access Control Policy The list of roles, services, cryptographic keys & CSPs, and types of access to the cryptographic keys & CSPs that are available to each of the authorized roles via the corresponding services. Exhibit 7 – Services Authorized for Roles, Access Rights within Services (FIPS 140-2 Table C3, Table C4) * No role means that the associated services in the Exhibit 7 below are non-security relevant, unauthenticated, and can be accessed by any operator. Type(s) of Access to CSPs: Role Service Cryptographic Keys & CSPs * No Crypto- User CD role graphic Update R=Read the item into Officer/ Officer memory Master W=Write the item into Page 8 of 16 Kanguru Solutions Defender 2000 Security Policy Document memory X Self Tests: performs the full suite of N/A required power-up self-tests. X Get Device Info: This function gets N/A status information from the module. X Set Write Protect: This function N/A enables or disables the module with write-protection. X Set User Disk Password of Partition: W: User Disk Password This function sets the User Disk Password for Partition to the module W: Data Encryption/ to restrict access to the encrypted Decryption Key of Private partition of the module. Partition W/R: Key Encryption/ Decryption Key of Private Partition W: DRBG Internal State (K and V) R: MAC Key of Secure Channel R: AES Session Key of Secure Channel X W: User Disk Password Set User Disk Password of Private Partition: This function sets the User Disk Password for Private Partition to W: Data Encryption/ the module to restrict access to the Decryption Key of Private encrypted (private) partition of the Partition module. W/R: Key Encryption/ Decryption Key of Private Partition W: DRBG Internal State (K and V) R: MAC Key of Secure Channel R: AES Session Key of Secure Channel Page 9 of 16 Kanguru Solutions Defender 2000 Security Policy Document X W: Master Disk Password Set Master Disk Password of Partition: This function sets the Master Disk Password for Partition to W: Data Encryption/ the module to restrict access to the Decryption Key of Private encrypted partition of the module. Partition W/R: Key Encryption/ Decryption Key of Private Partition W: DRBG Internal State (K and V) R: MAC Key of Secure Channel R: AES Session Key of Secure Channel X W: Master Disk Password Set Master Disk Password of Private Partition: This function sets the Master Disk Password for Private W: Data Encryption/ Partition to the module to restrict Decryption Key of Private access to the encrypted (private) Partition partition of the module. W/R: Key Encryption/ Decryption Key of Private Partition W: DRBG Internal State (K and V) R: MAC Key of Secure Channel R: AES Session Key of Secure Channel X Master Login Into Partition: This R: Master Disk Password function opens (enables access to) the encrypted partition of module with W: Data Encryption/ Master Disk Password. Decryption Key of Private Partition R: Key Encryption/ Decryption Key of Private Partition W: DRBG Internal State (K and V) R: MAC Key of Secure Channel R: AES Session Key of Secure Channel Page 10 of 16 Kanguru Solutions Defender 2000 Security Policy Document X User Login Into Partition: This R: User Disk Password function opens (enables access to) the encrypted partition of module with R: Data Encryption/ User Disk Password. Decryption Key of Private Partition R: Key Encryption/ Decryption Key of Private Partition W: DRBG Internal State (K and V) R: MAC Key of Secure Channel R: AES Session Key of Secure Channel X Master Login Into Private Partition: R: Master Disk Password This function opens (enables access to) the encrypted (private) partition of R: Data Encryption/ module with Master Disk Password. Decryption Key of Private Partition W: Key Encryption/ Decryption Key of Private Partition W: DRBG Internal State (K and V) R: MAC Key of Secure Channel R: AES Session Key of Secure Channel X X Logout From Partition: This R: MAC Key of Secure function closes (disables access to) the Channel encrypted partition of module. R: AES Session Key of Secure Channel X X Logout From Private Partition: This R: MAC Key of Secure function closes (disables access to) the Channel encrypted (private) partition of module. R: AES Session Key of Secure Channel X X Change Disk Password of Partition: R: MAC Key of Secure This function changes the Master Disk Channel Password (or) User Disk Password of partition from old password to new R: AES Session Key of password. Secure Channel R/W: Master Disk Password (or) User Disk Password Page 11 of 16 Kanguru Solutions Defender 2000 Security Policy Document X X R: MAC Key of Secure Change Disk Password of Private Partition: This function changes the Channel Master Disk Password (or) User Disk Password of Private partition from old R: AES Session Key of password to new password. Secure Channel R/W: Master Disk Password (or) User Disk Password X Create User of Partition: This R: Master Disk Password, function creates the User and associated passwords for accessing the R: AES Session Key of partition. Secure Channel, R: MAC Key of Secure Channel, W: User Disk Password X Create User of Private Partition: R: Master Disk Password, This function creates the User and associated passwords for accessing the R: MAC Key of Secure Private partition. Channel R: AES Session Key of Secure Channel W: User Disk Password W: Data Encryption/ Decryption Key of Private Partition W: Key Encryption/ Decryption Key of Private Partition W: DRBG Internal State (K and V) X X R: MAC Key of Secure Write Mass-Storage Data to Partition This function writes data to Channel the (encrypted) partition. R: AES Session Key of Secure Channel R: Data Encryption/ Decryption Key of Private Partition X X R: MAC Key of Secure Read Mass-Storage Data to Partition: This function reads data Channel from the (encrypted) partition. R: AES Session Key of Secure Channel R: Data Encryption/ Decryption Key of Private Partition Page 12 of 16 Kanguru Solutions Defender 2000 Security Policy Document X X R: MAC Key of Secure Write Mass-Storage Data to Private Partition: This function writes data to Channel the private (encrypted) partition. R: AES Session Key of Secure Channel R: Data Encryption/Decryption Key of Private Partition X X R: MAC Key of Secure Read Mass-Storage Data to Private Partition: This function reads data Channel from the private (encrypted) partition. R: AES Session Key of Secure Channel R: Data Encryption/ Decryption Key of Private Partition X R: Data Encryption/ Read Mass-Storage Data from CD Partition: This function reads data Decryption Key of from the public CD partition. CD/Public Partition X Show Status: This function gets the N/A status from specified partition. X CD Update: This function enables R: CD Update Public Key writing of data to the CD partition. X Set CD Update Public Key: This R, W: CD Update Public function updates the 2048-bit RSA Key public key used to verify the signature of the data written to CD partition. X R,W: Firmware Update Start Firmware Update: This Public Key function enables the secure firmware update via RSA 2048 with SHA-256 digital signature verification (limited operational environment firmware load test). X W: All CSPs Zeroize: This function zeroizes all the CSPs, and puts module into un- initialized state. Exhibit 7 – Services Authorized for Roles, Access Rights within Services (FIPS 140-2 Table C3, Table C4) Cont’d Physical Security Policy The following physical security mechanisms are implemented by the cryptographic module:  Production grade components  Opaque tamper evident metal and plastic enclosure without any gaps or openings Page 13 of 16 Kanguru Solutions Defender 2000 Security Policy Document  Strong adhesive materials that prevent dismantling the module without high probability of causing severe damage and visible tamper evidence.  Chips and pin connectors are coated with epoxy. The following table summarizes the actions required by the Master/Cryptographic Officer Role to ensure that physical security is maintained. Recommended Physical Security Frequency of Inspection/Test Guidance Details Mechanisms Inspection/Test Production grade N/A N/A components Opaque non Upon each usage Inspect the entire perimeter for removable metal scratches, scrapes, gouges, cuts and enclosure with strong any other signs of tampering. Remove adhesive materials the unit from service when any such markings are found. Exhibit 8 - Inspection/Testing of Physical Security Mechanisms (FIPS 140-2 Table C5) Mitigation of Other Attacks Policy The cryptographic module has not been including the security mechanisms implemented to mitigate the attacks. Other Mitigation Specific Attacks Mechanism Limitations N/A N/A N/A Exhibit 9 - Mitigation of Other Attacks (FIPS 140-2 Table C6) References  FIPS PUB 140-2  FIPS PUB 140-2 DTR  FIPS PUB 140-2 Implementation Guidance  FIPS 197 - AES  FIPS 180-3 - SHS  RSA PKCS#1 V2.1 Page 14 of 16 Kanguru Solutions Defender 2000 Security Policy Document  SP800-90 Page 15 of 16 Kanguru Solutions Defender 2000 Security Policy Document Appendix 1 – Part Number Matrix (Kanguru Defender 2000: Hardware Version 1.0; Firmware version: 2.02.10) Capacity 2GB 4GB 8GB Exhibit 10 – Module Part Numbers Module Part Number KDF2000-2G KDF2000-4G KDF2000-8G Page 16 of 16