Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
CICLO FORMATIVO DE GRADO MEDIO SISTEMAS MICROINFORMÁTICOS Y REDES U.T. 3 Criptografía SEGURIDAD INFORMÁTICA 2º Curso Rogelio García-Reina Tejado1 v 1.0 r ogelio garcia@ iesgregorioprieto .com 1 Perfil en Linkedin http://www.linkedin.com/pub/rogelio-garcia-reina-tejado/3/564/42a mailto:%20rgarciareina@gmail.com mailto:%20rgarciareina@gmail.com mailto:%20rgarciareina@gmail.com mailto:%20rgarciareina@gmail.com mailto:%20rgarciareina@gmail.com http://www.linkedin.com/pub/rogelio-garcia-reina-tejado/3/564/42a Seguridad Infomática v.1 Octubre - 2017 Rogelio García-Reina Tejado 2/24 ÍNDICE 1 - Introducción................................................................................................................................4 Historia de la criptografía.............................................................................................................5 Criptoanálisis de los cifrados clásicos.....................................................................................7 2 - Tipos de criptografía....................................................................................................................8 Criptografía simétrica...................................................................................................................8 Algoritmos de cifrado simétricos.............................................................................................9 Criptografía asimétrica.................................................................................................................9 Algoritmos de cifrado asimétricos.........................................................................................11 Criptografía híbrida....................................................................................................................12 Algoritmos de autenticación (Hash)...........................................................................................12 3 - Cifrado de disco.........................................................................................................................14 Cifrado de disco completo..........................................................................................................14 Cifrado de archivos y carpetas....................................................................................................16 4 - Sistemas de identificación..........................................................................................................18 Certificado digital.......................................................................................................................18 Firma electrónica........................................................................................................................19 Tarjetas inteligentes....................................................................................................................22 DNIe o DNI electrónico..............................................................................................................23 3/24 1 - Introducción La palabra Criptografía proviene del griego "kryptos" que significa oculto, y "graphia", que significa escritura, y su definición según el dicccionario es "Arte de escribir con clave secreta o de un modo enigmático". La Criptografía es una técnica, o más bien un conjunto de técnicas, que originalmente tratan sobre la protección o el ocultamiento de la información frente a observadores no autorizados. A través de la criptografía la información puede ser protegida contra el acceso no autorizado, su interceptación, su modificación y la inserción de información extra. También puede ser usada para prevenir el acceso y uso no autorizado de los recursos de una red o sistema informático y para prevenir a los usuarios la denegación de los servicios a los que sí están permitidos. Modernamente, la criptografía es la metodología para proveer la seguridad de las redes telemáticas, incluyendo la identificación de entidades y autenticación, el control de acceso a los recursos, la confidencialidad de los mensajes transmitidos, la integridad de los mensajes y su no repudio. Otro modo de proteger la información, mesajes u objetos es ocultarla dentro de otros. La ciencia que estudia y aplica técnicas para la ocultación de información, mensajes u objetos dentro de otros, llamados portadores, de modo que no sea fácil conocer su existencia, recibe el nombre de Esteganografía. El término esteganografía proviene de las palabras griegas steamos (oculto) y graphos (escritura). Es una técnica que permite enviar y entregar mensajes camuflados dentro de un objeto o contenedor, de forma que no se detecte su presencia y consigan pasar desapercibidos. No estamos hablando de una técnica moderna que haya nacido acunada por las nuevas tecnologías, sino de un método que lleva miles de años desarrollándose. Ya en el libro de las Historias de Herodoto , entre los años 484 y 430 a. C, se habla de esta técnica haciendo referencia a tablones con escrituras recubiertas de cera o mensajes tatuados en la cabeza de esclavos de confianza. En la segunda guerra mundial también se utilizaron técnicas esteganográficas para ocultar mensajes al enemigo. Posteriormente también ha sido utilizado por espías y grupos terroristas. Hoy en día es posible ocultar información en todo tipo de ficheros: documentos, imágenes, sonidos, vídeo, etc. Algunas aplicaciones que nos pueden ayudar a ocultar información en diferentes tipos de ficheros son: FileInyector y Our Secret. También existen herramientas para detectar este tipo de archivos ocultos en lo que se llama el estegoanálisis. La ventaja de la esteganografía, en comparación con la sola criptografía, está en que los mensajes elaborados por la esteganografía no atraen atención a sí mismos. Los mensajes cifrados, aunque robustos, engendran sospechas y pueden ser incriminatorios en países donde la criptografía es ilegal. Por lo tanto, mientras que el cifrado protege el contenido de un mensaje, puede decirse que la esteganografía protege mensajes y ambas las partes de la comunicación. Ambas técnicas (criptografía y esteganografía) son complementarias, proporcionando mayor seguridad, por ejemplo, que el mensaje a ocultar se cifre de forma previa. 4/24 Historia de la criptografía Entre el Antiguo Egipto e Internet, los criptogramas (los mensajes cifrados) han protagonizado buena parte de los grandes episodios históricos y un sinfín de anécdotas. Existen mensajes cifrados entre los artículos del Kamasutra, se usaron por gobernantes y militares ya en los primeros estados como Egipto, Babilonia, Roma... Abundan en los textos diplomáticos de toda época, indispensables para las órdenes militares y los ejércitos modernos en tiempos de guerra y, por supuesto, esenciales en la actividad de los espías. Hoy en día, con las nuevas tecnologías el uso de la criptografía se ha extendido más allá de su tradicional esfera estatal o política, y es vital también para la actividad diaria de las empresas y ciudadanos particulares. Los espartanos utilizaron, hacia el 400 a.C., la Escitala, que puede considerarse el primer sistema de criptografía por transposición, es decir, que se caracteriza por ocultar el significado real de un texto alterando el orden de los signos que lo conforman. Los militares de la ciudad-estado griega escribían sus mensajes sobre una tela que envolvía una vara. El mensaje sólo podía leerse cuando se enrollaba la tela sobre un bastón del mismo grosor, que poseía el destinatario lícito del mensaje (¿el origen del "bastón de mando"?). El método de la escitala era extremadamente sencillo, como también lo era el que utilizó Julio César, basado en la sustitución de cada letra por la situada tres puestos después en el alfabeto latino. A este cifrado por sustituciónsencilla se le conoce como cifrado César. 5/24 La criptografía resurgió en la Europa de la Edad Media y el Renacimiento, impulsada por las intrigas del papado y las ciudades-estado italianas. Fue un servidor del Papa Clemente VII, Grabiele de Lavinde, quien escribió el primer manual sobre la materia en el viejo continente. En 1466, León Battista Alberti, músico, pintor, escritor y arquitecto, concibió el sistema de sustitución polialfabética que emplea varios abecedarios, saltando de uno a otro cada tres o cuatro palabras. El emisor y el destinatario han de ponerse de acuerdo para fijar la posición relativa de dos círculos concéntricos, que determinará la correspondencia de los signos. Un siglo después, Giovan Battista Belaso de Brescia instituyó una nueva técnica. La clave, formada por una palabra o una frase, debe transcribirse letra a letra sobre el texto original. Cada letra del texto se cambia por la correspondiente en el alfabeto que comienza en la letra clave. Este cifrado ha llegado hasta nuestros días como "Cifrado Vigenère", ya que su invención fue atribuida incorrectamente al diplomático francés Blaise de Vigenère, contemporáneo de Belaso y autor de famosos tratados sobre criptografía en el S. XVI. 6/24 La máquina Enigma (que era una maquina electromecánica de cifrado que generaba abecedarios según la posición de unos rodillos que podrían tener distintas ordenes y posiciones) usaba un método simétrico con un algoritmo que dependía de una clave (que más que clave parece un ritual) que está formada por: los rotores o rodillos que usaba, su orden y la posición de cada anillo, siendo esto lo más básico. La máquina Enigma contaba también con un libro de claves que contenía la clave del día y hacia un poco más difícil encontrar la clave, pero no es una clave lo suficientemente segura como para que no se pudiese reventar, sobretodo cuando los ingleses gracias a los polacos consiguieron el algoritmo, por este motivo la mayoría de los días conseguían la clave. Criptoanálisis de los cifrados clásicos Los cifrados clásicos son normalmente bastante fáciles de descifrar. Muchos de los cifrados clásicos pueden ser descodificados incluso si el atacante solo conoce algo del texto cifrado. Estos cifrados pueden ser descodificados por un ataque de fuerza bruta, que es simplemente probar con todas las combinaciones. Los cifrados por sustitución son susceptibles a un análisis de frecuencias, ya que por ejemplo las letras más frecuentes en un texto corresponderían a las más frecuentes en un texto cifrado. Los cifrados polialfabéticos como el cifrado de Vigenere previenen un simple análisis por frecuencias utilizando varias sustituciones. De todas formas, técnicas más avanzadas como el método Kasiski (consiste en determinar la longitud de la clave en un cifrado Vigenère, y se basa en la búsqueda de palabras repetidas en el texto cifrado ) pueden descifrar estos tipos de cifrados. Por otra parte, los cifrados modernos están diseñados para soportar ataques más potentes. Por esto el atacante que quiera descifrar el texto no debería poder encontrar la clave incluso si sabe una gran parte del texto y del texto cifrado correspondiente e incluso si lo puede seleccionar él mismo. El cifrado clásico no satisface estos objetivos de seguridad y por ello no es utilizado en aplicaciones serias. 7/24 2 - Tipos de criptografía Tras haber hablado de los primeros métodos de criptografía clásicos toca adentrarse en los métodos criptográficos modernos como la criptografía simétrica, asimétrica e híbrida (obviamente una mezcla de las anteriores) y por último las funciones de resumen o hash (que no cumplen estrictamente la función de confidencialidad para la que está destinada la criptografía, ya que es un cifrado irreversible). Criptografía simétrica La criptografía simétrica solo utiliza una clave para cifrar y descifrar el mensaje, que tiene que conocer el emisor y el receptor previamente y este es el punto débil del sistema, la comunicación de las claves entre ambos sujetos, ya que resulta más fácil interceptar una clave que se ha transmitido sin seguridad (diciéndola en alto, mandándola por correo electrónico u ordinario o haciendo una llamada telefónica). Teóricamente debería de ser más fácil conocer la clave interceptándola que probándola una por una por fuerza bruta, teniendo en cuenta que la seguridad de un mensaje cifrado debe recaer sobre la clave y nunca sobre el algoritmo. El problema principal de la criptografía simétrica es la circulación de las claves: cómo conseguimos que el emisor y el receptor tengan la clave buena. No podemos utilizar el mismo canal inseguro por el que enviaremos el mensaje (la inseguridad nos ha llevado a cifrar). Hay que utilizar un segundo canal de comunicación, que también habría que proteger, y así sucesivamente. Por ejemplo, en el correo de bienvenida a una empresa puede aparecer la contraseña de la wifi de la oficina; cuando se cambie, se envía otro correo, etc. El segundo problema es la gestión de las claves almacenadas. Si en una empresa hay diez trabajadores y todos tienen conversaciones privadas con todos, cada uno necesita establecer nueve claves distintas y encontrar nueve canales seguros para actualizarlas cada vez (en total 81 claves y 81 canales). Si aparece un trabajador nuevo, ahora son 100 claves y 100 canales. Y las empresas pueden tener muchos trabajadores: 500, 5.000, 50.000... ¿Cada vez que cambie mi clave tengo que avisar a 49.999 compañeros? Es poco manejable. 8/24 Algoritmos de cifrado simétricos • DES (Data Encryption Standard): DES es un algoritmo de cifrado escogido como un estándar FIPS en los Estados Unidos en 1976, y cuyo uso se ha propagado ampliamente por todo el mundo. Actualmente DES se considera un algoritmo inseguro, y no debe utilizarse. DES es un algoritmo de cifrado por bloques, donde se toma un texto en claro de longitud fija de bits y se transforma mediante una serie de operaciones en otro texto cifrado de la misma longitud. El tamaño del bloque de DES es de 64 bits, y la longitud de clave también es de 64 bits, aunque en realidad solo son 56 bits los que pertenecen a la clave ya que los otros 8 bits son de comprobación de paridad, y se descartan. Actualmente este algoritmo está completamente roto, y no se recomienda su uso. • Triple-DES (Triple Data Encryption Standard): Se basa en aplicar el algoritmo DES tres veces, dependiendo de las claves que utilicemos, puede tener una longitud de clave de 168 bits (útiles) si las tres claves son diferentes, o de 112 bits si únicamente utilizamos dos claves diferentes. Existe una variante del 3DES, conocida como DES-EDE3, con tres claves diferentes y una longitud de 192bits, consiguiendo un sistema mucho más robusto. El cifrado por bloques sigue siendo de 64 bits, como el DES original. El Triple DES está desapareciendo lentamente, siendo reemplazado por el algoritmo AES, pero aún se sigue utilizando sobre todo en VPN de tipo IPsec. • RC5: Este algoritmo también cifra por bloques, tiene un tamaño variable de bloques, pudiendo ser de 32, 64 o 128 bits. Permite diferentes longitudes de clave (hasta 2040 bits), y un número variable de iteraciones de hasta 255 (la seguridad del cifrado aumenta exponencialmente cuanto mayor número de iteraciones). • IDEA (International Data Encription Algorithm): Aplica una clave de 128 bits sin paridad a bloques de datos de 64 bits, y se usa tanto para cifrar como para descifrar. La seguridad de este algoritmo deriva del intercalado de operaciones de distintos grupos, adición y multiplicación modular, y operadores XOR bit a bit. Este algoritmo es mucho más robusto que DES, según numerosos expertos criptográficos, IDEA es el mejor algoritmo de cifrado de datos existente en la actualidad ya que existen 2¹²⁸ claves privadas que probar mediante el ataque de fuerzabruta. • AES (Advanced Encription Standard o Estándar Criptográfico Avanzado): Este algoritmo es el más conocido entre los usuarios de routers, ya que WPA opera con AES como método de cifrado. Este cifrado puede implementar tanto en sistemas hardware como en software. El sistema criptográfico AES opera con bloques de tamaño fijo de 128 bits y claves de longitudes variable, hay AES de 128bits, de 192 bits y de 256 bits. El resultado intermedio del cifrado constituye una matriz de bytes de cuatro filas por cuatro columnas. A esta matriz se le vuelve a aplicar una serie de bucles de cifrado basado en operaciones matemáticas (sustituciones no lineales de bytes, desplazamiento de filas de la matriz, combinaciones de las columnas mediante multiplicaciones lógicas y sumas XOR en base a claves intermedias). Criptografía asimétrica La criptografía asimétrica se basa en el uso de dos claves: la pública (que se podrá difundir sin ningún problema a todas las personas que necesiten mandarte algo cifrado) y la privada (que no debe de ser revelada nunca). Lo que se cifra con una clave, sólo puede descifrarse con la otra. 9/24 Sabiendo lo anterior, si queremos que tres compañeros de trabajo nos manden un archivo cifrado debemos de mandarle nuestra clave pública (que está vinculada a la privada) y nos podrán mandar de forma confidencial ese archivo que solo nosotros podremos descifrar con la clave privada. Puede parecer a simple vista un sistema un poco cojo ya que podríamos pensar que sabiendo la clave pública podríamos deducir la privada, pero este tipo de sistemas criptográficos usa algoritmos bastante complejos que generan a partir de la frase de paso (la contraseña) la clave privada y pública que pueden tener perfectamente un tamaño de 2048bits (probablemente imposible de reventar). Como os habréis dado cuenta solo cifra una persona (con la clave pública) y la otra se limita a mirar el contenido, por lo que la forma correcta de tener una comunicación bidireccional sería realizando este mismo proceso con dos pares de claves, o una por cada comunicador. Sin embargo, los algoritmos asimétricos tienen sus propios problemas: • Son poco eficientes. Tardan bastante en aplicar las claves para generar los documentos cifrados, sobre todo porque las claves deben ser largas para asegurar la independencia matemática entre ellas. • Utilizar las claves privadas repetidamente es arriesgado porque algunos ataques criptográficos se basan en analizar paquetes cifrados. Estos paquetes serían capturados en la red o directamente el atacante podría elaborar un software malicioso que generase paquetes de tamaño y contenido elegidos cuidadosamente y conseguir enviarlos a nuestro servidor para que los devolviera cifrados con su clave privada. • Hay que proteger la clave privada. No basta con dejarla en un fichero de una carpeta del disco duro en la cuenta de nuestro usuario; cualquier otro usuario con permisos de administrador podría llegar hasta él. Por este motivo, las claves privadas se guardan todas juntas en un fichero llamado keyring (archivo de llaves, llavero), y este fichero está protegido mediante cifrado simétrico. Es decir, para poder usar la clave privada, hay que introducir una clave que descifra el llavero y permite leerla. 10/24 • Necesitamos una segunda medida de protección de la clave privada: la copia de seguridad del llavero. Si el disco duro se estropea, perderemos el fichero que contiene la clave privada y no podremos volver a utilizarla. Por tanto, debemos incluirlo en la política de backup de la empresa, y confiamos en que, aunque alguien más tenga acceso al backup (cintas, discos, etc.), la clave simétrica todavía protege el llavero. • Hay que transportar la clave privada. En cifrado simétrico, si hemos enviado el fichero cifrado a otra máquina y queremos descifrarlo, basta con recordar la clave e introducirla. Pero en la clave privada esto es imposible (son cientos de símbolos sin sentido). Debemos transportar el llavero, con el riesgo que supone (si lo perdemos, podrían intentar un ataque de fuerza bruta contra el cifrado simétrico). Otro propósito de este sistema es también el de poder firmar documentos, certificando que el emisor es quien dice ser, firmando con la clave privada y verificando la identidad con la pública. La criptografía simétrica es más insegura ya que el hecho de pasar la clave es una gran vulnerabilidad, pero se puede cifrar y descifrar en menor tiempo del que tarda la criptografía asimétrica, que es el principal inconveniente y es la razón por la que existe la criptografía híbrida. Algoritmos de cifrado asimétricos RSA es un sistema criptográfico de clave pública desarrollado en 1977 por ingenieros estadounidenses. En la actualidad, RSA es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como para firmar digitalmente. La seguridad de este algoritmo radica en el problema de la factorización de números enteros. Los mensajes enviados se representan mediante números, y el funcionamiento se basa en el producto, conocido, de dos números primos grandes elegidos al azar y mantenidos en secreto. Actualmente estos primos son del orden de 10200, y se prevé que su tamaño aumente con el aumento de la capacidad de cálculo de los ordenadores. Como en todo sistema de clave pública, cada usuario posee dos claves de cifrado: una pública y otra privada. Cuando se quiere enviar un mensaje, el emisor busca la clave pública del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, este se ocupa de descifrarlo usando su clave privada. La seguridad del criptosistema RSA está basado en dos problemas matemáticos: el problema de factorizar números grandes y el problema RSA. El descifrado completo de un texto cifrado con RSA es computacionalmente intratable, no se ha encontrado un algoritmo eficiente todavía para ambos problemas. La factorización de números grandes por lo general proponen métodos teniendo 663 bits de longitud usando métodos distribuidos avanzados. Las claves RSA son normalmente entre 1024-2048 bits de longitud. Algunos expertos creen que las claves de 1024 bits podrían comenzar a ser débiles en poco tiempo; con claves de 4096 bits podrían ser rotas en un futuro. Por lo tanto, si n es suficientemente grande el algoritmo RSA es seguro. Si n tiene 256 bits o menos, puede ser factorizado en pocas horas con un computador personal, usando software libre. Si n tiene 512 bits o menos, puede ser factorizado por varios cientos de computadoras como en 1999. Un dispositivo hardware teórico llamado TWIRL descrito por Shamir y Tromer en el 2003 cuestionó a la seguridad 11/24 de claves de 1024 bits. Es actualmente recomendado que n sea como mínimo de 2048 bits de longitud. En 1993, Peter Shor publicó su algoritmo, mostrando que una computadora cuántica podría en principio mejorar la factorización en tiempo polinomial, mostrando RSA como un algoritmo obsoleto. Sin embargo, las computadoras cuánticas no se esperan que acaben su desarrollo hasta dentro de muchos años. Criptografía híbrida Este sistema es la unión de las ventajas de los dos anteriores, debemos de partir que el problema de ambos sistemas criptográficos es que el simétrico es inseguro y el asimétrico es lento. El cifrado asimétrico no se puede utilizar para cifrar todos los paquetes intercambiados en una red local porque el bajo rendimiento del algoritmo ralentizaría el tráfico. En su lugar se adopta un esquema híbrido: • Criptografía asimétrica solo para el inicio de la sesión, cuando hay que generar un canal seguro donde acordar la clave simétrica aleatoria que se utilizará en esa conversación. • Criptografía simétrica durante la transmisión, utilizando la clave simétrica acordada durante el inicio de sesión. Generalmente se suele cambiar la clave simétrica cada cierto tiempo (minutos)para dificultar más el espionaje de la conversación. Algoritmos de autenticación (Hash) Una función hash es un método para generar claves o llaves que representen de manera unívoca a un documento o conjunto de datos. Es una operación matemática que se realiza sobre este conjunto de datos de cualquier longitud, y su salida es una huella digital, de tamaño fijo e independiente de la dimensión del documento original. El contenido es ilegible. Es posible que existan huellas digitales iguales para objetos diferentes, porque una función hash tiene un número de bits definido. En el caso del SHA-1, tiene 160bits, y los posibles objetos a resumir no tienen un tamaño límite. A partir de un hash o huella digital, no podemos recuperar el conjunto de datos originales. Los más conocidos son el MD5 y el SHA-1, aunque actualmente no son seguros utilizarlos ya que se han encontrado colisiones. Cifrar una huella digital se conoce como firma digital. Requisitos que deben cumplir las funciones hash: • Imposibilidad de obtener el texto original a partir de la huella digital. • Imposibilidad de encontrar un conjunto de datos diferentes que tengan la misma huella digital (aunque como hemos visto anteriormente es posible que este requisito no se cumpla). • Poder transformar un texto de longitud variable en una huella de tamaño fijo (como el SHA-1 que es de 160bits). 12/24 • Facilidad de empleo e implementación. Funciones Hash • MD5: Es una función hash de 128 bits. El algoritmo MD5 no sirve para cifrar un mensaje. La información original no se puede recuperar, ya que está específicamente diseñado para que a partir de una huella hash no se pueda recuperar la información. Actualmente esta función hash no es segura utilizarla, nunca se debe usar. • SHA-1: Es parecido al famoso MD5, pero tiene un bloque de 160bits en lugar de los 128bits del MD5. La función de compresión es más compleja que la función de MD5, por tanto, SHA-1 es más lento que MD5 porque el número de pasos son de 80 (64 en MD5) y porque tiene mayor longitud que MD5 (160bits contra 128bits). SHA-1 es más robusto y seguro que MD5, pero ya se han encontrado colisiones. • SHA-2: Las principales diferencias con SHA-1 radica en en su diseño y que los rangos de salida han sido incrementados. Dentro de SHA-2 encontramos varios tipos, el SHA-224, SHA-256, SHA-384 y SHA-512. El más seguro, es el que mayor salida de bits tiene, el SHA-512, que tiene 80 rondas (pasos). Como ocurre con todos los cifrados y hash, cuanto más seguro, más lento su procesamiento y uso, debemos encontrar un equilibrio entre seguridad y velocidad. Software Si quieres comprobar o realizar la función hash a un archivo o texto, podréis encontrar el md5sum, sha1sum, sha256sum y sha512sum por defecto instalados en sistemas operativos Linux. Si utilizas un sistema operativo Microsoft Windows podéis bajar el Hash Tool. 13/24 3 - Cifrado de disco Dentro del concepto de cifrado de disco, es bueno que hagamos una diferenciación entre el cifrado de disco completo y el cifrado parcial del contenido del disco o el de ficheros individuales. Cifrado de disco completo En este primer caso, hablamos de cifrar un disco completo desde el primer bloque de datos hasta el último. De esta manera, un disco que pudiera tener 100 Gigabytes de información, resultaría cifrado en absolutamente esos 100 Gigabytes, de principio a fin. Adicionalmente al cifrado de disco completo, podemos hablar de cifrado “desde el arranque” o de cifrado del disco de arranque. Esto se conoce habitualmente como “Pre- boot authentication” PBA, que es cuando indicamos que el sistema operativo va a iniciar siempre con el disco ya cifrado, por lo que no se leerá o escribirá información alguna en el disco, que no vaya a quedar cifrada, inmediatamente, en éste. Una gran ventaja de este enfoque es que si alguien trata de encender nuestro ordenador arrancando con un CD/DVD de recuperación, le resultaría imposible acceder a nuestros datos en ese disco duro; y si hemos establecido una contraseña que se nos pida siempre en el arranque, incluso se haría imposible que llegara a iniciar el sistema operativo si no hemos introducido la contraseña necesaria. También, en equipos relativamente modernos que cuenten con la funcionalidad de TPM, se puede cifrar de forma completa y protegiendo el arranque del disco duro, sin siquiera necesitar que el usuario introduzca la contraseña puesto que es el módulo de TPM quien se encarga de custodiarla. E incluso, hay muchos fabricantes de discos duros que, directamente, soportan el cifrado por sí mismos, adaptando su funcionamiento al estándar OPAL, por lo que es incluso más sencillo el uso del cifrado en este tipo de discos duros. Por otro lado, hay que tener en cuenta que una configuración demasiado ambiciosa del cifrado de disco completo puede penalizar gravemente el rendimiento del equipo, al obligar al sistema operativo a cifrar operaciones de lectura y escritura que, por el contrario, deberían ser especialmente rápidas; ejemplos claros son los ficheros de caché, los ficheros de intercambio de memoria, etc. El uso del cifrado de disco tiene una serie de riesgos asociados que no podemos dejar de comentar. El principal es que si no tenemos la disciplina de emplear claves complejas o, incluso, ficheros de claves, la robustez del cifrado se limitará a la de nuestra contraseña, que podría ser fácilmente descubierta mediante ataques de fuerza bruta o por técnicas alternativas. Además, existen diversos detalles sobre el funcionamiento de los ordenadores y sistemas operativos que debemos tener claro y que pueden afectar al nivel de confianza que podemos depositar en todo el esquema de cifrado. En concreto, cuando apagamos un ordenador, su memoria RAM no se borra de inmediato y tarda una serie de minutos en “eliminar” la información que pudiera almacenar. Hay una técnica de ataque que se conoce como Cold Boot que aprovecha esta característica para recuperar de esa memoria RAM las contraseñas de cifrado/descifrado. 14/24 http://en.wikipedia.org/wiki/Cold_boot_attack http://en.wikipedia.org/wiki/Opal_Storage_Specification http://en.wikipedia.org/wiki/Trusted_Platform_Module Esta técnica se ha demostrado efectiva en diversas herramientas de cifrado de disco. La recomendación inmediata es, por tanto, asegurarse de desmontar los discos cifrados antes de apagar el equipo y, adicionalmente, forzar un reinicio del sistema completo previo al apagado definitivo. Por otro lado, los ataques mediante Firewire son bastante complejos de contener, puesto que por las especiales características de este tipo de conector (necesita muy alta velocidad), se le da acceso directo a la memoria del sistema (DMA), lo que ya se ha constado que diversas herramientas pueden emplear para recuperar contraseñas o claves de cifrado. En general estos ataques se conocen como de acceso directo a memoria. Este tipo de ataques no tienen una forma simple de ser mitigados y las recomendaciones típicas se basan en inhabilitar de forma completa el uso de Firewire en los equipos. Funcionamiento del cifrado de disco Hay diversas estrategias a la hora de abordar el cifrado de disco duro y, como en todos los procesos, unos enfoques requieren una serie de configuraciones y requisitos mientras que otros demandan la instalación de herramientas o, incluso, la adquisición de paquetes de software. • Cifrado simétrico: Para tratar de mantener el rendimiento del sistema al máximo, en prácticamente todas las soluciones de cifrado de disco se utilizan algoritmos simétricos. No sería razonable otra aproximación, puesto que el esfuerzo computacional necesario para emplear por ejemplo sistemas de clave pública, ralentizaría las operaciones de disco de forma tal que nadie querría utilizar este tipo de soluciones. Algoritmostípicos que se utilizan en el cifrado de disco pueden ser el tan extendido AES, que es el más común si analizamos las diversas herramientas, pero algoritmos como Serpent o Twofish son alternativas que se utilizan por sus especiales características de velocidad. • Uso de TPM: La posibilidad de emplear esta característica viene de serie en casi todos los equipos más modernos, tiene tanto ventajas como desventajas. Pues debido a su especial ubicación en el proceso de cifrado (recordemos que es un chip, hardware) permite, por ejemplo, acelerar las operaciones de generación de claves o de cifrado. Pero además cuenta con la característica de la custodia de la clave, lo que hace muy difícil el acceso a ésta por parte de un potencial intruso o usuario malintencionado. Esta característica es muy útil para las herramientas que hacen uso del TPM para almacenar la clave de cifrado, lo que permite arrancar el sistema operativo, sin solicitarle la contraseña al usuario, de forma transparente. Por el contrario, si no hemos realizado una copia de seguridad de la clave de cifrado, podemos enfrentarnos a una situación muy seria ya que en caso de avería del ordenador (pero estando el disco duro intacto), podría ser imposible acceder a nuestros datos. Herramientas como Bitlocker en plataformas Microsoft, Bestcrypt, Mcafee Endpoint Encryption y algunas otras, soportan el uso de TPM. 15/24 Herramientas de cifrado de disco Hay muchas herramientas de cifrado diferentes y, en concreto, varias que son relevantes en el cifrado de disco. Las hay gratuitas, las hay comerciales (generalmente orientadas al sector empresarial) e, incluso, varias de ellas integradas en los distintos sistemas operativos con los que trabajamos en nuestro día a día con los ordenadores. • Microsoft Bitlocker: Herramienta de cifrado de disco duro que viene incorporada de serie en los sistemas operativos de Microsoft, en sus versiones de Windows Vista, Windows 7 y posteriores. En concreto, en las licencias Ultimate y Enterprise (no en las Home o Professional, cuidado) de Windows 7 y en las Pro y Enterprise de Windows 8. Bitlocker permite utilizar el chip TPM para almacenar la clave de cifrado, permite realizar copias de seguridad de las claves en una memoria usb o impresas y utiliza el algoritmo AES. • Apple Filevault y Filevault2: Utilidad incluida en las plataformas OSX de Apple. También usa AES. • LUKS: Disponible en las distribuciones basadas en Ubuntu. Permite el cifrado de discos completos, volúmenes o discos en RAID, ficheros, etc. Además de las herramientas que hemos citado en los apartados anteriores, entendemos necesario citar, al menos, algunas de las herramientas comerciales de uso común en dos contextos principales: el entorno empresarial y las herramientas orientadas al usuario final. • Bestcrypt: Soporta un gran número de algoritmos de cifrado. Antes de la aparición de TrueCrypt y la incorporación de Bitlocker en plataformas Microsoft, era una de las herramientas más utilizadas en el cifrado de disco completo. • McAfee Endpoint Encryption: Permite cifrar los discos duros de un ordenador y también los discos externos, por lo que permite mantener un mecanismo de intercambio de información homogéneo en una empresa. Solo está disponible en Windows y OS X. • Check Point Full Disk Encryption: Con una funcionalidad similar a la de la herramienta anterior. • Symantec PGP: Symantec es el propietario del producto PGP y de su marca comercial. PGP se ha convertido en estándar de referencia en el cifrado. • VeryCrypt: Es una herramienta gratuita soportada por Windows, OSX y Linux. Permite el cifrado de discos completos o de particiones. Soporta la creación de ficheros que contienen un volumen cifrado, permite utilizar ficheros como claves de cifrado (una foto, una canción, etc), permite crear volúmenes cifrados ocultos, etc. Cifrado de archivos y carpetas En ocasiones, no necesitamos que el disco duro completo esté protegido o cifrado y nos es suficiente el cifrado de ficheros concretos, carpetas o partes del disco (particiones). Generalmente, las herramientas de cifrado de disco nos permiten cifrar tanto en disco completo como ficheros individuales sin mayores problemas, simplemente nos encontraremos con enfoques diferentes a la hora de utilizarlas, pudiendo para estos últimos, generalmente, tener incluso una integración con los propios gestores de ficheros del sistema operativo (Explorer en plataformas Microsoft, Finder en las de 16/24 Apple, Dolphin, Konqueror, etc. en los Linux). Muchos sistemas operativos incorporan funcionalidades de serie que permiten el cifrado de carpetas y ficheros, de la misma manera que permiten el cifrado de discos completos. Hay que comentar que, aparte de herramientas específicas de cifrado de ficheros y carpetas, muchas utilidades de compresión de archivos como pueden ser ZIP, RAR, 7Zip y otras, permiten cifrar el contenido de los ficheros comprimidos (con el algoritmo AES), lo que en muchas ocasiones es más sencillo y más operativo puesto que, prácticamente todo el mundo cuenta con herramientas de compresión y descompresión de ficheros de casi cualquier formato. 17/24 4 - Sistemas de identificación Certificado digital Un certificado digital o certificado electrónico es un fichero informático generado por una entidad de servicios de certificación que asocia unos datos de identidad a una persona física, organismo o empresa, confirmando de esta manera su identidad digital en Internet. Un Certificado Digital consta de una pareja de claves criptográficas, una pública y una privada, creadas con un algoritmo matemático, de forma que aquello que se cifra con una de las claves sólo se puede descifrar con su clave pareja. El titular del certificado debe mantener bajo su poder la clave privada, ya que si ésta es sustraída, el sustractor podría suplantar la identidad del titular en la red. En este caso el titular debe revocar el certificado lo antes posible, igual que se anula una tarjeta de crédito sustraída. La clave pública forma parte de lo que se denomina Certificado Digital en sí, que es un documento digital que contiene la clave pública junto con los datos del titular, todo ello firmado electrónicamente por una Autoridad de Certificación, que es una tercera entidad de confianza que asegura que la clave pública se corresponde con los datos del titular. La Firma Electrónica sólo puede realizarse con la clave privada. El certificado digital es válido principalmente para autenticar a un usuario o un sitio web en internet, por lo que es necesaria la colaboración de un tercero que sea de confianza para cualquiera de las partes que participe en la comunicación. El nombre asociado a esta entidad de confianza es Autoridad Certificadora, pudiendo ser un organismo público o empresa reconocida en Internet. El certificado digital tiene como función principal autenticar al poseedor, pero puede servir también para cifrar las comunicaciones y firmar digitalmente. En algunas administraciones públicas y empresas privadas, es requerido para poder realizar ciertos trámites que involucren intercambio de información delicada entre las partes. En España, actualmente los certificados electrónicos emitidos por entidades públicas son el DNIe o DNI electrónico y el de la Fábrica Nacional de Moneda y Timbre - Real Casa de la Moneda (FNMT-RCM) . Para el certificado digital de la FNMT, es necesario contar con DNI o NIE. 18/24 https://es.wikipedia.org/wiki/NIE Certificados SSL/TLS de servidores Estos certificados sirven para brindar seguridad a los visitantes de las páginas Web, una manera de decirles a sus clientes que el sitio es auténtico, real y confiable para ingresar datos personales. Las siglas SSL responden a los términos en inglés (Secure Socket Layer), el cual es un protocolo de seguridad que hace que sus datos viajen de manera íntegra y segura, es decir, la transmisiónde los datos entre un servidor y usuario web, y en retroalimentación, es totalmente cifrada o encriptada. El que los datos viajen cifrados, nos referimos a que se emplean algoritmos matemáticos y un sistema de claves que sólo son identificados entre la persona que navega y el servidor. Al tener un certificado SSL confiable, nuestros datos están encriptados, en ese momento podemos asegurar que nadie puede leer su contenido. Todo esto nos lleva a entender que la tecnología que brinda un certificado SSL es la transmisión segura de información a través de internet, y así confirmar que los datos están libres de personas no deseadas. Para poder utilizar un certificado SSL, en su página web, es de vital importancia que el servidor de Internet que usted contrató, soporte SSL. Un certificado SSL implementa el modelo preferido de seguridad en web, contiene claves digitales que protegen la integridad de sus datos al momento de enviar y recibir. Los servidores que corren SSL crean una vía con un cifrado único para las sesiones privadas a través que Internet, la clave pública del servidor está al alcance de cualquier persona. Es por eso que utilizan una clave pública y una clave privada: La clave pública es para cifrar la información, la clave privada para descifrarla. Firma electrónica La firma electrónica permite al receptor de un mensaje verificar la autenticidad del emisor de la información así como verificar que dicha información no ha sido modificada desde su generación. De este modo, la firma electrónica ofrece el soporte para la autenticación e integridad de los datos así como para el no repudio en origen, ya que el originador de un mensaje firmado electrónicamente no puede argumentar que no lo es. Una firma electrónica está destinada para el mismo propósito que una manuscrita. Sin embargo, una firma manuscrita es sencilla de falsificar mientras que la digital es imposible mientras no se descubra la clave privada del firmante. 19/24 La firma de un documento se realiza utilizando la clave privada del propietario. Para verificar la autenticidad del documento y del propietario el destinatario deberá utilizar su clave pública. Infraestructura de clave pública (PKI, Public Key Infraestructure) Hasta ahora hemos aprendido a enviar documentos a un destinatario de manera que solo él pueda aprovecharlos (cifrado), y garantizando que el documento es nuestro (firmado). Pero en todos los casos hemos necesitado una comprobación extra sobre la clave pública: comparar la huella de esa clave importada con la huella de la clave original, para estar seguros de que vamos a comunicarnos con la persona correcta. En nuestros casos prácticos ha sido sencillo porque estamos trabajando en la misma máquina o, como mucho, en la máquina del compañero. Pero la mayoría de las comunicaciones seguras ocurren entre máquinas muy alejadas entre sí que seguramente pertenecen a otras empresas. Por ejemplo, las oficinas virtuales de los bancos o el correo web (Gmail, Hotmail, etc.). No podemos entrar en sus máquinas para ver las huellas ni negociar con cada uno otro canal seguro donde poder consultarlas. La solución a este problema es la implantación de una PKI (Public Key Infrastructure, infraestructura de clave pública). Ahora, en la comunicación segura entre cliente y servidor aparecen nuevos interlocutores: • La Autoridad de Certificación (CA [Certificate Authority]), cuya misión es emitir certificados. Hasta ahora los generábamos nosotros mismos con una herramienta en el ordenador. 20/24 • La Autoridad de Registro (RA [Registration Authority]), que es la responsable de asegurar que el solicitante del certificado es quien dice ser. Por ejemplo, en los certificados necesarios para presentar la declaración de la renta, la solicitud se puede hacer por Internet, pero para recogerlos hay que presentarse con el DNI en una oficina de la Administración. • La Autoridad de Validación (VA [Validation Authority]) es la responsable de comprobar la validez de los certificados digitales emitidos. En la práctica suele coincidir con la CA. • Los repositorios. Son almacenes de certificados. Los principales son el repositorio de certificados activos y el repositorio de listas de revocación de certificados (certificados que, por cualquier motivo, fueron expresamente desactivados antes de caducar). El funcionamiento es el siguiente: • Durante el inicio de la sesión, el servidor envía su clave pública al cliente para que cifre el diálogo que van comenzar (autenticación usuario/contraseña, etc.); pero el cliente, antes de utilizarla, desconfía: necesita comprobar que el servidor es quien dice ser. • El servidor lo ha supuesto y ha enviado, junto con su clave pública, la firma digital de esa clave. Esa firma digital ha sido realizada por una CA oficial utilizando la clave privada de esa CA. • El cliente puede verificar la firma recibida utilizando la clave pública de la CA (en este punto puede necesitar conectar con la VA). Si la firma es correcta, la clave pública del servidor también lo es y podemos iniciar la sesión segura con toda confianza. Por tanto, para que funcione la autenticación de una clave pública mediante PKI, se necesitan dos pasos previos: ◦ El servidor ha conseguido que una CA le firme su clave pública. Por ejemplo: VeriSign, FNMT, etc. ◦ El cliente dispone de la clave pública de esa CA dentro de su llavero de claves asimétricas. Realmente, las CA no emiten un simple fichero con la firma, como hemos visto hasta ahora en los casos prácticos (ficheros .gpg o .asc); ni encontramos suelta la clave pública de una CA para importarla. Es importante la información complementaria: quién firma, para quién firma, qué usos tiene la clave (cifrado y firmado, solo firmado, etc.), en qué fecha se firmó, cuándo caduca esa firma, qué algoritmos se han utilizado, etc. Esta información se recoge en una estructura que constituye el certificado digital, según el estándar X.509. Por tanto, en el funcionamiento de una PKI los usuarios importan certificados de CA y los servidores envían sus claves públicas dentro de certificados. Ahora bien, ¿cómo podemos estar seguros de que la clave pública de la CA es auténtica? Porque se ha instalado en nuestro ordenador de manera segura: bien porque forma parte de la instalación del sistema operativo, bien porque en algún momento la hemos importado voluntariamente. Se suelen llamar certificados raíz (root certificates). Hay muchas empresas públicas y privadas que disponen de una PKI y se dedican a emitir certificados. Los usuarios que desean un certificado de esa empresa visitarán solo una vez su RA y su CA para obtenerlo, aunque después usarán muchas veces la VA y los repositorios. Solo volverán a la CA para renovar el certificado cuando esté próximo a caducar. 21/24 Además de las comunicaciones por Internet, las empresas también necesitan cifrar la información interna que circula por sus sistemas y sus redes. Para reducir el coste que supone contratar los certificados con una empresa externa, suelen crear una PKI propia que no emita certificados al público en general, sino solo a sus empleados y sus sistemas. La instalación consiste en configurar un servidor de la empresa con el software necesario para ejercer las funciones de CA y VA, y poner la clave pública de la CA en todos los equipos, uno a uno. La RA es asumida por el departamento de informática. Como casi todo en seguridad informática, la PKI no es perfecta. Todavía tenemos dos vulnerabilidades: • Un virus en nuestro ordenador puede alterar el depósito de claves, e importar sin nuestro consentimiento claves públicas de CA fraudulentas. Una conexión segura a servidores respaldados por esas CA no es fiable. • Un ataque a los servidores de una CA podría robar su clave privada. Desde ese momento, el atacante puedefirmar las claves públicas de servidores peligrosos y los clientes se conectarían a ellos confiando en que es una firma legal. Tarjetas inteligentes La solución más común a los problemas de proteger y transportar la clave privada es la tarjeta inteligente (figura). Es una tarjeta de plástico que contiene un chip electrónico. Hay dos tipos: • Tarjeta de memoria. Es equivalente a una memoria Flash y se limita a almacenar el llavero. Cuando se introduce en el lector, el ordenador hace una copia temporal del llavero y trabaja con él introduciendo la clave simétrica, etc. • Tarjeta procesadora. La tarjeta de memoria es peligrosa porque hemos expuesto nuestro llavero. En cambio, en las tarjetas procesadoras las claves también están almacenadas, pero nunca salen de la tarjeta. Cualquier cifrado que necesite nuestra clave privada es realizado por el propio chip porque incluye una CPU, memoria RAM, etc. Por supuesto, sigue siendo necesario introducir la clave 22/24 simétrica que abre el llavero. El ejemplo más sencillo es la tarjeta SIM de los teléfonos móviles: para poder usarla necesitamos introducir el número PIN. Aunque la usemos en otro teléfono, el PIN es el mismo porque está asociado a la tarjeta. En la sección final de esta unidad veremos otro ejemplo de tarjeta inteligente: el DNI electrónico. Las tarjetas inteligentes también se pueden clasificar por su tipo de interfaz: • Tarjeta de contacto. El lector necesita tocar los contactos metálicos del chip para interactuar con él. Son las más utilizadas, sobre todo en entornos de alta seguridad, como el sector bancario, Administración electrónica, etc. • Tarjeta sin contacto. El lector utiliza tecnologías inalámbricas para interactuar con el chip. Se utilizan en situaciones donde se necesitan transacciones rápidas, como el acceso al transporte público. DNIe o DNI electrónico El DNI electrónico es un documento emitido por la Dirección General de la Policía (Ministerio del Interior). Además de acreditar físicamente la identidad personal de su titular permite: • Acreditar electónicamente y de forma inequívoca su identidad. • Firmar digitalmente documentos electrónicos, otorgándoles una validez jurídica equivalente a la que proporciona la firma manuscrita. El DNIe incorpora un pequeño circuito integrado (chip), que contiene los mismos datos que aparecen impresos en la tarjeta (datos personales, fotografía, firma digitalizada y huella dactilar digitalizada) junto con los certificados de Autenticación y de Firma Electrónica. De esta forma, cualquier persona podrá realizar múltiples gestiones online de forma segura con las Administraciones Públicas, con empresas públicas y privadas, y con otros ciudadanos, a cualquier hora y sin tener que desplazarse ni hacer colas. Con el DNI electrónico se obtienen dos certificados: 23/24 • Certificado de Autenticación: Garantiza electrónicamente la identidad del ciudadano al realizar una transacción telemática. Este Certificado asegura que la comunicación electrónica se realiza con la persona que dice ser, con el certificado de identidad y la clave privada asociada al mismo. • Certificado de Firma: Permite la firma de trámites o documentos, sustituyendo a la firma manuscrita. Por tanto, garantiza la identidad del suscriptor y del poseedor de la clave privada de identificación y firma. Uso del DNIe Para firmar con el DNIe necesitas: • Un ordenador personal. • Un lector de tarjetas inteligentes. En cuanto a software, el DNI electrónico es compatible con los sistemas operativos actualmente existentes, así como con los distintos navegadores. Aquí puedes obtener más información. 24/24 1 - Introducción Historia de la criptografía Criptoanálisis de los cifrados clásicos 2 - Tipos de criptografía Criptografía simétrica Algoritmos de cifrado simétricos Criptografía asimétrica Algoritmos de cifrado asimétricos Criptografía híbrida Algoritmos de autenticación (Hash) 3 - Cifrado de disco Cifrado de disco completo Cifrado de archivos y carpetas 4 - Sistemas de identificación Certificado digital Firma electrónica Tarjetas inteligentes DNIe o DNI electrónico
Compartir