- Sauvegarde
- Reformater
- Restaurer
cryptsetup luksRemoveKey
ne supprimerait une clé de chiffrement que si vous en aviez plusieurs. Le cryptage serait toujours là.
Le Fedora Installation_Guide Section C.5.3 explique comment luksRemoveKey
œuvres.
Qu'il soit "impossible" de supprimer le cryptage tout en conservant le contenu n'est qu'une supposition éclairée. Je base cela sur deux choses :
- Parce que le conteneur LUKS a un système de fichiers ou LVM ou peu importe en plus, la simple suppression de la couche de cryptage nécessiterait la connaissance de la signification des données stockées dessus, qui ne sont tout simplement pas disponibles. De plus, une exigence serait que l'écrasement d'une partie du volume LUKS avec son homologue déchiffré ne casserait pas le reste du contenu LUKS, et je ne suis pas sûr que cela puisse être fait.
- La mettre en œuvre résoudrait un problème aussi éloigné que possible de l'objectif de LUKS, et je trouve très peu probable que quelqu'un prenne le temps de le faire au lieu de quelque chose de plus "significatif".
Tout d'abord, lors de la suppression d'une phrase secrète d'une partition LUKS, vous devez spécifier la partition de disque où elle réside, comme :
cryptsetup luksRemoveKey /dev/sda2
Et lorsque vous souhaitez connaître l'état d'un appareil crypté par LUKS, vous devez vous référer au nom LUKS, comme vous l'avez fait.
Mais luksRemoveKey ne supprime qu'une des phrases de passe (et jamais la dernière). Si vous souhaitez déchiffrer définitivement, vous devez utiliser cryptsetup-reencrypt :
cryptsetup-reencrypt --decrypt /dev/sda2
Supprimer les emplacements de clé, c'est comme oublier un mot de passe, cela n'a rien à voir avec le remplacement du périphérique LUKS par le système de fichiers à l'intérieur.
Vous POUVEZ supprimer de manière non destructive le cryptage LUKS d'un appareil, sans avoir à sauvegarder, reformater et restaurer. . cryptsetup
prend en charge cela depuis la version 1.5.0, publiée en 2012.
Après un décryptage réussi d'un périphérique LUKS, le système de fichiers à l'intérieur devient disponible pour le système d'exploitation et vous pouvez le monter directement.
Avertissement : C'est dangereux, sauvegardez d'abord toutes vos données.
Pour LUKS1 :
- Démarrer depuis une clé USB
- Utilisez `cryptsetup-reencrypt --decrypt
Pour LUKS2 :
- Démarrer depuis une clé USB
- Convertir tous les emplacements de clé pour utiliser les paramètres compatibles LUKS1 avec
cryptsetup luksChangeKey --pbkdf pbkdf2 <device_path>
- Convertir l'appareil LUKS2 en appareil LUKS1 à l'aide de
cryptsetup convert --type luks1 <device_path>
- Effectuez le déchiffrement à l'aide de `cryptsetup-reencrypt --decrypt
J'ai testé les deux et ils fonctionnent.
Les versions actuelles de cryptsetup prétendent prendre en charge le décryptage direct des appareils LUKS2. Cette commande est cryptsetup --reencrypt --decrypt --header HEADER_FILE <device_path>
. le --header
est requis, car les commandes supposent que votre appareil utilise un en-tête détaché. Si vous le faites, cela fonctionne et peut même effectuer le décryptage en ligne. Si vous n'utilisez pas d'en-tête détaché (assez courant) et que vous essayez de fournir un vidage de l'en-tête ou de transmettre le périphérique de bloc lui-même en tant que --header
valeur, cryptsetup
se poursuivra tranquillement et quand il se terminera, vous vous retrouverez avec un appareil LUKS2 qui n'a pas d'emplacement de clé et vos données auront disparu. C'est à partir de la version 2.3.3 (2020), cela peut changer dans les futures versions. /P>
Ma recommandation est d'utiliser le chemin plus sûr LUKS2->LUKS1->Decrypt, dont je peux confirmer qu'il fait le travail.