Authentication Improvements for SAML Authentication
This feature requires SAML knowledge, fundamental authentication proficiency, and FIPS understanding to use this information.
You can use the following Citrix ADC features with third party applications and servers that are compatible with the SAML 2.0 specification:
- SAML Service Provider (SP)
- SAML Identity Provider (IdP)
SP and IdP allow a SingleSignOn (SSO) between cloud services. The SAML SP feature provides a way of addressing user claims from an IdP. The IdP can be a third party service or another Citrix ADC appliance. The SAML IdP feature is used to assert user logons and provide claims consumed by SPs.
As part of the SAML support, both IdP and SP modules digitally sign the data that is sent to peers. The digital signature includes an authentication request from SP, Assertion from IdP, and logout messages between these two entities. The digital signature validates the message authenticity.
The current implementations of SAML SP and IdP perform the signature computation in a packet engine. These modules use SSL certificates to sign the data. In a FIPS compliant Citrix ADC, the private key of the SSL certificate is not available in the packet engine or user space, so the SAML module today is not ready for FIPS hardware.
This document describes the mechanism to offload signature calculations to the FIPS card. Signature verification is done in the software, as the public key is available.
The SAML feature set is enhanced to use an SSL API for signature offload. See Citrix Product Documentation for details about these affected SAML subfeatures:
SAML SP Post Binding – Signing of AuthnRequest
SAML IdP Post Binding – Signing of Assertion/Response/Both
SAML SP Single Logout scenarios – Signing of LogoutRequest in SP initiated model and Signing of LogoutResponse in IdP initiated model
SAML SP Artifact binding – Signing of ArtifactResolve request
SAML SP Redirect Binding – Signing of AuthnRequest
SAML IdP Redirect Binding – Signing of Response/Assertion/Both
SAML SP Encryption support – Decryption of Assertion
The API can be offloaded only to a FIPS platform.
Offload configuration is performed automatically on the FIPS platform.
However, since SSL private keys are not available to user space in FIPS hardware, there is a slight configuration change in creating the SSL certificate on FIPS hardware.
Here’s the configuration information:
add ssl fipsKey fips-key
Create a CSR and use it at the CA server to generate a certificate. You can then copy that certificate in
/nsconfig/ssl. Let’s assume that the file is fips3cert.cer.
add ssl certKey fips-cert -cert fips3cert.cer -fipsKey fips-key
Then specify this certificate in the SAML action for the SAML SP module.
set samlAction <name> -samlSigningCertName fips-cert
Likewise, you use this in the
samlIdpProfilefor the SAML IdP module.
set samlidpprofile fipstest –samlIdpCertName fips-cert
The first time, you do not have the
fips-key described in the preceding section. If there’s no FIPS key, create one as described at: https://support.citrix.com/servlet/KbServlet/download/9539-102-665378/NS9000_FIPS_6.1.pdf
create ssl fipskey <fipsKeyName> -modulus <positive_integer> [-exponent (3 | F4)] create certreq <reqFileName> -fipskeyName <string>