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

FlashBlade Data Encryption Module

Certificate#5000StandardFIPS 140-3Level1TypeHardwareEmbodimentSingle ChipStatusActiveVendorPure Storage, Inc.
Medium review priority  ·  exposes HSM/SE firmware trust anchor  ·  last validated 15 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level1
Module typeHardware
EmbodimentSingle Chip
StatusActive
Sunset date4/16/2027
CaveatInterim validation
VendorPure Storage, Inc.
Hardware versionsPM8607B1-F3EI

Vendor resources (verify with the vendor)

Product pagehttps://www.purestorage.com/products/unstructured-data-storage.html
Support pagehttps://support.purestorage.com/ closed support
Documentationhttps://www.purestorage.com/products/storage-software/purity/protect.html
AssessmentEverpure/Pure Storage knowledge portal requires registration/login; public site carries marketing product pages only.

Approved Algorithms (1)

AlgorithmACVP Cert
AES-XTSA906

Security Levels (Table 1)

Requirement areaLevel
Cryptographic Module Specification1
Cryptographic Module Interfaces1
Roles, Services, and Authentication1
Operational Environment1
Physical Security1
Sensitive Security Parameter Management1
Self-Tests1
Mitigation of Other AttacksN/A

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

flowchart LR
  %% Deterministic review-risk graph for FlashBlade Data Encryption Module
  %% Review prompts and evidence gaps, NOT vulnerability findings.
  subgraph CMVP["CMVP-disclosed clues"]
    C1["[high] Firmware / bootloader<br/>versions disclosed<br/>(identity, not provenance)<br/><i>2.10</i>"]
    C2["[high] Firmware update / recovery<br/>/ rollback services<br/><i>Upgrade</i>"]
    C3["[high] Unauthenticated /<br/>self-test / status service<br/>surface<br/><i>Show Status</i>"]
    C4["[high] Physical/logical<br/>interfaces (some 'blocked<br/>in firmware')<br/><i>PCIe Bus, DDR in<br/>PCIe Bus, DDR out<br/>PCIe Bus</i>"]
    C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>application</i>"]
  end
  subgraph Inference["Derived inference"]
    I1["Component identity is<br/>disclosed, but provenance<br/>and patch lineage are not."]
    I2["Trusted code is reachable<br/>through update and<br/>recovery paths."]
    I3["Some services may process<br/>input before, or without,<br/>operator authentication."]
    I4["Interface reachability may<br/>vary by boot stage and<br/>lifecycle state."]
    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"]
    R1["Do the vendor version<br/>strings obscure the<br/>upstream baseline, fork<br/>lineage, or known-CVE<br/>exposure?"]
    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?"]
    R4["Are interfaces blocked<br/>before the bootloader<br/>runs, or only after<br/>approved mode starts?"]
    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"]
    E1["SBOM / component baselines<br/>· patch and backport<br/>manifest · CVE disposition"]
    E2["update image format ·<br/>signature-before-parse<br/>proof · anti-rollback /<br/>downgrade policy"]
    E3["pre-auth reachability<br/>matrix · rate limits and<br/>output redaction ·<br/>abuse-case tests"]
    E4["lifecycle reachability<br/>matrix · boot-stage<br/>interface timing ·<br/>factory/recovery/error-state<br/>access controls"]
    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
  C1 --> I1 --> R1 --> E1
  C2 --> I2 --> R2 --> E2
  C3 --> I3 --> R3 --> E3
  C4 --> I4 --> R4 --> E4
  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 C1,C2,C3,C4,C6 clue;
  class I1,I2,I3,I4,I6 infer;
  class R1,R2,R3,R4,R6 risk;
  class E1,E2,E3,E4,E6 evidence;
Underlying clues
flowchart LR
  %% Deterministic clue tier for FlashBlade Data Encryption Module
  %% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
  subgraph CMVP["CMVP-disclosed clues (deterministic)"]
    C1["[high] Firmware / bootloader versions disclosed (identity, not provenance)<br/><i>2.10</i><br/>src: certificate.firmwareVersions"]
    C2["[high] Firmware update / recovery / rollback services<br/><i>Upgrade</i><br/>src: securityPolicy.services"]
    C3["[high] Unauthenticated / self-test / status service surface<br/><i>Show Status</i><br/>src: securityPolicy.services"]
    C4["[high] Physical/logical interfaces (some 'blocked in firmware')<br/><i>PCIe Bus, DDR in<br/>PCIe Bus, DDR out<br/>PCIe Bus</i><br/>src: securityPolicy.portsAndInterfaces"]
    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 C1,C2,C3,C4 clueHigh;
  class C6 clueLow;

Security Policy, page by page

Page 1

Pure Storage, Inc. FlashBlade Data Encryption Module Hardware Version: PM8607B1-F3EI; Firmware Version: 2.10 Non-Proprietary FIPS 140-3 Security Policy Document Version: 1.2 Date: April 2nd, 2025 Pure Storage, Inc.

2555 Augustine Dr.

Santa Clara, CA 95054 800-379-7873 © 2015-2025 Pure Storage, Inc. Version 1.2 Pure Storage Inc. Public Material

Page 2
Table of Contents
#SectionPage
1General4
2Cryptographic module specification5
2.1Mode of Operation6
3Cryptographic Module Interfaces7
4Role, services, and authentication7
5Software/Firmware security8
6Operational Environment9
7Physical Security Policy9
8Non-invasive security9
9Sensitive Security Parameter Management9
9.1Zeroisation9
10Self-tests10
11Life-cycle Assurance11
11.1General requirements11
11.2Crypto Officer Guidance11
11.3End of Life11
12Mitigation of Other Attacks Policy11
13References and Definitions12
Page 3
List of Tables
ItemPage
Table 1 – Security Level of Security Requirements4
Table 2 – Cryptographic Module Tested Configuration6
Table 3 – Approved Algorithms6
Table 4 – Ports and Interfaces7
Table 5 – Roles, Service Commands, Input and Output7
Table 6 – Approved Services8
Table 7 – Sensitive Security Parameters (SSPs)9
Table 8 – References12
Table 9 – Acronyms and Definitions12
Figure 1 – Cryptographic Boundary5
Figure 2 – Physical Perimeter6
Page 4
Security level
NameISO SectionRequirementLevel
11General1
22Cryptographic Module Specification1
33Cryptographic Module Interfaces1
44Roles, Services, and Authentication1
55Software/Firmware security1
66Operational Environment1
77Physical Security1
88Non-invasive SecurityN/A
99Sensitive Security Parameter Management1
1010Self-Tests1
1111Life-cycle Assurance1
1212Mitigation of Other AttacksN/A

This document defines the Security Policy for the FlashBlade Data Encryption Module, hereafter denoted as the Module. The Module is validated to FIPS 140-3 overall Level 1 requirements with security levels as follows: N/A N/A © 2015-2025 Pure Storage, Inc. Version 1.2 Pure Storage Inc. Public Material

Page 5

Cryptographic module specification The Module is a Hardware cryptographic module, as defined by [ISO19790]. The module consists of the Belmar ASIC for performing AES-256 XTS mode encryption and decryption for User data, and a firmware component to provide self-test functionality. For XTS mode, encrypt and decrypt operations are symmetric, thus the module is one logical block. Furthermore, the AES-256 XTS mode encryption and decryption can only be used for storage of User data. The Module is intended for use by US Federal agencies or other markets that require FIPS 140-3 validated Data Storage. The physical form of the Module is depicted in Figure 2. The cryptographic boundary is the single-chip Flash Controller, including an XTS-AES-256 hardware block in the Direct Memory Access engine, as well as a firmware component running on the ASIC. This component is responsible for loading the AES key into the cryptographic hardware and running the Self-Tests. Data is encrypted while being transported by the DMA engine into the drive and decrypted by the engine on the way out. The diagram below shows the flow of data through the module. Figure 1

Figure 1 – Cryptographic Boundary
Figure 1 – Cryptographic Boundary
Page 6
Module configuration
NameModelHardware VersionFirmware VersionFeatures
PMC Flashtec NVMe 2016 Controller ChipPMC Flashtec NVMe 2016 Controller ChipPM8607B1-F3EI2.10N/A
Approved algorithm
NameCAVP CertMode MethodKey SizeUse Function
AES [FIPS 197]#A906XTS [800-38E]Key Sizes: 512 (Two 256 keys)Encrypt/Decrypt

Figure 2

Figure 2 – Physical Perimeter
Figure 2 – Physical Perimeter
Page 7
Ports and interfaces
NamePhysical PortLogical InterfaceData That Passes
PCIe Bus, DDR inPCIe Bus, DDR inData InputInput buffer, resident in host memory or device DDR memory
PCIe Bus, DDR outPCIe Bus, DDR outData OutputOutput buffer, resident in host memory or device DDR memory
PCIe BusPCIe BusControl InputArguments from NVMe over PCIe command, contain parameters such as buffer location, length, and configuration information
PCIe BusPCIe BusStatus OutputAPI return code from NVMe over PCIe command
PCIe BusPCIe BusPower InputNone
Service
NameRolesInputOutput
Key InitializationCOAES KeyNone
EncryptUserKey, plaintextCiphertext
DecryptUserKey, ciphertextPlaintext
Reset ModuleCOAPI callNone
Show StatusCOAPI callStatus
Run self-testsCOAPI callPass/Fail Status

Cryptographic Module Interfaces The data enters and exits the module via the memory subsystem. There are two ports to the memory subsystem, one from the PCIe interface, and one from the DDR interface, which are connected to the DMA hardware engine. For the firmware portion of the module, the logical interfaces are the application program interfaces (APIs) through which commands are issued to the flash controller firmware. The flash controller itself communicates using the NVMe over PCIe protocol. The five interfaces which are used in the cryptographic module are specified in Table 3 below. Table 4

Page 8
Service
NameDescriptionRolesCsps AccessedApproved FunctionsAccessIndicator
Key InitializationSet the AES Key to be used for encryption/ decryption.COAES KeyWField in ‘Show Status’
Encrypt/ DecryptPerform AES 256 Bit XTS mode encryption or decryption.UAES KeyXTS-AESEStatus code
Reset ModuleResets the module and zeroizes the SSPs.COAES KeyZField in ‘Show Status’
Show StatusKey Loaded (Drive Locked): (True/False) KAT Test Passed: (TEST_PASSED/ TEST_FAILED) Integrity Test Passed: TEST_PASSED/TEST_FAILED Key Init Indicator: (0 or 1) Zeroize Indicator: (0 or 1) Show State Indicator: (0 or 1) Encryption Version: (0 or 1) Approved Mode of Operation: (True/False) Version: Firmware Version from Table 2COField in ‘Show Status’
Run self-testsRun pre-operational self-tests on demandCOField in ‘Show Status’
UpgradeLoad Firmware to External FlashCONone
COPower Off/ZeroizationNoneNone
COPower OnNoneNone
COUpgradeFW ImagePass/Fail Status

W U E Z Key: G = Generate, R = Read, W = Write, E = Execute, Z = Zeroize © 2015-2025 Pure Storage, Inc. Pure Storage Inc. Public Material

Page 9
Sensitive security parameter
NameStrengthSecurity FunctionGenerationEstablishmentStorageZeroizationUseImport Export
AES Key256 bitsAES #A906NoneNoneTemporary MemoryReset/ Power cycleEncrypt/ DecryptElectronically Input

is run automatically on power up and before the module is operational, and if the test fails then the Module will not enter an operational state. The firmware itself is executed as a BIN executable. The Belmar ASIC has 16 separate cores, each which runs a respective binary. The binary is constructed from an ELF executable, and similarly consists of sections which are given a loading address and section size. Each section is loaded into memory in the Secondary Boot Loader during the boot process. Operational Environment The Module has a non-modifiable operational environment under the FIPS 140-3 definitions. Firmware versions validated through the FIPS 140-3 CMVP will be explicitly identified on a validation certificate, along with the Belmar ASIC model number. Any firmware or hardware not identified in this Security Policy does not constitute the Module defined by this Security Policy or covered by this validation. Physical Security Policy The Module, which has a single-chip embodiment, meets the FIPS 140-3 requirements for production grade components and standard passivation. The PMC Flashtec NVMe 2016 Controller Chip (referred to as the Belmar ASIC) the module consists of is produced for high performance enterprise workloads. Non-invasive security Not Applicable. The module does not support non-invasive attack security. Sensitive Security Parameter Management All SSPs used by the Module are described in this section. All usage of these SSPs by the Module are described in the services detailed in Section 4. The SSPs are kept in volatile write-only registers in the Module, and all intermediate values used for loading SSPs are zeroized immediately after use. Table 7

Page 10
10 Self-tests

Each time the Module is powered on it will perform self-tests to ensure its proper operation. Per FIPS 140-3 these are categorized as either pre-operational self-tests or conditional self-tests. Pre-operational self–tests are available on demand by power cycling the module, or through an API call. Conditional selftests are available through an API call. All cryptographic algorithm self-tests (CASTs) must complete successfully prior to any other use of cryptography by the Module. The Module performs the following pre-operational self-tests.

Page 11
11 Life-cycle Assurance
11.1 General requirements

The FlashBlade Data Encryption Module is integrated into Pure Storage Inc. storage products and is not delivered on its own as a standalone product. Pure Storage Inc.’s internal development process guarantees that the correct version of module goes with its intended products.

11.2 Crypto Officer Guidance

The module is configured to be operational by default. If the Flash Controller Chip starts up successfully and has successfully passed the Self-tests detailed in Section 10, it is operating correctly and can begin servicing requests. All the functions, ports and logical interfaces described in this document are implicitly available to the Crypto Officer and User roles. The module only provides approved functions, and as such there are no special procedures to configure or administer the approved mode of operation. There are no requirements for non-administrator operators. The operator can verify that the module is in the Approved mode of operation and that the FIPS validated version is being used, by checking the version output using the "Show Status" service. This is performed by invoking the 'wssdtool dump' command. The output will include the following: Chip version: NVMe2016.B1 Firmware Version: 2.10.27

11.3 End of Life

When decommissioning the Flash Controller Chip a reset of the power will sanitize all SSPs in the module (the AES-XTS keys).

12 Mitigation of Other Attacks Policy

Not Applicable. The module does not support mitigation of other attacks. © 2015-2025 Pure Storage, Inc. Version 1.2 Pure Storage Inc. Public Material

Page 12
AbbreviationFull Specification Name
[FIPS140-3]Security Requirements for Cryptographic Modules, May 25, 2001
[IG]Implementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program
[197]National Institute of Standards and Technology, Advanced Encryption Standard (AES), Federal Information Processing Standards Publication 197, November 26, 2001
[38E]Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality on Storage Devices, January 2010
AcronymDefinition
AESAdvanced Encryption Standard
ACVPAutomated Cryptographic Validation Program
CMVPCryptographic Module Validation Program
COCryptographic Officer
SSPSensitive Security Parameter
XTSXEX (XOR Encrypt XOR) Tweakable block cipher with ciphertext Stealing
EPROMA programmable NOR flash memory
FIPSFederal Information Processing Standard
KATKnown Answer Test
NVMeNon-Volatile Memory Express
DMADirect Memory Access
SDMASector DMA, moves memory in Sector chunks
13 References and Definitions

The following standards are referred to in this Security Policy. Table 8