Transacciones seguras en la Web Presentado por: Cristina Rúa Pareja c.c 1017149655 Gustavo López España c.c 1128272472 Dirigido a: Andrés Marín Comunicación de Datos Departamento de Ing. De Sistemas Universidad de Antioquia 2009 Transacciones seguras en la Web El concepto de transacciones seguras en Internet no fue concebido al momento en que el WWW dio sus primeros pasos, esto se debe a que nunca se pensó que Internet fuera a tener una acogida tan rápida y tan grande por parte de los usuarios y los entes comerciales tampoco alcanzaban a idear un comercio a través de la red. Cuando crecía el número de usuarios en la red, la mayoría de ellos empezaron a intercambiar información y archivos con otros usuarios pero nada podía contralar dichos intercambios, además entidades como las bancarias u otras empresas que podían usar internet como un canal de intercambio y de comunicación a su favor y a favor de los clientes notaron que era necesario crear un lazo de confianza. Internet no fue ideado para brindar esa confianza ni seguridad en esos aspectos por lo cual era necesario adicionarle algo que lo hiciera seguro. El comercio electrónico o e-commerce ha luchado durante tiempos por acabar el mito de las compras por internet, pagos u otras acciones que impliquen dinero a través de la red, ya que es el factor miedo que frena al usuario para hacerlo posible, entonces todo esto hace que se crearan sistemas y software que pudieran brindar confianza y seguridad en las transacciones y ofrecer medios que sean totalmente seguros para el usuario. Hoy día muchos de esos medios seguros son los Certificados Digitales, Criptografía, Claves Públicas, Firmas Digitales, etc. Para hablar de ellas primero debemos tener en cuenta que cosas son necesarias para que una empresa o una persona puedan ofrecer transacciones seguras en la Web. ¿Que se necesita para que una empresa pueda ofrecer seguridad en la web? Es necesario que se cumplan 4 requisitos principales: Autenticidad: Es la manera en que se le confirma al usuario que realmente es la entidad o persona con la cual ha establecido comunicación para una posible transacción de manera segura y así se comprueba su identificación. Ésta se consigue mediante certificados y firmas digitales. Confidencialidad: Ayuda al usuario de forma que al enviar o recibir datos en una transacción nadie excepto el destinatario pueda verlo y se le asegure la privacidad de su información, en caso de que algún espía logre acceder a los datos ya éstos no sirvan para nada. Lo ideal sería que las empresas no pidan más de los datos necesarios para realizar transacciones. La confidencialidad se logra a través de la Criptografía. Integridad: Es lo que permite que los datos que el usuario envíe llegue sin modificación alguna, ósea íntegros a su destino final. Esto se logra con la ayuda de Criptografía, hash y firmas digitales. No Repudio: de esta forma logramos establecer que el usuario y el destinatario no puedan negar el haber enviado/recibido datos de alta sensibilidad, es decir, en una compra online el usuario y el destinatario no pueden negar su participación ni lo ya pactado. La idea de este objetivo es como la de una factura donde quede prueba de la transacción realizada por ambas partes, esto se logra a través de certificados y firma digital. Protocolos de Seguridad Un protocolo de seguridad puede describirse como un paquete de especificaciones desarrolladas para conseguir una manera segura de realizar transacciones electrónicas, procurando el cumplimiento de los requisitos antes mencionados. Entre los más comunes se encuentran: Certificados Digitales: Nace como carencia de sistemas más efectivos a la criptografía ya que cuando un usuario enviaba sus datos no se podía comprobar si realmente era él o no ya que podía ser suplantado. Su misión principal de es garantizar con toda confianza el vínculo existente entre una persona, entidad o servidor web con una pareja de claves correspondientes a un sistema criptográfico de clave pública. Un Certificado Digital es un documento electrónico que contiene datos identificativos de una persona o entidad (empresa, servidor web, etc.) y la llave pública de la misma, haciéndose responsable de la autenticidad de los datos que figuran en el certificado otra persona o entidad de confianza, denominada Autoridad Certificadora. Firma Digital: Es un procedimiento el cual lo que hace es obtener un resumen de un documento o de un texto aleatorio y cifrarlo con llave privada del propietario del certificado. La firma digital es encriptado por el emisor del mensaje con su clave privada de manera que solo puede ser descifrada con la clave pública correspondiente. Un mensaje firmado digitalmente solo puede provenir del mismo emisor de la clave pública correspondiente, autenticando así su origen. Hash: es un algoritmo criptográfico de fácil uso y además de uso irreversible y su función es de dispersión ya que no utiliza ninguna clave sino que transforma el mensaje original en una cadena de dígitos con longitud determinada. Criptografía: La ciencia detrás de las soluciones de seguridad en Internet es la criptografía. Mediante herramientas matemáticas se genera una función que transforma un texto normal o texto limpio en un texto encriptado o cifrado, de manera que solo pueda ser restituido o descifrado por el poseedor de la función inversa quién deberá ser el destinatario del texto original. La fortaleza de una fórmula criptográfica está en el tiempo que requiere un interceptor (atacante) para descifrar el código. La fortaleza de un mensaje cifrado con una solución criptográfica moderna requiere, para ser descifrado, de todo el potencial computacional existente trabajando sin cesar hasta el fin del universo. La Criptografía se divide en: Criptografía Convencional: También denominada cifrado de clave simétrica, utiliza una sola clave tanto para cifrar como para descifrar los datos. En este sistema los datos son cifrados mediante una clave, entonces estos pueden viajar a través de un medio inseguro, cuando llegan a su destinatario este rescata los datos originales utilizando la misma clave. Texto plano → clave → texto cifrado → clave → texto plano El único problema de este sistema es que remitente y destinatario tienen que encontrar un canal seguro para ponerse de acuerdo en la clave que van a utilizar, por lo cual este método funciona bien cuando la distribución y confidencialidad de la clave no representa ningún riesgo. Si el emisor y receptor están en sitios distintos se requiere de un medio confiable y seguro para la transmisión de la clave lo cual conlleva un margen de riesgo de ser interceptada, dando al traste con el objetivo. Criptografía Asimétrica: es un método que usa un par de claves para el envío de mensajes. Una clave es pública y se puede entregar a cualquier persona, la otra clave es privada y el propietario debe guardarla de modo que nadie tenga acceso a ella. Además de modo que las claves se generan una sola vez, es casi imposible que alguien además de los propietarios posea la misma clave. Los beneficios básicos de la Criptografía Asimétrica son: Permite la comunicación segura entre individuos sin que sea necesario que previamente exista un pacto para este tipo de intercambio de información. Todo el intercambio de información cifrada se hace a partir de la clave pública. La necesidad de que el emisor y el receptor compartan la misma clave secreta queda abolida. El control y responsabilidad sobre la clave privada es individual, por lo tanto más es sencillo. Secure Socket Layer (SSL): es un sistema de protocolos creado en 1994 por la empresa Netscape, el cual está basado en la aplicación de la de Criptografía, certificados digitales y firmas digitales para conseguir un medio seguro de comunicación a través de Internet. Un certificado SSL cuenta con una clave pública que es validada silenciosamente mediante el software navegador. Adicionalmente la misma clave pública sirve para encriptar la información que se emite desde el cliente garantizando privacidad en la comunicación e integridad de la información. Generalmente el pago de una negociación en Internet con un establecimiento serio se hace en ambiente SSL, por lo tanto la información confidencial como el número de una tarjeta de crédito sólo es visible para el destinatario del pago. Ventajas e Inconvenientes: Autenticidad: SSL requiere para su funcionamiento la identificación del servidor web ante el cliente y la realiza adecuadamente, pero normalmente no se produce una identificación en sentido contrario. Es decir, no es obligada en la mayoría de los casos la presencia del certificado del usuario que se está conectando al servidor. Confidencialidad: SSL proporciona una buena seguridad de que los datos no van a ser capturados por extraños de forma útil en el proceso de transferencia de los mismos, pero no proporciona ninguna seguridad después de finalizar la conexión. Integridad: En el corto proceso que dura el envío de datos sí podemos estar seguros de que éstos no van a ser modificados, puesto que SSL lo impide. Pero una vez que finaliza la conexión segura no podemos estar tranquilos. No Repudio: en este aspecto SSL falla al máximo, ya que no hay por defecto establecido ningún método para dejar constancia de cuándo se ha realizado una operación, cuál ha sido y quiénes han intervenido en ella. SSL no proporciona formas de emitir recibos válidos que identifiquen una transacción. Tipos de Servidores: IIS (Internet Information Services) IIS, es una serie de servicios para los ordenadores que funcionan con Windows. Originalmente era parte del Option Pack para Windows NT. Luego fue integrado en otros sistemas operativos de Microsoft destinados a ofrecer servicios, como Windows 2000 o Windows Server 2003. Windows XP Profesional incluye una versión limitada de IIS. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS. Este servicio convierte a un ordenador en un servidor de Internet o Intranet es decir que en las computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente (servidor web). El servidor web se basa en varios módulos que le dan capacidad para procesar distintos tipos de páginas, por ejemplo Microsoft incluye los de Active Server Pages (ASP) y ASP.NET. También pueden ser incluidos los de otros fabricantes, como PHP o Perl. Es un servidor Web de funciones completas que posibilita la creación de aplicaciones Web y servicios Web XML. La arquitectura de IIS 6.0 ha sido completamente reconstruida, con un nuevo modelo de proceso de tolerancia a errores que mejora significativamente la confiabilidad de las aplicaciones y los sitios Web. Ahora, IIS puede aislar una aplicación Web individual o varios sitios en un proceso autocontenido (llamado un grupo de aplicaciones) que se comunica directamente con el núcleo del sistema operativo. Esta función aumenta el rendimiento y la capacidad de las aplicaciones, proporcionando a la vez más espacio libre en los servidores, con lo que se reducen de forma efectiva los requisitos de hardware. Estos grupos de aplicaciones autocontenidos impiden que una aplicación o un sitio interrumpan los servicios Web XML u otras aplicaciones Web del servidor. IIS también ofrece capacidades de supervisión del estado con el fin de descubrir, recuperar e impedir errores en las aplicaciones Web. En Windows Server 2003, Microsoft ASP.NET usa de forma nativa el nuevo modelo de proceso de IIS. Estas funciones avanzadas de detección y estado de las aplicaciones también están disponibles para las aplicaciones ya existentes que se ejecuten en Internet Information Server 4.0 y en IIS 5.0, sin que la inmensa mayoría de las aplicaciones necesiten ninguna modificación. Ventajas Fácil de usar. ASP preparado en la instalación por defecto Soporte ODBC integrado Configuración gráfica y en línea de comandos. Lenguaje que se solidifica en la actualidad, .NET Inconvenientes: Multitud de nuevos fallos de seguridad. La mayoría de funcionalidad extra debe ser comprada separadamente. Sólo funciona en Windows NT/2000. XAMPP: XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa esta liberado bajo la licencia GNU y actúa como un servidor web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X. APACHE: El servidor HTTP Apache es un software (libre) servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1[1] y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf eligió ese nombre porque quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. Era, en inglés, a patchy server (un servidor "emparchado"). El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características mensajes de error altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft[2] ). La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache. Ventajas: Código fuente disponible. Existen versiones virtualmente para cualquier operativo. Excelente integración con PHP y MySQL. Es el servidor web por excelencia en la Red. sistema Desventajas: No existe aún configuración gráfica oficial. Curva larga de aprendizaje para sacarle el máximo partido CONCLUSIONES Hoy en dia Internet es un mercado de intercambio de archivos, bienes materiales e información al cual muchas personas tienen acceso y con el cual muchos deseas hacer transacciones de manera segura, por tanto las empresas o lugares que se dedican a este tipo de actividades en la red deben ofrecer confianza al usuario para que esté seguro en todo momento que acceda a la web y pueda llevar a cabo sus operaciones garantizándole su seguridad y la de sus datos. Es importante que aquellos lugares, sucursales, sitios web, correos electrónicos en donde los usuarios deban ingresar información crítica, garanticen esta confianza y dependiendo el caso usen protocolos de seguridad que cumpla estas demandas y siempre protejan al usuario. Una simple conexión a Internet, sin adecuada seguridad, expone al mundo el contenido del disco duro de la o las máquinas conectadas poniendo al descubierto información privada. Si a lo anterior se suma que sus comunicaciones por correo electrónico transcurren en una red pública, una parte de su vida privada puede estar en el dominio público y por eso protocolos como la criptografía basada en clave pública puede poner al alcance de los ciudadanos y de todos los usuarios una forma eficiente para proteger su privacidad contra cualquier tipo de espía y al mismo tiempo previener el fortalecimiento de poderes externos basados en el seguimiento y manipulación de la privacidad. BIBLIOGRAFÍA http://gaussianos.com/ http://www.cybercenter.cl/html_cyber2/novedades/Bol19_01_seguridad.php http://www.wikipedia.com http://www.htmlweb.net/seguridad/ssl/ssl_1.html http://www.tecnoseguridad.net/como-hacer-transacciones-seguras-a-traves-deinternet/ http://www.apachefriends.org/en/xampp.html http://xampp.uptodown.com/