Véase también: ¿Qué significa "FileVault: No (Cifrado en reposo)"?
Como desarrollador e investigador, necesito algunos volúmenes APFS en un T2 Mac descifrados hasta el punto de que la lectura de sus bloques en bruto, por ejemplo con el dd
me mostrará el contenido no encriptado. ¿Cómo puedo conseguirlo, siempre que tenga acceso total (y autenticación) al Mac y a sus datos en el disco?
Necesitaría una forma de desencriptar los bloques después de leerlos (por ejemplo, desde /dev/diskXsY
), o necesitaría que MacOS los desencripte completamente, al igual que algunos volúmenes ocultos ("Preboot", "Recovery", "Update") ya lo están por defecto.
Con los Macs anteriores a la T2, esto era fácil: emitía el comando diskutil apfs decrypt diskXsY
. Pero en un T2 Mac, esto lleva al mensaje:
APFS Volume diskXsY is not FileVaulted
¿Cómo puedo acceder al contenido no cifrado de los bloques de estos volúmenes? Ya sea utilizando algún comando para descifrarlos permanentemente, o consiguiendo la información sobre cómo escribir código para descifrar los bloques sobre la marcha.
Nota: No tengo intención de quitar el SSD del Mac - sólo quiero ser capaz de escanear las estructuras APFS de estos volúmenes mientras están dentro de ese Mac, y para eso los necesito descifrados.
Otra ventaja de responder a esta pregunta: Desencriptar los volúmenes de forma permanente debería permitir al usuario clonar el disco en bruto (es decir, sus contenedores) en otro Mac, donde se podrían volver a encriptar los datos (si hay un proceso para ello).
Para aclarar, esto es lo que diskutil apfs list
muestra para tal contenedor APFS:
+-- Container disk1 82B4467A-B907-49BC-8214-DE7918D34304
====================================================
APFS Container Reference: disk1
Size (Capacity Ceiling): 100000002048 B (100.0 GB)
Capacity In Use By Volumes: 44633624576 B (44.6 GB) (44.6% used)
Capacity Not Allocated: 55366377472 B (55.4 GB) (55.4% free)
|
+-< Physical Store disk0s7 A61C9E41-132C-47D7-A5F8-B926D4F8B7C7
| -----------------------------------------------------------
| APFS Physical Store Disk: disk0s7
| Size: 100000002048 B (100.0 GB)
|
+-> Volume disk1s1 7D4442EE-B26A-4662-A790-EEED80416C3D
| ---------------------------------------------------
| APFS Volume Disk (Role): disk1s1 (No specific role)
| Name: Mojave (Case-insensitive)
| Mount Point: Not Mounted
| Capacity Consumed: 41805852672 B (41.8 GB)
| Sealed: No
| FileVault: No (Encrypted at rest)
|
+-> Volume disk1s2 FB52B358-7F67-4783-AE80-6F766FA26BCC
| ---------------------------------------------------
| APFS Volume Disk (Role): disk1s2 (Preboot)
| Name: Preboot (Case-insensitive)
| Mount Point: Not Mounted
| Capacity Consumed: 45334528 B (45.3 MB)
| Sealed: No
| FileVault: No
|
+-> Volume disk1s3 985D7AF0-DA65-4099-AF64-FEEEA78C0297
| ---------------------------------------------------
| APFS Volume Disk (Role): disk1s3 (Recovery)
| Name: Recovery (Case-insensitive)
| Mount Point: Not Mounted
| Capacity Consumed: 510398464 B (510.4 MB)
| Sealed: No
| FileVault: No
|
+-> Volume disk1s4 F253A522-1F28-468A-A723-0B438D536035
---------------------------------------------------
APFS Volume Disk (Role): disk1s4 (VM)
Name: VM (Case-insensitive)
Mount Point: Not Mounted
Capacity Consumed: 2147504128 B (2.1 GB)
Sealed: No
FileVault: No (Encrypted at rest)
Los volúmenes que muestran "FileVault: No (Encrypted at rest)" son los que causan el problema: sus bloques están encriptados al leerlos desde el dispositivo de disco, mientras que los bloques de los que muestran "FileVault: No" muestran estructuras APFS legibles. Una solución sería poner todos los volúmenes en el estado "FileVault: No".