jeudi 3 février 2011

Lire les cartes d'identités Belges (eid) sur Ubuntu

Introduction
La Belgique a remplacé la carte d'identité papier depuis plusieurs années.
Maintenant, même les personnes âgées disposent d'une carte d'identité électronique.
Elle se présente sous la forme d'une carte de crédit et est équipée d'une puce.
La carte eID est également délivrée avec un code secret (code pin).
Cette carte est maintenant systématiquement exigée à la commune pour accomplir diverses formalités.

Mais cette carte présente également d'autres avantages.
  • Elle permet de consulter ou imprimer les informations qui y sont stockées.
  • Elle vous permet d'authentifié le citoyen auprès de l'état lors de communications électroniques.
  • De pouvoir signer des e-mails.
L'authentification est intéressante. Elle permet, par exemple, de consulter ses informations au Registre National. Il est ainsi possible de savoir ce que l'état accumule comme information sur nous :-)
L'authentification permet également le remplissage des impôts en ligne.

Pour plus d'information sur l'eID, vous pouvez consulter ce film sur explania.com

Le matériel
J'ai effectué mes tests avec le Smart Card Reader USB obtenu via les Service Public Fédéral Intérieur (www.ibz.be).
Il s'agit du modèle ACR 38U disponible chez Arena-Solution.
Source: arena-solutions.be

Fiche technique de l'ACR 38U

Pour connaitre les différents modèles et distributeurs de de lecteurs de cartes compatibles(Smart Card Reader), rendez-vous sur le site www.cardreaders.be

Note: J'ai attendu d'avoir installé les logiciels nécessaires avant de brancher le lecteur sur mon PC Ubuntu. .
Prérequis
Il semblerait que l'installation de Java soit nécessaire pour faire fonctionner l'eID.
Si java n'est pas encore installé, cela peut être obtenu à l'aide de la commande suivante:
sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-plugin

Comme j'utilise également Ubuntu pour tester les développements Android, j'ai déjà installé Java sur ma machine.
Mais dans mon cas, il s'agit du JDK d'ORACLE et non la version JRE de Sun comme mentionné ci-avant dans l'instruction sudo.
Si vous désirez installer le JDK Java de Oracle, consultez l'article "Développment Android sous Ubuntu" à la section "Installer Java"

Installation logicielle - Version 1
Je me suis rendu sur le site eid.belgium.be où j'ai sélectionné l'installation Quick Install.
Bien entendu, l'installation facile ne concerne  que les systèmes Windows et Mac. Il existe cependant une section réservée à Linux (uniquement pour les installations Fedora et Ubuntu).
Comme je dispose d'une version 10 d'Ubuntu, c'est plutôt cette dernière option que je me suis dirigé. Cette option repose également sur la Logitech Ubuntu (quelle chance! du moins en apparence)

Si après quelques efforts j'ai finalement réussit à faire fonctionner mon lecteur eID et le logiciel, je n'ai par contre pas réussit à aller bien plus loin.
En effet, la connexion sur le site du Registre National réclame des librairies spécifiques... librairies qui ne sont pas disponibles lorsque l'application est installée depuis la logitech Ubuntu.
Je conseille donc de suivre la méthode d'installation version 2 (voir ci-dessous).

Voici néanmoins comment j'ai procédé en fonction des instructions glanées ci et là.
  1. Brancher le lecteur de carte eid.
  2. Démarrer le logitech Ubuntu et chercher après "eid".
    Sélectionner le paquet "Belgian eid" à installer.
  3. Une fois installé, le point de menu "Application | Accessoire | eid Belge" est disponible.
  4. Cliquer sur le menu, l'application démarre et se place dans la barre de notification.

Vous remarquerez que l'icône présente également un signe rouge.
Il semble que le logiciel ne détecte pas mon lecteur de carte (Smart Card Reader).

Vérifier l'installation de mon lecteur de carte
En recherchant sur le Net, j'ai trouvé l'article "Comment utiliser la carte d'identité électronique (Belgique)" sur Ubuntu-fr.org.
Hormis l'installation manuelle que j'ai volontairement ignoré, l'article regorge d'information technique.
C'est ainsi que j'ai appris qu'il me fallait également installer les pilotes de mon lecteur de carte. 
Puisqu'il s'agit d'un ACR38U en USB, j'ai installé le paquet libccid (cliquer apt://libccid)

Le paquet libccid contient une bibliothèque qui fournit une implémentation du gestionnaire PC/SC IFD pour les lecteurs de cartes à puce USB compatibles avec le protocole CCID.

Une fois libcid installé, mon lecteur de carte a cessé de clignoter lorsqu'une carte d'identité est insérée.
Par la suite, j'ai redémarré l'application "eID Belge" et elle fonctionne visiblement très bien.
Si le contenu de votre carte d'identité n'apparait immédiatement au démarrage de l'application, il faut utiliser le menu  "Carte | Recharger eID".
Il est également possible de vérifier le code PIN dans le volet "Carte & Pin".

Installation logicielle - version 2
Cette fois-ci, nous allons utiliser le script eID-Install-Script que j'ai reçu depuis Ubuntu.Rixensart (merci à Lucien Demeuse pour son aide).
Le script est prévu pour deux modèles de lecteur, veillez donc à commenter la bonne ligne avant d'exécuter le script).
Une fois l'installation terminée, l'application eID est disponible dans le menu "Applications|Autres".
Le logiciel fonctionne parfaitement.
Par contre, cette fois-ci, les librairies complémentaires sont disponibles (cfr capture d'écran), ce qui n'était pas le cas avec la version de la logitech d'Ubuntu.

Pour une raison que j'ignore, les pilotes de mon lecteur UCR38U n'étaient pas installé après l'exécution du script sur une nouvelle machine.
J'ai donc installé les pilotes de mon ACR38U en USB avec le paquet libccid (cliquer apt://libccid)
Guide d'installation et d'utilisation pour Linux
La section d'easyInstall dédiée à Linux propose également un bon document décrivant l'installation mais surtout l'utilisation du logiciel eID. la lecture de cette seconde partie est vivement recommendée.

FireFox  Add-ons
Installer l'AddOns EId pour FireFox.
 L'add-on eID Belgique est disponible sur le site addons.mozzila.org (cliquer sur ce lien pour installer).

Accès au registre National
ATTENTION : L'accès au site du Registre National nécessite d'avoir la carte d'identité dans le lecteur (ce dernier raccordée à l'ordinateur et le logiciel de lecture de carte actif)… sinon une erreur du type "serveur indisponible" apparait.

Il faut également activer le module de chiffrement et les certificats "Belgium Root CA" dans le navigateur

Le chiffrement
Pour activer le chiffrement, il faut charger manuellement la librairie libbeidpkcs dans FireFox (dans les modules de chiffrement).
Bien que la FeDict mentionne le chargement d'un fichier beid-pkcs11-register.html pour effectuer cette tâche automatiquement, il faut savoir que cette dernière méthode persiste à causer de nombreux problèmes.

Après une vérification sommaire, il semble que le script utilisé lors de l'installation de l'eID (la version 2) ait fait tout ce qu'il faut pour installer les modules de certification et importer les certifications "Belgium Root CA" dans le navigateur. Je suis impressionné!

Néanmoins, il faut encore activer la "confiance" pour les certificats mentionnés.
Dans FireFox:
  • Menu "Édition | Préférences | Avancé | Chiffrement | Périphériques de sécurité" et afficher les certificats.
  • Localiser les deux certificats de "Belgium Root CA2" et modifier leurs options pour activer toutes les cases à cocher (checkbox) de confiance.

En cas de problème, il se peut que le module de chiffrement ne soit pas chargé dans FireFox.
Dans ce cas, exécuter la procédure suivante dans firefox :
  • Menu "Édition | Préférences | Avancé | Chiffrement | Périphériques de sécurité | Charger"
  • Comme nom de module, mettre "Belgium Identity Card PKCS#11"
  • Ccomme nom de fichier de module, mettre
    "/usr/local/lib/libbeidpkcs11.so.2" (pour la version 2 installée via les dépôts) ou
    "/usr/local/lib/libbeidpkcs11.so.3.5.3" (pour la version installée à partir du site officiel beId).
    A noter que ce fichier peut également se trouver dans "/usr/lib/libbeidpkcs11.so.*")
  • Importer les certificats.
    Cette procédure est très bien expliqué dans le document "Utilisation de l'eID avec Firefox" de la FeDict. Ce document peut être trouvé à l'aide de la recherche Google "certificat eid firefox"

Le Registre National
  • Démarrer l'application "Belgian eID"
  • Introduire sa carte d'identité dans le lecteur
  • Se connecter sur le site du Registre National https://www.mondossier.rrn.fgov.be/
  • Introduire son code Pin lorsqu'il est demandé
C'est fou ce qu'il est possible d'apprendre sur sa vie dans le registre national.
Les affiliations... évidentes pour certains, il y a quelque-fois des surprises.
Les adresses des différents domiciles depuis votre naissances, etc, etc.

 https://www.mondossier.rrn.fgov.be/

Autres applications
Accès au ministère des finances
Le ministère des finances ne se résume pas à l'application Tax-On-Web qui permet d'encoder sa fiche d'impôt en ligne.
Le ministère des finance accumule aussi un certains nombre d'information à votre sujet comme les différentes taxes, vos revenus professionnels, vos avoirs (ex: la maison que vous avez acheté), etc.
Pour en savoir plus, il suffit de se rendre sur myMinFin et d'ouvrir une session.
Comme pour le site du Registre National, il est important d'avoir activé le logiciel "Belgian eID" et d'avoir inséré sa carte d'identité.
Source: Ministère des pensions

http://www.myminfin.be


Lecture de la carte SIS
Selon certaines documentation de la FeDict, l'application "Belgian eID" serait également capable de lire le contenu de la carte SIS.
Pour ce qui est de l'installation sur Ubuntu, l'application Belgian eID n'est pas capable de le faire (la carte semble inconnue).

1 commentaire:

joseph a dit…

Un seul mot, merci!
C'est un vrai condensé d'infos pour les utilisateurs d'ubuntu!

Tout a fonctionné parfaitement selon vos indications.

Au plaisir, joseph