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

KIOXIA TCG OPAL SSC Crypto Sub-Chip TC58NC1132GTC

Certificate#4786StandardFIPS 140-3Level2TypeHardwareEmbodimentSingle ChipStatusActiveVendorKIOXIA Corporation
High review priority  ·  exposes HSM/SE firmware trust anchor  ·  last validated 22 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level2
Module typeHardware
EmbodimentSingle Chip
StatusActive
Sunset date9/2/2029
CaveatWhen installed, initialized and configured as specified in Section 11 of the Security Policy. No operator authentication is enforced for executing security services that were unlocked by an authenticated service
VendorKIOXIA Corporation

Approved Algorithms (7)

AlgorithmACVP Cert
AES-CBCC1925
AES-XTSC1925
Hash DRBGC2002
HMAC-SHA2-256C1925
KDF SP800-108C2001
RSA SigVer (FIPS186-4)C2009
SHA2-256C1925

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

flowchart LR
  %% Deterministic review-risk graph for KIOXIA TCG OPAL SSC Crypto Sub-Chip TC58NC1132GTC
  %% 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>Firmware Load<br/>update</i>"]
    C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Self-Test<br/>Status Output<br/>Show Status</i>"]
    C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system</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 KIOXIA TCG OPAL SSC Crypto Sub-Chip TC58NC1132GTC
  %% 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>Firmware Load<br/>update</i><br/>src: text:keyword"]
    C3["[low] Self-test / status surface (referenced in text)<br/><i>Self-Test<br/>Status Output<br/>Show Status</i><br/>src: text:keyword"]
    C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system</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

KIOXIA TCG OPAL SSC Crypto Sub-Chip TC58NC1132GTC KIOXIA CORPORATION Rev 2.0.0

1 Jun 26, 2024
Page 2
2 Jun 26, 2024
Page 3
SectionLevel
1. General2
2. Cryptographic Module Specification2
3. Cryptographic Module Interfaces2
4. Roles, Services, and Authentication2
5. Software/Firmware Security2
6. Operational EnvironmentN/A
7. Physical Security2
8. Non-invasive SecurityN/A
9. Sensitive Security Parameter Management2
10. Self-tests2
11. Life-cycle Assurance2
12. Mitigation of Other AttacksN/A
Overall Level2

This document explains precise specification of the security rules about KIOXIA TCG OPAL SSC Crypto Sub-Chip TC58NC1132GTC. The Cryptographic Module (CM) meets the requirements of FIPS 140-3 Security Level 2 Overall. The Table below shows the security level detail. Table 1 ‐ Security Levels This document is non-proprietary and may be reproduced in its original entirety. Section 1.1 - Acronyms

AESAdvanced Encryption Standard
DRBGDeterministic Random Bit Generator
HMACThe Keyed-Hash Message Authentication code
KATKnown Answer Test
POSTPower on Self-Test
CASTCryptographic Algorithm Self-Test
PSIDPrinted SID
SEDSelf-Encrypting Drive
SHASecure Hash Algorithm
SIDSecurity ID
TCGTrusted Computing Group 3 Jun 26, 2024
Page 4
Physical single-chipThe sub-chip cryptographic subsystem soft circuitry coreThe associated firmware
TC58NC1132GTC 0003TC58NC1132GTC CRPT module 0001SC02AN
CAVP CertAlgorithm and StandardMode/ MethodDescription/Key Size(s)/ Key Strength(s)Use/Function
#C1925AES256 (FIPS 197 / SP800-38A)CBCKey Size: 256 bits/ Key Strength: 256 bitsData and Key Encryption/ Decryption

Section 2

4 Jun 26, 2024
Page 5
#C1925AES256 (FIPS 197 / SP800-38E)XTS1Key Size: 256 bits/ Key Strength: 256 bitsData Encryption/ Decryption
#C1925SHA256 (FIPS 180-4)N/AN/AHashing messages
#C1925HMAC-SHA256 (FIPS 198-1)N/AKey Size: 256 bits/ Key Strength: 256 bitsMessage Authentication Code
#C2009RSASSA-PKCS#1-v1_5 (FIPS 186-4)N/AKey Size: 2048 bits/ Key Strength: 112 bitsSignature verification
#C2002Hash_DRBG (SP800-90A Rev.1)N/AHash based: SHA256Deterministic Random Bit Generation
#C2001KBKDF (SP800-108 Revised)CounterMACs: HMAC-SHA256/ Key Size: 256 bits/ Key Strength 256 bitsKey derivation
#C1925KTS (IG D.G)N/ACombination of AES256 CBC Mode and HMAC-SHA256 / Key Size: 256 bits/ Key Strength: 256 bitsKey Transport Scheme
Vendor AffirmationCKG (SP800-133 Rev.2)N/AMethods described in section 4 of the SP800-133 Rev.2Cryptographic Key Generation
ENT(P)Entropy Source (SP800-90B)N/AN/AHardware RNG used to seed the approved Hash_DRBG.

Table 3 ‐ Approved Algorithm The CM does not implement any Non-Approved Algorithms Allowed in the Approved Mode of Operation. ECB mode is used as a prerequisite of XTS mode. ECB is not directly used in services of the Cryptographic Module. The CM performs a check that the XTS Key1 and XTS Key2 are different

5 Jun 26, 2024
Page 6
Physical portLogical InterfaceData that passes over port/interface
Mailbox AES circuit DMAC Lock CheckerData InputMailbox input parameter. User data. Read/Write destination address information.
Mailbox AES circuit DMACData OutputMailbox output parameter. User data.
Mailbox Lock CheckerControl InputMailbox command information. Lock status confirmation request signal.
Mailbox Lock CheckerStatus OutputMailbox command result. Lock status confirmation result signal.
Power PINPower InputPower

Section 2.3

6 Jun 26, 2024
Page 7
RoleServiceInputOutput
FIPS Crypto Officer (AdminSP.SID)Download Port Lock/Unlock Firmware Download2 Set PIN (for AdminSP.SID and AdminSP.Admin1) Authority Enable/Disable Revert Data Locking protection Enable Sanitize Format Namespace Namespace Create/DeleteMailbox commandMailbox command result
FIPS Crypto Officer (AdminSP.Admin1)Set PIN (for AdminSP.Admin1) Revert Sanitize Format Namespace Namespace Create/DeleteMailbox commandMailbox command result
FIPS Crypto Officer (LockingSP.Admin1-4)Band Lock/Unlock Cryptographic Erase Cryptographic Erase and Initialize Band State Set Band position and Size, Set Band position and Size for Band of Single User Mode Set PIN(for LockingSP.Admin1-4 and LockingSP.User1-192) Authority Enable/Disable Revert Data Locking protection Enable Sanitize Format Namespace Namespace Create/Delete Band Set Enable Band Set DisableMailbox commandMailbox command result
Data Read/WriteEncrypted/Decrypted dataDecrypted/Encrypted data
FIPS Crypto Officer (LockingSP.User1)Band Lock/Unlock for Band of Single User Mode (for GlobalRange) Cryptographic Erase for Band of Single User Mode (for GlobalRange)Mailbox commandMailbox command result

Section 4 – Roles Services and Authentication The relation between Roles and Services in this CM is shown below. external firmware is verified (RSASSA-PKCS#1-v1_5).

7 Jun 26, 2024
Page 8
Cryptographic Erase and Initialize Band State (for GlobalRange)
Set Band position and Size for Band of Single user Mode (for GlobalRange
Set PIN (for LockingSP.User1), Set PIN for Band of Single User Mode (for LockingSP.Use1)
Format Namespace
Namespace Create/Delete
Data Read/WriteEncrypted/Decrypted dataDecrypted/Encrypted data
FIPS Crypto Officer (LockingSP.User2)Band Lock/Unlock for Band of Single User Mode (for Band1) Cryptographic Erase for Band of Single User Mode (for Band1) Cryptographic Erase and Initialize Band State (for Band1) Set Band position and Size for Band of Single user Mode (for Band1) Set PIN (for LockingSP.User2), Set PIN for Band of Single User Mode (for LockingSP.User2) Format NamespaceMailbox commandMailbox command result
Data Read/WriteEncrypted/Decrypted dataDecrypted/Encrypted data
FIPS Crypto Officer (LockingSP.User192)Band Lock/Unlock for Band of Single User Mode (for Band191) Cryptographic Erase for Band of Single User Mode (for Band191) Cryptographic Erase and Initialize Band State (for Band191) Set Band position and Size for Band of Single user Mode (for Band191) Set PIN (for LockingSP.User192), Set PIN for Band of Single User Mode (for LockingSP.User192) Format NamespaceMailbox commandMailbox command result
Data Read/WriteEncrypted/Decrypted dataDecrypted/Encrypted data
NoneFirmware Verification Random Number Generation Show Status ZeroisationMailbox commandMailbox command result
Check Lock StateRead/Write CommandLock state of each Band
ResetPowerN/A

… … … … Table 5 ‐ Roles, Service Commands, Input and output

8 Jun 26, 2024
Page 9
Role NameRole TypeType of AuthenticationAuthenticationAuthentication StrengthMulti Attempt strength
AdminSP.SIDCrypto OfficerRolePIN1 / 264 < 1 / 1,000,00030 / 264 < 1 / 100,000
AdminSP.Admin1Crypto OfficerRolePIN1 / 264 < 1 / 1,000,00030 / 264 < 1 / 100,000
LockingSP.Admin1-4Crypto OfficerRolePIN1 / 264 < 1 / 1,000,00030 / 264 < 1 / 100,000
LockingSP.User1Crypto OfficerRolePIN1 / 264 < 1 / 1,000,00030 / 264 < 1 / 100,000
LockingSP.User2Crypto OfficerRolePIN1 / 264 < 1 / 1,000,00030 / 264 < 1 / 100,000
LockingSP.User192Crypto OfficerRolePIN1 / 264 < 1 / 1,000,00030 / 264 < 1 / 100,000

The CM supports the configuration of roles and services. The authenticated operator is expected to configure locked bands for data storage, the associated role and the lock-based authentication data (PIN) per Table 6 (refer to section 11 for detail settings to maintain secure operation). Bands that are not configured are considered unprotected or plaintext. This configuration enables Data Read/Write service using the lock-based authentication model (IG 4.1.A). To Read/Write data from/to each band, an operator must unlock the bands with appropriate authenticated roles. Once the bands are unlocked, Read and Write access to the bands must be controlled by a trusted operator outside of the module who has been authenticated as the associated role until powered off. The module prevents Data read/write service for locked bands. If Read and Write access needs to be inhibited prior to power off, the operator who authenticates the role must set the bands to the locked state again. Section 4.1 – Roles and Authentication This section describes roles, authentication method, and strength of authentication. … … … … … … Table 6 ‐ Identification and Authentication Policy The CM performs role authentication by comparing whether the PIN entered by the user matches the information stored inside the CM. PINs are hashed with SHA-256 to store them on the CM. The PIN entered by the user is hashed and compared to the stored PIN hash. PINs can be changed by executing the Set PIN Service (see Section4.2) with appropriate roles authenticated. The CM refuses to set a PIN less than 8 bytes, and responds with an error if such a setting is attempted. Therefore the probability that a random attempt will succeed is 1 / 264 <

1 / 1,000,000 (the CM accepts any value (0x00-0xFF) as each byte of PIN). The CM waits 2sec

when authentication attempt fails, so the maximum number of authentication attempts is 30

9 Jun 26, 2024
Page 10
ServiceDescriptionApproved Security FunctionKeys and/or SSPsRole(s)Access rights to Keys and/or SSPs3Indicator
Band Lock/UnlockLock or unlock read / write of user data in a band.KBKDF HMAC-SHA256KDK MEKs System MAC KeyLockingSP.Admin 1-4E G EMailbox command result
Band Lock/Unlock for Band of Single User ModeLock or unlock read / write of user data in band”X” of single user mode.LockingSP.User”X +1”
Check Lock StateCheck a lock state of band that read / write user data.N/AN/ANoneN/ABand Lock state
Data Read/WriteEncryption / decryption of user data to/from unlocked band of SSD 4.AES256-XTSMEKsLockingSP.Admin 1-4 LockingSP.User1- 192EReadable/Writab le signal from lock check module
Cryptographic EraseErase user data (in cryptographic means) by changing the key that derives the data encryption key.CKG (Hash_DRBG) KBKDF HMAC-SHA256 AES256-CBC KTSDRBG Internal Value KDK KDK MEKs System MAC Key System Enc Key KDKLockingSP.Admin 1-4E G, Z E G, Z E E W, RMailbox command result
Cryptographic Erase for Band of Single User ModeErase user data in band”X” of single user mode (in cryptographic means) by changing the key that derives the data encryption key.LockingSP.user”X +1”

times in 1 min. Consequently the probability that random attempts in 1min will succeed is 30 /

264 < 1 / 100,000.

The Roles of AdminSP.Admin1, LockingSP.Admin2-4 and LockingSP.User1-192 are set initial authentication data to null (means data of length 0). These role’s authentication data are need to be replaced upon the first-time authentication. Otherwise, the operator who assumes these role cannot execute services except Set PIN and services that does not need authorized roles. Section 4.2 – Services This section describes services which the CM provides.

3 The letters (G, R, W, E, Z) mean Generate, Read, Write, Execute and Zeroise respectively.

10 Jun 26, 2024
Page 11
Cryptographic Erase and Initialize Band StateErase user data in band”X” of single user mode (in cryptographic means) by changing the key that derives the data encryption key, and initialize the band state.DRBG Internal Value KDK KDK MEKs System MAC Key System Enc Key KDKLockingSP.Admin 1-4 LockingSP.user”X +1”
Download Port Lock/UnlockLock / unlock firmware download.N/AN/AAdminSP.SIDN/AMailbox command result
Firmware VerificationDigital signature verification for firmware outside the CM.RSASSA-PKCS#1- v1_5Public Key embedded on the CM’s codeNoneEMailbox command result
Firmware DownloadDownload a firmware image5.SHA256 RSASSA-PKCS#1- v1_5PubKey1 PubKey1AdminSP.SIDW, E EMailbox command result
Random Number GenerationProvide a random number generated by the CM.Hash_DRBGDRBG Internal ValueNoneEMailbox command result
Set Band Position and SizeSet the location and size of the band.CKG (Hash_DRBG) KBKDF HMAC-SHA256 AES256-CBC KTSDRBG Internal Value KDK KDK MEKs System MAC Key System Enc Key KDKLockingSP.Admin 1-4E G, Z E G, Z E E W, RMailbox command result
Set Band Position and Size for Band of Single User ModeSet the location and size of the band”X” of single user mode.LockingSP.Admin 1-4 LockingSP.User”X +1”
Set PINSet PIN (authentication data).SHA256 HMAC-SHA256 AES256-CBC KTSPINs System MAC Key System Enc Key PINsAdminSP.SID, AdminSP.Admin1 , LockingSP.Admin 1-4, LockingSP.User1- 192W, E E E W, RMailbox command result
Set PIN for Band of Single User ModeSet PIN (authentication data) of authority for band”X” of single use modeLockingSP.User1- 192
Authority Enable/DisableEnable/Disable the authority.HMAC-SHA256 AES256-CBCSystem MAC Key System Enc KeyAdminSP.SID LockingSP.Admin 1-4E EMailbox command result

+1” , 1-4 Only the CMVP validated version is to be used

11 Jun 26, 2024
Page 12
Data Locking Protection EnableEnable Data protection with band lock setting.SHA256 HMAC-SHA256 AES256-CBC KTSPINs System MAC Key System Enc Key PINsAdminSP.SID LockingSP.Admin 1-4W, E E E W, RMailbox command result
SanitizeErase all user data (in cryptographic means) by changing the key that derives the data encryption key.CKG (Hash_DRBG) KBKDF HMAC-SHA256 AES256-CBC KTSDRBG Internal Value KDK KDK MEKs System MAC Key System Enc Key KDKAdminSP.SID, AdminSP.Admin1 , LockingSP.Admin 1-4E G, Z E G, Z E E W, RMailbox command result
Format NamespaceErase user data (in cryptographic means) on Namespace by changing the key that derives the data encryption key.CKG (Hash_DRBG) KBKDF HMAC-SHA256 AES256-CBC KTSDRBG Internal Value KDK KDK MEKs System MAC Key System Enc Key KDKAdminSP.SID, AdminSP.Admin1 , LockingSP.Admin 1-4, LockingSP.User1- 192E G, Z E G, Z E E W, RMailbox command result
Namespace Create/DeleteCreate and delete Namespace.CKG (Hash_DRBG) KBKDF HMAC-SHA256 AES256-CBC KTSDRBG Internal Value KDK KDK MEKs System MAC Key System Enc Key KDKAdminSP.SID, AdminSP.Admin1 , LockingSP.Admin 1-4, LockingSP.User1E G, Z E G, Z E E W, RMailbox command result
Band Set EnableSet the location, size and lock state of the band.CKG (Hash_DRBG) KBKDF HMAC-SHA256 AES256-CBC KTSDRBG Internal Value KDK KDK MEKs System MAC Key System Enc Key KDKLockinSP.Admin1 -4E G, Z E G, Z E E W, RMailbox command result
Band Set DisableInitialize the location, size and lock state of the band.CKG (Hash_DRBG) KBKDF HMAC-SHA256 AES256-CBC KTSDRBG Internal Value KDK KDK MEKs System MAC Key System Enc Key KDKLockingSP.Admin 1-4E G, Z E G, Z E E W, RMailbox command result
Show StatusReport status of the CM and versioning information.N/AN/ANoneN/AMailbox command result
N/ANone6
Table, extracted as text (did not parse into structured rows)
Zeroisation         Erase SSPs.                N/A               RKey             None6              Z         Mailbox

6 Need to input PSID, which is public drive-unique value used for the zeroisation service.

12 Jun 26, 2024
Page 13

Reset

Power-OFF: Delete SSPs in RAM. Power-ON: Runs various self-tests to be performed at power-on ( POSTs, CASTs, Firmware Load test ) and generate / import some SSPs.

N/A

System MAC Key System Enc Key KDK MEKs PINs DRBG Internal Value PubKey1

Z Z Z Z Z Z Z

N/A

KDK Z command result v1_5 N/A power-on ( POSTs, Entropy Source DRBG Seed G KTS KDK W Note 1: “CKG(Hash_DRBG)” means direct use of Hash_DRBG output as a key. Table 7 ‐ Approved services Section 5 – Software/Firmware Security Firmware Security of components in this CM is shown below. ROM Code: ・ Form of the executable code: ELF format ・ Integrity verification method: 32bit CRC ・ Method for integrity test on demand: Power cycling Firmware image (User Code): ・ Form of the executable code: ELF format ・ Integrity verification method: Approved signature verification (RSASSA-PKCS#1-v1_5, see table 3) ・ Method for integrity test on demand: Power cycling

13 Jun 26, 2024
Page 14
Physical Security MechanismRecommended Frequency of Inspection/TestInspection/Test Guidance Detail
Passivated opaque packageEvery month or every two monthsConfirmation that there is no visual damage

Section 6

14 Jun 26, 2024
Page 15
Key/SSP Name/Ty peStrength (bit)Security Function and Cert NumberGenerationImport/ ExportEstablishmentStorageZeroisationUse & related keys
Critical Security Parameters (CSPs)
RKey256KBKDF (#C2001)Hash_DRBG (Method SP800-133 Rev.2 Section 4)N/AManufacturingPlaintext in OTPExplicit Zeroisation serviceDerivation of System Enc Key and System MAC Key
System Enc Key256AES-CBC (#C1925)KDF in Counter ModeN/APower-OnPlaintext in RAMExplicit Zeroisation service Implicit Power-OffData and Key Encryption / Decryption for KTS
System MAC Key256HMAC (#C1925)KDF in Counter ModeN/APower-OnPlaintext in RAMExplicit Zeroisation service Implicit Power-OffMessage Authentication Code generation and verification for KTS
KDK256KBKDF (#C2001)Hash_DRBG (Method SP800-133 Rev.2 Section 4)Imported and Exported by KTS (see Table 3)Key update services7Plaintext in RAM Encrypted in System Area outside the moduleExplicit Zeroisation service, Key update services Implicit Power-OffDerivation of MEKs

Section 9 – Sensitive security parameter management The CM uses keys and SSPs in the following table. 4)

7 The following service are applicable, Cryptographic Erase, Cryptographic Erase for Band of

Single User Mode, Cryptographic Erase and Initialize Band State, Set Band Position and Size, Set Band Position and Size for Band of Single User Mode, Revert, Sanitize, Format Namespace, Namespace Create/Delete and Band Set Enable.

15 Jun 26, 2024
Page 16
using the Approved KTS
MEKs256AES-XTS (#C1925)KDF in Counter ModeN/ABand Lock/Unlock service, Key update servicesPlaintext in AES registerExplicit Zeroisation service, Key update services Implicit Power-OffData Encryption / Decryption
PINsReferred to in Section 4.1 (Table 6)SHA256 (#C1925)Electric inputImported and Exported by KTS (see Table 3)Set PIN serviceHashed in RAM Hashed + Encrypted in System Area outside the module using the Approved KTSExplicit Zeroisation service Implicit Power-OffUser authentication
DRBG Internal ValueV: 440 bits C: 440 bitsHash_DRBG (#C2002)SP800-90A Instantiation of Hash_DRBGN/APower-OnPlaintext in RAMExplicit Zeroisation service Implicit Power-OffRandom number generation
DRBG SeedPublic Security Parameters (PSPs)Entropy Input String and Nonce: 512 bitsHash_DRBG (#C2002)Entropy collected from Entropy Source at instantiation (Minimum entropy of 8 bits: 6.31)N/APower-OnPlaintext in RAMImplicit Immediately after use8Random number generation
16 Jun 26, 2024
Page 17

PubKey1

RSA (#C2009)

Electric input

Imported during FW load.

Power-on FW Download service

Plaintext in RAM Hashed in OTP

Implicit Power-Off (Data in RAM)

Signature verification.

Entropy sourceMinimum number of bits of entropyDetails
Entropy Source9Minimum entropy of 8 bits is 6.31.Hardware RNG used to seed the approved Hash_DRBG.
FunctionSelf-Test TypeExecution ConditionAbstractFailure Behavior
AES256-CBCConditionalPower-OnEncrypt and Decrypt KATEnters Boot Error State. (Indicated Error Code: 0x24)
AES256-XTSConditionalPower-OnEncrypt and Decrypt KATEnters Boot Error State. (Indicated Error Code: 0x23)
SHA256ConditionalPower-OnDigest KATEnters Boot Error State. (Indicated Error Code: 0x25)

Table 9 ‐ SSPs Table 10 ‐ Non-Deterministic Random Number Generation Specification For the Entropy Source listed in the table above, self-tests are performed each time before data is obtained (see Section 10 for details of these self-tests). When these tests detect that the Entropy Source cannot generate the sufficient amount of entropy, the CM is transient to error state. The CM can be recovered from the error state by rebooting the module, and the obtaining several trials of reboot, the CM may be sent back to factory to recover from error state. Section 10 – Self Tests The CM runs self-tests in the following table. The Entropy Source is a hardware module inside the CM boundary. The Entropy Source supplies the Hash_DRBG with 512 bits entropy input. From Table 10 this input contains about

404 bits of entropy, which is sufficient entropy to obtain 256 bits of security strength.

17 Jun 26, 2024
Page 18
HMAC-SHA256ConditionalPower-OnDigest KATEnters Boot Error State. (Indicated Error Code: 0x26)
Hash_DRBGConditionalPower-OnDRBG KATEnters Boot Error State. (Indicated Error Code: 0x18/0x19)
RSASSA-PKCS#1-v1_5ConditionalPower-OnSignature verification KATEnters Boot Error State. (Indicated Error Code: 0x27)
KDF in Counter ModeConditionalPower-OnKDF KATEnters Boot Error State (Indicated Error Code: 0x28)
Entropy Source (Health tests of noise source at startup.)ConditionalPower-OnVerify not deviating from the intended behavior of the noise source by Repetition Count Test and Adaptive Proportion Test specified in SP800-90B.Enters Boot Error State (Indicated Error Code: 0x2C/0x2D)
Hash_DRBGConditionalRandom number generationVerify newly generated random number not equal to previous oneEnters Error State. (Indicated Error Code: 0x1D)
Entropy SourceConditionalEntropy output requestVerify newly generated random number not equal to previous oneEnters Error State. (Indicated Error Code: 0x1E)
Entropy Source (Continuous noise source health tests during operation.)ConditionalEntropy output requestVerify not deviating from the intended behavior of the noise source by Repetition Count Test and Adaptive Proportion Test specified in SP800-90B.Enters Error State. (Indicated Error Code: 0x2C/0x2D)
Firmware load testConditional10Power-onVerify signature of loaded firmware image by RSASSA-PKCS#1-v1_5Enters Power Up Load Test Error State (Indicated Error Code: 0x13)
FW downloadVerify signature of downloaded firmware image by RSASSA-PKCS#1-v1_5Enters Conditional Load Test Error State. After reporting Error code, transition from error state to normal state and continue to operate with FW before download.

loaded into the CM can be confirmed.

18 Jun 26, 2024
Page 19
(Indicated Error Code: 0x13)
Firmware integrity testPre-operationalPower-OnVerify ROM code integrity with 32bit CRC.Enters Boot Error State (Implicit error reporting by stopping the startup sequence)

Table 11 ‐ Self Tests As shown in the table above, self-tests are performed automatically at the CM startup and before execution certain security functions. Operator can also initiate self-test on-demand for periodic testing by using the Reset service which is automatically invoked when the module is powered-off and powered-on (rebooted). If the self-tests fail, the CM reports error status and enters to the error state. In this case, the CM must be powered-off to clear error condition. When power-on is executed again, self-tests are also executed like an on-demand operator reset. If the CM continuously enters in error state in spite of several trials of reboot, the CM may be sent back to factory to recover from error Section 11 – Life-cycle Assurance In the SSD’s manufacturing process, installation is executed as below:

  1. The Firmware described in Section 2.1 is downloaded into the CM.
  2. Initial SSPs are generated.
  3. Initial authentication information is set to the CM.
  4. System area including SSPs generated in Step2 and Step3 are encrypted and calculated message authentication code. Initial operations to setup this CM are following:
  5. Load Firmware into the CM.
  6. Load system area including SSPs into the CM.
  7. Execute Range state setting method.
  8. Execute Download port setting method.
  9. Execute Service execution state setting method.
  10. Execute Namespace setting method. The CM switches to approved mode after the initial operation success. When the initial operation succeeds, the CM indicates success on the Status Output interface. Users can confirm that the CM is in approved mode by executing Show Status service and checking that the startup is successfully completed.
19 Jun 26, 2024
Page 20

For secure operation, the following settings must be maintained:  Data Locking Protection is Enabled  Each Band is set to be locked when power-on. Bands that are not configured are considered unprotected or plaintext. (Refer to SSD setting procedure11 ) As described in Section 2, the CM is used by being embedded in the solid state drive. Therefore, there are no maintenance requirements for the CM alone. Guidance for this module is provided to solid state drive developers who embed the CM. The usage and maintenance of solid state drives with the CM built-in are outside of the scope of this document. Section 12 – Mitigation of Other Attacks The CM does not mitigate other attacks beyond the scope of FIPS 140-3 requirements.

11 For maintaining secure condition, the SSD needs several setting at least.

Owners of the SSD that embeds the CM must use it securely according to the followings:

  1. TCG LockingSP is enabled by Activate method.
  2. Both ReadLockEnabled and WriteLockEnabled are set to “True” for each band (included GlobalRange) and it must not be modified.
  3. For each band, "Power Cycle" of LockOnReset setting is not change.
  4. If the LockingSP has been made disabled, the Activate method is re-executed before PowerCycle is performed.
20 Jun 26, 2024