Я бы предложил использовать чистый контроль доступа для безопасности.
Использование криптографии с открытым ключом для защиты взаимодействия пользователей очень сложно и чревато более тонкими ловушками, чем просто потеря сообщения пользователями при сбросе паролей.
Например, даже если связь между пользователями защищена, вам все равно придется защитить своих пользователей от спама в ваших сервисных системах. Вы можете предварительно сканировать тексты сообщений, отправленных пользователями, прежде чем разрешить их получение другому пользователю, и это, безусловно, невозможно, если вы сначала шифруете пользовательские сообщения.
Чистый контроль доступа может получить право, системы могут быть защищены от известных атак хакеров, вам просто нужно прилагать все больше и больше усилий, чтобы следовать лучшим отраслевым практикам (например, использовать PKC для входа в свою учетную запись администратора на сервере, правильно настроить контроль доступа DAC и MAC). в вашей базе данных и т.д.)
Чистый контроль доступа может быть эффективным. Использование слишком большого количества криптографии может усложнить ваш аргумент безопасности; но контроль доступа часто более последователен и эффективен как при его настройке, так и при его применении.