Ga naar inhoud
Secret Knock

Een fwknop SPA-client voor iPhone, iPad, Mac en Apple Watch

fwknop vervangt een te raden reeks door één versleuteld, geauthenticeerd pakket. Secret Knock bouwt dat pakket op je apparaat met je sleutels en stuurt het via UDP of HTTP naar fwknopd.

Compatibel met fwknopd

Secret Knock verstuurt de Rijndael-versleuteling (AES) van fwknop met een HMAC — standaard SHA-256, andere digests zijn selecteerbaar — via UDP naar poort 62201 of een andere poort die je instelt, of als HTTP-verzoek. Je kunt toegang aanvragen voor het adres waar het pakket vandaan komt of een ander adres opgeven, en fwknop-berichten in opdrachtmodus versturen als je server die toestaat.

De server configureren

Genereer een sleutelpaar met fwknop --key-gen en plaats beide sleutels in de access.conf van de server.

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

Voeg de deur toe in de app

  1. 1Nieuwe deur › Soort: Single Packet (fwknop), of Begin met een sjabloon › fwknop.
  2. 2Plak de uitvoer van fwknop --key-gen met 'Sleutels plakken vanuit fwknop --key-gen' — of scan op iPhone en iPad een QR-code van de sleutels.
  3. 3Of + › Importeer uit bestand en kies je .fwknoprc.
  4. 4Sleutels blijven in de sleutelhanger; als synchronisatie is ingeschakeld, worden ze end-to-end versleuteld via iCloud-sleutelhanger naar je eigen apparaten verstuurd.

Alle voorbeelden op GitHub → Elke configuratie op deze pagina, klaar om te kopiëren: github.com/mobilcomm/secretknock-examples (publiek domein).

Vragen

Waarom fwknop in plaats van knockd?

Een knockd-reeks wordt onversleuteld verstuurd en kan worden herhaald door iedereen die hem ziet. Een SPA-pakket is versleuteld, geauthenticeerd en kan niet worden herhaald.

Kan Apple Watch zelf SPA versturen?

Ja, via HTTP: Apple Watch-apps kunnen geen onbewerkte UDP versturen, dus buiten bereik van de iPhone verstuurt de Watch het SPA-pakket als HTTP-verzoek. Raadpleeg de Apple Watch-handleiding voor de serverkant.

Handleidingen voor je configuratie