OMEMO

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

OMEMO (XEP-0384) — это расширение для открытого протокола XMPP, которое реализует сквозное шифрование для нескольких клиентов. 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 года. Архивная копия от 29 января 2016 на Wayback Machine
  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. Архивная копия от 25 января 2016 на Wayback Machine
  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 года. Архивная копия от 7 апреля 2016 на Wayback Machine
  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.

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