Passa al contenuto principale

2. Operation (Funzionamento)

2. Operation (Funzionamento)

Quando un client è configurato per utilizzare RADIUS, qualsiasi utente del client presenta informazioni di autenticazione al client. Questo potrebbe avvenire con un prompt di login personalizzabile, dove l'utente è tenuto a inserire il proprio nome utente e password. In alternativa, l'utente potrebbe utilizzare un protocollo di framing del collegamento come il Point-to-Point Protocol (PPP), che ha pacchetti di autenticazione che trasportano queste informazioni.

Una volta che il client ha ottenuto tali informazioni, può scegliere di autenticarsi utilizzando RADIUS. Per farlo, il client crea un "Access-Request" contenente Attributi come il nome dell'utente, la password dell'utente, l'ID del client e l'ID della Porta a cui l'utente sta accedendo. Quando è presente una password, viene nascosta utilizzando un metodo basato sull'algoritmo RSA Message Digest MD5 [3].

L'Access-Request viene inviato al server RADIUS tramite la rete. Se non viene restituita alcuna risposta entro un periodo di tempo, la richiesta viene reinviata un certo numero di volte. Il client può anche inoltrare le richieste a un server alternativo o a server alternativi nel caso in cui il server primario sia inattivo o non raggiungibile. Un server alternativo può essere utilizzato dopo che un certo numero di tentativi al server primario fallisce, oppure in modalità round-robin. Gli algoritmi di retry e fallback sono oggetto di ricerca corrente e non sono specificati in dettaglio in questo documento.

Una volta che il server RADIUS riceve la richiesta, valida il client mittente. Una richiesta da un client per il quale il server RADIUS non ha un segreto condiviso DEVE essere scartata silenziosamente. Se il client è valido, il server RADIUS consulta un database di utenti per trovare l'utente il cui nome corrisponde alla richiesta. La voce utente nel database contiene un elenco di requisiti che devono essere soddisfatti per consentire l'accesso all'utente. Questo include sempre la verifica della password, ma può anche specificare il/i client o la/le porta/e a cui l'utente è autorizzato ad accedere.

Il server RADIUS PUÒ effettuare richieste ad altri server per soddisfare la richiesta, nel qual caso agisce come client.

Se nel Access-Request erano presenti attributi Proxy-State, essi DEVONO essere copiati non modificati e nell'ordine nel pacchetto di risposta. Altri Attributi possono essere posizionati prima, dopo o anche tra gli attributi Proxy-State.

Se una qualsiasi condizione non è soddisfatta, il server RADIUS invia una risposta "Access-Reject" indicando che questa richiesta utente non è valida. Se desiderato, il server PUÒ includere un messaggio di testo nell'Access-Reject che PUÒ essere visualizzato dal client all'utente. Nessun altro Attributo (eccetto Proxy-State) è consentito in un Access-Reject.

Se tutte le condizioni sono soddisfatte e il server RADIUS desidera emettere una challenge a cui l'utente deve rispondere, il server RADIUS invia una risposta "Access-Challenge". Esso PUÒ includere un messaggio di testo da visualizzare dal client all'utente che richiede una risposta alla challenge, e PUÒ includere un attributo State.

Se il client riceve un Access-Challenge e supporta challenge/response, PUÒ visualizzare il messaggio di testo, se presente, all'utente, e quindi richiedere all'utente una risposta. Il client quindi reinvia il suo Access-Request originale con un nuovo ID di richiesta, con l'attributo User-Password sostituito dalla risposta (crittografata), e includendo l'attributo State dall'Access-Challenge, se presente. Solo 0 o 1 istanze dell'attributo State DOVREBBERO essere presenti in una richiesta. Il server può rispondere a questo nuovo Access-Request con un Access-Accept, un Access-Reject o un altro Access-Challenge.

Se tutte le condizioni sono soddisfatte, l'elenco dei valori di configurazione per l'utente viene inserito in una risposta "Access-Accept". Questi valori includono il tipo di servizio (ad esempio: SLIP, PPP, Login User) e tutti i valori necessari per fornire il servizio desiderato. Per SLIP e PPP, questo può includere valori come indirizzo IP, subnet mask, MTU, compressione desiderata e identificatori di filtro pacchetti desiderati. Per gli utenti in modalità carattere, questo può includere valori come protocollo e host desiderati.