Carta Nazionale dei Servizi e lettore smart card ACR38U, carta regionale F.V.G.: differenze tra le versioni
(bozza 2) |
(→Copyright - License) |
(7 versioni intermedie di 2 utenti non mostrate) | |
(Nessuna differenza)
|
Versione attuale delle 20:11, 3 mar 2014
Indice
Guida all'installazione e all'utilizzo della CNS su Slackware
Sono ormai parecchi anni che diverse Amministrazioni pubbliche hanno aderito al Progetto CNS. Si tratta in pratica di utilizzare una smartcard (e apposito lettore) per per accedere in modo sicuro ai servizi online della P.A. attraverso un browser. Naturalmente la P.A. si preoccupa di garantire la fruibilità del servizio a tutti i cittadini, quindi per il maggior numero di s.o. Purtroppo i driver e le informazioni che riusciamo ad ottenere sui siti ufficiali riguardo a Linux sono poche e non coprono tutte le distro, ovviamente.
In questa guida si intende offrire un supporto completo all'uso della CNS attraverso il lettore ACR38.Il sistema è stato testato con la Carta regionale dei servizi, Regione F.V.G., il lettore ACR38 è in uso in molte altre Amministrazioni.
Avvertenze
|
Le informazioni e le procedure descritte in questo articolo si intendono fornite "as is" e senza garanzia alcuna. Gli autori dell'articolo e slacky.eu non possono essere ritenuti in alcun modo responsabili per eventuali danni, perdite di informazioni, ecc. che si possono verificare a seguito dell'utilizzo delle informazioni qui contenute. Use at own risk! |
Il funzionamento del sistema in breve
Il collegamento tra smart card e browser avviene generalmente attraverso 4 livelli:
- Application: un browser o un client di posta, Firefox, Thunderbird, ecc.
- Smart card library: il protocollo per comunicare con lo strato successivo, PKCS#11 è lo standard valido per tutti i s.o.
- Middleware: software intermediario tra la smart card ed il lettore (ora prevalentemente USB)
- Smart card reader driver: il driver per il lettore, lo standard più diffuso è CCID (Chip/Smart Card Interface Devices)
Per l'implementazione del sistema ci sono comunque diversi standard, quindi soluzioni diverse per raggiungere lo stesso risultato. La soluzione adottata nel nostro caso è la seguente:
- Application: Firefox
- Smart card library: OpenSC
- Middleware: PCSC-lite
- Smart card reader driver: ACS ACR38U smart card readers
Installare le librerie necessarie
Il sistema richiede le seguenti librerie (da compilare in sequenza se si parte dai sorgenti):
- pcsc-lite pcsc-tools pcsc-perl opensc
Gli slackbuid dei pacchetti per la 13.37 sono tutti disponibili su SBo Per la 14.1, attualmente (3 Marzo 2014) lo slackbuild di pcsc-tools non risulta aggiornato alla nuova versione 1.4.22 e non sono più disponibili i sorgenti per la versione precedente. Dovrete quindi modificare lo slackbuild impostando il nuovo numero di versione e scaricare i nuovi sorgenti.
Come specificato nello slackbuild di pcsc-lite, dovrete creare un nuovo utente pcscd (257) e un nuovo gruppo pcscd (257). Inoltre per avere il servizio pcscd attivo al riavvio del sistema, bisogna inserire il seguente codice in /etc/rc.d/rc.local:
#pcsc-lite
if [ -x /etc/rc.d/rc.pcscd ]; then
/etc/rc.d/rc.pcscd start
fi
infatti gli script di avvio rc.S, rc.M, ecc. non processano /etc/rc.d/rc.pcscd, quindi non basta dare chmod 755 allo script.
Installare il driver
I driver purtroppo sono disponbili unicamente in forma di pacchetto precompilato per debian, fedora, ubuntu e opensuse, per cui sarà necessario un poco di sforzo in più. Per prima cosa bisogna scaricare il pacchetto con i precompilati. La versione linkata è la più aggiornata che sono riuscito a trovare, e ne confermo il funzionamento con il lettore in mio possesso. Decomprimete l'archivio scaricato e anche l'archivio al suo interno, arrivando in una directory con 4 subdirectory (una per ogni distribuzione) e un ReadMe.txt. A questo punto dovremo sfruttare il pacchetto src2pkg per creare un precompilato per slackware. Ammetto di essere pigramente andato alla cieca e di avere copiato quanto scritto nel tutorial senza leggere la documentazione, ma dato che non era necessaria una compilazione ma solo un cambio di formato mi sono fidato e il risultato è stato positivo. Io ho scelto di convertire il driver RPM per Fedora 19 x86_64, ma la procedura è identica per gli altri pacchetti (ma non garantisco il risultato). Recatevi quindi nella cartella fedora/ ed eseguite
src2pkg -N pcsc-lite-acsccid-1.0.5-1.fc19.x86_64.rpm
A questo punto dovreste avere un file chiamato pcsc-lite-acsccid.src2pkg.auto. Questo file contiene le impostazioni di configurazione del pacchetto che andremo a creare: io non l'ho modificato, ma se volete personalizzare il futuro txz in qualche modo, questo è il file da modificare. Ora lanciate semplicemente
src2pkg -VV -C -W -X pcsc-lite-acsccid-1.0.5-1.fc19.x86_64.rpm
e dopo pochi istanti dovreste ritrovare il vostro pacchetto pcsc-lite-acsccid-1.0.5-x86_64-1.txz che potrete installare con i soliti tools offerti da Slackware.
- Test del sistema: per vedere se tutto funzione possiamo usare l'utility pcsc_scan, avviabile da "user" dopo aver avviato il demone pcscd da "root", magari con le opzioni --foreground --debug per verificare il buon esito dell'installazione. Se è tutto ok, il lettore viene rilevato automaticamente. Consiglio anche di provare a firmare un file qualsiasi di prova, dato che alcune versioni dei driver è risultato che pcsc_scan funzionava perfettamente così come la lettura/scrittura della scheda da parte di gnupg, ma in fase di firma il demone pcscd entrava in segfault. Seguendo la procedura descritta il problema è stato risolto, ma è stato testato tutto su un unico lettore (ID 072f:9000) e su una unica scheda OpenPGP.
Configurare il dispositivo di sicurezza su Firefox
Esistono diverse guide in rete, anche ricche di particolari, che spiegano come installare il dispositivo su Firefox. Come visto in premessa ci sono diverse soluzioni software, nel nostro caso l'interfaccia con Firefox è data da opensc. La configurazione è semplicissima, si parte dal menù "Modifica":
- [ Modifica ] --> [ Preferenze ] --> [ Avanzate ] --> [ Dispositivi di sicurezza ] --> [ Carica ]
- Nome modulo: [ Nuovo modulo PKCS#11 ]
- Nome file modulo [ .......... ] [ Sfoglia ]
Cercheremo come "Nome file modulo":
- /usr/lib/opensc-pkcs11.so
Il lettore è immediatamente attivo. L'utilizzo è semplice, basterà inserire la smart card ed entrare in uno dei siti per cui ne è previsto l'uso.
Nota: si è visto che una volta caricato il modulo il servizio pcscd dovrà rimanere sempre attivo anche senza lettore inserito, altrimenti Firefox rallenta all'avvio alla ricerca dei software di comunicazione.
Copyright - License
Autore: Zoros 09:05, 2 nov 2011 (CET) Update: Delcaran lëdeloth 19:02, 3 mar 2014 (CET)
GNU Free Documentation Licence
|
This article is released under the GNU Free Documentation Licence. You are welcome to copy and redistribute it (subject to certain conditions). |