Cuando se usa LUKS, ¿qué partes del disco duro no están cifradas?

0

Debido a historias como las siguientes: enlace (forzado en las aduanas del aeropuerto a descifrar una computadora portátil) siendo cada vez más frecuente, Pensé en lo siguiente. ¿Qué pasa si simplemente viaja con una computadora portátil donde cifró las partes no cifradas en una configuración LUKS FDE a través de un script y un CD en vivo? Todo su disco duro debería verse como datos aleatorios y usted tendría una negación plausible de haber borrado su disco duro antes de viajar. Al llegar a su destino, simplemente inicie su Live CD, descargue su script de un servidor y descifre / boot y su cargador de arranque para tener una computadora portátil que funcione nuevamente. Ahora me preguntaba, ¿cuánto necesitaría cifrar mi script, es decir, qué partes de una configuración estándar de FDE con LUKS no están cifradas?

Por lo tanto, uso LUKS estándar con una partición ext2 / boot de 512 MB:

  

$ sudo fdisk -l / dev / sdd

     

Disco / dev / sdd: 238.5 GiB, 256060514304 bytes, 500118192 sectores
  Unidades: sectores de 1 * 512 = 512 bytes
  Tamaño del sector (lógico / físico): 512 bytes / 4096 bytes
  Tamaño de E / S (mínimo / óptimo): 4096 bytes / 4096 bytes
  Tipo de disco: dos
  Identificador del disco: 0x0de4d334

     

Tipo de identificación de tamaño de inicio de sectores de inicio de inicio del dispositivo
  / dev / sdd1 * 2048 1050623 1048576 512M 83 Linux
  / dev / sdd2 1050624 500118191 499067568 238G bf Solaris

La partición / dev / sdd2 está completamente encriptada con AES / LUKS y, por lo tanto, debe ser indistinguible de los datos aleatorios. ¿Sería suficiente tener un script para cifrar el sector 0 hasta 1050624 en este caso? ¿O es que mi configuración está filtrando datos en otros lugares porque es más que solo datos aleatorios? ¿Fin de una partición al final del disco tal vez? ¿Debo cifrar los primeros 50 MB de / dev / sdd2 también?

    
pregunta sukosevato 07.01.2015 - 14:22
fuente

1 respuesta

3

Como dijiste, la partición de inicio no está cifrada en absoluto, porque dm-crypt + LUKS no la admite.

Como segundo punto, una partición cifrada típica bajo la configuración de dm-crypt + LUKS es la suma de los datos cifrados y un encabezado de partición (que contiene la clave maestra, todos los lotes de claves y algunos parámetros de cifrado).

Este encabezado tiene una estructura bien conocida, por lo que incluso toda la partición está llena de datos aleatorios, el encabezado de la partición pierde la presencia de dicho cifrado. Puede hacer una copia de seguridad fácilmente en un sitio web remoto y sobrescribirlo en el disco con datos aleatorios y luego volver a colocarlo en su lugar original.

incluso puede obtener todos los parámetros para su cifrado y para alimentar con todos los datos del comando dmsetup para descifrar su partición sin usar cryptsetup o luks.

No tengo conocimiento de otras posibles fugas.

Más información sobre el formato del encabezado: enlace o consulte la Pregunta 6.12 aquí: enlace


    Refers to LUKS On-Disk Format Specification Version 1.2.1
LUKS header:
offset  length  name             data type  description
0x0000   0x06   magic            byte[]     'L','U','K','S', 0xba, 0xbe
     0      6
0x0006   0x02   version          uint16_t   LUKS version
     6      3
0x0008   0x20   cipher-name      char[]     cipher name spec.
     8     32
0x0028   0x20   cipher-mode      char[]     cipher mode spec.
    40     32
0x0048   0x20   hash-spec        char[]     hash spec.
    72     32
0x0068   0x04   payload-offset   uint32_t   bulk data offset in sectors
   104      4                               (512 bytes per sector)
0x006c   0x04   key-bytes        uint32_t   number of bytes in key
   108      4
0x0070   0x14   mk-digest        byte[]     master key checksum
   112     20                               calculated with PBKDF2
0x0084   0x20   mk-digest-salt   byte[]     salt for PBKDF2 when
   132     32                               calculating mk-digest
0x00a4   0x04   mk-digest-iter   uint32_t   iteration count for PBKDF2
   164      4                               when calculating mk-digest
0x00a8   0x28   uuid             char[]     partition UUID
   168     40
0x00d0   0x30   key-slot-0       key slot   key slot 0
   208     48
0x0100   0x30   key-slot-1       key slot   key slot 1
   256     48
0x0130   0x30   key-slot-2       key slot   key slot 2
   304     48
0x0160   0x30   key-slot-3       key slot   key slot 3
   352     48
0x0190   0x30   key-slot-4       key slot   key slot 4
   400     48
0x01c0   0x30   key-slot-5       key slot   key slot 5
   448     48
0x01f0   0x30   key-slot-6       key slot   key slot 6
   496     48
0x0220   0x30   key-slot-7       key slot   key slot 7
   544     48

Key slot: offset length name data type description 0x0000 0x04 active uint32_t key slot enabled/disabled 0 4 0x0004 0x04 iterations uint32_t PBKDF2 iteration count 4 4 0x0008 0x20 salt byte[] PBKDF2 salt 8 32 0x0028 0x04 key-material-offset uint32_t key start sector 40 4 (512 bytes/sector) 0x002c 0x04 stripes uint32_t number of anti-forensic 44 4 stripes

    
respondido por el ddddavidee 07.01.2015 - 15:30
fuente

Lea otras preguntas en las etiquetas