| Standard | FIPS 140-3 |
|---|---|
| Overall level | 3 |
| Module type | Hardware |
| Embodiment | Multi-Chip Stand Alone |
| Status | Active |
| Sunset date | 11/11/2030 |
| Caveat | None |
| Vendor | DataLocker, Inc. |
flowchart LR
%% Deterministic review-risk graph for K350
%% Review prompts and evidence gaps, NOT vulnerability findings.
subgraph CMVP["CMVP-disclosed clues"]
C2["[low] Firmware update / recovery<br/>/ rollback (referenced in<br/>text)<br/><i>Update</i>"]
C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Self-Test<br/>UnAuth<br/>status output</i>"]
C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>bootloader<br/>application</i>"]
end
subgraph Inference["Derived inference"]
I2["Possible only, trusted<br/>code is reachable through<br/>update and recovery paths."]
I3["Possible only, some<br/>services may process input<br/>before, or without,<br/>operator authentication."]
I6["Possible only, a<br/>runtime/OS is referenced,<br/>but its membership in the<br/>cryptographic boundary is<br/>not established."]
end
subgraph Risk["Reviewer question"]
R2["Are update images<br/>authenticated before<br/>parsing, and are<br/>downgrade/rollback paths<br/>constrained?"]
R3["Can unauthenticated<br/>services leak state,<br/>consume resources, or<br/>transition security state?"]
R6["If the OS/runtime is<br/>in-boundary, could its<br/>CVEs be hidden by<br/>firmware-only versioning?"]
end
subgraph Evidence["Evidence needed to close"]
E2["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>update image format ·<br/>signature-before-parse<br/>proof · anti-rollback /<br/>downgrade policy"]
E3["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>pre-auth reachability<br/>matrix · rate limits and<br/>output redaction ·<br/>abuse-case tests"]
E6["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>runtime identity and<br/>config · kernel/runtime<br/>hardening profile ·<br/>patch/backport manifest"]
end
C2 --> I2 --> R2 --> E2
C3 --> I3 --> R3 --> E3
C6 --> I6 --> R6 --> E6
classDef clue fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
classDef infer fill:#fff7e6,stroke:#b98500,color:#6b4e00;
classDef risk fill:#fbe9e9,stroke:#b02a2a,color:#7a1f1f;
classDef evidence fill:#e6f4ea,stroke:#1e7d34,color:#14532d;
class C2,C3,C6 clue;
class I2,I3,I6 infer;
class R2,R3,R6 risk;
class E2,E3,E6 evidence;flowchart LR
%% Deterministic clue tier for K350
%% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
subgraph CMVP["CMVP-disclosed clues (deterministic)"]
C2["[low] Firmware update / recovery / rollback (referenced in text)<br/><i>Update</i><br/>src: text:keyword"]
C3["[low] Self-test / status surface (referenced in text)<br/><i>Self-Test<br/>UnAuth<br/>status output</i><br/>src: text:keyword"]
C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>bootloader<br/>application</i><br/>src: text:keyword"]
end
classDef clueHigh fill:#eef3f9,stroke:#2f6fb0,stroke-width:2px,color:#1f3a5f;
classDef clueMedium fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
classDef clueLow fill:#f7f7f7,stroke:#999,stroke-dasharray:4 4,color:#444;
class C2,C3,C6 clueLow;DATALOCKER, INC., K350 Version 1.0 This document may be freely reproduced and distributed, but only in its entirety and without modification.
| # | Section | Page |
|---|
This document may be freely reproduced and distributed, but only in its entirety and without modification.
| Item | Page |
|---|---|
| Table 1: Security Levels | 6 |
| Table 2: Tested Module Identification – Hardware | 8 |
| Table 3: Modes List and Description | 9 |
| Table 4: Approved Algorithms | 10 |
| Table 5: Vendor-Affirmed Algorithms | 11 |
| Table 6: Security Function Implementations | 13 |
| Table 7: Entropy Certificates | 14 |
| Table 8: Entropy Sources | 14 |
| Table 9: Ports and Interfaces | 15 |
| Table 10: Authentication Methods | 16 |
| Table 11: Roles | 16 |
| Table 12: Approved Services | 24 |
| Table 13: Mechanisms and Actions Required | 26 |
| Table 14: EFP/EFT Information | 26 |
| Table 15: Hardness Testing Temperatures | 26 |
| Table 16: Storage Areas | 27 |
| Table 17: SSP Input-Output Methods | 27 |
| Table 18: SSP Zeroization Methods | 28 |
| Table 19: SSP Table 1 | 30 |
| Table 20: SSP Table 2 | 31 |
| Table 21: Pre-Operational Self-Tests | 32 |
| Table 22: Conditional Self-Tests | 34 |
| Table 23: Pre-Operational Periodic Information | 34 |
| Table 24: Conditional Periodic Information | 36 |
| Table 25: Error States | 37 |
This document defines the Security Policy for the DataLocker, Inc., (DataLocker) K350 module, hereafter “the module”. The physical form of the module is depicted in Figure 1. The module is a multi-chip standalone embodiment as defined by FIPS 140-3 and conforms to Security Level 3.
The module meets the overall requirements of FIPS 140-3 Security Level 3. Section Title Security Level
6 Operational environment N/A
8 Non-invasive security N/A
12 Mitigation of other attacks N/A
Overall Level 3 Table 1: Security Levels
The module, depicted in Figure 1 below, is an encrypted portable storage device, featuring three crypto processors, which provide layers of cryptographic protection. It requires no additional software or drivers to be installed on the host PC. As shown in Figure 2, the three processors are STMicroelectronics STM32L452VE, NXP This document may be freely reproduced and distributed, but only in its entirety and without modification.
JCOP3, and Fujitsu/Socionext MB86C31. The module is intended for use by US Federal agencies or other markets that require FIPS 140-3 validated encrypted storage. Figure 1: K350 Purpose and Use: The K350 is a portable encrypted storage drive. Module Type: Hardware The K350 is defined as hardware module (refer to ISO/IEC 19790, Section 7.2.2). Module Embodiment: MultiChipStand The K350 is defined as a multiple chip standalone cryptographic module. Module Characteristics: The critical components within the module are encapsulated inside a hard, opaque, production grade epoxy. Cryptographic Boundary: The cryptographic boundary is defined as the perimeter of the epoxy that encapsulates all the module’s components on the printed circuit board (PCB). This document may be freely reproduced and distributed, but only in its entirety and without modification.
Figure 2: Block Diagram N.B. The JTAG Write PIN Interface shown in Figure 2 is used to write firmware on debug devices. On production devices, the configuration setting is such that the JTAG interface cannot be used to read, erase, or program the STM32 flash memory.
The K350 cryptographic module is designed to meet the requirements of FIPS 140-3 Security Level 3 (refer to Table 1). The module is available in the following configuration (refer to Table 2): Tested Module Identification
Tested Module Identification
No components within the cryptographic boundary are excluded from the requirements of FIPS 140-3 under AS02.13 & AS02.14.
Modes List and Description: The module only supports an Approved mode of operation and cannot be configured to operate in a nonApproved mode. Once the operator has authenticated, the unlocked screen will display “FIPS 140-3 Level 3 AES256-bit XTS” along with the evaluated firmware version, “K350 3.07”. The Bootloader Version (1.03) can be verified via the SDK. Mode Description Type Status Name Indicator Approved Only Approved services are supported Approved Global Indicator Table 3: Modes List and Description The device will not respond to service calls before it has entered its approved mode of operation.
The K350 cryptographic module supports the approved cryptographic algorithms shown in Table 4. Approved Algorithms: The module supports the following approved cryptographic algorithms. Algorithm CAVP Cert Properties Reference AES-CTR AES 3971 Key Length - 128, 192, 256 SP 800-38A AES-GCM AES 3971 Direction - Decrypt, Encrypt SP 800-38D Key Length - 128, 192, 256 This document may be freely reproduced and distributed, but only in its entirety and without modification.
Algorithm CAVP Cert Properties Reference AES-XTS AES 5695 Direction - Decrypt, Encrypt SP 800-38E Key Length - 256 ECDSA KeyGen A5176 Curve - P-256 FIPS 186-5 (FIPS186-5) Secret Generation Mode - testing candidates ECDSA KeyVer A5176 Curve - P-256 FIPS 186-5 (FIPS186-5) ECDSA SigVer A5176 Curve - P-256 FIPS 186-5 (FIPS186-5) Hash Algorithm - SHA2-256 Hash DRBG A5176 Prediction Resistance - No SP 800-90A Mode - SHA2-256 Rev. 1 HMAC-SHA2-256 HMAC 2589 - FIPS 198-1 KAS-ECC-SSC Sp800- A5176 Domain Parameter Generation Methods - P-256 SP 800-56A 56Ar3 Scheme - Rev. 3 ephemeralUnified KAS Role - responder KDA OneStep Sp800- A5176 Derived Key Length - 2048 SP 800-56C 56Cr1 Shared Secret Length - Shared Secret Length: 256- Rev. 2
PBKDF A5176 Iteration Count - Iteration Count: 1000-10000 SP 800-132 Increment 1 Password Length - Password Length: 8-64 Increment SHA2-256 SHS 3275 Message Length - Message Length: 0-51200 FIPS 180-4 Increment 8 SHA2-256 SHS 3299 Message Length - Message Length: 0-51200 FIPS 180-4 Increment 8 SHA2-256 SHS 4565 Message Length - Message Length: 8-51200 FIPS 180-4 Increment 8 SHA3-256 A4438 Message Length - Message Length: 0-65536 FIPS 202 Increment 8 Table 4: Approved Algorithms Vendor-Affirmed Algorithms: The module supports the following vendor affirmed algorithms (refer to Table 5). Name Properties Implementation Reference CKG Key Type:Symmetric N/A SP 800-133r2 and IG D.G per Section 4 example 1, Section and Asymmetric 5.2, and Section 6.1. CKG Key Type:Symmetric N/A SP 800-133r2 and IG D.H per Section 6.3 approved method XTS 1 and Section 4 example 1. Applicable to AES-XTS This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Properties Implementation Reference compliant to IG C.I because Key_1 and Key_2 are concatenated prior to usage. Table 5: Vendor-Affirmed Algorithms Non-Approved, Allowed Algorithms: N/A for this module. Non-Approved, Allowed Algorithms with No Security Claimed: N/A for this module. Non-Approved, Not Allowed Algorithms: N/A for this module.
Name Type Description Properties Algorithms CSP Decryption BC-Auth Symmetric Standard:NIST SP AES-GCM: (AES Decryption 800-38D 3971) Key Type: Symmetric Key Size: 256-bit CSP Encryption BC-Auth Symmetric Standard:NIST SP AES-GCM: (AES Encryption 800-38D 3971) Key Type: Symmetric Key Size: 256-bit DEC BC-UnAuth Symmetric Standard:FIPS 197 AES-CTR: (AES Decryption 3971) Key Size: 256 AES-XTS: (AES 5695) Key Size: 256 DRBG Generate DRBG Random Number Standard:NIST SP Hash DRBG: Generation using 800-90A (A5176) HASH_DRBG based Mode: SHA2-256 on SHA2-256 Returned Bits: 256 EG ENT-ESV Entropy Generation Standard:NIST SP SHA3-256: (A4438) 800-90B Message Length Max: 65536 bits ENC BC-UnAuth Symmetric Standard:FIPS 197 AES-CTR: (AES Encryption 3971) Key Size: 256 This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Type Description Properties Algorithms AES-XTS: (AES 5695) Key Size: 256 Integrity SHA Message Digest Standard:FIPS 180-4 SHA2-256: (SHS 4565) Message Length Max: 51200 bits KAS KAS-Full Key Agreement for Standard:NIST SP KAS-ECC-SSC Sp800establishing secure 800-56Ar3, NIST SP 56Ar3: (A5176) session 800-56Cr1 Scheme: Ephemeral IG:IG D.F Scenario Unified 2, path (2), split Curve: P-256 Key KDA OneStep confirmation:No Sp800-56Cr1: Key derivation:KDA (A5176) (separately tested) Derived Key Length: Caveat:Key 2048 establishment methodology provides 128 bits of security strength KAS-KG CKG Asymmetric key Standard:NIST SP ECDSA KeyGen KAS-KeyGen generation during 800-56Ar3 (FIPS186-5): KAS (A5176) Curve: P-256 CKG: () Key Type: Symmetric and Asymmetric PBKDF PBKDF Password Based Key Standard:NIST SP PBKDF: (A5176) Derivation Option 800-132 Salt Length: 256 bits 1a Password Length: 8 - 64 bytes HMAC-SHA2-256: (HMAC 2589) SHA2-256: (SHS 3275) PKV AsymKeyPair- Public key Standard:NIST SP ECDSA KeyVer PubKeyVal validation 800-56Ar3, FIPS (FIPS186-5): 186-5 (A5176) Curve: P-256 SigVer DigSig-SigVer Signature Standard:FIPS 186-5 ECDSA SigVer Verification (FIPS186-5): (A5176) Curves: P-256 SHA2-256: (SHS 3299) This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Type Description Properties Algorithms Message Length Max: 51200 bits SymKG CKG Symmetric Key Standard:NIST SP CKG: () Generation 800-133r2 Key Type: Symmetric and Asymmetric Hash DRBG: (A5176) Table 6: Security Function Implementations
The module utilizes only approved algorithms that are tested and validated under the Cryptographic Algorithm Validation Program (CAVP). The module’s AES-GCM implementation conforms to IG C.H scenario 2. The module uses the approved Hash DRBG to generate the IV with a length of 96-bits. The entropy source producing the DRBG seed is located inside the module’s cryptographic boundary. Per NIST SP 800-38E, AES-XTS is used for storage applications only. The module’s AES-XTS implementation conforms to IG C.I. The module checks explicitly that Key_1 ≠ Key_2 before using the keys in the XTS-Algorithm to process data with them. The length of the AES-XTS data unit does not exceed 220 blocks. The PBKDF algorithm is used to derive the Key Encryption Key (KEK) via Option 2a per NIST SP 800-132 with AESGCM (AES Cert. #3971) as the approved authenticated encryption algorithm. Per IG D.N, the PBKDF iteration count is selected to be a value between 1,000 and 10,000. It utilizes the highest possible value, as long as the time required to generate the key using the entered password is acceptable for the users. The Key Encryption Key (KEK) is the only key derived via PBKDF and may only be used for storage applications. Compliance to SP 800-56ARev3 assurances: For KAS-ECC, the module satisfies IG D.F Scenario 2 path (2). The key derivation function complies with NIST SP 800-56Cr2 (i.e., One-Step KDF). Furthermore, the module obtained the appropriate assurances, as required in Sections 5.6.2 of NIST SP 800-56Ar3. For KAS-ECC, the module uses C(2e,0s), thus no static key pairs are used as a part of the KAS schemes per NIST SP 800-56Ar3. Full public key validation is implemented (NIST SP 800-56Ar3 Section 5.6.2.3.3). No key confirmation is implemented.
The module incorporates a NIST SP 800-90A CTR-DRBG (Cert. #A5176) that is seeded from the module’s NIST SP 800-90B validated entropy source. The unmodified output of the DRBG is used for generating cryptographic key material or random nonces. This document may be freely reproduced and distributed, but only in its entirety and without modification.
Cert Vendor Name Number E131 DataLocker, Inc. Table 7: Entropy Certificates Name Type Operational Environment Sample Entropy Conditioning Size per Component Sample DataLocker Non- STMicroelectronics 256 Full SHA3-256 Cert. JENT Physical STM32L452VE bits entropy #A4438 Table 8: Entropy Sources
The module generates symmetric cryptographic keys in conformance with NIST SP 800-133r2 using a NIST SP 80090Ar1 conforming DRBG (Cert. #A5176) for the encryption and protection of data and cryptographic keys. The module generates asymmetric cryptographic key pairs in conformance with FIPS 186-5 for the verification of digital signatures, or for the facilitation of key agreement in conformance with NIST SP 800-56Ar3.
The module supports the establishment of cryptographic keys using elliptic curve cryptography (ECC) in conformance with NIST SP 800-56Ar3. The module implements KAS-ECC-SSC per NIST SP 800-56Ar3 (Cert. #A5176), used in conjunction with KDA per NIST SP 800-56Cr1 (Cert. #A5176). Key establishment methodology provides at least 128 bits of encryption strength. This is used to establish secure communication sessions.
The module relies upon the standard USB and other serial protocols for communication with general purpose computer (GPC) systems. This document may be freely reproduced and distributed, but only in its entirety and without modification.
The module incorporates physical ports and logical interfaces. The physical ports are defined within Table 9 below: Physical Logical Data That Passes Port Interface(s) OLED Display Data Output Configuration data output, and status output Status Output USB Port Data Input Plaintext data for encryption/storage and retrieval, status, command inputs Data Output Control Input Status Output Power LED Status Output Status Keypad Data Input Authentication and configuration data inputs Control Input Table 9: Ports and Interfaces This document may be freely reproduced and distributed, but only in its entirety and without modification.
The module supports authentication methods for the Cryptographic Officer roles. These roles have separate authentication methods as indicated in Table 10. The authentication method of both Crypto Officer (CO) Admin and Crypto Officer (CO) Standard is the password-based authentication technique known as a Memorized Secret in conformance with NIST SP 800-140E and NIST SP 800-63B (refer to Section 5.1.1). Method Description Security Mechanism Strength Each Attempt Strength per Minute Name Password Username Password between 8 The probability that a The module will self-destruct Verification and and 64 characters in random authentication and zeroize all CSPs if minimum 8- length. The password attempt will succeed is enough consecutive failed character is selected from 46 at most one in 46^8 - authentication attempts are password possible symbols, 118 (which is less than made. The number of failed inclusive of numbers, one in 1,000,000). The authentication attempts letters, and special reason is that, out of allowed is between 10 and characters (!, *, -, %, ~, 46^8 possible 50, depending on the #, . , @, &, $). The passwords, there are selected configuration. password is not 118 linear and Therefore, the probability allowed to be linear repetitive passwords, that a brute force attack will (e.g., "12345678") or which are disallowed. succeed in one minute is at repetitive (e.g., most 50 in 46^8 - 118, which "11111111"). is less than the required probability of one in 100,000. Table 10: Authentication Methods
Name Type Operator Type Authentication Methods Crypto Officer (CO) Admin Identity Cryptographic Password Verification Officer Crypto Officer (CO) Standard Identity Cryptographic Password Verification Officer Unauthenticated Role Unauthenticated None Table 11: Roles The module does not support concurrent operators. Only one operator is allowed to access the device at any time. Operator authentication does not persist beyond power-cycling the module. The selection of roles is implicit. This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Description Indicator Inputs Outputs Security SSP Access Functions Change Update operator passphrase and Successful New Password Status ENC Crypto Officer (CO) Password SilentKill Code service DEC Admin completion. DRBG - Passphrase: W,E Generate - Key Encryption Key PBKDF (KEK): G,E CSP - Data Encryption Encryption Key (DEK): E - System Base Key (SBK): E Crypto Officer (CO) Standard - Passphrase: W,E - Key Encryption Key (KEK): G,E - Data Encryption Key (DEK): E - System Base Key (SBK): E Change Configure the module Successful Configuration Status ENC Crypto Officer (CO) Settings service parameters e.g. Lockout DEC Admin completion time lengths, minimum - System Base Key password length, screen (SBK): E brightness, etc. Create Create Secondary CO Standard Successful Password Status ENC Crypto Officer (CO) Secondary account service DEC Admin Account completion SymKG - System Base Key DRBG (SBK): E Generate - Passphrase: W - DRBG-State: G,E
Name Description Indicator Inputs Outputs Security SSP Access Functions CSP - Key Encryption Key Encryption (KEK): G,E - Data Encryption Key (DEK): G,E Decrypt Decrypt operator data in persistent Successful None Plaintext data ENC Crypto Officer (CO) Data storage service DEC Admin completion. - Data Encryption Key (DEK): E Crypto Officer (CO) Standard - Data Encryption Key (DEK): E Encrypt Encrypt operator data in persistent Successful Plaintext data None ENC Crypto Officer (CO) Data storage service DEC Admin completion. - Data Encryption Key (DEK): E Crypto Officer (CO) Standard - Data Encryption Key (DEK): E Firmware Update the firmware or Virtual CD- Successful Digitally signed Status ENC Crypto Officer (CO) Update ROM contents (VCD); the VCD is not service firmware DEC Admin firmware and only contains data completion. SigVer - VCD-Load-Pub: E - FW-Load-Pub: E - System Base Key (SBK): E Crypto Officer (CO) Standard - VCD-Load-Pub: E - FW-Load-Pub: E - System Base Key (SBK): E This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Description Indicator Inputs Outputs Security SSP Access Functions Get Info Retrieve device information, such as Successful None Module None Crypto Officer (CO) firmware version and serial number service information data Admin completion. e.g. Module Crypto Officer (CO) name, version Standard Lock Device Log out the operator and lock the Successful None Status None Crypto Officer (CO) device service Admin completion. - Session Encryption Key (SEK): Z - KAS-ECC Private Key (KAS-pr): Z - KAS-ECC Public Key (KAS-pub): Z - KAS-ECC Peer Public Key (KASpeer-pub): Z Crypto Officer (CO) Standard - Session Encryption Key (SEK): Z - KAS-ECC Private Key (KAS-pr): Z - KAS-ECC Public Key (KAS-pub): Z - KAS-ECC Peer Public Key (KASpeer-pub): Z Login Authenticate to the module via the Successful Operator ID and Status PBKDF Crypto Officer (CO) keypad service Password CSP Admin completion. Decryption - Passphrase: W,E - Key Encryption Key (KEK): G,E - Data Encryption This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Description Indicator Inputs Outputs Security SSP Access Functions Key (DEK): E - System Base Key (SBK): E Crypto Officer (CO) Standard - Passphrase: W,E - Key Encryption Key (KEK): G,E - Data Encryption Key (DEK): E - System Base Key (SBK): E Remount Dismount and remount the private Successful None Status CSP Crypto Officer (CO) partition service Decryption Admin completion. - Data Encryption Key (DEK): E Crypto Officer (CO) Standard - Data Encryption Key (DEK): E Reset Soft Reset. The equivalent of power Successful None None None Crypto Officer (CO) cycling service Admin completion. - Key Encryption Key (KEK): Z - Session Encryption Key (SEK): Z - KAS-ECC Private Key (KAS-pr): Z - KAS-ECC Public Key (KAS-pub): Z - KAS-ECC Peer Public Key (KASThis document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Description Indicator Inputs Outputs Security SSP Access Functions peer-pub): Z Crypto Officer (CO) Standard - Key Encryption Key (KEK): Z - Session Encryption Key (SEK): Z - KAS-ECC Private Key (KAS-pr): Z - KAS-ECC Public Key (KAS-pub): Z - KAS-ECC Peer Public Key (KASpeer-pub): Z Secure Establish an AES-CTR encrypted secure Successful None Status PKV Crypto Officer (CO) Channel channel with Host PC service ENC Admin completion. DEC - DRBG-State: E DRBG - System Base Key Generate (SBK): E KAS-KG - Session Encryption KAS Key (SEK): G,E - KAS-ECC Private Key (KAS-pr): G,E - KAS-ECC Public Key (KAS-pub): G,E,R - KAS-ECC Peer Public Key (KASpeer-pub): E,W - Shared Secret (Z): G,E Crypto Officer (CO) Standard - DRBG-State: E This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Description Indicator Inputs Outputs Security SSP Access Functions - System Base Key (SBK): E - Session Encryption Key (SEK): G,E - KAS-ECC Private Key (KAS-pr): G,E - KAS-ECC Public Key (KAS-pub): G,E,R - KAS-ECC Peer Public Key (KASpeer-pub): E,W - Shared Secret (Z): G,E Self- The module may be configured to Successful None None None Crypto Officer (CO) Destruct either destroy device (DEK and service Admin firmware are destroyed) or destroy completion. - DRBG-State: Z data only (DEK is destroyed and data is - Data Encryption lost) Key (DEK): Z Crypto Officer (CO) Standard - DRBG-State: Z - Data Encryption Key (DEK): Z Self-Tests Reset the module by power-cycling to Successful None Status Integrity Unauthenticated invoke self-tests on demand service SigVer completion. Show Status Status via OLED Display and LEDs Successful None Module status None Unauthenticated service completion. This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Description Indicator Inputs Outputs Security SSP Access Functions Show Show the current system Successful None Module DEC Crypto Officer (CO) System configuration service configuration Admin completion parameters - System Base Key (SBK): E Crypto Officer (CO) Standard - System Base Key (SBK): E SilentKill Destroys all copies of the DEK, Successful Silent Kill code Status ENC Crypto Officer (CO) invalidates passphrases, and service DEC Admin generates a new DEK completion. SymKG - DRBG-EI: G,E DRBG - DRBG-State: G,E,Z Generate - Passphrase: W,E EG - Key Encryption Key PBKDF (KEK): G,E - Data Encryption Key (DEK): G,Z - System Base Key (SBK): E Crypto Officer (CO) Standard - DRBG-EI: G,E - DRBG-State: G,E,Z - Passphrase: W,E - Key Encryption Key (KEK): G,E - Data Encryption Key (DEK): G,Z - System Base Key (SBK): E This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Description Indicator Inputs Outputs Security SSP Access Functions Zeroize Destroys all copies of the DEK, Successful None Status ENC Crypto Officer (CO) Drive invalidates passphrases, and service DEC Admin generates a new DEK. If the command completion SymKG - DRBG-State: G,E,Z is received via the SDK, then the DRBG - Passphrase: G,E,Z module may be configured to destroy Generate - Key Encryption Key device instead (DEK and firmware are EG (KEK): Z destroyed). - Data Encryption Key (DEK): G,E,Z - KAS-ECC Private Key (KAS-pr): Z - Session Encryption Key (SEK): Z - System Base Key (SBK): G,E,Z - DRBG-EI: G,E Table 12: Approved Services
N/A for this module. This document may be freely reproduced and distributed, but only in its entirety and without modification.
The module supports firmware updates by the Cryptographic Officer role (both Crypto Officer (CO) Admin and Crypto Officer (CO) Standard) through a secure firmware-loading mechanism. Upon authentication of the Cryptographic Officer, a Secure Channel (via the Secure Channel service) is established to logically isolate and to protect the confidentiality and integrity of the firmware image during transfer. The Firmware Update service should then be called. The firmware image is digitally signed using ECDSA P-256 and verified within the module using an embedded public key prior to installation. The module inhibits all data output interfaces during the firmware update, and no cryptographic operations are performed. Only after successful verification does the module write the updated firmware to protected memory and perform a controlled power-cycle to activate the firmware. This mechanism provides assurance that only authenticated, integrity-verified firmware can be loaded, satisfying the controls and isolation requirements of ISO/IEC 19790 Annex B and FIPS 140-3 IG 10.3.A.
The module includes the following firmware components that include separate firmware integrity tests: − Bootloader: Signature Verification (ECDSA, Cert. #A5176), P-256 − Firmware: Signature Verification (ECDSA, Cert. #A5176), P-256 The module will transition to its error state upon the failure of either firmware integrity test.
Self-tests may be initiated on demand by power cycling the module or invoking a soft reset via the services.
Type of Operational Environment: Limited How Requirements are Satisfied: The module does not contain a modifiable operational environment. The module’s operational environment is limited. The module includes a firmware load service to support necessary updates. Firmware versions validated through the FIPS 140-3 CMVP will be explicitly identified on a validation certificate. Any firmware not identified in this Security Policy does not constitute the module defined by this Security Policy or covered by this validation. This document may be freely reproduced and distributed, but only in its entirety and without modification.
The K350 is protected by an opaque epoxy and conforms to FIPS 140-3 Level 3 physical security requirements. The operator is required to physically inspect the module for indications of tampering attempts at intervals specified by their organization’s policies. The fascia can be removed without tamper evidence and should be inspected when examining for tamper evidence. Mechanism Inspection Inspection Guidance Frequency Tamper Evidence Each use Examine the outer enclosure for evidence of tampering. Table 13: Mechanisms and Actions Required
The module does not support environmental failure protection (EFP) mechanisms for high/low voltage and temperature extremes. The module underwent environmental failure testing (EFT) instead (refer to Table 14). Temp/Voltage Temperature EFP Result Type or Voltage or EFT LowTemperature -90°C EFT Shutdown HighTemperature 135°C EFT Shutdown LowVoltage 3.7V EFT Shutdown HighVoltage 8.1V EFT Shutdown Table 14: EFP/EFT Information
The module has been tested at the operational, storage and distribution temperatures listed in Table 15. The module’s epoxy hardness is assured within these ranges. Temperature Temperature Type LowTemperature -20°C HighTemperature 60°C Table 15: Hardness Testing Temperatures This document may be freely reproduced and distributed, but only in its entirety and without modification.
The module does not provide protections against non-invasive security methods.
The module supports both volatile and persistent storage of SSPs within internal RAM and Flash. Storage Area Description Persistence Name Type RAM Plaintext in volatile memory Dynamic Flash Encrypted with the KEK in the ARM Cortex secure flash along with a SHA2-256 Static (Encrypted) hash Flash (Plaintext) Plaintext in the ARM Cortex secure flash Static Table 16: Storage Areas
Name From To Format Distribution Entry SFI or Type Type Type Algorithm I1 Outside the module RAM Plaintext Manual Direct PBKDF (A5176) I2 Outside the module RAM Plaintext Automated Electronic KAS I3 Outside the module Flash (Plaintext) Plaintext Automated Electronic O1 RAM Outside the module Plaintext Automated Electronic KAS Table 17: SSP Input-Output Methods
The zeroization methods described within Table 18 are supported by the module. Zeroization services explicitly overwrite SSPs with zero values. Zeroization Description Rationale Operator Initiation Method Z1 Zeroised by module after use Immediately overwrites Automatically after use SSPs with 0s This document may be freely reproduced and distributed, but only in its entirety and without modification.
Zeroization Description Rationale Operator Initiation Method Z2 Zeroisation, SilentKill, self- Immediately overwrites Zeroisation, SilentKill, or Self-Destruct destruct sequence SSPs with 0s Sequence Z3 Full Factory Zeroisation Immediately overwrites Select 'Zeroize Drive' from the 'Menu' SSPs with 0s and then select 'Yes' Table 18: SSP Zeroization Methods This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Description Size - Type - Category Generated Established Used By Strength By By Data Encryption Key used to encrypt user data for persistent 256 - 256 Symmetric - CSP SymKG DEC Key (DEK) storage. ENC DRBG-EI DRBG entropy input to the Hash_DRBG. 512 - 512 ESV - CSP EG DRBG Generate DRBG-State Hash_DRBG internal state secrets, namely V and C. 994 - 256 DRBG - CSP Hash DRBG DRBG (A5176) Generate FW-Load-Pub ECDSA P-256 Public Key for firmware integrity and P-256 - 128 ECDSA - PSP Externally SigVer upgrade signature verification. Also used to verify bootloader integrity. KAS-ECC Peer ECC P-256 key used to establish the Session P-256 - 128 ECDSA - PSP Externally KAS Public Key (KAS- Encryption Key peer-pub) KAS-ECC Private ECC key used to establish the Session Encryption P-256 - 128 KAS - CSP KAS-KG KAS Key (KAS-pr) Key. KAS-ECC Public Key ECC P-256 key used to establish the Session P-256 - 128 ECDSA - PSP KAS-KG KAS (KAS-pub) Encryption Key. Key Encryption Key Key derived from the passphrase using PBKDF2. The 256 - NA Symmetric - CSP PBKDF CSP (KEK) Key Encryption Key is used to encrypt the Data Decryption Encryption Key. CSP Encryption Passphrase Operator authentication passphrase 8-64 Authentication - Externally PBKDF characters - CSP Varies This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Description Size - Type - Category Generated Established Used By Strength By By Session Encryption Symmetric key is established by KAS-ECC and used 256 - 128 Symmetric - CSP KAS DEC Key (SEK) for encryption of the USB session with the client ENC application Shared Secret (Z) The shared secret calculated per NIST SP800-56A- 256 - 128 Shared Secret - KAS KAS rev3. Used as input to the SP800-56C-rev1 KDA to CSP establish the Session Encryption Key. System Base Key Symmetric key used to encrypt system 256 - 256 Symmetric - CSP SymKG DEC (SBK) configuration data. ENC VCD-Load-Pub ECDSA P-256 Public Key for update of the Virtual P-256 - 128 ECDSA - PSP Externally SigVer CD-ROM contents (operator data stored in a restricted volume). Table 19: SSP Table 1 Name Input - Storage Storage Duration Zeroization Related SSPs Output Data Encryption Key Flash Until use Z2 Key Encryption Key (KEK):Encrypted (DEK) (Encrypted):Encrypted Z3 by DRBG-State:Generated from DRBG-EI RAM:Plaintext Persists only for the life of the Z1 DRBG-State:Derives DRBG instantiation process DRBG-State RAM:Plaintext Until use Z2 DRBG-EI:Derived From Z3 FW-Load-Pub I3 Flash Until use N/A (Plaintext):Plaintext KAS-ECC Peer Public Key I2 RAM:Plaintext Until use Z1 Shared Secret (Z):Derives (KAS-peer-pub) Z2 Z3 This document may be freely reproduced and distributed, but only in its entirety and without modification.
Name Input - Storage Storage Duration Zeroization Related SSPs Output KAS-ECC Private Key RAM:Plaintext Until Use Z1 KAS-ECC Public Key (KAS-pub):Paired (KAS-pr) Z2 With Z3 DRBG-State:Generated from Shared Secret (Z):Derives KAS-ECC Public Key (KAS- O1 RAM:Plaintext Until use Z1 KAS-ECC Private Key (KAS-pr):Paired pub) Z2 With Z3 DRBG-State:Generated from Key Encryption Key (KEK) RAM:Plaintext Until use Z1 Passphrase:Derived From Z2 Data Encryption Key (DEK):Encrypts Z3 Passphrase I1 RAM:Plaintext Until use Z1 Key Encryption Key (KEK):Derives Z2 Z3 Session Encryption Key RAM:Plaintext Until use Z1 Shared Secret (Z):Derived From (SEK) Z2 Z3 Shared Secret (Z) RAM:Plaintext Until Use Z1 Session Encryption Key (SEK):Derives Z2 KAS-ECC Peer Public Key (KAS-peerZ3 pub):Derived From KAS-ECC Private Key (KAS-pr):Derived From System Base Key (SBK) Flash Until use Z1 DRBG-State:Generated from (Plaintext):Plaintext Z2 Z3 VCD-Load-Pub I3 Flash Until use N/A (Plaintext):Encrypted Table 20: SSP Table 2 This document may be freely reproduced and distributed, but only in its entirety and without modification.
All self-tests must be completed successfully prior to any other use of cryptography by the module. If one of the self-tests fails, the module enters the error state and will output an error message to the attached screen prior to shutting down; otherwise, the module indicates successful completion by presenting the login screen. If an error is encountered during self-tests, operators must power-cycle the device to reinitiate the power-up selftests. The module automatically assumes the Approved mode of operation upon successful completion of the selftests. Algorithm or Test Properties Test Method Test Type Indicator Details Test Firmware ECDSA (Cert. ECDSA SW/FW Success: No Error ECDSA P-256 Digital Integrity of #A5176) P-256 Signature Integrity Code; Failure: Signature Bootloader Verification Error Code Verification Firmware ECDSA (Cert. ECDSA SW/FW Success: No Error ECDSA P-256 Digital Integrity of #A5176) P-256 Signature Integrity Code; Failure: Signature Firmware Verification Error Code Verification Table 21: Pre-Operational Self-Tests
The following conditional tests are performed upon power-up, on-demand and periodically. Algorithm or Test Test Method Test Indicator Details Conditions Test Properties Type AES-CTR 256-bit KAT CAST Success: No Encrypt KAT Power-up, Encrypt (AES Error Code; Periodically & 3791) Failure: on-demand Error Code AES-CTR 256-bit KAT CAST Success: No Decrypt KAT Power-up, Decrypt (AES Error Code; Periodically & 3971) Failure: on-demand Error Code AES-GCM 256-bit KAT CAST Success: No Encrypt KAT Power-up, Encrypt (AES Error Code; Periodically & 3971) Failure: on-demand Error Code AES-GCM 256-bit KAT CAST Success: No Decrypt KAT Power-up, Decrypt (AES Error Code; Periodically & 3971) Failure: on-demand Error Code This document may be freely reproduced and distributed, but only in its entirety and without modification.
Algorithm or Test Test Method Test Indicator Details Conditions Test Properties Type AES-XTS 256-bit KAT CAST Success: No Encrypt KAT Power-up, Encrypt (AES Error Code; Periodically & 5695) Failure: on-demand Error Code AES-XTS 256-bit KAT CAST Success: No Decrypt KAT Power-up, Decrypt (AES Error Code; Periodically & 5695) Failure: on-demand Error Code ECDSA SigVer P-256 KAT CAST Success: No ECDSA Signature Power-up, (FIPS186-5) Error Code; Verification KAT Periodically & (A5176) Failure: on-demand Error Code Entropy N/A APT, RCT Critical Success: No APT and RCT Continuous Source Function Error Code; Failure: Error Code Hash DRBG N/A KAT CAST Success: No Performs a fixed input Power-up, (A5176) Error Code; KAT and all SP 800- Periodically & Failure: 90A health test on-demand Error Code monitoring functions KAS-ECC-SSC P-256 KAT CAST Success: No KAS-ECC Shared Power-up, Sp800-56Ar3 Error Code; Secret Computation Periodically & (A5176) Failure: KAT per IG D.F on-demand Error Code KDA OneStep 256-bit KAT CAST Success: No KDA KAT Power-up, Sp800-56Cr1 Error Code; Periodically & (A5176) Failure: on-demand Error Code PBKDF Salt: 256- KAT CAST Success: No PBKDF KAT, which Power-up, (A5176) bits Error Code; also satisfies HMAC Periodically & Failure: SHA2-256 KAT on-demand Error Code SHA2-256 N/A KAT CAST Success: No SHA2-256 KAT Power-up, (SHS 3275) Error Code; Periodically & Failure: on-demand Error Code SHA2-256 N/A KAT CAST Success: No SHA2-256 KAT Power-up, (SHS 3299) Error Code; Periodically & Failure: on-demand Error Code SHA2-256 N/A KAT CAST Success: No SHA2-256 KAT Power-up, (SHS 4565) Error Code; Periodically & on-demand This document may be freely reproduced and distributed, but only in its entirety and without modification.
Algorithm or Test Test Method Test Indicator Details Conditions Test Properties Type Failure: Error Code SHA3-256 N/A KAT CAST Success: No SHA3-256 KAT Power-up, (A4438) Error Code; Periodically & Failure: on-demand Error Code AES-XTS Key1 N/A N/A Critical Success: No Occurs anytime the AES-XTS Key does not Function Error Code; module generates the Generation equal Key2 Failure: DEK. Per IG C.I this Error Code check explicitly that Key_1 and Key_2 are distinct. Firmware ECDSA P- Digital SW/FW Success: No Firmware load test During Load Test 256 Signature Load Error Code; occurs during Firmware Verification Failure: 'Firmware Update' Updates Error Code service. Public Key P-256 N/A Critical Success: No Occurs during KAS During key Validation Function Error Code; upon receipt of the agreement Failure: connected host Error Code application public key (KAS-ECC Peer Public Key). ECC CDH Pair P-256 PCT PCT Success: No Occurs during KAS During key Wise Error Code; upon the generation agreement Consistency Failure: of the KAS-ECC Test Error Code private and public keypair. Table 22: Conditional Self-Tests
The module will perform periodic self-tests at every power-on. Algorithm or Test Test Method Test Type Period Periodic Method Firmware Integrity ECDSA Signature SW/FW Integrity Every Power-On Automatic of Bootloader Verification invocation of selftest service Firmware Integrity ECDSA Signature SW/FW Integrity Every Power-On Automatic of Firmware Verification invocation of selftest service Table 23: Pre-Operational Periodic Information This document may be freely reproduced and distributed, but only in its entirety and without modification.
Algorithm or Test Test Method Test Type Period Periodic Method AES-CTR Encrypt KAT CAST 24 hours Automatic (AES 3791) invocation of selftest service AES-CTR Decrypt KAT CAST 24 hours Automatic (AES 3971) invocation of selftest service AES-GCM Encrypt KAT CAST 24 hours Automatic (AES 3971) invocation of selftest service AES-GCM Decrypt KAT CAST 24 hours Automatic (AES 3971) invocation of selftest service AES-XTS Encrypt KAT CAST 24 hours Automatic (AES 5695) invocation of selftest service AES-XTS Decrypt KAT CAST 24 hours Automatic (AES 5695) invocation of selftest service ECDSA SigVer KAT CAST 24 hours Automatic (FIPS186-5) (A5176) invocation of selftest service Entropy Source APT, RCT Critical Function Continuous N/A Hash DRBG (A5176) KAT CAST 24 hours Automatic invocation of selftest service KAS-ECC-SSC Sp800- KAT CAST 24 hours Automatic 56Ar3 (A5176) invocation of selftest service KDA OneStep KAT CAST 24 hours Automatic Sp800-56Cr1 invocation of self(A5176) test service PBKDF (A5176) KAT CAST 24 hours Automatic invocation of selftest service SHA2-256 (SHS KAT CAST 24 hours Automatic 3275) invocation of selftest service SHA2-256 (SHS KAT CAST 24 hours Automatic 3299) invocation of selftest service This document may be freely reproduced and distributed, but only in its entirety and without modification.
Algorithm or Test Test Method Test Type Period Periodic Method SHA2-256 (SHS KAT CAST 24 hours Automatic 4565) invocation of selftest service SHA3-256 (A4438) KAT CAST 24 hours Automatic invocation of selftest service AES-XTS Key1 does N/A Critical Function N/A N/A not equal Key2 Firmware Load Test Digital Signature SW/FW Load N/A N/A Verification Public Key N/A Critical Function N/A N/A Validation ECC CDH Pair Wise PCT PCT N/A N/A Consistency Test Table 24: Conditional Periodic Information This document may be freely reproduced and distributed, but only in its entirety and without modification.
The module incorporates a single error state (refer to Table 25). Name Description Conditions Recovery Indicator Method Error The module supports a single error state that is entered Failure of Power Error State upon identification of a fatal error. Once the error state is any self-test cycle message on entered, an error message is logged and displayed on the OLED screen and the module will shutdown. No cryptographic display operations are available within the Error state. The last error is displayed to the authorized operator upon each power-on until cleared. Table 25: Error States
Self-tests may be invoked on demand by power cycling the module or invoking a soft reset through the services.
There are no specific maintenance requirements.
The module does not include a default passphrase. Upon first use, the module enforces the Crypto Officer (CO) Admin to configure their own during initialization. If the optional secondary Crypto Officer (CO) Standard role is created, the Crypto Officer (CO) Standard must also configure a passphrase. There are no other instructions for initializing the module for use in the Approved mode of operation.
Before the first use a Cryptographic Officer (Admin) password (8
There are no non-administrator roles.
The following security rules, except for the very last one, are enforced by the cryptographic module to ensure the FIPS 140-3 security requirements are met. This document may be freely reproduced and distributed, but only in its entirety and without modification.
Zeroise the module and dispose of it at a proper e-waste facility.
The module is not purposefully designed to mitigate any attacks beyond the scope of FIPS 140-3 requirements. This document may be freely reproduced and distributed, but only in its entirety and without modification.