Использует ли шифрование файловой системы твердотельные накопители?
В целях безопасности нам необходимо внедрить полное шифрование файловой системы на предстоящей установке сервера. Мы используем настройки шифрования по умолчанию, поставляемые с CentOS 7.
Мой вопрос: поскольку наши серверы используют SSD-диски, следует ли мне беспокоиться о том, что система шифрования / дешифрования создает дополнительную нагрузку на диски с точки зрения дополнительного чтения / записи для стандартного доступа ввода-вывода? У меня есть догадка, что, во всяком случае, это должно напрягать процессор, а не твердотельные накопители, но я хотел понять это в деталях.
1 ответ
Ответ зависит от того, как разработано шифрование. Большинство шифрований на уровне блоков имеют соотношение 1:1 между логическим и физическим секторами. Это означает, что чтение одного сектора открытого текста с логического устройства преобразуется в чтение одного сектора зашифрованного текста с физического устройства. А запись одного сектора открытого текста на логическое устройство приводит к записи одного сектора зашифрованного текста на физическое устройство. Я ожидаю, что дефолт на CentOS попадет в этот класс.
Это компромисс между эффективностью и безопасностью. В этом подходе есть определенные виды утечек, но их решение сопряжено с большими сложностями и накладными расходами. Для любого криптографа очевидно, что, поскольку открытый текст и зашифрованный текст имеют одинаковый размер, вы не можете получить семантическую защиту.
На первый взгляд кажется, что этот подход означает, что уровень шифрования не меняет эффективность ввода-вывода вообще. Однако вы теряете способность использовать команду TRIM. Отсутствие поддержки TRIM может снизить эффективность и срок службы SSD. Если вы используете файловую систему, которая в любом случае не поддерживает TRIM, вы не потеряете ничего с точки зрения ввода-вывода от использования шифрования.
Ничто не мешает уровню шифрования передавать команду TRIM на физический уровень, но это приведет к утечке некоторой информации о структуре данных в файловой системе. Здесь вы можете увидеть некоторую документацию реализации, которая поддерживает это, но не включает его по умолчанию.
Возможны более совершенные схемы шифрования хранилища, которые имеют стоимость с точки зрения ввода-вывода и емкости хранилища, но имеют меньше возможностей для утечки данных. Такие схемы могут даже поддерживать TRIM без утечки данных.