Vai al contenuto

Prossima edizione 6 luglio 2026

Autenticazione vs Autorizzazione

L'autenticazione e il processo di verifica dell'identita di un utente (dimostrare chi sei), mentre l'autorizzazione e il processo di determinare a cosa un utente autenticato puo accedere o fare (dimostrare cosa ti e permesso fare). Insieme, costituiscono la base del controllo degli accessi in ogni applicazione e API.

Autore
Unihackers Team
Tempo di lettura
3 min di lettura
Ultimo aggiornamento

Perche e Importante

La distinzione tra autenticazione e autorizzazione e il concetto piu importante in assoluto nell'API security. La maggior parte delle vulnerabilita API critiche deriva dalla confusione tra questi due concetti o da falle in uno mentre l'altro funziona correttamente.

Consideriamo un'analogia con un edificio: l'autenticazione e la guardia di sicurezza che controlla il tuo badge all'ingresso. L'autorizzazione e il sistema di badge che determina a quali piani e stanze puoi accedere. Un edificio che controlla i documenti alla porta ma permette a tutti l'accesso a ogni stanza ha l'autenticazione senza una corretta autorizzazione. Questo e esattamente cio che accade nella maggior parte delle vulnerabilita BOLA/IDOR.

Nella OWASP API Security Top 10, tre delle prime cinque categorie (API1, API3, API5) sono fondamentalmente falle di autorizzazione, mentre API2 copre le falle di autenticazione. Comprendere questa distinzione e la chiave per trovare i bug API piu comuni e impattanti.

L'Autenticazione nella Pratica

Come Funziona l'Autenticazione

L'autenticazione verifica l'identita attraverso uno o piu fattori:

  • Qualcosa che sai: password, PIN, domande di sicurezza
  • Qualcosa che possiedi: token, smart card, dispositivi mobili (usati nell'autenticazione a due fattori)
  • Qualcosa che sei: impronte digitali, riconoscimento facciale, dati biometrici

Nelle API, l'autenticazione produce tipicamente un token (JWT, cookie di sessione o API key) che il client invia con le richieste successive. Il server valida questo token ad ogni richiesta per confermare l'identita dell'utente.

Errori Comuni di Autenticazione

  • Token che non scadono mai, consentendo l'accesso permanente con un token rubato
  • Flussi di reset password con token prevedibili o riutilizzabili
  • Logout che cancella il token solo lato client senza invalidarlo lato server
  • Rate limiting mancante sugli endpoint di login o OTP, che abilita attacchi brute force
  • Generazione di token debole che consente la predizione o il replay

L'Autorizzazione nella Pratica

Come Funziona l'Autorizzazione

Dopo che l'autenticazione conferma l'identita, l'autorizzazione determina i permessi. I modelli di autorizzazione includono:

  • Role-Based Access Control (RBAC): permessi assegnati ai ruoli (admin, utente, editor); gli utenti ereditano i permessi del ruolo
  • Attribute-Based Access Control (ABAC): permessi basati sugli attributi dell'utente, sugli attributi della risorsa e sulle condizioni ambientali
  • Object-Level Authorization: verifica che l'utente autenticato sia proprietario o abbia accesso allo specifico oggetto richiesto

Errori Comuni di Autorizzazione

  • Controlli a livello di oggetto mancanti (BOLA/IDOR): l'API verifica il login ma non la proprieta della risorsa
  • Controlli a livello di funzione mancanti: utenti normali che chiamano endpoint di amministrazione
  • Mass assignment: l'API che accetta modifiche di ruolo o permessi dall'input utente
  • Privilege escalation: utenti che elevano i propri permessi tramite manipolazione delle API

Testing di Autenticazione e Autorizzazione

Nel testare le API, i professionisti della sicurezza valutano entrambi i livelli in modo indipendente:

Test di autenticazione: I token possono essere riutilizzati dopo il logout? Scadono? I token di reset password possono essere predetti? C'e rate limiting sul login? Le vecchie sessioni vengono invalidate dopo il cambio password?

Test di autorizzazione: L'Utente A puo accedere ai dati dell'Utente B cambiando un ID? Un utente normale puo chiamare endpoint di amministrazione? L'utente puo aggiungere campi privilegiati nei body delle richieste? L'API restituisce piu dati di quelli che il ruolo dell'utente dovrebbe vedere?

I bug piu impattanti si verificano all'intersezione: una API che autentica correttamente gli utenti ma non autorizza il loro accesso a oggetti o funzioni specifiche.

Nel Bootcamp

Come insegniamo Autenticazione vs Autorizzazione

Nel nostro Cybersecurity Bootcamp, non imparerai solo la teoria su Autenticazione vs Autorizzazione. Praticherai con strumenti reali in laboratori pratici, guidato da professionisti del settore che usano questi concetti quotidianamente.

Trattato in:

Modulo 1: Fondamenti di Cybersecurity

Argomenti correlati che padroneggerai:Triade CIAVettori di MinacceFramework NISTISO 27001
Scopri come lo insegniamo

360+ ore di formazione esperta • CompTIA Security+ incluso