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

Canonical Ltd. Ubuntu 22.04 GnuTLS Cryptographic Module

Certificate#4855StandardFIPS 140-3Level1TypeSoftwareEmbodimentMulti-Chip Stand AloneStatusActiveVendorCanonical Ltd.
Medium review priority  ·  no TCB surface named  ·  GnuTLS upstream has published 9 CVEs since this module's initial validation  ·  last validated 21 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level1
Module typeSoftware
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date10/27/2029
CaveatInterim validation. When operated in the approved mode. When installed, initialized, and configured as specified in section 11.1 of the Security Policy.
VendorCanonical Ltd.

Approved Algorithms (90)

AlgorithmACVP Cert
AES-CBCA3665
AES-CBCA3667
AES-CBCA3708
AES-CBCA3709
AES-CBCA3711
AES-CBCA3712
AES-CBCA3713
AES-CBCA3714
AES-CCMA3665
AES-CCMA3708
AES-CCMA3711
AES-CFB8A3670
AES-CFB8A3716
AES-CFB8A3717
AES-CMACA3667
AES-CMACA3708
AES-CMACA3711
AES-CMACA3714
AES-GCMA3665
AES-GCMA3667
AES-GCMA3708
AES-GCMA3709
AES-GCMA3711
AES-GCMA3712
AES-GCMA3713
AES-GMACA3667
AES-XTS Testing Revision 2.0A3668
Counter DRBGA3667
ECDSA KeyGen (FIPS186-4)A3667
ECDSA KeyVer (FIPS186-4)A3667
ECDSA SigGen (FIPS186-4)A3667
ECDSA SigVer (FIPS186-4)A3667
HMAC-SHA-1A3665
HMAC-SHA-1A3667
HMAC-SHA-1A3710
HMAC-SHA-1A3714
HMAC-SHA2-224A3665
HMAC-SHA2-224A3667
HMAC-SHA2-224A3710
HMAC-SHA2-224A3714
HMAC-SHA2-256A3665
HMAC-SHA2-256A3667
HMAC-SHA2-256A3710
HMAC-SHA2-256A3714
HMAC-SHA2-384A3665
HMAC-SHA2-384A3667
HMAC-SHA2-384A3710
HMAC-SHA2-384A3714
HMAC-SHA2-512A3665
HMAC-SHA2-512A3667
HMAC-SHA2-512A3710
HMAC-SHA2-512A3714
KAS-ECC-SSC Sp800-56Ar3A3667
KAS-FFC-SSC Sp800-56Ar3A3667
KDA HKDF Sp800-56Cr1A3666
KDF TLSA3667
PBKDFA3667
RSA KeyGen (FIPS186-4)A3667
RSA SigGen (FIPS186-4)A3667
RSA SigVer (FIPS186-4)A3667
Safe Primes Key GenerationA3667
SHA-1A3665
SHA-1A3667
SHA-1A3710
SHA-1A3714
SHA2-224A3665
SHA2-224A3667
SHA2-224A3710
SHA2-224A3714
SHA2-256A3665
SHA2-256A3667
SHA2-256A3710
SHA2-256A3714
SHA2-384A3665
SHA2-384A3667
SHA2-384A3710
SHA2-384A3714
SHA2-512A3665
SHA2-512A3667
SHA2-512A3710
SHA2-512A3714
SHA3-224A3669
SHA3-224A3715
SHA3-256A3669
SHA3-256A3715
SHA3-384A3669
SHA3-384A3715
SHA3-512A3669
SHA3-512A3715
TLS v1.2 KDF RFC7627A3667

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

flowchart LR
  %% Deterministic review-risk graph for Canonical Ltd. Ubuntu 22.04 GnuTLS Cryptographic Module
  %% 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<br/>update</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/>SSH<br/>HTTPS</i>"]
    C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system<br/>linux<br/>kernel</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;
Underlying clues
flowchart LR
  %% Deterministic clue tier for Canonical Ltd. Ubuntu 22.04 GnuTLS Cryptographic Module
  %% 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<br/>update</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/>SSH<br/>HTTPS</i><br/>src: text:keyword"]
    C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system<br/>linux<br/>kernel</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;

Security Policy, page by page

Page 1

Canonical Ltd. Canonical Ltd. Ubuntu 22.04 GnuTLS Cryptographic Module Version 3.7.3-4ubuntu1.2+Fips1.1 Version 1.3 Last updated: 10-22-2024 Prepared by: atsec information security corporation

4516 Seton Center Pkwy, Suite 250

Austin, TX 78759 www.atsec.com

Page 2
Table of Contents
#SectionPage
Page 3

© 2024 Canonical Ltd. / atsec information security.

Page 4

© 2024 Canonical Ltd. / atsec information security.

Page 5
List of Tables
ItemPage
Table 1: Security Levels6
Table 2: Tested Module Identification – Software, Firmware, Hybrid (Executable Code Sets)8
Table 3: Tested Operational Environments - Software, Firmware, Hybrid9
Table 4: Modes List and Description9
Table 5: Approved Algorithms14
Table 6: Vendor-Affirmed Algorithms14
Table 7: Non-Approved, Allowed Algorithms with No Security Claimed14
Table 8: Non-Approved, Not Allowed Algorithms16
Table 9: Security Function Implementations22
Table 10: Entropy Certificates25
Table 11: Entropy Sources25
Table 12: Ports and Interfaces28
Table 13: Roles29
Table 14: Approved Services35
Table 15: Non-Approved Services37
Table 16: EFP/EFT Information40
Table 17: Hardness Testing Temperatures41
Table 18: Storage Areas43
Table 19: SSP Input-Output Methods43
Table 20: SSP Zeroization Methods44
Table 21: SSP Table 148
Table 22: SSP Table 251
Table 23: Pre-Operational Self-Tests52
Table 24: Conditional Self-Tests59
Table 25: Pre-Operational Periodic Information60
Table 26: Conditional Periodic Information65
Table 27: Error States66
Figure 1: Block Diagram7
Page 6
SectionTitleSecurity Level
1General1
2Cryptographic module specification1
3Cryptographic module interfaces1
4Roles, services, and authentication1
5Software/Firmware security1
6Operational environment1
7Physical securityN/A
8Non-invasive securityN/A
9Sensitive security parameter management1
10Self-tests1
11Life-cycle assurance1
12Mitigation of other attacksN/A
Overall Level1
1.1 Overview

This document is the non-proprietary FIPS 140-3 Security Policy for version 3.7.3-4ubuntu1.2+Fips1.1 of the Canonical Ltd. Ubuntu 22.04 GnuTLS Cryptographic Module. It has a one-to-one mapping to SP 800140B starting with section B.2.1 named “General” that maps to section 1 in this document and ending with section B.2.12 named “Mitigation of other attacks” that maps to section 12 in this document.

1.2 Security Levels
1.3 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 7
2 Cryptographic Module Specification
2.1 Description

Purpose and Use: The Canonical Ltd. Ubuntu 22.04 GnuTLS Cryptographic Module (hereafter referred to as “the module”) provides cryptographic services to applications running in the user space of the underlying operating system through a C language Application Program Interface (API). Module Type: Software Module Embodiment: MultiChipStand Module Characteristics: Cryptographic Boundary: The software block diagram below shows the cryptographic boundary of the module, and its interfaces with the operational environment. Figure 1: Block Diagram Tested Operational Environment’s Physical Perimeter (TOEPP): © 2024 Canonical Ltd. / atsec information security.

Page 8
Package or File NameSoftware/ Firmware VersionFeaturesIntegrity Test
libgnutls.so.30, libnettle.so.8, libhogweed.so.6, libgmp.so.10 on Supermicro SYS-1019P- WTR3.7.3- 4ubuntu1.2+Fips1.1N/AHMAC-SHA2-256
libgnutls.so.30, libnettle.so.8, libhogweed.so.6, libgmp.so.10 on Amazon Web Services (AWS) c6g.metal3.7.3- 4ubuntu1.2+Fips1.1N/AHMAC-SHA2-256
libgnutls.so.30, libnettle.so.8, libhogweed.so.6, libgmp.so.10 on IBM z153.7.3- 4ubuntu1.2+Fips1.1N/AHMAC-SHA2-256
Operating SystemHardware PlatformProcessorsPAA/PAIHypervisor or Host OSVersion(s)
Ubuntu 22.04 LTS (Jammy Jellyfish)Supermicro SYS- 1019P-WTRIntel® Xeon® Gold 6226YesN/A3.7.3- 4ubuntu1.2+Fips1.1
Ubuntu 22.04 LTS (Jammy Jellyfish)Amazon Web Services (AWS) c6g.metalAWS Graviton2YesN/A3.7.3- 4ubuntu1.2+Fips1.1
Ubuntu 22.04 LTS (Jammy Jellyfish)IBM z15z15YesN/A3.7.3- 4ubuntu1.2+Fips1.1

The TOEPP (tested operational environment’s physical perimeter) of the module is defined as the general-purpose computer on which the module is installed.

2.2 Tested and Vendor Affirmed Module Version and

Identification Tested Module Identification

Page 9
Operating SystemHardware PlatformProcessorsPAA/PAIHypervisor or Host OSVersion(s)
Ubuntu 22.04 LTS (Jammy Jellyfish)Supermicro SYS- 1019P-WTRIntel® Xeon® Gold 6226NoN/A3.7.3- 4ubuntu1.2+Fips1.1
Ubuntu 22.04 LTS (Jammy Jellyfish)Amazon Web Services (AWS) c6g.metalAWS Graviton2NoN/A3.7.3- 4ubuntu1.2+Fips1.1
Ubuntu 22.04 LTS (Jammy Jellyfish)IBM z15z15NoN/A3.7.3- 4ubuntu1.2+Fips1.1
Mode NameDescriptionTypeStatus Indicator
Approved modeAutomatically entered whenever an approved service is requestedApprovedEquivalent to the indicator of the requested service
Non-approved modeAutomatically entered whenever a non-approved service is requestedNon- ApprovedEquivalent to the indicator of the requested service

Table 3: Tested Operational Environments - Software, Firmware, Hybrid The module makes use of hardware acceleration provided by the hardware platform. Namely, AES-NI from the Intel based platform, NEON and Cryptography Extension for the Graviton2 based platform and CPACF for the z15 based platforms, listed in the Tested Operational Environments - Software, Firmware, Hybrid table. Out of these, only CPACF is considered as PAI and other two are considered as Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid: N/A for this module. 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.

2.3 Excluded Components
2.4 Modes of Operation

Modes List and Description: Table 4: Modes List and Description When the module starts up successfully, after passing all the pre-operational and conditional cryptographic algorithms self-tests (CASTs), the module is operating in the approved mode of operation by default. Please see section 4 for the details on service indicator provided by the module that identifies Mode Change Instructions and Status: If the module is in the approved mode, it can be transitioned to the non-approved mode by calling one of the non-approved services listed in section 4. If the module is in the non-approved mode, the module can be transitioned to the approved mode by calling one of the approved services listed in section 4. © 2024 Canonical Ltd. / atsec information security.

Page 10
AlgorithmCAVP CertPropertiesReference
AES-CBCA3665Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-CCMA3665Key Length - 128, 256SP 800-38C
AES-GCMA3665Direction - Decrypt, Encrypt IV Generation - External IV Generation Mode - 8.2.1 Key Length - 128, 256SP 800-38D
HMAC-SHA-1A3665Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 224A3665Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 256A3665Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 384A3665Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 512A3665Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
SHA-1A3665Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-224A3665Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-256A3665Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-384A3665Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-512A3665Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
AES-CBCA3667Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-CMACA3667Direction - Generation, Verification Key Length - 128, 256SP 800-38B
AES-GCMA3667Direction - Decrypt, Encrypt IV Generation - External IV Generation Mode - 8.2.1 Key Length - 128, 256SP 800-38D
AES-GMACA3667Direction - Decrypt, Encrypt IV Generation - External IV Generation Mode - 8.2.1 Key Length - 128, 256SP 800-38D
Counter DRBGA3667Prediction Resistance - No Mode - AES-256 Derivation Function Enabled - NoSP 800-90A Rev. 1
ECDSA KeyGen (FIPS186-4)A3667Curve - P-256, P-384, P-521 Secret Generation Mode - Testing CandidatesFIPS 186-4
2.5 Algorithms

Approved Algorithms: © 2024 Canonical Ltd. / atsec information security.

Page 11
AlgorithmCAVP CertPropertiesReference
ECDSA KeyVer (FIPS186-4)A3667Curve - P-256, P-384, P-521FIPS 186-4
ECDSA SigGen (FIPS186-4)A3667Component - No Curve - P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2-384, SHA2- 512FIPS 186-4
ECDSA SigVer (FIPS186-4)A3667Component - No Curve - P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2-384, SHA2- 512FIPS 186-4
HMAC-SHA-1A3667Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 224A3667Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 256A3667Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 384A3667Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 512A3667Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
KAS-ECC-SSC Sp800-56Ar3A3667Domain Parameter Generation Methods - P-256, P-384, P-521 Scheme - ephemeralUnified - KAS Role - initiator, responderSP 800-56A Rev. 3
KAS-FFC-SSC Sp800-56Ar3A3667Domain Parameter Generation Methods - ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, MODP- 2048, MODP-3072, MODP-4096, MODP-6144, MODP- 8192 Scheme - dhEphem - KAS Role - initiator, responderSP 800-56A Rev. 3
KDF TLS (CVL)A3667TLS Version - v1.0/1.1SP 800-135 Rev. 1
PBKDFA3667Iteration Count - Iteration Count: 10-1000 Increment 1 Password Length - Password Length: 8-128 Increment 1SP 800-132
RSA KeyGen (FIPS186-4)A3667Key Generation Mode - B.3.2 Modulo - 2048, 3072, 4096 Hash Algorithm - SHA2-384 Primality Tests - Table C.2 Private Key Format - StandardFIPS 186-4
RSA SigGen (FIPS186-4)A3667Signature Type - PKCS 1.5, PKCSPSS Modulo - 2048, 3072, 4096FIPS 186-4
RSA SigVer (FIPS186-4)A3667Signature Type - PKCS 1.5, PKCSPSS Modulo - 2048, 3072, 4096FIPS 186-4
Safe Primes Key GenerationA3667Safe Prime Groups - ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192SP 800-56A Rev. 3
SHA-1A3667Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-224A3667Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-256A3667Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4

© 2024 Canonical Ltd. / atsec information security.

Page 12
AlgorithmCAVP CertPropertiesReference
SHA2-384A3667Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-512A3667Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
TLS v1.2 KDF RFC7627 (CVL)A3667Hash Algorithm - SHA2-256, SHA2-384SP 800-135 Rev. 1
AES-CBCA3708Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-CCMA3708Key Length - 128, 256SP 800-38C
AES-CMACA3708Direction - Generation, Verification Key Length - 128, 256SP 800-38B
AES-GCMA3708Direction - Decrypt, Encrypt IV Generation - External IV Generation Mode - 8.2.1 Key Length - 128, 256SP 800-38D
AES-CBCA3709Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-GCMA3709Direction - Decrypt, Encrypt IV Generation - External IV Generation Mode - 8.2.1 Key Length - 128, 256SP 800-38D
AES-CBCA3711Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-CCMA3711Key Length - 128, 256SP 800-38C
AES-CMACA3711Direction - Generation, Verification Key Length - 128, 256SP 800-38B
AES-GCMA3711Direction - Decrypt, Encrypt IV Generation - External IV Generation Mode - 8.2.1 Key Length - 128, 256SP 800-38D
AES-CBCA3712Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-GCMA3712Direction - Decrypt, Encrypt IV Generation - External IV Generation Mode - 8.2.1 Key Length - 128, 256SP 800-38D
AES-CBCA3713Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-GCMA3713Direction - Decrypt, Encrypt IV Generation - External IV Generation Mode - 8.2.1 Key Length - 128, 256SP 800-38D
AES-CBCA3714Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-CMACA3714Direction - Generation, Verification Key Length - 128, 256SP 800-38B
HMAC-SHA-1A3714Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 224A3714Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 256A3714Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 384A3714Key Length - Key Length: 112-524288 Increment 8FIPS 198-1

© 2024 Canonical Ltd. / atsec information security.

Page 13
AlgorithmCAVP CertPropertiesReference
HMAC-SHA2- 512A3714Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
SHA-1A3714Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-224A3714Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-256A3714Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-384A3714Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-512A3714Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
AES-CFB8A3670Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-CFB8A3716Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-CFB8A3717Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-XTS Testing Revision 2.0A3668Direction - Decrypt, Encrypt Key Length - 128, 256SP 800-38E
HMAC-SHA-1A3710Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 224A3710Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 256A3710Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 384A3710Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 512A3710Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
SHA-1A3710Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-224A3710Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-256A3710Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-384A3710Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
SHA2-512A3710Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 180-4
KDA HKDF Sp800-56Cr1A3666Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-65336 Increment 8 HMAC Algorithm - SHA2-224, SHA2-256, SHA2-384, SHA2-512SP 800-56C Rev. 2
SHA3-224A3669Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 202
SHA3-256A3669Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 202
SHA3-384A3669Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 202
SHA3-512A3669Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 202

© 2024 Canonical Ltd. / atsec information security.

Page 14
AlgorithmCAVP CertPropertiesReference
SHA3-224A3715Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 202
SHA3-256A3715Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 202
SHA3-384A3715Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 202
SHA3-512A3715Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8FIPS 202
NamePropertiesImplementationReference
CKG (asymmetric)RSA:Asymmetric ECDSA:Asymmetric EC Diffie-Hellman :Asymmetric Safe primes:AsymmetricN/ASP 800-133r2 section 4 example 1 without the use of V (refer to additional comment 2 of IG D.H)
CKG (symmetric)AES:Symmetric HMAC:SymmetricN/ASP 800-133r2 section 4 example 1 without the use of V (refer to additional comment 2 of IG D.H)
NameCaveatUse and Function
MD5Only allowed as the PRF in TLSv1.0 and v1.1 per IG 2.4.AMessage digest used in TLS 1.0 / 1.1 KDF only for legacy use
NameUse and Function
BlowfishSymmetric encryption; Symmetric decryption
CamelliaSymmetric encryption; Symmetric decryption
CASTSymmetric encryption; Symmetric decryption
ChaCha20Symmetric encryption; Symmetric decryption
Chacha20 and Poly1305Authenticated encryption; Authenticated decryption
CMAC with Triple-DESMessage authentication code (MAC)

Table 5: Approved Algorithms Vendor-Affirmed Algorithms: Table 6: Vendor-Affirmed Algorithms Non-Approved, Allowed Algorithms: N/A for this module. Non-Approved, Allowed Algorithms with No Security Claimed: Table 7: Non-Approved, Allowed Algorithms with No Security Claimed Non-Approved, Not Allowed Algorithms: © 2024 Canonical Ltd. / atsec information security.

Page 15
NameUse and Function
DESSymmetric encryption; Symmetric decryption
Diffie-Hellman (with domain parameters other than safe primes)Key agreement; Shared secret computation
DSAKey generation; Domain parameter generation; Digital signature generation; Digital signature verification
ECDSA (with curves other than P-256, P-384, P-512)Key generation; Public key verification
ECDSA (with curves other than P-256, P-384, P-512 or hash functions other than SHA2-224, SHA2-256, SHA2- 384, SHA2-512)Digital signature generation; Digital signature verification
EC Diffie-Hellman (with curves other than P-256, P-384, P-512)Key agreement; Shared secret computation
GMACMessage authentication code (MAC)
GOSTSymmetric encryption; Symmetric decryption; Message digest
HMAC (with keys smaller than 112-bits)Message authentication code (MAC)
HMAC (with GOST)Message authentication code (MAC)
MD2, MD4, MD5Message digest; Message authentication code (MAC)
PBKDF (with non-approved message digest algorithms or using input parameters not meeting requirements stated in section 2.7 of the security policy)Key derivation
RC2, RC4Symmetric encryption; Symmetric decryption
RMD160Message digest; Message authentication code (MAC)
RSA (with keys smaller than 2048 bits or greater than 4096 bits)Key generation
RSA (with keys smaller than 2048 bits or greater than 4096 bits and/or hash functions other than SHA2-224, SHA2-256, SHA2-384, SHA2-512)Digital signature generation
RSA (with keys smaller than 1024 bits or greater than 4096 bits and/or hash functions other than SHA2-224, SHA2-256, SHA2-384, SHA2-512)Digital signature verification
RSA (encapsulation and un-encapsulation with any key sizes)Key encapsulation; Key un-encapsulation
Salsa20Symmetric encryption; Symmetric decryption
SEEDSymmetric encryption; Symmetric decryption
SerpentSymmetric encryption; Symmetric decryption
SRPKey agreement
STREEBOGMessage digest; Message authentication code (MAC)
Triple-DESSymmetric encryption; Symmetric decryption
TwofishSymmetric encryption; Symmetric decryption
UMACMessage authentication code (MAC)
YarrowRandom number generation
AES-GCM (when not used in the context of the TLS protocol)Symmetric encryption; Symmetric decryption

© 2024 Canonical Ltd. / atsec information security.

Page 16
NameTypeDescriptionPropertiesAlgorithms
Symmetric encryptionBC-UnAuth BC-AuthSymmetric encryption. AES-GCM is considered approved by the module only used in the context of the TLS protocol.AES-CBC:128, 192, 256-bit keys with 128-256 bits of key strength AES-CCM:128, 256-bit keys with 128 and 256 bits of key strength AES-GCM:128, 256-bit keys with 128 and 256 bits of key strength AES-CFB8:128, 192, 256-bit keys with 128-256 bits of key strength AES-XTS Testing Revision 2.0:128, 256-bit keys with 128 and 256 bits of key strengthAES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CCM AES-CCM AES-CCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-CFB8 AES-CFB8 AES-CFB8 AES-XTS Testing Revision 2.0
Symmetric decryptionBC-UnAuth BC-AuthSymmetric decryption. AES-GCM is considered approved by the module only used in the context of the TLS protocolAES-CBC:128, 192, 256-bit keys with 128-256 bits of key strength AES-CCM:128, 256-bit keys with 128 and 256 bits of key strength AES-GCM:128, 256-bit keys with 128 and 256 bits of key strength AES-CFB8:128, 192, 256-bit keys with 128-256 bits of key strength AES-XTS Testing Revision 2.0:128, 256-bit keys with 128 and 256 bits of key strengthAES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CCM AES-CCM AES-CCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-CFB8 AES-CFB8 AES-CFB8 AES-XTS Testing Revision 2.0
Message authentication code (MAC)MACMessage authentication code (MAC)HMAC-SHA- 1:112-524288 bit keys withHMAC-SHA-1 HMAC-SHA-1 HMAC-SHA-1

Table 8: Non-Approved, Not Allowed Algorithms

2.6 Security Function Implementations

© 2024 Canonical Ltd. / atsec information security.

Page 17
NameTypeDescriptionPropertiesAlgorithms
strength of 112- 256 bits HMAC-SHA2- 224:112-524288 bit keys with strength of 112- 256 bits HMAC-SHA2- 256:112-524288 bit keys with strength of 112- 256 bits HMAC-SHA2- 384:112-524288 bit keys with strength of 112- 256 bits HMAC-SHA2- 512:112-524288 bit keys with strength of 112- 256 bits AES-CMAC:128, 256-bit keys with 128 and 256 bits of key strength AES-GMAC:128, 256-bit keys with 128 and 256 bits of key strengthHMAC-SHA-1 HMAC-SHA2-224 HMAC-SHA2-224 HMAC-SHA2-224 HMAC-SHA2-224 HMAC-SHA2-256 HMAC-SHA2-256 HMAC-SHA2-256 HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-384 HMAC-SHA2-384 HMAC-SHA2-384 HMAC-SHA2-512 HMAC-SHA2-512 HMAC-SHA2-512 HMAC-SHA2-512 SHA-1 SHA-1 SHA-1 SHA-1 SHA2-224 SHA2-224 SHA2-224 SHA2-224 SHA2-256 SHA2-256 SHA2-256 SHA2-256 SHA2-384 SHA2-384 SHA2-384 SHA2-384 SHA2-512 SHA2-512 SHA2-512 SHA2-512 AES-CMAC AES-CMAC AES-CMAC AES-CMAC AES-GMAC
Message digestSHAMessage digestSHA-1 SHA-1 SHA-1 SHA-1 SHA2-224 SHA2-224 SHA2-224 SHA2-224 SHA2-256 SHA2-256 SHA2-256 SHA2-256 SHA2-384

© 2024 Canonical Ltd. / atsec information security.

Page 18
NameTypeDescriptionPropertiesAlgorithms
SHA2-384 SHA2-384 SHA2-384 SHA2-512 SHA2-512 SHA2-512 SHA2-512 SHA3-224 SHA3-256 SHA3-384 SHA3-512 SHA3-224 SHA3-256 SHA3-384 SHA3-512
Deterministic random bit generationCKG DRBGDeterministic random bit generation in compliance with SP800-90Ar1Counter DRBG:256-bit keys with 256 bits of key strengthCounter DRBG
Asymmetric key generationAsymKeyPair- KeyGen CKGAsymmetric key generationECDSA KeyGen (FIPS186-4):P- 256, P-384, P- 521 elliptic curves with 128- 256 bits of key strength RSA KeyGen (FIPS186- 4):2048, 3072, 4096-bit keys with 112-149 bits of key strength Safe Primes Key Generation:2048, 3072, 4096, 6144, 8192-bit keys with 112- 200 bits of key strengthECDSA KeyGen (FIPS186-4) RSA KeyGen (FIPS186-4) Safe Primes Key Generation Counter DRBG
Public key verificationAsymKeyPair- KeyVerPublic key verificationECDSA KeyVer (FIPS186-4):P- 256, P-384, P- 521 elliptic curves with 128- 256 bits of key strengthECDSA KeyVer (FIPS186-4)
Digital signature generationDigSig-SigGenDigital signature generationECDSA SigGen (FIPS186-4):P- 256, P-384, P- 521 elliptic curves with 128- 256 bits of strength RSA SigGenECDSA SigGen (FIPS186-4) RSA SigGen (FIPS186-4) Counter DRBG SHA2-224 SHA2-224 SHA2-224

© 2024 Canonical Ltd. / atsec information security.

Page 19
NameTypeDescriptionPropertiesAlgorithms
(FIPS186- 4):2048, 3072, 4096-bit keys with 112-149 bits of key strengthSHA2-224 SHA2-256 SHA2-256 SHA2-256 SHA2-256 SHA2-384 SHA2-384 SHA2-384 SHA2-384 SHA2-512 SHA2-512 SHA2-512 SHA2-512
Digital signature verificationDigSig-SigVerDigital signature verificationECDSA SigVer (FIPS186-4):P- 256, P-384, P- 521 elliptic curves with 128- 256 bits of key strength RSA SigVer (FIPS186- 4):2048, 3072, 4096-bit keys with 112-149 bits of key strengthECDSA SigVer (FIPS186-4) RSA SigVer (FIPS186-4) SHA2-224 SHA2-224 SHA2-224 SHA2-224 SHA2-256 SHA2-256 SHA2-256 SHA2-256 SHA2-384 SHA2-384 SHA2-384 SHA2-384 SHA2-512 SHA2-512 SHA2-512 SHA2-512
(EC Diffie- Hellman) shared secret computationKAS-SSCEC Diffie-Hellman shared secret computation compliant with scenario 2(1) of IG D.FKAS-ECC-SSC Sp800-56Ar3:P- 256, P-384, P- 521 elliptic curves with 128- 256 bits of strengthKAS-ECC-SSC Sp800-56Ar3
(Diffie-Hellman) shared secret computationKAS-SSCEC Diffie-Hellman shared secret computation compliant with scenario 2(1) of IG D.FKAS-FFC-SSC Sp800- 56Ar3:2048, 3072, 4096, 6144, 8192-bit keys with 112- 200 bits of key strengthKAS-FFC-SSC Sp800-56Ar3
Key derivationKAS-135KDF KAS-56CKDF PBKDFKey derivationKDF TLS (CVL):TLS derived secret with 112 to 256 bits of key strength PBKDF:128-4096KDF TLS PBKDF TLS v1.2 KDF RFC7627 KDA HKDF Sp800-56Cr1 HMAC-SHA-1

© 2024 Canonical Ltd. / atsec information security.

Page 20
NameTypeDescriptionPropertiesAlgorithms
bit keys with strength of 128- 256 bits TLS v1.2 KDF RFC7627 (CVL):TLS derived secret with 112 to 256 bits of key strength KDA HKDF Sp800-56Cr1:TLS derived secret with 112 to 256 bits of key strengthHMAC-SHA-1 HMAC-SHA-1 HMAC-SHA-1 HMAC-SHA2-224 HMAC-SHA2-224 HMAC-SHA2-224 HMAC-SHA2-224 HMAC-SHA2-256 HMAC-SHA2-256 HMAC-SHA2-256 HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-384 HMAC-SHA2-384 HMAC-SHA2-384 HMAC-SHA2-512 HMAC-SHA2-512 HMAC-SHA2-512 HMAC-SHA2-512 SHA-1 SHA-1 SHA-1 SHA-1 SHA2-224 SHA2-224 SHA2-224 SHA2-224 SHA2-256 SHA2-256 SHA2-256 SHA2-256 SHA2-384 SHA2-384 SHA2-384 SHA2-384 SHA2-512 SHA2-512 SHA2-512 SHA2-512
Key wrappingKTS-WrapKey wrapping/unwrapping using AES-CCM, AES- GCM, or AES-CBC with HMAC with 128-bit or 256-bit keys; used in the context of the TLS protocol, in compliance with IG D.G and additional comment 8 of IG D.GAES-CBC:128, 192, 256-bit keys with 128-256 bits of key strength AES-CCM:128, 256-bit keys with 128 and 256 bits of key strength AES-GCM:128, 256-bit keys with 128 and 256 bits of key strength HMAC-SHA- 1:112-524288 bit keys with strength of 112-AES-CCM AES-CCM AES-CCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC

© 2024 Canonical Ltd. / atsec information security.

Page 21
NameTypeDescriptionPropertiesAlgorithms
256 bits HMAC-SHA2- 224:112-524288 bit keys with strength of 112- 256 bits HMAC-SHA2- 256:112-524288 bit keys with strength of 112- 256 bits HMAC-SHA2- 384:112-524288 bit keys with strength of 112- 256 bits HMAC-SHA2- 512:112-524288 bit keys with strength of 112- 256 bitsAES-CBC AES-CBC HMAC-SHA-1 HMAC-SHA-1 HMAC-SHA-1 HMAC-SHA-1 HMAC-SHA2-224 HMAC-SHA2-224 HMAC-SHA2-224 HMAC-SHA2-224 HMAC-SHA2-256 HMAC-SHA2-256 HMAC-SHA2-256 HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-384 HMAC-SHA2-384 HMAC-SHA2-384 HMAC-SHA2-512 HMAC-SHA2-512 HMAC-SHA2-512 HMAC-SHA2-512 SHA-1 SHA-1 SHA-1 SHA-1 SHA2-224 SHA2-224 SHA2-224 SHA2-224 SHA2-256 SHA2-256 SHA2-256 SHA2-256 SHA2-384 SHA2-384 SHA2-384 SHA2-384 SHA2-512 SHA2-512 SHA2-512 SHA2-512
EC Diffie- HellmanKAS-FullEC Diffie-Hellman compliant with scenario 2(2) of IG D.FKAS-ECC-SSC Sp800-56Ar3:P- 256, P-384, P- 521 elliptic curves with 128- 256 bits of strength KDF TLS (CVL):TLS derived secret with 112 to 256 bits of key strengthKAS-ECC-SSC Sp800-56Ar3 KDF TLS TLS v1.2 KDF RFC7627 KDA HKDF Sp800-56Cr1

© 2024 Canonical Ltd. / atsec information security.

Page 22
NameTypeDescriptionPropertiesAlgorithms
TLS v1.2 KDF RFC7627 (CVL):TLS derived secret with 112 to 256 bits of key strength KDA HKDF Sp800-56Cr1:TLS derived secret with 112 to 256 bits of key strength
Diffie-HellmanKAS-FullDiffie-Hellman compliant with scenario 2(2) of IG D.FKAS-FFC-SSC SP800- 56Ar3:2048, 3072, 4096, 6144, 8192-bit keys with 112- 200 bits of key strength KDF TLS (CVL):TLS derived secret with 112 to 256 bits of key strength TLS v1.2 KDF RFC7627 (CVL):TLS derived secret with 112 to 256 bits of key strength KDA HKDF Sp800-56Cr1:TLS derived secret with 112 to 256 bits of key strengthKAS-FFC-SSC Sp800-56Ar3 KDF TLS TLS v1.2 KDF RFC7627 KDA HKDF Sp800-56Cr1

Table 9: Security Function Implementations

2.7 Algorithm Specific Information

Hash Algorithms In compliance with IG C.B, every approved hash algorithm implementation was CAVP tested and validated on all the module’s operational environments. Section 2.5 of this security policy contains a table of the CAVP certificates of the approved hash functions. For the higher-level algorithms that use the approved hash functions - Counter DRBG, ECDSA SigGen, RSA SigGen, RSA SigVer – every implemented combination for which CAVP testing exists was CAVP © 2024 Canonical Ltd. / atsec information security.

Page 23

tested and validated on all the module’s operational environments. Section 2.5 of this security policy contains a table of the CAVP certificates of these higher-level algorithms. SHA-3 The module provides SHA-3 hash functions compliant with IG C.C. Every implementation of each SHA-3 function was tested and validated on all the module’s operating environments. SHAKE functions are not implemented. SHA-3 hash functions are not used as part of a higher-level algorithm. RSA Key Generation In compliance with IG C.E, the module generates RSA signature keys using an approved method of FIPS 186-4: generation of random primes that are provably prime. The CAVP certificate #A3667 indicates that the RSA key generating algorithm has been tested and validated for conformance to the methods in FIPS 186-4. RSA Signature Generation and Signature Verification The module provides RSA signature generation and signature verification compliant with IG C.F. The module supports RSA modulus lengths of 2048, 3072, and 4096 bits for both signature generation and signature verification. The RSA signature generation and signature verification implementations have been tested for all implemented RSA modulus lengths. The number of Miller-Rabin tests is consistent with the bit sizes of p and q from Table B.1 of FIPS 186-4. AES-GCM The module implements AES GCM for being used in the TLS v1.2 and v1.3 protocols. AES GCM IV generation is compliant with [FIPS140-3_IG] IG C.H for both protocols as follows:

Page 24

“Asymmetric key generation” service must be used to generate ephemeral Diffie-Hellman or EC DiffieHellman key pairs, or the key pairs must be obtained from another FIPS-validated module. As part of this service, the module will internally perform the full public key validation of the generated public key. The module’s shared secret computation service will internally perform the full public key validation of the peer public key, complying with Sections 5.6.2.2.1 and 5.6.2.2.2 of SP 800-56Ar3. Key Transport Methods Please refer to section 2.10 of this security policy. Cryptographic Key Generation In compliance with IG D.H, the module generates symmetric keys and seeds for asymmetric keys using the method described in section 4 example 1 of SP 800-133r2 without the use of V (direct DRBG output as described in additional comment 2 of IG D.H). Please refer to section 2.9 for more information on the key generation methods employed by the module. DRBGs In compliance with IG D.L, the entropy input, DRBG seed, DRBG internal state (values of V and Key) are considered CSPs. The DRBG internal state is contained within the DRBG mechanism boundary and is not accessible by other mechanisms. PBKDF2 The module provides password-based key derivation (PBKDF), compliant with SP800-132 and IG D.N. The module supports option 1a from section 5.4 of SP800-132, in which the Master Key (MK) or a segment of it is used directly as the Data Protection Key (DPK). In accordance with SP800-132, the following requirements shall be met.

Page 25
CertVendor
NumberName
E60Canonical
NameTypeOperational EnvironmentSample SizeEntropy per SampleConditioning Component
Userspace CPU Time Jitter RNG Entropy SourceNon- PhysicalUbuntu 22.04 LTS (Jammy Jellyfish) on Supermicro SYS-1019P-WTR on Intel® Xeon® Gold 6226; Ubuntu 22.04 LTS (Jammy Jellyfish) on Amazon Web Services (AWS) c6g.metal on AWS Graviton2; Ubuntu 22.04 LTS (Jammy Jellyfish) on IBM z15 on z15256LFSR

The requirements of input parameters (derived key length, salt length, iteration count and password length) are verified by the module when providing the service indicator. The calling application shall also observe the rest of the requirements and recommendations specified in SP800-132. TLS v1.2 KDF In compliance with IG D.Q, the module supports the TLS 1.2 KDF with the extended master secret: TLS v1.2 KDF RFC7627 (CVL).

2.8 RBG and Entropy

Table 10: Entropy Certificates Table 11: Entropy Sources The module implements CTR_DRBG with AES-256, according to SP800-90Arev1, without a derivation function and without prediction resistance. The module uses an SP800-90B-compliant entropy source as specified above. This entropy source is located within the physical perimeter, but outside of the cryptographic boundary of the module. The public use document of the entropy source is found at: https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/entropy/E60_PublicUse.pdf The module obtains 384 bits from the entropy source to seed the DRBG, and 256 bits to reseed it, sufficient to provide a DRBG with 256 bits of security strength. The largest key strength generated by the module is 256 bits.

2.9 Key Generation

The module generates symmetric keys and seeds for asymmetric keys using the method described in section 4 example 1 of SP 800-133r2 without the use of V (direct output of DRBG as described in additional comment 2 of IG D.H). The module generates the following keys:

Page 26
2.10 Key Establishment

Key Agreement The module provides Diffie-Hellman and EC Diffie-Hellman shared secret computation compliant with SP800-56Arev3, in accordance with scenario 2 (1) of IG D.F and used as part of the TLS protocol key exchange in accordance with scenario 2 (2) of IG D.F; that is, the shared secret computation (KAS-FFCSSC and KAS-ECC-SSC) followed by the derivation of the keying material using KDF TLS (CVL), TLS v1.2 KDF RFC7627 (CVL), or KDA HKDF Sp800-56Cr1. The Diffie-Hellman shared secret computation, EC DiffieHellman shared secret computation, KDF TLS (CVL), TLS v1.2 KDF RFC7627 (CVL), and KDA HKDF Sp80056Cr1 have been CAVP tested. The EC Diffie-Hellman shared secret computation uses the Ephemeral Unified Model. The module supports EC Diffie-Hellman shared secret computation with P-256, P-384, and P-521 curves which have a security strength of 128-256 bits. The Diffie-Hellman shared secret computation uses the DH Ephemeral scheme. The module supports Diffie-Hellman shared secret computation with the MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, and ffdhe8192 groups which have a security strength of 112-200 bits. Key Transport The module provides key wrapping (KTS), compliant with IG D.G, using AES-CCM, AES-GCM, and AES-CBC with HMAC, used in the context of the TLS protocol cipher suites with 128-bit or 256-bit keys, with strengths of 128 bits and 256 bits respectively. When using AES-CBC with HMAC, the entire wrapped message is authenticated. AES-CCM, AES-GCM, AES-GCM, and HMAC have been tested and validated by the CAVP and the algorithms’ certificate numbers are in section 2.5 of the security policy. © 2024 Canonical Ltd. / atsec information security.

Page 27
2.11 Industry Protocols

The TLS protocol implementation provides both server and client sides. To operate in the approved mode, digital certificates used for server and client authentication shall comply with the restrictions of key size and message digest algorithms imposed by SP800-131Arev2. No parts of the TLS protocol, other than the approved cryptographic algorithms and the KDFs, have been tested by the CAVP and CMVP.

2.12 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 28
Physical PortLogical Interface(s)Data That Passes
N/AData InputAPI input parameters, kernel I/O network or files on filesystem, TLS protocol input messages.
N/AData OutputAPI output parameters, kernel I/O network or files on filesystem, TLS protocol output messages.
N/AControl InputAPI function calls, API input parameters for control.
N/AStatus OutputAPI return codes, API output parameters for status output.
3 Cryptographic Module Interfaces
3.1 Ports and Interfaces

Table 12: Ports and Interfaces The module does not have a control output interface.

3.2 Trusted Channel Specification
3.3 Control Interface Not Inhibited
3.4 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 29
NameTypeOperator TypeAuthentication Methods
Crypto OfficerRoleCrypto OfficerNone
NameDescript ionIndicatorInputsOutputsSecurity FunctionsSSP Access
Symmetri c key generatio nGenerate AES and HMAC keygnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDKey sizeKeyDetermini stic random bit generatio nCrypto Officer - AES key: G,R - HMAC key: G,R
Symmetri c encryptio nPerform AES encryptio ngnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDKey, IV (for AEAD), Plainte xtCiphertext, MAC tag (for AEAD)Symmetri c encryptio nCrypto Officer - AES key: W,E
Symmetri c decryptio nPerform AES decryptio ngnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDKey, IV (for AEAD), Ciphert ext, , MAC tag (for AEAD)PlaintextSymmetri c decryptio nCrypto Officer - AES key: W,E
Asymmetr ic key generatio nGenerate RSA, DH, or ECDSA/E CDH key pairsgnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDRSA key size, Elliptic Curve, or Safe prime groupKey pairAsymmetr ic key generatio nCrypto Officer - RSA public key: G,R - RSA private key: G,R - ECDSA public key: G,R - ECDSA private key: G,R - EC Diffie-
4 Roles, Services, and Authentication
4.2 Roles
4.3 Approved Services

© 2024 Canonical Ltd. / atsec information security.

Page 30
NameDescript ionIndicatorInputsOutputsSecurity FunctionsSSP Access
Hellman public key: G,R - EC Diffie- Hellman private key: G,R - Diffie- Hellman public key: G,R - Diffie- Hellman private key: G,R - Intermed iate key generati on value: G,E,Z
Digital signature generatio nGenerate RSA or ECDSA signaturegnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDMessag e, hash algorith m, private keyDigital signatureDigital signature generatio nCrypto Officer - RSA private key: W,E - ECDSA private key: W,E
Digital signature verificatio nVerify RSA or ECDSA signaturegnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDMessag e, signatu re, hash algorith m, public keyVerificatio n result (success/fa ilure)Digital signature verificatio nCrypto Officer - RSA public key: W,E - ECDSA public key: W,E
Public key verificatio nVerify ECDSA public keygnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDECDSA public keyVerificatio n result (success/fa ilure)Public key verificatio nCrypto Officer - ECDSA public key: W,E
Random number generatio nGenerate random bitstringsgnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDNumbe r of bitsRandom bytesDetermini stic random bit generatio nCrypto Officer - Entropy input: W,E - DRBG seed: G,E - DRBG internal state: V

G,E,Z © 2024 Canonical Ltd. / atsec information security.

Page 31
NameDescript ionIndicatorInputsOutputsSecurity FunctionsSSP Access
value, key: G,E
Message digestCompute SHA hashesgnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDMessag eHash digestMessage digestCrypto Officer
Message authentic ation code (MAC)Compute AES- based CMAC or AES- based GMAC or HMACgnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDMessag e, HMAC key or AES keyMessage authenticat ion code (MAC)Message authentic ation code (MAC)Crypto Officer - AES key: W,E - HMAC key: W,E
Diffie- Hellman shared secret computati onPerform DH shared secret computa tiongnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDDiffie- Hellma n private key, Diffie- Hellma n public key from peerShared secret(Diffie- Hellman) shared secret computati onCrypto Officer - Diffie- Hellman public key: W,E - Diffie- Hellman private key: W,E - Diffie- Hellman Shared secret: G,R
EC Diffie- Hellman shared secret computati onPerform ECDH shared secret computa tiongnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDEC Diffie- Hellma n private key, EC Diffie- Hellma n public key from peerShared secret(EC Diffie- Hellman) shared secret computati onCrypto Officer - EC Diffie- Hellman public key: W,E - EC Diffie- Hellman private key: W,E - EC Diffie- Hellman Shared secret: G,R
HMAC- based key derivationPerform key derivatio ngnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDDiffie- Hellma n shared secret or EC Diffie-HKDF derived keyKey derivationCrypto Officer - Diffie- Hellman Shared secret: W,E

G,R G,R © 2024 Canonical Ltd. / atsec information security.

Page 32
NameDescript ionIndicatorInputsOutputsSecurity FunctionsSSP Access
Hellma n shared secret- EC Diffie- Hellman Shared secret: W,E - HKDF derived key: G,R
Transport Layer Security (TLS) network protocolProvide supporte d cipher suites in approved modegnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDCipher- suites (see Append ix A for the comple te list of valid cipher suites), Digital Certific ate, Public and Private Keys, Applica tion DataReturn codes and/or log messages, Application dataSymmetri c encryptio n Symmetri c decryptio n Message authentic ation code (MAC) Digital signature generatio n Digital signature verificatio n (EC Diffie- Hellman) shared secret computati on (Diffie- Hellman) shared secret computati on Key derivation Key wrappingCrypto Officer - RSA public key: W,E - ECDSA public key: W,E - Diffie- Hellman public key: W,E - Diffie- Hellman private key: W,E - EC Diffie- Hellman public key: W,E - EC Diffie- Hellman private key: W,E - TLS pre- master secret: G,E - TLS derived secret: G,E - TLS master secret: G,E - RSA private key: W,E - ECDSA private key: W,E

W,E G,E © 2024 Canonical Ltd. / atsec information security.

Page 33
NameDescript ionIndicatorInputsOutputsSecurity FunctionsSSP Access
Show statusShow module statusImplicit (always approved)NoneReturn codes and/or log messagesNoneCrypto Officer
Zeroizatio nZeroize SSPsImplicit (always approved)Context containi ng SSPsNoneNoneCrypto Officer - AES key: Z - HMAC key: Z - RSA public key: Z - RSA private key: Z - ECDSA public key: Z - ECDSA private key: Z - Diffie- Hellman public key: Z - Diffie- Hellman private key: Z - EC Diffie- Hellman public key: Z - EC Diffie- Hellman private key: Z - Diffie- Hellman Shared secret: Z - EC Diffie- Hellman Shared secret: Z - PBKDF passwor d or passphra se: Z

© 2024 Canonical Ltd. / atsec information security.

Page 34
NameDescript ionIndicatorInputsOutputsSecurity FunctionsSSP Access
- PBKDF derived key: Z - Entropy input: Z - DRBG seed: Z - DRBG internal state: V value, key: Z - TLS pre- master secret: Z - TLS master secret: Z - TLS derived secret: Z - Intermed iate key generati on value: Z - HKDF derived key: Z
Self-testsPerform self-testsImplicit (always approved)Module resetResult of self-tests (pass/fail)NoneCrypto Officer
Show module name and versionShow module name and versionImplicit (always approved)NoneName and version informatio nNoneCrypto Officer
TLS key derivationPerform key derivatio ngnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDTLS pre- master secretTLS derived secretKey derivationCrypto Officer - TLS pre- master secret: W,E - TLS master secret: G,E - TLS derived secret: G,R

Z W,E G,E G,R © 2024 Canonical Ltd. / atsec information security.

Page 35
NameDescript ionIndicatorInputsOutputsSecurity FunctionsSSP Access
Password- based key derivationPerform key derivatio ngnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDPBKDF passwo rd or passphr asePBKDF derived keyKey derivationCrypto Officer - PBKDF passwor d or passphra se: W,E - PBKDF derived key: G,R
Diffie- HellmanPerform DH key agreeme ntgnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDDiffie- Hellma n private key, Diffie- Hellma n public key from peerHKDF derived key, TLS derived secretDiffie- HellmanCrypto Officer - Diffie- Hellman public key: W,E - Diffie- Hellman private key: W,E - TLS derived secret: G,R - HKDF derived key: G,R
EC Diffie- HellmanPerform ECDH key agreeme ntgnutls_fips140_get_opera tion_state() returns GNUTLS_FIPS140_OP_APP ROVEDEC Diffie- Hellma n private key, EC Diffie- Hellma n public key from peerHKDF derived key, TLS derived secretEC Diffie- HellmanCrypto Officer - EC Diffie- Hellman public key: W,E - EC Diffie- Hellman private key: W,E - TLS derived secret: G,R - HKDF derived key: G,R

G,R G,R Table 14: Approved Services The “Indicator” column shows the service indicator API functions that must be used to verify the service indicator for each of the services. The function gnutls_fips140_get_operation_state() indicates GNUTLS_FIPS140_OP_NOT_APPROVED or GNUTLS_FIPS140_OP_APPROVED depending on whether the API invoked corresponds to an approved or non-approved algorithm. © 2024 Canonical Ltd. / atsec information security.

Page 36
NameDescriptionAlgorithmsRole
Symmetric encryption; Symmetric decryption (non- approved)Blowfish, Camellia, CAST, ChaCha20, DES, Salsa20, SEED, Serpent, Triple-DES, Twofish, AES-GCM (when not used in the context of the TLS protocol), GOST, RC2, RC4Blowfish Camellia CAST ChaCha20 DES Salsa20 SEED Serpent Triple-DES Twofish AES-GCM (when not used in the context of the TLS protocol) GOST RC2, RC4CO
Authenticated encryption; Authenticated decryption (non- approved)Chacha20 and Poly1305Chacha20 and Poly1305CO
Message authentication code (non-approved)HMAC (with GOST), HMAC (with keys smaller than 112-bits), UMAC, CMAC with Triple-DES, GMACHMAC (with GOST) HMAC (with keys smaller than 112-bits) UMAC CMAC with Triple-DES GMACCO
Message digest (non-approved)MD2, MD4, MD5, RMD160, STREEBOG, GOSTMD2, MD4, MD5 RMD160 STREEBOG GOSTCO
Key derivation (non-approved)PBKDF (with non-approved message digest algorithms or using input parameters not meeting requirements stated in section 2.7 of the security policy)PBKDF (with non-approved message digest algorithms or using input parameters not meeting requirements stated in section 2.7 of the security policy)CO
Domain parameter generation (non- approved)DSADSACO
Public key verification (non- approved)ECDSA (with curves other than P-256, P- 384, P-512)ECDSA (with curves other than P-256, P-384, P-512)CO
Key generation (non-approved)RSA (with keys smaller than 2048 bits or greater than 4096 bits), DSA, ECDSA (with curves other than P-256, P-384, P- 512)RSA (with keys smaller than 2048 bits or greater than 4096 bits) DSA ECDSA (with curves other than P-256, P-384, P-512)CO
Digital signature verification (non- approved)RSA (with keys smaller than 1024 bits or greater than 4096 bits and/or hash functions other than SHA2-224, SHA2- 256, SHA2-384, SHA2-512), DSA, ECDSARSA (with keys smaller than 1024 bits or greater than 4096 bits and/or hash functions other than SHA2-CO

© 2024 Canonical Ltd. / atsec information security.

Page 37
NameDescriptionAlgorithmsRole
(with curves other than P-256, P-384, P- 512 or hash functions other than SHA2- 224, SHA2-256, SHA2-384, SHA2-512)224, SHA2-256, SHA2-384, SHA2-512) DSA ECDSA (with curves other than P-256, P-384, P-512 or hash functions other than SHA2-224, SHA2-256, SHA2- 384, SHA2-512)
Digital signature generation (non- approved)RSA (with keys smaller than 2048 bits or greater than 4096 bits and/or hash functions other than SHA2-224, SHA2- 256, SHA2-384, SHA2-512), DSA, ECDSA (with curves other than P-256, P-384, P- 512 or hash functions other than SHA2- 224, SHA2-256, SHA2-384, SHA2-512)RSA (with keys smaller than 2048 bits or greater than 4096 bits and/or hash functions other than SHA2- 224, SHA2-256, SHA2-384, SHA2-512) ECDSA (with curves other than P-256, P-384, P-512 or hash functions other than SHA2-224, SHA2-256, SHA2- 384, SHA2-512) DSACO
Key agreement; Shared secret computation (non- approved)SRP, Diffie-Hellman (with domain parameters other than safe primes), EC Diffie-Hellman (with curves other than P-256, P-384, P-512)SRP Diffie-Hellman (with domain parameters other than safe primes) EC Diffie-Hellman (with curves other than P-256, P- 384, P-512)CO
Key encapsulation; Key un- encapsulation (non- approved)RSA (encapsulation and un- encapsulation with any key sizes)RSA (encapsulation and un- encapsulation with any key sizes)CO
Random number generation (non- approved)YarrowYarrowCO

Table 15: Non-Approved Services

4.5 External Software/Firmware Loaded

The module does not support the loading of external software/firmware.

4.6 Bypass Actions and Status
4.7 Cryptographic Output Actions and Status
4.8 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 38
5 Software/Firmware Security
5.1 Integrity Techniques

The integrity of the module is verified by comparing an HMAC-SHA2-256 value calculated at run time with the HMAC value stored in the .hmac file that was computed at build time for each software component of the module listed in section 2. If the HMAC values do not match, the test fails, and the module enters the error state.

5.2 Initiate on Demand

The pre-operational integrity self-test can be initiated on demand by calling the Self-Test service (via the gnutls_fips140_run_self_tests() function) or by powering-off and reloading the module. During the execution of the on-demand integrity self-test, services are not available, and no data output is possible.

5.3 Open-Source Parameters
5.4 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 39
6 Operational Environment
6.1 Operational Environment Type and Requirements

Type of Operational Environment: Modifiable How Requirements are Satisfied: N/A

6.2 Configuration Settings and Restrictions

The module shall be installed as stated in section 11. The operating system provides process isolation and memory protection mechanisms that ensure appropriate separation for memory access among the processes on the system. Each process has control over its own data and uncontrolled access to the data of other processes is prevented.

6.3 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 40

Temp/Voltage Type LowTemperature HighTemperature LowVoltage HighVoltage

Temperature or Voltage

EFP or EFT

Result

Temperature TypeTemperature
LowTemperature
HighTemperature
7 Physical Security

The module is comprised of software only, and therefore this section is not applicable.

7.1 Mechanisms and Actions Required
7.2 User Placed Tamper Seals

Number: Placement: Surface Preparation: Operator Responsible for Securing Unused Seals: Part Numbers: N/A

7.3 Filler Panels
7.4 Fault Induction Mitigation

N/A Table 16: EFP/EFT Information

7.6 Hardness Testing Temperature Ranges

© 2024 Canonical Ltd. / atsec information security.

Page 41

Table 17: Hardness Testing Temperatures

7.7 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 42
8 Non-Invasive Security

This module does not implement any non-invasive security mechanism, and therefore this section is not applicable.

8.1 Mitigation Techniques
8.2 Effectiveness
8.3 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 43
Storage Area NameDescriptionPersistence Type
RAMTemporary storage for SSPs used by the module as part of service execution.Dynamic
NameFromToFormat TypeDistribution TypeEntry TypeSFI or Algorithm
API input parametersOperator calling application (within TOEPP)Cryptographic modulePlaintextManualElectronic
API output parametersCryptographic moduleOperator calling application (within TOEPP)PlaintextManualElectronic
Zeroization MethodDescriptionRationaleOperator Initiation
Wipe and Free memory block allocatedZeroizes the SSPs contained within the cipher handle.Memory occupied by SSPs is overwritten with zeroes and then it is released, which renders the SSP values irretrievable. The completion of the zeroization routine indicates that the zeroization has been completedTo zeroize AES keys, call gnutls_cipher_deinit() or gnutls_aead_cipher_deinit(); to zeroize HMAC keys, call gnutls_hmac_deinit(); to zeroize RSA or ECDSA public/private keys, call gnutls_privkey_deinit() or gnutls_x509_privkey_deinit() or gnutls_rsa_params_deinit(); to zeroize Diffie-Hellman public/private keys, call gnutls_dh_params_deinit() or gnutls_pk_params_clear(); to zeroize EC Diffie-Hellman public/private keys, call gnutls_pk_params_clear(); to zeroize (Diffie-Hellman) Shared secret or (EC Diffie-Hellman) Shared secret, call zeroize_key(); to zeroize entropy input, DRBG seed, or DRBG internal state, call gnutls_global_deinit(); to zeroize TLS pre- master secret, TLS master secret, TLS derived secret, or PBKDF derived key, call gnutls_deinit()
9 Sensitive Security Parameters Management
9.1 Storage Areas

Table 18: Storage Areas Table 19: SSP Input-Output Methods © 2024 Canonical Ltd. / atsec information security.

Page 44
Zeroization MethodDescriptionRationaleOperator Initiation
AutomaticAutomatically zeroized by the module when no longer neededMemory occupied by SSPs is overwritten with zeroes, which renders the SSP values irretrievable.N/A
Module ResetDe-allocates the volatile memory used to store SSPsVolatile memory used by the module is overwritten within nanoseconds when power is removed. The completion of module power-off indicates that the zeroization has been completedBy unloading and reloading the module
NameDescriptionSize - StrengthType - CategoryGenerated ByEstablishe d ByUsed By
AES keyUsed for Symmetric encryption; Symmetric decryption; Message authenticatio n code (MAC);128, 192, 256 bits - 128, 192, 256 bitsSymmetric key - CSPDeterministi c random bit generationSymmetric encryption Symmetric decryption Message authenticatio n code (MAC)
HMAC keyUsed for Message Authenticatio n Code (MAC)112 to 256 bits - 112 to 256 bitsSymmetric key - CSPDeterministi c random bit generationMessage authenticatio n code (MAC)
RSA public keyUsed for Digital signature verification; Transport Layer Security (TLS) network protocol2048, 3072, 4096-bit modulus - 112, 128, 149 bitsPublic key - PSPAsymmetric key generationDigital signature verification
RSA private keyUsed for Digital signature generation; Transport Layer Security (TLS)2048, 3072, 4096-bit modulus - 112, 128, 149 bitsPrivate key - CSPAsymmetric key generationDigital signature generation

Table 20: SSP Zeroization Methods All data output is inhibited when the module is performing zeroization. © 2024 Canonical Ltd. / atsec information security.

Page 45
NameDescription network protocolSize - StrengthType - CategoryGenerated ByEstablishe d ByUsed By
ECDSA public keyUsed for Digital signature verification; Public key verification; Transport Layer Security (TLS) network protocolP-256, P- 384, P- 521 - 128, 192, 256 bitsPublic key - PSPAsymmetric key generationDigital signature verification
ECDSA private keyUsed for Digital signature generation; Transport Layer Security (TLS) network protocolP-256, P- 384, P- 521 - 128, 192, 256 bitsPrivate key - CSPAsymmetric key generationDigital signature generation
Diffie- Hellman public keyUsed for Shared secret computation; Transport Layer Security (TLS) network protocolffdhe204 8, ffdhe307 2, ffdhe409 6, ffdhe614 4, ffdhe819 2, MODP- 2048, MODP- 3072, MODP- 4096, MODP- 6144, MODP- 8192 - 112 to 200 bitsPublic key - PSPAsymmetric key generation(Diffie- Hellman) shared secret computation
Diffie- Hellman private keyUsed for Shared secret computation; Transport Layer Security (TLS) network protocolffdhe204 8, ffdhe307 2, ffdhe409 6, ffdhe614 4, ffdhe819 2, MODP- 2048,Private key - CSPAsymmetric key generation(Diffie- Hellman) shared secret computation

© 2024 Canonical Ltd. / atsec information security.

Page 46
NameDescriptionSize - StrengthType - CategoryGenerated ByEstablishe d ByUsed By
MODP- 3072, MODP- 4096, MODP- 6144, MODP- 8192 - 112 to 200 bits
EC Diffie- Hellman public keyUsed for Shared secret computation; Transport Layer Security (TLS) network protocolP-256, P- 384, P- 521 - 128, 192, 256 bitsPublic key - PSPAsymmetric key generation(EC Diffie- Hellman) shared secret computation
EC Diffie- Hellman private keyUsed for Shared secret computation; Transport Layer Security (TLS) network protocolP-256, P- 384, P- 521 - 128, 192, 256 bitsPrivate key - CSPAsymmetric key generation(EC Diffie- Hellman) shared secret computation
Diffie- Hellman Shared secretUsed for Key derivationffdhe204 8, ffdhe307 2, ffdhe409 6, ffdhe614 4, ffdhe819 2, MODP- 2048, MODP- 3072, MODP- 4096, MODP- 6144, MODP- 8192 - 112 to 200 bitsShared secret - CSP(Diffie- Hellman) shared secret computatio nKey derivation
EC Diffie- Hellman Shared secretUsed for Key derivationP-256, P- 384, P- 521 - 128, 192, 256 bitsShared secret - CSP(EC Diffie- Hellman) shared secret computatio nKey derivation

6, n 4, n © 2024 Canonical Ltd. / atsec information security.

Page 47
NameDescriptionSize - StrengthType - CategoryGenerated ByEstablishe d ByUsed By
PBKDF password or passphraseUsed for Key derivation20 character s or more - N/APassword - CSPKey derivation
PBKDF derived keyUsed for protection of storage data112 to 256 bits - 112 to 256 bitsSymmetric key - CSPKey derivation
Entropy inputUsed for Random number generation256 to 384 bits - 256 bitsEntropy Input - CSPDeterministic random bit generation
DRBG seedUsed for Random number generation256 to 384 bits - 256 to 384 bitsSeed - CSPDeterministi c random bit generationDeterministic random bit generation
DRBG internal state: V value, keyUsed for Random number generation. This SSP is a CSP in compliance with IG D.LV: 128 bits; Key: 256 bits - 256 bitsInternal state - CSPDeterministi c random bit generationDeterministic random bit generation
TLS pre- master secretUsed for Transport Layer Security (TLS) network protocolffdhe204 8, ffdhe307 2, ffdhe409 6, ffdhe614 4, ffdhe819 2, MODP- 2048, MODP- 3072, MODP- 4096, MODP- 6144, MODP- 8192, P- 256, P- 384, P- 521 - 112 to 256 bitsShared secret - CSP(EC Diffie- Hellman) shared secret computatio n (Diffie- Hellman) shared secret computatio nKey derivation
TLS master secretUsed for Transport Layer Security (TLS) network protocol384 bits - 112 to 256 bitsIntermediat e secret value - CSPKey derivationKey derivation

© 2024 Canonical Ltd. / atsec information security.

Page 48
NameDescriptionSize - StrengthType - CategoryGenerated ByEstablishe d ByUsed By
TLS derived secretUsed in Transport Layer Security (TLS) network protocol112 to 256 bits - 112 to 256 bitsDerived key - CSPKey derivation
Intermediat e key generation valueUsed in Asymmetric key generation256 to 8192 bits - 112 to 256 bitsIntermediat e key generation value - CSPAsymmetric key generationAsymmetric key generation
HKDF derived keyKey derived from HKDF112 to 256 bits - 112 to 256 bitsSymmetric key - CSPKey derivation
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
AES keyAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetDRBG internal state: V value, key:Generated from
HMAC keyAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetDRBG internal state: V value, key:Generated from
RSA public keyAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetRSA private key:Paired With Intermediate key generation value:Generated from
RSA private keyAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetRSA public key:Paired With Intermediate key generation value:Generated from
ECDSA public keyAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetECDSA private key:Paired With Intermediate key generation value:Generated from

Table 21: SSP Table 1 © 2024 Canonical Ltd. / atsec information security.

Page 49
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
ECDSA private keyAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetECDSA public key:Paired With Intermediate key generation value:Generated from
Diffie- Hellman public keyAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetDiffie-Hellman Shared secret:Used to compute Diffie-Hellman private key:Paired With Intermediate key generation value:Generated from
Diffie- Hellman private keyAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetDiffie-Hellman Shared secret:Used to compute Diffie-Hellman public key:Paired With Intermediate key generation value:Generated from
EC Diffie- Hellman public keyAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetEC Diffie-Hellman Shared secret:Used to compute EC Diffie-Hellman private key:Paired With Intermediate key generation value:Generated from
EC Diffie- Hellman private keyAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetEC Diffie-Hellman Shared secret: Used to compute EC Diffie-Hellman public key:Paired With Intermediate key generation value:Generated from
Diffie- Hellman Shared secretAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetDiffie-Hellman public key:Computed using Diffie-Hellman private key:Computed using HKDF derived key:Used to derive
EC Diffie- Hellman Shared secretAPI input parameters API output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocatedEC Diffie-Hellman public key:Computed using EC Diffie-Hellman private key:Computed using

© 2024 Canonical Ltd. / atsec information security.

Page 50
NameInput - OutputStorageStorage DurationZeroization Module ResetRelated SSPs HKDF derived key:Used to derive
PBKDF password or passphraseAPI input parametersRAM:PlaintextFrom service invocation to service completionAutomaticPBKDF derived key:Used to derive
PBKDF derived keyAPI output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetPBKDF password or passphrase:Derived From
Entropy inputRAM:PlaintextUntil explicitly zeroized by operatorAutomatic Module ResetDRBG seed:Used to compute
DRBG seedRAM:PlaintextUntil explicitly zeroized by operatorAutomatic Module ResetEntropy input:Computed from DRBG internal state: V value, key:Used to compute
DRBG internal state: V value, keyRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetDRBG seed:Computed from
TLS pre- master secretRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetTLS master secret:Used to compute
TLS master secretRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetTLS pre-master secret:Computed from TLS derived secret:Used to derive
TLS derived secretAPI output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetTLS master secret:Derived From
Intermediate keyRAM:PlaintextFrom service invocationAutomaticRSA public key:Intermediate value obtained during

© 2024 Canonical Ltd. / atsec information security.

Page 51
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
generation valueto service completiongenerated of RSA private key:Intermediate value obtained during generated of ECDSA public key:Intermediate value obtained during generated of ECDSA private key:Intermediate value obtained during generated of Diffie-Hellman public key:Intermediate value obtained during generated of Diffie-Hellman private key:Intermediate value obtained during generated of EC Diffie-Hellman public key:Intermediate value obtained during generated of EC Diffie-Hellman private key:Intermediate value obtained during generated of
HKDF derived keyAPI output parametersRAM:PlaintextUntil explicitly zeroized by operatorWipe and Free memory block allocated Module ResetDiffie-Hellman Shared secret:Derived From EC Diffie-Hellman Shared secret:Derived From
9.5 Transitions
9.6 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 52
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetails
HMAC-SHA2- 256 (A3665)SHA2-256KATSW/FW IntegrityModule becomes operational and services are available for useMAC tag computation and verification
HMAC-SHA2- 256 (A3667)SHA2-256KATSW/FW IntegrityModule becomes operational and services are available for useMAC tag computation and verification
HMAC-SHA2- 256 (A3714)SHA2-256KATSW/FW IntegrityModule becomes operational and services are available for useMAC tag computation and verification
HMAC-SHA2- 256 (A3710)SHA2-256KATSW/FW IntegrityModule becomes operational and services are available for useMAC tag computation and verification
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
AES-CBC (A3665)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-CBC (A3667)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-CBC (A3708)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-CBC (A3709)256-bit keyKATCASTModule becomes operational and servicesEncryption, DecryptionOn module initialization
10 Self-Tests

The module performs the pre-operational self-test and cryptographic algorithm self-tests (CASTs) automatically when the module is loaded into memory. The module’s services are not available for use and data input and output are inhibited until the pre-operational tests and CASTs are completed successfully. If any of the pre-operational integrity self-tests or CASTs fail, an error message is returned and the module transitions to the error state.

10.1 Pre-Operational Self-Tests

Table 23: Pre-Operational Self-Tests

10.2 Conditional Self-Tests

© 2024 Canonical Ltd. / atsec information security.

Page 53
Algorithm or TestTest PropertiesTest MethodTest TypeIndicator are available for useDetailsConditions
AES-CBC (A3711)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-CBC (A3712)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-CBC (A3713)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-CBC (A3714)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-CFB8 (A3670)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-CFB8 (A3716)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-CFB8 (A3717)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-GCM (A3665)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-GCM (A3667)256-bit keyKATCASTModule becomes operationalEncryption, DecryptionOn module initialization

© 2024 Canonical Ltd. / atsec information security.

Page 54
Algorithm or TestTest PropertiesTest MethodTest TypeIndicator and services are available for useDetailsConditions
AES-GCM (A3708)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-GCM (A3709)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-GCM (A3711)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-GCM (A3712)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-GCM (A3713)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
AES-XTS Testing Revision 2.0 (A3668)256-bit keyKATCASTModule becomes operational and services are available for useEncryption, DecryptionOn module initialization
KAS-FFC-SSC Sp800-56Ar3 (A3667)3072-bit key and safe prime ffdhe3072KATCASTModule becomes operational and services are available for usePrimitive “Z” computationOn module initialization
Counter DRBG (A3667)256-bit key without DF, without PRKATCASTModule becomes operational and services are available for useRandom bit generationOn module initialization
KAS-ECC- SSC Sp800-P-256KATCASTModule becomesPrimitive “Z” ComputationOn module initialization

© 2024 Canonical Ltd. / atsec information security.

Page 55
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
56Ar3 (A3667)operational and services are available for use
ECDSA SigGen (FIPS186-4) (A3667)P-256 using SHA2-256KATCASTModule becomes operational and services are available for useSignature generationOn module initialization
ECDSA SigVer (FIPS186-4) (A3667)P-256 using SHA2-256KATCASTModule becomes operational and services are available for useSignature verificationOn module initialization
KDA HKDF Sp800-56Cr1 (A3666)HMAC- SHA2-256KATCASTModule becomes operational and services are available for useKey derivationOn module initialization
HMAC-SHA- 1 (A3665)SHA-1KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC-SHA- 1 (A3667)SHA-1KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC-SHA- 1 (A3714)SHA-1KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC-SHA- 1 (A3710)SHA-1KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-224 (A3665)SHA-224KATCASTModule becomes operational and services are available for useMAC generationOn module initialization

© 2024 Canonical Ltd. / atsec information security.

Page 56
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
HMAC- SHA2-224 (A3667)SHA-224KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-224 (A3714)SHA-224KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-224 (A3710)SHA-224KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-256 (A3665)SHA-256KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-256 (A3667)SHA-256KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-256 (A3714)SHA-256KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-256 (A3710)SHA-256KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-384 (A3665)SHA-384KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-384 (A3667)SHA-384KATCASTModule becomes operational and servicesMAC generationOn module initialization

© 2024 Canonical Ltd. / atsec information security.

Page 57
Algorithm or TestTest PropertiesTest MethodTest TypeIndicator are available for useDetailsConditions
HMAC- SHA2-384 (A3714)SHA-384KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-384 (A3710)SHA-384KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-512 (A3665)SHA-512KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-512 (A3667)SHA-512KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-512 (A3714)SHA-512KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
HMAC- SHA2-512 (A3710)SHA-512KATCASTModule becomes operational and services are available for useMAC generationOn module initialization
PBKDF (A3667)HMAC- SHA2-256KATCASTModule becomes operational and services are available for useKey derivationOn module initialization
RSA SigGen (FIPS186-4) (A3667)2048-bit key using SHA2- 256KATCASTModule becomes operational and services are available for useSignature generationOn module initialization
RSA SigVer (FIPS186-4) (A3667)2048-bit key using SHA2- 256KATCASTModule becomes operationalSignature verificationOn module initialization

© 2024 Canonical Ltd. / atsec information security.

Page 58
Algorithm or TestTest PropertiesTest MethodTest TypeIndicator and services are available for useDetailsConditions
SHA3-224 (A3669)SHA3-224KATCASTModule becomes operational and services are available for useHash digestOn module initialization
SHA3-224 (A3715)SHA3-224KATCASTModule becomes operational and services are available for useHash digestOn module initialization
SHA3-256 (A3669)SHA3-256KATCASTModule becomes operational and services are available for useHash digestOn module initialization
SHA3-256 (A3715)SHA3-256KATCASTModule becomes operational and services are available for useHash digestOn module initialization
SHA3-384 (A3669)SHA3-384KATCASTModule becomes operational and services are available for useHash digestOn module initialization
SHA3-384 (A3715)SHA3-384KATCASTModule becomes operational and services are available for useHash digestOn module initialization
SHA3-512 (A3669)SHA3-512KATCASTModule becomes operational and services are available for useHash digestOn module initialization
SHA3-512 (A3715)SHA3-512KATCASTModule becomes operational and services are available for useHash digestOn module initialization

© 2024 Canonical Ltd. / atsec information security.

Page 59
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
TLS v1.2 KDF RFC7627 (A3667)HMAC- SHA2-256KATCASTModule becomes operational and services are available for useKey derivation, using extended master secretOn module initialization
ECDSA KeyGen (FIPS186-4) (A3667)SHA2-256PCTPCTModule remains operational and services remain available for useSignature generation and verificationAfter every ECDSA and ECDH key generation
RSA KeyGen (FIPS186-4) (A3667)SHA2-256PCTPCTModule remains operational and services remain available for useSignature generation and verificationAfter every RSA key generation
Safe Primes Key Generation (A3667)Section 5.6.2.1.4 of SP800- 56Arev3PCTPCTModule remains operational and services remain available for useModular exponentiation with private keyAfter every Diffie- Hellman key generation
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
HMAC-SHA2- 256 (A3665)KATSW/FW IntegrityOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 256 (A3667)KATSW/FW IntegrityOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 256 (A3714)KATSW/FW IntegrityOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 256 (A3710)KATSW/FW IntegrityOn demandManually by unloading then loading module, or by calling the

Table 24: Conditional Self-Tests © 2024 Canonical Ltd. / atsec information security.

Page 60

Algorithm or Test

Test Method

Test Type

Period

Periodic Method gnutls_fips140_run_self_tests() function

Algorithm or TestTest MethodTest TypePeriodPeriodic Method
AES-CBC (A3665)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-CBC (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-CBC (A3708)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-CBC (A3709)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-CBC (A3711)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-CBC (A3712)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-CBC (A3713)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-CBC (A3714)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-CFB8 (A3670)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function

Table 25: Pre-Operational Periodic Information © 2024 Canonical Ltd. / atsec information security.

Page 61
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
AES-CFB8 (A3716)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-CFB8 (A3717)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-GCM (A3665)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-GCM (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-GCM (A3708)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-GCM (A3709)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-GCM (A3711)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-GCM (A3712)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-GCM (A3713)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
AES-XTS Testing Revision 2.0 (A3668)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
KAS-FFC-SSC Sp800-56Ar3 (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the

© 2024 Canonical Ltd. / atsec information security.

Page 62
Algorithm or TestTest MethodTest TypePeriodPeriodic Method gnutls_fips140_run_self_tests() function
Counter DRBG (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
KAS-ECC-SSC Sp800-56Ar3 (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
ECDSA SigGen (FIPS186-4) (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
ECDSA SigVer (FIPS186-4) (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
KDA HKDF Sp800-56Cr1 (A3666)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA-1 (A3665)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA-1 (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA-1 (A3714)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA-1 (A3710)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 224 (A3665)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function

© 2024 Canonical Ltd. / atsec information security.

Page 63
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
HMAC-SHA2- 224 (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 224 (A3714)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 224 (A3710)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 256 (A3665)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 256 (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 256 (A3714)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 256 (A3710)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 384 (A3665)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 384 (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 384 (A3714)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 384 (A3710)KATCASTOn demandManually by unloading then loading module, or by calling the

© 2024 Canonical Ltd. / atsec information security.

Page 64
Algorithm or TestTest MethodTest TypePeriodPeriodic Method gnutls_fips140_run_self_tests() function
HMAC-SHA2- 512 (A3665)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 512 (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 512 (A3714)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
HMAC-SHA2- 512 (A3710)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
PBKDF (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
RSA SigGen (FIPS186-4) (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
RSA SigVer (FIPS186-4) (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
SHA3-224 (A3669)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
SHA3-224 (A3715)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
SHA3-256 (A3669)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function

© 2024 Canonical Ltd. / atsec information security.

Page 65
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
SHA3-256 (A3715)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
SHA3-384 (A3669)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
SHA3-384 (A3715)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
SHA3-512 (A3669)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
SHA3-512 (A3715)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
TLS v1.2 KDF RFC7627 (A3667)KATCASTOn demandManually by unloading then loading module, or by calling the gnutls_fips140_run_self_tests() function
ECDSA KeyGen (FIPS186-4) (A3667)PCTPCTOn demandBy calling the "Asymmetric key Generation" service
RSA KeyGen (FIPS186-4) (A3667)PCTPCTOn demandBy calling the "Asymmetric key Generation" service
Safe Primes Key Generation (A3667)PCTPCTOn demandBy calling the "Asymmetric key Generation" service
NameDescriptionConditionsRecovery MethodIndicator
Error StatePrevents any cryptographic related operations and data outputWhen the integrity test or KAT (not the DRBG KAT) fail; When the DRBGRestarting the moduleGNUTLS_E_SELF_TEST_ERROR (-400); GNUTLS_E_RANDOM_FAILED (-206); GNUTLS_E_PK_GENERATION_ERROR (- 403); GNUTLS_E_LIB_IN_ERROR_STATE (- 402)

Table 26: Conditional Periodic Information

10.4 Error States

© 2024 Canonical Ltd. / atsec information security.

Page 66

Name

Description

Conditions KAT fails; When a newly generated RSA, ECDSA, Diffie- Hellman or EC Diffie-Hellman key pair fails the PCT; When the module is in error state and caller requests cryptographic operations;

Recovery Method

Indicator

Table 27: Error States The calling application can obtain the module state by calling the gnutls_fips140_get_operation_state() API function. The function returns GNUTLS_FIPS140_OP_ERROR if the module is in the Error state.

10.5 Operator Initiation of Self-Tests

The operator can initiate the pre-operational integrity self-test and cryptographic algorithm self-tests by calling the Self-Test service (via the gnutls_fips140_run_self_tests() function) or by powering-off and reloading the module. The operator can initiate a pairwise consistency self-test by calling the “Asymmetric key generation” service. During the execution of the pre-operational integrity self-test and cryptographic algorithm self-tests, services are not available, and no data output is possible.

10.6 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 67
11 Life-Cycle Assurance
11.1 Installation, Initialization, and Startup Procedures
11.1.1 Configuration of the Operating Environment

The module needs to be set to run in the FIPS validated operational environment. This can be enabled automatically via the Ubuntu Advantage tool after attaching your subscription. (1) To install the tool, type the following commands: $ sudo apt update $ sudo apt install ubuntu-advantage-tools (2) To activate the Ubuntu Pro subscription run: $ sudo pro attach <your_pro_token> (3) To enable the FIPS validated operational environment run: $ sudo pro enable fips (4) To verify that the FIPS validated operational environment is enabled run: $ sudo pro status The pro client will install the necessary packages that are part of the FIPS validated operational environment, including the kernel and the bootloader. After this step you MUST reboot to enter the FIPS validated operational environment. The reboot will boot into the kernel of the FIPS validated operational environment and create the /proc/sys/crypto/fips_enabled entry which tells the FIPS certified modules to run in the approved mode of operation. If you do not reboot after installing and configuring the bootloader, you will not be in the FIPS validated operational environment. To verify that the FIPS validated operational environment is enabled after the reboot check the /proc/sys/crypto/fips_enabled file and ensure it is set to 1. If it is set to 0, the FIPS modules will not run in the approved mode of operation. If the file is missing, the correct kernel (which is part of the FIPS validated operational environment) is not installed. You can verify that the FIPS validated operational environment has been properly enabled with the pro status command. Instrumentation tools like the ptrace system call, gdb and strace utilities, as well as other tracing mechanisms offered by the Linux environment such as ftrace or systemtap, shall not be used in the operational environment. The use of any of these tools implies that the cryptographic module is running in a non-tested operational environment. If the module is not installed, initialized, and configured according to this section, the module is in a noncompliant state. If the module is in a non-compliant state, it can be placed into the compliant state by un-initializing and uninstalling the module and then installing, initializing, and configuring the module according to this section.

11.1.2 Delivery of the Module

On the Supermicro SYS-1019P-WTR hardware platform with the Intel Xeon Gold 6226 processor, the module is delivered through the following Ubuntu packages: © 2024 Canonical Ltd. / atsec information security.

Page 68

libgnutls30_3.7.3-4ubuntu1.2+Fips1.1_amd64.deb libnettle8_3.7.3-1ubuntu0.1~Fips1_amd64.deb libhogweed6_3.7.3-1ubuntu0.1~Fips1_amd64.deb libgmp10_6.2.1+dfsg-3ubuntu1+Fips1_amd64.deb On the Amazon Web Services (AWS) c6g.metal hardware platform with the AWS Graviton2 processor, the module is delivered through the following Ubuntu packages: libgnutls30_3.7.3-4ubuntu1.2+Fips1.1_arm64.deb libnettle8_3.7.3-1ubuntu0.1~Fips1_arm64.deb libhogweed6_3.7.3-1ubuntu0.1~Fips1_arm64.deb libgmp10_6.2.1+dfsg-3ubuntu1+Fips1_arm64.deb On the IBM z15 hardware platform with the z15 processor, the module is delivered through the following Ubuntu packages: libgnutls30_3.7.3-4ubuntu1.2+Fips1.1_s390x.deb libnettle8_3.7.3-1ubuntu0.1~Fips1_s390x.deb libhogweed6_3.7.3-1ubuntu0.1~Fips1_s390x.deb libgmp10_6.2.1+dfsg-3ubuntu1+Fips1_s390x.deb

11.1.3 Installation of the Module

After the operating environment has been configured according to the instructions of section 11.1.1, the Crypto Officer can install the Ubuntu packages containing the module using the Advanced Package Tool (APT) with the following commands: $ sudo apt-get install libgnutls30=3.7.3-4ubuntu1.2+Fips1.1 $ sudo apt-get install libgmp10=2:6.2.1+dfsg-3ubuntu1+Fips1 $ sudo apt-get install libhogweed6=3.7.3-1ubuntu0.1~Fips1 $ sudo apt-get install libnettle8=3.7.3-1ubuntu0.1~Fips1 All the Ubuntu packages are associated with hashes for integrity check. The integrity of the Ubuntu package is automatically verified by the packing tool during the installation of the module. The Crypto Officer shall not install the package if the integrity fails. The module cannot use the following environment variables: GNUTLS_NO_EXPLICIT_INIT GNUTLS_SKIP_FIPS_INTEGRITY_CHECKS The module can only be used with the cryptographic algorithms provided. Therefore, the following API functions are forbidden in the approved mode of operation: gnutls_crypto_register_cipher gnutls_crypto_register_aead_cipher gnutls_crypto_register_mac gnutls_crypto_register_digest gnutls_privkey_import_ext4

11.2 Administrator Guidance

© 2024 Canonical Ltd. / atsec information security.

Page 69

The Crypto Officer shall follow this Security Policy to configure the operational environment and install the module to be operated in the approved mode. The output of the “Show module name and version” service is: “Canonical Ltd. Ubuntu 22.04 GnuTLS Cryptographic Module” and "3.7.3-4ubuntu1.2+Fips1.1".

11.3 Non-Administrator Guidance

The approved security functions are listed in section 2.6 of this security policy. The logical interfaces available to the users of the cryptographic module are listed in section 3.1. For the secure operation of the module, the operator must follow the instructions in section 11.1 of this security policy.

11.4 Design and Rules
11.5 Maintenance Requirements
11.6 End of Life

For secure sanitization of the cryptographic module, the module needs first to be powered off, which will zeroize all keys and CSPs in volatile memory. The module does not possess persistent storage of SSPs, so further sanitization steps are not needed.

11.7 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 70
12 Mitigation of Other Attacks

The module does not mitigate other attacks.

12.1 Attack List
12.2 Mitigation Effectiveness
12.3 Guidance and Constraints
12.4 Additional Information

N/A © 2024 Canonical Ltd. / atsec information security.

Page 71
Cipher SuiteIDReference
TLS_DH_RSA_WITH_AES_128_CBC_SHA{ 0x00, 0x31 }RFC3268
TLS_DHE_RSA_WITH_AES_128_CBC_SHA{ 0x00, 0x33 }RFC3268
TLS_DH_RSA_WITH_AES_256_CBC_SHA{ 0x00, 0x37 }RFC3268
TLS_DHE_RSA_WITH_AES_256_CBC_SHA{ 0x00, 0x39 }RFC3268
TLS_DH_RSA_WITH_AES_128_CBC_SHA256{ 0x00,0x3F }RFC5246
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256{ 0x00,0x67 }RFC5246
TLS_DH_RSA_WITH_AES_256_CBC_SHA256{ 0x00,0x69 }RFC5246
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256{ 0x00,0x6B }RFC5246
TLS_PSK_WITH_AES_128_CBC_SHA{ 0x00, 0x8C }RFC4279
TLS_PSK_WITH_AES_256_CBC_SHA{ 0x00, 0x8D }RFC4279
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256{ 0x00, 0x9E }RFC5288
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384{ 0x00, 0x9F }RFC5288
TLS_DH_RSA_WITH_AES_128_GCM_SHA256{ 0x00, 0xA0 }RFC5288
TLS_DH_RSA_WITH_AES_256_GCM_SHA384{ 0x00, 0xA1 }RFC5288
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA{ 0xC0, 0x04 }RFC4492
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA{ 0xC0, 0x05 }RFC4492
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA{ 0xC0, 0x09 }RFC4492
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA{ 0xC0, 0x0A }RFC4492
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA{ 0xC0, 0x0E }RFC4492
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA{ 0xC0, 0x0F }RFC4492
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA{ 0xC0, 0x13 }RFC4492
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA{ 0xC0, 0x14 }RFC4492

Appendix A: TLS Cipher Suites The module supports the following cipher suites for the TLS protocol version 1.0, 1.1, 1.2 and 1.3, compliant with section 3.3.1 of SP800-52rev2. Each cipher suite defines the key exchange algorithm, the bulk encryption algorithm (including the symmetric key size) and the MAC algorithm. © 2024 Canonical Ltd. / atsec information security.

Page 72
Cipher SuiteIDReference
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256{ 0xC0, 0x23 }RFC5289
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384{ 0xC0, 0x24 }RFC5289
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256{ 0xC0, 0x25 }RFC5289
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384{ 0xC0, 0x26 }RFC5289
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256{ 0xC0, 0x27 }RFC5289
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384{ 0xC0, 0x28 }RFC5289
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256{ 0xC0, 0x29 }RFC5289
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384{ 0xC0, 0x2A }RFC5289
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256{ 0xC0, 0x2B }RFC5289
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384{ 0xC0, 0x2C }RFC5289
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256{ 0xC0, 0x2D }RFC5289
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384{ 0xC0, 0x2E }RFC5289
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256{ 0xC0, 0x2F }RFC5289
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384{ 0xC0, 0x30 }RFC5289
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256{ 0xC0, 0x31 }RFC5289
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384{ 0xC0, 0x32 }RFC5289
TLS_DHE_RSA_WITH_AES_128_CCM{ 0xC0, 0x9E }RFC6655
TLS_DHE_RSA_WITH_AES_256_CCM{ 0xC0, 0x9F }RFC6655
TLS_DHE_RSA_WITH_AES_128_CCM_8{ 0xC0, 0xA2 }RFC6655
TLS_DHE_RSA_WITH_AES_256_CCM_8{ 0xC0, 0xA3 }RFC6655
TLS_AES_128_GCM_SHA256{ 0x13, 0x01 }RFC8446
TLS_AES_256_GCM_SHA384{ 0x13, 0x02 }RFC8446
TLS_AES_128_CCM_SHA256{ 0x13, 0x04 }RFC8446
TLS_AES_128_CCM_8_SHA256{ 0x13, 0x05 }RFC8446

© 2024 Canonical Ltd. / atsec information security.

Page 73
Table, extracted as text (did not parse into structured rows)
Appendix B. Glossary and Abbreviations AES                   Advanced Encryption Standard AES-NI                Advanced Encryption Standard New Instructions CAVP                  Cryptographic Algorithm Validation Program CBC                   Cipher Block Chaining CCM                   Counter with Cipher Block Chaining-Message Authentication Code CFB                   Cipher Feedback CMAC                  Cipher-based Message Authentication Code CMVP                  Cryptographic Module Validation Program CPACF                 Central Processor Assist for Cryptographic Function CSP                   Critical Security Parameter CTR                   Counter Mode DF                    Derivation Function DRBG                  Deterministic Random Bit Generator ECB                   Electronic Code Book ECC                   Elliptic Curve Cryptography FFC                   Finite Field Cryptography FIPS                  Federal Information Processing Standards Publication FSM                   Finite State Model GCM                   Galois Counter Mode HMAC                  Hash Message Authentication Code KAS                   Key Agreement Schema KAT                   Known Answer Test MAC                   Message Authentication Code NIST                  National Institute of Science and Technology OFB                    Output Feedback OS                    Operating System PAA                   Processor Algorithm Acceleration PAI                   Processor Algorithm Implementation PR                    Prediction Resistance PSS                   Probabilistic Signature Scheme RNG                   Random Number Generator RSA                   Rivest, Shamir, Addleman SHA                   Secure Hash Algorithm SHS                   Secure Hash Standard © 2024 Canonical Ltd. / atsec information security.
Page 74

SSH Secure Shell SSP Sensitive Security Parameter XTS XEX-based Tweaked-codebook mode with cipher text Stealing © 2024 Canonical Ltd. / atsec information security.

Page 75
FIPS140-3FIPS PUB 140-3 - Security Requirements For Cryptographic Modules March 2019 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-3.pdf
FIPS140-3_IGImplementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program March 2024 https://csrc.nist.gov/csrc/media/Projects/cryptographic-module-validation- program/documents/fips%20140-3/FIPS%20140-3%20IG.pdf
FIPS180-4Secure Hash Standard (SHS) August 2015 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
FIPS186-4Digital Signature Standard (DSS) July 2013 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
FIPS197Advanced Encryption Standard November 2001 https://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
FIPS198-1The Keyed Hash Message Authentication Code (HMAC) July 2008 https://csrc.nist.gov/publications/fips/fips198-1/FIPS-198-1_final.pdf
FIPS202SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions August 2015 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf
PKCS#1Public Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1 February 2003 https://www.ietf.org/rfc/rfc3447.txt
RFC3394Advanced Encryption Standard (AES) Key Wrap Algorithm September 2002 https://www.ietf.org/rfc/rfc3394.txt
RFC5649Advanced Encryption Standard (AES) Key Wrap with Padding Algorithm September 2009 https://www.ietf.org/rfc/rfc5649.txt
SP800-38ANIST Special Publication 800-38A - Recommendation for Block Cipher Modes of Operation Methods and Techniques December 2001 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800- 38a.pdf © 2024 Canonical Ltd. / atsec information security.
Page 76
SP800-38BNIST Special Publication 800-38B - Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication May 2005 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38b.pdf
SP800-38CNIST Special Publication 800-38C - Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality May 2004 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38c.pdf
SP800-38DNIST Special Publication 800-38D - Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC November 2007 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800- 38d.pdf
SP800-38ENIST Special Publication 800-38E - Recommendation for Block Cipher Modes of Operation: The XTS AES Mode for Confidentiality on Storage Devices January 2010 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800- 38e.pdfhttps://csrc.nist.gov/publications/nistpubs/800-38E/nist-sp-800- 38E.pdf
SP800-38FNIST Special Publication 800-38F - Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping December 2012 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf
SP800-38GNIST Special Publication 800-38G - Recommendation for Block Cipher Modes of Operation: Methods for Format - Preserving Encryption March 2016 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38G.pdf
SP800-52rev2NIST Special Publication 800-52 Revision 2 - Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations August 2019 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-52r2.pdf
SP800-56Arev3NIST Special Publication 800-56A Revision 3 - Recommendation for Pair Wise Key Establishment Schemes Using Discrete Logarithm Cryptography April 2018 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf
SP800-56Crev2NIST Special Publication 800-56C Revision 2 - Recommendation for Key Derivation through Extraction-then-Expansion August 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf
SP800-57rev5NIST Special Publication 800-57 Part 1 Revision 5 - Recommendation for Key Management Part 1: General May 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r5.pdf © 2024 Canonical Ltd. / atsec information security.
Page 77
SP800-90Arev1NIST Special Publication 800-90A Revision 1 - Recommendation for Random Number Generation Using Deterministic Random Bit Generators June 2015 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf
SP800-90BNIST Special Publication 800-90B - Recommendation for the Entropy Sources Used for Random Bit Generation January 2018 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90B.pdf
SP800-108rev1NIST Special Publication 800-108 Revision 1 - Recommendation for Key Derivation Using Pseudorandom Functions (Revised) August 2022 https://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf
SP800-131Arev2NIST Special Publication 800-131 Revision 2 - Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths March 2019 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf
SP800-132NIST Special Publication 800-132 - Recommendation for Password-Based Key Derivation - Part 1: Storage Applications December 2010 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800- 132.pdf
SP800-133rev2NIST Special Publication 800-133 Revision 2 - Recommendation for Cryptographic Key Generation June 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-133r2.pdf
SP800-135rev1NIST Special Publication 800-135 Revision 1 - Recommendation for Existing Application-Specific Key Derivation Functions December 2011 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800- 135r1.pdf
SP800-140BNIST Special Publication 800-140B - CMVP Security Policy Requirements March 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-140B.pdf © 2024 Canonical Ltd. / atsec information security.