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
etpm-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.