Logo Logo
GitHub Designed by Logto

Che cos’è l’autenticazione (Authentication)?

In breve: L’autenticazione (Authentication) risponde alla domanda “Quale identità possiedi?”

Ecco alcuni esempi tipici di autenticazione (Authentication):

  • Accesso con nome utente e password
  • Accesso sociale (ad esempio, Accedi con Google)
  • Autenticazione (Authentication) Comunicazione machine-to-machine (ad esempio, API keys)

Non abbiamo usato la frase “Chi sei?” perché:

  • Nel regno dell’ Gestione delle identità e degli accessi (IAM) , l’autenticazione (Authentication) riguarda la verifica della proprietà di un’identità, non l’identificazione della persona o entità. Ad esempio, quando uno dei tuoi familiari utilizza le tue credenziali per accedere al tuo account, non sono te, ma l’identità per il sistema è la stessa.
  • L’identità può essere un utente, un servizio o un dispositivo. Ad esempio, un servizio può autenticarsi a un altro servizio utilizzando API keys.

Differenza tra autenticazione (Authentication) e autorizzazione (Authorization)

Questi due termini sono spesso confusi, ma sono fondamentalmente diversi: Autorizzazione risponde alla domanda “Cosa puoi fare?”. Inoltre, l’autenticazione (Authentication) è un prerequisito per l’autorizzazione (Authorization) perché il sistema deve conoscere l’identità prima di decidere quali azioni può eseguire.

Fattori di autenticazione (Authentication)

L’autenticazione (Authentication) può essere eseguita utilizzando uno o più fattori. Ecco alcuni fattori comuni:

  • Fattore di conoscenza: Qualcosa che sai (ad esempio, password, PIN)
  • Fattore di possesso: Qualcosa che hai (ad esempio, smartphone, token di sicurezza)
  • Fattore di inerzia: Qualcosa che sei (ad esempio, impronta digitale, riconoscimento facciale)

Autenticazione multi-fattore (MFA) è una pratica comune che combina più fattori per aumentare la sicurezza. Ad esempio, quando accedi al tuo conto bancario, potresti dover fornire una password (fattore di conoscenza) e un codice monouso da un’app di autenticazione (fattore di possesso).

Passkey è un moderno fattore di autenticazione (Authentication) che può combinare più fattori ed è resistente agli attacchi di phishing.

Framework (protocolli) di autenticazione (Authentication)

Invece di costruire un sistema di autenticazione (Authentication) fatto in casa, è consigliabile utilizzare framework e protocolli consolidati poiché sono stati testati e revisionati da esperti di sicurezza. Esistono vari framework e protocolli di autenticazione (Authentication) che definiscono come dovrebbe essere eseguita l’autenticazione (Authentication). Due comuni sono:

La scelta del framework dipende dal tuo caso d’uso e dai requisiti. Per le nuove applicazioni, OIDC è raccomandato per il suo design moderno e il supporto per JSON Web Token (JWT) .

Tuttavia, lavorare direttamente con questi protocolli può ancora essere complesso e richiedere tempo. Entrambi i protocolli hanno curve di apprendimento ripide e richiedono un’implementazione attenta per garantire la sicurezza. Invece, utilizzare un Fornitore di identità (Identity provider, IdP) che supporta o è costruito su questi protocolli può semplificare notevolmente il processo di autenticazione (Authentication). Un buon identity provider offrirà anche funzionalità aggiuntive come Autenticazione multi-fattore (MFA) e Single sign-on (SSO) per le tue esigenze future.

Vedi anche