Differenze tra le versioni di "Carta Nazionale dei Servizi e Firma Digitale"

Da GolemWiki.
Jump to navigation Jump to search
(Piccole sistemazioni qua e là)
Riga 1: Riga 1:
 
Questa pagina è un maldestro tentativo di fare chiarezza sul "mondo" delle '''smartcard''' con microchip crittografico, delle funzioni che tramite esse vengono veicolate e del loro utilizzo con Linux.
 
Questa pagina è un maldestro tentativo di fare chiarezza sul "mondo" delle '''smartcard''' con microchip crittografico, delle funzioni che tramite esse vengono veicolate e del loro utilizzo con Linux.
  
 +
[https://golem.linux.it/cloud/index.php/s/fCLGQzyRBpKfN45 Strumenti di Cittadinanza digitale] a cura di Giulia del GOLEM.
  
=CNS-FD=
+
= CNS =
  
 
La funzionalità più diffusa è quella di [http://www.digitpa.gov.it/carta-nazionale-dei-servizi Carta Nazionale dei Servizi - '''CNS''']. Le tessere sanitarie '''TS''' di molte Regioni e le carte regionali dei servizi sono comunque carte nazionali dei servizi CNS.
 
La funzionalità più diffusa è quella di [http://www.digitpa.gov.it/carta-nazionale-dei-servizi Carta Nazionale dei Servizi - '''CNS''']. Le tessere sanitarie '''TS''' di molte Regioni e le carte regionali dei servizi sono comunque carte nazionali dei servizi CNS.
Riga 82: Riga 83:
  
 
==Aruba Sign==
 
==Aruba Sign==
Il miglio software multi-piattaforma disponibile è probabilmente [https://www.pec.it/download-software-driver.aspx Aruba Sign].
+
Il miglior software multi-piattaforma disponibile è probabilmente [https://www.pec.it/download-software-driver.aspx Aruba Sign].
 
Prodotto da Aruba, gratuito ma non libero, è scritto in Java e disponibile per Windows, MacOS X e Linux.
 
Prodotto da Aruba, gratuito ma non libero, è scritto in Java e disponibile per Windows, MacOS X e Linux.
 
Permette di firmare documenti, apporre marcature temporali ed ulteriori operazioni come la modifica del PIN di una CNS.
 
Permette di firmare documenti, apporre marcature temporali ed ulteriori operazioni come la modifica del PIN di una CNS.
Riga 104: Riga 105:
  
 
Thunderbird gestisce anche messaggi di posta elettronica certificata PEC. Quando un messaggio PEC ha allegati firmati (.p7m) se la verifica della firma fallisce, il documento allegato sembra che non venga mostrato. [https://addons.mozilla.org/it/thunderbird/addon/thunderpec/ ThunderPEC] dice di aiutarci in questo ma è ancora tutto da verificare (vuoi farlo tu?).
 
Thunderbird gestisce anche messaggi di posta elettronica certificata PEC. Quando un messaggio PEC ha allegati firmati (.p7m) se la verifica della firma fallisce, il documento allegato sembra che non venga mostrato. [https://addons.mozilla.org/it/thunderbird/addon/thunderpec/ ThunderPEC] dice di aiutarci in questo ma è ancora tutto da verificare (vuoi farlo tu?).
 
=Autenticazione utente=
 
 
==SSH==
 
 
Estrarre la chiave pubblica (il percorso della libreria dipende dalla distribuzione):
 
ssh-keygen -D /usr/lib/i386-linux-gnu/opensc-pkcs11.so
 
 
Dopo aver copiato la chiave pubblica sul sistema remoto (ad es. in ~/.ssh/authorized_keys), è possibile collegarsi fornendo il PIN quando richiesto:
 
ssh ­-I /usr/lib/i386­linux­gnu/opensc­-pkcs11.so indirizzo-del-server
 
  
 
=Carta Nazionale dei Servizi CNS=
 
=Carta Nazionale dei Servizi CNS=
Riga 119: Riga 110:
 
Una smartcard si dice «Carta Nazionale dei Servizi» quando ha a bordo nel microchip un certificato utile per l'autenticazione online, strutturato secondo quanto richiesto [http://www.digitpa.gov.it/node/689 dalla legge italiana].
 
Una smartcard si dice «Carta Nazionale dei Servizi» quando ha a bordo nel microchip un certificato utile per l'autenticazione online, strutturato secondo quanto richiesto [http://www.digitpa.gov.it/node/689 dalla legge italiana].
  
Seguono alcuni esempi di soggetti che utilizzano smartcard e danno '''supporto a Linux'''.
+
La cosiddetta [http://www.sistemats.it/ Tessera Sanitaria] non è altro che una Carta Nazionale dei Servizi.
  
==Tessera Sanitaria e Carta dei Servizi==
+
Le prime tessere sanitarie non avevano il microchip, servivano soltanto perché funzionavano da codice fiscale (che poteva essere letto in automatico dal codice a barre stampato su di esse).
 
 
La cosiddetta [http://www.sistemats.it/ Tessera Sanitaria] non è altro che una Carta Nazionale dei Servizi. Le prime tessere sanitarie non hanno il microchip, servono soltanto perché funzionano da codice fiscale (che può essere letto in automatico dal codice a barre stampato su esse).
 
  
 
Da Novembre 2012 anche ArubaPEC può emettere Carte Nazionali dei Servizi grazie all'[http://www.unical.it/portale/portaltemplates/view/view.cfm?29910 accordo] con l'Università della Calabria.
 
Da Novembre 2012 anche ArubaPEC può emettere Carte Nazionali dei Servizi grazie all'[http://www.unical.it/portale/portaltemplates/view/view.cfm?29910 accordo] con l'Università della Calabria.
  
===Regione Friuli Venezia Giulia===
+
==Regione Friuli Venezia Giulia==
  
 
La [http://cartaservizi.regione.fvg.it/ Carta dei Servizi] del Friuli Venezia Giulia. Non conosciamo il produttore della smartcard.
 
La [http://cartaservizi.regione.fvg.it/ Carta dei Servizi] del Friuli Venezia Giulia. Non conosciamo il produttore della smartcard.
Riga 133: Riga 122:
 
Eccone [http://forums.opensuse.org/english/get-technical-help-here/how-faq-forums/unreviewed-how-faq/471405-set-up-use-italian-regione-friuli-venezia-giulia-healthcare-smart-card-crs.html il funzionamento su OpenSuSE Linux] (in inglese).
 
Eccone [http://forums.opensuse.org/english/get-technical-help-here/how-faq-forums/unreviewed-how-faq/471405-set-up-use-italian-regione-friuli-venezia-giulia-healthcare-smart-card-crs.html il funzionamento su OpenSuSE Linux] (in inglese).
  
===Regione Liguria===
+
==Regione Liguria==
  
 
[http://www.regione.liguria.it/argomenti/diritti-e-doveri-del-cittadino/carta-regionale-dei-servizi.html Carta regionale] Liguria. Smartcard Siemens - software CardOS e forse basta il solo OpenSC.  
 
[http://www.regione.liguria.it/argomenti/diritti-e-doveri-del-cittadino/carta-regionale-dei-servizi.html Carta regionale] Liguria. Smartcard Siemens - software CardOS e forse basta il solo OpenSC.  
  
===Regione Lombardia===
+
==Regione Lombardia==
  
 
Anche in Lombardia l'hanno chiamata [http://www.crs.regione.lombardia.it/ Carta Regionale dei Servizi]. Utilizzano smartcard Athena oppure Siemens.
 
Anche in Lombardia l'hanno chiamata [http://www.crs.regione.lombardia.it/ Carta Regionale dei Servizi]. Utilizzano smartcard Athena oppure Siemens.
  
===Regione Toscana===
+
==Regione Toscana==
 
+
[http://www.regione.toscana.it/cartasanitaria Carta Sanitaria] della Regione Toscana. La Regione dà ai cittadini un lettore Bit4id miniLector Piano per 4,20 €.
[http://www.regione.toscana.it/cartasanitaria Carta Sanitaria] della Regione Toscana. Sono smartcard [http://www.regione.toscana.it/web/guest/guida_1_linux Athena].
 
 
 
Novità: dalla seconda metà del 2012 ci sono novità: emettono [http://www.regione.toscana.it/web/guest/guida carte Siemens] riconoscibili dalla [http://www.regione.toscana.it/web/guest/guida_2_linux sigla AT2012].
 
  
La Regione Toscana dà ai cittadini un lettore Bit4id miniLector Piano per 4,20 euro.
+
* [http://www.regione.toscana.it/servizi-online/servizi-sicuri/carta-sanitaria-elettronica/guida-all-uso Guida all'uso] sul sito della Regione.
  
[https://golem.linux.it/cloud/index.php/s/fCLGQzyRBpKfN45 Presentazione PDF] a cura di Giulia del GOLEM su Strumenti di Cittadinanza digitale per cittadini toscani.
+
=== Tipologie ===
 +
{| class="wikitable"
 +
| Sigla
 +
| Descrizione
 +
| Linux
 +
|-
 +
| AT2012
 +
| carte Siemens / ATOS
 +
| OK
 +
|-
 +
| AC2014
 +
| carte Actalis
 +
| OK
 +
|}
  
===Regione Calabria===
+
==Regione Calabria==
  
 
La [http://www.regione.calabria.it/sanita/index.php?option=com_content&task=view&id=405&Itemid=100 Regione Calabria] utilizza smartcard Siemens - software CardOS
 
La [http://www.regione.calabria.it/sanita/index.php?option=com_content&task=view&id=405&Itemid=100 Regione Calabria] utilizza smartcard Siemens - software CardOS
  
===Regione Sardegna===
+
==Regione Sardegna==
  
 
A fine 2012 inizia l'attivazione delle Tessere Saitarie nella Regione Sardegna. Saranno in gran parte smartcard Athena. Alcuni lotti di carte sono forniti da Siemens (speriamo utilizzabili con CardOS e quindi funzionanti con OpenSC).
 
A fine 2012 inizia l'attivazione delle Tessere Saitarie nella Regione Sardegna. Saranno in gran parte smartcard Athena. Alcuni lotti di carte sono forniti da Siemens (speriamo utilizzabili con CardOS e quindi funzionanti con OpenSC).
Riga 163: Riga 162:
 
Ben fatto anche l'elenco delle [http://www.regione.sardegna.it/index.php?xsl=509&s=1&v=9&c=9368&tb=9327&st=19 domande frequenti].
 
Ben fatto anche l'elenco delle [http://www.regione.sardegna.it/index.php?xsl=509&s=1&v=9&c=9368&tb=9327&st=19 domande frequenti].
  
===Provincia di Bolzano===
+
==Provincia di Bolzano==
  
 
[http://www.provincia.bz.it/cartaservizi/ Tessera Sanitaria e Carta Provinciale dei Servizi] della Provincia Autonoma di Bolzano.
 
[http://www.provincia.bz.it/cartaservizi/ Tessera Sanitaria e Carta Provinciale dei Servizi] della Provincia Autonoma di Bolzano.
Riga 170: Riga 169:
  
  
===Provincia di Trento===
+
==Provincia di Trento==
  
 
[http://www.cartaservizi.provincia.tn.it/ Tessera Sanitaria e Carta Provinciale dei Servizi] della Provincia Autonoma di Trento.
 
[http://www.cartaservizi.provincia.tn.it/ Tessera Sanitaria e Carta Provinciale dei Servizi] della Provincia Autonoma di Trento.
  
=Carta d'Identità Elettronica - CIE=
+
=Carta d'Identità Elettronica =
  
Non conosco la CIE però dovrebbe essere una CNS identica alle altre.
+
La CIE. Dovrebbe essere una CNS identica alle altre.
  
= Configurazione della Tessera Sanitaria su Linux =
+
= Installazione SmartCard su Linux =
== Ubuntu/Mint/debian ==
+
'''Attenzione:''' al termine dell'installazione, è necessario individuare la libreria <code>opensc-pkcs11.so</code>, che generalmente può essere trovata in uno dei seguenti percorsi:
 +
* ''/usr/lib/opensc-pkcs11.so''.
 +
* ''/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so''
 +
 
 +
Se non si riesce a localizzarla, si può provare a cercarla col seguente comando:
 +
$ find / -name "opensc-pkcs11.so" 2> /dev/null
 +
 
 +
== Debian/Ubuntu/Mint ==
 
Installare i seguenti pacchetti
 
Installare i seguenti pacchetti
 
  # apt install pcsc-tools pcscd opensc opensc-pkcs11
 
  # apt install pcsc-tools pcscd opensc opensc-pkcs11
  
 
Il demone <code>pcscd</code> si avvierà automaticamente.
 
Il demone <code>pcscd</code> si avvierà automaticamente.
 
La libreria da comunicare al browser, come indicato nella successiva sezione [[#Configurare il browser|Configurare il browser]], è situata nella cartella ''/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so''.
 
  
 
== Arch Linux ==
 
== Arch Linux ==
 
 
Installare i seguenti pacchetti, utili solo per smartcard del produttore Athena (libaseCnsP11)
 
Installare i seguenti pacchetti, utili solo per smartcard del produttore Athena (libaseCnsP11)
 
  # pacman -Sy ccid pcsclite pcsc-tools opensc
 
  # pacman -Sy ccid pcsclite pcsc-tools opensc
<!-- # yaourt -Sy --aur libminilector38u-bit4id libasecnsp11 -->
+
# yay -S [https://aur.archlinux.org/packages/libasecnsp11/ libasecnsp11]
 +
<!-- # yaourt -Sy --aur libminilector38u-bit4id -->
  
 
Abilitare e avviare pcscd
 
Abilitare e avviare pcscd
Riga 197: Riga 201:
 
  # systemctl start pcscd.socket
 
  # systemctl start pcscd.socket
  
Testare il funzionamento della carta
+
== Testare il funzionamento della carta ==
 
  # pcsc_scan
 
  # pcsc_scan
Dovrebbe produrre un output di questo genere
+
 
 +
Dovrebbe produrre un output di questo genere, contenente alcune informazioni sulla CNS:
 +
 
 
  PC/SC device scanner
 
  PC/SC device scanner
 
  V 1.4.22 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
 
  V 1.4.22 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Riga 211: Riga 217:
 
   ATR: 3B DF 18 00 81 31 FE 7D 00 6B 15 0C 01 81 01 11 01 43 4E 53 10 31 80 E8
 
   ATR: 3B DF 18 00 81 31 FE 7D 00 6B 15 0C 01 81 01 11 01 43 4E 53 10 31 80 E8
  
La libreria da comunicare al browser, come indicato nella successiva sezione [[#Configurare il browser|Configurare il browser]], è situata nella cartella ''/usr/lib/opensc-pkcs11.so''.
+
= Applicazioni =
 +
== Configurare il browser ==
 +
'''Attenzione:''' collegare sempre il lettore '''prima''' di aprire il browser!
  
== Configurare il browser ==
+
[https://ca.arubapec.it/crtest/showcert.php Pagina test di Aruba]: dopo la configurazione, è possibile verificare il buon esito collegandosi alla pagina ed inserendo il PIN.
Seguire le istruzioni specifiche per il proprio browser, al termine è possibile verificare il buon esito collegandosi alla [https://ca.arubapec.it/crtest/showcert.php pagina test di Aruba] ed inserendo il PIN.
 
Il lettore deve essere collegato '''prima''' di aprire il browser.
 
  
 
=== Firefox ===
 
=== Firefox ===
Collegare il lettore al PC ed inserire la tessera sanitaria.
+
# Collegare il lettore di smartcard
 
+
# Avviare Firefox
Avviare Firefox e selezionare: Preferenze -> Avanzate -> Certificati -> Dispositivi di sicurezza
+
# Inserire la tessera sanitaria nel lettore
 
+
# In Firefox, selezionare ''Modifica'' &rarr; ''Preferenze'' &rarr; ''Avanzate'' &rarr; ''Certificati'' &rarr; ''Dispositivi di sicurezza''
Cliccare su Carica, inserire una descrizione ''(es.: TesseraSanitaria)'' ed il percorso corretto del file <code>opensc-pkcs11.so</code>.
+
# Cliccare su ''Carica'', inserire una descrizione (es: ''TesseraSanitaria'') ed il percorso corretto del file <code>opensc-pkcs11.so</code>, come individuato precedentemente.
 
<!--'''/usr/lib/libaseCnsP11.so'''-->
 
<!--'''/usr/lib/libaseCnsP11.so'''-->
  
 
=== Chrome/Chromium ===
 
=== Chrome/Chromium ===
Chiudere il browser, quindi aprire un terminale e lanciare i seguenti comandi, modificando opportunamente il percorso del file  <code>opensc-pkcs11.so</code>:
+
Chiudere il browser, quindi aprire un terminale e lanciare i seguenti comandi, modificando opportunamente il percorso del file  <code>opensc-pkcs11.so</code>, come individuato precedentemente.
  
  $ cd
+
  $ cd ~
 
  $ modutil -dbdir sql:.pki/nssdb/ -add "OpenSC" -libfile /usr/lib/opensc-pkcs11.so
 
  $ modutil -dbdir sql:.pki/nssdb/ -add "OpenSC" -libfile /usr/lib/opensc-pkcs11.so
 +
 +
=== SSH ===
 +
 +
Estrarre la chiave pubblica (il percorso della libreria dipende dalla distribuzione):
 +
ssh-keygen -D /usr/lib/i386-linux-gnu/opensc-pkcs11.so
 +
 +
Dopo aver copiato la chiave pubblica sul sistema remoto (ad es. in ~/.ssh/authorized_keys), è possibile collegarsi fornendo il PIN quando richiesto:
 +
ssh ­-I /usr/lib/i386­linux­gnu/opensc­-pkcs11.so indirizzo-del-server
 +
 +
= Utilità =
 +
== Modificare PIN ==
 +
$ pkcs15-tool --change-pin
  
 
[[Category:Howto]]
 
[[Category:Howto]]

Versione delle 12:32, 13 ago 2019

Questa pagina è un maldestro tentativo di fare chiarezza sul "mondo" delle smartcard con microchip crittografico, delle funzioni che tramite esse vengono veicolate e del loro utilizzo con Linux.

Strumenti di Cittadinanza digitale a cura di Giulia del GOLEM.

CNS

La funzionalità più diffusa è quella di Carta Nazionale dei Servizi - CNS. Le tessere sanitarie TS di molte Regioni e le carte regionali dei servizi sono comunque carte nazionali dei servizi CNS.

Una seconda funzionalità molto importante è quella di Firma Digitale - FD.

La CNS è uno strumento di autenticazione, di riconoscimento online (identità). La FD è uno strumento di approvazione, di sottoscrizione (volontà).

La smartcard è l'oggetto fisico. Può contenere o soltanto la funzionalità CNS, o soltanto la funzionalità FD, o entrambe, oppure nessuna (come nel caso delle tessere sanitarie con microchip appena giunte al cittadino e non ancora "attivate").

Tessera Sanitaria TS, oppure Carta Regionale dei Servizi CRS, Carta Provinciale o Comunale o qualcosa di qualche pubblica amministrazione, per quanto riguarda la nostra problematica tecnica, sono tutte Carta Nazionale dei Servizi CNS, perché devono adattarsi a questo standard.

Produttori di smartcard

I produttori di smartcard (o meglio di microchip) dovrebbero rispettare lo standard pkcs#15, ma non sempre lo fanno. Per questo abbiamo bisogno di driver specifici (spesso binari e non-Liberi).

Incard

Molte smartcard utilizzate in Italia (Camere di Commercio, sia le vecchie fornite da Infocert, sia molte delle nuove fornite da ArubaPEC) sono del produttore Incard. I driver di queste smartcard sembrano essere sviluppati da Bit4id e sono rilasciati gratuitamente, ma non-Liberi, in formato binario da ArubaPEC.

Pacchetto Debian/Ubuntu/Mint per smartcard Incard

ArubaPEC distribuisce il pacchetto Debian/Ubuntu/Mint funzionante sia per le smartcard con microchip Incard sia per quelle con microchip del produttore Oberthur.

Nota tecnica: il driver per incard si chiamava libbit4ipki.so; quello per oberthur si chiamava libbit4opki.so. Adesso quello valido per entrambe le carte si chiama libbit4xpki.so

Oberthur

Le smartcard Oberthur sono utilizzate per la firma digitale da ArubaPEC, molti ordini professionali emettono per i loro associati smartcard di questo produttore. I driver per Oberthur sembrano essere sviluppati da Bit4id e sono distribuiti, non-Liberi ma gratuiti, in formato binario da ArubaPEC. Per queste smartcard vengono distribuiti i driver anche in forma di pacchetto Debian/Ubuntu/Mint.

Athena

Altre smartcard molto diffuse (alcune CRS Lombardia, TS Toscana, alcune TS Sardegna) sono del produttore Athena che lascia scaricare i driver dal sito ArubaPEC, non-Liberi, in formato binario. (da pacchettizzare .deb e/o .rpm)

Siemens

Siemens: su queste smartcard abbiamo poche notizie ma buone. Molto usate in passato dalle Camere di Commercio e adesso dalla CRS ligure, le smartcard Siemens richiedono il software CardOS. Stranamente CardOS non si riesce a trovarlo sul sito Siemens perché ogni vecchio collegamento viene adesso reindirizzato verso Atos, da cui non si ricava niente. La buona notizia è che tali carte funzionano perfettamente con i driver Liberi OpenSC. Comunque ci sono anche questi driver da testare. (Non abbiamo a disposizione smartcard Siemens, che qualche ligure verifichi...)

Dal sito della Provincia di Bolzano si possono scaricare driver e interfaccia grafica per CardOS: a 32 bit e a 64 bit.

Vecchie smartcard

Un bell'elenco, storico, molto dettagliato, di microchip e dei relativi produttori si trova nella documentazione Infocert. Sysgillo, InCrypto, Siemens... le vecchie firme digitali delle Camere di Commercio.

Lettori di smartcard

Chi produce i lettori spesso rispetta lo standard pkcs#11, quindi i lettori più nuovi dovrebbero risultare compatibili con Linux.

I seguenti lettori di smartcard sono stati testati e funzionano con Linux

Bit4id

miniLector Piano di Bit4id: funziona.

Manhattan

Manhattan

Lo vende (per esempio) icintracom: funziona.

Sembra lo stesso lettore che vende anche Digicom. Visto da Trony a 17,99 euro (settembre 2012). Logo Linux sull'esterno della scatola.

Hamlet

Hamlet: funziona.

Gemalto

Lettori di smartcard IDBridge CT family. Secondo Ludo funzionano.

Dal sito web di Gemalto, sia per i lettori PC USB SL, sia per quelli PC USB TR e PC TWIN si hanno buone notizie per quanto riguarda Linux:

«This USB CCID device is supported by the libccid library. This library provides a PC/SC IFD handler implementation for the USB smart card interface devices compliant to the CCID protocol. Gemalto is actively involved in the development and improvement of this library. This library is packaged and distributed by most of the Linux distributions. TIPS: Use the package manager from your specific Linux distribution to search for the libccid library and install it. The libccid source code is available on the following web site: Alioth

ASEDrive - Athena

Athena produce non soltanto le smartcard, ma anche i lettori ASEDrive: dovrebbero funzionare.

Firma digitale FD

Supponendo di avere fatto bene tutte le configurazioni utili per i lettori e anche per la smartcard in nostro possesso, possiamo provare a firmare con un software di firma. Ce ne sono pochi di Liberi (o Open Source), molti sono a pagamento, alcuni sono non-Liberi ma gratuiti.

Aruba Sign

Il miglior software multi-piattaforma disponibile è probabilmente Aruba Sign. Prodotto da Aruba, gratuito ma non libero, è scritto in Java e disponibile per Windows, MacOS X e Linux. Permette di firmare documenti, apporre marcature temporali ed ulteriori operazioni come la modifica del PIN di una CNS. Affinché riconosca correttamente il proprio lettore è necessario inserire il percorso del driver nella sezione Opzioni e Parametri, es. su Arch Linux con lettore Bit4id: /usr/lib/bit4id/libbit4xpki.so

Marcatura temporale - Timestamp

Una marcatura temporale si può apporre con File Protector. Quello di marcatura temporale è un servizio che viene fornito, tramite un server, da una TSA Time Stamping Authority (per dirla in modo grossolano un server terzo firma col suo certificato l'impronta del nostro file dopo averci aggiunto data e ora).

Le marcature devono essere acquistate (per esempio su pec.it).

FreeSigner

Basato su j4sign, è un programma che permette di effettuare e verificare firme digitali. E' multipiattaforma ed è possibile scaricarlo dalla pagina sourceforge di j4sign. Supporta i più recenti standard normativi di firma CADeS e qualsiasi smartcard compatibile con lo standard PKCS#11 e linux.

Manca l'elenco delle "qualsiasi" smartcard compatibili con lo standard pkcs#11 (ma forse sarebbe più corretto dire pkcs#15). Seppur senza una verifica precisa, sembra che le carte più diffuse in Italia (Athena, Incard, Oberthur) NON siano pienamente compatibili con lo standard pkcs quindi richiedono driver proprietari.

Firma digitale e Thunderbird

Ecco una buona risorsa, da verificare. Sembra che Thunderbird abbia problemi nel mostrare allegati firmati .p7m, per la precisione allegati di tipo application/pkcs7-mime o application/x-pkcs7-mime. Una buona soluzione sembra essere SmartP7M.

Thunderbird gestisce anche messaggi di posta elettronica certificata PEC. Quando un messaggio PEC ha allegati firmati (.p7m) se la verifica della firma fallisce, il documento allegato sembra che non venga mostrato. ThunderPEC dice di aiutarci in questo ma è ancora tutto da verificare (vuoi farlo tu?).

Carta Nazionale dei Servizi CNS

Una smartcard si dice «Carta Nazionale dei Servizi» quando ha a bordo nel microchip un certificato utile per l'autenticazione online, strutturato secondo quanto richiesto dalla legge italiana.

La cosiddetta Tessera Sanitaria non è altro che una Carta Nazionale dei Servizi.

Le prime tessere sanitarie non avevano il microchip, servivano soltanto perché funzionavano da codice fiscale (che poteva essere letto in automatico dal codice a barre stampato su di esse).

Da Novembre 2012 anche ArubaPEC può emettere Carte Nazionali dei Servizi grazie all'accordo con l'Università della Calabria.

Regione Friuli Venezia Giulia

La Carta dei Servizi del Friuli Venezia Giulia. Non conosciamo il produttore della smartcard.

Eccone il funzionamento su OpenSuSE Linux (in inglese).

Regione Liguria

Carta regionale Liguria. Smartcard Siemens - software CardOS e forse basta il solo OpenSC.

Regione Lombardia

Anche in Lombardia l'hanno chiamata Carta Regionale dei Servizi. Utilizzano smartcard Athena oppure Siemens.

Regione Toscana

Carta Sanitaria della Regione Toscana. La Regione dà ai cittadini un lettore Bit4id miniLector Piano per 4,20 €.

Tipologie

Sigla Descrizione Linux
AT2012 carte Siemens / ATOS OK
AC2014 carte Actalis OK

Regione Calabria

La Regione Calabria utilizza smartcard Siemens - software CardOS

Regione Sardegna

A fine 2012 inizia l'attivazione delle Tessere Saitarie nella Regione Sardegna. Saranno in gran parte smartcard Athena. Alcuni lotti di carte sono forniti da Siemens (speriamo utilizzabili con CardOS e quindi funzionanti con OpenSC).

Intanto si trova il software «sardo» per le smartcard Athena.

Ben fatto anche l'elenco delle domande frequenti.

Provincia di Bolzano

Tessera Sanitaria e Carta Provinciale dei Servizi della Provincia Autonoma di Bolzano.

Il progetto FSCRS Free Software Client Reference System.


Provincia di Trento

Tessera Sanitaria e Carta Provinciale dei Servizi della Provincia Autonoma di Trento.

Carta d'Identità Elettronica

La CIE. Dovrebbe essere una CNS identica alle altre.

Installazione SmartCard su Linux

Attenzione: al termine dell'installazione, è necessario individuare la libreria opensc-pkcs11.so, che generalmente può essere trovata in uno dei seguenti percorsi:

  • /usr/lib/opensc-pkcs11.so.
  • /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so

Se non si riesce a localizzarla, si può provare a cercarla col seguente comando:

$ find / -name "opensc-pkcs11.so" 2> /dev/null

Debian/Ubuntu/Mint

Installare i seguenti pacchetti

# apt install pcsc-tools pcscd opensc opensc-pkcs11

Il demone pcscd si avvierà automaticamente.

Arch Linux

Installare i seguenti pacchetti, utili solo per smartcard del produttore Athena (libaseCnsP11)

# pacman -Sy ccid pcsclite pcsc-tools opensc
# yay -S libasecnsp11

Abilitare e avviare pcscd

# systemctl enable pcscd.socket
# systemctl start pcscd.socket

Testare il funzionamento della carta

# pcsc_scan

Dovrebbe produrre un output di questo genere, contenente alcune informazioni sulla CNS:

PC/SC device scanner
V 1.4.22 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.10
Using reader plug'n play mechanism
Scanning present readers...
0: ACS ACR38U-CCID 00 00
Mon May  5 22:52:40 2014
Reader 0: ACS ACR38U-CCID 00 00
  Card state: Card inserted, 
  ATR: 3B DF 18 00 81 31 FE 7D 00 6B 15 0C 01 81 01 11 01 43 4E 53 10 31 80 E8

Applicazioni

Configurare il browser

Attenzione: collegare sempre il lettore prima di aprire il browser!

Pagina test di Aruba: dopo la configurazione, è possibile verificare il buon esito collegandosi alla pagina ed inserendo il PIN.

Firefox

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

Chrome/Chromium

Chiudere il browser, quindi aprire un terminale e lanciare i seguenti comandi, modificando opportunamente il percorso del file opensc-pkcs11.so, come individuato precedentemente.

$ cd ~
$ modutil -dbdir sql:.pki/nssdb/ -add "OpenSC" -libfile /usr/lib/opensc-pkcs11.so

SSH

Estrarre la chiave pubblica (il percorso della libreria dipende dalla distribuzione):

ssh-keygen -D /usr/lib/i386-linux-gnu/opensc-pkcs11.so

Dopo aver copiato la chiave pubblica sul sistema remoto (ad es. in ~/.ssh/authorized_keys), è possibile collegarsi fornendo il PIN quando richiesto:

ssh ­-I /usr/lib/i386­linux­gnu/opensc­-pkcs11.so indirizzo-del-server

Utilità

Modificare PIN

$ pkcs15-tool --change-pin