Autenticazione con Carta Nazionale Dei Servizi

6
Farmington Travelodge NM Farmington Long Term Stay Hotels, Hotels in Farmington, New Mexico Welcome to Farminton Travelodge NM located in the northwest corner of New Mexico for accommodations. Stay at one of the finest Farmington Long Term Stay Hotels for superior hospitality on your visit to Farmington City from www.travelodgefarmingtoninn.com.

Transcript of Autenticazione con Carta Nazionale Dei Servizi

Page 1: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Gianni Forlastro Francesco Pirrone

Page 2: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Nell’ambito dell’integrazione delle applicazioni, soprattutto relative alla Pubblica Amministrazione, con una maggiore sicurezza applicativa, si rende necessaria la possibilità di una autenticazione con la Carta Nazionale dei Servizi, la smart card per accedere ai servizi online della Pubblica Amministrazione su tutto il territorio nazionale.

Perché questo talk…

Progettando delle nuove applicazioni, soprattutto in ambiti quali PA o bancarie/assicurative è necessario avere un livello maggiore di sicurezza oltre alle classiche username e password.

Page 3: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Nonostante in Italia questa tecnologia (o almeno la possibilità di utilizzo) sia già attiva da parecchi anni, è poco utilizzata: in rete, infatti, non abbiamo trovato nessun post in merito.

Perché questo talk…

Abbiamo quindi deciso …di aiutare gli sviluppatori all’utilizzo di tale tecnologia con talk e guide online. …e di invitare i responsabili di settore ad introdurre questa nuova tecnologia nelle loro applicazioni!

Page 4: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

LA TEORIA

Page 5: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

La Carta Nazionale dei Servizi (CNS) è una smart card per accedere ai servizi online della Pubblica Amministrazione su tutto il territorio nazionale. E’ lo strumento fondamentale per rendere immediatamente fruibili i servizi già in rete e per accelerarne la diffusione. La CNS è una straordinaria innovazione per una nuova e più efficace interazione tra cittadino e Pubblica Amministrazione.

Il Progetto CNS

Page 6: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Il Progetto CNSLa Carta Nazionale dei Servizi è un documento informatico, rilasciato da una Pubblica Amministrazione, con la finalità di identificare in rete il titolare della carta. Utilizza una smart card in grado di registrare in modo protetto le informazioni necessarie per l’autenticazione in rete.Non è un documento di riconoscimento “a vista” come la Carta di Identità elettronica (CIE) perché non contiene la foto del titolare e non richiede particolari caratteristiche e requisiti per il supporto grafico.

Page 7: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Grazie comunque al microchip e al software, identici a quelli della CIE, dà accesso agli stessi servizi e consente modalità più flessibili e veloci di produzione e diffusione, anche attraverso canali di distribuzione alternativi rispetto a quelli istituzionali della CIE.

La distribuzione della Carta Nazionale dei Servizi va, quindi, in parallelo con il piano di rinnovo delle carte di identità.Nel nostro talk vedremo come è possibile utilizzare indifferentemente la CNS o la CIE.

Il Progetto CNS

Page 8: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

La Carta Nazionale dei Servizi permette:

- le funzionalità della firma digitale - l’utilizzo dei servizi in rete da parte del titolare attraverso un certificato di autenticazione della carta, che, in combinazione con il PIN utente, consente le funzioni di riconoscimento in rete - le funzionalità della carta sanitaria (funzione facoltativa) - l’autenticazione del cittadino per servizi anagrafici, modulistica, servizi sanitari, pagamenti online - l’utilizzo per funzioni di pagamento tra privati e Pubblica Amministrazione grazie ai protocolli di intesa tra queste ultime, le banche e le Poste Italiane

I Servizi

Page 9: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

L’Agenzia Identità Digitale (AGID) pubblica periodicamente l'elenco dei certificatori accreditati e i loro certificati in vari formati.La lista contiene i certificati dei certificatori utilizzabili per verificare i certificati di autenticazione a bordo delle CNS. Al fine dell’autenticazione del cittadino in rete è necessario che i server di autenticazione ritengano affidabili i certificati contenuti nella lista, chiamata TLS (Trust Service status List)I formati disponibili sono : XML e PDF leggibile.

Certificatori

Page 10: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

6.8 - Service : CN=Regione Piemonte - CA Cittadini,OU=Servizi di Certificazione,O=Postecom S.p.A.,C=ITVersion: 3 Serial Number: 1 X509 Certificate -----BEGIN CERTIFICATE----- MIIEbjCCA1agAwIBAgIBATANBgkqhkiG9w0BAQsFADB1MQswCQYDVQQGEwJJVDEYMBYGA1UECgwP UG9zdGVjb20gUy5wLkEuMSIwIAYDVQQLDBlTZXJ2aXppIGRpIENlcnRpZmljYXppb25lMSgwJgYD VQQDDB9SZWdpb25lIFBpZW1vbnRlIC0gQ0EgQ2l0dGFkaW5pMB4XDTExMDcwNTEyMjkwMloXDTIx MDcwNTEyMjkwMlowdTELMAkGA1UEBhMCSVQxGDAWBgNVBAoMD1Bvc3RlY29tIFMucC5BLjEiMCAG A1UECwwZU2Vydml6aSBkaSBDZXJ0aWZpY2F6aW9uZTEoMCYGA1UEAwwfUmVnaW9uZSBQaWVtb250 ZSAtIENBIENpdHRhZGluaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALwbX6gbH+9Y 3vEt+9G7rfmauRa17KxGuDtn2FfEQlXtJZW3Ro9o0p+FtdZUvucjxyfjiIcRiRjQbDvQyezLEiw5 TthnrupQlsUh30Cw0XV5nYjL86ryPKPWnWBkdPPJYbWyfbg+PDQYOt1LXxqwh16nsCeFg7Z9mqwM Ohz7WjHvjdJBGsyDGkDsnYeQc/6ranJdEeAiwvlKrANJodmixyVdpxb/gcrWzP6xS9ywUO6nEPVL aBCFPcW4rtQTcYb7HCRf8F1OXnKjJZdYJMKUsZoKSvPZ1lUGs6EcJFSx2aqdE2Jq3ygoVX0PFMwP ImBpwrwE/6mX4t8z4Wk907bZvicCAwEAAaOCAQcwggEDMBIGA1UdEwEB/wQIMAYBAf8CAQAwOgYD VR0gBDMwMTAvBgRVHSAAMCcwJQYIKwYBBQUHAgEWGWh0dHA6Ly9wb3N0ZWNlcnQucG9zdGUuaXQw OgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRwOi8vcG9zdGVjZXJ0LnBvc3RlLml0L29j c3AwRgYDVR0fBD8wPTA7oDmgN4Y1aHR0cDovL3Bvc3RlY2VydC5wb3N0ZS5pdC9jbnMvcmVnaW9u ZXBpZW1vbnRlL2NybC5jcmwwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQ0rGspC3vEcW8nPXYV 8eKy17epVzANBgkqhkiG9w0BAQsFAAOCAQEAQF9Bjj9F9VHeBUReVp3QQk77NytyPJbJKztQDKh8 SaG4X/AnV69bFP/115I5/dCjyMEq+lqrDX82yEQocNpLerZ9cL6oErLixRtW6PgU4ZG9IRqOBMmr BZQ4ehurIhFXpnOvSyghwM91lE7TmOseMwjK+7/MQHOS71YZAa/YKMG7fgQUPxsqJKnGBXuKe/BW oYcRGNbPJaPrgCkWQcri1Hfok4mkKK+JT9fRTI1ObiMviRQQu19jepnNlf5qOjbkJLT3bNnTCmwz D1HMODmHyWyTeZ06vT3kVngLK4enoqOhtFYO68kLV7o+fh4fG/3qdx+l0CdBqndd3+RNp6arpg==

Certificatori

Page 11: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Tessera Sanitaria come CNSLa TS-CNS rappresenta l'evoluzione "tecnologica" della Tessera Sanitaria (TS) in quanto oltre ai servizi sanitari normalmente offerti dalla tessera sanitaria nazionale permette l'accesso ai servizi in rete offerti dalla Pubblica Amministrazione in assoluta sicurezza e nel rispetto della privacy.

La TS-CNS e' gratuita, viene spedita a tutti i cittadini assistiti dal Servizio Sanitario Nazionale in sostituzione, alla scadenza, dell'attuale Tessera Sanitaria ed ha, normalmente, validità di sei anni, o pari alla durata del permesso di soggiorno.

Page 12: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Il futuro…

L’Anagrafe Nazionale Popolazione Residente (ANPR) si realizza come unica banca dati con le informazioni anagrafiche della popolazione residente a cui faranno riferimento non solo i Comuni, ma l'intera Pubblica amministrazione e tutti coloro che sono interessati ai dati anagrafici, in particolare i gestori di pubblici servizi.

Agenda Digitale, questa sconosciuta!L'Agenda Digitale Italiana rappresenta l'insieme di azioni e norme per lo sviluppo delle tecnologie, dell'innovazione e dell'economia digitale. L’Agenda Digitale è una delle sette iniziative faro della strategia Europa 2020, che fissa gli obiettivi per la crescita nell’Unione europea da raggiungere entro il 2020.

Page 13: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Il futuro…

Con l'istituzione del Sistema Pubblico per la gestione dell'Identità Digitale di cittadini e imprese (SPID) le pubbliche amministrazioni potranno consentire l'accesso in rete ai propri servizi, oltre che con lo stesso SPID, solo mediante la carta d'identità elettronica e la carta nazionale dei servizi.La possibilità di accesso con carta d'identità elettronica e carta nazionale dei servizi resta comunque consentito indipendentemente dalle modalità predisposte dalle singole amministrazioni.

Page 14: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Il futuro…

Partito l’accreditamento per i gestori di identità digitale SPID : dal momento in cui verrà ufficializzata da AgID l’iscrizione nel registro SPID del primo Identity Provider, le pubbliche amministrazioni avranno 24 mesi di tempo per adeguare i sistemi di login dei propri siti all’accesso tramite SPID.

Le sei Regioni (Piemonte, Emilia Romagna, Toscana, Liguria, Marche, Friuli Venezia Giulia), Agenzia delle Entrate, Inps e Inail, che hanno partecipato alla fase di test del sistema, permetteranno l’accesso ai propri servizi digitali tramite identità SPID già da fine anno.

Comunicato Stampa del 15 Settembre 2015

Page 15: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

LA PRATICA

Page 16: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Le CNS sono smartcard basate su standard ISO/IEC 7816: Alcune caratteristiche: ⁃ basato su un dispositivo esterno contenente un chip di

cifratura, non accessibile o duplicabile normalmente ⁃ l'accesso è regolato tramite un codice PIN, e un PUK in

caso di tentativi multipli errati di accesso ⁃ un certificato di firma digitale basato su standard X.509 ⁃ un identificativo univoco della carta ⁃ i dati personali del possessore quali codice fiscale,

nome,cognome

Alcune note tecniche

Page 17: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Le CNS permettono l'autenticazione presso i servizi della pubblica amministrazione: ciò avviene mediante l'utilizzo del certificato X.509 presente in ognuna di essa. L'utente una volta configurato il proprio dispositivo, presenterà il proprio certificato all'applicazione come credenziali di accesso e in questo modo può essere riconosciuto senza l'utilizzo di username/password e in modo sicuro.

Alcune note tecniche

Page 18: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Certificato X.509

X.509 è uno standard ITU-T per le infrastrutture a chiave pubblica (PKI). Definisce formati standard per i certificati a chiave pubblica, certificati di attributo ed un certification path validation algorithm. Ogni certificato viene rilasciato da una certification authority (CA) che accoppia una chiave pubblica ad un Nome Distintivo (o Common Name). Include anche gli standard per le implementazioni di certificate revocation list (CRL, liste di revoca di certificati), un aspetto spesso sottovalutato dei sistemi PKI.

Page 19: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Certificato X.509

La modalità di controllo della validità di un certificato approvata dall'IETF si chiama Online Certificate Status Protocol (OCSP). Un sistema informativo che vuole fornire ai suoi utenti la possibilità di accesso mediante un certificato dovrà avere a disposizione una lista di CA con cui sia possibile identificarsi e i relativi certificati.

Page 20: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

STEP 1Installare le CA sul nodo che regola l'accesso ⁃ recuperare i certificati delle CA da cui volete che sia

possibile l'accesso dalla TSL ⁃ convertire i certificati in un formato utilizzabile dall'AS ⁃ i certificati sono in formato .cer, mentre normalmente

Apache e derivati richiedono formati .pem ⁃ vengono di solito inseriti in un unico file denominato

SSL Certification Chain in formato .crt

Page 21: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Script python gratuito che automatizza gran parte della procedura: https://gist.github.com/3v1n0/e371f58162795e0635f2 COME UTILIZZARE LO SCRIPT mkdir /var/tmp/certs ./parse-gov-certs.py --output-folder /var/tmp/certs Convertirà tutti i certificati in formato .pem nella cartella /var/tmp/certs Adesso scegliamo quali certificati accettare aggiungendoli tutti in fondo ad un file .crt

cd /var/tmp/certs cat * >> /etc/pki/tls/certs/ca-CNS-bundle.crt

STEP 1 - Pratica

Page 22: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Aprite un file di configurazione di apache (o createne uno nuovo) e all'interno di una direttiva VirtualHost inserite: SSLEngine on SSLProtocol +TLSv1.1 +TLSv1.2 SSLVerifyClient require SSLVerifyDepth 4 SSLOptions +ExportCertData +StdEnvVars SSLCACertificateFile /etc/pki/tls/certs/ca-CNS-bundle.crt

STEP 2

Page 23: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Se vogliamo che il nodo abbia anche la funzione di reverse proxy utilizzeremo la direttiva:

<Proxy *> Order deny,allow Allow from all </Proxy>

ProxyPass /app/ ajp://localhost:8009/app/ ProxyPassReverse / ajp://localhost:8009/app/

Dove app è il Context Url di una applicazione installata su un server locale che supporta ajp.

STEP 3

Page 24: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

STEP 4public  class  SecurityConfig  {     @Configuration     public  static  class  FormLoginWebSecurityConfigurerAdapter  extends  WebSecurityConfigurerAdapter  {       @Autowired       @Qualifier(“cnsUserDetailsService”)       private  UserDetailsService  cnsUserDetailsService;       @Override       protected  void  configure(HttpSecurity  http)  throws  Exception  {         http         .csrf()         .and()         .x509().userDetailsService(cnsUserDetailsService);       }     }  }

Esempio in J2EE/Spring Security

private  String  parseCommonName(String  commonName)  {       if  (commonName.contains(CF_SEPARATOR)){                          commonName  =commonName.substring(commonName.indexOf(“\””)+1,  commonName.indexOf(CF_SEPARATOR));         LOG.info("CODICE  FISCALE:{}",commonName);       }       return  commonName;     }

Il common name ricevuto dalla funzione sarà in formato “codiceFiscale/codice_identificativo_hash_certificato” , eccone un esempio approsimato commonName:\"PRRFNC91XXXXXXXXX/1205100000658867.b5QRhzT+5BkQaw1slnemfdgirrY=\"

Page 25: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Consigli UtiliApache 2 Mette a disposizione molte funzionalità fondamentali per un applicazione a livello enterprise. Può funzionare da load balancer, gestire diversi configurazioni a seconda del dominio di accesso, interfacciarsi con molti altri application server tramite mod_proxy permettendo di far convivere fra di loro sistemi molto diversi

Usate sistemi basati su Unix Apache ha una perfetta sinergia con questi sistemi, fornendo molte funzionalità lato OS che lato Apache per facilitare la gestione di sistemi complessi.

Page 26: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Procedete per gradi- Configurate per primo l'HTTPS e assicuratevi di non essere bloccati da firewall o selinux - Configurate l'accesso tramite dei certificati di prova e CA di prova (ne trovate online o createne una ad-hoc magari simile ai certificati della CNS in modo da assicurarvi che avete configurato l'autenticazione correttamente

- Create una pagina di prova in php che effettui il dump del certificato ricevuto, potreste voler controllare l’interno di un certificato in caso siate impossibilitati a collegarvi in debug all'ambiente o che il certificato venga propagato dal server alle applicazioni

Consigli Utili

Page 27: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Procedete per gradi- Installate i certificati e provate a fare un giro completo

- Fate in modo che la vostra applicazione sia accessibile tramite username/password almeno in ambiente di test

Consigli Utili

I certificati non rendono la vostra applicazione inviolabile - ricordatevi di coprire le più note vulnerabilità segnate da OWASP!

Page 28: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Conclusioni

La CNS rappresenta senz'altro un metodo molto robusto di autenticazione: - con le dovute accortezze può essere anche facilmente

implementabile, la diffusione delle applicazione sarà certamente un fattore determinante del suo successo o dell'ennesimo fallimento

- le smartcard sono tuttavia ancora afflitte da tecnologia proprietaria e know-how difficilmente reso pubblico

- questa modalità di autenticazione potrebbe essere adottata e omogeneizzata in tutta l'area europea

- presenta certamente problemi di privacy

Page 29: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Domande?

Page 30: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

http://www.agid.gov.it/

Fonti

https://it.wikipedia.org/wiki/X.509

http://www.agid.gov.it/agenda-digitale/infrastrutture-architetture/firme-elettroniche/certificati

http://blogoless.blogspot.it/2015/03/autenticazione-apache-con-la-carta.html

http://sistemats1.sanita.finanze.it/wps/portal/portalets/cittadinots/tscns

Page 31: Autenticazione con Carta Nazionale Dei Servizi

Autenticazione con Carta Nazionale dei Servizi

Forlastro - Pirrone

Approfondimenti e/o Richieste

Gianni Forlastro Francesco Pirrone

[email protected] [email protected]