DNI electrònic en Debian Wheezy
Hola sóc el roig, benvinguda/-t a Info.roig.pv. En aquest article mostrarem com instal·lar el DNIe a Debian GNU/Linux Wheezy, encara que pot aplicar-se totalment o parcialment a altres versions de GNU/Linux. L'any passat el vam instal·lar en Ubuntu 'Instal·lar El DNIe en Ubuntu', enguany, li toca al nostre Debian.
Aquest manual et servirà per instal·lar el DNIe tant en versions de 32 bits com de 64 bits. Els passos seran exactament els mateixos.
El DNI electrònic o DNIe es pot fer funcionar en GNU/Linux, tant per identificar-se en webs com per signar documents tot amb plena validesa legal. El problema és que a l'hora de fer els drivers hi va haver problemes amb les llicències lliures, utilització de llibreries incorrectes, ... Però el procés és senzill un cop el coneixes.
Cal no oblidar que el DNIe té les seues limitacions i traves de seguretat. Per als maniàtics de la seguretat es recomana utilitzar el DNIe únicament des de sistemes de només lectura com un Live Linux CD com pot ser Knoppix. Tampoc cal oblidar que una signatura "normal" és molt més fàcil de falsificar que una signatura electrònica, encara que cap siga totalment segura.
El primer que cal saber és que en el DNIe tenim a la nostra disposició dos certificats, un per identificar-nos (Certificat d'Autenticació) i un altre per signar (Certificat de Signatura), els que són els dos principals usos del DNIe.
També és important sabre que cada aplicació que utilitza el DNIe estableix una "Sessió" amb el lector de targetes i que no pot haver dues sessions obertes alhora. És a dir, no podem usar el DNIe en dues aplicacions alhora. Moltes aplicacions no indiquen adequadament aquesta circumstància i simplement sembla que no funcionen. Així per exemple si iniciem sessió en iceweasel/firefox per accedir a una web, no podem signar un arxiu 'pdf' amb signatura fins a tancar sessió. I al revés, després de signar un fitxer amb signatura no ens deixa validar amb iceweasel. Davant el dubte n'hi ha prou amb extreure i tornar a introduir el DNIe en el lector per assegurar que està disponible l'accés. Un últim recordatori, si s'introdueix el PIN del DNIe erròniament tres vegades seguides, aquest es bloqueja.
Com Instal·lar el controlador del lector de targetes
La majoria dels lectors de DNI electrònic funcionen en GNU/Linux amb el controlador CCID a través del servei pcscd (El dimoni PCSC s'utilitza per l'assignació/des-assignació dinàmicament de controladors del lector en temps d'execució i administrar connexions als lectors).
En general totes les derivades de Debian, cal instal·lar els següents paquets:
libccid (biblioteca que proporciona una implementació PC/SC del controlador de IFD per a lectors USB de targetes intel·ligents, compatibles amb el protocol CCID. Aquest paquet és necessari per comunicar-se amb els lectors de targetes intel·ligents a través de CCID.
pcscd (El dimoni PC/SC s'utilitza per assignar/cancel·lar dinàmicament els controladors del lector i administrar connexions als lectors).
Des de la terminal, com administradors instal·lem els paquets:
# apt-get install libccid pcscd
Si el teu lector està basat en ACR38, (com és el meu cas), cal instal·lar el controlador:
# apt-get install libacr38u
Instal·lació de llibreries, biblioteques, i paquets complementaris
Cal instal·lar les següents llibreries ,biblioteques i paquets complementaris:
pinentry-GTK2 (Programa que permet garantir l'entrada de PIN o frases de contrasenya. Això significa que tracta de intentar que la informació introduïda no s'intercanviï en el disc o s'emmagatzemi temporalment en qualsevol lloc. Aquesta funcionalitat és especialment útil per introduir frases de contrasenya quan s'utilitza programari de xifrat GnuPG o com a clients de correu electrònic utilitzant el mateix. utilitza un protocol obert i per tant, no vinculat a determinats programes).
PCSC-tools ("Gscriptor" conté eines útils per a PC/SC, com pcsc_scan que analitza lectors de targetes intel·ligents disponibles, altres detecten els esdeveniments com la inserció i extracció de la targeta amb ATR ...).
libpcsclite1 i libpcsclite-dev (El propòsit de PC/SC Lite és proporcionar una interfície de tipus SCard de Windows (R) per comunicar-se amb targetes intel·ligents i lectors).
libreadline6 i libreadline-dev (una biblioteca readline de GNU que ajuda en la consistència d'interfícies d'usuari a través de programes discrets que necessiten proporcionar una interfície en línia d'ordres).
coolkey (Suport de controladors de Linux per a les targetes intel·ligents CoolKey and Common Access Card (CAC) amb claus de seguretat utilitzades en una Infraestructura de Clau Pública (PKI). El mòdul de libpkcs11 permet l'ús de targetes intel·ligents en aplicacions com Mozilla Network Security Services (NSS)).
Per la instal·lació de tots aquests paquets des de la terminal:
# apt-get install pinentry-gtk2 pcsc-tools libpcsclite1 libpcsclite-dev libreadline6 libreadline-dev coolkey
Ara podem provar si Ubuntu detecta el lector i pot llegir el DNI electrònic, un cop connectat el lector USB i introduït el DNI electrònic.
Per veure si Ubuntu detecta el lector executa en una terminal el següent:
$ lsusb
La terminal ens respondrà una cosa semblant a:
roig@Debian-escriptori:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 006 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 005 Device 003: ID 1a81:0101 Holtek Semiconductor, Inc.
Bus 005 Device 004: ID 05e3:0716 Genesys Logic, Inc. USB 2.0 Multislot Card Reader/Writer
Bus 006 Device 003: ID 0463:ffff MGE UPS Systems UPS
Bus 006 Device 004: ID 0cf3:3000 Atheros Communications, Inc. AR3011 Bluetooth (no firmware)
Bus 005 Device 005: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader
Ara anem a veure si llegeix el DNI-e amb:
$ pcsc_scan
La terminal ens respondrà una cosa semblant a:
roig@Debian-escriptori:~$ pcsc_scan
PC/SC device scanner
V 1.4.20 (c) 2001-2011, Ludovic Rousseau <
Compiled with PC/SC lite version: 1.8.3
Using reader plug'n play mechanism
Scanning present readers...
0: ACS AET65 00 00
Wed May 28 11:25:47 2014
Reader 0: ACS AET65 00 00
Card state: Card inserted,
ATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00
ATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00
+ TS = 3B --> Direct Convention
+ T0 = 7F, Y(1): 0111, K: 15 (historical bytes)
TA(1) = 38 --> Fi=744, Di=12, 62 cycles/ETU
64516 bits/s at 4 MHz, fMax for Fi = 8 MHz => 129032 bits/s
TB(1) = 00 --> VPP is not electrically connected
TC(1) = 00 --> Extra guard time: 0
+ Historical bytes: 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00
Category indicator byte: 00 (compact TLV data object)
Tag: 6, len: A (pre-issuing data)
Data: 44 4E 49 65 20 02 4C 34 01 13
Mandatory status indicator (3 last bytes)
LCS (life card cycle): 03 (Initialisation state)
SW: 9000 (Normal processing.)
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 7F 38 00 00 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00
3B 7F 38 00 00 00 6A 44 4E 49 65 [1,2]0 02 4C 34 01 13 03 90 00
DNI electronico (Spanish electronic ID card)
http://www.dnielectronico.es
Veiem que ha llegit el DNI electrònic. Premem la combinació de tecles CTRL+C per sortir i tanquem la terminal.
Instal·lació del programari pel DNe amb OpenSC
Primer descarreguem, com a usuari, el paquet opensc de Cenatic (Centre Nacional de Referència d'Aplicació de les TIC).
En l'exemple, per a un Debian Wheezy de 64 bits. Altres versions a la pàgina de Cenatic 'Centre Nacional de Referència d'Aplicació de les TIC basades en fonts obertes'.
$ wget http://forja.cenatic.es/frs/download.php/file/1303/opensc_0.12.1-1-svn385_amd64.deb
Com administrador, generem un enllaç que es queda perdut:
# ln -s /usr/lib/x86_64-linux-gnu/libpcsclite.so.1 /usr/lib/
Instal·lem el paquet de Cenatic:
# dpkg -i /home/roig/opensc_0.12.1-1-svn385_amd64.deb
Bloquegem el paquet opensc perquè no s'actualitzen, ja que els de la distribució són més moderns però el DNIe no funciona amb ells:
# aptitude hold opensc
Identificar-se en llocs web amb Iceweasel/Firefox
El DNIe es pot utilitzar en navegar per identificar-se en un lloc web. Així per exemple si ens identifiquem al web de la Seguretat Social, podrem descarregar-nos a l'instant la nostra vida laboral.
Primer hem de registrar en Iceweasel/Firefox el mòdul de DNIe PKCS#11:
Obrim el navegador i anem a "Edita --> Preferències --> Avançat --> Certificats --> Dispositius de seguretat", seleccionem "Carrega", indiquem un nom, per exemple "DNIe - OpenSC PKCS#11", i la ruta del mòdul "/usr/lib/opensc-pkcs11.so".
Si la instal·lació ha estat correcta i tenim el lector connectat amb un DNIe introduït, ens habilitarà l'opció "Iniciar sessió" . Pot ser necessari reiniciar el Navegador. Si iniciem sessió, ens demanarà el PIN, però abans és millor reiniciar el navegador perquè ens demane instal·lar el certificat de la DGP (Direcció General de la Policia). Del portal oficial del DNIe descarreguem el certificat Autoritat de Certificació Arrel del DNIe, amb el navegador o amb la terminal amb:
$ wget http://www.dnielectronico.es/ZIP/ACRAIZ-SHA2.zip
El descomprimim fent doble-clic, o amb la terminal amb:
$ unzip ACRAIZ-SHA2.zip
I ho carreguem a Iceweasel des de:
"Edita --> Preferències --> Avançat --> Certificats --> Visualitza els certificats --> Importa ..." confia en ell per a tot.
Després reiniciem el sistema.
Un cop reiniciat ja podem provar el DNI electrònic a:
http://www.dnielectronico.es/como_utilizar_el_dnie/verificar.html
Ens dóna unes poques explicacions i al final de la pàgina es l'enllaç de comprovació. El lector canviarà i ens demanarà el pin del DNI electrònic. El escrivim i acceptem.
Notes:
La primera vegada Firefox, ens avisarà de que la connexió no estarà verificada. Premem en "Entenc els riscos" i després a "Insereix unaexcepció":
Els certificats crec que caduquen als 30 mesos, però es poden tornar a activar. A les comissaries de Policia hi ha punts d'Actualització del DNI electrònic, on introduint el DNI electrònic i la teva empremta dactilar, pots canviar el pin (si ho has perdut) i activar el certificat (prement a "accedir a les teves dades personals" - -> "renovar certificat", et tornarà a demanar que posis l'empremta dactilar en el lector d'empremtes).
Fonts:
http://bitplanet.es/manuales/3/322-instalar-lector-dnie-en-ubuntu-1204.html
http://www.opensc-project.org/opensc
http://www.dnielectronico.es/descargas/index.html
http://guimi.net/blogs/hiparco/dnie-en-debian-gnulinux-wheezy/
Salut i gaudeixin de GNU/Linux Debian


Torna a la portada