Conception et réalisation d’un lecteur de carte à puce

Qu’est-ce qu’une carte à puce

Une carte à puce est une carte en plastique dotée d’un microcircuit constitué d’un ou plusieurs circuits intégrés et d’un connecteur plat capable d’assurer la liaison électrique avec un « lecteur » spécial.
Le très mince circuit imprimé qui accueille, sur sa face apparente, les contacts du connecteur, et au dos duquel est monté la puce de silicium est appelé micromodule.
Ainsi les cartes à puce se distinguent surtout les unes des autres par les fonctionnalités de leur micromodule, autrement dit leur circuit intégré interne.

Les familles de carte à puce

On peut distinguer trois grandes familles de cartes à puce: Les cartes à mémoire simple; Les cartes à mémoire personnalisée; Les cartes à microprocesseur.
Les cartes à mémoire simple : Comme son nom l’indique, une carte à mémoire simple renferme seulement une certaine quantité de mémoire sans aucune protection particulière. Cela signifie que n’importe qui peut y lire ou écrire des informations à l’aide d’un équipement approprié, librement disponible dans le commerce ou même souvent très simple à construire par ses propres moyens. La plupart des cartes à mémoire simple sont réalisées en technologie EEPROM, et sont donc recyclables (effaçables et réinscriptibles). Leur capacité est généralement de l’ordre de quelques kilobits, voire quelques dizaines. Ces cartes sont en principe destinées à des applications n’ayant pas à être sécurisées.
Les cartes à mémoire personnalisée : En revanche, une carte est dite «carte à mémoire personnalisée», si elle contient au moins l’un des quatre systèmes de protection suivants: Zone protégée en écriture après destruction d’un fusible ; Zone protégée en lecture et écriture par un «code porteur» (code confidentiel dit PIN ou Personal identification Number), le porteur étant défini comme l’utilisateur final de la carte ; Blocage de la carte au bout d’un nombre donné de présentations d’un PIN erroné ;
Protection par un « code émetteur » (l’émetteur étant l’organisme qui délivre les cartes et décide de leur contenu).
Les cartes à microprocesseur : La carte à microprocesseur (dite aussi à microcalculateur) est évidemment un véritable micro-ordinateur. Elle rassemble, une unité centrale, des mémoires de programme et des mémoires de données spécialement agencées.
Elle contient plusieurs systèmes de protection dont: Zone protégée en écriture ou en écriture et lecture par un code secret émetteur, ceci après personnalisation par l’émetteur ; Zone protégée en lecture et écriture par un code secret porteur (PIN); Blocage de la carte après présentation d’un nombre donné de codes secrets erronés, mais avec possibilité de réhabilitation par l’organisme émetteur ;
Mise en œuvre d’algorithmes cryptographiques (par exemple DES ou RSA) pour assurer la sécurité des transferts de données.
La plupart des cartes à microprocesseur sont supportées par un système d’exploitation appelé «COS» (Chip Operating System ou Card Operating System). Il s’agit d’un logiciel en « masque » en ROM et dont les caractéristiques sont les suivantes: Organisation de la mémoire en zone banalisées, protégées ou non ; Gestion dynamique de l’espace mémoire ; Gestion des codes confidentiels ; Chargement éventuel de sous-programmes spécifiques à l’application, lors de la personnalisation.

Position des contacts et brochages

Dans le but de standardiser autant que possible la connectique des cartes et des lecteurs, des normes ont été établies. Les développements les plus anciens (télécartes, cartes bancaires etc.) ont appliqué la norme « AFNOR », dite à contact excentrés .Puis sont apparues les normes internationales ISO 7816, définissant un positionnement « centré » des contacts du micromodule, avec, de surcroît, une rotation de 180°.
La norme définie aussi le brochage des micromodules, qui peuvent comporter jusqu’à huit contacts. Deux de ces contacts étant « Réservés pour de Futurs Usages » (RFU), il n’est pas rare de rencontrer des micromodules à six contacts seulement.
Les six accès essentiels à la puce sont en effet les suivants : GND: masse électrique ; Vcc/ alimentation de la puce (en générale +5volts) ; Vpp: tension de programmation (pas toujours nécessaire) ; RST: remise à zéro de la carte (RESET) ; CLK: horologe; I/O : ligne série d’entrée-sortie des données ;

Les échanges de données

La transmission des données émises et reçues par la carte se fait par série, c’est-à-dire un bit après l’autre.
On peut distinguer deux familles de cartes, respectivement baptisées synchrones et asynchrones. Les cartes synchrone : La carte est dite synchrone si l’entrée et la sortie de bits sont directement cadencées par le signal d’horloge. Les cartes à mémoire simple ou sécurisée sont de type synchrone.
Chaque type de cartes synchrone dispose d’un jeu de «micro-instructions», séquences particulières de nivaux logiques à appliquer sur des contacts bien définis pour remettre à zéro la carte lire ou écrire un bit, présenté un bit confidentiel bit à bit…
En principe, ces cartes contiennent un certain nombre de bits auxquels on accède «séquentiellement», c’est-à-dire l’un après l’autre dans l’ordre croissant de leurs « adresses ». Il n’est donc pas possible de reculer, sauf remise à zéro de la carte qui permet alors de repartir de la première adresse.
Les cartes asynchrones : Elles sont, pour la plupart, des cartes à microprocesseur dont l’entrée et la sortie des données se font sous la forme d’octets (groupes de huit bits) circulant sur la ligne série selon un protocole voisin de celui des transmissions RS 232 ou similaires : bit de start, bits de données, bit de parité, bits de stop, le tout à une cadence très inférieure à la fréquence d’horloge (souvent 9600 bauds). Ces octets peuvent être des données, des adresses, ou des instructions selon le programme contenu dans la mémoire de la carte et exécuté par celle-ci.
La carte peut garder en permanence la maitrise de ses communications avec l’extérieur, ce qui apporte un degré élevé de sureté.

Le microcontroleur

Les moins expérimentés en électronique pensent généralement que le microprocesseur et le microcontrôleur sont identiques, cette opinion n’est pas tout à fait exacte, en effet ces deux composants électroniques diffèrent l’un et l’autre à bien des égards.
Le microprocesseur, est un processeur dont tous les composants ont étés miniaturisés afin de pouvoir les associés dans un unique boitier. Dans un ordinateur, ce dernier exécute les instructions et traite les données, dit plus simplement, il constitue le «cerveau» de l’ordinateur.
Les microcontrôleurs quant à eux en plus d’être dotés de la puissance d’un microprocesseur ont un atout supplémentaire, en effet ils possèdent dans le même boîtier, les périphériques intégrés. Cela veut dire que le programme de l’application est en interne et non plus dans un circuit mémoire externe et que les périphériques d’entrées / sorties sont également intégrés, ce qui fait l’économie de nombreux circuits périphériques. Cette caractéristique fait que les montages deviennent encore plus simples et la programmation plus aisée (un système à base de microprocesseur, oblige le concepteur à réaliser un décodage d’adresse pour permettre au microprocesseur de ne dialoguer qu’avec un seul périphérique à la fois).
Un microcontrôleur seul peut donc gérer une application, sans faire appel forcément à d’autres circuits associés.
Le microcontrôleur possède en interne la mémoire programme contenant le programme de l’application ainsi que le port d’entrées – sorties qui va permettre au microcontrôleur de s’interfacer avec l’application.

Les microcontrôleurs PIC

De nos jours, le marché des microcontrôleurs est alimenté par de nombreux fabricants. La société Américaine  » Microchip® Technologie  » a mis au point un microcontrôleur CMOS (Complémentary Métal Oxyde Semi-conducteur): le PIC.
Les raisons d’une telle utilisation accrue de ce microcontrôleur résident dans sa simplicité d’emploi et son prix de revient. En effet, ce dernier appartient à la famille des circuits RICS. Dans un souci de bien comprendre la structure et le fonctionnement des microcontrôleurs PIC nous étudierons particulièrement le circuit 16F84.
La dénomination PIC® est sous copyright de Microchip®. Un PIC est un microcontrôleur, ou plus simplement une unité de traitement de l’information de type microprocesseur intégrant des périphériques internes permettant de réaliser des montages sans nécessiter l’ajout de composants externes.
Les microcontrôleurs RICS ont un jeu d’instructions réduit. En effet, plus le nombre d’instructions diminue, le décodage devient plus facile et plus rapide, et le composant fonctionne plus vite. Contrairement aux RISC, les microcontrôleurs de types CISC disposent de moins de vitesse de traitement, mais les instructions sont plus complexes, plus puissantes, et donc plus nombreuses.

Table des matières

INTRODUCTION GENERALE 
CHAPITRE I: GENERALITE SUR LES CARTES A PUCE 
INTRODUCTION 
I-1 qu’est-ce qu’une carte à puce
I-1-1 Les familles de carte à puce
I-2 Les normes dimensionnelles 
I-3 Position des contacts et brochages 
I-4 Les échanges de données 
I-4-1 Les cartes synchrone
I-4-2 Les cartes asynchrones
I-5 Le microcontroleur 
I-5-1 Les microcontrôleurs PIC
I-5-2 Les caractéristiques du PIC 16F84
CONCLUSION 
CHAPITRE II : REALISATION DU LECTEUR DE CARTE A PUCE 
INTRODUCTION 
II-1 Description des étapes de la conception du dispositif 
II-1-1 Réalisation et description du schéma du montage
II-2 Réalisation du circuit imprimé 
II-2-1 Routage du schéma du circuit
II-2-2 Insolation de la Plaque de cuivre
II-2-3 La révélation de la plaque insolée
II-2-4 Gravure et perçage
II-2-5 Etamage à froid
II-2-6 Assemblage et soudage
II-3 La programmation du PIC16F84 
CONCLUSION 
CHAPITRE III : LA SECURITE DES CARTES A PUCE : LA CRYPTOGRAPHIE 
INTRODUCTION 
III-1 La carte à puce : Une ressource sécuritaire 
III-2 quelques notions de cryptographie 
III-4 Sécurité 
III-4-1 Sécurité matérielle des cartes à puce
III-4-2 Sécurité logicielle des cartes à puce
CONCLUSION 
CONCLUSION GENERALE 
BIBLIOGRAPHIE 
WEBOGRAPHIE

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *