Indice
Double Ratchet (algoritmo)
L’algoritmo Double Ratchet è un algoritmo per la gestione delle chiavi crittografiche sviluppato per essere utilizzato all'interno di un protocollo crittografico per fornire crittografia end-to-end alla messaggistica istantanea.[1]
È stato creato nel 2013 da Trevor Perrin e Moxie Marlinspike di Open Whisper Systems per essere integrato nel protocollo crittografico Signal, che viene utilizzato dall'omonima applicazione di messaggistica istantanea.[2]
Si chiama così perché combina due algoritmi di ratchet (in italiano: "cricco", un dispositivo meccanico che consente la rotazione di una ruota dentata in un solo senso) ed è progettato per fornire sia la segretezza in avanti (se una chiave di sessione viene compromessa, i messaggi futuri rimangono sicuri grazie all'aggiornamento continuo delle chiavi di sessione) che la segretezza all'indietro (se una chiave di sessione viene compromessa, i messaggi passati rimangono sicuri grazie all'aggiornamento periodico della chiave di root).[3][4]
Funzionamento
[modifica | modifica wikitesto]Il primo dei due algoritmi di ratchet viene utilizzato per generare e aggiornare la chiave di sessione utilizzata per crittografare e decrittografare i messaggi. All'inizio della sessione crittografica le parti coinvolte scambiano una chiave di sessione iniziale utilizzando il protocollo Diffie-Hellman. Dopo ogni messaggio inviato, la chiave di sessione viene aggiornata mediante una funzione di derivazione della chiave. Questo garantisce che ogni messaggio sia crittografato con una chiave diversa, fornendo la segretezza in avanti.[5]
Il secondo ratchet viene utilizzato per aggiornare la chiave di root, che è utilizzata per derivare nuove chiavi di sessione. All'inizio della sessione le parti coinvolte scambiano anche una chiave di root iniziale. Questa viene aggiornata periodicamente utilizzando un nuovo scambio di chiavi Diffie-Hellman per garantire che se anche una chiave di sessione viene compromessa, le chiavi di sessione future rimangano sicure, fornendo la segretezza all'indietro. Questo aggiornamento avviene meno frequentemente rispetto all'aggiornamento della chiave di sessione.[6]
Note
[modifica | modifica wikitesto]- ^ Signal, come funziona e perché si differenzia da WhatsApp, su corriere.it.
- ^ Signal l’app per le chat più sicura che c’è, alternativa a WhatsApp e Telegram: come funziona e come si installa, su cybersecurity360.it.
- ^ (EN) Double Ratchet Algorithm, su knowledge.complexsecurity.io.
- ^ (EN) Double Ratchet Algorithm, su developer.virgilsecurity.com.
- ^ (EN) The Signal Protocol and the Double Ratchet algorithm, su valsamaras.medium.com.
- ^ (EN) Notes on Signal’s Double Ratchet Algorithm, su medium.com.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Specifiche ufficiali, su signal.org.
- (EN) Implementing Signal’s Double Ratchet algorithm, su nfil.dev.