Como en cualquier industria, la de la seguridad de la información, más comúnmente conocida como «ciberseguridad», a pesar de todos sus encendidos debates, se ha reunido en torno a un pequeño corpus de mejores prácticas.

Una de las más altas en esta lista es el cifrado de disco completo, que los expertos en seguridad consideran sacrosanto, una obviedad que todo el mundo debería utilizar como mínimo. Este es el cifrado que garantiza que alguien que te robe el dispositivo no podrá saber todo lo que tienes guardado en él.

Estoy aquí para argumentar que la mayoría de vosotros estáis mejor sin usarlo. Sé que esto puede parecer una locura, ya que soy el tipo de seguridad aquí, pero escúchame.

De ninguna manera voy a convencerte de que no uses la encriptación – sin ella, las herramientas digitales en las que confiamos cada día serían inutilizables. Por eso no estoy en contra de la encriptación, sino específicamente en contra de la encriptación de todo el disco, y sólo para ciertos usuarios.

Lo que sostengo es que, para la mayoría de la gente que se enfrenta a los casos de uso más comunes, la encriptación de todo el disco es una exageración. Estos usuarios no disfrutan de ninguna ganancia medible en seguridad en comparación con el cifrado alternativo de datos en reposo, pero pagan por ello con un golpe de rendimiento medible. No se trata sólo de una cuestión de eficiencia o de tiempos de carga, sino de un coste literalmente mayor para los usuarios.

Existen alternativas que ofrecen a los usuarios normales de todos los días, con las preocupaciones de seguridad normales de todos los días, un nivel de protección proporcional a lo que ofrece el cifrado de disco completo. Hay que admitir que están un poco fuera del camino, ya que la mayoría de las empresas de tecnología de consumo han adoptado el cifrado de disco completo, pero están ahí fuera.

Tiene que haber otra manera

Hoy en día, el cifrado de disco completo es, con mucho, el tipo más común de esquema de cifrado para los datos en reposo. Piensa en los datos en reposo como los datos que guardas en algún tipo de medio de almacenamiento (como un disco duro) para su uso posterior, no el tipo de datos que se mueven a través de algún canal de comunicación como Internet (eso serían datos en tránsito).

En general, el cifrado de disco completo se implementa en un nivel de complejidad informática que se ocupa de cómo los bytes en bruto, desvinculados del contexto de representación de la información, se organizan en el disco duro. Nos referiremos a esto como el nivel de dispositivo de bloque, ya que el cifrado de disco completo se aplica al dispositivo de bloque que es una partición del disco duro (sólo un nombre elegante para un gran segmento de su disco duro).

Este nivel es más alto que el nivel de señal eléctrica, pero por debajo del sistema de archivos, este último es el punto en el que su ordenador ve los bytes como archivos en lugar de sólo bytes. El sistema de archivos sirve como una especie de organigrama que le dice a tu ordenador cómo saber qué bytes van juntos para formar los archivos, y cómo distinguir los archivos y los tipos de archivos.

Entonces, ¿qué es exactamente este cifrado de disco que no es un cifrado de disco completo?

La respuesta es el cifrado a nivel de sistema de archivos. Bajo la encriptación a nivel de sistema de archivos, también llamada «encriptación basada en archivos», un sistema encripta ciertos directorios (es decir, carpetas) y todos los archivos y directorios dentro de ellos, recursivamente hasta todo lo que el directorio superior contiene en última instancia. El cifrado a nivel de sistema de archivos también puede cifrar un sistema de archivos completo, protegiendo automáticamente todo lo que se guarda en él. Para nuestros propósitos, sin embargo, consideraremos el tipo de encriptación basada en archivos que permite a los usuarios elegir qué archivos y directorios encriptar, dejando el resto en paz.

Para ser precisos, el modelo que tengo en mente es uno que encripta sólo los documentos del usuario, los medios de comunicación, y otros archivos que en los sistemas Unix terminarían en el subdirectorio del usuario bajo el directorio /home. De esta manera, los archivos centrales del sistema y los binarios del software para ejecutar programas se dejan en paz, y sólo se protegen los datos personales reales.

Esto, como su nombre indica, ocurre en el nivel del sistema de archivos, que está un nivel por encima de donde opera el cifrado de disco completo. Esto tiene algunas implicaciones importantes. Para empezar, todos sus archivos encriptados ya se entienden como archivos, lo que significa que pueden ser descifrados individualmente.

También permite a los usuarios aumentar el cifrado de archivos con controles de permisos de archivos. Como todo el disco está encriptado bajo el cifrado de disco completo, un usuario que conozca la contraseña de descifrado del disco tiene que introducirla antes de poder proceder a cualquier otra cosa. Pero junto con los archivos del usuario, también se bloquean todos los archivos que el sistema operativo necesita para funcionar. Un arranque exitoso requiere que todo el dispositivo de bloques esté desbloqueado, y una vez que el disco está desbloqueado, todo está abierto.

Con el cifrado a nivel de archivos, su SO completo impone las distinciones para lo que se descifra y cuándo. Cada usuario puede definir cuáles de sus archivos están encriptados, y con qué contraseñas. Así, con el cifrado basado en archivos, un usuario podría descifrar sus archivos y seguir dejando bloqueados los datos de otro usuario. No tienes que desencriptar un directorio encriptado si no quieres hacerlo – si no tienes intención de abrir ninguno de tus documentos o archivos multimedia, puedes utilizar los programas del ordenador dejando tus archivos personales bloqueados donde, por ejemplo, el malware no pueda infectarlos.

Muéstrame lo que tienes

No me tomaría la molestia de presentar el cifrado basado en archivos si no tuviera algunas ventajas reales sobre el cifrado de todo el disco. Para ello, la mayor fortaleza del cifrado basado en archivos es que su velocidad deja atrás al cifrado de disco completo. Esto se debe a que los sistemas de encriptación basados en archivos leen y escriben en el disco de manera más eficiente.

Para entender por qué es esto, vamos a entrar en cómo funcionan los dispositivos de bloques encriptados (como un almacenamiento flash). Para refrescar la terminología, el «texto cifrado» es la forma encriptada de la información, que es ilegible sin la clave correcta, mientras que el «texto plano» es la información en su forma original y comprensible.

Cuando descifras los datos encriptados en reposo, tu ordenador no está cambiando literalmente todos los bits del hardware de almacenamiento de texto cifrado a texto plano. Eso llevaría demasiado tiempo, y freiría tu disco en poco tiempo por escribir en todo el disco cada vez que arranques y apagues tu dispositivo. En su lugar, los bits físicos de la unidad permanecen como están, pero se leen y escriben a través de un búfer que existe en la memoria después de aplicar la clave correcta. El búfer aplica una operación de descifrado cuando se lee la información y una operación de cifrado cuando se escribe en la unidad. Mientras los datos se descifran y se leen, el texto sin formato se mantiene en la memoria para que se pueda consultar fácilmente hasta que se termine con él.

Añadir estos pasos adicionales ralentiza mucho las cosas en comparación con las lecturas y escrituras sin cifrar, hasta un factor de diez. Para el cifrado de todo el disco, cada cosa que hagas en tu ordenador tiene que ser leída a través de este búfer de descifrado, porque todo tu dispositivo de bloques, y su contenido, está cifrado. Fundamentalmente, esto incluye todos los binarios que ejecutan el propio sistema operativo y todo el software que contiene.

Pero con la configuración que hemos elegido de cifrado basado en archivos, sólo tus documentos de usuario y archivos multimedia necesitan ser descifrados. La mayor parte del software que utilizas a diario no se encuentra entre estos archivos. Hay un montón de tareas informáticas que no necesitarían descifrar nada en absoluto. Como ejemplo, vivimos tanto en nuestros navegadores web que probablemente pueda contar con una mano el número de archivos de usuario que ha abierto en las últimas 24 horas.

Obviamente, su ordenador tendrá que descifrar algunos datos en algún momento, pero incluso entonces, debido a que el cifrado se implementa en el nivel del sistema de archivos, su sistema operativo cifrado basado en archivos puede hacerlo más eficientemente de lo que lo haría el análogo cifrado de disco completo.

En definitiva, todo acceso al disco, ya sea a un disco totalmente cifrado o a un sistema de archivos cifrado, requiere la aprobación del núcleo del sistema operativo, el kernel. Sin embargo, debido a que el cifrado en el cifrado de disco completo se gestiona en el nivel de privilegio administrativo del sistema, el núcleo tiene que involucrarse también para leer el dispositivo de bloques a través del búfer de descifrado.

El cifrado basado en archivos no se enfrenta a este obstáculo, ya que sólo requiere derechos de usuario sin privilegios para descifrar los propios archivos del usuario. Como resultado, el cifrado de todo el disco tiene que obtener un permiso adicional del núcleo para leer o escribir en el disco, en comparación con el mismo proceso bajo el modelo basado en archivos.

Más eficiente con menos desgaste

Otra gran ventaja del cifrado del sistema de archivos es que reduce mucho el desgaste de la unidad. Por cada operación de escritura individual, un sistema con encriptación basada en archivos simplemente escribe menos datos que uno con encriptación de disco completo.

De nuevo, la encriptación que funciona para la encriptación de disco completo está en el nivel de dispositivo de bloque, que sólo ve bloques, unidades de tamaño uniforme, de bytes. Sin embargo, no todos los datos ocupan un bloque entero. De hecho, muchos no lo hacen. Así que la encriptación a nivel de bloque frustra el mecanismo de eficiencia incorporado en el ordenador, que sólo cambia las partes de un archivo que realmente han cambiado. Sin el cifrado de todo el disco, un ordenador puede comparar la versión actualizada de un archivo en la memoria con la versión anterior en la unidad, determinar qué partes son ahora diferentes, y escribir esas nuevas partes diferentes en el archivo.

Su ordenador puede lograr una economía similar de escrituras con el cifrado basado en archivos, también: cuando la versión de texto plano de su archivo en la memoria se actualiza, el archivo se filtra a través del búfer de cifrado y se mantiene en la memoria temporalmente, y luego el sistema operativo compara la nueva versión cifrada contra la versión cifrada anterior en su unidad para determinar qué bits realmente cambió, y sólo escribe esos.

El cifrado de todo el disco es otra historia.

Bajo ese modelo, el SO sabe qué partes del archivo han cambiado, pero como el cifrado es por bloque y no por archivo, el SO tiene que traducir los archivos en bloques, cifrar el bloque y escribir esos bloques en el dispositivo de bloques. Las revisiones en un archivo que no suman el valor de un bloque de datos pueden abarcar varios bloques, todos los cuales deben ser filtrados a través del búfer cifrado y escritos en su totalidad de nuevo en el dispositivo de bloque. Incluso si todos los datos alterados se almacenan en un bloque, se reescribe todo el bloque, lo que supone una importante sobrecarga de escritura.

Por su propia naturaleza, el cifrado a nivel de sistema de archivos ofrece una flexibilidad que no tiene la alternativa del disco completo. Como se ha señalado anteriormente, el cifrado del disco completo es todo o nada. Cifra todo el sistema, los archivos principales y todos los datos del usuario. Esto significa que los datos no sensibles que quieres cargar más rápido (por ejemplo, los medios de vídeo o audio para la edición) se ven afectados por la ralentización de la lectura y la escritura.

El cifrado de disco completo tampoco es ideal para los sistemas multiusuario, como un dispositivo doméstico compartido. Cualquiera que quiera utilizar el dispositivo tiene que conocer la frase de contraseña de descifrado del disco completo, o el dispositivo no puede ni siquiera arrancar en el sistema operativo. Y al desbloquear el dispositivo para cualquier usuario se desbloquean los datos para todos los usuarios. Eso también significa que no se pueden habilitar funciones como las cuentas de «invitados» sin privilegios que pueden utilizar el sistema operativo con el acceso a los archivos del usuario bloqueado.

Por último, el cifrado basado en archivos es más razonable para lo que la mayoría de la gente necesita. Yo mismo he dicho que la seguridad implica inconvenientes, y esto es cierto. Pero cuando se diseña un conjunto de prácticas de seguridad, asumir más inconvenientes de los necesarios para mitigar el riesgo de ataque no ayuda. De hecho, sólo perjudica: si los procedimientos de seguridad de un usuario son demasiado onerosos, ese usuario acabará tomando atajos.

En pocas palabras, el cifrado de todo el disco es una exageración para el caso de uso que probablemente tengas. Las dos configuraciones de encriptación que hemos estado yuxtaponiendo te protegen de diferentes maneras. La principal diferencia en el grado de seguridad entre ellas es que el cifrado basado en archivos sólo protege tus documentos de usuario y archivos multimedia. En cambio, el cifrado de todo el disco encripta esos archivos y los del sistema operativo principal.

Algunas desventajas potenciales

Como es fácil de adivinar, hay inconvenientes en no cifrar todo como lo hace el cifrado de todo el disco. En teoría, un atacante con acceso físico a su dispositivo que emplee el cifrado basado en archivos podría alterar los datos no cifrados del sistema operativo. A partir de ahí, el atacante o bien arranca tu máquina para ejecutar el código que acaba de poner allí, o bien espera a que tú arranques tu máquina para que su código malicioso haga algo para enganchar tus datos.

Eso suena mal, y lo es, pero también es probable que no te ocurra a ti. Realmente, la mayoría o ninguno de tus adversarios lo intentará siquiera. O bien son tan primitivos que el cifrado a nivel de sistema de archivos es suficiente para frustrarlos, o bien son tan sofisticados (es decir, poderosos) que tienen métodos más eficientes para obtener tus datos.

Para la inmensa mayoría de los usuarios, el problema que resuelve el cifrado de datos en reposo es impedir que los ladrones que roban físicamente tu dispositivo obtengan tus datos. Por eso, los ladrones inteligentes no cuentan con conseguir tus datos y, en cambio, recurren a cercar el dispositivo a cambio de dinero. El cifrado basado en archivos y el cifrado de disco completo funcionan igualmente bien en este escenario.

Por el contrario, si tu adversario es una autoridad gubernamental (por ejemplo, las fuerzas del orden), ni el cifrado basado en archivos ni el cifrado de disco completo te salvarán. Dependiendo de la jurisdicción, pueden ordenarte legalmente que desbloquees tu dispositivo. En casi todos los demás lugares, los gobiernos pueden dar órdenes a los servicios que almacenan tus datos en su nube para que les entreguen lo que quieren, y en los regímenes represivos, digamos que tienen formas más directas y dolorosas de hacer que cumplas.

Digamos, por el bien de la discusión, que te enfrentas a un actor gubernamental, y que todas las técnicas mencionadas no han funcionado. El cifrado de disco completo sólo funcionaría si el gobierno no tuviera una forma más sofisticada de atacar tu sistema. Esto no es un problema para la mayoría de los gobiernos poderosos del mundo, ya que son lo suficientemente avanzados como para poder hacer fuerza bruta o eludir el cifrado de alguna manera.

Así que no hay muchos casos en los que el cifrado de disco completo realmente te salvará: cuando tu enemigo es un gobierno y puedes resistir la tortura física, pero el gobierno no es capaz de hacer el hacking de película de acción realmente genial que básicamente todas las naciones del G20 pueden hacer.

Eso no quiere decir que, dependiendo de tu adversario, no haya nada que ganar haciéndole las cosas difíciles a tu atacante – hacer la vida de tu atacante tan difícil como sea posible es una estrategia de seguridad consagrada – pero date cuenta de que eso es todo lo que el cifrado de disco completo puede garantizarte. Pero, de nuevo, eso no es lo que casi ninguno de ustedes está mirando.

Cifrado práctico, implementación poco práctica

Aquellos de vosotros que estéis convencidos y queráis recuperar vuestro rendimiento de lectura-escritura y la longevidad del SSD probablemente os estéis preguntando dónde podéis conseguir esta dulce criptografía a nivel de archivo. Bueno, ahí es donde las cosas se complican. Verás, es difícil configurarlo en la práctica.

La razón principal es que los principales sistemas operativos de consumo ya están cifrados en todo el disco. Apple y Google han configurado sus dispositivos móviles para el cifrado de disco completo, y niegan a los usuarios la posibilidad de desactivarlo. Apple y Microsoft también permiten el cifrado de disco completo por defecto, pero ambos ofrecen formas de desactivarlo para los intrépidos.

Para los sistemas operativos de escritorio basados en Linux (mi preferencia personal), la instalación de su sistema con el cifrado a nivel de archivos solía ser tan fácil como marcar una casilla, pero esto está pasando rápidamente por el camino del dodo. Ubuntu ha eliminado recientemente esta opción de instalación en su instalador gráfico, dejando a Linux Mint como la única distribución que conozco que todavía la ofrece. Incluso las distribuciones de bricolaje, como Arch Linux, desaconsejan que se intente configurar la criptografía a nivel de archivo. En su lugar, le dirigen hacia el cifrado de bloques, para el que la documentación es mucho más completa.

Si usted está dispuesto a ir a las longitudes requeridas para desactivar su cifrado de disco completo, hay algunas opciones disponibles para usted. Una de las opciones más sólidas es VeraCrypt. Nacido del deseo de tomar el manto del extinto TrueCrypt, VeraCrypt es una herramienta gráfica para crear estructuras de directorios encriptados sobre un sistema de archivos existente. Cuenta con opciones para velocidades de lectura y escritura a la par de los sistemas de archivos no encriptados, e incluso con características de superespionaje como la encriptación negable, en la que tus datos encriptados se verán como un espacio normal sin usar en tu disco. Una exploración incluso de las capacidades básicas de VeraCrypt iría más allá del alcance de este ya extenso artículo, pero tal vez tenga los ingredientes de un futuro artículo.

Entonces, ¿por qué me he tomado todo este tiempo para hablarte de algo que no es lo más (aunque ciertamente no lo menos) accesible? Fundamentalmente, es importante saber lo que es posible para poder tomar las decisiones más informadas, para crear la experiencia informática que más responda a sus necesidades. Los ordenadores son infinitamente personalizables, así que no hay ninguna razón para negar a un usuario la configuración que más le conviene: no conocer sus opciones es la peor de las razones.

Apreciar lo que es posible es algo más que vivir tu mejor vida digital, sino proporcionar el apoyo, aunque sólo sea de usuario, a los desarrolladores que lo hacen posible. Si esto suena como algo que podría hacer tu vida mejor, te digo, ¡sigue adelante y juega!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.