Microsoft Authenticator Push Notification Variations

Have you ever noticed some behavior that made you think "That's different"?  I noticed this with push notifications a while back.

Microsoft supports more than one Push Notification usage pattern in their Microsoft Authenticator application. Sometimes you will see more than one of them with the same account across different sites within the same organization.

  • Push Notifications are more integrated with the authenticator application.  The server indirectly sends a message to registered Authenticator applications.  The user interacts with the Authenticator app and the app sends the response back to the server. MFA happens in the authenticator app from the human's point of view.
Microsoft Authenticator also supports TOTP tokens as an alternative to Push Notifications.
  • TOTP generates numeric sequences that can be used as part of MFA.  Numbers change on a regular cadence.  The user provides the current token value shown in the Authenticator app when a server asks for MFA data. The human copies the token value to a text field and submits it.  MFA happens on the server from the human's point of view.

Push Notification

Microsoft supports at least 3 different variations of Push notifications. You can acknowledge the push notification.  You can select one of 4 options to approve or disapprove the push notification.  Or, you can enter a multi-digit numeric code to acknowledge the notification.

They imply varying levels of trust or complexity. I have no idea what server-side configurations determine which ones you get. 

Click to enlarge

  • The simplest is a simple acknowledgment.  The push notification just asks you to confirm you made a request. It expects you to examine the request code, "UIMYQ" in this case. You are expected to match that code against a code on the screen.
  • The middle model in the picture above expects you to select one of the codes. The numeric code appeared on the server prior to receiving this request. This forces you to verify a code and acknowledge the request. It is a higher level of verification than the first approach even though you have a 1/3 chance of guessing the code.
  • The push notification pictured on the right requests that the user enter the exact code presented on the screen or in some other way.  The odds of getting this correct in a single guess are significantly lower than the two previous approaches. 

Push Flow

Push notification MFA has several moving parts.  The user makes a request to the server.  The server determines that it requires some type of credentials that weren't provided.  The server tells the Identity Provider that it requires valid credentials. The IDP asks the user for a username.  The IDP then sends a Push Notification via Authenticator.  The user acknowledges the Push Notification and approves the authentication request probably using one of the 3 paradigms described above. The IDP receives the response and presents the derived credentials to the original service.

Click to Enlarge

TOTP - Not Push Notification

Microsoft Authenticator, and others, can generate cryptographic tokens that can be used as MFA credentials. Those tokens change at regular intervals.  

Assuming the IDP has a token-based MFA. A user attempts to use some system. That system asks the IDP to ask for credentials. Users are asked for the current value of their specific token which they then provide. In some ways, this is a simpler flow.

The following image shows an Authenticator app that is generating tokens for various sites. 

Video

Revision History 

Created 2023/11

Comments

Popular posts from this blog

Installing the RNDIS driver on Windows 11 to use USB Raspberry Pi as network attached

Understanding your WSL2 RAM and swap - Changing the default 50%-25%

Almost PaaS Document Parsing with Tika and AWS Elastic Beanstalk