[Tile] ProtectedAction: Aktionen per PIN oder Muster schützen

Hallo Community

Ich möchte Euch mein Modul ProtectedAction vorstellen. Es ist ab sofort im Beta-Kanal des Module Stores verfügbar. Über ein paar weitere Tester würde ich mich freuen.

ProtectedAction führt hinterlegte Scriptaktionen nach Eingabe einer PIN oder eines Musters aus. Alternativ kann es zu einem Ziel in der Visualisierung navigieren, auch zu einer normalerweise ausgeblendeten Kategorie. Das Ziel öffnet sich nur auf dem Client, auf dem die Eingabe erfolgt ist.

Anwendungsbeispiele: Wartungsscripte, die nicht jeder versehentlich auslösen sollte, geschützte Konfigurationsseiten für die Haussteuerung. Und wer seine geheime Sammlung historischer Heizkurven vor neugierigen Blicken schützen möchte, findet bestimmt ebenfalls eine Verwendung. :wink:

Was das Modul mitbringt:

  • Zahlenpad mit festen oder durcheinander gewürfelten Ziffernpositionen.

  • Mustereingabe mit Finger, Stift oder Maus.

  • Verschlüsselte Speicherung des vollständigen Aktionsscripts samt Parametern beziehungsweise des Navigationsziels.

  • Konfigurierbare Verzögerungen und dauerhafte Sperre nach Fehlversuchen.

  • Entsperren mit einem separaten Super-PIN, über das Zahlenpad oder direkt per API.

  • Optionale Codebindung: Zusätzlicher Schutz bei Änderungen am Modulcode oder Erhalt der Registrierungen bei kompatiblen Updates.

Das Aktionsscript wird bei der Registrierung importiert. Sein Original wird danach nicht mehr benötigt und kann gelöscht werden. Der Zugangscode wird nicht in einer Symcon-Variable veröffentlicht.

Bei mir läuft das Modul unter macOS, auf iPad und iPhone bisher zuverlässig. Auch Symcon-Neustart und Symcon-Update sind getestet. Interessant wären insbesondere Erfahrungen mit Android und mehreren gleichzeitig geöffneten Clients.

Wichtig: ProtectedAction bringt einiges mit, um Zugangscodes und hinterlegte Aktionen zu schützen: authentifizierte Verschlüsselung, aufwendige Schlüsselableitung und optional eine Bindung an den Modulcode. Trotzdem ist es in erster Linie ein Komfortschutz und kein Ersatz für echte Zugriffskontrolle. Meinen Bitcoin-Schlüssel würde ich ihm nicht anvertrauen. :wink:

Die Einrichtung, Anwendungsbeispiele, API und Sicherheitsgrenzen sind im deutschen README beschrieben.

Ich freue mich über Rückmeldungen, Fragen und Verbesserungsvorschläge.

Gruss
Ueli

1 „Gefällt mir“

Hallo zusammen

ProtectedAction ist jetzt in Version 1.2 im Beta-Kanal verfügbar. Seit der Vorstellung hat sich einiges getan.

Mehr Sicherheit

  • Jeder Versuch wird vor der Prüfung gezählt, auch wenn mehrere Eingaben gleichzeitig eintreffen. Die Fehlversuchssperre lässt sich damit nicht mehr durch parallele Anfragen umgehen.
  • Verzögerungen, dauerhafte Sperre und Wiederherstellungsversuche sind nach der ersten Registrierung eingefroren. Wer sie nachträglich hochsetzen will, muss zurücksetzen und verliert dabei alle Aktionen.
  • Der Super-PIN lässt sich nur einmal festlegen. Einfach einen neuen definieren und damit entsperren geht nicht mehr.
  • Die PIN wird in der Kachel gesammelt und als Ganzes übertragen. Andere Clients sehen weder die laufende Eingabe noch das Ergebnis. Ob jemand „PIN ungültig“ oder „Aktion ausgeführt“ bekommt, weiss nur die Kachel, auf der getippt wurde.
  • Ein leeres ENTER oder ein versehentlicher Tipp auf die Zeichenfläche zählt nicht mehr als Fehlversuch.

Neue Kachel

  • Ab Symcon 9.1 auch im Vollbild.
  • Tastenstil wählbar: rund, Pillen oder Kacheln.
  • Beschriftung ENTER/CLEAR oder OK/LÖSCHEN.
  • Musterspur markant, verblassend oder unsichtbar. Unsichtbar ist für alle, die einen Schulterblick befürchten.
  • Am Rechner geht die Eingabe auch über die Tastatur.

Komfort

  • Aktionen und Super-PIN lassen sich direkt in der Instanzkonfiguration registrieren. Kein Registrierungsscript mehr, in dem die PIN herumliegt.
  • Auf Wunsch zeigt die Kachel die Ausgabe des Aktionsscripts an, etwa eine kurze Bestätigung per echo.
  • Ein optionales Benachrichtigungsscript meldet Fehlversuche, Sperren, Entsperrungen und weitere Ereignisse, zum Beispiel als Push-Nachricht. Codes oder Details zur Aktion verrät es dabei nie.

Update von 1.1

  • Registrierungen ohne Codebindung werden automatisch übernommen.
  • Mit Codebindung zeigt die Instanz „Neuregistrierung erforderlich“. Dann einmal zurücksetzen und neu registrieren. Das ist genau der Zweck der Codebindung.

Noch ein Wort zur Einordnung: Für versteckte Menüs und Navigation ist mein HiddenMenu die schlankere Lösung. ProtectedAction spielt seine Stärken aus, wenn hinter der Eingabe ein Script steckt, das nicht jeder auslösen soll. Die Navigation zu Zielen bleibt natürlich drin. Am Komfortschutz ändert sich nichts, auch 1.2 bekommt meinen Bitcoin-Schlüssel nicht. Binance aber auch auch nicht.

Rückmeldungen interessieren mich besonders zum Vollbild-Modus, zu Android (konnte ich mangels Hardware nicht testen) und zu mehreren gleichzeitig geöffneten Clients.

Gruss Ueli