| Standard | FIPS 140-3 |
|---|---|
| Overall level | 1 |
| Module type | Software |
| Embodiment | Multi-Chip Stand Alone |
| Status | Historical |
| Caveat | Interim validation. When installed, initialized and configured as specified in section 11 of the Security Policy |
| Vendor | NetApp, Inc. |
flowchart LR
%% Deterministic review-risk graph for NetApp CryptoMod
%% 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>Self-Test<br/>UnAuth<br/>Status Output</i>"]
C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>IPSEC<br/>HTTPS</i>"]
C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system<br/>kernel<br/>application</i>"]
end
subgraph Inference["Derived inference"]
I2["Possible only, trusted<br/>code is reachable through<br/>update and recovery paths."]
I3["Possible only, some<br/>services may process input<br/>before, or without,<br/>operator authentication."]
I5["Possible only, a protocol<br/>is referenced, but whether<br/>it is a live channel or<br/>only a KDF/algorithm name<br/>is unconfirmed."]
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?"]
R5["If a live TLS/SSH/IKE<br/>channel exists, could<br/>library CVEs apply, or is<br/>this only a<br/>KDF/documentation name?"]
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"]
E5["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>library identity and<br/>version ·<br/>certificate-validation<br/>behaviour · protocol-CVE<br/>disposition"]
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
C5 --> I5 --> R5 --> E5
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,C5,C6 clue;
class I2,I3,I5,I6 infer;
class R2,R3,R5,R6 risk;
class E2,E3,E5,E6 evidence;flowchart LR
%% Deterministic clue tier for NetApp CryptoMod
%% 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>Self-Test<br/>UnAuth<br/>Status Output</i><br/>src: text:keyword"]
C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<br/>IPSEC<br/>HTTPS</i><br/>src: text:keyword"]
C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system<br/>kernel<br/>application</i><br/>src: text:keyword"]
end
classDef clueHigh fill:#eef3f9,stroke:#2f6fb0,stroke-width:2px,color:#1f3a5f;
classDef clueMedium fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
classDef clueLow fill:#f7f7f7,stroke:#999,stroke-dasharray:4 4,color:#444;
class C2,C3,C5,C6 clueLow;NetApp, Inc. NetApp CryptoMod 3.0
| # | Section | Page |
|---|
| Item | Page |
|---|---|
| Table 1: Security Levels | 5 |
| Table 2: Tested Module Identification – Software, Firmware, Hybrid (Executable Code Sets) | 8 |
| Table 3: Tested Operational Environments - Software, Firmware, Hybrid | 8 |
| Table 4: Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid | 15 |
| Table 5: Modes List and Description | 15 |
| Table 6: Approved Algorithms | 16 |
| Table 7: Vendor-Affirmed Algorithms | 16 |
| Table 8: Security Function Implementations | 19 |
| Table 9: Entropy Certificates | 21 |
| Table 10: Entropy Sources | 21 |
| Table 11: Ports and Interfaces | 23 |
| Table 12: Roles | 23 |
| Table 13: Approved Services | 27 |
| Table 14: Storage Areas | 28 |
| Table 15: SSP Input-Output Methods | 29 |
| Table 16: SSP Zeroization Methods | 29 |
| Table 17: SSP Table 1 | 31 |
| Table 18: SSP Table 2 | 33 |
| Table 19: Pre-Operational Self-Tests | 33 |
| Table 20: Conditional Self-Tests | 34 |
| Table 21: Pre-Operational Periodic Information | 35 |
| Table 22: Conditional Periodic Information | 36 |
| Table 23: Error States | 36 |
| Figure 1: Block Diagram | 7 |
| Section | Title | Security Level |
|---|---|---|
| 1 | General | 1 |
| 2 | Cryptographic module specification | 1 |
| 3 | Cryptographic module interfaces | 1 |
| 4 | Roles, services, and authentication | 1 |
| 5 | Software/Firmware security | 1 |
| 6 | Operational environment | 1 |
| 7 | Physical security | N/A |
| 8 | Non-invasive security | N/A |
| 9 | Sensitive security parameter management | 1 |
| 10 | Self-tests | 1 |
| 11 | Life-cycle assurance | 1 |
| 12 | Mitigation of other attacks | N/A |
| Overall Level | 1 |
The NetApp CryptoMod module, hereby referred to as either CryptoMod, or “the Module”, is a multi-chip standalone module validated at FIPS 140-3 Security Level 1. Specifically, the module meets the following security levels for each of the individual sections in the FIPS 140-3 standard:
In accordance with AS02.05, [ISO 19790] §7.7 Physical Security is optional and does not apply to the Module. In accordance with current CMVP policy, [ISO 19790] §7.8 Non-Invasive Security is not applicable.
Purpose and Use: The Module is a kernel mode cryptographic software library providing a C-language application program interface (API) for use by ONTAP kernel modules that require cryptographic functionality. The Module is designated as a software module with multi-chip standalone embodiment based on the descriptions of [ISO 19790] AS02.03. The Module is intended for use by US and Canadian Federal agencies and other markets that require FIPS 140-3 validated cryptographic functionality. The Module’s formal name and version are “CryptoMod” and “3.0”, respectively. The Module’s design corresponds to the Module security roles. Security roles enforced by the Module are described in the appropriate context of the document.
Module Type: Software Module Embodiment: MultiChipStand Cryptographic Boundary: The cryptographic boundary of the CryptoMod module is the cryptomod_fips kernel module of the ONTAP OS kernel. The cryptographic boundary is depicted in red in the figure below. The Module’s approved DRBG is used to supply the Module’s cryptographic keys. Tested Operational Environment’s Physical Perimeter (TOEPP): The Tested OE’s Physical Perimeter (TOEPP) for the module is the enclosure of the NetApp controller.
| Package or File Name | Software/ Firmware Version | Features | Integrity Test | ||
|---|---|---|---|---|---|
| cryptomod_fips.ko | 3.0 | N/A | HMAC-SHA2-256 |
Tested Module Identification
| Operating System | Hardware Platform | Processors | PAA/PAI | Hypervisor or Host OS | Version(s) |
|---|---|---|---|---|---|
| ONTAP 9.11.1 | AFF A250 | Intel Xeon D-2164IT | No | N/A | 3.0 |
| ONTAP 9.11.1 | AFF A250 | Intel Xeon D-2164IT | Yes | N/A | 3.0 |
| ONTAP 9.11.1 | AFF A400 | Intel Xeon Silver 4210 | No | N/A | 3.0 |
| ONTAP 9.11.1 | AFF A400 | Intel Xeon Silver 4210 | Yes | N/A | 3.0 |
| ONTAP 9.11.1 | AFF A900 | Intel Xeon Platinum 8352Y | No | N/A | 3.0 |
| ONTAP 9.11.1 | AFF A900 | Intel Xeon Platinum 8352Y | Yes | N/A | 3.0 |
| Operating System | Hardware Platform |
|---|---|
| ONTAP 9.11 | AFF A150 |
| ONTAP 9.12 | AFF A150 |
| ONTAP 9.13 | AFF A150 |
| ONTAP 9.14 | AFF A150 |
| ONTAP 9.15 | AFF A150 |
| ONTAP 9.16 | AFF A150 |
| ONTAP 9.17 | AFF A150 |
| ONTAP 9.15 | AFF A1K |
| ONTAP 9.16 | AFF A1K |
| ONTAP 9.17 | AFF A1K |
| ONTAP 9.11 | AFF A220 |
| ONTAP 9.12 | AFF A220 |
| ONTAP 9.13 | AFF A220 |
| ONTAP 9.14 | AFF A220 |
| ONTAP 9.15 | AFF A220 |
| ONTAP 9.16 | AFF A220 |
| ONTAP 9.17 | AFF A220 |
| ONTAP 9.12 | AFF A250 |
| ONTAP 9.13 | AFF A250 |
| ONTAP 9.14 | AFF A250 |
| ONTAP 9.15 | AFF A250 |
Table 2: Tested Module Identification
| Operating System | Hardware Platform |
|---|---|
| ONTAP 9.16 | AFF A250 |
| ONTAP 9.17 | AFF A250 |
| ONTAP 9.11 | AFF A300 |
| ONTAP 9.12 | AFF A300 |
| ONTAP 9.13 | AFF A300 |
| ONTAP 9.14 | AFF A300 |
| ONTAP 9.15 | AFF A300 |
| ONTAP 9.16 | AFF A300 |
| ONTAP 9.11 | AFF A320 |
| ONTAP 9.12 | AFF A320 |
| ONTAP 9.13 | AFF A320 |
| ONTAP 9.14 | AFF A320 |
| ONTAP 9.12 | AFF A400 |
| ONTAP 9.13 | AFF A400 |
| ONTAP 9.14 | AFF A400 |
| ONTAP 9.15 | AFF A400 |
| ONTAP 9.16 | AFF A400 |
| ONTAP 9.17 | AFF A400 |
| ONTAP 9.16 | AFF A20 |
| ONTAP 9.17 | AFF A20 |
| ONTAP 9.16 | AFF A30 |
| ONTAP 9.17 | AFF A30 |
| ONTAP 9.16 | AFF A50 |
| ONTAP 9.17 | AFF A50 |
| ONTAP 9.15 | AFF A70 |
| ONTAP 9.16 | AFF A70 |
| ONTAP 9.17 | AFF A70 |
| ONTAP 9.15 | AFF A90 |
| ONTAP 9.16 | AFF A90 |
| ONTAP 9.17 | AFF A90 |
| ONTAP 9.11 | AFF A700 |
| ONTAP 9.12 | AFF A700 |
| ONTAP 9.13 | AFF A700 |
| ONTAP 9.14 | AFF A700 |
| ONTAP 9.15 | AFF A700 |
| ONTAP 9.16 | AFF A700 |
| ONTAP 9.17 | AFF A700 |
| ONTAP 9.11 | AFF A800 |
| ONTAP 9.12 | AFF A800 |
| ONTAP 9.13 | AFF A800 |
| ONTAP 9.14 | AFF A800 |
| ONTAP 9.15 | AFF A800 |
| ONTAP 9.16 | AFF A800 |
| ONTAP 9.17 | AFF A800 |
| ONTAP 9.12 | AFF A900 |
| ONTAP 9.13 | AFF A900 |
| ONTAP 9.14 | AFF A900 |
| ONTAP 9.15 | AFF A900 |
| Operating System | Hardware Platform |
|---|---|
| ONTAP 9.16 | AFF A900 |
| ONTAP 9.17 | AFF A900 |
| ONTAP 9.16 | AFF C30 |
| ONTAP 9.17 | AFF C30 |
| ONTAP 9.16 | AFF C60 |
| ONTAP 9.17 | AFF C60 |
| ONTAP 9.16 | AFF C80 |
| ONTAP 9.17 | AFF C80 |
| ONTAP 9.11 | AFF C190 |
| ONTAP 9.12 | AFF C190 |
| ONTAP 9.13 | AFF C190 |
| ONTAP 9.14 | AFF C190 |
| ONTAP 9.15 | AFF C190 |
| ONTAP 9.16 | AFF C190 |
| ONTAP 9.17 | AFF C190 |
| ONTAP 9.11 | AFF C250 |
| ONTAP 9.12 | AFF C250 |
| ONTAP 9.13 | AFF C250 |
| ONTAP 9.14 | AFF C250 |
| ONTAP 9.15 | AFF C250 |
| ONTAP 9.16 | AFF C250 |
| ONTAP 9.17 | AFF C250 |
| ONTAP 9.11 | AFF C400 |
| ONTAP 9.12 | AFF C400 |
| ONTAP 9.13 | AFF C400 |
| ONTAP 9.14 | AFF C400 |
| ONTAP 9.15 | AFF C400 |
| ONTAP 9.16 | AFF C400 |
| ONTAP 9.17 | AFF C400 |
| ONTAP 9.11 | AFF C800 |
| ONTAP 9.12 | AFF C800 |
| ONTAP 9.13 | AFF C800 |
| ONTAP 9.14 | AFF C800 |
| ONTAP 9.15 | AFF C800 |
| ONTAP 9.16 | AFF C800 |
| ONTAP 9.17 | AFF C800 |
| ONTAP 9.16 | ASA A1K |
| ONTAP 9.17 | ASA A1K |
| ONTAP 9.16 | ASA A20 |
| ONTAP 9.17 | ASA A20 |
| ONTAP 9.16 | ASA A30 |
| ONTAP 9.17 | ASA A30 |
| ONTAP 9.16 | ASA A50 |
| ONTAP 9.17 | ASA A50 |
| ONTAP 9.16 | ASA A70 |
| ONTAP 9.17 | ASA A70 |
| ONTAP 9.16 | ASA A90 |
| ONTAP 9.17 | ASA A90 |
| Operating System | Hardware Platform |
|---|---|
| ONTAP 9.13 | ASA A150 |
| ONTAP 9.14 | ASA A150 |
| ONTAP 9.15 | ASA A150 |
| ONTAP 9.16 | ASA A150 |
| ONTAP 9.17 | ASA A150 |
| ONTAP 9.13 | ASA A250 |
| ONTAP 9.14 | ASA A250 |
| ONTAP 9.15 | ASA A250 |
| ONTAP 9.16 | ASA A250 |
| ONTAP 9.17 | ASA A250 |
| ONTAP 9.13 | ASA A400 |
| ONTAP 9.14 | ASA A400 |
| ONTAP 9.15 | ASA A400 |
| ONTAP 9.16 | ASA A400 |
| ONTAP 9.17 | ASA A400 |
| ONTAP 9.13 | ASA A800 |
| ONTAP 9.14 | ASA A800 |
| ONTAP 9.15 | ASA A800 |
| ONTAP 9.16 | ASA A800 |
| ONTAP 9.17 | ASA A800 |
| ONTAP 9.13 | ASA A900 |
| ONTAP 9.14 | ASA A900 |
| ONTAP 9.15 | ASA A900 |
| ONTAP 9.16 | ASA A900 |
| ONTAP 9.17 | ASA A900 |
| ONTAP 9.11 | ASA AFF A220 |
| ONTAP 9.12 | ASA AFF A220 |
| ONTAP 9.13 | ASA AFF A220 |
| ONTAP 9.14 | ASA AFF A220 |
| ONTAP 9.15 | ASA AFF A220 |
| ONTAP 9.16 | ASA AFF A220 |
| ONTAP 9.17 | ASA AFF A220 |
| ONTAP 9.11 | ASA AFF A250 |
| ONTAP 9.12 | ASA AFF A250 |
| ONTAP 9.13 | ASA AFF A250 |
| ONTAP 9.11 | ASA AFF A400 |
| ONTAP 9.12 | ASA AFF A400 |
| ONTAP 9.13 | ASA AFF A400 |
| ONTAP 9.11 | ASA AFF A700 |
| ONTAP 9.12 | ASA AFF A700 |
| ONTAP 9.13 | ASA AFF A700 |
| ONTAP 9.14 | ASA AFF A700 |
| ONTAP 9.15 | ASA AFF A700 |
| ONTAP 9.16 | ASA AFF A700 |
| ONTAP 9.17 | ASA AFF A700 |
| ONTAP 9.11 | ASA AFF A800 |
| ONTAP 9.12 | ASA AFF A800 |
| ONTAP 9.13 | ASA AFF A800 |
| Operating System | Hardware Platform |
|---|---|
| ONTAP 9.16 | ASA C30 |
| ONTAP 9.17 | ASA C30 |
| ONTAP 9.13 | ASA C250 |
| ONTAP 9.14 | ASA C250 |
| ONTAP 9.15 | ASA C250 |
| ONTAP 9.16 | ASA C250 |
| ONTAP 9.17 | ASA C250 |
| ONTAP 9.13 | ASA C400 |
| ONTAP 9.14 | ASA C400 |
| ONTAP 9.15 | ASA C400 |
| ONTAP 9.16 | ASA C400 |
| ONTAP 9.17 | ASA C400 |
| ONTAP 9.13 | ASA C800 |
| ONTAP 9.14 | ASA C800 |
| ONTAP 9.15 | ASA C800 |
| ONTAP 9.16 | ASA C800 |
| ONTAP 9.17 | ASA C800 |
| ONTAP 9.16 | FAS50 |
| ONTAP 9.17 | FAS50 |
| ONTAP 9.15 | FAS70 |
| ONTAP 9.16 | FAS70 |
| ONTAP 9.17 | FAS70 |
| ONTAP 9.15 | FAS90 |
| ONTAP 9.16 | FAS90 |
| ONTAP 9.17 | FAS90 |
| ONTAP 9.11 | FAS2720 |
| ONTAP 9.12 | FAS2720 |
| ONTAP 9.13 | FAS2720 |
| ONTAP 9.14 | FAS2720 |
| ONTAP 9.15 | FAS2720 |
| ONTAP 9.16 | FAS2720 |
| ONTAP 9.17 | FAS2720 |
| ONTAP 9.11 | FAS2750 |
| ONTAP 9.12 | FAS2750 |
| ONTAP 9.13 | FAS2750 |
| ONTAP 9.14 | FAS2750 |
| ONTAP 9.15 | FAS2750 |
| ONTAP 9.16 | FAS2750 |
| ONTAP 9.17 | FAS2750 |
| ONTAP 9.13 | FAS2820 |
| ONTAP 9.14 | FAS2820 |
| ONTAP 9.15 | FAS2820 |
| ONTAP 9.16 | FAS2820 |
| ONTAP 9.17 | FAS2820 |
| ONTAP 9.11 | FAS500f |
| ONTAP 9.12 | FAS500f |
| ONTAP 9.13 | FAS500f |
| ONTAP 9.14 | FAS500f |
| Operating System | Hardware Platform |
|---|---|
| ONTAP 9.15 | FAS500f |
| ONTAP 9.16 | FAS500f |
| ONTAP 9.17 | FAS500f |
| ONTAP 9.11 | FAS8200 |
| ONTAP 9.12 | FAS8200 |
| ONTAP 9.13 | FAS8200 |
| ONTAP 9.14 | FAS8200 |
| ONTAP 9.15 | FAS8200 |
| ONTAP 9.16 | FAS8200 |
| ONTAP 9.11 | FAS8300 |
| ONTAP 9.12 | FAS8300 |
| ONTAP 9.13 | FAS8300 |
| ONTAP 9.14 | FAS8300 |
| ONTAP 9.15 | FAS8300 |
| ONTAP 9.16 | FAS8300 |
| ONTAP 9.17 | FAS8300 |
| ONTAP 9.11 | FAS8700 |
| ONTAP 9.12 | FAS8700 |
| ONTAP 9.13 | FAS8700 |
| ONTAP 9.14 | FAS8700 |
| ONTAP 9.15 | FAS8700 |
| ONTAP 9.16 | FAS8700 |
| ONTAP 9.17 | FAS8700 |
| ONTAP 9.11 | FAS9000 |
| ONTAP 9.12 | FAS9000 |
| ONTAP 9.13 | FAS9000 |
| ONTAP 9.14 | FAS9000 |
| ONTAP 9.15 | FAS9000 |
| ONTAP 9.16 | FAS9000 |
| ONTAP 9.17 | FAS9000 |
| ONTAP 9.11 | FAS9500 |
| ONTAP 9.12 | FAS9500 |
| ONTAP 9.13 | FAS9500 |
| ONTAP 9.14 | FAS9500 |
| ONTAP 9.15 | FAS9500 |
| ONTAP 9.16 | FAS9500 |
| ONTAP 9.17 | FAS9500 |
| ONTAP 9.11 | AFF A700s |
| ONTAP 9.12 | AFF A700s |
| ONTAP 9.13 | AFF A700s |
| ONTAP 9.14 | AFF A700s |
| ONTAP 9.15 | AFF A700s |
| ONTAP 9.16 | AFF A700s |
| ONTAP 9.17 | AFF A700s |
| Data ONTAP Select 9.11 with VMware ESXi 7, 8 | FDvM300-16GB |
| Data ONTAP Select 9.12 with VMware ESXi 7, 8 | FDvM300-16GB |
| Data ONTAP Select 9.13 with VMware ESXi 7, 8 | FDvM300-16GB |
| Data ONTAP Select 9.14 with VMware ESXi 7, 8 | FDvM300-16GB |
| Operating System | Hardware Platform |
|---|---|
| Data ONTAP Select 9.15 with VMware ESXi 7, 8 | FDvM300-16GB |
| Data ONTAP Select 9.16 with VMware ESXi 7, 8 | FDvM300-16GB |
| Data ONTAP Select 9.17 with VMware ESXi 7, 8 | FDvM300-16GB |
| Data ONTAP Select 9.17 with VMware ESXi 9 | FDvM300-16GB |
| Data ONTAP Select 9.16 with RHEL Server KVM 9.5, 9.6 | FDvM300-16GB |
| Data ONTAP Select 9.17 with RHEL Server KVM 9.5, 9.6 | FDvM300-16GB |
| Data ONTAP Select 9.14 with RHEL Server KVM 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4 | FDvM300-16GB |
| Data ONTAP Select 9.15 with RHEL Server KVM 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4 | FDvM300-16GB |
| Data ONTAP Select 9.16 with RHEL Server KVM 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4 | FDvM300-16GB |
| Data ONTAP Select 9.11 with VMware ESXi 7, 8 | FDvM300-64GB |
| Data ONTAP Select 9.12 with VMware ESXi 7, 8 | FDvM300-64GB |
| Data ONTAP Select 9.13 with VMware ESXi 7, 8 | FDvM300-64GB |
| Data ONTAP Select 9.14 with VMware ESXi 7, 8 | FDvM300-64GB |
| Data ONTAP Select 9.15 with VMware ESXi 7, 8 | FDvM300-64GB |
| Data ONTAP Select 9.16 with VMware ESXi 7, 8 | FDvM300-64GB |
| Data ONTAP Select 9.17 with VMware ESXi 7, 8 | FDvM300-64GB |
| Data ONTAP Select 9.17 with VMware ESXi 9 | FDvM300-64GB |
| Data ONTAP Select 9.16 with RHEL Server KVM 9.5, 9.6 | FDvM300-64GB |
| Data ONTAP Select 9.17 with RHEL Server KVM 9.5, 9.6 | FDvM300-64GB |
| Data ONTAP Select 9.14 with RHEL Server KVM 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4 | FDvM300-64GB |
| Data ONTAP Select 9.15 with RHEL Server KVM 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4 | FDvM300-64GB |
| Data ONTAP Select 9.16 with RHEL Server KVM 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4 | FDvM300-64GB |
| Data ONTAP Select 9.11 with VMware ESXi 7, 8 | FDvM300-128GB |
| Data ONTAP Select 9.12 with VMware ESXi 7, 8 | FDvM300-128GB |
| Data ONTAP Select 9.13 with VMware ESXi 7, 8 | FDvM300-128GB |
| Data ONTAP Select 9.14 with VMware ESXi 7, 8 | FDvM300-128GB |
| Data ONTAP Select 9.15 with VMware ESXi 7, 8 | FDvM300-128GB |
| Data ONTAP Select 9.16 with VMware ESXi 7, 8 | FDvM300-128GB |
| Data ONTAP Select 9.17 with VMware ESXi 7, 8 | FDvM300-128GB |
| Data ONTAP Select 9.17 with VMware ESXi 9 | FDvM300-128GB |
| Amazon FSx for NetApp ONTAP 9.11 | AWS EC2 Nitro |
| Amazon FSx for NetApp ONTAP 9.12 | AWS EC2 Nitro |
| Amazon FSx for NetApp ONTAP 9.13 | AWS EC2 Nitro |
| Amazon FSx for NetApp ONTAP 9.14 | AWS EC2 Nitro |
| Amazon FSx for NetApp ONTAP 9.15 | AWS EC2 Nitro |
| Amazon FSx for NetApp ONTAP 9.16 | AWS EC2 Nitro |
| Amazon FSx for NetApp ONTAP 9.17 | AWS EC2 Nitro |
| Cloud Volumes ONTAP 9.11 | Microsoft Azure Compute |
| Cloud Volumes ONTAP 9.12 | Microsoft Azure Compute |
| Operating System | Hardware Platform |
|---|---|
| Cloud Volumes ONTAP 9.13 | Microsoft Azure Compute |
| Cloud Volumes ONTAP 9.14 | Microsoft Azure Compute |
| Cloud Volumes ONTAP 9.15 | Microsoft Azure Compute |
| Cloud Volumes ONTAP 9.16 | Microsoft Azure Compute |
| Cloud Volumes ONTAP 9.17 | Microsoft Azure Compute |
| Cloud Volumes ONTAP 9.11 | Google Compute Engine |
| Cloud Volumes ONTAP 9.12 | Google Compute Engine |
| Cloud Volumes ONTAP 9.13 | Google Compute Engine |
| Cloud Volumes ONTAP 9.14 | Google Compute Engine |
| Cloud Volumes ONTAP 9.15 | Google Compute Engine |
| Cloud Volumes ONTAP 9.16 | Google Compute Engine |
| Cloud Volumes ONTAP 9.17 | Google Compute Engine |
| Mode Name | Description | Type | Status Indicator | |
|---|---|---|---|---|
| Approved mode | The module must be installed per instructions provided in Section 11 of this document. | Approved | FIPS mode = true |
Table 4: Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid CMVP makes no statement as to the correct operation of the module or the security strengths of the generated keys when so ported if the specific operational environment is not listed on the validation certificate.
No components are excluded from the [FIPS 140-3] requirements.
Modes List and Description: Table 5: Modes List and Description mode when all the power up self-tests have completed successfully, and only Approved
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| AES-CBC | A6624 | - | SP 800-38A |
| AES-CCM | A6624 | - | SP 800-38C |
| AES-CMAC | A6624 | - | SP 800-38B |
| AES-ECB | A6624 | - | SP 800-38A |
| AES-GCM | A6624 | - | SP 800-38D |
| AES-GMAC | A6624 | - | SP 800-38D |
| AES-KWP | A6624 | - | SP 800-38F |
| AES-XTS Testing Revision 2.0 | A6624 | - | SP 800-38E |
| Counter DRBG | A6624 | - | SP 800-90A Rev. 1 |
| HMAC-SHA-1 | A6624 | - | FIPS 198-1 |
| HMAC-SHA2-256 | A6624 | - | FIPS 198-1 |
| HMAC-SHA2-512 | A6624 | - | FIPS 198-1 |
| KDF SP800-108 | A6624 | - | SP 800-108 Rev. 1 |
| PBKDF | A6624 | - | SP 800-132 |
| SHA-1 | A6624 | - | FIPS 180-4 |
| SHA2-256 | A6624 | - | FIPS 180-4 |
| SHA2-512 | A6624 | - | FIPS 180-4 |
| SHA3-256 | A6624 | - | FIPS 202 |
| Name | Properties | Implementation | Reference | ||||
|---|---|---|---|---|---|---|---|
| CKG - Section 6.3 | Key Type:Symmetric | NetApp CryptoMod | SP 800-133 Rev. 2 Section 6.3: Symmetric Keys Produced by Combining Multiple Keys and Other Data. (Method 2) |
algorithms are invoked. If the power-up self-tests fail, then the module reboots the hardware platform. Mode Change Instructions and Status: The Module only supports an Approved mode of operation. Degraded Mode Description: The Module does not support a degraded mode of operation.
Approved Algorithms: Table 6: Approved Algorithms Vendor-Affirmed Algorithms: 2) Table 7: Vendor-Affirmed Algorithms
| Name | Type | Description | Properties | Algorithms |
|---|---|---|---|---|
| Symmetric Encryption and Decryption | BC-UnAuth | Symmetric encryption and decryption | Key Length:128, 256 bits | AES-CBC: (A6624) AES-ECB: (A6624) AES-XTS Testing Revision 2.0: (A6624) |
| Authenticated Symmetric Encryption and Decryption | BC-Auth | Authenticated symmetric encryption and decryption | Key Length:128, 256 bits Key Length (CCM):128 bits | AES-CCM: (A6624) AES-CMAC: (A6624) AES-GCM: (A6624) AES-GMAC: (A6624) |
| Message Digest | SHA | Message Digest | Publication:FIPS 180-4 | SHA-1: (A6624) SHA2-256: (A6624) SHA2-512: (A6624) SHA3-256: (A6624) |
| Keyed Hash | MAC | Keyed Hash | Publication:FIPS 198-1 | HMAC-SHA-1: (A6624) HMAC-SHA2- 256: (A6624) HMAC-SHA2- 512: (A6624) |
Non-Approved, Allowed Algorithms: N/A for this module. The Module does not support any Non-Approved, Allowed Algorithms. Non-Approved, Allowed Algorithms with No Security Claimed: N/A for this module. The Module does not support any Non-Approved, Allowed Algorithms with No Security Claimed. Non-Approved, Not Allowed Algorithms: N/A for this module. The Module does not support any Non-Approved, Not Allowed Algorithms.
| Name | Type | Description | Properties | Algorithms |
|---|---|---|---|---|
| AES Keyed Hash | BC-Auth MAC | Keyed Hash | Key Length:128, 256 bits Key Length (CCM):128 bits | AES-CMAC: (A6624) AES-GMAC: (A6624) |
| Random Number Generation | DRBG | Random Number Generation | Publication:SP 800-90A Rev. 1 | Counter DRBG: (A6624) |
| Entropy Noise Source | ENT-Cond ENT-ESV ENT-NP | Entropy noise source | Publication:SP 800-90B | SHA3-256: (A6624) |
| Cryptographic Key Generation (CKG) | CKG | AES keys generated to comply with the approved key generation guidelines of SP800-133 Rev. 2, Section 6.3, Symmetric Keys Produced by Combining Multiple Keys and Other Data | Key Length:128, 256 bits | SHA3-256: (A6624) |
| Key Derivation | KBKDF PBKDF | Derive keying material | Publications:SP 800-108 Rev. 1 UPD 1, SP 800- 132 Key size:8 to 4096 bit derived keys | KDF SP800- 108: (A6624) PBKDF: (A6624) |
| KTS-AES | KTS-Wrap | AES keys generated to comply with the approved key generation guidelines of SP800-133 Rev. 2, Section 6.3, Symmetric Keys Produced by Combining Multiple Keys and Other Data | Publication:SP 800-38F Key Strength:Key establishment methodology provides between 128 and 256 bits of encryption strength | AES-KWP: (A6624) |
| Software Integrity Test | MAC | HMAC-SHA2- 256 used to perform the software integrity test | Key size:256 bits | HMAC-SHA2- 256: (A6624) |
| Name | Type | Description | Properties | Algorithms | ||||
|---|---|---|---|---|---|---|---|---|
| Perform self- tests (All) | BC-Auth BC-UnAuth DRBG KBKDF MAC PBKDF SHA | All self-tests executed by the module at boot | AES-CBC: (A6624) AES-CCM: (A6624) AES-CMAC: (A6624) AES-ECB: (A6624) AES-GCM: (A6624) AES-XTS Testing Revision 2.0: (A6624) Counter DRBG: (A6624) HMAC-SHA-1: (A6624) HMAC-SHA2- 256: (A6624) HMAC-SHA2- 512: (A6624) KDF SP800- 108: (A6624) PBKDF: (A6624) SHA-1: (A6624) SHA2-256: (A6624) SHA2-512: (A6624) SHA3-256: (A6624) |
Table 8: Security Function Implementations
The AES-GCM IV is partially generated by an industry protocol and is always passed to the module via an API call. The counter portion of the IV is set by the module within the module’s cryptographic boundary. When used with TLS 1.2/1.3, the AES-GCM IV is constructed in compliance with IG C.H scenario 1. The GCM IV generation follows RFC 5288. The counter portion of the IV is set by the module within the module’s cryptographic boundary. The module does not implement the TLS protocol. The module’s implementation of AES-GCM, when used for TLS, is used with another ONTAP application running outside of the module’s boundary. The design of the TLS
protocol implicitly ensures that the counter portion of the IV will not exhaust all its possible values. When used with the IPsec-v3 protocol, GCM IV generation follows RFC 4106 and is constructed in compliance with IG C.H scenario
| Cert Number | Vendor Name | |
|---|---|---|
| Entropy Certificate #E1 | NetApp, Inc. |
| Name | Type | Operational Environment | Sample Size | Entropy per Sample | Conditioning Component | |
|---|---|---|---|---|---|---|
| CPU Jitter RNG v3.4.0 | Non- Physical | ONTAP 9.16.1 on Intel® Xeon® Bronze 3508U (Sapphire Rapids), ONTAP 9.16.1 on Intel® Xeon® Gold 6438N (Sapphire Rapids), ONTAP 9.16.1 on Intel® Xeon® Platinum 8352Y (Ice Lake), ONTAP 9.16.1 on Intel® Xeon® D-1735TR (Ice Lake), ONTAP 9.16.1 on Silver 4210 (Cascade Lake), ONTAP 9.16.1 on Intel® Xeon® Silver 4114 (Skylake), ONTAP 9.16.1 on Intel® Xeon® D-2164IT (Skylake), ONTAP 9.16.1 on Intel® Xeon® D- 1557 (Broadwell) | 64 | 1 | SHA3-256 (A2640) |
the security strength required for the key being generated. Users are referred to Appendix A, “Security Considerations” of NIST SP 800-132 Rev. 2 for further information on password selection. c) AES-XTS Usage Per the requirements of NIST SP 800-38E, AES-XTS mode shall be used for storage purposes only. The length of the AES-XTS data unit does not exceed 220 blocks. In accordance with IG C.I when generating an AES-XTS key, the module checks to ensure that key1 is not equal to key2. If key1 is equal to key2, then the module fails the key generation request. d) SHA-1 Usage The module implements SHA-1 for usage in the following:
Table 9: Entropy Certificates Table 10: Entropy Sources
The ESV (#E1) entropy source used by the Counter DRBG in the module is described above. The module’s embedded entropy source provides 256 bits of min-entropy per 256-bit output sample of full entropy.
CryptoMod implements a NIST SP800-90A Rev. 1 Counter DRBG for the generation of random bits and keys. The implementation of the Counter DRBG uses AES-256 (maximum of 256 bits of security strength) as the block cipher along with the appropriate derivation function. On the tested system, entropy is provided from the module’s embedded jitter-entropy CPU ESV (#E1) implementation. The module uses its embedded entropy source in accordance with the ESV (#E1) Public Use Document. The module requests a minimum number of 512 bits of entropy from its Operational Environment per each call. In addition, the vendor affirmed CKG implementation uses an Approved Counter DRBG as specified in NIST SP 800-90 A Rev.
Key Agreement Schemes The Module does not support any key establishment algorithms. Key Transport Schemes The module implements the following Approved/allowed key transport methods as specified in [FIPS140-3_IG] IG D.G which have been CAVP tested and validated: • AES-KWP wrap/unwrap
The Module conforms to Resolution 3 per [FIPS140-3_IG] D.C References to the Support of Industry Protocols: while it provides cryptographic APIs that may be used by IPSec and TLS components, the Module does not contain an implementation for IPSec or TLS. The following caveat is required: No parts of the IPSec and TLS protocols, other than the approved cryptographic algorithms and the KDFs, have been tested by the CAVP and CMVP.
| Physical Port | Logical Interface(s) | Data That Passes |
|---|---|---|
| N/A | Control Input | API call parameters passed by reference or value for cryptographic service input |
| N/A | Control Output | Not implemented |
| N/A | Data Input | API call parameters passed by reference or value for cryptographic service input |
| N/A | Data Output | API call parameters passed by reference or value for cryptographic service output |
| N/A | Status Output | API return value: enumerated status resulting from call execution |
| Name | Type | Operator Type | Authentication Methods |
|---|---|---|---|
| User | Role | User | |
| Crypto Officer | Role | Crypto Officer |
| Name | Descripti on | Indicat or | Inputs | Outputs | Security Functions | SSP Access | |||
|---|---|---|---|---|---|---|---|---|---|
| Show versioning information | Returns the name of the module | N/A | API call paramete rs | Module name and version | Crypto Officer |
Table 11: Ports and Interfaces As a software-only module, CryptoMod does not have any physical ports. The logical interfaces for the module are defined by the API for CryptoMod. If the module enters an error state, then data output interfaces are disabled (note: the module does not utilize control input or output interfaces).
The Module does not provide an authentication or identification method of its own; operators implicitly assume an authorized role based on the service selected.
Table 12: Roles The module supports the User and mandatory Cryptographic Officer operational role, which is implicitly defined. The module does not support a maintenance role, nor does it support a bypass capability. The module does not support multiple concurrent operators.
| Name | Descripti on | Indicat or | Inputs | Outputs | Security Functions | SSP Access |
|---|---|---|---|---|---|---|
| and the version associate d with the module | ||||||
| Show status | Return FIPS mode status | FIPS status | API call paramete rs | FIPS status | Crypto Officer | |
| Perform on demand self-tests | Initiates and runs the pre- operationa l self-tests | API output of 0 indicate s success | API call paramete rs | API output of 0 indicates success, non-zero indicates failure | Perform self-tests (All) Software Integrity Test | Crypto Officer |
| Encryption/decrypt ion | Perform encryption or decryption using AES | API output of 0 indicate s success | API call paramete rs | Status return, plaintext or ciphertex t | Symmetric Encryption and Decryption | User - AES key: E,W - AES XTS key: E,W |
| Authenticated encryption/decrypt ion | Perform encryption or decryption using AES CCM or AES GCM | API output of 0 indicate s success | API call paramete rs | Status return, plaintext or ciphertex t | Authenticat ed Symmetric Encryption and Decryption | User - AES CCM key: E,W - AES GCM key: E,W |
| Key wrapping/unwrapp ing | Perform key wrapping or unwrappin g using AES | API output of 0 indicate s success | API call paramete rs | Status return, wrapped or unwrapp ed key | KTS-AES | User - AES key: E,R,W - CPKEK key: E,R,W |
| Random bit generation | Provide random bits from the module's DRBG | API output of 0 indicate s success | API call paramete rs | Status, random bytes | Entropy Noise Source Random Number Generation | User - DRBG V value: E,G - DRBG entropy input: E,G - DRBG internal state key: E,G |
| Name | Descripti on | Indicat or | Inputs | Outputs | Security Functions | SSP Access |
|---|---|---|---|---|---|---|
| - ESV state: E,G | ||||||
| Key generation | Perform key generation using the module's DRBG | API output of 0 indicate s success | API call paramete rs | Status return, key | Entropy Noise Source Random Number Generation Cryptograp hic Key Generation (CKG) | User - AES key: R - AES CCM key: R - AES CMAC key: R - AES GCM key: R - AES GMAC key: R - AES KEK key: R - AES XTS key: R |
| HMAC message authentication | Generate or verify data integrity | API output of 0 indicate s success | API call paramete rs | Status return, tag value | Keyed Hash | User - HMAC key: E,R,W |
| AES message authentication | Generate or verify data integrity | API output of 0 indicate s success | API call paramete rs | Status return, tag value | AES Keyed Hash | User - AES CCM key: E,R,W - AES GCM key: E,R,W |
| Hashing | Perform SHA hashing function | API output of 0 indicate s success | API call paramete rs | Status return, digest | Message Digest | User |
| Key derivation | Perform key derivation using PBKDF or NIST SP | API output of 0 indicate s success | API call paramete rs | Status return, key | Key Derivation | User - Passphras e: E,W,Z - CPKEK key: G,R |
| Name | Descripti on | Indicat or | Inputs | Outputs | Security Functions | SSP Access | |
|---|---|---|---|---|---|---|---|
| 800-108 in CTR mode | - KDK key: E,W - KDK output key: G,R | ||||||
| Zeroize | Zeroize and dellocate memory containing sensitive data | None | Reboot or power cycle NetApp platform | None | Crypto Officer - AES key: Z - AES CCM key: Z - AES CMAC key: Z - AES GCM key: Z - AES GMAC key: Z - AES KEK key: Z - AES XTS key: Z - CPKEK key: Z - HMAC key: Z - DRBG V value: Z - DRBG entropy input: Z - DRBG internal state key: Z - DRBG seed: Z - ESV state: Z - KDK key: Z - KDK output key: Z |
| Name | Descripti on | Indicat or | Inputs | Outputs | Security Functions | SSP Access | |
|---|---|---|---|---|---|---|---|
| - Passphras e: Z |
e: Z Table 13: Approved Services Legend: G = Generate: The module generates or derives the SSP. R = Read: The SSP is read from the module (e.g., the SSP is output). W = Write: The SSP is updated, imported, or written to the module. E = Execute: The module uses the SSP in performing a cryptographic operation. Z = Zeroize: The module zeroizes the SSP.
N/A for this module. The Module does not support any non-approved services.
The Module does not have the capability of loading software or firmware from an external source.
The module compares the HMAC-SHA2-256 digest created over the .text and .data sections of the module versus the digest pre-calculated at compile time. The module’s self-integrity check is automatically performed when the module is loaded into kernel memory. Since the module, once loaded, cannot be unloaded, the self-integrity check can only be initiated by rebooting the platform.
The Module does not support initiate on demand functionality. The self-integrity check can only be initiated by rebooting the platform.
Type of Operational Environment: Modifiable
| Storage Area Name | Description | Persistence Type | |
|---|---|---|---|
| RAM | Temporary, plaintext storage | Dynamic |
| Name | From | To | Format Type | Distribution Type | Entry Type | SFI or Algorithm | ||
|---|---|---|---|---|---|---|---|---|
| [Input] Call stack parameters | Calling application | Module | Plaintext | Manual | Electronic |
How Requirements are Satisfied: The module operates in a modifiable operational environment on the validated platforms and the vendor-affirmed platforms listed in Section 2.2 Tested and Vendor Affirmed Module Version and Identification. The Module conforms to [FIPS 140-3_IG] 2.3.C Processor Algorithm Accelerators (PAA) and Processor Algorithm Implementation (PAI). The AES-NI functions are identified by [FIPS 140-3_IG] 2.3.C as a known PAA.
No operational environment restrictions are required for operation in the approved mode. As indicated in Section 2, the Module always operates in the approved mode.
Physical Security requirements are not applicable for this software Module.
In accordance with current CMVP policy, Non-Invasive Security is not applicable.
Table 14: Storage Areas The cryptographic module does not persistently store keys. Keys and CSPs are passed to the module by the calling kernel process. The keys and CSPs are stored in nondumpable memory in plaintext. Keys and CSPs residing in internally allocated data structures (during the lifetime of an API call) can only be accessed using the module defined API. The ONTAP operating system protects memory and process space from unauthorized access.
| Name | From | To | Format Type | Distribution Type | Entry Type | SFI or Algorithm | |||
|---|---|---|---|---|---|---|---|---|---|
| [Output] Call stack parameters | Module | Calling application | Plaintext | Manual | Electronic |
| Zeroization Method | Description | Rationale | Operator Initiation |
|---|---|---|---|
| Cleansed | Zeroisation of SSPs managed by the caller | Overwrites with random data followed by an overwrite with zeroes | Module initiated |
| Cleared after use | Zeroisation of temporary copies of CSPs within the relevant function | Overwrites with zeroes | Module initiated |
| Reboot | RAM is used for temporary storage of SSPs | Restarting the NetApp controller clears the SSPs in RAM | Operator initiated |
| Name | Descriptio n | Size - Strengt h | Type - Category | Generated By | Establish ed By | Used By |
|---|---|---|---|---|---|---|
| AES key | AES key used for symmetric decryption, encryption | 128, 256 bits - 128, 256 bits | Symmetric Key - CSP | Cryptograp hic Key Generation (CKG) | Symmetric Encryption and Decryption | |
| AES CCM key | AES CCM key used for authenticat ed symmetric decryption, encryption | 128 bits - 128 bits | Symmetric Key - CSP | Authenticat ed Symmetric Encryption and Decryption | ||
| AES CMAC key | AES CMAC key used for CMAC | 128, 256 bits - 128, 256 bits | MAC - CSP | AES Keyed Hash |
Table 15: SSP Input-Output Methods
Table 16: SSP Zeroization Methods h
| Name | Descriptio n generation, verification | Size - Strengt h | Type - Category | Generated By | Establish ed By | Used By |
|---|---|---|---|---|---|---|
| AES GCM key | AES GCM key used for authenticat ed symmetric decryption, encryption | 128, 256 bits - 128, 256 bits | Symmetric Key - CSP | Authenticat ed Symmetric Encryption and Decryption | ||
| AES GMAC key | AES GMAC key used for GMAC generation, verification | 128, 256 bits - 128, 256 bits | MAC - CSP | AES Keyed Hash | ||
| AES KEK key | Key wrapping and unwrappin g | 128, 256 bits - 128, 256 bits | Symmetric Key - CSP | Cryptograp hic Key Generation (CKG) | KTS-AES | |
| AES XTS key | AES XTS key used for symmetric decryption, encryption | 128, 256 bits - 128, 256 bits | Symmetric Key - CSP | Cryptograp hic Key Generation (CKG) | Symmetric Encryption and Decryption | |
| CPKEK key | Key wrapping and unwrappin g | 128, 256 bits - 128, 256 bits | Symmetric Key - CSP | Key Derivation | KTS-AES | |
| HMAC key | Keyed Hash | 112 bits (minimu m) - 112 bits (minimu m) | MAC - CSP | Keyed Hash | ||
| DRBG V value | State value for DRBG | 256 bits - 256 bits | 256 bits - CSP | Random Number Generation | Random Number Generation | |
| DRBG entropy input | Entropy material for DRBG | 4096 bits - N/A | Entropy input - CSP | Entropy Noise Source | Random Number Generation | |
| DRBG internal state key | DRBG internal state key | 256 bits - 256 bits | CTR_DRBG_ Key - CSP | Random Number Generation |
| Name | Descriptio n | Size - Strengt h | Type - Category | Generated By | Establish ed By | Used By |
|---|---|---|---|---|---|---|
| DRBG seed | Seeding material for DRBG | 384 bits - 384 bits | Entropy input - CSP | Entropy Noise Source | Random Number Generation | |
| ESV state | ESV internal state | N/A - 256 bits | Entropy state - CSP | Entropy Noise Source | Entropy Noise Source | |
| KDK key | Key derivation source key | 256 bits - 256 bits | KDF - CSP | Key Derivation | ||
| KDK output key | Key derivation output key | 256 bits - 256 bits | KDF - CSP | Key Derivation | ||
| Passphra se | Input to PBKDF for key derivation | 32 to 256 bytes - 112 bits or greater | Symmetric Key - CSP | Key Derivation |
| Name | Input - Output | Storage | Storage Duration | Zeroization | Related SSPs |
|---|---|---|---|---|---|
| AES key | [Input] Call stack parameters [Output] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot | |
| AES CCM key | [Input] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot | |
| AES CMAC key | [Input] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot | |
| AES GCM key | [Input] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot | |
| AES GMAC key | [Input] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot | |
| AES KEK key | [Input] Call stack | RAM:Plaintext | Call lifetime | Cleansed Cleared |
| Name | Input - Output | Storage | Storage Duration | Zeroization | Related SSPs |
|---|---|---|---|---|---|
| parameters [Output] Call stack parameters | after use Reboot | ||||
| AES XTS key | [Input] Call stack parameters [Output] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot | |
| CPKEK key | [Input] Call stack parameters [Output] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot | |
| HMAC key | [Input] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot | |
| DRBG V value | [Input] Call stack parameters [Output] Call stack parameters | RAM:Plaintext | Module lifetime | Reboot | |
| DRBG entropy input | [Input] Call stack parameters | RAM:Plaintext | Call lifetime | Cleared after use Reboot | DRBG seed:Used to derive |
| DRBG internal state key | [Input] Call stack parameters [Output] Call stack parameters | RAM:Plaintext | Module lifetime | Cleansed Cleared after use Reboot | DRBG seed:Derived from |
| DRBG seed | [Input] Call stack parameters [Output] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot | DRBG entropy input:Derived from |
| ESV state | [Input] Call stack parameters | RAM:Plaintext | Call lifetime | Cleared after use Reboot | |
| KDK key | [Input] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot |
| Name | Input - Output | Storage | Storage Duration | Zeroization | Related SSPs |
|---|---|---|---|---|---|
| KDK output key | [Output] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot | |
| Passphrase | [Input] Call stack parameters | RAM:Plaintext | Call lifetime | Cleansed Cleared after use Reboot |
| Algorithm or Test | Test Properties | Test Method | Test Type | Indicator | Details | |||
|---|---|---|---|---|---|---|---|---|
| HMAC-SHA2- 256 (A2640) | Key length: 256 bits | KAT | SW/FW Integrity | Success: all self- tests passed (as expected) | MAC (HMAC- SHA2-256, A2640) |
| Algorithm or Test | Test Properties | Test Method | Test Type | Indicator | Details | Conditions |
|---|---|---|---|---|---|---|
| AES-CBC | Key Length: 128 and 256 bits | KAT | CAST | FIPS_OK | Encrypt/Decrypt | On reloading the module |
| AES-CCM | Key Length: 128 bits | KAT | CAST | FIPS_OK | Encrypt/Decrypt | On reloading the module |
| AES- CMAC | Key Length: 128 and 256 bits | KAT | CAST | FIPS_OK | Hash | On reloading the module |
| AES-ECB | Key Length: 128 and 256 bits | KAT | CAST | FIPS_OK | Encrypt/Decrypt | On reloading the module |
| AES-GCM | Key Length: 128 and 256 bits | KAT | CAST | FIPS_OK | Encrypt/Decrypt | On reloading the module |
Table 19: Pre-Operational Self-Tests The module is compliant with FIPS 140-3 IG 10.2.A in that it performs a self-test, a Known
| Algorithm or Test | Test Properties | Test Method | Test Type | Indicator | Details | Conditions |
|---|---|---|---|---|---|---|
| AES-KWP | Key Length: 128 and 256 bits | KAT | CAST | FIPS_OK | Encrypt/Decrypt | On reloading the module |
| AES- GMAC | Key Length: 128 and 256 bits | KAT | CAST | FIPS_OK | Encrypt/Decrypt | On reloading the module |
| AES-XTS Testing Revision 2.0 | Key Length: 128 and 256 bits | KAT | CAST | FIPS_OK | Encrypt/Decrypt | On reloading the module |
| Counter DRBG | AES CTR (256 bits) with derivation function | KAT | CAST | FIPS_OK | Generate, Reseed, Instantiate functions | On reloading the module |
| HMAC- SHA-1 | PRF: SHA-1 | KAT | CAST | FIPS_OK | HMAC tag generation | On reloading the module |
| HMAC- SHA2-256 | PRF: SHA2- 256 | KAT | CAST | FIPS_OK | HMAC tag generation | On reloading the module |
| HMAC- SHA2-512 | PRF: SHA2- 512 | KAT | CAST | FIPS_OK | HMAC tag generation | On reloading the module |
| KDF SP800-108 | PRF: HMAC- SHA2-512 | KAT | CAST | FIPS_OK | Counter Mode (HMAC-SHA2- 512) | On reloading the module |
| PBKDF | Derivation of the Master Key (MK) PRF: HMAC-SHA-1, HMAC-SHA2- 256, HMAC- SHA2-512 | KAT | CAST | FIPS_OK | Key Derivation | On reloading the module |
| SHA-1 | SHA-1 | KAT | CAST | FIPS_OK | Hash | On reloading the module |
| SHA2-256 | SHA2-256 | KAT | CAST | FIPS_OK | Hash | On reloading the module |
| SHA2-512 | SHA2-512 | KAT | CAST | FIPS_OK | Hash | On reloading the module |
| SHA3-256 | SHA3-256 | KAT | CAST | FIPS_OK | Hash | On reloading the module |
| Algorithm or Test | Test Method | Test Type | Period | Periodic Method | ||
|---|---|---|---|---|---|---|
| HMAC-SHA2- 256 (A2640) | KAT | SW/FW Integrity | On Demand | Manually by reloading the module |
| Algorithm or Test | Test Method | Test Type | Period | Periodic Method |
|---|---|---|---|---|
| AES-CBC | KAT | CAST | On Demand | Manually by reloading the module |
| AES-CCM | KAT | CAST | On Demand | Manually by reloading the module |
| AES-CMAC | KAT | CAST | On Demand | Manually by reloading the module |
| AES-ECB | KAT | CAST | On Demand | Manually by reloading the module |
| AES-GCM | KAT | CAST | On Demand | Manually by reloading the module |
| AES-KWP | KAT | CAST | On Demand | Manually by reloading the module |
| AES-GMAC | KAT | CAST | On Demand | Manually by reloading the module |
| AES-XTS Testing Revision 2.0 | KAT | CAST | On Demand | Manually by reloading the module |
| Counter DRBG | KAT | CAST | On Demand | Manually by reloading the module |
| HMAC-SHA-1 | KAT | CAST | On Demand | Manually by reloading the module |
| HMAC-SHA2- 256 | KAT | CAST | On Demand | Manually by reloading the module |
Each time the platform is powered up it tests that the cryptographic algorithms still operate correctly and that sensitive data has not been damaged. On Module instantiation, the Module performs the pre-operational self-tests and CASTs listed above. All KATs must complete successfully prior to any other use of cryptography by the Module.
Table 21: Pre-Operational Periodic Information
| Algorithm or Test | Test Method | Test Type | Period | Periodic Method |
|---|---|---|---|---|
| HMAC-SHA2- 512 | KAT | CAST | On Demand | Manually by reloading the module |
| KDF SP800-108 | KAT | CAST | On Demand | Manually by reloading the module |
| PBKDF | KAT | CAST | On Demand | Manually by reloading the module |
| SHA-1 | KAT | CAST | On Demand | Manually by reloading the module |
| SHA2-256 | KAT | CAST | On Demand | Manually by reloading the module |
| SHA2-512 | KAT | CAST | On Demand | Manually by reloading the module |
| SHA3-256 | KAT | CAST | On Demand | Manually by reloading the module |
| Name | Description | Conditions | Recovery Method | Indicator | |
|---|---|---|---|---|---|
| ERROR_STATE | The error state is persistent and no services are available. Any attempt to use the Module's services result in the return of a non-zero error code. | Entered whenever one or more KAT self-tests fail or if the software integrity test fails. | The NetApp platform automatically reboots. | ERROR_STATE |
Table 22: Conditional Periodic Information
Table 23: Error States Errors encountered during the power-on self-test operations will result in an automatic reboot of the operating system. If the module encounters a fatal error state, other than one encountered during self-tests, then the Crypto-Officer must manually reboot the system to return the module to normal operation.
The operator can reload the module by rebooting the NetApp platform, fulfilling AS05.11.
The module consists of a single kernel object module that provides cryptographic services as part of the NetApp ONTAP operating system. The CryptoMod module is automatically installed with ONTAP and is automatically initialized and started up whenever the appliance and/or ONTAP instance is restarted. See the NetApp documentation center (https://docs.netapp.com) for ONTAP product documentation. ONTAP 9.15 and greater will use the NetApp CryptoMod version 3.0 module without any required user intervention. When used with ONTAP versions less than ONTAP 9.15, the FIPS 140-3 variant of the module is initialized by executing the following ONTAP CLI diagnostic level command: *> security cryptomod_fips modify -node local -is_iut_enabled true followed by a reboot of the controller. Once the controller has rebooted, the FIPS 140-3 variant of the module will be automatically used.
ONTAP 9.15 and greater will use the NetApp CryptoMod version 3.0 module without any required administrator intervention. When used with ONTAP versions less than ONTAP 9.15, the FIPS 140-3 variant of the module is initialized by executing the following ONTAP CLI diagnostic level command: *> security cryptomod_fips modify -node local -is_iut_enabled true followed by a reboot of the controller. Once the controller has rebooted, the FIPS 140-3 variant of the module will be automatically used.
Users can determine if they are using the FIPS 140-3 variant of the module by running the following ONTAP CLI command: *> security cryptomod-fips show
This section is not applicable. The module does not claim to mitigate against any attacks beyond the FIPS 140-3 requirements for a Level 1 module.