У меня есть приложение Firebase, которое состоит из групповых чатов. и я хочу реализовать сквозное шифрование. До сих пор я пытался опустить стратегию до
1) Создать секретный ключ (AES) для группы для шифрования / дешифрования текстов
2) Создать ключ RSA для отдельных пользователей
3) шифрование секретного ключа AES с использованием публичного c ключа RSA пользователя и дешифрование с использованием личного ключа
Я хочу сохранить ключ AES на сервере с помощью шифрования, а затем разрешить пользователю получать этот ключ AES через API и использовать для шифрования / дешифрования сообщений
AESKEY (в зашифрованном виде) ---> (расшифровать в обычный текст (это задача - как расшифровать это на стороне сервера) ----> шифровать с помощью publi c ключ пользователя) ----> отправить пользователю
Проблема, с которой я сталкиваюсь, заключается в том, что я зашифровал AESKEY на сервере, используя мой ключ publi c, но когда пользователь запрашивает AESKEY, мое приложение может быть отключено, поэтому в конечном итоге пользователь не получит расшифрованный AESKEY
Я думал сохранить AESKEY на сервере с помощью шифрования, и по запросу пользователя я выполняю задачу шифрования / дешифрования на самом сервере.