Jadi begini:Anda ingin mengimplementasikan skema DRM. Banyak sebelum Anda mencoba, semuanya gagal. Tidak mungkin memberikan sesuatu (perangkat keras, data) kepada pengguna dan mencegah mereka menggunakannya dengan cara yang tidak diinginkan atau menyalinnya. Anda dapat membuatnya lebih sulit, tetapi Anda tidak dapat mencegahnya. Lainnya dengan sumber daya lebih dari yang Anda coba (mis. Sony, Microsoft, Nintendo untuk mencegah pembajakan game konsol) dan pada akhirnya semuanya rusak.
Menurut jawaban saya sebelumnya, saran dari @logneck dan sedikit google-fu
, saya sampai pada kesimpulan bahwa adalah mungkin untuk mengimplementasikan skema yang diminta dalam pertanyaan dengan alat yang tersedia dan banyak kesabaran / keahlian. Pendekatan ini harus memenuhi permintaan OP tetapi hanya panduan desain, karena memiliki sejumlah kekurangan/jebakan. Ini akan membantu OP bertahan dari naif penyerang mencoba menyalin data dari disk terenkripsi.
Ide saya sebelumnya untuk menggunakan chip TPM tetap valid. Panduan ini, yang saya tidak pernah mencoba, menampilkan cara mengenkripsi disk tanpa harus mengetik sandi dan dengan mencegah siapa pun mendekripsi data di komputer lain.
TPM biasanya tertanam di motherboard, jadi tidak dapat dipindahkan ke perangkat keras lain. TPM melakukan pengesahan perangkat keras, sehingga Anda dapat memverifikasi kepatuhan lingkungan perangkat keras, dan tidak ada kartu pihak ketiga yang dipasang ke mobo Anda.
Jika pengesahan perangkat keras lolos, TPM membuka sendiri. Kemudian modul LUKS dapat meminta TPM untuk kunci enkripsi disk, yang disimpan di dalam TPM yang tidak terkunci.
Jika disk dipindahkan ke komputer lain, Anda tidak akan membawa kuncinya.
Seperti yang dijelaskan dalam panduan, prosesnya meliputi:
- Menginstal distro pilihan Anda
- Ambil kepemilikan chip TPM menggunakan
trousers
dantpm-tools
- Instal
trustedgrub2
dan menggunakannya sebagai bootloader - Tambahkan kunci dekripsi LUKS ke TPM
- Segel TPM
Menyegel TPM berarti melakukan pengesahan perangkat keras. Panduan yang saya tautkan berbicara tentang boot BIOS alih-alih UEFI (UEFI Anda sudah familiar dengan konsep boot aman). Pada dasarnya trustedgrub2
akan mengukur perangkat lunak. Ini dapat disederhanakan dengan memeriksa kernel untuk memastikannya tidak diubah. TPM juga akan mengukur perangkat keras untuk memeriksa apakah tidak ada kartu PCI lain atau serupa yang dipasang sejak TPM disegel.
Selama proses booting, jika perangkat keras belum disentuh/dirusak, dan kernel yang mem-boot sama dengan yang menyegel TPM, lalu TPM mengeluarkan kunci LUKS rahasia ke sistem, sehingga sistem dapat mendekripsi dirinya sendiri.
Hasil:1) disk dienkripsi, 2) tidak diperlukan kata sandi saat boot, sehingga pengguna dapat mem-boot ulang mesin kapan saja, dan 3) kunci tidak dapat dipulihkan oleh pengguna karena berada di penyimpanan perangkat keras.
Perhatikan bahwa solusi ini, mirip dengan Microsoft BitLocker, tidak sempurna dan berbagi jebakan keamanan yang sama dengan solusi Microsoft. Nyatanya, BitLocker yang hanya didukung oleh TPM dan bukan PIN berulang kali dikritik karena keamanannya yang lebih lemah, yang tidak akan saya bahas di sini.