SET
SET (Secure Electronic Transaction; en castellano, Transacción Electrónica Segura) es un protocolo desarrollado por Visa y Mastercard y que utiliza el estándar SSL (Secure Socket Layer).
SET se basa en el uso de una firma electrónica del comprador y una transacción que involucra, no sólo al comprador y al vendedor, sino también a sus respectivos bancos.
Funcionamiento
Cuando se realiza una transacción segura por medio de SET, los datos del cliente son enviados al servidor del vendedor, pero dicho vendedor sólo recibe la orden. Los números de la tarjeta del banco se envían directamente al banco del vendedor, quien podrá leer los detalles de la cuenta bancaria del comprador y contactar con el banco para verificarlos en tiempo real.
Ejemplo:
-
El cliente inicializa la compra: consiste en que el cliente usa el browser para seleccionar los productos a comprar y llena la forma de orden correspondiente. SET comienza cuando el cliente hace clic en “pagar” y se envía un mensaje de iniciar SET.
-
El cliente usando SET envía la orden y la información de pago al comerciante: el software SET del cliente crea dos mensajes uno conteniendo la información de la orden de compra, el total de la compra y el número de orden. El segundo mensaje contiene la información de pago, es decir, el número de la tarjeta de crédito del cliente y la información del banco emisor de la tarjeta. El primer mensaje es cifrado usando un sistema simétrico y es empaquetada en un sobre digital que se cifra usando la clave pública del comerciante. El segundo mensaje también es cifrado pero usando la clave pública del banco (esto previene que el comerciante tenga acceso a los números de tarjetas de los clientes). Finalmente el cliente firma ambos mensajes.
-
El comerciante pasa la información de pago al banco: el software SET del comerciante genera un requerimiento de autorización, éste es comprimido (con un hash) y firmado por el comerciante para probar su identidad al banco del comerciante, además de ser cifrado con un sistema simétrico y guardado en un sobre digital que es cifrado con la clave pública del banco.
-
El banco verifica la validez del requerimiento: el banco descifra el sobre digital y verifica la identidad del comerciante, en el caso de aceptarla descifra la información de pago del cliente y verifica su identidad. En tal caso genera una requerimiento de autorización lo firma y envía al banco que genero la tarjeta del cliente.
-
El emisor de la tarjeta autoriza la transacción: el banco del cliente (emisor de la tarjeta) confirma la identidad del cliente, descifra la información recibida y verifica la cuenta del cliente en caso de que no haya problemas, aprueba el requerimiento de autorización, lo firma y lo regresa al banco del comerciante.
-
El banco del comerciante autoriza la transacción: una ves recibida la autorización del banco emisor, el banco del comerciante autoriza la transacción la firma y la envía al servidor del comerciante.
-
El servidor del comerciante complementa la transacción: el servidor del comerciante da a conocer que la transacción que la tarjeta fue aprobada y muestra al cliente la conformidad de pago, y procesa la orden que pide el cliente terminado la compra cuando se le son enviados los bienes que compró el cliente.
-
El comerciante captura la transacción: en la fase final de SET el comerciante envía un mensaje de “captura” a su banco, esto confirma la compra y genera el cargo a la cuenta del cliente, así como acreditar el monto a la cuenta del comerciante.
-
El generador de la tarjeta envía el aviso de crédito al cliente: el cargo de SET aparece en estado de cuenta del cliente que se le envía mensualmente.
SET requiere un certificado digital en cada paso de autenticación y usa dos pares de claves, una para el cifrado del sobre digital y otra para la firma, ( SSL solo usa un par de claves), actualmente SET usa la función hash SHA-1 , DES y RSA de 1024 bits, estos parámetros fueron tomados para ser compatible con los certificados existentes, aunque el piloto de SET usó el sistema asimétrico de cifrado con curvas elípticas y se piensa que soporte también curvas elípticas en la próxima versión de SET.