Tarjetas de crédito NFC (I): Falta de Privacidad

Quizás por no haber prestado mucha atención, gran número de usuarios ya disponen de una de las nuevas tarjetas de crédito sin contacto (NFC) y no tienen ni idea de lo que eso significa. A primera vista son iguales que las anteriores, la única diferencia exterior es un símbolo que representa unas ondas para indicar la presencia de la nueva funcionalidad.

Hace poco, ví a un compañero pagar en un restaurante con su tarjeta de crédito NFC. La camarera procedió a cobrarle acercando la tarjeta al punto de venta (TPV) móvil. Y sin pedirle más cosas, la terminal imprimió el recibo para confirmar la transacción. La característica que más nos llamó la atención fue la posibilidad de realizar compras sin tener que introducir el PIN, siempre y cuando el pago no sobrepase los 20€.

Navegando un poco por internet y después de leer “Hacking the NFC credit cards for fun and debit ;)” se puede ver que es posible recuperar datos personales de manera sencilla ya que no van protegidos y/o cifrados. Entre otros, se puede llegar a obtener:

  • Nombre y Apellidos.
  • Número de tarjeta de crédito.
  • Fecha de Caducidad.
  • Track2 de la banda magnética.
  • Historial de compras.

Lo que no devuelven es el código de seguridad CVV (menos mal), aunque existen páginas web (p.e. Amazon) que no piden ese código para aceptar los pagos.

Requisitos materiales para investigar un poco:

  • Disponer de una tarjeta de crédito NFC o como en mi caso tener un compañero a quien pedir ‘amablemente’ que nos deje jugar con su tarjeta.
  • Un lector de NFC: En este caso reutilizamos nuestro Touchatag que nos permite comunicar con la tarjeta de crédito basada en la ISO 14443. También se puede usar un móvil con NFC.

En cuanto a software podemos encontrar varios programas junto a su código fuente. Recomiendo revisar el código y compilarlo nosotros mismos. No hay que fiarse y usar software ya compilado tanto en PC como en Android pues no sabemos si por detrás mandan los datos a algún lugar de dudosa reputación.

Aquí cabe destacar que se usa el estándar EMV que es el mismo que se usa en las tarjetas de crédito Smartcard (tarjetas con chip). En poco minutos tenemos armado un sistema para la lectura de datos.

Funciona con la mayoría de los casos y tarjetas, pero con la tarjeta de mi compañero ningún programa de los usados consiguió respuesta, parece que la haya bastionado antes de dejármela.

Después de estar investigando el código fuente de varios programas, podemos ver que la mayoría (o todos) necesitan una lista de tarjetas soportadas. Lo que hacen es probar los AID de una lista hasta que la tarjeta responde correctamente a alguno de ellos (en el siguiente post de la serie destriparemos un poco el protocolo que usan las tarjetas).

¿Es algún nuevo tipo de protección? Para resumir… ¡No! Simplemente que la tarjeta no está en la lista de tarjetas soportadas y no conocemos su AID. ¿Como hace entonces el TPV para seleccionar la AID correcta? Existe un directorio que le dice cual es la AID a seleccionar. ¿Solución? Lo implementamos nosotros.

Personalmente me basé en el readnfccc. Para hacerlo un poco más universal, le agregué la lectura del PPSE (directorio con información relativa al pago sin contacto) para sacar el AID correcto. También existe el PSE que corresponde al directorio con información relativa al pago insertando la tarjeta en un terminal que soporta solamente Smartcard.

Se puede encontrar el código fuente en GitHub.

¿Cómo protegerse?

  • Usar una cartera especial que actúa como jaula de Faraday y no permite el paso de ondas. O envolverla en papel de plata.

  • Inutilizar la antena de la tarjeta haciendo un pequeño agujero por donde pasa. Estas tarjetas disponen de una antena formada por unas pistas que rodean la tarjeta. Haciendo un corte o un agujero en la pista anula la comunicación NFC de la tarjeta dejando intacto el chip y la banda magnética.

  • Se rumorea que un par de segundos en el microondas puede quemar el chip NFC, pero unos segundos más pueden dejar inutilizable la smartcard. Con unos cuantos segundos más se puede conseguir prenderle fuego (que no es la idea, pero soluciona el problema ;). Al ser una ciencia poco exacta y tratándose de rumores este ultimo método no es recomendable y se menciona a titulo de anécdota.

En el próximo post analizaremos con un poco más de detalle el protocolo EMV y su implementación en tarjetas NFC. Finalmente en otro post analizaremos algunos ataques posibles.

Comments

  1. Buen post Amin

  2. La cinta americana. Qué sería de nosotros sin ella…

  3. Santiago Abeigón says

    Ayer recogí en el banco una tarjeta de crédito nueva que incorpora NFC, pero han hecho coincidir en el mismo espacio el chip TCI y el NFC de modo que no sea posible inutilizar la antena por el método que describís en el post sin inutilizar al mismo tiempo la tarjeta por completo. Parece que con estas no hay manera de librarse. Menos mal que aún queda cinta americana ;))) Un cordial saludo y felicidades por el blog!!!