Bio Flash Ah, quel bel objet ! De nature à faire plaisir aux membres du GIXEL, puisque la multiplication de ce genre de petits gadgets va directement dans le sens qu'ils recherchent : la banalisation de l'emploi de la biométrie pour les usages les plus courants, et donc, la désensibilisation du public vis-à-vis des importants enjeux que cela recouvre, comme l'indique ce passage du livre bleu du GIXEL, d'un cynisme tellement magnifique qu'il mérité d'être cité et recité pour que vous sachiez bien à quelle sauce on entend vous manger :

Acceptation par la population :
La sécurité est très souvent vécue dans nos sociétés démocratiques comme une atteinte aux libertés individuelles. Il faut donc faire accepter par la population les technologies utilisées et parmi celles-ci la biométrie, la vidéosurveillance et les contrôles.
Plusieurs méthodes devront être développées par les pouvoirs publics et les industriels pour faire accepter la biométrie. Elles devront être accompagnées d'un effort de convivialité par une reconnaissance de la personne et par l'apport de fonctionnalités attrayantes:

- Éducation dès l'école maternelle, les enfants utilisent cette technologie pour rentrer dans l'école, en sortir, déjeuner à la cantine, et les parents ou leurs représentants s'identifieront pour aller chercher les enfants.
- Introduction dans des biens de consommation, de confort ou des jeux : téléphone portable, ordinateur, voiture, domotique, jeux vidéo

- Développer les services « cardless » à la banque, au supermarché, dans les transports, pour l'accès Internet...

La même approche ne peut pas être prise pour faire accepter les technologies de surveillance et de contrôle, il faudra probablement recourir à la persuasion et à la réglementation en démontrant l'apport de ces technologies à la sérénité des populations et en minimisant la gène occasionnée. Là encore, l'électronique et l'informatique peuvent contribuer largement à cette tâche.

Pourquoi est-ce que je frissonne à chaque fois que je lis cela ?

Cet aspect politique des choses dûment rappelé, intéressons-nous aux aspects techniques de l'objet que j'ai entre les mains.

En effet, l'un des pièges courants de la biométrie est de s'imaginer que sous prétexte qu'un bidule est biométrique, cela le rend en quoi que ce soit sûr ou fiable. Ce n'est nullement le cas ![1]
Le néophyte s'imaginera que, sous prétexte que son empreinte digitale est unique (du moins théoriquement), un dispositif basé sur le contrôle de cette empreinte sera infaillible. Mais c'est archi-faux ! Tout dépend de la précision (définition) de mesure de l'empreinte en question, de la manière dont celle-ci est encodée (nombre de minuties...), et de la qualité de l'algorithme employé pour comparer des empreintes. En effet, l'algorithme doit être souple pour s'adapter à différents positionnements du doigt, des lectures plus ou moins bonnes, un doigt légèrement modifié par une petite coupure, ou appuyé plus ou moins fort et plus ou moins largement, etc...
Si la prise de mesure est de basse définition, et l'algorithme assez basique, ou si l'appareil est incapable de faire la différence entre un doigt vivant et une copie d'empreinte, la sécurité est alors bidon. Parmi les dispositifs grand public bas-de-gamme pas chers, les moins bons ont une marge de confusion comprise entre 1% et 1 pour mille, ce qui veut dire que si vous prenez plusieurs centaines de personnes, le bazar a de fortes chances de confondre les empreintes digitales de plusieurs d'entre elles, et donc, d'identifier à tort l'un comme étant l'autre et réciproquement.
Si par contre l'algorithme est trop chatouilleux, il risque de refuser à tort l'accès à la bonne personne, pour peu que la moindre chose ait modifié, même très légèrement, l'aspect de son doigt (peau sèche ou humide ou grasse, légère usure de l'empreinte suite à des travaux manuels...).
Les appareils capables d'avoir une marge d'erreur inférieure à 1 sur un million sont, eux, très très chers, et réservés à des usages professionnels de haute précision.
Reste ensuite, avec ce genre de dispositifs, le risque toujours présent d'installer un verrou archi-blindé sur une porte de carton. Et ça, on ne peut s'en faire aucune idée si l'on ne connaît pas les détails complets de la chaîne de sécurité mise en oeuvre, d'un bout à l'autre.

Revenons-en à notre bidule.

Jetons d'abord un coup d'oeil à la boîte, qui vante en gros caractères les privacy, convenience, security du gadget, mais qui se montre bien pauvre en informations techniques. Elle n'indique notamment pas de quelle manière sont protégés les fichiers stockés sur le bidule (chiffrés ? pas chiffrés ? simple verrouillage d'accès ?), et indique uniquement des caractéristiques de base du capteur d'empreinte digitale : Fingerprint Sensor : Semiconductor Sensor - Resolution : 508 dpi. C'est un peu court.

Ouvrons la boîte, et regardons la malheureuse page A4 couleur recto-verso en anglais, qui tient lieu de manuel. On n'en apprend guère plus, à part comment installer le machin sous Windows, car, selon boîte et notice, il n'est évidemment compatible qu'avec ce système d'exploitation.
La malheureuse feuille A4 commence par indiquer que, pour plus d'infos, il faut se reporter au manuel complet fourni sur CD. Tout ce qu'elle nous apprend d'autre est qu'il est conseillé de saisir également un mot de passe de secours qui pourra être utilisé en cas de problème de lecture des empreintes digitales. Pas très encourageant concernant la fiabilité du machin, et pas davantage concernant sa sécurité, puisque la notice indique que le mot de passe devrait faire "au moins 6 caractères", ce qui ne donne pas une bien grande entropie, et semble donc peu susceptible de fournir une haute sécurité.
La ch'tite notice nous apprend également que le CD comporte un utilitaire "encryption & zip", mais n'indique ni quel est l'algorithme utilisé, ni sa longueur de clé, ni rien, quoi.
On apprend enfin que le bidule peut être remis à zéro grâce à un utilitaire qui demande de taper son n° de série, qui doit également être saisi lors de sa première utilisation. Mot de passe, numéro de série... Hummm... De très gros doutes s'élèvent en moi.

En reniflant la notice et la boîte, je commence donc à percevoir une forte odeur d'huile de serpent[2]. Le mode de prise et de calcul de l'empreinte digitale (nombre de minuties ?) n'est pas indiqué, la méthode de protection des fichiers n'est pas indiquée, chiffrés ou pas, et si oui, comment ? On n'en sait rien ; les calculs sur l'empreinte et le verrouillage/déverrouillage et autorisation d'accès sont-ils effectués par la clé elle-même ou par le pilote Windows sur l'ordinateur ? On n'en sait toujours rien. Bref, on ne sait rien de rien.

Il est bon de se rappeler la maxime employée en sécurité informatique, et qui dit qu'il n'y a pas de sécurité par l'obscurité[3]. Si un industriel commercialise un produit présenté comme de haute sécurité, mais se refuse à fournir la moindre précision technique sur la manière dont son système fonctionne, pourquoi donc devrais-je lui faire confiance ? Le paranoïaque pensera plutôt que si le système était vraiment sûr, et si l'industriel en était vraiment fier, il n'hésiterait pas à en communiquer les détails techniques, et à faire de ces détails un vecteur de communication et de publicité auprès des professionnels. S'il les cache sous le tapis et se contente de jolis slogans creux "grand-public", on a toutes les raisons d'être très, très méfiant.

Jetons maintenant un coup d'oeil dans le manuel (sous forme de PDF en anglais) sur le CD. Que nous apprend-il de plus ?
Il commence par nous apprendre que This fingerprint BioFlash is equipped with the leading encryption technology that allows only authorized users to access the BioFlash ; BioFlash is the most secure and developed data storage device on the market. Belles phrases de marketoïde, parfaitement creuses. Encore une forte odeur de snake oil comme pour tous les termes dithyrambiques employés par des vendeurs en matière de crypto, quand il ne sont accompagnés d'aucun détail technique.

Cherchons encore quelques détails techniques dans le manuel. Ah, en voilà !

Chip sensor : capacitive / pressure
Resolution : 508 dpi
Minutia size : < 512 bytes[4]
Pixel array : 192x236
Gray scale : 256
Scan area : 9.6 x 11.8 mm
Live finger : YES[5]

C'est tout ce qu'on en saura. On ne saura pas si le bazar effectue lui-même ses calculs, ou si c'est le pilote Windows installé sur le PC qui s'en charge, on ne saura toujours pas si les fichiers sont chiffrés ou non sur la clé USB, ou si seul leur accès est contrôlé et comment[6]... On ne sait donc pas grand-chose de plus.

Bon, pour voir, branchons le truc sur ma linuxette. Je serais fort surpris qu'il fonctionne sous Linux, mais sait-on jamais...

Mar  2 10:48:31 totor kernel: usb 2-2: new full speed USB device using uhci_hcd and address 4
Mar  2 10:48:31 totor kernel: SCSI subsystem initialized
Mar  2 10:48:31 totor kernel: Initializing USB Mass Storage driver...
Mar  2 10:48:31 totor kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Mar  2 10:48:31 totor kernel: usbcore: registered new driver usb-storage
Mar  2 10:48:31 totor kernel: USB Mass Storage support registered.
Mar  2 10:48:36 totor kernel:   Vendor: BDS-1A    Model: Bio Flash         Rev: 1.00
Mar  2 10:48:36 totor kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
Mar  2 10:48:36 totor kernel: SCSI device sda: 242154 512-byte hdwr sectors (124 MB)
Mar  2 10:48:36 totor kernel: sda: Write Protect is on
Mar  2 10:48:36 totor kernel: sda: assuming drive cache: write through
Mar  2 10:48:36 totor kernel: SCSI device sda: 242154 512-byte hdwr sectors (124 MB)
Mar  2 10:48:36 totor kernel: sda: Write Protect is on
Mar  2 10:48:36 totor kernel: sda: assuming drive cache: write through
Mar  2 10:48:36 totor kernel:  /dev/scsi/host0/bus0/target0/lun0: p1
Mar  2 10:48:36 totor kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
Mar  2 10:48:37 totor kernel: end_request: I/O error, dev sda, sector 241727
Mar  2 10:48:37 totor kernel: Buffer I/O error on device sda1, logical block 241664
Mar  2 10:48:37 totor kernel: Buffer I/O error on device sda1, logical block 241665
Mar  2 10:48:37 totor kernel: Buffer I/O error on device sda1, logical block 241666
Mar  2 10:48:37 totor kernel: Buffer I/O error on device sda1, logical block 241667
Mar  2 10:48:37 totor kernel: Buffer I/O error on device sda1, logical block 241668
Mar  2 10:48:37 totor kernel: Buffer I/O error on device sda1, logical block 241669
Mar  2 10:48:37 totor kernel: Buffer I/O error on device sda1, logical block 241670
Mar  2 10:48:37 totor kernel: Buffer I/O error on device sda1, logical block 241671
Mar  2 10:48:37 totor kernel: end_request: I/O error, dev sda, sector 241727
Mar  2 10:48:37 totor kernel: Buffer I/O error on device sda1, logical block 241664
Mar  2 10:48:37 totor kernel: Buffer I/O error on device sda1, logical block 241665
Mar  2 10:48:37 totor kernel: end_request: I/O error, dev sda, sector 63
Mar  2 10:48:37 totor kernel: end_request: I/O error, dev sda, sector 63
Mar  2 10:48:37 totor kernel: end_request: I/O error, dev sda, sector 575
Mar  2 10:48:37 totor kernel: end_request: I/O error, dev sda, sector 575
Mar  2 10:48:37 totor kernel: end_request: I/O error, dev sda, sector 0
Mar  2 10:48:37 totor kernel: end_request: I/O error, dev sda, sector 0

Bon. Ma linuxette voit un flash_disk ordinaire protégé en écriture, et défectueux, bourré d'erreurs d'entrée/sortie.
Ca ne veut pas dire qu'il soit vraiment défectueux (encore que je n'en sache rien, si ça se trouve, le bestiau est raide-mort...), mais plus probablement qu'il refusera de jacter hors de la présence de son pilote Windozien.
On n'ira pas bien loin avec ça, va donc falloir essayer le truc sous Winchoze.

Heureusement, il n'y a aucun Windows sur aucun ordinateur de l'ashram de Swâmi Petaramesh, cela étant définitivement contraire à sa religion. Aussi me sera-t-il impossible de continuer à faire joujou avec ce bidule satanique, jusqu'à ce que je trouve un ordinateur d'hérétique à pourrir ;-) ce qui exigera de plus que je me livre à de longs et douloureux rituels de purification après y avoir touché, bref, ne nous pressons pas.
Je n'en saurai donc pas davantage aujourd'hui, la suite à un peut-être prochain épisode.

Quoi qu'il en soit, pour rappeler[7] la maxime de Phil Zimmermann : Il existe deux sortes de cryptographie : Celle capable d'empêcher votre petite nièce de 6 ans de lire votre courrier, et celle capable de résister aux services de renseignement des plus grands pays.
Jusqu'à preuve du contraire, et compte tenu de l'absence de renseignements techniques précis et crédibles dans le manuel, rien ne permet de classer ce gadget dans la seconde catégorie, et je ne le recommanderais donc certainement pas à quiconque souhaiterait protéger des données réellement sensibles.
Le fait de pouvoir peut-être faire joujou un jour prochain avec ce truc sous Windows ne m'apportera, je le crains, aucune certitude supplémentaire de ce point de vue.

Enfin n'oubliez pas : Si vous ne savez pas où laisser traîner vos doigts, mieux vaut les oublier dans la culotte de votre voisine plutôt que dans des lecteurs biométriques !

...A suivre, peut-être...?

Mise à jour 6 mars 2006 : Cet article se poursuit désormais ici

Notes

[1] Et cette confusion courante sera à l'avenir, soyons-en certains, à l'origine de nombreuses erreurs judiciaires et policières, aussi bien en matière de biométrie que d'analyses ADN, tant l'inconscient collectif (ce qui veut dire également celui des magistrats et des jurés qui n'y connaîssent goutte) est imprégné de l'idée que si l'ordinateur dit que c'est lui sur la basse d'une empreinte digitale ou ADN, alors c'est forcément lui. Rien n'est plus faux, et le risque est d'autant plus grand que l'on imagine bien que les investigations policières ne seront guère poussées plus avant dans une affaire où l'on disposera d'une telle preuve "en or".

[2] L'huile de serpent (snake oil) était le remède miracle vendu par des colporteurs-charlatans au far west. Elle guérissait tout, rendait la vue aux aveugles, faisait marcher les paralytiques... En cryptographie et sécurité informatique, le terme snake oil est couramment employé pour désigner un produit de chiffrement ou de sécurité bidon, dont la sécurité est faible ou purement illusoire.

[3] Autrement dit, un système de sécurité fiable doit pouvoir publier son principe de fonctionnement sans que cela ne l'affaiblisse en rien, et ce principe doit pouvoir être vérifié par des tiers compétents (peer review) pour pouvoir être considéré sinon comme fiable, du moins au minimum comme sérieux.

[4] Je suppose que ceci veut nous dire que le bidule stocke un résumé des minuties qu'il relève sur l'empreinte digitale dans moins de 512 octets. Je ne suis pas assez connaîsseur en la matière pour me faire une idée de la sécurité que cela peut apporter, mais 512 octets, ça ne paraît pas énorme.

[5] Là, ils l'ont mis en majuscule ! Live finger signifie que le capteur est supposément capable de faire la différence entre un "vrai doigt vivant" et une copie d'empreintes digitales réalisée sur un support non-vivant (gélatine, latex...), et qu'il devrait refuser de telles imitations.

[6] Dans ce dernier cas, il serait parfaitement possible d'accéder aux données stockées dessus soit en écrivant un driver qui contourne la protection, soit en se connectant physiquement directement sur le chip de mémoire flash par exemple. Pas bien difficile pour un électronicien compétent...

[7] De mémoire...