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

Oracle Linux 9 NSS Cryptographic Module

Certificate#4801StandardFIPS 140-3Level1TypeSoftwareEmbodimentMulti-Chip Stand AloneStatusHistoricalVendorOracle Corporation
Medium review priority  ·  no TCB surface named  ·  NSS upstream has published 0 CVEs since this module's initial validation  ·  last validated 22 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level1
Module typeSoftware
EmbodimentMulti-Chip Stand Alone
StatusHistorical
CaveatInterim validation. When operated in approved mode. When installed, initialized and configured as specified in section 11 of the Security Policy.
VendorOracle Corporation

Approved Algorithms (49)

AlgorithmACVP Cert
AES-CBCA4760
AES-CBCA4767
AES-CBCA4769
AES-CBC-CS1A4765
AES-CMACA4762
AES-CTRA4760
AES-CTRA4769
AES-ECBA4760
AES-ECBA4767
AES-ECBA4769
AES-GCMA4760
AES-GCMA4760
AES-GCMA4767
AES-GCMA4767
AES-GCMA4769
AES-GCMA4769
AES-KWA4761
AES-KWA4766
AES-KWA4768
AES-KWPA4761
AES-KWPA4766
AES-KWPA4768
DSA SigVer (FIPS186-4)A4760
ECDSA KeyGen (FIPS186-4)A4760
ECDSA KeyVer (FIPS186-4)A4760
ECDSA SigGen (FIPS186-4)A4760
ECDSA SigVer (FIPS186-4)A4760
Hash DRBGA4760
HMAC-SHA2-224A4760
HMAC-SHA2-256A4760
HMAC-SHA2-384A4760
HMAC-SHA2-512A4760
KAS-ECC-SSC Sp800-56Ar3A4760
KAS-FFC-SSC Sp800-56Ar3A4760
KDA HKDF Sp800-56Cr1A4759
KDF IKEv2A4764
KDF SP800-108A4763
KDF TLSA4760
PBKDFA4760
RSA KeyGen (FIPS186-4)A4760
RSA SigGen (FIPS186-4)A4760
RSA SigVer (FIPS186-2)A4760
RSA SigVer (FIPS186-4)A4760
Safe Primes Key GenerationA4760
SHA2-224A4760
SHA2-256A4760
SHA2-384A4760
SHA2-512A4760
TLS v1.2 KDF RFC7627A4760

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

flowchart LR
  %% Deterministic review-risk graph for Oracle Linux 9 NSS 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>Status Output<br/>Show Status<br/>Self-Test</i>"]
    C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>IKEV<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 Oracle Linux 9 NSS 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>Status Output<br/>Show Status<br/>Self-Test</i><br/>src: text:keyword"]
    C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<br/>IKEV<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

Oracle Linux 9 NSS Cryptographic Module FIPS 140-3 Level 1 Validation Software Version: 4.35.0-381552536e763d0c Prepared by: atsec information security corporation

4516 Seton Center Pkwy, Suite 250

Austin, TX 78759 www.atsec.com Document Version 1.1 ©Oracle Corporation

Page 2

Title: Oracle Linux 9 NSS Cryptographic Module Date: September 6th, 2024 Contributing Authors: Oracle Linux Engineering Security Evaluations – Global Product Security atsec information security Oracle Corporation World Headquarters

2300 Oracle Way

Austin, TX 78741 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 www.oracle.com change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. Oracle specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may be reproduced or distributed whole and Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Oracle Linux 9 NSS Cryptographic Module Security Policy i

Page 3
Table of Contents
#SectionPage
Page 4

Oracle Linux 9 NSS Cryptographic Module Security Policy iii

Page 5
List of Tables
ItemPage
Table 1 - Security Levels1
Table 2 - Tested Module Identification3
Table 3 - Tested Operational Environments3
Table 4 - Vendor Affirmed Operational Environments3
Table 5 - Modes List and Description3
Table 6 - Approved Algorithms9
Table 7 - Vendor Affirmed Algorithms9
Table 8 - Non-Approved, Not Allowed Algorithms10
Table 9 - Security Function Implementations11
Table 10 – Entropy12
Table 11 - Key Generation13
Table 12 - Key Establishment14
Table 13 - Ports and Interfaces15
Table 14 – Roles16
Table 15 – Approved Services18
Table 16 - Non-Approved Services19
Table 17 – Storage Areas24
Table 18 – SSP Input-Output24
Table 19 - SSP Zeroization Methods24
Table 20 – SSP Information First26
Table 21 – SSP Information Second28
Table 22 - Pre-Operational Self-Tests29
Table 23 - Conditional Self-Tests30
Table 24 - Error States31
Figure 1 – Block Diagram2
Page 6
ISO/IEC 24759 Section 6 SubsectionsFIPS 140-3 Section TitleSecurity Level
1General1
2Cryptographic Module Specification1
3Cryptographic Module Interfaces1
4Roles, Services, and Authentication1
5Software/Firmware Security1
6Operational Environment1
7Physical SecurityNot Applicable
8Non-invasive SecurityNot Applicable
9Sensitive Security Parameter Management1
10Self-tests1
11Life-cycle Assurance1
12Mitigation of Other Attacks1
Overall Level1
1.1 Overview

This document is the non-proprietary FIPS 140-3 Security Policy for software version 4.35.0-381552536e763d0c of the Oracle Linux 9 NSS Cryptographic Module. It contains the security rules under which the module must operate and describes how this module meets the requirements as specified in FIPS PUB 140-3 (Federal Information Processing Standards Publication 140-3) for Other documentation is proprietary to their authors.

1.1.1 How this Security Policy Was Prepared

In preparing the Security Policy document, the laboratory formatted the vendor-supplied documentation for consolidation without altering the technical statements therein contained. The further refining of the Security Policy document was conducted iteratively throughout the conformance testing, wherein the Security Policy was submitted to the vendor, who would then edit, modify, and add technical contents. The vendor would also supply additional documentation, which the laboratory formatted into the existing Security Policy, and resubmitted to the vendor for their final editing.

1.2 Security Levels

Table 1 describes the individual security areas of FIPS 140-3, as well as the security levels of those individual areas. Table 1 - Security Levels Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 7
2 Cryptographic Module Specification
2.1 Description

Purpose and Use: The Oracle Linux 9 NSS Cryptographic Module (hereafter referred to as “the module”) is defined as a software module in a multi-chip standalone embodiment. It provides a C language application program interface (API) designed to support cross-platform development of security-enabled client and server applications. Applications built with NSS can support SSLv3, TLS, IKEv2, PKCS#5, PKCS#7, PKCS#11, PKCS#12, S/MIME, X.509 v3 certificates, and other security standards supporting FIPS 140-

3 validated cryptographic algorithms. It combines a vertical stack of Linux components intended to limit the external interface

each separate component may provide. Module Type: Software Module Embodiment: Multi-chip standalone Module Characteristics: N/A Cryptographic Boundary: Figure 1 shows the cryptographic boundary of the module, its interfaces with the operational environment and the flow of information between the module and operator (depicted through the arrows). Tested Operational Environment’s Physical Perimeter (TOEPP): The TOEPP of the module is defined as the general-purpose computer on which the module is installed. Figure 1 – Block Diagram Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 8
Package or File NamesSoftware/ Firmware VersionsFeaturesHybrid Hardware VersionIntegrity Test
libsoftokn3.so libfreeblpriv3.so4.35.0-381552536e763d0cN/AN/AHMAC-SHA-256
Operating SystemHardware PlatformProcessor(s)PAA/PAIHypervisor and Host OS
Oracle Linux 9ORACLE SERVER X9-2cIntel® Xeon® Platinum 8358With and without AES-NI and SHA ExtensionsKVM on Oracle Linux 8
ORACLE SERVER E4-2cAMD EPYC 7J13With and without AES-NI and SHA Extensions
ORACLE SERVER A1-2cAmpere® Altra® Q80-30With and without NEON and Cryptography Extensions (CE)
Operating SystemsHardware PlatformsVirtual Platforms
Oracle Linux 9Oracle X Series Servers Oracle E Series Servers Oracle A Series Servers Marvell T93 LiquidIO III (ARM v8.x) SmartNIC Pensando DSC-200-R (ARM v8.x) SmartNIC Marvell T93 LiquidIO III (ARM v8.x) SmartNIC Pensando DSC-200-R (ARM v8.x) SmartNICOracle Linux KVM VmWare ESXi
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
2.2 Tested and Vendor Affirmed Version and Identification

Tested Module Identification – Software, Firmware, Hybrid (Executable Code Sets): Table 2 - Tested Module Identification Table 3 - Tested Operational Environments Vendor Affirmed Operating Environments: Table 4 - Vendor Affirmed Operational Environments Note: the CMVP makes no statement as to the correct operation of the module or the security strengths of the generated SSPs when so ported if the specific operational environment is not listed on the validation certificate.

2.3 Excluded Components

There are no components within the cryptographic boundary excluded from the FIPS 140-3 requirements.

2.4 Modes of Operation

Modes List and Description: Table 5 - Modes List and Description After passing all pre-operational self-tests and conditional cryptographic algorithm self-tests (CASTs) executed on start-up, the module automatically transitions to the approved mode. No operator intervention is required to reach this point. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 9
Algorithm NameCAVP NumbersAlgorithms CapabilitiesOE (Implementation)Reference
SHA2-224#A4760N/AOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CFIPS 180-4
SHA2-256#A4760N/AOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C
SHA2-384#A4760N/AOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C
SHA2-512#A4760N/AOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C
AES-ECB#A4760, #A4767, #A4769Encryption, Decryption using 128, 192, 256-bit keysOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C, CE, AESNI Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C, CE, AESNIFIPS 197 SP 800-38A SP 800-38A Addendum

Mode change instructions and status indicators: The module automatically switches between the approved and non-approved modes depending on the services requested by the operator. The status indicator of the mode of operation is equivalent to the indicator of the service that was requested. Degraded Mode Description: The module does not implement a degraded mode of operation. Approved Algorithms: C C C Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 10
Algorithm NameCAVP NumbersAlgorithms CapabilitiesOE (Implementation) Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C, CE, AESNIReference
AES-CBC#A4760, #A4767, #A4769Encryption, Decryption using 128, 192, 256-bit keysOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C, CE, AESNI Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C, CE, AESNI Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C, CE, AESNIFIPS 197 SP 800-38A SP 800-38A Addendum
AES-CBC-CS1#A4765Encryption, Decryption using 128, 192, 256-bit keysOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C CTS Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C CTS Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C CTSFIPS 197 SP 800-38A Addendum
AES-CTR#A4760, #A4769Encryption, Decryption using 128, 192, 256-bit keysOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C, AESNI Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C, AESNI Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C, AESNIFIPS 197 SP 800-38A SP 800-38A Addendum
AES-CMAC#A4762Message Authentication using 128, 192, 256-bit keysOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C CMAC Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C CMAC Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C CMACFIPS 197 SP 800-38B
AES-GCM#A4760, #A4767, #A4769Authenticated Encryption (internal IV), Authenticated Decryption (external IV) using 128, 192, 256-bit keysOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C, CE, AESNI Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C, CE, AESNI Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C, CE, AESNIFIPS 197 SP 800-38D

Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 11
Algorithm NameCAVP NumbersAlgorithms CapabilitiesOE (Implementation)Reference
IV Generation: Internal & External IV Generation Mode: 8.2.1 and 8.2.2
AES-KW#A4761, #A4766, #A4768Key Wrapping, Key Unwrapping using 128, 192, 256-bit keysOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C KW, AESNI KW Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C KW, AESNI KW Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C KW, AESNI KWFIPS 197 SP 800-38F
AES-KWP#A4761, #A4766, #A4768Key Wrapping, Key Unwrapping using 128, 192, 256-bit keysOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C KW, AESNI KW Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C KW, AESNI KW Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C KW, AESNI KWFIPS 197 SP 800-38F
HMAC#A4760SHA-224, SHA- 256, SHA-384, SHA-512 112-524288-bit keysOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CFIPS 198-1 FIPS 180-4
KBKDF#A4763Modes: counter, feedback, double pipeline CMAC and HMAC SHA-1, SHA-224, SHA-256, SHA- 384, SHA-512Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C KBKDF Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C KBKDF Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C KBKDFSP 800-108r1
HKDF#A4759Key Derivation with HMAC SHA- 224, SHA-256, SHA-384, SHA- 512Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: TLS v1.3 Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: TLS v1.3 Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: TLS v1.3SP 800-56Cr1
8.2.2 Oracle Linux 9 NSS Cryptographic Module Security Policy
Page 12
Algorithm NameCAVP NumbersAlgorithms CapabilitiesOE (Implementation)Reference
TLS 1.0/1.1 KDF (CVL)#A4760Key Derivation with SHA1Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CSP 800-135r1
TLS 1.2 KDF (CVL RFC 7627)#A4760Hashes: SHA-256, SHA-384, SHA- 512Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CSP 800-135r1
IKEv2 KDF (CVL)#A4764Hashes: SHA-1, SHA-256, SHA- 384, SHA-512Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: IKE KDF Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: IKE KDF Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: IKE KDFSP 800-135r1
PBKDF2#A4760Option 1a Password length: 7-128 characters Salt length: 128- 4096 bytes Iteration count: 1000-10000 Hashes: SHA-1, SHA-224, SHA- 256, SHA-384, SHA-512Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CSP 800-132
Hash_DRBG#A4760Hashes: SHA-256 With/without prediction resistanceOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CSP 800-90Ar1
KAS-FFC-SSC#A4760Scheme: dhEphem Roles: initiator, responder Groups: MODP- 2048, MODP- 3072, MODP- 4096, MODP- 6144, MODP- 8192, ffdhe2048, ffdhe3072,Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CSP 800-56Ar3

Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 13
Algorithm NameCAVP NumbersAlgorithms CapabilitiesOE (Implementation)Reference
ffdhe4096, ffdhe6144, ffdhe8192
KAS-ECC-SSC#A4760Scheme: Ephemeral Unified Model Roles: initiator, responder Curves: P-256, P- 384, P-521Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CSP 800-56Ar3
DSA1#A4760Signature Verification Hashes: SHA-224, SHA-256, SHA- 384, SHA-512 Keys: (L = 1024, N= 160); (L = 2048, N = 224); (L = 2048, N = 256); (L = 3072, N = 256)Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CFIPS 186-4
RSA#A4760Signature Generation & Verification Padding: PKCS#1 v1.5 and PSS Hashes: SHA-224, SHA-256, SHA- 384, SHA-512 Modulus: 2048- 4096 bitsOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CFIPS 186-4
RSA#A4760Signature Verification Padding: PKCS#1 v1.5 and PSS Hashes: SHA-224, SHA-256, SHA- 384, SHA-512 Modulus: 1024, 1280, 1536, 1792 bitsOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CFIPS 186-2 FIPS 186-4
ECDSA#A4760Signature Generation & Verification Hashes: SHA-224, SHA-256, SHA- 384, SHA-512 Curves: P-256, P- 384, P-521Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CFIPS 186-4
Safe Primes#A4760Key Pair GenerationOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic CSP 800-56Ar3

The following are allowed for legacy use only; DSA signature verification with L=1024 and N=224. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 14
Algorithm NameCAVP NumbersAlgorithms CapabilitiesOE (Implementation)Reference
Mode: Testing Candidates (Appendix 5.6.1.1.4) Groups: MODP- 2048, MODP- 3072, MODP- 4096, MODP- 6144, MODP- 8192, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic C
RSA#A4760Key Pair Generation Mode: Probable Primes (Appendix B.3.3) Modulus: 2048- 4096 bitsOracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CFIPS 186-4
ECDSA#A4760Key Pair Generation Mode: Extra Random Bits (Appendix B.4.1) Curves: P-256, P- 384, P-521Oracle Linux 9 on KVM on Oracle Linux 8 on AMD EPYCTM 7001 Series AMD EPYC 7J13: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Ampere® Altra® Q80-30: Generic C Oracle Linux 9 on KVM on Oracle Linux 8 on Intel® Xeon® Platinum 8358: Generic CFIPS 186-4
Algorithm NameAlgorithm CapabilitiesOE (Implementation)References
Cryptographic Key Generation (CKG)Symmetric Key Generation using SP 800- 90Ar1 Hash_DRBG : 112-256 bits of key strength Safe Primes: MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192 groups (112-200 bits of key strength) RSA: 2048, 3072, 4096-bit keys (112, 128, 150 bits of key strength) ECDSA: P-256, P-384, P-521 elliptic curves (128- 256 bits of key strength)Same as in Table 6SP 800-133Rev2 section 4 example 1 and section 6.1

B.3.3) Vendor Affirmed Algorithms: Table 7 - Vendor Affirmed Algorithms Non-Approved, Allowed Algorithms: The module does not implement non-approved algorithms allowed in the approved mode of operation. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 15
Algorithm NameCaveatUse/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
NameUse and Function
MD2, MD5, SHA-1Message Digest
RC2, RC4, DES, Triple-DES, CDMF, Camellia, SEED, ChaCha20 (-Poly1305)Encryption Decryption
AES GCM (external IV)Encryption
CBC-MAC, AES XCBC-MAC, AES XCBC-MAC-96 HMAC-SHA-1, HMAC (MD2, MD5; < 112-bit keys) HMAC/SSLv3 MAC (constant-time implementation)Message Authentication
RSA OAEPKey Encapsulation/Decapsulation
SEED, ANS X9.63 KDF, SSL 3 PRF, 40v1 PRF KBKDF, HKDF, TLS 1.0/1.1 KDF, TLS 1.2 KDF, IKEv2 PRF (< 112-bit keys) KBKDF (MD2, MD5) TLS 1.2 KDF (without extended master secret) IKEv1 KDF IKEv2 PRF (MD2, MD5)Key Derivation
PKCS#5 PBE, PKCS#12 PBE PBKDF2 (short password; short salt; insufficient iterations; < 112-bit keys)Password-Based Key Derivation
J-PAKE KAS-FFC-SSC (FIPS 186-type groups) KAS-ECC-SSC (P-192)Shared Secret Computation
DSAParameter Generation Parameter Verification Key Pair Generation Signature Generation
RSA with SHA-1, RSA (primitive; PKCS#1 v1.5 or PSS with MD2, MD5) ECDSA (P-192)Signature Generation Signature Verification
RSAAsymmetric Encryption Asymmetric Decryption
DH (FIPS 186-type groups) RSA (< 2048 bits) ECDSA (P-192)Key Pair Generation
Symmetric key generation (< 112 bits)Secret Key Generation
NameTypeDescriptionSF CapabilitiesAlgorithms
KAS-ECC-SSC [SP 800-56ARev3]KASShared Secret E Computation c s 2 E 6phemeral Unified scheme Curves: P-256, P-384, P-521 elliptic urves with 128-256 bits of key trength Compliant with IG D.F scenario (1)KAS-ECC-SSC: #A4760
KAS-FFC-SSC [SP 800-56ARev3]phemeral Unified scheme Keys: 2048, 3072, 4096, 144, 8192-bit keys with 112-200 bits of key strengthKAS-FFC-SSC: #A4760

Non-Approved, Allowed Algorithms with No Security Claimed: Table 8 - Non-Approved, Allowed Algorithms with No Security Claimed Non-Approved, Not Allowed Algorithms: Table 9 - Non-Approved, Not Allowed Algorithms

2.6 Security Function Implementations

2(1) Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 16
Compliant with IG D.F scenario 2(1)
AES-GCM [SP 800-38D]KTSKey Wrapping (internal IV), Key Unwrapping (external IV)128, 192, 256 bits with 128-256 bits of key strength IV Generation: Internal & External IV Generation Mode: 8.2.1 and 8.2.2 Complaint with IG D.GAES-GCM: #A4760, #A4767, #A4769
AES-KW, AES-KWP [SP 800-38F]Key Wrapping, Key Unwrapping128, 192, 256 bits with 128-256 bits of key strength Complaint with IG D.GAES-KW, AES-KWP: #A4761, #A4766, #A4768

2(1) 8.2.2 Table 10 - Security Function Implementations

2.7 Algorithm Specific Information

The Crypto Officer shall consider the following requirements and restrictions when using the module. For TLS 1.2, the module offers the AES GCM implementation and uses the context of Scenario 1 of FIPS 140-3 IG C.H. NSS is compliant with SP 800-52r2 Section 3.3.1 and the mechanism for IV generation is compliant with RFC 5288 and 8446. The module does not implement the TLS protocol. The module’s implementation of AES GCM is used together with an application that runs outside the module’s cryptographic boundary. The design of the TLS protocol implicitly ensures that the counter (the nonce_explicit part of the IV) does not exhaust the maximum number of possible values for a given session key. In the event the module’s power is lost and restored, the consuming application must ensure that a new key for use with the AES GCM key encryption or decryption under this scenario shall be established. Alternatively, the Crypto Officer can use the module’s API to perform AES GCM encryption using internal IV generation compliant with Scenario 2 of FIPS 140-3 IG C.H. These IVs are always 96 bits and generated using the approved DRBG internal to the module’s boundary. Additionally, the module offers an internal deterministic IV generation mode compliant with Scenario 3 of FIPS 140-3 IG C.H. The size of the fixed (name) field used by this IV generation mode is at least 32 bits. The module then internally generates a 32 bit or longer deterministic non-repetitive counter. The module explicitly ensures that this counter is monotonically increasing at each invocation of the AES-GCM for the same encryption key, and that this counter does not exhaust all its possible values. The generated GCM IV is at least 96 bits in length. Finally, for TLS 1.3, the AES GCM implementation uses the context of Scenario 5 of FIPS 140-3 IG C.H. The protocol that provides this compliance is TLS 1.3, defined in RFC8446 of August 2018, using the cipher-suites that explicitly select AES GCM as the encryption/decryption cipher (Appendix B.4 of RFC8446). The module supports acceptable AES GCM cipher suites from Section

3.3.1 of SP800-52r2. TLS 1.3 employs separate 64-bit sequence numbers, one for protocol records that are received, and one for

protocol records that are sent to a peer. These sequence numbers are set at zero at the beginning of a TLS 1.3 connection and each time when the AES-GCM key is changed. After reading or writing a record, the respective sequence number is incremented by one. The protocol specification determines that the sequence number should not wrap, and if this condition is observed, then the protocol implementation must either trigger a re-key of the session (i.e., a new key for AES-GCM), or terminate the connection.

2.7.2 Key Derivation using SP 800-132 PBKDF2

The module provides password-based key derivation (PBKDF2), compliant with SP 800-132. The module supports option 1a from Section 5.4 of SP 800-132, in which the Master Key (MK) or a segment of it is used directly as the Data Protection Key (DPK). In accordance with SP 800-132 and FIPS 140-3 IG D.N, the following requirements shall be met: • Derived keys shall only be used in storage applications. The MK shall not be used for other purposes. The length of the MK or DPK shall be of 112 bits or more. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 17
NameTypeOperational EnvironmentSample SizeEntropy Per SampleConditioning Component
Oracle Userspace CPU Time Jitter RNG Entropy Source (Cert. #E99)Non-physicalSee Table 3256 bits256 bitsHMAC-SHA2-512-DRBG (CAVP cert A4162)
NameTypeProperties
Direct Generation of Symmetric KeysCKGKey type: Symmetric key Security strength: 112-256 bits Method: Direct Generation Compliant to SP 800-133r2, Section 6.1
Safe Primes Key Pair GenerationKey type: DH key pair Groups: MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192 Security strength: 112-200 bits Method: SP 800-56Ar3 (safe primes) Section 5.6.1.1.4 Testing Candidates Compliant to SP 800-133r2, Section 5.2
ECDSA Key Pair GenerationKey type: EC key pair Curves: P-256, P-384, P-521

2 path (1). To meet the required assurances listed in section 5.6 of SP 800-56Ar3, the module shall be used together with an

application that implements the “TLS protocol” and the following steps shall be performed.

Page 18
Security strength: 128-256 bits Method: FIPS 186-4 Appendix B.4.1 Extra Random Bits Compliant to SP 800-133r2, Section 4
RSA Key Pair GenerationKey type: RSA key pair Modulus: 2048-4096 bits Security strength: 112-150 bits Method: FIPS 186-4 Appendix B.3.3 Probable Primes Compliant to SP 800-133r2, Section 4
KBKDFKey DerivationKey type: Symmetric key Security strength: 112-256 bits Method: Counter, feedback and double pipeline mode, using CMAC and HMAC SHA- 1, SHA-224, SHA-256, SHA-384, SHA-512
HKDFKey type: Symmetric key Security strength: 112-256 bits Method: (HMAC) SHA-224, SHA-256, SHA-384, SHA-512 Compliant to SP 800-56Cr1
TLS 1.0/1.1 KDFKey type: Symmetric key Security strength: 112-256 bits Method: SHA1 Compliant to SP 800-135r1
TLS 1.2 KDF (RFC 7627)Key type: Symmetric key Security strength: 112-256 bits Method: SHA-256, SHA-384, SHA-512 Compliant to SP 800-135r1
IKEv2 KDFKey type: Symmetric key Security strength: 112-256 bits Method: SHA-1, SHA-256, SHA-384, SHA-512 Compliant to SP 800-135r1
PBKDF2Key type: Symmetric key Security strength: 112-256 bits Method: Option 1a with SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 Compliant to option 1a of SP 800-132

Table 12 - Key Generation Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 19
NameTypeProperties
KAS-FFC-SSC [SP800-56Arev3]KAS (Shared Secret Computation)Groups: ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192 Security strength: 112-200 bits Compliant with: Scenario 2 (1) of FIPS 140-3 IG D.F: Shared Secret Computation
KAS-ECC-SSC [SP800-56Arev3]Curves: P-256, P-384, P-521 Security strength: 128-256 bits Compliant with: Scenario 2 (1) of FIPS 140-3 IG D.F: Shared Secret Computation
AES GCM [SP 800-38D]KTS-Wrap (Key Wrapping)Keys: 128, 192, or 256 bits IV generated internally Security strength: 128, 192, or 256 bits Compliant with IG D.G
KTS-Wrap (Key Unwrapping)Keys: 128, 192, or 256 bits IV provided externally Security strength: 128, 192, or 256 bits Compliant with IG D.G
AES KW, AES KWP [SP 800-38F]KTS-Wrap (Key Wrapping, Key Unwrapping)Keys: 128, 192, or 256 bits Security strength: 128, 192, or 256 bits Compliant with IG D.G
2.10 Key Establishment
2.11 Industry Protocols

For DH, the module supports the use of the safe primes defined in RFC 3526 (IKE) and RFC 7919 (TLS) as listed in Table 13. Note that the module only implements domain parameter generation, key pair generation and verification, and shared secret TLS 1.0/1.1 KDF, TLS 1.2 KDF (RFC 7627), IKEv2 implementations shall only be used to generate secret keys in the context of the TLS 1.0/1.1, TLS 1.2, IKE protocols respectively. No parts of this protocol, other than the approved cryptographic algorithms and the KDFs, have been tested by the CAVP and CMVP. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 20
Physical PortLogical InterfaceData That Passes Over the Port/Interface
As a software-only module, the module does not have physical ports. Physical Ports are interpreted to be the physical ports of the hardware platform on which it runs.Data InputAPI data input parameters
Data OutputAPI output parameters
Control InputAPI function calls, API control input parameters
Status OutputAPI return code, error queue
3 Cryptographic Module Interfaces
3.1 Description

Table 14 - Ports and Interfaces The logical interfaces are the APIs through which the applications request services. These logical interfaces are logically separated from each other by the API design.

3.2 Trusted Channel Specification

The module does not implement a trusted channel. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 21
NameTypeOperator TypeAuthentication Methods
Crypto OfficerRoleCON/A (Implicitly assumed)
NameDescriptionIndicatorInputsOutputsSecurity FunctionsRolesSSP Access
Message DigestCompute a message digestCKS_NSS_FI PS_OKMessageDigest valueSHA2-224, SHA2-256, SHA2-384, SHA2-512CON/A
EncryptionEncrypt a plaintextAES Key, plaintextCiphertextAES-ECB, AES- CBC, AES-CBC- CS1, AES-CTR, AES-GCM (internal IV)AES Key: W, E
DecryptionDecrypt a ciphertextAES Key, ciphertextPlaintextAES-ECB, AES- CBC, AES-CBC- CS1, AES-CTR, AES-GCM (external IV)
Key WrappingWrap a keyAES Key, Key To Be WrappedWrapped keyAES-GCM, AES- KW, AES-KWPAES Key: W, E Wrapped Key: R Key To Be Wrapped: W, E
Key UnwrappingUnwrap a keyAES Key, Key To Be UnwrappedUnwrapped keyAES Key: W, E Unwrapped Key: R Key To Be Unwrapped: W, E
Message AuthenticationCompute a MAC tagAES Key, messageMAC tagAES-CMACAES Key: W, E
HMAC Key, messageHMAC-SHA- 224, HMAC- SHA-256, HMAC-SHA- 384, HMAC- SHA-512HMAC Key: W, E
Message Authentication VerificationVerify a MAC tagAES Key, message, MAC tagPass/failAES-CMACAES Key: W, E
HMAC Key, message, MAC tagHMAC-SHA- 224, HMAC- SHA-256, HMAC-SHA- 384, HMAC- SHA-512HMAC Key: W, E
Shared SecretCompute aDH Private Key,SharedKAS-FFC-SSCDH Private Key: W, E;
4 Roles, Services, and Authentication

The module does not implement authentication. Table 15 – Roles The module supports the Crypto Officer role only. This sole role is implicitly and always assumed by the operator of the module. No support is provided for multiple concurrent operators.

4.3 Approved Services

Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 22

Name Computation Signature Generation Signature Verification Key Pair Generation Secret Key Generation Key Derivation Key-Based Key Derivation Password-Based Key Derivation Random Number Generation Show Version

Description shared secret Generate a digital signature Verify a digital signature Generate a key pair Generate a secret key Derive a key Derive a key from a key Derive a key from a password Generate random bytes Return the

Indicator CKR_OK None

Inputs DH Public Key EC Private Key, EC Public Key Message, private key Message, public key, signature DH Group Curve Modulus Key size Shared Secret Key-Derivation Key Password Output length N/A

Outputs Secret Signature Pass/fail DH Private Key, DH Public Key EC Private Key, EC Public Key RSA Private Key, RSA Public Key Symmetric Key Derived Key Random bytes Module

Security Functions KAS-ECC-SSC RSA PKCS#1 v1.5 and PSS with SHA-224, SHA-256, SHA- 384, SHA-512, ECDSA with SHA-224, SHA- 256, SHA-384, SHA-512 RSA PKCS#1 v1.5 and PSS with, SHA-224, SHA-256, SHA- 384, SHA-512, ECDSA with SHA-224, SHA- 256, SHA-384, SHA-512 DSA with SHA- 224, SHA-256, SHA-384, SHA- 512 Safe Primes ECDSA RSA CKG (Symmetric Key Generation) HKDF, TLS 1.0/1.1 KDF, TLS 1.2 KDF, IKEv2 KDF KBKDF PBKDF2 Hash_DRBG, N/A

Roles

SSP Access DH Public Key: W, E; Shared Secret: G, R EC Private Key: W, E; EC Public Key: W, E; Shared Secret: G, R RSA Private Key: W, E; ECDSA Private Key: W, E RSA Public Key: W, E; ECDSA Public Key: W, E; DSA Public Key: W, E DH Private Key: G, R; DH Public Key: G, R; Intermediate Key Generation Value: G EC Private Key: G, R; EC Public Key: G, R; Intermediate Key Generation Value: G RSA Private Key: G, R; RSA Public Key: G, R; Intermediate Key Generation Value: G Symmetric Key (AES Key, HMAC Key Key-Derivation Key): G Shared Secret: W, E; Derived Key: G, R Key-Derivation Key: W, E; Derived Key: G, R Password: W, E; Derived Key: G, R Entropy Input: W, E; DRBG Seed: E, G; Internal State (V, C): W, E, G N/A

G G G Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 23

Name Show Status Self-Test Zeroization

Description module name and version information Return the module status Perform the CASTs and integrity tests Zeroize all SSPs

Indicator None None None

Inputs N/A N/A Any SSP

Outputs name and version Module status Pass/fail N/A

Security Functions N/A SHA-224, SHA- 256, SHA-384, SHA-512 AES-GCM, AES- ECB, AES-CBC, AES-CMAC, HMAC, KBKDF, HKDF, TLS 1.0/1.1 KDF, TLS 1.2 KDF, IKEv2 KDF, PBKDF2, Hash_DRBG, KAS-FFC-SSC, KAS-ECC-SSC, RSA, ECDSA, DSA See Table 24 for specifics N/A

Roles

SSP Access N/A N/A All SSPs: Z

Table 16 – Approved Services Table 16 lists the approved services. The following convention is used to specify access rights to SSPs: • Generate (G): The module generates or derives the SSP. • Read (R): The SSP is read from the module (e.g. the SSP is output). • Write (W): The SSP is updated, imported, or written to the module. • Execute (E): The module uses the SSP in performing a cryptographic operation. To interact with the module, a calling application must use the FIPS token APIs provided by Softoken. The FIPS token API layer can be used to retrieve the approved service indicator for the module. This indicator consists of four independent service indicators.

  1. The session indicator, which must be used for all cryptographic services except the key derivation service. It can be accessed by invoking the NSC_NSSGetFIPSStatus function with the CKT_NSS_SESSION_LAST_CHECK parameter. If the output parameter is set to CKS_NSS_FIPS_OK (1), the service was approved.
  2. The object indicator, which must be used for the key derivation service. It can be accessed by invoking the NSC_NSSGetFIPSStatus function with the CKT_NSS_OBJECT_CHECK parameter and the output derived key. If the output parameter is set to CKS_NSS_FIPS_OK (1), the service was approved.
  3. The DRBG service indicator, which must be used for the DRBG service. It can be accessed by invoking the C_SeedRandom or C_GenerateRandom functions. If any of these functions returns CKR_OK, the service was approved. Oracle Linux 9 NSS Cryptographic Module Security Policy
Page 24
NameDescriptionSecurity FunctionsRole
Message DigestCompute a message digestMD2, MD5, SHA-1CO
EncryptionEncrypt a plaintextRC2, RC4, DES, Triple-DES, CDMF, Camellia, SEED, ChaCha20(-Poly1305), AES GCM (external IV)
DecryptionDecrypt a ciphertextRC2, RC4, DES, Triple-DES, CDMF, Camellia, SEED, ChaCha20(-Poly1305)
Message AuthenticationCompute a MAC tagCBC-MAC, AES XCBC-MAC, AES XCBC-MAC-96; HMAC-SHA-1, HMAC (MD2, MD5; < 112-bit keys); HMAC/SSLv3 MAC (constant-time implementation)
Key Encapsulation/DecapsulationEncapsulate/Decapsulate a keyRSA OAEP
Key DerivationDerive a keySEED, ANS X9.63 KDF, SSL 3 PRF, IKEv1 KDF, KBKDF, HKDF, TLS 1.0/1.1 KDF, TLS 1.2 KDF, IKEv2 KDF (< 112-bit keys), KBKDF (MD2, MD5), TLS 1.2 KDF (without extended master secret), IKEv2 KDF (MD2, MD5)
Password-Based Key DerivationDerive a key from a passwordPKCS#5 PBE, PKCS#12 PBE, PBKDF2 (short password; short salt; insufficient iterations; < 112-bit keys)
Shared Secret ComputationCompute a shared secretJ-PAKE, KAS-FFC-SSC (FIPS 186-type groups), KAS-ECC-SSC (P-192)
Signature GenerationGenerate a signatureDSA, RSA with SHA-1, RSA (primitive; PKCS#1 v1.5 or PSS with MD2, MD5), ECDSA (P-192)
Signature VerificationVerify a signatureRSA with SHA-1, RSA (primitive; PKCS#1 v1.5 or PSS with MD2, MD5), ECDSA (P-192)
Asymmetric EncryptionEncrypt a plaintextRSA
Asymmetric DecryptionDecrypt a plaintext
Parameter GenerationGenerate domain parametersDSA
Parameter VerificationVerify domain parameters
Key Pair GenerationGenerate a key pairDH (FIPS 186-type groups), RSA (< 2048 bits), DSA, ECDSA (P-192)
Secret Key GenerationGenerate a secret keyCKG (< 112 bits)
4.4 Non-Approved Services

Table 17 - Non-Approved Services

4.5 External Software/Firmware Loaded

The module does not load external software or firmware.

4.6 Bypass Actions and Status

The module does not implement a bypass capability.

4.7 Cryptographic Output Actions and Status

The module does not implement a self-initiated cryptographic output capability. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 25
5 Software/Firmware Security
5.1 Integrity Techniques

The integrity of the module is verified by comparing a HMAC-SHA-256 value calculated at run time with the HMAC-SHA-256 value embedded in the module that was computed at build time. If the integrity test fails, the module enters the Power-On Error state.

5.2 Initiate on Demand

Integrity tests are performed as part of the pre-operational self-tests, which are executed when the module is initialized. The integrity test may be invoked on-demand by unloading and subsequently re-initializing the module. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 26
6 Operational Environment
6.1 Operational Environment Type and Requirements

Type of Operating Environment: modifiable: the module executes on a general-purpose operating system (Oracle Linux 9), which allows modification, loading, and execution of software that is not part of the validated module. How Requirements are Satisfied: 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.2 Configurable Settings and Restrictions

The module shall be installed as stated in Section 11.1. There are no concurrent operators. The module does not have the capability of loading software or firmware from an external source. Instrumentation tools like the ptrace system call, gdb and strace, userspace live patching, 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-validated operational environment. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 27
7 Physical Security

The module is comprised of software only and therefore this section is not applicable. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 28
8 Non-Invasive Security

This module does not implement any non-invasive security mechanism and therefore this section is not applicable. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 29
Storage Area NameDescriptionPersistence Type
RAMTemporary storage for SSPs used by the module as part of service execution. The module does not perform persistent storage of SSPs.Dynamic
NameFromToFormat TypeDistribution TypeEntry TypeRelated SFI
API input parameters (plaintext)Calling application (TOEPP)Cryptographic modulePlaintext (P)Manual (MD)Electronic (EE)AES-KW, AES- KWP [SP 800- 38F]; AES- GCM [SP 800- 38D]
API input parameters (encrypted)Encrypted (E) with AES GCM, KW, KWP
API output parameters (plaintext)Cryptographic moduleCalling application (TOEPP)Plaintext (P)
API output parameters (encrypted)Encrypted (E) with AES GCM, KW, KWP
Zeroization MethodDescriptionRationaleOperator Initiation
Calling the zeroization APIZeroizes the SSPsMemory occupied by SSPs is overwritten with zeroes, which renders the SSP values irretrievable.By calling the C_DestroyObject function
AutomaticAutomatically zeroized by the module when no longer neededN/A
Remove power from the moduleDe-allocates the volatile memory used to store SSPsVolatile memory used by the module is overwritten within nanoseconds when power is removedBy removing power
NameDescriptionSizeStrengthTypeGenerated ByEstablished By
AES KeyAES key used for Encryption, Decryption, Key Wrapping, Key Unwrapping, Message Authentication,128-256 bits128-256 bitsSymmetric keyCKG (SP 800-133r2, Section 6.1)N/A
9 Sensitive Security Parameters Management
9.1 Storage Areas

Table 18 – Storage Areas Table 20 - SSP Zeroization Methods All data output is inhibited during zeroization. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 30
NameDescription Message Authentication VerificationSizeStrengthTypeGenerated ByEstablished By
Wrapped KeyWrapped key128-8192 bits112-256 bitsWrapped keyN/AAES-GCM, AES- KW, AES-KWP
Unwrapped KeyUnwrapped key128-8192 bits112-256 bitsUnwrapped keyN/AAES-GCM, AES- KW, AES-KWP
Key To Be WrappedKey To Be Wrapped128-256 bits112-256 bitsKey To Be WrappedN/AAES-GCM, AES- KW, AES-KWP
Key To Be UnwrappedKey To Be Unwrapped128-256 bits112-256 bitsKey To Be UnwrappedN/AAES-GCM, AES- KW, AES-KWP
HMAC KeyHMAC key used for Message Authentication, Message Authentication Verification112-524288 bits112-256 bitsAuthentication keyCKG (SP 800-133r2, Section 6.1)N/A
Key-Derivation KeyKey for key derivation with KBKDF112-4096 bits112-256 bitsKey-derivation keyCKG (SP 800-133r2, Section 6.1)N/A
Shared SecretShared secret established by KAS-ECC-SSC/KAS- FFC-SSC256-8192 bits112-256 bitsShared secretN/AKAS-ECC-SSC, KAS-FFC-SSC (according to SP 800-56Ar3)
PasswordPBKDF2 password64-1024 bitsN/APasswordN/AN/A
Derived KeyKBKDF derived key128-4096 bits112-256 bitsDerived keyKBKDF
PBKDF2 derived key128-4096 bitsPBKDF2
KDA HKDF derived key2048 bitsKDA HKDF
TLS 1.0/1.1 KDF derived key384 bitsTLS 1.0/1.1 KDF
TLS v1.2 KDF (RFC7627) derived key1024 bitsTLS v1.2 KDF
IKEv2 KDF derived key1056 and 3072 bitsIKEv2 KDF
Entropy InputEntropy input used to seed the DRBG256 bits256 bitsEntropyENT (NP) See Table 11N/A
DRBG Seed IG D.L compliantDRBG seed derived from entropy input as defined in SP 800- 90Ar1256 bits256 bitsSeedHash_DRBG (according to SP800- 90Ar1)N/A
Internal State (V, C) IG D.L compliantInternal state of Hash_DRBGHash_DRBG: 128, 256 bits256 bitsInternal stateHash_DRBG (derived from DRBG Seed as defined in SP800- 90Ar1)N/A
DH Public KeyPublic key used by DH2048, 3072, 4096, 6144, 8192 bits112-200 bitsPublic keySafe Primes (SP 800- 56Ar3 section 5.6.1.1.4 Testing Candidates) Hash_DRBG (for generation of random values per SP 800-N/A
DH Private KeyPrivate key used by DHPrivate key

Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 31
NameDescriptionSizeStrengthTypeGenerated By 90Ar1)Established By
EC Private KeyPrivate key used for ECDSA Signature Generation and Shared Secret ComputationP-256, P-384, P- 521128-256 bitsPrivate keyECDSA (FIPS 186-4 Appendix B.4.1 Extra Random Bits) Hash_DRBG (for generation of random values per SP 800- 90Ar1)N/A
EC Public KeyPublic key used for ECDSA Signature Verification and Shared Secret ComputationPublic key
RSA Private KeyPrivate key used for RSA signature generation2048, 3072, 4096 bits112, 128, 150 bitsPrivate keyRSA (FIPS 186-4 Appendix B.3.3 Probable Primes) Hash_DRBG (for generation of random values per SP 800- 90Ar1)N/A
RSA Public KeyPublic key used for RSA signature verification1024, 2048, 3072, 4096 bits80, 112, 128, 150 bitsPublic key
DSA Public KeyPublic key used for DSA signature verification(1024, 160), (2048, 224), (2048, 256), (3072, 256)80, 112, 128 bitsPublic keyN/AN/A
Intermediate Key Generation ValueIntermediate key generation value112-8192 bits112-256 bitsIntermediate ValueCKG (SP 800-133r2 Section 4, 6.1)N/A
NameUsed ByInputs/OutputsStorageStorage DurationZeroizationTypeRelated SSPs
AES KeyEncryption, Decryption, Key Wrapping, Key Unwrapping, Message Authentication, Message Authentication VerificationAPI input parameters (encrypted); API output parameters (encrypted)RAMUntil explicitly zeroized by operatorDestroy object, remove power from the moduleCSPN/A
Wrapped keyKey wrappingWrapped using Symmetric key (AES Key)
Unwrapped keyKey unwrappingNo input; API output parameters (plaintext)Unwrapped using Symmetric key (AES Key)
Key To Be WrappedKey wrappingAPI input parameters (plaintext); No outputKey to be wrapped using Symmetric key (AES Key)
Key To Be Unwrappedkey unwrappingAPI input parameters (encrypted); No outputKey to be unwrapped using Symmetric key (AES Key)
HMAC KeyMessage Authentication,API input parametersN/A

Table 21 – SSP Information First Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 32

Name Key-Derivation Key Shared Secret Password Derived Key Entropy Input DRBG Seed IG D.L compliant Internal State (V, C) IG D.L compliant DH Public Key DH Private Key EC Public Key EC Private Key RSA Public Key

Used By Message Authentication Verification Key-Based Key Derivation Shared Secret Computation, Key Derivation Password-Based Key Derivation Key Derivation, Key-Based Key Derivation, Password-Based Key Derivation Random Number Generation Shared Secret Computation, Key Pair Generation Shared Secret Computation, Signature Verification Shared Secret Computation, Signature Generation Signature Verification

Inputs/Outputs (encrypted); API output parameters (encrypted) API input parameters (encrypted); API output parameters (encrypted) API input parameters (encrypted); API output parameters (encrypted) API input parameters (plaintext); No output No input; API output parameters (encrypted) No input; No output API input parameters (encrypted); API output parameters (encrypted) API input parameters (encrypted); API output parameters (encrypted) API input parameters

Storage

Storage Duration From generation until DRBG Seed is created While the DRBG is instantiated While the module is operational For the duration of the service

Zeroization Automatic, remove power from the module Remove power from the module Destroy object, remove power from the module

Type PSP CSP PSP CSP PSP

Related SSPs Used for deriving a key (i.e., Derived Key) Established using DH public, DH Private Key, EC Public Key, EC Private Key, Derived Key Used for deriving a key (i.e., Derived Key) Derived from Key-Derivation Key, Shared Secret or Password Used for deriving DRBG Seed Derived from Entropy Input; used for the generation of Internal State (V, C) Generated from DRBG Seed Paired with DH Private Key; used for establishing Shared Secret Paired with DH Public Key, used for establishing Shared Secret Paired with EC Private Key; used for establishing Shared Secret Paired with EC Public Key; used for establishing Shared Secret Paired with RSA Private Key

C) Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 33

Name RSA Private Key DSA Public Key Intermediate Key Generation Value

Used By Signature Generation Signature Verification Key Pair Generation

Inputs/Outputs (encrypted); API output parameters (encrypted) API input parameters (encrypted); No output N/A

Storage

Storage Duration

Zeroization Automatically

Type CSP PSP CSP

Related SSPs Paired with RSA Public Key N/A Generated during the generation of RSA Public Key, RSA Private Key, DH Public Key, DH Private Key, EC Public Key, EC Private Key

Table 22 – SSP Information Second

9.5 Transitions

The SHA-1 algorithm as implemented by the module will be non-approved for all purposes, starting January 1, 2031. The RSA, ECDSA algorithm as implemented by the module conforms to FIPS 186-4, which has been superseded by FIPS 186-5. FIPS 186-4 will be withdrawn on February 3, 2024. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 34
AlgorithmImplementationTest PropertiesTest MethodTest TypeIndicatorDetails
HMAC-SHA-256Generic C256-bit keyMessage AuthenticationSoftware integrityModule becomes operationalIntegrity test for libfreeblpriv3.so and libfsoftokn3.so
AlgorithmImplementationTest PropertiesTest MethodTypeIndicatorDetailsConditions
SHA-224 SHA-256 SHA-384 SHA-512Generic C512-bit messageKATCASTModule is operationalMessage DigestFreebl initialization
AES-ECBAESNI, CE, Generic C128, 192, 256-bit key 128-bit plaintextEncryption Decryption
AES-CBC128, 192, 256-bit keyEncryption Decryption
AES-GCMEncryption Decryption
AES-CMACGeneric C128, 192, 256-bit key 128-bit messageMessage Authentication
HMAC SHA-224 HMAC SHA-256 HMAC SHA-384 HMAC SHA-512288-bit key
KBKDFCounter mode HMAC SHA-256 576-bit input keyKey DerivationSoftoken initialization
HKDFSHA-256 512-bit input secret
TLS 1.0/1.1 KDFMD5-SHA-1 288-bit input secretFreebl initialization
TLS 1.2 KDFSHA-256 288-bit input secret
IKEv2 PRFSHA-1, SHA-256, SHA-384,Softoken initialization
10 Self-Tests
10.1 Pre-Operational Self-Tests

Table 23 - Pre-Operational Self-Tests The pre-operational software integrity test is performed automatically, after the CASTs, when the module is powered on before the module transitions into the operational state. While the module is executing the self-tests, services are not available, and data output (via the data output interface) is inhibited until the tests are successfully completed. The module transitions to the operational state only after the pre-operational self-test has passed successfully. If the pre-operational self-test fails, the module transitions to the error (i.e., Power-On Error) state.

10.2 Conditional Self-Tests

Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 35

Algorithm PBKDF2 Hash_DRBG KAS-FFC-SSC KAS-ECC-SSC RSA DSA ECDSA Safe Primes ECDH RSA ECDSA

Implementation

Test Properties SHA-512 80, 128, 144-bit input secret SHA-256 14-character password 128-bit salt Iteration count: 5 SHA-256 without prediction resistance 2048-bit key P-256 PKCS#1 v1.5 with SHA-256, SHA-384, SHA-512 2048-bit key 1024-bit key SHA-256 P-256 N/A PKCS#1 v1.5 with SHA-256 SHA-256

Test Method PCT

Type Conditional Pairwise Consistency Self-Test

Indicator Key Pair Generation is successful

Details Instantiate Generate Reseed Generate (compliant with SP 800- 90A Section 11.3) Shared Secret Computation Signature Generation Signature Verification Signature Verification Signature Generation Signature Verification SP 800-56Ar3 Section 5.6.2.1.4 Signature Generation & Signature Verification

Conditions Freebl initialization Softoken initialization Freebl initialization Freebl initialization Key Pair Generation

NameDescriptionConditionsRecovery MethodIndicator
Power-On ErrorAn error occurred during the self-tests executedSoftware integrity test failureRestart of the moduleModule will not load

The module performs self-tests on all approved cryptographic algorithms as part of the approved services supported in the approved mode of operation, using the tests shown in Table 24. Data output through the data output interface is inhibited during the self-tests. If any of these tests fails, the module transitions to the Power-On Error state. Upon generation of a DH, EC or RSA key pair, the module will perform a pair-wise consistency test (PCT) as shown in Table 24, which provides some assurance that the generated key pair is well formed. The test for DH and ECDH consists of the PCT and verification using the generated key pairs. Services are not available, and data output (via the data output interface) is inhibited during execution of the PCT. If a PCT test fails, the module transitions to the PCT Error state.

10.3 Periodic Self-Tests

The module does not implement any periodic self-tests.

10.4 Error States

Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 36
NameDescriptionConditionsRecovery MethodIndicator
on power-onCAST failure
PCT ErrorAn error occurred during a PCTPCT failureModule stops functioning (sftk_fatalError is set to TRUE)

Table 25 - Error States In any error state, the output interface is inhibited, and the module accepts no more inputs or requests (as the module is no longer running).

10.5 Operator Initiation

The software integrity tests and CASTs can be invoked on demand by unloading and subsequently re-initializing the module. The PCTs can be invoked on demand by requesting the key pair generation service. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 37
11 Life-Cycle Assurance
11.1 Startup Procedures

The module is distributed as part of the Oracle Linux 9 (OL9) RPM package in the form of nss-softokn-3.90.0-3.0.1.el9_2_fips and nss-softokn-freebl-3.90.0-3.0.1.el9_2_fips RPM packages that are located in the “Oracle Linux 9 Security Validation (Update 3)” yum repository (ol9_u3_security_validation). The module can achieve the FIPS validated configuration by:

11.2 Administrator Guidance

See section 2.7 for algorithm-specific information.

11.3 Non-Administrator Guidance

There is no non-administrator guidance.

11.4 Maintenance Requirements

There are no maintenance requirements.

11.5 End of Life

As the module does not persistently store SSPs, secure sanitization of the module consists of unloading the module. This will zeroize all SSPs in volatile memory. Then, if desired, the nss-softokn-3.90.0-3.0.1.el9_2_fips and nss-softokn-freebl-3.90.03.0.1.el9_2_fips RPM packages can be uninstalled from the Oracle Linux 9 system. Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 38
12 Mitigation of Other Attacks

Timing attacks on RSA: RSA blinding: Timing attack on RSA was first demonstrated by Paul Kocher in 1996, who contributed the mitigation code to our module. Most recently Boneh and Brumley showed that RSA blinding is an effective defense against timing attacks on RSA. Specific Limit: None Cache-timing attacks on the modular exponentiation operation used in RSA: Cache invariant modular exponentiation: This is a variant of a modular exponentiation implementation that Colin Percival showed to defend against cache-timing attacks. Specific Limit: This mechanism requires intimate knowledge of the cache line sizes of the processor. The mechanism may be ineffective when the module is running on a processor whose cache line sizes are unknown. Arithmetic errors in RSA signatures: Double-checking RSA signatures: Arithmetic errors in RSA signatures might leak the private key. Ferguson and Schneier recommend that every RSA signature generation should verify the signature just generated. Specific Limit: None Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 39
AESAdvanced Encryption Standard
AES-NIAdvanced Encryption Standard New Instructions
APIApplication Programming Interface
CASTCryptographic Algorithm Self-Test
CAVPCryptographic Algorithm Validation Program
CBCCipher Block Chaining
CCMCounter with Cipher Block Chaining-Message Authentication Code
CFBCipher Feedback
CMACCipher-based Message Authentication Code
CMVPCryptographic Module Validation Program
CSPCritical Security Parameter
CTRCounter
CTSCiphertext Stealing
DHDiffie-Hellman
DRBGDeterministic Random Bit Generator
DSADigital Signature Algorithm
ECBElectronic Code Book
ECCElliptic Curve Cryptography
ECDHElliptic Curve Diffie-Hellman
ECDSAElliptic Curve Digital Signature Algorithm
ENT (NP)Non-physical Entropy Source
FFCFinite Field Cryptography
FIPSFederal Information Processing Standards
GCMGalois Counter Mode
HKDFHMAC-based Key Derivation Function
HMACKeyed-Hash Message Authentication Code
KATKnown Answer Test
KBKDFKey-based Key Derivation Function
MACMessage Authentication Code
NISTNational Institute of Science and Technology
PAAProcessor Algorithm Acceleration
PBKDF2Password-based Key Derivation Function v2
PKCSPublic-Key Cryptography Standards
RSARivest, Shamir, Adleman
SHASecure Hash Algorithm
SSCShared Secret Computation
SSPSensitive Security Parameter
TOEPPTested Operational Environment’s Physical Perimeter
13 Glossary and Abbreviations

Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 40
FIPS 140-3FIPS PUB 140-3 - Security Requirements For Cryptographic Modules March 2019 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-3.pdf
FIPS 140-3 IGImplementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program https://csrc.nist.gov/Projects/cryptographic-module-validation-program/fips-140-3-ig-announcements
FIPS 180-4Secure Hash Standard (SHS) March 2012 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
FIPS 186-4Digital Signature Standard (DSS) July 2013 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
FIPS 186-5Digital Signature Standard (DSS) February 2023 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf
FIPS 197Advanced Encryption Standard November 2001 https://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
FIPS 198-1The Keyed Hash Message Authentication Code (HMAC) July 2008 https://csrc.nist.gov/publications/fips/fips198-1/FIPS-198-1_final.pdf
FIPS 202SHA-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
RFC 3526More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE) May 2003 https://www.ietf.org/rfc/rfc3526.txt
RFC 5288AES Galois Counter Mode (GCM) Cipher Suites for TLS August 2008 https://www.ietf.org/rfc/rfc5288.txt
RFC 7919Negotiated Finite Field Diffie-Hellman Ephemeral Parameters for Transport Layer Security (TLS) August 2016 https://www.ietf.org/rfc/rfc7919.txt
RFC 8446The Transport Layer Security (TLS) Protocol Version 1.3 August 2018 https://www.ietf.org/rfc/rfc8446.txt
SP 800-38ARecommendation for Block Cipher Modes of Operation Methods and Techniques December 2001 https://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf
SP 800-38A AddendumRecommendation for Block Cipher Modes of Operation: Three Variants of Ciphertext Stealing for CBC Mode October 2010 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38a-add.pdf
SP 800-38BRecommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication May 2005 https://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf
SP 800-38FRecommendation for Block Cipher Modes of Operation: Methods for Key Wrapping December 2012 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf
SP 800-52r2Guidelines 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
SP 800-56Ar3Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography April 2018 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf
14 References

Oracle Linux 9 NSS Cryptographic Module Security Policy

Page 41
SP 800-56Cr1Recommendation for Key-Derivation Methods in Key-Establishment Schemes August 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr1.pdf
SP 800-56Cr2Recommendation for Key-Derivation Methods in Key-Establishment Schemes August 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf
SP 800-90Ar1Recommendation for Random Number Generation Using Deterministic Random Bit Generators June 2015 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf
SP 800-90BRecommendation for the Entropy Sources Used for Random Bit Generation January 2018 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90B.pdf
SP 800-108r1NIST Special Publication 800-108 - Recommendation for Key Derivation Using Pseudorandom Functions August 2022 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-108r1.pdf
SP 800-131Ar2Transitioning the Use of Cryptographic Algorithms and Key Lengths March 2019 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf
SP 800-132Recommendation for Password-Based Key Derivation - Part 1: Storage Applications December 2010 https://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdf
SP 800-133r2Recommendation for Cryptographic Key Generation June 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-133r2.pdf
SP 800-135r1Recommendation for Existing Application-Specific Key Derivation Functions December 2011 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-135r1.pdf
SP 800-140BCMVP Security Policy Requirements March 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-140B.pdf

Oracle Linux 9 NSS Cryptographic Module Security Policy