Carta Nazionale/Regionale dei Servizi: differenze tra le versioni

(→‎Problematiche aperte: Flash in Lombardia)
 
(44 versioni intermedie di 10 utenti non mostrate)
Riga 1: Riga 1:
{{stub}}
{{Versioni compatibili|Wheezy|Jessie|Stretch|Buster|Bullseye}}
{{Versioni compatibili|Wheezy|Sid}}
 
== Introduzione ==
== Introduzione ==
La CNS/CRS è una smart card che permette l'accesso a servizi online forniti da diversi enti pubblici italiani.
La CNS/CRS è una smart card che permette l'accesso a servizi online forniti da diversi enti pubblici italiani.


Questa guida illustra la procedura che permette di usufruire di questi servizi utilizzando esclusivamente software libero presente nei repository ufficiali Debian.
Questa guida illustra la procedura che permette di usufruire di questi servizi utilizzando esclusivamente software libero presente nei repository ufficiali Debian.
== Prerequisiti ==
== Prerequisiti ==
* Sistema operativo Debian Wheezy o superiore
* Sistema operativo Debian Wheezy o superiore
Riga 11: Riga 10:
* Una CNS/CRS
* Una CNS/CRS
* PIN associato alla tessera
* PIN associato alla tessera
== Installazione dei driver del lettore ==
== Installazione dei driver del lettore ==
Collegare il lettore ad una porta USB.
Collegare il lettore ad una porta USB.
Riga 17: Riga 15:
$ lsusb
$ lsusb
[cut]
[cut]
Bus 004 Device 003: ID 08e6:3437 Gemplus GemPC Twin SmartCard Reader  
Bus 004 Device 002: ID 072f:9000 Advanced Card Systems, Ltd ACR38 AC1038-based Smart Card Reader
</pre>
</pre>
Il pacchetto da installare per far funzionare questo lettore, come si può verificare in [http://wiki.debian.org/Smartcards#Supported_Hardware questa pagina] del Wiki di Debian, è <code>libccid</code>:
In questo caso si tratta del lettore bit4id che è stato fornito ai cittadini italiani da alcune pubbliche amministrazioni, ad esempio da Regione Lombardia.
 
Il pacchetto da installare per far funzionare questo lettore è <code>libacsccid1</code>:
<pre>
<pre>
# aptitude install libccid
# apt install libacsccid1
</pre>
</pre>
Se si dispone di un altro modello, effettuare una ricerca su Internet per trovare il driver da utilizzare.
Se si dispone di un altro modello, effettuare una ricerca in [http://wiki.debian.org/Smartcards#Supported_Hardware questa pagina] del Wiki di Debian per trovare il driver da utilizzare.
 
== Verifica del funzionamento del lettore ==
Installiamo <code>pcscd</code> e <code>pcsc-tools</code>, per verificare che il lettore funzioni correttamente:
Per verificare che il lettore funzioni correttamente, installiamo <code>pcscd</code> e <code>pcsc-tools</code>:
<pre>
<pre>
# aptitude install pcscd pcsc-tools
# apt install pcscd pcsc-tools
</pre>
</pre>
A questo punto:
A questo punto lanciare <code>pcsc_scan</code>:
<pre>
<pre>
$ pcsc_scan
$ pcsc_scan
</pre>
Può capitare di ottenere questo messaggio:
<pre>
PC/SC device scanner V 1.4.17 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.5.5
Scanning present readers...
Waiting for the first reader...
</pre>
Ciò avviene in genere quando si collega il lettorino a PC acceso e demone già avviato. Occorre allora chiudere il programma con Ctrl+C e riavviare il demone:
<pre>
# /etc/init.d/pcscd restart
</pre>
Se invece si ottiene quest'altro messaggio, va tutto bene:
<pre>
PC/SC device scanner
PC/SC device scanner
V 1.4.17 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
V 1.4.17 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
Riga 38: Riga 52:
0: ACS ACR38U 00 00
0: ACS ACR38U 00 00


Mon Jan  9 15:42:56 2012
Tue Apr 10 15:17:27 2012
  Reader 0: ACS ACR38U 00 00
  Reader 0: ACS ACR38U 00 00
   Card state: Card removed,
   Card state: Card removed,  
 


</pre>
</pre>
 
Si provi ad inserire ed estrarre delle tessere: dovrebbero essere viste senza problemi:
Si provi ad inserire ed estrarre delle tessere: se vengono viste, va tutto bene:
<pre>
<pre>
   Card state: Card inserted, Shared Mode,   
   Card state: Card inserted, Shared Mode,   
Riga 50: Riga 64:
Italian healtcare card (TS) National Service Card (CNS)
Italian healtcare card (TS) National Service Card (CNS)
</pre>
</pre>
Per uscire, basta digitare Ctrl+C.
Per uscire, basta digitare Ctrl+C.
== Configurazione del browser ==
== Configurazione del browser ==
Al momento l'unico browser a supportare queste funzionalità è Iceweasel. Su Chromium ci sono da molti mesi lavori in corso in tal senso, ma è difficile prevedere quando il software di casa Google sarà utilizzabile; chi è interessato, può tenere d'occhio [http://code.google.com/p/chromium/issues/detail?id=42073 questo] bug report.
Queste funzionalità sono fornite sia da Iceweasel/Firefox che da Chromium.


Installiamo tutto il software necessario:
Installiamo OpenSC:
<pre>
<pre>
# aptitude install iceweasel-l10n-it opensc
# apt install opensc
</pre>
</pre>
A questo punto occorre trovare il percorso della libreria OpenSC necessaria per accedere ai portali che fanno utilizzo della tecnologia CNS; potrebbe essere diverso a seconda dell'architettura, e quindi cerchiamolo con:
A questo punto occorre trovare il percorso della libreria OpenSC necessaria per accedere ai portali che fanno utilizzo della tecnologia CNS; potrebbe essere diverso a seconda dell'architettura, e quindi cerchiamolo con:
<pre>
<pre>
$ dpkg -L opensc | grep /opensc-pkcs11.so
$ dpkg -S opensc | grep /opensc-pkcs11.so
/usr/lib/opensc-pkcs11.so
/usr/lib/i386-linux-gnu/opensc-pkcs11.so
</pre>
</pre>
In questo caso sarà dunque <code>/usr/lib/i386-linux-gnu/opensc-pkcs11.so</code>; appuntiamolo da qualche parte.
=== Iceweasel/Firefox ===
<pre>
# aptitude install iceweasel-l10n-it
</pre>
Oppure, a partire da Debian Stretch:
<pre>
# apt install firefox-esr-l10n-it
</pre>
Quindi:
# Collegare il lettore di smartcard
# Avviare Firefox
# Inserire la tessera sanitaria nel lettore
# In Firefox, selezionare Modifica → Preferenze → Privacy e sicurezza → Dispositivi di sicurezza
# Cliccare su Carica, inserire una descrizione (es: TesseraSanitaria) ed il percorso corretto del file opensc-pkcs11.so, come individuato precedentemente.
=== Chromium ===
Installare tutto il software necessario:
<pre>
# apt install chromium-l10n libnss3-tools
</pre>
Nel caso in cui il browser fosse aperto, chiuderlo.


In questo caso sarà dunque <code>/usr/lib/opensc-pkcs11.so</code>; appuntiamolo da qualche parte.
Inserire la smart card nel lettore, aprire un terminale e, posizionandosi nella home dell'utente, eseguire il comando
<pre>
$ modutil -dbdir sql:.pki/nssdb/ -add "CNS PKCS#11" -libfile /PATH/TO/MY/LIB.so
</pre>
dove al posto di <code>/PATH/TO/MY/LIB.so</code> metteremo il percorso che ci eravamo appuntati (nell'esempio: <code>/usr/lib/i386-linux-gnu/opensc-pkcs11.so</code>).


Rimane solo da aprire Iceweasel e poi:
Verificare la corretta registrazione della libreria con
# Modifica → Preferenze → Avanzate → Cifratura → Dispositivi di sicurezza → Carica
<pre>
# inserire nel campo "Nome modulo": CRS PKCS#11
$ modutil -dbdir sql:.pki/nssdb/ -list
# click su "Sfoglia" e selezionare il file che ci eravamo appuntati (nell'esempio: <code>/usr/lib/opensc-pkcs11.so</code>)
</pre>
# click su Apri → OK → OK → Chiudi
# chiudere Iceweasel


== Utilizzo dei servizi ==
== Utilizzo dei servizi ==
# Inserire la tessera nel lettore
# Inserire la tessera nel lettore
# Attendere che la tessera venga letta (in genere basta osservare il led)
# Attendere che la tessera venga letta (in genere basta osservare il led)
# Avviare Iceweasel: se tutto va bene con il lettore bit4id il led smette di lampeggiare e rimane fisso acceso
# Avviare il browser: se tutto va bene in genere il led smette di lampeggiare e rimane fisso acceso
# Accedere alla pagina interessata: si dovrebbe aprire una finestra che richiede il PIN
# Accedere alla pagina interessata: si dovrebbe aprire una finestra che richiede il PIN
# Usufruire dei servizi
# Usufruire dei servizi
# Chiudere il browser e aspettare che il led torni a lampeggiare
# Estrarre la tessera
== Lettura dei dati pubblici sulla tessera ==
La tessera sanitaria contiene sul filesystem alcuni dati pubblici che si possono leggere sia con la
interfaccia smartcard sia con un lettore contactless per le tessere sanitarie più recenti (post 2018 almeno).
I dati pubblici (codice fiscale, nome e cognome, numero di tessera) sono sufficienti nei totem di pagamento
delle prestazioni sanitarie in Emilia Romagna.


Chi ha ruby può avere un'idea del contenuto con lo [https://github.com/francescm/tessera_sanitaria script di prova].
== Sblocco TS-CNS ==
Se si digita tre volte il PIN errato la TS-CNS viene bloccata. Per sbloccarla in autonomia, senza doversi recare allo sportello dell'ASL, occorre conoscere il codice PUK (di 8 cifre, almeno di norma) e digitare da terminale il seguente comando:<syntaxhighlight>
$ pkcs15-tool -u --puk CodicePUK
</syntaxhighlight>
== Problematiche aperte ==
== Problematiche aperte ==
=== libacr38u ===
=== Tessere di nuova emissione ===
Il driver libacr38u presenta [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=609099 un bug] che si manifesta con molte carte recenti usate dalla pubblica amministrazione italiana. C'è un solo tipo di lettore che faccia uso di questo driver, ma purtroppo il lettore bit4id che è stato fornito alla maggior parte dei cittadini italiani ricade in questa casistica.
Potrebbe essere necessario ricorrere al software più recente disponibile, non sempre rilasciato con licenza libera. Diventa importante verificare il modello della carta per scaricare il software corretto.
<pre>
$ lsusb
[cut]
Bus 003 Device 002: ID 072f:9000 Advanced Card Systems, Ltd ACR38 AC1038-based Smart Card Reader
</pre>
 
Le soluzioni sono 3:
# provare ad applicare la patch, compilare ed installare il driver patchato;
# aspettare che il bug report venga chiuso;
# usare un altro lettore che faccia uso di un altro driver.
 
=== Rimpiazzare il CRS Manager ===
Trovare un modo per rimpiazzare il CRS Manager, necessario per modificare il PIN o sbloccare la carta se si sbaglia a digitarlo 3 volte.
 
== Regione Lombardia: servizi socio-sanitari ==
[http://supportsiss.lispa.it/pdlk/asss.html Il sito] per accedere ai servizi socio-sanitari di Regione Lombardia fa uso della tecnologia Flash (software proprietario).


=== Firma elettronica ===
Trovare un software per la firma elettronica dei documenti. Potrebbe essere [http://opensignature.sourceforge.net/english.php#os OpenSignature], che però non è presente nei repository ufficiali Debian. Vedi anche [http://wiki.debian.org/PkgItalianOnly qui].
== Ringraziamenti ==
== Ringraziamenti ==
Un grazie sentito a tutti gli sviluppatori di software libero che hanno reso accessibile l'utilizzo di queste tecnologie a ogni utente Debian. Un pensiero particolare va ad Emanuele Pucciarelli, autore della patch per OpenSC grazie alla quale anche le tessere italiane sono divenute compatibili.
Un grazie sentito a tutti gli sviluppatori di software libero che hanno reso accessibile l'utilizzo di queste tecnologie a ogni utente Debian. Un pensiero particolare va ad Emanuele Pucciarelli, autore della patch per OpenSC grazie alla quale anche le tessere italiane sono divenute compatibili.
== Fonti ==
== Fonti ==
*https://sites.google.com/site/dalbrizio/how-to_/cartanazionaledeiservizicnssudebianubuntu3264bit
* [https://sites.google.com/site/dalbrizio/how-to_/cartanazionaledeiservizicnssudebianubuntu3264bit Daniele Albrizio howto]
<br />
* https://www.muciu.it/cns_unlock/
----
{{Autori
: [[Utente:Stemby|Stemby]]
|Autore = [[Utente:Stemby|Stemby]]
----
|Estesa_da = [[Utente:metaldaze|metaldaze]]
|Verificata_da =
:[[Utente:Wtf|Wtf]]
:[[Utente:Usmnunter|Usmnunter]] 15:10, 10 set 2019 (CEST)
|Numero_revisori = 2
}}
[[Categoria:Browser]]
[[Categoria:Browser]]
[[Categoria:Altro hardware]]
[[Categoria:Altro hardware]]

Versione attuale delle 18:02, 30 mar 2022

Debian-swirl.png Versioni Compatibili

Debian 7 "wheezy"
Debian 8 "jessie"
Debian 9 "stretch"
Debian 10 "buster"
Debian 11 "bullseye"

Introduzione

La CNS/CRS è una smart card che permette l'accesso a servizi online forniti da diversi enti pubblici italiani.

Questa guida illustra la procedura che permette di usufruire di questi servizi utilizzando esclusivamente software libero presente nei repository ufficiali Debian.

Prerequisiti

  • Sistema operativo Debian Wheezy o superiore
  • Lettore per smart card compatibile con Debian
  • Una CNS/CRS
  • PIN associato alla tessera

Installazione dei driver del lettore

Collegare il lettore ad una porta USB.

$ lsusb
[cut]
Bus 004 Device 002: ID 072f:9000 Advanced Card Systems, Ltd ACR38 AC1038-based Smart Card Reader

In questo caso si tratta del lettore bit4id che è stato fornito ai cittadini italiani da alcune pubbliche amministrazioni, ad esempio da Regione Lombardia.

Il pacchetto da installare per far funzionare questo lettore è libacsccid1:

# apt install libacsccid1

Se si dispone di un altro modello, effettuare una ricerca in questa pagina del Wiki di Debian per trovare il driver da utilizzare.

Verifica del funzionamento del lettore

Per verificare che il lettore funzioni correttamente, installiamo pcscd e pcsc-tools:

# apt install pcscd pcsc-tools

A questo punto lanciare pcsc_scan:

$ pcsc_scan

Può capitare di ottenere questo messaggio:

PC/SC device scanner V 1.4.17 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.5.5
Scanning present readers...
Waiting for the first reader...

Ciò avviene in genere quando si collega il lettorino a PC acceso e demone già avviato. Occorre allora chiudere il programma con Ctrl+C e riavviare il demone:

# /etc/init.d/pcscd restart 

Se invece si ottiene quest'altro messaggio, va tutto bene:

PC/SC device scanner
V 1.4.17 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.5.5
Scanning present readers...
0: ACS ACR38U 00 00

Tue Apr 10 15:17:27 2012
 Reader 0: ACS ACR38U 00 00
  Card state: Card removed, 


Si provi ad inserire ed estrarre delle tessere: dovrebbero essere viste senza problemi:

  Card state: Card inserted, Shared Mode,  
[cut]
	Italian healtcare card (TS) National Service Card (CNS)

Per uscire, basta digitare Ctrl+C.

Configurazione del browser

Queste funzionalità sono fornite sia da Iceweasel/Firefox che da Chromium.

Installiamo OpenSC:

# apt install opensc

A questo punto occorre trovare il percorso della libreria OpenSC necessaria per accedere ai portali che fanno utilizzo della tecnologia CNS; potrebbe essere diverso a seconda dell'architettura, e quindi cerchiamolo con:

$ dpkg -S opensc | grep /opensc-pkcs11.so
/usr/lib/i386-linux-gnu/opensc-pkcs11.so

In questo caso sarà dunque /usr/lib/i386-linux-gnu/opensc-pkcs11.so; appuntiamolo da qualche parte.

Iceweasel/Firefox

# aptitude install iceweasel-l10n-it

Oppure, a partire da Debian Stretch:

# apt install firefox-esr-l10n-it

Quindi:

  1. Collegare il lettore di smartcard
  2. Avviare Firefox
  3. Inserire la tessera sanitaria nel lettore
  4. In Firefox, selezionare Modifica → Preferenze → Privacy e sicurezza → Dispositivi di sicurezza
  5. Cliccare su Carica, inserire una descrizione (es: TesseraSanitaria) ed il percorso corretto del file opensc-pkcs11.so, come individuato precedentemente.

Chromium

Installare tutto il software necessario:

# apt install chromium-l10n libnss3-tools

Nel caso in cui il browser fosse aperto, chiuderlo.

Inserire la smart card nel lettore, aprire un terminale e, posizionandosi nella home dell'utente, eseguire il comando

$ modutil -dbdir sql:.pki/nssdb/ -add "CNS PKCS#11" -libfile /PATH/TO/MY/LIB.so

dove al posto di /PATH/TO/MY/LIB.so metteremo il percorso che ci eravamo appuntati (nell'esempio: /usr/lib/i386-linux-gnu/opensc-pkcs11.so).

Verificare la corretta registrazione della libreria con

$ modutil -dbdir sql:.pki/nssdb/ -list

Utilizzo dei servizi

  1. Inserire la tessera nel lettore
  2. Attendere che la tessera venga letta (in genere basta osservare il led)
  3. Avviare il browser: se tutto va bene in genere il led smette di lampeggiare e rimane fisso acceso
  4. Accedere alla pagina interessata: si dovrebbe aprire una finestra che richiede il PIN
  5. Usufruire dei servizi
  6. Chiudere il browser e aspettare che il led torni a lampeggiare
  7. Estrarre la tessera

Lettura dei dati pubblici sulla tessera

La tessera sanitaria contiene sul filesystem alcuni dati pubblici che si possono leggere sia con la interfaccia smartcard sia con un lettore contactless per le tessere sanitarie più recenti (post 2018 almeno).

I dati pubblici (codice fiscale, nome e cognome, numero di tessera) sono sufficienti nei totem di pagamento delle prestazioni sanitarie in Emilia Romagna.

Chi ha ruby può avere un'idea del contenuto con lo script di prova.

Sblocco TS-CNS

Se si digita tre volte il PIN errato la TS-CNS viene bloccata. Per sbloccarla in autonomia, senza doversi recare allo sportello dell'ASL, occorre conoscere il codice PUK (di 8 cifre, almeno di norma) e digitare da terminale il seguente comando:

$ pkcs15-tool -u --puk CodicePUK

Problematiche aperte

Tessere di nuova emissione

Potrebbe essere necessario ricorrere al software più recente disponibile, non sempre rilasciato con licenza libera. Diventa importante verificare il modello della carta per scaricare il software corretto.

Firma elettronica

Trovare un software per la firma elettronica dei documenti. Potrebbe essere OpenSignature, che però non è presente nei repository ufficiali Debian. Vedi anche qui.

Ringraziamenti

Un grazie sentito a tutti gli sviluppatori di software libero che hanno reso accessibile l'utilizzo di queste tecnologie a ogni utente Debian. Un pensiero particolare va ad Emanuele Pucciarelli, autore della patch per OpenSC grazie alla quale anche le tessere italiane sono divenute compatibili.

Fonti



Guida scritta da: Stemby   Debianized 60%
Estesa da:

metaldaze

Verificata da:
Wtf
Usmnunter 15:10, 10 set 2019 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized