| Standard | FIPS 140-3 |
|---|---|
| Overall level | 1 |
| Module type | Software |
| Embodiment | Multi-Chip Stand Alone |
| Status | Active |
| Sunset date | 7/22/2029 |
| Caveat | No assurance of the minimum strength of generated SSPs (e.g., keys). When operated in approved mode. |
| Vendor | SUSE LLC |
| Algorithm | ACVP Cert |
|---|---|
| AES-CBC | A6389 |
| AES-CCM | A6389 |
| AES-CTR | A6389 |
| AES-ECB | A6389 |
| AES-GCM | A6389 |
| AES-KW | A6389 |
| AES-KWP | A6389 |
| Counter DRBG | A6389 |
| ECDSA KeyGen (FIPS186-4) | A6389 |
| ECDSA KeyVer (FIPS186-4) | A6389 |
| ECDSA SigGen (FIPS186-4) | A6389 |
| ECDSA SigVer (FIPS186-4) | A6389 |
| HMAC-SHA-1 | A6389 |
| HMAC-SHA2-224 | A6389 |
| HMAC-SHA2-256 | A6389 |
| HMAC-SHA2-384 | A6389 |
| HMAC-SHA2-512 | A6389 |
| KAS-ECC-SSC Sp800-56Ar3 | A6389 |
| KDF TLS | A6389 |
| RSA KeyGen (FIPS186-4) | A6389 |
| RSA SigGen (FIPS186-4) | A6389 |
| RSA SigVer (FIPS186-4) | A6389 |
| SHA-1 | A6389 |
| SHA2-224 | A6389 |
| SHA2-256 | A6389 |
| SHA2-384 | A6389 |
| SHA2-512 | A6389 |
| SHA2-512/256 | A6389 |
flowchart LR
%% Deterministic review-risk graph for SUSE Rancher Kubernetes Cryptographic Library
%% Review prompts and evidence gaps, NOT vulnerability findings.
subgraph CMVP["CMVP-disclosed clues"]
C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>self-test<br/>Status Output<br/>Show Status</i>"]
C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>HTTPS<br/>library named: openssl</i>"]
C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system<br/>linux<br/>application</i>"]
end
subgraph Inference["Derived inference"]
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"]
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"]
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
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 C3,C5,C6 clue;
class I3,I5,I6 infer;
class R3,R5,R6 risk;
class E3,E5,E6 evidence;flowchart LR
%% Deterministic clue tier for SUSE Rancher Kubernetes Cryptographic Library
%% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
subgraph CMVP["CMVP-disclosed clues (deterministic)"]
C3["[low] Self-test / status surface (referenced in text)<br/><i>self-test<br/>Status Output<br/>Show Status</i><br/>src: text:keyword"]
C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<br/>HTTPS<br/>library named: openssl</i><br/>src: text:keyword"]
C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system<br/>linux<br/>application</i><br/>src: text:keyword"]
end
classDef clueHigh fill:#eef3f9,stroke:#2f6fb0,stroke-width:2px,color:#1f3a5f;
classDef clueMedium fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
classDef clueLow fill:#f7f7f7,stroke:#999,stroke-dasharray:4 4,color:#444;
class C3,C5,C6 clueLow;SUSE LLC. SUSE Rancher Kubernetes Cryptographic Library Software Version: 2.0 Date: March 11, 2026 Prepared by: Corsec Security, Inc.
12600 Fair Lakes Circle, Suite 210
Fairfax, VA 22033 United States of America Phone: +1 703 267 6050 www.corsec.com Public Material – May be reproduced only in its original entirety (without revision).
Introduction Federal Information Processing Standards Publication 140-3 — Security Requirements for Cryptographic Modules specifies requirements for cryptographic modules to be deployed in a Sensitive but Unclassified environment. The National Institute of Standards and Technology (NIST) and Canadian Centre for Cyber Security (CCCS) Cryptographic Module Validation Program (CMVP) run the FIPS 140-3 program. The NVLAP accredits independent testing labs to perform FIPS 140-3 testing; the CMVP validates modules meeting FIPS 140-3 validation. Validated is the term given to a module that is documented and tested against the FIPS 140-
Additional information is available on the CMVP website at: https://csrc.nist.gov/projects/cryptographic-module-validation-program About this Document This non-proprietary Cryptographic Module Security Policy for the SUSE Rancher Kubernetes Cryptographic Library from SUSE LLC. provides an overview of the product and a high-level description of how it meets the overall Level 1 security requirements of FIPS 140-3. The SUSE Rancher Kubernetes Cryptographic Library is also referenced in this document as the “module.” Disclaimer The contents of this document are subject to revision without notice due to continued progress in methodology, design, and manufacturing. SUSE LLC. shall have no liability for any error or damages of any kind resulting from the use of this document. Notices This document may be freely reproduced and distributed in its entirety without modification. Public Material – May be reproduced only in its original entirety (without revision).
Contents Public Material – May be reproduced only in its original entirety (without revision).
| Item | Page |
|---|---|
| Table 1 - Security Levels | 5 |
| Table 2 - Tested Operational Environments | 7 |
| Table 3 - Vendor Affirmed Operational Environments | 8 |
| Table 4 - Approved Algorithms | 10 |
| Table 5 - Non-Approved, Allowed Algorithms with No Security Claimed | 10 |
| Table 6 - Non-Approved, Not Allowed Algorithms | 10 |
| Table 7 - Ports and Interfaces | 13 |
| Table 8 - Roles, Service Commands, Input and Output | 14 |
| Table 9 - Approved Services | 18 |
| Table 10 - Non-Approved Services | 19 |
| Table 11 - SSPs | 25 |
| Table 12 - Non-Deterministic Random Number Generation Specification | 26 |
| Figure 1 - Module Boundary | 11 |
| ISO/IEC 24759 Section 6. | FIPS 140-3 Section Title | Security Level |
|---|---|---|
| 1 | General | 1 |
| 2 | Cryptographic Module Specification | 1 |
| 3 | Cryptographic Module Interfaces | 1 |
| 4 | Roles, Services, and Authentication | 1 |
| 5 | Software/Firmware Security | 1 |
| 6 | Operational Environment | 1 |
| 7 | Physical Security | N/A |
| 8 | Non-Invasive Security | N/A |
| 9 | Sensitive Security Parameter Management | 1 |
| 10 | Self-Tests | 1 |
| 11 | Life-Cycle Assurance | 1 |
| 12 | Mitigation of Other Attacks | N/A |
This document describes SUSE LLC.’s cryptographic module Security Policy (SP) for the SUSE Rancher Kubernetes Cryptographic Library (Software version: 2.0) cryptographic module (also referred to as the “module” hereafter). It contains specification of the security rules under which the cryptographic module operates, including the security rules derived from the requirements of the FIPS 140-3 standard. The module is a software module and has a Multi-Chip Stand Alone embodiment. The module meets the overall Level 1 security requirements of FIPS 140-3. The following table lists the level of validation for each area in FIPS 140-3:
2 Cryptographic Module Specification 1
Table 1 - Security Levels Public Material – May be reproduced only in its original entirety (without revision).
# 1 2 3 4 5 6 7 8 9
Operating System Red Hat Enterprise Linux 7.6 Red Hat Enterprise Linux 7.6 Red Hat Enterprise Linux 7.9 Red Hat Enterprise Linux 7.9 Red Hat Enterprise Linux 8.8 Red Hat Enterprise Linux 8.8 Red Hat Enterprise Linux 8.8 Red Hat Enterprise Linux 8.8 Red Hat Enterprise Linux 9.0
Operating System
Hardware Platform Ampere Altra Mt Snow 2U server GIGABYTE R272-P30-JG Ampere Altra Mt Snow 2U server GIGABYTE R272-P30-JG Dell PowerEdge R440 Dell PowerEdge R440 Ampere Altra Mt Snow 2U server GIGABYTE R272-P30-JG Ampere Altra Mt Snow 2U server GIGABYTE R272-P30-JG Dell PowerEdge R440 Dell PowerEdge R440 Ampere Altra Mt Snow 2U server GIGABYTE R272-P30-JG
Hardware Platform
Processor Ampere Altra Q80-30 Ampere Altra Q80-30 Intel Xeon Silver 4214R Intel Xeon Silver 4214R Ampere Altra Q80-30 Ampere Altra Q80-30 Intel Xeon Silver 4214R Intel Xeon Silver 4214R Ampere Altra Q80-30
Processor
PAA/Acceleration With PAA Without PAA With PAA Without PAA With PAA Without PAA With PAA Without PAA With PAA
PAA/Acceleration
2. Cryptographic Module Specification The SUSE Rancher Kubernetes Cryptographic Library from SUSE LLC. is an open source software library that contains cryptography to serve SUSE’s Rancher Kubernetes Engine and its ecosystem of supported cloudnative tools written in the Go programming language. The module is intended for use in environments specified in Table 2 below and any general-purpose environment that requires cryptographic primitives. The Tested Operational Environment’s Physical Perimeter (TOEPP) of the module is the physical perimeter of the tested environment, which is listed in Table 2 below. The module is a software module and has a Multi-Chip Stand Alone embodiment. The installation instructions are provided in Section 11 of this document. The boundary of the module is defined as a single object file, bcm.o. The module version is 2.0. The module was tested on the following operational environments: Public Material – May be reproduced only in its original entirety (without revision).
# 10 11 12 13 14 15 16 17 18 19 20
Operating System Red Hat Enterprise Linux 9.0 Red Hat Enterprise Linux 9.0 Red Hat Enterprise Linux 9.0 SUSE SLES 15SP5 SUSE SLES 15SP5 SUSE SLES 15SP4 SUSE SLES 15SP4 SLE Micro 5.3 SLE Micro 5.3 SLE Micro 5.3 SLE Micro 5.3
Operating System
Hardware Platform Ampere Altra Mt Snow 2U server GIGABYTE R272-P30-JG Dell PowerEdge R440 Dell PowerEdge R440 Ampere Altra Mt Snow 2U server GIGABYTE R272-P30-JG Ampere Altra Mt Snow 2U server GIGABYTE R272-P30-JG Dell PowerEdge R440 Dell PowerEdge R440 Ampere Altra Mt Snow 2U server GIGABYTE R272-P30-JG Ampere Altra Mt Snow 2U server GIGABYTE R272-P30-JG Dell PowerEdge R440 Dell PowerEdge R440
Hardware Platform
Processor Ampere Altra Q80-30 Intel Xeon Silver 4214R Intel Xeon Silver 4214R Ampere Altra Q80-30 Ampere Altra Q80-30 Intel Xeon Silver 4214R Intel Xeon Silver 4214R Ampere Altra Q80-30 Ampere Altra Q80-30 Intel Xeon Silver 4214R Intel Xeon Silver 4214R
Processor
PAA/Acceleration Without PAA With PAA Without PAA With PAA Without PAA With PAA Without PAA With PAA Without PAA With PAA Without PAA
PAA/Acceleration
| # | Operating System | Hardware Platform | |||
|---|---|---|---|---|---|
| 1 | Linux 4.X | x86_64 architecture ARMv7 architecture ARMv8 architecture |
Table 2 - Tested Operational Environments The cryptographic module is also supported on the following operational environments for which operational testing and algorithm testing was not performed. The CMVP makes no statement as to the correct operation of the module on the operational environments for which operational testing was not performed. Public Material – May be reproduced only in its original entirety (without revision).
| 2 | Linux 5.X | X86_64 architecture ARMv7 architecture ARMv8 architecture |
|---|---|---|
| 3 | Linux 6.X | x86_64 architecture ARMv7 architecture ARMv8 architecture |
CAVP Cert1 A6389 A6389 A6389 A6389 CVL A6389
CAVP Cert1
Algorithm and Standard AES FIPS 197 SP800-38A AES FIPS 197 SP800-38D AES FIPS 197 SP800-38C AES, KTS FIPS 197 SP800-38F TLS v1.0/1.1 and v1.2 KDF2 SP800-135rev1
Algorithm and Standard
Mode/Method CBC, ECB, CTR GCM CCM KW, KWP N/A
Mode/Method
Description / Key Size(s) / Key Strength(s) Key sizes: 128, 192, 256 bits; Strength: 128, 192, 256 bits Key sizes: 128, 256 bits; Strength: 128, 256 bits Key size: 128 bits; Strength: 128 bits Key sizes: 128, 192, 256 bits; Strength: 128, 192, 256 bits SHA2-256, SHA2- 384, SHA2-512; Strength: 256, 384, 512 bits
Description / Key Size(s) / Key Strength(s)
Use / Function Encryption, Decryption Authenticated Encryption, Authenticated Decryption Authenticated Encryption, Authenticated Decryption Key Transport per IG D.G Key establishment methodology provides between 128 and 256 bits of encryption strength Key Derivation
Use / Function
Table 3 - Vendor Affirmed Operational Environments Table 4 below lists all the approved algorithms implemented in the module:
1 There are algorithms that have been CAVP-tested on the same certificate but are not used by any approved service of the
module Only the algorithms, modes/methods, and key lengths/curves/moduli shown in this table are used by an approved service of the module.
2 No parts of this protocol, other than the approved cryptographic algorithms and the KDFs, have been tested by the CAVP and
CMVP. Public Material – May be reproduced only in its original entirety (without revision).
CAVP Cert1 Vendor Affirmed A6389 A6389 A6389 A6389
CAVP Cert1
Algorithm and Standard CKG DRBG SP800-90Arev1 ECDSA FIPS 186-4 HMAC FIPS 198-1 RSA3 FIPS 186-4
Algorithm and Standard
Mode/Method SP800-133rev2 CTR_DRBG Key Pair Generation, Signature Generation, Signature Verification, Public Key Validation Generate, Verify Key Generation, Signature Generation, Signature Verification PKCS 1.5 and PSS
Mode/Method
Description / Key Size(s) / Key Strength(s) Cryptographic Key Generation: Section 5: Generation of Key Pairs for Asymmetric-Key Algorithms, Section 6.1: The “Direct Generation” of Symmetric Keys AES-256; Key size: 256 bits; Strength: 256 bits P-224, P-256, P-384, P-521; Strength: 112, 128, 192, 256 bits HMAC-SHA-1, HMAC-SHA2-224, HMAC-SHA2-256, HMAC-SHA2-384, HMAC-SHA2-512; Strength: 128, 192, 256, 384, 512 bits 1024, 2048, 3072, 4096; Strength: 80, 112, 128, 152 bits; Note: Key size 1024 should be only used for Signature Verification
Description / Key Size(s) / Key Strength(s)
Use / Function Key Generation Symmetric keys and seeds are generated as the direct output of the DRBG Random Bit Generation Digital Signature Services Generation, Authentication Digital Signature Services
Use / Function
Verification RSA with SHA-1 is available for legacy use only and can only be used to verify signatures generated prior to 2011. Public Material – May be reproduced only in its original entirety (without revision).
CAVP Cert1 A6389 A6389
CAVP Cert1
Algorithm and Standard SHA FIPS 180-4 KAS-SSC SP800-56Arev3
Algorithm and Standard
Mode/Method Hashing KAS-ECC-SSC ephemeralUnified
Description / Key Size(s) / Key Strength(s) SHA-14, SHA2-224, SHA2-256, SHA2-384, SHA2-512, SHA2- 512/256; Strength: 80, 112, 128, 192, 256, 128 bits ECC: P-224, P-256, P- 384 and P-521; Strength: 112, 128, 192, 256 bits
Description / Key Size(s) / Key Strength(s)
Use / Function Digital Signature Generation, Digital Signature Verification, Non-Digital Signature Applications Key Agreement Scheme Shared Secret Computation per SP800-56Arev3; Key establishment methodology provides between 112 and 256 bits of security strength
Use / Function
| Algorithm | Caveat | Use / Function | ||
|---|---|---|---|---|
| MD5 | As allowed per SP800-135rev1 (No security claimed) | When used with the TLS protocol version 1.0 and 1.1 |
| Algorithm/Function | Use/Function |
|---|---|
| MD5, MD4 | Non-Approved hashing |
| POLYVAL | Non-Approved authenticated encryption |
| DES, Triple-DES (non-compliant) | Non-Approved encryption/decryption |
| AES-GCM-SIV (non-compliant) | Non-Approved encryption/decryption |
| DH (non-compliant) | Non-Approved key agreement |
| ECDSA with SHA2-512/256 | Performing an ECDSA operation with the SHA- 512/256 hash algorithm (sign and verify) |
| RSA Primitives (RSADP, RSAEP, RSASP, RSAVP) | Perform RSA related primitive operations (decrypt, encrypt, sign, verify) |
Table 4 - Approved Algorithms Table 6 - Non-Approved, Not Allowed Algorithms
4 Used for non-digital signature applications or to verify existing digital signatures only
Public Material – May be reproduced only in its original entirety (without revision).
API inv
ocation
Syste
m calls
Syste
m calls
Physical Perimeter: General Purpose Computer Application (out of validation scope) Calling Function Caller CSPs API invocation System calls SUSE Rancher Kubernetes Cryptographic Library System calls Operating System CPU Memory Storage Ports Figure 1 - Module Boundary
AES GCM encryption and decryption are used in the context of the TLS protocol version 1.2 (compliant to Scenario 1a in FIPS 140-3 IG C.H). The module is compliant with NIST SP 800-52 and the mechanism for IV generation is compliant with RFC 5288. The module ensures that it is strictly increasing and thus cannot repeat. When the IV exhausts the maximum number of possible values for a given session key, the first party (client or server) to encounter this condition may either trigger a handshake to establish a new encryption key in accordance with RFC 5246 or fail. In either case, the module prevents any IV duplication and thus enforces the security property. The module’s IV is generated internally by the module’s Approved DRBG, which is internal to the module’s boundary. The IV is 96 bits in length per NIST SP 800-38D, Section 8.2.2 and FIPS 140-3 IG C.H scenario 2. The selection of the IV construction method is the responsibility of the user of this cryptographic module. In approved mode, users of the module must not utilize GCM with an externally generated IV. Per FIPS 140-
3 IG C.H, in the event module power is lost and restored, the consuming application must ensure that any
of its AES-GCM keys used for encryption or decryption are re-distributed. The module implements the TLS 1.2 KDF and other cryptographic primitives used in TLS 1.2, but does not implement the TLS 1.2 protocol itself.
The module allows the use of 1024-bit RSA keys for legacy purposes including signature generation, which is disallowed in Approved mode as per NIST SP 800-131Arev2. Therefore, cryptographic operations with the Non-Approved key sizes will result in the module operating in Non-Approved mode. Public Material – May be reproduced only in its original entirety (without revision).
The elliptic curves utilized shall be the validated NIST-recommended curves and shall provide a minimum of
The EVP_Digest_* APIs must be used for ECDSA sign and verify operations.
Non-Approved cryptographic algorithms shall not share the same key or CSP as an approved algorithm. As such, Approved algorithms shall not use the keys generated by the module’s Non-Approved key generation methods or the converse.
The module supports two modes of operation: Approved and Non-approved. The module will be in approved mode when all self-tests have completed successfully, and only Approved algorithms are invoked. Section 10 provides details on error messages if a self-test fails. The self-tests have passed if no error state occurs. See Table 4 above for a list of the supported Approved algorithms. The non-Approved mode is entered when a non-Approved algorithm is invoked. See Table 6 for a list of non-Approved algorithms. Public Material – May be reproduced only in its original entirety (without revision).
| Logical interface | Data that passes over port/interface |
|---|---|
| Data Input | API input parameters |
| Data Output | API output parameters and return values |
| Control Input | API input parameters |
| Status Output | API return values |
3. Cryptographic Module Interfaces consists of the output parameters of the API functions. The Control Input interface consists of the actual API Table 7 - Ports and Interfaces The module does not implement a power input interface or a control output interface. As a software module, control of the physical ports is outside the module scope. However, when the module is performing self-tests, or is in an error state, all output on the module’s logical data output interfaces is inhibited. Public Material – May be reproduced only in its original entirety (without revision).
| Role | Service | Input | Output |
|---|---|---|---|
| CO | Symmetric Encryption | Plaintext, encryption key | Return code, ciphertext |
| CO | Symmetric Decryption | Ciphertext, decryption key | Return code, plaintext |
| CO | Keyed Hashing | Message, key | Return code, Message Authentication Code |
| CO | Hashing | Message | Return code, hash |
| CO | Random Bit Generation | API call parameters | Return code, random bits |
| CO | Signature Generation | Message, signing key | Return code, signature |
| CO | Signature Verification | Signature, verification key | Return code |
| CO | Key Transport | API call parameters, wrapping key | Return code, wrapped key or unwrapped key |
| CO | Key Agreement | API call parameters | Return code, shared secret |
| CO | TLS Key Derivation | API call parameters, TLS pre- master secret | Return code, TLS Key |
| CO | Key Generation | API call parameters | Return code, key pair |
| CO | Key Verification | API call parameters, key pair | Return code |
| CO | On-Demand Self-Test | N/A | N/A |
| CO | Additional On-Demand Self- Tests | N/A | Return code |
| CO | Zeroization | N/A | N/A |
| CO | Show versioning information | API function selection | Module name or module version |
| CO | Show Status | API call parameters | Return code, status |
4. Roles, Services, and Authentication
The cryptographic module only implements a Crypto Officer (CO) role. The CO role is implicitly assumed by the entity accessing services implemented by the module. An operator is considered the owner of the thread that instantiates the module and, therefore, only one operator is allowed, and no concurrent operators are allowed. The module does not support operator authentication.
The Approved services supported by the module and access rights within services accessible over the module’s public interface are listed in Table 8 below. Table 8 - Roles, Service Commands, Input and Output Public Material – May be reproduced only in its original entirety (without revision).
Approved services are listed in Table 9. The SSPs listed in the table indicate the access required using below notation: G = Generate: The module generates or derives the SSP. R = Read: The SSP is read from the module (e.g., the SSP is output). W = Write: The SSP is updated, imported, or written to the module. E = Execute: The module uses the SSP in performing a cryptographic operation. Z = Zeroize: The module zeroizes the SSP. Unless otherwise specified, the indicator value is the difference in return values from the API functions FIPS_service_indicator_before_call() and FIPS_service_indicator_after_call(), where the first is called immediately prior to using the service and the second is called immediately after using the service. Public Material – May be reproduced only in its original entirety (without revision).
| Service | Description | Approved Security Functions | Keys and/or SSPs | Roles | Access Rights to Keys and/or SSPs | Indicator |
|---|---|---|---|---|---|---|
| Symmetric Encryption | Perform symmetric encryption operations | AES CBC, ECB, CTR, GCM CCM (Cert. #A6389) CKG | AES Key, AES-GCM Key | CO | W, E | 1 |
| Symmetric Decryption | Perform symmetric decryption operations | AES CBC, ECB, CTR, GCM, CCM (Cert. #A6389) CKG | AES Key, AES-GCM Key, AES-GCM IV | CO | W, E | 1 |
| Keyed Hashing | Perform keyed hashing operations | HMAC-SHA-1, HMAC-SHA2-224, HMAC-SHA2-256, HMAC-SHA2-384, HMAC-SHA2-512 (Cert. #A6389) | HMAC Key | CO | W, E | 1 |
| Hashing | Perform hashing operations | SHA-1, SHA2-224, SHA2-256, SHA2- 384, SHA2-512, SHA2-512/256 (Cert. #A6389) | N/A | CO | N/A | 1 |
| Random Bit Generation | Generate random numbers | CTR_DRBG (Cert. #A6389) CKG | DRBG Seed, CTR_DRBG V, CTR_DRBG Key | CO | G, E | 1 |
| DRBG output | CO | G, R | ||||
| CTR_DRBG Entropy Input | CO | W, E |
Public Material – May be reproduced only in its original entirety (without revision).
| Service | Description | Approved Security Functions | Keys and/or SSPs | Roles | Access Rights to Keys and/or SSPs | Indicator |
|---|---|---|---|---|---|---|
| Signature Generation | Perform signing operations | CTR_DRBG, RSA SigGen, ECDSA SigGen (Cert. #A6389) | RSA Signature Generation Key, ECDSA Signing Key | CO | G, W, E | 1 |
| Signature Verification | Perform verification operations | RSA SigVer, ECDSA SigVer (Cert. #A6389) | RSA Signature Verification Key, ECDSA Verification Key | CO | G, W, E | 1 |
| Key Transport | Perform key encryption, decryption operations; KTS using AES-KW, AES-KWP per IG D.G | AES KW, KWP (Cert. #A6389) CKG | AES Wrapping Key | CO | W, E | 1 |
| Key Agreement | Perform key agreement operations | KAS-ECC-SSC (Cert. #A6389) | EC DH Private Key, EC DH Public Key | CO | G, W, E | 1 |
| Shared Secret | G | |||||
| TLS Key Derivation | Perform key derivation operations | TLS KDF (Cert. #A6389) | TLS Pre-Master Secret | CO | W, E | 1 |
| TLS Master Secret | G, E | |||||
| Key Generation | Perform generation operations | CTR_DRBG, RSA KeyGen, ECDSA KeyGen (Cert. #A6389) CKG | RSA Signature Generation Key, ECDSA Signing Key | CO | G, W, E | 1 |
| Key Verification | Perform key pair verification operations | ECDSA KeyVer (Cert. #A6389) | ECDSA Signing Key, ECDSA Verification Key | CO | G, W, E | 1 |
D.G Public Material – May be reproduced only in its original entirety (without revision).
| Service | Description | Approved Security Functions | Keys and/or SSPs | Roles | Access Rights to Keys and/or SSPs | Indicator |
|---|---|---|---|---|---|---|
| On-Demand Self-Test | Execute self-tests on demand | N/A | N/A | CO | N/A | N/A |
| Zeroization | Zeroize all SSPs | N/A | All SSPs | CO | Z | Successful host platform restart |
| Show Status | Obtain the module status information | N/A | N/A | CO | N/A | N/A |
| Show versioning information | Obtain the module versioning information | N/A | N/A | CO | N/A | N/A |
| Additional On-Demand Self-Tests | Execute self-tests through API call | N/A | N/A | CO | N/A | 1 |
Table 9 - Approved Services Public Material – May be reproduced only in its original entirety (without revision).
| Service | Description | Algorithms Accessed | Role | Indicator |
|---|---|---|---|---|
| Hashing (as allowed per SP800-135rev1) | Perform hashing operations when used with the TLS protocol version 1.0 and 1.1 | MD5 | CO | 0 |
| Hashing | Perform hashing operations | MD4 | CO | 0 |
| Hashing | Used as part of AES-GCM-SIV | POLYVAL | CO | 0 |
| Symmetric encryption/decryption | Perform symmetric encryption and/or decryption operations | DES Triple-DES AES | CO | 0 |
| Key Generation | Perform generation operations | DH | CO | 0 |
| RSA Primitives (RSADP, RSAEP, RSASP, RSAVP) | Perform RSA related primitive operations (decrypt, encrypt, sign, verify) | RSA | CO | 0 |
| Digital signature generation and verification (ECDSA with SHA-512/256) | Performing an ECDSA operation with the SHA-512/256 hash algorithm (sign and verify) | ECDSA with SHA- 512/256 | CO | 0 |
Non-Approved Services are listed in the Table 10 below: Table 10 - Non-Approved Services Public Material – May be reproduced only in its original entirety (without revision).
5. Software/Firmware Security The pre-operational integrity test is performed using HMAC-SHA2-256. The integrity test can be executed on demand by power-cycling the host platform and reloading the module. The module does not support software loading. Please refer to Section 11.1 for instructions on compiling the source code into executable.
The form of the module is a single object file, bcm.o.
| Key/SSP Name/Type | Strength | Security Function and Cert. Number | Generation | Import/ Export | Establishment | S torage | Zeroisation | Use & Related Keys |
|---|---|---|---|---|---|---|---|---|
| AES Key (CSP) | 128/192/256 bits | AES-CBC, ECB, CTR, CCM A6389 | External | Input via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle host | AES encrypt / decrypt |
| AES-GCM Key (CSP) | 128/256 bits | AES-GCM A6389 | External | Input via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle host | AES decrypt / verify |
| AES-GCM IV5 (CSP) | 96 bits | AES-GCM A6389 | External | Input via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle host | AES decrypt / verify |
| AES Wrapping or Unwrapping Key (CSP) | 128/192/256 bits | AES-KW, AES-KWP A6389 | External | Input via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle Host | AES key wrapping or unwrapping |
9. Sensitive Security Parameter Management All the SSPs are zeroized implicitly when host platform is restarted. The various SSPs used by the module are listed in Table 11 below.
5 As specified in Section 2.1.1, usage of externally generated IV is only allowed for AES-GCM decryption in the approved mode of operation.
Public Material – May be reproduced only in its original entirety (without revision).
| Key/SSP Name/Type | Strength | Security Function and Cert. Number | Generation | Import/ Export | Establishment | S torage | Zeroisation | Use & Related Keys |
|---|---|---|---|---|---|---|---|---|
| ECDSA Signing Key (CSP) | 112/128/192/256 bits | ECDSA SigGen A6389 | Internally Generated | Input via API in plaintext (Electronic Entry); Output via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle host | ECDSA signature generation |
| ECDSA Verification Key (PSP) | 112/128/192/256 bits | ECDSA SigVer A6389 | Internally Generated | Input via API in plaintext (Electronic Entry); Output via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle Host | ECDSA signature verification |
| EC DH Private Key (CSP) | 112/128/192/256 bits | ECDSA KeyGen A6389 | Internally Generated | Input via API in plaintext (Electronic Entry); Output via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle host | Key Agreement |
Public Material – May be reproduced only in its original entirety (without revision).
| Key/SSP Name/Type | Strength | Security Function and Cert. Number | Generation | Import/ Export | Establishment | S torage | Zeroisation | Use & Related Keys |
|---|---|---|---|---|---|---|---|---|
| EC DH Public Key (PSP) | 112/128/192/256 bits | ECDSA KeyGen A6389 | Internally Generated | Input via API in plaintext (Electronic Entry); Output via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle host | Key Agreement |
| HMAC Key (CSP) | 128/192/256/384 /512 bits | HMAC-SHA-1, HMAC-SHA2- 224, HMAC- SHA2-256, HMAC-SHA2- 384, HMAC- SHA2-512 A6389 | External | Input via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle host | Keyed hashing |
| Shared Secret (CSP) | 112/128/192/256 bits | KAS-ECC-SSC A6389 | Internally Generated | N/A | SP800- 56Arev3 | Plaintext in RAM | Power-cycle host | Key Agreement |
| RSA Signature Generation Key (CSP) | 112, 128, 152 bits | RSA SigGen A6389 | Internally Generated | Input via API in plaintext (Electronic Entry); Output via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle host | RSA signature generation |
Public Material – May be reproduced only in its original entirety (without revision).
| Key/SSP Name/Type | Strength | Security Function and Cert. Number | Generation | Import/ Export | Establishment | S torage | Zeroisation | Use & Related Keys |
|---|---|---|---|---|---|---|---|---|
| RSA Signature Verification Key (PSP) | 80, 112, 128, 152 bits | RSA SigVer A6389 | Internally Generated | Input via API in plaintext (Electronic Entry); Output via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle host | RSA signature verification |
| TLS Master Secret (CSP) | 384 bits | TLS KDF A6389 | Internally Derived via key derivation function defined in SP800- 135rev1 KDF (TLS) | N/A | N/A | Plaintext in RAM | Power-cycle host | TLS key derivation |
| TLS Pre-Master Secret (CSP) | 112-256 bits | TLS KDF A6389 | External | Input via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power-cycle host | TLS key derivation |
| DRBG Seed (CSP) | 3 84 bits | CTR_DRBG A6389 | I nternally Generated | N/A | N/A | Plaintext in RAM | Power-cycle host | DRBG Seeding material |
| CTR_DRBG V (CSP) | 128 bits | CTR_DRBG A6389 | I nternally Generated | N/A | N/A | Plaintext in RAM | Power-cycle host | DRBG internal state |
Verification (Electronic defined in Public Material – May be reproduced only in its original entirety (without revision).
| Key/SSP Name/Type | Strength | Security Function and Cert. Number | Generation | Import/ Export | Establishment | S torage | Zeroisation | Use & Related Keys |
|---|---|---|---|---|---|---|---|---|
| CTR_DRBG Key (CSP) | 256 bits | CTR_DRBG A6389 | I nternally Generated | N/A | N/A | Plaintext in RAM | Power-cycle host | DRBG internal state |
| CTR_DRBG Entropy Input (CSP) | 384 bits used as seed, quality of entropy at least 112 bits | CTR_DRBG A6389 | E xternal | Input via API in plaintext (Electronic Entry) | N/A | Plaintext in RAM | Power- cycle host | DRBG entropy |
| DRBG output | 2048 bits | CTR_DRBG A6389 | I nternally Generated | N/A | N/A | Plaintext in RAM | Power- cycle host | Random bits provided for the calling application |
Table 11 - SSPs Public Material – May be reproduced only in its original entirety (without revision).
| Entropy sources | Minimum number of bits of entropy | Details | |
|---|---|---|---|
| Passive Entropy | 112 bits and above | Use of a [SP800-90B] compliant entropy source with at least 256 bits of security strength. Entropy is supplied to the Module via callback functions. The callback functions shall return an error if the minimum entropy strength cannot be met. The caveat “No assurance of the minimum strength of generated SSPs (e.g., keys)” is applicable |
Table 12 - Non-Deterministic Random Number Generation Specification 10. Self-Tests ISO/IEC 19790 requires the module to perform self-tests to ensure the integrity of the module and the correctness of the cryptographic functionality. Some functions also require conditional tests during normal operation of the module. All Conditional Cryptographic Algorithm Self-Tests (CAST) except the RSA sign and verify KAT, ECDSA sign and verify KAT, and SP 800-56Arev3 KAS-ECC KAT can be requested on demand by power cycling the host platform. The command BORINGSSL_self_test() can be used to run all CASTs. The module has two error states: the main error state and a PCT error state. The main error state is entered upon failure of a pre-operational self-test or a CAST (Cryptographic Algorithm Self-Test). The module indicates this error state by providing the output status “FIPS integrity test failed” or “*** KAT failed” where *** is the algorithm name (example: ECDSA-sign KAT failed). The module can be recovered by terminating execution of the host program and reclamation by the host operating system, then re-instantiating the module. The supported tests are listed and described in this section. If the self-test error does not clear with re-instantiation, then the user should contact SUSE support for assistance at https://scc.suse.com/. Upon failure of a conditional PCT transitions to the PCT error state described in Section 10.2.
Pre-operational self-tests are run upon the initialization of the module and further reboots of the host platform. The CAST (Cryptographic Algorithm Self-Test) for HMAC-SHA2-256 is performed before the integrity test. Self-tests do not require operator intervention to run. If any of the tests fail, the module will not initialize and enter an error state where no services can be accessed. The module implements the following pre-operational self-tests:
CASTs are run prior to the first use of the cryptographic algorithm. CASTs do not require operator intervention to run. If any of the tests fail, the module will enter an error state, and no services can be accessed. The module implements the following CASTs:
Once the error message is written, the error state is automatically cleared, and the module continues normal operations. The module is single-threaded and therefore can only perform function calls one at a time. While the error message is being written to RAM, no other calls can be processed, thus inhibiting data output and cryptographic operations. 11. Life-Cycle Assurance The cryptographic module is initialized by loading the module before any cryptographic functionality is available. In User Space, the operating system is responsible for the initialization process and loading of the library. There are no maintenance requirements applicable. General guidance about the module can be found at https://boringssl.googlesource.com/boringssl. This includes information about the APIs, building and specific information related to FIPS can be found at https://boringssl.googlesource.com/boringssl.git/+/refs/heads/fips-20220613/crypto/fipsmodule/FIPS.md (note this still mentions 140-2, but the information there is the same).
During the manufacturing process, SUSE executes the build and installation instructions for the module as a part of SUSE Rancher Kubernetes on the Red Hat Enterprise, SUSE SLE, and SUSE Micro environments. The Module is pre-installed and configured in supported SUSE solutions. The approved mode is enabled by default. There are no additional installation, configuration, or usage instructions for operators intending to use the Module.
The following methods will provide the module name and versions:
12. Mitigation of Other Attacks The module is not designed to mitigate attacks which are outside of the scope of FIPS 140-3. Public Material – May be reproduced only in its original entirety (without revision).
Abbreviation
Full Specification Name
References and Standards The following Standards are referenced in this Security Policy: FIPS 140-3 Security Requirements for Cryptographic modules FIPS 180-4 Secure Hash Standard (SHS) FIPS 186-4 Digital Signature Standard (DSS) FIPS 197 Advanced Encryption Standard FIPS 198-1 The Keyed-Hash Message Authentication Code (HMAC) IG Implementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program SP 800-38A Recommendation for Block Cipher Modes of Operation: Three Variants of Ciphertext Stealing for CBC Mode SP 800-38C Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality SP 800-38D Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC SP 800-38F Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping SP 800-52 Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations SP 800-56A Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography SP 800-90A Recommendation for Random Number Generation Using Deterministic Random Bit Generators SP 800-131A Transitioning the Use of Cryptographic Algorithms and Key Lengths SP 800-133 Recommendation for Cryptographic Key Generation SP 800-135 Recommendation for Existing Application-Specific Key Derivation Functions Public Material – May be reproduced only in its original entirety (without revision).
Acronym
Definition
Acronyms Acronym Definition AES Advanced Encryption Standard API Application Programming Interface CAVP Cryptographic Algorithm Validation Program CBC Cipher-Block Chaining CCCS Canadian Centre for Cyber Security CFB Cipher Feedback CKG Cooperative Key Generation CMVP Crypto Module Validation Program CO Cryptographic Officer CRNGT Continuous Random Number Generator Test CSP Critical Security Parameter CTR Counter-mode DES Data Encryption Standard DH Diffie-Hellman DRBG Deterministic Random Bit Generator DSS Digital Signature Standard EC Elliptic Curve ECB Electronic Code Book ECC Elliptic Curve Cryptography EC DH Elliptic Curve Diffie-Hellman ECDSA Elliptic Curve Digital Signature Authority FIPS Federal Information Processing Standards GCM Galois/Counter Mode GMAC Galois Message Authentication Code GPC General Purpose Computer HMAC Key-Hashed Message Authentication Code IG Implementation Guidance IV Initialization Vector KAS Key Agreement Scheme KAT Known Answer Test KDF Key Derivation Function KW Key Wrap KWP Key Wrap with Padding LLC Limited Liability Company MAC Message Authentication Code MD4 Message Digest algorithm MD4 MD5 Message Digest algorithm MD5 N/A Not-Applicable NIST National Institute of Standards and Technology NVLAP National Voluntary Lab Accreditation Program Public Material – May be reproduced only in its original entirety (without revision).
OFB Output Feedback PAA Processor Algorithm Accelerator RAM Random Access Memory RFC Request For Comment RSA Rivest Shamir Adleman SHA Secure Hash Algorithm SHS Secure Hash Standard SP Special Publication SSL Secure Socket Layer TLS Transport Layer Security Triple-DES Triple Data Encryption Standard Public Material – May be reproduced only in its original entirety (without revision).