GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menghapus enkripsi LUKS?

  • 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:

  1. Boot dari kunci USB
  2. Gunakan `cryptsetup-reencrypt --decrypt

Untuk LUKS2:

  1. Boot dari kunci USB
  2. Konversikan semua slot kunci untuk menggunakan parameter yang kompatibel dengan LUKS1 dengan cryptsetup luksChangeKey --pbkdf pbkdf2 <device_path>
  3. Ubah perangkat LUKS2 menjadi perangkat LUKS1 menggunakan cryptsetup convert --type luks1 <device_path>
  4. 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.


Linux
  1. Cara menginstal driver perangkat di Linux

  2. Bagaimana Cara Menghapus Telegram?

  3. 10 Contoh cryptsetup Linux untuk Manajemen Kunci LUKS (Cara Menambah, Menghapus, Mengubah, Mengatur Ulang Kunci enkripsi LUKS)

  1. Cara mengenkripsi partisi dengan DM-Crypt LUKS di Linux

  2. CentOS / RHEL 6 :Cara sepenuhnya menghapus multipath mapper perangkat (dm-multipath)

  3. Bagaimana cara Membatalkan penghapusan apt-get?

  1. Bagaimana Cara Menghapus Instalasi Sbt?

  2. CentOS / RHEL :Cara menghapus perangkat terenkripsi LUKS

  3. Bagaimana cara menghapus koneksi soket CLOSE_WAIT