Я создаю серверное приложение, которое требует, чтобы данные хранились в базе данных в зашифрованном виде. Когда клиент обращается к данным, они также должны передаваться в зашифрованном виде. Каждый клиент имеет уникальный логин.
Моя оригинальная идея сделать это - хранить данные, зашифрованные с помощью симметричного алгоритма, такого как AES. Поэтому, когда клиент хочет получить доступ к данным, зашифрованные данные передаются клиенту, а ключ шифруется открытым ключом от клиента.
Это безопасный способ хранения и передачи данных или есть лучшее решение этой проблемы?
Обновление: если следовать предложению Сёрена сохранить копию ключа AES в зашифрованном виде с использованием открытого ключа каждого клиента, не будет ли это включать ключ, который будет храниться где-то для добавления дополнительных клиентов, или он может быть сгенерирован каким-либо образом?