documentation

multi-factor authentication

There are several problems with existing multi-factor authentication systems:

  • They can be expensive; or
  • complicated to implement;
  • they're stuffed with tracking cookies; and
  • they invariably require the user to hand over personal information to a third party;
  • as well as having a heavy footprint in the user's browser.

Anubis aims to solve all of these problems with a lightweight, web-based MFA application. When the user first visits the authenticator, it creates a completely anonymous ID and stores it on their device. They can then use the app as a webpage or install it on their device as a stand-alone application.

The app uses persistent local storage to store only the user's identity key - something they must keep private, as it's essentially their identity and password, though they're provided with a link they can store to recover their identity. As with one-time codes (we'll come to that later), users are prompted to store the link safely.

how it works

There are two distinct stages to the Anubis MFA process:

On-boarding a user, creating a relationship-key that you then store on your server with their user record. This is achieved by giving the user a QR code loaded with a relationship key that, when scanned, takes them to the app and confirms the relationship.

Validating a user when they want to log on to your site, by enabling you to create an Anubis challenge that's sent to their app for them to authorise.

Both of these processes require server-side code rather than in-browser Javascript, for security reasons - both to protect the user's security, and to protect your Anubis account from being abused.

decision time