AegiDesk

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.

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.

Esquema de uma ligaçãoOs computadores de quem pede e de quem aceita ligam-se por um canal cifrado de ponta a ponta. Fora da rede local, os dados passam por um servidor que só os retransmite e não os consegue ler. Na rede local, a ligação é direta.Rede local: diretaCifrado de ponta a pontaServidorQuem pedeQuem aceita

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.