Supongamos que trabajo para un banco y me piden que escriba una aplicación de pago NFC para el iPhone 6 o Android pero no use Apple Pay. Para enviar simplemente los detalles de la tarjeta de crédito al lector a través de NFC.
Ahora, suponga que no estoy almacenando los detalles de la tarjeta de crédito utilizando un hash one-one que la compañía de tarjetas de crédito en el otro extremo coincidirá para validar el pago. Suponga que simplemente le estoy dando los detalles de la tarjeta de crédito al lector, de una manera similar a la de un asistente de tienda que escribe manualmente los números de la tarjeta de crédito en el lector cuando falla la banda magnética.
Para hacer eso: tengo que almacenar los datos de la tarjeta de crédito, ya sea sin cifrar o de manera bidireccional cifrada en el iPhone o Android.
Si lo guardo como no cifrado en el iPhone o Android, entonces cualquier otra aplicación podría leer los datos y potencialmente enviarlos para un uso indebido. (De forma similar a como funciona FileApp ).
Si lo guardo como cifrado en el iPhone o Android, entonces tiene que ser un cifrado bidireccional, y luego cualquier otra aplicación que use ese mecanismo de cifrado puede leer los datos del teléfono. (Es decir, puede obtener el mecanismo de cifrado mediante ingeniería inversa LLVM bytecode de mi aplicación).
Mi pregunta es: ¿Es inseguro crear una aplicación de pago NFC sin un elemento seguro como Apple Pay para iPhone o Android?