Il supporto di crittografia autenticato da dm-integrity
per i dispositivi a blocchi fa parte del kernel Linux dalla versione 4.12.
Se è abilitato nel tuo kernel allora dovrebbe essere caricato automaticamente, quando necessario.
Puoi controllare se il tuo kernel ha abilitato questa funzione verificando la sua configurazione, per esempio su un sistema Fedora:
$ grep DM_INTEGRITY /boot/config-4.17.12-100.fc27.x86_64
CONFIG_DM_INTEGRITY=m
Qui è compilato come modulo.
Quindi controlla se il modulo è effettivamente disponibile, ad esempio:
$ find /usr -name 'dm-integrity.ko*'
/usr/lib/modules/4.17.12-100.fc27.x86_64/kernel/drivers/md/dm-integrity.ko.xz
Se non è disponibile, puoi chiedere quale pacchetto fornisce quel file, ad es. qualcosa come:
$ apt-file search 'dm-integrity.ko*' # on Debian
$ dnf provides '*dm-integrity.ko*' # on Fedora
Si noti che (a partire da cryptsetup 2.0) il supporto di crittografia autenticato è contrassegnato come sperimentale. Inoltre, le note sulla versione avvertono sull'utilizzo di aes-gcm-random
:
DO NOT USE in production! The GCM mode uses only 96-bit nonce, and possible collision means fatal security problem.
È quindi preferibile utilizzare uno degli altri esempi dalle note di rilascio:
# cryptsetup luksFormat --type luks2 <device> --cipher aes-xts-plain64 \
--integrity hmac-sha256
# cryptsetup luksFormat --type luks2 <device> --cipher chacha20-random \
--integrity poly1305
Infine, la nota evidenzia cautela:
There will be better suitable authenticated modes available soon For now we are just preparing framework to enable it (and hopefully improve security of FDE). FDE authenticated encryption is not a replacement for filesystem layer authenticated encryption. The goal is to provide at least something because data integrity protection is often completely ignored in today systems.