Test autenticazione CIE via container docker

Ciao a tutti.
Circa 20 giorni fa, ho pubblicato sul mio repository GitHub il progetto Apache HTTP 2.4 per SmartCard TS-CNS (Tessera Sanitaria - Carta Nazionale Servizi) che implementa un’immagine Docker per la mutua autenticazione tramite la TS-CNS.

Adesso, vorrei fare un test con la CIE, per questo mi servirebbe il vostro aiuto. In teoria l’attuale immagine dovrebbe funzionare anche con la CIE, purtroppo non riesco a fare un test poiché non dispongo della CIE e lettore.

Qualcuno di voi che magari dispone di una CIE e lettore potrebbe fare un test?

Ho pubblicato su Google Cloud all’indirizzo https://cns.dontesta.it il container docker che potreste utilizzare per eseguire il test.

Resto in attesa di un vostro feedback.
Sono raggiungibile anche su Slack @amusarra

Grazie,
Antonio.

2 Mi Piace

Ti aiuterei volentieri ma non ho la CIE :frowning: :frowning: :frowning:
Spero altri ce l’abbiano per poter fare un test.

Grazie mille @Andrea_Tironi1

1 Mi Piace

Solo per aggiornarvi che @alranel è riuscito a fare il test anche con la CIE con successo. Adesso il progetto è stato spostato su GitHub Italia.

Grazie,
Antonio.

2 Mi Piace

Ottima idea!
Premesso che non sono un tecnico…
l’utilizzo del sistema che hai messo a disposizione di tutti potrebbe evitare il download delle applicazioni per leggere correttamente CNS o CIE?
tipo il middleware pubblicato sul sito della CIE?
oppure è un passaggio che deve essere comunque fatto?
(scusa se ho detto inesattezze… :sleepy:)

1 Mi Piace

Ciao Patrizia, grazie per il tuo apprezzamento.
Il progetto che ho messo a disposizione non sostituisce affatto il middleware per CIE e CNS.

L’obiettivo di questo progetto è quello di fornire un template pronto all’uso che realizza un sistema di autenticazione tramite la Smart Card TS-CNS (o CNS) e la CIE (Carta d’Identità Elettronica) basato su Apache HTTP. Ognuno può poi modificare o specializzare questo progetto sulla base delle proprie esigenze

La particolarità del sistema implementato (attraverso questo container) è quella di consentire l’autenticazione tramite:

  1. La TS-CNS (Tessera Sanitaria - Carta Nazionale Servizi) , rilasciata dalla regione di appartenenza;
  2. La CIE (Carta d’Identità Elettronica) , rilasciata dal comune di residenza.

Affinché sia possibile eseguire l’autenticazione tramite CNS o CIE, è indispensabile che ci sia qualche componente software che consenta di accedere alla Smart Card con l’obiettivo di poter leggere e passare il certificato digitale al server web.

Questo componente software potrebbe essere appunto il middleware sviluppato da developers italia. Nel mio caso ho utilizzando invece (installato sul mio PC o Mac) OpenSC, un componente software che implementa le specifiche PKI e consente di eseguire operazioni sulle Smart Card, come appunto la CNS e CIE.

Spero di essere stato semplice e chiaro nell’esposizione.

Bye,
Antonio.

Buonasera, scusate l’ignoranza, ma vorrei capire come scaricare e testare il progetto in questione sul mio pc con windows 7.
Sono in possesso di lettore e cns attiva.
Non ho dimestichezza con le immagini docker…ho provato a installare docker per windows ma non so andare avanti

Buonasera Michele.

Ti ringrazio per l’apprezzamento. Puoi comunque installare Docker anche su Windows

Anche su XAMPP puoi fare la demo, basta configurare Apache correttamente, i file di configurazione sono all’interno del progetto. Ti servirà inoltre Python per eseguire lo script che esegue il download dei certificati delle CA che rilasciano le CNS e CIE.

Per fare questo devi comunque avere dimestichezza con Apache.

Io ti consiglio d’installare Docker su Windows e poi seguire le indicazioni sul README del progetto.

Buon weekend,

Antonio M.

Ciao Antonio,
hai svolto davvero un ottimo lavoro.
Sto cercando di replicare il tuo docker su un server xampp portable in ambiente windows 10 x64, ma nonostatnte abbia seguito le tue indicazioni “alla lettera”, sto riscontrando il seguente problema: installato openSC, la mia CIE non viene riconosciuta dal tuo sistema. Installando invece il middleware CIE riesco a utilizzare il tuo software. Dove sbaglio?

Ciao Nicola.
Ti ringrazio per l’apprezzamento. Il sistema che ho messo in piedi è indipendente dall’hardware, quindi dal lettore utilizzato e driver connessi. L’importante è che il certificato digitale sia passato al server per la verifica.

OpenSC supporta gran parte dei lettori in commercio ma non tutti. Al contrario il middleware CIE supporta correttamente il tuo lettore, conseguentemente il certificato digitale viene passato al server per la validazione.

Puoi trovare tutti i dettagli qui https://github.com/OpenSC/OpenSC/wiki/Italian-CNS-and-CIE

Io per esempio utilizzo l’hardware di Bit4Id e in particolare https://www.bit4id.com/wp-content/uploads/2019/05/minilector_cie.pdf utilizzando OpenSC.

Grazie Antonio,
approfitto della tua enorme disponibilità per chiederti un’ultima informazione: con il lettore che mi hai indicato, sarà necessario sempre registrare la CIE sul pc prima di poter accedere oppure sarà sufficiente inserire le 4 cifre finali del pin?

Ciao Nicola.
Non ricordo, è passato un pochino di tempo ed è stata in mio possesso per poco tempo, giusto per dei test. Credo però che fosse sufficiente l’inserimento del pin code.

Ciao a tutti, ho fatto una domanda correlata a questo post qui: Test Autenticazione tramite CNS/CIE

Ecco il contenuto della mia domanda… qualcuno può aiutarmi?

Ciao a tutti, ho seguito queste istruzioni per tirare su un docker per il test dell’autenticazione tramite CNS/CIE. Ho due domande:

1. Non sono in possesso nè di CIE, nè di CNS, ma mi servirebbe testare la corretta implementazione del flusso di autenticazione. Esistono dei certificati di test messi a disposizione su internet per fare questa tipologia di test?

2. Se io volessi replicare l’esperimento docker per una mia applicazione (ovvero implementare l’autenticazione tramite CNS/CIE su una mia applicazione), dove posso trovare tutti i requisiti da installare come nel docker? Esiste una procedura tecnica? Non ho trovato nulla online…

Grazie!

Ciao Patrizia.
Sono l’autore del progetto. Spero che le indicazioni sul README del progetto siano state esaustive.

Quando ho creato il progetto, per i test ho utilizzato la mia CNS che ho attivato (quella del codice fiscale per intenderci). Per il test della CIE ho fatto lo stesso, ho richiesto la CIE.

Questo progetto è fatto per funzionare con dati reali, quindi, CNS e CIE.

Che io sappia, online non sono disponibili certificati di test.

Il flusso di autenticazione è semplice, standard. Non è altro che una two-way authentication over SSL/TLS.

Ho creato un altro progetto parallelo di autenticazione basati su certificati digitali che puoi trovare sul mio repository GitHub https://github.com/amusarra/docker-apache-ssl-tls-mutual-authentication

Fammi sapere qualora ti servisse qualche altra informazione.

Spero di esserti stato utile.

Ciao Antonio, grazie mille per la risposta!
L’altro progetto che mi hai linkato in cosa serve per l’autenticazione con CNS? L’hai utilizzato all’interno dell’altro progetto? Scusa la domanda banale ma mi sto approcciando a questo argomento da pochi giorni.

Ciao Patrizia.
Il progetto che ho linkato è nella realtà il padre del progetto cie-cns-apache-docker, con la differenza che quest’ultimo è specializzato per il processo di mutua autenticazione utilizzando i certificati digitali che sono memorizzati all’interno della CNS o CIE ed in più verifica che i certificati siano rilasciati da una delle CA accreditate e che abbiano determinate policy.

Ti ringrazio ancora! Sto leggendo tutta la tua documentazione ed è molto dettagliata, ti ringrazio.
Ho una domanda. Ho visto che i certificati del server sono scaduti (perchè hai scritto nella doc: La scadenza prevista per questo certificato è il 20 Agosto 2019. ) Volevo provare a capire come funzionasse la verifica tramite OCSP, ma il comando all’interno della tua documentazione ( echo QUIT | openssl s_client -connect cns.dontesta.it:443 -status 2> /dev/null | grep -A 17 ‘OCSP response:’ | grep -B 17 ‘Next Update’) non mi restituisce nulla (considera che il docker è online e riesco a raggiungere correttamente https://cns.dontesta.it:10443/ ), in più il test su quel link ( ssllabs.com) non riesce a raggiungere l’url (Assessment failed: Unable to connect to the server ). Come posso fare questa verifica? (ovviamente so che nel caso dei tuoi certificati mi dovrebbe dire che sono scaduti) Mi piacerebbe inoltre impostarla in modo che sia periodica e non manuale, ma questo è un secondo passaggio.

Grazie ancora per la disponibilità!

Scusa, mi ri-cito. Ce l’ho fatta con il seguente comando: openssl s_client -connect cns.dontesta.it:10443 -status -servername cns.dontesta.it

Ottimo!

Considera che la versione demo che avevo messo su Google Cloud e che rispondeva all’indirizzo https://cns.dontesta.it non è più disponibile, forse più in la renderò nuovamente disponibile l’ambiente demo.

Vorrei provare a chiedere a Developer Italia di mettere su l’ambiente di test sui loro sistema, così come per lo SPID.

Ciao Antonio, torno nuovamente a disturbarti…
Ho acquistato il lettore miniLector AIR v3, installato OPENSC ver 0.19 ma continuo ad avere problemi. Il sistema continua a darmi l’errore "Verifica che il lettore sia correttamente collegato e funzionante, e che la carta CIE o TS-CNS sia correttamente inserita o appoggiata sul lettore nel momento in cui si procede con l’accesso. "
L’ho provato su Win7 x64 e WIN10 x64.
Se invece installo il middleware CIE funziona.
Dove sbaglio? Devo configurare in qualche modo OPENSC?
Potresti darmi una dritta?
Grazie in anticipo.