Western Digital DC HC330 Ultrastar He¹² TCG Enterprise HDD FIPS 140-2 Cryptographic Module Instructions
- June 4, 2024
- Western Digital
Table of Contents
Ultrastar® He¹² and Ultrastar® DC HC520 TCG Enterprise HDD
FIPS 140-2 Cryptographic Module
Non-Proprietary Security Policy
Protection of Data at Rest
Cryptographic Module Overview
The self-encrypting Ultrastar® He¹² TCG Enterprise HDD and Ultrastar® DC HC520 TCG Enterprise HDD, hereafter referred to as “Ultrastar He¹² ”, “Ultrastar DC HC520” or “the Cryptographic Module” is a multi-chip embedded module that complies with FIPS 140-2 Level 2 security. The Cryptographic Module complies with the Trusted Computing Group (TCG) SSC: Enterprise Specification. The drive enclosure defines the cryptographic boundary. The SIO port pins outlined by the red boxes within the SAS connector view of Figure 2 and Figure 4 are disabled in FIPS Approved Mode and non-Approved Mode. Except for the four- conductor motor control cable, shown in the yellow box of the bottom view of Figures 1 through Figure 4, all components within the cryptographic boundary were tested as compliant with FIPS 140-2 requirements. The control cable is not security relevant and therefore excluded from FIPS 140-2 requirements. The Ultrastar DC HC520 complies with the Advanced Format (AF) standard. The logical storage of user data is unaffected by the formatting method for drives that comply with the Advanced AF standard. 4Kn and 512e formatting organize user data on the physical media in the same manner. The emulation layer employed in 512e drives only services to organize the data in 512-byte chunks for processing by the host. Format method is not security relevant and therefore excluded from FIPS 140-2 requirements.
1.1 Models
The Cryptographic Module is available in several models that vary by storage
capacity and block size. The validated models listed below in Table 1 define
the models, characteristics, hardware version, and firmware version associated
with each model.
Model Number | Firmware | Description |
---|
HUH721212AL5205 (1)
HUH721212AL5205 (2)| R925, R92C, R9C0, R9G0, NM08, NM09, NM10| 12TB, 512e,
3.5-inch HDD, 7200 RPM, 12 Gb/s SAS
HUH721212AL4205 (1)
HUH721212AL4205 (2)| R925, R9G0| 12TB, 4Kn, 3.5-inch HDD, 7200 RPM, 12 Gb/s
SAS
Table 1 – Cryptographic Module Models
1.2 Security Level
The Cryptographic Module meets all requirements applicable to FIPS 140-2 Level
2 Security.
FIPS 140-2 Security Requirements Section| FIPS 140-2 Security
Level Achieved
---|---
Cryptographic Module Specification| 2
Cryptographic Module Ports and Interfaces| 2
Roles, Services and Authentication| 2
Finite State Model| 2
Physical Security| 2
Operational Environment| N/A
Cryptographic Key Management| 2
EMI/EMC| 3
Self-Tests| 2
Design Assurance| 2
Mitigation of Other Attacks| N/A
Modes of Operation
2.1 FIPS Approved Mode of Operation
Configuration and policy determine the Cryptographic Module’s mode of
operation. The Cryptographic Module enters FIPS Approved Mode after successful
completion of the Initialize Cryptographic service instructions provided in
Section 7.2. The operator can determine if the Cryptographic Module is
operating in a FIPS-approved mode by invoking the Get FIPS mode service¹. The
Crypto Officer shall not enable the Makers Authority after the cryptographic
module enters FIPS Approved mode. The cryptographic module is in FIPS non-
Approved mode whenever a successful authentication to the Makers Authority
occurs. If the Crypto Officer enables the Makers Authority after the module
enters FIPS Approved mode, the Crypto Officer must also execute the TCG Revert
Method to zeroize the cryptographic module. If the Crypto Officer,
subsequently, executes the Initialize Cryptographic service instructions
provided in Section 7.2 with the intent of placing the cryptographic module in
FIPS Approved mode, the Crypto Officer must first execute the TCG Revert
Method to zeroize the cryptographic module. The Crypto Officer could enable
the maintenance of logical access after the cryptographic module enters FIPS
Approved mode. However, security rule #11 of section 7.1 (e.g., CSPs
zeroization) shall be followed; the Module
will temporarily enter into a non-Approved mode of operation.
The Ultrastar DC HC520 Product Specification provides information on how to
execute the Initialize Cryptographic service as well as the Zeroize (TCG
Revert) service.
2.2 Approved Algorithms
The Cryptographic Module supports the following FIPS Approved algorithms. All
algorithms and key lengths comply with NIST SP 800-131A.
Algorithm | Description | Cert # |
---|---|---|
AES Firmware | [FIPS 197, SP800 38A, SP 800 38F] Functions: Encryption, |
decryption, and key wrapping to protect an associated MEK in data storage
applications
Modes: ECB, KW Key Size: 256| AES 3880
AES Hardware| [FIPS 197, SP800 38A] Functions: Encryption and decryption Mode:
ECB2
Key Sizes: 128, 256
[FIPS 197, SP800 38A, SP800 38E] Functions: Encryption and decryption in
storage applications only
Mode: XTS3
· XTS-AES Key1 does not equal XTS-AES Key2
·The length of the XTS-AES data unit does not exceed 220 blocks.
Key Sizes: 128, 256| AES 3881
DRBG Firmware| [SP800 90A] Function: Deterministic random number generator
that uses an AES-256 block cipher derivation function.
Mode: CTR Security Strength: 256 bits| DRBG
1108
¹A return value of 1 indicates that the cryptographic module is operating in
FIPS Approved mode.
²Tested AES ECB-128. However, the cryptographic module does not use this
algorithm.
³Tested AES XTS-128. However, the cryptographic module does not use this
algorithm.
Algorithm | Description | Cert # |
---|---|---|
HMAC Firmware | [FIPS 198-1] Function: Key encrypting key (KEK) derivation used |
within the PBKDF
SHA size: SHA-256| HMAC 2522
RSA Firmware| [FIPS 186-4, PSS] Function: Digital signature verification with
SHA-2564
Key size: 2048| RSA 1978
SHA Hardware/Firmware| [FIPS 180-4] Functions: Digital Signature verification
SHA size: SHA-256| SHS 3204
SHA Firmware| [FIPS 180-4] Functions: AUTH Digest and KEK generation SHA size:
SHA-256| SHS 3203
Table 3 – FIPS Approved Algorithms
Algorithm | Description | Rationale |
---|---|---|
CKG | [SP800 133] Cryptographic Key Generation |
Functions: Generated from the DRBG without further modification or post-
processing| Vendor Affirmed [FIPS140] IG D.12.
[SP800 133] Sections 6.1 and 6.2.3
**** PBKDF| [SP800 132] Password-Based Key Derivation Function Functions: Key
Encrypting Key
Modes: HMAC-SHA-256
Key Sizes: 256 bits| Vendor Affirmed [FIPS140] IG D.6 [SP800 132] Section 5.4
Table 4 – Approved Cryptographic Functions Tested with Vendor Affirmation
The Cryptographic Module supports the following non-Approved but allowed algorithm:
- A hardware NDRNG seeds the Approved [SP800 90A] CTR_DRBG. Available entropy does not modify the bit strength of cryptographic keys generated by the CTR_DRBG. Each 2-bit NDRNG sample contains at least 1.1247-bit of min-entropy. Each time the CTR_DRBG is instantiated or reseeded, one thousand twenty-four (1024) 2-bit samples seed the CTR_DRBG. This equates to 2048 bits of entropy data and translates to 1151 bits of min-entropy. A min-entropy of 1151 bits is sufficient to assert that the CTR_DRBG has a bit security of 256 bits. A security strength of 256 bits exceeds the minimum requirement of 112 bits of security strength established by NIST.
Ports and Interfaces
The drive uses the standard 29-pin Serial Attached SCSI (SAS) connector that conforms to the mechanical requirements of SFF 8680. Table 5 below identifies the Cryptographic Module’s ports and interfaces. The Cryptographic Module does not provide a maintenance access interface.
FIPS 140-2 Interface | Cryptographic Module Ports |
---|---|
Power | Power connector [SAS] |
Control Input | SAS connector [SAS] |
Status Output | SAS connector [SAS] |
Data Input | SAS connector [SAS] |
Data Output | SAS connector [SAS] |
Table 5 – FIPS 140-2 Ports and Interfaces
4. Identification and Authentication Policy
The Cryptographic Module enforces role separation by requiring a role
identifier and an authentication credential (Personal Identification Number or
PIN). The Cryptographic Module enforces the following FIPS140-2 operator
roles.
4.1 Crypto Officer
4.1.1 Secure ID (SID) Authority
This TCG authority initializes the Cryptographic Module. Section 11.3.1 of the
TCG Storage Security Subsystem Class: Enterprise Specification defines this
role.
4.1.2 EraseMaster Authority
This TCG authority can selectively zeroize bands within the Cryptographic
Module. Section 11.4.1 of the TCG Storage Security Subsystem Class: Enterprise
Specification defines this role. The TCG EraseMaster authority can disable
Users and erase LBA bands (user data regions).
4.2 BandMaster Authority (User)
User roles correspond to Bandmaster Authorities. Section 11.4.1 of the TCG
Storage Security Subsystem Class: Enterprise Specification provides a
definition. Users have the authority to lock, unlock, and configure LBA bands
(user data regions) and to issue read and write commands to the SED. The TCG
EraseMaster authority can disable a Bandmaster.
4.3 Anybody
Services are provided that do not require authentication. With one exception,
these do not disclose, modify, or substitute Critical Security Parameters, use
an Approved security function, or otherwise affect the security of the
Cryptographic Module. The excepted service is the Generate Random service,
which provides output from an instance of the SP800-90A DRBG.
4.4 Makers
For failure analysis purposes, the vendor can enable a logical diagnostic port
to perform diagnostics and gather data on the failure. A power cycle
automatically disables the logical diagnostic port. An operator must
authenticate to the SID authority and the Makers authority to enable the
logical diagnostic port. The Cryptographic Module is in FIPS
non-Approved mode whenever the Crypto Officer enables the Makers authority.
The vendor performs failure analysis within the vendor’s facility. Makers’
authentication data shall not leave the vendor’s facilities. During normal
operation, the Crypto Officer disables the Makers authority when invoking the
Initialize Cryptographic Module
service.
4.5 Maintenance
For failure analysis purposes, the vendor can enable a privileged mode to
perform diagnostics and gather drive health and failure data. Power cycling
the module automatically negates the Maintenance role authentication. After
authentication, Vendor Unique Commands (VUC) support diagnostic functions for
testing the drive media and the SCSI bus integrity. Operators authenticated to
the maintenance role cannot modify the operational environment.
The following table maps TCG authorities to FIPS 140-2 roles.
TCG Authority| Description| Authentication Type|
Authentication Data
---|---|---|---
SID Authority| The SID Authority is a Crypto Officer role that initializes the
Cryptographic| Role-based| CO Identity (TCG SID Authority) and PIN (TCG
SID Authority PIN )
TCG Authority| Description| Authentication Type|
Authentication Data
---|---|---|---
| Module and authorizes Firmware downloads.| |
EraseMaster Authority| The EraseMaster Authority is a Crypto
Officer role that zeroizes Media Encryption keys and disables Users.| Role-
based| CO Identity (TCG EraseMaster Authority) and PIN (TCG
EraseMaster PIN )
BandMaster N (N = 0 to 15)| BandMaster is a User role that controls read/write
access to LBA Bands.| Role-based| User Identity (TCG BandMaster Authority) and
PIN (TCG
BandMaster PIN )
Anybody| Anybody is a role that does not require authentication.|
Unauthenticated| N/A
Makers (Disabled)| Completion of the Initialize
Cryptographic Module service disables the Makers Authority| Role-based| User
Identity (TCG Makers
Authority) and PIN (Makers PIN)
Maintenance| Maintenance role for Diagnostics commands| Role-based| 32-bit EDC
Table 6 – Roles, Required Identification, and Authentication
Authentication Mechanism | Mechanism Strength |
---|---|
**** TCG Credential (PIN) | TCG Credentials are 256 bits, which provides 2256 |
possible values. The probability that a random attempt succeeds is 1 chance in
2256 (approximately (8.64 x 10-78) which is significantly less than
1/1,000,000 (1x 10-6).
Multiple, successive authentication attempts can only occur sequentially (one
at a time) and only when the failed authentication Tries count value does
not exceed the associated TriesLimit value.
Each authentication attempt consumes approximately 1.603 milliseconds. Hence,
at most, approximately 37,421 authentication attempts are possible in one
minute. Thus, the probability that a false acceptance occurs within a one-
minute interval is approximately 3.2 x 10-73, which is significantly less than
1 chance in 100,000 (1 x 10-5).
Maintenance Role Credential| The maintenance role credential embedded within
the VUC that enables the maintenance role is a 32-bit EDC, which provides 232
possible values. The probability that a random attempt will succeed, or a
false acceptance will occur is at least 1 chance in 232 (2.33 x10-10), which
is significantly less than 1/1,000,000 (1x 10-6).
Authentication attempts consume approximately 7.9 milliseconds. Therefore, at
most, 7,559 authentication attempts are possible within a one-minute interval.
Thus, the probability that a false acceptance occurs within a one-minute
interval is 1.76 x 10-6, which is less than 1 chance in 100,000 (1 x 10-5).
Table 7 – Authentication Mechanism Strengths
Access Control Policy
5.1 Roles and Services
**Service| ****Description| ****Role(s)| Approved Mode|
Non-Approved Mode
---|---|---|---|---
Initialize Cryptographic Module5| Crypto Officer provisions the Cryptographic
Module from organizational policies| CO (SID Authority)| X| X
** Authenticate| Input a TCG Credential for authentication| CO (SID
Authority, raseMaster),
Users, (BandMasters)| X| X
Lock/Unlock Firmware Download Control| Deny/Permit access to Firmware Download
service| CO (SID Authority)| X| X
Firmware Download| Load and utilize RSA2048 PSS and SHA-256 to verify
the entire firmware image. After successfully verifying the firmware image the
SED executes the new firmware object code.
Unlocking the Firmware Download Control enables the downloading of the
firmware.| CO (SID Authority)| X| X
Zero (TCG Revert)| The TCG Revert method zeroizes a drive and returns
the Cryptographic Module to its original
manufactured state.| CO (SID Authority)| X| X
**** Set| Write data structures; access control enforcement occurs
per data structure field. This service can change PINs.| CO (SID Authority,
EraseMaster), Users, (BandMasters)| X| X
Set LBA Band| Set the starting location, size, and attributes of a set of
contiguous Logical Blocks| Users (BandMasters)| X| X
Lock/Unlock LBA Band| Deny/Permit access to an LBA Band| Users (BandMasters)|
X| X
Write Data| Transform plaintext user data to ciphertext and write in an LBA
band| Users (BandMasters)| X| X
Read Data| Read ciphertext from a LBA band and output user plaintext data|
Users (BandMasters)| X| X
Set Data Store| Write a stream of bytes to unstructured storage| Users
(BandMasters)| X| X
Erase LBA Band| Band cryptographic-erasure by changing LBA band
encryption keys to new values. Erasing an LBA band with EraseMaster sets the
TCG Credential to the default value.| CO (EraseMaster)| X| ** X
Service| Description| Role(s)| Approved Mode| Non-
Approved Mode**
---|---|---|---|---
Set Vendor Data (Diagnostics)| A Non-Approved service that is unavailable
after the Initialize Cryptographic Module service completes. For failure
analysis purposes, the vendor can enable a logical diagnostic port to perform
diagnostics and gather data on the failure.| Makers| | X
Diagnostics| For failure analysis purposes, the vendor can enable a
maintenance role to perform diagnostics, gather failure data, and drive health
data. Vendor Unique Commands (VUC) support diagnostic functions for testing
the drive media and the SCSI bus integrity.| Maintenance| | X
Table 8 – Authenticated CM Services (Approved and Non-Approved Mode)
5.2 Unauthenticated Services
Table 9 – Unauthenticated Services lists the unauthenticated services the
Cryptographic Module provides.
Service | Description |
---|---|
Reset Module | Power on Reset |
Self-Test | The Cryptographic Module performs self-tests when it powers up |
Status Output | TCG (IF-RECV) protocol |
Zeroize (TCG Revert) | The TCG Revert method zeroizes a drive and returns the |
Cryptographic Module to its original manufactured state.
Get FIPS Mode| TCG’s‘ Level 0 Discovery’ method outputs the FIPS mode of the
Cryptographic Module.
Start Session| Start TCG session
End Session| End a TCG session by clearing all session state
Generate Random| TCG Random method generates a random number from the
SP800-90A DRBG
Get| Reads data structure; access control enforcement occurs per data
structure field
Get Data Store| Read a stream of bytes from an unstructured storage
SCSI| [SCSI Core] and [SCSI Block] commands to function as a standardized
storage device. See Table 13 – SCSI Commands
FIPS 140 Compliance Descriptor6| This service reports the FIPS 140 revision as
well as the cryptographic module’s overall security level, hardware revision,
firmware revision, and module name.
5.3 Definition of Critical Security Parameters (CSPs)
The Cryptographic Module contains the CSPs listed in Table 10 – CSPs and
Private Keys. Zeroization of CSPs complies with the purge requirements for
SCSI hard disk drives within [SP800 88], Guidelines for Media Sanitization.
Name | Type | Description |
---|---|---|
AUTH Digest | 256-bit authentication data | SHA-256 digest of a PIN and a PIN |
salt
Crypto Officer PIN – TCG Credential (2 total)| 256-bit authentication data|
The PBKDF uses this PIN to authenticate a Crypto Officer’s credentials.
DRBG| Internal CTR_DRBG state (384 bits)| All properties and states associated
with the [SP800 90A] Deterministic Random Bit
Generator. The internal state includes values “V” and “Key”
KEK – Key Encrypting Key (16 total)| SP 800-132 PBKDF (256 bits)| Ephemeral
keys derived from BandMaster PINs and 256-bit KDF salts that wrap the MEKs
using an [SP 800-38F] AES Key Wrap.
Note: Keys protected by this [SP 800-132] PBKDF-derived key shall not leave
the module.
Maintenance Role Credential| 32-bit authentication| A 32-bit EDC authenticates
the credentials
of the VUC that enables the maintenance role.
MEK – Media Encryption Key7
(16 total – 1 per LBA band)| XTS-AES-256 (512 bits)| Encrypts and decrypts LBA
Bands. Each key is only associated with one LBA band. The DRBG within the
Cryptographic
The module generates MEKs without modification.
NDRNG| 256-byte Entropy output| Entropy source for DRBG
User PIN –TCG Credential (16 total)| 256-bit authentication data| The PBKDF
uses this PIN to authenticate a User’s credentials.
Table 10 – CSPs and Private Keys
5.4 Definition of Public Security Parameters
The Cryptographic Module contains two public keys. The cryptographic module
uses the public keys to verify the digital signature of a firmware download
image. If the digital signature verification process fails when utilizing the
primary public key, the cryptographic module attempts to use the second public
key to verify the digital signature. The cryptographic module rejects the
downloaded firmware image if both attempts to verify the digital signature
fail.
Key Name | Type | Description |
---|---|---|
RSAPublicKey[0] | RSA 2048 public key | The primary public key is used to verify |
the digital signature of a firmware image.
RSAPublicKey[1]| RSA 2048 public key| A secondary public key is used to verify
the digital signature of a firmware image.
MID| Twenty-character alpha-numeric string| A unique value is derived from the
module’s serial number. The value is written to nonvolatile memory within the
Cryptographic Module during manufacturing. It serves as the default PIN for all TCG credentials.
Key Name | Type | Description |
---|---|---|
PAID | Twenty-character alpha-numeric string | A unique value was generated in |
the factory and printed on the Cryptographic Module’s label. The PSID serves
as authentication data and proof of physical presence for the Zeroize service.
PIN Salt (16 total)| 256-bit key| The DRBG within the Module generates PIN
salts without modification.
KDF Salt (16 total)| 256-bit key| The DRBG within the Module generates KDF
salts without modification.
Table 11 – Public Security Parameters
5.5 SP800-132 Key Derivation Function Affirmations
The Cryptographic Module deploys a [SP800-132] Password-Based Key Derivation
Function (PBKDF).
- The cryptographic module complies with Option 2a within SP800-132.
- The Cryptographic Module tracks TCG Credentials (PINs) by hashing a 256-bit Salt and PIN. The Cryptographic Module stores the SHA256 digest and associated salt in the Reserved Area.
- Security policy rules set the minimum PIN length at 32 bytes. The cryptographic module allows values from 0x00 to 0xFF for each byte of a PIN
- The upper bound for the probability of guessing a PIN is 2-256. The difficulty of guessing the PIN is equivalent to a brute-force attack.
- KEKs ([SP800 132] Master Keys) derive from passing a TCG Credential PIN ([SP800 132] Password) and a 256-bit KDF salt through an [SP800 132] PBKDF. The Cryptographic Module creates a unique KEK for each LBA Band. The KEK generation process utilizes the HMAC-SHA-256 algorithm. Each KEK has a security strength of 128-bits against a collision attack
- Each 256-bit Salt is a random number generated using the [SP800-90A] DRBG.
- The sole use of a KEK is to wrap and unwrap its associated Media Encryption Key (MEK), which is utilized by storage applications.
5.6 Definition of CSP Modes of Access
Table 12 – CSP Access Rights within Roles & Services defines the relationship
between access to Critical Security Parameters (CSPs) and the different
Cryptographic Module services. The definitions provided below define the
access modes listed in Table 12.
- G = Generate: The Cryptographic Module generates a CSP from the [SP800-90A] DRBG, derives a CSP with the Key Derivation Function or hashes authentication data with SHA-256.
- I = Input: The Cryptographic Module imports a CSP or PSP from outside the cryptographic boundary.
- O = Output: The Cryptographic Module does not support the output of CSPs outside the cryptographic boundary. The Cryptographic module outputs the value of selective PSPs.
- E = Execute: The module executes a service that uses the CSP or PSP.
- S = Store: The Cryptographic Module stores a CSP or PSP persistently on media within the cryptographic module.
- Z = Zeroize: The Cryptographic Module zeroizes a CSP or PSP that is stored in volatile or non-volatile memory.
Service | CSP | PSP |
---|---|---|
AUTH Digest | CO PIN | DRBG |
User PIN | Maintenance Role Credential | RSAPublicKey[0.1] |
MSID | PSID | PIN salt |
Initialize Cryptographic Module | GS | IE |
Authenticate | E | IE |
Lock/Unlock Firmware Download Control | ||
Firmware Download | ||
Set | ||
Set LBA Band | ||
Lock/Unlock LBA Band | ||
Write Data | ||
Read Data | ||
Set Data Store | ||
Set Vendor Data (Diagnostics) | ||
Diagnostics | ||
Erase LBA Band | ||
Self-Test | ||
Reset Module | ||
Status Output | ||
Get FIPS mode | ||
Start Session | ||
End Session | ||
Generate Random | ||
Get Data Store | ||
Get | ||
Zeroize (TCG Revert) | Z | Z |
SCSI | ||
FIPS 140 Compliance Descriptor |
Table 12 – CSP Access Rights within Roles & Services
Operational Environment
The Cryptographic Module operating environment is non-modifiable. Therefore, the FIPS 140-2 operational environment requirements are not applicable to this module. While operational, the code working set cannot be added, deleted, or modified. For firmware upgrades, the Cryptographic Module uses an authenticated download service to upgrade its firmware in its entirety. If the download operation is successful, authorized, and verified, the Cryptographic Module will begin operating with the new code working set. Firmware loaded into the module that is not on the FIPS 140-2 certificate is out of the scope of this validation and requires a separate FIPS 140-2 validation.
Security Rules
The Cryptographic Module enforces applicable FIPS 140-2 Level 2 security requirements. This section documents the security rules that the Cryptographic Module enforces.
7.1 Invariant Rules
- The Cryptographic Module supports two distinct types of operator roles: Crypto Officer and User. The module also supports an additional role, the Makers role. Initialization disables the Makers role.
- Cryptographic Module power cycles clear all existing authentications.
- After the Cryptographic Module has successfully completed all self-tests and initialized according to the instructions provided in Section 7.2, it is in FIPS Approved mode. The Crypto Officer shall not enable the Makers Authority after the cryptographic module enters FIPS Approved mode.
- When the Cryptographic Module is unable to authenticate TCG Credentials, operators do not have access to any cryptographic service other than the unauthenticated Generate Random service.
- The Cryptographic Module performs the following tests. Upon failure of any test, the Cryptographic Module enters a soft error state. The Cryptographic module reports the error condition by transmitting a UEC via the [SCSI] protocol. After entering the soft error state, the cryptographic module does not process functional commands unless a power cycle occurs.
A. Power up Self-Tests
- Firmware Integrity 32-bit EDC
- Firmware AES-ECB Encrypt KAT, AES Cert. #3880
- Firmware AES-ECB Decrypt KAT, AES Cert. #3880
- RSA 2048 PSS Verify KAT, RSA Cert. #1978
- DRBG KAT
8 , DRBG Cert. #1108 - SHA-256 KAT, SHS Cert. #3203
- HMAC-SHA-256 KAT, HMAC Cert. #2522
- Hardware AES-ECB Encrypt KAT, AES Cert. #3881
- Hardware AES-ECB Decrypt KAT, AES Cert. #3881
- HW/FW SHA-256 KAT, SHS Cert. #3204
- Firmware Key Wrap KAT, KW-AE, AES Cert. #3880
- Firmware Key Wrap KAT, KW-AD, AES Cert. #3880
B. Conditional Tests - The Cryptographic Module performs a Continuous Random Number Generator test on the DRBG.
- The Cryptographic Module performs a Continuous Random Number Generator test on the hardware NDRNG entropy source.
- The Cryptographic Module performs an Adaptive Proportion test and a Repetition Count test on the hardware NDRNG entropy source that complies with SP800-90B.
- The Cryptographic Module performs a key comparison test on XTS-AES Key1 and XTS-AES Key2 that satisfies IG A.9 XTS-AES Key Generation Requirements.
- Firmware Download Test, RSA 2048 PSS (Cert. RSA 1978), SHA-256 (Cert. SHS
- An operator can command the Cryptographic Module to perform the power-up self-test by power cycling the device.
- Power-up self-tests do not require operator action.
- Data output is inhibited during key generation, self-tests, zeroization, and error states.
- Status information does not contain CSPs or sensitive data that if misused, could compromise the Cryptographic Module.
- The zeroization service deletes all plaintext keys and CSPs.
- The Cryptographic Module supports a maintenance role. The operator must execute the TCG Revert Method to zeroize the cryptographic module before entering the maintenance role. The operator must also execute the TCG Revert Method to zeroize the cryptographic module after exiting the maintenance role.
- The Cryptographic Module does not support manual key entry.
- The Cryptographic Module does not have any external input/output devices used for the entry/output of data.
- The Cryptographic Module does not output plaintext CSPs.
- The Cryptographic Module does not output intermediate key values.
- The Cryptographic Module does not support concurrent operators.
- The End Session service deletes the current operator authentication. The Cryptographic Module requires operators to re-authenticate upon execution of the End Session service.
- The host shall authenticate to LBA Bands after a power cycle.
- The Crypto Officer shall not enable the Makers Authority after the cryptographic module enters FIPS Approved mode.
- The Crypto Officer shall assure that all host-issued User PINs are 32 bytes in length.
- After a Firmware Download, the CO shall disable the firmware download port by executing “Set ‘Firmware_Dload_Port.PortLocked = True’ ”.
7.2 Initialization Rules
The Crypto Officer shall follow the instructions provided in the FIPS 140
Crypto Officer Instructions section of the Ultrastar DC HC520 Product
Specification and the Delivery & Operation (Crypto Officer’s) Manual for
acceptance and end-of-life procedures.
The Crypto Officer shall initialize the module’s cryptographic services by executing the TCG methods listed below.
-
start session and SyncSession using the ‘Admin SP’
-
Get MSID
-
Use the MSID to authenticate to the SID
a. An authentication failure indicates that a tamper event has occurred for the Cryptographic Module -
Set ‘SID PIN’ to an organizational value
-
Set ‘Makers.Enabled = FALSE’
-
Set ‘Firmware_Dload_Port.Portlock = True
-
Set ‘Firmware_Dload_Port.LockOnReset = PowerCycle’
-
EndSession
-
start session and SyncSession using the ‘Locking SP’
-
Use the MSID to authenticate to the EraseMaster
a. An authentication failure indicates that a tamper event has occurred for the Cryptographic Module -
Set ‘EraseMaster PIN’ to a new value
-
Erase Band0
-
Use the MSID to authenticate to the BandMaster0
a. An authentication failure indicates that a tamper event has occurred for the Cryptographic Module. -
Set ‘BandMaster0 PIN’ to a new value
-
As required by organizational policy, repeat steps 13 to 14 for each LBA band
-
EndSession
-
Power cycle or reset the Cryptographic Module
The instructions provided above accomplish the following.
- Establish authentication data for the TCG Authorities by replacing the MSID (default PIN value).
- Erase the LBA Bands. When the Cryptographic Module erases LBA bands it also cryptographically erases the Media Encryption Keys associated with each LBA band.
- Establish the LBA Bands. When the Cryptographic Module establishes LBA bands it also generates a unique Media Encryption Key for each LBA band.
- Disable the Makers Authority
- Lock the Firmware Download service and set the Firmware Download service to lock automatically after a power cycle.
At the end of the initialization process, the Cryptographic Module will be in
FIPS Approved mode. While in FIPS
In approved mode, only an authenticated Crypto Officer can change the state of
the firmware download service.
7.3 Zeroization Rules
The Crypto Officer shall use the TCG Revert Method to perform the zeroization
service. After successfully executing TCG Revert the Crypto Officer shall
power cycle the module. Power cycling the module assures the erasure of all
CSPs stored in volatile memory. Reverting and power cycling the cryptographic
module zeroizes all Critical Security
Parameters.
Physical Security Policy
8.1 Mechanisms
The Cryptographic Module does not make claims in the Physical Security area
beyond FIPS 140-2 Security Level 2.
- All components are production-grade materials with standard passivation.
- The enclosure is opaque.
- Engineering design supports opacity requirements.
- Western Digital applies one (1) tamper-evident security seal during manufacturing.
- The tamper-evident security seal cannot be penetrated or removed and reapplied without evidence of tampering. In addition, the tamper-evident security seal is difficult to replicate.
8.2 Operator Responsibility
The Crypto Officer shall inspect the Cryptographic Module enclosure for
evidence of tampering at least once a year. If the inspection reveals evidence
of tampering, the Crypto Officer should return the module to Western Digital.
Mitigation of Other Attacks Policy
The cryptographic module is not designed to mitigate any specific attacks beyond the scope of the requirements within FIPS 140-2.
Definitions
- Allowed: NIST approved, i.e., recommended in a NIST Special Publication, or acceptable, i.e., no known security risk as opposed to deprecated, restricted and legacy-use. [SP800-131A] for terms
- Anybody: A formal TCG term for an unauthenticated role. [TCG Core]
- Approved: [FIPS140] approved or recommended in a NIST Special Publication.
- Approved mode of operation: A mode of the cryptographic module that employs only approved security functions. [FIPS140]
- Authenticate: Prove the identity of an Operator or the integrity of an object.
- Authorize Grant an authenticated Operator access to a service or an object.
- Ciphertext: Encrypted data transformed by an Approved security function.
- Confidentiality: A cryptographic property in that sensitive information is not disclosed to unauthorized parties.
- Credential: A formal TCG term for data used to authenticate an Operator. [TCG Core]
- Critical Security Parameter (CSP): Security-related information (e.g., secret and private cryptographic keys, and authentication data such as credentials and PINs) whose disclosure or modification can compromise the security of a cryptographic module. [FIPS140]
- Cryptographic Boundary: An explicitly defined continuous perimeter that establishes the physical bounds of a cryptographic module and contains all the hardware, software, and/or firmware components of a cryptographic module. [FIPS140]
- Cryptographic key (Key): An input parameter to an Approved cryptographic algorithm
- Cryptographic Module: The set of hardware, software, and/or firmware used to implement approved security functions contained within the cryptographic boundary. [FIPS140]
- Crypto Officer: An Operator performing cryptographic initialization and management functions. [FIPS140]
- Data at Rest: User data residing on the storage device media when the storage device is powered off.
- Discovery: A TCG method that provides the properties of the TCG device. [TCG Enterprise]
- Integrity: A cryptographic property that sensitive data has not been modified or deleted in an unauthorized and undetected manner.
- Interface: A logical entry or exit point of a cryptographic module that provides access to the cryptographic module for logical information flows. [FIPS140]
- Key Derivation Function (KDF): An Approved cryptographic algorithm by which one or more keys are derived from a shared secret and other information.
- Key Encrypting Key (KEK): A cryptographic key that is used to encrypt or decrypt other keys.
- Key management: The activities involving the handling of cryptographic keys and other related security parameters (e.g., authentication data) during the entire life cycle of the Cryptographic Module.
- Key Wrap: An Approved cryptographic algorithm that uses a KEK to provide Confidentiality and Integrity.
- LBA Band: A formal [TCG Core] term that defines a contiguous logical block range (sequential LBAs) to store encrypted User Data; bands do not overlap, and each has its own unique encryption key and other settable properties.
- Manufactured SID (MSID): A unique default value that vendors assign to each SED during manufacturing. An externally visible MSID value is not required if the user can derive the MSID from other information printed on the drive. The MSID is readable with the TCG protocol. It is the initial and default value for all TCG credentials. [TCG Core]
- Method: A TCG command or message. [TCG Core]
- Operator: A consumer, either human or automated, of cryptographic services that is external to the Cryptographic Module. [FIPS140]
- Personal Identification Number (PIN): A formal TCG term designating a string of octets used to authenticate an identity. [TCG Core]
- Plaintext: Unencrypted data.
- Port: A physical entry or exit point of a cryptographic module that provides access to the Cryptographic Module for physical signals. [FIPS140]
- PSID (Physical Security Identifier): a SED unique value that is printed on the Cryptographic Module’s label and is used as authentication data and proof of physical presence for the Zeroize service.
- Public Security Parameters (PSP): Public information whose modification can compromise the security of the cryptographic module (e.g., a public key).
- Read Data: An external request to transfer User Data from the SED. [SCSI Block]
- Reserved Area: Private data on the Storage Medium that is not accessible outside the Cryptographic Boundary.
- Security Identifier (SID): A TCG authority used by the Crypto Officer. [TCG Core]
- Self-Encrypting Drive (SED): A storage device that provides data storage services, which automatically encrypts all user data written to the device and automatically decrypts all user data read from the device.
- Session: A formal TCG term that envelops the lifetime of an Operator’s authentication. [TCG Core]
- Storage Medium: The non-volatile, persistent storage location of a SED; it is partitioned into two disjoint sets, a User Data area and a Reserved Area.
- User: An Operator that consumes cryptographic services. [FIPS140]
- User Data: Data transferred from/to a SED using the Read Data and Write Data commands. [SCSI Block]
- Write Data: An external request to transfer User Data to a SED. [SCSI Block]
- Zero: Invalidate a Critical Security Parameter. [FIPS140]
Acronyms
- CO: Cryptographic Office [FIPS140]
- CRC: Cyclic Redundancy Check
- CSP: Critical Security Parameter [FIPS140]
- DRAM: Dynamic Random Access Memory
- DRBG: Deterministic Random Bit Generator
- EDC: Error Detection Code
- EMI: Electromagnetic Interference
- FIPS: Federal Information Processing Standard
- HDD: Hard Disk Drive
- KAT: Known Answer Test
- KDF: Key Derivation Function
- LBA: Logical Block Address
- MEK: Media Encryption Key
- MSID: Manufactured Security Identifier
- NDRNG: Non-deterministic Random Number Generator
- NIST: National Institute of Standards and Technology
- PIN: Personal Identification Number
- PSID: Physical Security Identifier
- PSP: Public Security Parameter
- SAS: Serial Attached SCSI
- SCSI: Small Computer System Interface
- SED: Self-encrypting Drive
- SID: TCG Security Identifier, the authority representing the Cryptographic Module owner
- SSD: Solid-state Drive
- TCG: Trusted Computing Group
- UEC: Universal Error Code
- VUC: Vendor Unique Command
- XTS: A mode of AES that utilizes “Tweakable” block ciphers
References
12.1 NIST Specifications
- [AES] Advanced Encryption Standard, FIPS PUB 197, NIST, November 2001
- [DSS] Digital Signature Standard, FIPS PUB 186-4, NIST, July 2013
- [FIPS140] Security Requirements for Cryptographic Modules, FIPS PUB 140-2, NIST, December 2002
- [HMAC] The Keyed-Hash Message Authentication Code, FIPS PUB 198-1, July 2008
- [SHA] Secure Hash Standard (SHS), FIPS PUB 180-4, NIST, August 2015
- [SP800-38E] Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality on Storage Devices, SP800-38E, NIST, January 2010
- [SP800-38F] Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping, NIST, December 2012
- [SP800-57] Recommendation for Key Management – Part I General (Revision 4), NIST, January 2016
- [SP800 88] Guidelines for Media Sanitization, NIST, December 2014
- [SP800-90A] Recommendation for Random Number Generation Using Deterministic Random Bit Generators (Revision 1), NIST, June 2015
- [SP800-90B] Recommendation for Entropy Sources Used for Random Bit Generation, NIST, January 2018
- [SP800 131A] Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths (Revision 2), NIST, March 2019
- [SP800-132] Recommendation for Password-Based Key Derivation, NIST, December 2010
- [SP800 133] Recommendation for Cryptographic Key Generation, NIST (Revision 2), June 2020
12.2 Trusted Computing Group Specifications
- [TCG Core] TCG Storage Architecture Core Specification, Version 2.0 Revision 1.0 (April 20, 2009)
- [TCG Enterprise] TCG Storage Security Subsystem Class: Enterprise Specification, Version 1.00 Revision 3.00 (January 10, 2011)
- [TCG App Note] TCG Storage Application Note: Encrypting Storage Devices Compliant with SSC: Enterprise, Version 1.00 Revision 1.00 Final
- [TCG Opal] TCG Storage Security Subsystem Class: Opal Specification, Version 2.00 Final Revision 1.00 (February 24, 2012)
- TCG Storage Interface Interactions Specification (SIIS), Version 1.02, (2011)
12.3 International Committee on Information Technology Standards T10 Technical Committee Standards
- [SCSI Core] SCSI Primary Commands (SPC-5)
- [SCSI Block] SCSI Block Commands (SBC-3)
- [SAS] Serial Attached SCSI (SAS-4)
- [SFSC] Security Features for SCSI Commands
12.4 Western Digital Documents
-
[Product Specification] Ultrastar DC HC520 (He12) SAS OEM Specification, Version 1.3, January 2020,
https://shop.westerndigital.com/c/data-center-drives -
[Datasheet] Ultrastar DC HC520 Datasheet, (August 2019), https://shop.westerndigital.com/c/data-centerdrives
-
[D&O] Delivery & Operation (Crypto Officer) Manual, Version: 0.12, January 7, 2017
12.5 SCSI Commands
Description | Code | Description | Code | |
---|---|---|---|---|
FORMAT UNIT | 04h | RESERVE | 16h | |
INQUIRY | 12h | RESERVE | 56h | |
LOG SELECT | 4Ch | REZERO UNIT | 01h | |
LOG SENSE | 4Dh | SANITIZE | 48h | |
MODE SELECT | 15h | SEEK (6) | 0Bh | |
MODE SELECT | 55h | SEEK (10) | 2Bh | |
MODE SENSE | 1Ah | SEND DIAGNOSTIC | 1Dh | |
MODE SENSE | 5Ah | SET DEVICE IDENTIFIER | A4h/06h | |
PERSISTENT RESERVE IN | 5Eh | START STOP UNIT | 1Bh | |
PERSISTENT RESERVE OUT | 5Fh | SYNCHRONIZE CACHE (10) | 35h | |
PRE-FETCH (16) | 90h | SYNCHRONIZE CACHE (16) | 91h | |
PRE-FETCH (10) | 34h | TEST UNIT READY | 00h | |
READ (6) | 08h | UNMAP | 42h | |
READ (10) | 28h | VERIFY (10) | 2Fh | |
READ (12) | A8h | VERIFY (12) | AFh | |
READ (16) | 88h | VERIFY (16) | 8Fh | |
READ (32) | 7Fh/09h | VERIFY (32) | 7Fh/0Ah | |
READ BUFFER | 3Ch | WRITE (6) | 0Ah | |
READ CAPACITY (10) | 25h | WRITE (10) | 2Ah | |
READ CAPACITY (16) | 9Eh/10h | WRITE (12) | AAh | |
READ DEFECT DATA | 37h | WRITE (16) | 8Ah | |
READ DEFECT DATA | B7h | WRITE (32) | 7Fh/0Bh | |
READ LONG (16) | 9Eh/11h | WRITE AND VERIFY (10) | 2Eh | |
READ LONG | 3Eh | WRITE AND VERIFY (12) | AEh | |
REASSIGN BLOCKS | 07h | WRITE AND VERIFY (16) | 8Eh | |
RECEIVE DIAGNOSTICS RESULTS | 1Ch | WRITE AND VERIFY (32) | 7Fh/0Ch | |
RELEASE | 17h | WRITE BUFFER | 3Bh | |
RELEASE | 57h | WRITE LONG (10) | 3Fh | |
REPORT DEVICE IDENTIFIER | A3h/05h | WRITE LONG (16) | 9Fh/11h | |
REPORT LUNS | A0h | WRITE SAME (10) | 41h | |
REPORT SUPPORTED OPERATION CODES | **** A3h/0Ch | **** WRITE SAME (16) |
93h
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS| A3h/0Dh| | WRITE SAME
(32)| 7Fh/0Dh
REQUEST SENSE| 03h| | |
Table 13 – SCSI Commands
FIPS 140- 2 Security Policy
Western Digital
Documents / Resources
|
Western Digital DC HC330 Ultrastar He¹² TCG Enterprise HDD FIPS 140-2
Cryptographic
Module
[pdf] Instructions
DC HC330, Ultrastar He TCG Enterprise HDD FIPS 140-2 Cryptographic Module,
Enterprise HDD FIPS 140-2 Cryptographic Module, FIPS 140-2 Cryptographic
Module, Cryptographic Module, DC HC330, Module
---|---
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>