Dédicace
À mes parents pour avoir eu l'idée d'investir en
moi et surtout pour leur support indéfectible, lors de toutes ces
années d`études.
Les parents ne peuvent donner que deux choses à leurs
enfants : Des racines et des ailes. Vous avez excellé.
Merci.
Remerciements
Il est des remerciements qu'on prend plaisir à
formuler, ceux que j'ai à adresser pour ce travail de fin d'étude
fait partie de cette catégorie. Un mémoire ne peut se faire sans
le soutien de nombreuses personnes envers qui je suis très reconnaissant
et qui avaient ou ont pris une place importante pour moi.
Je crains d'oublier certains ou certaines, mais qu'elles soient
assurées que même si leurs noms ne figurent pas sur le papier, ils
resteront inscrits dans mon coeur. Je tiens tout d'abord à remercier le
Dieu tout puissant grâce à qui je suis ce que je suis !
Je tiens aussi à remercier mon directeur de
mémoire, le professeur Eugene MBUYI MUKENDI, pour sa
disponibilité et ses nombreux conseils.
Je remercie très sincèrement le chef de travaux
monsieur Jean Didier BATUBENGA, pour avoir accepté d'être mon
co-directeur et pour ces commentaires et critiques constructives qui m'ont
apporté un regard éclairant sur les contributions de ce
mémoire.
Je remercie également le professeur Jean Lubuma, Pascal
Mubenga, Nestor Anzola qui m'ont toujours aidée dans les
démarches à suivre.
Je remercie mes soeurs Gracia Lubuma, Juliana Lubuma et Maryse
Lubuma et aussi mon frère Calixte Lubuma qui m'ont toujours soutenue et
pour leur amour inconditionnel et sans limites,
J'exprime ma profonde gratitude à Gracia Ampi pour son
aide, ses suggestions et la confiance qu'elle m'a toujours
témoignée, ainsi que pour ses encouragements et principalement,
pour son amitié.
Je tiens aussi à remercier : junelle Mwaka, Marina
Lubuma, Pierret Lubuma, Mamie Lubuma, Joël Mubiala, Laure Tshika,
Bébé Ngalula, Jeancy Kalonji... Et tous ceux qui m'ont soutenue
de loin comme de près durant mes études.
J'adresse mes plus vifs remerciements à Dread Kiamputu,
Remacle Nsakoko, Adolphe Kabongo, Fortuna Ndefu, Serge Kimakinda, Ruben Meba,
Joël Pero, Yannick Ngiombo, Gloria Asabiel, Herna Nsoso, Glody Mapesa,
Achile Muyaka, Jerry Ndombola, Mardochée Mpia...
iii
Et tous les autres pour avoir partagé cette aventure
avec moi et m'avoir toujours soutenue pendant les moments les plus difficiles
de mes études. Pour moi, vous êtes déjà une partie
de ma famille.
iv
LISTES
ABREVIATIONS
A.
A.D.N : Acide DésoxyriboNucléique A.P.I :
Application Programing Interface A .T.M: Automated Teller Machine
C.
C.B : Carte Bancaire
C.C.D : Charge Coupled Devise C.M.D: Charge Modulation Devise
C.O.S: Chip Operating System C.P.U: Central Processing Unit
D.
D.A.B : Distributeur Automatique de billets D.A.S : Digital
Signature Algorithme
E.
E.A.S.T : Equipe Européenne de Sécurité des
D.A.B
E.E.P.R.O.M: Electrically Erasable Programmable Read Only Memory
E.N.I.S.A: European Network Information security agency E.P.R.O.M: Erasable
Programmable Read Only Memory
F.
FIFO: First In First Out
G.
G.A.B: Guichet Automatique Bancaire G .P.S: Gobal Positioning
System
I.
I.S.O: Interconnection System Open
M.
M.P.U: Multi-Core Processor
O.
O.S: Operating System
vi
P.
P.C: Personal Computer
P.I.N: Personal Identity Number
R.
R.A.M: Random Access Memory R .O.M: Read Only Memory R.S.A:
Rivest Shamir Adleman
S.
S.D.R.A.M: Synchronous Dynamic Radom Access Memory S.G.B.D :
Système de Gestion de Base de Données
T.
T.C.P: Transmission Control Protocol
U.
U.D.P: User Datagram Protocol UHD: Ultra Haute
Définition
U.M.L: Unified Modeling Language
vii
FIGURES
Figure I.1 : Système de contrôle-commande
Figure I.2 : Architecture d'un système temps
réel embarqué mono tache
Figure I.3 : Structure d'une approche mono taches
Figure I.4 : Architecture logicielle d'une application
contrôle commande multitâche
Figure I.5 : Les états d'une tâche
Figure I.6 : Interactions entre une tâche et noyau temps
réel
Figure I.7 : Architecture logicielle d'une application temps
réel.
Figure III.8 : Types des techniques biométriques
Figure III.9 : Les parties de la minutie
Figure III.10 : La décomposition du visage en plusieurs
images de nuances gris
Figure III.11 : Principe de la reconnaissance de formes
Figure III.12 : Résultats de la segmentation des images
d`iris
Figure III.13 : Transformation polaire
Figure IV.14 : Liens entre exigences utilisateur et
Réalisation
Figure IV.15 : Etapes à suivre pour une bonne
spécification
Figure IV.16 : Use case
Figure IV.17 : Structures d'une architecture en couches
Figure IV.18 : Les activités gérées par
le microprocessus
Figure IV.19 : Diagramme de classe
Figure IV.20 : Diagramme de séquence pour
l'exécution d'une transaction
Figure IV.21: Diagramme d'activités
viii
TABLEAUX
Tableau 1 : Avantages et inconvénient de ces
techniques
Tableau 2 : Avantages et inconvénients de l'analyse par
empreinte digitale
Tableau 3 : Avantages et inconvénients de l'analyse de
la forme de la main
Tableau 4 : Avantages et inconvénients de la
reconnaissance faciale
Tableau 5 : Avantages et inconvénients de la
reconnaissance vocale
Tableau 6 : Avantages et inconvénients de la
reconnaissance par l'analyse de l'iris
Tableau 7 : Avantages et inconvénients de la
reconnaissance par la rétine
Tableau 8 : Avantages et inconvénients de la signature
dynamique
Tableau 9 : Avantages et inconvénients de la dynamique
de la frappe au clavier
T.F.E 2015 | Benito Lubuma L2 Génie
info
INTRODUCTION GENERALE
De nos jours l'homme qui se veut moderne ne peut pas se passer de
la technologie. Dans chaque domaine de notre vie quotidienne, la technologie a
apporté une touche magique qui l'a changée d'une manière
très considérable.
Dans le domaine économique, les institutions
financières ou bancaires ne sont pas en reste. Elles ont réussi
à mettre en place, en collaboration avec les grandes firmes
électroniques un appareil électromécanique appelé
G.A.B.
En ses débuts, l'utilisation de cet appareil faisait appel
à une carte à bande magnétique. Avec l'évolution
technologique les cartes à puce ont pris la relève.
Le G.A.B demeure actuellement l'un des appareils les plus
utilisés dans le monde. Il est pour les institutions bancaires, un
appareil indispensable à faire des bénéfices grâce
aux nombreux avantages qu'il offre aux abonnés de ces institutions tels
que:
· La rapidité d'utilisation lors des paiements et
des retraits d'espèces,
· Le fait de ne plus circuler avec des espèces sur
soi,
· Sa très large acceptation par les
commerçants,
· La facilite d'effectuer les paiements en ligne,
· La réduction de l'obligation de changer de la
monnaie lors des déplacements,
· L'inclusion d'assurances et d'assistance dans l'offre,
· La préférence pour des achats courants,
en remplacement des espèces, du chèque et aussi des paiements
à l'étranger.
Malgré ces avantages cette technologie n'est pas la plus
sûre en matière de sécurité surtout avec
l'avancée de la cybercriminalité et autres types de vols des
données informatiques.
Le G.A.B est confronté à des sérieux
problèmes que ça soit du côté logiciels ou
matériels. Quand nous parlons du logiciel, nous faisons allusion au
système d'exploitation utilisé. Quand nous parlons
matériel, nous visons tout ce qui est composant matériel
utilisé pour la réalisation du G.A.B.
Nous savons que le GAB est un appareil
électromécanique, qui peut d'une manière
générale être confronté à deux types des
problèmes sécuritaires que nous avons eu à évoquer
dans le paragraphe précédent . Ces problèmes peuvent
être subdivisés en plusieurs types notamment:
· Les problèmes liés aux cartes bancaires
qui constituent les plus grands problèmes du G.A.B , sachant que les
cartes peuvent être magnétiques ou à puces,
· Les problèmes liés à
l'environnement où a été érigé le G.A.B,
· Les problèmes liés à la
technique,
· Etc.
T.F.E 2015 | Benito Lubuma L2 Génie info
2
Les institutions bancaires cherchent partout les voies, les
moyens et comment maintenir leurs clientèles. Quelle méthode
appliquée pour convaincre les non abonnés à rejoindre la
banque. Mais comme le disait ROSS ANDERSON après avoir
analysé un système de sécurité du G.A.B, il avait
conclu que plusieurs banques ne font pas suffisamment d'efforts pour
sécuriser les G.A.B.
Pour mieux comprendre ces problèmes dus à la
sécurité, nous allons essayer de répondre à ces
questions:
? Quelles sont les causes principales d'usurpation des
données de la carte bancaire lors d'une transaction dans un G.A.B?
? Quels sont les moyens mis en oeuvre par les institutions
bancaires pour sécuriser les G.A.B?
? Ces moyens sont-ils efficaces?
Une bonne réponse à chacune de ces questions
nous permettra de mettre en place un système de sécurité
plus sûr mais, le système en question doit répondre aux
exigences formulées sous forme de ces quelques questions :
? Est-ce possible d'utiliser d'autres moyens pour assurer d'une
manière plus sûre la sécurité du G.A.B?
? Est-ce que les moyens que nous utiliserons seront à
mesure de protéger les G.A.B contre les Hackers?
Depuis un certain temps, le développement des logiciels
évoluent plus rapidement que le développement des
équipements informatiques, d'où l'idée de faire
évoluer ces derniers d'une manière parallèle avec les
logiciels et cela, selon un problème bien précis à
résoudre, c'est sur ce genre d'idée que repose notre travail.
Vu la manière dont les institutions financières
dépensent l'argent pour se procurer des G.A.B et cartes bancaires en
faveur de leurs clients.
Nous proposons la mise en place d'un système de
sécurité biométrique basé sur la reconnaissance de
l'iris embarqué dans un G.A.B. Ce système utilisera la
reconnaissance de l'iris du client possédant un compte auprès
d'une banque quelconque comme étant son PIN.
Il permettra aussi de remplacer l'usage de la technologie des
cartes bancaires uniquement dans le G.A.B en rendant l'accès à un
compte bancaire d'un client précis via un G.A.B par son iris.
La mise en place d'un tel système, impliquera
obligatoirement l'évolution des G.A.B actuels en les équipant des
outils très performants pour leur bon fonctionnent.
La réalisation d'un tel projet revêt un
intérêt très considérable pour tout acteur oeuvrant
dans le secteur bancaire. D'une manière générale nous
pouvons dire que la réalisation de ce projet permettra, entre autres,
aux institutions bancaires de gagner plus de confiance vis-à-vis de
leurs abonnés en matière de sécurité.
T.F.E 2015 | Benito Lubuma L2 Génie info
3
Notre projet est basé sur la sécurisation de
G.A.B actuel et cela, face aux divers types d'attaques auxquels il peut faire
l'objet dans le monde, étant donné que le système de
sécurité qu'utilisent les GAB actuellement ne résiste pas
face aux attaques ou fraudes.
Sur ce, nous avons subdivisé notre travail en quatre
chapitres qui sont:
? Le premier chapitre qui est intitulé Le
système temps réel embarqué qui donne un aperçu
très clair sur les systèmes temps réel et embarqué
;
? Le deuxième chapitre intitulé Les GAB et les
Cartes bancaires ;
? Le troisième chapitre intitulé la
technologie biométrique et les algorithmes de reconnaissance de forme
;
? Le quatrième chapitre intitulé
Spécification, Conception et développement du système.
La méthode analytique nous a été
très bénéfique pour effectuer une bonne étude de
faisabilité de notre projet. La collecte de données a
été rendue possible par la technique documentaire qui nous a
permis de compulser les documents officiels et certains ouvrages afin de
compléter et enrichir nos informations.
Nous avons aussi fait recourt à l'interview pour
recueillir des informations très précises auprès de
certains expert en biométrie.
4
CHAPITRE IER : LE SYSTEME TEMPS REEL EMBARQUE [5] [15]
[16] [18]
I.1. INTRODUCTION
Les applications informatiques tournant sous le
système embarqué font depuis quelques décennies parties de
notre vie quotidienne. Cela est dû à une forte automatisation des
produits industriels ou à usages grand public.
La liste de ces applications informatiques tournant sous le
système embarqué est extrêmement longue. Nous pouvons en
citez quelques une :
· Avions militaires comme civils ;
· Téléphone mobile ;
· Four à micro-ondes ;
· Véhicule intelligent ;
· Guichet automatique de billet ;
· Etc.
Plusieurs domaines travaillent en collaboration pour le
développement de telles applications, dont : l'électronique,
l'automatique et l'informatique.
L'électronique est utilisée pour la
réalisation des microcontrôleurs, les processeurs
multitâches, la réalisation de circuits électroniques
dédiés...
L'automatique permet une bonne vulgarisation numérique.
L'informatique propose des méthodes de développement de
système d'exploitation embarqué.
Nous noterons que la plupart des systèmes
embarqués sont de systèmes de contrôle-commande.
I.2. DEFINITIONS
1. Système de contrôle-commande
C'est un système informatique qui assure le
contrôle d'un système physique communément appelé
procédé.
Un tel système est en communication avec
l'environnement physique externe et grâce aux capteurs ou à des
actionneurs.
D'une manière générale, le
système de contrôle-commande est celui qui reçoit des
informations provenant du procédé externe et traite ces
données en fonction du résultat ; le système évalue
une décision qui va agir sur l'environnement extérieur enfin
d'assurer un état voulu.
T.F.E 2015 | Benito Lubuma L2 Génie info
5
Figure I.1 système de contrôle-commande
T.F.E 2015 | Benito Lubuma L2 Génie info
2. Système embarqué
C'est un système informatique dont les moyens de
calcul sont embarqués sur le procédé
contrôlé. Ce système est souvent spécialisé
dans une tâche bien précise.
Le fait d'embarquer les moyens de calcul implique plusieurs
contraintes à respecter entre autres : les contraintes d'encombrement
comme le poids, la taille et la forme, les contraintes de consommation
énergétique qui regorgent dans son sein différents types
d'alimentions électriques, batteries... et surtout les contraintes
liées aux coûts de production.
3. Système temps réel
Il s'agit d'un système informatique dont l'exactitude
du fonctionnement ne dépend pas seulement du résultat mais aussi
du temps. C'est donc un système qui est soumis à des contraintes
temporelles.
Selon RAMANRITHAN les contraintes peuvent être
liées à l'environnement dû au choix de conception du
système et comprends les contraintes externes et les contraintes
internes. Les contraintes temporelles, sont des différents types
à savoir :
? Les Contraintes temporelles relatives ou lâches : ce
sont des contraintes où les fautes temporelles sont
tolérées. Nous retrouvons ce genre des contraintes dans certaines
des applications mobiles, jeux vidéo, etc.
? Les contraintes temporelles strictes ou dures : dans ce
genre de contraintes aucune faute temporelle n'est autorisée. Nous
retrouvons ce genre des contraintes dans l'aviation surtout et autres domaines
strictes au temps.
? Les contraintes temporelles ferment: ce genre des
contraintes autorisent les fautes temporelles avec une certaine limite. Ces
types de contraintes acceptent certaines erreurs pendant l'exécution du
système.
? Système multi-critiques : ce sont des
systèmes constitués des sous composant qui, eux en retour,
utilisent des contraintes temporelles. Ces derniers n'ont pas vraiment d'effets
sur le bon déroulement du système.
T.F.E 2015 | Benito Lubuma L2 Génie info
6
4. Système critique
Dans ce système informatique la moindre
défaillance cause des graves conséquences.
A titre d'exemple nous citons le G.A.B qui est un
système embarqué critique dont la moindre défaillance peut
causer de graves conséquences financières.
Nous pouvons parler aussi du système temps
réel critique lorsqu'une défaillance temporelle cause de
graves conséquences; c'est le cas du pilotage automatique d'un drone :
une moindre défaillance temporelle peut aussi causer la perte de
contrôle de l'engin.
I.3. LES CARACTERISTIQUES D'UN SYSTEME TEMPS REEL
La meilleure façon de présenter les
caractéristiques d'un système temps réel est de les
subdiviser en deux parties : les caractéristiques principales et les
caractéristiques temporelles.
I.3.1. Les caractéristiques principales
Ces caractéristiques qui font allusion au système
contrôle-commande ; sont les
suivantes :
· Grande diversité des dispositifs
d'entrée/sortie : les données à acquérir sont
fournies par les capteurs et les données que fournissent les actionneurs
sont de divers type (continu, distrait, analogique...) ;
· Prise en compte des comportements concurrents : les
données provenant de l'extérieur sont en fait des données
physiques et le réseau qui permet de recevoir ces données. Ces
deux objets ne sont pas synchronisés directement. Ainsi le
système informatique doit être capable d'accepter des telles
variations des paramètres.
· Respect des contraintes temporelles : le
système informatique doit avoir une réactivité suffisante
pour prendre en compte tous ces comportements concurrents. C'est-à-dire
effectuer des commandes dans le délai qui respecte l'état
dynamique du système afin de mieux gérer le comportement
concurrent.
· Sûreté de fonctionnement : le
système de contrôle-commande utilise souvent des applications qui
touchent à la vie humaine ou à l'économie c'est pourquoi
la sécurité est une priorité dans un tel système et
pour répondre à cette demande, il est nécessaire de mettre
en oeuvre toute les réponses de sûreté de fonctionnement
(développements surs, tests, continuité de service,
tolérance aux pannes, redondance...).
· Encombrement mémoire : dans la plupart de cas
les systèmes temps réel n'ont pas de disque et ils ont une
mémoire limitée
· Consommation d'énergie : la
quasi-totalité de systèmes temps réels de type
contrôle-commande utilisent l'énergie provenant de la batterie
T.F.E 2015 | Benito Lubuma L2 Génie info
7
I.3.2. Les caractéristiques temporelles des
systèmes temps réel
Les contraintes dont nous parlons ici sont des contraintes de
latence ou contraintes de bout en bout. Ces types de contraintes
représentent le délai maximal entre la lecture de l'état
du système et commande de celui-ci, c'est-à-dire le délai
maximal entre la lecture de l'état du système par les capteurs et
la lecture des commandes fournies par les actionneurs.
Ainsi à chaque fois qu'une trame va se
présenter sur le réseau, il faudra que le système puisse
soit la lire, soit la traiter, soit la stocker pour un usage ultérieur
sous peine de la voir remplacer par une autre. D'où le respect du
protocole de communication avec les capteurs, actionneurs ou bus de
communication et une source très importante de contrainte temporelle.
Nous pouvons présenter et définir ces
caractéristiques comme suit:
· Durée d'exécution d'une activité
: c'est la durée que met une activité d'une application sachant
que cette activité peut être un enchainement de plusieurs
activités élémentaires, telles que l'affichage, le
traitement, la commande...Cette durée n'est pas toujours la même
pour chaque occurrence de cette activité puisque les programmes ou les
enchainements de programmes ne sont pas toujours identiques.
· Périodicité d'une activité : la
périodicité d'une activité appelée aussi cadence de
répétition, revient à expliquer la
régularité liée à une fréquence
d'échantillonnage, par exemple, lors de l'acquisition de données
ou d'une commande via un actionneur.
· Date de réveil: la date de réveil
appelée aussi date de plus tôt, est une date bien
précisée, utilisée dans certains cas pour
déclencher un traitement et cela indépendamment de
l'exécution de l'application. Autrement dit cette date n'implique pas
obligatoirement l'exécution d'une application mais peut être
causée par une indisponibilité du processeur pendant un temps.
· Date de démarrage : c'est une date qui
correspond au lancement de l'exécution d'une activité.
· Date de fin : celle-ci correspond à la fin
d'une activité.
· Echéance : l'échéance
appelée aussi date au plus tard, revient à préciser que le
traitement ou la commande d'un actionneur doit se terminer à l'instant
fixé par rapport au début de l'exécution de l'application.
Dans le cas d'application à contrainte temporelle stricte, le
non-respect de cette date au plus tard, peut entrainer le non validité
de la commande ou du traitement.
· Temps de réponse : cette caractéristique
peut s'appliquer à une activité de régulation ou à
un ensemble des activités de régulation. Le temps de
réponse est directement lié au dynamisme du système. Ce
système est la différence entre la date de réveil et la
date de fin d'activité.
· Gigue temporelle : ce paramètre
caractérise la répétabilité d'une activité
au fur et à mesure de ses occurrences. En effet entre deux
exécutions successives d'une même application, ses
caractéristiques temporelles peuvent changer : date d'activation,
durée d'exécution, temps de réponse...
T.F.E 2015 | Benito Lubuma L2 Génie info
8
I.4. DOMAINES D'APPLICATIONS
Comme nous l'avons dit au début, plusieurs domaines
travaillent en collaboration pour le développement de telles
applications, tels que l'électronique, l'automatique et l'informatique
mais d'une manière un peu plus large, les systèmes temps
réel et embarqué sont utilisés dans plusieurs domaines
notamment :
· Transport (automobile, avion,
train,...)
· Produits
électriques/électroniques (caméra,
télévision, domotique, système audio, GPS,
téléphone cellulaire, console vidéo, Pda, ordinateur
portable, machine-à-laver, four à micro-ondes...)
· Contrôle de processus continus ou
discrets (production et distribution d'électricité,
production industrielle automatisée, optimisation de processeur de
transformation, contrôle de machines-outils et de chaîne
d'assemblage, robotique,...)
· Télécommunications
(satellites, téléphonie et vidéo mobiles,
réseaux Wan, routeurs...)
· Sécurité (e-commerce,
cartes à puce, authentification...)
· Santé (équipement,
hospitalisation à domicile, appareils implantés,
prothèses)
· Développement durable
(éolienne, éclairage public, chauffage...)
· Jouets et autres produits grands
publics,...
I.5. ARCHITECTURE DES APPLICATIONS TEMPS REEL ET
EMBARQUE
Il y a deux façons de construire un système
temps réel et embarqué. Cela implique directement des
architectures différentes pour les développements de leurs
applications selon le type de système temps réel et
embarqué à utiliser.
Nous pouvons construire un système temps réel et
embarqué comme étant un :
? Un générateur cyclique : c'est une approche
qui est dite mono tâche car il conduit à la réalisation
d'un programme unique dont la structure générale est une boucle
sans fin. Les capteurs captent périodiquement la dynamique du
procédé par l'échantillonnage, effectuent les calculs et
envoient les commandes aux actionneurs.
Procédé contrôlé
Application
Capteur
Actionneur
Figure I. 2Architecture d'un système temps
réel-embarqué mono tâches
9
? Un système réactif : c'est un système
multitâche qui fonctionne suite aux sollicitations de
procédé donc le système sera asynchrone.
A cause de certains besoins, nous pouvons aussi
développer un système de type hybride qui renferme les deux types
d'architecture. Dans ce, le système sera asynchrone et synchrone. Ce qui
donnera une approche multitâche dont les séquences de traitement
se dérouleront en parallèle.
I.5.1. Architecture mono tâche
Un système temps réel à une seule
tâche (mono tâche) est simple à définir, il suffit de
répéter indéfiniment la suite des tâches en
attendant un stimulus et cela par la sollicitation d'un procédé
afin d'agir en fonction du stimulus, c`est à dire réagir
après sollicitation du système.
On utilise un timer pour fixer la
périodicité à laquelle un programme sera
exécuté ou le signal va être lancé en provenance du
capteur.
Lors de l'exécution de la boucle en se
référant à un timer, le programme en question qui contient
la boucle est constitué d'un programme principal et de deux ensembles de
procédures qui sont, entre autres, les procédures de gestion des
entrée/sortie et les procédures de traitement d'un ensemble de
gestion des interruptions.
Le programme principal joue le rôle de séquenceur
rudimentaire qui enchaine l'exécution des différentes
procédures en fonctions de stimulus externes ou systématiquement
à chaque tour de la boucle. Lors de l'exécution du programme
principal, il est intéressant d'avoir un tableau d'adresses qui permet
de classer les exécutions selon un ordre déterminé.
Ce genre de système interagit avec son environnement,
soit par une interruption, soit par une scrutation cyclique ou carrément
en faisant la combinaison des deux.
Ces interruptions sont classées par leur cause et leur
arrivée c'est ainsi qu'on a les interruptions des entrée/sortie,
de page mémoire...
Principe de l'interruption : lors de l'arrivée
d'une interruption, le programme en cours d'exécution sera interrompu
à la fin de l'instruction machine en cours d'exécution et une
fois l'interruption finie le programme retrouvera son exécution normale
; l'état de la machine est sauvegardé dans une pile pour
mieux permettre la reprise après l'interruption.
I.5.1.1. Inconvénients de l'architecture mono
tâche
Ce genre de système pose un sérieux
problème d'extensibilité, comme nous faisons l'exécution
d'une application ayant une seule tâche, nous ne pouvons pas faire
évoluer une telle architecture car en faisant étendre une telle
architecture nous ne serons plus en mesure de faire tourner une application
mono tâche. Elle risquera même de produire des résultats
erronés. Or, un tel résultat pour un système temps
réel et embarqué aura des conséquences.
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
10
I.5.1.2. Structure d'une approche mono tâche
Initialisation
Acquisition de données
Traitement Primaire
Ecriture de sortie Envoie des commandes
Traitement Secondaire
Figure I. 3 Structure d'une approche mono
tâches
I.5.2. Architecture Multitâche
Le développement d'un système multitâche
exige deux types d'architecture qui doivent être utilisées
conjointement. Il s'agit d'une architecture matérielle et d'une
architecture logicielle.
I.5.2.1. Architecture matérielle
L'architecture matérielle est constituée des
interfaces permettant de piloter le procédé et de recueillir des
informations en provenance de ce dernier. Comme exemple, nous avons les cartes
d'entrée/sortie qui peuvent être analogique ou
numérique.
I.5.2.2. Architecture logicielle Multitâche
L'architecture logicielle permet d'assurer le bon
fonctionnement du système. Cette architecture est la mieux
adaptée pour un système temps réel embarqué
utilisant plusieurs tâches qui s'exécutent d'une manière
simultanée (fonctionnant en parallèle). Elle conduit
naturellement à adapter les méthodes de conception et de
réalisation de système de contrôle-commande d'un tel
environnement à ce parallélisme.
Dans une telle approche les tâches sont
considérées comme étant des agents autonomes. Dès
lors une tâche peut être définie comme une entité
d'exécution et de structuration d'une application.
Cette architecture facilite la conception et la mise en oeuvre
et surtout augmente l'évolutivité de l'application
développée.
Suite à la forte présence du parallélisme
dont le système fait face, ce dernier doit être en mesure de
gérer la synchronisation des tâches, l'accès concurrent des
tâches à des ressources partagées, l'ordonnancement des
tâches et la communication.
D'une manière générale, il existe deux
types de tâche : tâche immédiate et tâche
différée. Les tâches immédiates sont des
tâches programmées et servant d'interface entre le système
et son environnement. On peut utiliser les mécanismes d'interruption
pour réaliser son exécution.
Les tâches d'entrée/sortie, les tâches de
gestion de l'interface de l'utilisateur, tâches de communications
constituent les tâches immédiates.
? Tâches d'entrée/sortie : ces tâches
permettent d'accéder aux données externes par
l'intermédiaire des cartes d'entrée/sortie et en suite par des
capteurs, des actionneurs directement liés au procédé
géré.
? Tâches de gestion de l'interface de l'utilisateur :
ces tâches comme leur nom l'indique, permettent à l'utilisateur de
mieux gérer le procédé en lui présentant son
état actuel, à l'aide d'une interface qui peut être soit un
tableau de bord ou encore une interface graphique en 3D.
? Tâches de communications : celles-ci permettent de
gérer les messages envoyés et reçus provenant de plusieurs
réseaux ou bus ; si ces genre des tâches existent alors le
système est dit distribué.
Les tâches différées sont celles qui ne
peuvent être activé que par demande. Les tâches de
traitement et les tâches de sauvegarde constituent les tâches
différées.
? Tâches de traitement : ces tâches constituent le
coeur de l'application. Car elles intègrent des traitements des signaux
(analyse spectrale, corrélation, traitement d'images, etc.) ou des lois
de commande (régulation tout ou rien, régulation du premier ordre
régulation PID...).
? Tâches de sauvegarde : ces taches permettent de
sauvegarder l'état du système à des instants fixés.
elles peuvent aussi être utilisées à postériori pour
analyser le fonctionnent d'une application ou lors de la reprise de
l'exécution à une étape précédente.
Les tâches ainsi obtenues qui constituent l'application
de contrôle-commande ne sont pas des entités d'exécution
indépendante car les tâches immédiates sont en
communication avec l'extérieur et en même temps en communication
avec les tâches différées. Ce système devra
gérer des problèmes comme celui de la synchronisation pour une
relation de présence d'exécution entre les tâches ; la
communication pour un transfert de données entre
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
12
les tâches et le partage de ressources pour faciliter le
partage de ressources telle que la zone mémoire qui est une ressource
commune pour toutes les tâches.
Figure I. 4 Architecture logicielle d'une application
contrôle-commande
Une tâche contient au minimum un état, une
identité et un nom. Une tâche est constituée de trois zones
mémoires qui sont zone programme, zone donnée et zone pile. La
zone programme contient les instructions du programme ; la zone donnée
et la zone pile contiennent respectivement les données servant au
traitement se trouvant dans la mémoire de la tâche et la
manière dont elles sont classées.
? Un contexte d'exécution d'une tâche peut
être défini comme étant l'ensemble des informations
strictement nécessaire à un processeur pour assurer son
exécution
? Un contexte mémoire d'une tâche c'est la zone
mémoire propre à une tâche dans laquelle est rangé
le contexte d'exécution de la tâche lorsqu'elle n'est pas en cours
d'exécution. ? La périodicité d'une tâche temps
réel fait allusion à l'échéance d'une
tâche.
Une tâche a tout au plus quatre opérations qui
sont : la création, la destruction, le démarrage et
l'arrêt. Une tâche temps réel est caractérisée
par sa date de début et celle de la fin.
I.5.2.3. Modèle d'exécution et
d'ordonnancement
Un système temps réel est un système
multitâche où chaque tâche est soumise à des
contraintes temporelles. L'architecture logicielle multitâche est aussi
vue comme étant un ensemble des tâches communicantes,
synchronisées et partageant des ressources critique qui sont souvent
très limitées. Ainsi fait-il appel à l'ordonnancement pour
une bonne gestion de ces ressources.
Pour permettre une bonne gestion de ces ressources et une
bonne synchronisation des tâches, il s'avère nécessaire de
connaitre les différents états d'une tâche.
13
BLOQUE
ELU
PRET
T.F.E 2015 | Benito Lubuma L2 Génie info
Figure I. 5 les états d'une tâche
Une tache est dite en état :
? Bloqué : lorsque cette tâche a
été exécutée mais ne peut pas poursuivre son
exécution suite à une raison logique.
? Elu : lorsqu'elle est en cours
d'exécution, elle peut être arrêtée même si
elle peut poursuivre son exécution.
? Prêt : il s'agit de l'état
d'une tâche qui a été suspendue provisoirement afin de
permettre l'exécution d'une autre tâche, ou une tâche qui
attendait les données et vient de les recevoir mais, constate que le
processeur est toujours occupé par une autre tâche.
L'invocation d'un ordonnanceur est sollicitée lorsqu'il
y a soit l'arrivée d'une tâche dans la liste des tâches
prêt à exécuter, soit lorsque une tâche passe d'un
état élu à état bloqué.
L'ordonnancement est un point crucial des systèmes
temps réel car il va déterminer le comportement temporel et
être le garant du respect des contraintes temporelles imposées
lors de l'exécution de l'application.
Sachant que toutes les tâches ne peuvent pas
s'exécuter toutes de la même façon, on fait appel à
la priorité des tâches qui permet à l'ordonnanceur d'avoir
des informations sur une tâche pour lui permettre de la classer selon un
ordre bien défini.
D'où nos deux types de priorité qui est la
priorité variable et la priorité fixe. Une priorité est
dite fixe lorsqu'une tâche hérite des priorités de la
tâche mère.
Une priorité est dite variable lorsque son
fonctionnement dépend de la fonction de temps d'attente. Dans un
système temps réel une tâche ne peut jamais être
bloquée par une tâche de priorité plus basse qu'elle. Une
tâche ne cède la main à une autre tâche de même
priorité que volontairement. On peut prévoir le comportement d'un
système temps réel si on connait certaines
caractéristiques des tâches telles que :
? La loi d'arrivée et ;
? Le temps de traitement.
T.F.E 2015 | Benito Lubuma L2 Génie info
14
A. Types d'algorithmes d'ordonnancement
Nous distinguons plusieurs types d'algorithmes d'ordonnancement
dont on peut
citer :
1. Algorithmes hors ligne et en ligne ;
2. Algorithmes préemptifs et non préemptifs ;
3. Algorithmes centralisés ou répartis.
1. Algorithme d'ordonnancement hors ligne :
ce type d'algorithme d'ordonnancement correspond à la construction d'une
séquence d'exécution complète basée sur des
paramètres temporels des tâches en utilisant une
modélisation (réseaux de Pétri) ou une simulation
(animation ou énumération du modèle). L'ordonnanceur est
simple puisque la séquence d'exécution est
prédéfinie, il est réduit à un séquenceur et
comme conséquence l'application est peu flexible.
2. Algorithme d'ordonnancement en ligne :
cet algorithme permet à l'ordonnanceur de faire un choix dynamique de la
prochaine tâche et cela en fonction des paramètres
d'exécution de la tâche. Lorsque le système a des
contraintes temporelles, il est préférable de mettre en place un
système des tests qu'on appelle tests d'ordonnançabilité.
Ce système permettra de vérifier qu'en toutes circonstances les
contraintes temporelles seront respectées.
3. Algorithme d'ordonnancement préemptif
: cet algorithme permet à l'ordonnanceur d'interrompre une
tâche à n'importe quel instant et d'affecter le processeur
à une autre tâche. Dans ce cas, le temps de réponse
à un événement extérieur peut être
très court ; mais nous aurons un problème lors de la
programmation car elle sera très complexe.
4. Algorithme d'ordonnancement non préemptif
: cet algorithme permet à l'ordonnanceur de n'interrompre une
tâche qu'à la demande de celle-ci. Dans ce cas, le temps de
réponse peut être assez long.
5. Algorithme centralise : l'ordonnancement
est centralisé s'il s'exécute sur une architecture
centralisé ou sur un site privilégié de l'architecture
distribuée qui contient l'ensemble des paramètres des
tâches.
L'ordonnancement est reparti lorsque les décisions
d'ordonnancement sont prises sur chaque site par un ordonnancement local,
après une éventuelle coopération pour effectuer un
ordonnancement global.
Dans ce dernier cas, peuvent aussi intervenir les placements
des taches sur un site et leur migration d'un site à un autre.
B. Politique d'ordonnancement classique
D'une manière classique l'ordonnancement peut se faire
selon une certaine stratégie comme la stratégie d'ordonnancement
sans recyclage des travaux et l'ordonnancement avec recyclage des travaux.
15
L'ordonnancement sans recyclage des travaux renferme en son
sein des techniques d'ordonnancement telle que : file d'attente simple (FIFO),
file d'attente ordonnée suivant le temps estimé
d'exécution.
L'ordonnancement avec recyclage des travaux lui, renferme les
techniques d'ordonnancement suivantes : l'ordonnancement circulaire
(tourniquet, round-robin), l'ordonnancement par priorité avec une seule
tâche par niveau de priorité et l'ordonnancement par
priorité avec files multiples.
Nous pouvons distinguer deux modèles d'exécution
dans un système temps réel embarqué qui sont le
modèle d'exécution synchrone et le modèle
d'exécution asynchrone.
Le modèle d'exécution synchrone. Ce type
d'exécution permet une synchronisation directe entre le système
informatique et le procédé. Mais du point de vue interne ce
modèle traite l'occurrence des événements du
système d'une manière différée par rapport à
son temps d'exécution ceci pour permettre aux tâches en cours
d'exécution par l'environnement extérieur du (système
informatique) d'arriver au bout.
Dans le modèle d'exécution asynchrone,
l'occurrence de tout événement est directement prise en compte
par le système pour tenir compte de son urgence ou de son importance.
Donc, d'une manière interne, le système informatique n'est pas
directement synchronisé avec le procédé. En quelque sorte,
ce modèle d'exécution utilise l'algorithme d'ordonnancement en
ligne ayant des tâches préemptives.
Ainsi l'architecture logicielle d'une application temps
réel est composée de plusieurs tâches
réalisées par le concepteur d'un environnement spécifique
et d'un noyau temps réel. Le point central de cet environnement est
l'ordonnanceur car il permet d'affecter au processeur, à chaque instant,
une tâche afin de respecter l'ensemble des contraintes temporelles
attachées à la gestion du procédé.
I.5.3. Exécutif ou noyau temps réel
L'exécutif ou le noyau temps réel peut
être assimilé comme étant un système d'exploitation
de petite taille dédié aux applications de
contrôle-commande. Sa caractéristique principale est son
déterminisme d'exécution avec des paramètres temporels
fixés.
Le noyau est la partie fondamentale d'un
système d'exploitation. Etant donné qu'une application temps
réel est un système multitâche, le noyau temps réel
a pour rôle essentielle de gérer l'enchaînement et la
concurrence des tâches en optimisant l'occupation de l'unité
centrale du système informatique. C'est-à-dire, gérer les
ressources matérielles et permettre aux différents composants
matériels et logiciels de communiquer entre eux.
Pour plus de détail, nous scindons en trois parties les
fonctions qu'occupe un noyau
temps réel :
1. Gestion des entrées/sorties : gestions des
interruptions, gestion d'interfaces d'entrée/sortie, gestion de
réseaux de communication...
2. Ordonnancement des tâches : organisation de
fonctionnement normale, surveillance,
T.F.E 2015 | Benito Lubuma L2 Génie info
16
changement de mode, traitement des surcharges...
3. Relation entre les tâches : communication,
synchronisation,
4. accès aux ressources critiques, gestion du temps...
Il est à noter que le noyau temps réel n'est
actif que lorsqu'une tâche le sollicite et cela via une requête.
L'ensemble de ces requêtes sollicitant le noyau est servi par un module
du noyau qu'on appelle primitive.
Figure I. 6 Interaction entre une tache et noyau temps
réel
Le noyau temps réel réactive une tâche de
l'application selon un algorithme d'ordonnancement et en générale
le noyau temps réel centralise toutes les demandes d'activation des
tâches et les tables qui permettent de gérer les priorités
ou les urgences des tâches et aussi de vérifier les états
des tâches
D'une manière générale on peut
représenter l'architecture logicielle d'une application temps
réel comme suit :
Figure I. 7 Architecture logicielle d'une application temps
réel
Dans le cas d'un système temps réel à
contraintes temporelles strictes, l'ordonnanceur a pour objectif principal de
répondre aux cas suivants :
? Faute temporelle : correspond au dépassement de la
date de fin d'exécution ou d'une échéance et cela conduit
à la notion d'urgence.
? Surcharge : l'accumulation de plusieurs fautes temporelles
peut entrainer l'ordonnanceur à agir d'une manière à
supprimer certaines tâches ce qui conduit à la notion d'importance
des tâches. C'est-à-dire, le choix d'une tâche à
s'exécuter par rapport aux spécifications fonctionnelles de
l'application.
T.F.E 2015 | Benito Lubuma L2 Génie info
17
I.5.4. Implémentation des applications de
contrôle-commande
Le développement d'une application informatique selon
le concept du génie logiciel peut être découpé en
plusieurs activités. Ces activités constituent le cycle de vie
d'une application. Il existe plusieurs méthodes et outils qui prennent
en compte les aspects techniques qui sont proposés pour la maitrise du
processus de développement d'un logiciel.
Le modèle en V considéré comme le plus
complet des modèles de développement logiciel grâce
à l'intégration des tests à chaque étape du
développement. Cependant ce modèle s'avère non
approprié pour le développement des applications temps
réel. D'où la création du modèle W qui est en fait
la combinaison de deux modèles en V qui se suivent. Le premier V
consiste à mettre en place la spécification, la conception
unitaire et détaillée, les codages, les tests unitaires et
d'intégration et le second V décrit tout ce qui est
matériel pour permettre au système développé
d'interagir avec le procédé.
La notion de spécification d'une application dans un
système temps réel revient à décrire comment le
système doit gérer les aspects suivants:
· La concurrence
· La synchronisation
· Manipulation du temps
I.5.4.1. Inconvénients des applications de
contrôle-commande
Etant donné que le développement d'une
application temps réel et embarqué n'est pas assez aisé,
cela pose un sérieux problème pour la maintenance des
applications déjà développée : la maintenance est
presque impossible et les conséquences d'une application mal
développée sont souvent tragiques. C'est pourquoi l'usage d'une
bonne méthode pour le développement est très important.
I.5.4.2. Les langages de développement des
applications de contrôle-commande
Les langages de développement des applications
contrôle-commande sont très divers et cela dépend de
l'environnement d'exécution. Pour des applications temps réel,
l'environnement d'exécution est le noyau temps réel qui a trois
fonctionnalités (la gestion des interruptions, l'ordonnancement,
relation entre les tâches). C'est par rapport à ces
fonctionnalités qu'il faudra choisir un langage de programmation
approprié.
a. Besoins : le langage de programmation choisi
doit respecter les besoins suivants :
· Expressions des contraintes temps ;
· Expressions et gestion du parallélisme ;
· Spécification et gestion des
périphériques de bas niveau (entrée/sortie) ;
· Modularité ;
· Interfaces avec d'autres langages.
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
18
b. Famille de langages : il est possible de
décliner les langages en trois familles distinctes selon leurs
spécifications ; nous avons :
? Langages assembleurs ;
? Langages séquentiels liés à des librairies
système ;
? Langages concurrents de haut niveau ; cette famille de langages
concurrents est subdivisé en deux groupes : langages synchrones et
langages asynchrones.
Langages assembleurs : d'une manière
historique, ces langages furent longtemps les seuls utilisés pour le
contexte des systèmes temps réel. Ils dépendaient
extrêmement de la nature de l'architecture cible (matériel et
système d'exploitation) mais leurs plus grands inconvénients
étaient de ne pas offrir une abstraction possible : difficulté de
développement de la maintenance et l'impossibilité
d'évolution. Actuellement, ces langages sont considérés
comme proscrits d'une manière générale, sauf pour le
développement des petites fonctionnalités très
spécifique apportant des améliorations des performances.
Langages séquentiels liés à des
librairies système : ce sont des langages
considérés comme étant de standard tels que le C, C++,
fortran... Ces langages offrent un grand pouvoir d'abstraction et une certaine
indépendance du matériel mais, ils doivent faire appel à
des librairies systèmes spécifiques pour une bonne manipulation
des processus. Souvent ces langages posent un problème de
standardisation des appels système. Le noyau temps réel qui
supporte ce type des langages doit être complet car ces langages
n'intègrent aucune spécificité multitâche.
Langages concurrents de haut niveau : ce sont
des langages généralistes qui permettent de décrire une
application en termes de tâches. Ces langages ont les avantages d'un haut
pouvoir d'abstraction, d'une indépendance totale des architectures et
systèmes cibles. Parmi ces langages nous pouvons citer Java et Ada qui
sont les plus aboutis. Ainsi, le noyau temps réel peut être
réduit en ne comportant que la partie gestion des interruptions et
l'ordonnancement. Ces langages sont à privilégier lorsque
d'autres contraintes ne rendent pas leurs choix impossibles.
En ce qui concerne les langages concurrents de haut niveau
d'abstraction de type synchrone, nous pouvons dire que ce sont
des langages qui donnent non seulement la possibilité de décrire
les fonctionnalités du programme mais aussi l'enchaînement de
différentes parties. Ces types de langages sont souvent associés
à des langages standards pour pallier au problème de manque
d'aspect fonctionnel. Pour ces langages, le noyau peut ne comporter qu'une
seule couche, celle de la gestion des interruptions qui est liée du
côté matériel. De ces langages nous pouvons citer Lustre,
Esterel, Signal...En ce qui concerne ceux qui sont de type asynchrone
nous pouvons dire que ce sont des langages qui ont la
difficulté de garantir le déterminisme. Parmi ces langages nous
pouvons citer SDL, UML...
T.F.E 2015 | Benito Lubuma L2 Génie info
19
I.6. QUELQUES EXEMPLES D'APPLICATIONS TEMPS REEL ET
EMBARQUEES
NOUS POUVONS DONNER QUELQUES EXEMPLES CONCRETS DES
APPLICATIONS TEMPS REEL ET EMBARQUEES :
IJINUS : Projet « Capteur US sans fil »
: nous savons que l'électronique et les matières
explosibles (carburants, matières ensilées...)
ne font pas bon ménage! Pourtant, une jeune société
quimpéroise, IJINUS, a réussi le pari de créer un capteur
Ultra Son sans fil, compact, capable de mesurer des matières dangereuses
avec précision.
Quel que soit l'état et la forme de la surface de la
matière (congères, crevasses, ...) dans le silo, le capteur
associé à «
ijitrack.com » offre la
première solution de télégestion des stocks pour les silos
de 1 à 25 m de haut et permet une visualisation de la qualité de
la mesure par l'imagerie acoustique.
Ainsi, ce produit innovant réduit les
déplacements entre les sites, élimine le risque de tomber d'un
silo et les ruptures ou les surcharges de stock, détecte des anomalies
de consommation, de température et surtout apporte de manière
numérique et en temps réel la preuve de la livraison.
Pilotage d'un procédé de fabrication
: par exemple la fabrication d'une bobine d'aluminium (laminage
à froid) exige un contrôle en temps réel de la
qualité (épaisseur et planéité). Cette
vérification en production de la planéité nécessite
une analyse fréquentielle (FFT) qui induit un coût important de
traitement. Le système doit donc réaliser l'acquisition d'un
grand nombre de mesures (246 Ko/s) et traiter ces données (moyenne,
FFT...) à la période de 4 ms. Ensuite, il affiche un compte-rendu
sur l'écran de l'opérateur toutes les 200 ms et enfin imprime ces
résultats détaillés toutes les 2 s. Un fonctionnement non
correct de ce système de contrôle de la qualité peut avoir
des conséquences financières importantes : production non
conforme à la spécification demandée
T.F.E 2015 | Benito Lubuma L2 Génie info
20
CHAPITRE II : LES G.A.B ET LES CARTES BANCAIRES
[4] [21] [22] [23] [24]
La révolution de la technologie en matière de
l'information et de la communication, a permis de mettre en place de nouvelles
formes de distribution des services bancaires telle que la banque à
distance et cela a poussé les établissements financiers à
une stratégie multicanale.
Pour répondre aux besoins de leurs clients, les
établissements financiers ont eu à développer en
collaboration avec d'autres établissements d'ingénieries
informatiques des équipements informatiques spécialisées
qui feront office de ces établissements financiers dans certains
endroits. Parmi ces équipements informatiques nous pouvons citer les
cartes bancaires, les G.A.B... Les deux équipements informatiques
cités ci-haut feront l'objet de ce chapitre.
II.1. LES G.A.B
Sous la pression technologique, les établissements
financiers ont été contraints de proposer des nouveaux canaux
d'accès à leurs produits qui constituaient les banques à
distance.
La banque à distance peut être définie
comme étant toute activité bancaire destinée à un
client ou prospect se déroulant à partir d'un point de service
électronique utilisant un système de
télécommunication.
II.1.1. Historique
Vers 1964, la société suédoise
Metior fut la première à avoir fabriqué
les premiers distributeurs de billets de banque reliés entre eux par des
liaisons téléphoniques.
Le 27 juin 1967, à Enfield town au
Nord de Londres fut installé le premier distributeur connu par Barclays.
John Shepherd-Baron est considéré en grande Bretagne comme
étant l'inventeur du D.A.B.
Les premiers D.A.B acceptaient un reçu à usage
unique, qui était stocké dans l'appareil. Ces reçus,
fabriqués par des matériaux magnétiques émettant
des ondes radio, une simple modification du reçu suffisait pour le
rendre inutilisable.
Les premiers G.A.B parlant pour le mal voyant fut apparu en
1995 au canada et compte jusqu'à plus de 30000 G.A.B parlant aujourd'hui
en Amérique.
T.F.E 2015 | Benito Lubuma L2 Génie info
21
II.1.2. Définitions et Utilisations
A. Définitions
G.A.B : Guichet Automatique Bancaire, est un
appareil électromécanique permettant aux clients d'effectuer des
différentes transactions bancaires en libre-service.
D.A.B : Distributeur Automatique de Billets,
c'est une extension du guichet automatique bancaire mais ce dernier a comme
spécificité de n'effectuer que les retraits des billets de
banque.
A.T.M : Automated Teller Machine, c'est
l'équivalent de G.A.B en Amérique du nord ou dans le pays
Anglo-Saxon.
B. Utilisations
Dans la plus part des G.A.B modernes, le client insère
une carte en plastique munie d'une bande magnétique ou d'une puce qui
contient un numéro unique pour la carte et diverses informations de la
sécurité, telles la date d'expiration de la carte ou un code
d'authentification.
Pour avoir accès à son compte, le client doit
saisir le PIN ayant quatre à quinze chiffre. Si le PIN saisit est
incorrect, et cela, plusieurs fois de suite, le G.A.B sera obligé
d'avaler la carte pour raison de sécurité.
Au moyen d'un guichet automatique bancaire les clients peuvent
aussi payer leurs factures ou encore faire des achats en
prépayé.
II.1.3. Matériels et Logiciels
Le G.A.B est un équipement
électromécanique. Nous allons parler d'une manière un peu
brève de sa structure interne.
A. Matériels
Le G.A.B est un guichet automatique qui a été
conçu pour une installation dans des locaux extérieurs. Au niveau
matériel, il dispose d'un écran et d'un clavier numérique,
ou carrément d'un écran tactile, pour permettre au client de
rentrer son code personnel et de choisir la somme à retirer.
Un lecteur de carte afin d'insérer la carte bancaire,
et permettre, grâce à la puce de cette carte, de vérifier
sa validité. Il dispose également d'un coffre-fort conçu
pour quatre cassettes de distribution au maximum et d'une cassette
rejet/retrait, selon la valeur des billets.
22
Afin de sécuriser ces cassettes, elles sont parfois
munies d'un certain système de sécurité, tels des gaz
incapacitants, ou de l'encre indélébile. Ce système de
sécurité s'enclenche en cas d'ouverture forcée de la
cassette.
Pour d'autres caractéristiques d'équipements,
nous pouvons utiliser comme exemple le ProCash2150xe qui est l'un des G.A.B le
plus utilisé. Il comprend les éléments suivants :
· Ecran (moniteur LCD 12») ;
· Clavier d'introduction (clavier PIN) ;
· Lecteur de cartes ;
· Compartiments de rejet de cartes ou boitier de rejet de
carte fermant à clé ;
· Imprimante de ticket de caisse ;
· Imprimante à journaux ;
· Electronique spéciale ;
· Coffre-fort ;
· Bloc d'alimentation ;
· Distributeur secteur ;
· Unité système.
La plupart des G.A.B sont connectés à un
réseau interbancaire, ce qui facilite le retrait et le
dépôt dans des G.A.B n'appartenant pas à la banque
où le client possède un compte.
De plus, les G.A.B installés contiennent de moins en
moins de circuits intégrés spécialisés (la plus
tourne sous un processeur Intel p4) et font de plus en plus appel à un
PC disposant d'un système d'exploitation courant.
D'une manière générale ; le distributeur
de billets utilise aujourd'hui des composants similaires à ceux d'un PC
(carte mère, CPU, disque dure).
B. Logiciels
La partie logicielle est basée sur un système
d'exploitation comme linux, ou Windows. La plupart de G.A.B utilise Windows XP.
Le distributeur de billets est connecté à un réseau
bancaire (grâce au mode intégré dans le G.A.B) permettant
à la machine de vérifier les informations comme le code
personnel, la validité de la carte, l'identité de la personne
(censée posséder la carte), le solde restant sur son compte en
banque.
Le processeur du G.A.B assure le chiffrement des
données utilisateurs, qui ne sont bien sûr pas stockées sur
le disque dur du G.A.B, mais directement envoyées au serveur bancaire
pour comparaison.
Le réseau G.A.B d'une institution bancaire est un
réseau très important et complexe. Il se divise en deux parties,
une partie agence et une autre partie principale et centrale.
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
23
Le réseau G.A.B de l'institution bancaire se constitue
d'un G.A.B relié directement au réseau local de l'institution
bancaire via le protocole TCP/IP, et que la présence d'un SWITCH, d'un
ROUTEUR et d'un MODEM (ligne spécialisé) permet au G.A.B de
transmettre ses données confidentielles via une connexion
spécialisée au central de l'institution bancaire. Toute
transaction auprès du G.A.B de l'institution bancaire doit aboutir au
central principal afin qu'elle soit traitée par le serveur
monétique et être sauvegardée dans la base de
données de l'institution bancaire.
II.1.4. Fiabilité et sécurité
Tout ce qui est fiable suscite la confiance du client surtout en
matière d'argent.
A. Fiabilité
D'une manière générale, les G.A.B sont
assez fiables raison pour laquelle ça existe toujours et fait l'objet de
plusieurs types de sollicitations partout dans le monde ; mais cela n'exclus
pas de bègues du système et souvent ces bègues sont en
défaveur des clients. Dans certains cas ces bègues peuvent aussi
être en faveur du client. Par exemple, un guichet automatique qui donne
de l'argent sans débiter le compte du client ou encore un G.A.B qui
donne des billets de plus forte valeur que ce qui est affiché.
Les causes de ces bègues peuvent être
mécaniques (clavier brisé, lecteur de carte défectueux...)
comme informatique mais ce dernier arrive un peu plus souvent (système
d'exploitation en faute des pilotes, réseaux en panne de façon
intermittente...).
La sécurité du G.A.B demeure donc un
problème à la suite de l'avancée technologique et de la
cybercriminalité.
B. La sécurité du
G.A.B
Comme les institutions financières sont de moins en
moins braquées, les criminels se sont tournés cers les G.A.B, en
faisant appel, dans la plupart de cas aux nouvelles technologies pour y
parvenir.
Ross Anderson, un spécialiste de la cryptographie,
avait eu à analyser certains systèmes des G.A.B et il avait
conclu que la plupart des institutions bancaires ne fournissent presque rien
comme effort pour sécuriser les G.A.B.
Avec la hausse du nombre des distributeurs automatiques, un
nombre considérable de délit sur les G.A.B a été
observé. Un rapport récent de l'ENISA montre que les fraudes
liées au G.A.B ont grimpé de 149% durant ces trois
dernières années et ils ont relevé plus de 10302 cas de
vol des données en Europe.
Selon le même rapport, le cas d'agression physique sur
les G.A.B a augmenté de plus de 32%. Selon les services secrets
américains, les pertes dues à la fraude sur les G.A.B dans le
monde sont estimés à environ 1 milliards de dollars à 350
000 dollars par jour.
T.F.E 2015 | Benito Lubuma L2 Génie info
24
D'une manière pratique on peut repartir les attaques
dont les G.A.B font objets en deux groupes : les attaques traditionnelles et
les attaques modernes.
1. Les attaques traditionnelles :
Le mot traditionnel semble être le mieux adapté
pour ces types d'attaque car elles se font de plus en plus rares. Les attaques
dites traditionnelles sont celles qui reposaient sur la percussion d'un G.A.B
en s'emparent du coffre-fort.
Pour y remédier les institutions financières ont
eu à développer certaines méthodes et techniques qui ont
découragé les gens qui prenaient plaisir à attaquer les
G.A.B de la sorte. Parmi ces méthodes et techniques nous pouvons citer
:
· La technique de marquage des billets qui les rendent
inutilisables une fois que le G.A.B a été percuté.
· Les G.A.B équipés de gaz incapacitant ;
· Les G.A.B ne possédant pas un coffre-fort :
dans ce cas de figure le G.A.B ne contient pas de billets, lorsqu'un client
termine la transaction, il imprime le coupon qu'il devra remettre au magasin et
c'est à ce dernier de lui remettre de l'argent.
D'autres types de fraudes sont dus à des erreurs des
institutions financières, mais ces derniers sont très rares la
fraude étant basées sur l'insertion par erreur des faux billets
de banque dans le G.A.B par des institutions financières ce qui incite
les clients à profiter de la situation.
2. Les attaques modernes :
Ces attaques sont dites modernes suite aux moyens
utilisés par les personnes mal intentionnées pour réussir
leur mission. Les hackers usent des moyens technologiques très
avancés pour contourner le système de sécurité mis
en place par les institutions financières. Il existe plusieurs types
d'attaques dites modernes dont nous pouvons citer :
· Le skimming ;
· Technique du collet marseillais ;
· Piratage par impression en 3D ;
· Usurpation des données de la carte
· Retraits fantômes.
2.1. Le skimming :
Le skimming est certes une activité de détente
sur les plages, mais c'est aussi une pratique frauduleuse basée sur le
piratage et le clonage de cartes bancaires.
Le skimming est une activité frauduleuse qui consiste
à pirater des cartes bancaires, notamment depuis les distributeurs de
billets. Elles sont dupliquées et utilisées à
l'étranger, au détriment de leurs propriétaires, et de
leurs comptes bancaires.
T.F.E 2015 | Benito Lubuma L2 Génie info
25
Le skimming s'exerce surtout à partir des distributeurs
de billets trafiqués pour l'occasion, mais également depuis des
stations essence automatique, des commerçants, ou même sur
internet.
2.1.1. Fonctionnement du skimming :
Pour pirater et cloner une carte bancaire, un skimmers a
besoin de deux types d'information : les données stockées sur la
carte (coordonnées bancaires) et le code personnel à quatre
chiffres (PIN). Ces informations peuvent être
récupérées via les distributeurs automatiques de billets,
en les modifiant légèrement :
? Avec le remplacement du lecteur de la carte par un
dispositif pirate : la fente censée accueillir votre carte n'est plus
celle de distributeur, mais celle conçu par un pirate. Elle est
reliée à un téléphone, qui reçoit en temps
réel les coordonnées bancaires des cartes scannées.
? Avec un dispositif de surveillance pour obtenir le code
à quatre chiffres : il s'agit généralement d'une
caméra pirate, cachée dans le plafonnier du distributeur.
Certains skimmers utilisent également des faux claviers
numériques posés par-dessus le clavier original, qui transmettent
à distance les codes saisis par les utilisateurs. Cette technique, bien
plus efficace, est aussi assez couteuse et donc moins courante.
Etant donné le coup d'un dispositif de skimming, il
n'est pas rare que les skimmers restent à proximité du
distributeur qu'ils ont piraté, pour mieux surveiller leur
matériel.
Une fois les données de la carte obtenues, les skimmers
les copient sur des cartes vierges (appelées white cards). Ces clones de
cartes bancaires sont ensuite envoyés et vendues dans des pays
étrangers où les paiements par carte ne sollicitent que la bande
magnétique et non la puce électronique plus
sécurisée.
Les propriétaires des cartes clonées remarquent
alors des paiements inhabituels sur leurs relevés de compte,
effectués depuis des pays étrangers où ils ne se sont
jamais rendus. Dans ce cas, ils doivent entamer une procédure de
remboursement auprès de leur établissement bancaire mais cette
procédure ne tourne toujours pas en faveur du client.
D'après EAST (équipe européenne de
sécurité des DAB), l'Europe a connu une hausse de 13% des fraudes
sur les distributeurs automatiques de billets entre 2011 et 2012 pour un
montant de fraude estimé à 256 millions d'euros.
T.F.E 2015 | Benito Lubuma L2 Génie info
26
3. Technique de collet marseillais :
Cette attaque est connue sous le nom de collet marseillais ou
vol à la marseillaise pour rappeler à une technique de vol
très connue au marseillais et qui ressemble un peu à la technique
de pickpocket.
Du point de vue attaque du G.A.B cette technique à
voler les cartes bancaires dans les distributeurs de billets de banque à
l'aide d'un collet introduit dans la fente de la machine ou plus
précisément, dans le conduit ou passe la carte. Le client
désirant retirer de l'argent, introduit sa carte, mais celle-ci va
rester bloquer dans la machine et sera récupérée par le
voleur par la suite.
3.1. Fonctionnement du collet marseillais :
Apres avoir récupéré la carte, le
présumé voleur sera dans l'obligation d'avoir le code à
quatre chiffres mais pour ce faire, ces voleurs ne sont jamais bien loin de
leurs victimes.
Soit il sera juste derrière la victime au début
de la transaction et mémorisera son code au moment où il le
compose ou alors se présentera à lui une fois que ce dernier se
rendra compte que sa carte bancaire est coincée dans la machine,
Il lui expliquera alors qu'il lui est arrivé aussi la
même chose et qu'en recomposant son code, sa carte est ressortie. Les
naïfs recomposeront alors leur code en présence du voleur qui se
fera un plaisir de retenir les quatre chiffres porte bonheur et la victime ne
récupèrera pas pour autant sa carte bancaire.
De toute façon, même sans le code, la carte peut
être utilisée pour des achats par correspondance (minitel,
téléphone, internet).
4. Piratage par impression 3D
Apres la santé, l'automobile, la mode et
l'architecture, l'impression en 3D touche un nouveau domaine d'application : la
cybercriminalité. Apparemment les voleurs de cartes bancaires ont appris
à maitriser l'impression en 3D pour créer de faux guichets
automatique afin de voler les informations bancaires.
A Sydney en Australie, un groupe roumain de cybercriminels
présumé a utilisé la technologie d'impression 3D et des
fichiers de CAO pour dessiner et fabriquer de guichets automatiques bancaires.
Apres avoir constaté une augmentation du nombre de faux guichets
automatiques, la police a créé un groupe de travail pour
résoudre le problème.
Au total, 15 distributeurs automatiques de billets ont
été trouvés et environs 100000 dollars ont
été volés.
T.F.E 2015 | Benito Lubuma L2 Génie info
27
Fonctionnement du piratage par impression 3D
:
Les équipements utilisés ne sont pas
légaux et on passe souvent par les bricolages pour y parvenir. Cela ne
semble pas être un inconvénient majeur pour les hackers car tout
est le marché et à bon prix.
Ce dispositif s'installe directement par-dessus le lecteur e
carte en s'adaptant parfaitement à la fente. La technologie de
l'impression intervient, au moment de la composition de cette façade
factice. En effet, elle comprend un lecteur de piste magnétique
intégré permettant de lire les données magnétiques
d'une carte bancaire insérée.
Afin de pouvoir également disposer d'un code PIN
associé à la carte bancaire, le dispositif est
équipé d'une micro camera espion qui film l'appui de votre doigts
sur le clavier.
Le système se déclenche automatiquement chaque
fois qu'une carte est insérée et filme tout à travers un
petit trou très discret. Les données magnétiques et
vidéo sont ensuite sauvegardées dans un
périphérique de stockage composé d'une mémoire
flash et d'un slot micro-SD. Un connecteur discret permet aux cybercriminels de
récupérer les données.
Une fois que l'appareil a enregistré la carte et code
PIN, une carte vierge peut être gravée avec ses informations afin
de retirer de l'argent et faire des achats.
Il est à signaler que ce système est souvent
utilisé et mieux adapté pour les cartes magnétiques
plutôt que les cartes à puce ce qui démontre son usage
massif aux USA et en Australie.
5. Usurpation des données de la carte
:
En se référant à la définition du
mot usurpation, nous pouvons dire que cette technique se base sur le fait de
prendre délibérément l'identité d'une autre
personne vivante, généralement dans le but de réaliser des
actions frauduleuses commerciales comme, par exemple, régulariser sa
situation au regard de l'émigration, accéder aux finances de la
personne usurpée...
5.1. Technique d'usurpation :
Contrairement aux autres moyens d'attaques ou fraudes
liés aux G.A.B, l'usurpation est une technique utilisée dans
plusieurs domaines et cela pour des fins précises.
Dans ce cas, le fraudeur utilise certaines techniques pour
obtenir des renseignements personnels tels que :
? Le vol : les portes monnaie, les sacs à main, le
porte document, les ordinateurs et courrier résidentiel contiennent une
grande quantité de renseignements personnels.
? Le vol dans les boites aux lettres : permet d'obtenir des
moyens de paiement (CB, chéquier), des relèves d'identités
bancaires, des factures. Tout s'avère très utilisent aux
usurpateurs pour obtenir des crédits.
T.F.E 2015 | Benito Lubuma L2 Génie info
28
· La fouille des poubelles : on peut y trouver des
relevés bancaires, des relevés de carte de crédit, dans
factures des propositions de cartes de crédit.
· La vie commune : les personnes habitant à votre
domicile ont accès à l'ensemble de vos documents.
6. Les retraits fantômes :
De nos jours, les hackers deviennent de plus en plus
innovants. Ils prennent leurs temps à analyser les architectures des
systèmes d'exploitation pour déceler certaines failles et en
profiter pour causer des délits.
Apres études et analyses sur les systèmes
d'exploitation utilisés par les G.A.B actuellement dans la plupart des
pays, il s'avère que le système d'exploitation Windows XP est le
plus utilisé et malheureusement il révèle plusieurs
failles de sécurités d'où l'existence d'un type d'attaque
appelé les retraits fantômes.
Les hackers ont eu à développer plusieurs
applications informatiques (malware) qui leurs permettent de contourner le
système de sécurité de Windows XP. Parmi ces malwares,
nous pouvons citer les plus récents et les plus célèbres
tels que :
· Ploutus B : c'est malware permettant de commander un
G.A.B à distance et ce à partir d'un SMS.
· Backdoor.MSIL.tyupkin : c'est l'un des malware le plus
sophistiqué car il peut réagir aux commandes du clavier PIN
uniquement les dimanches et les lundis soir. Pour voir l'interface graphique du
malware sur l'écran du G.AB et savoir combien et quel type de billets
restaient dans le coffre-fort, les attaquants doivent taper à chaque
fois une nouvelle clé générée par un algorithme
connu d'eux seuls, de sorte que personne d'autre ne pourrait contrôler
leur malware. L'interface de tyupkin permet à l'opérateur de
demander au distributeur automatique de prendre un nombre quelconque des
billets de banque dans l'un de ses coffres.
6.1. Fonctionnement des retraits fantômes
En se basant sur les malwares cités ci-haut nous
pouvons dire que leur installation est presque semblable mais pas leur
utilisation.
6.1.1. Installation et fonctionnement du Ploutus.B :
· L'attaquant commence par ouvrir la partie
intérieure du distributeur pour pouvoir infecter le PC ;
· Ensuite, il insère dans le lecteur optique un
CD sur lequel se trouve le malware en question puis il reboote la machine.
· Une fois que le malware est installé, le pirate
connecte le G.A.B infecté à un téléphone mobile via
un port USB (ce téléphone servira de point d'accès distant
au système du distributeur) ;
29
? Une fois cette phase de préparation terminée,
le pirate peut passer à l'action ; il commence par envoyer par sms un
code au téléphone embarqué qui le transmet sous la forme
d'un paquet TCP ou UDP.
? Le malware ploutus reconnait le code en question et
génère la commande de retrait d'argent.
D'où nous pouvons dire qu'avec l'avancée
significative de la technologie. La fiabilité du G.A.B est entrain de
diminuer considérablement. Plusieurs grandes institutions
spécialisées en sécurité informatique et des
nombreux chercheurs en sécurité informatique ne cessent
d'interpeler les institutions bancaires sur la manière dont les G.A.B
sont construits et n'hésitent pas de leurs proposer quelques piste de
solutions.
II.2. LES CARTES BANCAIRES
Actuellement les cartes bancaires sont devenues
incontournables et indispensables pour retirer de l'argent dans un G.A.B ou
pour faire tout type d'achats sur internet.
Une carte bancaire, appelée aussi carte de paiement,
est un document se présentant sous forme d'une carte plastique mesurant
85,60 x 53,98mmn équipé d'une bande magnétique ou d'une
carte à puce électronique et c'est un moyen de paiement dans la
quasi-totalité de pays du monde.
II.2.1. Historique
Une carte bancaire peut être magnétique ou
à puce. Voyons brièvement ce qu'il en est de leurs histoires et
évolutions.
1. Invention de la carte à puce :
La carte à puce est une invention française.
L'idée innovatrice de Moreno qui était un passionné
d'électronique fut de loger dans l'épaisseur d'une carte, un
circuit intégré et un connecteur extra-plat permettant de le
raccorder à des circuits extérieurs. Dès mai 1975, Roland
Moreno améliore son invention en intégrant à la puce des
moyens inhibiteurs qui ont pour fonction de protéger l'accès
à la mémoire, en lecture comme écriture.
C'est en 1974 que Roland Moreno a déposé son
premier brevet sur la carte à puce, suivi d'une famille de brevets
successifs sur la carte et son environnement.
Ceci lui a valu d'être reconnu comme l'inventeur du
produit. Très vite, CII-HB qui est une société
résultante de la fusion de la compagnie internationale pour
l'informatique et de la compagnie Honeywell Bull, procède en liaison
avec Motorola au premier développement et réalise fin 76 la
première carte incluant un microcircuit électronique. En mars 79
la première carte à microprocesseur Bull-CP8 était
fonctionnelle.
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
30
En novembre 1979, la DGT (direction de grands travaux) et des
banques françaises lance un appel d'offre pour une
expérimentation interbancaire de la carte à puce. Cette
dernière devrait couvrir les coûts très
élevés que subissaient les banques lors de traitement des
chèques tout en sachant que les cartes à piste magnétique
ne résolvaient pas ce problème, puisqu'elles donnaient lieu
à chaque transaction à l'émission d'un reçu sur
papier. Les facturettes équivalentes du point de vue de son traitement
à un chèque et elles génèrent de plus un niveau de
fraude en constante progression.
Seule l'électronique pouvait a priori diminuer les
couts en offrant de surcroit une meilleure sécurité. La carte
bancaire devait donc, dès le départ être utilisée
comme moyen de paiement aussi bien dans les cabines téléphoniques
que chez les commerçants.
Ce vers 1982 que les premières cartent bancaires
à puce furent expérimentées dans des banques de Caen en
France.
2. Genèse de la carte bancaire :
· 1914 : Western union - carte en métal
· 1950 : Diners' Club - carte bancaire sous forme de petit
carnet
· 1951 : Premières cartes bancaire de paiement- en
carton
· 1957 : American Express et la première carte
plastique
· 1960 : Embossage des cartes
· 1971 : les pistes magnétiques
· La carte à mémoire
Naissance de la carte bancaire
· 1914 : Western Union- support d'identification
· 1914-1950 : identification associée à un
crédit
· 1950 : Diners' Club : carte bancaire
· 1951 : franklin National Bank : carte bancaire de
crédit
· 1953 : cartes bancaires de débit
· 1957 : naissance de BankAmericard (future Visa)
· 1958 : naissance de la carte American Express
· 1960 : naissance des cartes de crédit
privatives
· 1960 : naissance en suède de l'Eurocard
II.2.2. Définitions et utilisations A.
Définitions
1. Carte de paiement : c'est une carte en
plastique qui peut être à bande magnétique ou à puce
permettant le paiement, auprès de commerçants physique
possédant un terminal ou auprès de commerçants virtuels
via internet.
2. Carte à puce : c'est une carte en
plastique dotée d'au moins un circuit intégré ou puce
capable de contenir e l'information.
T.F.E 2015 | Benito Lubuma L2 Génie info
31
3. Carte de débit : c'est une carte
bancaire avec spécification débit d'apposée. Elle est
rattachée) votre compte chèque. Vous pouvez faire des retraits
dans de G.A.B, acheter en ligne ou chez les commerçants acceptant les
cartes bancaires c'est l'équivalent de la carte de crédit
immédiat français.
4. Carte de crédit : c'est aussi une
carte bancaire mais, en effet comme son nom l'indique crédit card, sert
à consommer à crédit ; elle n'est pas rattachée
à votre compte chèque mais à un compte que lui est
propre.
5. La monétique : c'est l'ensemble de
technologies mises en oeuvre pour l'utilisation de la carte bancaire.
6. Porte-monnaie électronique : c'est
un dispositif qui peut stocker de la monnaie sans avoir besoin d'un compte
bancaire et d'effectuer directement des paiements sur des terminaux de
paiement.
B. Utilisations
Actuellement du point de vue évolution technologique,
nous pouvons dire qu'il
existe trois types de carte bancaire :
? Les cartes de paiements
? Les cartes de crédit
? Les portes monnaie électronique
Tous ont un même objectif mais diffèrent dans leur
utilisation.
Les cartes de paiement ou les cartes de crédit sont
utilisées de la même façon en générale.
C'est-à-dire, le client possédant la carte de paiement ou de
crédit, a la possibilité de l'insérer dans un distributeur
de billets ou un terminal le plus proche pour retirer de l'argent ou payer ses
factures.
Les portes monnaie électroniques font partis de
nouvelles technologies qui sont issus du développement de la technologie
de la puce électronique. Les portes monnaie électroniques sont
plus utilisées pour des petites dépenses. Les portes monnaie
électroniques sont semblable à une carte
téléphonique ou carrément elle peut se réduire
à une simple puce téléphonique intégrée au
téléphone portable.
II.2.3. Composants matériels et logiciels
La carte bancaire est un produit purement électronique
et possédant un système d'exploitation propre à son
fonctionnement. D'où nous allons voir de manière brève de
quoi est constituée une carte bancaire et quel genre de système
d'exploration peut être utilisé pour son fonctionnement.
32
A. Composants matériels
La carte bancaire a une forme rectangulaire en plastique. Elle
comprend de nombreux éléments notamment ceux de la
sécurité. Etant un produit électronique, nous pouvons
repartir sa construction en deux parties : une partie interne et une partie
externe.
La partie interne renferme tout ce qui est description
technologique tandis que la partie externe renferme tout ce que la carte
possède d'une manière externe.
1. La partie interne
Dans cette partie nous allons décrire la construction
technologique de la carte puce en manière générale et de
la carte bancaire en particulier.
Une carte à puce est constituée d'un CPU, d'une
mémoire RAM, d'une mémoire ROM et d'une mémoire EEPROM
(qui conserve les données qui y sont inscrites même après
que la carte n'est plus électriquement alimentée). C'est donc il
s'agit d'un ordinateur classique réduit à la taille d'une
puce.
Elle permet la communication, le stockage et
l'exécution de code avec un haut degré de sécurité.
Les circuits logiques qui composent la puce, supervisent la transmission des
données via interface série pour faire communiquer la carte vers
l'extérieur et notamment un lecteur.
Une carte à puce est composée de trois parties :
1. Une partie logique qui est constitué d'un CPU et un
NPU ou généralement un MPU (Multi-core processor). Cette partie
est le siège de l'exécution du code applicatif que ce soit l'OS
comme les applications installées dans la carte.
2. Une partie mémoire : cette partie permet de stocker
l'information volatile (mémoire RAM) durant l'exécution du code
de la mémoire EEPROM qui stocke soit des applications ou des
données qui peuvent être modifiées pendant le
fonctionnement de la carte mais qui ne doivent pas être perdus
après la perte d'alimentation, et la mémoire ROM qui stockera le
code, notamment l'OS ou les données figées en usine durant la
conception de la puce.
3. Une partie communication qui permet la communication avec
l'extérieur et notamment le lecteur de la carte à puce.
2. La partie externe
Une carte bancaire est constituée de deux
façades. Nous allons essayer de décrire chaque façade et
ce qu'elle renferme.
D'une manière générale, le recto de la
carte bancaire est constitué de :
? Une puce qui est un microprocesseur doté d'une
mémoire et de capacité de calcul. Cette puce de type EMV
répond à un protocole qui permet des interactions en
déterminant : ? Les types d'applications dont dispose le porteur de la
carte ;
T.F.E 2015 | Benito Lubuma L2 Génie info
33
? La façon d'encrypter et décrypter les codes,
? Le dialogue avec le terminal de paiement du commerçant
et le distributeur de billets qui ne sont que des intermédiaires entre
la puce et le site de la banque.
· Le PIN ou le numéro à 16 chiffres. Ce
numéro permet d'identifier votre carte. Il est aussi utilisé pour
faire des achats sur internet.
· Le nom du titulaire : c'est le nom du responsable de
la carte.
· La date d'expiration : la carte étant un
support, elle a une durée de validité qui peut être d'un an
ou deux ans. Elle fait l'objet d'un renouvellement automatique tous les ans
à sa date d'échéance, sauf résiliation du contrat.
Cette durée de validité répond notamment à des
nécessités techniques et sécuritaires.
· L'hologramme : c'est une image à reflets
changeant avec un effet 3D ; très difficile à reproduire. Il est
destiné à rendre la carte infalsifiable.
Au verso de la carte nous retrouvons :
· Le panneau de signature : cet emplacement permet
d'apposer une signature sur la carte. Ce qui s'avère être
nécessaire pour vérifier l'identité du porteur de la
carte. Dans certains pays cette signature n'est pas nécessaire car ils
utilisent le code confidentiel de la carte à puce ;
· La piste magnétique : très importante
pour les pays où la puce n'est pas utilisée étant
donné qu'elle joue d'une manière générale le
même rôle qu'une puce ;
· Le cryptogramme visuel : il s'agit des trois derniers
chiffres de la référence de la carte sur le panneau de signature.
Il vous est demandé pour payer à distance que ce soit par
internet ou par téléphone.
B. Les composants logiciels
Les possibilités matérielles des cartes
étant limitées en mémoire et en puissance de calcul, les
systèmes d'exploitation de ces équipements se doivent
d'être les plus légers possibles afin d'être
embarqués dans la mémoire des cartes.
Les systèmes d'exploitation pour carte à puce
appelés COS, assurent fondamentalement les mêmes fonctions que les
autres systèmes d'exploitation, mais dans un contexte matériel
où les limitations matérielles et les problématiques de
sécurité sont exacerbées.
Ainsi à l'instar des autres systèmes
d'exploitation, ceux des cartes à puces gèrent le matériel
qui leur est assigné. Comme nous l'avons dit à la section
précédente, une carte à puce comporte une mémoire
de travail volatile (sous forme de SDRAM), une mémoire non
réinscriptible (ROM) qui contient le code du système
d'exploitation et éventuellement celui d'application
pré-déployé ainsi qu'une mémoire morte
réinscriptible (EPROM) permettant de stocker des données qui
resteront disponibles lorsque la carte sera redémarrée.
Le système d'exploitation gère aussi le
microprocesseur, parfois assorti d'un processeur dédié à
la cryptographie et aux protocoles de communication.
T.F.E 2015 | Benito Lubuma L2 Génie info
34
Les COS actuels ne sont plus mono-applicatifs car ils peuvent
gérer plusieurs applications sur une même carte à puce.
Comme pour n'importe quel autre système d'exploitation par exemple le
DOS, les fonctions et les instructions d'un COS ne sont pas dépendantes
d'une application en particulier, mais, elles se veulent être
génériques pour un ensemble de besoins communs à toute
application désirant fonctionner dans un environnement de carte à
puce.
Le système d'exploitation est ainsi localisé
essentiellement au niveau de la mémoire ROM sous une forme non
altérable et pour éventuellement certaines de ses fonctions
modifiables dans l'EEPROM.
Il offre les fonctions pour contrôler les
différents éléments de la carte et la communication avec
le lecteur. Comme le COS est stocké dans la ROM de la carte à
puce, on peut trouver un synonyme au terme COS avec le terme de mask. Pour
être plus précis il y a deux types de mask : hard mask et soft
mask.
Le hard mask indique que le COS est stocké dans une
mémoire ROM. Il devient alors non modifiable après l'avoir
écrit dans ce type de mémoire.
Le soft mask indique au contraire qu'une partie ou la
totalité du C.O.S est stockée dans une mémoire EEPROM. Il
devient alors possible de modifier une partie ou la totalité du
système après sa première écriture dans
l'EEPROM.
Un autre aspect important est l'usage souvent fait de ce type
de carte, comme l'acte du paiement ou d'identification d'une personne. Il est
donc essentiel que ces systèmes d'exploitation embarquent des
fonctionnalités de cryptographie et de d'authentification forte.
Etant donné que la majorité des applications
des cartes à puce sont utilisées pour authentifier de
manière forte des individus, COS pour carte à puce
implémente généralement une API de cryptographie.
L'utilisation des algorithmes de cryptographie (PKCS) avec la
manipulation de grands nombres comme les algorithmes à clefs
symétriques (RSA ou DSA) sont une source de consommation de puissance de
calcul.
C'est pourquoi on trouve de plus en plus adjoint au
microprocesseur traditionnel de la carte à puce, un Secure crypto
processor qui accélère les calculs sur les grands nombres.
Ainsi ces systèmes d'exploitation sont responsable de
:
· La gestion de la mémoire (RAM, ROM, EEPROM)
· La gestion de fichiers
· Le contrôler d'exécution de code
· Chargement, lancement et la gestion des applications
· La transmission de données
· L'exécution et la gestion des algorithmes de
cryptographie.
Vu l'évolution technologique, les architectures des
COS ont aussi évolué et actuellement, elles se classifient en
trois modèles : les systèmes fermés qui sont
généralement
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
35
propriétaires et étroitement liés au
matériels et sont réalisés pour supporter une application,
ou un ensemble d'application prédéfinit. Les systèmes
post-issuance qui reposes sur la mise en oeuvre d'une machine virtuelle
applicative tel que Java Card Virtual Machine et MultOS où
l'environnement d'exécution est sécurisé et
authentifié. Le système d'exploitation CAMILE qui a
envisagé l'utilisation récente de l'hyperviseur
II.2.4. Fiabilité et Sécurité d'une
carte bancaire
D'une manière générale, la technologie
utilisée pour la fabrication de la carte bancaire est fiable et
sécurisante mais ceci n'empêche qu'on découvre quelques
failles de sécurité lors de son utilisation dans le G.A.B ou sur
internet par exemple.
A. Fiabilité
En matière de la fiabilité de la carte
bancaire, nous pouvons dire que la carte et la technologie qu'elle utilise est
pratiquement fiable, raison pour laquelle aujourd'hui la carte bancaire venait
de passer pour le moyen de paiement le plus utilisé au monde au
détriment du chèque.
Actuellement, il existe différentes types de carte
bancaire, de la plus simple à la plus haute gamme. Chacune
présente un éventail d'avantages et de services. Toutes offrent
la même possibilité : effectuer un paiement rapide,
sécurisé et garanti.
Typologie des cartes bancaires : Elles se répartissent
en trois catégories :
? Les cartes à autorisation systématique :
Elles ont la particularité d'interroger le solde du compte du client
pour chacun des paiements qu'il effectue ;
? Les cartes classiques internationales : le paiement au
commerçant est garanti même si ce type de carte ne vérifie
pas systématiquement le solde du compte de son titulaire lors de
paiement.
? Les cartes haut de gamme (Gold ou Premier) : Elles
fonctionnement comme les cartes classiques internationales qui offrent des
plafonds de paiement et de retrait plus élevés que celle-ci et
des assurances plus larges.
Il existe d'autres cartes de manière marginale ou
moins impactant notamment: les cartes de retrait interbancaires, mais qui sont
progressivement remplacées par les cartes à autorisation
systématique.
Les cartes de prestige (Infinite, Platinum) en progression mais
peu nombreuses.
T.F.E 2015 | Benito Lubuma L2 Génie info
36
? Avantages et inconvénients des cartes
bancaires
Instrument de paiement le plus utilisé (hors
espèce) pour régler les achats ; les cartes bancaires offrent un
certain nombre d'avantages.
Les avantages de la carte bancaire:
· Rapidité d'utilisation lors des paiements et des
retraits d'espèces ;
· Permet d'éviter de circuler avec des
espèces sur soi ;
· Très large acceptation par les commerçants
;
· Facilité de paiement en ligne
· Réduit l'obligation de changer de la monnaie lors
de déplacement ;
· Inclusion d'assurance et d'assistance dans l'offre ;
· Utilisation préférée pour des
achats courants en remplacement de l'espèce et du chèque pour des
paiements à l'étranger.
Les inconvénients de la carte bancaire :
Selon qu'on dispose d'une carte offrant plus d'avantage on
aura peu plus vous avez un peu d'inconvénients.
Ainsi comme inconvénients majeurs nous pouvons citer :
· Cotisations annuelles ;
· Frais possible sur les retraits d'espèces ;
· Frais de remplacement des cartes ;
· Frais sur incident de paiement ;
· Acceptations limitées chez certains
commerçants.
La carte bancaire est donc une source de multiples
coûts non seulement pour les consommateurs en bonne santé
financières ; mais aussi pour les consommateurs connaissant des
difficultés de trésorerie !
Si aucune banque ne communique, bien évidemment, sur
le montant des frais qu'elle facture à ses clients pour leurs incidents
de paiement, certains éléments permettent d'avoir une
première idée de la facturation, globales pour ces frais.
Comme on peut s'en rendre compte, souvent les
inconvénients qu'offrent les cartes bancaires se transforment en gains
pour les banques et les institutions financières.
B. Sécurité
Nous avons vu que la carte bancaire est un moyen de paiement
fiable mais elle nécessite un minimum de précaution car sa
sécurité demeure dans la plupart de cas un défis majeur
à relever. Au fur et à mesure que la technologie évolue,
les hackers aussi évoluent...
T.F.E 2015 | Benito Lubuma L2 Génie info
37
Plusieurs technologies ont été
développées pour contrecarrer les ambitions des pirates
informatiques et toujours ces derniers trouvent un moyen de contourner le
système de sécurité établi.
Une firme française Oberthur technologies venait de
développer une carte bancaire ultra sécurisée : son
cryptogramme visuel est remplacé par un petit écran LED sur
lequel le code de sécurité change toutes les heures.
La carte en elle-même ne change pas mais au dos,
s'affiche un petit écran LED, alimenté par une micro-batterie
insérée dans le plastique de la carte. Le cryptogramme se
rafraichit toutes les 60 minutes et propose un nouveau code de
sécurité.
Souvent les pirates informatiques utilisent les techniques
telles que l'usurpation de données de la carte bancaire, le collet
marseillais etc. Pour essayer de contrer ces techniques de vol, les fabricants
proposent à leurs clients quelques conseils ou méthodes
préventives.
Malheureusement ces méthodes ne font pas le poids
devant les innovations auxquels ont recours certains pirates informatiques.
Parmi ces méthodes nous pouvons citer :
· Conservez sa carte en un lieu sûr
· Retenir par coeur son code confidentiel et ne jamais
l'écrire;
· Signer sa carte bancaire.
· Surveiller ses relevés de compte ;
· Noter son numéro de carte, date d'expiration et le
conserver dans un lieu sûr.
· Ne répondre jamais à un mail vous
demandant la communication de vos coordonnées bancaires ;
· Avant de partir à l'étranger contacter
votre établissement pour connaitre les mécanismes de protection
des cartes.
Lors des achats sur internet, vous pouvez adopter des
attitudes du genre :
· Ne les réaliser que sur des sites
sécurisés et ne jamais saisir votre son confidentiel à
quatre chiffres pour ce type de transaction.
· Les sites marchands munis du logo 3DSecure permettent
d'authentifier le porteur d'une carte de paiement de manière
renforcée.
Lors d'un retrait dans un distributeur, les attitudes à
adopter sont :
· Composer toujours votre code confidentiel à l'abri
de regard ;
· Placez votre main au-dessus du clavier lorsque vous tapez
votre code ;
· Privilégiez les distributeurs
équipés de caméras de surveillance ou situés
à l'intérieur de l'agence.
Les institutions bancaires proposent aussi les moyens de
recours en cas de fraude à la carte bancaire.
T.F.E 2015 | Benito Lubuma L2 Génie info
38
? Dans un premier temps, vous devez dès que vous vous
apercevez d'une anomalie informez sans tarder votre banque afin de faire
opposition (il en va de même si votre carte est perdue ou volée)
;
? Appelez le numéro spécial du serveur
interbancaire et orienté votre appel vers le centre d'opposition
compétent.
L'opposition doit ensuite être confirmée sans
délai par une lettre recommandée à votre banque. En cas de
détournement de votre carte de paiement, votre responsabilité
n'est pas engagée.
Dans tous les cas, vous devez signaler sans délai
l'opération non autorisée à votre agence bancaire et dans
un délai assez réduit.
39
CHAPITRE III : LA TECHNOLOGIE BIOMETRIQUE ET
LES ALGORITHMES DE RECONNAISSANCE DE FORMES
[1][3][11][12][13][14][15][20]
La technologie biométrique, comme toute autre
technologie, fait appel aux algorithmes très spécifiques pour
mieux résoudre les problèmes auxquels elle est confrontée.
Les algorithmes qu'utilise la technologie biométrique sont dans la
plupart de cas les algorithmes de reconnaissances des formes. Ces derniers vont
lui permettre d'identifier les motifs informatiques à partir des
données brutes et enfin de prendre une décision dépendant
de la catégorie de ce motif.
A. TECHNOLOGIE BIOMETRIQUE
Actuellement, la technologie biométrique est
considérée comme l'une des plus sûres en matière de
sécurité des biens et d'identification des personnes. La plus
connue du grand public des techniques qu'offre la technologie
biométrique est l'analyse des empreintes digitales.
Ce type d'analyse est aujourd'hui très au point, mais
la recherche à son sujet ne date
pas d'hier.
1. Historique de la technologie biométrique
Vers le 19e siècle les études sur la
biométrie commencèrent à se préciser. En effet, en
1823, un médecin et anatomiste tchèque Johan Evangelista Purkinje
révéla au grand jour le fait qu'une empreinte digitale pouvait
identifier de manière quasi-absolue un individu.
À partir de 1870 les empreintes digitales furent
réellement utilisées à des fins d'identification par le
docteur Henry Faulds, alors chirurgien dans un hôpital de Tokyo.
Il publia un article dans la revue « Nature »,
où il développait l'idée d'utiliser les traces de doigt
pour identifier des personnes. Faulds fut par la suite le premier à
établir une classification grâce à de l'encre
d'imprimerie.
Le scientifique britannique Galton, réalisa
d'importants travaux sur les mensurations des êtres humains et rassembla
des statistiques sur la taille, le poids, les dimensions et d'autres
caractères de nombreuses personnes.
Galton consacra une attention particulière aux
empreintes digitales et mis au point une méthode d'identification dans
son ouvrage « Fingerprints ».
Son approche globale des populations lui permit de constater
l'importante variation des empreintes dans l'espèce humaine mais aussi
à l'intérieur de différentes ethnies. Il démontra
également qu'il y avait seulement une chance sur 64 milliards que deux
individus aient les
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
40
mêmes figures digitales et affirma la
pérennité de celles-ci chez un même individu au cours de sa
vie.
Grâce à lui, au Bengale, et ce dès 1858,
l'empreinte du pouce servait de preuve
d'identité.
Hormis les travaux de Galton, il y en a eu aussi d'autres dont
:
? les travaux d'Alphonse Bertillon ? Edwards Henry
2. Définitions et utilisations A. Quelques
définitions
Biométrie : c'est une science de mesure
et statiques appliquées aux êtres vivants. C'est aussi une analyse
mathématique des caractéristiques biologiques d'une personne,
destinée à déterminer son identité de
manière irréfutable.
En France, la biométrie est définie comme
étant une science permettant l'identification d'individus à
partir de leurs caractéristiques physiologiques ou comportementales.
La biométrie peut être aussi définie comme
étant la mesure des éléments biologiques, comportementaux
ou physiologiques uniques et propres à chaque individu.
Système de reconnaissance biométrique :
c'est un système qui permet de procéder à la
reconnaissance automatisée des individus sur la base de leurs
caractéristiques biométriques.
Caractéristiques biométriques :
ces sont des caractéristiques physiologiques ou comportementales
mesurables d'un individu.
Donnée biométrique brute : c'est
une représentation physique ou numérique d'une
caractéristique biométrique, utilisable par un système de
reconnaissance biométrique.
Donnée biométrique dérivée ou
gabarit biométrique : c'est une réduction
numérisée d'une donnée biométrique brute,
utilisable par un système de reconnaissance biométrique
automatisée.
Enrôlement biométrique : c'est un
processus initial de collecte d'une donnée biométrique d'un
individu et la sauvegarde de celle-ci en tant que donnée
biométrique de référence.
Vérification biométrique : c'est
le processus de comparaison (1:1) d'une donnée biométrique
d'épreuve avec une donnée biométrique de
référence dans le but de vérifier si la personne
concernée est bien celle qu'elle prétend être.
41
Identification biométrique : c'est le
processus de comparaison (1:n) d'une donnée biométrique
d'épreuve avec un ensemble de données biométrique de
référence stockées dans une base de données, dans
le but de déterminer qui est la personne concernée.
Seuil d'acceptation : c'est la valeur
minimale qu'une comparaison biométrique doit atteindre pour être
considérée comme réussie.
Lorsque cette valeur est choisie de manière à ce
que le taux de fausses acceptations soit égal au taux de faux rejets, le
seuil est appelé taux d'erreurs égales.
Taux de fausses acceptations : c'est la
probabilité qu'un système de reconnaissance biométrique
identifie un individu ou authentifie un imposteur par erreur.
Taux de faux rejets : c'est la
probabilité qu'un système de reconnaissance biométrique
échoue lors de l'identification ou la vérification d'une personne
enrôlée.
B. Utilisation de la biométrie
Les principaux enjeux des technologies biométriques
sont l'authentification et l'identification des personnes. Dans un tel cadre,
la biométrie peut être source de difficultés en l'absence
de solution fiable à 100%.
La biométrie permet d'associer une personne à
une et une seule identité qui est propre à lui.
La technologie biométrique la plus utilisée et
la plus connue de tous est l'analyse de l'empreinte digitale qui, en fait est
la première des techniques biométriques utilisées dans le
monde.
La biométrie est susceptible de plusieurs types
d'applications, notamment : ? L'accès à des locaux et
système informatique
? Etc.
3. Caractéristiques des systèmes
biométriques
La technologie biométrique est utilisée
actuellement dans la plupart de cas par des systèmes informatiques
biométriques qu'on appelle simplement des systèmes
biométriques. Ces systèmes ont une certaines
caractéristiques communes qui leur permettent d'être très
efficaces quel que soit le type de technique utilisée pour
l'implémentation du dit système.
Les études effectuées par les scientifiques
spécialistes de la biométrie ont établi trois
caractéristiques communes aux systèmes biométriques. Ce
sont l'unicité, le caractère public d'une donnée
biométrie et la mesure d'un système biométrique.
1. L'unicité
Pour identifier ou authentifier une personne dans une
population donnée, il est nécessaire que la donnée
biométrique utilisée soit unique à la personne.
L'empreinte digitale,
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
42
l'iris et la rétine sont réputés pour
présenter des caractéristiques uniques au sein d'une large
population.
En particulier, ces techniques permettent de
différencier les vrais jumeaux et juridiquement l'empreinte digitale est
reconnue comme l'identifiant d'un individu.
Ces caractéristiques uniques tiennent autant à
l'environnement aléatoire de leur formation qu'au patrimoine
génétique.
2. Caractère public d'une donnée
biométrique
Une caractéristique biométrique ne peut pas
être un secret et que par conséquent elle est facile à
imiter à capturer. Dans ce cas, tout système biométrique
doit être en mesure de prendre en compte une telle menace et
éliminer les artefacts construits pour tromper.
3. Mesure d'un système
biométrique
Un système biométrique n'utilise pas toute
l'information contenue dans une image ou un signal capté, il en extrait
certaines caractéristiques. Ce qui réduit la quantité de
l'information et la capacité du système à reconnaitre
l'unicité d'une donnée. Puis il effectue les calculs et trouve un
résultat à partir de données recueillies.
D'une manière générale, nous pouvons
dire qu'un système biométrique peut être mesuré par
deux paramètres : les taux de fausse acceptations (FAR) et les taux de
faux rejet (FRR). Il existe aussi un troisième paramètre qui est
le taux d'échec de l'enrôlement. Ce dernier se traduit comme
étant la probabilité d'absence d'une caractéristique
biométrique pour un individu dans une population mais ce dernier
paramètre est souvent très négligeable.
4. Types de modalités de la technologie
biométrique
Actuellement nous comptons plusieurs types de modalités
biométriques qui ont été répertoriées en
trois groupes qui sont :
1. La modalité morphologique qui est constitué de
:
· Empreintes digitales,
· Main,
· Visage,
· Voix,
· Iris,
· Rétine
2. La modalité comportementale qui est constitué
de :
· Signature dynamique
· Dynamique de la frappe au clavier
· Etc.
T.F.E 2015 | Benito Lubuma L2 Génie info
43
3. La modalité biologique. Il s'agit ici d'une
technique est essentiellement utilisé dans le cadre de recherche
d'individus à partir des données biologiques comme l'ADN...Cette
technique sort du cadre de notre travail.
4.1. Comment choisir une modalité
biométrique
Faire un bon choix de la technique biométrique
à utiliser pour l'implémentation d'un système
biométrique, ne relève pas de la performance d'une technique
à un autre mais plus tôt de l'environnement où sera
déployé votre système.
Chaque technologie possédant des avantages et des
inconvénients, acceptables ou inacceptables, suivant les applications ;
Ces solutions ne sont pas concurrentes car elles n'offrent ni les mêmes
niveaux de sécurité ni les mêmes facilités
d'emploi.
En comparaison aux systèmes d'authentification
utilisant un objet ou un mot de passe, qui offrent une réponse stable
soit oui ou non (0% ou 100%) ; les informations biométriques sont plus
fluctuantes et donnent des réponses en termes de pourcentage de
similitude (entre 0% et 100%, le 100% n'étant jamais atteint).
Cette variation des résultats d'identification d'un
individu, est plus liée à la qualité de la capture de
l'information biométrique qui n'est toujours pas identique, suite
à diverse raisons mais la caractéristique biométrique
demeure stable.
Il faut donc définir un seuil de décision
(acceptation ou refus) compris entre 0% et 100% de similitude au sein de
l'application et il arrive que ce seuil soit différent pour chaque
personne mais cela dépend des applications.
Selon une étude réalisée par la
société de conseil et d'intégration International
Biometric Group, elle nous montre que pour effectuer un bon choix sur la
technique biométrique à utiliser, il faut tenir compte de quatre
aspects capitaux qui sont :
? Effort : L'effort requis par l'utilisateur,
? Intrusiveness : qui est le niveau de perception par
l'utilisateur d'un test intrusif,
? Cost : qui est le cout de la technologie utilisée,
? Accuracy : qui est l'efficacité de la technique
utilisée (capacité pour identifier quelqu'un).
T.F.E 2015 | Benito Lubuma L2 Génie info
44
Figure III. 8 Type de technique biométriques
Sur la figure 1 ci-haut, nous pouvons voir les
différentes techniques biométriques et à vous de faire le
bon choix.
L'International Biometric Group rajoute que
l'efficacité d'un système biométrique revient aussi
à l'adaptation de ce dernier au changement temporaire et permanant de
l'utilisateur.
Il est important de comprendre que, dans le choix d'une
modalité biométrique à exploiter, différents
facteurs doivent être pris en compte. Un système
biométrique doit présenter une logique de marché,
c'est-à-dire qu'il doit exploiter le même sens que le
périphérique auquel il est joint.
4.2. Les modalités
biométriques
Les techniques utilisées dans la technologie
biométrique peuvent être réparties en trois groupes comme
nous l'avons dit ci haut et chaque groupe est constitué de quelques
modalités biométriques. Dans cette section, nous allons essayer
de voir les modalités biométriques que nous pouvons retrouver
dans chaque groupe, leurs avantages et inconvénients les unes des
autres.
T.F.E 2015 | Benito Lubuma L2 Génie info
45
A. La modalité morphologique
Cette technique fait allusion d'une manière
générale aux formes et aspect extérieurs d'un être
vivant et ces formes peuvent être de plusieurs types. Ceux qui sont
utiles à la technologie biométrique sont : empreinte digitale,
main, voix, iris, rétine etc.
1. L'empreinte digitale
La technique de l'analyse des empreintes digitales est une
des techniques les plus anciennes, elle a été
développée vers le 19ème siècle par de
Alphonse Bertillon ; De cette époque jusqu' à récemment,
une tablette et un encreur étaient utilisés pour la capture des
empreintes.
1.1. Définitions
Les Minuties des empreintes digitales : selon Galton, la
minutie est l'arrangement particulier des lignes papillaires formant des points
caractéristiques à l'origine de l'individualité des
dessins digitaux.
Les minuties sont composées, de façon
rudimentaire, de terminaisons en crêtes, soit le pont où la
crête s'arrête, et de bifurcation, soit le pont où la
crête se divise en deux.
Le noyau est le point intérieur situé en
générale au milieu de l'empreinte et il sert souvent de point de
repère pour situer d'autres minuties.
Notons que dans l'analyse des minuties au moins 12 variables
doivent être prises en compte pour une identification complète.
Figure III. 9 les parties de la minutie
1.2. Principe de fonctionnement
L'authentification par empreinte digitale repose sur la
concordance entre le fichier d'enregistrement obtenu lors de l'enrôlement
et le fichier obtenu lors de l'authentification.
T.F.E 2015 | Benito Lubuma L2 Génie info
46
Pour effectuer une authentification correcte, il faudra
respecter les deux étapes qui
suivent :
L'enrôlement qui permet de faire la capture de l'image
de l'empreinte, la numérisation de l'image afin d'en extraire les
minuties et autres caractéristiques et l'enregistrement de l'image dans
support approprié.
Authentification : qui consiste à capturer l'image de
l'empreinte digitale, numérisation de l'image afin d'en extraire les
minuties et autres caractéristiques, la comparaison entre
l'échantillon et le gabarit et cela est suivis d'une prise de
décision.
Ce que nous pouvons retenir des étapes de la capture
et numérisation est que lors de la capture, l'image doit être
convertie dans un format approprié et l'extraction des minuties est
rendue possible grâce à des algorithmes appropriés et la
méthode de segmentation est utilisée pour éliminer des
informations inutiles au système tel que le bruit trop
élevé (image sale, doit mal place...). La numérisation de
l'image est utilisée pour localiser les terminaisons, bifurcations et
les crêtes.
La numérisation permet de filtrer des minuties afin de
ne conserver que les minuties les plus fiables. Une empreinte
numérisée occupe entre 250 à 1000 octets.
Techniques utilisées
Actuellement, il existe plusieurs techniques pour faire
l'analyse de l'empreinte digitale, entre autre :
La technique optique : cette technique utilise le principe
physique de la réflexion totale frustrée où le doigt est
placé sur un capteur éclairé par une lampe ; une
caméra CMD (Charge Modulation Device) avec CCD (Charge Coupled Device)
convertit l'image composée de crêtes foncées et des
vallées claires en un signal vidéo retraité afin d'obtenir
une image utilisable.
La technique de silicium : cette technique offre une
meilleure qualité de l'image et les données fournies sont plus
détaillées que celles de technique optique car dans cette
technique, le doigt est placé sur capteur CMD, l'image est
transférée vers un convertisseur analogique-numérique et
l'intégration se faisant en une seule puce.
La technique d'ultrason : cette technique repose sur la
transmission d'ondes acoustique et mesure de l'impédance entre le doigt,
le capteur et l'air. Cette technique est considérée comme la plus
fiable et peut être utilisée par des scanners.
47
Avantages et inconvénients de ces
techniques
Techniques
|
Avantages
|
Inconvénients
|
Technique Optique
|
Son ancienneté et sa mise en oeuvre ; Sa
résistance aux changements de température ; Son cout abordable
;
Sa capacité de fournir des résolutions
jusqu'à 500dpi.
|
Possibilité de sur impression ; apparitions possibles
des rayures sur la fenêtre ; le CCD peut user avec le temps ;
problème de contrastes entre le doit sec et humide.
|
Technique silicium
|
Cout assez bas.
|
Capteur vulnérable aux
attaques extérieures fortuites ou volontaires.
|
Technique ultrason
|
Facilité d'usage avec de
grandes plaques ; capacité à surmonter les
conditions de lecture non optimales.
|
Aucun inconvénient
technique significative n'a pu être identifié
jusqu'à ce jour ; coût très élevé
|
|
1.3. Tableaux sur les avantages et inconvénients
de l'analyse par
empreinte digitale
|
Avantages
|
|
Inconvénients
|
·
|
La technologie la plus éprouvée
techniquement et la plus connue du
|
·
|
Image "policière" des empreintes
digitales.
|
|
grand public.
|
·
|
Besoin de la coopération de l'utilisateur
|
·
|
Petite taille du lecteur facilitant son
|
|
(pose correcte du doigt sur le lecteur).
|
|
intégration dans la majorité des
applications (téléphones portables, PC).
|
·
|
Certains systèmes peuvent accepter un montage de doigt
ou un doigt coupé (la
|
·
|
Faible coût des lecteurs grâce aux
nouveaux capteurs de type "Chip silicium".
|
|
détection du doigt vivant permet d'éviter ce
type d'usurpation).
|
·
|
Traitement rapide
|
|
|
·
|
Bon compromis entre le taux de faux rejet et le taux de
fausse acceptation.
|
|
|
|
1.4. Applications utilisant l`analyse de l'empreinte
digitale
En théorie, toutes les applications d'authentification
peuvent utiliser les empreintes digitales. Toutefois, le lecteur ou le capteur
reste exposé à une éventuelle dégradation dans les
applications de contrôle d'accès accessible au grand public
(distributeur de billets, accès extérieur à des locaux
...).
D'où, nous pouvons dire que d'une manière
générale, il existe deux types de système de
contrôle d'accès qui peuvent être considéré
comme les principales applications utilisant
T.F.E 2015 | Benito Lubuma L2 Génie info
48
l'analyse de l'empreinte digitale. Nous avons le
système Contrôle d'accès physique (locaux, machines,
équipements spécifiques) et le système contrôle
d'accès logique (systèmes d'information).
2. La Main
La biométrie par la forme de la main est très
simple à mettre en oeuvre. Comme la silhouette est une
caractéristique de l'individu, la reconnaissance est effectuée
par la géométrie de la main dans l'espace (3D), la longueur du
doigt, l'épaisseur et largeur de la paume de main, dessins et lignes de
la main.
Cette biométrie est toutefois sujette à des
modifications de la forme de la main liées au vieillissement.
Environ quatre-vingt-dix caractéristiques sont
examinés parmi lesquelles la forme tridimensionnelle de la main, la
longueur et la larguer de la main ainsi que les articulations qui constituent
un fichier d'environ neuf octets.
2.1. Avantages et Inconvénients de l'analyse de
la forme de la main
|
Avantages
|
|
Inconvénients
|
· Bonne acceptation des usagés,
· Très simple à utiliser,
· Le résultat est indépendant
de l'humidité et de l'état de propreté des doigts,
· Fichier "gabarit" de petite taille.
|
·
·
·
|
Trop encombrant pour un usage sur le
bureau, dans une voiture ou un téléphone,
Risque de fausse acceptation pour des jumeaux ou des membres
d'une même famille,
Cette technique n'a pas évolué depuis plusieurs
années déjà.
|
|
2.2. Applications utilisant l'analyse de la forme de la
main
Les applications utilisant ce type de technique ne sont pas
assez nombreuses suite à la non évolution de cette technique mais
toute fois il existe quelques applications qui l'utilisent. Nous pouvons citer
:
· Contrôle d'accès à des locaux.
· Parloirs de prison.
3. Le visage ou reconnaissance faciale
Galton instaura dès le 19em siècle
dans ses ouvrages, avait publié ce que devrait la reconnaissance faciale
actuelle. Ce n'est qu'à partir du milieu des années 80, lorsque
la puissance des ordinateurs est devenue suffisante, que les recherches les
plus poussées ont commencé.
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
49
La reconnaissance se base sur les caractéristiques
jugées significatives comme l'écart entre les yeux, la forme de
la bouche, le tour de visage, la position des oreilles, l'écartement des
narines ou encore la largeur de la bouche peuvent permettre d'identifier un
individu.
Cette méthode consiste à décomposer le
visage selon plusieurs images en différents nuages des gris. Chaque
image met en évidence une caractéristique particulière
comme le montre l'image ci-dessous :
Figure III. 10 la décomposition du visage en
plusieurs images gris
D'autres méthodes dérivant de la
précédente ajoutent d'autres informations telles que
l'écart entre les yeux, etc. Ces méthodes doivent pouvoir tenir
compte de certains changements de la physionomie (lunettes, barbe, chirurgie
esthétique) et de l'environnement (conditions d'éclairage).
Comme pour tout système biométrique, ces
méthodes aussi nécessitent quatre
étapes :
· Capture de l'image ;
· Extraction de traits caractéristiques ;
· Comparaison avec le gabarit ;
· Prise de décision.
3.1. Avantages et inconvénients de la
reconnaissance faciale
|
Avantages
|
|
Inconvénients
|
·
·
·
|
Très bien acceptée par le public,
Ne demande aucune action de l'usager
(peu intrusive), pas de contact physique,
Technique peu coûteuse.
|
· Technologie sensible à
l'environnement (éclairage, position, expression du visage...),
· Les vrais jumeaux ne sont pas
différenciés,
· Sensible aux changements (barbe, moustache, lunette,
percing, chirurgie...).
|
|
T.F.E 2015 | Benito Lubuma L2 Génie info
50
3.2. Applications utilisant la reconnaissance
faciale
Cette technologie est employée dans des domaines aussi
divers que le contrôle d'accès physique ou logique, la
surveillance ou l'accès aux distributeurs automatiques des billets
(DAB). Mais en veillant à utiliser le scénario le plus
adapté pour ne pas gêner les utilisateurs, car le résultat
restera toujours une identité probable.
4. La reconnaissance vocale (voix)
Cela fait environ 30 ans que les scientifiques se sont
penchés sur le problème de la reconnaissance vocale. C'est Texas
Instrument qui a été le pionnier dans ce domaine en conservant le
programme de R&D dès les années 60. Ces recherches ont permis
de mettre en place dès les années 70 un système de
sécurité basé sur la voix pour les pilotes de
l'armée américaine.
La voix d'une personne se caractérise par beaucoup de
paramètres. Chaque personne possède une voix propre que l'on peut
analyser par enregistrement avec un micro. Les sons se caractérisent par
une fréquence, par une intensité et par une tonalité. Le
traitement informatique tient compte des distorsions liées au
matériel utilisé, et sait analyser un son de mauvaise
qualité tel qu'une transmission téléphonique ou
radiophonique.
La reconnaissance de la voix n'est pas intrusive pour la
personne et n'exige aucun contact physique avec le lecteur du système.
Les logiciels utilisant la reconnaissance vocale peut être
centralisé et la voix transmise par le réseau, d'où un
impact sur la réduction du coût. Le dispositif nécessite un
micro en source de capture.
Les systèmes d'identification de la voix sont
basés sur les caractéristiques de voix, uniques pour chaque
individu. Ces caractéristiques sont constituées par une
combinaison de facteurs comportementaux (vitesse, rythme, etc.) et
physiologique (tonalité, âge, accent, harmoniques, etc.).
4.1. Principe et fonctionnement
Pour être stocké, la voix est
numérisée et segmentée par unités
échantillonnées. Les méthodes sont basées sur les
algorithmes de Shannon.
Les systèmes d'identification de la voix utilisent
soit un texte libre, soit un texte imposé et les mots devant être
lu devant un micro.
T.F.E 2015 | Benito Lubuma L2 Génie info
51
4.2. Avantages et inconvénient de la
reconnaissance vocale
|
Avantages
|
|
Inconvénients
|
·
·
·
·
|
Il est plus facile de protéger le lecteur que dans les
autres technologies,
Seule information utilisable via
le téléphone
Impossible d'imiter la voix,
Pas intrusif.
|
·
·
·
·
|
Sensible à l'état physique et émotionnel
de l'individu,
Fraude possible par enregistrement, Sensible aux bruits
ambiants,
Taux de faux rejet et fausse acceptation
élevés.
|
|
Les inconvénients relevés ci haut montrent que
le système est assez vulnérable et exige d'être
couplé avec un autre système d'identification.
4.3. Applications utilisant la reconnaissance
vocale
La somme des applications ne cesse de s'agrandir chaque jour.
Cette technologie est souvent employée dans des environnements où
la voix est déjà capturée, comme les centres d'appel et la
téléphonie où elle est le moyen biométrique le plus
simple et pratique à utiliser.
Nous pouvons donc dire que, c'est le seul moyen pour
s'identifier via une liaison téléphonique.
5. Reconnaissance par analyse de l'Iris
Les premières traces d'une proposition d'utilisation
du motif de l'iris comme moyen de reconnaissance remonte à un manuel
d'ophtalmologie écrit par James Doggarts et datant de 1949. On dit
même que l'ophtalmologiste Frank Burch en avait émis l'idée
dès 1936. Durant les années 80, l'idée réapparut
dans différents films, et restait du domaine de la science-fiction.
Ce n'est donc qu'en 1987 que deux ophtalmologistes Aran Safir
et Leonard Flom déposèrent un brevet sur cette idée et
demandèrent à John Daugman (enseignant à cette
époque à l'université de Harvard) d'essayer de trouver un
algorithme d'identification basé sur le motif de l'iris. Cet algorithme
était basé sur les ondelettes de Gabor et sera été
breveté en 1994. Il est la base de tous les systèmes de
reconnaissance d'iris actuels.
L'iris est un motif très dense qui n'est pas
dicté par les gènes car chaque oeil est unique, Dans toute
photographie de l'iris, on compte plus de 200 variables indépendantes,
ce qui fait une probabilité très faible de confondre 2
individus.
5.1. Principe et fonctionnement
Le traitement relativement rapide exige que la personne soit
très proche de l'objectif qui doit être une objective macro.
52
Le traitement s'effectue en trois phases :
· La recherche de position de l'iris dans l'oeil ;
· Extractions des paramètres caractéristiques
;
· Comparaisons avec les éléments connus.
Comme la couleur de l'iris peut varier avec le temps mais
rarement son motif, pour capturer cette membrane colorée, on utilise de
l'éclairage artificiel calibré tout en l'atténuant le plus
possible de l'éclairage ambiante.
5.2. Avantages et inconvénients de la
reconnaissance par l'analyse de l'iris
|
Avantages
|
|
Inconvénients
|
|
|
·
·
·
·
|
Grande quantité d'information
contenue dans l'iris,
Vrais jumeaux non confondus,
Très fiable,
Pas de risque identifié pour la santé.
|
·
·
|
Aspect psychologiquement méthode,
L'iris est aisément visible photographié.
|
évasif de et peut
|
la
être
|
|
5.3. Applications utilisant la reconnaissance de
l'iris
Etant donné que la biométrie par l'iris est une
des technologies qui assure un haut niveau de sécurité, et que
l'iris procure une unicité très élevée (1 sur 10
puissance 72) et sa stabilité est étendue jusqu'à la mort
de l'individu ; cette biométrie fait de plus en plus parler d'elle dans
des domaines très sensibles.
C'est ainsi qu'actuellement nous pouvons retrouver la
reconnaissance de l'iris dans le domaine des :
· Distributeurs de billets de banque,
· Contrôle d'accès physique (locaux, machines,
équipements spécifiques), contrôle d'accès logique
(systèmes d'information).
En théorie, de toutes les applications
d'authentification, la caméra est plus exposée qu'un micro (voix)
mais moins qu'un capteur tactile (empreintes digitales).
6. La reconnaissance par l'analyse de la
rétine
La rétine est la couche sensorielle de l'oeil qui
permet la vision. Cette zone est parcourue par des vaisseaux sanguins qui
émergent au niveau de la papille optique, où l'on distingue
l'artère et la veine centrale de la rétine qui se divisent
elles-mêmes en artères et veines de diamètre plus faible
pour vasculariser les cellules qui permettent la vision.
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
53
6.1. Fonctionnement
Les caractéristiques de la rétine sont
liées à la géométrie des vaisseaux sanguins. La
technologie utilise du matériel spécialisé et un rayon qui
illumine le fond de l'oeil. Le système identifie jusqu'à cent
quatre-vingt-douze points de repères. L'utilisation de ce système
ayant révélé quelques problèmes de santé,
des dispositions ont été prises pour limiter l'utilisation de ce
type de système à des locaux de haute sensibilité.
6.2. Avantages et inconvénients de la
reconnaissance par la rétine
La disposition des veines de la rétine assure une
bonne fiabilité et une haute barrière contre la fraude, mais le
frein psychologique produit par cette technologie est énorme. Elle est
une des raisons de sa faible percée dans les milieux de la
sécurité privée.
|
Avantages
|
|
Inconvénients
|
· · · · ·
|
L'empreinte rétinienne est peu exposée aux
blessures (coupure, brûlure),
Les taux de faux rejet et de fausse acceptation sont
faibles,
Très difficile, voire impossible,
à imiter,
La rétine est différente chez les vrais
jumeaux,
La rétine est stable durant la vie d'un individu.
|
· · · ·
|
Système intrusif, il faut placer l'oeil près du
capteur,
Mauvaise acceptation du public (l'oeil est un organe
sensible),
Coût important par rapport aux
autres technologies,
Pas adapté pour un flux de passage important.
|
|
6.3. Applications utilisant la reconnaissance de la
rétine
La lecture de la rétine est une technologie
utilisée pour des applications de très haute
sécurité. Par exemple, le système de balayage de la
rétine a été employé dans des applications
militaires et nucléaires. Nous pouvons aussi le retrouver auprès
des Distributeurs de billets de banque dans certains pays et aussi dans les
locaux sensibles à Contrôle d'accès.
A. La modalité comportementale 1. La signature
dynamique
Nous savons que chaque personne a un style unique
d'écriture. On peut donc à partir de la signature d'une personne
crée un modèle qui pourra être utilisé pour son
identification. En plus, dans plusieurs pays, la signature est juridiquement et
administrativement prouvé comme un moyen à même de
justifier de la bonne foi d'une personne ou de la confondre devant des
documents signés.
T.F.E 2015 | Benito Lubuma L2 Génie info
54
1.2. Principe de fonctionnement
Un tel système fonctionne grâce à un
capteur et un crayon lecteur. Le capteur utilisé est une tablette
digitalisée à électromagnétique. Ce capteur est
relié à un PC et tout mouvement du stylo, en écriture
ainsi qu'à la vitesse de la signature est pris en compte.
Comme tout système biométrique de
reconnaissance, ce système exige aussi le respect des certaines
étapes à l'instar de l'enrôlement qui exige trois
signatures au minimum pour enregistrer une nouvelle personne et la
reconnaissance qui fait la comparaison entre une nouvelle signature et une
signature de référence.
1.3. Avantages et inconvénients de la signature
dynamique
Le grand avantage des systèmes biométriques
à base de signature réside dans la reconnaissance de cette
méthode comme une forme acceptable juridiquement pour l'identification
des personnes. Cependant, en raison des grandes variations de signature pour
une même personne, vu qu'on utilise les systèmes d'analyse
à base tantôt statique tantôt dynamique, il est difficile
d'atteindre une très haute exactitude d'identification.
|
Avantages
|
|
Inconvénients
|
·
·
|
La signature écrite sur un document
peut être conservée dans certains documents,
Action qui implique (responsabilité) le demandeur.
|
·
·
·
|
Besoin d'une tablette graphique,
Sensible aux émotions de l'individu,
Pas utilisable pour du contrôle d'accès en
extérieur.
|
|
1.4. Applications utilisant la signature
dynamique
Actuellement nous retrouvons ces genres d'application dans
les grandes institutions financières telles que les banques et aussi les
compagnies d'assurances. On les retrouve aussi lors de la signature de certains
documents juridiques en ligne.
2. Dynamique de la frappe au clavier
La dynamique de la frappe au clavier est
caractéristique d'un individu. En quelque sorte la transposition de la
graphologie aux moyens électroniques.
Les paramètres suivants sont pris en compte pour une
bonne analyse :
· Vitesse de frappe ;
· Suite de lettres ;
· Mesure de temps de frappe ;
· Pause entre chaque mot ;
· Reconnaissance de mots précis.
T.F.E 2015 | Benito Lubuma L2 Génie info
55
2.1. Avantages et inconvénients de la dynamique de
la frappe au clavier
C'est une technologie biométrique qui offre peu
d'avantage par rapport aux autres technologies biométriques.
|
Avantages
|
|
Inconvénients
|
?
|
Non intrusif, geste naturel pour un individu.
|
?
|
Dépend de l'état (physique, émotion,
fatigue...).
|
2.2. Applications utilisant la dynamique de la frappe au
clavier
Les applications utilisant cette technologie
biométrique ne sont pas vraiment nombreuses suite à un nombre
réduit des avantages qu'elle offre cependant nous retrouvons ces genres
des applications dans les institutions bancaires ou autres institutions
gérant les documents administratifs.
B. LES ALGORITHMES DE RECONNAISSANCE DE FORMES
Actuellement, les applications informatiques sont
considérées comme étant un des moyens très puissant
pour effectuer des opérations numériques très complexes ou
pour gérer des informations administratives. Etant une branche de
l'intelligence artificielle, la reconnaissance de formes permet de mettre en
place des applications capables de se substituer à des activités
raisonnantes de l'être humain.
Dans ce domaine, les recherches sont axées sur le
développement des applications informatiques capables de transformer des
informations visuelles, des informations sonores ou des informations tactiles
en des informations pouvant être traitées par l'ordinateur. La
reconnaissance des formes est l'un des domaines le plus important de
l'intelligence artificielle.
1. Quelques définitions
Intelligence artificielle : le concept
intelligence artificielle est tellement vaste que plusieurs définitions
ont été proposées entre autre : l'intelligence
artificielle est un ensemble de techniques utilisées pour
réaliser les automates adoptant une démarche proche de la
pensée humaine.
: L'intelligence artificielle est l'étude des
idées qui permettent aux ordinateurs d'être intelligents.
C'est-à-dire leur donnent la possibilité de développer des
machines ou des programmes qui font preuve d'intelligence.
T.F.E 2015 | Benito Lubuma L2 Génie info
56
Reconnaissance de formes : est un ensemble de
techniques et méthodes visant à identifier des motifs
informatiques à partir des données brutes avant de prendre une
décision dépendant de la catégorie attribuée
à ce motif.
Algorithme : c'est une suite finie et non
ambiguë d'opérations ou d'instructions permettant de
résoudre un problème.
2. Caractéristiques des Algorithmes de
reconnaissance de formes
La reconnaissance de formes permet à partir de l'image
d'un objet ou d'une scène réelle d'en déduire les
données exploitables par une machine.
La reconnaissance de forme implique une phase d'apprentissage. Le
processus de reconnaissance de forme est assez proche de celui de
reconnaissance de la parole.
Avant de reconnaitre une forme, il faut d'abord en connaitre un
modèle ou un ensemble des caractéristiques pour pouvoir faire une
comparaison.
L'ordinateur doit donc mémoriser les données
à comparer avec celles des objets
rencontrés.
2.1. Principe de la reconnaissance de
forme
Le principe de la reconnaissance de formes est semblable
à celui de la reconnaissance de la parole. L'ordinogramme ci-dessous
nous présente d'une manière générale le principe de
la reconnaissance de forme.
57
Forme
Capteur
Prétraitement
Paramétrisation
Ensemble de référence
Identification
Comparaison
Forme à reconnaitre
Réponse
T.F.E 2015 | Benito Lubuma L2 Génie info
Figure III.11 Principe de la reconnaissance de formes
De ce qui précède, nous pouvons dire que la
reconnaissance de formes consiste à extraire des données du
capteur, une description géométrique de la scène puis
mettre cette description en correspondance avec la base de données de
modèle afin d'aboutir à l'identification avec l'un de ces
modèles.
L'identification peut se faire de deux manières :
? Superpositions de formes : cette méthode permet de
superposer deux images, celle à reconnaitre et celle stockée dans
la base. Actuellement on calcul la distance entre l'image et le modèle
(mesure de dissemblance).
? Détection de formes : cette méthode permet
d'extraire des informations pertinentes qui permettront de déterminer ce
que représente l'image.
T.F.E 2015 | Benito Lubuma L2 Génie info
58
3. Les différents types des algorithmes de
reconnaissance de formes
La reconnaissance de formes peut se faire à l'aide de
différents algorithmes d'apprentissage automatique tel que :
1. Un réseau de neurones artificiels
C'est un modèle de calcul dont la conception est
très schématiquement inspirée du fonctionnement des
neurones biologiques. Les réseaux de neurones sont
généralement optimisés par des méthodes
d'apprentissage de type probabiliste, en particulier, bayésien.
Ils sont placés d'une part, dans la famille des
applications statistiques, qu'ils enrichissent avec un ensemble de paradigmes,
permettant de créer des classifications rapides et d'autre part, dans la
famille des méthodes de l'intelligence artificielle auxquelles ils
fournissent un mécanisme perceptif indépendant des idées
propres de l'implémenter, et fournissant des informations
d'entrée au raisonnement logique formel.
2. une analyse statistique
C'est à la fois une science, une méthode et un
ensemble de techniques. La statistique comprend : la collecte de
données, l'analyse et le traitement des données
collectées, l'interprétation des résultats et leur
présentation afin de rendre les données compréhensibles
par tous.
3. L'utilisation de modèles de Markov
cachés
C'est un modèle statistique dans lequel le
système modélisé est supposé être un
processus markovien de paramètres inconnus. Les modèles de Markov
cachés sont massivement utilisés, notamment en reconnaissance de
formes, en intelligence artificielle ou encore en traitement automatique du
langage naturel.
Parmi ces algorithmes nous avons aussi la recherche
d'isomorphisme de graphes ou sous-graphes.
Les formes recherchées peuvent être des formes
géométriques, descriptibles par une formule mathématique,
telles que : cercle ou ellipse ; courbes de Bézier, splines,
droite...
Elles peuvent être aussi de nature plus complexe : lettre,
chiffre, empreinte...
Les algorithmes de reconnaissance peuvent travailler sur des
images en noir et blanc, avec en blanc les contours des objets se trouvant dans
l'image. Ces images sont le fruit d'algorithmes de détection de
contours. Ils peuvent aussi travailler sur des zones de l'image
prédéfinies issues de la segmentation de l'image.
59
Méthodes de reconnaissance de formes :
· Mise en correspondance de graphes
· Méthode Bayésienne
· Estimation Paramétrique
· Classifier linéaire
· Réseau de neurones
· Local feature focus
· SVM : Support Vector Machine
· Poly topes de contrainte
· Méthode des hyper cubes.
Parmi toutes ces méthodes, nous nous sommes plus
intéressés à la méthode paramétrique qui
s'avère être l'une des meilleurs pour la réalisation de
notre travail car, au sein de cette méthode, nous retrouvons des
algorithmes d'identification par l'iris très efficaces.
4. L'algorithme d'identification par
l'iris
Plusieurs avantages ont fait de l'iris une modalité
biométrique des plus performantes. L'iris est le seul organe interne
humain visible de l'extérieur, il est stable durant la vie d'une
personne et il est caractérisé par une texture unique. Pourtant,
reconnaître les personnes par leurs iris n'est pas chose facile car
plusieurs bruits peuvent interférer avec l'image de la texture de
l'iris.
L'iris est localisé derrière la cornée,
qui est un miroir hautement réfléchissant. L'image d'iris acquise
est alors souvent perturbée par des reflets.
4.1. Processus de reconnaissance par
l'iris
Les processus permettant de rendre possible la reconnaissance
par l'iris passent d'abord par l'acquisition de l'image.
L'acquisition d'une image d'iris est considérée
comme l'une des plus difficiles en biométrie. En effet l'iris
étant un objet de petite taille, sombre et aussi lambertienne, il faut
donc l'éclairer et pas avec une forte illumination car elle peut
engendrer des malaise chez l'utilisateur. On recommande l'utilisation de
focales très puissants ou de rapprocher l'iris de l'objectif sans que ce
dernier porte des risques pour le sujet.
L'acquisition de l'iris est rendue possible via deux
méthodes, celle de l'acquisition via la lumière visible et
l'acquisition via l'infrarouge. La deuxième méthode est
considérer comme étant la meilleure et elle a été
normalisée par la ISO.
L'infrarouge possède deux avantages majeurs sur la
lumière visible. Premièrement, la lumière est invisible,
l'utilisateur ne sera pas aussi gêné qu'en lumière visible
par une puissante illumination.
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
60
Le deuxième avantage est que l'infrarouge
possède un pouvoir de pénétration de la cornée qui
est largement plus grand que celui de la lumière visible et il est ainsi
possible de récupérer une richesse de texture supérieure
à celle obtenue en lumière visible, surtout pour les iris
sombres.
Généralement, les systèmes d'acquisition
d'iris acquièrent une image d'iris de 30 à 50 cm, utilisant de
une à quatre diodes LED de longueurs d'onde différentes. L'iris
obtenu a un diamètre compris entre 100 et 200 pixels. Dimensions
adoptées par la norme ISO et cela souvent grâce à une
caméra (caméra CCD monochrome 640 x 480) employée avec une
source de lumière de longueur d'onde comprise entre 700 et 900 nm,
invisible pour les humains.
a. Architecture d'un système d'iris
Une fois l'image de l'iris acquise, un système d'iris
peut être composé de plusieurs modules et cela selon les
chercheurs et leurs solutions. D'où, après étude et
analyse nous pouvons dire que notre système sera composé de cinq
modules comprenant : prétraitement, segmentation, déroulement,
l'extraction et génération d'iris codé, et enfin
l'assortiment.
1. Prétraitement :
Après l'acquisition de l'image, elle sera
réduite de 25% pour accélérer les calculs, et pour
réduire les effets du bruit.
2. Segmentation :
Cette étape revient à isoler l'iris du blanc de
l'oeil et des paupières ainsi qu'à détecter la pupille
à l'intérieur du disque de l'iris.
L'algorithme de segmentation extrait les contours interne et
externe de l'iris. La technique de détection de l'iris se déroule
en deux étapes : tout d'abord la détection de la pupille puis la
modélisation de sa frontière par un cercle.
La segmentation d'iris présente des difficultés
dues à l'occultation avec les paupières et les cils dont la forme
irrégulière et la position aléatoire les rendent difficile
à détecter. En plus, l'iris peut être couvert en partie par
les reflets de la lumière de l'appareil d'acquisition.
Dans la méthode proposée, l'iris et la pupille
sont modélisées par deux cercles non nécessairement
concentriques et chaque bord de la paupière par deux segments de
droite.
Figure III.12 résultats de segmentation des images
d'iris
T.F.E 2015 | Benito Lubuma L2 Génie info
61
3. Déroulement :
Une fois segmenté, l'iris nécessite une
opération de normalisation pour pallier la non concentricité des
deux bordures et à la variation de la taille de l'iris due à la
dilatation/contraction de la pupille.
Pour cela, nous avons transformé l'arc de l'iris
segmenté en une image rectangulaire ; L'iris localisé est
déroulé suivant la transformation polaire proposée par
Daugman :
Figure III. 13 Transformation polaire
4. L'extraction :
Afin de fournir l'identification précise des
personnes, l'information la plus distinctive présentée dans un
modèle d'iris doit être extraite.
Seulement les dispositifs significatifs de l'iris doivent
être codés de telle sorte que des comparaisons entre les calibres
puissent être faites.
La méthode d'extraction de l'information qui est assez
récente s'appuie sur la notion d'image analytique. Cette approche nous a
conduit à la réalisation d'un procédé visant
à fournir une autre information discriminante (phase instantanée,
fréquence instantanée, et module instantané) sans
accroître les calculs.
5. L'Assortiment :
L'unicité des modèles d'iris est importante, car
l'unicité relève des caractéristiques de la technologie
biométrique. L'unicité a été
déterminée en comparant des calibres produits à partir des
yeux différents. Par après on examine la distribution des valeurs
des distances de Hamming. La distance de Hamming est définie comme la
somme des bits en désaccord (somme de Ou - exclusif entre les deux
configurations binaires).
T.F.E 2015 | Benito Lubuma L2 Génie info
62
6. Résultats :
Afin d'évaluer l'efficacité de la
méthode choisie pour la mise en place notre algorithme, nous avons
calculé les distances inter classes pour chaque identification
achevée et cette méthode a donné des résultats
satisfaisants lors de test.
La technique de segmentation utilisée est parvenue
à segmenter correctement la région d'iris avec précision.
Ce qui veut dire que les frontières de la pupille et de l'iris
étaient clairement distinguées.
7. Conclusions :
L'algorithme d'identification de l'iris dont nous venons de
parler n'est pas le meilleur des algorithmes d'identification par l'iris mais
plutôt l'un des algorithmes le plus sûr en matière de
résultats.
Cet algorithmique se décompose en cinq modules :
? Le module de prétraitement,
? Le module d'isolation d'iris (segmentation),
? Le module de normalisation (déroulement),
? Le module d'extraction et génération d'iris
codé,
? Le module de comparaison des calibres biométriques.
Comparativement aux approches décrites dans la
littérature :
D'une part cet algorithme dont nous avons parlé fait
une comparaison entre l'extraction en utilisant les ondelettes et l'extraction
en utilisant les caractéristiques de texture d'iris en démodulant
l'information de fréquence émergente à partir du concept
d'image analytique, d'autre part, cet algorithme utilise une méthode
efficace pour la détection de la pupille et de l'iris en utilisation la
segmentation basée sur l'histogramme et en tirant profit de la forme
circulaire surtout de la pupille de l'oeil humain.
Cet algorithme a donné des résultats
satisfaisants pour tous les modules. En plus l'isolation des composantes
spectrales dans le sens de l'information concentrique contenue dans l'image
d'iris original, requiert moins de calculs qu'applique un filtre complexe
mettant en jeu des fonctions mathématique et exponentielles;
La taille de la signature biométrique est de 512 octets
et peut être augmentée ou diminuée en fonction de niveau de
sécurité exigé sans une augmentation considérable
de la complexité du calcul et du temps d'extraction.
Le temps d'exécution total moyen est d'environ 500 ms
pour les deux méthodes, ce qui est tout à fait acceptable pour
les utilisateurs d'un système de vérification
d'identité.
T.F.E 2015 | Benito Lubuma L2 Génie info
63
CHAPITRE IV : SPECIFICATION, CONCEPTION
ET DEVELOPPEMENT DU SYSTEME
[2][6][7][8][9][10][15][17][19]
IV.1. INTRODUCTION
Le génie logiciel est l'application pratique de la
connaissance scientifique dans la conception et l'élaboration de
programmes informatiques et de la documentation associée
nécessaire pour les développer, les mettre en oeuvres et les
maintenir.
Le génie logiciel utilise des méthodes et outils
dans le but de produire des logiciels de qualité en respectant des
contraintes de temps et de cout. En effet on cherche à développer
des logiciels qui correspondent aux besoins des utilisateurs de ces
logiciels.
Il existe des critères de qualité pour effecteur
un bon développement logiciel, la qualité d'un logiciel
correspond au contrat de service initial.
Cette notion est une notion multiforme qui recouvre :
· Utilité : adéquation
entre le besoin effectif de l'utilisateur et les fonctions offertes par le
logiciel.
· Validité : aptitude d'un
logiciel à réaliser exactement les tâches définies
par son cahier de charge et sa spécification.
· Robustesse : aptitude d'un logiciel
de fonctionner même dans les conditions anormales.
· Utilisabilité :
facilité d'emploi.
· Réutilisabilité :
aptitude d'un logiciel à être réalisé en tout ou en
partie dans des nouvelles applications.
· Extensibilité :
facilité avec laquelle un logiciel se prête à la
maintenance.
· Portabilité :
possibilité d'un logiciel de fonctionner sous différent
environnement.
· Vérifiabilité :
facilité de préparation aux procédures de test.
· Intégrité : aptitude
d'un logiciel de protéger ses codes contre des accès non
autorisés.
· Interopérabilité : un
logiciel doit pouvoir interagir en synergie avec d'autres
logiciels.
· Efficacité : aptitude d'un
logiciel à bien utiliser les ressources matérielles.
· Efficience : caractéristique
d'un logiciel dans laquelle il y a un gain de temps et de taille pour
satisfaire les besoins des utilisateurs. Ce critère est très
important pour les applications embarqué.
Le développement d'un logiciel se fait suivant un
cycle appelé cycle de vie d'un logiciel. Le cycle de vie d'un logiciel
désigne toutes les étapes du développement d'un logiciel,
de sa conception à sa disparition. L'objectif d'un tel découpage
est de permettre de définir des jalons intermédiaires permettant
la validation du développement logiciel.
Le cycle de vie permet de détecter les erreurs au plus
tôt et ainsi de maitriser la qualité du logiciel, les
délais de sa réalisation et les couts associés.
T.F.E 2015 | Benito Lubuma L2 Génie info
64
Le cycle de vie d'un logiciel comprend
généralement au minima les étapes suivantes :
· Spécification des besoins
· Conception préliminaire
· Conception détaillée
· Implémentation
· Tests unitaires et test d'intégration
· Validation
· Documentation
· Exploitation
Il existe de nombreux modèles de cycle de vie par exemple
: modèle en cascade, modèle en spirale, modèle en v,
modèle en w... tous ces modèles sont utilisés selon le
type de logiciel qu'on souhaite développer.
Actuellement les gros projets informatiques comme le nôtre
font appel à plusieurs domaines et nécessitent des moyens
très considérables pour aboutir à sa
réalisation.
IV.2. QUELQUES DEFINITIONS
Logiciel : c'est un ensemble d'informations
relatives à des traitements effectués par un appareil
informatique. Y sont incluses les instructions de traitement regroupées
sous forme de programme des données et de la documentation. Le tout est
stocké sous forme d'un ensemble de fichier dans une mémoire.
Génie logiciel : le terme
génie logiciel désigne l'ensemble des méthodes, des
techniques et outils à la production d'un logiciel au-delà de la
seule activité de programmation.
Architecture : En informatique, le terme
architecture désigne la structure générale
inhérente à un système informatique, l'organisation des
différents éléments du système et des relations
entre les éléments.
Système : un système est une
collection de pièces et un ensemble de principes qui une fois mis
ensemble forment une unité.
Module : c'est une unité regroupant
un ensemble de fonctions ou procédures destinées à
être utilisées en conjonction avec d'autres composants.
Modélisation : Établissement de
modèles; mise en modèle.
T.F.E 2015 | Benito Lubuma L2 Génie info
65
IV.3. SPECIFICATION DU SYSTEME
Le but principal de la spécification du système
est de définir ce que le système doit faire (le QUOI) et les
contraintes sous lesquelles il doit opérer. Pour cela nous devons :
· Produire une définition abstraite du
système
· Trouver un compromis avant engagement de
réalisation
· Montrer au maitre d'oeuvre comment les besoins seront
pris en compte
· Produire un référentiel pour le
développement
· Produire la base nécessaire aux tests.
L'ingénierie de la spécification consiste donc
à établir une communication entre les clients et les concepteurs
du système.
Figure IV. 14 Liens entre exigences utilisateur et
Réalisation
Il est essentiel de dissocier dans la description d'un
système, les deux points de vue :
· Externe : celui de non informaticiens, décideurs
et autre ;
· Interne : celui des concepteurs et personnels
techniques,...
Pour le point de vue externe, on définit une
spécification des besoins comme une description de haut niveau
d'abstraction des services que doit rendre le système et les contraintes
sous lesquelles il opère.
Pour le point de vue interne, on définit une
spécification du système comme une description
la plus précise possible du système qui doit être
réalisé.
D'une manière générale, il existe trois
grandes catégories de spécifications du
système :
· Les spécifications fonctionnelles : on
définit les services du système en termes de relation entre les
sorties et les entrées.
· Les spécifications non fonctionnelles : ce sont
les contraintes et les propriétés remplies par le système
dans son intégralité, comme, par exemple, l'efficacité, la
robustesse, la sécurité, . . .
T.F.E 2015 | Benito Lubuma L2 Génie info
66
· Les spécifications liées aux domaines
d'activité : ce sont des spécifications, fonctionnelles ou non
fonctionnelles qui définissent des informations ou des contraintes
liées aux règles qui régissent certains domaines.
IV.3.1. Les spécifications fonctionnelles
En général les spécifications
fonctionnelles expriment une action que doit effectuer le système en
réponse à une demande (sorties qui sont produites pour un
ensemble donné d'entrées). Les spécifications
fonctionnelles de notre système peuvent être regroupées de
la manière suivante :
· Le système doit être en mesure
d'authentifier tous les clients qui se présentent devant un G.A.B
tournant sous notre système possédant un compte bancaire et ayant
effectué un enrôlement biométrique à la banque
exploitant ce G.A.B.
· Toute transaction effectuée par un client doit
être suivie par l'impression d'un bordereau de payement/retrait.
IV.3.2. Les spécifications non fonctionnelles
Les spécifications non fonctionnelles regroupent tout
ce qui est besoins ou exigences que doit remplir le système pour qu'il
assure au mieux son travail. Parmi ces besoins nous pouvons citer :
· Besoin d'utilisabilité
· Besoins de performance
· Besoins de disponibilité/fiabilité
· Besoins de sécurité
· Besoins matériels
· Besoins de déploiement
Faisant parti des qualités exigées par le
génie logiciel, les spécifications non fonctionnelles seront
respectées et suivies à lettre lors du développement et le
déploiement de notre système.
IV.3.3. Les spécifications liées aux domaines
d'activité
Comme nous le dit la définition, les
spécifications liées aux domaines d'activité peuvent
être des spécifications fonctionnelles ou non fonctionnelles mais
ces spécifications doivent décrire d'une manière un peu
plus claire, les activités du système. Nous parlerons de ce type
des spécifications en détail, un peu plus loin dans ce
travail.
T.F.E 2015 | Benito Lubuma L2 Génie info
67
IV.3.4. Comment définir des
spécifications
Le diagramme ci-dessous montre les démarches à
suivre pour aboutir à une bonne spécification du
système.
Figure IV. 15 étapes à suivre pour une bonne
spécification
Après une étude de faisabilité
approfondie qui nous a permis d'avoir une vue d'ensemble du rôle du
système dans son éventuel environnement d'utilisation en vue
d'évaluer sa pertinence. D'où nous nous sommes mis d'accord avec
rapport de faisabilité à la main que déployer un tel
système fera le bonheur de toutes les parties prenantes.
A. Analyse du besoin
Apres une réponse positive provenant de notre
étude de faisabilité, nous allons expliciter et analyser les
besoins. Pour mieux le faire, nous allons définir les personnes
affectées par le système et évaluer leurs besoins par
ordre d'importance.
La quasi-totalité des utilisateurs de notre
système étant des étrangers à l'informatique et
décrivant donc leur interaction avec le système en utilisant des
termes imprécis ou exotiques, une bonne analyse de besoins passe par la
définition des interlocuteurs (personne affectées par le
système) et évaluer leur besoin par ordre d'importance. Ces
points de vue peuvent être classifiés en trois catégories
:
? Celui des personnes qui interagissent avec le système
(utilisateurs) ;
? Celui des personnes qui ont une relation indirecte avec le
système ;
? Celui, plus général, lié au domaine
d'application.
68
1. Celui des personnes qui interagissent avec le
système
Etant donné que le système que nous voulons
développer est un système bénéficiant d'une
architecture hybride qui renferme plusieurs types d'autres architectures,
l'identification des utilisateurs qui devront interagir avec le système
est rendue possible grâce au sous-système d'interface interactive
qui est un système dominé par des interactions entre le
système et des agents externes. Nous pouvons dire que les êtres
humains, particulièrement les utilisateurs de G.A.B seront les
principaux acteurs à interagir avec notre système.
2. Celui des personnes qui ont une relation indirect
avec le système
Notre système étant un système
informatique, nous pouvons identifier les acteurs qui interagissent
indirectement avec de la manière suivante :
· L'administrateur réseau du système,
· La banque.
3. Celui, plus général, qui est lié
au domaine de l'application
Quand nous parlons de ceux qui sont liés au domaine de
l'application, nous faisons allusion aux acteurs qui se situent dans le domaine
de l'activité du système et plus particulièrement, aux
ingénieurs qui développeront et feront la maintenance du
système et les systèmes devant s'interfacer avec le
système spécifié.
B. Utilisation de Scenario et Cas d'utilisation
a. Utilisation de scenario
Utiliser une session d'interaction comme support de la
discussion facilite la projection de l'interlocuteur comme utilisateur du futur
système.
Un scenario peut inclure :
· Une description du contexte dans lequel le
scénario démarre.
· Une description du flot normal des
événements d'interaction.
· Des informations sur les activités qui peuvent se
dérouler de façon concurrente.
· Une description de l'état du système
à la fin du scénario.
b. Cas d'utilisation
Les cas d'utilisation (use-cases) sont une technique
fondée sur les scénarios qui jouent un rôle central dans la
technique de modélisation. C'est aussi un des piliers de la notation UML
utilisée pour spécifier les systèmes à l'aide d'un
modèle à objets.
Stricto senso, un cas d'utilisation regroupe plusieurs
scénarios que l'on regarde à un niveau d'abstraction suffisamment
haut pour les assimiler.
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
69
Le diagramme de cas d'utilisation représente des
grandes fonctionnalités nécessaires aux utilisateurs du
système. Les cas d'utilisation permettent d'exprimer le besoin des
utilisateurs d'un système. Ils sont donc une vision orienté
utilisateur de ce besoin au contraire d'une vision informatique.
C'est le premier diagramme du modèle UML, qui assure
la relation entre l'utilisateur et les objets que le système met
oeuvre.
En nous basant sur ces explications nous allons identifier
les acteurs principaux et secondaires de notre système et les cas
d'utilisation nécessaires.
1. Identification des acteurs
Un acteur est qualifié de principal pour un cas
d'utilisation lorsque ce cas rend service à cet acteur. Les autres
acteurs sont alors qualifiés de secondaires. Un acteur principal obtient
un résultat observable du système, tandis qu'un acteur secondaire
est sollicité pour des informations complémentaires.
Pour notre système, les acteurs peuvent être
regroupés comme suit :
· Acteur principal : Client
· Acteurs secondaires : Banques et techniciens.
2. Identification de cas d'utilisations
Un cas d'utilisation est une unité cohérente
d'une fonctionnalité visible de l'extérieur. Il réalise un
service de bout en bout avec un déclenchement, un déroulement et
une fin pour l'acteur qui l'initie.
Un cas d'utilisation modélise donc un service rendu
par le système sans imposer le mode de réalisation de ce
service.
Pour notre système, les cas d'utilisations
nécessaires sont :
· Démarrer système
· S'authentifier
· Consulter compte
· Effectuer transaction
· Vérifier solde
· Imprimer ticket
· Arrêter système
· Blocage du système
· Redémarrer système
70
3. Représentation du diagramme de cas
d'utilisation
Figure IV.16 use case
IV.3.5. Validation de la spécification
La validation de la spécification vise à
montrer que les besoins explicités correspondent effectivement à
ceux des utilisateurs du système.
Elle sert aussi à débusquer les erreurs dans le
cahier des charges : Plus tôt une erreur est détectée,
moins elle coûte. Dans le cas général, détecter une
erreur dans la spécification une fois que la conception, le
développement et la validation du système sont terminés
implique une nouvelle passe sur plusieurs phases !
En se basant des spécifications fonctionnelles et non
fonctionnelles qui décrivent les besoins ou exigences que le
système doit remplir vis-à-vis de son utilisateur, nous pouvons
dire clairement que les spécifications du système de notre
système sont belle est bien valide.
IV.4. CONCEPTION DU SYSTEME
La conception du système est la première
étape des opérations qui aboutissent à
l'élaboration de l'approche qui permettra de résoudre le
problème.
Elle a pour objectif de définir une structure interne
du système vis-à-vis des spécifications imposées
dans la phase précédente pour répondre à la
question «comment fait le fait ?»
Pendant la conception du système, les
développeurs déterminent la structure globale et le style.
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
71
Il y a lieu de distinguer deux types de conception :
· Conception générale ou préliminaire
: qui est constituée de la conception architecturale et de la conception
des interfaces ;
· Conception détaillée qui permet de
déterminer les algorithmes.
A. Conception générale ou
préliminaire
La conception préliminaire produit une architecture
générale du système en le décomposant en composants
constitutifs, notamment des modules et des tâches concurrentes.
1. La conception architecturale
La conception architecturale permet de décrire la
structure du système. L'architecture du système détermine
la façon dont le système sera organisé en
sous-systèmes. En outre l'architecture fournit le contexte des
décisions détaillées qui seront prises à des stades
ultérieurs. Parmi ces décisions à prendre, nous pouvons
citer :
· Estimer les performances du système ;
· Mettre au point un plan de réutilisation ;
· Organiser le système en sous-système ;
· Identifier les questions de concurrence inhérentes
au problème ;
· Allouer les sous-systèmes aux équipements
;
· Gérer les stockages de données
· Choisir une stratégie de contrôle du
logiciel ;
· Traiter les limites
· Arbitrer les priorités
· Sélectionner un style architectural
a. Estimer les performances du
système
Lors de la planification de notre système, nous avons
eu à préparer une estimation approximative de ses performances.
Grâce à la technologie biométrique que nous avons eu
à intégrer dans ce système, nous pouvons dire que notre
système sera plus performant que le système qu'utilise le G.A.B
actuellement.
b. Mettre au point un plan de
réutilisation
La réutilisation étant l'un des avantages de la
technologie objet ; nous a permis de réutiliser les
bibliothèques, Framework et patterns développé par la
firme Telecom Sud Paris qui ont mis en place le logiciel OSIRIS v4.1. Ce
dernier est l'un des logiciels de reconnaissance d'iris le plus performant dans
le monde.
T.F.E 2015 | Benito Lubuma L2 Génie info
72
c. Organiser un système en sous
système
Hormis la partie spécification du système et
ses détails, la première étape de la conception consiste
à diviser le système en sous-système.
En considérant la spécification de notre
système, nous pouvons le subdiviser en trois sous-systèmes, l'un
qui va gérer l'identification et l'authentification des clients et les
autres qui s'occuperont de la gestion des transactions reparties.
La relation existante entre nos sous-systèmes est une
relation de type client-serveur.
d. Identifier les questions de concurrence
inhérentes au problème
Un objectif important de la conception d'un logiciel consiste
à identifier les objets qui doivent être actifs
simultanément et ceux dont l'activité est mutuellement
exclusive.
Identification des concurrences : Notre
système étant hybride parce que renferment plusieurs types de
système entre autre le système temps réel,
l'identification des concurrences pour un tel système est demeure
primordiale.
C'est ainsi que, nous pouvons dire que notre système
sera en mesure de gérer la concurrence que ça soit
intrinsèque ou extrinsèque.
Quand nous parlons de la concurrence intrinsèque, nous
sous-entendons tout type de concurrences que nous pouvons retrouver à
l'intérieur du système. Par exemple les tâches concurrentes
qui sont des tâches pouvant s'exécuter en parallèle avec
d'autres tâches.
e. Allouer des sous-systèmes
Pour une meilleur performance de notre système comme
nous le souhaitons, nous aurons à allouer à chaque sous
système de notre système des ressources matérielles
conséquentes telle qu'un processeur spécifique pour une puissance
du système.
f. Gérer le stockage des
données
Avec les avancées technologiques, il existe
actuellement plusieurs solutions de stockage de données.
Le système informatique en vogue dans les banques
utilise des SGBD relationnelle. Pour notre système, l'utilisation d'un
SGBD relationnelle est aussi possible malgré les données brutes
qu'il va récolter lors de l'enrôlement.
T.F.E 2015 | Benito Lubuma L2 Génie info
73
g. Gérer les ressources globales
Lors de notre étude sur la spécification du
système, nous avons eu à identifier les ressources globales
à déterminer les mécanismes de contrôler
d'accès.
· Unités physiques comme les processeurs, camera UHD
et les satellites de communication.
· Espaces de stockage tel que le disque dur,
· Accès aux données partagées comme
les bases de données.
h. Choisir une stratégie de contrôle du
logiciel
Il existe deux types de flux de contrôle dans un
système logiciel : le contrôle externe qui mettra en place
certaines stratégies pour assurer la sécurité
environnementale du système vis-à-vis des sabotages ; le
contrôle interne qui consistera à avoir une équipe des
techniciens pour assurer la maintenance du système.
i. Gérer les cas limites
La force d'un logiciel ou d'un système informatique,
repose dans les résultats qu'il produit et dans sa stabilité mais
cela n'implique pas l'absence totale du bègue. C'est pourquoi notre
système devra être en mesure de réagir d'une manière
significative lors qu'il est face à un bègue.
j. Arbitrer les priorités
Faire un bon arbitrage des priorités va nous permettre
de nous mettre d'accord sur nos buts atteindre ; raison pour laquelle notre
système doit être robuste et résistant aux pannes.
k. Styles architecturaux courants
Il existe plusieurs modèles de styles architecturaux
courant dans les systèmes existants. Chacun d'eux est bien adapté
à un certain type de système.
En voici :
· Transformation par lots : effectue des traitements
séquentiels.
· Transformation continue : système dans lequel
les sorties dépendent activement des entrées qui changent.
· Interface interactive : système dominé
par des interactions entre le système et des agents externes, comme les
êtres humains ou équipements.
· Simulation dynamique : système qui simule
l'évolution d'objets du monde réel.
· Système temps réel : système
interactif dans lequel les actions sont soumises à des contraintes de
temps très fortes.
· Gestionnaire de transactions : système dont la
fonction première est de stocker et retrouver les données.
T.F.E 2015 | Benito Lubuma L2 Génie info
74
i. Architecture de notre système
Actuellement les systèmes qu'utilisent les G.A.B sont
de systèmes hybrides constitués généralement d'un
système d'interface interactive et d'un système de gestionnaire
de transactions.
Le système que nous souhaitons mettre en place, sera
un système hybride comme tous les autres existants mais avec une
particularité du point de vue architectural. C'est à dire il sera
constitué de trois types des systèmes différents qui sont
:
? Interface interactive
? Système temps réel
? Gestionnaire de transactions
Comme la structure d'un système informatique n'est
à ce jour assujettie à aucune norme, en matière de
logiciels, elle sera représentée sous forme de graphiques tels
que des organigrammes, des diagrammes de workflow ou des diagrammes
entité-relation.
L'architecture logicielle est une vue tournée sur
l'organisation interne et le découpage d'un logiciel en modules. Dans
les logiciels les caractéristiques communes concernent les interfaces,
c'est-à-dire la connectique qui permet la communication entre les
modules ainsi que les caractéristiques du matériel informatique
et du système d'exploitation sur lequel le logiciel s'exécutera
et les caractéristiques du réseau informatique qui sera
utilisé.
En se référant à la spécification
de notre système, nous avons trouvé comme architecture logicielle
la mieux adaptée pour le développement de notre système,
l'architecture en couches.
L'architecture en couches, est celles dont les composants
sont regroupés en sous-systèmes placés les uns au-dessus
des autres. Chaque composant d'un sous-système donné est en
relation uniquement avec des composants des sous-systèmes placés
immédiatement au-dessus ou en dessous.
Sous système bancaire
Sous système de gestion de transactions
Sous système de gestion d'identification
et d'authentification
Figure IV. 17 Structure d'une architecture en
couches
75
En nous basant sur notre architecture, nous pouvons dire que
les systèmes qui constituent l'architecture de notre système sont
considérés comme étant des sous-systèmes et cela
pour un bon fonctionnement du système dans son
entièreté.
Les stations d'entrée utiliseront deux
sous-systèmes : le premier sous-système est celui d'interface
interactive qui a comme but d'interagir avec un être humain et le second
sous-système est celui de la gestion d'identification et
d'authentification du client. Ce dernier sous-système, sera
implémenté comme étant un système temps réel
car l'implémentation d'un système biométrique dans un
système temps réel nous permettra de gagner en précision
et en rapidité sur le fonctionnement de notre système,
grâce aux respects des contraintes temporelles.
Le sous-système de la gestion de transactions et le
sous-système bancaire, forment et représentent un gestionnaire
des transactions répartis.
j. Caractéristiques matérielles et
logicielles du système
Les composants matérielles des GAB, demeurent les
mêmes quel que soit l'emplacement géographique.
En référence à la section II.1.3 du
chapitre deux du présent travail où nous avons eu à parler
d'une manière détaille des composants matériels du GAB,
nous pouvons à présent les résumer en les citant comme
suit :
· Un écran tactile ;
· Un lecteur de carte
· Compartiment de rejet de cartes ou boitier de rejet de
cartes fermant à clé ;
· Imprimante de ticket de caisse ;
· Imprimante à journaux
· Un coffre-fort
· Bloc d'alimentation
· Distributeur secteur
· Unité système.
Les composants matériels que nous venons de citer sont
utilisés pour la construction des G.A.B jusqu'à ce jour. Le
système que nous souhaitons déployer, est un système
accès moderne et très Secure par rapport aux systèmes
existants mais le déploiement d'un tel système implique
obligatoirement l'évolution de la fabrication du GAB.
Pour son bon fonctionnent, notre système exigera que
le G.A.B soit constitué des composants ci-dessous :
· Un écran tactile ;
· Une camera UHD ;
· Capteurs CCD/CMOS
· Imprimante de ticket ;
· Imprimante à journaux ;
· Un coffre-fort ;
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
76
· Bloc d'alimentation ;
· Distributeur secteur ;
· Unité système.
La camera UHD pour effectuer une capture de l'iris, des
capteurs CCD/CMOS pour permettre de faire une capture de l'image à une
distance très considérable.
Le remplacement du lecteur de cartes et de son boitier de
rejet par une camera UHD et des capteurs CCD/CMOS feront la force de notre
système vis-à-vis des systèmes existants.
Du point de vue logiciel, en nous référant
toujours à notre chapitre deux à la section II.1.3, nous avons eu
à soulever plusieurs failles de sécurité que
présente le système d'exploitation utilise les G.A.B
actuellement.
Après études et analyses des experts sur les
systèmes d'exploitation utilisés par les G.A.B actuellement dans
la plus part des pays, il s'avère que le système d'exploitation
Windows XP est le plus utilisé dans G.A.B et malheureusement, ce
système révèle plusieurs failles de sécurité
d'où l'existence de plusieurs types d'attaques contre un tel
système d'exploitation dont le plus connu est le retrait
fantôme.
Pour remédier à ces problèmes de
système d'exploitation, notre système aura le privilège et
l'avantage par rapport aux autres, de la mise en place d'abord d'un
système d'exploitation libre avec certains certificats garantissant sa
sécurité.
B. Conception détaillée
Cette deuxième partie de la conception permet à
partir du résultat de la conception générale de continuer
le découpage du système jusqu'à arriver à une
description détaillée de chacun des composants.
Cette phase consiste à déterminer les choix des
algorithmes à préciser la signature des tâches et des
fonctions, à définir la structure de données et à
spécifier les protocoles de communications.
La conception détaillée précède
la phase de codage. À ce niveau, toutes les questions relatives à
l'agencement et aux détails de la solution doivent être
modélisées.
La conception détaillée fait appel à
certains éléments pour mieux effecteur la modélisation du
système. De ces éléments nous pouvons citer :
· Microprocessus de conception logique, modèle
logique ;
· Propriétés de conception d'une classe, d'un
attribut, d'une association et d'une opération ;
· design patterns : État, Curseur, Stratégie,
Observateur, Référence futée ;
· couches de présentation, de l'application, de
métier distribué et de stockage des données,
· etc.
T.F.E 2015 | Benito Lubuma L2 Génie info
77
1. Le Microprocessus de conception logique
Le microprocessus de conception logique concerne la
définition des classes à implémenter. C'est donc une
activité centrée sur le modèle logique, qui combine les
diagrammes UML suivants :
· Principalement les diagrammes des classes pour
préciser la structure des classes de développement ;
· Les diagrammes d'interactions pour préciser les
communications entre objets ;
· Les diagrammes d'activité pour exprimer les
algorithmes des méthodes.
Le microprocessus de contrôle logique est
considéré par certains auteurs comme étant la partie
centrale de la modélisation d'un système.
Le microprocessus consiste en une interaction des cinq
activités représentées par la figure ci-dessous :
Figure IV.18 les activités gérées par
le microprocessus
· Concevoir les classes consiste à transformer des
concepts provenant de l'analyse ;
· Concevoir les associations définies la
façon d'exploiter chaque association et les techniques qui seront
employées dans le codage.
· Concevoir les attributs nécessite
essentiellement d'identifier les structures de données, les
itérations et d'autres types complexes permettant de représenter
les attributs d'analyse ;
· Concevoir les opérations permet de
déterminer le contenu des méthodes complexes et d'identifier en
cascade de nouvelles classes et opérations dans la catégorie.
78
? Valider le modèle constitue la phase de
décision du cycle itératif. Sortir de ce cycle signifie que le
modèle donne l'image prête à être codé.
Nous allons nous contenter de la partie microprocessus de
conception logique car elle est la seule partie qu'on peut modéliser
d'une manière statique avec un langage de modélisation par
rapport aux autres éléments auxquels la conception
détaillée peut faire appel.
En nous basant sur la partie spécification de notre
système et conception préliminaire, nous avons eu à mettre
en place un dictionnaire de données qui se présente comme suit
:
Dictionnaire de données
Pour la mise en place de nos diagrammes, plus
particulièrement celui des classes,
nous avons eu à répertorier quatre entités
que nous utiliserons comme étant des diagrammes
des classes. Ces entités sont :
? Client
? Banque
? Compte
? G.A.B
Grâce à notre dictionnaire de données
très bien élaborée, nous avons eu à concevoir les
trois diagrammes qui constituent le coeur de cette partie.
a. Diagramme de classes
Le diagramme de classes montre la structure interne d'un
système et permet aussi de fournir une représentation abstraite
des objets du système qui vont interagir ensemble pour réaliser
les cas d'utilisation.
Figure IV. 19 Diagramme de classe
T.F.E 2015 | Benito Lubuma L2 Génie info
79
b. Diagramme d'interaction
Les diagrammes d'interaction permettent d'établir un
lien entre les diagrammes de cas d'utilisation et les diagrammes de classe. Ils
montrent comment des objets communiquent pour réaliser une certaine
fonctionnalité. Ils apportent un aspect dynamique à la
modélisation du système.
T.F.E 2015 | Benito Lubuma L2 Génie info
Figure IV. 20 Diagramme de séquence pour
l'exécution d'une transaction
T.F.E 2015 | Benito Lubuma L2 Génie info
80
c. Diagramme d'activités
Les diagrammes d'activités permettent de mettre
l'accent sur les traitements et de représenter aussi graphiquement le
comportement d'une méthode ou le déroulement d'un cas
d'utilisation.
Figure IV. 21 Diagramme d'activité
Il convient de préciser que les contenus des
sous-systèmes, d'une manière générale, servent
à compléter la configuration logicielle. Le niveau d'abstraction
visé par l'étape de conception détaillée est la
conception des composants.
IV.5. DEVELOPPEMENT DES MODULES DU SYSTEME
Le système étant vaste et complexe, nous avons pris
soin de développer deux modules : un module servant d'indentification et
authentification du client ; un autre module servant à la gestion des
transactions.
IV.5.1. Choix du langage de programmation
Le choix d'un langage de programmation dépende souvent de
la préférence du développeur et du type de logiciel
à produire. Pour réussir à développer nos deux
modules, nous avons préféré les langages de programmation
ci-après : Le Java et le langage C.
T.F.E 2015 | Benito Lubuma L2 Génie info
81
IV.5.2. Quelques interfaces graphiques
Une fois que le client se présentera devant le G.A.B
tournant sous notre système, il verra sur l'écran LCD l'image
ressemblant à celle-ci :
Une fois l'authentification terminée, le système
affichera une image ressemblant à
celle-ci :
Le client aura le choix entre les trois propositions qui lui
sera présenté par le système. Sur l'image ci-dessous nous
pouvons apercevoir que le client a choisi de retirer de l'argent...
82
Sur cette image, nous pouvons apercevoir un
échantillon des données enregistrées après
enrôlement d'un certain nombre des clients dans notre
système.
IV.5.3. Quelques morceaux des codes
#include "mex.h" #include "matrix.h" #include "math.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const
mxArray *prhs[])
{
unsigned char *edgeim;
int rmin,rmax;
const int *dimensioni;
int rows,cols;
int nradii;
int dimensioni3d[3];
double *p;
int hr,hc,hrhc;
T.F.E 2015 | Benito Lubuma L2 Génie info
83
double weigth = 1.0;
int *xd,*yd,*px,*py;
int *x,*y,*changed;
int Lx,Ly,Lxd,Lyd;
int cx,cy;
int radius;
double fractpart, intpart,prodotto;
int ii,jj,cont,index,posjj,posii,n,pos,Lmax,vx,vy;
edgeim = mxGetData(prhs[0]);
rmin = mxGetScalar(prhs[1]);
rmax = mxGetScalar(prhs[2]);
dimensioni = mxGetDimensions(prhs[0]);
rows = dimensioni[0];
cols = dimensioni[1]; nradii =
rmax-rmin+1;
dimensioni3d[0] = rows; dimensioni3d[1] =
cols; dimensioni3d[2] = nradii;
plhs[0] =
mxCreateNumericArray(3,dimensioni3d,mxDOUBLE_CLASS,mxREAL);
p = mxGetData(plhs[0]);
hr = rows; hc = cols; hrhc =
hr*hc;
x = mxCalloc(hrhc,sizeof(int));
y = mxCalloc(hrhc,sizeof(int));
cont = 0;
for (jj=0;jj<hc;jj++)
{
posjj = jj*hr;
for (ii=0;ii<hr;ii++)
{
posii = posjj+ii;
if (*(edgeim+posii)>0)
{
x[cont]=jj;
y[cont]=ii;
cont++;
}
}
}
Lx = cont; Ly = cont;
Lmax = (int)(floor((nradii+rmin)/sqrt(2))+1)+1;
changed = mxCalloc(hrhc,sizeof(int));
xd = mxCalloc(Lmax,sizeof(int));
yd = mxCalloc(Lmax,sizeof(int));
px = mxCalloc(8*(Lmax),sizeof(int));
py = mxCalloc(8*(Lmax),sizeof(int));
for (index=0;index<Ly;index++)
{
cx = x[index];
cy = y[index];
for (n=1;n<=nradii;n++)
{
radius = n+rmin;
T.F.E 2015 | Benito Lubuma L2 Génie info
84
Lxd = (int)(((double)radius/sqrt(2))+1);
Lyd = Lxd;
for (ii=0;ii<Lxd;ii++) {
xd[ii] = ii;
prodotto =
(double)radius*sqrt(1-((double)(ii*ii))/((double)(radius*radius)));
if ((prodotto-(int)prodotto)>=0.5)
{
yd[ii] = (int)(prodotto)+1;
}
else
{
yd[ii] = (int)(prodotto);
}
}
for (ii=0;ii<Lxd;ii++)
{
vx = xd[ii];
vy = yd[ii];
px[ii] = cy+vx; py[ii] = cx+vy;
px[ii+Lxd] = cy+vy; py[ii+Lxd] = cx+vx;
px[ii+2*Lxd] = cy+vy; py[ii+2*Lxd] =
cx-vx;
px[ii+3*Lxd] = cy+vx; py[ii+3*Lxd] =
cx-vy;
px[ii+4*Lxd] = cy-vx; py[ii+4*Lxd] =
cx-vy;
px[ii+5*Lxd] = cy-vy; py[ii+5*Lxd] =
cx-vx;
px[ii+6*Lxd] = cy-vy; py[ii+6*Lxd] =
cx+vx;
px[ii+7*Lxd] = cy-vx;
py[ii+7*Lxd] = cx+vy;
}
for (ii=0;ii<hrhc;ii++)
{
changed[ii] = 0;
}
for (ii=0;ii<Lxd*8;ii++)
{
if ((px[ii]>=0) && (px[ii]<hr) &&
(py[ii]>=0) && (py[ii]<hc))
{
pos = px[ii]+hr*py[ii];
if (changed[pos]==0)
{
p[(n-1)*hrhc+pos] += weigth;
changed[pos] = 1;
}
}
}
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
85
}
}
mxFree(xd); mxFree(yd);
mxFree(px); mxFree(py); mxFree(x);
mxFree(y); mxFree(changed);
T.F.E 2015 | Benito Lubuma L2 Génie info
86
CONCLUSION GENERALE
Notre travail de licence qui est en fait un projet de mise en
place d'un système de sécurité biométrique
basé sur la reconnaissance de l'iris embarqué dans un G.A.B, est
parti de deux constats : le système qu'utilisent les G.A.B actuellement,
est un système qui ne garantit pas à 100% la
sécurité de la vie privée de ses utilisateurs.
L'évolution de la technologie qu'a mis en place
plusieurs moyens de sécurité, semble être à
l'avantages des hackers et autres types de pirates informatiques qui ne cessent
de concevoir diverses méthodes pour commettre des fraudes et des
attaques vis-à-vis des G.A.B qui existent.
Nous savons tous, quel que soit la race, le niveau de
formation en matière d'argent on ne se confie pas à n'importe
qui, surtout pour le garder. Avant l'apparition de certaines technologies comme
l'impression en 3D, garder son argent à l'aide d'une carte bancaire qui
pouvait être à puce ou magnétique ; aller effectuer ses
transactions dans un G.A.B, étaient rassurants. Mais ce n'est plus le
cas actuellement ;
Comprenant cette situation et au regard de notre constat, nous
avons réfléchi sur une technologie très efficace en
matière d'identification et d'authentification : la biométrie.
Elle peut être définie comme étant la mesure des
éléments biologiques, comportementaux ou physiologiques uniques
et propres à chaque individu.
L'intégration de l'une de ces meilleures
modalités en occurrence la reconnaissance de l'iris dans un G.A.B,
rendra ce dernier plus Secure que les anciens systèmes. L'utilisateur
n'aura plus à porter sa carte bancaire quand il veut retirer ou faire un
dépôt dans un G.A.B, son iris sera utilisé par le
système comme moyen d'identification et d'authentification qui lui
permettra d'accéder à son compte et de faire ses transactions
normalement.
Nous avons préconisé la mise en place d'un
système impliquant obligatoirement la modernisation des G.A.B
actuels.
Enfin, comme vous l'aurez remarqué sans doute, en
lisant ce travail relevé nous n'avons voulu qu'apporter une part de nos
connaissances dans le domaine scientifique. Ce modeste travail est une partie
du combat humain contre l'ignorance dans le souci de mieux faire. Quelques
omissions et erreurs involontaires seront sans doute encore constatées,
tout en demeurant attentif à vos remarques et critiques constructives,
nous nous engageons à l'améliorer pour le bonheur de la
communauté.
87
BIBLIOGRAPHIE
OUVRAGES
[1] Ahlem Haniched, Nabil Khenfer Un Système Efficace
D'identification Des Personnes Par Iris Université Ferhat Abbas de
Sétif Algérie
[2] BAGNARD Natacha FOROT Julien Conception
détaillée Configuration Interface for MEs sage ROuting 2007
[3] Emine Krichen INT Identification des personnes par l'iris
France Telecom RD, Issy les moulineaux 2005
[4] European Network and Information security Agency Rapport
ENISA 2012
[5] Francis Cottet, Emmanuel Grolleau, Sébastien
Gérard, Jerome Hugues, Yassine, outhammou sara tucci-piergiovanni
système temps réel embarqués dunod 2 édition
2014
[6] Laurent AUDIBERT UML 2.0 IUT département informatique
édition volle 2012
[7] Pascal Roques, Franck Vallée UML 2en action
3e édition Eyrolles 2004
[8] Stefano Zacchiroli Génie Logiciel Avancé
Laboratoire PPS, Université Paris Diderot - Paris 7
[9] T. Fricheteau Gestion de Projets Spécifications
conception 05/09/2007 V2.0
[10] Yann Pollet Spécification du système,
ingénierie des exigences Conservatoire National des Arts et
Métiers
NOTES DE COURS, THESES,
PUBLICATIONS
[11] Confédération suisse Guide relatif aux
systèmes de reconnaissance biométrique version 1.0 septembre
2009
[12] CLUB DE LA SECURITE DES SYSTEMES D'INFORMATION
FRANÇAIS Techniques de contrôle par accès
biométrique Commission Techniques de Sécurité Physique
juin 2003
[13] M. Emine Krichen thèse Reconnaissance des
personnes par l'iris en mode dégradé Institut National des
Télécommunications Soutenue le 4 octobre 2007
[14] Marc Segond thèse Algorithmes biométriques
pour la reconnaissance de formes et l'apprentissage présente et soutenue
publiquement le 8 décembre 2006
[15] Nathanaël KASORO Mulenda Notes de Cours de
système experts et temps réel UNIKIN 2014
[16] Nathanaël KASORO Mulenda Notes de cours
d'intelligence artificielle et système expert UNIKIN 2013
[17] Saint- jean DJUNGU Notes de cours Génie logiciel
UNIKIN 2015
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
88
[18] Pierre KASENGEDIA Mutombe Notes de cours de
système d'exploitation UNIKIN 2012
[19] Parametric Technology Corporation (PTC) publications
Paris 2007
WEBOGRAPHIE
[20]
www.biométrie-online.com
(septembre 2015)
[21]
www.Mascre.heguy.com
(Septembre 2015)
[22]
www.wikipedia.org/historique
gab (Juin 2015)
[23]
www.wikipedia.org/lesgabdaujourdhui
(Juin 2015)
[24]
www.oberthurtechnologie.fr
(Aout 2015)
89
TABLE DES MATIERES
LISTES IV
FIGURES V
TABLEAUX VIII
ABREVIATIONS V
INTRODUCTION GENERALE 1
CHAPITRE IER : LE SYSTEME TEMPS REEL
EMBARQUE 4
I.1. INTRODUCTION 4
I.2. DEFINITIONS 4
1. Système de contrôle-commande 4
2. Système embarqué 5
3. Système temps réel 5
4. Système critique 6
I.3. LES CARACTERISTIQUES D'UN SYSTEME TEMPS REEL 6
I.3.1. Les caractéristiques principales 6
I.3.2. Les caractéristiques temporelles des
systèmes temps réel 7
I.4. DOMAINES D'APPLICATIONS 8
I.5. ARCHITECTURE DES APPLICATIONS TEMPS REEL ET EMBARQUE
8
I.5.1. Architecture mono tâche 9
I.5.1.1. Inconvénients de l'architecture mono
tâche 9
I.5.1.2. Structure d'une approche mono tâche 10
I.5.2. Architecture Multitâche 10
I.5.2.1. Architecture matérielle 10
I.5.2.2. Architecture logicielle Multitâche 10
I.5.2.3. Modèle d'exécution et d'ordonnancement
12
I.5.3. Exécutif ou noyau temps réel 15
I.5.4. Implémentation des applications de
contrôle-commande 17
I.5.4.1. Inconvénients des applications de
contrôle-commande 17
I.5.4.2. Les langages de développement des
applications de contrôle-commande 17
I.6. QUELQUES EXEMPLES D'APPLICATIONS TEMPS REEL ET
EMBARQUEES 19
NOUS POUVONS DONNER QUELQUES EXEMPLES CONCRETS DES
APPLICATIONS TEMPS
REEL ET EMBARQUEES : 19
CHAPITRE II : LES G.A.B ET LES CARTES BANCAIRES
20
II.1. LES G.A.B 20
II.1.1. Historique 20
II.1.2. Définitions et Utilisations 21
A. Définitions 21
B. Utilisations 21
II.1.3. Matériels et Logiciels 21
A. Matériels 21
B. Logiciels 22
II.1.4. Fiabilité et sécurité 23
A. Fiabilité 23
B. La sécurité du G.A.B 23
II.2. LES CARTES BANCAIRES 29
II.2.1. Historique 29
II.2.2. Définitions et utilisations 30
A. Définitions 30
B. Utilisations 31
II.2.3. Composants matériels et logiciels 31
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
90
A. Composants matériels 32
B. Les composants logiciels 33
II.2.4. Fiabilité et Sécurité d'une
carte bancaire 35
A. Fiabilité 35
B. Sécurité 36
CHAPITRE III : LA TECHNOLOGIE BIOMETRIQUE ET LES
ALGORITHMES DE
RECONNAISSANCE DE FORMES 39
A. TECHNOLOGIE BIOMETRIQUE 39
1. Historique de la technologie biométrique 39
2. Définitions et utilisations 40
A. Quelques définitions 40
B. Utilisation de la biométrie 41
3. Caractéristiques des systèmes
biométriques 41
4. Types de modalités de la technologie
biométrique 42
4.1. Comment choisir une modalité biométrique
43
4.2. Les modalités biométriques 44
B. LES ALGORITHMES DE RECONNAISSANCE DE FORMES 55
1. Quelques définitions 55
2. Caractéristiques des Algorithmes de reconnaissance
de formes 56
2.1. Principe de la reconnaissance de forme 56
3. Les différents types des algorithmes de
reconnaissance de formes 58
4. L'algorithme d'identification par l'iris 59
4.1. Processus de reconnaissance par l'iris 59
CHAPITRE IV : SPECIFICATION, CONCEPTION ET
DEVELOPPEMENT DU SYSTEME 63
IV.1. INTRODUCTION 63
IV.2. QUELQUES DEFINITIONS 64
IV.3. SPECIFICATION DU SYSTEME 65
IV.3.1. Les spécifications fonctionnelles 66
IV.3.2. Les spécifications non fonctionnelles
66
IV.3.3. Les spécifications liées aux domaines
d'activité 66
IV.3.4. Comment définir des spécifications
67
IV.3.5. Validation de la spécification 70
IV.4. CONCEPTION DU SYSTEME 70
A. Conception générale ou préliminaire
71
B. Conception détaillée 76
IV.5. DEVELOPPEMENT DES MODULES DU SYSTEME 80
IV.5.1. Choix du langage de programmation 80
IV.5.2. Quelques interfaces graphiques 81
IV.5.3. Quelques morceaux des codes 82
CONCLUSION GENERALE 86
BIBLIOGRAPHIE 87
TABLE DES MATIERES 89
|