Pit Stop

Alcune domande su protocolli di sicurezza al livello applicativo per applicazioni web e servizi REST

1) Per le applicazioni classiche web based abbiamo visto che il modo classico per autenticarsi può essere l’utilizzo di Basic o Digest Authentication. Le entità coinvolte sono l’utente e un’applicazione web che ha delle risorse che richiedono l’autenticazione in quanto protette.

Facciamo il caso di un’applicazione web con due path: le risorse sotto il path /public sono pubbliche, mentre quelle sotto il path /reserved sono riservate e richiedono l’autenticazione. Cosa succede quando l’utente per mezzo del browser accede alla risorsa:

  • GET /reserved/index.html - facendo vedere il flusso di chiamate http che intercorrono tra l’utente/browser e il server sia nel caso di Basic che Digest authentication. E’ diverso il flusso di chiamate o è diverso solo l’algoritmo di protezione della password?

  • in caso di accesso a una seconda risorsa sotto /reserved/account.html (dopo aver acceduto alla index.html di prima ed essersi autenticati correttamente per accedere alla pagina precedente), cosa succede nell’interazione tra utente/browser all’accesso alla seconda pagina?

Qual è lo svantaggio della Basic Authentication a livello di sicurezza?

Qual è invece lo svantaggio a livello di interazione utente con questi due tipi di autenticazione?

2) Descrivere la form authentication come avviene.

3) Descrivere il formato JWT (JSON Web Token) del token di autorizzazione e parla dell’interazione tra client e server.

4) Per risolvere quale problema è stato pensato il protocollo OAuth?

Fate un esempio di utilizzo del protocollo OAuth.

Descrivere le entità principali che ci sono nel protocollo OAuth.

Last updated