Alors que les cartes à puce sont de plus en plus présentes dans notre environnement, et que les lecteurs, avec ou sans contact, sont de moins en moins chers, peu d'outils permettent aux usagers d'examiner le contenu de leurs cartes. Dans cet article, nous présentons tout d'abord la philosophie et l’objectif de notre outil libre, PSSI (Python Simple Smartcard Interpreter). Nous rappelons ensuite les bases concernant la communication avec une carte à puce, afin de comprendre ce dont l’outil permet de s’abstraire. Enfin, nous présentons un cas concret d’utilisation du logiciel pour lire une carte SIM.
1. Présentation de PSSI
1.1 Philosophie générale
Il existe de nombreux logiciels permettant de lire le contenu d’une carte à puce, mais ces logiciels sont très souvent spécifiques à une certaine famille de cartes (carte bancaire ou carte SIM, par exemple). Un développeur souhaitant lire un nouveau type de carte devra alors essentiellement repartir de zéro et réécrire une application complète. On peut cependant remarquer que toutes les applications lisant des cartes à puce ont une base commune : les opérations de communication avec une carte, essentiellement spécifiées dans l’ISO 7816-4 [1]. Ce sont des échanges commande/réponse qui sont en fait relativement génériques, et assez fastidieux à implémenter.
Cette constatation nous conduit à présenter PSSI, projet entièrement écrit en Python, dont le but est de faciliter le développement de nouveaux lecteurs et de proposer aux utilisateurs un outil intégré supportant de multiples familles de...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première