Skip to main content

Cryptographic Profiles

GateKey provides three cryptographic profiles for VPN connections, allowing organizations to balance security requirements with compatibility needs.

Available Profiles

Modern (Default)

The recommended profile for most deployments. Uses current best-practice algorithms with strong security margins.

SettingValue
CipherAES-256-GCM
AuthSHA256
TLS CipherTLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384
DH ParametersECDH P-384

FIPS-Compatible

Configured with FIPS 140-2/140-3 approved algorithms. See FIPS Compliance below for important limitations.

SettingValue
CipherAES-256-GCM
AuthSHA384
TLS CipherTLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384
DH ParametersECDH P-384

Compatible

For environments requiring compatibility with older clients or systems.

SettingValue
CipherAES-256-CBC
AuthSHA256
TLS CipherTLS-DHE-RSA-WITH-AES-256-CBC-SHA256
DH ParametersDH 2048-bit

Selecting a Profile

When creating or editing a gateway in the web UI:

  1. Go to AdministrationGateways
  2. Click Add Gateway or edit an existing gateway
  3. Select the desired Crypto Profile
Profile Changes Require Reconnection

Changing a gateway's crypto profile requires all connected clients to disconnect and download new configuration files.

FIPS Compliance

Important: FIPS-Compatible vs FIPS-Compliant

GateKey's FIPS-Compatible profile uses FIPS-approved algorithms, but this alone does not constitute true FIPS 140-2/140-3 compliance.

True FIPS compliance requires:

  1. Operating System FIPS Mode - The underlying OS must be running in FIPS mode
  2. FIPS-Validated Cryptographic Modules - The crypto libraries must be NIST-validated (not just using approved algorithms)
  3. End-to-End FIPS Chain - All components must use the validated modules

What GateKey's FIPS Profile Provides

AspectStatus
FIPS-approved algorithms✅ Yes
Algorithm configuration✅ Yes
FIPS-validated crypto module❌ Requires OS-level FIPS
NIST validation certificate❌ Requires OS-level FIPS

Achieving True FIPS Compliance

To achieve actual FIPS 140-2/140-3 compliance:

1. Enable OS-Level FIPS Mode

RHEL/Fedora/CentOS:

# Enable FIPS mode (requires reboot)
sudo fips-mode-setup --enable
sudo reboot

# Verify FIPS mode is active
fips-mode-setup --check
# Expected output: FIPS mode is enabled.

# Alternative verification
cat /proc/sys/crypto/fips_enabled
# Expected output: 1

Ubuntu:

# Install FIPS packages (Ubuntu Pro/Advantage required)
sudo ua enable fips

# Reboot to activate
sudo reboot

# Verify
cat /proc/sys/crypto/fips_enabled

2. Configure GateKey Gateway

On the gateway server with FIPS mode enabled:

# /etc/gatekey/gateway.yaml
server_url: https://vpn.yourcompany.com
gateway_token: your-token

# OpenVPN will automatically use the OS FIPS-validated OpenSSL
openvpn_config: /etc/openvpn/server.conf

3. Select FIPS-Compatible Profile

In the GateKey web UI, select the FIPS-Compatible crypto profile for your gateway.

FIPS Mode Behavior

When the OS is in FIPS mode:

  • OpenSSL automatically uses its FIPS-validated cryptographic module
  • Non-approved algorithms are disabled and will fail if requested
  • The kernel enforces FIPS-approved algorithms for all crypto operations
  • SSH, TLS, and VPN connections use only approved ciphers

Verification

After configuration, verify the complete FIPS chain:

# Check OS FIPS mode
cat /proc/sys/crypto/fips_enabled

# Check OpenSSL FIPS mode
openssl version
openssl md5 /dev/null # Should fail in FIPS mode (MD5 not approved)

# Check OpenVPN is using FIPS-approved ciphers
openvpn --show-ciphers | grep -i aes-256-gcm

Algorithm Reference

FIPS 140-2 Approved Algorithms (Used by GateKey)

CategoryAlgorithms
Symmetric EncryptionAES-128, AES-192, AES-256 (GCM, CBC, CTR modes)
HashingSHA-256, SHA-384, SHA-512
Key ExchangeECDH (P-256, P-384, P-521), DH (2048+ bit)
Digital SignaturesECDSA, RSA (2048+ bit)
Message AuthenticationHMAC-SHA-256, HMAC-SHA-384, GCM

Non-Approved Algorithms (Avoided)

CategoryAvoided Algorithms
HashingMD5, SHA-1 (for signatures)
EncryptionDES, 3DES, RC4, Blowfish
Key ExchangeDH < 2048 bit

Compliance Documentation

For organizations requiring compliance documentation:

  1. Algorithm Configuration: GateKey's FIPS profile configuration can be documented
  2. OS FIPS Validation: Reference your OS vendor's FIPS 140-2 certificate
  3. OpenSSL Validation: Reference the OpenSSL FIPS module certificate
  4. Audit Trail: GateKey provides comprehensive connection and access logging

Relevant NIST Certificates

  • Red Hat Enterprise Linux OpenSSL: Certificate #4750
  • Ubuntu OpenSSL FIPS Module: Certificate #4282
  • OpenSSL FIPS Provider 3.0: Certificate #4282
Certificate Numbers Change

NIST certificate numbers are updated as vendors recertify. Always verify current certificates at NIST CMVP.

Recommendations

Use CaseRecommended Profile
General enterpriseModern
Federal/government (with OS FIPS)FIPS-Compatible
Healthcare (HIPAA)Modern or FIPS-Compatible
Financial servicesModern or FIPS-Compatible
Legacy system compatibilityCompatible
Maximum securityModern + TLS-Auth enabled