Tesi - L'autenticazione nel cloud computing

20
L’ Autenticazione nel Cloud Computing Università degli Studi di Parma Candidato: Francesco Pesare Relatore: Prof. Roberto Alfieri

Transcript of Tesi - L'autenticazione nel cloud computing

Page 1: Tesi - L'autenticazione nel cloud computing

L’ Autenticazione nel Cloud Computing

Università degli Studi di Parma

Candidato: Francesco PesareRelatore: Prof. Roberto Alfieri

Page 2: Tesi - L'autenticazione nel cloud computing

ObiettiviGli obiettivi di questa presentazione sono analizzare l’autenticazione nei sistemi cloud Perseguiremo l’obiettivo attraverso i seguenti step:

•Cenni generali sul cloud •Breve presentazione del framework OpenStack•Questioni legate all’autenticazione•Strong Authentication

Page 3: Tesi - L'autenticazione nel cloud computing

CaratterizzazioneIl NIST (National Institute of Standards and Technology) ha stabilito che le caratteristiche essenziali del cloud sono:

On-demand self-service: Risorse disponibili senza l’intervento del providerBroad network access: Accesso alle risorse attraverso la reteResource pooling: Le risorse di calcolo del provider vengono gestite attraverso un pool di risorse in base alle richieste con indipendenza sulla locationRapid elasticity: Acquisizione/rilascio risorse rapido, apparentemente senza limitiMeasured Service: Ogni risorsa viene dosata, per evitare sprechi e monitorata in modo trasparente

Page 4: Tesi - L'autenticazione nel cloud computing

Modelli di servizioIl NIST ha stabilito che i modelli di servizio del cloud sono:

Software as a Service (SaaS)E’ la capacità di fornire al consumatore le applicazioni in esecuzione nell’infrastruttura cloud ignorando lo strato sottostante (hardware, rete, OS ecc). Le applicazioni sono accessibili tramite o una propria interfaccia o tramite browser web

Platform as a Service (Paas)E’ la capacità di fornire al consumatore una piattaforma software (contestualizzata) che fornisce un insieme di servizi per l’implementazione e il testing di applicazioni (database, server web, librerie, programmi) ignorando lo strato sottostante (hardware, rete, OS ecc)

Infrastructure as a Service (IaaS)E’ la capacità di fornire al consumatore risorse per l’elaborazione, storage e servizi di rete in cui il consumer è libero di creare il proprio ambiente di lavoro in modo personalizzabile

Page 5: Tesi - L'autenticazione nel cloud computing

Tipologie di cloudIl NIST ha stabilito che le tipologie di cloud sono:

Private CloudL’infrastruttura cloud è realizzata per l’utilizzo esclusivo all’interno di un’ azienda. Viene gestita e configurata internamente o può essere delegata a terzi, ma resta comunque dedicata all’uso aziendale

Community CloudL’infrastruttura cloud è condivisa esclusivamente all’interno di una community dove gli enti appartenenti, condividono la stessa missione, gli stessi requisiti di sicurezza, e la stessa politica

Public CloudL’infrastruttura cloud è di utilizzo pubblico. Gestita e fornita da un provider

Hybrid CloudE’ una combinazione delle precedenti, dove la portabilità dei dati è fondamentale

Page 6: Tesi - L'autenticazione nel cloud computing

Vantaggi / SvantaggiVantaggi• Self-Service on demand• Abbattimento costi iniziali

Pay-per-use• Scalabilità delle risorse• Continuità del servizio• Indipendenza dalla

piattaforma utilizzata• Facile accesso alla cloud

Svantaggi• Sicurezza dei dati

Che fine fanno i dati che metto nel cloud?

• Geolocalizzazione dei dati Dove sono i miei dati? Rispettano la privacy?

• Crittografia omomorfica controproducente Costosa

• Assenza di standard Hybrid cloud e problemi di portabilità

• Dipendenza da internet

Page 7: Tesi - L'autenticazione nel cloud computing

Piattaforme

Google Trends - Open Framework per lo sviluppo

OpenStack è un progetto IaaS cloud computing di Rackspace Cloud e NASA. Nato nel 2010 ad oggi oltre 200 società si sono unite al progetto tra cui Arista Networks, AT&T, AMD, Brocade Communications Systems, Canonical, Cisco Systems, Dell, EMC, Ericsson, F5 Networks, Groupe Bull, Hewlett-Packard, IBM, Inktank, Intel, NEC, NetApp, Nexenta, Rackspace Hosting, Red Hat, SUSE Linux, VMware, Oracle e Yahoo!

OpenStack associa un nome in codice ad ogni major release e da ottobre 2013 sono state rilasciate 3 release: Havana, IceHouse, e la decima release col nome Juno

Page 8: Tesi - L'autenticazione nel cloud computing

Openstack - Servizi OpenStack Compute (nome in codice Nova)Servizio di compute OpenStack Object Storage (nome in codice Swift)Servizio per lo storage dei dati OpenStack Image Service (nome in codice Glance)Servizio per lo storage delle immagini per le vm OpenStack Identity (nome in codice Keystone)Servizio di autenticazione e catalogo dei servizi OpenStack Dashboard (nome in codice Horizon)Front-end web per l’iterazione con il cloud OpenStack Networking (nome in codice Neutron)Servizio di rete OpenStack Block Storage (nome in codice Cinder)Servizio per la gestione dello storage dei dischi virtuali

Page 9: Tesi - L'autenticazione nel cloud computing

Openstack - KeystoneDefault

Identity Service Service CatalogBackend: MySQLEndpoint APIv2 HTTP

ConfigurazioniBackend LdapActive DirectoryOS_FederationEndpoint APIvx HTTPSHigh availabilityLoadBalancer

Page 10: Tesi - L'autenticazione nel cloud computing

Installazione Modulare di OpenStack

Page 11: Tesi - L'autenticazione nel cloud computing

Installazione di Test

Page 12: Tesi - L'autenticazione nel cloud computing

Caso d’usoNel progetto cloud multi-region dell’ INFN (Istituto Nazionale di Fisica Nucleare) vengono attualmente usati 3 servizi Keystone, distribuiti geograficamente nelle sezioni di Bari, LNGS, Padova in HA con load balancer, con MySQL nativo.Un prossimo obiettivo dell’ INFN, oltre ad aggiungere altre 2 sedi per Keystone, è l’ integrazione all’interno della cloud del modulo OS_Federation per l’accesso federato

Page 13: Tesi - L'autenticazione nel cloud computing

Autenticazione FederataAll’interno di una federazione, vengono condivise risorse, servizi e applicazioni. Un utente che fa parte di un ente federato, è in grado di avere accesso a tali risorse condivise, sfruttando le credenziali d’accesso del proprio IdP (si presuppone un AAI)Meno password da ricordare più accesso alle risorse…

Tecnologie usate: SAML, LDAP, Active Directory, OpendID, OAuth

Soggetti coinvolti: Utente IdP: Identity Provider (Testshib/Unipr) SP: Service Provider (controller)

Per la nostra installazione: Shibboleth2 (SAML) Richiesta Certificato INFN OS_Federation

APIv2 APIv3 API unversion Modifiche al service catalog in keystone

Mapping

Page 14: Tesi - L'autenticazione nel cloud computing

Password AuthenticationSiamo sicuri che l’utente che usa nome utente e password sia l’utente legittimo?

Da un punto di vista tecnico è tuttavia un approccio superato:

Password Deboli / Troppo complesse Problemi nel ricordare la password Soggetto ad attacchi di tipo replay, phishing e MITM

Ad esempio:

The FappeningThe Fappening

Page 15: Tesi - L'autenticazione nel cloud computing

Strong AuthenticationAutenticazione a due fattore (2FA)

Token fisicoBancomat: Carta Bancomat + Pin

One Time PasswordTecnica non recente(Enigma), ma riadattata a nostri tempi per l’online banking

Lettura Impronta digitaleLa più efficace ma costosa infatti solo alcuni notebook integrano fingerprint reader

Nell’ambiente di test:

Mod_authn_otpOTPTool

Page 16: Tesi - L'autenticazione nel cloud computing

Conclusioni e Sviluppi Conclusioni: Tecnologia interessante, con svariati sviluppi applicativi in diversi settori Deve ancora maturare come tecnologiaBisogna fare molta attenzione ai dettagli, per non compromettere l’operatività dell’intera infrastrutturaStrong authentication necessariaSviluppi futuri:Utilizzare Google Authenticator in OpenStackUtilizzare certificati x509 per i token per ridurre le query a Keystone e ridurre l’overhead

Page 17: Tesi - L'autenticazione nel cloud computing

Grazie per l’attenzione

Page 18: Tesi - L'autenticazione nel cloud computing

Grazie per l’attenzione

Page 19: Tesi - L'autenticazione nel cloud computing

Accesso alla banda largaDownload Upload

Page 20: Tesi - L'autenticazione nel cloud computing

AuthenticationPer farsi riconoscere usando la propria identità digitale ci si deve autenticare. Per farlo vengono usati uno dei seguenti fattori:

Qualcosa che si ha (token, certificato personale)Bisogna avere con se il token o il certificato personale

Qualcosa che si conosce (username/password, pin)Facile da utilizzare

Qualcosa che si è (lettura biometrica retina, impronta digitale)Efficace ma tecnologicamente costoso