El pasado mes de Junio recibí completamente por sorpresa una tarjeta de débito del Banco Sabadell, con el que tengo una cuenta abierta desde hace años. WTF...!! (En español: que coj...!!) - pensé. Pero si mi tarjeta es válida hasta Marzo de 2014!!. Al llamar una amable señorita que intento convencer que mi vida dependía de que activara esa tarjeta: Que es mucho mas segura, que tiene tecnología Contactless, que es mucho mas bonita... y azul!!... En fin.
Por supuesto que no he activado la tarjeta hasta hoy, porque se acerca el mes de Marzo y empiezo a temer por mi vida.
El caso es que al activarla (desde mi ordenador) me he llevado la sorpresa de que el nuevo número PIN, asignado a la nueva tarjeta... es el mismo que el antiguo PIN!!!
Como podemos ver en la imagen, el último paso antes de activar la tarjeta es mostrar, bajo esos asteriscos tan coloridos el nuevo PIN:
¿Que por qué no quiero usar mi antiguo PIN?. Pero si es lo más fácil, cómodo y seguro!!!. Si así no me tengo que aprender engorrosos números de 4 cifras sin ningún sentido!!.
Pues la cosa es muy simple. Es igual que cuando se nos olvida una contraseña y pedimos recordarla, nunca nos deberían mandar la antigua, ya que esto significa que esta contraseña se encuentra almacenada en algún fichero sin "hashear". En este caso mi PIN se encuentra en alguna base de datos del banco sin cifrar o con un cifrado reversible.
Eso en sí no tiene por que ser malo. Al fin y al cabo, el sistema tiene que poder comparar que el PIN introducido en el cajero es el mismo que el de la tarjeta (cosa que no se realiza en el cajero, que no es más que un terminal tonto, que lo único que hace es enviar los números de la tarjeta y el PIN a los servidores del banco, que es donde realmente se hace el "macheo").
El problema es que igual que el sistema ha obtenido los dígitos de la tarjeta de un sistema y el PIN de otra y los ha comparado con lo que le llega del cajero, una persona con acceso al sistema (y conocimientos) podría hacer lo mismo. Y no mola. No me mola que alguien pueda conocer todos los datos de mi tarjeta incluido el código PIN.
El problema que si en vez de almacenar el pin en claro (o con un cifrado reversible) se almacenaran los hashes SHA-512 del PIN de la tarjeta, como se hace en el /etc/shadow de UNIX/Linux, daría igual. La debilidad del sistema es que hay 10.000 pines y solo 10.000, del 0000 al 9999 y no hay más. Cada uno con un hash único. Por tanto, conociendo esos 10.000 hashes estamos en las mismas.
Así que estamos en las mismas. Hasta que no aumentemos la longitud del PIN hasta por lo menos 12 números (aún así "solo" habría un billón de combinaciones). Lo ideal sería que los cajeros tuvieran un teclado alfanumérico y cada uno tuviera su contraseña alfanumérica de longitud variable de acceso a la tarjeta. ¿Demasiado dificil para el común de los mortales?. Yo creo que no.
Mientras tanto, deberemos seguir confiando en la seguridad física, electrónica y profesional de los bancos.
No hay comentarios:
Publicar un comentario