Zum Inhalt springen
Secret Knock

Ein fwknop SPA-Client für iPhone, iPad, Mac und Apple Watch

fwknop ersetzt eine erratbare Sequenz durch ein verschlüsseltes, authentifiziertes Paket. Secret Knock erstellt dieses Paket mit deinen Schlüsseln auf deinem Gerät und sendet es über UDP oder HTTP an fwknopd.

Kompatibel mit fwknopd

Secret Knock sendet die Rijndael-(AES-)Verschlüsselung von fwknop mit einem HMAC — standardmäßig SHA-256, andere Digests sind auswählbar — über UDP an Port 62201 oder einen anderen von dir festgelegten Port oder als HTTP-Anfrage. Du kannst Zugriff für die Adresse anfordern, von der das Paket stammt, oder eine andere Adresse angeben und fwknop-Nachrichten im Befehlsmodus senden, wenn dein Server dies erlaubt.

Server einrichten

Erstelle mit fwknop --key-gen ein Schlüsselpaar und trage beide Schlüssel in die access.conf des Servers ein.

SOURCE              ANY
OPEN_PORTS          tcp/22
KEY_BASE64          <output of fwknop --key-gen>
HMAC_KEY_BASE64     <output of fwknop --key-gen>
FW_ACCESS_TIMEOUT   30
/etc/fwknop/access.conf

Tür in der App hinzufügen

  1. 1Neue Tür › Art: Einzelpaket (fwknop) oder Mit einer Vorlage starten › fwknop — Single Packet Authorization.
  2. 2Füge die Ausgabe von fwknop --key-gen mit „Schlüssel aus fwknop --key-gen einfügen“ ein — oder scanne auf iPhone und iPad einen QR-Code mit den Schlüsseln.
  3. 3Oder + › Aus Datei importieren und deine .fwknoprc auswählen.
  4. 4Schlüssel bleiben im Schlüsselbund; bei aktivierter Synchronisierung werden sie Ende-zu-Ende-verschlüsselt über den iCloud-Schlüsselbund an deine eigenen Geräte übertragen.

Alle Beispiele auf GitHub → Jede Konfiguration auf dieser Seite, kopierbereit: github.com/mobilcomm/secretknock-examples (gemeinfrei).

Fragen

Warum fwknop statt knockd?

Eine knockd-Sequenz wird unverschlüsselt übertragen und kann von allen wiederholt werden, die sie sehen. Ein SPA-Paket ist verschlüsselt, authentifiziert und kann nicht wiederholt werden.

Kann Apple Watch SPA eigenständig senden?

Ja, über HTTP: Apple Watch-Apps können kein rohes UDP senden. Wenn die Watch nicht in der Nähe des iPhone ist, sendet sie das SPA-Paket als HTTP-Anfrage. Informationen zur Serverseite findest du im Apple-Watch-Leitfaden.

Anleitungen für dein Setup