Seguridad en comunicaciones TCP/IP José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Seguridad en TCP/IP (I) Capa de seguridad separada FTP HTTP NNTP Aplicaciones Capa de seguridad SSL Servicios de red TCP Red IP nivel físico/enlace Encaminamiento Seguridad en TCP/IP (II) Protocolo específico de aplicación S-HTTP Aplicaciones + Seguridad Servicios de red TCP Red Encaminamiento IP nivel físico/enlace Seguridad en TCP/IP (III) Protocolo de seguridad a nivel de red Aplicaciones HTTP Servicios de red TCP Red IP + IPsec nivel físico/enlace Encaminamiento (IP + seguridad) Seguridad en TCP/IP (IV) Protocolo de seguridad simultáneo HTTP Kerberos Aplicaciones Servicios de red TCP + UDP Red Encaminamiento IP nivel físico/enlace Comparación de los distintos protocolos Protocolo Capa separada A nivel de aplicación A nivel de red Simultáneo A = Seguridad completa B = Multiaplicación C = Adaptable a los servicios A B C D × × × × × × × × E × × × D = Transparente a las aplicaciones E = Fácil de desarrollar mejoras Cifrado a nivel físico y de enlace Cifrado hardware en línea puerto para cifrado puerto para descifrado IP router cabecera enlace cabecera Internet cabecera Transporte datos no cifrados cabecera Aplicación datos enviados datos cifrados Cifrado a nivel IP : IPSEC •IPSEC está pensado para proporcionar privacidad y autentificación •Se incorpora en el protocolo IP v6.0 aunque puede trabajar con versiones anteriores •El proceso básico consiste en calcular criptographic checksums mediante algoritmos de resumen (MD5, SHA, DES CBC, etc) cabecera enlace cabecera Internet datos no cifrados cabecera Transporte cabecera Aplicación datos enviados datos cifrados (opcionalmente) Estructura básica de los paquetes IPSEC Fundamentos básicos de IPSEC (I) asociación de seguridad 1-2 host #2 host #1 asociación de seguridad 2-3 host #3 Una asociación de seguridad i-j establece todos los parámetros necesarios para que se establezca una comunicación segura entre los host i – j mediante IP Depende de los hosts involucrados y de los parámetros incorporados en cada paquete Fundamentos básicos de IPSEC (II) Cada paquete en IPSEC puede contener alguna de las dos siguientes cabeceras: (a) Cabecera de autentificación (Authentication Header AH) Proporciona autentificación e integridad. (b) Cabecera de cifrado (Encapsulating Security Payload ESP) Proporciona privacidad Las cabeceras contienen un código (Security Parameter Index SPI) que define su operativa: • • • Especificación de métodos de cifrado Claves Entidades asociadas con el tráfico de paquetes Autentificación en IPSEC (AH) siguiente cabecera cabecera enlace longitud AH reservado SPI datos de autentificación cabecera IP 8 8 16 32 datos y cabeceras restantes MD5 clave clave datos y cabeceras Encriptación en IPSEC (AH) cabecera enlace cabecera IP SPI VI datos y cabeceras cifrados Gestión de claves y asociaciones de seguridad •Manual keying •SKIP (Simple Key Interchange Protocol) (Sun Microsystems) •ISAKMP (Internet Security Association and Key Management Protocol) (IETF) •Photuris S/WAN (RSA) Otros protocolos alternativos •IPSO (IP Security Option) •SDNS (Secure Data Network System) •NLPS (Network Layer Security Protocol) •PPTP (Point-To-Point Tunneling Protocol) Negociación de una sesión SSL Cliente 1 Servidor ClientHello Version RandomNumber SessionID CipherSuites CompressionMethods Negociación de una sesión SSL Cliente 1 Servidor ClientHello ServerHello 2 Version RandomNumber SessionID CipherSuites CompressionMethods Negociación de una sesión SSL Cliente 1 Servidor ClientHello ServerHello 2 ServerKeyExchange 3 ServerHelloDone 4 ChangeCipherSpec 8 Finished 9 5 ClientKeyExchange 6 ChangeCipherSpec 7 Finished