Accéder au contenu
Secret Knock

Un client SPA fwknop pour iPhone, iPad, Mac et Apple Watch

fwknop remplace une séquence devinable par un paquet chiffré et authentifié. Secret Knock crée ce paquet sur votre appareil avec vos clés et l’envoie à fwknopd via UDP ou HTTP.

Compatible avec fwknopd

Secret Knock envoie le chiffrement Rijndael (AES) de fwknop avec un HMAC — SHA-256 par défaut, avec d’autres condensats sélectionnables — via UDP sur le port 62201 ou un autre port que vous définissez, ou sous la forme d’une requête HTTP. Vous pouvez demander l’accès pour l’adresse dont provient le paquet ou indiquer une autre adresse, et envoyer des messages en mode commande fwknop si votre serveur les autorise.

Configurer le serveur

Générez une paire de clés avec fwknop --key-gen et placez les deux clés dans le fichier access.conf du serveur.

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

Ajouter la porte dans l’app

  1. 1Nouvelle porte › Type : Paquet unique (fwknop), ou Commencer à partir d’un modèle › fwknop.
  2. 2Collez la sortie de fwknop --key-gen avec Coller les clés — ou, sur iPhone et iPad, numérisez un code QR contenant les clés.
  3. 3Ou + › Importer depuis un fichier, puis choisissez votre fichier .fwknoprc.
  4. 4Les clés restent dans le trousseau ; lorsque la synchronisation est activée, elles sont transférées avec un chiffrement de bout en bout via le trousseau iCloud vers vos propres appareils.

Tous les exemples sur GitHub → Toutes les configurations de cette page, prêtes à copier : github.com/mobilcomm/secretknock-examples (domaine public).

Questions

Pourquoi fwknop plutôt que knockd ?

Une séquence knockd circule en clair et peut être reproduite par toute personne qui l’observe. Un paquet SPA est chiffré, authentifié et ne peut pas être rejoué.

L’Apple Watch peut-elle envoyer une SPA seule ?

Oui, via HTTP : les apps Apple Watch ne peuvent pas envoyer d’UDP brut ; lorsqu’elle est éloignée de l’iPhone, l’Apple Watch envoie donc le paquet SPA sous la forme d’une requête HTTP. Consultez le guide Apple Watch pour la configuration côté serveur.

Guides pour votre configuration