SlideShare une entreprise Scribd logo
1  sur  15
Politecnico di Milano
 Facoltà di Ingegneria dell'informazione


Autenticazione in ambito REST
 OAuth vs Metodi tradizionali
   Progetto per il corso di Tecnologie dei Servizi 1




                  24 Gennaio 2011
Stato dell'arte
        Service Oriented Architecture
                                                WS Provider
                                               fornisce servizi e
                                                  implementa la
                                                  businnes logic

                                               WS Requestor
                                      richiede uno o più servizi

                                                WS Registry
                                              “directory” dove
                                        pubblicare e cercare la
                                         descrizione dei servizi
2009/2010      Autenticazione in ambito REST                        2
Stato dell'arte (2)
              REST & Resource Oriented
                    Architecture
            resource : “any information that can be named” (Fielding)

       Elemento                  Significato
                   Resource Documento legale               PUT    CREATE
      Resource identifier URI                              GET    RETRIEVE
             Representation File .pdf
                                                           POST   UPDATE
 Representation metadata Hash del documento
                                                           DELETE DELETE
                Data control If modified since
                             xx/xx/xxxx

2009/2010                  Autenticazione in ambito REST                     3
Web Services Security
    SOAP Security
    -> WS Security        set di estensioni per implementare integrità e
    confidenzialità dei messaggi da integrare con protocolli di livello
    applicativo ed estensioni dei singoli Web Services

    RESTful Security
                                                    WEB CACHES
    -> Autenticazione utente
                                                        Dati statici,
    -> TLS per le sessioni                             memorizzati
                                                       in cache, non
    -> Certificati                                possono essere protetti
                                                      e prelevati allo
    -> Cookies                                        stesso tempo !!!

2009/2010                Autenticazione in ambito REST                      4
OAuth protocol
 Come ottenere accessi privilegiati a risorse sul
   web senza l'utilizzo esplicito delle proprie
                credenziali !?!



            OAUTH TOKENS
OAuth Authentication Flows
OAuth Provider
OAuth Consumer
2009/2010        Autenticazione in ambito REST      5
OAuth protocol (2)
            ○   OAuth v1.0 (2007)
                requisiti crittografici stringenti
                scarsa user experience
                problemi di scalabilità

            ○   OAuth v2.0 (2010)
                nuovi flows
                bearer tokens
                firme semplificate
                short lived tokens
2009/2010             Autenticazione in ambito REST   6
Ruby on Rails
○    Framework open source per costruire
     web applications
     “Don’t Repeat Yourself && Convention Over Configuration”

○    MVC pattern per la
     separazione netta
     tra dati, logica e
     visualizzazione

    2009/2010         Autenticazione in ambito REST             7
Il nostro lavoro
○   Obiettivi
    Analisi dei metodi di autenticazione e accesso
    ai dati
    Valutazione delle differenze, dei pro e dei
    contro
○   Strumenti utilizzati
    Web Application && Desktop Client


2009/2010         Autenticazione in ambito REST      8
Mailstat Project

                              Web Service che consente ai
                              propri utenti di ottenere
                              informazioni e statistiche sui
                              propri account di posta.
                                   Implementa un OAuth
                                    Provider
                              Realizzato utilizzando il
                              framework RubyOnRails
                              Visualizzazione dei dati in
                              formato .html e .xml
2009/2010      Autenticazione in ambito REST                   9
Ruby Desktop Client
    Simula un generico applicativo per l'accesso a dati su
    Web diverso da un comune web browser
    Implementa un OAuth Consumer
    Realizzato in Ruby (librerie GTK2 per la grafica)
    XPath/XQuery per la manipolazione dei
     dati ricevuti in formato .xml
    Crittografia RSA e AES




2009/2010            Autenticazione in ambito REST           10
Risultati e analisi
               Double Authentication
            USERNAME                                   TOKEN
                +                                         +
            PASSWORD                                   SECRET




    Credenziali dell'utente               Dati di accesso del Client




2009/2010              Autenticazione in ambito REST                   11
Risultati e analisi (2)
                Criticità di Oauth
BEARER TOKENS : trasmetto il token in chiaro su un
canale sicuro; rimuovere la crittografia lato client per
puntare su HTTPS, SSL/TLS può essere un vantaggio se il
servizio accetta solo comunicazioni sicure, altrimenti è
altamente rischioso.
                          Mailstat

                  RSA + AES

2009/2010          Autenticazione in ambito REST           12
Risultati e analisi (3)
              Ruby on Rails Security

Strong password:
 almeno 30 chars


Reset della sessione
 alla scadenza del
 timeout e dopo
 ogni login/logout
2009/2010         Autenticazione in ambito REST   13
Risultati e analisi (4)
        Performance del Web Service
                             Time (Milliseconds)

                   Web Browser                Client Desktop


               Creazione   Accesso a      Creazione    Accesso a
               sessione     risorsa       sessione      risorsa


       medie     120          150           800          900




2009/2010           Autenticazione in ambito REST                  14
Conclusioni
 ○   Username/Password
     PROs : più semplice da implementare, più veloce nei
     tempi di risposta
     CONs : richiedere le credenziali o memorizzarle,
     necessità di un sistema di scadenza delle password
 ○   OAuth
     PROs : più robusto, non richiede lo scambio esplicito
     delle credenziali, aggiornamenti automatizzabili
     CONs : più complicato da implementare, più costoso
     in termini di risorse server
2009/2010           Autenticazione in ambito REST            15

Contenu connexe

Similaire à Autenticazione in ambito REST

Applicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiApplicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiPietro Libro
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveEmanuele Della Valle
 
Realizzazione di un' interfaccia web per la gestione dei file di log generati...
Realizzazione di un' interfaccia web per la gestione dei file di log generati...Realizzazione di un' interfaccia web per la gestione dei file di log generati...
Realizzazione di un' interfaccia web per la gestione dei file di log generati...Marco Furlanetto
 
Realizzazione di un' interfaccia web per la gestione dei file di log generati...
Realizzazione di un' interfaccia web per la gestione dei file di log generati...Realizzazione di un' interfaccia web per la gestione dei file di log generati...
Realizzazione di un' interfaccia web per la gestione dei file di log generati...Marco Furlanetto
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSopencityplatform
 
Catasto Rumore Struttura Informatica
Catasto Rumore Struttura InformaticaCatasto Rumore Struttura Informatica
Catasto Rumore Struttura Informaticaconfrontamutui
 
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...Enrico Franceschini
 
OpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSLOpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSLVincenzo Calabrò
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012Andrea Dottor
 
Web Service
Web ServiceWeb Service
Web Servicepat22cb
 
Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SE...
Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SE...Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SE...
Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SE...Gianfranco Conti
 
Azure WebSites for Developers
Azure WebSites for DevelopersAzure WebSites for Developers
Azure WebSites for DevelopersLuca Milan
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingfrancesco pesare
 
WebRTC per la realizzazione di uno strumento di videoconferenza aziendale
WebRTC per la realizzazione di uno strumento di videoconferenza aziendaleWebRTC per la realizzazione di uno strumento di videoconferenza aziendale
WebRTC per la realizzazione di uno strumento di videoconferenza aziendalefrancesco montanino
 

Similaire à Autenticazione in ambito REST (20)

Applicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiApplicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web Api
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettive
 
Realizzazione di un' interfaccia web per la gestione dei file di log generati...
Realizzazione di un' interfaccia web per la gestione dei file di log generati...Realizzazione di un' interfaccia web per la gestione dei file di log generati...
Realizzazione di un' interfaccia web per la gestione dei file di log generati...
 
Corso web services
Corso web servicesCorso web services
Corso web services
 
Web sockets
Web socketsWeb sockets
Web sockets
 
Realizzazione di un' interfaccia web per la gestione dei file di log generati...
Realizzazione di un' interfaccia web per la gestione dei file di log generati...Realizzazione di un' interfaccia web per la gestione dei file di log generati...
Realizzazione di un' interfaccia web per la gestione dei file di log generati...
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaS
 
Catasto Rumore Struttura Informatica
Catasto Rumore Struttura InformaticaCatasto Rumore Struttura Informatica
Catasto Rumore Struttura Informatica
 
OCP Paas_ultima
OCP Paas_ultimaOCP Paas_ultima
OCP Paas_ultima
 
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...
 
Corso di servlet jsp e pattern
Corso di servlet jsp e patternCorso di servlet jsp e pattern
Corso di servlet jsp e pattern
 
Global azure2020 identityserver
Global azure2020 identityserverGlobal azure2020 identityserver
Global azure2020 identityserver
 
OpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSLOpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSL
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
 
Web Service
Web ServiceWeb Service
Web Service
 
Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SE...
Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SE...Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SE...
Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SE...
 
Azure WebSites for Developers
Azure WebSites for DevelopersAzure WebSites for Developers
Azure WebSites for Developers
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computing
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
 
WebRTC per la realizzazione di uno strumento di videoconferenza aziendale
WebRTC per la realizzazione di uno strumento di videoconferenza aziendaleWebRTC per la realizzazione di uno strumento di videoconferenza aziendale
WebRTC per la realizzazione di uno strumento di videoconferenza aziendale
 

Dernier

lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldivaleriodinoia35
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativovaleriodinoia35
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaPierLuigi Albini
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieVincenzoPantalena1
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 

Dernier (8)

lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldi
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativo
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza cultura
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medie
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 

Autenticazione in ambito REST

  • 1. Politecnico di Milano Facoltà di Ingegneria dell'informazione Autenticazione in ambito REST OAuth vs Metodi tradizionali Progetto per il corso di Tecnologie dei Servizi 1 24 Gennaio 2011
  • 2. Stato dell'arte Service Oriented Architecture WS Provider fornisce servizi e implementa la businnes logic WS Requestor richiede uno o più servizi WS Registry “directory” dove pubblicare e cercare la descrizione dei servizi 2009/2010 Autenticazione in ambito REST 2
  • 3. Stato dell'arte (2) REST & Resource Oriented Architecture resource : “any information that can be named” (Fielding) Elemento Significato Resource Documento legale PUT CREATE Resource identifier URI GET RETRIEVE Representation File .pdf POST UPDATE Representation metadata Hash del documento DELETE DELETE Data control If modified since xx/xx/xxxx 2009/2010 Autenticazione in ambito REST 3
  • 4. Web Services Security SOAP Security -> WS Security set di estensioni per implementare integrità e confidenzialità dei messaggi da integrare con protocolli di livello applicativo ed estensioni dei singoli Web Services RESTful Security WEB CACHES -> Autenticazione utente Dati statici, -> TLS per le sessioni memorizzati in cache, non -> Certificati possono essere protetti e prelevati allo -> Cookies stesso tempo !!! 2009/2010 Autenticazione in ambito REST 4
  • 5. OAuth protocol Come ottenere accessi privilegiati a risorse sul web senza l'utilizzo esplicito delle proprie credenziali !?! OAUTH TOKENS OAuth Authentication Flows OAuth Provider OAuth Consumer 2009/2010 Autenticazione in ambito REST 5
  • 6. OAuth protocol (2) ○ OAuth v1.0 (2007) requisiti crittografici stringenti scarsa user experience problemi di scalabilità ○ OAuth v2.0 (2010) nuovi flows bearer tokens firme semplificate short lived tokens 2009/2010 Autenticazione in ambito REST 6
  • 7. Ruby on Rails ○ Framework open source per costruire web applications “Don’t Repeat Yourself && Convention Over Configuration” ○ MVC pattern per la separazione netta tra dati, logica e visualizzazione 2009/2010 Autenticazione in ambito REST 7
  • 8. Il nostro lavoro ○ Obiettivi Analisi dei metodi di autenticazione e accesso ai dati Valutazione delle differenze, dei pro e dei contro ○ Strumenti utilizzati Web Application && Desktop Client 2009/2010 Autenticazione in ambito REST 8
  • 9. Mailstat Project Web Service che consente ai propri utenti di ottenere informazioni e statistiche sui propri account di posta. Implementa un OAuth Provider Realizzato utilizzando il framework RubyOnRails Visualizzazione dei dati in formato .html e .xml 2009/2010 Autenticazione in ambito REST 9
  • 10. Ruby Desktop Client Simula un generico applicativo per l'accesso a dati su Web diverso da un comune web browser Implementa un OAuth Consumer Realizzato in Ruby (librerie GTK2 per la grafica) XPath/XQuery per la manipolazione dei dati ricevuti in formato .xml Crittografia RSA e AES 2009/2010 Autenticazione in ambito REST 10
  • 11. Risultati e analisi Double Authentication USERNAME TOKEN + + PASSWORD SECRET Credenziali dell'utente Dati di accesso del Client 2009/2010 Autenticazione in ambito REST 11
  • 12. Risultati e analisi (2) Criticità di Oauth BEARER TOKENS : trasmetto il token in chiaro su un canale sicuro; rimuovere la crittografia lato client per puntare su HTTPS, SSL/TLS può essere un vantaggio se il servizio accetta solo comunicazioni sicure, altrimenti è altamente rischioso. Mailstat RSA + AES 2009/2010 Autenticazione in ambito REST 12
  • 13. Risultati e analisi (3) Ruby on Rails Security Strong password: almeno 30 chars Reset della sessione alla scadenza del timeout e dopo ogni login/logout 2009/2010 Autenticazione in ambito REST 13
  • 14. Risultati e analisi (4) Performance del Web Service Time (Milliseconds) Web Browser Client Desktop Creazione Accesso a Creazione Accesso a sessione risorsa sessione risorsa medie 120 150 800 900 2009/2010 Autenticazione in ambito REST 14
  • 15. Conclusioni ○ Username/Password PROs : più semplice da implementare, più veloce nei tempi di risposta CONs : richiedere le credenziali o memorizzarle, necessità di un sistema di scadenza delle password ○ OAuth PROs : più robusto, non richiede lo scambio esplicito delle credenziali, aggiornamenti automatizzabili CONs : più complicato da implementare, più costoso in termini di risorse server 2009/2010 Autenticazione in ambito REST 15