OMEMO è un'estensione dell'Extensible Messaging and Presence Protocol (XMPP) per la crittografia end-to-end multi-client sviluppata da Andreas Straub. Secondo Straub, OMEMO utilizza l'algoritmo Double Ratchet "per fornire una crittografia da multi-end a multi-end, consentendo la sincronizzazione sicura dei messaggi tra più client, anche se alcuni di essi non sono in linea". Il nome "OMEMO" è un acronimo ricorsivo che sta per "OMEMO Multi-End Message and Object Encryption".
È uno standard aperto basato sull'algortimo Double Ratchet e sul Personal Eventing Protocol (PEP, XEP-0163).
OMEMO offre segretezza futura e negabilità con la sincronizzazione dei messaggi e la consegna offline.
Caratteristiche Rispetto a OTR, il protocollo OMEMO offre chat crittografate molti-a-molti, accodamento dei messaggi offline, forward secrecy, trasferimento di file, verificabilità e negabilità a scapito di un overhead leggermente più grande delle dimensioni dei messaggi.
Storia Il protocollo è stato sviluppato e implementato per la prima volta da Andreas Straub come progetto al Google Summer of Code del 2015. L'obiettivo del progetto era quello di implementare uno schema di crittografia da multi-end a multi-end basato sull'algoritmo Double Ratchet in un client per Android di messaggistica istantanea basato su XMPP, chiamato Conversations.
È stato introdotto in Conversations e presentato alla XMPP Standards Foundation (XSF) come XMPP Extension Protocol (XEP) proposto nell'autunno 2015 ed è stato accettato come XEP-0384 a dicembre 2016.
Nel luglio 2016, il progetto ChatSecure ha annunciato che avrebbero implementato OMEMO nelle versioni successive. ChatSecure v4.0 supporta OMEMO ed è stato pubblicato il 17 gennaio 2017.
Una prima versione sperimentale di un plugin OMEMO per il client XMPP multipiattaforma Gajim è stata resa disponibile il 26 dicembre 2015.
Nel giugno 2016, la società di consulenza di sicurezza informatica no profit Radically Open Security ha pubblicato un'analisi del protocollo OMEMO.
Supporto dai client Client selezionati che supportano OMEMO (esiste anche un elenco completo dei client ):
BeagleIM (macOS) ChatSecure (iOS) Conversations (Android) Converse.js (basato su browser) Dino (Linux, macOS) Gajim tramite plugin ufficiale (Linux, Windows, BSD) Monal (iOS) Psi tramite plugin ufficiale (Linux, Windows, macOS) Psi + tramite plugin ufficiale (Linux, Windows, macOS, Haiku, FreeBSD) client libpurple come Pidgin o Finch tramite plugin sperimentali Adium tramite un Xtra basato sul plugin libpurple Profanity tramite plugin sperimentale (BSD, Linux, macOS, Windows) SiskinIM (iOS)
Supporto dalle librerie Smack supporta OMEMO utilizzando i due moduli smack-omemo e smack-omemo-signal XMPPFramework (macOS, iOS, tvOS) GitHub XMPPFramework supporta OMEMO tramite l'estensione OMEMOModule GitHub XMPPFramework OMEMO module se utilizzato in combinazione con la libreria SignalProtocol-ObjC GitHub SignalProtocol-ObjC .
Note
Collegamenti esterni
XEP-0384: Crittografia OMEMO (sperimentale)
OMEMO Top - Elenco dei client di messaggistica istantanea che supportano OMEMO
Categoria:Messaggistica istantanea Categoria:Protocolli crittografici Categoria:Software per la sicurezza informatica liberi Categoria:Standard Internet