Lección 5: Mensajería de última milla II Flashcards
Características de seguridad.
- Confidencialidad
- Integridad
- Disponibilidad
- No-repudio
- Control de acceso
Mecanismos de seguridad
- Cifrado (confidencialidad + integridad)
- Autenticación (asegurarnos de que cliente y servidor son quienes dicen ser)
- Autorización
Características y usos del cifrado.
• Mantener los datos de la comunicación secretos (confidencialidad)
• Mantener los datos exactos y completos (integridad)
• El cifrado es fundamental tanto para comunicaciones seguras como
para la autenticación
• ¡Sin cifrado no hay seguridad!
Características de la autenticación.
- Tanto el cliente como el servidor deben “autenticarse”
- El servidor necesita conocer la identidad del cliente
- El cliente necesita asegurar que no han “suplantado al servidor”
Características de la autorización
- El cliente está autenticado, ¿a qué tiene acceso?
* Cada sistema de mensajería implementa la autorización de distinta forma
Principios de la criptografía
• Cifrar información para que no pueda ser leída por terceros
• Sólo el receptor puede reconstruir la información original
• Cifrar de “texto plano” a “texto cifrado” usando algoritmos de
cifrado
Tipos de cifrado
- Simétrico
- Se cifra y descifra con la misma clave (requiere secreto compartido)
- El estándar más utilizado para cifrado simétrico es AES
- Asimétrico
- Se cifra y descifra con claves distintas (pública y privada)
- Los estándares más utilizados para cifrado asimétrico son RSA y ECC
Cifrado simétrico
• Se suele utilizar para crear un “canal seguro” cifrando todos los
mensajes entre el receptor y el emisor
• La mayoría de los algoritmos simétricos son lo bastante rápidos para
afectar poco a la latencia
Problemas con cifrado simétrico.
Obliga a compartir la clave entre emisor y receptor (proceso complicado)
• No podemos asegurar que uno de los dos no lo comparta con un tercero
¿Qué es la fuerza bruta?
Consiste en probar todas las posibles claves hasta encontrar la correcta.
Definición de buen algoritmo.
• Un “buen” algoritmo de cifrado únicamente puede romperse por
“fuerza bruta”
Algoritmo de intercambio de clave Diffie-Hellman
- Se usa para intercambiar una clave simétrica.
- Es susceptible a Man in the middle.
Cifrado asimétrico
• También llamados de clave pública y privada
• Si ciframos con la pública, únicamente podremos descifrar con la
privada y viceversa
• El concepto de clave pública y privada permite introducir
funcionalidades avanzadas de seguridad
• Los algoritmos de cifrado asimétrico (RSA, ECC) suelen ser lentos y no
son apropiados para cifrar todos los mensajes de la comunicación
Clave pública y privada en cifrado asimétrico.
Los cifrados asimétricos tienen un par de claves
- Clave privada
- De las dos claves es la que se guarda y no se comparte con nadie
- Se suele almacenar encriptada con una contraseña utilizando un algoritmo simétrico
- Clave pública
- De las dos claves es la que hacemos pública para que todo el mundo tenga acceso
- Según como las utilicemos tenemos múltiples casos de uso
Cifrado simétrico vs. asimétrico
• Algoritmos de cifrado simétrico son mucho más rápidos (x1000)
• El cifrado simétrico requiere un “secreto compartido”
• No es muy práctico si no existe un canal seguro
• Ambos se combinan para comunicaciones seguras y eficientes
1. Utilizar cifrado asimétrico para establecer un clave de sesión secreta
2. Utilizar cifrado simétrico para cifrar el resto de información
Funciones Hash
- Función unidireccional
- Entrada: mensaje largo de longitud variable
- Salida: hash (o “message digest”) de longitud fija (bits)
Propiedades de las funciones hash.
- Determinista: misma entrada, misma salida
- Resistente a colisiones (dos valores con mismo hash)
- Efecto avalancha: cualquier cambio modifica el hash
• Algoritmos más utilizados: MD5, SHA-1, SHA-2, …
Autenticación con cifrado simétrico
- Alice y Bob tienen un “secreto compartido” (clave de sesión)
- Cifrado simétrico utilizando un número aleatorio una única vez
Autenticación con cifrado asimétrico
• Bob quiere estar seguro de que es Alice quien manda un mensaje
• Alice manda el mensaje cifrado con su clave privada
• Cualquiera que tenga la clave pública puede descifrarlo
• El descifrado únicamente funcionará si Alice es quien ha cifrado el
mensaje
¡Alice únicamente necesita compartir su clave pública!
Firma digital
La firma digital se utiliza para autenticar un mensaje o documento
• Para firmar se realizan 3 pasos:
1. Se crea un Hash del mensaje que se va a firmar
2. Se cifra el hash con la clave privada del firmante
3. Se envía el mensaje original junto con el hash cifrado
• Para comprobar la firma:
- Se descifra el hash encriptado
- Se crea de nuevo el hash del mensaje original
- Se comprueba que los dos hash coinciden
Certification Authority
Es una entidad de certificación que certifica que la información es verídica.
Contenido del certificado digital
• La identidad del propietario • La identidad de la CA • El periodo de validez • La clave pública del propietario • Firma digital del certificado por parte de la CA (con su propia clave privada)
Intercambio clave – cifrado asimétrico
• Caso de uso anterior para intercambiar una clave de sesión
• Una vez establecida la sesión, el resto de mensajes se cifrarán
utilizando la clave de sesión
• La clave de sesión será una clave de cifrado simétrico
• La clave es válida mientras la sesión permanezca activa
Cifrado y autenticación
• Podemos combinar los casos anteriores:
• Autenticación: Certificados + Firma Digital
• Comunicaciones seguras: Intercambio de clave de sesión + cifrado simétrico
• Establecer una comunicación confiable con identidades verificadas
• Existen múltiples mecanismos estándar de comunicación que
combinan estas técnicas (SSH, SSL, HTTPs, etc.)