A look into authentication: Single Sign-On

Here is the next part of our series on authentication. In our previous post, we talked about authentication protocols passwordless: how this is the next step in the evolution of authentication and how they avoid a lot of the problems that plague passwords, hashes and credential storage. This blog explores Single Sign On deployed in various authentication protocols


Single sign-on (SSO) simplifies authentication by enabling users to access multiple resources with a single set of credentials. It builds on various authentication protocols, including NTLM, Kerberos, OpenID, FIDO2/WebAuthn, RADIUS, TACACS+, and LDAP, to provide secure and user-friendly authentication experiences.

This blog explores these protocols, their role in SSO, and dives into Microsoft’s SSO mechanisms—seamless SSO, AzureADSSOAcc, cloud Kerberos trust, and primary refresh token (PRT).


Authentication protocols and their role in SSO

NTLM (NT LAN Manager)


Kerberos


OpenID


SAML


FIDO2/WebAuthn


RADIUS (Remote Authentication Dial-In User Service)


TACACS+ (Terminal Access Controller Access-Control System Plus)


LDAP (Lightweight Directory Access Protocol)


Deep dive into SSO mechanisms

OpenID and ID/JWT tokens

OpenID enables federated SSO across web applications, allowing users to authenticate once and access multiple services using ID tokens. OpenID Connect (OIDC) is built on OAuth 2.0 and provides a standard way for applications to verify user identity.

How it works:

  1. A user initiates authentication with an OpenID provider (e.g., Google, Microsoft, or another identity provider).
  2. The provider authenticates the user and issues an ID token (often a JWT), which contains claims about the user’s identity.
  3. The application validates the ID token and establishes a session, granting access to its resources without further user interaction.

Key features:

Limitations:

SSO examples:


How it works:

  1. User request: A user attempts to access a service provider (e.g., a web application).
  2. Redirect to IdP: The service provider redirects the user to the identity provider for authentication.
  3. User authentication: The identity provider authenticates the user using its internal mechanism (e.g., Kerberos, LDAP).
  4. Assertion generation: After successful authentication, the identity provider generates a SAML assertion, which is an XML-based document containing the user’s identity and authorisation details.
  5. Assertion transmission: The SAML assertion is sent to the service provider via the user’s browser (often using a POST or redirect binding).
  6. Validation and access: The service provider validates the SAML assertion against a trusted certificate. If valid, it establishes a session and grants the user access to the requested resource.

Key features:

Limitations:

SSO examples:


Seamless SSO

Seamless SSO enables domain-joined or hybrid-joined devices to authenticate to Azure AD resources without user intervention. It leverages Kerberos for authentication.

How it works:

  1. A user logs into a domain-joined or hybrid-joined Windows device and receives a Kerberos ticket from the on-premises AD.
  2. When accessing an Azure AD-integrated cloud resource, the Kerberos ticket is automatically used to authenticate with Azure AD.
  3. Azure AD validates the ticket using the trust established via Azure AD Connect, enabling access without additional credentials.

Key features:

Limitations:


AzureADSSOAcc

AzureADSSOAcc is a service account created during the setup of seamless SSO by Azure AD Connect. It facilitates Azure AD-joined devices accessing on-premises resources.

How it works:

  1. AzureADSSOAcc is created in the on-premises AD with a Service Principal Name (SPN) of AZUREADSSOACC/<tenant-ID>.
  2. Azure AD issues a Kerberos service ticket using AzureADSSOAcc’s SPN for resource access.
  3. The on-premises AD validates the ticket, granting the device access to resources.

Key features:

Limitations:


Cloud Kerberos trust

Cloud Kerberos trust enables passwordless authentication for Azure AD-joined devices accessing on-premises resources.

How it works:

  1. Users sign into an Azure AD-joined device using a modern authentication method, like Windows Hello for Business.
  2. Azure AD issues a PRT, which includes a Kerberos ticket from the on-premises AD.
  3. The Kerberos ticket allows passwordless access to on-premises resources.

Key features:

Limitations:


Primary refresh token (PRT)

A primary refresh token (PRT) is a session token issued by Azure AD for Azure AD-joined or hybrid-joined devices. It enables seamless access to both cloud and on-premises resources.

How it works:

  1. Azure AD issues a PRT when a user signs into the device.
  2. The PRT is securely stored and used to retrieve access tokens for cloud and on-premises resources.
  3. In hybrid scenarios, the PRT may include a Kerberos ticket for on-premises access.

Key features:

Limitations:


kerberos.microsoftonline.com

How Microsoft makes the SSO work from Entra ID to your on premises AD servers is via a meta realm called kerberos.microsoftonline.com. During the PRT retrieval it gets back

This combination of things is what allows the Entra ID to on premises SSO magic to happen. It is very neat, and also explains why it will never be possible to have the same domain in two tenants for authentication, and why you can't have Cloud Kerberos Trusts from one AD forest to multiple tenants. Thanks To Steve Syfuhs for his excellent blogs, in this case the How Azure AD Kerberos Works blog. Simply brilliant!

Mapping SSO mechanisms to authentication protocols

SSO mechanism Supported protocols Description
Seamless SSO Kerberos Enables domain-joined or hybrid-joined devices to authenticate to Azure AD without re-entering credentials.
AzureADSSOAcc Kerberos Facilitates access from Azure AD-joined devices to on-premises resources by acting as a proxy for Kerberos.
Cloud Kerberos trust Kerberos Provides passwordless access to on-premises resources from Azure AD-joined devices.
Federated SSO OpenID, RADIUS, LDAP Allows SSO across web applications or networked environments using identity federation.
Passwordless SSO FIDO2/WebAuthn, Kerberos Combines modern authentication with Azure AD for seamless access.

Conclusion

By understanding seamless SSO, AzureADSSOAcc, cloud Kerberos trust, and primary refresh tokens, organisations can optimise hybrid identity environments. Each mechanism caters to different scenarios, ensuring secure and seamless resource access.

In the next blog post on authentication we will summarise and provide recommendation around what to avoid, what to aim for and how to secure protcols.

Comments

Add a comment
Loading...
Follow
Follow