Parece que muchos lugares gastan una tonelada de tiempo y dinero asegurando su sitio para transacciones con tarjeta de crédito. Sin embargo, todavía hay millones de números de tarjetas de crédito robados. El fraude es un gran negocio, y fácil de hacer en línea. En Europa, las tarjetas de crédito se han reemplazado casi por completo con sistemas de chip y pin que protegen contra el robo de tarjetas de crédito en la terminal y la pérdida de tarjetas físicas. Esto también está comenzando a abrirse camino hacia los Estados Unidos y Canadá. Sin embargo, el lugar más fácil para robar tarjetas de crédito parece haber sido Internet desde hace algún tiempo.
Así que he estado pensando, ¿sería posible crear un protocolo seguro para colocar transacciones de tarjetas de crédito en línea para que no sea necesario enviar datos confidenciales al servidor web? ¿Es incluso posible migrar a tal sistema?
Lo que estoy pensando es en este sentido:
- El comerciante se comunica con su proveedor de servicios de procesamiento y obtiene el código de transacción.
- El comerciante responde con el código de transacción, la cantidad / resumen y la información del procesador a través de los encabezados HTTP, y el contenido se repliega si el cliente no lo admite.
- El cliente envía una solicitud a su banco emisor con información de autenticación, pasando la misma información enviada por el servidor.
- El banco del cliente verifica los fondos y se comunica con el proveedor de servicios de procesamiento del comerciante, acepta la información y obtiene un código de aprobación si la transacción es buena
- El banco responde al cliente con detalles de aprobación / falla
- Si la transacción falló, el cliente puede probar con otra cuenta o responder al servidor con falla
- En caso de éxito, el cliente responde al servidor con el código de aprobación
- El comerciante confirma el código de aprobación con su proveedor de servicios de procesamiento y captura los fondos cuando está listo
En este esquema, el cliente y el comerciante nunca intercambian información confidencial. Por lo tanto, tiene que atacar a los bancos, a la máquina del cliente, o reemplazar las credenciales en el servidor para que todo vaya a su cuenta personal (lo que es riesgoso).
Supongo que esto no es una gran pregunta, ya que busca ideas sobre cómo mejorar las cosas.