Progettazione E Implementazione Di Un Servizio Di Autenticazione a Più Fattori Per I Servizi Dell’Ateneo
Total Page:16
File Type:pdf, Size:1020Kb
ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA SCUOLA DI SCIENZE Corso di Laurea Specialistica in Scienze di Internet PROGETTAZIONE E IMPLEMENTAZIONE DI UN SERVIZIO DI AUTENTICAZIONE A PIÙ FATTORI PER I SERVIZI DELL’ATENEO Relatore: Chiar.mo Prof. VITTORIO GHINI Presentata da: CRISTIAN MEZZETTI II SESSIONE ANNO ACCADEMICO 2014/2015 1 Glossario ........................................................................................................................... 6 2 Introduzione ...................................................................................................................... 8 3 Identità digitale .............................................................................................................. 12 3.1 Tecnologie di autenticazione .............................................................................................. 14 3.1.1 Form/Basic Authentication .......................................................................................... 15 3.1.2 Kerberos ........................................................................................................................ 16 3.1.3 Smart card e token USB ............................................................................................. 17 3.1.4 RADIUS ......................................................................................................................... 20 3.1.5 CAS ................................................................................................................................ 21 3.1.6 OpenID e SAML ........................................................................................................... 22 3.2 Tecnologie di autorizzazione .............................................................................................. 26 3.2.1 LDAP .............................................................................................................................. 26 3.2.2 SAML e WS-Federation .............................................................................................. 28 3.2.3 Oauth ............................................................................................................................. 30 3.3 Gestione dell'identità digitale presso l'Università di Bologna ......................................... 31 3.4 Federazioni di identità .......................................................................................................... 37 3.5 Attribute Authority e VirtuaL Organization .......................................................................... 42 4 Autenticazione a 2 fattori ............................................................................................ 44 4.1 Implementazioni esistenti .................................................................................................... 49 4.2 Google .................................................................................................................................... 51 4.3 Facebook ............................................................................................................................... 54 4.4 DropboX .................................................................................................................................. 55 4.5 Apple ...................................................................................................................................... 56 4.6 LinOTP ................................................................................................................................... 57 4.7 OpenOTP ............................................................................................................................... 59 4.8 OneTime ................................................................................................................................ 60 4.9 Microsoft MFA ....................................................................................................................... 61 4.10 Duo Security .......................................................................................................................... 62 4.11 Authy ...................................................................................................................................... 63 4.12 Time4ID .................................................................................................................................. 64 5 Progettazione della soluzione in Unibo ................................................................. 66 5.1 Descrizione del problema .................................................................................................... 66 5.2 Scelta dei canali di verifica da supportare ........................................................................ 68 5.3 Requisiti e parametri di scelta ............................................................................................. 69 5.4 Scelta dell'architettura della soluzione .............................................................................. 72 6 Descrizione dell’iMpleMentazione ........................................................................... 74 6.1 Integrazione con il flusso di aggiornamento delle identità .............................................. 75 6.2 Gestione e provisioning del secondo fattore .................................................................... 77 6.3 Enrolment dell’utente ........................................................................................................... 79 6.4 Gestione e modifica del secondo fattore in autonomia ................................................... 82 6.5 Applicazioni personalizzate per dispositivi mobili ............................................................ 83 6.6 Creazione del backend per le attività di assistenza ........................................................ 86 6.7 Attività di integrazione su Identity Provider ADFS ........................................................... 87 6.8 Strumenti usati per lo sviluppo dell'Authentication Provider .......................................... 95 7 Conclusioni e sviluppi futuri ..................................................................................... 97 7.1 Attività di integrazione Shibboleth e CAS ......................................................................... 98 7.2 Integrazione del secondo fattore con altri servizi ............................................................. 98 7.3 Secondo fattore Out-Of-Band ............................................................................................. 99 2 8 RingraziaMenti ............................................................................................................. 101 9 Bibliografia .................................................................................................................... 102 3 FIGURA 2-1 - AUTENTICAZIONE A PIÙ FATTORI .................................................................................................... 10 FIGURA 3-1 - ESEMPIO DI BASIC AUTHENTICATION ............................................................................................ 16 FIGURA 3-2 - KERBEROS AUTHENTICATION PROTOCOL ...................................................................................... 16 FIGURA 3-3 - SMART CARD .................................................................................................................................. 18 FIGURA 3-4 - ESPERIENZA D'USO DELLE DUE TIPOLOGIE DI DISPOSITIVI FIDO - (FIDO ALLIANCE 2012) ........ 19 FIGURA 3-5 - RADIUS PROTOCOL (WIKIPEDIA 2015) ....................................................................................... 20 FIGURA 3-6 - CAS PROTOCOL (OHSIE 2014) .................................................................................................... 22 FIGURA 3-7 - SCHEMA DI AUTENTICAZIONE OPENID (GOVONI 2008) ................................................................ 23 FIGURA 3-8 - SAML AUTHENTICATION REQUEST - WIKIPEDIA .......................................................................... 24 FIGURA 3-9 - FUNZIONAMENTO DI UNA FEDERAZIONE DI IDENTITÀ (SWITCH CONSORTIUM S.D.) ...................... 25 FIGURA 3-10 - ESEMPIO DI ALBERO LDAP (OPENLDAP FOUNDATION 2003) .................................................. 27 FIGURA 3-11 - ARCHITETTURA SAML COMPLETA (CA SITEMINDER 2014) ....................................................... 29 FIGURA 3-12 - FAMIGLIA DI PROTOCOLLI WS-* (DEVSHED NETWORK 2004) .................................................... 29 FIGURA 3-13 - WS-FEDERATION (DEVSHED NETWORK 2004) .......................................................................... 30 FIGURA 3-14 - OAUTH PROTOCOL (ORACLE S.D.) .............................................................................................. 31 FIGURA 3-15 - ESEMPIO DI FLUSSO DI ACCREDITAMENTO DI UNO STUDENTE PRESSO L'ATENEO DI BOLOGNA33 FIGURA 3-16 - IDENTITY MANAGEMENT ALL'UNIVERSITÀ DI BOLOGNA .............................................................. 34 FIGURA 3-17 - SISTEMA DI SINCRONIZZAZIONE TRA AD ON-PREMISE E AZURE-AD IN CLOUD (GOLSHAN 2014) .................................................................................................................................................................... 37 FIGURA 3-18 - ARCHITETTURA DI UNA FEDERAZIONE FULL MESH COME IDEM (BAERECKE 2014) ................. 39 FIGURA 3-19 - ARCHITETTURA DI UNA FEDERAZIONE HUB AND SPOKE COME FEDERA (BAERECKE 2014) ..... 40 FIGURA 3-20 - INTERFEDERAZIONE EDUGAIN (TERPSTRA 2015) .....................................................................