Empresa Novo Vector, cuja equipe também lidera uma organização sem fins lucrativos para o protocolo Matrix, anunciou o lançamento de uma série de clientes Matrix da família Riot.
Matrix é um protocolo aberto para a implementação de uma rede federativa, baseada em um histórico linear de eventos (events) dentro de um grafo acíclico (DAG). A principal implementação desse protocolo é um mensageiro com suporte a sinalização VoIP, mas outras funcionalidades são possíveis, já que se trata de um protocolo de uso geral.
A principal mudança nos clientes lançados para navegador e wrapper Electron (1.6.0), Android (0.19.0) e iOS (0.11.1-0.11.2) foi a inclusão de criptografia de ponta a ponta para diálogos pessoais por padrão. A criptografia é possibilitada pelo protocolo Olm, que é baseado no protocolo do mensageiro Signal. A criptografia de diálogos em grupo utiliza uma extensão do protocolo chamada Megolm, que permite decifrar a mensagem várias vezes.
A primeira implementação opcional de criptografia foi apresentada em 2016. A inclusão por padrão em versões experimentais ocorreu durante o FOSDEM 2020.
Desde o primeiro lançamento, as seguintes funcionalidades de criptografia foram introduzidas:
- o cliente pode solicitar chaves para decifrar mensagens de outros clientes do usuário ou de clientes interlocutores;
- um armazenamento de chaves de criptografia do cliente foi adicionado, criptografado com uma frase secreta;
- além da verificação de dispositivos por impressão digital (fingerprint), a verificação por meio de símbolos emoji também foi introduzida.
No futuro, está planejada a inclusão de criptografia por padrão não apenas para diálogos pessoais, mas também para salas não públicas em geral, incluindo grupos.
Também é mencionado:
- a introdução de uma nova interface para criptografia;
- verificação de dispositivos com códigos QR;
- pesquisa em histórico de mensagens criptografadas;
- e a estabilização final do funcionamento.
A pesquisa em salas criptografadas já está disponível através da extensão Radical para Firefox.
Para facilitar o trabalho com chaves de criptografia, os desenvolvedores do protocolo Matrix apresentaram um mecanismo chamado "confirmação cruzada" (cross-signing). Ele permite que, utilizando um dispositivo já verificado, outros dispositivos do usuário sejam automaticamente verificados. Com o funcionamento desse mecanismo, duas partes precisam verificar seus dispositivos apenas uma vez, em vez de fazer isso para cada dispositivo separadamente. A especificação do mecanismo pode ser lida no GitHub.
Além do Riot, outros clientes também suportam criptografia: FluffyChat, nheko Reborn, clientes em libQuotient (WIP), clientes em mautrix-go (gomuks), clientes em matrix-nio (Mirage e WeeChat), Seaglass (abandonado). Outras implementações estão em desenvolvimento. Para clientes sem suporte à criptografia, é oferecido um daemon para proxy E2EE — pantalaimon.
Fonte: linux.org.ru
