Seguridad Informática - UT2 - CONFIDENCIALIDAD (PDF)
Document Details
Uploaded by SelfSufficientJasper718
Miguel Carrillo Martínez
Tags
Summary
Este documento presenta una introducción a la seguridad informática, centrándose en los conceptos fundamentales de criptología, criptografía y criptosistemas. Se abordan los diferentes tipos de cifrado, los criptosistemas simétricos y asimétricos, y la gestión de claves con herramientas como GnuPG.
Full Transcript
SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2 CONFIDENCIALIDAD Y CRIPTOLOGÍA OBJETIVOS DE LA UNIDAD: Entender la diferencia entre criptología, criptografía, criptoanálisis y criptosistema Conocer los conceptos básicos empleados en criptología...
SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2 CONFIDENCIALIDAD Y CRIPTOLOGÍA OBJETIVOS DE LA UNIDAD: Entender la diferencia entre criptología, criptografía, criptoanálisis y criptosistema Conocer los conceptos básicos empleados en criptología Aprender los diferentes tipos de cifrado que podemos encontrar Conocer los fundamentos teóricos de los criptosistemas simétricos y asimétricos Distinguir los diferentes criptosistemas que existen en el mercado Aprender a usar GnuPG para crear claves y cifrar/descifrar archivos Conocer los diferentes dispositivos hardware para la confidencialidad Aprender a solicitar, importar y exportar un certificado de la FNMT Aprender a instalar un dispositivo físico de confidencialidad: lector de DNI electrónico SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.1. Conceptos básicos 2.1.1. Definición de criptografía Según el Diccionario de la RAE: Aplicada a la seguridad informática: - no es un arte: es una ciencia basada en la aplicación práctica de las matemáticas. - no siempre se busca que la información legible sea confidencial, sino también ficheros de otra naturaleza (imágenes, música, datos, ejecutables…). - la clave NO siempre es secreta: existen sistemas que emplean claves públicas. - no hay nada enigmático: simplemente se trata de cifrar una cantidad determinada de bits con un algoritmo que emplea una clave que son también bits. Es una transformación matemática SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.1. Conceptos básicos 2.1.2. Definiciones técnicas CRIPTOGRAFÍA: conjunto de técnicas, protocolos y algoritmos destinados a garantizar la confidencialidad de la información, y que emplean transformaciones matemáticas realizadas por algoritmos y claves tanto para cifrar como para descifrar. CRIPTOANÁLISIS: estudio de las técnicas de criptografía con el objetivo de descifrar información cifrada sin disponer de autorización para ello. El criptoanálisis son técnicas de ataque, y a veces el objeto de dicho ataque puede ser la clave, el algoritmo o el protocolo empleado. El criptoanálisis puede tener intenciones perjudiciales o no (criptoanálisis como herramienta de auditoría de seguridad). Ejemplo: un criptoanalista que desea obtener beneficio de una tarjeta bancaria de otra persona puede atacar, entre otros, a los siguientes elementos: la clave: averiguando el PIN de la tarjeta probando (poco efectivo) el dispositivo: intentando romper el método por el que el cajero comprueba el PIN (menos efectivo incluso) el protocolo: instalando una cámara en el cajero para obtener el PIN tecleado en una operación (el más efectivo) ⇒ Atacar a una persona no es criptoanálisis SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.1. Conceptos básicos CRIPTOLOGÍA: conjunto de técnicas de CRIPTOGRAFÍA + CRIPTOANÁLISIS. CRIPTOSISTEMA: conjunto de elementos criptológicos vinculados a un sistema informático: claves, protocolos, usuarios, autoridades, certificados, etc. Aunque está muy extendido el uso de los términos encriptar y desencriptar para referirnos al cifrado y descifrado, nosotros emplearemos estas dos últimas palabras por no ser traducciones literales que pueden llevar a equivocación. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.1. Conceptos básicos 2.1.3. Claves Una clave es una combinación de caracteres de longitud variable o determinada. Cuando un criptoanalista intenta atacar a nuestra clave probando todas las combinaciones posibles (generalmente con herramientas de cálculo) se denomina ataque de fuerza bruta, que se puede contrarrestar con las siguientes medidas: - emplear claves de una longitud enorme, para aumentar el número de combinaciones posibles y dificultar la tarea al criptoanalista - emplear caracteres de distinto tipo: numéricos, textuales (mayúsculas y minúsculas, puntuados, etc.), símbolos, etc. A ser posible, combinarlos todos. - renovar la clave cada cierto tiempo, así reducimos el tiempo del que el criptoanalista dispone para averiguarla. Cuando un criptoanalista intenta atacar a nuestra clave probando primero combinaciones estadísticamente comunes almacenadas en un archivo llamado diccionario (fechas, nombres propios de ciudades o personas, combinaciones de números conocidas, etc.) estará realizando un ataque de diccionario. Se puede contrarrestar: - empleando expresiones abstractas: números aleatorios, distorsiones de palabras combinadas con símbolos, etc. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.2. Cifrados clásicos 2.2.1. Cifrados por sustitución Un bloque de información original es sustituido por un bloque de información cifrada de igual o distinto tamaño (pueden ser caracteres, parejas o tríos, etc). Ejemplo básico: el cifrado César A B C D E... V W X Y Z Algoritmo: sustituir cada carácter por el situado 3 posiciones más a la derecha en el alfabeto A B C D E F G H... Y Z A T A C A Z O N A D W D F D C R P D SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.2. Cifrados clásicos Algunas consideraciones sobre los cifrados por sustitución: - pueden ser monoalfabéticos (cuando un carácter o bloque siempre sustituye a un mismo carácter o bloque) o polialfabéticos (cuando la sustitución varía en diferentes momentos del cifrado según qué condiciones) - el alfabeto de sustitución no tiene por que ser el que conocemos, sino que puede obedecer a una ordenación arbitraria. - son muy inseguros, incluso un criptoanalista sin equipamiento informático puede romperlos. En el caso de los monoalfabéticos, realizando un análisis de frecuencia. En el caso de los polialfabéticos, buscando palabras repetidas en el texto cifrado. Con equipamiento, un algoritmo de fuerza bruta acaba pronto con ellos. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.2. Cifrados clásicos 2.2.2. Cifrados por transposición Un bloque de información original es cambiado de posición por un bloque de información cifrada (pueden ser caracteres, parejas o tríos de caracteres, etc) en base a algún algoritmo. Ejemplo básico: el cifrado en columnas T E X T O E N C L A R O Algoritmo: Distribuimos T E X T el TEXTO EN CLARO en una matriz por filas, y O E N C generamos el texto leyendo por columnas. L A R O T O L E E A X N R T C O SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.2. Cifrados clásicos Algunas consideraciones sobre los cifrados por transposición: - a veces se emplea una clave para determinar cómo se van a permutar los caracteres, así como para descifrar el mensaje. Por ejemplo, una secuencia numérica que determine en un cifrado por columnas el orden de lectura de cada columna. - son muy inseguros, un algoritmo de fuerza bruta acaba pronto con ellos. - para aumentar la seguridad, se pueden combinar con los de sustitución. - al ser cifrados muy antiguos algunos de ellos, se empleaba dispositivos físicos o mecánicos para cifrar y descifrar. La escítala es un criptosistema que data del S. V a.C. y que se basaba en el empleo de dos varas iguales (una para cifrar y otra para descifrar) y en el que se realizaba un cifrado por transposición enrollando una cinta de tela sobre la que se escribía longitudinalmente. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.3. Cifrados por bloques y en flujo 2.3.1. Cifrados en flujo Esquema básico de un cifrado en flujo INFORMACIÓN CIFRADA TEXTO EN TEXTO EN E CLARO ALGORITMO ALGORITMO CLARO R DE CIFRADO Y DE CIFRADO Y DESCIFRADO DESCIFRADO GENERACIÓN DE GENERACIÓN DE CLAVE K CLAVE K Ambos participantes en una comunicación generan una misma clave que, junto con los algoritmos, van cifrando la información en tiempo real. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.3. Cifrados por bloques y en flujo 2.3.2. Cifrados por bloques Esquema básico de un cifrado por bloques INFORMACIÓN ORIGINAL BLOQUE 1 BLOQUE 2 BLOQUE 3... BLOQUE N-1 BLOQUE N C L A ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO V E BLOQUE 1’ BLOQUE 2’ BLOQUE 3’... BLOQUE (N-1)’ BLOQUE N’ INFORMACIÓN CIFRADA SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.3. Cifrados por bloques y en flujo Podemos encontrar ciertas variaciones en la forma de operar sobre el cifrado por bloques básico anteriormente expuesto: - si se emplea la misma clave en todos los bloques: se le denomina método ECB (Electronic Code Book), que es fácil de romper pues bloques iguales producen bloques cifrados iguales, pero permite mucha eficiencia al poder cifrar los bloques paralelamente. - si se relaciona cada bloque con los bloques anteriores: se le denomina método CBC (Cipher Block Chaining, cifrado encadenado de bloques), lo que lo hace más resistente a ataques pero menos eficiente. Es una combinación entre el cifrado por bloques y el cifrado en flujo. - que se emplee una clave para cifrar y otra distinta para descifrar. - que haya más de una pasada en la aplicación del algoritmo. - que se apliquen diferentes algoritmos en distintas pasadas, consiguiendo una mayor fortaleza. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.4. Criptosistemas simétricos 2.4.1. Esquema de funcionamiento En un criptosistema simétrico, emisor y receptor comparten una misma clave secreta. La clave sirve tanto para cifrar como para descifrar un mismo texto. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.4. Criptosistemas simétricos 2.4.2. Ventajas e inconvenientes de los criptosistemas simétricos VENTAJAS INCONVENIENTES Emplean algoritmos muy eficientes, pues ¿Cómo ponemos de acuerdo al emisor sólo emplean una clave y al receptor para que empleen la cuyos resultados son misma clave? reversibles. Cada par de usuarios que se Son muy sencillos de comunican requieren de una clave ⇒ emplear por los en un sistema con muchos usuarios se usuarios, pues las clave generan muchas claves ⇒ ¿Cómo y secreta pueden ser dónde almacenamos las claves? palabras de paso recordables. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.5. Criptosistemas asimétricos 2.5.1. Esquema de funcionamiento En un criptosistema asimétrico o de clave pública cada usuario tiene un par de claves: una es pública (es decir, todo el mundo puede saber cuál es y emplearla) y la otra es privada (es decir, sólo debe conocerla el usuario). SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.5. Criptosistemas asimétricos 2.5.2. Ventajas e inconvenientes de los criptosistemas asimétricos INCONVENIENTES VENTAJAS Las claves deben ser suficientemente Soluciona el problema largas para que sean del número de claves: matemáticamente independientes (de pasamos de N·(N-1) hecho, no son claves que puedan claves (siendo N el recordarse). número de usuarios del criptosistema) a 2·N. Los algoritmos son muy poco eficientes. Soluciona el problema de la difusión de claves Como la clave privada es irrecordable, que había en los debe almacenarse en algún archivo, y criptosistemas éste deberá estar bien protegido de simétricos. alguna manera ⇒ keyring SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.6. Criptosistemas mixtos 2.6.1. Anillo o llavero de claves (keyring ) Para proteger las claves privadas, los propios sistemas operativos utilizan un mecanismo software llamado anillo o llavero: archivo que guarda una copia de seguridad de las claves privadas que emplea un usuario, y que va cifrado con un criptosistema simétrico con una palabra de paso como clave secreta. Por lo tanto, el sistema formado por un anillo de claves asimétricas sería un criptosistema mixto (o híbrido). Cuadro de diálogo en Ubuntu para autorizar a una aplicación (en el ejemplo, NetworkManager Applet) a que acceda al llavero. Al introducir la palabra de paso, la aplicación podrá acceder una vez al llavero y elegir la clave privada que necesita (en este caso, se trata de una clave para acceder inalámbricamente a un router WiFi). SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.6. Criptosistemas mixtos 2.6.2. Sistemas asimétricos para el intercambio de claves simétricas El cifrado asimétrico es poco eficiente, por lo que cifrar con sistemas asimétricos toda una comunicación podría ser un inconveniente. Para resolver este problema, se emplean criptosistemas mixtos o híbridos, que emplean criptografía simétrica para la comunicación, y criptosistemas de clave pública sólo para el establecimiento de la sesión (incluyendo el intercambio de clave simétrica). El protocolo SSH para administración remota, dada su Mensaje de advertencia del cliente SSH PuTTY para Windows, en el que se nos alerta antes de la importancia, emplea este sistema conexión de que el servidor no está autenticado. mixto en la realidad. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.6. Criptosistemas mixtos Esquema básico del establecimiento de sesión con SSH: 1) 2) 3) SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.7. Confidencialidad con GnuPG 2.7.1. Cifrado/descifrado simétrico con GnuPG Cifra con una palabra de paso el archivo gpg -c f_claro f_claro, generando f_claro.gpg Descifra con una palabra de paso el archivo gpg -d f_cifrado.gpg f_cifrado gpg -c -a f_claro El archivo fichero será cifrado en codificación ASCII, generando f_claro.asc El punto débil del cifrado simétrico es la clave; seguir las sugerencias de la diapositiva 25 es crucial para maximizar la efectividad del criptosistema. Por defecto, GnuPG cifra usando el algoritmo simétrico AES, pero puede usar otros algoritmos como CAST5. Un ejemplo: gpg --cipher-algo CAST5 -c f_claro SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.7. Confidencialidad con GnuPG 2.7.2. Gestión de claves asimétricas con GnuPG gpg --gen-key Genera las claves para el usuario Linux actual Los criptosistemas asimétricos pueden emplear diferentes longitudes de clave. Mayores longitudes de clave harán que la generación y el cifrado sean más lentos. Otro aspecto que hay que tener en cuenta: al no ser palabras de paso (es decir, no son humanamente recordables), las claves deberán ir correctamente identificadas a través de la descripción, el nombre y el email del propietario. Muestra una lista de claves almacenadas en el llavero gpg --list-keys del usuario Linux actual SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.7. Confidencialidad con GnuPG gpg --export -a -o f_claves Exporta la clave pública del usuario actual al archivo ASCII f_claves gpg --import f_claves Importa la clave almacenada en el archivo f_claves en el llavero del usuario Linux actual Muestra la huella digital del usuario Linux gpg --fingerprint actual. Es un hash de una clave irrecordable, de forma que nos sirve para comprobar si hemos usado una clave correcta o no SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.7. Confidencialidad con GnuPG 2.7.3. Criptografía asimétrica con GnuPG gpg -r uid -o f_cifrado --encrypt f_claro Cifra el archivo f_claro con la clave pública del usuario con identificador uid y generando el archivo ASCII f_cifrado (IMPORTANTE 1: el usuario debe especificarse a través del uid empleado para crear sus claves, puedes usar “comillas” para un UID con espacios) (IMPORTANTE 2: el usuario destino deberá tener generadas las claves pública y privada) gpg --decrypt f_cifrado Descifra el archivo f_cifrado con lo que pedirá que elijamos la clave del llavero que queremos emplear para ello TIC II, 2º BACHILLERATO Miguel Carrillo Martínez 2.7. Confidencialidad con GnuPG 2.7.4. Resumen de protocolo asimétrico con GnuPG EMISOR RECEPTOR EMISOR EMISOR RECEPTOR envía clave y Importa la crea su par de claves exporta su Descifra el archivo clave del (pública y privada) clave pública archivo cifrado emisor El emisor crea su El emisor puede La clave que el La clave pública del El archivo puede par de claves una exportarla a un emisor envía al emisor queda mostrarse en vez, y éstas se archivo de salida receptor es pública, almacenada en el pantalla si es guardan cifradas bien en formato por lo que no hay llavero del sistema texto, o extraerse en el llavero del ASCII o bien en peligro. operativo del en un archivo de sistema operativo. binario. receptor. cualquier tipo. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.8. Certificados digitales 2.8.1. Definición Un certificado digital o electrónico es un archivo con un conjunto de claves de un usuario autenticado por una autoridad de certificación (AC o CA, Certification Autorithy, son TTPs que se encargan de garantizar la identidad de un usuario de un criptosistema simétrico). Los certificados digitales deben ser solicitados a la CA a través de un protocolo que, en algún momento, exige la presentación física de la persona solicitante. Cada cierto tiempo, el usuario deberá renovar la validez del certificado, con lo que tendrá que volver a personarse físicamente. Los certificados pueden estar guardados en un archivo o en un dispositivo físico. Independientemente del soporte, los sistemas operativos ofrecen mecanismos para poder realizar importaciones y exportaciones de los certificados, si bien no siempre es adecuado por motivos de seguridad. La estructura y usos de los certificados digitales vienen recogidos en el estándar X.509 de la UIT-T que define cómo deben ser las infraestructuras de clave pública (PKI, Public Key Infrastructure). SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.8. Certificados digitales 2.8.2. Emisores de certificados Las compañías que ejercen como autoridades de certificación (CA) establecen determinados niveles propios o clases de certificados digitales fuera del estándar X.509 según diferentes criterios. Clases según FNMT-RCM: Clases según VeriSign: Clase 2 FNMT: para confirmación de identidad de Class 1: para particulares, usados para personas físicas. correo electrónico. Certificado Electrónico (CE) de Persona Class 2: para compañías que requieren Jurídica: para trámites con la administración autenticidad en su identificación. pública de empresas con entidad jurídica CE para Administración Pública: Class 3: para servidores y certificación de comunicaciones telemáticas, firma electrónica y software servicios a través de Internet a diferentes niveles de Class 4: para transacciones comerciales en la Administración Pública red para compañías CE para Entidades sin Personalidad Jurídica Class 5: para seguridad gubernamental u CE de Componentes: para servidores SSL/TLS, organizaciones privadas sellos de entidad, firma de código y sede y sello para la Administración Pública SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.9. Herramientas hardware 2.9.1. Claves en dispositivos de almacenamiento En muchas ocasiones el llavero de claves se almacena en un dispositivo de almacenamiento externo por dos razones: - por no dejar las claves permanentemente en el equipo de trabajo. - para poder usar las claves en un equipo diferente. Existe software criptográfico que da la opción de leer las claves desde un dispositivo externo (como un pendrive o una tarjeta de memoria), y aunque se pierda éste, siempre será necesaria la clave secreta para desbloquear el llavero. Las claves almacenadas pueden exportarse a cualquier equipo, o ser usadas temporalmente. SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez 2.9. Herramientas hardware 2.9.2. Tarjetas inteligentes Es el sistema más cómodo. En una tarjeta similar a las de crédito (con un chip), y usando un lector hardware específico, el software de cifrado accede temporalmente al llavero guardado en la tarjeta, solicita la clave y, cuando acaba el trabajo, borra todo rastro de uso. El uso de tarjetas inteligentes va asociado al empleo de certificados digitales. El DNI electrónico es el ejemplo más conocido de tarjeta inteligente. Lleva incorporado un certificado de usuario Clase 2 CA expedido por la Fábrica Nacional de Moneda y Timbre-Real Casa de la Moneda (FNMT-RCM). SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez ACTIVIDADES ACTIVIDAD 1 Crear una presentación de Google centrada en el uso de GnuPG con: 1) Una explicación sobre las diferencias entre criptosistemas simétricos y asimétricos 2) Una descripción del procedimiento completo para cifrar y descifrar un archivo. usando una clave secreta -simétrico- (incluir capturas) generando tanto archivos ASCII como binarios. 3) Una explicación de cómo cifrar con otro algoritmo distinto a AES (por ejemplo, CAST5) y las diferencias entre ambos. 4) Un ejemplo de cómo se genera un par de claves en GnuPG y explicar las diferencias entre los cuatro tipos (buscar en internet) 5) Una explicación de cómo se exporta y se importa la clave (si puedes, con dos usuarios de ejemplo) 6) Un ejemplo de cifrado/descifrado con un criptosistema de clave pública 7) Un ejemplo de firma digital con un criptosistema de clave pública SEGURIDAD INFORMÁTICA, 2º CFGM SMR Miguel Carrillo Martínez ACTIVIDADES ACTIVIDAD 2 Crear una presentación con Genial.ly centrada en el uso del programa IZArc (versión portable) que llevará los siguientes contenidos: 1) una explicación sobre las diferencias entre criptosistemas simétricos y asimétricos 2) explicar qué tipo de criptosistema integra, qué algoritmo utiliza y qué características tiene 3) explicar cómo cifrar un archivo 4) explicar cómo cifrar un lote de archivos 5) explicar cómo descifrar un archivo