BeID, la carte d’identité électronique sous Linux, part 1

Depuis quelques années, en Belgique, l’ont peut déclarer ses contributions sur internet grâce à la carte d’identité électronique, alias eID. Que l’on aime ou non la numérisation de nos données, il faut avouer que le résultat est très intéressant. Non seulement la déclaration est devenue beaucoup plus facile que celle papier (pré-remplissage du formulaire, ça me prend 15min à tout casser) mais cette carte d’identité est équipée de certificats qui peuvent être utiles dans toute une série de choses.

Techniquement il s’agit de 3 algorithmes RSA de 1024 bits qui permettent la signature, authentification et répudiation. Les standards conseillent l’utilisation de clés de 2048 bits mais toujours est-il que le 1024 tient toujours bon à ce jour, croisons les doigts pour que ça dure encore quelques années le temps que la carte arrive a expiration et qu’on augmente le tout…
L’avantage d’utiliser ces clés plutôt que des que vous avez générer vous même est qu’elles ont été signées par le gouvernement belge. Elles sont donc une preuve solide de votre identité lorsque vous devez signer un document électronique, plus besoin d’échange de mallettes diplomatiques pour faire un échange de clefs efficace…

Ils ont l'air si heureux avec leur eid, on ne se fout surement pas de vous...

Tout d’abord là où j’ai été impressionné est la présence sur le site eid.belgium.be d’un middleware opensource (Google code), de packages pour Debian, Entreprise Linux, Fedora et Ubuntu ainsi qu’une doc assez fournie avec des détails techniques ou comment utiliser le tout avec Firefox, Thunderbird & Co (quoique les pdf semblent avoir bouger/disparut récemment, je me retrouve avec plein de liens morts). Pour une fois qu’on a pas été oublié, ça a le mérite d’être salué.

Beaucoup de choses mais un peu répartie n’importe où et pas non plus toujours très à jour. Voici donc quelques moyens de l’utiliser mais pour commencer comment l’installer sous Linux.

Installation

Sous Debian, les paquets beid-common, beid-tools et beidgui sont disponibles dans les dépots et semblent relativement à jour (version 3.5, la 4 est sortie en janvier).
Sous archlinux, il y a (comme d’hab) un package dans aur beid-svn mais qui ne contient que le Middleware, pas d’interface graphique. Après quelques recherches il semblerait que le beidgui va être remplacé par un applet mais il y a un petit laissé aller dans le développement.

Des autres paquets sont disponibles ici pour les distributions supportées, le guide pour Ubuntu est détaillé ici. Pour Gentoo, allez jeter un oeil ici. Ou tout simplement téléchargez les sources et compilez les…

Un des points important pour faire fonctionner le tout est d’installer les drivers de votre lecteur de carte. Vous pouvez connaitre votre modèle avec un simple lsusb et puis allez voir la compatibilité sur la page de cardreaders.be.

$ lsub
Bus 005 Device 002: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader

Mon lecteur étant un ACR38, j’ai installé le paquet libacr38.

Pour un rapide test que tout fonctionne bien, utilisez la commande suivante :

$ pcsc_scan
PC/SC device scanner
V 1.4.18 (c) 2001-2011, Ludovic Rousseau
Compiled with PC/SC lite version: 1.8.1
Using reader plug’n play mechanism
Scanning present readers…

Belgium Electronic ID card

Tout va bien ici !

Thunderbird

Si vous voulez signez un mail avec votre carte voici comment configurer votre compte :

  1. Dans les paramètres du compte, allez à Security > Security Devices
  2. Sélectionnez NSS Internal PKCS11#Module, puis cliquez sur Load
  3. Entrez le chemin vers la librairie pkcs#11 (chez moi /usr/lib/libbeidpkcs11.so, dans la doc /usr/local/lib/libbeidpkcs11.so).
  4. De retour dans la fenêtre de sécurité, allez dans View certificates > Your certificates pour vérifier vos certificats. (Vous pouvez faire un backup)
  5. Dans Authorities > Belgium root CA > Edit trust, cochez « This certificate can identify mail users »
  6. Finalement, toujours dans la fenêtre security, choisissez un certificat pour Digital signing. Vous aurez le choix entre deux certificats : un certification « authentication » qui sert à signer simplement un mail et un certificat « signature » qui sert en cas de preuve pour signer des documents officiels & co, les deux sont valables.

Il n’y a pas de clef de chiffrement donc il est normal que l’on ne sache pas chiffrer de message (dommage mais bon). Maintenant que la configuration est faite, lors d’un envoi d’un mail, cochez la case Options > Digitally Sign This Message. Votre code PIN sera demandé (attention vous n’avez que 3 essais avant de la bloquer).

Il semblerait qu’il faille que votre correspondant ai importé le certificat Belgium Root CA, ils ne sont pas inclus par défaut dans Thunderbird. Ça se fait lors de l’importation de vos certificats ou peut être téléchargé ici) pour vérifier la chaine de signature (vous pourriez créer des faux certificats signés par un faux root CA). C’est un peu dommage mais déjà pas mal (les plus parano d’entre vous auront importés les certificats).

Le gouvernement belge ne connait pas votre adresse mail donc n'a pas pu la spécifier dans le certificat...

Les explications avec images sont disponibles ici (PDF, 700k).

Signez un document

En principe, vous êtes capable de signer un document avec Libre/OpenOffice via le menu File > Digital Signature et là sélectionnez votre certificat. Cependant, il n’y avait rien chez moi.

En principe, vous êtes capable de signer un pdf avec Adobe Reader via le menu Document > Security Settings > Digital ID et importer le fichier que vous avez créé si vous aviez exporté vos certificats (avec Thunderbird par exemple). Cependant ce programme est une bouse sans nom qui crash tout le temps, impossible d’en tirer quelque chose malheureusement.

Si quelqu’un a des solutions pour les signatures avec ces deux programmes, je suis preneur.

J’espère que ça vous aura été quand même utile, dans la prochaine partie, j’expliquerai quelques astuces à la ligne de commande (ou comment signer n’importe quel fichier avec son terminal).

8 thoughts on “BeID, la carte d’identité électronique sous Linux, part 1”

  1. Et c’est compatible avec les certificats pkcs11 ? Parce qu’alors oui ça pourrait être une solution…
    Edit: on dirait que oui, j’y jetterai un oeil, merci

  2. Merci pour l’info ! Peut-être me servira-t-elle un jour, quand j’aurai fais les démarches pour remplacer la puce « disparue » de ma carte d’identité. 😉

  3. @VirtualCed C’est ce que je dis pour peu que je me fasse contrôler, oui. Et « qu’une nouvelle est en commande », ce qui est naturellement faux.

  4. Bonjour,

    Merci pour l’article et le timing de publication : je devais justement envoyer des données au Ministère des Finances (Belcotax).

    Pour se connecter à un des systèmes belges utilisant l’eID et aussi pour signer des documents (LibreOffice) : installer l’extension eID dans Firefox/Iceweasel, fermer le navigateur, connecter son lecteur de carte, vérifier avec le navigateur que les certificats sont disponibles. C’est le cas chez moi.
    Dans LibreOffice et uniquement après avoir installer l’extension eID, je peux signer des documents.

    Est-ce aussi le cas chez vous?

    Merci pour le retour.

  5. Bonjour,

    En effet, après avoir installé l’addon, je sais m’authentifier sur les sites internet dans firefox. Par contre LibreOffice, je n’ai jamais réussi. Ça fonctionne chez vous après l’installation de l’extension firefox ?

  6. Bonjour,

    En fait, cela fonctionne avec ou sans l’extension (je l’ai désinstallée pour voir).

    Je connecte mon lecteur de carte avec la carte et je peux signer dans LibreOffice (3.4.5). Mon lecteur est un Vasco Digipass 905; je n’ai pas dû installer de pilote (kernel 3.2 – Debian Wheezy xfce). Pour info, je viens de l’acheter au Makro pour 10 EUR (promo).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *