O que o nosso ponto de encontro sabe sobre ti
Comecemos pelo básico. O nosso ponto de encontro sabe exatamente três coisas sobre ti: o teu nome de utilizador, o teu identificador único e um hash da tua palavra-passe. Um hash é uma transformação matemática irreversível — pode verificar que a tua palavra-passe está correta sem saber qual é. A tua verdadeira palavra-passe só existe na tua cabeça e no teu dispositivo.
Nada mais. Não guardamos com quem falas nem o que dizes. Os teus túneis e os nomes dos teus contactos só existem no teu dispositivo, cifrados, e o nosso ponto de encontro não os pode abrir mesmo que quisesse.
As caixas de correio
Imagina uma parede com caixas de correio numeradas, como numa estação de correios antiga. Quando a tua app quer ligar-se a alguém, deixa uma nota numa caixa de correio dizendo 'Quero falar com o utilizador X'. Nada mais. Não diz quem és. Não diz sobre o que queres falar. Apenas uma nota numa caixa de correio.
De vez em quando, todas as aplicações ligadas ao Solo2 verificam as caixas de correio para ver se alguém lhes deixou uma nota. É como passar pelos correios e perguntar: «Há algo para mim?». Se o teu contacto encontrar a tua nota, pede ao ponto de encontro o endereço IP que deixaste. Ele fornece-o. O endereço mantém-se na memória do servidor durante alguns segundos e nunca é escrito no disco.
A partir desse ponto, o ponto de encontro desaparece
Quando ambos os dispositivos sabem o endereço um do outro, falam diretamente entre si. O ponto de encontro já não participa. Se a ligação direta não for possível, as mensagens passam encriptadas pelo nosso espelho, que não guarda nada. Não as armazena. Não sabe se a ligação foi estabelecida ou não. Não sabe quanto tempo dura. Não sabe quantas mensagens são trocadas nem qual o seu tamanho.
Tanto que, se o ponto de encontro se desligasse nesse momento, numa ligação direta os dois utilizadores continuariam a falar exatamente da mesma forma. A conversa não depende dele. Só dependia dele para que os dois dispositivos se encontrassem. Uma vez ligados, é irrelevante.
A conversa é segura antes mesmo de começar
Quando duas pessoas criam um túnel no Solo2, os seus dispositivos trocam chaves criptográficas públicas. A partir desse momento, cada mensagem é encriptada com a chave do destinatário — e só o destinatário a pode desencriptar. Isto acontece antes de qualquer conversa começar. As chaves estão prontas desde o momento em que o túnel é criado.
Por isso, quando os dois dispositivos se ligam diretamente, a comunicação já está protegida. Não precisam de negociar nada. Não precisam de pedir permissão ao ponto de encontro. As chaves são suas, nos seus dispositivos, e mais ninguém as tem.
O que isto significa na prática
Que as tuas conversas não são guardadas em nenhum servidor. Não há uma base de dados de mensagens para piratear. Viajam cifradas do teu dispositivo para o da outra pessoa.
Da próxima vez que alguém te disser que uma aplicação «cifra as tuas mensagens de ponta a ponta», pergunta sobre todo o resto: quem conhece os teus contactos, a que horas falas, com que frequência. Se a resposta for «o nosso servidor, mas não o usamos para nada de mau», isso é uma promessa. No Solo2 a resposta é diferente: os teus contactos estão cifrados no teu dispositivo e não guardamos com quem falas nem o que dizes.