(Aviso de post largo);
(En este artículo, utilizo "NFC" para referirme al sistema establecido (antes de Apple Pay) que utilizan las tarjetas de crédito y los bancos para los pagos inalámbricos de corto alcance (menos de 10 cm); creo que se trata de la norma ISO/IEC 14443).
NFC para pagos
(Creo que) entiendo cómo funciona NFC para pagos: En el caso de las tarjetas preparadas para NFC (que llevan el logotipo de Wi-Fi), un chip cerrado y seguro contiene una copia de la información de tu tarjeta de crédito, un terminal de pago NFC interroga a tu tarjeta (utilizando un principio similar al de la RFID), y el terminal obtiene tus datos y luego emite el cargo al procesador de pagos del comerciante y ya está.
Hasta aquí, todo sencillo: La tecnología NFC no es más que otra forma de obtener los datos de su cuenta de su tarjeta de crédito física, al igual que la banda magnética o el chip EMV. Una vez que el terminal tiene los datos de la tarjeta (número de tarjeta, caducidad, etc.), al comerciante no le importa cómo los ha obtenido: podrían haberse introducido manualmente tecleando los números grabados en la tarjeta.
Sin embargo, entiendo que el NFC "estándar" para pagos, por defecto, es un análogo de la banda magnética, en el sentido de que sólo lee una copia directa de los datos de la tarjeta: el chip NFC no genera ningún número de tarjeta de un solo uso ni subvierte el sistema de tarjetas de crédito con su propio sistema de cuenta/cartera digital. También tengo entendido que la NFC, por defecto, no emplea ningún tipo de cifrado en el aire ni siquiera un sistema de respuesta a un desafío, lo que significa que es hipotéticamente posible pasar un lector de mano por los bolsos y los bolsillos de la gente para robar cantidades de poco valor[1] de las tarjetas NFC "tontas", o un atacante podría esconder un sniffer NFC junto a un terminal NFC para capturar datos NFC en pleno vuelo[2]. Esto es preocupante. Me pregunto cómo el sistema NFC fue autorizado por Visa, Mastercard, AMEX et alii dado lo inseguro que es.
Recientemente, pero mucho antes de que se anunciara Apple Pay, los teléfonos Android contaban con una funcionalidad NFC que permitía a los usuarios clonar los datos de sus tarjetas de crédito en el chip NFC y, a continuación, utilizar el teléfono con NFC como una tarjeta sustituta en los terminales de pago NFC. Suponiendo que se sigan aplicando los mismos problemas de seguridad que afectan a la NFC, supongo que no es de extrañar que Apple no incluyera una función NFC en el iPhone, al menos inicialmente.
Apple Pay
Apple Pay utiliza el mismo protocolo NFC, por lo que se puede utilizar con cualquier terminal NFC. Apple quería hacerlo más seguro, pero no podía encriptar la señal OTA porque eso rompería la compatibilidad con los terminales NFC existentes, así que añadió seguridad al no enviar los detalles originales de la tarjeta de crédito, sino que Apple Pay en el propio iPhone genera y envía un número de tarjeta de crédito de un solo uso, que luego se transmite por NFC. De este modo, si la transmisión por radio fuera interceptada, el atacante no podría utilizar los datos (porque si el número de la tarjeta de un solo uso ya estaba cargado, no podría volver a cargarlo, y si consiguiera cargarlo primero, el comerciante de buena fe vería su cargo rechazado y podría disputarlo inmediatamente).
Dado que Apple Pay se convierte en su propio sistema sobre otro sistema (porque Apple controla los números de las tarjetas de crédito de un solo uso), esto significa que tienen que exigir a los bancos de los clientes que acepten unirse a su sistema de forma individual (para que los sistemas de los bancos puedan acomodar los números de las tarjetas de crédito de un solo uso de Apple), lo que explica la lentitud del despliegue de Apple Pay, y también explica por qué pueden justificar el pedir un 0,15% de cada transacción: porque están añadiendo valor con la seguridad añadida de su sistema de un solo uso.
Pero, ¿cómo funciona Apple Pay en el back-end, entre el terminal NFC y la propia cuenta de tarjeta de crédito del cliente? El comerciante recibe el número de la tarjeta de crédito de un solo uso y, presumiblemente, lo procesa de la misma manera que un número de tarjeta de crédito normal: lo pasa a su procesador de pagos, que luego cobra a la red (Visa, MasterCard o AMEX), que a su vez cobra al banco/proveedor de la tarjeta de crédito del cliente... pero ¿cómo puede cualquiera de los implicados saber los detalles de la cuenta de crédito original del cliente? Apple es quien genera estos códigos de un solo uso. Tengo entendido que los números de las tarjetas de crédito incluyen el identificador del banco de origen (por lo que todas mis tarjetas del mismo banco comparten sus 8 dígitos iniciales), por lo que el sistema de Apple Pay genera un código de un solo uso dentro del espacio del número del banco del cliente (es decir, con el prefijo de su banco), o bien debe generar un número de un solo uso con el propio prefijo de Apple, en cuyo caso Apple recibiría el cargo y lo transmitiría al banco de origen.
Dos posibilidades para el back-end:
Si Apple utiliza el prefijo del banco del cliente, entonces el banco recibe el cargo directamente a sí mismo y Apple no es un intermediario de pago; todo lo que hace Apple Pay es generar un número de uso único. Apple no tendría forma de saber cuánto dinero se ha cargado realmente y, por tanto, podría ser estafada por el recorte del 0,15% que pide. Este sistema requeriría alguna forma de traducir los códigos de un solo uso a los detalles reales de la cuenta; supongo que Apple se lo proporciona a los bancos a través de un canal secundario.
Sin embargo, si Apple utiliza su propio prefijo bancario, significa que cada transacción pasa por el sistema de Apple: tendrían acceso a los detalles de cada transacción y formarían un perfil de hábitos de compra para todos sus usuarios. También podrían saber exactamente qué importes se gastan y reclamar su porcentaje del 0,15 % y mantener en secreto el mapeo de los detalles de la tarjeta de uso único, ya que entonces enviarían el cargo al banco del cliente.
...ninguna de las anteriores me parece una solución especialmente ideal.
Todo es terrible
Así que llego a la conclusión de que Apple Pay es un "parche" para NFC, siendo el propio NFC un complemento inseguro para un sistema ya obsoleto (que es el concepto de datos de tarjeta reutilizables).
Así que pregunto, cuando se introdujo originalmente la NFC, ¿por qué no introdujeron y ordenaron los datos de pago de un solo uso (gestionados por los bancos o la red de pago directamente, en lugar de por un tercero)? Y no habría sido exagerado utilizar también un sistema de encriptación OTA (razonablemente a prueba de futuro), lo que habría obviado por completo la necesidad de Apple Pay.
Ahora bien, si resulta que NFC ya cuenta con encriptación OTA y los bancos ya admiten datos de un solo uso[3] (¿no es eso lo que hace EMV de todos modos?) entonces ¿qué valor añade Apple Pay?
¿Es esto el resultado de que las redes de tarjetas tradicionales (Visa, MasterCard, AMEX, etc.) se resisten tanto al cambio que prefieren añadir nuevas características que heredan la inseguridad del sistema subyacente y/o la incompetencia técnica que permitió que un sistema inseguro como NFC se desplegara en la producción, y sin al menos impulsar el cifrado OTA como parche después del lanzamiento? Es un misterio que, dada la enorme cantidad de dinero que reclaman las redes de tarjetas (¿y a dónde va todo?), no las veamos trabajar en sus propias plataformas innovadoras o disruptivas... es una obviedad.
Notas a pie de página
1] Tengo entendido que en muchos lugares, los importes de los cargos NFC por debajo de un determinado umbral, digamos 20 dólares o 10 libras, no requieren un PIN para la autentificación de la autorización de los cargos, supuestamente para agilizar la experiencia del cliente al realizar pequeñas compras, como una taza de café o un billete de tren.
2] Y teniendo en cuenta la calidad de la producción y la atención al detalle de los actuales robos de tarjetas de cajeros automáticos, es muy posible que los delincuentes organizados puedan idear robos NFC aún más difíciles de encontrar si sólo se requiere una antena receptora pasiva y una placa de microcontrolador y memoria.
3] Recuerdo haber leído hace unos años que algunos bancos generaban números de crédito de un solo uso para que los clientes los utilizaran en sus compras por Internet, aunque se trata de una función propia de cada banco que no está respaldada por las propias redes de tarjetas de crédito.
0 votos
La norma ISO/IEC 14443 describe las tarjetas RFID, no los sistemas de pago NFC. Esa es la solución de proximidad que utilizan los emisores de tarjetas y ha demostrado no ser lo suficientemente segura/confiable y los consumidores no la han adoptado.
5 votos
Voto por cerrar esta pregunta como off-topic porque los conocimientos necesarios para responder con precisión a esta pregunta implican un conocimiento detallado de la seguridad y los protocolos de la red. Hay otros sitios en la red de StackExchange que serían más adecuados.
0 votos
Estoy de acuerdo con @mhoran_psprep - Esto sería genial en Seguridad de la información .
0 votos
"sustraer importes de poco valor[1] de las tarjetas NFC "tontas"" - no. No hay dinero real en una tarjeta. Usted todavía tiene que utilizar su cuenta comercial para resolver Y eso significa hablar con las redes de tarjetas, que se abatirán sobre ti como una tonelada de ladrillos cuando se haga evidente lo que estás haciendo.