• Home
  • Projects
  • Bio
    • Hpsaturn photo

      Hpsaturn

    • About
    • Twitter
    • Github
    • StackOverflow
    • Hackaday
    • LinkedIn
    • Instagram
    • Youtube
  • Posts
    • All Posts
    • All Tags

Google Authenticator Key

10 Jun 2017

Reading time ~1 minute

Google Authenticator Key

Portable EAP Protected One-Time Password (EAP-POTP). Hardware for provides two-factor user authentication. This is a PlatformIO project that using WeMOS like board with a ESP32 and OLED SSD1306 display that interfaced with GoogleAuthenticator Android app.

Development Status:

image alt text

  • WifiManager
  • Wifi OTA Handler
  • DeepSleep mode (testing)
  • GUI overlay tests
  • RFC 4793 implementation
  • Sync RTC via Bluetooth
  • GUI Page viewer for OTP codes
  • Android GoogleAuth POTP sync
  • Vulnerability security test
  • 3D print case?
  • Resina case?
  • Latex case?

Technologies

ESP32: A Different IoT Power and Performance from Espressif
PlatformIO: is an open source ecosystem for IoT development
Android: is the world’s most popular mobile platform.
RFC 4793 protocol: Portable EAP Protected One-Time Password (EAP-POTP).

Compile and firmware upload

Please review the last version of this document in github.

Setup WiFi

Setup your WiFi on secrets.load and run:

git clone https://github.com/hpsaturn/esp32_wemos_oled.git
cd esp32_wemos_oled
cp secrets.load.sample secrets.load
chmod 755 secrets.load

Compile firmware and deploy

platformio run --target upload

OTA Updates (Optional)

For faster firmare updates via air (OTA)

platformio run --target upload --upload-port 192.168.1.107

Library installation Troubleshooting

if you have the next error:

src/Main.cpp:27:18: fatal error: sha1.h: No such file or directory
compilation terminated.

it is because the TOTP Arduino library is broken, please clean and remove hidden directories with rm -rf .pioenvs .piolibdeps and run git pull origin master again.



ESP32AndroidPlatformIOBluetoothArduinoC++HardwareIoTOpenHardwareSecurity Share Tweet +1