Skip to content

Commit f45316b

Browse files
dhi: add fips variants (#22873)
<!--Delete sections as needed --> ## Description Add FIPS variants to DHI docs https://deploy-preview-22873--docsdocker.netlify.app/dhi/core-concepts/fips/ https://deploy-preview-22873--docsdocker.netlify.app/dhi/about/available/#fips-variants ## Related issues or tickets ENGDOCS-2734 ## Reviews <!-- Notes for reviewers here --> <!-- List applicable reviews (optionally @tag reviewers) --> - [ ] Technical review - [ ] Editorial review - [ ] Product review Signed-off-by: Craig <[email protected]>
1 parent a46cdb4 commit f45316b

File tree

4 files changed

+135
-1
lines changed

4 files changed

+135
-1
lines changed

content/manuals/dhi/about/available.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,25 @@ in a secure build environment and deploy it using a lean runtime image.
7070
For example, you might find tags like the following in a DHI repository:
7171

7272
- `3.9.23-debian12`: runtime image for Python 3.9.23
73-
- `3.9.23-debian12-dev`: development image for Python 3.9.23
73+
- `3.9.23-debian12-dev`: development image for Python 3.9.23
74+
75+
## FIPS variants
76+
77+
Some Docker Hardened Images include a `-fips` variant. These variants use
78+
cryptographic modules that have been validated under [FIPS
79+
140](../core-concepts/fips.md), a U.S. government standard for secure
80+
cryptographic operations.
81+
82+
FIPS variants are designed to help organizations meet regulatory and compliance
83+
requirements related to cryptographic use in sensitive or regulated
84+
environments.
85+
86+
You can recognize FIPS variants by their tag that includes `-fips`.
87+
88+
For example:
89+
- `3.13-fips`: FIPS variant of the Python 3.13 image
90+
- `3.9.23-debian12-fips`: FIPS variant of the Debian-based Python 3.9.23 image
91+
92+
FIPS variants can be used in the same way as any other Docker Hardened Image and
93+
are ideal for teams operating in regulated industries or under compliance
94+
frameworks that require cryptographic validation.

content/manuals/dhi/core-concepts/_index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ params:
2020
description: Learn how build provenance metadata helps trace the origin of Docker Hardened Images and support compliance with SLSA.
2121
icon: track_changes
2222
link: /dhi/core-concepts/provenance/
23+
- title: FIPS
24+
description: Learn how Docker Hardened Images support FIPS 140 by using validated cryptographic modules and providing signed attestations for compliance audits.
25+
icon: verified
26+
link: /dhi/core-concepts/fips/
2327

2428
grid_concepts_risk:
2529
- title: Common Vulnerabilities and Exposures (CVEs)
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
title: FIPS
3+
description: Learn how Docker Hardened Images support FIPS 140 through validated cryptographic modules to help organizations meet compliance requirements.
4+
keywords: docker fips, fips 140 images, fips docker images, docker compliance, secure container images
5+
---
6+
7+
## What is FIPS 140?
8+
9+
[FIPS 140](https://csrc.nist.gov/publications/detail/fips/140/3/final) is a U.S.
10+
government standard that defines security requirements for cryptographic modules
11+
that protect sensitive information. It is widely used in regulated environments
12+
such as government, healthcare, and financial services.
13+
14+
FIPS certification is managed by the [NIST Cryptographic Module Validation
15+
Program
16+
(CMVP)](https://csrc.nist.gov/projects/cryptographic-module-validation-program),
17+
which ensures cryptographic modules meet rigorous security standards.
18+
19+
## Why FIPS compliance matters
20+
21+
FIPS 140 compliance is required or strongly recommended in many regulated
22+
environments where sensitive data must be protected, such as government,
23+
healthcare, finance, and defense. These standards ensure that cryptographic
24+
operations are performed using vetted, trusted algorithms implemented in secure
25+
modules.
26+
27+
Using software components that rely on validated cryptographic modules can help organizations:
28+
29+
- Satisfy federal and industry mandates, such as FedRAMP, which require or
30+
strongly recommend FIPS 140-validated cryptography.
31+
- Demonstrate audit readiness, with verifiable evidence of secure,
32+
standards-based cryptographic practices.
33+
- Reduce security risk, by blocking unapproved or unsafe algorithms (e.g., MD5)
34+
and ensuring consistent behavior across environments.
35+
36+
## How Docker Hardened Images support FIPS compliance
37+
38+
Docker Hardened Images (DHIs) include variants that use cryptographic modules
39+
validated under FIPS 140. These images are intended to help organizations meet
40+
compliance requirements by incorporating components that meet the standard.
41+
42+
- FIPS image variants use cryptographic modules that are already validated under
43+
FIPS 140.
44+
- These variants are built and maintained by Docker to support environments with
45+
regulatory or compliance needs.
46+
- Docker provides signed test attestations that document the use of validated
47+
cryptographic modules. These attestations can support internal audits and
48+
compliance reporting.
49+
50+
> [!NOTE]
51+
>
52+
> Using a FIPS image variant helps meet compliance requirements but does not
53+
> make an application or system fully compliant. Compliance depends on how the
54+
> image is integrated and used within the broader system.
55+
56+
## Identify images that support FIPS
57+
58+
Docker Hardened Images that support FIPS are marked as **FIPS** compliant
59+
in the Docker Hardened Images catalog.
60+
61+
To find DHI repositories with FIPS image variants, [explore images](../how-to/explore.md) and:
62+
63+
- Use the **FIPS** filter on the catalog page
64+
- Look for **FIPS** compliant on individual image listings
65+
66+
These indicators help you quickly locate repositories that support FIPS-based
67+
compliance needs. Image variants that include FIPS support will have a tag
68+
ending with `-fips`, such as `3.13-fips`.
69+
70+
## Validate FIPS-related tests using attestations
71+
72+
Docker Hardened Images include a signed [test
73+
attestation](../core-concepts/attestations.md) that documents the results of
74+
automated image validation. For FIPS variants, this includes test cases that
75+
verify whether the image uses FIPS-validated cryptographic modules.
76+
77+
You can retrieve and inspect this attestation using the Docker Scout CLI:
78+
79+
```console
80+
$ docker scout attest get \
81+
--predicate-type https://scout.docker.com/tests/v0.1 \
82+
--predicate \
83+
<your-namespace>/dhi-<image>:<tag> --platform <platform>
84+
```
85+
86+
For example:
87+
88+
```console
89+
$ docker scout attest get \
90+
--predicate-type https://scout.docker.com/tests/v0.1 \
91+
--predicate \
92+
docs/dhi-python:3.13-fips --platform linux/amd64
93+
```
94+
95+
The output is a structured JSON report. Individual test outputs are
96+
base64-encoded under fields like `stdout`. You can decode them to review the raw
97+
test output.
98+
99+
To decode and view test results:
100+
101+
```console
102+
$ docker scout attest get \
103+
--predicate-type https://scout.docker.com/tests/v0.1 \
104+
--predicate \
105+
docs/dhi-python:3.13-fips --platform linux/amd64 \
106+
| jq -r '.results.tests[].extra.stdout' \
107+
| base64 -d
108+
```

content/manuals/dhi/how-to/explore.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ To explore image variants:
7474
The **Tags** page provides the following information:
7575

7676
- Tags: A list of all available tags, also known as image variants.
77+
- Compliance: Lists relevant compliance designations. For example, `FIPS`.
7778
- Distribution: The distribution that the variant is based on. For example, `debian 12` or `alpine 3.21`.
7879
- Package manager: The package manager that is available in the variant. For example, `apt`, `apk`, or `-` (no package manager).
7980
- Shell: The shell that is available in the variant. For example, `bash`, `busybox`, or `-` (no shell).

0 commit comments

Comments
 (0)