|
|
Secure Socket LayerPor Vitaliz - rebeli0n@antisocial.comEl problema de la seguridad en el Web consta de tres partes principales: 1.Asegurar el servidor y los datos que contiene. Es decir que se debe asegura que el servidor pueda continuar operando, que la información que resida en él no pueda ser modificada sin autorización y que sea distribuida solo a quienes se desea distribuir. 2.Asegurar la información que viaja entre el servidor Web y el usuario. Es decir que la información que proporciona el usuario al servidor Web (nombre de usuario, claves de acceso, información financiera, etc.) no pueda ser leída, modificada ni destruida por terceros. Muchas tecnologías de red son en particular susceptibles a la intercepción , ya que los datos se transmiten a todas las computadoras de la red de área local. 3.Asegurar la Computadora del usuario. Esto implica tener una forma de garantizar a los usuarios que la información, datos o programas descargados a su sistema no ocasionaran daños, de otra forma se mostraran reacios a utilizar el servicio. Junto con estas consideraciones, pueden existir otros requisitos por ejemplo: 1.Verificar la identidad del usuario al servidor 2.Verificar la identidad del servidor al usuario. 3.Asegurarse que los mensajes sean enviados entre cliente y servidor en forma oportuna, confiable y sin repeticiones. 4.Llevar bitácoras y auditar información sobre la transacción con propósitos de facturación. Como parte de la solución estándar al problema de seguridad se creo SSL (Secure Sockets Layer) el cual es un sistema automático de encriptación que encripta la información antes de enviarla por la red y la desencripta al llegar a su destino en base a esto nos damos cuenta que SSL se utiliza para solucionar la segunda parte del problema de seguridad en el Web. SSL es un protocolo de propósito general para enviar información encriptada por internet, fue desarrollado por Netscape pero debido a su popularidad se ha incorporado en muchos otros servidores y navegadores. Es debido a esta popularidad que el Grupo de Trabajo de Ingeniería de Internet (IETF) esta en proceso de crear un protocolo de seguridad de Nivel de transporte basado principalmente en SSL 3.0. SSL es una capa que existe entre el protocolo TCP/IP nativo y la capa de aplicación. Mientras que el protocolo TCP/IP estándar simplemente envía un flujo de información anónimo y exento de errores entre dos computadoras (o entre dos procesos corriendo en la misma computadora), SSL agrega varias características al flujo de información. SSL disminuye notablemente la velocidad de transmisión de información a través de internet . La degradación del desempeño es resultado de la encriptación y desencriptación de llave publica que se requiere para iniciar la primera conexión de SSL. SSL Ofrece muchas características de interés Practico y Teórico. 1.Separación de Responsabilidades. SSL, utiliza algoritmos independientes para la encriptación, la autenticación e integridad de datos, con llaves diferentes para cada función. 2.SSL V3.0 permite conexiones no encriptadas,pero sí autenticadas y protegidas contra alteraciones deliberadas por un atacante. 3.Eficiencia. La encriptación y desencriptación de llave publica es una operación tardada. En vez de repetir este proceso para cada comunicación entre un cliente y un servidor las implementaciones de SSL pueden almacenar un "Secreto Maestro" el cual se conserva entre conexiones SSL. 4.Protección contra ataques de hombre en el camino y de reproducción. En un ataque de hombre en el camino el atacante intercepta todas las comunicaciones entre dos partes haciendo a cada una de ellas creer que se comunica con la otra. Para esto SSL utiliza la autenticación con base en Certificados Digitales para permitir al usuario del Web conocer el nombre valido del sitio Web. ¿Como se utiliza SSL para enviar información confidencial en forma segura?Como el propósito de SSL es ocultar las complejidades de la criptografía a los usuarios y a los desarrolladores. Si los usuarios utilizan un navegador que reconozca SSL como Navigator de Netscape o Internet Explorer de Microsoft, pueden indicarle que cree una conexión encriptada con el servidor con solo remplazar el "http" del URL por "https". Suponga que tienemos un documento localizado en el siguiente URL: http://www.empresa.com/documneto.html Los usuarios pueden obtenerlo en forma segura tecleando el siguiente URL: https://www.empresa.com/documneto.html Así mismo si existiera un formulario o CGI que permita enviar información al confidencial (Digamos un numero de tarjeta de crédito) puede forzarse el envío criptografico de la información con solo modificar el parámetro "action" en el archivo de HTML, cambiando otra vez el "http" por "https". Por ejemplo si la etiqueta en el archivo HTML es la siguiente <form method=POST action="http://www.empresa.com/cgi-bin/forma"> solo es necesario cambiarla a: <form method=POST action="https://www.empresa.com/cgi-bin/forma"> Así como existe el servicio http protegido por SSL (https) existen servicios de protocolos protegidos por SSL para los siguientes protocolos: Protocolo Header Puerto Propósito http https 443/tcp HTTP protegido por SSL. smtp ssmtp 465/tcp SMTP protegido por SSL. nntp snntp 563/tcp Grupos de noticias Usenet protegido por SSL ldap ssl-ldap 636/tcp LDAP protegido por SSL. pop3 spop3 995/tcp POP3 protegido por SSL. Existen también por lo menos dos implementaciones de SSL para Java SSLJava. Vitaliz 2K. rebelion.cjb.net |