Use the procedure in this section to configure the Sonus SBC Portfolio to operate in FIPS 140-2 compliant mode.
The SBC includes FIPS 140-2 Level 1 validated cryptographic hardware modules and software tool kits as described below. When enabled, the SBC operates these modules in FIPS 140-2 approved mode for all cryptographic operations.
PC Java Configuration supports TLS 1.0 only by default. When EmaTlsProfile v1_0 is disabled, the corresponding Java Configuration for TLS support must be enabled. See below example for Windows environment:
To enable TLS support in Windows:
- Click Start and enter "Java Control Panel" in the Search field.
- Launch the Java Control Panel program.
- From the Java Control Panel, select Advanced tab.
- Check both "Use TLS 1.1" and "Use TLS 1.2" options under Advanced Security Settings section, and click Apply.
- Restart your browser for the changes to take effect.
SBC FIPS 140-2 Compliant Components
The following enhancements or changes have been made to achieve FIPS 140-2 certification:
Self-Tests – The SBC implements cryptographic algorithms using software firmware and hardware and the modules perform various self-tests (power-up self-test, conditional self-test, and critical function self-test) to verify their functionality and correctness. If any of the tests fail, the module goes into “Critical Error” state and disables all access to cryptographic functions and Critical Security Parameters (CSPs). The management interfaces do not respond to any commands until the module is operational. The Crypto Officer must reboot the modules to clear the error and return to normal operational mode.Self-tests are performed only when the system is running in FIPS 140-2 mode.
The self-tests include:
- Power-Up self-tests – The SBC performs self-tests at power-up to verify the integrity of the firmware images and the correct operation of the FIPS-approved algorithm implementation in the modules
- Conditional self-tests – The SBC implements Conditional self-tests such as Continuous Random Number Generator Tests (CRNGT), RSA Pair-wise Consistency Tests, Firmware Load Tests, and so on.
- Critical function tests – The SBC implements the SP 800-90A CTR_DRBG as it's random number generator. The SP 800-90A specification requires that certain critical functions be tested conditionally to ensure the security of the DRBG. Therefore, the critical function tests are implemented by the cryptographic modules.
FIPS Finite State Model – The following diagram demonstrates the SBC states and state transitions that occur within the SBC server:
The ability to change the FIPS 140-2 mode is reserved only for users having Administrator permissions; Administrator is a role in the SBC that may be assigned to a Crypto Officer in a FIPS-compliant system.
- Install/upgrade Software Integrity Check – Software updates or patches that are to be loaded onto the machine are automatically checked for integrity by validating Sonus-provided signature file for the particular package. (See install/upgrade guide). Failure in validation causes the installation/upgrade to be aborted.
TLS v1.1 and v1.2 support for EMA/PM and SIP/TLS – TLS v1.1 and v1.2 provide resistance to certain known attacks (e.g. the BEAST attack affecting TLS v1.0) against earlier TLS versions and offer additional cipher suites not supported with TLS v1.0.
Although TLS v1.0 and v1.2 are enabled by default, Sonus recommends disabling v1.0 (if possible) in favor of the more-secure TLS v1.2, if browser support (for EMA/PM) and SIP peer interoperability (for SIP/TLS) considerations permit.
- Configuration database encryption key regeneration support – The System Administrator can cause the encryption keys used to protect sensitive information in the configuration database to be regenerated.
- SSH key regeneration support – The System Administrator can regenerate the RSA keys used by the SBC to authenticate itself for SFTP and for CLI and netconf over ssh at any time.
Enabling FIPS-140-2 Mode
FIPS compliant operating mode is fully compliant with FIPS-140-2 at security level 1+. Putting the SBC system in FIPS-140-2 operating mode requires enabling the
fips-140-2 mode parameter as well as configuring other parameters. To set the FIPS mode, do the following from CLI:
- Login to CLI.
Switch to Configure Private mode.
Execute the following commands:
where setting fips-140-2 mode to enabled accomplishes the following actions:
• regenerates all SSH keys
• regenerates encryption keys used by the system configuration database
• zeroizes (e.g. securely erases) all persistent CSPs from the system and cause server to reboot after confirmationAs per FIPS 140-2 standards, Critical Security Parameters (CSPs) cannot be transferred from non-FIPS to FIPS mode. So after enabling FIPS mode, the Operator must install new TLS certificates for EMA/PM to be operational. Sonus recommends backing up current encrypted parameters in plaintext, if possible. Sonus further recommends performing a full configuration backup immediately after this activity has successfully completed.You cannot set FIPS mode to 'disabled' via CLI. A new install is required to set FIPS mode to 'disabled'.
To view the FIPS administrative state, global SIP Signaling Controls, EmaTlsProfile and TLS profile settings, use the 'show' command as depicted in the following examples:
To view FIPS finite state machine state, exit back to system mode and execute 'show table system fipsFSMState' command as in the following example:
- Once complete, continue to the next section to restore services the EMA and Platofrm Manager.
Restoring EMA and Platform Manager
To restore service to the EMA and Platform Manager in FIPS mode, CA certificates and newly-generated SBC certificate must be imported using CLI.
Since FIPS mode default to TLS 1.2, only use browsers supporting TLS 1.2 such as:
- IE 9 with explicit TLS 1.2 enabled (From menu bar, select Tools -> Internet Options -> Advanced -> Use TLS 1.2).
- Firefox version 24.0 or later with explicit TLS 1.2 enabled (Enter "about:config" in address bar; set "security.tls.version.max" value to "3").
To import a certificate, you must first transfer the certificate to SBC and save it to a file under /opt/sonus/external/<filename> before issuing the command:
"set system security pki certificate <certName> fileName <filename> state enabled"
Please note that CA certificate file must be in DER format, externally-generated SBC private key/certificate file must be in PKCS#12 format, and signed SBC CSR certificate must be in PEM format.
The SBC supports only one certificate in a local or remote certificate file. For example, a p12 certificate file can contain one local certificate and its privacy key.
Import CA Certificates
Use this procedure to import up to three CA certificates.
The SBC provides a means to import SBC certificates generated with two different methods.
Import SBC Key and Certifcate Generated Externally
Use this procedure to import externally-generated SBC key and certificate in PKCS#12 format.
- Transfer the PKCS#12 formatted key/certificate file to SBC and save it as /opt/sonus/external/<filename>.p12.
Install certificate. For example, certificate "sbxCert.p12" with passPhrase "sonus".
Generate SBC Key and CSR Locally in SBC
Use this procedure to generate SBC key and CSR locally in SBC, and then re-import as PEM externally-signed cert.
- Copy CSR output from step 1 request, and obtain signed certificate from appropriate CA in a PEM formatted file.
- Transfer the certificate to SBC and save it as /opt/sonus/external/<filename>.pem.
Setting EMA Client Authentication Method
Use this procedure to set appropriate EMA client authentication method.
For example, to use either username/password login or PKI certificate based authentication, run the following commands: