Вопрос или проблема
То есть, когда устройство-маппинг создается вручную с целью dm-crypt
, будет ли полученное устройство меньше исходного устройства?
Для чего используется недостающее место?
Изменится ли ответ в зависимости от того, какой крипто-режим/алгоритм используется?
Нет,
$ dmsetup table | grep mytest
mytest: 0 29360128 crypt aes-xts-plain64 0000000000000000000000000000000000000000000000000000000000000000 0 259:45 0
$ blockdev --getsz /dev/block/sdc61 # 259:45
29360128
$ blockdev --getsz /dev/block/mapper/mytest
29360128
$
Шифры, используемые для шифрования блочных устройств, не требуют дополнительного места для хранения метаданных.
Это дает возможность не защищать устройство от подделки данных (т.е. изменения байтов) или атаки повторного воспроизведения. Также необходимо использовать dm-integrity
, чтобы защитить свои данные от подделки.
Но имейте в виду, что в этом случае dm-integrity
будет занимать часть пространства устройства для метаданных. В любом случае, он поддерживает возможность размещения этих метаданных на другом блочном устройстве, если это необходимо.
.
Ответ или решение
dm-crypt не занимает избыточное пространство на устройстве, когда создается маппинг устройства вручную. Сохраняя исходный объем данных без сокращения, вы можете быть уверены в том, что размер создаваемого устройства аналогичен размеру основного устройства. Рассмотрим более детально аспекты работы dm-crypt и его влияние на использование пространства.
Основные принципы работы dm-crypt
dm-crypt – это модуль для Linux, который позволяет шифровать блочные устройства. Он предоставляет безопасность данных, скрывая их от несанкционированного доступа. При создании маппинга с использованием target dm-crypt, конечное устройство не становится меньше базового устройства. Это означает, что вы не теряете пространство при использовании dm-crypt для шифрования.
Используемое пространство
Как показывает команда dmsetup table
и команды для проверки размера блочного устройства (blockdev --getsz
), размеры устройства остаются идентичными. Это подтверждается следующим образом:
$ dmsetup table | grep mytest
mytest: 0 29360128 crypt aes-xts-plain64 ...
$ blockdev --getsz /dev/block/sdc61
29360128
$ blockdev --getsz /dev/block/mapper/mytest
29360128
Как видно из приведенного выше вывода, размеры устройств сопоставимы и не предполагают потери данных. При этом методы шифрования, такие как AES-XTS, обеспечивают безопасность без увеличения пространства для хранения метаданных.
Метаинформация и возможные ограничения
Важно отметить, что шифрование на основе блочных устройств само по себе не требует дополнительного места для хранения метаданных. Однако если ваш проект требует защиты от повреждения данных, таких как атаки "изменения байта" или "воспроизведение", следует использовать дополнительный модуль, например dm-integrity
. Этот модуль обеспечивает защиту данных от изменений, но, в отличие от dm-crypt, подразумевает использование пространства для хранения соответствующей метаинформации. Тем не менее, у dm-integrity
есть возможность сохранять метаданные на отдельном устройстве, что может помочь минимизировать потерю пространства.
Влияние на выбор алгоритма
Что касается изменения ответов в зависимости от выбранного алгоритма шифрования, то стоит подчеркнуть, что это не влияет на использование пространства в рамках dm-crypt. Все алгоритмы, используемые для шифрования на уровне блоков, в общем не требуют дополнительного пространства для своих собственных нужд. Однако подходы к шифрованию могут различаться по скорости и уровню безопасности, что следует учитывать при выборе.
Заключение
Таким образом, можно с уверенностью сказать, что использование dm-crypt не ведет к потерям пространства на устройстве. Размерность маппинга дублирует размер исходного устройства. Если необходимо обеспечить защиту от возможных изменений данных, это потребует дополнительно использовать dm-integrity
, что, в свою очередь, может занять часть пространства для метаданных. Выбор шифрования и его алгоритма не повлияет на размер устройства, однако важно учитывать его влияние на безопасность данных.