Segurança
Como funciona a autorização de cada ligação, o que o servidor vê e os casos contra os quais o AegiDesk não protege.
Consentimento
Cada ligação pergunta à pessoa que está no computador. O botão predefinido é Recusar, e um pedido sem resposta em 60 segundos é recusado. A janela mostra quem pede e se o dispositivo é novo ou conhecido. Um dispositivo lembrado continua a precisar de autorização em cada ligação.
Em pré-lançamento Enquanto alguém está ligado, o computador mostra um aviso sempre visível, com um botão para terminar a sessão.
Em pré-lançamento O controlo de rato e teclado é uma permissão à parte, pedida na mesma janela, e pode ser retirado a qualquer momento. Quem está no computador tem prioridade sobre o rato e o teclado remotos.
Código de verificação
Os dois ecrãs mostram o mesmo código de 6 dígitos. Se forem diferentes, alguém pode estar a intercetar o pedido: não aceite e termine a ligação.
Cada computador fixa a sua parte do código antes de conhecer a do outro. Quem tentar intercetar a ligação não consegue escolher um código que coincida nos dois ecrãs.
Cifragem e identidade
Os dois computadores provam a sua identidade com chaves Ed25519, sobre TLS 1.3 em QUIC. A ligação é cifrada de ponta a ponta e não existe modo sem cifragem. Se a identidade de um computador conhecido mudar, o AegiDesk avisa e interrompe a ligação.
O servidor Em pré-lançamento
Para ligar pelo ID fora da rede local, o servidor só apresenta os dispositivos uns aos outros e retransmite dados cifrados que não consegue ler. Na rede local não é preciso servidor.
O servidor não participa na verificação de identidades. Cada computador confere a chave do outro, e o código de verificação tem de coincidir mesmo quando a ligação passa pelo servidor.
O que fica registado
Os pedidos, aceites ou recusados, e as sessões ficam registados no computador que é partilhado.
Limites conhecidos
O AegiDesk não protege contra estes casos:
- ataques que exigem já ter código a correr com a mesma conta do Windows;
- acesso físico a um computador desbloqueado;
- engenharia social que leve o dono do computador a clicar em Permitir;
- negação de serviço por inundação da rede.
Ainda não há versões estáveis. O protocolo e o formato dos dados guardados podem mudar entre pré-lançamentos.
Comunicar uma vulnerabilidade
Não divulgue o problema em público. Use a comunicação privada de vulnerabilidades e indique a versão afetada, o problema e o seu impacto, e como o reproduzir, sem código destrutivo.
Abrir o formulário privado no GitHub
Objetivos de resposta: confirmação em 7 dias, avaliação inicial em 14 dias, correção ou mitigação de problemas graves ou críticos em 30 dias.