Справочная информация:
Мне нужно зашифровать файлы в рабочей области предприятия с несколькими пользователями. Цель состоит в том, чтобы зашифровать файлы непосредственно из браузера, чтобы сохранить их на сервере, и каждый пользователь мог расшифровать файлы для просмотра.
Техническое решение:
Создайте случайно сгенерированный ключ Kw для рабочей области для шифрования файлов с помощью AES. Этот ключ никогда не будет храниться ни в базе данных, ни в сеансе пользователя.
Для каждого пользователя сгенерируйте еще один ключ «Ku» из пароля пользователя с функцией создания ключа, такой как PBKDF2, используя идентификатор пользователя в качестве соли. Затем зашифруйте ключ «Kw» ключом «Ku» с помощью AES и сохраните этот зашифрованный ключ «Kw» в базе данных с информацией о пользователе.
Затем при каждом входе пользователя в систему заново генерируйте ключ «Ku» из пароля пользователя, используя функцию создания ключа, например PBKDF2. Получите зашифрованный ключ «Kw» и расшифруйте его с помощью Ku.
Затем используйте Kw для расшифровки/шифрования файлов.
Является ли это решение достаточно безопасным для хранения конфиденциальных файлов, таких как медицинский документ?
Заранее благодарим за ваши отзывы.