Mecanismos de protección
2. Sistemas de autenticación
Tipos de autenticación
La autenticación de mensaje o autenticación de origen de datos permite confirmar que el originador A de un mensaje es auténtico, es decir, que el mensaje no ha sido generado por un tercero Z que quiere hacer creer que lo ha generado A.
La autenticación de entidad permite confirmar la identidad de un participante A en una comunicación, es decir, que no se trata de un tercero Z que dice ser A.
Autenticación de mensaje
Existen dos grupos de técnicas para proporcionar autenticación de mensaje:
Los códigos de autenticación de mensaje o MAC, basados en claves simétricas.
Un código de autenticación de mensaje o MAC se obtiene con un algoritmo a que tiene dos entradas: un mensajeM de longitud arbitraria, y una clave secreta k compartida por el originador y el destinatario del mensaje. Como resultado da un código CMAC = a(k,M) de longitud fija. El algoritmo MAC debe garantizar que sea computacionalmente inviable encontrar un mensaje M = M que de el mismo código que M, y también obtener el código de un mensaje cualquiera sin conocer la clave.
Firmas digitales
Autenticación de entidad
Contraseñas
Lista de contraseñas en claro
La manera más simple de comprobar una contraseña es que el verificador tenga
una lista de las contraseñas asociadas a los usuarios
Lista de contraseñas codificadas
ista de contraseñas, en lugar de estar guardadas éstas en claro por pares (A,xA), cada una esté codificada con alguna transformación C de manera que no se pueda deducir su valor real. De este modo, la lista debe contener pares (A,C(xA))
Técnicas para dificultar los ataques de diccionario
Ocultar la lista de contraseñas codificadas
Reglas para evitar contraseñas fáciles
Añadir complejidad a la codificación de las contraseñas
Añadir bits de sal a la codificación de las contraseñas
Uso de passphrases
Las firmas digitales, que se basan en la criptografía de clave pública
Protocolos de reto-respuesta
Protocolos de reto-respuesta con clave simétrica
Autenticación con marca de tiempo
Autenticación con números aleatorios
Autenticación mutua con números aleatorios
Autenticación con función unidireccional
Protocolos de reto-respuesta con clave pública
Descifrado del reto
Descifrado del reto
Firma del reto
Técnicas de clave pública
El reto se manda cifrado con clave pública y la respuesta es el reto descifrado con la correspondiente clave privada.
El reto se envía en claro y la respuesta es la firma del reto
4. Protección del nivel de transporte: SSL/TLS/WTLS
Un método alternativo que no necesita modificaciones en los equipos de interconexión es introducir la seguridad en los protocolos de transporte. La solución más usada actualmente es el uso del protocolo SSL o de otros basados en SSL.
Protocolos
El protocolo de transporte Secure Sockets Layer (SSL)
La especificación Transport Layer Security (TLS)
El protocolo Wireless Transport Layer Security (WTLS)
Características del protocolo SSL/TLS
Una característica distintiva del WTLS es que no solamente permite proteger conexiones TCP, como hacen SSL y TLS, si no que también define un mecanismo de protección para las comunicaciones en modo datagrama, usadas en diversas aplicaciones móviles.
Los servicios de seguridad que proporcionan los protocolos SSL/TLS son:
Confidencialidad
Autenticación de entidad
Autenticación de mensaje
los protocolos SSL/TLS están diseñados:
Eficiencia
Extensibilidad
El transporte seguro SSL/TLS
La subcapa superior se encarga básicamente de negociar los parámetros de seguridad y de transferir los datos de la aplicación. Tanto los datos de negociación como los de aplicación se intercambian en mensajes
En la subcapa inferior, estos mensajes son estructurados en registros a los cuales se les aplica, según corresponda, la compresión, la autenticación y el cifrado.
El protocolo de registros SSL/TLS
La información que se intercambian cliente y servidor en una conexión SSL/
El protocolo de negociación SSL/TLS
El protocolo de negociación SSL/TLS, también llamado protocolo de encajada de manos (Handshake Protocol), tiene por finalidad autenticar el cliente y/o el servidor, y acordar los algoritmos y claves que se utilizaran de forma segura, es decir, garantizando la confidencialidad y la integridad de la negociación.
Ataques contra el protocolo SSL/TLS
Los protocolos SSL/TLS están diseñados para resistir los iguientes ataques:
Lectura de los paquetes enviados por el cliente y servidor.
Suplantación de servidor o cliente.
Alteración de los paquetes.
Repetición, eliminación o reordenación de paquetes.
Aplicaciones que utilizan SSL/TLS
HTTPS (HTTP sobre SSL/TLS): el protocolo más utilizado actualmente para la navegación web segura.
NNTPS (NNTP sobre SSL): para el acceso seguro al servicio de News.
1. Conceptos básicos de criptografía
criptología.
La criptografía estudia, desde un punto de vista matemático, los métodos de protección de la información. Por otro lado, el criptoanálisis estudia las posibles técnicas utilizadas para contrarrestar los métodos criptográficos, y es de gran utilidad para ayudar a que estos sean más robustos y difíciles de atacar. El conjunto formado por estas dos disciplinas, criptografía y criptoanálisis, se conoce como criptología.
El cifrado de César
Consiste en sustituir cada letra del mensaje por la que hay tres posiciones más adelante en el alfabeto (volviendo a empezar por la letra A si llegamos a la Z). De este modo, si
aplicamos este algoritmo de cifrado al texto en claro “ALEA JACTA EST” (y utilizado el alfabeto latino actual, porque en tiempos del César no existían letras como la “W”), obtenemos el texto cifrado “DOHD MDFWD HVW”. El descifrado en este caso es muy simple: sólo es necesario sustituir cada letra por la que hay tres posiciones antes
en el alfabeto.
Criptograía de clave simétrica
Los sistemas criptográficos de clave simétrica se caracterizan porque la clave de descifrado x es idéntica a la clave de cifrado k, o bien se puede deducir directamente a partir de ésta.
Algoritmos de cifrado en flujo
El funcionamiento de una cifrado en flujo consiste en la combinación de un texto en claro M con un texto de cifrado S que se obtiene a partir de la clave simétrica k. Para descifrar, sólo se requiere realizar la operación inversa con el texto cifrado y el mismo texto de cifrado S.
Algoritmos de cifrado en bloque
En una cifra de bloque, el algoritmo de cifrado o descifrado se aplica separadamente a bloques de entrada de longitud fija b, y para cada uno de ellos el resultado es un bloque de la misma longitud.
sustitución: consiste en traducir cada grupo de bits de la entrada a otro, de acuerdo con una permutación determinada.
La transposición:consiste en reordenar la información del texto en claro según un patrón determinado. Un ejemplo podría ser la formación grupos de cinco letras, incluidos los espacios en blanco, y rescribir cada grupo (1,2,3,4,5) en el orden(3,1,5,4,2):
Ejemplos de algoritmos de cifrado en bloque
DES (Data Encryption Standard).
Triple DES.
AES (Advanced Encryption Standard).
Uso de los algoritmos de clave simétrica
Se utiliza el cifrado simétrico para proteger las comunicaciones, se puede escoger el algoritmo que sea más apropiado a las necesidades de cada aplicación: normalmente, a más seguridad menos velocidad de cifrado, y viceversa.
Modos de operación
al cifrado en bloque.
ECB (Electronic Codebook)
CBC (Cipher Block Chaining)
CFB (Cipher Feedback)
OFB (Output Feedback)
Funciones hash seguras
Una función hash nos permite obtener una cadena de bits de longitud fija, relativamente corta, a partir de un mensaje de
longitud arbitraria:H = h(M)
Criptografía de clave pública
Algoritmos de clave pública
se utilizan claves distintas para el cifrado y el descifrado. Una de ellas, la clave pública, se puede obtener fácilmente a partir de la otra, la clave privada, pero por el contrario es computacionalmente de muy difícil obtención la clave privada a partir de la clave pública.
Ejemplos de algoritmos de clave pública
Intercambio de claves Diffie-Hellman
ElGamal
DSA (Digital Signature Algorithm)
Certificados de clave pública
Una identificación de usuario como, por ejemplo, su nombre.
El valor de la clave pública de este usuario
La firma de las dos partes anteriores.
Cadenas de certificados y jerarquías de certificación
La autenticación de mensaje o autenticación de origen de datos
La autenticación de entidad
3. Protección del nivel de red: IPsec
La protección a nivel de red
La protección a nivel de transporte
La protección a nivel de aplicación
La arquitectura IPsec (RFC 2401) añade servicios de seguridad al protocolo IP (versión 4 y versión 6), que pueden ser usados por los protocolos de niveles superiores (TCP, UDP, ICMP, etc.).
El protocolo AH (Authentication Header, RFC 2402) ofrece el servicio de autenticación de origen de los datagramas IP (incluyendo la cabecera y los datos de los datagramas).
El protocolo ESP (Encapsulating Security Payload, RFC 2406) puede ofrecer el servicio de confidencialidad, el de autenticación de origen de los datos de los datagramas IP (sin incluir la cabecera), o los dos a la vez.
El protocolo AH
El protocolo AH define una cabecera que contiene la información necesaria para a la autenticación de origen de un datagrama. El campo Next Header sirve para indicar a que protocolo corresponden los datos que vienen a continuación de la cabecera AH. El campo Payload Length indica la longitud de la cabecera (esta información se necesita porque el último
campo es
El protocolo ESP
El protocolo ESP define otra cabecera, que de hecho incluye dentro todos los datos que vengan a continuación en el datagrama (lo que en inglés se llama:payload).
Modos de uso de los protocolos IPsec
La arquitectura IPsec define dos modos de uso de los protocolos AH y ESP, dependiendo de como se incluyan las cabeceras correspondientes en un datagrama IP.
Modo transporte
Modo túnel
5. Redes privadas virtuales (VPN)
Los protocolos seguros que hemos visto hasta este punto permiten proteger las comunicaciones, por ejemplo, de una aplicación implementada como un proceso cliente que se ejecuta en un ordenador y un proceso servidor que se ejecuta en otro ordenador
Definición y tipos de VPN
Una red privada virtual (VPN) es una configuración que combina el uso de dos tipos de tecnologías:
Las tecnologías de seguridad que permiten la definición de una red privada, es decir, un medio de comunicación confidencial que no puede ser interceptado por usuarios ajenos a la red.
Las tecnologías de encapsulamiento de protocolos que permiten que, en lugar de una conexión física dedicada para la red privada, se pueda utilizar una infraestructura de red pública, como Internet, para definir por encima de ella una red virtual.
Tipos de VPN
VPN entre redes locales o intranets
VPN de acceso remoto
VPN extranet
Túneles
Túneles a nivel de red
Túneles a nivel de enlace.
Túneles a nivel de transporte