Tout ce qu'il y a à savoir sur le PC/SC !
Qu’est ce que c’est ?
Le PC/SC est un standard d'interopérabilité assurant le dialogue entre les ordinateurs et les cartes à puces, disponible dans la plupart des systèmes d'exploitation, y compris Windows et Linux. Personal computer/Smart Card (ou PC/SC) est à la fois une spécification et une bibliothèque logicielle pour l'accès à des cartes à puce sous Microsoft Windows. Une implémentation libre de PC/SC, appelée PC/SC Lite, est disponible sous GNU/Linux et distribuée avec Mac OS X. La spécification de cette bibliothèque est faite par le PC/SC Workgroup, composé de grands fabricants de cartes à puce ou d'ordinateurs. Son but est d'assurer une base standard de commandes pour permettre une meilleure interopérabilité entre PC, lecteurs de carte et les cartes à puce elles-mêmes.
Comment ça fonctionne ?
Le PC/SC est basé sur une architecture composée de plusieurs couches. Cette architecture débute avec le coupleur et son pilote ensuite un intergiciel implémente les services d’abstraction d’appareils et isole les applications sensibles aux cartes clients. L’intergiciel dresse la liste des coupleurs connectés et notifie les applications lorsqu’une carte à puce est insérée dans le coupleur, il évite également que plusieurs applications accèdent à la même carte au même moment.
Enfin cette architecture en couches se termine par une application de haut niveau, c’est l’interface de programmation aussi appelée API. L’API est une application qui a pour but d’utiliser les cartes à puce. C’est une librairie dynamique qui évoque les services spéciaux fournit par l’intergiciel PC/SC. Le PC/SC ne fait pas de différence entre un coupleur contact et sans-contact. Il cache la plupart des spécificités de ces technologies. Le PC/SC permet d’utiliser les cartes à signaux logiques fonctionnant avec les APDU comme s’ils étaient des cartes à puce basées sur des micro-contrôleurs.
Les APDU
APDU signifie Application Protocol Data Unit, c’est un message échangé entre une carte à puce et un lecteur. Ce type de message est décrit dans la norme ISO 7816. Il existe deux types d’APDU, celles qui envoient les commandes et celles qui transmettent les réponses. Le rôle des APDU est donc de permettre le dialogue entre le lecteur et les cartes à puce et de récupérer les informations de la carte à puce pour les transmettre au lecteur.
Si vous voulez plus d’informations techniques sur les cartes à puce et les cartes à puce sans contact nous avons créé pour vous un guide pour intégrateurs que vous pouvez télécharger ici.
Publié le 09/05/2018
Laisser un commentaire