Все про OMEMO-шифрование в Jabber
Все, кто заботиться о конфиденциальности переписки в сети Интернет, знают что такое Jabber (Жаббер, XMPP), и (скорее всего) даже умеют шифровать переписку с помощью PGP и(или) OTR.
Cамый надежный протокол шифрования, используемый при общении в Jabber - OMEMO
OMEMO (XEP-0384) – это расширение для открытого протокола XMPP (Jabber), которое реализует сквозное шифрование для нескольких клиентов. OMEMO было разработано Андреасом Штраубом (Andreas Straub). OMEMO использует Olm, реализацию протокола Signal, для обмена ключами и для синхронизации сообщений между несколькими клиентами, даже если некоторые из них отключены. Имя OMEMO это рекурсивный акроним для "OMEMO Multi-End Message and Object Encryption" (OMEMO многоконечные сообщения и шифрование объектов). OMEMO кроме того базируется на протоколе Personal Eventing Protocol (PEP, XEP-0163) и предоставляет совершенную прямую секретность (Perfect Forward Secrecy) и правдоподобную отрицательность (Plausible Deniability).
Зачем нужно OMEMO-шифрование
OTR
Поддерживает совершенную прямую секретность и возможность отречения, но требует чтобы все участники были в сети.
PGP
Поддерживает оффлайн сообщения, но не предоставляет прямую секретность и отречение.
OMEMO
Реализует все три свойства:
- Поддержка оффлайн сообщений (включая шифрование файлов)
- Совершенная прямая секретность [wiki]
- Возможность отречения [wiki]
История
Протокол был разработан и реализован Андреасом Штраубом в 2015 году в рамках проекта Google-Summer-of-Code. Целью проекта была имплементация много конечного сквозного шифрования на базе Axolotl для Android мессенджера Conversations. Оно было встроено в Conversations осенью 2015 года и одновременно предложено Фонду стандартов XMPP (XMPP Standards Foundation, XSF) в качестве расширение (XMPP Extension Protocol, XEP), которое было принято как XEP-0384 в декабре 2016 года.
С сентября 2016 года спецификация OMEMO больше не использует протокол Signal, а вместо этого применяет собственную реализация Olm, написанную для сетевого протокола Matrix.
Совместимость
OMEMO-шифрование доступно почти во всех современных Jabber-клиентах.
Полный список клиентов, поддерживающих OMEMO-шифрование по ссылке:
https://omemo.top
Настройка Jabber-клиентов
Ссылки на статьи и плагины:
Pidgin (Windows/Linux/macOS)
Настройка Pidgin + lurch в Linux
Psi / Psi+ (Windows/Linux/macOS)
Скачать последнюю версию Psi
Скачать последнюю версию Psi+
Gajim (Windows/Linux)
Оффсайт
Monal (iOS/macOS)
Оффсайт
Conversations (Android)
Conversations - Настройка шифрованной конференции
ChatSecure (iOS)
Скачать ChatSecure в AppStore
Полезные ссылки
На русском:
https://ru.bmstu.wiki/OMEMO
https://ru.wikipedia.org/wiki/OMEMO
Список Jabber-серверов с поддержкой OMEMO
На английском:
https://conversations.im/omemo/
https://lwn.net/Articles/691315/