S'identifier par une clé USB

De Lea Linux
Aller à la navigation Aller à la recherche

S'identifier par une clé USB sur son ordinateur

Objectif

Permettre l'identification d'un utilisateur par une clé USB, en remplacement ou en complèment du mot de passe

Logiciels et matériel utilisés

Distribution : Debian, mais cela est normalement possible avec toutes... Logiciel : pam_usb, un module dédié à cette utilisation pour PAM. PAM est un méchanisme d'authentification intégré à beaucoup de distributions GNU/Linux. N'importe quelle clé USB reconnue sous Linux devrait convenir. La capacité nécessaire est infime : 1 Ko suffit pour un utilisateur, avec une clé DSA de 1024 bits !


Installation du module

Il n'existe malheureusement pas (encore) de paquet pour Debian. Si vous utilisez une autre distribution, essayer de vérifier s'il n'existe pas un paquet, si vous êtes sous Debian, téléchargez les sources sur le site officiel : [1] Sur une Debian les dépendances requises sont : libssl-dev, libreadline4-dev, libpam0g-dev, libpam-usb, que vous pouvez installer par apt-get. Ensuite, il faut extraire les sources et lancer la compilation : % tar xvzf pam_usb-version.tar.gz % cd pam_usb_version % make

  1. make install

Et c'est tout, le module est normalement installé.


Préparation du système

Il faut que votre clé soit montée automatiquement lorsque vous l'insérez, sinon, ca ne fonctionnera pas (encore que sur mon système cela à fonctionné sans monter la clé...) Il faut donc créer une ligne dans votre /etc/fstab qui ressemble à celle-ci : /dev/sda1 /media/cle auto rw,user,auto 0 0 en remplacant /dev/sda1 par le périphérique qui correspond à votre clé, /media/cle par son point de montage, et auto par son système de fichiers (vous pouvez aussi laisser auto pour une détection automatique) Pour plus de détails sur l'utilisation des clés USB vous pouvez consulter cet article


Génération des clés

Il faut à présent générer la paire de clés publique/privée qui sera utilisée pour vous identifier. Dans une console tapez % usbadm keygen /media/cle login 2048 en remplacant /media/cle par le point de montage de votre clé et login par le nom d'utilsateur pour lequel vous voulez générer les clés. 2048 correspond à la taille de la clé, on estime que c'est suffisant, compte tenu de la puissance des ordinateurs actuels, pour une assez grande sécurité. Cependant, n'oubliez pas que n'importe quelle clé sera toujours "piratable". Vos clés ont donc été générées dans un dossier caché nommé .auth de votre clé USB.