Tutorial Installer un lecteur de cartes `a puce USB sous Linux Sebastien.Varrette@imag.fr Version : 0.1 – Juin 2005 R´esum´e Ce tutorial aborde l’installation d’un lecteur de cartes `a puces sous Linux. Le lecteur utilis´e pour r´ealiser ce tutorial est le lecteur USB Omni- key Cardman3121mais notre propospeut facilement s’´etendreaux autres lecteurs, notamment ceux sur port s´erie ou parall`ele. L’objectif de cette installation est de g´erer l’authentification des utilisateurs via une carte `a puce. La r´ealisation de cet objectif (notamment la configuration des mo- dules PAM etc... Voir aussi [4]) fera l’objet d’un document ult´erieur. Ce tutorial se contente de d´etailler la phase d’installation et de configuration du lecteur, tout en proposant l’installation d’outils compl´ementaires per- mettant de manipuler le contenu de la carte a` puce. Enfin, bien que la distribution utilis´ee soit une Debian, un effort tout particulier a ´et´e ef- fectu´e pour r´ealiser au maximum les installation via les archives sources plutoˆtqueparpackage,cecidanslebutderesterleplusg´en´eriquepossible. 1Table des mati`eres 1 Introdution : pr´esentation des cartes `a puce 3 2 Pr´eliminaires : installations de logiciels sous Linux `a partir des sources 3 2.1 Rappel : installation standard `a partir de sources . . . . . . . . . 3 2.2 Limites de la m´ethode standard . . . . . . . . . . . . . . . . . . . 4 2.3 L’approche de l’outil stow . . . . . . . . . . . . . . . . . . . . . . 4 3 PC/SC lite 5 3 ...
Resume´ ´ Cetutorialabordel’installationd’unlecteurdecartes`apucessous Linux.Lelecteurutilis´epourre´alisercetutorialestlelecteurUSBOmni-keyCardman3121maisnotrepropospeutfacilements’e´tendreauxautres lecteurs,notammentceuxsurportse´rieouparalle`le.L’objectifdecette installationestdege´rerl’authentificationdesutilisateursviaunecartea` puce.Lar´ealisationdecetobjectif(notammentlaconfigurationdesmo-dulesPAMetc...Voiraussi[4])feral’objetd’undocumentulte´rieur.Ce tutorialsecontentedede´taillerlaphased’installationetdeconfiguration dulecteur,toutenproposantl’installationd’outilscomple´mentairesper-mettantdemanipulerlecontenudelacarte`apuce.Enfin,bienquela distributionutilis´eesoituneDebian,unefforttoutparticuliera´et´eef-fectu´ ´alis maximum les installation via les archives sources e pour re er au plutoˆtqueparpackage,cecidanslebutderesterleplusg´ene´riquepossible.
AScriptdedemarragedud´emon pcscd sous Debian 18 ´ 1Introdution:pre´sentationdescartesa`puce cf les documents suivants : – http://www.jalix.org/ressources/miscellaneous/security/_IFT6271/ Chap_14.pdf – http://people.cs.uchicago.edu/~dinoj/smartcard/javacardarch.html Danslasuite,lescommandesshelln´ecessitantlesdroitsutilisateurs(resp.root) serontpr´efixe´espar user% (resp. root# ). 2Pre´liminaires:installationsdelogicielssousLinux `apartirdessources Afinderesterge´n´erique,lesinstallationsd´ecritesdanscetutorialsontfaitesa` partir des sources, bien qu’il soit souvent plus pratique d’utiliser directement des paquetspre´compil´es.Cependant,cetyped’installationgarantitdebe´ne´ficierde latoutedernie`reversiond’unlogiciel. 2.1Rappel:installationstandard`apartirdesources Lefichierdesourcessepre´sentesouslaformed’unearchivecompresse´e tar.gz (auformatge´n´eral: logiciel-version.tar.gz ).Lam´ethodeusuellepourins-taller le logiciel est la suivante : 1. De´compressiondel’archive : user% tar xvzf logiciel-version.tar.gz 2. D´eplacementdanslere´pertoiredessources user% cd logiciel-version 3. Configuration de la compilation . En general, un fichier README et/ou INSTALL existeetfournitlaproc´edure ´ ´ a`suivre.Ilconviente´videmmentdeleslire.Ensuite,lescript configure permetdep´arerautomatiquentlesfichiersn´ecessaires`alacompilation. rep L’option --prefix permetdesp´ecifierler´epertoirecibledelacompilation. Lesfichiersg´en´ere´sserontalorsinstall´esdanslesous-r´epertoiresdece prefix ( $prefix/bin , $prefix/lib ...).Pard´efaut,cer´epertoireesten ge´ne´ral /usr/local . Ainsi, pour lancer la configuration, on utilisera en general la commande : ´ ´ user\% ./configure --prefix=/usr/local (Anoterquecescriptadmetdenombreusesautresoption,d´etaill´eesdans le fichier README ou via la commande ./configure -help ). Cettephasepermetdeve´rifierlesde´pendancesdelibrairieetdeg´enerer un fichier Makefile assurantunecompilationspe´cialis´eea`votremachine. Touteerreursouleve´eparcettecommandedoitˆetrecorrig´eesavantde ` l’´tape suivante. passer a e 3
4. Compilation du logiciel . user\% make 5. Installation du logiciel . L’outil make permet´egalementd’automatiserla phased’installation.Demeˆmequepr´ecedemment,aucuneoptionn’est normalementne´cessaire. root# make install Remarque:lesdroitsrootsontenge´n´eralrequisafindedisposerdesdroits d’e´crituredanslere´pertoirecible. Cette suite de commandes installe le logiciel dans /usr/local (re´pertoirecible). Lesex´ecutablessontstock´esdanslesous-re´pertoire bin (e´ventuellement sbin ) dur´epertoirecible,leslibrairiesdanslesou´toie lib dur´epertoirecible, s-reper r etc... 2.2Limitesdelame´thodestandard Cettem´ethodefonctionneparfaitement,maisposedesproble`mesdemise`a jour ou de suppression d’un logiciel. Il est en effet impossible de situer tous les fichiersinstall´eslorsduprocessusdecompilation/installation.Pourde´sinstaller le logiciel, on peut utiliser la commande root# make uninstall depuislere´pertoiredessourcesconfigure´s.Cependant,defac¸ong´ene´ral,ce re´pertoireestsupprim´eapr`esl’installationsibienqu’onseretrouvetr`esvite avecdescentainesdefichiers,d’originesdiverses,dansler´epertoire /usr/local . 2.3 L’approche de l’outil stow BobGlicksteinapropose´dere´soudreleprobl`emeparl’utilisationdulogiciel stow [2]. stow estunpetitscript(500lignes)´ecritenlangagePERL,souslicenceGPL.Le principeestd’effectuerlaphased’installationavecunre´pertoireciblediff´erent de /usr/local ,etsp´ecifiquepourchaquelogiciel. Oncr´eedoncunre´pertoire /usr/local/stow danslequelonplaceraunr´eper-toireparlogicielinstall´e.Ainsi,lelogiciel toto version1.0.14seraconfigur´epour s’installerdanslere´pertoire /usr/local/stow/toto-1.0.14/ via la commande user% ./configure --prefix=/usr/local/stow/toto-1.0.14/ A l’issue de la phase d’installation (par make install ), on se retrouve avec les exe´cutablesge´n´ere´sstocke´sdanslesous-r´epertoire bin de /usr/local/stow/toto-1.0.14/ ,leslibrairiesdanslesous-r´epertoire lib etc... C’estl`aque stow intervient.Lacommandesuivanteest`alancerdanslereper-´ toire /usr/local/stow : root# stow toto-1.0.14