ClickCease

The Power of PushAuth™

Morgan Frisby
July 21, 2021

Welcome to the first post in our series on PushAuth™, Prove’s push authentication service. This series, outlined below, will help you leverage push authentication to increase the security of your authorization flow.

PushAuth™ Blog Series Content

1. Comprehensive guide to push authentication: What it is, how it works, and pros and cons of using it.
2. An end-to-end tutorial of implementing PushAuth™ in a simple user login flow.

3. Building a Web Application with PushAuth™: Technical deep-dive into the details of building a web application with PushAuth™ integrated.
4. The Power of Trusted Registration: A more secure extension of the simple user sign-up flow that includes user registration and trusted device registration.
5. Integrating Trusted Registration for PushAuth™: Technical deep-dive into the details of extending the project with trusted device registration.

Push authentication is one of the most seamless and secure methods of multi-factor authentication. We want to help you understand its importance and the power it has to upgrade your security!

Table Stakes

Let’s clear up two terms that are critical to understanding what PushAuth is solving:

Authorization = allowing you access to a system
Authentication = verifying your identity

There is a great Medium article that describes those differences in more depth. You could have an authorization flow that requires no authentication, letting all users in without proving anything (please don’t do this). On the other hand, you could have an authorization flow that makes users jump through countless hoops to try to make 100% sure the true user is accessing their account. The magic is in striking a balance between these extremes, ensuring a secure authorization process without excessive user annoyance.

One more term to define before moving forward:

Multi-factor authentication = an authentication method that requires two or more pieces of proof before granting a user access to resources

Multi-factor authentication (MFA) is sometimes referred to as two-factor authentication (2FA). Here is a page on MFA basics provided by NIST.

Why use multi-factor authentication?

Before jumping into push authentication, let’s explain MFA. The three basic authentication mechanisms are:

  1. Knowledge: something you know (password, security question answers, PIN)
  2. Possession: something you have (access badge, ATM card, smartphone, hard token)
  3. Biometric: something you are (fingerprint, face, gait, voice)

As defined above, MFA uses two or more of these authentication mechanisms. There are many security benefits to using MFA. The primary benefit is increased confidence in an authorization flow. This stronger assertion on the user’s identity increases the application’s security. In addition, using MFA mitigates the dangers of poor security habits many users have with passwords, such as writing them down, making them simple or easily guessed, and reusing them across platforms.

Push authentication is one method of accomplishing MFA. This method usually requires users to download an app on their phone and register it with their account. Then, the mobile app receives push notifications during the login flow. In doing so, the user establishes two authentication mechanisms: knowledge of their username/password combination and possession of their registered device. Here is an example of using push authentication in a login flow:

A user logs in to a web application by entering their username and password. Upon clicking the button to log in, the server sends a push notification to the app (which the user has already downloaded and registered). The user unlocks their phone and authorizes the request by clicking “Accept” on the notification. The server receives this approved response and proceeds to log the user into the web app. If the user instead clicks “Deny,” the authentication step fails, and the user would not gain access to the web app.

Other types of MFA include SMS codes, phone calls, email codes or magic links, authenticator app verification codes, and hardware tokens. This PCMag article does a good job of aggregating different ways well-known companies offer MFA. In the next section, we discuss the advantages push authentication has over other methods.

Why choose push authentication?

In a nutshell, push authentication increases security in a cost-effective manner without affecting the usability. This section lists some of the aspects specific to push authentication that makes it superior to other methods of MFA.


  • Convenient and easy to use. We can assume that users who have smartphones are comfortable with using apps and interacting with notifications. This makes using push authentication easy for them since there is nothing else they need to learn to use or get used to the method. Push notifications are much easier to respond to—there is no typing, clicking links, or copying codes while trying to beat the timer. Authentication happens with a simple and speedy tap on their screen.
  • Secure. The push authentication mobile app is installed securely on users’ devices, so there is no reliability on users’ accounts with external companies. This out-of-band communication can’t be intercepted at the point of password entry. It is encrypted from end to end between the application and the secured push authentication provider. The many insecurities of the SMS method led to the downfall of its prominence in this space.
  • Fast. Since authentication requests are sent in real time via notifications, a user can become aware of and deny fraudulent requests when they happen and promptly take action. Unlike some methods of MFA, the user must unlock their device before responding to the request. However, this is a level of friction that users are already familiar with on a day-to-day (or, more realistically, minute-to-minute) basis. For devices with TouchID or FaceID, this process is almost frictionless. This even increases the security by preventing unhindered access to authentication by an attacker.
  • No hardware to manage. Unlike hardware tokens, push authentication utilizes users’ existing phones. Since most people consider their phone an extension of their body, this also means the hardware is unlikely to be easily or frequently misplaced. When phones are lost or broken, the responsibility is on the user, rather than the service provider, to obtain a replacement.
  • No over-the-shoulder copy-ability. Codes and magic links sent via SMS/email and codes generated in an authenticator app can all be intercepted and used to log in as an attacker. Push notifications don’t contain anything that can be copied or reproduced.

Is push authentication perfect?

Unsurprisingly, like most things, no. On a base level, push authentication requires that every user has a fully functional smartphone. Without a smartphone, they can’t have the mobile app (the provider needs to have an application). Without an internet connection, their device can’t receive push notifications through the mobile app. In the specific cases of a user’s phone being lost, stolen, or otherwise not in their possession, push authentication will fail. The same assertion applies even if the device is in their possession but out of battery, waterlogged, or otherwise not functional. For the sake of argument, let’s assume that none of these scenarios are issues. Push authentication is still not “perfect.”

There are some valid security concerns surrounding the use of push authentication as a method for MFA. First, smartphones themselves, where the authentication bit happens, are vulnerable to attacks and viruses. There’s also the issue of trusting a device to be associated with its true user during registration, as well as not allowing attackers to register devices under the true user’s account. Even with a trusted device, any pre-registered device is a weak point for attacker entry. Second, you can’t ensure that users have their devices protected via a locking mechanism. If they don’t have access to their phone locked, then it’s pretty easy for an attacker to accept a notification on the user’s behalf. Finally, it’s entirely possible that a user accidentally approves a fraudulent request on their device without realizing it or realizing it too late.

However, there are solutions to these problems. In the cases of a temporarily out-of-possession device, you can provide fallback resources (one-time passcodes, email or SMS delivery, security questions, etc.) as a workaround for that authentication attempt. If the device is permanently out of possession, such as a ruined or stolen phone, you can provide a method of revoking access from the old device and allowing users to self-sign up and provision the app on a new mobile device. If an attacker gains physical access to the device before access is revoked, the user will likely have yet another authentication barrier in the form of a passcode, TouchID, or FaceID. While this can be attacked as well, it still raises the bar for entry before access is revoked. Regarding users accepting fraudulent requests on their devices, the push notification prompt could be extended to include a unique identifier that is expected to match a value on the web login page. The existence of this would set the expectation that a user is to confirm the value before accepting the request.

However, there’s only so much you can do as a developer. People will still make mistakes, and hackers will still gain access. The main point here is that these are things you, as a developer, should be aware of and address. All things considered, push authentication sits in a pretty great place security-wise, is incredibly low friction, and (perhaps most importantly) incredibly cost-effective. Keep an eye out for our next post of the series, which will walk you through using our open-source project to implement PushAuth yourself!

To learn more about Prove’s identity solutions and how to accelerate revenue while mitigating fraud, schedule a demo today.


Keep reading

See all blogs
Developer Blogs
How to Streamline User Onboarding with Prove’s Developer Portal

Prove's Developer Portal helps businesses balance strong security with a smooth user experience by providing developers with the tools they need to easily integrate identity verification into their applications, leading to streamlined onboarding and reduced fraud.

Nicholas Dewald
December 30, 2024
Developer Blogs
Developer Blogs
Top 5 Mistakes When Implementing Identity Verification

This blog explains the importance of identity verification APIs for secure and compliant applications, but also warns about common pitfalls in their implementation. It aims to guide developers on how to avoid these mistakes to ensure effective identity verification, improve user experience, and build trust in their digital platforms. The blog will delve into five specific mistakes and provide solutions, ultimately helping developers save time, reduce risks, and achieve better results.

Nicholas Dewald
December 27, 2024
Developer Blogs
Blog
User Trust and Safety Redefined with the Prove Verified Users℠ Solution

With cyber threats on the rise, robust identity verification is crucial, but it needs to be balanced with a smooth user experience. Prove offers a solution that achieves both, using phone numbers for quick and accurate identity verification without added friction. This allows businesses to build trust and ensure security while offering a seamless user experience.

Jennifer Chang
December 24, 2024
Blog