ESPNOW Keyfob

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche

Ziel

Wie ein Funkautoschlüssel können mit einem sehr kleinen Gerät die Türen im Space sicher geöffnet werden. Benutzt wird dazu ein möglichst kleines ESP8266 oder ESP32 Board und das ESPNow Protokoll.

Hardware

Einfachste Version: ESP01S oder ESP12S wird per CR2032 Knopfzelle über Taster mit Strom versorgt.

Details

  • Grundidee:
    • Knopf wird gedrückt, ESP wird aktiviert
    • Keyfob fordert Challenge von der Tür an (Random value min 32bit) - ESPNow Broadcast
    • Wenn eine Tür in der Nähe ist, sendet sie eine Challenge zurück, die sie sich merkt
    • Challenge wird von Keyfob empfangen
    • Keyfob baut Ed25519 signierte Nachricht und sendet sie per ESPNow Broadcast zur Tür zurück
      • Nachrichtenlänge (muss mit ESPNow Paketlänge übereinstimmen)
      • Public Key (32 Bytes)
      • Name (32 Bytes, 0 gefüllt)
      • Signatur (64 Bytes)
      • Challenge (32 Bytes)
      • Aktion (1-xx Bytes) 'Open'+0
    • Tür empfängt Nachricht. Wenn Signatur, Challenge, Länge und alles andere stimmt, wird Aktion ausgefürt.
      • Public Key inkl. Name muss 1:1 in der Tür vorhanden sein - daran sind die User-Rechte gespeichert.
      • Wichtig: Aktuelle challenge muss nach der Ausführung auf ungültig gesetzt werden!
    • Tür bestätigt ggf. Nachricht (nicht Pflicht)
    • ESP geht in Power-Off Mode.