Сравнение типов шифрования OTR и OMEMO в протоколе XMPP (Jabber)

Добро пожаловать на наш форум!

Спасибо за посещение нашего сообщества. Пожалуйста, зарегистрируйтесь или войдите, чтобы получить доступ ко всем функциям.


Gibby

Автор
Команда проекта

Регистрация
Сообщений
2,013
Репутация
54
Сделок
1.png
В данной статье я приведу сравнение 2х самых популярных алгоритма шифрования для XMPP – OTR и OMEMO

Шифрование играет решающую роль в обеспечении безопасного обмена сообщениями. В XMPP (Jabber) есть 3 типа шифрования, OTR, OMEMO и OpenPGP, в данной статье мы сравним OMEMO и OTR, поскольку с OpenPGP и так всё понятно


Начнем с рассмотрения OTR

OTR - это криптографический протокол, обеспечивающий сквозное шифрование сообщений между 2мя собеседниками, идеальную прямую секретность (PFS) и правдоподобное отрицание.

Рассмотрим более подробно, как работает OTR

Процесс начинается с обмена ключами между двумя собеседниками. OTR использует для этого алгоритм Диффи-Хеллмана, который позволяет генерировать общий секрет по незащищенному каналу, не раскрывая его третьим лицам. Он используется в качестве основы для шифрования и дешифрования сообщений.

После его создания протокол OTR запускает сеанс между двумя сторонами. Во время этого процесса собеседники устанавливают определенные параметры, такие как алгоритмы шифрования и ключи, которые будут использоваться для защиты переписки.

Отправленные сообщения шифруются с помощью симметричного алгоритма шифрования AES (Advanced Encryption Standard), использующий общий секрет. Это гарантирует, что сообщение не может быть расшифровано третьей стороной, перехватившей сообщение.

OTR использует коды аутентификации сообщений (MAC) для проверки целостности и подлинности сообщений. MAC генерируются с помощью криптографических хэш-функций и отправляются вместе с зашифрованным сообщением. Получив сообщение, получатель может проверить MAC, чтобы убедиться, что сообщение не было подделано во время передачи.

Как упоминалось выше, одной из особенностей сквозного шифрования OTR является идеальная прямая секретность. Каждое сообщение шифруется уникальным сеансовым ключом, полученным из общего секрета. Если злоумышленнику удается получить один сеансовый ключ, он не может использовать его для расшифровки прошлых или будущих сообщений, что обеспечивает дополнительный уровень безопасности.

OTR также предлагает возможность правдоподобного отрицания, что означает, что сторона может отрицать отправку определенного сообщения, даже если оно может быть расшифровано и проверено получателем. Это достигается путем генерации "отрицаемого MAC", который позволяет правдоподобно отрицать происхождение сообщения.


Теперь перейдем к OMEMO

OMEMO
- это криптографический протокол, который обеспечивает сквозное шифрование, синхронизацию сообщений и идеальную прямую секретность. OMEMO является современной и надежной альтернативой протоколу OTR. Он разработан для обеспечения безопасного шифрования и расшифровки сообщений собеседников, даже если они перехвачены злоумышленником.

OMEMO в XMPP предполагает использование нескольких ключевых компонентов: Signal Protocol, алгоритм Double Ratchet и шифрование на основе эллиптических кривых.

Signal Protocol предусматривает сквозное шифрование сообщений, которыми обмениваются пользователи, это надежный протокол для безопасного обмена сообщениями, который обеспечивает конфиденциальность, целостность и подлинность сообщений. OMEMO использует Signal Protocol для установки зашифрованной сессии между двумя пользователями, обеспечивая безопасное шифрование и дешифрование сообщений, которыми они обмениваются.

Double Ratchet - это алгоритм обмена ключами, применяющийся для генерации сеансовых ключей. Double Ratchet разработан для обеспечения идеальной прямой секретности и правдоподобного отрицания (аналогично OTR)

OMEMO использует криптографию эллиптических кривых (ECDH) для обеспечения того, чтобы сеансовые ключи, используемые для шифрования и расшифровки сообщений, были уникальными для двух пользователей, участвующих в переписке.

В отличиии от OTR, OMEMO поддерживает передачу файлов в зашифрованном виде

Теперь сравним эти 2 алгоритма.


Недостатки OTR:
1. OTR поддерживается не всеми XMPP-клиентами.

2. OTR не обеспечивает синхронизацию сообщений, что затрудняет отслеживание пользователями своих переписок.


Преимущества OMEMO:
1. OMEMO обеспечивает лучшую безопасность, чем OTR, благодаря использованию современных алгоритмов шифрования и протоколов.

2. OMEMO позволяет пользователям получать доступ к своим перепискам с нескольких устройств.

3. Передача файлов в зашифрованном виде

4. OMEMO является нативным протоколом шифрования для XMPP и поддерживатся “из коробки” современными XMPP-клиентами, такими как Gajim, Dino, Monal и Conversations.

5. OMEMO поддерживает многопользовательские чаты
 
Сверху