In this section:

Warning

You must reconfigure SNMPv3 before enabling FIPs mode. Failure to do so could cause the SBC to crash due to excessive trap generation. Perform the following steps to reconfigure snmpv3.


FIPS Compliancy

The SBC 7.2.x release supports FIPS-140-2 and the 10.1.3 release supports FIPS-140-3. FIPS-140-2 is not supported in 10.1.3 and later releases and gets automatically converted to FIPS-140-3 as part of the upgrade.

To verify the current status of FIPS certification, contact the Global Support Assistance Center:

Note

Changing the FIPS 140-3 mode is reserved for users with Administrator permissions. The Administrator is a role in the SBC that is assignable to a Crypto Officer in a FIPS-compliant system.

Reconfiguration Step Before Enabling FIPS-140-3 Mode

You must disable all trap targets with authPriv/authNoPriv securityLevel.

Example:

admin@sbc1% show oam snmp trapTarget EMS_-10.54.71.176
ipAddress 10.54.71.176;
port 162;
trapType v3;
targetUsername emstrapuser;
targetSecurityLevel authPriv;
state enabled;
admin@sbc1% set oam snmp trapTarget EMS_-10.54.71.176 state disabled
admin@sbc1% commit

Enable FIPS-140-3 mode

The SBC Core is compliant with the FIPS-140-3 level 1 certification for its cryptographic modules. It implements FIPS-140-3 Level 1 validated cryptographic hardware modules and software tool kits and operates this module in FIPS-140-3 approved mode for all cryptographic operations.

The following activities were made to achieve FIPS-140-3 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 it 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.

    Note

    Self-tests are performed only when the system is running in FIPS-140-3 mode.

    The various self-tests are as follows:

    • 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 are conditionally tested to ensure the security of the DRBG. Therefore, the critical function tests are implemented by the cryptographic modules.
  • FIPS Finite State Model

    Note

    The ability to change the FIPS  140-3 mode is reserved only for users having Administrator permissions; the 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 to load onto the machine are automatically checked for integrity by validating Ribbon provided signature file for the particular package. (Refer to the install/upgrade guide). A failure in validation causes the installation/upgrade to abort.
  • 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.

    Note

    Although TLS v1.0 and v1.2 are enabled by default, Ribbon 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 regenerate.
  • 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-3 mode
    The FIPS compliant operating mode is a mode of system operation that is fully compliant with FIPS-140-3 at security level 1+. Putting the system in FIPS-140-3 operating mode requires enabling the FIPS-140-3 mode parameter as well as configuring other parameters. 

    Note

    As per FIPS 140-3 standards, Critical Security Parameters (CSPs) are not transferrable from non-FIPS to FIPS mode. So, after enabling FIPS mode, the Operator must install new TLS certificates to set the EMA/PM as operational. Ribbon recommends to back up the current encrypted parameters in plain text, if possible, as well as perform a full configuration backup immediately after this action successfully completes.

To enable FIPS-140-3 mode

  1. On the SBC main screen, go to Administration > Users and Application Management > FIPS-140-3.
    The FIPS-140-3 window opens.
  2. In Admin, select the name of the SBC system.
    The Edit FIPS-140-3 options open.

  3. Use the Mode option to enable FIPS-140-3 mode.
ParameterDescription
Mode

The FIPS-140-3 mode.

Once you enable FIPS-140-3 mode, you cannot disable it through the configuration. A fresh software install (that discards all prior states) is required to set the FIPS-140-3 mode to 'disabled'.

  • Disabled (default)
  • Enabled

FIPS Mode Security Restrictions

The following restrictions are applied when you enable the FIPS-140-3 mode:

  • The encryption algorithm 3descbc and null are not allowed in the IPSec Profile.
  • The integrity hmacmd5 is not allowed in the IPSec Profile.
  • IKE Protection Profile dhGroup modp768, modp1024, and modp1536 are not allowed. You must set the dhgroup to modp2048 and higher.
  • The encryption 3descbc is not allowed in the IKE Protection Profile.
  • The integrity hmacmd5 is not allowed in the IKE Protection Profile.
  • You cannot set the ciphersuite for both dtls and tls profiles to algorithms whose key exchange method is RSA. 
    • The ciphersuite rsa-with-null-sha is not allowed in the DTLS Profiles.
    • The ciphersuite rsa-with-null-sha and is not allowed in the TLS Profiles.
  • Disable access to Platform Mode when DoD mode is enabled.
  • Since 3DES is not allowed, any P12 certificate created with 3DES certpbe or keypbe is not supported. You must use the non-3DES certpbe and keypbe to import any P12 certificate to the SBC as a local certificate.
    For example, openssl3 pkcs12  -certpbe AES-256-CBC -keypbe AES-256-CBC -export -out cert.p12 -inkey cert.key -in cert.pem -passout pass:password.
  • If the p12 certificates are already generated, run the following command to check the generated p12 certificates:
    $FIPS_OPEN_SSL_SH pkcs12 -nodes -in <p12-cert-file-path> -info -password pass:<password> | grep -i pbe
    Note: Ensure that the output does not contain TripleDES.
Note

Perform the pre-upgrade checks before proceeding with the upgrade. For more information, refer to the section "Perform Pre-Upgrade Checks" in System Administration - Software Install-Upgrade.


FIPS Compliancy

The SBC 7.2.x release supports FIPS-140-2 and the 10.1.3 release supports FIPS-140-3. FIPS-140-2 is not supported in 10.1.3 and later releases and gets automatically converted to FIPS-140-3 as part of the upgrade.

To verify the current status of FIPS certification, contact the Global Support Assistance Center:

Reconfiguration Steps After Enabling FIPS-140-3 Mode

After enabling FIPS-140-3, you must reconfigure the keys (authKey/privKey) for all SNMP users (this applies to all SNMP users for authPriv/authNoPriv security level trap targets).

  1. Use the following CLI commands to reconfigure the keys:

    admin@sbc1% set oam snmp users emstrapuser authKey Xd:aa:1f:09:75:6e:f6:da:NN:NN:NN:NN:NN:0d
    admin@sbc1% set oam snmp users emstrapuser privKey Xd:aa:1f:09:75:6e:f6:da:NN:NN:NN:NN:NN:0d
    admin@sbc1% commit
  2. Enable the authPriv/authNoPriv trap targets:

    admin@sbc1% set oam snmp trapTarget <trap_target_IP> state enabled

Configuring SBC for TLS communication

Set up the following configurations on the SBC in a JITC/FIPS-enabled environment for the TLS communication.

To enable FIPS in the SBC: 

  1. Log on to the SBC CLI as an admin user.
  2. Run the following command:

    conf
    set profiles security tlsProfile defaultTlsProfile v1_1 enabled
    co
    set profiles security tlsProfile defaultTlsProfile v1_0 disabled
    co
    set profiles security tlsProfile defaultTlsProfile v1_2 enabled
    co
    set profiles security tlsProfile defaultTlsProfile v1_1 disabled
    co
    set profiles security EmaTlsProfile defaultEmaTlsProfile v1_0 disabled v1_1 disabled v1_2 enabled
    co
    set oam snmp version v3only
    co
    set profiles security ikeProtectionProfile AesSha1IkeProfile algorithms dhGroup modp2048
    co
    set system admin vsbcSystem fips-140-2 mode enabled
    co

To configure the RAMP supported ciphersuites on the SBC:

  1. Log on to the SBC CLI as an admin user.
  2. Run the following command:

    conf
    set profiles security EmaTlsProfile defaultEmaTlsProfile ciphersuite AES256-SHA256
    set profiles security EmaTlsProfile defaultEmaTlsProfile ciphersuite AES128-SHA256
    set profiles security EmaTlsProfile defaultEmaTlsProfile ciphersuite ECDHE-RSA-AES256-SHA
    set profiles security EmaTlsProfile defaultEmaTlsProfile ciphersuite ECDHE-RSA-AES256-GCM-SHA384
    set profiles security EmaTlsProfile defaultEmaTlsProfile ciphersuite ECDHE-RSA-AES128-GCM-SHA256
    set profiles security EmaTlsProfile defaultEmaTlsProfile ciphersuite ECDHE-RSA-AES256-SHA384
    set profiles security EmaTlsProfile defaultEmaTlsProfile ciphersuite ECDHE-RSA-AES128-SHA256
    set profiles security EmaTlsProfile defaultEmaTlsProfile ciphersuite ECDHE-RSA-AES128-SHA
    commit