A look into authentication: Multi Factor Authentication

Welcome back after Ignite, to the next part of our series on authentication. In our previous post, we talked about credentials: what they are and how they are stored. In this blogs we will step back and look at Multi Factor Authentication (MFA) and how this is used to strengthen the use of credentials, and the different methods available to secure user accounts and identities. We’ll also dive into the strengths and weaknesses of each method, with a particular focus on Windows/Entra ID, though the principles are widely applicable to any Identity Provider (IdP).

What is multi-factor authentication (MFA)?

MFA is a security protocol that requires users to present two or more different types of credentials (factors) to verify their identity when accessing an application or system. These factors fall into three categories:

  1. Something you know: Knowledge-based factors such as passwords, PINs, or security questions.
  2. Something you have: A physical device, such as a smartphone, hardware token, or smart card, used to verify identity.
  3. Something you are: Biometric factors, such as fingerprints, face recognition, or retina scans.

By requiring at least two of these factors, MFA drastically reduces the likelihood of unauthorised access, as it is far more difficult for attackers to compromise multiple factors simultaneously.

Why is MFA needed?

With the increasing sophistication of cyberattacks—ranging from phishing to brute-force and credential stuffing—relying solely on passwords is no longer sufficient. Passwords can be easily guessed, stolen, or leaked. MFA adds critical layers of security by combining multiple factors, making it much harder for attackers to succeed.

For example:

MFA methods

Let’s explore the different types of MFA methods available, their strengths, and their weaknesses.

1. SMS or email-based one-time password (OTP)

How it works:
An OTP is sent to the user’s registered phone number (via SMS) or email address. The user must enter this temporary code to complete the login process.

2. Authenticator apps (TOTP - Time-based one-time password)

How it works:
An authenticator app (e.g., Google Authenticator, Microsoft Authenticator) generates a one-time password that is valid for a short period, usually 30 seconds. The user enters the code from the app during login.

TOTP: How it's calculated

TOTP (Time-based One-Time Password) is a widely used MFA method that generates a one-time password (OTP) based on a shared secret key and the current time.

How is the TOTP calculated?

  1. Shared secret key: The service generates a unique secret key for the user, which is shared between the service and the user's device. The secret key is typically transmitted via a QR code or manual entry during setup.
  2. Time factor: The current time is divided into intervals (usually 30 seconds). The time is used to create a time-based counter.
  3. HMAC-SHA1 algorithm: The secret key and the time-based counter are used as inputs to the HMAC-SHA1 (Hash-based Message Authentication Code) algorithm, which produces a hashed output.
  4. OTP: The hashed output is truncated to produce a six-digit OTP that changes every 30 seconds.

How is the secret key securely transferred?

The secret key is securely transferred from the service to the user's device using the following methods:

Strengths of TOTP

Weaknesses of TOTP

3. Push notifications (via mobile devices)

How it works:
A push notification is sent to the user’s registered mobile device (via an app like Microsoft Authenticator or Okta Verify). The user simply taps “Approve” or “Deny” to complete the authentication process.

4. Phishing-resistant push notifications

Traditional push notifications—where users simply approve or deny a login attempt by tapping “Approve” or “Deny”—are quick and convenient. However, they can be vulnerable to phishing attacks, where an attacker tricks a user into approving a fraudulent login attempt, especially when the user isn’t paying close attention.

To address these concerns, phishing-resistant push notifications have been developed, adding safeguards to ensure the user is authenticating a legitimate request. These enhanced push notifications are designed to mitigate the risk of attackers getting unauthorised access through social engineering tactics.

How phishing-resistant push notifications work

Phishing-resistant push notifications add a level of context that makes it harder for attackers to deceive the user. The two primary features typically used are:

  1. Location-based context
    • What it is: The authenticating application or service sends the user a push notification that includes location-based details about the request—such as the IP address, geographical location, or device type.
    • Why it helps: If the location shown in the push notification doesn’t match the user’s usual location or seems suspicious (e.g., the login attempt is from an unfamiliar country or city), the user can instantly reject the request. This is a clear sign that someone else may be trying to access their account.
    • Example: “A login attempt was made from New York, USA. Do you recognise this location?”
  2. Challenge with a number or code
    • What it is: To further ensure the legitimacy of the request, users are often asked to verify a number or code displayed within the authentication application. This method works by presenting a series of numbers or a visual indicator in the push notification that the user must either:
      • Select the correct number shown in the notification (matching it to the one displayed in the authentication app), or
      • Type the number shown in the notification into the app to confirm that the user is approving the right request.
    • Why it helps: This ensures that the user is truly interacting with the correct request and not a fraudulent one. Even if the attacker has stolen the login credentials and managed to send a push notification, they wouldn’t know the number that the user needs to verify.
    • Example: “Please approve this login attempt. Type the number displayed in your authenticator app: 12345.”

Strengths of phishing-resistant push notifications

Weaknesses of phishing-resistant push notifications

5. Hardware tokens (e.g., YubiKey)

How it works:
A hardware token, such as a YubiKey, is a physical device that generates a unique code or uses a protocol (e.g., FIDO2, U2F) to authenticate the user. The user inserts the key into a USB port or uses it via NFC (Near Field Communication) to complete the authentication.

6. Biometric authentication (fingerprint, face recognition, etc.)

How it works:
Biometric authentication relies on unique biological characteristics of the user (e.g., fingerprints, facial recognition, iris scans) to verify identity.

Conclusion

MFA is an essential security practice that significantly improves the protection of user accounts. From SMS/OTP to hardware tokens and biometrics, each MFA method has its strengths and weaknesses, and understanding these helps in choosing the right solution for your organisation or personal use.

Phishing-resistant push notifications are an excellent example of how MFA continues to evolve, adding additional context and safeguards to combat ever more sophisticated phishing attacks. While they may add a slight layer of complexity for users, the enhanced security they provide is well worth the trade-off.

Incorporating MFA into your security strategy is no longer optional but a necessity in today’s cyber environment. By understanding and utilising the right combination of factors, you can drastically reduce the risk of unauthorised access and enhance your overall security posture.

In the next blog post on authentication we will look at passwordless and passkeys, comparing it to MFA and how these avoid the use of passwords

Comments

Add a comment
Loading...
Follow
Follow