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 2005 AGRADECIMIENTOS
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 Ana: 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 1 CAPÍTULO I INTRODUCCIÓN 3 1.1 Antecedentes 3 1.2 Justificación 4 1.3 Objetivos 5 1.4 Alcance del Trabajo 5 CAPÍTULO II FUNDAMENTOS DE LA SEGURIDAD EN INTERNET 6 2.1 Origen y evolución de Internet 9 2.2 Servicios de Internet 10 2.2.1 Web 10 2.2.2 Web Marketing 10 2.2.3 Pagina Web 11 2.2.4 Sitio Web 11 2.2.5 Portal 12 2.2.6 Hospedaje Web 12 2.2.7 Motor de búsqueda 12 2.2.8 Conversaciones y Conferencias 12 2.2.9 Telnet (sesiones remotas) 13 2.2.10 Gopher 13 2.2.11 News (grupo de noticias) 13 2.2.12 Listas de correo 14 2.2.13 Otros servicios 14 2.3 Arquitectura cliente-servidor 15 2.3.1 Antecedentes 15 2.3.2 Cliente-Servidor 16 2.3.3 Componentes esenciales de la infraestructura Cliente-Servidor 18 2.3.4 Características funcionales 19 2.3.5 Características físicas 20 2.3.6 Características lógicas 21 2.3.7 Arquitectura Cliente-Servidor independiente de plataforma 22 2.4 Servidores y servicios Web 24 2.5 Comercio electrónico 25 2.6 Necesidades de seguridad en la red 28 2.6.1 Planificación de la seguridad de la red 28 2.6.1.1 Nivel de seguridad 28 2.6.1.2 Configuración de las políticas o normativas 29 2.6.1.3 Entrenamiento 29 2.6.1.4 Equipamiento de seguridad 29 2.6.2 Modelos de seguridad 30 2.6.2.1 Compartición protegida por contraseña 30 2.6.2.2 Permisos de acceso 31 2.6.3 Medidas de seguridad adicionales 33 2.6.3.1 Cortafuegos (Firewalls) 33 2.6.3.2 Auditoria 33 2.6.3.3 Equipos sin disco 34 i
2.6.3.4 Cifrado de datos 34 2.6.4 Prevención de virus 35 CAPÍTULO III SSL Y PROTOCOLOS SEGUROS PARA WEB 36 3.1 Fundamentos de SSL 36 3.2 Protocolos similares a SSL 41 3.2.1 S-HTTP, Secure Hiper Text Transfer Protocol 41 3.2.2 PTC, Private Technology Communication 43 3.2.3 TLS, Transport Layer security 44 3.2.4 IPSec, Internet Protocol Security 45 3.3 Protocolos distintos a SSL 48 3.3.1 CyberCash 48 3.3.2 SET, Secure Electronic Transaction 50 CAPÍTULO IV SSL, SECURE SOCKETS LAYER 54 4.1 Solicitud de SSL 55 4.1.1 SSL como sistema de seguridad 55 4.1.2 Protocolos de SSL 56 4.1.3 Protocolo Record o de Registro 56 4.1.4 Protocolo ChangeCipherSpec o de Cambio de Configuración Descifrada 58 4.1.5 Protocolo Alert o de Alertas 58 4.2 Protocolo Handshake o de Negociación 59 4.3 Intercambio de datos 59 4.3.1 Niveles de comunicación 59 4.3.1.1 Sesión 60 4.3.1.2 Conexión 60 4.3.1.3 Requisitos de transporte 61 4.3.2 Establecimiento de una conexión segura 61 4.3.2.1 ClientHello 62 4.3.2.2 ServerHello 64 4.3.2.3 ServerKeyExchange 64 4.3.2.4 ServerHelloDone 66 4.3.2.5 ClientKeyExchange 67 4.3.2.6 ChangeCipherSpec 68 4.4 Terminación de una sesión SSL 68 4.4.1 ChangeCipherSpec 70 4.4.2 Finished 70 CAPÍTULO V TÓPICOS 71 5.1 Versiones de SSL 71 5.2 Ventajas y desventajas de SSL 71 5.2.1 Ventajas de SSL 71 5.2.2 Desventajas de SSL 72 5.2.2.1 Problemas de SSL 72 5.2.2.2 Debilidades de SSL 76 5.3 Vulnerabilidades conocidas 79 5.3.1 1995 79 5.3.2 1998 79 5.3.3 1999 80 5.3.4 2000 80 5.3.5 2001 82 5.3.6 2002 83 ii
5.3.7 2003 86 5.3.8 2004 87 5.4 OpenSSL 87 5.4.1 Introducción 87 5.4.2 Ventajas de OpenSSL 88 5.4.3 Resumen de los comandos 88 5.4.4 Argumentos de la frase pass 90 CONCLUSIONES 92 APÉNDICES 93 Apéndice A: Abilene 93 Apéndice B: Tablas 94 Apéndice C: Módulo mod_ssl 97 Apéndice D: Instalación de OpenSSL 98 Apéndice E: Glosario 99 BIBLIOGRAFÍA 109 REFERENCIAS ELECTRÓNICAS 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