Informazioni sulla chat

 

Come funziona?

X e l'app X Chat (maggiori dettagli di seguito e nel documento) includono la nuova funzionalità Messaggi Diretti ("Chat"). Quando si accede alla Chat per la prima volta, viene creata una coppia di chiavi pubblica-privata specifica per ciascun utente. Agli utenti viene richiesto di immettere un PIN (che non lascia mai il dispositivo), che viene utilizzato per conservare la chiave privata in modo sicuro nell'infrastruttura di X. Questa chiave privata può quindi essere recuperata da qualsiasi dispositivo se l'utente conosce il PIN. Oltre alle coppie di chiavi pubblica-privata, esiste una chiave per conversazione che viene utilizzata per crittografare il contenuto dei messaggi. Le coppie di chiavi pubblica-privata vengono utilizzate per scambiare in modo sicuro la chiave di conversazione tra gli utenti partecipanti.

Utilizziamo una combinazione di potenti schemi crittografici per crittografare ogni singolo messaggio, collegamento e reazione che fanno parte di una conversazione crittografata prima che lascino il dispositivo del mittente e rimangano crittografati durante l'archiviazione nell'infrastruttura di X. Una volta ricevuti dai dispositivi destinatari, i messaggi vengono decrittografati per potere essere letti dall'utente.

Puntiamo a rendere open source la nostra implementazione e a descrivere in dettaglio la tecnologia di crittografia tramite un white paper tecnico entro la fine dell'anno.

 

Chi è idoneo per utilizzare la chat?

Per inviare e ricevere messaggi di chat crittografati, gli utenti devono soddisfare le seguenti condizioni:

  • Sia il mittente che il destinatario sono registrati a Chat (1) nelle app X per iOS o Android o sul web oppure (2) hanno scaricato l'app X Chat e hanno effettuato l'accesso utilizzando le credenziali di accesso di X; e
  • Il destinatario    
    • segue il mittente o si abbona al mittente, ha inviato in precedenza un messaggio al mittente oppure ha già accettato un messaggio della Chat crittografato dal mittente; oppure
    • fa parte dello stesso Premium Business o della stessa Premium Organization del mittente.
 

Invio di richieste di messaggi di chat

Gli utenti potrebbero essere in grado di inviare una richiesta di messaggio non crittografato a un altro utente che non seguono se tale altro utente:

  • Ha scelto di ricevere messaggi di chat da chiunque; oppure
  • È Verificato e ha scelto di ricevere messaggi della Chat da altri utenti Verificati (e il mittente è un utente Verificato).

Se invii una richiesta di messaggio a un altro utente, queste richieste vengono mantenute separate dagli altri messaggi di chat fino a quando non vengono accettate, in modo simile ai messaggi diretti precedenti. Un utente destinatario può accettare la richiesta di continuare la conversazione, ignorare la conversazione o bloccare l'utente mittente. Le richieste di messaggi non sono crittografate finché l'utente non le accetta; a quel punto, entrambi gli utenti verranno informati dell'avvenuta crittografia della conversazione. Grok viene utilizzato per aiutare a classificare queste richieste di messaggi nelle caselle delle richieste di messaggi "Priorità" o "Nascoste".

 

Limiti alle richieste di messaggi

Il tuo livello di abbonamento determina il numero limite di richieste di messaggi che puoi inviare in un periodo di 24 ore. I limiti attuali sono i seguenti:

  • Premium Business: 500

  • Premium Plus: 75

  • Premium: 35

  • Gratuito: 7

Se desideri sbloccare un numero maggiore di richieste di messaggi, clicca qui per aggiornare il tuo livello di abbonamento.

 

Come inviare un messaggio della Chat?

Tocca il pulsante Scrivi messaggio e cerca un destinatario. Scrivi un messaggio e clicca su Invia.

Se l'utente a cui stai inviando il messaggio non è registrato alla chat, non avrà una chiave pubblica, quindi il messaggio verrà inviato in chiaro. La creazione di una nuova conversazione in X Chat viene comunicata tramite un'icona di lucchetto aperto accanto al pulsante Invia.

 

Registrazione / Cancellazione della registrazione

Gli utenti possono registrarsi a Chat entrando nella scheda Chat sulla barra degli strumenti oppure scaricando l'app X Chat, effettuando l'accesso a un account X esistente e seguendo le istruzioni. Verrà avviata la creazione di una coppia di chiavi pubblica-privata che potrà poi essere recuperata da qualsiasi dispositivo. Per rimuovere la chiave privata da un dispositivo, esci dall'account.

 

Limiti

Al momento, solo gli account X esistenti possono accedere all'app X Chat. Per creare un account X, scarica l'app X per iOS o Android oppure visita X.com/signup sul web e segui le istruzioni (ulteriori informazioni sono disponibili qui).

Accogliamo volentieri i vostri commenti e lavoriamo attivamente per migliorare ogni aspetto del prodotto, dall'esperienza utente alla sicurezza del protocollo.

A differenza di prima, ora i messaggi di gruppo e i contenuti multimediali possono essere crittografati.
 

Contenuti

Il contenuto di una conversazione della Chat crittografata è sempre crittografato, compresi eventuali link, contenuti multimediali o file. Anche le reazioni ai messaggi sono crittografate. È importante notare che, mentre il contenuto del messaggio è crittografato, i metadati associati (ad esempio, destinatario, ora di creazione, ecc.) non lo sono. Se i post vengono condivisi in una chat crittografata, X registrerà che tali post sono stati condivisi.
 

Nuovi dispositivi

Non esiste alcun limite al numero di dispositivi che possono utilizzare Chat su X.
 

Numeri di sicurezza

I numeri di sicurezza consentono di verificare l'identità della persona con cui stai chattando. Confronta i numeri di sicurezza con chiunque tu sia in chat. Dovrebbero combaciare!

Dal punto di vista tecnico, il numero di sicurezza viene ricavato dalla chiave pubblica di entrambe le persone nella chat. Ogni messaggio è firmato con la chiave pubblica dell'altra persona, il che significa che se i numeri di sicurezza corrispondono, i messaggi non possono provenire da nessun altro.
 

Segnalazione

È stata implementata e aggiunta la funzionalità di segnalazione dei messaggi. Tenendo premuto a lungo su un messaggio, hai la possibilità di segnalare un messaggio che ritieni violi una delle norme di X. Questa funzione di segnalazione invierà il messaggio, il suo contenuto e i metadati associati per consentire ai nostri agenti di effettuare una revisione ed eventualmente intraprendere azioni nei confronti dell'utente mittente. Per verificare che il messaggio segnalato sia stato effettivamente inviato tramite il sistema di chat, verrà utilizzata una tecnica crittografica anche nota come message franking. Puoi continuare a inviare una segnalazione sull'account stesso e il nostro team la esaminerà.

Per impedire a qualcuno di inviarti messaggi della Chat crittografati, non seguirlo oppure, se hai già avuto una conversazione tramite Messaggio Diretto con quell'utente, bloccalo.
 

Disconnessione e memorizzazione delle chiavi

Se in qualsiasi momento esci da X, tutti i messaggi, anche i messaggi Chat crittografati sul dispositivo corrente saranno eliminati; questo non avrà alcun effetto sugli altri dispositivi sui quali sei connesso. Ricorda che se hai effettuato l'accesso sia all'app X che all'app X Chat, devi disconnetterti da entrambe le app affinché i messaggi sul tuo dispositivo vengano eliminati.

Dopo aver effettuato il logout, X cancellerà tutte le chiavi private e le chiavi di conversazione, a meno che tu non abbia utilizzato l'opzione del codice di accesso gestito dal dispositivo, nel qual caso il codice di accesso viene memorizzato nel tuo portachiavi iCloud (solo per dispositivi iOS). Se accedi nuovamente sullo stesso dispositivo, il tuo dispositivo sarà in grado di recuperare e decifrare le conversazioni crittografate utilizzando la chiave privata a cui aveva accesso prima di disconnetterti.

Se non ricordi il codice di accesso, puoi reimpostarlo da qualsiasi dispositivo su cui stai già utilizzando la chat. Se non riesci a effettuare il ripristino da un dispositivo su cui hai effettuato l'accesso, non potrai recuperare la cronologia delle conversazioni crittografate. Miglioreremo questa limitazione nel prossimo futuro.
 

Segretezza in avanti

Se la chiave privata di un dispositivo registrato viene compromessa, un aggressore potrebbe decrittografare tutti i messaggi della Chat crittografati inviati e ricevuti da quel dispositivo. In altre parole, questa implementazione non include la funzione di forward secrecy. Stiamo lavorando su meccanismi che consentano la rotazione delle chiavi private per offrire tale funzione in futuro.

 

Eliminazione di messaggi crittografati

La chat consente agli utenti di "annullare l'invio" di un messaggio, rimuovendolo dalla posta in arrivo del destinatario. Ciò è possibile solo per i messaggi crittografati.  Eliminare o abbandonare una conversazione crittografata non impedirà all'altra persona di inviarti un messaggio diretto (crittografato o meno) in futuro.

Quando elimini un messaggio o una conversazione crittografati (inviati o ricevuti), i dati verranno eliminati immediatamente dal tuo dispositivo (e subito dopo da tutti gli altri tuoi dispositivi). Non potrai più visualizzarlo. Ricorda che il destinatario potrebbe ancora vedere il messaggio crittografato o la conversazione crittografata che hai eliminato.

 

Messaggi crittografati a scomparsa

Chat offre una nuova funzionalità chiamata messaggi a scomparsa, che consente all'utente di selezionare un intervallo di tempo dopo il quale i messaggi verranno eliminati dal dispositivo e dai server di X. Per impostare la durata, vai alla schermata delle informazioni sulla conversazione e tocca il menu "Messaggi a scomparsa".

Modifica con Grok / Chiedi a Grok / Grok Companion

Puoi modificare un'immagine con Grok o chiedere a Grok di analizzare il tuo messaggio. Seleziona l'immagine o il messaggio e apri il menu contestuale. Seleziona "Chiedi a Grok" per aprire l'immagine o il messaggio selezionato nella scheda Grok. Tieni presente che una volta inviato a Grok, l'immagine o il testo non saranno più crittografati (i contenuti della conversazione originale saranno ancora crittografati).

In chat, puoi anche chattare con un Grok Companion. Sebbene il messaggio sia crittografato end-to-end, alla fine Grok dovrà decifrarlo affinché il Compagno possa leggerlo e rispondere. Puoi leggere di più su Grok qui.

 

Altre caratteristiche degne di nota

  • Inviti alle chat di gruppo: Crea facilmente una conversazione di gruppo creando un link pubblico e condividendolo direttamente con altri utenti o sulla tua Timeline. Gli utenti che cliccano sul link e richiedono di unirsi verranno aggiunti solo se fornisci la tua approvazione e gli amministratori possono attivare e disattivare il link di invito alla chat di gruppo in qualsiasi momento. Gli avatar personalizzati e il nome della chat di gruppo non saranno crittografati e saranno disponibili pubblicamente.
  • Note vocali: Registra una nota vocale selezionando l'icona audio a destra della casella di testo. Una volta registrata la nota vocale, seleziona il pulsante di arresto. Gli utenti possono ascoltare la nota vocale prima di inviarla nella conversazione.

Dove sono memorizzate le mie chiavi private?

Le Chat crittografate end-to-end su X richiedono che ogni utente abbia una coppia di chiavi privata-pubblica. Questa coppia di chiavi consente di scambiare in modo sicuro i segreti della conversazione, crittografando i messaggi dal mittente al destinatario. Una delle principali sfide della crittografia end-to-end è la conservazione sicura della chiave privata, che se diventa accessibile consentirebbe a soggetti terzi di leggere i tuoi messaggi.

Molte app archiviano le chiavi private solo sul tuo dispositivo, ma questo può rendere difficile accedere alle tue chat da più dispositivi, cosa che non corrisopnde all'esperienza che la maggior parte degli utenti X si aspetta.

Per ovviare a questo problema, X utilizza il protocollo open-source Juicebox per archiviare in modo sicuro la chiave privata nel cloud, mantenendola al contempo protetta. Il protocollo Juicebox suddivide la tua chiave segreta in più parti, che vengono archiviate su server indipendenti (chiamati "realm"). La tua chiave può essere recuperata solo utilizzando il PIN che hai impostato quando hai attivato le chat crittografate: questo PIN non lascia mai il tuo dispositivo.

Nell'implementazione di X:

  • Le diverse parti della chiave sono archiviate in tre realm Juicebox, tutti attualmente gestiti da X.

  • Due di questi sono realm protetti da hardware che utilizzano moduli di sicurezza hardware (HSM) per crittografare i dati prima che vengano memorizzati.

  • Per recuperare la chiave sono necessarie almeno due delle tre parti, per garantire che almeno una provenga sempre da un realm protetto da hardware per una maggiore sicurezza.

Abbiamo pubblicato i dettagli sulla configurazione della chiave per questi realm hardware qui: Chat HSM Realm Key Ceremony.

X può accedere alle mie chat indovinando il mio PIN?

No, il protocollo Juicebox è progettato per prevenire attacchi forzati, anche se qualcuno controlla tutti i realm.

I reami supportati da hardware includono un contatore di tentativi integrato con un limite rigoroso. Per le Chat, questo limite è fissato a 20 tentativi errati. Una volta raggiunto il limite, le parti della chiave diventano inaccessibili in via definitiva. Questa protezione viene applicata crittograficamente tramite una struttura ad albero di Merkle, in cui la radice è archiviata in modo sicuro nell'enclave protetta dell'HSM. Il software in esecuzione sugli HSM è di tipo open source ed è disponibile qui: https://github.com/juicebox-systems/juicebox-hsm-realm

Questo significa che neppure X può indovinare o forzare il tuo PIN per recuperare la tua chiave privata e accedere alle tue chat.

In futuro, prevediamo di offrire agli utenti più opzioni, come la possibilità di scegliere i realm gestiti da diverse organizzazioni al fine di distribuire ulteriormente la fiducia e la custodia autonoma delle chiavi.

Per maggiori dettagli tecnici sul protocollo Juicebox, visita juicebox.xyz/blog.

Il protocollo delle Chat è sicuro?

Il protocollo delle Chat è stato verificato da un soggetto terzo e i risultati sono pubblicati qui: https://github.com/trailofbits/publications/blob/master/reviews/2025-10-x-xchat-securityreview.pdf

 

Domande?

Postaci su @XEng!

Condividi questo articolo