Aquí en Alemania, la autenticación de transacciones en banca en línea (más allá de la contraseña de inicio de sesión básica que también es y siempre ha sido necesaria) ha evolucionado a partir de una lista de contraseñas de un solo uso que se distribuyen por adelantado en papel (por lo que (llamados códigos "TAN" o números de autenticación de transacciones) para el uso de contraseñas de un solo uso enviadas a pedido a un teléfono móvil o dispositivo similar, en un mensaje que también contiene detalles de la transferencia para autenticar el mensaje. Me he estado preguntando si es posible alcanzar un nivel de seguridad similar mientras se usa el método anterior de distribución de una lista en papel por adelantado, y de hecho se me ocurrió un esquema que me parece factible. Como soy consciente de la calidad general de los esquemas de seguridad diseñados por aficionados (y soy aficionado), me interesaría escuchar comentarios sobre las deficiencias de mi esquema por parte de los lectores de este sitio.
La idea básica del esquema es que el banco distribuirá de antemano al cliente una lista en papel de las entradas numeradas. Sin embargo, en lugar de contener contraseñas simples, la lista contendría tareas numéricas simples, tales como:
-
Ingrese la suma de la figura uno y la figura cuatro del número de cuenta, seguido del número ocho, seguido de la cifra tres menos sesenta del código de clasificación del banco.
-
Ingrese la figura tres del número de cuenta, seguida de la figura dos y la figura siete del código de clasificación del banco, seguida de la figura dos y la figura uno del monto a transferir (ignorando los centavos).
...
Cuando el cliente tiene que autenticar una transacción, se le dará el número de una de las tareas y se le pedirá que ingrese la solución, usando los detalles de la transacción. Me parece que este esquema cumple con los requisitos de que la generación de contraseña única debe ser iniciada por el banco en el momento de la transacción, que está vinculada a la transacción, que no es trivial volver a trabajar desde la contraseña al método utilizado para generar y que implica un segundo canal de comunicación separado. Además, espero que sea manejable para los clientes (¡excepto que podría necesitar una gran cantidad de papel para llevar a cabo las tareas!), Y en realidad los alentaría a verificar los detalles de la transacción.
Me doy cuenta de que debería haber requisitos en las tareas para mantenerlos usables pero a la vez seguros, y que tendrían que ser expresables y parametrizables de manera que las computadoras del banco puedan lidiar (aunque se podrían introducir nuevos tipos en cualquier momento). Más allá de eso, me interesaría saber qué agujeros principales hay en este esquema que me he perdido.