Шифрование отчётов
Диагностический отчёт представляет собой отчёт по журналам регистрации событий
(логам) ОС Аврора и прикладного ПО.
Данные отчёты могут содержать чувствительную информацию, поэтому необходимо
их шифровать для безопасной передачи данных.
Шифрование производится при помощи D-Bus API ru.auroraos.ReportsService1.
Примечание. Данный функционал доступен только для Профиля MDM, т.к. требуется разрешение на вызов методов D-Bus.
Состав зашифрованного отчёта:
- файл с контрольной суммой;
- зашифрованный ключ;
- отчёт, зашифрованный ключом.
Содержание:
- Предварительная подготовка ключа
- Проверка включённости шифрования
- Шифрование отчёта из командной строки
Предварительная подготовка ключа
Для получения зашифрованного отчёта, получающей (доверенной) стороне необходимо сгенерировать у себя ключевую пару и передать открытый ключ администратору устройства с учётом следующих требований:
- при передаче открытого ключа по сети должен быть установлен защищённый канал TLS;
- если передача выполняется посредством внешнего накопителя, то должны быть предприняты организационные меры, предотвращающие подмену открытого ключа.
Предварительная подготовка выполняется на компьютере принимающей стороны. Команды в данной инструкции приводятся для Unix-совместимого терминала. В Linux и macOS можно использовать стандартный терминал, в Windows рекомендуется использовать Git Bash. Также можно использовать любой инструмент с OpenSSL.
-
Создать ключевую пару (например, RSA 3072):
openssl genrsa -out private.pem 3072Валидным считается размер 3072.
-
Извлечь публичный ключ:
openssl rsa -in private.pem -pubout -out public.pem -
Передать ключ стороне, генерирующей отчёт.
Инструкция для импорта ключа стороной, генерирующей отчёт
-
Импортировать ключ
public.pemна устройство:scp ./public.pem defaultuser@<device_ip>:DocumentsВ команде следует указать IP-адрес устройства, например:
scp ./public.pem defaultuser@192.168.1.3:Documents -
Войти на устройство:
ssh defaultuser@device -
Импортировать ключ:
dbus-send \ --system --print-reply \ --dest=ru.auroraos.ReportsService1 /ru/auroraos/ReportsService1 \ ru.auroraos.ReportsService1.Settings.ImportPublicKey string:'/home/defaultuser/Documents/public.pem'Если ключ уже имеется, загрузка нового его заместит.
Проверка включённости шифрования
Проверить статус шифрования (включено ли) можно следующей командой на устройстве:
dbus-send \
--system --print-reply \
--dest=ru.auroraos.ReportsService1 /ru/auroraos/ReportsService1 \
org.freedesktop.DBus.Properties.Get \
string:ru.auroraos.ReportsService1.Settings string:EncryptionEnabled
Результат будет true, если в системе есть публичный ключ. Если ключ уже имеется, загрузка нового его заместит.
Шифрование отчёта из командной строки
Для шифрования отчёта администратору необходимо сгенерировать отчёт с помощью API
ru.omprussia.ReportsGenerator:
gdbus call --system \
--dest ru.omprussia.ReportsGenerator \
--object-path /ru/omprussia/ReportsGenerator \
--method ru.omprussia.ReportsGenerator.CreateReports \
/home/defaultuser \
false
Должен получиться отчёт в виде архива, который содержит файл с контрольной суммой
checksum.txt, зашифрованный ключ key.enc и зашифрованный отчёт
reports-20250625-143342.zip.enc.
Получателю необходимо выполнить следующие действия, чтобы дешифровать отчёт:
-
Дешифровать симметричный ключ:
openssl pkeyutl -decrypt -inkey ./<путь_к_приватному_ключу>/private.pem -in ./key.enc -out ./keyfile -
Дешифровать дешифрованным ключом сам отчёт:
openssl enc -d -aes-256-cbc -in ./reports-20250625-143342.zip.enc -out ./mydecryptedreport.zip -pass file:./keyfile -nosalt -
Сверить контрольную сумму дешифрованного архива с содержимым файла
checksum.txt, сняв контрольную сумму командой:openssl sha256 ./mydecryptedreport.zipКонтрольные суммы должны совпасть.