O modelo de segurança

Recusa antes de descer de nível.

A cifra só vale as palavras que lhe dedicas se o cliente estiver disposto a desligar. Esta página é a cadeia inteira: o que transporta os pixels, o que prova que a máquina distante é a que pediste, o que o anfitrião decide à porta, e o que acontece quando alguma dessas coisas não bate certo.

A cadeia

Quatro camadas, e a última é uma recusa.

Cada uma delas é uma coisa distinta que pode falhar, e cada falha termina a sessão em vez de a continuar numa forma mais fraca. Todo o desenho cabe nessa frase.

  1. O transporte

    Texto cifrado no fio

    O fluxo é selado com XSalsa20-Poly1305 sob uma chave acordada apenas para aquela sessão. Um relay reencaminha bytes que não sabe ler e não guarda chave nenhuma que os abra.

    XSalsa20-Poly1305
  2. A prova

    Uma identidade assinada

    O servidor de rendezvous assina a identidade de cada ponta com uma chave Ed25519. O cliente verifica essa assinatura com a chave pública compilada dentro de si, e depois verifica se a identidade nela é o dispositivo que marcaste.

    Ed25519
  3. O acordo

    Uma chave por sessão

    Só depois de a prova se aguentar é que as duas pontas estabelecem a chave simétrica. Antes desse ponto não passa um pixel, uma tecla ou um ficheiro.

    1 chave · 1 sessão
  4. A recusa

    E nenhum ramo que continue

    Chave errada, identidade errada, tipo de mensagem errado, nenhuma resposta: o cliente aborta. Não há caminho que caia para texto em claro — que é precisamente o caminho a que um atacante apontaria.

    A sessão é recusada
À porta

Decide o anfitrião, sempre.

Tudo o que está acima trata de a máquina que estás a chamar ser a máquina certa. Isto trata de a pessoa que está à frente dela dizer que sim — e do que exatamente está a aceitar.

Um clique, não uma palavra-passe
Ligar o modo anfitrião obriga cada ligação de entrada a uma aceitação explícita na máquina a que se liga, mesmo vinda de quem chama com uma palavra-passe válida na mão. A palavra-passe leva-te à janela; para lá dela não te leva.
Cinco interruptores, antes de ser concedido o que quer que seja
Teclado, área de transferência, áudio, ficheiros, reinício. É o anfitrião que os põe para aquela ligação, no momento, e ficam totalmente fora do lado da mesa onde o visitante se senta.
Uma contagem decrescente, não uma oferta em aberto
Um pedido sem resposta expira. Não é preciso estar alguém à máquina para o recusar corretamente.
E um segundo fator, se o quiseres
Um código temporal verificado antes da aceitação, e uma lista dos dispositivos que passaram por ele. O Delta não pode acrescentar nada a essa lista: só um início de sessão com dois fatores bem-sucedido a partir desse equipamento o pode.
A janela de ligação recebida do Delta no anfitrião: nome e ID de quem entra, uma contagem decrescente, cinco interruptores de permissão para teclado, área de transferência, áudio, ficheiros e reinício, e os botões Recusar e Aceitar.
Modo anfitrião → uma ligação recebida
O que fica no sítio

As coisas que nunca saem.

Uma ferramenta de apoio vê de uma empresa mais do que quase qualquer outro software. A resposta honesta a «para onde vai» é quase sempre «para lado nenhum», e onde isso é verdade é verdade porque não existe o código que o enviaria.

  • As gravações

    Seladas com AES-256-GCM sob uma chave gerada para aquela gravação, e a chave é entregue ao porta-chaves do sistema operativo. O ficheiro em claro é apagado depois de o selado ser escrito. Não há caminho nenhum que leve a um carregamento.

  • O livro de endereços

    Um ficheiro no teu disco, exportado e restaurado por ti. Não existe cópia no servidor, porque não existe servidor para ele.

  • Estatísticas e histórico

    Escritos localmente a partir de sessões que aconteceram mesmo. Estão lá para que tu possas responder a uma pergunta sobre o mês passado, não para que possamos nós.

  • Chaves e tokens

    A chave do gateway e as das gravações vão para o porta-chaves do sistema, em vez de para um ficheiro de configuração ao lado dos dados que protegem.

O percurso

E o percurso fica na Europa.

Duas máquinas e algo pelo meio, quando a rede não as deixa falar diretamente. Sobre esse algo pelo meio quase todas as ferramentas se calam.

Direto primeiro
O Delta tenta uma ligação direta entre pares e só recorre ao relay quando a rede recusa. Menos saltos sempre que as portas o permitem.
Hardware nosso, na UE
Quando o relay é preciso, é relay-eu1.altovar.net: máquinas nossas, com uma imagem que construímos, dentro da UE. Mais ninguém está no meio da tua chamada.
Ou o teu
Aponta o Delta para um rendezvous e um relay geridos por ti, e ele fala com a tua infraestrutura em vez da nossa.
O cartão de Modo anfitrião do Delta na máquina a que se liga: modo anfitrião a correr e registado no rendezvous, e por baixo o ID de ligação.O cartão de Modo anfitrião do Delta na máquina a que se liga: modo anfitrião a correr e registado no rendezvous, e por baixo o ID de ligação.
Modo anfitrião — registado e pronto

O resto.

O modelo de segurança é uma página. O que o cliente faz depois com a sessão que protegeu é outra — e o que faz com a IA é outra ainda.