Tecnologie e applicazioni web Autenticazione

Documenti analoghi
Schemi di Autenticazione per il Protocollo HTTP. a cura di Nicola Ferrante

Tecnologie e applicazioni web JSON Web Token (JWT)

Filippo Bergamasco ( DAIS - Università Ca Foscari di Venezia Anno accademico:

Sicurezza Documentale a.a. 2017/2018 DOCENTI: DOTT.SSA VALERIA FIONDA DOTT. GIUSEPPE PIRRÒ

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli

Point-to-Point Protocol (PPP)

ITC Mossotti - Novara. Verica di Informatica. Nome e Cognome:... 1) Nella cifratura convenzionale. 2) Nella crittograa a chiave pubblica

RETI DI CALCOLATORI II

Il protocollo SSL! Il protocollo SSL! (Secure Socket Layer)! "Uno dei protocolli più diffusi nelle comunicazioni sicure:!

Funzioni di hash sicure: MD5 e SHA-1

Identificazione, Autenticazione e Firma Digitale. Firma digitale...

Http e Https. http usa la porta 80. Perciò è nato https - usa la porta 443

Elementi di Sicurezza e Privatezza Lezione 5 Protocolli Crittografici (1)

PROGETTO TESSERA SANITARIA WEB SERVICES DI GESTIONE PASSWORD

Autenticazione, firme digitali e certificati digitali

Filippo Bergamasco ( DAIS - Università Ca Foscari di Venezia Anno accademico:

Livello Applicazioni Elementi di Crittografia

La firma digitale, o firma elettronica qualificata, basata sulla tecnologia della crittografia a chiavi asimmetriche, è un sistema di autenticazione d

Distribuzione delle chiavi pubbliche. Gestione delle chiavi. Distribuzione delle chiavi pubbliche

Crittografia per la sicurezza dei dati

s.r.l Roma Piazza Pitagora, 10 Tel r.a. Fax 06/ r.a. C.F. e R.I P. IVA SKYNET WEB SERVICES

Corso di Informatica

Sicurezza delle reti 1

Sicurezza delle reti. Monga. L autenticazione in rete Password. Altre credenziali OTP. Sicurezza delle reti. Monga.

Esercitazione 2 Certificati

Esercitazione 2 Certificati

Le firme elettroniche e i sistemi di firma. Approcci al problema della sicurezza

Parte II: Reti di calcolatori Lezione 7 (31)

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer

CRYPTO-CURRENCY LA CRITTOGRAFIA E LA BLOCKCHAIN

Università degli Studi di Brescia Corso di Laurea Magistrale in Ingegneria Informatica

Corso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015. Lezione del 11 Maggio 2015

Tecnologie e applicazioni web Cookies

Sicurezza delle reti 1

Sicurezza Informatica. Il Protocollo OAuth. Anno Accademico 2010/2011. Luca Mancini. Riccardo Queri

Tito Flagella - Il protocollo HTTP

Applicazioni web. Sommario. Parte 4 http. http Metodi, intestazioni e codici di stato get post Parametri e cookie. Applicazioni web.

Telematica II 9. Protocollo HTTP

Esercitazione 02. Sommario. Un po di background (1) Un certificato digitale in breve. Andrea Nuzzolese

Sicurezza ai vari livelli

Architettura di Reti

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione

Secure Socket Layer. Sicurezza del livello Trasporto

Bookrepublic ExLibris

!"### "$ " Applicazioni. Autenticità del messaggio M Integrità del messaggio M. Stelvio Cimato DTI Università di Milano, Polo di Crema

Sicurezza nelle reti: protezione della comunicazione

Elementi di Sicurezza e Privatezza Lezione 5

WiFi WPA/WPA2 KrackAttack

Reti di Calcolatori. Crittografia & Java Cryptographic Architecture (JCA) A.A. 2010/2011 Reti di Calcolatori 1 (Es. 6)

[PRETTY GOOD PRIVACY]

Infrastruttura di strong authentication basata su One Time Password per l accesso VPN

Parte II: Reti di calcolatori Lezione 6 (30)

Crittografia: Servizi richiesti

ANGEL METODO 1: GUIDA D INSTALLAZIONE ED UTILIZZO TRAMITE CHIAVETTA USB FST IN DOTAZIONE. Per accedere al servizio procedere nel seguente modo:

Livello applicazione. Fondamenti di Informatica

Le informazioni tecniche contenute in questo documento sono soggette a modifica senza preavviso.

Esercitazione 1 Crittografia Simmetrica

Corso di Sicurezza nelle reti a.a. 2009/2010. Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU

Studio di reti di sensori con comportamento ciclico con il simulatore Castalia. Corso di Laurea in Informatica

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

Protocolli per l instaurazione di chiavi effimere - Kerberos

RELAZIONE TECNICA. Whistleblowing. Realizzazione a cura di Unità operativa Servizi e Sistemi. Premessa 2. Installazione 3

Configurazione di sicurezza di XAMPP

Allegato Tecnico E-commerce. Istruzioni e regole del servizio 3D Secure

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:

Ordinativo Informatico Gateway su Web Services

Comunicazioni sicure su Internet: https e SSL. Fisica dell Informazione

Il protocollo HTTP. Caratteristiche del protocollo HTTP. Versioni del protocollo. Due tipologie di messaggi:

La sicurezza nelle reti di calcolatori

Seminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu

Sicurezza delle reti Wireless. WEP e WPA

WEB: Architettura Client Server

Protocolli a conoscenza zero. Carlo De Vittoria

Crittografia. Codifica dei caratteri di un messaggio con criteri noti solo a mittente e destinatario

Applicativi regionali centralizzati per la Sanità - AURA Archivio Unitario Regionale degli Assistiti

Sicurezza. Ingegneria del Software e sicurezza. Alice, Bob, e Trudy. Sicurezza non si caratterizza in modo semplice

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

Distribuzione e certificazione delle chiavi

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Sicurezza su reti Uso della crittografia simmetrica

Corso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015. Lezione del 18 Maggio 2015

Documento di Informazione di Base del Sistema di Gestione per la Sicurezza delle Informazioni

FAQ - Domande frequenti

Privacy e firma digitale

Allegato A: Regole tecniche per la gestione dell identità.

2Dove vogliamo arrivare:

Furto Identità Digitale

Il protocollo HTTP. Corso di Applicazioni Telematiche. A.A Lezione n.2 Prof. Roberto Canonico

Sistemi operativi e reti 1

MANUALE D USO di GESTIONE PEC2 PER IL SERVIZIO POSTECERT POST CERTIFICATA (modalità Avanzata)

Informativa per il personale responsabile della sicurezza IT nel settore sanitario. Panoramica del mercato:

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Intercettazione dei dati. Uso della crittografia simmetrica

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.

Crittografia avanzata Lezione dell'11 Aprile 2011

Sicurezza digitale. requisiti: confidenzialità, integrità, autenticazione, autorizzazione, assicurazione, riservatezza. soddisfatti mediante

Transcript:

Tecnologie e applicazioni web Autenticazione Filippo Bergamasco ( filippo.bergamasco@unive.it) http://www.dais.unive.it/~bergamasco/ DAIS - Università Ca Foscari di Venezia Anno accademico: 2017/2018

Autenticazione Il meccanismo dei cookie permette al server web di memorizzare coppie chiave-valore su un client che effettua una richiesta E possibile riconoscere un determinato client in transazioni successive ma non la sua identità reale HTTP prevede, nel protocollo, meccanismi con cui un client può autenticarsi attraverso delle credenziali

Autenticazione Con autenticazione intendiamo mostrare una qualche prova dell identità fisica di un determinato client L autenticazione è solitamente basata su una qualche informazione segreta e condivisa tra client e server (ex. Username e password) che va scambiata in modo sicuro attraverso un determinato protocollo

Autenticazione in HTTP Quando un client cerca di accedere ad una risorsa considerata dal server riservata, il server può rispondere con lo status code 401 (Login required). Insieme allo status code, l header WWW-authenticate informa il client sul tipo di informazioni richieste per l autenticazione

User login Il browser, in base al tipo di autenticazione: Richiede username/password all utente genera un header contenente le credenziali di accesso Utilizza l header per tutte le richieste successive alle risorse appartenenti ad un certo authorization realm Meccanismo simile a quello dei cookie: le informazioni di autenticazione sono scambiate negli headers HTTP

Tipologie di autenticazione HTTP implementa due tipologie di di autenticazione: 1. Basic access authentication 2. Digest access authentication Entrambi basati su framework di tipo challenge-response, ma differiscono sul modo in cui sono codificate e scambiate le credenziali.

Challenge-response < Challenge < Response

Basic authentication Descritto originariamente in HTTP/1.0, implementato in tutti i browser oggi esistenti Il server può rifiutare una transazione, invitando (challenging) il client ad inviare la coppia username:password In caso di risposta corretta la risorsa viene inviata nella transazione seguente Se la risposta non è corretta, la challenge è ripetuta

Basic authentication 1. Il client invia una request al server (GET, POST, HEAD, etc.) per accedere ad una risorsa 2. Se la risorsa richiede credenziali di accesso, il server inserisce il seguente header nella response: WWW-Authenticate: Basic realm= <nome-realm> 3. Il client recupera la coppia username/password dall utente e la codifica in una stringa: <crd> = base64( <username>:<password> )

Basic authentication 4. Il client, ad ogni request successiva, invia il seguente header: Authorization: Basic <crd> Il server decodifica <crd> in base64 per ottenere la stringa <username>:<password> e verifica le credenziali. Se sono validi, la risorsa è restituita come nel caso senza autenticazione

Codifica Base-64 La codifica Base-64 è una funzione invertibile, utilizzata per codificare un qualsiasi stream di bytes in una stringa contenente soltanto caratteri alfanumerici. Importante: Essendo invertibile, la funzione non è pensata per rendere il trasferimento delle credenziali sicuro ma solo offuscato

Codifica Base-64

Codifica Base-64 Perchè la stringa <username>:<password> non è inviata in chiaro? 1. Caratteri non plain-ascii della password (ex. Lettere accentate) possono essere inserite nell header senza problemi 2. La stringa è offuscata per impedire la lettura delle credenziali semplicemente osservando la stringa (necessario calcolare la funzione inversa)

Basic authentication

BA: problemi 1. La coppia user/pass anche se non è inviata in chiaro è facilmente decodificabile. Il livello di sicurezza è di fatto lo stesso di inviare la coppia senza alcuna codifica. Se un terzo soggetto può osservare il canale di comunicazione, può rubare e usare le credenziali di accesso. Soluzione: utilizzare BA solo con HTTPS

BA: problemi 2. Anche se l autenticazione è usata per applicazioni non-critiche, gli utenti potrebbero riciclare stesse coppie username/password utilizzate anche su altri siti sensibili Problema di social behaviour degli utenti.

BA: problemi 3. Anche se l autenticazione avviene correttamente e l attaccante non è interessato alle credenziali, non vi è alcun legame tra il contenuto della risorsa e le credenziali. Un soggetto che si interpone tra la comunicazione può cambiare l intero contenuto delle risorse lasciando inalterati gli header di autenticazione Soluzione: utilizzare BA solo con HTTPS

BA: problemi 4. Sensibile allo spoofing da parte di server contraffatti. In altre parole, il client non può verificare l identità del server, che può quindi spacciarsi per il server originale Soluzione: utilizzare certificati digitali per autenticare il server prima di procedere con basic access authentication (usare HTTPS)

BA: utilizzi Se non accoppiato con HTTPS, BA è utile soltanto per fornire un semplice livello di autenticazione dove la privacy dei contenuti è desiderata ma non assolutamente necessaria. Blocca di fatto soltanto utenti curiosi ma non determinati ad accedere alla risorsa

Digest Authentication Il problema principale di basic authentication è che la coppia username:password è inviata in chiaro nel canale. Utilizzare tecniche di crittografia (simmetrica/asimmetrica) per creare un canale sicuro complicano però il protocollo per instaurare un canale sicuro

Digest Authentication Il server non ha bisogno di ricevere dal client la sua password (segreto condiviso) per poterlo autenticare, ma soltanto un digest (riassunto) della password per verificare se corrisponde con quella presente in suo possesso Si utilizzano funzioni di hashing per calcolare questi digest

Funzioni di hash Una funzione di hash permette di convertire un messaggio (stringa) di lunghezza arbitraria in una sequenza di lunghezza fissa (ex. 128 bit) Caratteristiche: Messaggi uguali generano stessi hash La funzione è one-way. Da un hash è praticamente impossibile indovinare il messaggio originale

Autenticazione con digest

Autenticazione con digest Utilizzando una funzione di hash è possibile evitare di inviare le password in chiaro nel canale. Problema: per definizione la stessa password genererà sempre lo stesso hash (digest). Se un soggetto in ascolto del canale legge il digest, può usarlo per autenticarsi anche senza conoscere la password: Replay attack

Nonce Per evitare replay-attack, il server invia al client insieme alla richiesta di autenticazione un token speciale chiamato nonce. Il client crea il digest della coppia (<password>,<nonce>) di modo da generare digests ogni volta diversi ma utilizzabili soltanto una volta

Digest Authentication Il protocollo (semplificato) che permette l autenticazione del client attraverso Digest Authentication è il seguente: 1. Come nel caso di BA, il server inserisce nella propria response l header WWW-Authenticate inviando: realm di autenticazione, una lista di algoritmi di hashing supportati e il nonce

Digest Authentication 2. Se l algoritmo di hashing è supportato, il client crea il digest della tripla (user, nonce, password) 3. Il client invia nella request successiva, attraverso l header Authorization, il proprio username e il digest calcolato. Se il client lo desidera, genera a sua volta un nonce da inviare al server 4. Il server genera il digest associato al client e lo confronta con quello ricevuto

Digest Authentication 5. Se i due digest sono uguali, il client è autenticato. Altrimenti, la richiesta viene rifiutata e viene generata una nuova challenge 6. Se il client aveva a sua volta inviato un nonce, viene generato il digest per il client e ritornato nell header Authorization-Info

Digest Authentication

Digest Authentication nextnonce permette al client di inviare una nuova richiesta con già l Authorization header formato senza passare per una nuova challenge da parte del server

Digest Authentication Qop (quality of protection enhancements) permette al client e al server di negoziare il tipo di sicurezza da implementare (ex. Integrity protection anche dei message body)

DA: Vantaggi Digest authentication risolve gran parte dei problemi di BA: La password non è inviata in chiaro Replay attack non possibili (a patto che il nonce cambi ogni volta) Il client può verificare anche che il server sia lo stesso che ha richiesto la challenge (client nonce) per evitare attacchi da server malevoli

DA: Problemi Vari livelli di qualità di sicurezza (per retro-compatibilità con le prime versioni) possono portare problemi di sicurezza Non è possibile verificare l identità del server ma soltanto che il server sia lo stesso soggetto che ha generato la challenge (man-in-the-middle attack possibile) Algoritmo MD5 considerato non più sicuro