[Linux-bruxelles] Eid et les codes ..

Rémi Laurent remi.laurent at fsugar.be
Mer 23 Jan 18:24:21 CET 2008


* Frederic Peters - 23-01-2008 à 18h11:

> Laurent Léonard écrivait :
> 
> > L'utilisation de beidgui confirme ce que tu dis, tant pour le fait qu'il n'y a 
> > qu'un seul code PIN que pour les 3 essais. Cependant, je constate que lorsque 
> > j'essaye de mettre un code de confirmation différent du nouveau code et que 
> > je clique sur "OK", l'interface me signale que les codes sont différents 
> > alors que la diode du lecteur de carte n'a même pas clignoté (j'en déduis 
> > qu'aucune communication avec la carte n'a été faite pour m'informer de cette 
> > différence entre les 2 codes)... Cette limitation ne serait-elle donc pas 
> > imposée par le logiciel plutôt que par la puce ? Il serait techniquement 
> > tout-à-fait possible que le programme modifie 2 codes d'accès sur la carte en 
> > une seule fois, et que ce même programme ne permette de ne choisir qu'un 
> > unique code ? Bien sûr ça serait tout-à-fait stupide... Eclaire-nous... 
> 
> La justification de ce comportement a toujours été que ce serait trop
> compliqué d'expliquer aux gens la différence entre les deux
> certificats.
> 
> Je n'ai pas de beidgui sous les yeux, et pas de carte d'identité
> électronique, par contre j'ai l'API d'OpenSC, projet libre qui est
> utilisé.  Dedans, il y a une fonction sc_pkcs15_change_pin qui permet
> de changer le code PIN, on lui l'ancien code, et le nouveau, le point
> à remarquer est que l'opération de confirmation est totalement
> absente.
> 
>  -> 1) le programme pourrait très bien ne demander que l'ancien et le
>        nouveau code, pas besoin de demander de confirmation;
> 
>  -> 2) ces deux codes connus du programme il peut très bien modifier
>        les propriétés d'accès des deux certificats
> 
> Je répète que je parle ici d'OpenSC; les personnes intéressées peuvent
> comparer avec ce qu'elles trouveront dans le paquet libbeidlibopensc2-dev
> (ou équivalent dans d'autres distributions).

Après une petite analyse du code j'ai bien l'impression que je me suis
planté sur mon affirmation de tantot (faudra que je redemande au proche
en question). Il semblerait bien qu'il n'y ait qu'un code PIN (le Basic
PIN comme il est appelé sur la carte). Il est possible d'utiliser des
outils standard fournis avec opensc et justement de lister diverses
informations sur la carte d'identité électronique.
Quatre certificate se trouvent sur la carte, Root CA, Citizen CA,
Authentication Certificate et Signature Certificate mais par contre le
listing du nombre de PIN reste désespérement à une seul et unique
entrée.
Effectivement les vérifications ne sont pas effectuées au niveau de la
carte pour la double entrée du PIN, seule une vérification de oldpin et
newpin est vérifiée, afin de ne pas pouvoir updater le PIN sans posséder
l'ancien.

Dans les sources (fortement inspirées de opensc) de beid on retrouve par
contre une structure qui reprend un tableau de PIN (la taille de ce
tableau est fixée à 3 par un define). On pourrait donc penser que le PIN
est placé sur (au maximum 3 certificats), par contre l'interface fournie
(type PKCS15 si j'ai bien tout compris) elle ne donne accès qu'un un
seul code PIN; on peut donc penser qu'il s'agit d'une limitation insérée
au niveau même de la carte. 3 codes PIN identiques mais une seule
'interface' pour les modifier.

Sur ce je quitte le boulot, je vous donnerai des bouts de code quand je
serai rentré à la maison ;)

-- 
Rémi Laurent

GPG Key ID/Fingerprint:
    1024D/0FA00601 27F4 6810 2B0E 1AA0 CDAE  7C7B 3DC9 085A 0FA0 0601
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 189 octets
Desc: Digital signature
URL: </pipermail/linux-bruxelles/attachments/20080123/71e5c495/attachment-0001.sig>


Plus d'informations sur la liste de diffusion Linux-bruxelles