Seguridad y privacidad en los sistemas de pago basados en internet

0 1.072

La red es el mayor centro comercial del mundo. Aunque no son infalibles, los sistemas de pago digitales basados en protocolos criptográficos ofrecen una garantía.

“No haga negocios en la red que no tengan servidores web seguros”. El mensaje es tan efectivo, que muchos usuarios de internet, se sienten tan intimidados por la idea de que la información de su tarjeta de crédito sea robada que rehusan hacer negocios incluso con entidades que disponen de servidores web criptográficos. Pero aunque esto pudiera ocurrir, la legalidad vigente protege tanto al usuario como al comerciante. Los escasos negocios en la red son fruto de la poca confianza que se tiene sobre ellos”.

Los sistemas de pago digitales expuestos a continuación demuestran que la seguridad en el web no es cosa de todo o nada. La meta es reducir el riesgo tanto como sea práctico y se pueda pagar. Nadie ofrece un servicio sin que éste obtenga un beneficio por ello.

“Compras por internet”, un concepto tentador. Es el centro comercial más grande del mundo y está abierto las 24 horas. En la web se puede comprar todo lo que se necesite y nos lo entregan en la puerta de casa.

Pero a pesar de las comodidades que ofrece internet, algunos consumidores están renuentes a aprovechar las ventajas de este nuevo método de compras. Se cuestionan la legitimidad del detallista o se sienten incómodos dando su número de tarjeta de crédito.

Cuando hace unos años se implantó la compra telefónica, al usuario le originaba cierto recelo el tener que dar sus datos bancarios por dicho sistema y sin embargo terminó por implantarse, lo mismo ocurrió con los cajeros automáticos y las tarjetas de crédito. En la figura 1 se explica una breve comparación entre una compra electrónica y una compra MOTO (Mail Order/Telephone Order).

Los dos sistemas son idénticos y sin embargo su confianza en ellos es diferente.

Existen protocolos criptográficos a nivel de transporte que garantizan el envío seguro de la información a través de la red (SSL, SET).

Ante un cargo indebido en nuestra cuenta bancaria, la ley nos protege a que se nos devuelva el importe del fraude, dentro de un plazo de 15 días después de la notificación bancaria pertinente.

El riesgo de sufrir remesas de cargo sobre nuestra tarjeta de débito o de crédito es el mismo por medio de una compra electrónica que por cualquier otro método establecido por la sociedad; y si estas remesas fraudulentas pueden ser nuevamente abonadas, ¿por qué no utilizar un medio electrónico de pago, como alternativa de beneficio y comodidad?

El algoritmo del dígito verificador de las tarjetas de crédito (ISO 2894)

Esta norma está diseñada para realizar una primera comprobación con el fin de detectar dígitos traspuestos u otros errores de teclado.

El último dígito de un número de tarjeta de crédito es un dígito verificador utilizado para detectar errores de tecleo al introducir un número de tarjeta en un ordenador.

El algoritmo es el siguiente:


  1. Se multiplica cada dígito de la tarjeta por su ‘peso’, entendiéndose por peso el que si su número es par de dígitos, el primero tiene un peso de 2, en otro caso tiene un peso de 1; esa cadencia sería la muestra a seguir, 2,1,2,1…
  2. Si los dígitos obtenidos tienen un valor pesado mayor a 9, restar 9.
  3. Sumar los pesos de todos los dígitos.
  4. Al resultado se le aplica el módulo 10.
  5. El número a obtener debe ser 0. Comprobemos el algorítmo con el n.º de tarjeta: 372802490654059.

Como la tarjeta tiene 15 dígitos y este es impar, comenzamos la serie con el n.º 1;

[3×1],[7×2],[2×1],[8×2],[0x1],
[2×2],[4×1],[9×2],[0x1],[6×2],
[5×1],[4×2],[0x1],[5×2],[9×1],
obteniendo:
3 , 14 , 2 , 16 , 0 , 4 , 4 , 18 , 0 , 12 , 5 , 8 , 0 , 10 , 9

y restando 9 a los números que lo sobrepasan,

3,5,2,7,0,4,4,9,0,3,5,8,0,1,9

sumando estos valores obtenemos 60, y finalmente 60 mod 10 = 0.

Confiabilidad no es lo mismo que seguridad

La acreditación de ‘sitio web seguro’ conlleva que se dispone de un servidor confiable, lo que no es tan cierto es afirmar la frase en sentido inverso.

Para la compañía que lo administra, un servidor seguro es el que resiste ataques desde internet o de usuarios inter-nos. Además se debe exigir que quienes acceden al servidor con propósitos administrativos lo hagan utilizando un método seguro, como SecureID, SSH o Telnet Kerberizado.

El segundo punto es asegurar la información que viaja entre el servidor web y el usuario, o lo que es lo mismo, privacidad y seguridad a nivel de transporte mediante los estándares SSL de 128 bits.

Y por último asegurar la computadora del usuario. Es necesario tener una forma de garantizar a los usuarios que la información descargada en su sistema es confiable y segura, de otro modo se mostrarán reacios a utilizar el servicio.

En el gráfico de la figura 2 se muestra la relación existente y la que se prevee en el futuro entre las transacciones seguras diarias y los costes originados en los servidores para mantener una seguridad óptima según un informe auditor de GartnerConsulting para Setco.org. (http: //www.setco.org/download/setco6.pdf).

Indudablemente las empresas de e-commerce que no garanticen inversiones en seguridad de sus equipos tienen los días contados, además de hacer un flaco favor a que los usuarios depositen su confianza en el comercio electrónico. Como se puede observar en dicho gráfico, la inversión en seguridad hasta el año 2001 está por encima del umbral de las transacciones seguras, invirtiéndose la tendencia en el 2002 y el 2003, no queriendo decir esto que en esos dos años la seguridad en los servidores de e-commerce sea menor que en años anteriores; puede entenderse que el abaratamiento de costes en hardware y con equipos más eficientes que sus predecesores haga posible que se cumpla dicha previsión.

Tarjetas de crédito, encriptación y el web

La protección de números de tarjeta de crédito utilizados en transacciones online es el ejemplo más citado en la necesidad de seguridad en el web.

Consideremos una transacción típica en el web, comprar con una tarjeta de crédito un libro en unos grandes almacenes (figura 3). Tanto el usuario como el comerciante enfrentan riesgos en esta transacción, pero el más importante de todos es que el número de tarjeta de crédito puede ser interceptado o conocido por cualquier persona para cometer fraudes suplantando la identidad del propietario. Éste podría no darse cuenta de que el número de su tarjeta ha sido robado hasta que reciba su estado de cuenta. Para entonces, la tarjeta probablemente haya sido sobregirada con muchos miles de euros por cargos fraudulentos. Lejos de los temores comunes que envuelven la utilización de claves secretas y números confidenciales por internet, observamos que algo tan simple y fácil como obtener un número de tarjeta impreso en el dorso de éstas, puede provocar el cumplimiento verídico de dichos temores, convirtiéndose éste en el primer y principal riesgo de la utilización de sistemas de pago mediante internet.

Prestigiosas entidades de crédito y de comercio electrónico nos aseguran que el transporte de datos confidenciales y la administración de sus servidores son seguros y confiables gracias a protocolos y estándares tan diversos, pero complementarios entre sí, como PKI, SSL, RSA, DES, Kerberos, IDEA, PGP… y ahora resulta que el problema lejos de ser físico como teme la mayoría de la gente pasa a ser lógico; la simple utilización de cualquier n.º de tarjeta puede conllevar pagos digitales sin ningún otro límite posible.

SSL codifica la información entre un navegador y un servidor de la web, pero no especifica qué información se envía o se codifica; y si el número de tarjeta de crédito es público y no es seguro, ¿Por qué no se utiliza otro sistema en el que intervengan claves secretas? Y además ¿por qué no se puede utilizar el mismo procedimiento que el de un cajero automático?

Sistemas de pago basados en internet

Los sistemas de pago se pueden clasificar en:


– Anónimos.- Es matemáticamente imposible que un comerciante o banco averigüen la identidad del consumidor que hace una compra.
– Privados.- El comerciante no conoce la identidad del consumidor, pero le es posible averiguarla a través de la organización que opera el sistema de pagos.
– Identificatorios.- Las tarjetas de crédito y los cheques son ejemplos de sistemas de pago identificatorios.

Existen muchas entidades que tratan de formalizar un estándard en los sistemas de pago basados en internet, como pueden ser:

DIGICASH:

http://www.digicash.com

Este sistema de pago se basa en un sistema de prendas digitales llamadas monedas digitales. El consumidor crea cada moneda y Digicash firma digitalmente esa moneda. Los usuarios del sistema pueden intercambiar las monedas o convertirlas en efectivo en Digicash; este proceso es muy similar al de un jugador de póker que convierte sus fichas en efectivo al final del día.

El consumidor previamente debe ejecutar un programa de Digicash para intercambiar las monedas.

Las cuentas de Digicash constan de dos partes: una cuenta de depósito en la institución financiera y una billetera electrónica que se mantiene en la computadora del usuario. Para obtener dinero digital, el software del usuario crea cierto número de monedas electrónicas. Parte de estas monedas son entonces marcadas, es decir, se les hace una operación binaria XOR con una cadena aleatoria. Las monedas se devuelven después a la computadora del usuario, donde se les vuelve a aplicar la operación XOR, ya que esta operación booleana tiene inversa. De esta forma es imposible que la institución emisora rastree las monedas gastadas por el usuario que las emitió.

VIRTUAL PIN:

Se distingue del anterior sistema de pago en que no necesita un programa especial para que el consumidor pueda realizar compras; los pagos son autorizados mediante correo electrónico.

Los PIN virtuales no se encriptan al viajar por internet con el inconveniente de que alguien pueda interceptarlos, pero ofrecen la posibilidad de que el comerciante conozca sólo ese PIN y no su número de tarjeta.

CYBERCASH:

También se debe descargar un pro-grama especial en http://www.cyber cash.com. Cuando se ejecuta por primera vez, el software de billetera crea una combinación de llaves públicas y privadas. El comerciante nunca tiene acceso al número de tarjeta de crédito del cliente, pero para ello hay que generar una cuenta monetaria en cybercash.

SET: (Transacciones Electrónicas Seguras)

http://www.setco.org

http://www.mastercard.com/set

http://www.visa.com/set

Es el estándar que más terreno está ganando actualmente.


  1. Establece estándares para todos los sectores.
  2. Integridad criptográfica de toda la información transmitida.
  3. Asegura la autenticidad de que un usuario es legítimo de una cuenta de tarjeta.
  4. Verificación de que un comerciante acepta la transacción.

SET incluye información privada del consumidor y del comerciante en una sola transacción firmada mediante una estructura criptográfica conocida como firma dual, tal como se explica en la figura 4.

De esta forma, tanto el comerciante como el banco podrán leer y validar su firma en su mitad sin tener que desencriptar el campo de la otra parte.

A continuación se describe cómo se efectuaría la transacción:


  1. El cliente utiliza un portal de e-commerce para realizar sus compras, obteniendo en su carrito de la compra todos los productos con el total de la compra.
  2. Cuando decidimos pagar utilizando SET, transparentemente para el usuario, el navegador envía la firma dual tanto al comerciante como al banco.
  3. Se nos mostrará la información que nos pide tanto el nombre de usuario como nuestra clave secreta, que una vez enviada y autenticada obtendremos la información de nuestro wallet (cartera, billetera), en el que podremos tanto escoger cualquier tarjeta de crédito que tengamos dada de alta en nuestro wallet como la información detallada de nuestra última compra.
  4. Finalmente nuestro wallet se encarga de efectuar el pago y las transacciones a cargo de la tarjeta de crédito que hayamos seleccionado, enviándonos información de que la transacción y la compra ha sido realizada.

Como se puede ver en el ejemplo, hay que tener en cuenta que debemos, antes de realizar cualquier compra electrónica, darnos de alta mediante un wallet, así dispondremos de una clave secreta, útil para conseguir la autenticación y eliminando la posibilidad de que cualquier persona no pueda utilizar simplemente nuestro n.º de tarjeta como identificación ya que ésta no es secreta.

La utilización de SET también depende de que el comerciante esté ligado a este sistema, inconveniente que se elimina si progresivamente esto se fuera convirtiendo en un estándard.

Pero a pesar de la eficiencia y de la seguridad del sistema SET, se sigue hechando de menos el que las compras y las transacciones por internet fueran más sencillas, y pudiéramos utilizar nuestra clave secreta de la tarjeta como método de identificación y de autentificación para impedir la suplantación de cualquier fraude.

Esta posibilidad se ve truncada en que entraría a formar parte un cargo y un coste que ninguna de las partes en juego quiere correr con ellas.

Evaluación de un sistema de pagos con tarjeta de crédito

Obviamente existen muchos comerciantes que venden sus productos por internet y las formas de pago difieren unas de otras.

A continuación se muestran conceptos a tener en cuenta para salvaguardar la seguridad y privacidad del n.º de la tarjeta.


–¿Los números de la tarjeta de crédito se eliminan del sistema, una vez terminada la transacción? Si una transacción no es recurrente, debería serlo. De otra forma, un empleado podría hacer doble cargo intencionada o accidentalmente.
–Si el sistema guarda los números de tarjeta de crédito en la computadora del usuario, ¿se almacenan encriptados? Debería hacerlo.
–¿Qué significa realmente anónimo? ¿qué es privado? Los algoritmos que en teoría sean matemáticamente anónimos pueden introducirse dentro de sistemas mayores que revelen la identidad del usuario.
–¿Puede el sistema realizar preautorizaciones en tiempo real? Esta función depende de la situación particular. Algunos bancos pueden cobrar una cota adicional por la autorización en tiempo real.
–¿Comprueba el sistema el dígito verificador del número de tarjeta de crédito proporcionado al introducirlo? Deberían hacerlo, ya que es más fácil corregir los errores de captura cuando se cometen que al enviar el cargo después.
–¿Se almacenan en el servidor del comerciante los números de las tarjetas de crédito? No deberían; y en caso de hacerlo deben estar encriptados.

Otro riesgo que se puede prever es el conocido como mundo espejo.

Un hacker puede colocar su link en los diferentes buscadores que existen en la red hacia su servidor, pero con el engaño de informar que se trata de un conocido banco que opera en la red.

Un usuario que se olvida de cómo se llama la URL del banco con el que trabaja, procede a buscarlo en un motor de búsqueda y se encuentra con el link engañoso del hacker; lo ejecuta y accede al servidor del susodicho hacker.

Parece todo normal ya que el usuario se encuentra con una réplica de la página web de su banco.

El hacker en cuestión engaña al usuario con links fraudulentos cambiando la información de la linea de estado de su navegador mediante instrucciones de la forma de

<a href=http://www.ataque.com/ clave.htm” onMouseover=”window.status=’http:// www.banco.com/clave.htm’; return true”>Oprima para facilitar la clave secreta </a>

Una vez que el usuario se deja llevar y accede al anterior link el hacker simula una ventana de nombre de usuario/clave de acceso mediante java para que dicho resultado sea enviado al servidor del hacker y éste consiga la clave del usuario.

Conclusión

SSL se usa hoy en día en muchos servidores de comercio electrónico, y ofrece seguridad de nivel de sesión. Esto significa que una vez establecida una sesión segura, toda la información que recibamos o enviemos estará encriptada.

SET se diseñó para sumar confidencia al proceso de pago asegurando que el comerciante es un receptor autorizado de nuestra tarjeta de pago.

Desde el punto de vista del comerciante, el proceso criptográfico requiere un elevado poder de computación que supone un gasto importante, independientemente del protocolo, que se aumentaría con métodos alternativos como CPU’s alternativas, clusters, aceleradores criptográficos y criptografía de curvas elípticas (ECC).

Desde del punto de vista del usuario, el riesgo de utilizar internet como medio transaccional de pago depende de la confianza a utilizar el mismo y no de la ineficacia del sistema ya que la ley le protege ante cargos indebidos.

En el momento en que internet sea un beneficio para todos (compras más económicas, consultas y operaciones bancarias on-line, comodidad en las tareas diarias a realizar) y no un riesgo, el nivel de confianza y utilización de la red será mayor.

Tu dirección de correo electrónico no será publicada.