Zephyrnet Logo

An ESP32 MultiFactor TOTP Generator

Date:

MFA, or multifactor authentication, is a standard security feature these days. However, it can be a drag to constantly reach into one’s pocket, scroll to Google Authenticator (other MFA applications are available!), and find the correct TOTP code to log in to a site for a short while. [Allan Oricil] felt this pain point, so they took the problem by the horns and created a desktop MFA TOTP generator to make life just that little bit easier.

TOTP, which stands for Time-based One-Time Password, is a security measure that uses a device or application to provide unique codes that expire after a short time. Two-factor authentication requires a physical item (something you have), such as a key or swipe card, and knowledge of a fact (something you know), like a password, rather than relying on a single factor. This approach ensures a higher level of security. [Allan]’s project is a physical thing one would use with a password or key file.

Utilising the snappily titled Sunton ESP32-2432S028 EVB, based around the Espressif ESP32-WROVER-32 module and a generic touch screen, the neat little package is intended for custom IoT projects. However, we can use it for practically anything. The project uses the PlatformIO infrastructure and associated plugins for VSCode, which are a winning combination if you ask us. The service details and associated secret strings are stored as plain text files on an SD card, so moving from one physical device to another and adding new services is simple. If you’re wondering why a physical device needs a Wi-Fi connection, this is to sync the RTC (the local measure of ‘time’ for that TOTP) with a downstream NTP server. If you don’t do this, you quickly get out of sync with your target services, and your codes could expire prematurely or even fail outright.

If you want to read more, see our guide to Two-Factor Authentication. Regarding hardware implementations, here’s a sweet macropad-based solution, and a tiny one using a BadUSB for good.

spot_img

Latest Intelligence

spot_img