Autenticación simétrica de Mifare Desfire con clave maestra en Android

2

Quería usar el chip Mifare Desfire para fines de autenticación del producto, donde el chip se integraría en los productos. Como tal, estoy buscando una solución NFC que haga que sea prácticamente imposible (o tan difícil como sea posible) clonar el chip.

La solución actual que tenía en mente al usar Desfire era utilizar la autenticación simétrica compatible para tener una parte del chip con memoria bloqueada donde almacenaríamos la información del producto. Luego crearíamos claves diversificadas, usando una clave maestra, UID del chip y algunos metadatos, y usaríamos esa clave diversificada para llevar a cabo la autenticación simétrica (se puede encontrar más información al respecto here .

Ahora, el problema radica en el hecho de que la autenticación simétrica se debe realizar en una aplicación de Android, lo que significa que tendríamos que almacenar la clave maestra en la aplicación de Android o enviarla a través de la red a una versión potencialmente maliciosa de la aplicación. . Así que me preguntaba si alguien tenía una sugerencia sobre cómo proteger la clave maestra o una solución de autenticación completamente diferente para evitar la clonación de chips utilizando el Mifare Desfire u otros chips NFC similares.

    
pregunta LongJeongS 21.12.2016 - 22:45
fuente

1 respuesta

3

La clave no necesita residir en la aplicación.

Cuando solicite la autenticación, obtendrá un número aleatorio, cifrado con la clave, atrás. En este número aleatorio, puede enviarlo de vuelta al servidor con la aplicación y dejar que el servidor realice la autenticación con la clave. El servidor le enviará un nuevo paquete cifrado con un valor cifrado, que simplemente reenviará al chip. Luego, recibirá una respuesta del chip que enviará de vuelta al servidor.

Después de eso, la celda que está utilizando podría contener cierta información del producto, "firmada" con un MAC. Esta información del producto y MAC también se envían al servidor como una fase final. Solo después de que todos los pasos se completaron correctamente, el producto es genuino.

Si usas bibliotecas para hacer la comunicación NFC, debes ejecutarlas en modo manual para poder autenticar de esta manera.

Es posible crear una aplicación fraudulenta que lea los datos resultantes y copie la información del producto, incluida la MAC, y luego insértela en un chip DESFire EV1 falso que aceptará cualquier autenticación. Esta es la razón por la que el servidor debe validar el valor aleatorio que se devuelve, que se descifra con éxito al valor que el servidor seleccionó inicialmente, pero que se desplazó a la izquierda. (lea los detalles de implementación sobre cómo realizar una autenticación).

Al usar claves que no pueden escribir el chip, también evita que alguien actualice un chip genuino para contener información sobre un producto más costoso que el producto en el que reside el chip.

Tenga cuidado también de que alguien pueda mover el chip de un producto genuino a un producto falso, y luego conservar el producto genuino en sí y vender el producto falso. Utilice chips resistentes a la manipulación indebida para esto, que dejarán de funcionar una vez que se retiren del producto. O vincule el producto a un servicio que requiera autenticación con la aplicación para que funcione, por lo tanto, el producto original que el estafador tenga será inútil sin el chip.

    
respondido por el sebastian nielsen 22.12.2016 - 00:10
fuente

Lea otras preguntas en las etiquetas