In this section:
Use the procedure in this section to configure the to operate in FIPS 140-2 compliant mode.
The includes FIPS 140-2 Level 1 validated cryptographic hardware modules and software tool kits as described below. When enabled, the 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:
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:
FIPS Finite State Model – The following diagram demonstrates the states and state transitions that occur within the 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.
TLS v1.1 and v1.2 support for EMA in Platform Mode 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.
In FIPS-140-2 mode, the SBC does not supports 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 in Platform Mode) and SIP peer interoperability (for SIP/TLS) considerations permit.
FIPS compliant operating mode is fully compliant with FIPS-140-2 at security level 1+. Putting the system in FIPS-140-2 operating mode requires enabling the
fips-140-2 mode parameter as well as configuring other parameters.
Perform the following steps to set the FIPS-140-2 mode using CLI:
Switch to configure private mode, using the command:
> configure private
Execute the following commands:
% set profiles security tlsProfile defaultTlsProfile v1_0 disabled v1_1 disabled v1_2 enabled % set profiles security EmaTlsProfile defaultEmaTlsProfile v1_0 disabled v1_1 disabled v1_2 enabled % set oam snmp version v3only % set system admin <system name> fips-140-2 mode enabled % commit
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 confirmation
As 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 in Platform Mode to be operational. Sonus recommends backing up current encrypted parameters in plain text, if possible. Sonus also recommends performing a full configuration backup immediately, after this activity has successfully completed.
You cannot set FIPS mode to 'disabled' through 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:
% show system admin MYSBC fips-140-2 mode enabled; % show profiles security EmaTlsProfile defaultEmaTlsProfile ... ... v1_0 disabled; v1_1 disabled; v1_2 enabled; % show profiles security tlsProfile defaultTlsProfile appAuthTimer 5; handshakeTimer 5; sessionResumpTimer 3600; cipherSuite1 rsa-with-aes-128-cbc-sha; allowedRoles clientandserver; v1_0 disabled; v1_1 disabled; v1_2 enabled;
To view FIPS finite state machine state, exit back to system mode and execute 'show table system fipsFSMState' command as in the following example:
% exit [ok][2013-08-20 22:28:26] > show table system fipsFSMState INDX STATE TIME STAMP ISSUER MESSAGE ---------------------------------------------------------------------------- 0 selftest Wed Aug 14 16:51:36 IST 2013 fipsPost executing POST 1 poweroff Wed Aug 14 16:48:37 IST 2013 fipsPost halt or reboot 2 operational Wed Aug 14 16:47:57 IST 2013 fipsPost POST Complete
The EMA does not include all of the commands necessary to enable/disable FIPS-140-2 mode. The user must use the CLI to complete the procedure.
Using the EMA menu bar, navigate to All > Profiles > Security > TLS Profile. The TLS Profile window is displayed, with the TLS Profile List pane. Select the radio button corresponding to the
The Edit Selected TLS Profile pane is displayed. Set the fields
Disabled. Set the field
Enabled. Click Save to save the changes.
Using the EMA menu bar, navigate to All > Profiles > Security > EMA TLS Profile. The EMA TLS Profile window is displayed, with the EMA TLS Profile List pane. Select the radio button corresponding to the
The Edit Selected EMA TLS Profile pane is displayed. Set the fields
Disabled. Set the field
Enabled. Click Save to save the changes.
Using the EMA menu bar, navigate to All > OAM > Snmp. The Snmp window is displayed, with the Edit Snmp pane. Set the
Version field to
V3only. Click Save to save the changes.
Login through the CLI, and execute the following command:
% set system admin <system_name> fips-140-2 mode enabled % commit
To restore service to the EMA in Platform Mode in FIPS mode, CA certificates and newly-generated certificate must be imported using CLI.
Since FIPS mode default to TLS 1.2, only use browsers supporting TLS 1.2 such as:
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:
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.
Use this procedure to import up to three CA certificates.
> configure private % set system security pki certificate caCert fileName caCert.der state enabled type remote % set profiles security EmaTlsProfile defaultEmaTlsProfile ClientCaCert caCert % commit
The SBC provides a means to import SBC certificates generated with two different methods.
Use this procedure to import externally-generated SBC key and certificate in PKCS#12 format.
Install certificate. For example, certificate "sbxCert.p12" with passPhrase "sonus".
> configure private % set system security pki certificate sbxCert fileName sbxCert.p12 passPhrase sonus state enabled type local % set profiles security EmaTlsProfile defaultEmaTlsProfile serverCertName sbxCert
If the server and the client certificates are not getting installed, it is often due to presence of old certificates. In that case, delete the old/existing certificates and then install the new ones. To delete the old/existing certificates and install the new certificates, execute the following steps:
/opt/sonus/external/in both active and standby node of a High Availability (HA) configuration of a SBC.
Execute the following commands in the
configure private mode:
% delete profiles security EmaTlsProfile defaultEmaTlsProfile serverCertName % delete profiles security EmaTlsProfile defaultEmaTlsProfile ClientCaCert % set system security pki certificate sbxCert state disabled % set system security pki certificate caCert state disabled % delete system security pki certificate caCert % delete system security pki certificate sbxCert % set system security pki certificate caCert fileName caCert.der state enabled type remote % set profiles security EmaTlsProfile defaultEmaTlsProfile ClientCaCert caCert % set system security pki certificate sbxCert fileName sbxCert.p12 passPhrase sonus state enabled type local % set profiles security EmaTlsProfile defaultEmaTlsProfile serverCertName sbxCert
Commit the commands after each step to make the changes effective and available for the next command.
Use this procedure to generate SBC key and CSR locally in SBC, and then re-import as PEM externally-signed cert.
> configure private % set system security pki certificate sbxCert type local-internal % commit % exit > request system security pki certificate sbxCert generateCSR keySize keySize2K csrSub "/C=US/ST=MA/L=Westford/O=Sonus Networks Inc./CN=www.sonusnet.com"
> configure private % set system security pki certificate sbxCert fileName sbxCert.pem % set profiles security EmaTlsProfile defaultEmaTlsProfile serverCertName sbxCert % commit
Use this procedure to set appropriate EMA in Platform Mode client authentication method.
For example, to use either username/password login or PKI certificate based authentication, execute the following commands:
> configure private % set oam ema clientAuthMethod usernamePasswordOrPkiCert % commit