TECNOLOGÍA

La seguridad en las transacciones comerciales electrónicas

Hay varios aspectos de seguridad que deben considerarse cuando una organización planea tener presencia en el “web”, y realizar transacciones comerciales por Internet; por ejemplo:

  1. Autenticación o verificación de la identidad del cliente
  2. Seguridad de las transacciones comerciales electrónicas
  3. Seguridad del sitio web
  4. Privacidad
  5. Utilidad de la Criptografía
  6. Autenticidad del sitio web desde el punto de vista del cliente

Como en toda transacción, bien sea que se utilice el correo postal tradicional, el sistema telefónico, y aún si se realizan frente a frente, en las transacciones por Internet hay que tomar precauciones para reducir los riesgos a un nivel aceptable.

Desde el punto de vista del comprador, sea este un individuo, o una empresa adquiriendo bienes de un proveedor por Internet, es necesario tener seguridad sobre quién está realmente tras las páginas web que ve, si es realmente quien dice ser y no se trata de una suplantación de identidad. Como Internet es una red pública, no privada, los compradores aún son temerosos y reacios a enviar a través de ella el número de su tarjeta de crédito.

Amenazas en la seguridad de los pagos.

En las transacciones frente a frente, en persona, vendedor y comprador se valen de señas físicas para asegurarse de que están negociando con una contraparte confiable: El vendedor puede verificar firma, la foto y documentos de identidad del cliente, y por su parte el cliente puede verificar el uso de escarapelas en los empleados, probar la mercancía y conservar recibos de su compra, etc.

En Internet estos métodos no son aplicables. Aparecen unos riesgos por la naturaleza misma de La Red:

  1. Suplantación: El bajo costo de entrada, y la facilidad de copiar documentos en soporte electrónico, hace posible que alguien pueda, en principio, crear un sitio web que parezca representar una organización real y establecida o reconocida, y a través de esa fachada electrónica obtener ilegalmente, por ejemplo, números de tarjetas de crédito.
  2. Despligue y Acción no autorizados: Aún durante transacciones entre sitios auténticos y clientes legítimos, algún vándalo (conocido como hacker) podría interceptar las transmisiones para captar un número de tarjeta de crédito. También cabría teóricamente la posibilidad de que un competidor o un cliente molesto cree problemas al sitio web para que este rechace atender otros clientes o ejecute acciones no autorizadas.
  3. Alteración de Datos: A veces una acción maliciosa o accidental puede alterar el contenido de una comunicación en tránsito, teniendo efecto sobre nombres de clientes, números de tarjetas de crédito, o cantidades que representan dinero.
  4. Repudio: Si no existe prueba física de una venta, una de las partes involucradas podría negar que una transacción realmente se efectuó. El cliente podría negarse a pagar si a su compra no puede hacérsele un seguimiento ni tiene constancia física. Dados los riesgos de seguridad involucrados en los negocios sobre el web los consumidores tiende a permanecer temerosos para hacer compras en línea.

Hay varios enfoques para implementar pagos seguros a través de Internet:

  1. Creación de una cuenta: en este caso el cliente hace un acuerdo por fuera de La Red (por teléfono, correo, fax, etc.) para pagar posteriormente con tarjeta de crédito, o para establecer una línea de crédito. Luego los pedidos se pueden hacer por la web.
  2. La compra de dinero virtual. En este sistema, se compran unos tiquetes codificados que se transmiten por la red y son aceptados por varios proveedores (p.ej Paypal).
  3. Datos de formulario o correo encriptados: El comprador llena datos en un formulario de una página web, estos son encriptados y enviados al vendedor através de la red, usando el protocolo llamado HTTP Seguro (S-HTTP), o el protocolo del correo electrónico (SMTP). El S-HTTP (HTTP Seguro), hace que cuando el comprador envíe los datos para el pago, el programa cliente (browser, navegador o explorador) genera una clave de seguridad. Hay variantes de esquemas de seguridad que están en desarrollo. Los esquemas fundamentales son:
    1. SSL: Capa de Seguridad a nivel de socket (Secure Sockets Layer)
    2. S-HTTP: HTTP Seguro (Secure HTTP)
    3. Certificados

Para tener una idea del lugar que ocupan estos sistemas de seguridad, debemos saber que la comunicación entre dos sistemas, en este caso computadores, se realiza a varios niveles: desde el nivel físico (señales eléctricas), hasta el nivel de aplicación (servicio o aplicación utilizada). En cada nivel se debe acordar cierto protocolo para que un extremo entienda al otro.

El esquema de seguridad SSL ejecuta un protocolo de negociación para establecer una conexión segura a nivel de socket (dirección de máquina más puerto).

Los servicios de seguridad de SSL son transparentes al usuario y a la aplicación, ya que están por debajo del nivel de aplicación, o sea que pueden ser utilizados por cualquier aplicación.

A nivel de aplicación, el HTTP es el protocolo utilizado en las comunicaciones de la aplicación web. Los protocolos S-HTTP están integrados con HTTP. Aquí, los servicios de seguridad se negocian a través de las cabeceras y atributos de la página. Por lo tanto, los servicios de S-HTTP están disponibles sólo para las conexiones del web. Dado que SSL se integra en la capa de sockets, también permite ser usado por otros protocolos además del HTTP, mientras que el S-HTTP está concebido para ser usado exclusivamente en comunicaciones HTTP.

Secure Socket Layer (SSL).

El SSL es un sistema diseñado y propuesto por Netscape Communications Corporation. Se encuentra entre los niveles de TCP/IP y de los protocolos de aplicación como HTTP, FTP, y SMTP. Proporciona sus servicios de seguridad cifrando o encriptando los datos intercambiados entre el servidor y el cliente, y cifrando la clave de esa sesión mediante un algoritmo de clave pública. La clave de sesión es la que se utiliza para cifrar los datos que vienen del y van al servidor seguro. Se genera una clave de sesión distinta para cada transacción, lo cual garantiza que, aunque sea descubierta por un espía en una transacción dada, no sirve para descifrar futuras transacciones.

El SSL proporciona:

  1. Cifrado de datos
  2. Autenticación de servidores
  3. Integridad de mensajes

Cuando el cliente pide al servidor seguro una comunicación segura, el servidor activa un protocolo SSL Record que abre un puerto cifrado, y luego otro protocolo, denominado SSL Handshake que utiliza el SSL Record y el puerto abierto, para comunicarse de forma segura con el cliente. El protocolo SSL Record especifica la forma de encapsular los datos transmitidos y recibidos.

La porción de datos del protocolo tiene tres componentes:

  1. El código de autenticación del mensaje (Mac-Data)
  2. Los datos de aplicación a transmitir (Actual-Data)
  3. Datos para rellenar el mensaje cuando se usa cifrado en bloque (Padding-Data).
  4. Durante el protocolo SSL Handshake, el cliente y el servidor intercambian una serie de mensajes para negociar la seguridad, en seis fases:
    1. Contacto inicial: para ponerse de acuerdo sobre el conjunto de algoritmos para mantener la intimidad y para la autenticación.
    2. Intercambio de Claves: intercambio de información sobre las claves, de modo que al final ambas partes comparten una clave maestra.
    3. Producción de Clave de Sesión: que será la usada para cifrar los datos intercambiados.
    4. Verificación del Servidor: (sólo cuando se usa RSA como algoritmo de intercambio de claves), sirve para que el cliente autentique al servidor.
    5. Autenticación del cliente: el servidor solicita al cliente un certificado X.509 (si es necesaria la autenticación de cliente).
    6. Fin: indica que ya se puede comenzar la sesión segura.

HTTP Seguro (S-HTTP).

El protocolo S-HTTP fue desarrollado por Enterprise Integration Technologies (EIT). Al igual que SSL, permite tanto el cifrado como la autenticación digital. Sin embargo, a diferencia de SSL, SHTTP es un protocolo de nivel de aplicación. La propuesta de S-HTTP sugiere una nueva extensión para los documentos: “.shttp”.

Un programa cliente (browser o navegador) solicita un documento, le dice al servidor qué tipo de cifrado puede manejar y le dice también dónde puede encontrar su clave pública. Si el usuario con esa clave está autorizado a acceder al documento, el servidor responde cifrando el documento y enviándoselo al programa cliente, que usará su clave secreta para descifrarlo y mostrárselo al usuario. Las negociaciones entre los programas cliente y servidor tienen lugar intercambiando datos formateados. Estos datos incluyen una variedad de opciones de seguridad y algoritmos a utilizar.

Las líneas usadas en las cabeceras incluyen, entre otras, las siguientes:

  1. Especificación de la clase de algoritmos de cifrado, así como la forma de encapsulamiento de los datos.
  2. Formato de certificado aceptable.
  3. Algoritmos que se usarán para el intercambio de claves.
  4. Especificación del algoritmo para la firma digital.
  5. Identificación del algoritmo para proporcionar la integridad de los datos.
  6. Especificación del algoritmo de cifrado en bloque usado para cifrar los datos.

Certificados.

Se hace imprescindible el contar con un mecanismo que dé fe de si un servidor seguro es quién creemos que es y podemos confiar en él a la hora de transmitir la información.

La forma como se hace es mediante las Autoridades de Certificación (AC), conocidas informalmente como notarios electrónicos, encargadas de autenticar a los participantes en transacciones y comunicaciones a través de la Red. Su función es emitir certificados a los usuarios, de manera que se pueda estar seguro de que el interlocutor (cliente o servidor) es quien pretende ser, garantizando así la seguridad de las transacciones.

Una herramienta muy utilizada para este tipo de protección de la privacidad, es la que se conoce en la criptografía como clave secreta. Ejemplos comunes de estas son las claves de las tarjetas de crédito y las contraseñas (passwords) para acceder a sistemas informáticos. La clave la comparten ambos actores o extremos de la transacción, y la información la puede codificar el sistema con base en esa clave secreta, de modo que solamente pueda ser decodificada o descifrada por quien tenga la clave.

A pesar de lo sencillo y difundido de este tipo de sistema, el esquema clave secreta tiene serias limitaciones, por ejemplo:

  1. A medida que proliferan las redes telemáticas y sus servicios, cada vez resulta más engorroso para los usuarios estar creando y recordando contraseñas o claves.
  2. El compartir una clave secreta tiene riesgos inherentes: Al transmitir la clave o contraseña, esta puede ser víctima de espionaje, o una de las partes puede hacer un uso indebido o malicioso de la clave y luego negar su responsabilidad.

Para obviar problemas como estos, la tecnología de los Certificados Digitales no se basa en ese esquema de compartir una clave secreta. Aquí se usa una pareja especial de claves, una para codificar o encriptar, y otra para decodificar. Las dos claves de cada pareja son complementarias entre sí, lo que hace una puede deshacerse solamente por su pareja.

La identificación digital del vendedor contiene el nombre, la clave pública, y la firma digital propia de la Autoridad Certificadora, más otros datos. Esa identificación digital indica a los clientes y corresponsales que, en efecto, la clave pública si pertenece al vendedor. Los compradores o corresponsales que desean comunicarse con el vendedor privadamente, pueden usar la clave pública, que aparece en la identificación digital del vendedor, para codificar la información. El único que puede descifrar la información es el vendedor.

La sola clave pública no da acceso a las comunicaciones, así que no hay que preocuparse por quién la posea. Normalmente este esquema funciona sobre una implementación del SSL.

Con esta combinación de Certificación y SSL, usualmente se obtienen estos beneficios de seguridad:

  1. Autenticación mutua: Se pueden verificar las identidades del servidor y del cliente.
  2. Privacidad del mensaje: Todo el tráfico entre servidor y cliente está encriptado usando una clave única para cada sesión. Cada clave se utiliza solamente con un cliente durante una conexión, y la clave misma está también encriptada con la clave pública del servidor. Esas capas de protección garantizan que la información no pueda ser interceptadas o espiadas por terceros no autorizados.
  3. Integridad de los mensajes: El contenido de toda comunicación entre el servidor “web” y el cliente está protegido contra alteraciones durante el trayecto. Los extremos involucrados en la transacción saben que lo que ven es exactamente lo enviado por la contraparte.

ENTRA EN CEUPE E INFÓRMATE SOBRE NUESTROS MÁSTERS DE TECNOLOGÍA Y SISTEMAS Y NUESTROS CURSOS DE ESPECIALIZACIÓN Y EXPERTOS SI TE INTERESA DESARROLLAR TUS CAPACIDADES EN EL CAMPO DE LOS SISTEMAS DE LA TECNOLOGÍA.