<< Click to Display Table of Contents >> Администрирование (Linux) > Общесистемные настройки > Шифрование документов Схема шифрования документов |
При шифровании для каждого документа собирается индивидуальный ключ. Сам ключ нигде не хранится, он создается на основе материала ключа, который состоит из случайных больших чисел (секретов):
•секрет сервиса – условно-постоянная информация, хранится на сервисе ключей в виде файлов;
•секрет данных – уникальная информация для каждой операции шифрования. Генерируется сервисом ключей и отправляется на веб-сервер, который передает секрет для хранения в таблицу базы данных Sungero_System_EncryptionData. При каждом изменении содержимого документа генерируется новый секрет данных.
Материал ключа собирает сервис ключей. Секреты сервисов и данных шифруются сертификатами сервиса ключей и хранятся в зашифрованном виде. Для надежности при разворачивании сервиса ключей устанавливается два сертификата: основной и запасной. Если что-то произойдет с основным, например, истечет срок действия, будет использоваться второй.
В системе поддерживаются следующие алгоритмы симметричного шифрования: AES-256, ГОСТ Р 34.12-2015 «Магма», ГОСТ Р 34.12-2015 «Кузнечик». Документы зашифровываются и расшифровываются на сервисе хранилищ. Для этого сервис ключей передает сервису хранилищ материал ключа. На его основе алгоритм шифрования получает ключ необходимой длины. Таким образом, составные части для генерации ключа шифрования хранятся в разных местах. Даже если у злоумышленников появится доступ к одному из серверов (сервис хранилищ, база данных, сервис ключей), им будет сложно получить все необходимые составляющие и расшифровать документы.
Важно. При шифровании удаляются все известные копии документа. Благодаря этому на сервере нельзя найти старые копии или версии документа в расшифрованном виде. Кроме того, само содержимое документа не хранится на стороне серверной части в расшифрованном виде. Документ расшифровывается потоково, только когда пользователь его открывает.
При работе с зашифрованными документами сервис ключей генерирует новый материал ключа либо собирает его на основе переданных данных.
Шифрование данных (генерация материала ключа), например, когда пользователь отредактировал содержимое зашифрованного документа и сохранил его:
1.Сервис хранилищ запрашивает у сервиса ключей (KeyDerivation) материал ключа для шифрования.
2.На сервисе ключей генерируется секрет данных, и создается материал ключа.
3.На сервис хранилищ передается материал ключа и зашифрованный секрет данных, который далее передается в базу данных для хранения.
Расшифрование данных (сборка материала ключа), например, когда пользователь открывает на чтение содержимое зашифрованного документа:
1.Сервис хранилищ передает сервису ключей зашифрованный секрет данных, ранее сохраненный в базе данных. Запрашивает материал ключа.
2.Сервис ключей с помощью сертификатов расшифровывает секреты и собирает материал ключа.
3.На сервис хранилищ передается материал ключа, и документ расшифровывается для чтения в веб-клиенте.
Система позволяет перешифровать данные. Это может понадобиться, например, при плановой замене сертификатов шифрования, когда истек срок действия, либо в аварийных ситуациях, когда скомпрометирован один из сертификатов или секрет сервиса.
© Компания Directum, 2024 |