Introduction

Active Directory Federation Services (AD FS) is an installable component of the Microsoft Windows Server operating system. Once configured it provides the facility for single sign-on for credential sharing and access control (federation) between trusted business partners and across multiple business boundaries. This process works via a claims-based authorization process that uses standards-based protocols such as https.

The user’s native organization has the responsibility for authenticating and providing identity information required by a trusted partner, which in turn allows the user to transparently connect to an application hosted by one of the members within the trust boundaries of the federation.

Microsoft AD FS effectively provides and secures a mutually trusted zone encompassing multiple security domains. Integrating Microsoft AD FS with Entrust nShield Hardware Security Modules (HSMs) provides increased robustness and control between these boundaries by securely managing the high value Transport Layer Security (TLS) and Token Signing/Decrypting keys required by AD FS within a FIPS 140 level 3 approved hardware environment.

The key objects that are used by AD FS, via the Microsoft CNG API, are as follows:

Key Object Description

SSL/TLS

Secures web services traffic for SSL communication with web clients and with federation server proxies.

Service-Communications

Used for service communication for Windows Communication Foundation (WCF) Message Security.

Token-Signing

Used to digitally sign all security tokens, including signing of published federation metadata and artifact resolution requests.

Can have multiple token-signing certificates configured to allow for certificate rollover when one certificate is close to expiring.

All the certificates in the list are published, but only the primary token-signing certificate is used by AD FS to sign tokens.

Token-Decrypting

Used to decrypt tokens that are received by a federation server.

Can have multiple decryption certificates configured to allow for continuous operation after certificate rollover.

All certificates can be used for decryption, but only the primary token-decrypting certificate is published in federation metadata.

Configuring AD FS using nShield HSMs

This document covers the integration using module protection for the AD FS Token keys, with cipher suite DLf3072s256mAEScSP800131Ar1.

Prerequisites

  • An existing Active Directory Domain Services (AD DS) system (domain controller) operating the domain at the Windows Server 2016 Functional Level.

  • An existing Microsoft Active Directory Certification Service (AD CS) system configured as an Enterprise issuing CA (for access to certificate templates).

  • Credentials to update the domain’s DNS service to configure a host entry for AD FS.

  • A Security World has already been created or loaded on the HSM to be used by AD FS. For details on installing and registering the nShield CNG KSP via the installed CNG wizard, see Install and register the CNG provider.

Throughout this guide, sections are prefaced with AD FS Server, AD DS Server, or AD CS Server; make sure you execute the steps in each section on the intended server.

For details on installing and configuring the Active Directory Certificate Authority using nShield HSMs, see the Microsoft AD CS and OCSP Integration Guide for Microsoft Windows Server 2022.

Entrust recommends that you allow only unprivileged connections unless you are performing administrative tasks.
You must create a DNS Value for the AD FS service, as the AD FS service will have a different name from the AD FS host server.
If you are deploying AD FS across the internet using Web Application Proxy, you will need a certificate issued by a third party whose Root Certificate is installed on all Computers and devices that will be accessing the service. This guide does not cover deployment using a Web Application Proxy.

Requirements

Requirements for deploying the Microsoft Windows Server environment to support the AD FS role:

Component Minimum Requirement Recommended Requirement

Memory

512 MB

4 GB

Processor

1.4 GHz 64-bit processor

Quad-core, 2 GHz

Processor Cores

N/A

N/A

Hard Disk

32 GB

100 GB

CD/DVD

Optional

Network Adapter

1

USB Controller

Optional (if you want to be able to use nShield Remote Administration)

Display

Standard configuration

Operating System

Microsoft Windows Server 2016 (64bit) or later

nShield Security World Client Software

A validated version of the nShield Security World client software (see the Validation Matrix below)

Validation matrix

This Integration Guide provides step-by-step instructions to install and configure Microsoft AD FS for use with nShield HSMs. For our testing purposes, Microsoft Windows Server 2022 was used as the platform for all three requires roles (AD DS, AD CS, and AD FS).

Entrust has successfully tested the integration of AD FS and an nShield HSM using the following configurations:

Software Firmware Net Image World Mode World Cipher Suite Module Softcard OCS

12.60.11

12.50.11 (FIPS 140-2 certified)

12.70.8 vsn31

unrest-
ricted

DLf3072s256mAEScSP800131Ar1

YES

NO

YES1

12.60.11

12.50.11 (FIPS 140-2 certified)

12.70.8 vsn31

FIPS 140 Level 3

DLf3072s256mAEScSP800131Ar1

YES

NO

YES1

12.71

12.50.11 (FIPS 140-2 certified)

12.70.8 vsn31

unrest-
ricted

DLf3072s256mAEScSP800131Ar1

YES

YES2

YES2

12.71

12.50.11 (FIPS 140-2 certified)

12.70.8 vsn31

FIPS 140 Level 3

DLf3072s256mAEScSP800131Ar1

YES

YES2

YES2

12.80.4

12.50.11 (FIPS 140-2 certified)

12.80.4

FIPS 140 Level 3

DLf3072s256mAEScSP800131Ar1

YES

YES2

YES2

12.80.4

12.72.1 (FIPS 140-2 certified)

12.80.4

FIPS 140 Level 3

DLf3072s256mAEScSP800131Ar1

YES

YES2

YES2

13.2.2

13.2.2

13.2.2

FIPS 140 Level 3

DLf3072s256mAEScSP800131Ar1

YES

YES2

YES2

13.6.3

12.72.1 (FIPS 140-2 certified)

13.4.5

FIPS 140 Level 3

DLf3072s256mAEScSP800131Ar1

YES

YES2

YES2

13.6.3

13.2.2

13.3.2

FIPS 140 Level 3

DLf3072s256mAEScSP800131Ar1

YES

YES2

YES2

1 In this configuration, the OCS must not have a passphrase.

2 In this configuration, using a Softcard or OCS with passphrase (or with/without passphrase if k>1 requires that you start the AD FS service using the nShield preload tool. For module protected keys or OCS without a passphrase, preload is not necessary. Additionally, In this configuration, only Module Protection is compatible with CAPI Certs.

The Token-Decrypting Certificate requires a nShield MS CAPI (CSP) provider, for more information see the ADFS and certificate KeySpec property information page: https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/technical-reference/ad-fs-and-keyspec-property

See the following link for more information on nShield cryptographic providers: https://nshielddocs.entrust.com/security-world-docs/v13.6.3/api-cng/intro.html

Supported nShield HSM functionality

Functionality Support

Key Generation

YES

Key Management

YES

Key Import

Not tested

Key Recovery

Not tested

1-of-N Operator Card Set

YES1

K-of-N Operator Card Set

YES2

Softcards

YES3

Module-only keys

YES

FIPS 140 Level 3 mode support

YES4

Common Criteria mode support

Not tested

Load Sharing

YES

Failover

YES

1 Requires Security World client software v12.71 or later if OCS has a passphrase

2 Requires Security World client software v12.71 or later both with or without OCS passphrase

3 Requires Security World client software v12.71 or later

4 If using Softcard to protect AD FS keys, an OCS is still required as the preload command requires FIPS-auth to load keys