All modules
CMVP Validated Module · FIPS 140-3 Security Policy

IronKey D500S Series USB Flash Drive

Certificate#5029StandardFIPS 140-3Level3TypeHardwareEmbodimentMulti-Chip Stand AloneStatusActiveVendorKingston Technology Company, Inc.
Medium review priority  ·  no TCB surface named  ·  last validated 13 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level3
Module typeHardware
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date6/23/2030
CaveatNone
VendorKingston Technology Company, Inc.

Approved Algorithms (13)

AlgorithmACVP Cert
AES-CBCA3268
AES-ECBA3268
AES-KWA3268
AES-XTS Testing Revision 2.0A3268
ECDSA KeyGen (FIPS186-5)A3268
ECDSA KeyVer (FIPS186-4)A3268
HMAC DRBGA3268
HMAC-SHA2-256A3268
KAS-ECC-SSC Sp800-56Ar3A3268
KDA TwoStep SP800-56Cr2A3268
PBKDFA3268
RSA SigVer (FIPS186-4)A3268
SHA2-256A3268

Derived Review-Risk Graph (review prompts, not findings)

flowchart LR
  %% Deterministic review-risk graph for IronKey D500S Series USB Flash Drive
  %% 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>Recovery</i>"]
    C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Status Output<br/>Self-test</i>"]
    C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>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;
Underlying clues
flowchart LR
  %% Deterministic clue tier for IronKey D500S Series USB Flash Drive
  %% 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>Recovery</i><br/>src: text:keyword"]
    C3["[low] Self-test / status surface (referenced in text)<br/><i>Status Output<br/>Self-test</i><br/>src: text:keyword"]
    C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>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;

Security Policy, page by page

Page 1

Kingston Technology Company, Inc. IronKey D500S Series USB Flash Drive Document Version 1.0 This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 2
Table of Contents
#SectionPage
Page 3

This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 4

This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 5

TABLE OF TABLES This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 6
ISO/IEC 24759FIPS 140-3 Section TitleSecurity Level
1General3
2Cryptographic Module Specification3
3Cryptographic Module Interfaces3
4Roles, Services, and Authentication3
5Software/Firmware Security3
6Operational EnvironmentN/A
7Physical Security3
8Non-Invasive SecurityN/A
9Sensitive Security Parameter Management3
10Self-Tests3
11Life-Cycle Assurance3
12Mitigation of Other AttacksN/A
Overall Level:3
1.1 O VERVIEW

The Kingston Technology Company, Inc. (Kingston) IronKey D500S Series USB Flash Drive is a hardware cryptographic module designed to meet the overall requirements of FIPS 140-3 Security

1.2 S ECURITY L EVELS
2.1 D ESCRIPTION

The Kingston IronKey D500S Series USB Flash Drive (refer to Figure 1) is a hardware cryptographic module designed for organizations that require a secure way to store and transfer portable data. The stored data is secured by hardware‐based 256‐bit AES on‐the‐fly encryption to guard sensitive information in case the drive is lost or stolen. Its strong, durable, metal casing provides robust physical protection. Its strong password rules and lock‐down control protect against brute force attacks. Such advanced security features make the IronKey D500S Series USB Flash Drive ideal for corporations and service organizations that require employees to transport large digital files consisting of confidential documents. This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 7
2.1.1 TOEPP AND C RYPTOGRAPHIC B OUNDARY

The module is a multi-chip standalone cryptographic module whose outer enclosure defines the cryptographic boundary and Tested Operational Environment’s Physical Perimeter (TOEPP) (refer to Figure 1). Figure 1 – Cryptographic Boundary

2.2 T ESTED AND V ENDOR A FFIRMED M ODULE V ERSION AND I DENTIFICATION

The IronKey D500S Series USB Flash Drive is a FIPS 140-3 Security Level 3 (refer to Table 1) multi‐ chip standalone cryptographic module (module) available in the following configurations: − IKD500S/xGB − IKD500SM/xGB x = 8, 16, 32, 64, 128, 256 and 512 (denotes module’s memory capacity)

2.2.1 T ESTED O PERATING E NVIRONMENTS

The module’s operating environment is defined as the non-modifiable, Kingston PS2251-15 USB AES Micro-Controller. The FIPS 140-3 Security Level 3 validated versioning information is shown in Table 2. The hardware versions differ by memory capacity e.g., 16GB, 32GB, etc. The Kingston IronKey D500S Series USB Flash Drive is marketed as IronKey D500S or IronKey D500SM. There is no physical or logical difference between these two branded products. This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 8
Model/Part Number(s)Hardware Version(s)Firmware Version(s)Processor(s)Non-Security Relevant Distinguishing Features
IronKey D500S Series USB Flash DriveIronKey D500S Series USB FlashIronKey D500S/8GB3.06Kingston PS2251-15 USB AES Micro- Controller8GB of user data storage
DriveIronKey D500S/16GB16GB of user data storage
IronKey D500S/32GB32GB of user data storage
IronKey D500S/64GB64GB of user data storage
IronKey D500S/128GB128GB of user data storage
IronKey D500S/256GB256GB of user data storage
IronKey D500S/512GB512GB of user data storage
IronKey D500SM/8GB8GB of user data storage
IronKey D500SM/16GB16GB of user data storage
IronKey D500SM/32GB32GB of user data storage
IronKey D500SM/64GB64GB of user data storage
IronKey D500SM/128GB128GB of user data storage
IronKey D500SM/256GB256GB of user data storage
IronKey D500SM/512GB512GB of user data storage

Table 2 – Tested Module Identification - Hardware

2.3 E XCLUDED C OMPONENTS

The module does not exclude any components from the requirements of FIPS 140-3.

2.4 M ODES OF O PERATION

The module supports a single approved mode of operation that is entered by powering-on the module. There are no non-approved modes, degraded modes or non-approved services available to the module. The module’s firmware provides an indicator (i.e., “FIPS ACTIVE”) showing the approved configuration which can be queried. This global indicator will be used along with the successful return codes of each service to indicate the module has provided an approved security service. If the module reports “FIPS DEFAULT”, the module is awaiting a new password (CO Password) to be set. The module is always running in an approved mode when module reports either “FIPS DEFAULT” or “FIPS ACTIVE”. The approved mode cannot be exited. The module does not support a non-approved or degraded mode of operation. In case of critical error, the module will remain in an error state, until reset. While in its error state, the LED will blink rapidly until it is reset. This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 9
CAVP Cert(s)AlgorithmStandardsModes/ MethodsDescription / Key Sizes, Curves, or Moduli / Key StrengthsUse/Function
A3268AES-CBCFIPS 197 NIST SP 800-38ACBCKey Length: 256-bit Strength: 256 bitsKey Length: 256-bitPrerequisite for KW
Strength: 256 bitsData Encryption/Decryption
A3268AES-ECBFIPS 197 NIST SP 800-38AECBKey Length: 256-bit Strength: 256 bitsPrerequisite for KW Data Encryption/Decryption
A3268AES-KWFIPS 197KWKey Length: 256-bitDEK_CO and DEK_U
NIST SP 800-38FStrength: 256 bitsEncryption/Decryption
A3268AES-XTS1FIPS 197 NIST SP 800-38EXTSKey Length: 256-bit Strength: 256 bitsMass-Storage Data Encryption/Decryption
A3268ECDSAFIPS 186-5Key GenerationCurve: P-256Key Generation of KAS
KeyGenStrength: 128 bitskeys
A3268ECDSA KeyVerFIPS 186-4Key VerificationCurve: P-256 Strength: 128 bitsKey Verification of KAS keys
A3268HMAC-SHA2-FIPS 198-1SHA2-256Key Length: 256-bitPrerequisite for KDA Message Authentication
256Strength: 256 bits
A3268HMAC DRBGNIST SP 800-90AHMAC-SHA2-256Security strength: 256 bitsDeterministic Random Bit Generation
A3268KAS-ECC-SSCNIST SP 800-56Ar3ECC CDHCurve: P-256Key Agreement Shared Secret calculation
C(2e, 0s)Strength: 128 bits
A3268KDANIST SP 800-56Cr2Two-Step KDF (HMAC-SHA2-256)Derived Key Length: 256 bits Shared Secret Length: 256 bitsKey derivation as part of KAS
A3268PBKDF2NIST SP 800-132 (option 2A)HMAC-SHA2-256Password length: 8 to 136 bytes (refer to Section 4.1) Salt Length: 256-bitDeriving KEK_CO, KEK_U, KEK_R
A3268RSA SigVer (PKCS1 v1.5)FIPS 186-4Digital Signature VerificationModulo: 2048 Strength: 128 bitsDigital Signature Verification
2.5 A LGORITHMS
2.5.1 A PPROVED A LGORITHMS

The module supports the following approved cryptographic algorithms. Table 3 – Approved Algorithms

1 AES XTS was designed for the cryptographic protection of data on storage devices per NIST SP 800-38E. It

was not designed for other purposes, such as the encryption of data in transit.

2 The module implements PBKDF in conformance with NIST SP 800132 and FIPS IG D.N. Specifically, the

module implements Option 2a from Section 5.4 to generate the Key Encryption Key (KEK) responsible for protecting the Data Encryption Key using AES KW (Cert. #3268). The module implements an iteration counter equal to 1024 bits which is greater than the minimum recommendation documented within NIST SP 800-132 - Section 5.2. This is also justified by the maximum limit enforced on password retry attempts (Max = 10). This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 10
CAVP Cert(s)AlgorithmStandardsModes/ MethodsDescription / Key Sizes, Curves, or Moduli / Key StrengthsUse/Function
A3268SHA2-256FIPS 180-4SHA2-256Strength: 128 bitsPrerequisite for HMAC Message Digest
Algorithm NameAlgorithm PropertiesImplementationReference
CKGKey Type: SymmetricCrypto Library FW v2.00NIST SP 800-133r2 Sections 4 5.1 and 6.1
Algorithm NameAlgorithm PropertiesImplementationReference
N/AN/AN/AN/A
AlgorithmCaveatUse/Function
N/AN/AN/A
AlgorithmUse/Function
N/AN/A
2.5.2 V ENDOR A FFIRMED A LGORITHMS

The module supports the following vendor affirmed algorithms. Table 4 - Vendor Affirmed Algorithms

2.5.3 N ON -A PPROVED , A LLOWED A LGORITHMS

The module does not support non-approved algorithms. Table 5 – Non-Approved, Allowed Algorithms N/A N/A N/A N/A

2.5.4 N ON -A PPROVED , A LLOWED A LGORITHMS WITH N O S ECURITY C LAIMED

The module does not support non-approved algorithms. Table 6 – Non-Approved, Allowed Algorithms with No Security Claimed N/A N/A N/A

2.5.5 N ON -A PPROVED , N OT A LLOWED A LGORITHMS

The module does not support non-approved algorithms. Table 7 – Non-Approved, Not Allowed Algorithms N/A N/A This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 11
NameTypeDescriptionSF PropertiesAlgorithms / CAVP Cert
KASKAS-FullNIST SP 800-56Arev3 per IG D.F Scenario 2 path (2)NIST SP 800-56Arev3Standards: NIST SPKAS-ECC-SSC: (A3268)
per IG D.F Scenario 2800-56Arev3, NISTKDA: (A3268)
path (2)SP 800-56Crev2,
FIPS 186-4ECDSA KeyVer: (A3268)
KTSKTS-UnwrapKey unwrapping perStandards: FIPS 197, FIPS 198-1, NIST SP 800-38AStandards: FIPS 197,AES-CBC: (A3268)
NIST SP 800-38F PerFIPS 198-1, NIST SP
IG D.G. Used for the entry of the operator’s password.800-38AHMAC-SHA2-256: (A3268)
Entropy SourcesMinimum Number of Bits of EntropyDetails
Kingston Technology Company, Inc. Crypto Library FW v2.00 ESV Validation #E55The ESV source outputs 1024 bits with a minimum of 256 bits of entropyThe ESV source outputsBased on the heuristic
1024 bits with alower bound entropy
minimum of 256 bits ofestimate, the entropy
entropysource has a rate of 1-bit per nibble or 25%. This means the entropy input required for the DRBG is 1024*0.25 = 256 bits.
2.6 S ECURITY F UNCTION I MPLEMENTATIONS (SFI)

Table 8 - Security Function Implementations (SFI)

2.7 A LGORITHM S PECIFIC I NFORMATION

The module utilizes only approved algorithms (refer to Table 3) that are tested and validated under the Cryptographic Module Validation Program (CAVP).

2.8 RBG AND E NTROPY

The module includes an internal entropy source for the generation of the DRBG seed. Please refer to Table 9 - Non-Deterministic Random Number Generation Specification

2.9 K EY G ENERATION

The module generates cryptographic keys using a NIST SP 800-90A conforming DRBG (Cert. #A3268) for the encryption and protection of user data.

2.10 K EY E STABLISHMENT

The module supports a NIST SP 800-56Ar3 conforming key agreement scheme for the establishment of AES 256 and HMAC-SHA2-256 keys to secure communication to / from the This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 12
2.11 I NDUSTRY P ROTOCOLS

The module relies upon the standard USB protocol for communication with general purpose computer (GPC) systems. This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 13
Physical PortLogical InterfaceData that Passes over Port/Interface
USB Port (Rx / Tx)Data InputThe USB 3.0 port connects the module to the host computer. It is used to receive user data as well as API calls issued by the host via the USB protocol. The input is received by the module on the Rx line.
Data OutputThe USB 3.0 port connects the module to the host computer. It is used to send user data as well as return codes upon completion of API calls issued by the host via the USB protocol. The input is received by the module on the Tx line.
Control InputThe USB 3.0 port connects the module to the host computer. It is used to receive commands as well as API calls issued by the host via the USB protocol. The input is received by the module on the Rx line.
Status OutputError codes and other statuses are transmitted from the module to the host computer.
LEDStatus OutputError codes and other statuses are transmitted by the LED: − Active data transfer with host computer: LED blinks at 3Hz − Error state: LED blinks rapidly at 16Hz − Pre-operational Self-test status output: LED blinks at 3Hz if all self- tests completed, LED blinks at 16Hz if failed − Continuous Self-test status output: LED blinks at 16Hz if failed − Periodic Self-test status output: LED blinks at 16Hz if failed
USB Port (VCC)PowerThe USB VBUS (+5VDC) powers the module.
3.1 P ORTS AND I NTERFACES

The module incorporates both physical and logical interfaces as described within Table 10. Table 10 - Ports and Interfaces

3.2 T RUSTED C HANNEL

The module does not support a Trusted Channel. 4. ROLES, SERVICES, AND AUTHENTICATION

4.1 A UTHENTICATION M ETHODS

The module supports identity-based authentication in the form of a User ID and Password (Memorized Secret) in conformance with NIST SP 800-140E and SP 800-63B (refer to Section 5.1.1).

4.1.1 P ASSWORDS

Per NIST SP 800-63B – Section 5.1.1, passwords must be a minimum of 8 bytes (enforced by the module). The password must contain three of the following four-character types: lowercase letters, uppercase letters, numeric characters and/or special characters. This greatly increases the passwords entropy. Assuming a mix of lowercase letters, uppercase letters, numeric characters, the This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 14
NameDescriptionMechanismStrength Each AttemptStrength Per Minute
ID/PasswordCO and User roleID & Password combination used within a challenge/resp onse mechanismID & PasswordThe upper bound for the probability of having the password guessed at random is: 1 / (10 * 26 * 26 * 955) ~= 1/245 < 1/1,000,000The upper bound for theThe probability of the consecutive failed authentication attempts in one minute period is approximately 10/ 245 < 1/100,000The probability of the
authenticationcombinationprobability of having theconsecutive failed
method.used within apassword guessed atauthentication attempts in one
The password is atchallenge/resprandom is:minute period is
onseapproximately 10/ 245 <
least 8 bytes in1 / (10 * 26 * 26 * 955)
mechanism1/100,000
length and includes the numbers, the uppercase letters, the lowercase letters, and the special characters.~= 1/245 < 1/1,000,000
RoleServiceInputOutput
Crypto Officer (CO)Change CO PasswordCurrent CO Password and new CO PasswordCurrent CO Password andStatus Out (success, session
new CO Passwordinvalid, wrong password) LED blinks at 16Hz if fatal error
Close Partition (Logout)N/AStatus Out (success, session invalid, partition has been closed) LED blinks at 16Hz if fatal error
DecryptDisk accessingRead partition data
EncryptDisk accessingWrite partition data
InitializeCO PasswordStatus Out (success,
and the drive’s partitionconfiguration invalid) LED
configurationblinks at 16Hz if fatal error
Open Partition (Login)CO ID & Password, and the selected partitionStatus Out (success, session invalid, partition has been opened, wrong password) LED blinks at 16Hz if fatal error, the partition is opened if success
Setup User PasswordCurrent CO Password and new User PasswordStatus Out (success, session invalid, wrong password) LED blinks at 16Hz if fatal error

(10 * 26 * 26 * 955) ~= 1/245, which is less than 1/1,000,000. The module only allows for ten (10) Table 11 – Authentication Methods

4.2 R OLES

Table 12 lists the roles supported by the module with the respective services supported by that Table 12 – Roles, Service Commands, Input and Output This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 15
RoleServiceInputOutput
Setup Recovery PasswordCurrent CO Password and new Recovery PasswordStatus Out (success, session invalid, wrong password) LED blinks at 16Hz if fatal error
UserChange User PasswordCurrent User Password and new User PasswordStatus Out (success, session invalid, wrong password) LED blinks at 16Hz if fatal error
Close Partition (Logout)N/AStatus Out (success, session invalid, partition has been closed) LED blinks at 16Hz if fatal error
DecryptDisk accessingRead partition data
EncryptDisk accessingWrite partition data
Open Partition (Login)User ID & Password, and the selected partitionStatus Out (success, session invalid, partition has been opened, wrong password) LED blinks at 16Hz if fatal error, the partition is opened if success
Setup User Password (Using Recovery Password)Recovery Password and new User PasswordStatus Out (success, session invalid, wrong password, recovery password not created) LED blinks at 16Hz if fatal error
UnauthenticatedCD UpdateAPI call with CD Image, SignatureStatus Out (success, session invalid, signature verification failed)
Perform Self-TestsPower-on the moduleLED blinks at 3Hz if all tests complete LED blinks at 16Hz if failed
Reset DriveN/AStatus Out (success, session invalid) Internally zeroize all CSPs except the session keys and generate DEK_CO and configure to the single partition. LED blinks at 16Hz if fatal error
Show Module VersionN/AReturns module ID and version information, in addition to the approved mode indicator to API call.
Show Error StatusN/AReturns the error log to API call
Show StatusN/AReply the service status, the disk status, or the session establishment status to API call
ZeroizationN/AStatus Out (success) Internally zeroize all CSPs. LED blinks at 16Hz if fatal error

The operator must perform that following initialization procedures to access the module for the first time.

  1. Connect the IronKey D500S Series USB Flash Drive to a GPC. The module will enumerate onto the GPC and register its CD ROM partition. Locate and run the application located on the CDROM partition.
  2. Follow the instructions presented by the application to ‘Initialize’ the module. Initialize the CO authentication by establishing a password and continue to login to the device. Per NIST SP 800-63B – Section 5.1.1 the password must be at least 8 characters. This document may be freely reproduced and distributed, but only in its entirety and without modification.
Page 16
RoleAuthentication MethodAuthentication Strength
Strength Each AttemptStrength Per Minute
Crypto Officer (CO)ID & PasswordThe upper bound for the probability of having the password guessed at random is: 1 / (10 * 26 * 26 * 955) ~= 1/245 < 1/1,000,000The upper bound for theThe probability of the consecutive failed authentication attempts in one minute period is approximately 10/ 245 < 1/100,000The probability of the
combination usedprobability of having theconsecutive failed authentication
within apassword guessed at random is:attempts in one minute period is
challenge/response1 / (10 * 26 * 26 * 955) ~= 1/245approximately 10/ 245 <
mechanism. The password must be at least 8 characters long and must contain at least one integer, one lower- case letter, and one upper-case letter.< 1/1,000,0001/100,000
UserID & Password combination used within a challenge/response mechanism. The password must be at least 8 characters long and must contain at least one integer, one lower- case letter, and one upper-case letter.The upper bound for the probability of having the password guessed at random is: 1 / (10 * 26 * 26 * 955) ~= 1/245 < 1/1,000,000The probability of the consecutive failed authentication attempts in one minute period is approximately 10/ 245 < 1/100,000

Table 13 – Roles and Authentication This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 17
ServiceDescriptionApproved Security FunctionsKeys & SSPsRolesAccess Rights to Keys and / or SSPsIndicator
(All CO/UserSecureKAS-ECC-SSC & KDAAES Session Key,CO and UserShared Secret (Z): G, E, ZReturn status via the API:
Services)CommunicationMAC Session KeyAES Session Key: G, E0x0000: success
SessionMAC Session Key: G, E Device ECDH Private Key: G, Z Device ECDH Public Key: G, R, Z Host ECDH Public Key: W, Z DRBG Internal State: G, E0x4002: session invalid
CD UpdateLoad/Update CDRSA (PKCS1 v1.5)CD Update PublicUnauthenticatedCD Update Public Key: EReturn status via the API:
Image to the CD-ROMSignatureKey0x0000: success
partitionVerification0x4002: session invalid 0x4006: signature verification failed
Change COCreate new CODRBG, PBKDF, SHA2-KEK_CO,COKEK_CO: G, E, ZReturn status via the API:
Passwordpassword256CO Password,CO Password: E, Z0x0000: success
CO Password HashCO Password Hash: Z, G0x8102: configuration
DRBG Internal StateDRBG Internal State: G, Einvalid
4.3 A PPROVED S ERVICES

SSP access rights are defined as follows:

Page 18
ServiceDescriptionApproved Security FunctionsKeys & SSPsRolesAccess Rights to Keys and / or SSPsIndicator
Change UserCreate new UserDRBG, PBKDF, SHA2-KEK_UUserKEK_U: G, E, ZReturn status via the API:
PasswordPassword256User Password,User Password: E, Z0x0000: success
User Password Hash,User Password Hash: Z, G0x8102: configuration
DRBG Internal StateDRBG Internal State: G, Einvalid
Close Partition (Logout)Logout. Locks driveN/ADEK_CO or DEK_UCODEK_CO: ZReturn status via the API:
AES Session Key: Z0x0000: success
MAC Session Key: Z0x1602: session invalid
UserDEK_U: Z AES Session Key: Z MAC Session Key: Z0x1604: partition has been closed
DecryptRead partition dataAES-XTSDEK_CO or DEK_UCODEK_CO: EReturn status via the API:
UserDEK_U: E0x0000: success
EncryptWrite partition dataAES-XTSDEK_CO or DEK_UCODEK_CO: EReturn status via the API:
UserDEK_U: E0x0000: success
InitializeCreate CO passwordDRBG, PBKDF, SHA2-DEK_CO,CODEK_CO: Z, GReturn status via the API:
and generate DEK256, AES-KWKEK_CO,KEK_CO: G, E, Z0x0000: success
CO Password,CO Password: W, E, Z0x8102: configuration
CO Password Hash,CO Password Hash: Ginvalid
Entropy Input,Entropy Input: G, E
DRBG Nonce,DRBG Nonce: G, E
DRBG Internal StateDRBG Internal State: G, E
Open PartitionAuthenticates eitherPBKDF, SHA2-256,CO PasswordCOCO Password: W, E, ZReturn status via the API:
(Login)the CO or User to theAES-KWKEK_CO & DEK_COKEK_CO: G, E, Z0x0000: success
moduleDEK_CO: E
or0x1402: session invalid
User Password,UserUser Password: W, E, Z0x1404: partition has been
KEK_U & DEK_UKEK_U: G, E, Zopened
DEK_U: E0x1406: wrong password
Perform Self-Perform Pre-N/AN/AUnauthenticatedDRBG Internal State: G, ELED Flashing
TestsOperational and Conditional Self-Tests

This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 19
ServiceDescriptionApproved Security FunctionsKeys & SSPsRolesAccess Rights to Keys and / or SSPsIndicator
Reset DriveErase all files storedN/ADEK_CO, DEK_U,UnauthenticatedDEK_CO: ZReturn status via the API:
on the module andCO Password Hash,DEK_U: Z0x0000: success
zeroizes all CSPsUser Password Hash,CO Password Hash: Z0x8101: session invalid
Recovery PasswordUser Password Hash: Z
Hash, DRBG InternalRecovery Password Hash: Z
StateDRBG Internal State: Z
Setup UserCreate new UserDRBG, PBKDF, SHA2-DEK_U, KEK_U,CODEK_U: G, ZReturn status via the API:
Passwordpassword256User Password, UserKEK_U: G, E, Z0x0000: success
Password Hash,User Password: W, E, Z0x8102: configuration
DRBG Internal StateUser Password Hash: G DRBG Internal State: G, Einvalid
Setup UserCreate new UserDRBG, PBKDF, SHA2-KEK_R, KEK_UUserKEK_U: G, E, ZReturn status via the API:
PasswordPassword256Recovery Password,KEK_R: G, E, Z0x0000: success
(Using RecoveryRecovery PasswordRecovery Password: E, Z0x8102: configuration
Password)Hash,Recovery Password Hash: Zinvalid
User Password,User Password: W, E, Z
User Password Hash,User Password Hash: G
DRBG Internal StateDRBG Internal State: G, E
Setup RecoveryCreate RecoveryDRBG, PBKDF, SHA2-KEK_R,COKEK_R: G, E, ZReturn status via the API:
Passwordpassword256Recovery Password,Recovery Password: W, E, Z0x0000: success
Recovery PasswordRecovery Password Hash: G0x8102: configuration
Hash, DRBG Internal StateDRBG Internal State: G, Einvalid
Show ModuleGet module ID andN/AN/AUnauthenticatedN/AReturn status via the API:
Versionversion0x0000: success
Show ErrorReturns the mostN/AN/AUnauthenticatedN/AReturn status via the API:
Statusrecent error details0x0000: success
Show StatusGet the module’s statusN/AN/AUnauthenticatedN/AReturn status via the API: 0x0000: success

This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 20
ServiceDescriptionApproved Security FunctionsKeys & SSPsRolesAccess Rights to Keys and / or SSPsIndicator
ZeroizationZeroize all keys andN/AN/AUnauthenticatedDEK_CO: ZReturn status via the API:
CSPsDEK_U: Z CO Password Hash: Z User Password Hash: Z Recovery Password Hash: Z DRBG Internal State: Z AES Session Key: Z MAC Session Key: Z0x0000: success

This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 21
4.4 N ON -A PPROVED S ERVICES

The module does not support any non-approved services.

4.5 E XTERNAL S OFTWARE /F IRMWARE L OADED

The module’s firmware is non-modifiable. It does not have the ability to support the external software / firmware loading.

4.6 I DENTIFICATION AND A UTHENTICATION

The module supports the following authenticated roles: • Crypto Officer (CO) • User It enforces the separation of roles using identity-based authentication. The operator must perform that following initialization procedures to access the module for the first time.

  1. Connect the IronKey D500S Series USB Flash Drive to a GPC. The module will enumerate onto the GPC and register its CD ROM partition. Locate and run the application located on the CD-ROM partition.
  2. Follow the instructions presented by the application to ‘Initialize’ the module. Initialize the CO authentication by establishing a password and continue to login to the device. Per NIST SP 800-63B – Section 5.1.1 the password must be at least 8 characters. Table 13 lists all operator roles supported by module. The module also supports an Unauthenticated role. This document may be freely reproduced and distributed, but only in its entirety and without modification.
Page 22
5.1 I NTEGRITY T ECHNIQUES

The module incorporates an RSA 2048 PKCS1 v1.5 (Cert. #A3268) digital signature mechanism over its firmware. The digital signature provides integrity as well as authentication. All commands sent to and from the cryptographic module are protected with HMAC-SHA2-256.

5.2 I NITIATE ON D EMAND

The module loads the firmware image from non-volatile memory to on-chip RAM when powering on the module where it then performs the firmware integrity test using the module’s RSA-2048 ‘Firmware Integrity Public Key’. If the test fails, the module enters an error state, the data output interface is inhibited, and the module’s LED (status output) blinks at 16Hz. The firmware integrity test is a part of Pre-Operational Self-Tests. It is automatically executed at power-on or during the Periodic Self-Tests. It can also be invoked by power-cycling the module. 6. OPERATIONAL ENVIRONMENT

6.1 O PERATIONAL E NVIRONMENT T YPE AND REQUIREMENTS

The operational environment is classified as non-modifiable. 7. PHYSICAL SECURITY The module is a multiple-chip standalone module and conforms to FIPS 140-3 Security Level 3 physical security requirements. The module is housed within a strong, non-removable, tamperevident enclosure. The enclosure is opaque within the visible spectrum. In addition, all components are protected with a hard epoxy coating that protects each component from being viewed or probed. Attempts at removing the epoxy will render the module inoperable.

7.1 M ECHANISMS AND A CTIONS R EQUIRED
7.1.1 P HYSICAL S ECURITY I NSPECTION G UIDELINES

The operator of the module should inspect the outer casing of the module each time prior to connecting the module to a computer. If tamper evidence is observed on the outer casing, the module should not be used. This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 23
Physical Security MechanismRecommended Frequency of Inspection / TestInspection/Test Guidance Details
Tamper EvidenceEach time the module is usedUpon each use of the module the operator should examine the module for evidence of tamper.
Low TemperatureHigh Temperature
Normal Operation0°C60°C
Storage-20°C85°C
Distribution-20°C85°C
EnvironmentTemperature / Voltage MeasurementEFP / EFTShutdown, Zeroization, Undefined Failure, Known Error Sate or Continues to Operate Normally3
Low Temperature-100CEFTContinues to Operate Normally
High Temperature+122CEFTUndefined Failure
Low Voltage3.2VEFTShutdown
High Voltage10.1VEFTUndefined Failure
Hardness Tested Temperature Measurement
Low Temperature-20°C
High Temperature85°C

Table 15 - Physical Security Inspection Guidelines The module supports the operation, storage and distribution temperatures listed in Table 16. Table 16

7.3 H ARDNESS T ESTING

The module supports and has been tested at the operation, storage and distribution temperatures listed in Table 16. The module’s epoxy and outer enclosure hardness are assured within these ranges. Table 18 – Hardness Testing Temperature Ranges This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 24
  1. NON-INVASIVE SECURITY The module does not provide protections against non-invasive security methods.
  2. SENSITIVE SECURITY PARAMETERS (SSP) MANAGEMENT The module incorporates both Critical Security Parameters (CSPs) and Public Security Parameters (PSPs).
9.1 S TORAGE A REAS

The module is designed to encrypt and store arbitrary data with XTS-AES within eMMC memory components. The module physically and logically protects static keys and CSPs. Please refer to Table 19 for additional information.

9.2 SSP I NPUT /O UTPUT M ETHODS

The module inputs CSPs encrypted with AES CBC and authenticated with HMAC-SHA2-256. The module does not output CSPs. PSPs are output in order to authenticate the module to the connected GPC. Please refer to Table 19 for additional information.

9.3 SSP Z EROIZATION M ETHODS

During normal operation, the module explicitly erases copies of CSPs in volatile memory (e.g., RAM) by overwriting with zeros after their use. For CSPs stored in non-volatile memory the module initiates its erase operation to zeroize. The following methods are used to zeroize the module’s CSPs during normal operation. − ‘Zeroization’ and ‘Reset Drive’ service: This service overwrites all CSPs with zeroes and returns the module to its factory default state. − After ten failed CO authentication attempts the respective CO and User DEKs are erased. − After ten failed User authentication attempts the respective User DEK is erased. This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 25
Key/CSP NameStrengthSecurity Function & Cert. NumberGenerationImport / ExportEstablishmentStorageZeroizationUse & related SSPs
DEK_CO (Data Encryption Key - CO)256 bitsAES-XTS (Cert. #A3268)AES-XTSGenerated (via SP 800- 90A DRBG)Entry: N/A Output: N/AEntry: N/AN/AeMMC - Encrypted with KEK_COZeroization ofData Encryption / Decryption
(Cert. #A3268)Output: N/Athe KEK_CO during ‘Close Partition’ service or disconnecting the drive. ‘Zeroization’ or ‘Reset Drive’ services.
DEK_U (Data Encryption Key - User)256 bitsAES-XTS (Cert. #A3268)Generated (via SP 800- 90A DRBG)Entry: N/A Output: N/AN/AeMMC - Encrypted with KEK_UZeroization of the KEK_U during ‘Close Partition’ service or disconnecting the drive. ‘Zeroization’ or ‘Reset Drive’ services.Data Encryption / Decryption
KEK_CO (Key Encryption Key - CO)256 bitsAES-KW (Cert. #A3268)N/AEntry: N/A Output: N/ADerived from Crypto Officer PasswordRAM (Plaintext)Overwritten with zeros immediately after useEncrypt / Decrypt DEK_CO
KEK_U (Key Encryption Key - User)256 bitsAES-KW (Cert. #A3268)N/AEntry: N/A Output: N/ADerived from User PasswordRAM (Plaintext)Overwritten with zeros immediately after useEncrypt / Decrypt DEK_U
KEK_R (Recovery KEK)256 bitsAES-KW (Cert. #A3268)N/AEntry: N/A Output: N/ADerived from Recovery PasswordRAM (Plaintext)Overwritten with zeros immediately after useEncrypt / Decrypt DEK_U
9.4 S ENSITIVE S ECURITY P ARAMETERS (SSP S )

The module incorporates SSPs as defined with Table 19. Table 19 – SSPs This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 26
Key/CSP NameStrengthSecurity Function & Cert. NumberGenerationImport / ExportEstablishmentStorageZeroizationUse & related SSPs
Crypto Officer Password8 ~ 136 bytes (refer to Section 4.1)PBKDF (Cert. #A3268)Created by Crypto OfficerEntry: AES Encrypted entry via host application Output: N/AN/ARAM (Plaintext)Overwritten with zeros immediately after useUsed to generate the KEK_CO
User Password8 ~ 136 bytes (refer to Section 4.1)PBKDF (Cert. #A3268)Created by UserEntry: AES Encrypted entry via host application Output: N/AN/ARAM (Plaintext)Overwritten with zeros immediately after useUsed to generate the KEK_U
Recovery Password8 ~ 136 bytes (refer to Section 4.1)PBKDF (Cert. #A3268)Created by Crypto OfficerEntry: AES Encrypted entry via host application Output: N/AN/ARAM (Plaintext)Overwritten with zeros immediately after useUser to generate the KEK_R
Crypto Officer Password Hash128-bitsSHA2-256 (Cert. #A3268)GeneratedEntry: N/A Output: N/AN/AeMMC Hashed with SHA2-256‘Zeroization’ orUsed for Authentication
from CO‘Reset Device’
Passwordservice
User Password Hash128-bitsSHA2-256 (Cert. #A3268)Generated from User PasswordEntry: N/A Output: N/AN/AeMMC Hashed with SHA2-256‘Zeroization’ or ‘Reset Device’ serviceUsed for Authentication
Recovery Password Hash128-bitsSHA2-256 (Cert. #A3268)Generated from Recovery PasswordEntry: N/A Output: N/AN/AeMMC Hashed with SHA2-256‘Zeroization’ or ‘Reset Device’ serviceUsed for Authentication
Entropy Input1024 bits (Security strength is 256 bits)Entropy Source (Cert. #E55)Internally from SP 800-90B Entropy SourceEntry: N/A Output: N/AN/ARAM (Plaintext)Overwritten with zeros immediately after useUsed as entropy input to the SP 800-90A DRBG
DRBG Nonce512 bits (Security strength is 128 bits)HMAC DRBG (Cert. #A3268)Internally from SP 800-90B Entropy SourceEntry: N/A Output: N/AN/ARAM (plaintext)Overwritten with zeros immediately after useUsed as nonce input to the SP 800-90A DRBG
DRBG Internal State (V and Key)N/AHMAC DRBG (Cert. #A3268)Internally from SP 800-90A DRBGEntry: N/A Output: N/AN/ARAM (plaintext)‘Zeroization’ or ‘Reset Device’ serviceThe internal state of the SP 800-90A DRBG

This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 27
Key/CSP NameStrengthSecurity Function & Cert. NumberGenerationImport / ExportEstablishmentStorageZeroizationUse & related SSPs
Device ECDH Private Key256 bitsECDSA Key Gen (Cert. #A3268)ECDSA Key GenInternallyEntry: N/A Output: N/AEntry: N/AN/ARAM (plaintext)OverwrittenUsed by the module
(Security(Cert. #A3268)fromOutput: N/Awith zerosfor key agreement
strength isSP 800-90Aimmediately(KAS-ECC-SSC per
256 bits)DRBGafter useSP 800-56Ar3)
Shared Secret (Z)256 bits (Security strength is 128 bits)KDA (Cert. #A3268)N/AEntry: N/A Output: N/AShared Secret from KAS-ECC- SSC C(2e, 0s) ECC CDHRAM (plaintext)Overwritten with zeros immediately after useUsed to derive the Session Key Material
AES Session Key256 bits (Security strength is 128 bits)AES-CBC (Cert. #A3268)N/AEntry: N/A Output: N/ADerived by the KDA Two-Step Key Derivation FunctionRAM (plaintext)Overwritten with zeros immediately after secure session is terminated ‘Zeroization’ serviceAES Session Key serves to encrypt data during the Secure Session.
MAC Session Key256 bits (Security strength is 128 bits)HMAC-SHA2-256 (Cert. #A3268)N/AEntry: N/A Output: N/ADerived by the KDK via KDA Two-Step Key Derivation FunctionRAM (plaintext)Overwritten with zeros immediately after secure session is terminated ‘Zeroization’ serviceMAC Session Key serves to authenticate data during the Secure Session.
CD Update Public KeyRSA 2048 (112 bits)RSA 2048 (Cert. #A3268)N/AEntry: Manufacturing Output: N/AN/AeMMCN/A – protected with SHA2-2564Validates the CD ROM partition.
Device ECDH Public KeyP-256 (256 bits)KAS-ECC-SSC (Cert. #A3268)Generated internally from DRBGEntry: N/A Output: PlaintextN/ARAM (plaintext)Overwritten with zeros immediately after usedUsed by the module for key agreement (KAS-ECC-SSC per SP 800-56Ar3)
Host ECDH Public KeyP-256 (256 bits)KAS-ECC-SSC (Cert. #A3268)N/AEntry: Plaintext Output: N/AN/ARAM (plaintext)OverwrittenUsed by the module
with zerosfor key agreement
immediately(KAS-ECC-SSC per SP
after used800-56Ar3)

4 Per IG 9.6.A

This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 28
Algorithm or TestTest PropertiesTest MethodTypeIndicatorDetails
Firmware Integrity TestFirmwareRSA 2048 PKCS1 v1.5 Digital Signature VerificationRSA 2048 PKCS1 v1.5 DigitalRSA 2048 Digital Signature VerificationRSA 2048 DigitalSW / FW IntegritySW / FWSuccess: LEDPerformed during module power-on, on-demand, and on a periodic basis
Integrity TestSignature VerificationSignature VerificationIntegrityblinks at 3Hz Error: LED blinks at 16Hz
Algorithm or TestTest PropertiesTest MethodTypeIndicatorDetailsConditions for Performing Test
AES CBC256-bitKATCASTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzEncrypt KAT Decrypt KATPower-on & Periodically (11 mins)
AES ECB256-bitKATCASTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzEncrypt KAT Decrypt KATPower-on & Periodically (11 mins)
AES KW256-bitKATCASTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzKey Wrap KAT Key Unwrap KATPower-on & Periodically (11 mins)
AES XTS256-bitKATCASTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzEncrypt KAT Decrypt KATPower-on & Periodically (11 mins)
AES-XTS Key Gen (Ref: IG C.I)XTS Key Validity----Success: LED blinks at 3Hz Error: LED blinks at 16HzKey1≠ Key2Generation of DEK_CO or DEK_U
10.1 P RE -O PERATIONAL S ELF -T ESTS

The module performs pre-operational self-tests and conditional self-tests (refer to Section 10.2). Both self-tests ensure that the module is not corrupted, and the cryptographic algorithms work as expected. During self-tests, data output (via the data output interface) is inhibited. The module services are not available until the self-tests have completed successfully. Table 20 – Pre-Operational Self-Tests For the above error case, the device can be powered cycle to reinitiate the power-up self-tests. Please note: An RSA signature verification known-answer test (KAT) is performed prior to the

10.2 C ONDITIONAL S ELF -T ESTS

Table 21 – Conditional Self-Tests This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 29
Algorithm or TestTest PropertiesTest MethodTypeIndicatorDetailsConditions for Performing Test
DRBGInstantiate, Generate and Reseed5KATCASTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzInstantiate KAT Generate KATPower-on & Periodically (11 mins)
ECC CDH P- 256ECC CDH P- 256 keypair pairwise consistency test.PCTPCTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzPerformed immediately after key generation during key agreementECC CDH keypair generation during key agreement when ‘Open Partition’ service is called.
ECC CDH P- 256ECC CDH P- 256 Public Key ValidationPKVPKVSuccess: LED blinks at 3Hz Error: LED blinks at 16HzFull Public Key Validation of host public keyPart of key agreement when ‘Open Partition’ service is called.
Entropy SourceN/AAPT/RCTAPTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzAdaptive Proportion TestContinuous
HMAC- SHA2-256256-bitKATCASTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzHMAC KATPower-on & Periodically (11 mins)
KAS-ECC- SSCPrivateKATCASTSuccess: LED blinksCompares output with expected resultPower-on & Periodically (11 mins)
Key:256-bitat 3Hz
Public Key:Error: LED blinks at
256-bit16Hz
KDAShared Secret: 256-bitKATCASTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzCompares output with expected resultPower-on & Periodically (11 mins)
PBKDFSalt 256-bit, Password: 8- bytesKATCASTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzCompares output with expected resultPower-on & Periodically (11 mins)
SHA2-256N/AKATCASTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzSHA2-256 KATPower-on & Periodically (11 mins)
RSA-2048RSA 2048 & SHA2-256KATCASTSuccess: LED blinks at 3Hz Error: LED blinks at 16HzSignature Verification KATPower-on & Periodically (11 mins)
10.3 P ERIODIC S ELF -T ESTS

The module performs all self-tests automatically (with no operator intervention) every 11 minutes after being powered-on.

5 The module is reseeded after every 10,000 DRBG operations.

This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 30
State NameDescriptionConditionsRecovery ModeIndicator
Hard ErrorHard Error StateTransitions to this statePower-CycleLED Blink Pattern,
for all self-test errorsError Code.
Soft ErrorSoft Error StateTransitions to this stateAutomaticLED Blink Pattern,
for all non-critical errorsError Code.
10.4 E RROR S TATES

The module supports the following error states: Table 22 – Error States The module transitions into an error state when an error condition is encountered and provides an unambiguous error status indicator (i.e., blinking LED and error code). All data output is inhibited while the module is in the error state.

10.5 O PERATOR I NITIATION OF S ELF -T ESTS

The operator can initiate the self-tests at any time by power-cycling the module or via the ‘Perform Self-Tests’ command. 11. LIFE-CYCLE ASSURANCE

11.1 I NSTALLATION , I NITIALIZATION , AND S TARTUP P ROCEDURES

The User must configure and enforce the following initialization procedures:

  1. Connect the IronKey D500S Series USB Flash Drive to a GPC. The module will enumerate onto the GPC and register its CD ROM partition. Locate and run the application located on the CDROM partition.
  2. Follow the instructions presented by the application to ‘Initialize’ the module. Setup the new CO password and continue to login to the device.
  3. Click on the Kingston icon in the system tray to bring up a pull-up menu and select “About D500S” option (refer to Figure 2). The application will display the firmware and application versions. Verify that the firmware version is 3.06. This is the FIPS validated version of the module. This document may be freely reproduced and distributed, but only in its entirety and without modification.
Page 31
11.2 A DMINISTRATOR G UIDANCE

Upon receipt of the module an operator must follow the initialization procedure outlined in Section 11.1. This establishes the operator as the Cryptographic Officer (CO) with a valid ID and password. The module is designed to securely store authorized user’s data files using physical and logical security methods. A user may transfer files to the device via a compatible PC or similar device. Over the life of the device an operator may: − Initialize the device as a single operator (CO only). − Initialize the device for multiple operators (CO and User). − Transfer files to the device for secure storage. − Reset the device effectively erasing all data and security parameters. Services available to the CO role are listed in Table 12.

11.3 N ON -A DMINISTRATOR G UIDANCE

The cryptographic officer must establish access for additional operators. Additional operators will be assigned to the User role. An operator under the User role shall authenticate and transfer files to the device via a compatible PC or similar device. Services available to the User role are listed in Table 12.

11.4 D ESIGN AND R ULES OF O PERATION

In the approved mode of operation, the module shall adhere to the following rules:

Page 32
11.5 E ND OF L IFE

Upon the need to decommission the module, the CO should perform a ‘Reset Drive’ operation to securely overwrite all security parameters which makes all stored data unrecoverable. The module can then be repurposed or physically scrapped. 12. MITIGATION OF OTHER ATTACKS This module is not designed to mitigate other 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.

Page 33
Reference NumberReference TitlePublishing EntityPublication Date
1ISO/IEC 19790 – Security requirements for cryptographic modulesISO/IEC2015
2ISO/IEC 24759 – Test requirements for cryptographic modulesISO2015
3FIPS 140-3 – Security requirements for cryptographic equipmentNIST2019
4SP 800-140 – FIPS 140-3 Derived Test Requirements (DTR)NIST2020
5SP 800-140A – CMVP Documentation RequirementsNIST2020
6SP 800-140B – CMVP Security Policy RequirementsNIST2022
7SP 800-140C – CMVP Approved Security FunctionsNIST2023
8SP 800-140D – CMVP Approved Sensitive Security Parameter Generation and Establishment MethodsNIST2023
9SP 800-140E – CMVP Approved Authentication MechanismsNIST2020
10SP 800-140F – CMVP Approved Non-Invasive Attack Mitigation Test MetricsNIST2020

13. APPENDIX A: REFERENCES Table 23 – References This document may be freely reproduced and distributed, but only in its entirety and without modification.

Page 34
TermDefinition
ANSIAmerican National Standards Institute
CMVPCryptographic Module Validation Program
CSECCommunications Security Establishment of Canada
CSPCritical Security Parameter
DRBGDeterministic Random Bit Generator
DTRDerived Test Requirements
ECBElectronic Codebook
FIPSFederal Information Processing Standards
GPCGeneral Purpose Computer
GUIGraphical User Interface
HMACHashed Message Authentication Code
KATKnown Answer Test
NISTNational Institute of Standards and Technology
NVRAMNon-Volatile Random Access Memory
PBKDFPassword-Based Key Derivation Function
RNGRandom Number Generator
RSARivest Shamir Adelman
SHASecure Hash Algorithm
USBUniversal Serial Bus

14. APPENDIX B: ABBREVIATIONS AND DEFINITIONS Table 24 – Abbreviations and Definitions This document may be freely reproduced and distributed, but only in its entirety and without modification.