Vai al contenuto
Secret Knock

Un client SPA fwknop per iPhone, iPad, Mac e Apple Watch

fwknop sostituisce una sequenza facilmente indovinabile con un unico pacchetto crittografato e autenticato. Secret Knock crea quel pacchetto sul tuo dispositivo usando le tue chiavi e lo invia a fwknopd tramite UDP o HTTP.

Compatibile con fwknopd

Secret Knock invia la crittografia Rijndael (AES) di fwknop con un HMAC — SHA-256 per impostazione predefinita, con altri digest selezionabili — tramite UDP alla porta 62201 o a un'altra porta da te impostata, oppure come richiesta HTTP. Puoi richiedere l'accesso per l'indirizzo da cui proviene il pacchetto o indicare un altro indirizzo, nonché inviare messaggi in modalità comando fwknop se il tuo server li consente.

Configura il server

Genera una coppia di chiavi con fwknop --key-gen e inserisci entrambe le chiavi nel file access.conf del 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

Aggiungi la porta nell'app

  1. 1Nuova porta › Tipo: Pacchetto singolo (fwknop), oppure Inizia da un modello › fwknop.
  2. 2Incolla l'output di fwknop --key-gen con Incolla le chiavi oppure, su iPhone e iPad, acquisisci un codice QR delle chiavi.
  3. 3Oppure + › Importa da file e seleziona il tuo file .fwknoprc.
  4. 4Le chiavi restano nel Portachiavi; con la sincronizzazione attiva, vengono trasferite con crittografia end-to-end tramite il portachiavi iCloud ai tuoi dispositivi.

Tutti gli esempi su GitHub → Ogni configurazione di questa pagina, pronta da copiare: github.com/mobilcomm/secretknock-examples (di pubblico dominio).

Domande

Perché fwknop anziché knockd?

Una sequenza knockd viaggia in chiaro e può essere riutilizzata da chiunque la veda. Un pacchetto SPA è crittografato, autenticato e non può essere riutilizzato.

Apple Watch può inviare SPA autonomamente?

Sì, tramite HTTP: le app per Apple Watch non possono inviare UDP raw, quindi quando non è vicino all'iPhone, Apple Watch invia il pacchetto SPA come richiesta HTTP. Consulta la guida Apple Watch per la configurazione del server.

Guide per la tua configurazione