Redes Sociales

lunes, 16 de mayo de 2016

Cifrado (I)

Comienzo una serie de tres articulos sobre el cifrado que me pidieron para una publicación y de la cula al final cogieron solo una pequeña parte. Como el texto es largo, lo dividiré en tres posts. Tratan del cifrado de discos, del cifrado de moviles y del cifrado de correos electrónicos. Esta serie de artículos fueron publicados por Realsec para su blog de ciberseguridad.

INTRODUCCIÓN

En un mundo global como el que estamos todo acaba globalizándose, incluidas las amenazas que pueden afectar a una empresa. También los atacantes que ejecutan esas amenazas se globalizan, hasta los métodos de defensa están comenzando a globalizarse. Cualquiera puede hoy en día jugar a ser hacker. Un par de cursillos, un par de foros underground, unas cuantas descargas y, a falta de conocimiento especializado, cualquiera puede convertirse en una importante amenaza importante para una empresa, sea del tamaño que sea.

Desde el mundo empresarial hay que ponerse las pilas en securizar los sistemas y las comunicaciones para evitar que cualquiera pueda acceder a información confidencial o comprometida.

Aparte de esforzarnos en evitar que "los malos" accedan a nuestros sistemas, un segundo nivel de protección consistiría en evitar que, si consiguen acceder, puedan leer ningún dato confidencial. Para ello lo ideal es el cifrado tanto de los sistemas de la empresa como de las comunicaciones que realizamos a diario con clientes, colaboradores, proveedores y conocidos en general.

Cifrado

El cifrado de información consiste en la aplicación (previa introducción de una clave de cifrado) de un algoritmo a un texto, imagen o cualquier otro tipo de documento, de manera que el "objeto" obtenido sea completamente ilegible, pero que, a la vez, sea posible descifrarlo aplicando la misma contraseña u otra asociada, obteniendo al final el documento original.

Según como sea esta clave de cifrado, existen dos tipos de algoritmos de cifrado. Por una parte el cifrado simétrico y por otra el cifrado asimétrico. A grandes rasgos, en el cifrado simétrico, también conocido como cifrado de clave secreta, se utiliza la misma clave para cifrar y descifrar la información, mientras que en el cifrado asimétrico, o cifrado de clave pública, se utiliza un par de claves diferentes (pero relacionadas entre ellas) para el cifrado y descifrado de la información.

Podemos decir que el cifrado asimétrico es una especie de cifrado dirigido entre dos personas y por tanto es habitual encontrarlo en el cifrado de comunicaciones. El cifrado asimétrico además garantiza, aparte de la confidencialidad, la integridad del texto (que no haya sido modificado por quien no debe) y el no repudio (que el autor no pueda retractarse de lo que ha escrito).

Pero, ¿qué herramientas hay disponibles para poder cifrar nuestra información? Existen en el mercado infinidad de productos comerciales para el cifrado de información, pero no es necesario gastarse dinero para conseguir un buen producto. Prácticamente todos los sistemas operativos incluyen de forma nativa herramientas que nos permite cifrar los datos almacenados en las unidades de disco, memorias USB y demás dispositivos conectados. Estas herramientas nos permiten cifrar toda la unidad o archivos previamente seleccionados.

La mayoría de estas herramientas de cifrado utilizan el algoritmo AES. Se trata de un algoritmo de cifrado simétrico, adecuado para los más altos niveles de confidencialidad, aunque también existen otros tipos de cifrado, como las diferentes variantes de DES (DES, 3DES, DESX ...) o RSA.

EFS

En todas las versiones de los sistemas operativos Windows (desde Windows 2000) existe EFS, que permite el cifrado de ficheros o directorios de forma sencilla. Simplemente clicando con el botón derecho sobre un directorio en Windows, seleccionando la opción "Propiedades" y dándole al botón "Opciones avanzadas" nos aparece el cuadro de dialogo que vemos en la imagen y que nos permite cifrar el directorio de una forma sencilla.

Sin embargo no hemos introducido ninguna clave para el cifrado. ¿Cómo es posible que hayamos cifrado el fichero?. Esto es porque EFS automáticamente ha generado una clave de cifrado aleatoria y única para este directorio o fichero. El algoritmo de cifrado utilizado ha sido AES, antes mencionado, con un tamaño de clave de 256 bits (. Dado que se trata de un cifrado simétrico, la clave será la misma para descifrar el fichero. Y dado que esa clave sólo la conoce EFS, ésta debe estar almacenada en algún sitio. Pues bien, este sitio es en el propio fichero que acabamos de cifrar. Es un poco enrevesado, me explico: La clave de cifrado, también es un texto y también se puede cifrar. Lo que hace EFS es cifrar la clave de cifrado con un algoritmo diferente, en este caso RSA y utilizando como clave nuestra contraseña de acceso a Windows. El texto resultante lo "pega" al final del fichero que habíamos cifrado antes y lo almacena en disco. De esta manera, este directorio o fichero solo podrá ser descifrado por el usuario que sepa la clave de acceso a Windows, que se supone que somos sólo nosotros.

Desde el explorador de Windows no podemos hacer mucho mas con EFS, sin embargo, con todos los sistemas Windows viene una herramienta de línea de comandos llamada cipher.exe que permite cifrar y descifrar ficheros utilizando la clave tanto simétrica como asimétrica que nosotros deseemos.

EFS tiene sin embargo algunas deficiencias. Por ejemplo no encripta los ficheros propios del sistema operativo y aunque creamos que tenemos todo disco cifrado y nadie puede leer nuestra información, si se trata de un equipo portatil que no conectamos contra un servidor de dominio, un atacante podría obtener el hash de la cuenta de usuario y si ésta no es lo suficientemente compleja, obtener la contraseña de usuario, utilizada como hemos visto por EFS para cifrar los ficheros del disco duro.

BITLOCKER

Para evitar esto, a partir de Windows 7, aunque únicamente en las ediciones Ultimate y Enterprise, disponemos de una herramienta llamada Bitlocker, con una interfaz gráfica muy intuitiva, que nos permitirá cifrar de manera muy simple nuestra unidad completa (esta vez de verdad) o los archivos sueltos que queramos. En este caso el algoritmo de cifrado utilizado es AES con clave de 128 bits. En el caso de cifrado de unidades enteras, si el equipo esta apagado, el disco permanecerá cifrado, desde el primer hasta el último bit.

Para lanzar bitlocker lo mejor es buscar la aplicación Bitlocker Drive Encription:

En Windows 8/10 es igual:

Como indicabamos Bitlocker permite cifrar una unidad entera o solo un conjunto de archivos:

Bitlocker nos da la opción de escribir una clave de cifrado que sólo nosotros sabremos o dejarle a él escoger una clave aleatoria. En este caso, como ocurría con EFS, esa clave (llamada FVEK) será cifrada con otra clave llamada VMK la cual será almacenada en una región especial del disco cifrado. Para aumentar la seguridad, bitlocker nos ofrece la opción de cifrar esta clave, la VMK y almacenar la clave en una unidad USB o bien utilizar un hardware especial que cumpla con el estándar TPM v1.2. De esta manera sólo sería posible arrancar el equipo si disponemos de esa llave USB o de ese hardware conectado.

En ambos casos es absolutamente necesario tener una vía de recuperación en caso de que olvidemos la clave o se pierda la llave USB. Por eso el siguiente paso al cifrar un unidad con bitlocker es obtener una clave de recuperación, ya sea en un USB, impresa o en una cuenta de Microsoft:

Una vez tengamos el disco cifrado con Bitlocker nosotros, como usuarios, no notaremos nada, puesto que todo lo que se escriba y lea del disco pasará a través de Bitlocker y será éste quien cifre y descifre todo de forma transparente para el usuario. Nosotros veremos los ficheros como los veíamos hasta ahora.

Los expertos en seguridad se quejan de que el algoritmo de cifrado utiliza bloques de solo 128 bits, lo que significa que, con un cierto esfuerzo, podría ser posible su descifrado utilizando técnicas de fuerza bruta.

Algunas alternativas a bitlocker son DiskCryptor, TrueCrypt (aunque descontinuado parece que nunca se encontró ningún backdoor) o Veracrypt, que es un fork de Truecrypt. Todas ellas soportan USB como clave, y al menos DiskCryptor soporta arranque desde partición boot externa.

Linux y OSX

En sistemas operativos Linux, disponemos en todas sus versiones de la herramienta de cifrado GnuPG. Para permiten usar llaves USB para el descifrado automático de unidades no existe una solución como tal pero se puede conseguir aprovechando herramientas como cryptsetup y usb_keymaster usando LUKS y dm-crypt. Por ultimo, en el sistema operativo de Apple (OSX) disponemos de la herramienta FileVault2, también disponible en todas sus versiones y que utiliza el algoritmos AES con claves de 256 bits.

Además de las herramientas integradas en los sistemas operativos, para cifrar archivos sueltos, disponemos de esta opción en las herramientas de compresión, que nos permiten cifrar el contenido de archivo comprimido utilizando una contraseña introducida por nosotros. También, existen aplicaciones de software libre específicas de cifrado que nos permitirán mantener nuestros datos seguros de manera gratuita.

No hay comentarios:

Publicar un comentario