Sobre o Chat

 

Como funciona?

O X e o aplicativo X Chat (mais detalhes abaixo e ao longo do texto) incluem um novo recurso de mensagens diretas ("Chat"). Ao entrar no Chat pela primeira vez, um par de chaves privada e pública é criado especificamente para cada usuário. Os usuários são solicitados a inserir um PIN (que nunca sai do dispositivo), que é usado para manter a chave privada armazenada com segurança na infraestrutura do X. Essa chave privada pode então ser recuperada de qualquer dispositivo se o usuário souber o PIN. Além dos pares de chaves pública e privada, existe uma chave por conversa que é usada para criptografar o conteúdo das mensagens. Os pares de chaves privadas e públicas são usados para trocar a chave de conversação de forma segura entre os usuários participantes.

Empregamos uma combinação de esquemas criptográficos robustos para criptografar cada mensagem, link e reação que fazem parte de uma conversa criptografada antes que eles saiam do dispositivo do remetente e permaneçam criptografados enquanto armazenados na infraestrutura do X. Quando as mensagens forem recebidas pelos dispositivos do destinatário, elas serão descriptografadas para que possam ser lidas pelo usuário.

Pretendemos disponibilizar o código-fonte da nossa implementação e descrever detalhadamente a tecnologia de criptografia através de um relatório técnico ainda este ano.

 

Quem pode usar o Chat?

Os usuários precisam atender as condições a seguir para enviar e receber mensagens criptografadas do Chat:

  • Tanto o remetente quanto o destinatário inscreveram-se no Chat (1) no aplicativo do X para iOS ou Android ou na web ou (2) fizeram download do aplicativo X Chat e acessaram usando o login e as credenciais do X; e
  • O destinatário    
    • segue ou assina ao remetente, enviou uma mensagem ao remetente anteriormente ou aceitou uma mensagem criptografada do Chat do remetente antes; ou
    • é um membro da mesma Organização Premium Business ou Premium como remetente.
 

Envio de solicitações de mensagens de bate-papo

Os usuários podem conseguir enviar uma solicitação de mensagem não criptografada para outro usuário que eles não seguem, se esse outro usuário:

  • Optou por receber mensagens de bate-papo de qualquer pessoa; ou
  • É verificado e optou por receber mensagens do Chat de outros usuários verificados (e o remetente é um usuário verificado).

Se você enviar uma solicitação de mensagem para outro usuário, essas solicitações serão mantidas separadas das outras mensagens do Chat até serem aceitas, de forma semelhante às mensagens diretas antigas. Um usuário destinatário pode aceitar a solicitação para continuar a conversa, ignorar a conversa ou bloquear o usuário remetente. As solicitações de mensagem não estão criptografadas até que o usuário aceite a solicitação, e a partir daí ambos os usuários serão informados quando a conversa tornar-se criptografada. O Grok é usado para ajudar a classificar essas solicitações de mensagem em caixas de entrada de solicitações de mensagens como "Prioridade" ou "Oculto".

 

Limites de solicitações de mensagem

De acordo com seu nível de assinatura, você tem um limite de solicitações de mensagem que pode enviar em um período de 24 horas. Os limites atuais são os seguintes:

  • Empresarial Premium: 500

  • Premium Plus: 75

  • Premium: 35

  • Grátis: 7

Se desejar desbloquear mais solicitações de mensagem, clique aqui para fazer upgrade de seu nível de assinatura.

 

Como enviar uma mensagem de chat criptografada?

Toque no botão "Escrever mensagem" e procure um destinatário. Escreva uma mensagem e clique em enviar.

Se o usuário com quem você está enviando mensagens não estiver cadastrado no Chat, ele não terá uma chave pública e, portanto, a mensagem será enviada sem criptografia. Ao criar uma nova conversa do X Chat, isso será indicado por um ícone de desbloqueio ao lado do botão enviar.

 

Inscrição / Cancelamento de inscrição

Os usuários podem se inscrever no Chat entrando na aba Chat na barra de ferramentas ou fazendo download do aplicativo X Chat. Depois, entrando em uma conta existente do X e seguindo as instruções. Isso iniciará a criação de um par de chaves pública e privada que poderá ser recuperado de qualquer dispositivo. Para remover sua chave privada de um dispositivo, saia da conta.

 

Limitações

Nesse momento, somente contas existentes do X podem entrar no aplicativo do X Chat. Para criar uma conta do X, faça download do aplicativo X para iOS ou Android ou acesse X.com/signup na web e siga as instruções (informações adicionais podem ser encontradas aqui).

Agradecemos o feedback e estamos trabalhando ativamente para aprimorar todos os aspectos do produto, desde a experiência do usuário até a segurança do protocolo.

Diferentemente do que acontecia antes, agora é possível criptografar mensagens de grupo e arquivos de mídia.
 

Conteúdo

O conteúdo de uma conversa criptografada no Chat é sempre criptografado, o que inclui qualquer link, mídia ou arquivos. As reações às mensagens também são criptografadas. É importante observar que, embora o conteúdo da mensagem em si seja criptografado, os metadados associados (por exemplo, destinatário, horário de criação etc.) não são. Se forem compartilhados posts em uma conversa criptografada no Chat, o X terá um registro que esses posts foram compartilhados.
 

Dispositivos novos

Não há limite para o número de dispositivos que podem usar o Chat no X.
 

Números de segurança

Os números de segurança são uma forma de você verificar se o seu bate-papo é com quem você pensa que é. Compare os números de segurança com qualquer pessoa com quem você quer ter um chat com. Deveriam combinar!

Do ponto de vista técnico, o número de segurança é derivado da chave pública de ambas as pessoas no chat. Cada mensagem é assinada com a chave pública da outra pessoa, o que significa que, se os números de segurança coincidirem, as mensagens não poderiam ter vindo de mais ninguém.
 

Denúncias

A denúncia de mensagens foi criada e adicionada como um recurso. Ao clicar e segurar uma mensagem, você tem a opção de denunciar uma mensagem se acredita que ela viola alguma política do X. Essa função de relatório enviará a mensagem, seu conteúdo e os metadados associados para permitir que nossos agentes realizem uma análise e, potencialmente, tomem medidas contra o usuário remetente. Para verificar se a mensagem denunciada foi realmente enviada pelo sistema do Chat, uma técnica criptográfica, conhecida como "message franking", será utilizada para fazer a determinação final. Você pode prosseguir para fazer uma denúncia sobre uma conta em si e nossa equipe analisará. 

Para impedir que alguém lhe envie mensagens criptografadas no Chat, não siga essa pessoa ou, se você já tiver mantido uma conversa por mensagem direta com esse usuário, bloqueie.
 

Logout e backup de chaves

A qualquer momento que você sair do X, todas as mensagens, inclusive mensagens criptografadas do Chat, em seu dispositivo atual serão excluídas; isso não afetará nenhum outro dispositivo no qual você está conectado. Observe que se você estiver conectado no aplicativo do X e no Chat, você deve sair de ambos os aplicativos para que as mensagens em seu dispositivo sejam excluídas.

Ao encerrar a sessão, o X apagará todas as chaves privadas e chaves de conversa, a menos que você tenha usado a opção de senha gerenciada pelo dispositivo — nesse caso, a senha será armazenada no seu iCloud Keychain (somente para dispositivos iOS). Se você fizer login novamente no mesmo dispositivo, ele poderá recuperar e descriptografar as conversas criptografadas usando a chave privada à qual o dispositivo tinha acesso antes de você sair da conta.

Se você não se lembra da senha, pode redefini-la em qualquer dispositivo que já esteja usando para acessar o Chat. Se não for possível redefinir a partir de um dispositivo conectado, você não poderá recuperar seu histórico de conversas criptografadas. Melhoraremos essa limitação em um futuro próximo.
 

Sigilo futuro

Se a chave privada de um dispositivo registrado for comprometida, um invasor poderia descriptografar todas as mensagens criptografadas do Chat que foram enviadas e recebidas pelo dispositivo. Em outras palavras, esta implementação não é "segura contra ataques futuros". Estamos trabalhando em mecanismos para permitir a rotação de chaves privadas, a fim de oferecer alguma segurança contra ataques futuros.

 

Exclusão de mensagens criptografadas

O chat permite que os usuários "desfaçam o envio" de uma mensagem, o que a removerá da caixa de entrada do destinatário. Isso só é possível para mensagens criptografadas.  Excluir ou sair de uma conversa criptografada não impedirá que a outra pessoa lhe envie uma mensagem direta (criptografada ou não) no futuro.

Ao excluir uma mensagem ou conversa criptografada (enviada ou recebida), os dados serão apagados instantaneamente do seu dispositivo (e logo em seguida, de todos os seus outros dispositivos). Você não poderá mais visualizá-lo. Note que o destinatário ainda poderá ver a mensagem ou conversa criptografada que você tiver excluído.

 

Mensagens criptografadas que desaparecem

O Chat oferece um novo recurso chamado mensagens temporárias, que permite que um usuário selecione um tempo de duração, após o qual as mensagens serão excluída do dispositivo e nos servidores do X. Para definir a duração, acesse a tela de informações da conversa e toque no menu "Mensagens temporárias".

Edite com Grok / Pergunte ao Grok / Companheiros Grok

Você pode editar uma imagem com o Grok ou pedir ao Grok para analisar sua mensagem. Selecione a imagem ou mensagem e abra o menu de contexto. Selecione "Pergunte ao Grok" para abrir a imagem ou mensagem selecionada na guia Grok. Note que, após o envio para o Grok, a imagem ou o texto deixa de ser criptografado (o conteúdo da conversa original permanece criptografado).

No Chat, você também pode conversar com um Companheiro Grok. Embora seja criptografado de ponta a ponta, o Grok precisará descriptografar sua mensagem para que o Companheiro possa lê-la e responder. Você pode ler mais sobre Grok aqui.

 

Recursos adicionais de destaque

  • Convites de grupo do Chat: crie facilmente conversas de grupo criando um link público e compartilhando-o diretamente com outros usuários ou em sua timeline. Os usuários que clicarem no link e solicitarem a entrada poderão ser adicionados somente mediante aprovação, e os administradores podem ativar ou desativar o link de convite de grupo do Chat a qualquer momento. Avatares personalizados e o nome do grupo do Chat serão descriptografados e disponíveis publicamente.
  • Notas de voz: Grave uma nota de voz selecionando o ícone de áudio à direita da caixa de texto. Após a gravação, selecione o botão de parar. Os usuários podem ouvir a mensagem de voz antes de enviá-la na conversa.

Onde estão armazenadas minhas chaves privadas?

As conversas criptografadas de ponta a ponta no X exigem que cada usuário possua um par de chaves pública e privada. Esse par de chaves ajuda a trocar informações sigilosas na conversa com segurança que criptografam suas mensagens do remetente ao destinatário. Um dos principais desafios da criptografia de ponta a ponta é o armazenamento seguro da chave privada, pois o acesso a ela permitiria que alguém lesse suas mensagens.

Muitos aplicativos armazenam chaves privadas somente no seu dispositivo, mas isso pode dificultar o acesso fácil aos Chats em múltiplos dispositivos, que não é a experiência que a maioria dos usuários do X espera.

Para resolver isso, o X usa um protocolo do Juicebox de código aberto para armazenar com segurança sua chave privada na nuvem e, ao mesmo tempo, mantê-la protegida. O protocolo do Juicebox divide sua chave privada em vários compartilhamentos, que são armazenados em servidores independentes (chamados "realms"). Sua chave só pode ser recuperada usando o PIN que você definiu ao ativar os Chats criptografados - esse PIN nunca sai do seu dispositivo.

Na implementação do X:

  • Suas chaves compartilhadas são armazenadas em três realms do Juicebox, todas atualmente operadas pelo X.

  • Dois deles são realms protegidos por hardware que usam os Módulos de Segurança de Hardware (HSMs) para criptografar seus dados antes de serem armazenados.

  • A recuperação de suas chaves exige pelo menos dois de três compartilhamentos, garantindo que pelo menos um sempre venha de um realm protegido por hardware para segurança adicional.

Publicamos detalhes sobre a cerimônia de configuração de chave para esses realms de hardware aqui: Cerimônia de chave do realm de HSM do Chat.

O X pode acessar meus Chats ao descobrir meu PIN?

Não. O protocolo do Juicebox foi desenvolvido para evitar ataques de força bruta, mesmo se alguém controlar todos os realms.

Os realms protegidos por hardware incluem um contador de descobertas integrado com um limite rigoroso. Para Chats, este limite é definido como 20 tentativas incorretas. Após o limite ser atingido, os compartilhamentos de chave tornam-se permanentemente inacessíveis. Esta proteção é aplicada de forma criptografada usando uma estrutura de árvore de Merkle, onde a raiz é armazenada com segurança no enclave protegido do HSM. O software sendo executado no HSMs tem o código aberto aqui: https://github.com/juicebox-systems/juicebox-hsm-realm.

Isso significa que nem mesmo o X consegue descobrir ou forçar seu PIN a recuperar sua chave privada e acessar seus Chats.

No futuro, planejamos oferecer mais opções aos usuários, como escolher realms operados por diferentes organizações para distribuir ainda mais confiança e custódia privada de chaves.

Para mais detalhes técnicos sobre o protocolo do Juicebox, acesse juicebox.xyz/blog.

O protocolo do Chat é seguro?

O protocolo do Chat foi auditado por um terceiro, e os resultados foram publicados aqui: https://github.com/trailofbits/publications/blob/master/reviews/2025-10-x-xchat-securityreview.pdf

 

Dúvidas?

Poste-nos @XEng!

Compartilhe este artigo