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

SC4000 Series Mesh Radio

Certificate#4936StandardFIPS 140-3Level2TypeHardwareEmbodimentMulti-Chip Stand AloneStatusActiveVendorSilvus Technologies, Inc.
Medium review priority  ·  exposes boot-chain verification  ·  last validated 18 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level2
Module typeHardware
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date1/5/2027
CaveatInterim validation. When operated in approved mode.
VendorSilvus Technologies, Inc.

Approved Algorithms (19)

AlgorithmACVP Cert
AES-CTRA3422
AES-ECBA3420
AES-ECBA3421
AES-GCMA3420
AES-GCMA3421
AES-GCMA3422
Counter DRBGA3422
ECDSA KeyGen (FIPS186-4)A3422
ECDSA KeyVer (FIPS186-4)A3422
ECDSA SigGen (FIPS186-4)A3422
ECDSA SigVer (FIPS186-4)A3422
HMAC-SHA2-256A3422
HMAC-SHA2-384A3422
KAS-ECC-SSC Sp800-56Ar3A3422
KDA HKDF Sp800-56Cr1A3422
KDA OneStep Sp800-56Cr1A3422
SHA2-256A3422
SHA2-384A3422
SHA3-256A3225

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

flowchart LR
  %% Deterministic review-risk graph for SC4000 Series Mesh Radio
  %% 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>firmware load<br/>Upgrade<br/>Update</i>"]
    C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>unauthenticated<br/>Status Output</i>"]
    C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>SSH<br/>IPSEC</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."]
  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?"]
  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"]
  end
  C2 --> I2 --> R2 --> E2
  C3 --> I3 --> R3 --> E3
  C5 --> I5 --> R5 --> E5
  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 clue;
  class I2,I3,I5 infer;
  class R2,R3,R5 risk;
  class E2,E3,E5 evidence;
Underlying clues
flowchart LR
  %% Deterministic clue tier for SC4000 Series Mesh Radio
  %% 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>firmware load<br/>Upgrade<br/>Update</i><br/>src: text:keyword"]
    C3["[low] Self-test / status surface (referenced in text)<br/><i>unauthenticated<br/>Status Output</i><br/>src: text:keyword"]
    C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<br/>SSH<br/>IPSEC</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 clueLow;

Security Policy, page by page

Page 1

Silvus Technologies, Inc. SC4000 Series Mesh Radio

Page 2
Table of Contents
#SectionPage
Page 4
ISO/IEC 24759 Section 6.FIPS 140-3 Section TitleSecurity Level
1General2
2Cryptographic Module Specification2
3Cryptographic Module Interfaces2
4Roles, Services, and Authentication2
5Software/Firmware Security2
6Operational EnvironmentN/A
7Physical Security2
8Non-invasive SecurityN/A
9Sensitive Security Parameter Management2
10Self-tests2
11Life-cycle Assurance2
12Mitigation of other attacksN/A
N/AOverall2

1.0 – General Information

1.1 Overview

This document defines the Security Policy for the Silvus Technologies SC4000 Series Mesh Radio, hereafter denoted the Module.

1.2 Security Levels
2.1 Description

Purpose and Use: The Module is used in a family of MIMO radios used to provide a wireless mesh network. Each radio can operate in a multitude of configurations that are accessed via simple web pages within the radio. Settings such as transmit power, frequency, channel bandwidth, link adaptation and range control can be accessed by simply using a web browser to log into any radio within the network. Module Type: Hardware Module Embodiment: Multi-chip Standalone Module Characteristics: None Cryptographic Boundary:

Page 5

The physical form of the Module is depicted in Figures 2 through 15. The module is composed of the baseboard circuit board surrounded by an opaque enclosure that serves as an EMI shield, heat sink, and FIPS enclosure. The Module is a multi-chip standalone embodiment with a limited operational environment. The cryptographic boundary is the surface of the entire module. The high-level block diagram showing the interconnections with external devices is shown below in Figure 1:

Page 7

Figure 1 Silvus Crypto Module Block Diagram showing the crypto boundary and I/O with peripherals. The top figure is the SC4200/SC4400 and the bottom is the SL4200/SM4200. Tested Operational Environment’s Physical Perimeter (TOEPP): SC4200

Page 8

Figure 3 SC4200 showing the serial number label. Figure 2 SC4200 showing two tamper evident seals. Figure 4 SC4200 showing the battery input.

Page 9

Figure 5 SC4200 showing the antenna, primary, auxiliary and PTT connectors. SC4400 Figure 6 SC4400 showing one tamper evident seal.

Page 10

Figure 7 SC4400 showing the second tamper evident seal. Figure 8 SC4400 showing the serial number label.

Page 11

Figure 9 SC4400 showing the antenna, primary, auxiliary and PTT connectors. SL4200 Figure 10 SL4200 showing the serial number label.

Page 12

Figure 11 SL4200 showing the two tamper evident seals. Figure 12 SL4200 showing antenna and primary connector. SM4200

Page 13

Figure 13 SM4200 showing the serial number label. Figure 14 SM4200 showing the two tamper evident seals.

Page 14
Model/Part Number(s)Hardware Version(s)Firmware Version(s)Processor(s)Non-Security Relevant Distinguishing Features (O)
SC4400/ SC4480E-235467-SBSTRev B1v4.1.0.0Xilinx Zynq 7000 / ARM Cortex A9Refer to Table 12
SC4200/ SC4240EP-235467-BBRev B7v4.1.0.0Xilinx Zynq 7000 / ARM Cortex A9Refer to Table 12
SL4200/ SL4210-235-SBRev C3v4.1.0.0Xilinx Zynq 7000 / ARM Cortex A9Refer to Table 12
SM4200/ SM4210-235-SBRev B2v4.1.0.0Xilinx Zynq 7000 / ARM Cortex A9Refer to Table 12

Figure 15 SM4200 showing antenna and primary connector.

2.2 Version Information

The Module needs to be loaded with firmware version 4.1.0.0 to be considered FIPS 140-3 compliant. Any other firmware would render the Module non-compliant.

2.3 Operating Environments

Hardware Operating Environments: Table 1. Operating Environments – Hardware The Module is designated as a limited operational environment under the FIPS 140-3 definitions. The Module includes a firmware load service to support necessary updates. New firmware versions within the scope of this validation must be validated through the FIPS 140-3 CMVP. Any other firmware loaded into this module is out of the scope of this validation and

Page 15
NameDescriptionFIPSStatus Indicator
Approved ModeSingle approved mode selected explicitly by setting the API “fips_mode” to [“1”] and going through the steps detailed below.FIPS“fips_mode” will return [“1”] “fips_ready” will return [‘””] Alternatively, the web GUI shows a green-filled circle on the information side-panel.
Non Approved ModeSingle non-FIPS mode selected explicitly by setting the API “fips_mode” to [“”].Non-FIPS“fips_mode” will return [“0”] “fips_ready” will return [“”] Alternatively, the web GUI shows a red-filled circle on the information side-panel.

requires a separate FIPS 140-3 validation. Table 1 shows the configurations that have been tested.

2.4 Excluded Components
2.5 Modes of Operation

Modes List and Description: Table

  1. Modes of Operation Mode change instructions and status indicators : To operate in an Approved mode of operation the operator must perform the following steps. The module ships in a non-approved mode of operation.
  2. Open the web interface and navigate to Security->Encryption tab.
  3. A popup window will appear, confirming this choice. Upon saying “OK”: a. All CSPs will be zeroized or reset to default values. All existing users will be deleted and three new users “basic”, “advanced” and “admin” with their respective roles will be auto-created with the default password - “HelloWorld”. b. The module will be subsequently rebooted into the Approved mode of operation; however, the module will not be fully in FIPS Approved mode unless the CO logs in and sets the CSPs to non-default values and configures some settings. The GUI will now show all the CSPs and settings that need to be updated on a single page: i. Enable Password Complexity and set the minimum password length to be
8 characters.
Page 16

ii. Set the login passwords for “basic”, “advanced” and “admin” to a new password that passes the following checks:

  1. Has a length greater than or equal to 8 characters.
  2. Has at least 1 lower case, 1 upper case, 1 special character and 1 number. iii. Enable RF Link Encryption and set the API-Key, RF-Auth-Key, and RFSK to non-default values and enable Encryption. The CO is required to input a previously unused RF-SK. iv. Disable the SSH and SNMP service, and enable API Logs v. Creates/Uploads a new TLS-Host-Priv, TLS-Host-Pub key pair. vi. At this point, the module is fully operational in Approved mode. The user may change the Radio Mode to the Network Mode (0) setting to bring the module to operational state. Once a module is in the Approved mode, the operator may put the module into the NonApproved mode of operation by performing the following steps.
  3. Open the web interface and navigate to Security->Encryption tab.
  4. Change the Approved mode to disable and click “Apply FIPS Mode”.
  5. A popup window will appear, confirming this choice. Upon saying “OK”: a. All CSPs will be zeroized or reset to default values. All existing users will be deleted and three new users “basic”, “advanced” and “admin” with their respective roles will be auto-created with the default password - “HelloWorld”. The module will be subsequently rebooted into the Non-Approved mode of operation. The user may check the status of the Approved mode and the firmware version in the following ways: To confirm the FIPS firmware version and hardware model and part numbers, call the “build_information” API. The output should look like below: SC4400: { "board_type":"SC4044", "rfboard":"SN 2721 opt 21 range 2200~2500 4400~4940 ", "rfboard1":"SN 2726 opt 21 range 2200~2500 4400~4940 ", "digital_board":"SN 19112", "model":"SC4400 Rev B1", "build_date":"10-10-2019", "build_tag":"streamscape_v4.1.0.0", "phy_ts":"EX_1.12_0x6d8edf62d858be4a182dfac0bb54f497550af314_06-22-22, 11:02:10", "part_no":"SC4480E-235467-SBST", "entropy_version":"Silvus Clock Jitter Entropy Module v1.0"
Page 17

} SM4200: { "board_type":"SC4022", "rfboard":"SN 55883 opt 5 range 2200~2500 ", "rfboard1":"","digital_board":"SN 55883", "model":"SM4200 Rev B2", "build_date":"03-18-2022", "build_tag":"streamscape_v4.1.0.0", "phy_ts":"EX_1.12_0x33c956f734fe41896f03308bac2c79557d63809f_06-22-22, 09:53:18", "part_no":"SM4210-235-SB", "entropy_version":"Silvus Clock Jitter Entropy Module v1.0"},"id":2,"jsonrpc":"2.0" } SC4200: { "board_type":"SC4022", "rfboard":"SN 2532 opt 21 range 2200~2500,4400~4940", "rfboard1":"", "digital_board":"SN 2916", "model":"SC4200 Rev B7", "build_date":"10-09-2019", "build_tag":"streamscape_v4.1.0.0", "phy_ts":"EX_1.12_0x33c956f734fe41896f03308bac2c79557d63809f_06-21-22, 19:18:38", "part_no":"SC4240EP-235467-BB", "entropy_version":"Silvus Clock Jitter Entropy Module v1.0"},"id":2,"jsonrpc":"2.0" } SL4200: { "board_type":"SC4022", "rfboard":"SN 52918 opt 5 range 2200~2500 ", "rfboard1":"", "digital_board":"SN 52918", "model":"SL4200 Rev C3", "build_date":"02-10-2021",

Page 18
CAVP Cert SL4200 & SM4200 OnlyAlgorithm and StandardMode/MethodDescription/Key Size(s)/Key Strength(s)Use/Function
A3420AES SP 800- 38AECB Encrypt256 bitsEncrypt
A3420 SC4200 & SC4400 OnlyAES SP 800- 38DGCM Encrypt, Decrypt256 bitsEncrypt/Decrypt
A3421AES SP 800- 38AECB Encrypt256 bitsEncrypt
A3421 All ModelsAES SP 800- 38DGCM Encrypt, Decrypt256 bitsEncrypt/Decrypt

"build_tag":"streamscape_v4.1.0.0", "phy_ts":"EX_1.12_0x33c956f734fe41896f03308bac2c79557d63809f_06-22-22, 09:53:18", "part_no":"SL4210-235-SB", "entropy_version":"Silvus Clock Jitter Entropy Module v1.0" } The “model”, “part_no” and “build_tag” should match the corresponding fields in Table 1. This information is also present in the Build Info page on the Web GUI. The Approved mode status can be checked using the API “fips_ready” and “fips_mode” and the GUI indicator. The “fips_mode” api returns [“1”] and the “fips_ready” returns [“”] if the module is fully in FIPS approved mode. The GUI indicator will show a green color. If the Approved mode has been requested, but the FIPS initialization steps detailed above have not been completed, the “fips_mode” api returns [“1”] and the “fips_ready” returns a JSON array of the API that need changes, e.g. [“enc_rf_auth_key”] if the RF-Auth-Key is not set to a nonFactory value. The GUI indicator on the side panel will show an amber color. If the Approved mode is disabled, the “fips_mode” api returns [“0”]. The GUI indicator will show a red color. The module does not implement a degraded mode of operation.

2.6 Approved Algorithms
Page 19
A3422AES SP 800- 38ACTR Encrypt, Decrypt256 bitsEncrypt/Decrypt
A3422AES SP 800- 38DGCM Encrypt, Decrypt256 bitsEncrypt/Decrypt
A3422DRBG SP 800- 90Ar1CTR with DFAES-256Deterministic Random Number Generation
A3422ECDSA FIPS 186-4KeyGenP-256, P-384, P- 521KeyGen for KAS-ECC- SSC
A3422ECDSA FIPS 186-4KeyVerP-256, P-384, P- 521KeyVer for KAS-ECC- SSC for RF link only.
A3422ECDSA FIPS 186-4SigGenP-256, P-384, P- 521 with SHA- 384SigGen for TLS v1.3
A3422ECDSA FIPS 186-4SigVerP-256, P-384, P- 521 with SHA- 384. P-521 with SHA-256.SigVer for TLS v1.3 and Firmware Load Test.
E25ENT(NP) SP 800- 90BN/A512 bits from entropy source. Full entropy.Used to seed SP 800- 90A DRBG. Entropy source provides 1 bit of entropy per bit output. Entropy source provides at least 256 bits of security.
A3422HMAC FIPS 198-1HMAC-SHA2-256, HMAC-SHA2-384Key size: 256-bitMessage Authentication, KDF Primitive.
A3422KAS-ECC- SSC 56Ar3Ephemeral Unified Responder/InitiatorP-256, P-384, P- 521Key agreement for TLS and RF Link. Key establishment methodology provides between 128 and 256 bits of encryption strength.
A3422KDA One Step SP- 800 56Cr1Fixed Info: uPartyInfo || vPartyInfoSHA2-256Key derivation after KAS- ECC-SSC for RF link.
A3422KDA HKDF 56Cr1Fixed Info: uPartyInfo || vPartyInfo,HMAC SHA2-256TLS v1.3
A3422KTS SP 800- 38FAES-GCM256-bitKey Wrapping / Unwrapping
A3422SHS FIPS 180-4SHA2-256, SHA2- 384N/AMessage Digest Generation, Password Obfuscation.
A3225SHS FIPS 202SHA3-256N/AVetted conditioner
Page 20
AlgorithmAlgorithm PropertiesOEReference
CKG IG D.HSection 4 Section 5.2 Section 6.1 Section 6.2.1Xilinx Zynq 7000 / ARM Cortex A9SP 800-133 Rev 2 IG D.H
AlgorithmCaveatUse/Function
AESNo security claimedFor WPA2 controlled 802.11. This algorithm is not used whatsoever to meet any FIPS 140-3 requirements. This algorithm does not access or share CSPs used during an approved service. The algorithm is redundant to an approved algorithm. The module uses TLS v1.3 to encrypt all configuration traffic, hence the use of AES is redundant. The use of this algorithm is unambiguous and cannot be easily confused for a security function. As per FIPS 140-3 IG 2.4.A, TLS V1.3 is a secure channel operated over an insecure communications channel (WPA2).
KDFNo security claimedPBKDF2 for WPA2. This algorithm is not used whatsoever to meet any FIPS 140-3 requirements. This algorithm does not access or share CSPs used during an approved service. The algorithm is redundant to an approved algorithm. The module uses TLS v1.3 to encrypt all configuration traffic, hence the use of PBKDF2 is redundant. The use of this algorithm is unambiguous and cannot be easily confused for a security function. As per FIPS 140-3 IG 2.4.A, TLS V1.3 is a secure channel operated over an insecure communications channel (WPA2).
RSA [1224]No security claimedRSA SigVer used for Secure boot. Validated by chip manufacturer but not on this OE. The RSA algorithm is not used whatsoever to meet FIPS 140-3 requirements. The algorithm does not access or share CSPs used during an approved service. The RSA algorithm is not intended to be used as a security function as the module already satisfies the firmware integrity test requirements using 32-bit CRC. The use of this algorithm is unambiguous and cannot be easily confused for a security function.
SHS [2034]No security claimedFor SHS used for RSA SigVer used for Secure boot. Validated by chip manufacturer but not on this OE. The SHS algorithm is not used whatsoever to meet

Table

  1. Vendor Affirmed Algorithms NOTE: Module does not support Non-Approved Algorithms Allowed in the Approved Mode of Operation; see Table 8 for “No security claimed” algorithms. Table
  2. Non-Approved, Allowed Algorithms with No Security Claimed
Page 21
FIPS 140-3 requirements. The algorithm does not access or share CSPs used during an approved service. The SHS algorithm is not intended to be used as a security function as the module already satisfies the firmware integrity test requirements using 32-bit CRC. The use of this algorithm is unambiguous and cannot be easily confused for a security function.
AES [2363]No security claimedFor AES-CBC 256-bit firmware decryption by Secure boot. Validated by chip manufacturer but not on this OE. The AES algorithm is not used whatsoever to meet FIPS 140-3 requirements. The algorithm does not access or share CSPs used during an approved service. The AES algorithm is not intended to be used as a security function, FIPS 140-3 does not require encrypted firmware at rest. As such, the firmware is being treated as plaintext and the module already satisfies the firmware integrity test requirements using 32-bit CRC. The use of this algorithm is unambiguous and cannot be easily confused for a security function.
HMAC [1465]No security claimedFor HMAC-SHA-256 firmware authentication by Secure boot. Validated by chip manufacturer but not on this OE. The HMAC algorithm is not used whatsoever to meet FIPS 140-3 requirements. The algorithm does not access or share CSPs used during an approved service. The HMAC algorithm is not intended to be used as a security function as the module already satisfies the firmware integrity test requirements using 32-bit CRC. The use of this algorithm is unambiguous and cannot be easily confused for a security function.
AlgorithmUse/Function
DES-ECBDES block encryption of RF data packets in the non-Approved mode. Also used for SNMP in non-Approved mode.
AES-ECBAES block encryption of RF data packets in the non-Approved mode.
MD5Used for SNMP in non-Approved mode.
SNMP KDFUsed for SNMP in non-Approved mode.
SSH KAS - ECDHE P-521SSH key agreement.
SSH KDF – SHA 512SSH KDF.
SSH Cipher – AES CTR 256-bitSSH Data Encryption.
SSH Integrity – HMAC-SHA-256SSH Data Integrity.

Table 9. Non-Approved, Not Allowed Algorithms

Page 22
NameTypeDescriptionSF PropertiesAlgorithmsAlgorithm Properties
KAS SSC (TLS)KASSSP Establishment for TLSProvides between 128 and 256 bits of encryption strength.KAS-SSC [A3422]P-256 P-384 P-521
KAS SSC (RF)KASSSP Establishment for RF LinkProvides 256 bits of encryption strength.KAS-SSC [A3422]P-521
KTSKTSTLS Key TransportProvides 256 bits of encryption strength.AES-GCM [A3422]256-bit

Table 10. Security Function Implementations

2.8 Algorithm Specific Information

Note: no parts of TLS v1.3 other than the approved cryptographic algorithms and the KDFs have been tested by CAVP and CMVP. AES-GCM IV Generation The module offers two AES GCM implementations: a) AES-GCM 256-bit used by TLS v1.3. b) AES-GCM 256-bit used by the RF Wireless Link service. TLS v1.3: For TLS 1.3, the module implements the TLS_AES_256_GCM_SHA384 cipher as defined in RFC 8446 Appendix B.4. It uses the context of Scenario 5 of IG C.H. The module implements, within its boundary, a 64-bit counter for IV generation. If the IV exhaustion condition is observed, which will trigger a session termination or a re-key due to session re-establishment. In the event the module’s power is lost and restored, all previous TLS 1.3 session state is lost, hence a re-key due to session re-establishment will automatically enforce the IV uniqueness requirements. There are two configuration options: a) AES-GCM 256-bit using keys generated by KAS-ECCSSC b) AES-GCM 256-bit using a static key (RF-SK). For both cases, the IV is 96-bit, with 32 bits fixed to the unique 32-bit serial number of the module, and 48-bits dedicated to a 48-bit counter starting from

  1. This follows IG C.H Scenario
  2. The remaining 16 bits are fixed. If IV exhaustion is detected, the module will shut down the wireless interface and require zeroization
Page 23
NameTypeOperating EnvironmentSample SizeEntropy Per SampleConditioning Components (CAVP number if vetted)
Silvus Clock Jitter Entropy Module #E25Non-PhysicalXilinx Zynq Dual Core A9 CPU8 bitsFull entropy, 256 bits of min entropy per 256-bit output block.SHA-3 (#A3225)

and subsequent FIPS initialization as described in Section 2.5. During FIPS initialization, the CO is required by policy to input a previously unused static RF-SK. AES-GCM 256-bit using KAS-ECC-SSC: If this option is chosen, the module will implement 56Ar3 compliant KAS-ECC-SSC for key agreement. In the event the module power is lost and restored, the key agreement is restarted, resulting in a new key. AES-GCM 256-bit using Static Key: If this option is chosen, the CO will input the 256-bit key to be used. Every 5 minutes, the module will record the last 48-bit counter used over the previous 5 minutes into non-volatile storage. In the event the module power is lost and restored, the module will resume the counter from the last stored value, but it will add an increment to ensure the next IV will be unique as required by 38D Section 9.1.

2.9 RNG and Entropy

Table

  1. Entropy Sources Entropy Information: The Silvus Clock Jitter Entropy Module relies on small differences in CPU execution times (clock jitter) as an entropy source. It resides within the overall module and supplies entropy to seed the AES CTR DRBG described below. The module complies with Section 4 of the Public Use Document (https://csrc.nist.gov/CSRC/media/projects/cryptographicmodule-validation-program/documents/entropy/E25_PublicUse.pdf). RNG Information: The module uses the AES CTR DRBG seeded by the entropy source above as its RNG source. The RNG source is used for the following:
  2. Generating the SSP Cookie-Key
  3. ECDSA/ECDHE KeyGen
2.10 Key Generation

The module implements the below sections from SP800-133r2 compliant to CKG IG D.H for cryptographic key generation: Section 4: Using the Output of a Random Bit Generator.

Page 24

Section 5.2: Key Pairs for Key Establishment For ECDSA and ECDHE keys. Section 6.1: Direct Generation of Symmetric Keys For SSP Cookie-Key. Section 6.2.1: Symmetric Keys Generated using a Key Agreement Scheme For KDA for TLS v1.3 and RF Wireless Link.

2.11 Key Establishment

The module implements SP-800 56Ar3 compliant KAS-ECC-SSC for key agreement for TLS v1.3 and RF Wireless Link. It complies with FIPS 140-3 IG D.F, Scenario 2, Path (2), whereby KAS-ECC-SCC and KDA were CAVP tested. See Section 2.6 above. The module implements the TLS v1.3 cipher suite TLS_AES_256_GCM_SHA384, utilizing the AES-GCM portion for KTS.

2.12 Industry Protocols

The module uses the following industry standard protocols which use cryptography:

2.13 Design and Rules

Upon power-on, and after the pre-operational self-tests are successfully concluded, the module automatically transitions to the operational state.

2.14 Initialization
2.15 Additional Information
3.0 Cryptographic module interfaces
3.1 Ports and Interfaces

The module’s ports and associated logical interface categories are listed in Table

  1. Table
  2. Ports and Interfaces
Page 25
Physical Port SC4200Logical InterfaceData that passes over the port/interface
Battery (Qty 1)Power InputN/A
Primary Port (Qty 1)Ethernet (Qty 1): Data I/O, Control I/O.User data and module configuration encapsulated as IEEE 802.3 Ethernet frames.
Serial (Qty 1): Data I/O, Power Output.User data and module diagnostics encapsulated as RS232 serial data.
Auxiliary Port (Qty 1)USB1 (Qty 1): Data I/O, Power Output (VBUS).With USB-Ethernet adapter, OR USB-WiFi adapter: User data and module configuration encapsulated as IEEE 802.3 Ethernet frames. With USB-Serial adapter or GPS: User data encapsulated as RS232 serial data. With USB-Storage: Silvus signed license files to perform unauthenticated zeroize.
USB 2 - OTG (Qty 1): Data I/O, Power Output (VBUS- Host Mode Only), Control Input.Operates like USB1 in Host Mode. With USB-RNDIS Host and USB 2 in Client Mode: User data and module configuration encapsulated as IEEE 802.3 Ethernet frames. In this mode, the module will not do power output (VBUS).
BDA GPIO (Qty 1): Control Output.Controls an external Bi- Directional Amplifier (BDA).
PTT Port (Qty 1)Power Output (Qty 1).N/A
Speaker (Qty 1): Data Output.Analog audio.
MIC (Qty 1): Data Input.Analog audio.
PTT GPIO1 (Qty 1): Control InputN/A
PTT GPIO2 (Qty 1 – Control Input) OR PTT COR GPIO (Qty 1 – Control Output).N/A
LED (Qty. 1)Status OutputN/A
Multi-Position Switch (Qty. 1)Control InputN/A
Page 26
RF (Qty. 2) SC4400Data Input/OutputUser data and module configuration encapsulated as Silvus MIMO Waveform frames.
Primary Port (Qty 1)Ethernet (Qty 1): Data I/O, Control I/O.User data and module configuration encapsulated as IEEE 802.3 Ethernet frames.
Serial (Qty 1): Data I/O, Power Output.User data and module diagnostics encapsulated as RS232 serial data.
DC Power Input (Qty 1).N/A.
Auxiliary Port (Qty 1)USB1 (Qty 1): Data I/O, Power Output (VBUS).With USB-Ethernet adapter, OR USB-WiFi adapter: User data and module configuration encapsulated as IEEE 802.3 Ethernet frames. With USB-Serial adapter or GPS: User data encapsulated as RS232 serial data. With USB-Storage: Silvus signed license files to perform unauthenticated zeroize.
USB 2 - OTG (Qty 1): Data I/O, Power Output (VBUS- Host Mode Only), Control Input.Operates like USB1 in Host Mode. With USB-RNDIS Host and USB 2 in Client Mode: User data and module configuration encapsulated as IEEE 802.3 Ethernet frames. In this mode, the module will not do power output (VBUS).
BDA GPIO (Qty 1): Control Output.Controls an external Bi- Directional Amplifier (BDA).
PTT Port (Qty 1)Power Output (Qty 1).N/A
Speaker (Qty 1): Data Output.Analog audio.
MIC (Qty 1): Data Input.Analog audio.
PTT GPIO1 (Qty 1): Control InputN/A
PTT GPIO2 (Qty 1 – Control Input) OR PTT COR GPIO (Qty 1 – Control Output).N/A
Page 27
LED (Qty. 1)Status OutputN/A
Multi-Position Switch (Qty. 1)Control InputN/A
RF (Qty. 4) SL4200Data Input/OutputUser data and module configuration encapsulated as Silvus MIMO Waveform frames.
POGO Port (Qty 1)USB1 (Qty 1): Data I/O, Power Output (VBUS).With USB-Ethernet adapter, OR USB-WiFi adapter: User data and module configuration encapsulated as IEEE 802.3 Ethernet frames. With USB-Serial adapter or GPS: User data encapsulated as RS232 serial data. With USB-Storage: Silvus signed license files to perform unauthenticated zeroize.
USB 2 - OTG (Qty 1): Data I/O, Power Output (VBUS- Host Mode Only), Control Input.Operates like USB1 in Host Mode. With USB-RNDIS Host and USB 2 in Client Mode: User data and module configuration encapsulated as IEEE 802.3 Ethernet frames. In this mode, the module will not do power output (VBUS).
Serial (Qty 1): Data I/O, Power Output.User data and module diagnostics encapsulated as RS232 serial data.
USB-PD (Qty 1): Power Input, Control Input.N/A
DC Power Input (Qty 1).N/A
LED (Qty. 1)Status OutputN/A
Power Switch (Qty. 1)Control InputN/A
RF (Qty. 2) SM4200Data Input/OutputUser data and module configuration encapsulated as Silvus MIMO Waveform frames.
Primary Port (Qty 1)USB1 (Qty 1): Data I/O, Power Output (VBUS).With USB-Ethernet adapter, OR USB-WiFi adapter: User data and module configuration encapsulated as IEEE 802.3 Ethernet frames.
Page 28
With USB-Serial adapter or GPS: User data encapsulated as RS232 serial data. With USB-Storage: Silvus signed license files to perform unauthenticated zeroize.
USB 2 - OTG (Qty 1): Data I/O, Control Input.Operates like USB1 in Host Mode. With USB-RNDIS Host and USB 2 in Client Mode: User data and module configuration encapsulated as IEEE 802.3 Ethernet frames. In this mode, the module will not do power output (VBUS).
USB-PD (Qty 1): Power Input, Control Input.N/A
DC Power Input (Qty 1).N/A
LED (Qty. 1)Status OutputN/A
Power Switch (Qty. 1)Control InputN/A
RF (Qty. 2)Data Input/OutputUser data and module configuration encapsulated as Silvus MIMO Waveform frames.

The module LED has the following color/pattern mapping:

Page 29
NameDescriptionMechanismStrength Each AttemptStrength Per Minute
PasswordPasswords are minimum 8 alphanumeric characters (a-z, A-Z, 0-9).SHA-384 hash verification.62 different values per character. Probability of guessing the password in a single attempt is 1/(62^8).Three login attempts in a minute are allowed before the module locks out the user for 1 minute, so the strength per minute is 3/(62^8).
CookieCookies are authenticated using HMAC- SHA-384 with the 256-bit Cookie-Key.HMAC-SHA-384 hash verification.1/(2^256)Due to CPU limitations, the module can perform 20 authentications per second, or 1200 per minute. So the strength per minute is 1200/(2^256).
3.3 Control Interface Not Inhibited

The control output for BDA and PTT will be turned off when in FIPS error state. Control output for USB and Ethernet will be left on to allow the user to check the web GUI and confirm that the module is in FIPS error state. This is required since the module only has an LED interface for status output.

4.0 Roles, services, and authentication
4.1 Authentication Methods
Page 30
API KeyThe API is authenticated using HMAC- SHA-256 with the 256-bit API- Key.HMAC-SHA-256 hash verification.1/(2^256)Due to CPU limitations, the module can perform 20 authentications per second, or 1200 per minute. So the strength per minute is 1200/(2^256).
RF LinkThe KAS messages are authenticated using HMAC- SHA-256 with the 256-bit RF- Auth-Key.HMAC-SHA-256 hash verification.1/(2^256)Due to CPU limitations, the module can perform 20 authentications per second, or 1200 per minute. So, the strength per minute is 1200/(2^256).
NameTypeOperator TypeAuthentication Methods
BasicRoleOwnerPassword, Cookie, API Key
AdvancedRoleOwnerPassword, Cookie, API Key
AdminRoleCOPassword, Cookie, API Key
Mesh NodeRoleOtherRF Link
4.2 Roles

The module supports role-based authentication with four distinct operator roles, Cryptographic separation of roles using a standard session-based architecture. Re-authentication is enforced when changing roles and is cleared upon power reset. The module supports concurrent operators but maintains the separation of roles for each. The CO may disable concurrent user sessions by configuring the setting “Disable Concurrent Sessions” on the “GUI Login Authentication” page. If this setting is On, at most one session is allowed per user. Before opening a new session, a user must close the existing session. Note that multiple users may still have concurrent sessions but only one of each. If this setting is Off, due to resource constraints, the module can support up to 500 concurrent TLS sessions. Table 14 lists the operator roles. The Module does not support a maintenance role. CO is the only role that has access to authentication data after being authenticated. Table 14. Roles

Page 31
NameDescriptionIndicato rInputOutputSecurity Function ImplementationRolesRoles SSP Access
Configure Advanced Settings over TLSAdvanced non- security relevant configurationLog messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSAdvance d, AdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (AU, CO-E) Rest of TLS-* (AU, CO-G, E)
Configure Basic Settings over TLSBasic non-security relevant configurationLog messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSBasic, Advance d, AdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (BU, AU, CO-E) Rest of TLS-* (BU, AU, CO-G, E)
Configure Security Settings over TLSSecurity relevant configuration, including uploading license and settings files, and factory reset.Log messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSAdminCookie-Key, DRBG-* (CO-E) API-Key (CO-E, I, G, O) Passwords-* (CO-I, E) TLS-Host-Priv, TLS-Host-Pub (CO-G, I, E, O) Rest of TLS-* (CO-G, E) RF-Auth-Key, RF-SK (CO-G, I, O)
Diagnostics Over SerialInitiation of diagnostics like ping, tcpdump, iperf, etc.Log messag eSerial Shell Com mandComman d Respons eNoneBasic, Advance d, AdminPasswords-* (AU, CO, BU-E)
Diagnostics over TLSInitiation of diagnostics like iperf, etc.Log messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSBasic, Advance d, AdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (BU, AU, CO-E) Rest of TLS-* (BU, AU, CO-G, E)
Reset over TLSReset by navigating to Web interface -> Security -> Upgrade -Implicit – power cycle of module.API/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSAdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv,
4.3 Approved Services

All services offered by the module and the corresponding SSP access is described in the table below. All services running in the Approved mode are approved services, hence it uses the global indicator (“fips_mode” and “fips_ready” described in Section 2.5) to indicate the mode. Every approved service below has its own indicator, either implicit, or a log message which includes the specific service name (e.g. API Call), the status (success/failure) and the timestamp. Note, for the sake of brevity, similar SSPs are sometimes collectively represented with an asterisk (*), e.g. DRBG-* represents DRBG-EI, DRBG-State and DRBG-Seed. Table 15A. Approved Services e E) e O) e E)

Page 32
> Reboot or via API “radio_reset”.TLS-Host-Pub (CO-E) Rest of TLS-* (CO-G, E)
RF Wireless LinkEstablish and transmit data with another module.Log messag e showing service start.NoneNoneKAS SSC (RF)Mesh NodeRF-Auth-Key, DRBG-*, RF-SK (MN-E) ECDH-Shared- Secret, ECDH- KDF, RF-DH- Priv, RF-DH- Pub, RF-TDK, RF-TEK (MN-G, E)
Status Over TLSRetrieve module status through the Web interface.Log messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSBasic, Advance d, AdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (BU, AU, CO-E) Rest of TLS-* (BU, AU, CO-G, E)
Update Firmware over TLSUpload new firmware image through the Web Interface.Implicit – Auto power cycle of module after complet ion.Firm ware Imag eNoneKAS SSC (TLS), KTSAdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub, FW-HMAC-Key, (CO-E) Rest of TLS-* (CO-G, E)
Zeroize Over TLSZeroization of all CSPs may be achieved either via API (“zeroize”) or by navigating to Web interface -> Tools and Diagnostics -> Factory Reset. through the web interface. Destroy all CSPs.Implicit – Auto power cycle of module after complet ion.API/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSAdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (CO-E, Z) Rest of TLS-* (CO-G, E, Z) RF-*, ECDH-* (Z)
Version Over TLSShow module version either via API (“build_information”), or by navigating to Web Interface -> Tools and Diagnostics -> Build Information.Log messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSBasic, Advance d, AdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (BU, AU, CO-E) Rest of TLS-* (BU, AU, CO-G, E)
Input and Output DataInput/output of PTT Audio, GPIO, serial and wired network traffic.NoneInput DataOutput DataNoneUnauthe nticatedNone
ResetReset by the reset line or power cycle, or alternatively by connecting to the module over its non- RF interfaces on HTTP port 50000 and send the API command “radio_reset”.Implicit – Auto power cycle of module after complet ion.NoneNoneNoneUnauthe nticatedNone
StatusRetrieve module status through LEDs, unauthenticated Web.NoneNoneLED Status, FIPSNoneUnauthe nticatedNone
Page 33
Error State
ZeroizeThe user may call zeroize without authentication via 1) Attach a USB storage dongle with a “reset license” – a Silvus supplied module- When the module detects this file, it will initiate zeroization. 2) On SC4200 and SC4400, set the MPS position to “Z” and power cycle the module. 3) Connect to the module over its non-RF interfaces on HTTP port 50000 and send the API command “zeroize” followed by “radio_reset”.1) Implicit – Module will power cycle after zeroize. 2) Implicit – Module LED will blink red when zeroize is complet ed. 3) Implicit – Module will power cycle after zeroize.1) Silvu s “reset licens e” file. 2) MPS switc h set to “Z” and powe r cycle 3) “zeroi ze” API com mand over HTT P port 5000 01) None 2) None 3) NoneNoneUnauthe nticatedCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (Z) Rest of TLS-* (Z) RF-*, ECDH-* (Z)
Wi-Fi ConnectionThe user may connect to the Wi-Fi AP/Client on the module in authenticated mode (WPA2) or unauthenticated mode (Open). This service uses the non- approved but allowed algorithms AES, PBKDF2 (WPA2). This connection may now be used to access the services listed in Table 15.NoneWPA 2 SSID pass wordFailure OR Success and Network Configur ation Respons e.NoneUnauthe nticatedNone
VPN ConnectionThe user may turn on this service to allow peer modules to form a layer-2 connection over a layer-3 network. The user needs to implement their own layer 3 security e.g., IPSEC. Once the service starts, user data may now traverse over this connection to peer modules.NoneNoneNoneNoneUnauthe nticatedNone

Note: CO=Admin Role, BU=Basic Role, AU=Advanced Role, MN=Mesh Node Role, I=Write, O=Read, E=Execute, G=Generate, Z=Zeroize Note that none of the above unauthenticated services allow any access to the SSPs other than zeroize, which will destroy them.

Page 34
NameDescriptionIndicato rInputOutputSecurity Function ImplementationRolesRoles SSP Access
Configure Advanced Settings over HTTP/TLSAdvanced non- security relevant configurationLog messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSAdvance d, AdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (AU, CO-E) Rest of TLS-* (AU, CO-G, E)
Configure Basic Settings over HTTP/TLSBasic non-security relevant configurationLog messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSBasic, Advance d, AdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (BU, AU, CO-E) Rest of TLS-* (BU, AU, CO-G, E)
Configure Security Settings over HTTP/TLSSecurity relevant configuration, including uploading license and settings files, and factory reset.Log messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSAdminCookie-Key, DRBG-* (CO-E) API-Key (CO-E, I, G, O) Passwords-* (CO-I, E) TLS-Host-Priv, TLS-Host-Pub (CO-G, I, E, O) Rest of TLS-* (CO-G, E) RF-Auth-Key, RF-SK (CO-G, I, O)
Diagnostics Over SerialInitiation of diagnostics like ping, tcpdump, iperf, etc.Log messag eSerial Shell Com mandComman d Respons eNoneBasic, Advance d, AdminPasswords-* (AU, CO, BU-E)
Diagnostics over HTTP/TLSInitiation of diagnostics like iperf, etc.Log messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSBasic, Advance d, AdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (BU, AU, CO-E) Rest of TLS-* (BU, AU, CO-G, E)
Diagnostics Over SSHInitiation of diagnostics like ping, tcpdump, iperf, etc.Log messag eSSH Shell Com mandComman d Respons eNoneBasic, Advance d, AdminPasswords-* (AU, CO, BU-E)
Diagnostics over SNMPNetwork monitoring using SNMP.Log messag eSNM P com mand sComman d Respons eNoneUnauthe nticatedNone
Reset over HTTP/TLSReset by navigating to Web interface -> Security -> Upgrade -Implicit – powerAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSAdminCookie-Key, API- Key, DRBG-*, Passwords-*,
4.4 Non-Approved Services

The non-approved mode of operation has the same services running as the approved mode. In addition, the Wireless Link Service allows the use of non-approved/non-allowed DES/ECB and AES/ECB for the encryption/decryption of RF-link packets. The module also allows the use of Table 15B. Non-Approved Services in Non-Approved Mode e E) e O) e E) e s

Page 35
> Reboot or via API “radio_reset”.cycle of module.TLS-Host-Priv, TLS-Host-Pub (CO-E) Rest of TLS-* (CO-G, E)
RF Wireless LinkEstablish and transmit data with another module.Log messag e showing service start.NoneNoneKAS SSC (RF)Mesh NodeRF-Auth-Key, DRBG-*, RF-SK (MN-E) ECDH-Shared- Secret, ECDH- KDF, RF-DH- Priv, RF-DH- Pub, RF-TDK, RF-TEK (MN-G, E)
RF Wireless Link (Legacy)Establish and transmit data with another module. This service uses non-approved DES-ECB and AES- ECB. Note that only the LSB 0-63 of the RF-SK are used for DES-ECB.Log messag e showing service start.NoneNoneNoneMesh NodeRF-SK (MN-E)
Status Over HTTP/TLSRetrieve module status through the Web interface.Log messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSBasic, Advance d, AdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (BU, AU, CO-E) Rest of TLS-* (BU, AU, CO-G, E)
Update Firmware over HTTP/TLSUpload new firmware image through the Web Interface.Implicit – Auto power cycle of module after complet ion.Firm ware Imag eNoneKAS SSC (TLS), KTSAdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub, FW-HMAC-Key, (CO-E) Rest of TLS-* (CO-G, E)
Zeroize Over HTTP/TLSZeroization of all CSPs may be achieved either via API (“zeroize”) or by navigating to Web interface -> Tools and Diagnostics -> Factory Reset. through the web interface. Destroy all CSPs.Implicit – Auto power cycle of module after complet ion.API/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSAdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (CO-E, Z) Rest of TLS-* (CO-G, E, Z) RF-*, ECDH-* (Z)
Version Over HTTP/TLSShow module version either via API (“build_information”), or by navigating to Web Interface -> Tools and Diagnostics -> Build Information.Log messag eAPI/ Web InputAPI/Web Respons eKAS SSC (TLS), KTSBasic, Advance d, AdminCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (BU, AU, CO-E) Rest of TLS-* (BU, AU, CO-G, E)
Input and Output DataInput/output of PTT Audio, GPIO, serial and wired network traffic.NoneInput DataOutput DataNoneUnauthe nticatedNone
ResetReset by the reset line or power cycle, or alternatively byImplicit – Auto powerNoneNoneNoneUnauthe nticatedNone
Page 36
connecting to the module over its non- RF interfaces on HTTP port 50000 and send the API command “radio_reset”.cycle of module after complet ion.
StatusRetrieve module status through LEDs, unauthenticated Web.NoneNoneLED Status, FIPS Error StateNoneUnauthe nticatedNone
ZeroizeThe user may call zeroize without authentication via 1) Attach a USB storage dongle with a “reset license” – a Silvus supplied module- When the module detects this file, it will initiate zeroization. 2) On SC4200 and SC4400, set the MPS position to “Z” and power cycle the module. 3) Connect to the module over its non-RF interfaces on HTTP port 50000 and send the API command “zeroize” followed by “radio_reset”.1) Implicit – Module will power cycle after zeroize. 2) Implicit – Module LED will blink red when zeroize is complet ed. 3) Implicit – Module will power cycle after zeroize.1) Silvu s “reset licens e” file. 2) MPS switc h set to “Z” and powe r cycle 3) “zeroi ze” API com mand over HTT P port 5000 01) None 2) None 3) NoneNoneUnauthe nticatedCookie-Key, API- Key, DRBG-*, Passwords-*, TLS-Host-Priv, TLS-Host-Pub (Z) Rest of TLS-* (Z) RF-*, ECDH-* (Z)
Wi-Fi ConnectionThe user may connect to the Wi-Fi AP/Client on the module in authenticated mode (WPA2) or unauthenticated mode (Open). This service uses the non- approved but allowed algorithms AES, PBKDF2 (WPA2). This connection may now be used to access the services listed in Table 15.NoneWPA 2 SSID pass wordFailure OR Success and Network Configur ation Respons e.NoneUnauthe nticatedNone
VPN ConnectionThe user may turn on this service to allow peer modules to form a layer-2 connection over a layer-3 network. The user needs to implement their own layer 3 security e.g., IPSEC. Once the service starts, user data may now traverse over thisNoneNoneNoneNoneUnauthe nticatedNone
Page 37

connection to peer modules.

4.5 External Software/Firmware Loaded

The module firmware may be updated by navigating to the Web GUI -> Tools and Diagnostics > Firmware Upgrade page and uploading the Silvus provided firmware package. The module will first shut down all interfaces that allow data output before beginning this service. The module will then authenticate and validate the package, update the firmware and auto-power cycle. Once the module powers back up, it is executing the new firmware image. The firmware package has a manifest file and the actual firmware image. The firmware image is an encrypted binary blob containing the firmware files. The module performs two checks on the externally loaded firmware.: - HMAC-SHA-256 verification of the firmware file by comparing it to the checksum inside the manifest. If there is any error during firmware load, the module will run a self-test and upon success, will re-enable the interfaces and bring itself back online. These errors are logged, and the CO may download the log file to check the reason for the upgrade failure. If the self-test fails, the module will go into the FIPS error state. If the upgrade succeeds, the module will power cycle.

4.7 Cryptographic Output Actions and Status

All services other than the RF Wireless Link service are user initiated. The RF Wireless Link service will automatically start outputting encrypted user data over the RF interface. This service is enabled when the module is configured into the FIPS Approved Mode. To enable this service, the following two independent actions are required. CO will first enable Encryption for the Wireless Link Service, the module will verify this and then the module will check if all other Approved mode requirements are completed before turning on the wireless interface. At this point, the module is fully in the Approved mode and will begin encrypting and decrypting data on the wireless interface. The FIPS status indicator being “green” confirms that the self-initiated cryptographic output service is currently enabled and working.

4.8 Additional Information

Authentication Response Password authentication with invalid passwords or HMAC signatures would be responded by “Invalid Authentication”. RF Link Encryption service will drop any KAS packets that are not correctly signed with the RF-Auth-Key

5.0 Software/Firmware security
5.1 Integrity Techniques
Page 38
Physical Security MechanismRecommended Frequency of Inspection/TestInspection/Test Guidance Details
Tamper evident seals.Every 12 months.If the module shows any signs of tamper, the CO should zeroize the module and contact the manufacturer.

The module, upon power up will run a bootloader - U-Boot. U-Boot performs a CRC-32 verification of the firmware image before eventually handing control to the OS. If the firmware integrity test fails, U-Boot performs a CRC-32 check on a secondary copy of the firmware image. eventually handing control to the OS if the check passes. If this firmware also fails integrity checks, the module will not power up. The LED changes to red and the module is considered inoperable and will need factory repair.

5.2 Initiate on Demand

Integrity checks are initiated on demand by power cycling the module.

6.0 Operational environment
6.1 Operational Environment Type and Requirements

Type of Operating Environment: Limited The cryptographic module includes the following physical security mechanisms:

7.1 Mechanisms and Actions Required

Tamper evident seals are applied at Manufacturing. Table 16. Mechanisms and Actions Required

8.0 Non-invasive security
9.0 Sensitive security parameters management
9.1 Storage Areas
Page 39
NameDescriptionPersistence Type
RAMVolatile system memory.Dynamic
NANDNon-volatile system memory.Static
EFUSENon-volatile e-fuse memory.Static
NameFromToFormat TypeDistribution TypeEntry TypeSFI or Algorithm
API InputUser, AppModuleEncryptedAutomatedElectronicAES-GCM
API OutputModuleUser, AppEncryptedAutomatedElectronicAES-GCM
Pre- LoadedManufacturerModulePlaintextN/AN/AN/A
RF KAS OutputModulePeer ModulePlaintext (Public Key)AutomatedElectronicKAS-ECC- SSC 56Ar3
TLS KAS OutputModuleTLS ClientPlaintext (Public Key)AutomatedElectronicKAS-ECC- SSC 56Ar3

Method API Zeroize

Description The zeroization is performed by the module overwriting zeroes to the memory location occupied by the SSP and further deallocating that area. The completion of API Zeroize will cause the module to auto power-cycle.

Rationale

Operator Initiation Capability

  1. Zeroize over TLS on the Web GUI or by calling the API “zeroize”.
  2. Zeroize by moving MPS to position “Z” and power- cycling the module.

The module stores non-ephemeral SSPs in a partition on a NAND chip. Ephemeral SSPs are stored in system memory (RAM). The module also has an e-fuse EEPROM to store the Secure boot SSP used for power-up firmware integrity testing. Note that this is not claimed for security. Table

  1. Storage Areas Table
  2. SSP Input-Output Methods The module does not support manual SSP entry or intermediate key generation output. Plaintext output of CSPs is only allowed over a secure channel (TLS v1.3). Table
  3. SSP Zeroization Methods
Page 40
3. Attach a USB storage dongle with the Silvus provided “reset license”. 4. Zeroize by calling the API “zeroize” on HTTP port 50000 over the local (non- RF) interfaces.
Memory CleanseZeroize for temporary and ephemeral SSPs by overwriting with zeroes to the memory location.N/A. Not initiated by operator.
NameDescriptionSizeStrengt hTypeGenerate d ByEstablishe d By
Cookie- KeyUsed to sign authenticatio n cookies using HMAC-SHA- 384256 bits256 bitsHMAC-SHA- 384 KeyDRBG (Internal)N/A
API-KeyUsed to verify API requests256 bits256 bitsHMAC-SHA- 256DRBG (Internal) or see inputN/A
FW- HMAC- KeyUsed to authenticate firmware load file.256 bits256 bitsHMAC-SHA- 256N/AN/A
DRBG-EIDRBG entropy input.N/A256 bitsAES CTR DRBG with 256 bits of security.Silvus Clock Jitter Entropy Module (Internal)N/A
DRBG- SeedDRBG Seed256 bits key, 128 bits IV.256 bitsAES CTR input seed (key, IV)DRBG (Internal)N/A
Page 41
DRBG- StateInternal DRBG State – K & V.256 bits K, 128 bits V256 bitsAES CTR DRBG internal state.DRBG (Internal)N/A
PasswordsWeb authenticatio n passwords.Minimum 8 characters .N/AAlpha-Numeric Passwords: Allowed Special Characters @#!~$%^&*()- +/:.,<>?|_[]="'\{} ;`N/AN/A
Passwords -HASHSHA-384 hashes of the passwords.384 bits192 bitsSHA-384SHS (Internal)N/A
RF-DH- PrivP-521 ECDHE ephemeral private key.521 bits256 bitsSP-800 56Ar3 compliant P- 521 private key.ECDSA KeyGen (Internal)N/A
RF-Auth- KeyHMAC-SHA- 256 key used to authenticate RF Wireless Link KAS messages.256 bits256 bitsHMAC-SHA 256DRBG (Internal) or see inputN/A
ECDH- Shared- SecretP-521 Shared secret established after successful 56A KAS for RF Wireless Link.521 bits256 bitsP-521 primitive Z computation.N/AKAS-ECC- SSC 56Ar3
ECDH- KDF56Cr1 compliant KDF to generate RF- TDK and RF- TEK for RF Wireless Link.256 bits256 bits56Cr1 One- Step KDFKDA One Step SP- 800 56Cr1 (Internal)N/A
RF-TDKAES-GCM 256 bit key generated after ECDH- KDF for decrypting data on RF256 bits256 bitsAES GCM 256KDA One Step SP- 800 56Cr1 (Internal)N/A
Page 42
Wireless Link.
RF-TEKAES-GCM 256 bit key generated after ECDH- KDF for encrypting data on RF Wireless Link.256 bits256 bitsAES GCM 256KDA One Step SP- 800 56Cr1 (Internal)N/A
RF-SKAES-GCM 256 bit key used to encrypt and decrypt data on RF Wireless Link.256 bits256 bitsAES GCM 256DRBG (Internal) or see inputN/A
TLS-DH- PrivTLS ECDH (ephemeral) private key.256, 384, 521 bits.128, 192, 256 bits.P-256, P-384, P-521 private key.ECDSA KeyGen (Internal)N/A
TLS-Host- PrivTLS server host certificate private key.256, 384, 521 bits128, 192, 256 bits.P-256, P-384, P-521 private key.N/AN/A
TLS-PMSTLS pre- master secret.256, 384, 521 bits.128, 192, 256 bits.P-256, P-384, P-521 primitive Z computation.N/AKAS-ECC- SSC 56Ar3
TLS-MSTLS master- secret.384 bits.256 bitsTLS PRF computation.N/AKDA HKDF
TLS-KDF56Cr1 compliant KDA HKDF to generate TLS-MS, TLS-SENC, TLS-SMAC.256 bits256 bits56Cr1 KDA HKDFKDA Two Step SP- 800 56Cr1 (Internal)N/A
TLS-SENCTLS session encryption key.256 bits.256 bits.AES GCM 256 bit key.N/AKDA HKDF
TLS- SMACTLS session authenticatio n key.256 bits.256 bits.HMAC-SHA- 384 256 bit key.N/AKDA HKDF
RF-DH- PubP-521 ECDH ephemeral public key.521 bits256 bitsSP-800 56A compliant P- 521 private key.ECDSA KeyGen (Internal)N/A
Page 43
TLS-Host- PubTLS server host certificate public key.256, 384, 521 bits128, 192, 256 bitsP-256, P-384, P-521 public key.ECDSA Keygen (Internal) Or see inputN/A
TLS-DH- PubTLS ECDH (ephemeral) public key.256, 384, 521 bits.128, 192, 256 bitsP-256, P-384, P-521 public key.ECDSA KeyGen (Internal)N/A
NameUsed ByInputs/Outp utsStorag eTemporary Storage DurationZeroizatio nCateg oryRelated SSPs
Cookie- KeyHMAC, SHSN/ARAMDuration of power to module. Auto re-generated on every power cycle.API ZeroizeCSPPasswor ds, Passwor ds- HASH
API-KeyHMAC, SHSAPI Input, API OutputNANDN/AAPI ZeroizeCSPNone
FW- HMAC- KeyHMAC, SHSPre-LoadedNANDN/AN/ACSPNone
DRBG-EIDRBGN/ARAMDRBG instantiation < 1s.API Zeroize, Memory CleanseCSPDRBG- Seed, DRBG- State
DRBG- SeedDRBGN/ARAMDRBG instantiation < 1s.API Zeroize, Memory CleanseCSPDRBG- EI, DRBG- State
DRBG- StateDRBGN/ARAMDuration of power to module.API Zeroize, Memory CleanseCSPDRBG- EI, DRBG- Seed
Password sAPI InputRAMPassword Authenticatio n < 1s.API ZeroizeCSPPasswor ds- HASH
Password s-HASHSHSN/ANANDN/AAPI ZeroizeCSPPasswor ds
RF-DH- PrivKAS- ECC- SSCN/ARAMRF Link KAS handshake < 1s.API Zeroize, Memory CleanseCSPRF-DH- Pub, ECDH- Shared- Secret, ECDH- KDF, RF-
Page 44
TDK, RF-TEK
RF-Auth- KeyHMAC, SHSAPI Input, API OutputNANDN/AAPI ZeroizeCSPRF-DH- Pub
ECDH- Shared- SecretKDA One StepN/ARAMRF Link KAS handshake < 1s.API Zeroize, Memory CleanseCSPRF-DH- Pub, RF-DH- Priv, ECDH- KDF, RF-TEK, RF-TDK
ECDH- KDFKDA One StepN/ARAMRF Link KAS handshake < 1s.API Zeroize, Memory CleanseCSPRF-DH- Pub, RF-DH- Priv, ECDH- Shared- Secret, RF- TDK, RF-TEK
RF-TDKAES GCMN/ARAMDuration of power to module.API Zeroize, Memory CleanseCSPRF-DH- Pub, RF-DH- Priv, ECDH- Shared- Secret, ECDH- KDF, RF-TEK
RF-TEKAES GCMN/ARAMDuration of power to module.API Zeroize, Memory CleanseCSPRF-DH- Pub, RF-DH- Priv, ECDH- Shared- Secret, ECDH- KDF, RF-TDK
RF-SKAES GCMAPI Input, API OutputNANDN/AAPI ZeroizeCSPNone
TLS-DH- PrivKAS- ECC- SSCN/ARAMTLS Handshake < 1s.API Zeroize, Memory CleanseCSPTLS- DH-Pub, TLS- PMS, TLS- MS,
Page 45
TLS- KDF, TLS- SENC, TLS- SMAC
TLS-Host- PrivECDSA SigGen, SigVerAPI Input, API OutputNANDN/AAPI ZeroizeCSPTLS- Host- Pub
TLS-PMSKDA HKDF 56Cr1N/ARAMTLS Handshake < 1s.API Zeroize, Memory CleanseCSPTLS- DH-Pub, TLS- DH-Priv, TLS- MS, TLS- SENC, TLS- SMAC
TLS-MSKDA HKDF 56Cr1N/ARAMTLS Handshake < 1s.API Zeroize, Memory CleanseCSPTLS- DH-Pub, TLS- DH-Priv, TLS- PMS, TLS- SENC, TLS- SMAC, TLS- KDF
TLS-KDFKDA HKDF 56Cr1N/ARAMTLS Handshake < 1s.API Zeroize, Memory CleanseCSPTLS- DH-Pub, TLS- DH-Priv, TLS- PMS, TLS- MS, TLS- SENC, TLS- SMAC
TLS- SENCAES GCMN/ARAMTLS session duration.API Zeroize, Memory CleanseCSPTLS- DH-Pub, TLS- DH-Priv, TLS- PMS, TLS-
Page 46
MS, TLS- KDF, TLS- SMAC
TLS- SMACHMAC, SHSN/ARAMTLS session duration.API Zeroize, Memory CleanseCSPTLS- DH-Pub, TLS- DH-Priv, TLS- PMS, TLS- MS, TLS- KDF, TLS- SENC
RF-DH- PubKAS- ECC- SSCRF KAS OutputRAMRF Link KAS handshake < 1s.API Zeroize, Memory CleansePSPRF-DH- Priv, ECDH- Shared- Secret, ECDH- KDF, RF- TDK, RF-TEK
TLS-Host- PubECDSA SigGen, SigVerAPI Input, API OutputNANDN/AAPI ZeroizePSPTLS- Host- Priv
TLS-DH- PubKAS- ECC- SSCTLS KAS OutputRAMTLS Handshake < 1s.API Zeroize, Memory CleansePSPTLS- DH-Priv, TLS- PMS, TLS- MS, TLS- SENC, TLS- SMAC

Note, there is a configuration API (enc_key_volatile_disable”) available to the CO that when set to “0” would force the storage of certain SSPs in RAM instead of NAND. When the module power cycles, these SSPs would revert to their factory default values, hence requiring a FIPS re-configuration after every power cycle. The following are the affected SSPs:

  1. RF-Auth-Key
  2. API-Key
  3. RF-SK By default, this API is set to “1” and these SSPs are stored in NAND.
Page 47
AlgorithmImplementationTest PropertiesTest MethodTypeIndicatorDetails
CRC-32CRC-32 checksum comparisonCRC-32 checksum comparisonCRC-32 checksum comparison.FW IntegrityUpon success, theThe U- Boot bootloader
10.0 Self-tests

Each time the Module is powered up, it tests that the cryptographic algorithms still operate correctly, and that sensitive data have not been damaged. Power up self–tests are available on demand by power cycling the module. On power up or reset, the Module performs the pre-operational self-tests described in Table 22 followed by the power-up conditional tests in Table 23 below without any operator action required. All data output via the data output interface is inhibited when an error state exists and during self-tests. All KATs must be completed successfully prior to any other use of cryptography by the Module. If any of the KATs fails, the Module enters a fatal error state. The web page will switch to using HTTP only vs. HTTP/TLS and will only display a single page showing more information about the error state, e.g., which KAT failed. The user may then reboot the module to resume operation. If all KATs are completed successfully, the module will enter a functional state. The user may navigate to the Web interface and look at the informational side-panel. The entry “FIPS Status” should show a Green-filled circle which indicates the module is in Approved mode. If it is Amber, it indicates that the module is in a transitional FIPS state and requires manual configuration by the CO to complete the transition. If it is Red, it indicates the module is in Non-Approved mode. The module will go to the same FIPS error state in case of errors during all non-power-up conditional tests except the firmware load test. If the firmware load test fails, the module will go into a temporary soft error state and run a self test. If the self test fails, the module will go into the FIPS error state. If it passes, the module will log the reason for the original failure and bring the module back into operable state. The CO may download the log file to find the reason for failure and/or retry. The module does not have any status output except for LEDs, so during the FIPS error state the Ethernet interface will still be up and will allow connecting to the HTTP error page. The following are the ways to power cycle the radio and run the power-up self-tests:

  1. Authenticate as CO and Invoke the “Reset over TLS” service either through the GUI (Tools and Diagnostics -> Upgrade Firmware -> Reboot) or by calling the API “radio_reset”.
  2. Invoke the unauthenticated reset service by toggling the MPS/Power Switch or calling the API “radio_reset” on HTTP port 50000 through a non-RF interface.
10.1 Pre-Operational Self-Tests

Table 22. Pre-Operational Self-Tests

Page 48

module will power up and the LED will change from RED to GREEN. If the integrity test fails, the module will try a fallback image. If that fails too, the LED will stay RED, and the module will not power up (bricked).

will check the CRC- 32 checksum of the firmware image against the value stored in the firmware file header.

Algorithm DRBGImplementa tion A3422Test Propert ies SP-800 90A Health TestsTest Method Health CheckType Healt h Chec kIndicat or Listed above table (1)DetailsCondition Power-Up
ENT (NP)E25SP-800 90B Health TestsRepetition Count Test, Stuck Test, AdaptiveHealt h Chec kListed above table (1)Health CheckPower-Up
10.2 Conditional Self-Tests

Table 23. Conditional Self-Tests Concerning the indicator, for all conditional tests with the power-up condition below, successful completion would cause the module to finish powering up, with the associated indicators for Approved/Non-Approved mode. A failure would put the module in FIPS error mode. Success will be given in the API log. Failure will result in a hard error state.

Page 49
Proportion Test, Lag Predictor Test.
AES CTRA3422256-bitKATCASTListed above table (1)Encrypt/De cryptPower-Up
AES GCMA3422256-bitKATCASTListed above table (1)Encrypt/De cryptPower-Up
AES ECBA3422256-bitKATCASTListed above table (1)Encrypt/De cryptPower-Up
SHA2A34221, 256, 384, 512KATCASTListed above table (1)HashPower-Up
SHA3A3425256KATCASTListed above table (1)HashPower-Up
HMAC- SHAA34221, 256, 384KATCASTListed above table (1)MACPower-Up
KAS-SSCA3422P-521KATCASTListed above table (1)Z computatio nPower-Up
ECDSAA3422P-521, SHA- 256SigGen, SigVer KATCASTListed above table (1)Sign and VerifyPower-Up
DRBGA3422AES CTR- DRBGKATCASTListed above table (1)RBGPower-Up
TLS HKDFA3422V1.3KATCASTListed above table (1)KDFPower-Up
56C KDFA34221-Step SHA- 256KATCASTListed above table (1)KDFPower-Up
AES ECBA3420 or A3421256-bitKATCASTListed aboveEncryptPower-Up
Page 50
table (1)
AES GCMA3420 or A3421256-bitKATCASTListed above table (1)Encrypt/De cryptPower-Up
DRBGA3422SP-800 90A Health TestsHealth CheckHealt h Chec kListed above table (2)Health CheckPerformed when a random value is requested from the entropy source as per SP 800-90B.
ECDSAA3422P-256 P-384 P-521PCTPCTListed above table (2)Signature Generation, Signature Verification, Key VerificationKey Generatio n
Firmware LoadA3422HMAC- SHA- 256Compare hash resultsFirm ware LoadListed above table (2)MAC VerificationPerformed upon a firmware load request.
Entropy SourceE25SP-800 90B Health TestsRepetition Count Test, Stuck Test, Adaptive Proportion Test, Lag Predictor Test.Healt h Chec kListed above table (2)Health CheckPerformed when a random value is requested from the entropy source as per SP 800-90B.
SP 800- 56Ar3 Assuranc esA3422SP 800- 56Ar3 Assura ncesPCTPCTListed above table (2)Public Key Validation Private Key Validation ECCDH PCT: Key Pair Computatio nPerformed conditiona lly per Section 5.5.2, 5.6.2 and/or 5.6.3.
10.3 Periodic Self-Tests

On demand self-tests can be invoked by powering cycling the module.

Page 51
State NameDescriptionConditionsRecovery MethodIndicator
FIPS Error StateCatch-all error state for unrecoverable errors.Any failure in: 1) Conditional tests occurring on power- up. 2) SP-800 90B health checks. 3) SP-800 56A assurances. 4) ECDSA PCT 5) Self tests run due to a failure of the firmware load test.Power cycle.Web GUI will change from TLS to HTTP with a single page indicating that a FIPS error has occurred.
Soft Error StateCatch-all error state for recoverable errors.Firmware Load TestRetry.Module will temporarily shut down all interfaces and run a self test. If the self test succeeds, the interfaces will be brought up again, and the CO may download the log file to check the reason for the failure.
10.4 Error States
10.5 Operator Initiation

Initiation operations are listed in section 2.5 of this Security Policy.

10.6 Additional Information
Page 52
11.0 Life-cycle assurance
11.1 Startup Procedures

The module is shipped ready to use in the FIPS Non-Approved mode. The CO needs to follow the instructions in Section 2.5 to configure the module into the FIPS Approved mode.

11.2 Administrator Guidance

Please refer to Section 2.5 for the administrator guidance for configuring the module into the FIPS Approved mode.

11.3 Non-Administrator Guidance

Please refer to the Silvus User Manual for non-security related usage information.

11.4 Maintenance Requirements
11.5 End of Life

The operator is required to use the “Zeroize over TLS” OR the “Zeroize” service to zeroize all the keys when the module reaches end of life.

11.6 Additional Information
12.0 Mitigation of other attacks

No mitigation of other attacks is implemented by the module.