Cifrado de disco completo. ¿Cómo se puede encriptar el kernel?

Una trampa estándar del cifrado de disco en Linux es necesitar /boot sin cifrar. Específicamente el cargador de arranque e initrd. Cifrar todo el disco significa colocarlos en otro lugar, por ejemplo, en una memoria USB.

editar: ahora he aprendido que grub ahora puede descifrar un sistema de archivos que contiene el kernel en el arranque, por lo que solo el gestor de arranque debe descifrarse en Linux

Tengo la impresión de que es "conocido" que FileVault implementa el cifrado de disco completo. Ciertamente creía que este era el caso. Esto es un poco difícil de demostrar sin un montón de enlaces a sitios externos. Un par de internos:

fuerza-bruta-en-cifrado-de-disco-completo y cifrado-de-disco-completo-con-un-campamento-de-arranque-solo-de-windows

Y una pregunta existente que responde esencialmente a esta pregunta es-file-vault-2-whole-disk-encryption-or-whole-partition-encryption

Parece bastante claro que la bóveda de archivos funciona con granularidad de partición y que Apple usa una partición de arranque separada. No puedo encontrar ninguna evidencia que sugiera que la bóveda de archivos se puede usar en la partición de arranque.

No entiendo cómo puede arrancar hasta el punto de ofrecer un aviso de inicio de sesión si todo el disco está encriptado. ¿Qué me estoy perdiendo?

Como referencia, el sistema que me interesa usa apfs en lugar de cs y no tiene un chip T2.

Nadie dice que la partición de arranque debe estar en un dispositivo, también puede estar en el disco mismo :-)
Supongo que sí. Un arranque encriptado en la unidad no se puede usar para arrancar Linux, pero puede cargarlo en cadena desde algún otro núcleo si lo desea.
Hola, Jon: ¿puedes editar si estás usando contenedores APFS o contenedores HFS+? Las opciones de encriptación se amplían enormemente para APFS y la discusión que tenemos será incorrecta si no se reduce una u otra. Un tratamiento adecuado de todo esto podría requerir uno o dos capítulos de un libro y estoy bastante seguro de que está buscando una respuesta más limitada aquí.

Respuestas (2)

En el nivel más básico, Apple controla el firmware y almacena la información mínima absoluta necesaria para presentar la ilusión de que un sistema operativo se está ejecutando en la pantalla de inicio de sesión previa al inicio cuando FileVault está habilitado.

Esto está documentado bastante extensamente por Apple:

Antes del chip T2, que sirve como una especie de módulo de confianza para autenticar si el sistema operativo que se está iniciando está correctamente firmado/encriptado y/o no manipulado, esta información previa al inicio se puede almacenar en NVRAM, así como en EFI/HD de recuperación. que no se cifran con una clave que necesita una contraseña/frase de contraseña de usuario para desbloquear el almacenamiento principal.

Cuando cambia el fondo o los usuarios que pueden desbloquear FileVault, estos datos almacenados en caché se guardan fuera de la parte cifrada del disco, por lo que se nos presentan los íconos y la pantalla gráfica de inicio de sesión. Cuando veo que Apple dice que el disco de inicio está encriptado, entiendo que se refiere solo al volumen lógico Macintosh HD que almacena todos los datos del usuario y todo el sistema operativo, pero no el firmware y los datos previos al arranque. (excepto para el hardware habilitado con chip T2 que son casos especiales y aún no son la norma)

Puede confirmar esto con cualquiera de los siguientes elogios en función de si su sistema operativo admite APFS y contenedores APFS, que es el nuevo estándar para volúmenes y cifrado, o contenedores HFS+ y Core Storage.

diskutil cs list
diskutil apfs list

El otro cambio emocionante que está en progreso en relación con el chip T2 en la nueva MacBook Pro y la iMac Pro es que puede aplicar el cifrado en el almacenamiento interno, ya sea que alguien tome o no el segundo paso del cifrado FileVault. Específicamente, generará una clave de cifrado y comenzará a cifrar todos los datos incluso antes de que se cree la cuenta de usuario. Un SSD de cualquiera de estos no se podrá leer si se lleva a otra computadora, ya sea que esa computadora tenga un chip T2 o no. Las claves necesarias para descifrar todo el disco se almacenan únicamente en Secure Enclave.

Re: tu emoción. ¿Qué ventajas tiene usar el esquema de cifrado T2 en comparación con el FV2 normal (o con respecto al OP: la variante de Linux dm-crypt [o lo que sea que pueda elegir allí])? ¿Y cómo se sacarían los AppleSSD modernos de los T2 MBP en primer lugar?
@LangLangC Con respecto a sus preguntas, dejaré la primera para bmike, ya que tendrá sus propios pensamientos sobre las ventajas del T2. En cuanto a la pregunta sobre los SSD modernos de Apple, son básicamente chips de memoria flash soldados a la placa lógica, con el chip T2 actuando como controlador. Entonces, en realidad tendrías que quitar la placa lógica para quitar los SSD . Con el equipo adecuado, uno podría eliminar solo los chips flash, pero sugeriría que más del 99,99% de las personas no tendrán acceso a ese tipo de equipo, e incluso si lo tuvieran, el riesgo y el tiempo involucrados son grandes desincentivos.
El chip T2 significa que Apple puede ofrecernos el borrado criptográfico de los medios reemplazando/rotando/destruyendo las claves. Hasta ahora, si escribía información confidencial/sensible en un SSD, el controlador podía intercambiar esos datos fuera del espacio activo y ninguna forma de borrar limpiaría ese disco. Esto permite una ruta de recuperación si copia datos a un SSD antes de asegurarse de que FileVault esté configurado (o si alguien desactivó FV y comienza el descifrado y los datos se almacenan sin cifrar).

La partición de arranque no necesita estar en un dispositivo, también puede estar en la unidad misma ( Boot OS X):

pse@Mithos:~$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Macintosh HD            121.0 GB   disk0s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s3

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:          Apple_CoreStorage Macintosh HD            999.3 GB   disk1s2
   3:                 Apple_Boot Recovery HD             650.1 MB   disk1s3

/dev/disk2 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           +1.1 TB     disk2
                                 Logical Volume on disk0s2, disk1s2
                                 559BC36D-E609-490D-8DDA-7C6F344DBB9B
                                 Unlocked Encrypted Fusion Drive
¿Cuáles de las tres particiones están encriptadas?
@Jon Chesterfield Ninguno directamente. disk0s2y disk1s2forman parte del volumen lógico disk2.
¿Apple_Boot y EFI no forman parte del volumen lógico cifrado?
@JonChesterfield Solo se cifra el volumen lógico (y las particiones que forman parte de if)
Eso sugiere la explicación técnicamente decepcionante de que OSX no puede cifrar todo el disco, a pesar de las descripciones que afirman que sí.
@JonChesterfield No sé a qué explicación se refiere (y cuál es el trasfondo de su pregunta), ¿tal vez pueda agregar eso a su pregunta? De todos modos, el reclamo es que la unidad visible para el usuario está completamente encriptada (que es disk2en mi caso)
Algunos antecedentes añadidos. Esencialmente, encontré un montón de enlaces que hablaban de "cifrado de disco completo" y pensé "¿cómo?".
@nohillside Creo que las diferencias en el proceso de arranque son menores de lo esperado, pero en Linux es más visible/transparente que usted (actualmente) necesita un almacenamiento sin cifrar para comenzar a arrancar y luego se realiza el descifrado para que luego se cargue en cadena el sistema real . Se trata de una perspectiva técnica que hace que procesos muy similares se vean un poco diferentes.