Come funziona la crittografia end-to-end di Whatsapp
Molte applicazioni di messaggistica criptano i messaggi solo tra te e loro, mentre la crittografia end-to-end di WhatsApp assicura che solo tu e la persona con cui stai comunicando possiate leggere ciò che viene inviato, e che non ci sia nessuno nel mezzo, nemmeno WhatsApp. Ciò avviene perché i messaggi sono protetti con un lucchetto, e solo tu e il tuo destinatario avete la chiave speciale necessaria per sbloccarli e leggerli. Per una maggiore protezione, ogni messaggio inviato ha un proprio lucchetto e una propria chiave unici. Tutto questo avviene automaticamente: non c’è bisogno di attivare alcuna impostazione o creare speciali chat segrete per proteggere i messaggi.
Parlare liberamente
Le chiamate WhatsApp permettono di parlare ad amici e famigliari, anche se si trovano in un altro Paese. Proprio come per i messaggi, le chiamate WhatsApp sono crittografate end-to-end cosicché WhatsApp e terze parti non possano ascoltarle.
I messaggi rimangono con te
I tuoi messaggi dovrebbero restare nelle tue mani. Ecco perché WhatsApp non memorizza i messaggi sui nostri server una volta consegnati, e, in ogni caso, con la crittografia end-to-end WhatsApp e terze parti non possono leggerli.
La crittografia end-to-end
WhatsApp consente di verificare che le chiamate che effettui e i messaggi che invii siano crittografati end-to-end. Basta cercare l’indicatore nelle info contatto o info gruppo.
Public Key Types • Identity Key Pair – A long-term Curve25519 key pair, generated at install time. • Signed Pre Key – A medium-term Curve25519 key pair, generated at install time, signed by the Identity Key, and rotated on a periodic timed basis. • One-Time Pre Keys – A queue of Curve25519 key pairs for one time use, generated at install time, and replenished as needed. Session Key Types • Root Key – A 32-byte value that is used to create Chain Keys. • Chain Key – A 32-byte value that is used to create Message Keys. • Message Key – An 80-byte value that is used to encrypt message contents. 32 bytes are used for an AES-256 key, 32 bytes for a HMAC-SHA256 key, and 16 bytes Calculates a master secret as master_secret = ECDH(Iinitiator, Srecipient) || ECDH(Einitiator, Irecipient) || ECDH(Einitiator, Srecipient) || ECDH(Einitiator, Orecipient). If there is no One Time Pre Key, the final ECDH is omitted. Calculating a Message Key from a Chain Key Each time a new Message Key is needed by a message sender, it is calculated as: 1. Message Key = HMAC-SHA256(Chain Key, 0x01). 2. The Chain Key is then updated as Chain Key = HMAC-SHA256(Chain Key, 0x02). Calculating a Chain Key from a Root Key Each time a message is transmitted, an ephemeral Curve25519 public key is advertised along with it. Once a response is received, a new Chain Key and Root Key are calculated as: 1. ephemeral_secret = ECDH(Ephemeralsender, Ephemeralrecipient). 2. Chain Key, Root Key = HKDF(Root Key, ephemeral_secret).
Tips & Tricks: Come Formattare il testo
Le diverse formattazioni del testo, comunemente usate quando si scrive da computer, non si aggiungono al testo con dei pulsanti appositi: per usarle bisogna inserire dei simboli nel testo, che Whatsapp convertirà nei diversi tipi di formattazione.
– Se volete scrivere in corsivo dovete inserire un trattino basso prima e dopo la parola che volete in corsivo _corsivo_
– Per scrivere in grassetto bisogna inserire un asterisco prima e dopo la parola da rendere in grassetto *grassetto*
– Per scrivere in barrato bisogna invece aggiungere il simbolo ~ prima e dopo la parola, quindi: ~barrato~
Le tre nuove formattazioni possono essere usate anche insieme sulla stessa parola, come si fa con parentesi quadre e tonde in matematica. Quindi se volete scrivere una parola in grassetto e in corsivo, prima e dopo quella parola dovete aggiungere trattino basso e asterisco: _*grassettocorsivo*_.