İçeriğe atla
Secret Knock

iPhone, iPad, Mac ve Apple Watch için bir fwknop SPA istemcisi

fwknop, tahmin edilebilir bir sırayı şifrelenmiş ve kimliği doğrulanmış tek bir paketle değiştirir. Secret Knock, bu paketi anahtarlarınızla aygıtınızda oluşturur ve UDP veya HTTP üzerinden fwknopd'ye gönderir.

fwknopd ile uyumlu

Secret Knock, fwknop'un Rijndael (AES) şifrelemesini bir HMAC ile — varsayılan olarak SHA-256, başka özetler seçilebilir — UDP üzerinden 62201 bağlantı noktasına veya belirlediğiniz başka bir bağlantı noktasına ya da HTTP isteği olarak gönderir. Paketin geldiği adres için erişim isteyebilir veya başka bir adres belirtebilir; sunucunuz izin veriyorsa fwknop komut modu mesajları da gönderebilirsiniz.

Sunucuyu ayarlayın

fwknop --key-gen ile bir anahtar çifti oluşturun ve her iki anahtarı da sunucunun access.conf dosyasına koyun.

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

Uygulamada kapıyı ekleyin

  1. 1Yeni kapı › Tür: Tek Paket (fwknop) veya Şablondan başla › fwknop.
  2. 2fwknop --key-gen çıktısını “fwknop --key-gen anahtarlarını yapıştır” ile yapıştırın ya da iPhone ve iPad'de anahtarların QR kodunu tarayın.
  3. 3Ya da + › Dosyadan içe aktar seçeneğini kullanın ve .fwknoprc dosyanızı seçin.
  4. 4Anahtarlar Anahtar Zinciri'nde kalır; eşzamanlama açıkken, iCloud Anahtar Zinciri üzerinden kendi aygıtlarınıza uçtan uca şifrelenmiş olarak aktarılırlar.

GitHub’daki tüm örnekler → Bu sayfadaki tüm yapılandırmalar, kopyalamaya hazır: github.com/mobilcomm/secretknock-examples (kamu malı).

Sorular

Neden knockd yerine fwknop?

Bir knockd sırası açık olarak iletilir ve onu gören herkes tarafından yeniden oynatılabilir. Bir SPA paketi şifrelenir, kimliği doğrulanır ve yeniden oynatılamaz.

Apple Watch SPA'yı tek başına gönderebilir mi?

Evet, HTTP üzerinden: Apple Watch uygulamaları ham UDP gönderemez; bu nedenle iPhone'dan uzaktayken Watch, SPA paketini HTTP isteği olarak gönderir. Sunucu tarafı için Apple Watch kılavuzuna bakın.

Kurulumunuza yönelik kılavuzlar