BioFlash Entre-temps une autre réflexion sur les situations où un système biométrique peut être très inférieur à un chiffrement traditionnel utilisant une phrase secrète ou un mot de passe complexe m'est venue à l'esprit : Imaginez que vous avez des données confidentielles stockées sur une clé USB. Comparons les deux cas de figure :

  1. Données stockées dans une clé USB biométrique, uniquement protégées par le système biométrique
  2. Données stockées dans un container chiffré traditionnel sur une clé USB ordinaire, nécessitant la frappe d'un mot de passe complexe pour déchiffrer les données

Imaginons maintenant la situation où ce n'est pas la clé USB seule qui tombe entre de mauvaises mains, mais où ce sont à la fois la clé USB et son propriétaire qui sont capturés par une organisation hostile[1].

Dans le cas de la clé biométrique, l'organisation hostile n'aura probablement pas de bien grosses difficultés pour vous contraindre, physiquement au besoin, à poser votre doigt sur le capteur, et aura ainsi immédiatement accès à vos données. Perdu !

Dans le cas du chiffrement classique, tout dépendra des limites légales ou philosophiques de cette organisation hostile en matière d'interrogatoire, et de votre propre résistance éventuelle à ce que l'on appelle un interrogatoire poussé. En l'absence d'un interrogatoire trop poussé, vous avez de bien meilleures chances de pouvoir conserver la confidentialité de vos données que dans le cas de l'usage du système biométrique !

Si de plus nous étudions les choses sous l'angle de la plausible deniability, c'est-à-dire du principe qui consiste à pouvoir nier de manière plausible (empêchant au minimum de prouver le contraire) que la clé contient tel ou tel fichier ou document, dans le cas de la clé biométrique, c'est totalement râpé : Dès l'instant où vous mettez le doigt sur le capteur, il n'y a plus de dénégation possible.
A contrario, dans le cas du chiffement traditionnel, il est toujours possible d'affirmer :

  • Que la clé n'est pas à vous
  • Que vous ne connaissez pas (ou avez oublié, par suite du stress...) le mot de passe complexe qui la déverrouille
  • Voire même que la clé ne contient aucun fichier chiffré, puisque de nombreux algorithmes de chiffrement ne permettent pas de différencier les fichiers qu'ils produisent de fichiers de nombres totalement aléatoires (tant qu'ils ne sont pas déchiffrés par la bonne clé). On peut donc affirmer qu'il s'agit effectivement d'un fichier de nombres aléatoires (résultant d'un wipe par exemple), ou bien d'un vieil essai que l'on a fait il y a longtemps on ne sait plus pourquoi, en ajoutant qu'on ne se souvient pas du mot de passe qu'on avait pu choisir pour ce simple essai sans importance, etc... L'essentiel étant en la matière non pas de convaincre l'interlocuteur que ce que l'on affirme est vrai, mais plutôt de le mettre dans l'incapacité de prouver le contraire.

En résumé, avec une clé traditionnelle chiffrée, il peut y avoir plausible deniability. Avec une clé biométrique, pas de plausible deniability possible. Hummm...

Essai du bidule

Pour essayer le bidule et le faire marcher en vrai, il me faut donc un Windows, mais la Très Sainte Religion des Adorateurs de Cela s'oppose très fermement à l'utilisation directe d'un Windows sur l'un des ordinateurs de l'ashram.
Pas grave, on va utiliser un Windows en boîte, confiné dans le bac-à-sable d'une machine virtuelle tournant sur le bon vieux GNU/Linux du serveur de l'ashram. Comme ça, on sera sûr que le Windows[2] ne fera pas de bêtises et ne fera pas caca partout.

Voyons donc. GNU/Linux tout seul me disait que la clé biométrique était défectueuse, que me dira le Windows qui tourne sous Linux ?

Branchons la clé. Windows reconnaît aussitôt le branchement d'un USB FlashDisk et fait défiler des petites bulles dans lesquelles il m'informe gentiment qu'il est en train de m'installer plein de trucs et de machins que je ne lui ai pas demandés. Bon.
Windows m'indique maintenant la présence d'un FlashDisk USB, voyons ce qu'il y a dessus...

BioFlash fermé

...Windows me montre un flashdisk USB de 122 Mo, contenant uniquement un fichier run.exe.

Exécutons ce programme. Comme la clé n'est pas initialisée, la première fois, la bazar me demande de taper son numéro de série, puis de mémoriser l'un de mes jolis doigts dedans. Ca ressemble à ça (on voit très bien que le Windows est enfermé dans son bac à sable) :

Enregistrement empreinte

On note l'étonnante présence d'un curseur "Niveau de sécurité" allant de "bas" à "haut", la notice ne donnant encore aucune précision sur ce à quoi correspondent ces bassesses et ces hauteurs en matière de sécurité réelle. Bon. Swâmi Petaramesh étant paranoïaque, réglons simplement le curseur au plus haut.

Dès que j'ai choisi le doigt que je voulais numériser, et que je l'ai posé sur la clé, une image très nette et d'aspect parfait de mon empreinte digitale apparaît à l'écran. (Sur la copie d'écran ci-dessus, l'image de l'empreinte est volontairement floutée, je n'ai pas l'intention de diffuser sur Internet des images parfaites de mes empreintes digitales...).

Au bout d'une seconde, le système me demande de retirer le doigt, puis de le remettre ; il me fait répéter l'opération 3 fois en tout, chaque scan prenant moins d'une seconde. Ca va donc très vite.

Je choisis également d'entrer un mot de passe de secours, puisque la notice y invite "pour le cas où ça ne marcherait pas", et là, surprise, le système refuse de prendre en compte plus de 8 caractères. Après le 8ème caractère tapé, ça fait juste bip-bip. Un mot de passe de 8 caractères, ça n'est pas bien long, et, comme je le disais dans mon précédent billet, ça augure plutôt mal de la sécurité du bazar.

System Tray Une fois l'empreinte enregistrée, j'ai une petite icône "main" dans le system tray, icône qui permet de verrouiller / déverrouiller la clé USB, ou de refaire l'enregistrement des empreintes ou le changement de mot de passe.
Si je choisis de déverrouiller la clé, l'écran suivant apparaît (image de l'empreinte volontairement floutée) :

Déverrouillage

Dès que l'on pose le doigt, s'il est reconnu (cela prend moins d'une seconde), cette fenêtre disparaît, et une fenêtre "Explorateur" s'ouvre à la place, montrant les fichiers et répertoires contenus dans la clé.
Si le doigt n'est pas reconnu, la fenêtre de déverrouillage râle et reste affichée. J'ai essayé avec plusieurs de mes doigts et ceux d'une autre personne (ce qui ne fait pas un échantillon statistique valable...), ma clé ne reconnaît que le doigt qui a été enregistré dedans.

Une fois la clé déverrouillée, on ne voit plus le fichier run.exe, mais on voit à la place les fichiers et dossiers contenus dans la clé (et l'espace disponible affiché pour celle-ci change) :

En résumé, le système fonctionne ainsi :

  • Clé verrouillée : On voit seulement le fichier run.exe sur la clé, et rien d'autre. L'espace utilisé indiqué est de 1.3 Mo, ce qui correspond effectivement à la taille de run.exe.
  • Clé déverrouillée : On ne voir plus run.exe ; à la place, on voit les fichiers et les répertoires que l'on a effectivement stockés sur la clé, et la taille affichée leur correspond.

Voilà-voilà. Malheureusement, ceci ne nous indique rien quant au mécanisme employé pour montrer ou cacher les fichiers, y autoriser ou interdire l'accès, donc cela ne nous apprend pas grand-chose sur la réelle sécurité du système (le moyen éventuel de contourner la protection pour accéder aux fichiers cachés ?).

On note sur le CD fourni avec la clé la présence d'un logiciel-service Windows optionnel qui ajoute une fonctionnalité chiffre et zippe à la clé biométrique.
Le manuel indique (très sommairement, comme pour tout le reste, il faut décrypter...) que, si l'on installe et utilise ce service, on disposera sur la clé d'un dossier Secret&Zip pour les fichiers qui nécessitent un chiffrement supplémentaire[3]. Le manuel indique que tout fichier placé dans ce dossier y sera automatiquement zippé et chiffré, et qu'ensuite, l'accès à tout fichier contenu dans ce répertoire demandera individuellement une vérification d'empreinte digitale, à chaque fois.
Bon, ça n'en dit guère plus, encore une fois, cela n'indique absolument pas le type d'algorithme de chiffrement utilisé, sa longueur de clé, etc..., et ça éveille en moi une question inquiétante immédiate : Si certains fichiers peuvent nécessiter un chiffement suppléméntaire, doit-on en conclure que la protection de base apportée par la clé biométrique en l'absence de ce chiffrement supplémentaire est insuffisante ? En effet, quand quelque chose est intrinsèquement blindé, il n'est aucun besoin de le sur-blinder. La simple existence d'une fonction de "surblindage" donne donc à penser que le fabricant du dispositif peut éprouver des doutes quant à la sécurité de base de son dispositif, puisqu'il y adjoint de lui-même un dispositif complémentaire...

Voilà pour mon petit tour de cet intéressant objet. Au vu de toutes ces réflexions, libre à chacun de se faire sa propre opinion sur l'utilité de ce genre de bidule...


Update 7 mars 2006 : Le commentaire d'Yves à propos des possibilités de falsification d'empreintes en utilisant de "faux doigts" en latex ou en gélatine m'a donné envie de tenter quelques petites expériences supplémentaires. A lire dans ce nouvel article...

Notes

[1] Je vous laisse imaginer l'organisation hostile de votre choix...

[2] On utilisera pour l'occasion un Windows XP Pro.

[3] "files that demand further encryption"