Autenticazione con CIE ora funzionante con firefox

Buon giorno a tutti,

vi comunico la buona notizia che finalmente l'autenticazione ai portali
di enti pubblici con la CIE in Firefox ora funziona, almeno nel mio sistema
Linux Mint 20.3 Cinnamon
Firefox 109.0.1 (64 bit)
Kernel 5.4.0-137-generic
Lettore Hamlet HUSCR-NFC

Informazione aggiuntiva: Per l'autenticazione, come per firmare un
documento si usano solo le ultime quattro cifre del codice PIN

Link al manuale: Nextcloud
Link al progetto Gitlab:
Andrea Congiu / e-gov_Trentino-Alto-Adige_adoc · GitLab

Saluti
andrea

attachment.html (2.68 KB)

Ciao Andrea.
Potresti aggiungere i dettagli relativi alla versione del Middleware e corrispondente libreria /usr/local/lib/libcie-pkcs11.so da attivare in FireFox ?

Grazie,
diego

February 3, 2023 12:37 PM, "Andrea Congiu" <congiu.andr(a)gmail.com (mailto:congiu.andr(a)gmail.com?to="Andrea%20Congiu"%20<congiu.andr(a)gmail.com>)> wrote:
  Buon giorno a tutti,

  vi comunico la buona notizia che finalmente l'autenticazione ai portali di enti pubblici con la CIE in Firefox ora funziona, almeno nel mio sistema
Linux Mint 20.3 Cinnamon
Firefox 109.0.1 (64 bit)
Kernel 5.4.0-137-generic
Lettore Hamlet HUSCR-NFC

  Informazione aggiuntiva: Per l'autenticazione, come per firmare un documento si usano solo le ultime quattro cifre del codice PIN

  Link al manuale: Nextcloud
Link al progetto Gitlab: Andrea Congiu / e-gov_Trentino-Alto-Adige_adoc · GitLab

  Saluti
andrea

attachment.html (2.7 KB)

Buongiorno a tutti,

ne approfitto del thread per mandare qui i link alla guida tecnica ed alla guida utente di FUSS dove il collega Claudio spiega come configurare ed usare un modello di lettore. Un grazie a Marco Ciampa per i suggerimenti.

https://fuss-tech-guide.readthedocs.io/it/fuss10/miniguide/hardware.html?highlight=cie#installazione-lettore-carta-identita-elettronica

https://fuss-user-guide.readthedocs.io/it/fuss10/cie/lettore-cie.html

Saluti,
Paolo.

È una guida senz'altro utile per la firma digitale. Per le autenticazioni
ai siti governativi trovo che lo Spid sia più comodo da usare.
Saluti
Paolo Vismara

attachment.html (1.92 KB)

Ciao Diego e ciao a tutti
Hai ragione ho scritto tutto tranne la versione di Midleware, che è la
1.4.3-3 amd64.

Buon fine settimana
andrea

attachment.html (7.56 KB)

Vorrei poter utilizzare senza problemi un sistema di autenticazione fornito dal mio Stato (TS/CF, CIE) invece di sistemi forniti da privati in base a deleghe non ben note e rispetto del GDPR non comprovabile.

diego
February 4, 2023 9:20 AM, "Paolo Vismara" <paologea(a)gmail.com (mailto:paologea(a)gmail.com?to="Paolo%20Vismara"%20<paologea(a)gmail.com>)> wrote:
È una guida senz'altro utile per la firma digitale. Per le autenticazioni ai siti governativi trovo che lo Spid sia più comodo da usare.SalutiPaolo Vismara
Il sab 4 feb 2023, 08:05 Paolo Dongilli <paolo.dongilli(a)lugbz.org (mailto:paolo.dongilli(a)lugbz.org)> ha scritto: Buongiorno a tutti,

ne approfitto del thread per mandare qui i link alla guida tecnica ed alla guida utente di FUSS dove il collega Claudio spiega come configurare ed usare un modello di lettore. Un grazie a Marco Ciampa per i suggerimenti.

https://fuss-tech-guide.readthedocs.io/it/fuss10/miniguide/hardware.html?highlight=cie#installazione-lettore-carta-identita-elettronica

https://fuss-user-guide.readthedocs.io/it/fuss10/cie/lettore-cie.html

Saluti,
Paolo.

attachment.html (2.76 KB)

Eh si, caro Diego! Me, too!

Non e' curioso che fino a che i documenti erano cartacei ne bastava uno
di due, carta d'identita' o passaporto, per identificarsi in ogni
ambito civile/ sociale/ economico ecc.?

Ora che i documenti sono digitali incompatibilita' prima inesistenti
adesso sono dappertutto. Qui entri solo con SPID, li' con CIE, li' con
Tessera Sanitaria, la' vogliono anche la email, ma forse il cellulare,
o entrambi e cosi' via. La firma con CIE non va, ci vuole la TS, ma
abilitata e validata. Senno' la CNS, che e' come la TS, ma e' emessa
dalla Camera di Commercio, a pagamento. Se non hai il cell. non te la
danno, anche se il cell. non fa parte della procedura di
identificazione o firma.

Nuova scocciatura. La mia compagna e' di paese extra UE. Deve rinnovare
il Permesso di Soggiorno. In passato la Questura avrebbe messo un
timbro sul passaporto o consegnato un foglio. Adesso occorre una
tessera tipo C.I. con foto, impronte, chip ecc. La procedura per
raccolta dati, emissione e consegna prende MESI, durante i quali non si
puo' rinnovare l'iscrizione alla ASL, cambiare lavoro e cosi' via.

Tra l'altro con il PdS elettronico si potrebbe ritenere che la Questura
potrebbe rinnovarlo in tempo reale, riprogrammando i dati del chip. Eh
no, occorre prepararne uno completamente nuovo con i tempi di cui
sopra. E malgrado il PdS dia automaticamente diritto all'assistenza ASL
con Tessera Sanitaria non e' un documento equivalente alla TS. Occorre
andare alla ASL, chiedere una nuova iscrizione e dopo qualche tempo
arriva la nuova Tessera Sanitaria. Valida pochi mesi perche' nel
frattempo scade anche il Permesso di Soggiorno e si ricomincia da capo.

A ogni tornata vanno via 30 EUR per la domanda di permesso e 80 EUR per
il costo del documento.

Paradossalmente l'unica procedura efficiente e' che alla ASL mettono
uno sticker cartaceo sul libretto verde dell'assistenza sanitaria,
cosi' che vale da subito. E se uno deve andare all'estero stampano
direttamente il modulo necessario per l'assistenza.

In questo mondo di tessere con chip e QR-codes mi deve essere sfuggito
qualcosa. Lo trovo estremamente inefficiente.

Gianguido

attachment.html (6.02 KB)

Penso che sia un cattivo design e architettura del sistema. Una possibile
soluzione potrebbe essere "Self-Soveraign Identity". Posso provare a farne
una presentazione (online, inglese) se ci sono persone interessate.

Dashamir

attachment.html (1.14 KB)

Grazie, Dashamir!

Le persone interessate dovrebbero essere Ursula von der Leyen, Emmanuel
Macron, Olaf Scholz, Giorgia Meloni, Matteo Piantedosi e molti altri di
quel gruppo. Che l'intera questione dell'identita' digitale inizi a
mostrare i suoi aspetti da cattivo design complessivo ci e' ormai
chiaro. Un esempio tra tanti: i caratteri sulle CIE italiane sono molto
piu' piccoli rispetto a quelli delle CIE di altri paesi, il che rende
le CIE italiane piu' difficili a usarsi nella pratica offline. Ci
voleva Einstein a capirlo? In compenso, lettori a contatto per
trascrivere dati ancora non esistono o quasi, ovunque si viaggia di
fotocopia o trascrizioni a mano, Questura compresa. Quindi si', c'e' un
cattivo design. Con la C.I. cartacea nella pratica andava meglio.

A questi problemi, se volesse, dovrebbe mettere mano innanzitutto
Ursula von der Leyen.

Gianguido

attachment.html (2.96 KB)

La prossima volta che la incontrerò glielo farò sapere :slight_smile:

Dashamir

attachment.html (968 Bytes)

La cosa interessante è che il testo del link nella pagina ufficiale[1] è:

"Middleware per Linux DEB - scarica la versione 1.4.3.2",

e il link è:

https://github.com/italia/cie-middleware-linux/releases/download/1.4.3.2/CIE-Middleware-1.4.3-3.amd64.deb

Evidentemente hanno pasticciato un po' con le release.

Il pacchetto installa questi file:

$ dpkg -L cie-middleware
/.
/usr
/usr/local
/usr/local/lib
/usr/local/lib/libcie-pkcs11.so
/usr/share
/usr/share/CIEID
/usr/share/CIEID/cieid.jar
/usr/share/CIEID/logo_circle.png
/usr/share/applications
/usr/share/applications/cieid.desktop

Quindi la libreria PKCS11 da caricare in firefox è la

/usr/local/lib/libcie-pkcs11.so
Dal file .desktop si può estrarre il comando eseguito per avviare
l'applicazione java di gestione (cieid):

$ grep Exec /usr/share/applications/cieid.desktop
Exec=java -Xms1G -Xmx1G -Djna.library.path=".:/usr/local/lib" -classpath
"/usr/share/CIEID/cieid.jar" it.ipzs.cieid.MainApplication

Il comando:

java -Xms1G -Xmx1G \
  -Djna.library.path=".:/usr/local/lib" \
  -classpath "/usr/share/CIEID/cieid.jar" \ it.ipzs.cieid.MainApplication

Utilizza la libreria installata in /usr/local/lib e il jar
dell'applicazione lanciando la classe principale
it.ipzs.cieid.MainApplication

La mia CIE era già "abbinata" (cioè sottoposta alla bizzara procedura
che mette la prima metà del pin in un file cache cifrato nel profilo
dell'utente -> ~/.CIEPKI/<serialecarta>.cache ).

L'applicazione cieid ha mostrato correttamente i dati di abbinamento
preesistenti della mia carta

Configurando la libreria

/usr/local/lib/libcie-pkcs11.so

In firefox non ho avuto difficoltà nell'accedere al portale
dell'anagrafe nazionale:

https://www.anagrafenazionale.interno.it/servizi-al-cittadino/#tab-cie

Un punto mancante, Roberto, credo sia il lettore e il suo gestore.
Come Java val la pena di provare con la versione di Oracle.
Devo ancora mettermi a fare tutto il giro su Mint.
diego

Ciao Diego e ciao a tutti
Hai ragione ho scritto tutto tranne la versione di Midleware, che è la

1.4.3-3 amd64.

La cosa interessante è che il testo del link nella pagina ufficiale[1] è:

"Middleware per Linux DEB - scarica la versione 1.4.3.2",

e il link è:

https://github.com/italia/cie-middleware-linux/releases/download/1.4.3.2/CIE-Middleware-1.4.3-3.amd64.deb

Evidentemente hanno pasticciato un po' con le release.

Il pacchetto installa questi file:

$ dpkg -L cie-middleware
/.
/usr
/usr/local
/usr/local/lib
/usr/local/lib/libcie-pkcs11.so
/usr/share
/usr/share/CIEID
/usr/share/CIEID/cieid.jar
/usr/share/CIEID/logo_circle.png
/usr/share/applications
/usr/share/applications/cieid.desktop

Quindi la libreria PKCS11 da caricare in firefox è la

/usr/local/lib/libcie-pkcs11.so
Dal file .desktop si può estrarre il comando eseguito per avviare

l'applicazione java di gestione (cieid):

$ grep Exec /usr/share/applications/cieid.desktop
Exec=java -Xms1G -Xmx1G -Djna.library.path=".:/usr/local/lib" -classpath

"/usr/share/CIEID/cieid.jar" it.ipzs.cieid.MainApplication

Il comando:

java -Xms1G -Xmx1G \
-Djna.library.path=".:/usr/local/lib" \
-classpath "/usr/share/CIEID/cieid.jar" \ it.ipzs.cieid.MainApplication

Utilizza la libreria installata in /usr/local/lib e il jar

dell'applicazione lanciando la classe principale
it.ipzs.cieid.MainApplication

La mia CIE era già "abbinata" (cioè sottoposta alla bizzara procedura che

mette la prima metà del pin in un file cache cifrato nel profilo
dell'utente -> ~/.CIEPKI/<serialecarta>.cache ).

L'applicazione cieid ha mostrato correttamente i dati di abbinamento

preesistenti della mia carta

Configurando la libreria

/usr/local/lib/libcie-pkcs11.so

In firefox non ho avuto difficoltà nell'accedere al portale dell'anagrafe

nazionale:

Accedi ai Servizi – ANAGRAFE NAZIONALE

---
I problemi:

Ho poi provato a "disabbinare" la carta e "riabbinarla" usando la stessa

versione di cieid; questa volta ho ottenuto un segmentation fault.

Una volta "abbinata" nuovmente usando il fork di M0rf30[2] ho provato la

funzione di firma, sempre con la versione ufficiale, ottenendo segmantation
fault sia con la firma CAdES che con la PAdES.

Tutti i segfault sono avvenuti utilizzando la libreria nativa

libffi8.so

Ad esempio per il segfault di abbinamento:

Stack: [0x00007f0351dc7000,0x00007f0351ec7000], sp=0x00007f0351ec43c0,

free space=1012k

Native frames: (J=compiled Java code, A=aot compiled Java code,

j=interpreted, Vv=VM code, C=native code)

C [jna1174822819131949497.tmp+0xeaf8]
C [libffi.so.8+0x77ec]
C [libffi.so.8+0x8050]
C [libffi.so.8+0x7e2e]

I dump dei segfault sono disponibili nei file

hs_err_pid<pid del processo java andato in segfault>.log

nella directory da cui si è lanciato il programma.

La distribuzione è Ubuntu 22.04, la versione di Java è openjdk

11.0.17+8-post-Ubuntu-1ubuntu222.04

rob
[1]

https://www.cartaidentita.interno.gov.it/fornitori-di-servizi/documentazione-middleware-cie/

[2]

===============================================

Linux User Group Bolzano-Bozen-Bulsan mailing list

Le preferenze possono essere modificate da / Einstellungen können

geändert werden durch / Preferences can be changed from
https://postorius.lugbz.org

oppure inviando una e-mail a / oder durch Senden einer E-Mail an / or by

sending an e-mail to lugbz-list-request(a)lists.lugbz.org

attachment.html (6.13 KB)

Un punto mancante, Roberto, credo sia il lettore e il suo gestore.

Non è molto rilevante, un qualsiasi lettore NFC ben supportato da pcscd
dovrebbe andare bene.

Comunque è il già citato (nel link al post sulla ml linuxtrent)
ACR1281U-C1 . Preso sull'ottimo sito tedesco specializzato cardomatic.de

https://www.cardomatic.de/epages/64510967.sf/en_GB/?ObjectPath=/Shops/64510967/Products/ACR1281U-C1

E' doppio standard, sia NFC che a contatto.

Come Java val la pena di provare con la versione di Oracle.

Suggerisci di usare sw non libero? :wink:

Non fa alcuna differenza credo. E nel caso uso comunque Openjdk con il
fork di M0Rf30 senza problemi.

Devo ancora mettermi a fare tutto il giro su Mint.

Non è una questione di distribuzione, ma di progetto mal fatto.
Purtroppo ...

Rimango dell'idea che sia meglio rivolgersi alle alternative che
permettono di sfruttare al massimo sw libero.

Rilancio anche la proposta di fare una serata sul tema, via streaming e
in presenza.

rob

Rispondo dal fondo.
- Una serata o anche 1/2 giornata magari hands-on in presenza (tipo
hackaton per LugTrent-LugBZ) ci starebbe giusto bene, basta organizzare.

- No ho programmato in Java, riesco a leggere qualche codice, ma ho spesso
visto (almeno sino a 3 anni fa) che OpenJDK ha differenze di resa rispetto
a Oracle JDK e credo che il secondo sia ancora un riferimento importante;
sarebbe comunque bene sapere quale sia l'ambiente di sviluppo dietro a
questi pacchetti, buoni o cattivi, per ora unici, che siano.

- Lettori: dispongo di due lettori NFC:
-- bit4id miniLector AIR v3 - 25DD/3403 (USB)
-- acs ACR122U -A9
- inoltre, usare i CF/TS con chip ho il buon vecchio
-- bit4id miniLector 38UC - B4ID (USB) , che mi piacerebbe continuare ad
usare in parallelo.

Appena riesco ad aggiornare Mint alla 21.1 Cinnamon faccio le prove della
catasta intera e riporto qui.

A presto,
diego

attachment.html (4.34 KB)

Rispondo dal fondo.

Non mi pare ... :slight_smile:

- Una serata

Puó bastare, per iniziare.

...

- No ho programmato in Java, riesco a leggere qualche codice,

A dir la verità java non è nemmeno indispensabile, Antonio Iacono ha scritto il necessario[1] per abbinare la carta senza usare java.

Credo che i tuoi lettori possano andare bene, io ho cercato di sceglierne uno che non richieda sw proprietario.

Se altri sono interessati alla serata, cerchiamo di fissare una data.

rob

[1] https://github.com/opensignature/cie-pkcs11

Ho seguito con molto interesse la discussione senza pero' potere ancora provare l'implementazione pratica. Conto di farlo quando ho almeno 3-4 giorni liberi e ininterrotti.

C'e' pero' un enorme problema nel fatto di dovere portare la discussione a questo livello tecnico. Sono riuscito a fare accettare Linux da diversi miei parenti, digiuni di IT. Se la CIE deve essere cosi' complicata, allora diventano missionari di SPID.

La CIE tedesca non ha un SW ufficiale Linux. Incredibile, ma vero! La soluzione e' in github ed e' molto elegante. Un programma da attivare quando si vuole usare la C.I. e che resta in ascolto su un particolare socket. I programmi web accedono a quel socket con 127.0.0.1:12345 (o il numero che e'), il programma dialoga con la carta, fa il dovuto, risponde al web con approvazione/diniego dopodiche' lo si puo' chiudere. Inoltre il programma "vede" lettori e driver, che possono venire testati direttamente indipendentemente dalla carta.

Con questa soluzione c'e' una chiara separazione tra livelli e non si resta impegolati con (in)compatibilita' tra driver, versioni SO, versioni Java, moduli software, sandbox e cosi' via.

Un approccio simile per la CIE italiana probabilmente verrebbe molto apprezzato dagli utenti. Oltre che piu' facile da usare.

Se si organizza un incontro dedicato posso portare laptop, lettore e Ausweis e mostrare la funzionalita'.

Gianguido

Ho seguito con molto interesse la discussione senza pero' potere ancora provare l'implementazione pratica. Conto di farlo quando ho almeno 3-4 giorni liberi e ininterrotti.

Bene.

C'e' pero' un enorme problema nel fatto di dovere portare la discussione a questo livello tecnico.

Problema per chi? Sono coinvolte due ml di LUG!

Praticamente nessuna persona senza cognizioni tecniche userà la CIE con un lettore NFC ed un pc, perché il lettore NFC che quasi tutti hanno in tasca è il telefono. L'interesse di questa cosa è assolutamente di nicchia (ancora di più dato che stiamo parlando) di linux).

Sono riuscito a fare accettare Linux da diversi miei parenti, digiuni di IT. Se la CIE deve essere cosi' complicata, allora diventano missionari di SPID.

Ma certo, e giustamente. SPID è una soluzione molto più immediata, e potrebbe essere liberata dal vincolo di app assurde semplicemente rendendo disponibile ai titolari il seme TOTP invece di celarlo. Ognuno potrebbe in questo modo scegliere l'implementazione TOTP che preferisce, ce ne sono di ottime libere, dato che è tutto perfettamente aperto.

La CIE tedesca non ha un SW ufficiale Linux. Incredibile, ma vero! La soluzione e' in github

link?

rob

SW governativo

Il sito del governo rimanda a github per la soluzione Linux e contiene tutti i link necessari. Un sito governativo che rimanda esplicitamente a siti open source e' un buon esempio di Public-Private Partnership?

SW governativo
https://github.com/Governikus/AusweisApp2

Grazie

Il sito del governo rimanda a github per la soluzione Linux e contiene tutti i link necessari. Un sito governativo che rimanda esplicitamente a siti open source

Veramente github non ha proprio nulla di open ... anche se ospita
moltissimo software libero. E ultimamente, dopo la faccenda Copilot[1]
molti se ne stanno andando.

e' un buon esempio di Public-Private Partnership?
https://www.ausweisapp.bund.de/open-source-software

Te lo dico dopo aver tradotto :wink:

rob

[1]
https://www.fsf.org/blogs/licensing/fsf-funded-call-for-white-papers-on-philosophical-and-legal-questions-around-copilot

Letto. Sono anni luce avanti.

rob