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 Aggiungi la porta nell'app
- 1Nuova porta › Tipo: Pacchetto singolo (fwknop), oppure Inizia da un modello › fwknop.
- 2Incolla l'output di fwknop --key-gen con Incolla le chiavi oppure, su iPhone e iPad, acquisisci un codice QR delle chiavi.
- 3Oppure + › Importa da file e seleziona il tuo file .fwknoprc.
- 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.