BTRFS può fornire l'autenticazione su un disco crittografato?

7

Uno dei problemi di crittografia del disco sta fornendo l'autenticazione. Un utente malintenzionato con accesso al testo cifrato può modificare a piacere il testo cifrato. Dato, questo non è un probabile attacco, ma comunque possibile.

Mi è venuto in mente un pensiero interessante. I miei dischi sono crittografati con LUKS in modalità ESSIV AES-CBC. Quindi eseguo LVM all'interno del disco crittografato, quindi BTRFS sul volume logico interno. Se un attaccante modificava il testo cifrato mentre i dati erano a riposo, normalmente non avrei modo di notare che era successo. Tuttavia, poiché i checksum BTRFS sono sia dei metadati che dei dati, probabilmente si noterà un danneggiamento del filesystem stesso nel tentativo di leggere quel file.

Certo, BTRFS usa CRC-32 come algoritmo di hash, ma la mia teoria è più o meno accurata? Ricevo l'autenticazione utilizzando BTRFS in un volume LUKS?

    
posta Naftuli Kay 03.06.2015 - 04:15
fonte

2 risposte

2

No, perché i checksum CRC forniscono integrità e non autenticazione. Gli algoritmi CRC hanno una proprietà conosciuta in crittografia come malleabilità. Anche se i dati sono crittografati e non conosciuti, possono essere sottoposti a xorazione con bit arbitrari e quindi il checksum deve essere soppesato con una determinata funzione di questi bit. Ciò consente di simulare checksum CRC senza nemmeno sapere quali erano i dati. Funziona con i codici di flusso e alcune modalità di blocco, non è sicuro se si applica a ESSIV.

Inoltre, dopo una breve ricerca ho trovato teoria della crittografia del disco articolo:

While CBC (with or without ESSIV) ensures confidentiality, it does not ensure integrity of the encrypted data. If the plaintext is known to the adversary, it is possible to change every second plaintext block to a value chosen by the attacker, while the blocks in between are changed to random values. This can be used for practical attacks on disk encryption in CBC or CBC-ESSIV mode.

    
risposta data 05.03.2016 - 20:51
fonte
1

In un certo senso, sì. Tuttavia, btrfs ripristinerà automaticamente i dati laddove possibile, quindi, a meno che non vi sia un errore irreversibile, non lo saprai. Dato che usi LVM e btrfs, c'è una buona probabilità che i dati vengano frammentati, rendendo ancora più difficile per un utente malintenzionato modificarlo in modo coerente. La crittanalisi offline di un filesystem btrfs è abbastanza complicata da sola, poiché il filesystem è, a mio avviso, meno prevedibile.

Riguardo a questo, fuori tema - l'uso di LVM sotto btrfs è ridondante. Btrfs offre tutte le chicche che fa LVM e altro. Per quanto riguarda le prestazioni, ciò non è ottimale: btrfs utilizza estensioni proprie ignorando le estensioni di LVM. Ciò potrebbe comportare una frammentazione di livello medio. Potrebbe sembrare una funzionalità di "sicurezza", ma in realtà non lo è.

Se vuoi dati "autenticati" su un filesystem, l'unico modo è firmarli o almeno avere un hash offline per l'intero dispositivo a blocchi o qualsiasi sottoinsieme di blocchi sul dispositivo.

    
risposta data 03.06.2015 - 10:19
fonte

Leggi altre domande sui tag