Store OTP secret data in an encrypted format
Starting from NetScaler release 13.0 build 41.20, the OTP secret data can be stored in an encrypted format instead of plain text.
Previously, the NetScaler appliance stored OTP secret as a plain text in AD. Storing OTP secret in plain text poses a security threat as a malicious attacker or an admin might exploit the data by viewing the shared secret of other users.
The encryption parameter enables encryption of OTP secret in AD. When you register a new device with NetScaler version 13.0 build 41.20, and enable the encryption parameter, the OTP secret is stored in an encrypted format, by default. However, if the encryption parameter is disabled, the OTP secret is stored in plain text format.
For devices registered prior to 13.0 build 41.20, you must perform the following as a best practice:
- Upgrade the 13.0 NetScaler appliance to 13.0 build 41.20.
- Enable the encryption parameter on the appliance.
- Use the OTP secret migration tool to migrate OTP secret data from plain text format to encrypted format.
For details about the OTP secret migration tool, see OTP encryption tool.
Citrix recommends you as an admin to ensure the following criteria is met:
A new certificate must be configured to encrypt OTP secrets if you are not using KBA as part of self-service password reset feature.
To bind the certificate to VPN global, you can use the following command:
bind vpn global -userDataEncryptionKey <certificate name>
If you are already using a certificate to encrypt KBA, you can use the same certificate to encrypt OTP secrets.
New OTP registrations always happen with the last bound certificate, as it gets the highest priority. In the example shown below, if you bind a certificate (cert1) and then bind another certificate (cert2), then cert2 is considered for device registration. If the certificate required for device registration is missing, the end user login fails.
bind vpn global -userDataEncryptionKey otp-cert1 bind vpn global -userDataEncryptionKey otp-cert2 <!--NeedCopy-->
In the following example, the
cert2certificate is displayed as the first entry on the output of the
show vpn globalcommand:
show vpn global Portal Theme: RfWebUI Userdata Encryption Certificate: cert2 Userdata Encryption Certificate: cert1 1) VPN Clientless Access Policy Name: ns_cvpn_owa_policy Priority: 95000 Bindpoint: REQ_DEFAULT 2) VPN Clientless Access Policy Name: ns_cvpn_sp_policy Priority: 96000 Bindpoint: REQ_DEFAULT 3) VPN Clientless Access Policy Name: ns_cvpn_sp2013_policy Priority: 97000 Bindpoint: REQ_DEFAULT 4) VPN Clientless Access Policy Name: ns_cvpn_default_policy Priority: 100000 Bindpoint: REQ_DEFAULT <!--NeedCopy-->
To enable OTP encryption data by using the CLI
At the command prompt, type:
set aaa otpparameter [-encryption ( ON | OFF )]
set aaa otpparameter -encryption ON
To configure the OTP encryption by using the GUI
- Navigate to Security > AAA – Application Traffic and click Change authentication AAA OTP Parameter under Authentication Settings section.
- On the Configure AAA OTP Parameter page, select OTP Secret encryption.
- Click OK.
Configuring the number of end-user devices for receiving OTP notifications
Administrators can now configure the number of devices that an end user can register to receive OTP notification or authentication.
To configure the number of devices in OTP by using the CLI
At the command prompt, type:
set aaa otpparameter [-maxOTPDevices <positive_integer>]
set aaa otpparameter -maxOTPDevices 4
To configure the number of devices by using the GUI
- Navigate to Security > AAA – Application Traffic, click Change authentication AAA OTP Parameter under Authentication Settings section.
- On the Configure AAA OTP Parameter page, enter the value for Max OTP device Configured.