Как зашифровать мою систему так, чтобы приостановка в ОЗУ работала и также была зашифрована

Как зашифровать мою систему так, чтобы приостановка в ОЗУ работала и также была зашифрована

Как мне зашифровать свою систему (в лучшем случае с помощью lvm + dm-crypt/luks) так, чтобы работала приостановка в ОЗУ и чтобы все находилось в зашифрованном состоянии при приостановке в ОЗУ?

решение1

То, что вы просите, это не просто suspend-to-RAM, которая оставляет RAM включенной и отключает все остальное. Поскольку вы будете стирать данные процесса в открытом тексте из RAM, вам нужно маршалировать все это в образ приостановки. Поэтому вам нужно вызвать код гибернации (т. е. suspend-to-disk). Реалистичным способом сделать это было бы создание зашифрованного ramdisk, объявление его пространством подкачки и заполнение памяти другими процессами. Даже в этом случае данные ядра не будут зашифрованы; для этого, я думаю, вам понадобится значительный патч ядра.

С другой стороны, если вы готовы приостановить работу на диске, это решенная проблема. Образ гибернации хранится в пространстве подкачки. Ваше пространство подкачки должно быть уже зашифровано с учетом ваших требований безопасности. Убедитесь, что оно зашифровано известным ключом, а не случайным (некоторые настройки с зашифрованным пространством подкачки используют /dev/randomв качестве ключа файл для пространства подкачки, что приводит к появлению другого ключа при каждой загрузке, поэтому невозможно возобновить образ гибернации). Основные дистрибутивы должны поддерживать гибернацию из коробки, включая возобновление из зашифрованного пространства подкачки.

решение2

Проверить tpm-luks:https://github.com/shpedoikal/tpm-luks

Он хранит ваши ключи шифрования в доверенном платформенном модуле вашего компьютера.

Другим вариантом может бытьТРЕСОР, который использует регистры ЦП для хранения секретных ключей.

Связанный контент