Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

L'usage du protocole Mifare Desfire (et en excluant l'usage conjoint d'un CSN fixe ... ça exclue d'ailleurs de fait l'application Desfire de la Carte Etudiante Européenne qui propose la diversification de clef via le CSN ainsi que la signature via le CSN).
Théoriquement* on peut estimer pouvoir émuler une carte Mifare Desfire avec un Android. ESUP-NFC-TAG lui-même propose avec esup-nfc-tag-droid de jouer des APDU NFC Mifare Desfire au travers d'un téléphone pour interagir avec une carte Mifare Desfire. Jouer les APDU de la carte plutôt que ceux du lecteur n'est donc théoriquement* qu'une affaire d'implémentation des calculs des APDU, en se basant en plus sur les mêmes algorithmes de chiffrement déjà en place dans esup-nfc-tag-server. Si l'on souhaite ne pas donner les clefs des applications Mifare Desfire au téléphone (à proscrire pour des raisons de sécurité : les clefs manipulées directement par un logiciel dans un téléphone ne pouvant pas être considérées comme sécurisées - une personne malveillante étant susceptible de pouvoir les récupérer via différents scénarios), on peut en effet imaginer reprendre/étendre esup-nfc-tag : les apdu desfire sont calculés par le serveur esup-nfc-tag-server et esup-nfc-tag-droid ne fait que relais (proxy) avec le lecteur NFC de contrôle d'accès (sans jamais avoir connaissance des clefs notamment).
Cela présuppose que le téléphone ait une connexion internet pour dialoguer avec le serveur esup-nfc-tag-server au moment du badgeage de la carte. Le problème que cela pose également est qu'on se place alors dans un scénario qui ressemble à une attaque de type Man-in-the-Middle pour du contrôle d'accès sans contact : on se retrouve en effet à utiliser un téléphone pour faire proxy avec un mécanisme sécurisé (dans notre cas le serveur et non la carte d'une victime) permettant d'ouvrir une porte. C'est ce type de scénario et donc d'usage que NXP tente d'endiguer avec les évolutions de Mifare Desfire (EV1, EV2 puis maintenant EV3). En plus du problème technique que cela pourrait poser (avec des systèmes sophistiqués visant justement à empêcher ce type de pratique pour raisons de sécurité), on peut ainsi se demander si l'émulation d'une carte NXP Mifare Desfire est accepté/toléré par NXP, les solutions de contrôles d'accès, voire l'ANSSI... jusqu'à preuve du contraire, la réponse semble plutôt non ; et à notre connaissance aucune solution du marché ne propose actuellement cette fonctionnalité.

* Notez bien que dans le parapgraphe ci-dessus, nous disons qu'on peut éventuellement émuler une carte Desfire depuis un Android en théorie : les possibilités de host-based card emulation (HCE) fourni nativement et officiellement par Google sur Android seraient si contraintes qu'elles ne permettraient en fait pas de proposer une émulation complète (cf par exemple cette question/réponse stackoverflow) et donc par exemple compatible avec les systèmes de controle d'accès du marché. 

En conclusion, implémenter Implémenter l'émulation Desfire (sur Android comme sur iOS) fait donc face à plusieurs problèmes : impossibilités (?) d'implémentation (contraintes contraintes imposées par Apple/Google), problèmes de conformité (les cartes Mifare Desfire sont certifiées par l'ANSSI), de sécurité, de légalité (vis-à-vis de NXP). L'émulation Desfire (complète ; sur Android comme sur iOS) ne parait pas être à ce jour une piste exploitable
En lien direct avec Google, NXP proposerait une émulation Desfire (question) sur Android (via Google Pay) au travers de la solution MIFARE 2GO ; cette solution permet déjà d'utiliser son Android pour utiliser les transports public dans quelques villes (San Francisco, Whashington, Melbourne ...).

L'usage du protocole ISO/IEC 7816-4
Si l'émulation complète de Mifare Desfire parait est délicate, l'implémentation de commandes ISO/IEC 7816-4 semble plus à portée et plus en cohérence avec les possibilités d'HCE proposé par Android.
Aussi on peut imaginer proposer des services accessibles à l'utilisateur au travers d'une application Android émulant une "carte", notamment si on opère à la fois l'application cliente (Android) et serveur (lecteur NFC rattaché au service).
En ce sens l'émulation de la mise à disposition du fichier ESCN de la DEUInfo en ISO/IEC 7816-4 pourrait par exemple être envisagé (non étudié ni implémenté).

...