GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare FDE senza dover condividere la password di crittografia

Si tratta di questo:vuoi implementare uno schema DRM. Molti prima di averci provato, tutti hanno fallito. Non è possibile dare qualcosa (hardware, dati) agli utenti e impedire loro di utilizzarlo in modo non intenzionale o copiarlo. Puoi renderlo più difficile, ma non puoi impedirlo. Altri con più risorse di quelle che hai provato (ad es. Sony, Microsoft, Nintendo per impedire la pirateria dei giochi per console) e alla fine tutto è stato rotto.


Secondo la mia risposta precedente, suggerimento di @logneck e un po' di google-fu , sono giunto alla conclusione che è possibile attuare lo schema richiesto nella domanda con strumenti disponibili e molta pazienza/competenza. Questo approccio dovrebbe soddisfare la richiesta del PO, ma è solo una guida alla progettazione, in quanto presenta una serie di inconvenienti/insidie. Aiuterà l'OP a difendersi dagli ingenui utente malintenzionato che tenta di copiare i dati dal disco crittografato.

La mia idea precedente di utilizzare un chip TPM rimane valida. Questa guida, che mai provato, mostra come crittografare il disco senza dover digitare una password e impedendo a chiunque di decrittografare i dati su un'altra macchina.

Il TPM è normalmente integrato nella scheda madre, quindi non può essere spostato su altro hardware. Il TPM esegue l'attestazione dell'hardware, in modo che tu possa verificare che l'ambiente hardware sia conforme e che nessuna scheda di terze parti sia stata collegata al tuo mobo.

Se l'attestazione hardware viene superata, il TPM si sblocca. Quindi il modulo LUKS può richiedere al TPM la chiave di crittografia del disco, che è memorizzata all'interno del TPM sbloccato.

Se il disco viene spostato su un'altra macchina, non avrai la chiave con te.

Come descritto nella guida, il processo prevede:

  • Installare la distribuzione di tua scelta
  • Assumi la proprietà del chip TPM utilizzando trousers e tpm-tools
  • Installa trustedgrub2 e usalo come bootloader
  • Aggiungi la chiave di decrittografia LUKS al TPM
  • Sigillo il TPM

Sigillare il TPM significa eseguire l'attestazione dell'hardware. Il guoide che ho collegato parla di avvio del BIOS invece di UEFI (gli utenti di UEFI hanno familiarità con il concetto di avvio sicuro).Fondamentalmente trustedgrub2 misurerà il software. Questo può essere semplificato eseguendo il checksum del kernel per assicurarsi che non venga alterato. Anche TPM misurerà hardware per verificare che nessun'altra scheda PCI o simile sia stata installata da quando il TPM è stato sigillato.

Durante il processo di avvio, se l'hardware non è stato toccato/manomesso, e il kernel di avvio è lo stesso che ha sigillato il TPM, quindi il TPM invia la chiave LUKS segreta al sistema, in modo che il sistema possa decodificarsi.

Risultato:1) il disco è crittografato, 2) non è richiesta alcuna password al momento dell'avvio, quindi l'utente può riavviare la macchina in qualsiasi momento e 3) la chiave non può essere recuperata da un utente perché risiede nell'archivio hardware.

Si noti che questa soluzione, simile a quella di Microsoft BitLocker, non è perfetta e condivide le stesse insidie ​​di sicurezza della soluzione di Microsoft. In effetti, BitLocker alimentato solo da TPM e non da PIN è stato ripetutamente criticato per la sua sicurezza più debole, di cui non parlerò qui.


Linux
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come passare la password a su/sudo/ssh senza sovrascrivere il TTY?

  4. Come posso usare grep per abbinare ma senza stampare le partite?

  5. Come si usano i sorsi al terminale per ridimensionare un'immagine, senza eseguire l'upscaling?

Come utilizzare il comando superiore in Linux

Come utilizzare il comando Ping di Linux

Come usare il comando nmap

Come controllare la complessità della password in Linux

Come eseguire comandi Sudo senza password

Come utilizzare il comando fd sul sistema Linux