Vai al contenuto

OMEMO

Da Wikipedia, l'enciclopedia libera.
Logo di OMEMO

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

[modifica | modifica wikitesto]

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.[1]

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.[2][3]

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.[4]

Supporto dai client

[modifica | modifica wikitesto]

Client selezionati che supportano OMEMO (esiste anche un elenco completo dei client [5] ):

Supporto dalle librerie

[modifica | modifica wikitesto]
  • Smack supporta OMEMO utilizzando i due moduli smack-omemo e smack-omemo-signal [9]
  • XMPPFramework (macOS, iOS, tvOS) [10] supporta OMEMO tramite l'estensione OMEMOModule [11] se utilizzato in combinazione con la libreria SignalProtocol-ObjC [12] .
  1. (EN) OMEMO Multi-End Message and Object Encryption, su conversations.im. URL consultato il 22 gennaio 2019.
  2. ChatSecure iOS v3.2.3 - XMPP Push, su chatsecure.org, 25 luglio 2016. URL consultato il 7 settembre 2016.
  3. ChatSecure v4.0 - OMEMO and Signal Protocol, su chatsecure.org, 17 gennaio 2017. URL consultato il 7 febbraio 2017.
  4. (EN) OMEMO: Cryptographic Analysis Report (PDF), su conversations.im. URL consultato il 2016-06.
  5. (EN) Are we OMEMO yet?, su omemo.top. URL consultato il 22 gennaio 2019.
  6. chatsecure.org. URL consultato il 17 gennaio 2017.
  7. (EN) GitHub Converse.js, su github.com. URL consultato il 20 novembre 2019.
  8. dino.im. URL consultato il 6 novembre 2017.
  9. (EN) Paul Schaub, Smack v4.2 Introduces OMEMO Support!, su community.igniterealtime.org. URL consultato l'11 luglio 2017.
  10. GitHub XMPPFramework
  11. GitHub XMPPFramework OMEMO module
  12. GitHub SignalProtocol-ObjC

Collegamenti esterni

[modifica | modifica wikitesto]