In the escalating war against adversary-in-the-middle (AiTM) phishing attacks, legacy Multi-Factor Authentication (MFA) methods like SMS codes and push notifications have been entirely compromised. To achieve true Zero Trust, organizations are mandated by federal guidelines (like the US OMB M-22-09) to deploy Phishing-Resistant MFA.
While FIDO2 security keys (like YubiKeys) are excellent, they require purchasing, distributing, and managing physical hardware for every employee. For enterprises that already manage a robust Public Key Infrastructure (PKI) and issue physical Smart Cards (like PIV/CAC cards) or deploy virtual certificates to mobile devices via MDM, Entra ID Certificate-Based Authentication (CBA) is the ultimate solution.
Historically, CBA required standing up complex on-premises Active Directory Federation Services (AD FS) servers. Microsoft has now built CBA directly into the cloud. This guide explains how to configure native Microsoft Entra ID CBA to enforce cryptographic, phishing-resistant authentication without relying on legacy federation servers.
Understanding the CBA Architecture
Entra ID CBA operates entirely in the cloud, relying on x.509 certificate validation:
- The user navigates to an Office 365 portal and enters their username (UPN).
- Entra ID detects that CBA is enabled and prompts the user to select a certificate.
- The user selects the certificate stored on their physical Smart Card (or their MDM-managed mobile device keychain).
- The browser performs mutual TLS (mTLS) with Entra ID.
- Entra ID validates the certificate against the Trusted Certificate Authorities (CAs) you have uploaded to the cloud. It checks the certificate revocation list (CRL) to ensure the cert is still valid.
- Entra ID extracts the user identity from the certificate (usually the Subject Alternative Name – SAN) and maps it to the Entra ID user object. Authentication succeeds.
Step 1: Uploading the Trusted Certificate Authorities
For Entra ID to trust a user’s certificate, it must possess the public key of the Certificate Authority (CA) that issued it. You must upload your entire PKI chain (Root CA and any Subordinate/Issuing CAs).
- Export your Root and Subordinate CA public certificates in
.ceror.crtformat. (Do not export the private keys). - Navigate to the Microsoft Entra admin center (entra.microsoft.com).
- Go to Protection > Show more > Security Center (or Security > Certificate authorities).
- Click Upload.
- Upload the Root CA certificate. Ensure the Is root CA toggle is set to Yes.
- Provide the HTTP URL for your Certificate Revocation List (CRL). (Note: Entra ID must be able to reach this URL over the public internet to check if a certificate was revoked. If your CRL is on an internal-only server, CBA will fail or timeout).
- Repeat the process for all Subordinate CAs.
Step 2: Configuring the Username Binding Strategy
When Entra ID receives a valid certificate, it must mathematically prove which user account owns it. This is called the binding strategy.
- Navigate to Protection > Authentication methods > Policies.
- Click on Certificate-based authentication.
- Under the Configure tab, click on Username binding.
- By default, Entra ID attempts to map the PrincipalName (the UPN found in the certificate’s SAN extension) to the UserPrincipalName in Entra ID. If your PKI is configured correctly, this default is perfect.
- If your certificates use a different attribute (like RFC822 Name mapping to an Email address), adjust the binding priority here.
Step 3: Defining the Authentication Strength
Not all certificates are created equal. A certificate residing in software on a laptop is less secure than a certificate physically locked inside a tamper-proof Smart Card.
You can configure Entra ID to recognize the Object Identifier (OID) embedded in the certificate.
- Under the Authentication binding tab, click Add rule.
- Select Certificate Issuer or Policy OID.
- You can define a rule that says: “If the certificate contains the OID
1.2.3.4.5(representing a hardware Smart Card), consider this authentication Multi-Factor.” - If the certificate lacks that OID (representing a software cert), consider it only Single-Factor.
This allows you to enforce strict Conditional Access policies requiring true hardware-backed MFA.
Step 4: Enabling the CBA Policy
With the infrastructure configured, you must enable the feature for your users.
- Return to the Basics tab within the Certificate-based authentication policy.
- Toggle Enable to Yes.
- Under Target, select a pilot group of users (e.g.,
Grp-SmartCard-Pilot). Never enable this for “All Users” until you have rigorously tested the CRL availability and binding logic. - Click Save.
Step 5: Testing and Enforcing
Instruct a user in the pilot group to open an incognito browser window and navigate to portal.office.com. After entering their username, they will see a new link on the login screen: “Sign in with a certificate”.
When clicked, the browser will prompt them to select their certificate (and insert their Smart Card PIN). The login should succeed instantly, bypassing any password prompts.
Once verified, you can create a Conditional Access policy targeting your highly privileged users. Under the Grant controls, require Authentication strength and select Phishing-resistant MFA. Because you mapped your Smart Card OID to “Multi-Factor” in Step 3, Entra ID will natively recognize the CBA login as fulfilling the phishing-resistant mandate.
Conclusion
Microsoft Entra ID Certificate-Based Authentication allows organizations to seamlessly bridge their legacy, on-premises PKI investments with modern cloud architecture. By eliminating the massive overhead of AD FS and enforcing cryptographic certificate validation directly at the cloud edge, security architects can rapidly deploy phishing-resistant authentication to thousands of endpoints with absolute precision.