HAL Id: tel-00555926
https://tel.archives-ouvertes.fr/tel-00555926
Submitted on 14 Jan 2011
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
La mesure de performance dans les cartes à puce
Julien Cordry
To cite this version:
Julien Cordry. La mesure de performance dans les cartes à puce. Informatique [cs]. Conservatoire national des arts et metiers - CNAM, 2009. Français. �NNT : 2010CNAM0735�. �tel-00555926�
CNAM Cedric
D´epartement de formation doctorale en informatique Ecole Doctorale Informatique T´´ el´ecommunication et ´Electronique (EDITE)
La Mesure de Performance dans les Cartes ` a Puce
TH ` ESE
pr´esent´ee et soutenue publiquement le 30 Novembre 2009 pour l’obtention du
Doctorat du Conservatoire National des Arts et M´ etiers
(sp´ecialit´e informatique) par
Julien Cordry
Composition du jury
Pr´esident : Luc Bouganim Rapporteurs : Didier Donsez
Serge Chaumette Examinateur : Pascal Urien Directeur : Pierre Paradinas Co-encadrante : Samia Bouzefrane
Centre d’´Etude et de Recherche en Informatique du CNAM
Mestrèsvifsremeriements àmonsieurSergeChaumette, età monsieurDidierDonsez pour
m'avoir fait l'honneur d'aepter d'être les rapporteurs. La pertinene de leurs remarques et
leursexpérienesont indubitablement enrihie doument.Meripourl'intérêt quevousyavez
aordé.
MestrèsvifsremeriementsvontaussiàmonsieurLu Bouganimet àmonsieurPasal Urien
pour avoirportéattention à mestravaux etpour avoiraepté d'enadrer masoutenane.
Je tiens à remerier monsieur Pierre Paradinas, d'avoir aepté la responsabilité de diriger
ettethèse.Ilm'apermidedéouvrir lemilieude laarteàpue etlemilieude lareherhe. La
rihesse de sespointsde vue,sapersévérane etsapatieneont renduestravauxpossibles.
Je ne remerierai jamais assez madame Samia Bouzefrane pour ses eorts ontinus pendant
desannées autour de ette thèse. Il est diile de laremerier à la hauteur de l'énergiequ'elle
dépensée. Elle a joué un rle prépondérant dans la réalisation de es travaux. Sans elle, rien
n'auraitétépossible.Pour toutela,meri.
Je voudrais aussiexprimer maplusprofonde gratitudeà monsieur ÉriGressier-Soudan qui
m'a aueilli au sein de son équipe. Ses onseils et ses remarques ont profondément inuené
montravail.Sonentrain,sabonnehumeur,sonénergieetsonéouteont grandement ontribué
auxbonnesonditions de travail quiont étéles miennesau oursde esdernières années.
Un ertain nombre de personnes du Cedri ont, de part leurs questionset leurs remarques,
ontribué à es travaux. Je remerie don François Aneau, Joël Berthelin, Niolas Bouillot,
Ivan Boule, Catherine Coquery,Pierre Courtieu,Séverine Demeyer, Jean-PaulEtienne, Claude
Kaiser, Romain Pellerin, Gilbert Saporta, Françoise Sailhan etJean-Ferdinand Susini pour les
disutionstoujoursenrihissantes quej'ai puavoir ave eux.
Je remerie toutpartiulièrement Stéphane Natkin etMarie-Christine Costade m'avoir a-
ueilli auCedri.
JeremerieégalementmesollèguesduprojetMesure:CorentinBoë,GillesGrimaud,Hervé
Meunier,CarinePasal,Henri Pied, SébastienRonsse,Ernest TsassongetÉriVétillard.
Meri aussi à mes ollègues et amis du Cedri : Jean-Frédéri Etienne, Patrie Krzanik,
Haï-Binh Le, Patrik Joelin, Khaled Garri, Amélie Lambert, Hélène Topart, Leïla Harfouhe,
Saa Sider, Henri Pugliese, Jean-Marie Shroeder, Laurent Dehoey, Guozhi Wei, Anne Wei,
Samundeswari Ramahandra, Hans-Nikolas Loher, Mar Flausino, Rodrigo Almeida, Pedro
Alessio,XiangqiuHou,OlivierBoursin,DidierErepmo,VinentRoudaut,ShuohsiuHsu,Fouad
Keyrillos,Viviane Gal,José PluquetetMathieu Trampont.
Meri à tout le personel administratif du CNAM qui a travaillé sans ompter pour rendre
ettethèse possible.
Enn,millemerisàJeannine,Véronique,Alain,LeslieetMorganeCordry,ainsiqu'àJérome
Alonso,FannyBoitier,MylèneBouat,GhislaineCarton,YohanEdier,SarahGayrard,Raphaëlle
Giardini,Patriia Hillion,YvesKeroas, Stéphanie Lebas, CindyMeister, et Gaëlle Mooradaly.
La mesurede performane estutilisée danstousles systèmes informatiquespour garantir la
meilleure performane pour le plus faible oût possible. L'établissement d'outils de mesures et
demétriques a permisd'établir desbases de omparaison entre ordinateurs.Bien que lemonde
de la arte à pue ne fasse pas exeption, les questions de séurité oupent le devant de la
sènepourelles-i.Leseortsallantversuneplusgrandeouverturedestestsetdelamesurede
performanerestentdisrets.Lestravauxprésentésiiontpourobjetifdeproposeruneméthode
demesuredelaperformanedanslesplates-formesJavaCardquioupentunepartonsidérable
dumarhé de laarte àpue dansle monde. Après l'introdution de méthodologies de mesures
deperformanepour les artesàpue, noushoisirons lesoutils etlesaratéristiques destests
que nous voulons faire subir aux artes, et nous analyserons les données ainsi réoltées. Enn
une appliation originale des artes à pue est proposée et permet de valider ertains résultats
obtenus.
Mots-lés: Java Card,benhmark,arte àpue, mesurede performane, test
Abstrat
Performanemeasurementsareusedinomputersystemstogarantythebestperformane
at the lowest ost. Establishing measurement tools and metris has helped build omparaison
salesbetween omputers.Smart ardsarenoexeption. Buttheenter stageofthesmartard
industryismostlybusy withseurityissues.Eortstowards abetter integrationofperformane
testsarestillmodests. Ourwork fousedona better approah inestimating theexeutiontime
within Java Card platforms. Those platforms onstitute a big part of the modern smart ard
marketshareespeiallywithregards tomulti-appliative environments. Afterindroduing some
methologiesto better measurethe performane of Java Cards, we detailthe tools and thetests
thatwe mean to use on smartards. We will thereafter analyze thedata obtained in this way.
Finally,an original appliation for smart ards is proposed. We used it to validatesome points
about theresults.
Keywords:Java Card,benhmark, smartard,performane measurement, test
Introdution générale 1
Chapitre 1
Les artes à pue
1.1 Histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Caratéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Les standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.2 Propriétés physiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.3 Miroproesseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.4 Communiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.5 Horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2.6 NFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2.7 Cyle de vie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 Plates-formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1 Les plates-formesJava Card . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.2 Java Card 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.3 GlobalPlatform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.4 D'autres plates-formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4 Les APIsd'entrées/sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.1 PC/SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.2 OCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.3 JPC/SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.4 JSR268 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5 Appliations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.1 Un exemple d'appliation :MusleCard . . . . . . . . . . . . . . . . . . . 24
1.6 Conlusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Chapitre 2
État de l'art
2.1 Introdution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2 La mesurede performane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2 Typesde benhmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.3 Quelquesbenhmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.4 La mesurede performane enJava/J2ME . . . . . . . . . . . . . . . . . . 33
2.3 La mesurede performane enJava Card . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.1 Castellà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.2 Markantonakis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.3 SCCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.4 Erdmann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.5 Fisher. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.6 Rehioui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3.7 Papapanagiotoy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3.8 Chaumette-Sauveron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.3.9 Guyot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.3.10 Poll etal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3.11 Tews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3.12 Attaques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.3.13 Conlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Chapitre 3 Méthodologie pour la mesure de Performane 3.1 Introdution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2 Prinipe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.1 Introdution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.2 Isolerletemps d'exéutiond'unbyteode . . . . . . . . . . . . . . . . . . 51
3.3 Byteodesd'arithmétiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4 Quelquesrésultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4.1 Performane arithmétique . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4.2 Linéarité desrésultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5 Extension desmesuresà d'autresbyteodes . . . . . . . . . . . . . . . . . . . . . 58
3.6 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.7 Conlusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Les outils de MESURE
4.1 Introdution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2 Les modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2.1 Le module Calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2.2 Le module Benh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.3 Le module Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.4 Le module Extrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2.5 Le module Proler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.3 Couverture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.1 Notions depriorités danslesmesures . . . . . . . . . . . . . . . . . . . . . 78
4.3.2 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.3.3 Byteodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.4 Conlusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Chapitre 5 Analyse Statistique de la performane d'une arte 5.1 Introdution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2 Validation destests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.1 Corretion statistiques desmesures . . . . . . . . . . . . . . . . . . . . . . 86
5.2.2 Validation ave unCAD depréision . . . . . . . . . . . . . . . . . . . . . 93
5.3 Conlusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Chapitre 6 Appliation 6.1 Introdution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.1.1 Représentativité desmesures etdomainesd'appliations . . . . . . . . . . 98
6.1.2 JMUs etplates-formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.2 Dénition du prolutilisateur pourJMUs . . . . . . . . . . . . . . . . . . . . . . 100
6.3 L'utilisation de artesàpue dansla gestiondeprol utilisateur . . . . . . . . . 101
6.4 Jouer auxJMUs ave desartesàpue NFC . . . . . . . . . . . . . . . . . . . . . 102
6.5 L'arhiteture pour gérer lePJJMU surune arteà pue NFC. . . . . . . . . . . 104
6.5.1 Le servie- partie surlaarte à pue . . . . . . . . . . . . . . . . . . . . . 104
6.5.2 Le servie- partie leteurNFC . . . . . . . . . . . . . . . . . . . . . . . . 105
6.5.3 La gestionde PJJMUetla séurité . . . . . . . . . . . . . . . . . . . . . . 106
6.6 Performanes de l'appliation surlaarte àpue . . . . . . . . . . . . . . . . . . 108
6.7 Conlusion etPerspetives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Chapitre 7
Conlusion
Annexes
Annexe A
Publiations
Annexe B
Enadrements
Annexe C
CAD de préision
Annexe D
Prole de l'appliation MCardApplet
Annexe E
Autres Distributions
Bibliographie 141