UNIVERSIDAD VERACRUZANA FACULTAD DE INGENIERÍA EN ELECTRÓNICA Y COMUNICACIONES MONOGRAFÍA QUE PARA OBTENER EL TITULO DE: INGENIERO EN ELECTRÓNICA Y COMUNICACIONES PRESENTAN DIRECTOR DEL TRABAJO RECEPCIONAL: M.C. RAUL VARGUEZ FERNÁNDEZ ASESOR: ING. CELIA MARIA CALDERÓN RAMÓN POZA RICA AGRADECIMIENTOS 2005 Doy gracias a Dios por haberme permitido llegar ah este momento --por la familia y amigos que puso en mi camino en esta vida. Gracias a mis padres Abel e Isabel, por el apoyo, comprensión y confianza que siempre han puesto en mí, quiero -decirles que son las personas más im---portantes en mi vida, los quiero mucho. Gracias a mis hermanas Mely, Yesy, Isadelvi y Sheyla, que han ---estado a mi lado en los buenos y ---malos momentos de mi vida, por el cariño y comprensión que eh tenido de ellas, y a mi sobrina Melissa que también es una parte importante de mi vida. Gracias a Arturo, por ser mí amigo y compañero, por todo el apoyo y ----paciencia. Sin ti no habría podido ---obtener mi Titilación. Gracias por --por esta gran amistad. Gracias a M.C Raúl Varguez y Ing. Celia Calderón, por habernos – guiado y apoyado para la realización de nuestro tema, y por lo mucho que pude aprender de ustedes en todo --este tiempo. Gracias a todos mis amigos por --haber estado conmigo en todos los ---buenos y malos momentos que pasa--mos juntos en estos 5 años de estudio. AGRADECIMIENTOS A mis papás: Gracias mamá porque siempre has estado conmigo, sin importar nada, para cuidarme como solo tú sabes, para quererme incondicionalmente y para enseñarme todos los valores y principios que me ayudaron a terminar mi carrera. Gracias papá porque siempre me apoyaste, demostrándome con tu ejemplo el camino correcto, por todo el esfuerzo y trabajo que tienes que hacer cada día, fuiste sin duda una gran inspiración para mí y gran parte de mí éxito es tuyo. Gracias papás, su apoyo y cariño fueron los artífices en la culminación de la carrera. A mis hermanos: Gracias Chepe por llegar a mi vida, ser mi compañía en aquellos momentos difíciles, eres para mí un ejemplo de vida. Gracias Lalo por dar alegría a mi alma, un hermano algo fantástico dos es una bendición, y tenerte a mi lado es como una inyección de alegría y felicidad. Gracias a ambos porque fueron, son y serán una de las más grandes motivaciones por las que alcance mi meta. A mi familia y a mis padrinos: Gracias a toda mi familia y a todos mis padrinos por su apoyo y buenos deseos para mí, mis papás y mis hermanos. Gracias por contar con ustedes en los momentos difíciles. A mi compañera A na: Gracias por ayudarme en la obtención de mi titulo, eres un gran apoyo para mí, no creo haber logrado esto yo solo. Gracias por, sobre todo, tu amistad sincera. A mis catedráticos: Gracias por compartir todos sus conocimientos y todas sus valiosas experiencias; gracias por ser tan estrictos, tan entregados a su noble profesión, tan exigentes, tan flexibles, cada uno me enseño algo valioso que se que me servirá mucho para mi futuro: responsabilidad, tenacidad, seguridad, y tantos valores más. No terminaría de agradecerles, así que seré mas breve: gracias, especialmente a los ingenieros Celia Maria Calderón Ramón, Carlos Rodríguez Flores, y al M.C. Raúl Varguez Fernández. A mis compañeros: Gracias por su apoyo durante todo este tiempo, me alegro haberlos conocido, espero que todos cumplamos nuestras metas. ÍNDICE RESUMEN CAPÍTULO I INTRODUCCIÓN 1.1 Antecedentes 1.2 Justificación 1.3 Objetivos 1.4 Alcance del Trabajo CAPÍTULO II FUNDAMENTOS DE LA SEGURIDAD EN INTERNET 2.1 Origen y evolución de Internet 2.2 Servicios de Internet 2.2.1 Web 2.2.2 Web Marketing 2.2.3 Pagina Web 2.2.4 Sitio Web 2.2.5 Portal 2.2.6 Hospedaje Web 2.2.7 Motor de búsqueda 2.2.8 Conversaciones y Conferencias 2.2.9 Telnet (sesiones remotas) 2.2.10 Gopher 2.2.11 News (grupo de noticias) 2.2.12 Listas de correo 2.2.13 Otros servicios 2.3 Arquitectura cliente-servidor 2.3.1 Antecedentes 2.3.2 Cliente-Servidor 2.3.3 Componentes esenciales de la infraestructura Cliente-Servidor 2.3.4 Características funcionales 2.3.5 Características físicas 2.3.6 Características lógicas 2.3.7 Arquitectura Cliente-Servidor independiente de plataforma 2.4 Servidores y servicios Web 2.5 Comercio electrónico 2.6 Necesidades de seguridad en la red 2.6.1 Planificación de la seguridad de la red 2.6.1.1 Nivel de seguridad 2.6.1.2 Configuración de las políticas o normativas 2.6.1.3 Entrenamiento 2.6.1.4 Equipamiento de seguridad 2.6.2 Modelos de seguridad 2.6.2.1 Compartición protegida por contraseña 2.6.2.2 Permisos de acceso 2.6.3 Medidas de seguridad adicionales 2.6.3.1 Cortafuegos (Firewalls) 2.6.3.2 Auditoria 2.6.3.3 Equipos sin disco 1 3 3 4 5 5 6 9 10 10 10 11 11 12 12 12 12 13 13 13 14 14 15 15 16 18 19 20 21 22 24 25 28 28 28 29 29 29 30 30 31 33 33 33 34 i 2.6.3.4 Cifrado de datos 2.6.4 Prevención de virus CAPÍTULO III SSL Y PROTOCOLOS SEGUROS PARA WEB 3.1 Fundamentos de SSL 3.2 Protocolos similares a SSL 3.2.1 S-HTTP, Secure Hiper Text Transfer Protocol 3.2.2 PTC, Private Technology Communication 3.2.3 TLS, Transport Layer security 3.2.4 IPSec, Internet Protocol Security 3.3 Protocolos distintos a SSL 3.3.1 CyberCash 3.3.2 SET, Secure Electronic Transaction CAPÍTULO IV SSL, SECURE SOCKETS LAYER 4.1 Solicitud de SSL 4.1.1 SSL como sistema de seguridad 4.1.2 Protocolos de SSL 4.1.3 Protocolo Record o de Registro 4.1.4 Protocolo ChangeCipherSpec o de Cambio de Configuración Descifrada 4.1.5 Protocolo Alert o de Alertas 4.2 Protocolo Handshake o de Negociación 4.3 Intercambio de datos 4.3.1 Niveles de comunicación 4.3.1.1 Sesión 4.3.1.2 Conexión 4.3.1.3 Requisitos de transporte 4.3.2 Establecimiento de una conexión segura 4.3.2.1 ClientHello 4.3.2.2 ServerHello 4.3.2.3 ServerKeyExchange 4.3.2.4 ServerHelloDone 4.3.2.5 ClientKeyExchange 4.3.2.6 ChangeCipherSpec 4.4 Terminación de una sesión SSL 4.4.1 ChangeCipherSpec 4.4.2 Finished CAPÍTULO V TÓPICOS 5.1 Versiones de SSL 5.2 Ventajas y desventajas de SSL 5.2.1 Ventajas de SSL 5.2.2 Desventajas de SSL 5.2.2.1 Problemas de SSL 5.2.2.2 Debilidades de SSL 5.3 Vulnerabilidades conocidas 5.3.1 1995 5.3.2 1998 5.3.3 1999 5.3.4 2000 5.3.5 2001 5.3.6 2002 34 35 36 36 41 41 43 44 45 48 48 50 54 55 55 56 56 58 58 59 59 59 60 60 61 61 62 64 64 66 67 68 68 70 70 71 71 71 71 72 72 76 79 79 79 80 80 82 83 ii 5.3.7 2003 5.3.8 2004 5.4 OpenSSL 5.4.1 Introducción 5.4.2 Ventajas de OpenSSL 5.4.3 Resumen de los comandos 5.4.4 Argumentos de la frase pass CONCLUSIONES APÉNDICES Apéndice A: Abilene Apéndice B: Tablas Apéndice C: Módulo mod_ssl Apéndice D: Instalación de OpenSSL Apéndice E: Glosario BIBLIOGRAFÍA REFERENCIAS ELECTRÓNICAS 86 87 87 87 88 88 90 92 93 93 94 97 98 99 109 110 iii RESUMEN Se dará una introducción a la World Wide Web o mejor conocida como Web. Se tratará el origen del Internet, las causas principales por las cuales surgió y como ha ido evolucionando la Web a través de los años, así de cómo se ha vuelto un medio de comunicación importante en el mundo, a tal punto que es una parte necesaria en casi todos los aspectos sociales de la vida del hombre. En la actualidad existen múltiples servicios en la Web, desde transmisión de datos hasta la transmisión de video, esto se ha dado relativamente rápido, se dará un historial de cómo han surgido estos servicios, sus problemas y las necesidades que han cubierto. Una parte importante en la Web es como se realizan las transacciones a través de la red mundial de computadoras, aquí entra un concepto básico: la arquitectura Cliente-Servidor, que, aunque no es la única forma de transacción si es la mas usada. Se dará el concepto de la arquitectura Cliente-Servidor, como funciona esta arquitectura esperando mostrar porque es de las más utilizadas. Dentro de este contexto también se dará la definición de “servidor” que es una parte integral de la arquitectura Cliente-Servidor, básicamente se explicará que función tiene en una comunicación entre computadoras. Anteriormente se mencionaron algunos servicios que ofrece la Web, pero en la actualidad uno de los servicios que mas se han desarrollado es el comercio electrónico, pero como cualquier servicio en desarrollo también han aparecido problemas. Se dará una breve perspectiva de lo que es el comercio electrónico, como se realizan las compras y ventas, y a que riesgos se enfrentan estas transacciones. La seguridad en la red afecta todos los servicios en la Web, se darán los principales riesgos que afectan a estos servicios, pero enfocándonos mas en el servicio que cuando es corrompido tiene grandes repercusiones económicas en las dos partes de la transacción, esto debido a que si la seguridad y el surgimiento de protocolos se han vuelto aspectos importantes en la Web es debido al comercio electrónico, aunque no sea el único motivo. El protocolo SSL es uno de los protocolos más dominantes en el panorama del comercio electrónico, proporciona confidencialidad, integridad y verificación de la identidad de ambas partes. Por esto es necesario, presentar ciertas características esenciales de este protocolo, dando un panorama general de cómo funciona para después presentarlo en una forma mas detallada. El protocolo SSL no es el único protocolo de seguridad que existe, hay otros protocolos que son utilizados para dar seguridad a una transacción en la Web. Se dará, primero que nada que tipo de protocolos existen, la división de estos de acuerdo a como se concibieron, para dar una idea mas clara de las características de cada uno de ellos. De una manera concisa, se darán cada uno de los conceptos de cada protocolo de seguridad, que mecanismo utilizan para transmitir información en forma segura. Esto también servirá para tener una idea mas clara de cómo han ido surgiendo los protocolos así de cómo han ido cambiando de acuerdo a las necesidades que han surgido conforme avanza la tecnología y el aumento de los usuarios aumenta. 1 Se darán algunos antecedentes del protocolo SSL, como surgió y cambió en poco tiempo surgiendo versiones mejoradas de cada una de las anteriores. El protocolo SSL se conforma de varios protocolos y niveles, se darán los detalles de cada parte del proceso en una sesión SSL, explicando los formatos de cada protocolo interno en SSL. También se dará de la manera mas clara posible como se efectúa un intercambio de información, ilustrando y explicando cada uno de los pasos que se efectúan con este protocolo. Otro aspecto particular que tiene este protocolo es la terminación de la sesión de un intercambio de información, se darán los múltiples intercambios de información que se tiene que realizar antes de terminar la sesión. Se dan las versiones del protocolo SSL que fueron surgiendo resumiendo sus características. Los protocolos de seguridad que existen en la actualidad no son perfectos, el protocolo SSL no es totalmente seguro, sin embargo, tiene varias ventajas que lo ponen como el protocolo dominante. Se darán las ventajas y desventajas que presenta el protocolo SSL. Se presentará un historial de las vulnerabilidades conocidas del protocolo SSL en las aplicaciones de SSL. Por ultimo se dará una breve perspectiva de la aplicación más popular del protocolo SSL: OpenSSL. 2