- Cadangkan
- Format ulang
- Pulihkan
cryptsetup luksRemoveKey
hanya akan menghapus kunci enkripsi jika Anda memiliki lebih dari satu. Enkripsi akan tetap ada.
Bagian C.5.3 Installation_Guide Fedora menjelaskan bagaimana luksRemoveKey
bekerja.
Bahwa "tidak mungkin" untuk menghapus enkripsi sambil mempertahankan konten hanyalah tebakan. Saya mendasarkannya pada dua hal:
- Karena wadah LUKS memiliki sistem file atau LVM atau terserah selain itu, menghapus lapisan enkripsi saja akan membutuhkan pengetahuan tentang maknanya dari data yang disimpan di atasnya, yang tidak tersedia. Selain itu, persyaratannya adalah menimpa sebagian volume LUKS dengan bagian yang didekripsi, tidak akan merusak konten LUKS lainnya, dan saya tidak yakin apakah itu bisa dilakukan.
- Mengimplementasikannya akan menyelesaikan masalah yang jauh dari tujuan LUKS yang bisa Anda dapatkan, dan menurut saya sangat tidak mungkin seseorang meluangkan waktu untuk melakukan itu alih-alih melakukan sesuatu yang lebih "bermakna".
Pertama, saat menghapus frasa sandi dari partisi LUKS, Anda perlu menentukan partisi disk tempatnya berada, seperti:
cryptsetup luksRemoveKey /dev/sda2
Dan saat Anda menginginkan status dari perangkat yang dienkripsi LUKS, Anda perlu merujuk ke nama LUKS, seperti yang Anda lakukan.
Tapi luksRemoveKey hanya menghapus salah satu frasa sandi (dan tidak pernah yang terakhir). Jika Anda ingin mendekripsi secara permanen, Anda harus menggunakan cryptsetup-reencrypt:
cryptsetup-reencrypt --decrypt /dev/sda2
Menghapus slot kunci seperti melupakan kata sandi, tidak ada hubungannya dengan memindahkan perangkat LUKS yang diganti dengan sistem file di dalamnya.
Anda BISA menghapus enkripsi LUKS secara non-destruktif dari perangkat, tanpa harus mencadangkan, memformat ulang, dan memulihkan. . cryptsetup
telah mendukung ini sejak versi 1.5.0, dirilis pada tahun 2012.
Setelah dekripsi perangkat LUKS berhasil, sistem file di dalamnya akan tersedia untuk OS, dan Anda dapat memasangnya secara langsung.
Peringatan: Ini berbahaya, buat cadangan semua data Anda terlebih dahulu.
Untuk LUKS1:
- Boot dari kunci USB
- Gunakan `cryptsetup-reencrypt --decrypt
Untuk LUKS2:
- Boot dari kunci USB
- Konversikan semua slot kunci untuk menggunakan parameter yang kompatibel dengan LUKS1 dengan
cryptsetup luksChangeKey --pbkdf pbkdf2 <device_path>
- Ubah perangkat LUKS2 menjadi perangkat LUKS1 menggunakan
cryptsetup convert --type luks1 <device_path>
- Lakukan dekripsi menggunakan `cryptsetup-reencrypt --decrypt
Saya telah menguji keduanya dan berhasil.
Versi cryptsetup saat ini mengklaim mendukung dekripsi langsung perangkat LUKS2. Perintah ini adalah cryptsetup --reencrypt --decrypt --header HEADER_FILE <device_path>
. --header
argumen diperlukan, karena perintah menganggap perangkat Anda menggunakan header terpisah. Jika Anda melakukannya, itu berhasil, dan bahkan dapat melakukan dekripsi secara online. Jika Anda tidak menggunakan header yang terpisah (cukup umum), dan Anda mencoba menyediakan dump header, atau meneruskan perangkat blok itu sendiri sebagai --header
nilai, cryptsetup
diam-diam akan melanjutkan dan ketika selesai, Anda akan berakhir dengan perangkat LUKS2 yang tidak memiliki slot kunci dan data Anda akan hilang. Ini pada versi 2.3.3 (2020), ini dapat berubah di versi mendatang.
Rekomendasi saya adalah menggunakan jalur LUKS2->LUKS1->Dekripsi yang lebih aman, yang dapat saya konfirmasi berfungsi dengan baik.