5. Attributes (Attributi)
5. Attributes (Attributi)
Gli Attributes (attributi) RADIUS trasportano i dettagli specifici di autenticazione, autorizzazione, informazione e configurazione per la richiesta e la risposta.
La fine dell'elenco degli Attributes è indicata dalla lunghezza del pacchetto RADIUS.
Alcuni Attributes possono essere inclusi più di una volta. L'effetto di questo è specifico dell'Attribute ed è specificato in ogni descrizione dell'Attribute. Una tabella riassuntiva è fornita alla fine della sezione "Attributes".
Se sono presenti più Attributes con lo stesso Type, l'ordine degli Attributes con lo stesso Type deve essere preservato da tutti i proxy. L'ordine degli Attributes di Types diversi non è richiesto essere preservato. Un server o client RADIUS non deve avere alcuna dipendenza dall'ordine degli attributi di tipi diversi. Un server o client RADIUS non deve richiedere che gli attributi dello stesso tipo siano contigui.
Quando la descrizione di un Attribute limita i tipi di pacchetti in cui può essere contenuto, questo si applica solo ai tipi di pacchetti definiti in questo documento, ovvero Access-Request, Access-Accept, Access-Reject e Access-Challenge (Codici 1, 2, 3 e 11). Altri documenti che definiscono altri tipi di pacchetti possono anche utilizzare gli Attributes descritti qui. Per determinare quali Attributes sono consentiti nei pacchetti Accounting-Request e Accounting-Response (Codici 4 e 5), fare riferimento al documento RADIUS Accounting [5].
Allo stesso modo, quando i tipi di pacchetti definiti qui affermano che solo certi Attributes sono permessi in essi, i futuri memo che definiscono nuovi Attributes dovrebbero indicare in quali tipi di pacchetti i nuovi Attributes possono essere presenti.
Un riassunto del formato dell'Attribute è mostrato di seguito. I campi sono trasmessi da sinistra a destra.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| Type | Length | Value ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Type
Il campo Type è un ottetto. I valori aggiornati del campo Type RADIUS sono specificati nell'RFC "Assigned Numbers" più recente [6]. I valori 192-223 sono riservati per uso sperimentale, i valori 224-240 sono riservati per uso specifico dell'implementazione e i valori 241-255 sono riservati e non dovrebbero essere utilizzati.
Un server RADIUS può ignorare gli Attributes con un Type sconosciuto.
Un client RADIUS può ignorare gli Attributes con un Type sconosciuto.
Questa specifica riguarda i seguenti valori:
1 User-Name
2 User-Password
3 CHAP-Password
4 NAS-IP-Address
5 NAS-Port
6 Service-Type
7 Framed-Protocol
8 Framed-IP-Address
9 Framed-IP-Netmask
10 Framed-Routing
11 Filter-Id
12 Framed-MTU
13 Framed-Compression
14 Login-IP-Host
15 Login-Service
16 Login-TCP-Port
17 (unassigned)
18 Reply-Message
19 Callback-Number
20 Callback-Id
21 (unassigned)
22 Framed-Route
23 Framed-IPX-Network
24 State
25 Class
26 Vendor-Specific
27 Session-Timeout
28 Idle-Timeout
29 Termination-Action
30 Called-Station-Id
31 Calling-Station-Id
32 NAS-Identifier
33 Proxy-State
34 Login-LAT-Service
35 Login-LAT-Node
36 Login-LAT-Group
37 Framed-AppleTalk-Link
38 Framed-AppleTalk-Network
39 Framed-AppleTalk-Zone
40-59 (reserved for accounting)
60 CHAP-Challenge
61 NAS-Port-Type
62 Port-Limit
63 Login-LAT-Port
Length
Il campo Length è un ottetto e indica la lunghezza di questo Attribute inclusi i campi Type, Length e Value. Se un Attribute viene ricevuto in un Access-Request ma con una Length non valida, dovrebbe essere trasmesso un Access-Reject. Se un Attribute viene ricevuto in un pacchetto Access-Accept, Access-Reject o Access-Challenge con una lunghezza non valida, il pacchetto deve essere trattato come un Access-Reject oppure scartato silenziosamente.
Value
Il campo Value contiene zero o più ottetti e contiene informazioni specifiche dell'Attribute. Il formato e la lunghezza del campo Value sono determinati dai campi Type e Length.
Si noti che nessuno dei tipi in RADIUS termina con un NUL (hex 00). In particolare, i tipi "text" e "string" in RADIUS non terminano con un NUL (hex 00). L'Attribute ha un campo di lunghezza e non utilizza un terminatore. Text contiene caratteri 10646 [7] codificati UTF-8 e String contiene dati binari a 8 bit. I server e i client devono essere in grado di gestire i null incorporati. Gli implementatori RADIUS che utilizzano C devono fare attenzione a non utilizzare strcpy() quando gestiscono le stringhe.
Il formato del campo value è uno dei cinque tipi di dati. Si noti che il tipo "text" è un sottoinsieme del tipo "string".
-
text: 1-253 ottetti contenenti caratteri 10646 [7] codificati UTF-8. Il testo di lunghezza zero (0) non deve essere inviato; omettere invece l'intero attributo.
-
string: 1-253 ottetti contenenti dati binari (valori da 0 a 255 decimale, inclusi). Le stringhe di lunghezza zero (0) non devono essere inviate; omettere invece l'intero attributo.
-
address: Valore a 32 bit, ottetto più significativo per primo.
-
integer: Valore senza segno a 32 bit, ottetto più significativo per primo.
-
time: Valore senza segno a 32 bit, ottetto più significativo per primo -- secondi dal 00:00:00 UTC, 1 gennaio 1970. Gli Attributes standard non utilizzano questo tipo di dati ma è presentato qui per un possibile uso in attributi futuri.
Descrizioni degli Attributi
- 5.1 User-Name
- 5.2 User-Password
- 5.3 CHAP-Password
- 5.4 NAS-IP-Address
- 5.5 NAS-Port
- 5.6 Service-Type
- 5.7 Framed-Protocol
- 5.8 Framed-IP-Address
- 5.9 Framed-IP-Netmask
- 5.10 Framed-Routing
- 5.11 Filter-Id
- 5.12 Framed-MTU
- 5.13 Framed-Compression
- 5.14 Login-IP-Host
- 5.15 Login-Service
- 5.16 Login-TCP-Port
- 5.17 (unassigned)
- 5.18 Reply-Message
- 5.19 Callback-Number
- 5.20 Callback-Id
- 5.21 (unassigned)
- 5.22 Framed-Route
- 5.23 Framed-IPX-Network
- 5.24 State
- 5.25 Class
- 5.26 Vendor-Specific
- 5.27 Session-Timeout
- 5.28 Idle-Timeout
- 5.29 Termination-Action
- 5.30 Called-Station-Id
- 5.31 Calling-Station-Id
- 5.32 NAS-Identifier
- 5.33 Proxy-State
- 5.34 Login-LAT-Service
- 5.35 Login-LAT-Node
- 5.36 Login-LAT-Group
- 5.37 Framed-AppleTalk-Link
- 5.38 Framed-AppleTalk-Network
- 5.39 Framed-AppleTalk-Zone
- 5.40 CHAP-Challenge
- 5.41 NAS-Port-Type
- 5.42 Port-Limit
- 5.43 Login-LAT-Port
- 5.44 Table of Attributes