Summary

Este es un capítulo sobre criptografía, que cubre diferentes aspectos de los conceptos, las razones para cifrar, métodos de criptografía, y otros temas relacionados con el cifrado.

Full Transcript

Unidad 4.- Criptografía Razones para cifrar. Conceptos de criptografía Criptografía simétrica y asimétrica Criptografía híbrida Protocolos seguros SSL y TLS. Vulnerabilidades. Cifrar y firmar. Infraestructura de clave pública (PKI). Certificados digitales 1. ¿Por qué cifrar? Cif...

Unidad 4.- Criptografía Razones para cifrar. Conceptos de criptografía Criptografía simétrica y asimétrica Criptografía híbrida Protocolos seguros SSL y TLS. Vulnerabilidades. Cifrar y firmar. Infraestructura de clave pública (PKI). Certificados digitales 1. ¿Por qué cifrar? Cifrado , porque cada vez existen más medios de almacenamiento (memorias portables ) y, más mecanismos de comunicación. Voz mediante teléfono (fijo/móvil) con tecnología analógica (fijo) y digital (GSM, UMTS, RDSI, VoIP), así como el aumento constante de videoconferencias. Mensajería electrónica breve (SMS, WhatsApp) c o completa (correo electrónico, burofax). Datos por línea digital (ADSL, fibra, HFC) o inalámbrica (wifi, UMTS, LTE). Apertura de las redes internas de las empresas para que puedan trabajar sus trabajadores (VPN ), sus clientes (acceso web) y otras empresas (VPN de empresas), todo a través de Internet. Conversaciones utilizan redes compartidas Las operadoras de telecomunicaciones → utilizando protocolos seguros; Empresas no es suficiente y por eso aplican cifrado en todas partes (incluso dentro: empleados «traidores»). Usuarios particulares deberían preocuparse de hacerlo porque su privacidad les pertenece (llamadas personales, correos intercambiados con sus contactos, movimientos bancarios, etc.). El cifrado de archivos de datos, nos permite garantizar la confidencialidad de los mismos, ya que sólo van a poder acceder a los datos aquellos usuarios que puedan descifrar el mensaje usando el mismo algoritmo de cifrado y la clave simétrica de cifrado. Aunque esta medida pertenece a la seguridad lógica, también se trata de seguridad activa, ya que evita un ataque a la confidencialidad de los datos ya que el atacante no puede acceder a los datos al estar cifrados. 2.- Criptografía Criptografía viene del griego cripto («ocultar») y graphos ( «escribir»). Se podría traducir por: cómo escribir mensajes ocultos. La criptografía consiste en tomar el documento original y aplicarle un algoritmo cuyo resultado es un nuevo documento cifrado. El destinatario, sabrá aplicar el algoritmo para recuperar el documento original. Hace falta algo más que el algoritmo, porque el enemigo también puede conocerlo. La privacidad la conseguimos gracias a la clave del algoritmo: un conjunto de valores que, combinados con el documento original tal y como se indica en el algoritmo, generan un documento cifrado de tal forma que, solo con ese documento, es imposible deducir ni el documento original ni la clave utilizada. Por supuesto, debemos evitar que se pueda llegar a conocer nuestra clave. Las claves son combinaciones de símbolos (letras, números, signos de puntuación, etc.). Por tanto, nuestra seguridad está expuesta a los ataques de fuerza bruta: probar todas las combinaciones posibles de símbolos. Para evitarlo debemos tomar estas medidas: - Utilizar claves de gran longitud. - Cambiar regularmente la clave. - Utilizar todos los tipos de caracteres posibles. - No utilizar palabras fácilmente identificables. - Detectar repetidos intentos fallidos en un corto intervalo de tiempo. La criptografía se considera una rama de las matemáticas y en la actualidad de la informática y la telemática , que hace uso de métodos y técnicas matemáticas con el objetivo principal de cifrar un mensaje o archivo por medio de un algoritmo usando una o más claves. Se debería hablar de criptología que a su vez engloba las técnicas de cifrado o criptografía, así como sus técnicas complementarias entre las cuales está el criptoanálisis que estudia métodos empleados para romper textos cifrados para recuperar el texto original en ausencia de claves. Cifrar y no encriptar. Historia de la Criptografía. Intypedia 1. En la terminología de la criptografía , están los siguientes aspectos: - Información original → texto en claro o plano. - Cifrado → convierte texto plano en texto ilegible o texto cifrado o criptograma. Mediante un algoritmo de cifrado y una clave. - Los algoritmos de cifrado se clasifican en dos tipos: * De cifrado en bloque : dividen el texto origen en bloques de bits de un tamaño fijo y los cifran de manera independiente. * De cifrado de flujo: el cifrado se realiza bit a bit, byte a byte. Las dos técnicas más sencillas de cifrado en criptografía son: * Sustitución.- supone el cambio de significado de los elementos básicos del mensaje, las letras, los dígitos o los símbolos * Transposición.- supone una reordenación de los mismos , pero los elementos básicos no se modifican en si mismo. Existen dos grandes grupos de sistemas de cifra: los de clave simétrica y los de clave asimétrica. Los de clave simétrica son los primeros criptosistemas que se inventaron. Para los certificados digitales y la firma digital es la base de funcionamiento de los sistemas de clave asimétrica, que son sistemas que usan una clave para cifrar y otra para descifrar. EFS y BitLocker son sistemas de cifrado de disco que vienen de serie en los sistemas operativos Windows. Tienen características muy diferentes. Por ejemplo BitLocker se usa para cifrar todo el disco en unidades fijas de disco duro o bien en externas, mediante BitLocker To Go. Sin embargo EFS, se usa para proteger los archivos individuales delas unidades de forma individual para cada usuario. Diferencias entre el cifrado de BitLocker y EFS en Windows Algunos fabricantes, incluyen en el firmware de sus equipos una característica llamada arranque seguro o Secure Boot, que es un estándar de seguridad que garantiza que los equipos arranquen usando solamente software que sea de confianza para el fabricante del equipo. Cuando se arrancan los equipos, el firmware comprueba la firma digital de cada fragmento de software de arranque, entre ellos los controladores (drivers) y el sistema operativo. Si las firmas son confiables, el equipo arranca y el firmware transfiere el control al sistema operativo. Secure boot es soportado por muchos sistemas operativos como Windows 8 y superiores, y muchas distribuciones GNU/Linux como Fedora (desde versión 18), OpenSUSE (desde la versión 12.3) y Ubuntu (desde la 12.04.2) También hay fabricantes de discos duros que incluyen el cifrado del disco por hardware, lo que se conoce como Self-Encrypting Drive (SED) o Full Disk Encryption (FDE). 3. Criptografía simétrica y asimétrica 3.1.- Criptografía simétrica El cifrado simétrico de archivos nos va a permitir proteger el contenido de un archivo confidencial que pueda necesitar enviar a través de un medio inseguro. De esta forma, el destinatario del archivo puede descifrar el fichero usando la clave simétrica que previamente debe haberse acordado, utilizando el mismo algoritmo con el que se ha cifrado. Los algoritmos de criptografía simétrica utilizan la misma clave para los dos procesos: cifrar y descifrar. Son sencillos de utilizar y, en general, resultan bastante eficientes. Los más utilizados actualmente son: DES, 3DES, AES e IDEA. El funcionamiento es simple: el emisor quiere hacer llegar un documento al receptor. Toma ese documento y le aplica el algoritmo simétrico, usando la clave única, que también conoce el receptor. El resultado es un documento cifrado que ya podemos enviar tranquilamente. Cuando el receptor recibe este documento cifrado, le aplica el mismo algoritmo con la misma clave, pero ahora en función de descifrar. Si el documento cifrado no ha sido alterado en el camino y la clave es la misma, el resultado será el documento original. Sistema de cifrado con clave simétrica. Intypedia 2. 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. Hay que utilizar un segundo canal de comunicación, que también habría que proteger, y así sucesivamente. El segundo problema es la gestión de las claves almacenadas. Ej criptografía simétrica es la autenticación de un movíl GSM. Existen muchas herramientas para poder realizar esta acción, OpenPGP, un software de cifrado simétrico, asimétrico e híbrido, disponible para muchas plataformas. Para Windows se usa el programa Cryptophane. Este programa utiliza por debajo las librerías de OpenPGP. En el caso de usar cualquier distribución de GNU/Linux, también hay disponibles muchas versiones como el KGpg (para escritorio KDE), GnuPG (en línea de comandos) que será el que usemos en los casos prácticos. Se usa bastante el comando gpg2 desde la shell de GNU/Linux, ya que permite automatizar mediante scripts (ficheros con secuencias de comandos) el cifrado de muchos archivos sin tener que hacerlo de forma gráfica. Caso práctico 2.- Cifrar ficheros con algoritmos simétrico en Ubuntu , con la herramienta GPG. 3.2.-Criptografía asimétrica En los años setenta, los criptógrafos Diffie y Hellman publicaron sus investigaciones sobre criptografía asimétrica. Su algoritmo de cifrado utiliza dos claves matemáticamente relacionadas de manera que lo que cifras con una solo lo puedes descifrar con la otra. Comparado con la clave simétrica, ahora el emisor no necesita conocer y proteger una clave propia; es el receptor quien tiene el par de claves. Elige una de ellas (llamada clave pública) para comunicarla al emisor por si quiere enviarle algo cifrado. Pero ya no hace falta buscar canales protegidos para enviarla porque, aunque un tercer individuo la conozca, todo lo que se cifre con esa clave solo se podrá descifrar con la otra clave de la pareja (la clave privada), que nunca es comunicada. Y matemáticamente es imposible deducir la clave privada conociendo solo la clave pública. Cada participante en una comunicación - ya sea una persona o un sistema informático como un servidor web - utiliza un par de claves: Clave pública: se puede entregar o compartir con cualquier persona, ya que no es secreta. Incluso se puede publicar en páginas personales. Clave privada: el propietario debe guardarla a buen recaudo ya que no debe compartirse con nadie y como su nombre indica, es para uso privado de su poseedor. El par de claves se generan mediante propiedades matemáticas de los números primos muy grandes. Esa pareja de claves sólo se puede generar una vez, de modo que se puede asumir que no es posible que dos personas hayan obtenido casualmente la misma pareja de claves. La seguridad del sistema se basa por tanto en la seguridad de la clave privada y en que es computacionalmente "imposible", obtener la clave privada de una persona o servicio conociendo su pública. Cuando se habla de computacionalmente imposible, queremos decir que con la potencia actual de los ordenadores, se podría invertir decenas o cientos de años - en función de la fortaleza del algoritmo y de la longitud de las claves - en poder descubrir la clave privada. Para cifrar a un destinatario, el remitente cifra el mensaje con clave pública del destinatario de forma que sólo el destinatario puede descifrar con su privada, pues es el único que la posee. De esta manera se logra la confidencialidad del envío del mensaje, ya que nadie salvo el destinatario puede descifrarlo. Los sistemas de clave pública también permiten garantizar la autenticación y el no repudio mediante la firma digital. Al cifrar un documento con nuestra clave privada, cualquiera puede descifrarlo con nuestra pública. Lógicamente, este proceso no tiene sentido para la confidencialidad pues cualquiera puede ver su contenido, pero sirve para demostrar la autoría de un documento, pues sólo el poseedor de la clave privada, puede haberlo firmado. Sistemas de cifra con clave pública. Intypedia 3. La criptografía asimétrica resuelve los dos problemas de la clave simétrica: No necesitamos canales seguros para comunicar la clave que utilizaremos en el cifrado. No hay desbordamiento en el tratamiento de claves y canales. Sin embargo, los algoritmos asimétricos tienen sus propios problemas: 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. Hay que proteger la clave privada. 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. Necesitamos una segunda medida de protección de la clave privada: la copia de seguridad del llavero. 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, 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. La solución más común a los problemas de proteger y transportar la clave privada es la tarjeta inteligente. Es una tarjeta de plástico que contiene un chip electrónico. Hay dos tipos: - Tarjeta de memoria- equivale a m. flash y se limita a almacenar el llavero. Al introducirla en lector se hace una copia temporal de ella y trabaja introduciendo c. simétrica. - T. procesadora.- Las claves almacenadas nunca salen de la tarjeta. Incluye CPU y RAM. También hay que introducir la c. simétrica pero los cambios son realizados por el propio chip. Clasificación según el tipo de interfaz: - T. de contacto.- el lector necesita tocar los contactos metálicos del chip para interactuar con él. Las más usadas en entornos de alta seguridad. Ej bancos. - T. sin contacto.- se usa tecnología inalámbrica y en situaciones de transacciones rápidas. Ej billete trasporte. Caso práctico 3. Cifrar ficheros con algoritmos asimétrico mediante la herramienta GPG en Ubuntu. 3.3.- Criptografía híbrida Comparación sistemas cifra simétrica y asimétrica. 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. En la Figura 2.37 vemos un ejemplo con el protocolo SSH. Caso práctico SSH Funciones Unidireccionales y algoritmos de hash. Intypedia14. Protocolos seguros SSL y TLS SSL (Secure Sockets Layer) y TLS (Transport Layer Security) son una serie de protocolos que permiten dar seguridad a los protocolos de capa de aplicación que no la poseen de forma nativa, protegiendo de esta manera servicios como las aplicaciones web, el correo electrónico, la transferencia de archivos o la voz sobre IP. De esta forma, protocolos como HTTP, SMTP/POP3 o FTP pasan a denominarse HTTPS, SMTPS, POP3S o FTPS cuando usan SSL/TLS por debajo. SSL/TLS ofrece cifrado híbrido al combinar algoritmos de clave pública con algoritmos de clave simétrica. La clave simétrica se usa para cifrar las comunicaciones entre ambos extremos, y para intercambiarse dicha clave de sesión, se usa la criptografía de clave pública. El cifrado simétrico es mucho más rápido y necesita menor carga computacional que el cifrado asimétrico. Sin embargo el asimétrico es ideal para asegurar la integridad y la autenticación de los datos, así como para el intercambio seguro de claves. SSL es el protocolo más antiguo y fue desarrollado por Netscape a mediados de los 90. En este protocolo han ido basándose las siguientes versiones que han ido mejorando fallos de seguridad hasta llegar al protocolo TLS, que es una versión mejorada. TLS actualmente va por la versión 1.3 y es el protocolo que se recomienda usar en navegador y servidores web, debido a los fallos de seguridad de SSL. SSL llegó hasta la versión 3 y se desaconseja su uso. Ambos protocolos han sido fundamentales para el auge del comercio electrónico, las compras seguras y la administración telemática al proporcionar seguridad en estos servicios al utilizar una red de transporte insegura como es Internet. Introducción al protocolo SSL y su funcionamiento. Intypedia 9 Ataques al protocolo SSL. Intypedia 10. Vulnerabilidades y ataques a SSL/TLS/HTTPS Mitre Corporation organización se encarga de regir las vulnerabilidades. La lista CWE compila vulnerabilidades y exposiciones comunes que pueden ayudar a los programadores y desarrolladores de software a mantener la seguridad de la información. Cada vulnerabilidad tiene un: - CVE (Common Vulnerabilities and Exposures ) (Código Verificación asociado, mientras que hay categorías de vulnerabilidades mediante la nomenclatura CWE. - CWE (Common Weakness Enumeration): lista de tipos de debilidades de software. Ej: CWE-120: Buffer Copy without Checking Size of Input (Classic Buffer Overflow) CVE: lista de información registrada sobre conocidasvulnerabilidades de seguridad. Ej: CVE-2014-0160 - FIRST Foro para equipos de seguridad y respuesta a incidentes. Esta organización se encarga de asignar un puntaje a las vulnerabilidades. Cuando se publica una vulnerabilidad se calcula un base puntaje de 0 a 10 según la severidad de la vulnerabilidad. Para calcular el base puntaje hay que utilizar una fórmula, CVVS.- Sistema de puntuación de vulnerabilidad común. Nivel de riesgo CVSS v3.1: 9.8 [Crítico] CVSS v3.1: 8.8 [Alto] Sistemas/tecnologías afectadas Medidas de erradicación Referencias Diversas vulnerabilidades en aplicaciones usadas durante la pandemia como pueden verse en este enlace. Vulnerabilidades y ataques a SSL/TLS/HTTPS A pesar de que la familia de protocolos SSL/TLS se concibieron para proporcionar confidencialidad, autenticidad, integridad y no repudio a las transacciones electrónicas realizadas por Internet, no les libra de tener fallos y debilidades que han ido descubriéndose a lo largo del tiempo. El protocolo SSL desde que se desarrolló, la capacidad de cómputo de los ordenadores ha aumentado exponencialmente, permitiendo encontrar debilidades en los protocolos criptográficos. Actualmente y debido a las vulnerabilidades aparecidas, se desaconseja usar SSL en el navegador, y se recomienda el uso de TLS 1.3 que es la última versión actualmente disponible. Comprueba en tu navegador la seguridad que tiene. BEAST Es un ataque que vulnera los protocolos SSL y TLS 1.0. El impacto de esta vulnerabilidad es importante porque es el primer ataque a SSL/TLS que permite descifrar el tráfico. Para ello es necesario que el atacante inserte código en lenguaje Javascript en el navegador de la víctima, de forma que envíe un texto conocido por el atacante por el canal SSL cifrado. El atacante debe poder capturar el mensaje cifrado (por ejemplo con un ataque MITM) y aunque no conozca la clave de cifrado, mediante técnicas de criptoanálisis, el ataque le permite descifrar otros datos de la sesión como por ejemplo las cookies. Al robar una cookie de sesión, el atacante puede colarse en la sesión que tiene la víctima abierta contra al aplicación web. Las cookies son pequeños fragmentos de información que en la mayoría de las aplicaciones web sirven para identificar al usuario una vez se ha autenticado en la aplicación web: esto evita que el usuario tenga que escribir el usuario y la contraseña en cada clic o petición web a la misma aplicación. Microsoft reconoció que todas las versiones de Windows, desde XP hasta Windows 7, son vulnerables a ataques BEAST. Heartbleed Es una vulnerabilidad de OpenSSL que fue descubierta por ingenieros de Google y la empresa Codenomicon en abril de 2014. OpenSSL es un paquete de software libre que implementa los protocolos SSL/TLS y es ampliamente usado en todo el mundo. Es un fallo que afecta a los servidores web que utilizan OpenSSL de forma que el usuario final poco puede hacer si el software de los servidores no es actualizado. Mediante esta vulnerabilidad, un atacante podría leer la memoria de un servidor o un cliente, permitiéndole conseguir las claves privadas de un servidor y por tanto poder descifrar los mensajes. Al parecer algunos atacantes han estado aprovechando este fallo desde hace al menos cinco meses antes de que fuera descubierto y publicado. Existen herramientas online como Lastpass o Filippo y plugins de navegadores como Chromebleed que permiten comprobar si un servidor al que nos conectamos es vulnerable. Para más detalles de la vulnerabilidad, se puede consultar el siguiente artículo de Hispasec: OpenSSL afectada por una vulnerabilidad apodada Heartbleed Otras vulnerabilidades: SSLStrip y Web MITM Existen otra vulnerabilidades, como el ataque SSLStrip que engaña al usuario creyendo que está usando una conexión segura o los ataques MITM donde el atacante envía un certificado falso para poder descifrar las comunicaciones. Estas técnicas se pueden evitar con una buena formación y concienciación por parte del usuario, que no debería continuar navegando por una web donde el navegador nos muestre una alerta de seguridad o nos muestre un candado sin estar usando https. 4.- Cifrar y firmar La primera utilidad de la criptografía garantizar la confidencialidad de la comunicación cifrando el documento original. La segunda utilidad es conseguir determinar la autenticidad del emisor. El mecanismo de firma garantiza que el emisor es quien dice ser. Supongamos que vamos a enviar un documento y queremos que el receptor confíe en que somos nosotros. Para conseguirlo, el emisor aplica al documento una función resumen (función hash). El resultado de esta función es una lista de caracteres, el resumen, que la función garantiza que solo se pueden haber obtenido con el documento original. Ahora el emisor cifra ese resumen con su clave privada y lo envía al destino, junto con el documento original. En el destino se hacen dos operaciones: 1. Aplicar la misma función hash al documento para obtener su resumen. 2. Descifrar el resumen recibido, utilizando la clave pública del emisor. Si ambos resúmenes coinciden, el destino puede estar seguro de que el emisor del documento es el mismo que el dueño de la clave pública que acaba de aplicar para descifrar el resumen recibido. Si queremos que el documento original no pueda ser interceptado en la transmisión desde el emisor al receptor, debemos cifrarlo. Para ello usaremos la clave pública del receptor. En el receptor, utiliza su clave privada para descifrar los documentos y la clave pública del origen para comprobar la firma. El mecanismo de firma también se utiliza en las comunicaciones de datos para garantizar al servidor que somos un cliente de confianza, y así podemos evitar introducir usuario y contraseña (autenticación sin contraseña). El procedimiento completo sería: El emisor aplica función hash al original para generara el resumen. El emisor toma su clave privada para aplicar el algoritmo asimétrico al documento resumen. Resultado documento resumen cifrado. El emisor toma la clave pública del receptor para aplicar el algoritmo asimétrico al documento original y resumen. Resultado → documento conjunto cifrado que se envía al receptor. El receptor usa su clave privada para descifrar los documentos y la clave pública origen para comprobar la firma. Caso práctico 4. Uso de la herramienta GPG para firmar ficheros. Caso práctico 5. Firma digital utilizando Wimdows. 5. Infraestructura de clave pública (PKI) Hemos visto en el punto anterior, que la criptografía de clave pública nos proporciona autenticación, confidencialidad, integridad y no repudio, necesarios hoy en día para garantizar una buena seguridad en la información. Como hemos visto, esto se consigue con un sistema de claves públicas y privadas que combinándolos adecuadamente nos proporcionan los servicios citados anteriormente. Pero el principal problema que surge es la confianza. ¿Cómo puedo garantizar que la clave pública de un usuario es suya y no es la de un impostor? Cualquiera puede generar un par de claves y pretender ser otra persona. Aquí es donde entran en juego las autoridades de certificación (AC o CA, del inglés Certification Authority), que asumen la responsabilidad de autenticar la identidad de esa clave pública y que aparecerá en un documento electrónico llamado certificado digital. Todo este conjunto de certificados, firmas digitales, autoridades de certificación y los procesos que intervienen, forman parte de lo que se conoce como infraestructura de clave pública. 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. Por infraestructura de clave pública o PKI (Public Key Infraestructure) se entiende el conjunto de herramientas hardware, software, procesos y procedimientos legales que permiten crear, gestionar, almacenar, distribuir y revocar certificados digitales. Este término incluye por tanto las autoridades de certificación y al resto de elementos que participan como los certificados digitales o los algoritmos de clave pública y firma digital en comunicaciones y transacciones electrónicas. Para usar la firma digital y los algoritmos de clave pública, no es necesaria la PKI. Una infraestructura de clave pública consta de: Autoridades de Certificación (CAs) que llevan la gestión de los certificados Autoridades de Registro (RAs), que autorizan la asociación entre una clave pública y el titular de un certificado Partes utilizadoras, que verifican certificados y firmas Repositorios (Directorios), que almacenan y distribuyen certificados y estados de los mismos Titulares de Certificados, que son las entidades finales, usuarios o suscriptores de los certificados y por tanto a quien pertenecen Autoridad de Validación (opcional), que suministra información de forma online (en tiempo real) acerca del estado de un certificado Funcionamiento : 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; pero el cliente, antes de utilizarla 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. Vulnerabilidades. 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 nues- tro consentimiento claves públicas de CA fraudulentas. Una conexión segura a servido- res 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 puede firmar las claves públicas de servidores peligrosos y los clientes se conectarían a ellos confiando en que es una firma legal. 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. –El cliente dispone de la clave pública de esa CA dentro de su llavero de claves asimétricas. Las CA no emiten un simple fichero con la firma, 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 el certificado digital, según el estándar X.509. 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. A modo de ejemplo de PKI vamos a estudiar el DNI electrónico (DNIe). Tiene el mismo tamaño que el DNI anterior y también aparecen escritos los datos de identificación de la persona. La diferencia es un chip que lo convierte en una tarjeta inteligente. El chip permite conocer: Datos generales de la persona, los mismos que están impresos en la tarjeta. Datos biométricos de la persona, como su huella dactilar digitalizada. Claves de cifrado asimétrico. El DNIe incluye claves distintas para firmar y para cifrar, por los motivos que ya conocemos: utilizar mucho una clave la expone a análisis criptográficos. Si al final alguien consigue nuestra clave de cifrado, por lo menos que no pueda firmar contratos en nuestro nombre. Para conseguirlo hay que ir a una comisaría de Policía especializada en DNI. Según el esquema PKI, la misma comisaría hace de CA (emite el certificado) y también de RA (ha confirmado quiénes somos). Tras identificarnos, aportar las huellas dactilares y pagar las tasas correspondientes, nos entregan dos cosas: el DNIe y un sobre ciego que contiene la clave simétrica que permite utilizar la clave privada para descifrar o firmar. Para usarlo necesitaremos un lector de tarjetas inteligentes. Certificados digitales Un elemento importante en la PKI son los certificados digitales, documentos electrónicos emitidos por autoridades de certificación (AC) que garantizan la identidad de un usuario o servicio electrónico como una página web. Básicamente un certificado digital es una clave pública de un usuario o servicio, firmada digitalmente con la clave privada de una AC en la que confiamos, garantizando que esa clave pública es de quien dice ser. Por ejemplo, en el caso del DNI electrónico, la AC de la Policía Nacional firma digitalmente la clave pública del certificado ciudadano que está introducido en el chip de su DNI. Un certificado digital por tanto es un documento digital mediante el cual un tercero confiable (una autoridad de certificación) garantiza la vinculación entre la identidad de un sujeto o entidad y su clave pública. Existen variados formatos para certificados digitales, los más comúnmente empleados se rigen por el estándar X.509. Los certificados digitales se usan para mayormente para: Firma digital de software o documentos Cifrar mensajes Los certificados también pueden clasificarse en función del nivel de verificación que se hace al concederlos por parte de la AC: Clase 1: corresponde a los certificados más fáciles de obtener y con pocas verificaciones de los datos que figuran en él:el nombre y email del titular. Clase 2: se emiten para personas ,servidores o dispositivos y se realiza una mayor verificación de la identidad. Nos vale para las firmas digitales, el cifrado y el control de acceso electrónico en transacciones en las que la prueba de identidad basada en información de la base de datos de validación es suficiente. Serán adecuados para la autenticación de servidores, la integridad de mensajes, software y el cifrado. Clase 3: se emiten a personas, organizaciones, servidores, dispositivos y administradores de AC y autoridades de certificados raíz. Nos vale para las firmas digitales, el cifrado y el control de acceso en transacciones donde se asegura la prueba de identidad. Serán adecuados para la autenticación de servidor; la integridad de mensajes, software y cifrado. Dan un mayor nivel de confianza debido a que exigen un proceso de verificación presencial. Los certificados pueden ir en varios soportes como por ejemplo: Fichero en disco duro, disquette o USB Tarjetas smartcard (como el DNI-e) Tarjetas criptográficas Un certificado digital contiene información como: Número de versión Número de serie Nombre del emisor (AC) Nombre del sujeto Periodo de validez Clave pública del sujeto Método de verificación de la firma Firma digital del certificado por parte de la AC Extensiones de certificado Los certificados digitales pueden encontrase en varios estados: Emitido: se encuentra en vigencia y por tanto es válido. Expirado: ha finalizado su periodo de validez y es necesario renovarlo. Revocado: es un certificado que no es válido y ha sido incluido en una lista de revocación (CRL) debido a que la clave privada se ha visto comprometida o ha habido cambios en los datos asociados al certificado Suspendido: es una revocación temporal por las mismas razones que el revocado, pero es una situación reversible. Pasos para obtener un certificado Como personas físicas o bien, para montar un servidor web seguro, podemos solicitar un certificado a una AC siguiendo los siguientes pasos: 1.- El solicitante (persona física o una empresa) realiza una solicitud (CSR, Certificate Signing Request) enviando sus datos a la autoridad certificadora. 2.- La Autoridad de Certificación verifica la identidad del solicitante de un certificado antes de su expedición, de forma presencial habitualmente. 3.- Al expedir el certificado, la AC lo firma con su clave privada, garantizando su validez. 4.- La AC envía al solicitante el certificado. 5.- Los certificados suelen ser para personas físicas o para servidores (p.ej. Https). En algún momento del proceso, es necesario generar el par de claves (privada y pública) asociadas al solicitante. Proceso de validación y verificación de un certificado Los pasos que se siguen cuando un parte quiere validar el certificado que le envía la otra parte, como por ejemplo un navegador web cuando se conecta a una página web segura: 1.- Conseguir el certificado de la otra parte. 2.- Verificar la validez del certificado: - Dentro del período de validez - Certificado no revocado - Firma electrónica de la AC correcta 3.- Verificar la firma digital del resumen o hash del mensaje con la clave pública del emisor. El receptor debe estar en posesión de la clave pública de la AC (instalada en su navegador, por ejemplo), con lo que podrá comprobar la firma electrónica de la AC del certificado. La AC es una entidad fiable y reconocida regional o mundialmente, encargada de garantizar de forma unívoca y segura la identidad asociada a una clave pública. Algunas de las principales autoridades certificadoras son: En España: FNMT, ACCV (GVA) etc. Cualquiera puede crear su propia AC con el software adecuado. El problema es generar reputación y confianza por el resto para ser incluido en los repositorios de AC, como las que vienen de serie en nuestro navegador. Se pueden consultar las AC de nuestro ordenador, dependiendo del software que utilicemos. Por ejemplo en el navegador Firefox se pueden consultar desde menú Preferencias, Avanzado, Certificados, botón Ver certificados, pestaña Autoridades: The Imitation Game (Descifrando Enigma) La pelicula recomendada para este tema es: The Imitation Game (titulada Descifrando Enigma en España y El código Enigma en Hispanoamérica) es un biopic bélico estadounidense, con cierto suspense , sobre el matemático, criptoanalista y pionero científico de la computación británico Alan Turing. Turing fue una figura clave en el descifrado de los códigos de la máquina Enigma de la Alemania Nazi, lo que ayudó a la victoria de los aliados en la Segunda Guerra Mundial; y que más tarde fue procesado penalmente por su homosexualidad. Está protagonizada por Benedict Cumberbatch como Turing y dirigida por Morten Tyldum con guion de Graham Moore, basado en la biografía de Alan Turing titulada The Enigma, de Andrew Hodges.​ Créditos: 1.- Seguridad Informatica McGraw-Hill 2013. Ciclo Formativo Gr 2.- Seguridad para tod@s en la Sociedad de la Informacion. COI 3.- Curso Seguridad Informática. Ramón Onrubia. 4.- Revista on-line de Intypedia.

Use Quizgecko on...
Browser
Browser