Carta Nazionale dei Servizi e Firma Digitale

Da GolemWiki.
Versione del 26 set 2012 alle 13:46 di Giulio (discussione | contributi) (Aggiunta alla categoria "Howto")

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. Per accedere in modifica al wiki devi chiedere per email scrivendo a hal(at)linux.it. Per discussioni tecniche utilizziamo la lista di discussione GOLEM-hack. Puoi iscriverti.

Magari dai anche un'occhiata a cosa manca. Potresti essere utile...

CNS-FD

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. (da pacchettizzare .deb e/o .rpm)

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.

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. (da pacchettizzare .deb e/o .rpm)

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.

Altri?

Aggiungi pure se hai fatto prove positive di riconoscimento lettori

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.

File Protector

Il miglior software non-Libero ma gratuito che ho trovato è File Protector, sviluppato da Actalis e distribuito gratuitamente da Infocamere, azienda informatica delle Camere di Commercio d'Italia. Purtroppo funziona soltanto per le architetture a 32 bit.

LiberSoft distribuisce un pacchetto .deb (Debian/Ubuntu) per facilitare l'installazione di File Protector.

Su github puoi vedere com'è fatto il pacchetto deb. Lo ha fatto Dnax.

Ancora non c'è il pacchetto rpm (potresti farlo tu...)

Ci sono guide interessanti per installare File Protector su OpenSuSeLinux e su Ubuntu ma con il lettore Gemplus di Gemalto.

Firma digitale con LibreOffice e OpenOffice

Nel menù File --> Firme digitali... di LibreOffice si apre una parentesi di cui qua non sappiamo molto. LibreOffice può firmare un documento senza bisogno di un software di firma separato? Possiamo firmare un documento di LibreOffice senza utilizzare File Protector? Come interagisce con il lettore? Quali formati di documento riesce a firmare? Soltanto il formato OpenDocument? Facci sapere...

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).

Programmi Open Source di firma digitale

Abbiamo trovato j4sign, OpenSignature e JavaSign.

Non sono aggiornati da diversi anni. Non ho trovato pacchetti pronti, né deb né rpm. Hai notizie precise sul loro funzionamento? Vuoi farne i pacchetti di installazione?

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.

Seguono alcuni esempi di soggetti che utilizzano smartcard e danno supporto a Linux.

Tessera Sanitaria e Carta dei Servizi

La cosiddetta 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).

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. Sono smartcard Athena.

La Regione Toscana dà ai cittadini un lettore Bit4id miniLector Piano per 4,20 euro.

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

Carta d'Identità Elettronica - CIE

Non conosco la CIE però dovrebbe essere una CNS identica alle altre.