Как я могу заставить eJabberd сохранять зашифрованные сообщения в базе данных (mod_mam) вместо хранения сообщений в виде обычного текста?

#erlang #xmpp #ejabberd #ejabberd-module

#erlang #xmpp #ejabberd #ejabberd-module

Вопрос:

Я создаю защищенную систему обмена сообщениями на основе сервера ejabberd. Но я понял, что ejabberd (модуль mod_mam) хранит архив сообщений в виде простого текста. Если база данных будет украдена (какая-то), чаты всех моих пользователей будут скомпрометированы. Как я могу включить шифрование сохраненных сообщений?

Ответ №1:

mod_mam или ejabberd не поддерживают ничего подобного. Вы можете настроить ejabberd на использование внешней базы данных SQL, если это вам поможет. Или вы можете указать своим пользователям использовать шифрование клиент-2-клиент…

Комментарии:

1. Внешняя база данных SQL? Я уже использую pgsql для данных ejabberd. Что вы имеете в виду?

2. Ах, хорошо. Тогда у меня больше нет идей.

Ответ №2:

Если вы хотите зашифровать свои данные в состоянии покоя, вы можете положиться на функции базы данных. Например, вы можете использовать pgcrypto для Postgres: https://www.postgresql.org/docs/current/pgcrypto.html

Комментарии:

1. Хорошая идея. Я должен это проверить.