Description

With the increasing use of Time-based One-Time Password (TOTP), I'm planing to create a small secure device that hooks into the system as an additional keyboard and enters the 6 numbers automatically in place. No picking up the phone and searching for the right value that is changing during number transfer.
I will use an ESP32-S3 with a 1.47 inch touch display and a ATECC608 Key Storage Module for the crypto part. The correct time is coming from a DS3231 real time clock.



Goals
My goal is simple, I want to be able to login to a TOTP system more easily.
Resources
- https://en.wikipedia.org/wiki/Google_Authenticator
- https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-1.47
- ATECC608A-CryptoAuthentication-Device-Summary-Data-Sheet-DS40001977B.pdf
- https://lvgl.io/tools/imageconverter
Demo
Lessons learned
It is always fun to work with an ESP32 and it amazes me how powerful and flexible the chip is. The resources that you can find on the internet are endless.
I had some issues with the ATECC608 crypto chip. At the end it wasn't really the chip suitable for the project and I decided to stick with the ESP32 security features to store the TOTP secrets directly.
At the current state I have a device that allows me to login to several TOTP secured services with just a tip of my finger. This simplifies a inconvenient task everyone of us has to do every day again and again.
So I'm quite happy with what I've achieved so far. I just need to dig into the ESP32 security features a bit more and make sure the TOTP secrets are stored safely.
Software repository
A snapshot of the current project can be found here: https://github.com/abergmann/esp32s3-touch-totp
Looking for hackers with the skills:
Nothing? Add some keywords!
This project is part of:
Hack Week 25
Comments
-
-
3 days ago by lkocman | Reply
Hello @abergmann https://hackweek.opensuse.org/25/projects/totp-deviceukas, can you please write a summary for what happened during Hackweek25? Thank you
Similar Projects
This project is one of its kind!
