Przejdź do treści
Secret Knock

Klient fwknop SPA dla iPhone’a, iPada, Maca i Apple Watch

fwknop zastępuje sekwencję, którą można odgadnąć, jednym zaszyfrowanym i uwierzytelnionym pakietem. Secret Knock tworzy ten pakiet na Twoim urządzeniu przy użyciu Twoich kluczy i wysyła go do fwknopd przez UDP lub HTTP.

Zgodność z fwknopd

Secret Knock wysyła szyfrowanie Rijndael (AES) fwknop z HMAC — domyślnie SHA-256, z możliwością wyboru innych skrótów — przez UDP na port 62201 lub inny ustawiony przez Ciebie port albo jako żądanie HTTP. Możesz zażądać dostępu dla adresu, z którego pochodzi pakiet, lub wskazać inny adres, a także wysyłać komunikaty trybu poleceń fwknop, jeśli serwer na to pozwala.

Skonfiguruj serwer

Wygeneruj parę kluczy za pomocą fwknop --key-gen i umieść oba klucze w pliku access.conf na serwerze.

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

Dodaj drzwi w aplikacji

  1. 1Nowe drzwi › Rodzaj: Pojedynczy pakiet (fwknop) albo Zacznij od szablonu › fwknop — Single Packet Authorization.
  2. 2Wklej dane wyjściowe fwknop --key-gen za pomocą opcji „Wklej klucze z fwknop --key-gen” — albo na iPhonie i iPadzie zeskanuj kod QR z kluczami.
  3. 3Albo + › Importuj z pliku i wybierz swój plik .fwknoprc.
  4. 4Klucze pozostają w pęku kluczy; gdy synchronizacja jest włączona, są przesyłane między Twoimi urządzeniami z pełnym szyfrowaniem na całej trasie przez pęk kluczy iCloud.

Wszystkie przykłady na GitHubie → Każda konfiguracja z tej strony, gotowa do skopiowania: github.com/mobilcomm/secretknock-examples (domena publiczna).

Pytania

Dlaczego fwknop zamiast knockd?

Sekwencja knockd jest przesyłana otwartym tekstem i może zostać odtworzona przez każdego, kto ją zobaczy. Pakiet SPA jest zaszyfrowany, uwierzytelniony i nie można go odtworzyć.

Czy Apple Watch może samodzielnie wysyłać SPA?

Tak, przez HTTP: aplikacje na Apple Watch nie mogą wysyłać surowych pakietów UDP, dlatego poza zasięgiem iPhone’a zegarek wysyła pakiet SPA jako żądanie HTTP. Informacje o konfiguracji po stronie serwera znajdziesz w przewodniku po Apple Watch.

Przewodniki dotyczące Twojej konfiguracji