Ứng dụng khách fwknop SPA dành cho iPhone, iPad, Mac và Apple Watch
fwknop thay thế một chuỗi dễ đoán bằng một gói được mã hóa và xác thực. Secret Knock tạo gói đó trên thiết bị của bạn bằng các khóa của bạn rồi gửi đến fwknopd qua UDP hoặc HTTP.
Tương thích với fwknopd
Secret Knock gửi mã hóa Rijndael (AES) của fwknop cùng HMAC — SHA-256 theo mặc định, có thể chọn các hàm băm khác — qua UDP đến cổng 62201 hoặc một cổng khác do bạn đặt, hoặc dưới dạng yêu cầu HTTP. Bạn có thể yêu cầu quyền truy cập cho địa chỉ nguồn của gói hoặc chỉ định một địa chỉ khác, và gửi thông điệp ở chế độ lệnh fwknop nếu máy chủ của bạn cho phép.
Thiết lập máy chủ
Tạo một cặp khóa bằng fwknop --key-gen rồi đặt cả hai khóa vào access.conf của máy chủ.
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 Thêm cửa trong ứng dụng
- 1Cửa mới › Loại: Gói đơn (fwknop), hoặc Bắt đầu từ mẫu › fwknop.
- 2Dán đầu ra của fwknop --key-gen bằng Dán khóa — hoặc trên iPhone và iPad, quét mã QR chứa các khóa.
- 3Hoặc + › Nhập từ tệp và chọn .fwknoprc của bạn.
- 4Khóa được lưu trong Chuỗi khóa; khi bật đồng bộ hóa, chúng được mã hóa đầu cuối qua Chuỗi khóa iCloud đến các thiết bị của riêng bạn.
Tất cả ví dụ trên GitHub → Mọi cấu hình trên trang này, sẵn sàng để sao chép: github.com/mobilcomm/secretknock-examples (phạm vi công cộng).
Câu hỏi
Tại sao dùng fwknop thay vì knockd?
Một chuỗi knockd được truyền không mã hóa và có thể bị phát lại bởi bất kỳ ai nhìn thấy nó. Gói SPA được mã hóa, xác thực và không thể bị phát lại.
Apple Watch có thể tự gửi SPA không?
Có, qua HTTP: các ứng dụng Apple Watch không thể gửi UDP thô, vì vậy khi không ở gần iPhone, Apple Watch gửi gói SPA dưới dạng yêu cầu HTTP. Hãy xem hướng dẫn Apple Watch để biết phần thiết lập phía máy chủ.