Protocolli di autenticazione: LDAP vs Kerberos vs OAuth2 vs SAML vs RADIUS

Ott 25, 2021
admin

L’autenticazione degli utenti nelle applicazioni è una delle maggiori sfide attuali che il dipartimento IT sta affrontando. Ci sono molti sistemi diversi a cui un utente ha bisogno di accedere, ed è per questo che la maggior parte dei protocolli di autenticazione sono tipicamente standard aperti.

Leggendo le domande sui protocolli di autenticazione su Stack Overflow, diventa abbastanza chiaro che questo può essere un argomento confuso e travolgente.

In questo post del blog, presentiamo i cinque protocolli di autenticazione più comunemente usati e spieghiamo come funzionano e i loro vantaggi.

LDAP

LDAP (Lightweight Directory Access Protocol) è un protocollo software che permette a chiunque di localizzare organizzazioni, individui e altre risorse come file e dispositivi in una rete, sia su Internet pubblica che su una intranet aziendale.

È giusto dire che LDAP è diventato un programma popolare. È servito come base su cui Microsoft ha costruito Active Directory, ed è stato determinante nello sviluppo delle directory basate su cloud di oggi (note anche come Directories-as-a-Service).

LDAP invia messaggi tra server e applicazioni client che possono includere tutto, dalle richieste del client alla formattazione dei dati.

A livello funzionale, LDAP funziona legando un utente LDAP a un server LDAP. Il client invia una richiesta di operazione che chiede un particolare insieme di informazioni, come le credenziali di accesso dell’utente o altri dati organizzativi. Il server LDAP elabora la richiesta in base al suo linguaggio interno, comunica con i servizi di directory, se necessario, e risponde. Quando il client riceve la risposta, si scollega dal server ed elabora i dati di conseguenza.

Prendi la nostra Guida alla generazione di lead per MSP

Impara di più su come generare lead con successo e scalare

Vai to Guide

Prendi la nostra Guida alla Generazione di Lead per MSPs

Kerberos

Kerberos è un protocollo di autenticazione di rete. È progettato per fornire una forte autenticazione per applicazioni client/server utilizzando la crittografia a chiave segreta. Un’implementazione gratuita di questo protocollo è disponibile dal Massachusetts Institute of Technology. Kerberos è disponibile anche in molti prodotti commerciali.

Questi sono i passi più basilari fatti per autenticarsi in un ambiente Kerberizzato.

  1. Il cliente richiede un ticket di autenticazione (TGT) dal Key Distribution Center (KDC).
  2. Il KDC verifica le credenziali e invia indietro un TGT criptato e una chiave di sessione.
  3. Il cliente richiede di accedere a un’applicazione su un server. Una richiesta di ticket per il server dell’applicazione viene inviata al KDC che consiste nel TGT del cliente e un autenticatore.
  4. Il KDC restituisce un ticket e una chiave di sessione all’utente.
  5. Il ticket viene inviato al server dell’applicazione. Una volta che il ticket e l’autenticatore sono stati ricevuti, il server può autenticare il client.
  6. Il server risponde al client con un altro autenticatore. Alla ricezione di questo autenticatore, il client può autenticare il server.

Oauth 2

Oauth 2 è un framework di autorizzazione che permette alle applicazioni di ottenere un accesso limitato agli account utente su un servizio HTTP, come Facebook, GitHub e DigitalOcean.

Ecco una descrizione delle fasi di base del processo di autorizzazione:

  1. L’applicazione richiede all’utente l’autorizzazione per accedere alle risorse del servizio.
  2. Se l’utente approva, l’applicazione riceve una concessione di autorizzazione.
  3. L’applicazione richiede un token di accesso dal server di autorizzazione (API). Questo viene fatto presentando la sua identità e la concessione di autorizzazione.
  4. Se l’identità dell’applicazione è autenticata e la concessione di autorizzazione è valida, l’API emette un token di accesso all’applicazione. L’autorizzazione è completa.
  5. L’applicazione richiede la risorsa dall’API e presenta il token di accesso per l’autenticazione.
  6. Se il token di accesso è valido, l’API serve la risorsa all’applicazione.
Oauth2
Fonte: Digital Ocean

SAML

Security Assertion Markup Language (SAML) è un formato di dati basato su XML, standard aperto per lo scambio di dati di autenticazione e autorizzazione tra parti, in particolare, tra un fornitore di identità e un fornitore di servizi. SAML è un prodotto del comitato tecnico dei servizi di sicurezza OASIS.

JumpCloud è uno dei migliori fornitori di Single Sign-On (SSO) che supporta i protocolli di autenticazione SAML. L’SSO di JumpCloud fornisce integrazioni SAML con 700 applicazioni aziendali popolari (incluso Kisi) e funzionalità di gestione automatizzata del ciclo di vita degli utenti come il provisioning Just-in-Time (JIT) e il provisioning/deprovisioning SCIM.

Ecco una descrizione delle fasi tipiche del processo di autenticazione:

  1. L’utente accede all’applicazione remota usando un link su una intranet o simile e l’applicazione viene caricata.
  2. L’applicazione identifica l’origine dell’utente (tramite sottodominio dell’applicazione, indirizzo IP dell’utente o simile). Reindirizza l’utente al fornitore di identità, chiedendo l’autenticazione.
  3. L’utente ha una sessione browser attiva esistente con il fornitore di identità o ne stabilisce una accedendo al fornitore di identità.
  4. Il fornitore di identità costruisce la risposta di autenticazione sotto forma di un documento XML contenente il nome utente o l’indirizzo e-mail dell’utente. Questo viene poi firmato usando un certificato X.509
  5. Il fornitore di servizi (che già conosce il fornitore di identità e ha un’impronta digitale del certificato) recupera la risposta di autenticazione e la convalida usando l’impronta digitale del certificato.
  6. L’identità dell’utente è stabilita, e all’utente viene fornito l’accesso all’app.

RADIUS

Remote Authentication Dial-In User Service (RADIUS) è un protocollo di rete che fornisce una gestione centralizzata di autenticazione, autorizzazione e contabilità (AAA o Triple A) per gli utenti che si connettono e utilizzano un servizio di rete.

L’autenticazione RADIUS inizia quando l’utente richiede l’accesso a una risorsa di rete tramite il Remote Access Server (RAS). L’utente inserisce un nome utente e una password, che vengono criptati dal server RADIUS prima di essere inviati attraverso il processo di autenticazione.

Poi il server RADIUS controlla l’accuratezza delle informazioni utilizzando schemi di autenticazione per verificare i dati. Questo viene fatto confrontando le informazioni fornite dall’utente con un database memorizzato localmente o facendo riferimento a fonti esterne come i server Active Directory.

Il server RADIUS risponderà quindi accettando, contestando o rifiutando l’utente. Ai singoli utenti può essere concesso un accesso limitato senza influenzare gli altri utenti. Nel caso di una sfida, il server RADIUS richiede ulteriori informazioni all’utente per verificare il suo ID utente – che può essere un PIN o una password secondaria. In caso di rifiuto, all’utente viene negato incondizionatamente ogni accesso al protocollo RADIUS.

Quindi quale scegliere?

LDAP, Kerberos, OAuth2, SAML e RADIUS sono tutti utili per diversi scopi di autorizzazione e autenticazione e sono spesso usati con SSO.

Il protocollo che scegliete dovrebbe riflettere i vostri bisogni applicativi e l’infrastruttura esistente. Aiuta a scegliere una soluzione semplice e standardizzata che evita l’uso di workaround per l’interoperabilità con le applicazioni native. Questo è il motivo per cui SAML è una buona scelta in quanto si integra con l’SSO di JumpCloud e 700 applicazioni aziendali popolari.

Se stai cercando altri contenuti relativi all’SSO, puoi controllare la nostra guida su come decidere quale tipo di single sign-on utilizzare.

Link rilevanti

  • Valutazione della sicurezza fisica | Best Practices & Processo di audit
  • Cos’è l’IoT – Definizioni dagli esperti del settore
  • Strumenti di gestione dell’identità e dell’accesso (IAM)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.