OMEMO

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Логотип

OMEMO (XEP-0384) – это расширение для открытого протокола XMPP ("Jabber"), которое реализует сквозное шифрование для нескольких клиентов. OMEMO было разработано Андреасом Штраубом (Andreas Straub). OMEMO использует Olm, реализацию протокола Signal, для обмена ключами и для синхронизации сообщений между несколькими клиентами, даже если некоторые из них отключены.[1] Имя OMEMO это рекурсивный акроним для "OMEMO Multi-End Message and Object Encryption" (OMEMO многоконечные сообщения и шифрование объектов). OMEMO кроме того базируется на протоколе Personal Eventing Protocol (PEP, XEP-0163) [2] и предоставляет совершенную прямую секретность (Perfect Forward Secrecy) и правдоподобное отрицание (англ. plausible deniability).

Значение[править | править код]

Самый распространенный способ шифрования для мессенджеров, OTR, тоже поддерживает совершенную прямую секретность и правдоподобное отрицание, но требует чтобы все участники были в сети. OpenPGP поддерживает оф-лайн сообщения, но не предоставляет прямую конфиденциальность и правдоподобие. Olm и, соответственно, OMEMO поддерживают все три требования.[2][3]

Кроме того, существующие решения шифрования мессенджеров, такие как OTR, подвергались критике за отсутствие в них интеграции XMPP. Разработчики Empathy, официальный мессенджер оболочки Gnome, указали это как причину из-за которой эта часто желаемая функция[4] не была встроена.[5] Благодаря интеграции в чат протоколы, OMEMO является улучшением в этом отношении.

История[править | править код]

Протокол был разработан и реализован Андреасом Штраубом в 2015 году в рамках проекта Google-Summer-of-Code. Целью проекта была имплементация многоконечного сквозного шифрования на базе Axolotl для Android мессенджера Conversations[6]. Оно было встроено в Conversations осенью 2015 года и одновременно предложено Фонду стандартов XMPP (XMPP Standards Foundation, XSF) в качестве расширение (XMPP Extension Protocol, XEP), которое было принято как XEP-0384 в декабре 2016 года.

С сентября 2016 года спецификация OMEMO больше не использует протокол Signal, а вместо этого применяет собственную реализацию Olm, написанную для сетевого протокола Matrix.[7]

В октябре 2015 года проект ChatSecure объявил, что планирует создать свой шифрующий мессенджер на основе «Conversations» и работать над мессенджер OMEMO для iOS.[8] Эта поддержка OMEMO доступна с января 2017 года.[9]

Первая экспериментальная версия расширения OMEMO для кросс-платформенного клиента XMPP Gajim была опубликована 26 декабря 2015 года.[10]

Поддержка клиентов[править | править код]

Поддержка библиотек[править | править код]

  • Smack предлагает экспериментальную поддержку посредством двух модулей smack-omemo + smack-omemo-signal[19]

Примечания[править | править код]

  1. Andreas Straub OMEMO Encryption (нем.) (25. Oktober 2015). Дата обращения 23 ноября 2015. Архивировано 29 января 2016 года.
  2. GPN16 – Axolotl erklärt – Wie funktioniert die Crypto hinter Signal und Whatsapp
  3. Webseite von OMEMO, siehe Abschnitt Feature Comparison, abgerufen am 16.
  4. US$ 621.42 bounty on FreedomSponsors: Telepathy should support OTR encryption (нем.). FreedomSponsors. Дата обращения 19 января 2016.
  5. Eric Hopper Empathy and OTR (нем.). Journal of Omnifarious (31. August 2009). Дата обращения 18 января 2016.
  6. https://www.google-melange.com/archive/gsoc/2015/orgs/xmpp
  7. XEP-0384: OMEMO Encryption – Appendix H: Revision History (нем.). Дата обращения 22 января 2017.
  8. Chris Ballinger ChatSecure, Conversations and Zom (нем.). ChatSecure (2. Oktober 2015). Дата обращения 19 января 2016.
  9. ChatSecure v4.0 – OMEMO and Signal Protocol (нем.). chatsecure.org. Дата обращения 17 января 2017.
  10. 1 2 Omemogajimplugin · Wiki · gajim / gajim-plugins · GitLab.
  11. Cryptocat – Security (нем.). crypto.cat. Дата обращения 22 сентября 2016. Архивировано 7 апреля 2016 года.
  12. Dino – Modern Jabber/XMPP Client using GTK+/Vala. dino.im.
  13. OMEMO for Psi · GitHub.
  14. Psi+ snapshots.
  15. profanity-omemo-plugin (нем.). Дата обращения 22 января 2017.
  16. Richard Bayerle. lurch – OMEMO for libpurple. Дата обращения 14 февраля 2017.
  17. mancho / libpurple-omemo-plugin. Дата обращения 24 марта 2017.
  18. Zom mobile messenger (нем.). Дата обращения 19 сентября 2017.
  19. Paul Schaub Ignite Realtime Blog: Smack v4.2 Introduces OME… | Ignite Realtime (неопр.). Дата обращения 11 июля 2017.

Ссылки[править | править код]