Pular para o conteúdo
Secret Knock

Um cliente SPA do fwknop para iPhone, iPad, Mac e Apple Watch

O fwknop substitui uma sequência que pode ser adivinhada por um único pacote criptografado e autenticado. O Secret Knock cria esse pacote no seu dispositivo com suas chaves e o envia ao fwknopd por UDP ou HTTP.

Compatível com fwknopd

O Secret Knock envia a criptografia Rijndael (AES) do fwknop com um HMAC — SHA-256 por padrão, com outros resumos selecionáveis — por UDP à porta 62201 ou a outra porta que você definir, ou como uma solicitação HTTP. Você pode solicitar acesso para o endereço de onde o pacote é enviado ou indicar outro endereço, além de enviar mensagens do modo de comando do fwknop caso seu servidor as permita.

Configure o servidor

Gere um par de chaves com fwknop --key-gen e coloque ambas as chaves no access.conf do servidor.

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

Adicione a porta no app

  1. 1Nova porta › Tipo: Pacote único (fwknop), ou Começar com um modelo › fwknop.
  2. 2Cole a saída de fwknop --key-gen com Colar chaves — ou, no iPhone e iPad, escaneie um código QR das chaves.
  3. 3Ou + › Importar de arquivo e selecione seu .fwknoprc.
  4. 4As chaves permanecem nas Chaves do sistema; com a sincronização ativada, elas são transferidas com criptografia de ponta a ponta pelas Chaves do iCloud para seus próprios dispositivos.

Todos os exemplos no GitHub → Todas as configurações desta página, prontas para copiar: github.com/mobilcomm/secretknock-examples (domínio público).

Perguntas

Por que fwknop em vez de knockd?

Uma sequência do knockd é transmitida em texto aberto e pode ser reproduzida por qualquer pessoa que a veja. Um pacote SPA é criptografado, autenticado e não pode ser reproduzido.

O Apple Watch pode enviar SPA sozinho?

Sim, por HTTP: apps do Apple Watch não podem enviar UDP bruto, portanto, longe do iPhone, o Watch envia o pacote SPA como uma solicitação HTTP. Consulte o guia do Apple Watch para saber como configurar o servidor.

Guias para sua configuração