Introducción a la Seguridad en Entornos de Comercio Electrónico

Existen diferentes métodos de procesar transacciones en una compra, protocolos que lo hacen de manera segura, por lo tanto, echaremos un vistazo a lo que se refiere en seguridad con SSL.

Articulo que escribi para Maestro del Web en el año 2003:

La seguridad de un sitio electrónico
tiene que ser confiable para que el mismo tenga éxito.

Siendo franco, el índice de personas que compran en línea ha crecido bastante
en los últimos 2 años. Y esto se debe a la confiabilidad que están brindando
los sitios de comercio electrónico.

La seguridad en un ambiente de comercio electrónico involucra las siguientes
partes:

  • Privacidad: que
    las transacciones no sean visualizadas por nadie.
  • Integridad: que
    los datos o transacciones como números de tarjeta de créditos o pedidos
    no sean alterados.
  • No Repudio: posibilita
    que el que generó la transacción se haga responsable de ella, y brinda la
    posibilidad de que este no la niegue.
  • Autenticación: que los que intervienen en la transacción sean leales y válidas.
  • Facilidad:
    que las partes que intervienen en la transacción no encuentren dificultad
    al hacer la transacción.

Herramientas para proteger un sitio de E-commerce

Las estructuras de seguridad de un sitio de e-commerce no varía con las de un
sitio tradicional, pero si se implementa el protocolo SSL en la mayoría de los
casos para tener un canal seguro en las transacciones.

1

Punto1:Usuario conectándose a Punto2 (un sitio de e-commerce
como amazon.com) utilizando un navegador Internet Explorer compatible con el
protocolo SSL.

Punto2:El Punto2 como nombramos es un sitio de e-commerce tradicional (compra / venta)
que establece conexiones seguras utilizando SSL para la transacciones, y también
posee un Firewall para hacer filtrado de paquetes (Packet Filtering)

Punto3:Este punto es la autoridad que emite los Certificados de Autenticidad, en inglés Certificate
Authority (CA) que por seguridad y es recomendable que sea una tercera empresa
el emisor del certificado no sea interno.

Firewalls (Corta Fuegos)

El Firewall es una herramienta preventiva contra ataques, que realiza un inspección
del tráfico entrante y saliente. Esto impide que servicios o dispositivos no
autorizados accedan a ciertos recursos y de esta manera protegernos contra ataques
de denegación de servicios por ejemplo (DoS)

El Firewall puede ser por Software o Hardware o bien combinaciones de estos
pero que no serán tratados aquí por que va más allá de este artículo.

Comenzando con SSL

SSL
es un protocolo que corre sobre TCP (protocolo de transporte punto a punto de Internet). Este se compone de dos capas y funciona de la siguiente manera:

  • La primera capa se encarga de encapsular los protocolos de nivel más alto
  • La segunda capa que se llama SSL Handshake Protocol se encarga de la negociación de los algoritmos que van a encriptar y también  la autenticación entre el cliente y el servidor.

Cuando se realiza una conexión inicial el cliente lo primero que hace es enviar una información con todo los
sistemas de encriptación que soporta, el primero de la lista es el que prefiere utilizar el cliente. Entonces el servidor responde con una clave certificada e información sobre los sistemas de encriptación que este soporta.

Entonces el cliente seleccionará un sistema de encriptación, tratará de desencriptar el mensaje y obtendrá la clave pública del servidor.

Este método de seguridad es de lo mejor ya que por cada conexión que se hace el servidor envía una clave diferente. Entonces si alguien consigue desencriptar la clave lo único que podrá hacer es cerrarnos la conexión que corresponde a esa clave.

Cuando se logra el este primer proceso que es la sesión solamente, los que actuarán ahora son los protocolos de capa 7 del OSI o sea la capa de Aplicación, claro que todo lo que se realice a partir de que tenemos una sesión SSL establecida estará encriptado con SSL.

Certificados

Un Certificate Authority (CA) es generalmente una empresa que emite certificados.
Si el CA es una empresa externa que emite certificados de autenticidad de clientes o empresas. Por ejemplo:


COMODO con la Cual trabaja OLAM.

Que es lo que tiene un certificado?

Un certificado contiene la siguiente información:

  • Dominio para el que se expidió (por ejemplo http://www.segurired.com/)
  • Dueño del Certificado
  • Domicilio del Dueño
  • Y la fecha de validez del mismo.

Un ejemplo es cuando compramos un libro de amazon.com
por ejemplo

Me conectaré a http://www.amazon.com/

2

Estamos en un sitio común, la barra de estado del Internet Explorer nos indica que estamos en un sitio de Zona Internet y la dirección en que estamos ubicados comienza con http://……..

Ahora la siguiente pantalla nos mostrará cuando quiero hacer el Check Out o
Pago de los libros que compré. 3

Ahora un pequeño candado me indica que estoy en un servidor seguro, y que puedo incluir mis datos. Otro indicador es la dirección de web que ahora comienza con https://…. y no con http://….

Pero si no confiamos, podemos hacer doble clic sobre el candado amarillo y obtendremos información sobre el certificado del servidor amazon.com

4

Esta es la información básica del certificado, que nos confirma que si estamos conectados al servidor correcto que es amazon.com y el certificado fue emitido por un CA que es COMODO o sea una tercera empresa que no tiene que ver nada con la empresa de donde estamos haciendo compras.

Haciendo clic en la pestaña Detalles podremos tener más información técnica sobre el Certificado:

5

El algoritmo utilizado, la versión de SSL, el algoritmo de identificación, la fecha de valides que posee, entre otros.

La fuerza de cifrado que esta utilizando RSA(1024bits) que es un cifrado muy fuerte.

Volviendo a nuestro gráfico de cómo funcionaba un sitio de e-commerce, identifiquemos los 3 puntos:

6

El Punto1: el usuario soy yo, me conecto al sitio Punto2 que es Amazon.com

Punto2: me muestra los productos, que voy a comprar, yo los selecciono y proceso a ir al sitio seguro. Entonces el Punto2 me contacta con el Punto3, el cual me envía la dirección del certificado para el Punto2, donde me dice si es válido o no.

Utilizar SSL tiene beneficios grandes, ya que es un estándar no hace falta instalar ningún software adicional de lado del cliente, y tampoco de lado del servidor, ya que la mayoría de los servidores web como son IIS (Internet Information Server)  y Apache ya poseen soporte para SSL conexiones seguras. Los navegadores de Internet  más populares también ya poseen soporte para SSL.

También da una prueba de que su servidor web es su servidor web, es decir que está protegiendo la identidad de su sitio web.

El 95% de los pagos de Internet se realizan utilizando hoy en día SSL.

SSL no depende de ningún sistema operativo, es independiente, puede ser utilizado sobre cualquier plataforma, independiente.

Como se negocia con SSL?

El protocolo http normal “escucha” en el puerto 80, el puerto SSL por defecto “escucha” en el puerto 443 del servidor.

Luego cuando el cliente se conecta al puerto 443 del servidor comienzan las primeras “negociaciones” de los protocolos, que ya hemos explicado más arriba en este texto.
Toda esta comunicación es encriptada, hasta que se cierre la misma.

Aparte de SSL existen otros protocolos como el SET creado por Mastercard y Visa junto con lideres de la informática como Microsoft, Verisign y otras empresa más.
Junto con el CyberCash son soluciones creadas para la venta por Internet.

Infraestructura de Clave Pública o Public Key Insfrastructure
(PKI)

Esta basada en criptografía de clave pública, que permite la gestión de certificados.

Una PKI es una fusión de soluciones dadas en hardware, software y políticas de seguridad. PKI como nombré anteriormente está dada por la utilización de Certificados Digitales o bien un documento digital que identifica cualquier transacción.

Que provee PKI:

  • Confidencialidad (Privacidad)
  • Integridad de los Mensajes (no modificaciones en el trayecto)
  • Autenticación
  • No repudio (No poder denegar una acción en el mensaje emitido por un remitente)
  • Control de Acceso: Solo usuarios autorizados pueden acceder.

Componentes:

  • Política de Seguridad: establece la manera en que una organización ejecutará procesos de gestión
    de claves públicas y privadas.
  • Autoridad Certificante (CA): del inglés Certificate Authority, se encarga de generar los Certificados Digitales, usando una clave privada para firmarlos. Otras funciones de una CA son:
    • Emitir Certificados
    • Revocar certificados y crear CRLs (Certificate Revocation
      List) que son listas de certificados ya no válidos.
  • Autoridad de Registro (RA): es la entidad encargada de gestionar altas y bajas de las peticiones de certificación como así también de la revocación. Entonces un usuario que desea solicitar un certificado de clave pública se debe dirigir a una RA autorizada por una CA.
  • Autoridad de Validación (VA): proporciona información sobre el estado de los certificados. Realiza las consultas de todas las CRLs necesarias para saber el estado del certificado que se le
    ha pasado en una petición de validación.
  • Sistema de Distribución de Certificados: El sistema de distribución puede ser variado, esto
    depende ya de la estructura PKI que utilicemos.
  • Aplicaciones habilitadas por PKI:
    • Comunicación entre servidores
    • Correo Electrónico
    • EDI (Intercambio Electrónico de Datos)
    • Transacciones con tarjeta de Créditos
    • Redes Virtuales Privadas (VPN)

En esta imagen presenta la misma función en un sitio de Internet que el CA cumple de VA, y RA, dado que
es una Empresa Certificadora Externa.

7

El Número 3 es nuestro CA
que se encarga de:

  • Emitir el Certificado
  • Validar la autenticidad del Emisor y Receptor (Punto 1 y 2)
  • Mantener una base de datos con los certificados válido
    y los removimos.

Esta sesión por lo tanto es privada, Integra, soporta no repudio y también autenticación.

Esto es todo por lo menos en la parte teórica.

En el próximo artículo espero hablar de soluciones reales, como instalar un certificado digital en el servidor
como Activar SSL, y pedir un certificado de Prueba a COMODO. Con esto montaremos un servidor seguro con SSL.

Necesita que lo asesoremos o quiere adquirir un certificado validado de COMODO, CONTÁCTENOS