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

Arista Crypto Module v3.0 [Software, Software IPsec, Web Portal]

Certificate#4791StandardFIPS 140-3Level1TypeSoftwareEmbodimentMulti-Chip Stand AloneStatusActiveVendorArista Networks, Inc.
Medium review priority  ·  no TCB surface named  ·  last validated 22 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level1
Module typeSoftware
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date9/5/2029
CaveatInterim validation. When operated in approved mode. No assurance of the minimum strength of generated SSPs (e.g., keys)
VendorArista Networks, Inc.

Approved Algorithms (39)

AlgorithmACVP Cert
AES-CBCA4153
AES-CCMA4153
AES-CFB1A4153
AES-CFB128A4153
AES-CFB8A4153
AES-CMACA4153
AES-CTRA4153
AES-ECBA4153
AES-GCMA4153
AES-XTS Testing Revision 2.0A4153
Counter DRBGA4153
ECDSA KeyGen (FIPS186-4)A4153
ECDSA KeyVer (FIPS186-4)A4153
ECDSA SigGen (FIPS186-4)A4153
ECDSA SigVer (FIPS186-4)A4153
Hash DRBGA4153
HMAC DRBGA4153
HMAC-SHA-1A4153
HMAC-SHA2-224A4153
HMAC-SHA2-256A4153
HMAC-SHA2-384A4153
HMAC-SHA2-512A4153
KAS-ECC-SSC Sp800-56Ar3A4153
KAS-FFC-SSC Sp800-56Ar3A4153
KDF IKEv1A4153
KDF IKEv2A4153
KDF SP800-108A4153
KDF SSHA4153
KDF TLSA4153
KTS-IFCA4153
RSA KeyGen (FIPS186-4)A4153
RSA SigGen (FIPS186-4)A4153
RSA SigVer (FIPS186-4)A4153
SHA-1A4153
SHA2-224A4153
SHA2-256A4153
SHA2-384A4153
SHA2-512A4153
TLS v1.2 KDF RFC7627A4153

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

flowchart LR
  %% Deterministic review-risk graph for Arista Crypto Module v3.0 [Software, Software IPsec, Web Portal]
  %% 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/>upgrade</i>"]
    C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Status Output<br/>self-test<br/>Show Status</i>"]
    C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>SSH<br/>IKEV</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"]
    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 Arista Crypto Module v3.0 [Software, Software IPsec, Web Portal]
  %% 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/>upgrade</i><br/>src: text:keyword"]
    C3["[low] Self-test / status surface (referenced in text)<br/><i>Status Output<br/>self-test<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/>SSH<br/>IKEV</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 C2,C3,C5,C6 clueLow;

Security Policy, page by page

Page 1

Arista Networks Inc. Arista Networks Inc. Arista Crypto Module v3.0 [Software, Software IPsec, Web Portal] Version: 3.0 Non-Proprietary FIPS 140-3 Security Policy Document Version: v1.3 Date: July 18, 2024 Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 2

Arista Networks Inc. Table of Contents

1.0 - General Information 4

1.1 Overview 4

1.2 Security Levels 4

2.0 Cryptographic Module Specification 4

2.1 Description 4

2.2 Version Information 5

2.3 Operating Environments 6

2.4 Excluded Components 7

2.5 Modes of Operation 7

2.6 Approved Algorithms 8

2.7 Algorithm Specific Information 12

2.8 RBG and Entropy 14

2.9 Key Generation 14

2.10 Key Establishment 14

2.11 Industry Protocols 15

2.12 Design and Rules 18

2.13 Initialization 18

3.0 - Cryptographic Module Interfaces 18

3.1 Ports and Interfaces 18

4.0 - Roles, Services and Authentication 19

4.1 Authentication Methods 19

4.2 Roles 19

4.3 Approved Services 21

4.4 Non-Approved Services 24

4.5 External Software/Firmware Loaded – N/A 25

5.0 - Software/Firmware security 25

5.1 Integrity Techniques 25

5.2 Initiate on Demand 25

6.0 Operational environment 25

6.1 Operational Environment Type and Requirements 25

6.2 Configuration Settings and Restrictions 25

7.0 - Physical security – N/A 25

8.0 - Non-invasive security – N/A 25

9.0 Sensitive Security Parameters Management 25

9.1 Storage Areas 25

9.2 SSP Input-Output Methods 25

9.3 SSP Zeroisation Methods 26

9.4 SSPs 26

10. Self‐tests 27 Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 3

10.1 Pre-Operational Self-Tests 27

10.2 Conditional Self-Tests 28

10.3 Periodic Self-Tests 31

10.4 Error States 31

11.1 Startup Procedures 31

11.2 Administrator Guidance 32

11.3 Non-Administrator Guidance 32

11.4 Maintenance Requirements – N/A 32

11.5 End of Life 32

12.0 Mitigation of other attacks – N/A 32

13.0 References and Definitions 32

Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 4
ISO/IEC 24759 Section 6.FIPS 140-3 Section TitleSecurity Level
1General1
2Cryptographic module specification1
3Cryptographic module interfaces1
4Roles, services, and authentication2
5Software/Firmware security1
6Operational environment1
7Physical securityN/A
8Non-invasive securityN/A
9Sensitive security parameter management1
10Self-tests1
11Life-cycle assurance1
12Mitigation of other attacksN/A

1.0 - General Information

1.1 Overview

This document is the non-proprietary FIPS 140-3 Security Policy for version 3.0 of the Arista Networks Inc. Arista Crypto Module v3.0 [Software, Software IPsec, Web Portal]. 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 an overall Security Level 1 module.

1.2 Security Levels
2.1 Description

Purpose and Use: The Arista Crypto Module v3.0 [Software, Software IPsec, Web Portal] (hereafter referred to as “the module”) is a Software Multichip standalone cryptographic module. The module provides cryptographic services to applications running in the user space of the underlying operating system through a C language Application Program Interface (API). Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 5
TypeVersions
SoftwareName: Arista Crypto Module v3.0 [Software, Software IPsec, Web Portal] Version: 3.0

Arista Networks Inc. Module Embodiment: Multi-chip Standalone Module Characteristics: None Cryptographic Boundary: The block diagram in 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) Figure 1

2.2 Version Information

Table A

Page 6
#Operating SystemHardware PlatformProcessorPAA/Acceleration
1CloudVision Portal 2023.2.0 on VMware ESXi 6.7.0 on CentOS 7Supermicro SYS- 6029TP-HTRIntel Xeon Gold 5218RYes
2CloudVision Portal 2023.2.0 on VMware ESXi 6.7.0 on CentOS 7Supermicro SYS- 6029TP-HTRIntel Xeon Gold 5218RNo
#Operating SystemHardware Platform
1CloudVision PortalDCA-CV-100
2CloudVision PortalDCA-200-CV
3CloudVision PortalDCA-250-CV
4CloudVision PortalDCA-300-CV
5CloudVision PortalDCA-350-CV
6CloudVision PortalAny general-purpose computer (GPC)
7Any compatible OS with any virtualization softwareAny general-purpose computer (GPC)
2.3 Operating Environments

The module operates in a modifiable operational environment. The module runs on a commercially available virtual machine, based on a general-purpose operating system. The module executes on the hardware specified in Section 2. The module does not support concurrent operators. Software, Firmware, Hybrid Testing Operating Environments: The module has been tested on the platforms indicated in the following table, with the corresponding module variants and configuration options with and without PAA. Table 2

Page 7
NameDescriptionApproved ModeStatus Indicator
Approved ModeSingle Approved Mode – selected by calling the FIPS_mode_set( 1) function.YesThe status indicator is a return value 1 from the FIPS_mode() function.
Non-Approved ModeSelected by default in CloudVision PortalNoThe status indicator is a return value 0 from the FIPS_mode() function.

Arista Networks Inc. Table 3 - Vendor Affirmed Operational Environments The module installation procedure for the above platforms is the same as mentioned in Section 11.1, Startup Procedures. Per the FIPS 140-3 Cryptographic Module Validation Program Management Manual, Section 7.9, Arista affirms that the module remains compliant with the FIPS 140-3 validation when operating on any general-purpose computer (GPC) provided that the GPC uses the specified operating system/mode specified on the validation certificate, or another compatible operating system (including Linux distros such as CentOS 6.x,7.x,8.x). The CMVP allows vendor porting and re-compilation of a validated cryptographic module from the operational environment specified on the validation certificate to an operational environment which was not included as part of the validation testing as long as the porting rules are followed. Note: The CMVP makes no statement as to the correct operation of the module or the security strengths of the generated keys when so ported if the specific operational environment is not listed on the validation certificate.

2.4 Excluded Components

There are no excluded components for the module.

2.5 Modes of Operation

Modes List and Description: Table B - Modes of Operation When the module starts up successfully, after passing all the pre-operational self-tests, the module is set to use Approved Mode by calling FIPS_mode_set with an argument of 1. Section

4.3 provides details on the service indicator implemented by the module.

Mode change instructions and status indicators: To change to Approved mode, call FIPS_mode_set(1). To validate that the Approved Mode is active, call FIPS_mode() and verify the return value is equal to “1”. Section 4.3 provides details on the service indicator implemented by the module. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 8
CAVP CertAlgorithm and StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
A4153AES-CBCAES128, 192, 256Encrypt, Decrypt
A4153AES-CCMAES128, 192, 256Encrypt, Decrypt
A4153AES-CFB1AES128, 192, 256Encrypt, Decrypt
A4153AES-CFB128AES128, 192, 256Encrypt, Decrypt
A4153AES-CFB8AES128, 192, 256Encrypt, Decrypt
A4153AES-CMACAES128, 192, 256Message Authentication
A4153AES-CTRAES128, 192, 256Encrypt, Decrypt
A4153AES-ECBAES128, 192, 256Encrypt, Decrypt
A4153AES-GCMAES128, 192, 256Authenticated Encrypt, Authenticated Decrypt, Message Authentication
A4153AES-XTS Testing Revision 2.0AES128, 256Confidentiality on storage devices only [XTS-AES is compliant to IG C.I by checking for Key_1 ≠ Key_2.]
A4153Counter DRBGCounter DRBG128, 192, 256Deterministic Random Bit Generation [Module defaults to Counter DRBG with 256- bit security strength]
A4153ECDSA KeyGen (FIPS186-4)Secret Generation Mode: Testing CandidatesP-256, P-384, P-521KeyGen
A4153ECDSA KeyVer (FIPS186-4)ECDSA KeyVerP-256, P-384, P-521KeyVer
A4153ECDSA SigGen (FIPS186-4)ECDSA SigGenCurve: P-256, P-384, P-521; Hash Algorithm: SHA2-224, SHA2-256, SHA2-384, SHA2-512SigGen
A4153ECDSA SigVer (FIPS186-4)ECDSA SigVerCurve: P-256, P-384, P-521; Hash Algorithm: SHA-1, SHA2- 224, SHA2-256, SHA2-384, SHA2-512SigVer
A4153HMAC DRBGHMAC DRBGSHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512Deterministic Random Bit Generation
A4153HMAC-SHA-1HMACKey: 112-2048 Increment 8; MAC: 80-160 Increment 8Message Authentication, password obfuscation
A4153HMAC-SHA2-224HMACKey: 112-2048 Increment 8; MAC: 112-224 Increment 16Message Authentication
2.6 Approved Algorithms

The table below lists the approved security functions (or cryptographic algorithms) of the module, including specific key lengths employed for approved services, and implemented modes or methods of operation of the algorithms. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 9
CAVP CertAlgorithm and StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
A4153HMAC-SHA2-256HMACKey: 112-2048 Increment 8; MAC: 128-256 Increment 64Message Authentication, KDF primitive, integrity test
A4153HMAC-SHA2-384HMACKey: 112-2048 Increment 8; MAC: 192-384 Increment 64Message Authentication, KDF primitive
A4153HMAC-SHA2-512HMACKey: 112-2048 Increment 8; MAC: 256-512 Increment 64Message Authentication, KDF primitive
A4153Hash DRBGHash DRBGSHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512Deterministic Random Bit Generation
A4153KAS-ECC-SSC Sp800-56Ar3KASephemeralUnified: P-256, P-384, P-521Key Agreement [Relies on calling application to feed shared secret into KDF
A4153KAS-FFC-SSC Sp800-56Ar3KASdhEphem: ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, MODP- 2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192Key Agreement [Relies on calling application to feed shared secret into KDF]
A4153KDF IKEv1CVL KDF IKEv1Hash Algorithm: SHA-1, SHA2- 256, SHA2-384, SHA2-512Key Derivation for IKEv1
A4153KDF IKEv2CVL KDF IKEv2Hash Algorithm: SHA-1, SHA2- 256, SHA2-384, SHA2-512Key Derivation for IKEv2
A4153KDF SP800-108KDF SP800-108KDF Mode: Counter; MAC Mode: CMAC-AES128, CMAC-AES256Key Derivation
A4153KDF SSHCVL KDF SSHHash Algorithm: SHA-1, SHA2- 224, SHA2-256, SHA2-384, SHA2-512Key Derivation for SSHv2
A4153KDF TLSCVL KDF TLSTLS Version: v1.0/1.1Key Derivation for TLS
A4153KTS-IFCKTSModulo: 2048, 3072, 4096; KTS- OAEP-basicKey Transport
A4153RSA KeyGen (FIPS186-4)RSA KeyGenKey Generation Mode: B.3.3; Modulo: 2048, 3072, 4096KeyGen
A4153RSA SigGen (FIPS186-4)RSA SigGenModulo 2048, 3072, 4096; ANSI X9.31 (SHA2-256, SHA2-384, SHA2-512), PKCS 1.5 (SHA2- 224, SHA2-256, SHA2-384, SHA2-512), PKCSPSS (SHA2- 224, SHA2-256, SHA2-384, SHA2-512)SigGen
A4153RSA SigVer (FIPS186-4)RSA SigVerModulo 1024, 2048, 3072, 4096; ANSI X9.31 (SHA-1 SHA2-256, SHA2-384, SHA2-512), PKCS 1.5 (SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512), PKCSPSS (SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2- 512)SigVer

Arista Networks Inc. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 10
CAVP CertAlgorithm and StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
A4153SHA-1SHSMessage Length: 0-65536 Increment 8Message Digest Generation
A4153SHA2-224SHSMessage Length: 0-65536 Increment 8Message Digest Generation
A4153SHA2-256SHSMessage Length: 0-65536 Increment 8Message Digest Generation
A4153SHA2-384SHSMessage Length: 0-65536 Increment 8Message Digest Generation
A4153SHA2-512SHSMessage Length: 0-65536 Increment 8Message Digest Generation
A4153TLS v1.2 KDF RFC7627TLS v1.2 KDF RFC7627Hash Algorithm: SHA2-256, SHA2-384, SHA2-512Key Derivation for TLS
AlgorithmCaveat
CKG [IG D.H]

Arista Networks Inc. Table 5 - Approved Algorithms Note: IG D.R states for modules submitted after May 16, 2023 it is non-approved to use of SHA2-224 or SHA2-384 within Hash DRBG or HMAC DRBG. Vendor Affirmed Approved Algorithms The table below lists the vendor affirmed algorithms that are allowed in the approved mode of operation. CKG [IG D.H] Cryptographic key generation per SP 800-133rev2 * Generation of asymmetric keys for signature generation per [133] section 5.1. * Generation of asymmetric keys for key establishment per [133] section 5.2. protocols from a key agreement shared secret per [133] section 6.2.1. * Symmetric key derivation from existing key per [133] section 6.2.2. Table 6

Page 11
AlgorithmCaveatUse or Functio n
MD5Allowed per IG 2.4.AMessage digest used in TLS 1.0/1.1 KDF only
NameTypeDescriptionSF Pro perties [O]Algorithms/CAV P Cert
KAS- ECCKASSP 800-56Arev3. KAS_ECC_SSC per IG D.F Scenario 2, path (2). No key confirmation, key derivation per IG 2.4.B. SP 800-135. KDFs (TLS 1.0/1.1, 1.2, SSHv2, IKE v1, IKE v2)P-256, P-384, P-521 curves providing 128, 192, or 256 bits of encryption strengthKAS-ECC-SSC Sp800-56Ar3/A4153 KDF IKEv1/A4153 KDF IKEv2/A4153 KDF SSH/A4153 KDF TLS/A4153 TLS v1.2 KDF RFC7627/A4153KAS-ECC-SSC Sp800-56Ar3/A4153 KDF IKEv1/A4153 KDF IKEv2/A4153 KDF SSH/A4153 KDF TLS/A4153 TLS v1.2 KDF RFC7627/A4153
KAS- FFCKASSP 800-56Arev3. KAS_FFC_SSC per IG D.F Scenario 2, path (2). No key confirmation, key derivation per IG 2.4.B. SP 800-135. KDFs (TLS 1.0/1.1, 1.2, SSHv2, IKE v1, IKE v2)2048, 3072, 4096, 6144, and 8192-bit moduli providing 112, 128, 152, 176, or 200 bits of encryption strengthKAS-FFC-SSC Sp800-56Ar3/A4153 KDF IKEv1/A4153 KDF IKEv2/A4153 KDF SSH/A4153 KDF TLS/A4153 TLS v1.2 KDF RFC7627/A4153KAS-FFC-SSC Sp800-56Ar3/A4153 KDF IKEv1/A4153 KDF IKEv2/A4153 KDF SSH/A4153 KDF TLS/A4153 TLS v1.2 KDF RFC7627/A4153
KTS-IFCKTSSP 800-56Brev2. KTS-IFC (key encapsulation and un-encapsulation) per IG D.G.2048, 3072, and 4096-bit moduli providing 112, 128, or 152 bits of encryption strengthKTS-IFC KTS-OAEP- basic/A4153KTS-IFC KTS-OAEP- basic/A4153
TLS- KTSKTSSP 800-38D and SP 800-38F. KTS (key wrapping and unwrapping) per IG D.G, Additional Comment 8.128 and 256-bit keys providing 128 or 256 bits of encryption strengthAES-GCM/A4153 AES-CCM/A4153 AES-CBC/A4153 HMAC/A4153AES-GCM/A4153 AES-CCM/A4153 AES-CBC/A4153 HMAC/A4153
SSHv2- KTSKTSSP 800-38D and SP 800-38F. KTS (key wrapping and unwrapping) per IG D.G, Additional Comment 8.128, 192, 256-bit keys providing 128, 192, or 256 bits of encryption strengthAES-GCM/A4153 AES-CBC/A4153 AES-CTR/A4153 HMAC/A4153AES-GCM/A4153 AES-CBC/A4153 AES-CTR/A4153 HMAC/A4153
IPsec- KTSKTSSP 800-38D and SP 800-38F. KTS (key wrapping and unwrapping) per IG D.G, Additional Comment 8.128, 192, 256-bit keys providing 128, 192, or 256 bits of encryption strengthAES-GCM/A4153 AES-CCM/A4153 AES-CBC/A4153 HMAC/A4153AES-GCM/A4153 AES-CCM/A4153 AES-CBC/A4153 HMAC/A4153

Arista Networks Inc. The table below lists the non-approved algorithms that are allowed in the approved mode of operation with no security claimed. These algorithms are used by the approved services listed in Table 15. Table 8

Page 12
Algorithm/FunctionUse/Function
DSA (disallowed)Digital Signature and Asymmetric Key Generation; PQG Gen, Key Pair Gen, Sig Gen
RSA (disallowed)Key Encryption, Decryption using PKCS#1 v1.5
Hash DRBG w/ SHA2-224 or SHA2- 384 (disallowed)Random Bit Generation
HMAC DRBG w/ SHA2-224 or SHA2- 384 (disallowed)Random Bit Generation
AES/Triple‐DES KW (non‐compliant)Key wrapping [algorithm disabled by module in approved mode]
BlowfishEncryption and Decryption [algorithm disabled by module in approved mode]
Camellia 128/192/256Encryption and Decryption [algorithm disabled by module in approved mode]
CAST5Encryption and Decryption [algorithm disabled by module in approved mode]
DESEncryption and Decryption [algorithm disabled by module in approved mode]
DES‐XEncryption and Decryption [algorithm disabled by module in approved mode]
IDEAEncryption and Decryption [algorithm disabled by module in approved mode]
RC2Encryption and Decryption [algorithm disabled by module in approved mode]
RC5Encryption and Decryption [algorithm disabled by module in approved mode]
SEEDEncryption and Decryption [algorithm disabled by module in approved mode]
Triple-DESEncryption and Decryption [algorithm disabled by module in approved mode]
MD4Message Digest [algorithm disabled by module in approved mode]
MD5Message Digest [algorithm disabled by module in approved mode]
RIPEMD‐160Message Digest [algorithm disabled by module in approved mode]
WhirlpoolMessage Digest [algorithm disabled by module in approved mode]
Triple‐DES MACMessage Digest [algorithm disabled by module in approved mode]
HMAC‐MD5Keyed Hash [algorithm disabled by module in approved mode]

Arista Networks Inc. The module does not implement or actively call any SP 800-90B entropy sources. (SP 800140B table 10: Entropy Certificates has been omitted) Non-Approved Algorithms Not Allowed In the approved Mode of Operation The table below lists non-approved algorithms that are not allowed in the approved mode of operation. Table 11 - Non-Approved Algorithms Not Allowed In the approved Mode of Operation

2.7 Algorithm Specific Information

AES-GCM IV Generation The module offers three AES GCM implementations. The GCM IV generation for these implementations complies respectively with IG C.H under Scenario 1 and Scenario 2. The GCM Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 13

Arista Networks Inc. shall only be used in the context of the AES-GCM encryption executing under each scenario, and using the referenced APIs explained next. Scenario 1, TLS 1.2 For TLS 1.2, the module offers the GCM implementation via the functions aes_gcm_tls_cipher, which calls CRYPTO_gcm128_encrypt_ctr32, and uses the context of Scenario 1 of IG C.H. The module is compliant with SP800-52rev2 and the mechanism for IV generation is compliant with RFC5288. The module supports acceptable AESGCM ciphersuites from Section 3.3.1 of SP800-52rev2. The module explicitly ensures that the counter (the nonce_explicit part of the IV) does not exhaust the maximum number of possible values of 264-1 for a given session key. If this exhaustion condition is observed, the module returns an error indication to the calling application, which will then need to either abort the connection, or trigger a handshake to establish a new encryption 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. Scenario 1, SSHv2 For SSH, the module offers the GCM implementation via the functions CRYPTO_gcm128_encrypt_ctr32, and uses the context of Scenario 1 of IG C.H. The module is compliant with RFCs 4252, 4253, and 5647. 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. Scenario 1, IPsec-v3 For IPsec, the module offers the GCM implementation via the functions CRYPTO_gcm128_encrypt_ctr32, and uses the context of Scenario 1 of IG C.H. The module is compliant with RFCs 4106 and 5282. The module uses RFC 7296 compliant IKEv2 to establish the shared secret SKEYSEED from which the AES-GCM encryption keys are derived. The module’s implementation of AES-GCM is used together with an application that runs outside the module’s cryptographic boundary. This application negotiates the protocol session’s keys and the value in the first 32 bits of the nonce. The construction of the last

64 bits of the nonce is deterministic and uses a counter.

The module explicitly ensures that the counter (the nonce_explicit part of the IV) does not exhaust the maximum number of possible values of 264-1 for a given session key. If this exhaustion condition is observed, the module returns an error indication to the calling application, which will then need to either abort the connection, or trigger a handshake to establish a new encryption 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. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 14

Arista Networks Inc. Scenario 2, Random IV In this implementation, the module offers the interfaces RAND_bytes for compliance with Scenario 2 of IG C.H and SP800-38D Section 8.2.2. The AES-GCM IV is generated randomly internal to the module using the module's approved DRBG. The DRBG seeds itself from the entropy source. The GCM IV is 96 bits in length. Per Section 9, this 96-bit IV contains 96 bits of entropy. XTS-AES Key Generation The module checks for Key_1 ≠ Key_2 before using the keys in the XTS-AES algorithm in compliance with IG C.I.

2.8 RBG and Entropy

The module provides an SP800-90Arev1-compliant Deterministic Random Bit Generator (DRBG) using CTR_DRBG mechanism with AES-256 for creation of key components of asymmetric keys, and random number generation. Operators may instantiate and use the other Approved DRBGs offered by the module. The module receives entropy passively and uses 384 bits of entropy to seed the DRBG.

2.9 Key Generation

For generating RSA, ECDSA and EC Diffie-Hellman keys, the module implements asymmetric key generation services compliant with FIPS186-4 and using a DRBG compliant with SP80090Arev1. The random value used in asymmetric key generation is obtained from the DRBG. In accordance with FIPS 140-3 IG D.H, the cryptographic module performs Cryptographic Key Generation (CKG) for asymmetric keys as per section 5.1 of SP800-133rev2 (vendor affirmed) by obtaining a random bit string directly from an approved DRBG and that can support the required security strength requested by the caller (without any V, as described in Additional Comments 2 of IG D.H). The module does not provide a dedicated service for generating symmetric keys. However, symmetric keys can be derived using SP800-135rev1 for TLS KDF, IKE v1/2 KDF, and SSHv2 KDF algorithms, as well as SP800-108 counter KBKDF. This generation method maps to section

6.2 of SP800-133rev2.
2.10 Key Establishment

The module provides EC Diffie-Hellman and FFC Diffie-Hellman shared secret computation compliant with SP800-56Arev3, in accordance with scenario 2 (1) of IG D.F. It also provides RSA OAEP key transport as KTS-IFC compliant with SP 800-56Br2 in accordance with IG D.G. and applications may transport keys as TLS, SSHv2, or IPsec protocol payload compliant to SP 800-38F in accordance with IG D.G. Additionally, the module also supports key derivation using TLS 1.0/1.1, TLS 1.2, IKE v1, IKE v2, SSHv2 KDF compliant to SP800-135rev1 and counter KBKDF compliant to SP800-108. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 15
ProtocolReference
SSHv2[IG D.F and SP 800‐135]
TLS v1.0/v1.1/v1.2[IG D.F, IG D.G and SP 800‐135]
IPsec-v3[RFC 4106, 5282, 7296]
Protocol DTLS [IG D.G] SSHv2 [IG D.F and SP 800‐135] TLS [IG D.G and SP 800‐135]ProtocolKey Exchange See TLS entry in this table. ECDH‐SHA2‐NIST P521, ECDH‐SHA2‐NIST P384, ECDH‐SHA2‐NIST P256, DIFFIE‐HELLMAN GROUP14‐SHA1, DIFFIE‐HELLMAN GROUP14‐SHA256, DIFFIE‐HELLMAN GROUP16‐SHA512 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 for TLS v1.0, v1.1, v1.2Key ExchangeServer/ Host Auth ECDSA P‐521, ECDSA P‐384, ECDSA P‐256, RSA RSAServer/ Host AuthCipher AES-GCM-128 AES-GCM-256 AES-CBC-128 AES-CBC-192 AES-CBC-256 AES-CTR-128 AES-CTR-192 AES-CTR-256 AES‐GCM-128CipherIntegrity HMAC SHA-1 HMAC SHA2‐256 HMAC SHA2‐512 AES-GCM-128 AES-GCM-256 AES‐GCM-128
ECDHE TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 for TLS v1.0, v1.1, v1.2RSAAES-GCM-256AES-GCM-256
ECDHEECDSAAES‐GCM‐128AES‐GCM‐128
2.11 Industry Protocols

The module does not implement any industry protocols. However it provides the building blocks to support the following protocols. Note: no parts of the TLS v1.0/1.1, v1.2, SSHv2, or IPsec-v3 protocols, other than the approved cryptographic algorithms and the KDFs, have been tested by the CAVP and CMVP. Table C- Security Relevant Protocols Used in Approved Mode Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 16

Protocol

Protocol

Key Exchange TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_ECDSA_WITH_AES_256_CCM for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_ECDSA_WITH_AES_128_CCM for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA256 for TLS v1.0, v1.1, v1.2 ECDHE

Key Exchange

Server/ Host Auth ECDSA ECDSA ECDSA ECDSA ECDSA ECDSA ECDSA ECDSA ECDSA RSA RSA

Server/ Host Auth

Cipher AES‐GCM‐256 AES-CCM-256 AES-CCM-256 AES-CCM-128 AES-CCM-128 AES-CBC-256 AES-CBC-128 AES-CBC-256 AES-CBC-128 AES-CBC-128 AES-CBC-256

Cipher

Integrity AES‐GCM‐256 AES-CCM-256 AES-CCM-256 AES-CCM-128 AES-CCM-128 HMAC SHA2-384 HMAC SHA2-256 HMAC SHA-1 HMAC SHA-1 HMAC SHA2-256 HMAC SHA2-256

Integrity

Arista Networks Inc. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 17

Protocol IPsec-v3

Protocol

Key Exchange TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA for TLS v1.0, v1.1, v1.2 ECDHE TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA for TLS v1.0, v1.1, v1.2 ECDHE TLS_DHE_RSA_WITH_AES_256_CCM_8 for TLS v1.0, v1.1, v1.2 DHE TLS_DHE_RSA_WITH_AES_256_CCM for TLS v1.0, v1.1, v1.2 DHE TLS_DHE_RSA_WITH_AES_128_CCM_8 for TLS v1.0, v1.1, v1.2 DHE TLS_DHE_RSA_WITH_AES_128_CCM for TLS v1.0, v1.1, v1.2 DHE TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for TLS v1.0, v1.1, v1.2 DHE TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 for TLS v1.0, v1.1, v1.2 DHE TLS_DHE_RSA_WITH_AES_256_CBC_SHA for TLS v1.0, v1.1, v1.2 DHE TLS_DHE_RSA_WITH_AES_128_CBC_SHA for TLS v1.0, v1.1, v1.2 DHE diffie-hellman MODP-2048, MODP-3072, MODP-4096,

Key Exchange

Server/ Host Auth RSA RSA RSA RSA RSA RSA RSA RSA RSA RSA

Server/ Host Auth

Cipher AES-CBC-256 AES-CBC-128 AES-CCM-256 AES-CCM-256 AES-CCM-128 AES-CCM-128 AES-CBC-256 AES-CBC-128 AES-CBC-256 AES-CBC-128 AES-GCM-128 AES-GCM-192 AES-GCM-256 AES-CBC-128

Cipher

Integrity HMAC SHA-1 HMAC SHA-1 AES-CCM-256 AES-CCM-256 AES-CCM-128 AES-CCM-128 HMAC SHA2-256 HMAC SHA2-256 HMAC SHA-1 HMAC SHA-1 AES-GCM-128 AES-GCM-192 AES-GCM-256 HMAC-SHA2-256

Integrity

Arista Networks Inc. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 18

Protocol

Protocol

Key Exchange MODP-6144, MODP-8192 ec diffie-hellman secp256r1, secp384r1, secp521r1

Key Exchange

Server/ Host Auth

Server/ Host Auth

Cipher AES-CBC-192 AES-CBC-256 AES-CTR-128 AES-CTR-192 AES-CTR-256 AES-CCM-128 AES-CCM-192 AES-CCM-256

Cipher

Integrity HMAC-SHA2-384 HMAC-SHA2-512 AES-CCM-128 AES-CCM-192 AES-CCM-256

Physical PortLogical InterfaceData that passes over the interface
N/AData InputAPI input parameters for data
N/AData OutputAPI output parameters for data
N/AControl InputAPI function calls

Arista Networks Inc. Table D - Security Relevant Protocols Used in Approved Mode

2.12 Design and Rules

The module initializes upon power-on. After the pre-operational self-tests (POST) are successfully concluded, the module automatically transitions to the operational state. In this state, the module awaits service requests from the operator. The operator must then manually set the module to approved mode, via the interface described in Section “2.5 Modes of Operation”.

2.13 Initialization

Upon initializing the module by installing the module and setting the password, the operator must then manually set the module to approved mode, via the interface described in Section “2.5 Modes of Operation”.

3.0 - Cryptographic Module Interfaces

3.1 Ports and Interfaces

As a Software module, the module interfaces are defined as Software or Firmware Module Interfaces (SFMI), and there are no physical ports. The interfaces are mapped to the API provided by the module, through which the operator can interact. The interfaces are listed in the table below. All data output via data output interface is inhibited under the following circumstances:

Page 19

N/A

Status Output

API return codes, error messages, logging messages

Role CO CO CO CO

Role

Service Authenticated Decryption Authenticated Encryption Decryption Encryption

Service

Input Ciphertext, authentication tag, key, IV Plaintext, key, IV Ciphertext, key Plaintext, key

Input

Output Plaintext Ciphertext, authentication tag Plaintext Ciphertext

Output

Arista Networks Inc. Table 12 – Ports and Interfaces The module does not support Control Output.

4.0 - Roles, Services and Authentication

4.1 Authentication Methods

The module supports Role-based authentication using passwords as the SP 800-140E memorized secret. The module has a strength of authentication objective of at least 1/95^8, and to achieve that over a one minute period the module enforces a minimum password length of 16 characters. The password can be set by the calling application through the “FIPS_set_password” API. The module has procedural controls and enforces that an operator must set a password prior to use of the module. The module is installed according to section 11.1 and the module authentication mechanism is included within the module software and so automatically included during that installation process. Since the module enforces a minimum 16 character password length and there are 95 possible ASCII characters (upper and lower case, digits, special characters), it has an authentication strength of 95^16. Thus the false acceptance rate is 1/95^16. Assuming a very high-performing CPU that runs at 4 GHz with 24 cores which means it can perform 4 billion * 24 instructions per second, the probability of a successful random access within a minute is still extremely unlikely at 1/95^16 * 4 billion * 24 cores * 60 seconds/min. It would take about 150 billion years to have a 1% chance of cracking the password in this scenario: 1/95^16 * 4 billion * 24 cores * 60 sec / min * 60 min / hr * 24 hr / day * 365 days / year *

150 billion = 0.0103
4.2 Roles

The module supports the Crypto Officer role only, whose authentication is performed by the module using passwords. This sole role is implicitly assumed by the operator of the module when performing a service after authentication. Table 13 provides a mapping of services to the roles that can utilize them, in this case the sole role of the module, and the service inputs and outputs. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 20

Role CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO CO

Role

Service Key Derivation (TLS) Key Derivation (SSH) Key Derivation (IKE) Key Derivation (SP 800-108r1) Key Encapsulation Key Generation Key Un-encapsulation Key Verification Initialize Message Authentication Generation Message Digest On-Demand Integrity Test On-Demand self-test Random number generation Shared secret computation Show Status Show Version Signature Generation Signature Verification Zeroise

Service

Input PRF algorithm, TLS master secret PRF algorithm, SSH shared secret PRF algorithm, IKE shared secret Shared secret, key size RSA keypair, keying material to encapsulate Algorithm, key size RSA keypair, keying material to un- encapsulate Key to verify Crypto Officer Password Message, Algorithm, key Message None None Size EC Curve or DH parameters, V's public key None None Message, hash algorithm, private key Message, Signature, hash algorithm, public key Context containing SSPs

Input

Output Derived Keys Derived Keys Derived Keys Derived Keys Encapsulated key Key Pair Un-encapsulated key Return codes and log messages None Message Authentication code Digest of the message Result of test (pass/fail) Result of self-test (pass/fail) Random bytes Shared secret Return code of 1 indicates approved mode enabled, 0 is disabled String indicating the module version and name Signature Verification result None

Output

Arista Networks Inc. Table 13

Page 21

Role CO (Crypto Officer)

Role

Authentication Method Password

Authentication Method

Authentication Strength 95^16 (module enforces 16 character minimum password length); chance of guessing in one minute 1 in 9.03*10^18

Authentication Strength

ServiceDescriptionApproved Security FunctionsKeys/SSPsRolesAccess rights to Keys/SSPsIndicator
Authenticated DecryptionAuthenticated DecryptionAES-GCM, AES-CCMAES keyCOW, EReturn code 1, log message indicating approval
Authenticated EncryptionAuthenticated EncryptionAES-GCM, AES-CCMAES keyCOW, EReturn code 1, log message indicating approval
DecryptionDecryptionAES CBC, CTR, ECB, CFB1, CFB128, CFB8, XTSAES keyCOW, EReturn code 1, log message indicating approval
EncryptionEncryptionAES CBC, CTR, ECB, CFB1, CFB128, CFB8, XTSAES keyCOW, EReturn code 1, log message indicating approval
Key Derivation (TLS)Deriving TLS keysKDF TLS 1.0/1/1/1.2TLS pre_master_secret; TLS master secret; TLS derived keysCOTLS pre_master_secret - W, E; TLS master secret - G, E; TLS derived keys G, RReturn code 1, log message indicating approval
KeyDeriving SSHKDF SSH v2SSH shared secret;COSSH sharedReturn code 1, log

Arista Networks Inc. Table 14 lists all operator roles supported by the module (for the role, CO indicates “Crypto Officer”) and the security strength of the authentication. The Module does not support a maintenance role nor bypass capability. The Module does not support concurrent operators. Table 14 – Roles and Authentication

4.3 Approved Services

The module provides services to operators who assume the available role. All services are described in detail in the developer documentation. For the role, CO indicates “Crypto Officer”. The following table lists the approved services that utilize approved and allowed security Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 22
Service Derivation (SSH)Description keysApproved Security FunctionsKeys/SSPs SSH derived keysRolesAccess rights to Keys/SSPs secret - W, E; SSH derived key - G, RIndicator message indicating approval
Key Derivation (IKE)Deriving IKE keysKDF IKE v1, v2IKE shared secret; IKE derived keyCOIKE shared secret - W, E; IKE derived key - G, RReturn code 1, log message indicating approval
Key Derivation (SP 800- 108r1)Deriving keysKDF SP800-108Shared secret; 800- 108 derived keyCOShared secret - W, E; 800-108 derived key - G, RReturn code 1, log message indicating approval
Key EncapsulationKey Encapsulation per SP 800- 56Br2KTS-IFCRSA key pair, keying materialCORSA key pair - W, E; keying material - W, RReturn code 1, log message indicating approval
Key GenerationGenerating Key pairECDSA, RSA, DRBGECDSA key pair; RSA key pairCOECDSA key pair; RSA key pair - G, R; DRBG Seed, V, C, Key - W, EReturn code 1, log message indicating approval
Key Un- encapsulationKey Un- encapsulation per SP 800- 56Br2KTS-IFCRSA key pair, keying materialCORSA key pair - W, E; keying material - W, RReturn code 1, log message indicating approval
Key VerificationVerifying the public keyECDSAECDSA public keyCOW, EReturn code 1, log message indicating approval
InitializeInitialize FIPS password using FIPS_set_pass wordHMAC SHA-1Crypto Officer Password, Hashed PasswordCOCrypto Officer Password - W, E; Hashed Password - EReturn code 1
Message Authentication GenerationMAC computationAES CMAC, HMACAES key; HMAC keyCOW, EReturn code 1, log message indicating approval
Message DigestGenerating message digestSHSN/ACON/AReturn code 1, log message indicating approval
On-Demand Integrity TestInitiate integrity test on-demand through FIPS_check_inc ore_fingerprintHMAC SHA2- 256N/A (keys for self- tests are not SSPs)CON/AReturn code 1
On-Demand self-testInitiate pre- operational andAES, CMAC, DRBG, ECDSA,N/A (keys for self- tests are not SSPs)CON/AReturn code 1

Arista Networks Inc. G, R Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 23
ServiceDescriptionApproved Security FunctionsKeys/SSPsRolesAccess rights to Keys/SSPsIndicator
conditional CAST self-tests through FIPS_selftestHMAC, KAS- ECC-SSC, KAS-FFC-SSC, KDF, KTS, IKE KDF, RSA, SHS, TLS KDF, SSH KDF
Random number generationGenerating random numbersDRBGDRBG Entropy Input; DRBG Seed, V, C, KeyCODRBG Entropy Input - W, E; DRBG Seed, V, C, Key - G, EReturn code 1, log message indicating approval
Shared secret computationCalculating Shared secretKAS-ECC-SSC, KAS-FFC-SSC, DRBGDH key pair; ECDH key pair; DRBG Seed, V Key; Shared secretCODH key pair - G, E, Z; ECDH key pair G, E, Z; DRBG Seed, V, C, Key - W, E; Shared secret - G, RReturn code 1, log message indicating approval
Show StatusShow status of the module state using FIPS_modeN/AN/ACON/AN/A
Show VersionShow the version of the module using FIPS_module_v ersion_textN/AN/ACON/AN/A
Signature GenerationGenerating signatureECDSA, RSA, SHSECDSA key pair; RSA key pairCOW, EReturn code 1, log message indicating approval
Signature VerificationVerifying signatureECDSA, RSA, SHSECDSA key pair; RSA key pairCOW, EReturn code 1, log message indicating approval
ZeroiseZeroise SSP in volatile memoryN/AContext containing SSPsCOSSPs – ZN/A

Arista Networks Inc. R Table 15

Page 24
NameDescriptionAlgorithms AccessedRoleIndicator
DecryptionDecryptionBlowfish, Camillia, CAST5, DES, DES-X, IDEA, RC2, RC5, SEED, Triple-DES listed in Table 11COReturn code 0, absence of approved log message
EncryptionEncryptionBlowfish, Camillia, CAST5, DES, DES-X, IDEA, RC2, RC5, SEED, Triple-DES listed in Table 11COReturn code 0, absence of approved log message
Key WrappingEncrypting/Decry pting keyAES/Triple-DES KW, RSA PKCS #1 v1.5 listed in Table 11COReturn code 0, absence of approved log message
Message DigestHash computationMD4, MD5 outside TLS 1.0 usage, RIPEMD- 160, Whirlpool, Triple-DES MAC, HMAC- MD5 listed in Table 11COReturn code 0, absence of approved log message

Arista Networks Inc. In addition to the return code, the module outputs syslog messages to indicate whether an invoked service is approved. The usage is as follows: STEP 1: Check the system log output buffer for existing log messages STEP 2: Make a service call i.e., API function for performing a service STEP 3: Check the system log output buffer for a new log message indicating which service was invoked. For example, running the TLS key derivation service will generate a new log message saying “OpenSSL: Key derivation service for TLS performed”. If there is no log message, that is an indication that the invoked function was not an approved service.

4.4 Non-Approved Services

The following table lists the non-approved services that utilize non-approved security functions. Table E - Non-approved services Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 25
NameDescriptionPersistence Type
RAMSystem MemoryDynamic

4.5 External Software/Firmware Loaded – N/A

5.0 - Software/Firmware security

5.1 Integrity Techniques

The integrity of the module is validated by comparing the module with a HMAC-SHA2-256 value generated after the build of fipscanister.o, which is the FIPS Object Module. This generated value is embedded into fipscanister.o before fipscanister.o is statically linked to libcrypto.so. During runtime the FIPS_mode_set() function calculates the digest over fipscanister.o, excluding the embedded hash value, and checks to see if the embedded value matches the calculated digest.

5.2 Initiate on Demand

The module provides on-demand integrity test. The integrity test is performed by the OnDemand Integrity Test service, which calls the FIPS_check_incore_fingerprint function. The integrity test is also performed as part of the Pre-Operational Self-Tests. One can also initiate the On Demand Integrity Test service by calling “openssl --fips” on the command line, which is a calling application that runs the module’s self-test API function. A successful test will show “FIPS mode is enabled”.

6.0 Operational environment
6.1 Operational Environment Type and Requirements

Type of Operating Environment: Modifiable

6.2 Configuration Settings and Restrictions

The module should be installed as stated in section 11.

7.0 - Physical security – N/A

8.0 - Non-invasive security – N/A

9.0 Sensitive Security Parameters Management
9.1 Storage Areas

Table F – Storage Areas SSPs are provided to the module by the calling process and are destroyed when released by the appropriate zeroisation function calls. The module does not perform persistent storage of SSPs.

9.2 SSP Input-Output Methods

The module does not support manual SSP entry or intermediate key generation output. The module does not support entry and output of SSPs beyond the physical perimeter of the operational environment. Except for services designed to wrap or unwrap an SSP the SSPs are Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 26
Key/SSP/Name/ TypeStrengthSecurity Function Cert NumberGenerationImport/ExportEstablishmentStorageZeroisationUse & related keys
800-108 derived key128, 192, 256A3592SP 800-108 KDFN/A / PlaintextN/AEphemeral in RAMOPENSSL_cleanseDerived for output to calling application. Used with Shared Secret
AES Key128, 192, 256A3592External or KDFPlaintext / PlaintextKAS-ECC or KAS-FFCEphemeral in RAMOPENSSL_cleanseAuthenticated Encryption, Authenticated Decryption, Encryption, Decryption, Message Authentication Generation. Used with Shared Secret
Crypto Officer PasswordN/AN/AN/APlaintext / N/AN/AEphemeral in RAMAutomatic at end of service callCrypto Officer authentication. Used with Hashed Password
Hashed PasswordN/AA3592HMAC SHA-1 of Crypto Officer PasswordN/AN/AEphemeral in RAMRestart moduleCrypto Officer authentication. Used with Crypto Officer Password
DH key pair112 – 200A3592Internal per SP 800- 56Arev3N/A / Public key in plaintextN/AEphemeral in RAMDH_freeKey agreement. Used with: DRBG Seed, V, C, and Key, Shared Secret
DRBG Entropy Input384A3592ExternalPlaintext / N/AN/AEphemeral in RAMFIPS_DRBG_freeRandom number generation. Used with DRBG Seed, V, C, and Key
DRBG Seed256A3592From DRBG entropy input; within SP 800- 90A Hash_DRBG, HMAC_DRBG, and CTR_DRBG DRBGsN/A / N/AN/AEphemeral in RAMFIPS_DRBG_freeRandom number generation. Used with DRBG Entropy Input and generated keys
DRBG V256A3592From DRBG entropy input; within SP 800- 90A Hash_DRBG, HMAC_DRBG, and CTR_DRBG DRBGsN/A / N/AN/AEphemeral in RAMFIPS_DRBG_freeRandom number generation. Used with DRBG Entropy Input and generated keys
DRBG C256A3592From DRBG entropy input; within SP 800- 90A Hash_DRBGN/A / N/AN/AEphemeral in RAMFIPS_DRBG_freeRandom number generation. Used with DRBG Entropy Input and generated keys
DRBG Key256A3592From DRBG entropy input; within SP 800- 90A HMAC_DRB, and CTR_DRBG DRBGsN/A / N/AN/AEphemeral in RAMFIPS_DRBG_freeRandom number generation. Used with DRBG Entropy Input and generated keys

Arista Networks Inc. provided to the module via API input parameters in the plaintext form and output via API output parameters in the plaintext form to and from the calling application running on the same operational environment. SSPs provided for unwrapping are input encrypted using KTS-IFC’s RSA-OAEP_basic, and SSPs the module wrapped are output encrypted using KTS-IFC’s RSAOAEP_basic. The output of plaintext CSPs requires two independent internal actions. Specifically, the first action is creation of the cipher context to request the service and to hold the CSPs to be output from the module. The second action is to process the ‘Key Generation’ service request using the context created. Only after successful completion of this request, the generated CSP is output via the API output parameter. The zeroisation is performed by the module overwriting zeroes or predefined values to the memory location occupied by the SSP and further deallocating that area. The calling application, interacting with the module, is responsible for calling the appropriate destruction functions using the zeroisation APIs listed in the above table to zeroise the calling application’s copies of the SSP. The completion of a zeroisation routine will indicate that a zeroisation procedure succeeded.

9.4 SSPs

Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 27
Key/SSP/Name/ TypeStrengthSecurity Function Cert NumberGenerationImport/ExportEstablishmentStorageZeroisationUse & related keys
ECDH key pair128-256A3592Internal per SP 800- 56Arev3N/A / Public key in plaintextN/AEphemeral in RAMEC_GROUP_free, EC_POINT_free, EC_KEY_freeKey agreement. Used with: DRBG Seed, V, C, and Key, Shared Secret
ECDSA key pair128, 192, 256A3592External or per FIPS 186-4Plaintext / PlaintextN/AEphemeral in RAMEC_GROUP_free, EC_POINT_free, EC_KEY_freeSignature generation and verification. Used with DRBG Seed, V, C, and Key
HMAC key112 or greaterA3592External or KDFPlaintext / PlaintextKAS-ECC or KAS-FFCEphemeral in RAMHMAC_CTX_cleanupMessage Authentication. Used with Shared secret
IKE shared secret112 -256A3592N/APlaintext / PlaintextKAS-ECC-SSC or KAS-FFC- SSCEphemeral in RAMOpenSSL_cleanseKE key agreement. Used with IKE derived key, DH key pair, ECDH key pair
IKE Derived key/AES & HMAC112 or greaterA3592KDF IKEN/A / PlaintextN/AEphemeral in RAMOpenSSL_cleanseIKE key agreement Used with IKE shared secret
Keying material112 or greaterA3592ExternalPlaintext or Encrypted / Encrypted or PlaintextKTS-IFCEphemeral in RAMOpenSSL_cleanseKTS-IFC keying material to be encapsulated or un-encapsulated by RSA-OAEP_basic. Used with RSA key pair
RSA key pair112, 128, 152A3592External or per FIPS 186-4Plaintext / PlaintextN/AEphemeral in RAMRSA_freeSignature generation and verification or KTS-IFC. Used with DRBG Seed, V, C, and Key; and keying material to encapsulate/un-encapsulate
Shared secret112 or greaterA3592N/APlaintext / PlaintextKAS-ECC-SSC or KAS-FFC- SSCEphemeral in RAMOpenSSL_cleanseFor key agreement. Used with DH key pair, ECDH key pair
SSH shared secret112 or greaterA3592N/APlaintext / PlaintextKAS-ECC-SSC or KAS-FFC- SSCEphemeral in RAMOpenSSL_cleanseSSH key agreement. Used with SSH Derived key, DH key pair, ECDH key pair
SSH Derived key/AES & HMAC112 or greaterA3592KDF SSHN/A / PlaintextN/AEphemeral in RAMOpenSSL_cleanseSSH key agreement Used with SSH shared secret
TLS Derived key/AES & HMAC112 or greaterA3592KDF TLS 1.0/1.1, 1.2 RFC7627N/A / PlaintextN/AEphemeral in RAMOpenSSL_cleanseTLS key agreement Used with TLD master secret, TLS pre- master secret
TLS master secret112-256A3592From TLS pre-master secretPlaintext / PlaintextKAS-ECC-SSC or KAS-FFC- SSCEphemeral in RAMOpenSSL_cleanseTLS key agreement Used with TLS pre-master secret, TLS Derived key
TLS pre-master secret112 - 256A3592N/APlaintext / PlaintextKAS-ECC-SSC or KAS-FFC- SSCEphemeral in RAMOpenSSL_cleanseTLS key agreement Used with TLS master secret, TLS Derived key

Arista Networks Inc. Table 20 – SSPs Intermediate key generation values are never output from the module, but are treated like CSPs and are automatically zeroised once no longer needed. 10. Self‐tests

10.1 Pre-Operational Self-Tests

The module performs pre-operational tests automatically when the module is powered on. The pre-operational self-tests ensure that the module is not corrupted and that the cryptographic algorithms work as expected. The module transitions to the operational state only after the preoperational self-tests (and the cryptographic algorithm self-tests, which in this module are executed automatically after the pre-operational self-tests) are passed successfully. The types of pre-operational self-tests are described in the next sub-section. Pre-Operational Software Integrity Test Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 28
Algorithm TestedImplement ationTest PropertiesTest MethodTypeIndicatorTest Details
HMAC- SHA2-256128-bit hardcoded keyCompare Hash ResultsSW IntegrityStdout, log messageSingle encompassing message authentication code
Algorithm TestedImplement ationTest PropertiesTest MethodTypeIndicatorTest DetailsConditions
AESAES-ECB128KATCASTStdout, log messageEncrypt/ DecryptPower-up
AESAES-GCM256KATCASTStdout, log messageEncrypt/ DecryptPower-up
AESAES-CCM192KATCASTStdout, log messageEncrypt/ DecryptPower-up
AESAES-XTS128, 256KATCASTStdout, log messageEncrypt/ DecryptPower-up
CMACCMAC-AES128, 192, 256KATCASTStdout, log messageGenerate/ VerifyPower-up
DRBGCounter DRBGChained instantiate, reseed, generateKATCASTStdout, log messageSP 800-90A section 11.3 health testsPower-up

Arista Networks Inc. The HMAC-SHA2-256 Conditional CAST is performed before checking the module integrity. Then the integrity of the software component of the module is verified according to Section 5, using HMAC-SHA2-256. If the comparison verification fails, the module transitions to the error state (Section 10.4). Pre-Operational Bypass and Critical Functions Tests The module does not implement pre-operational bypass or critical functions tests. We note that the entropy source is not within the cryptographic boundary of the module, instead passively receiving entropy from the external entropy source. Thus, its critical functions tests are not included in the module. Table G – Pre-Operational Test Methods

10.2 Conditional Self-Tests

Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 29
Algorithm TestedImplement ationTest PropertiesTest MethodTypeIndicatorTest DetailsConditions
DRBGHash DRBGChained instantiate, reseed, generateKATCASTStdout, log messageSP 800-90A section 11.3 health testsPower-up
DRBGHMAC DRBGChained instantiate, reseed, generateKATCASTStdout, log messageSP 800-90A section 11.3 health testsPower-up
ECDSAP-224, P- 384KATCASTStdout, log messageSign/ VerifyPower-up
HMACHMAC SHA2-224KATCASTStdout, log messageGeneratePower-up
HMACHMAC SHA2-256KATCASTStdout, log messageGeneratePower-up
HMACHMAC SHA2-512KATCASTStdout, log messageGeneratePower-up
IKE KDFKATCASTStdout, log messageDerivePower-up
KAS-ECC- SSCP-224, P256KATCASTStdout, log messageShared secret “z” computationPower-up
KAS-FFC- SSC2048KATCASTStdout, log messageShared secret “z” computationPower-up
KBKDFCounter modeKATCASTStdout, log messageDerivePower-up
RSA2048; PKCS 1.5 & PSS; SHA2-224, SHA2-256, SHA2-384, SHA2-512KATCASTStdout, log messageSign/ VerifyPower-up
RSAKTS-IFC2048KATCASTStdout, logEncrypt/ DecryptPower-up

Arista Networks Inc. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 30
Algorithm TestedImplement ationTest PropertiesTest MethodTypeIndicator messageIndicatorTest DetailsConditions
SHSSHA-1KATCASTStdout, log messageGeneratePower-up
SHSSHA2-224KATCASTStdout, log messageGeneratePower-up
SHSSHA2-256KATCASTStdout, log messageGeneratePower-up
SHSSHA2-384KATCASTStdout, log messageGeneratePower-up
SHSSHA2-512KATCASTStdout, log messageGeneratePower-up
SSH KDFKATCASTStdout, log messageDerivePower-up
TLS KDFKATCASTStdout, log messageDerivePower-up
ECDSAPCTCPCTN/ASign/ VerifyGenerate Key Pair
KAS-ECC- SSCPCTCPCTN/ASP 800- 56Arev3 assurance checksGenerate Key Pair
KAS-FFC- SSCPCTCPCTN/ASP 800- 56Arev3 assurance checksGenerate Key Pair
RSAPCTCPCTN/ASign/ VerifyGenerate Key Pair

Arista Networks Inc. Table H

Page 31
NameDescriptionConditionsRecovery MethodIndicator
Conditional ErrorConditional test failureThe module generates a new key and tests the key via a PCT. If the test fails, an error is returned.Error message is placed into the error queue and an error is returned from the API.
PreOp ErrorPre-operational test failureThe module is aborted – restart moduleError message is output on stderr.

Arista Networks Inc. The module performs self-tests on FIPS-Approved cryptographic algorithms supported in the approved mode of operation, using the tests shown in (and indicated as CASTs) and using the provision of IG 10.3.A and IG 10.3.B for optimization of the number of self-tests. Data output through the data output interface is inhibited during the self-tests. The cryptographic algorithm self-tests are performed in the form of Known Answer Tests (KATs), in which the calculated output is compared with the expected known answer (that are hard-coded in the module). A failed match causes a failure of the self-test. If any of these self-tests fails, the module transitions to error state and is aborted. Conditional Pairwise Consistency Tests The module implements RSA and ECDSA key generation service and performs the respective pairwise consistency test using sign and verify functions when the keys are generated (Table H). In addition, SP 800-56a Rev3 conditional tests are run when ephemeral keypairs are created for key agreement.

10.3 Periodic Self-Tests

On demand self-tests can be invoked by powering-off and reloading the module. This service performs the same pre-operational test that includes integrity test and cryptographic algorithm tests executed during power-up. The integrity test can also be performed on demand by calling the FIPS_check_incore_fingerprint function. During the execution of the on-demand self-tests, cryptographic services are not available, and no data output or input is possible.

10.4 Error States

Table I - Error States If the module fails any of the self-tests, the module enters the error state. In the error state, the module outputs the error through the status output interface and the abort function is called that raises the SIGABRT signal, causing the program termination such that the module is no longer operational. In the error state, as the module is no longer operational the data output interface is inhibited. In order to recover from the Error state, the module needs to be rebooted. 11. Life-cycle Assurance

11.1 Startup Procedures

The cryptographic module is the fipscanister.o file, though Arista does not distribute this file on its own. Instead it is embedded into the shared library libcrypto.so which is part of OpenSSL, Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 32

Abbreviation

Abbreviation

Full Specification Name

Full Specification Name

Arista Networks Inc. which in turn is distributed as part of the Cloudvision Portal product through the Arista software downloads website. While there is no need for the library to be built by the user at any point in time, the fipscanister.o file can be verified as the correct one by comparing the SHA256 hash sum. The SHA256 hash should be 8b92b97d92571963b66649d0bb3ca62fba77100a316757e9487ad2091eddcc18. In the Arista build process for building OpenSSL, this fipscanister.o file is linked into OpenSSL’s libcrypto.so shared library file and OpenSSL is configured to use it. When downloading the Cloudvision Portal image, the SHA-256 hash of the image is also made available. When an authorized operator downloads the Cloudvision Portal image, they can also download the hash file and compare the SHA-256 hash of the Cloudvision Portal image to the one listed in the file to make sure that the downloaded image is correct. Then they can install the Cloudvision Portal image onto the virtual machine. Upon completion of installation, the user can confirm that the correct module has been installed by running the “show version” service which will display the module base name and version number “Arista Crypto Module v3.0“. Finally ensure correct operation of the module by running the on-demand self-test service as specified in Section 5 by calling “openssl --fips” from bash.

11.2 Administrator Guidance
11.3 Non-Administrator Guidance

11.4 Maintenance Requirements – N/A

11.5 End of Life

To cease using the module, power off the module. The module does not possess persistent storage of SSPs. The SSP value only exists in volatile memory and that value vanishes when the module is powered off. So as a first step for the secure sanitization, the module needs to be powered off. Then for actual deprecation, the module will be upgraded to a newer version that is approved. This upgrade process will uninstall/remove the old/terminated and provide a new replacement.

12.0 Mitigation of other attacks – N/A

13.0 References and Definitions

The following standards are referred to in this Security Policy. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 33

Abbreviation [NIST] [FIPS140‐3] [IG] [ISO19790] [38A] [38B] [38C] [38D] [38E] [38F] [56Ar3] [56Ar2] [56Br2] [67]

Abbreviation

Full Specification Name National Institute of Standards and Technology Security Requirements for Cryptographic Modules, March 22, 2019 Implementation Guidance for FIPS PUB 140‐3 and the Cryptographic Module Validation Program Information technology

Full Specification Name

Arista Networks Inc. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 34

Abbreviation [90A] [90B] [90C] [108] [131A] [132] [133] [135] [180] [186] [186‐2] [197] [198] [202] [RFC 4581]

Abbreviation

Full Specification Name NIST Special Publication 800‐90A Revision 1, Recommendation for Random Number Generation Using Deterministic Random Bit Generators, June 2015. NIST Special Publication 800‐90B, Recommendation for the Entropy Sources Used for Random Bit Generation, January 2018 (Second Draft) NIST Special Publication 800‐90C, Recommendation for Random Bit Generator (RBG) Constructions, April 2016 NIST Special Publication 800‐108, Recommendation for Key Derivation Using Pseudorandom Functions (Revised), October 2009 NIST Special Publication 800-131A Revision 2, Transitioning the Use of Cryptographic Algorithms and Key Lengths, March 2019 NIST Special Publication 800‐132, Recommendation for Password‐Based Key Derivation, Part 1: Storage Applications, December 2010 NIST Special Publication 800‐133 Revision 2, Recommendation for Cryptographic Key Generation, June 2020 NIST Special Publication 800‐135 Revision 1, Recommendation for Existing Application‐Specific Key Derivation Functions, December 2011 Federal Information Processing Standards Publication 180-4, Secure Hash Standard (SHS), August 2015 Federal Information Processing Standards Publication 186‐4, Digital Signature Standard (DSS), July1 2013 Federal Information Processing Standards Publication 186-2, Digital Signature Standard (DSS), January 2000 Federal Information Processing Standards Publication 197, Advanced Encryption Standard (AES), November 26, 2001 Federal Information Processing Standards Publication 198‐1, The Keyed‐Hash Message Authentication Code (HMAC), July 2008 Federal Information Processing Standards Publication 202, SHA‐3 Standard: Permutation‐Based Hash and Extendable‐Output Functions, August 2015 IETF, The Flexible Authentication via Secure Tunneling Extensible Authentication Protocol Method (EAP‐FAST), May 2007

Full Specification Name

Arista Networks Inc. Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).

Page 35

Acronym CO CloudEOS VA

Acronym

Definition Cryptographic Officer role Name of the Arista operating system Vendor Affirmed cryptographic algorithms are Approved algorithms for which no CAVP tests are available yet. The vendor performs their own testing as the basis for their affirmation.

Definition

Arista Networks Inc. Table J - References Table K - Acronyms and Definitions Arista Networks Inc. Public Material – May be reproduced only in its original entirety (without revision).