Open Wireless
Come nasce:
Il progetto OpenWireless nasce dall’idea di alcuni componenti dell’HackLab Catanzaro che, resosi conto del sottosviluppo tecnologico/informatico della propria città rispetto al resto della Nazione e di tutta la comunità Mondiale (il cosiddetto Digital Divide), decidono di studiare un progetto tale da portare una ventata di novità nel proprio territorio al fine di garantire una [...]
Come nasce:
Il progetto OpenWireless nasce dall’idea di alcuni componenti dell’HackLab Catanzaro che, resosi conto del sottosviluppo tecnologico/informatico della propria città rispetto al resto della Nazione e di tutta la comunità Mondiale (il cosiddetto Digital Divide), decidono di studiare un progetto tale da portare una ventata di novità nel proprio territorio al fine di garantire una connessione ad internet gratuita in determinate zone cittadine (decise in collaborazione con il Comune) attraverso un qualsiasi dispositivo dotato di connettività wireless (notebook o cellulare di ultima generazione).
Successivamente si è pensato di estendere quest’idea anche ai privati che così potrebbero concedere un ulteriore servizio ai propri clienti e, allo stesso tempo, accrescere la rete OpenWireless.
Di cosa si tratta:
La rete OpenWireless vuole essere uno strumento gratuito a chiunque voglia dotarsi di questo innovativo mezzo per offrire un nuovo servizio a costo zero ai suoi utilizzatori, con la possibilità di adoperarlo veramente ovunque, ad esempio in particolari zone della propria città, in strutture commerciali, ecc…, con una enorme flessibilità di personalizzazione di ogni sua parte, come vedremo in dettaglio più in avanti.
In fine vedremo come il sistema si sviluppa su tre livelli che gestiscono rispettivamente la fase utente, quella del server di zona, e quella che riguarda il server freeRADIUS, colui il quale gestisce l’autenticazione ed il database degli utenti registrati.
Il suo funzionamento:
Affrontiamo ora il funzionamento dell’OpenWireless analizzando i tre livelli che sono stati precedentemente accennati:
Livello utente:
Tramite questo livello è possibile effettuare la registrazione al servizio.
Innanzitutto bisognerà recarsi presso un’area coperta dalla rete OpenWireless e fornire i propri dati personali al fornitore del servizio (questo in base al Decreto Legge “antiterrorismo” n. 144 del 27 Luglio 2005 per permettere la tracciabilità degli accessi degli utenti) il quale effettuerà la registrazione dell’account sul server RADIUS e fornirà i dati di accesso per rendere possibile la successiva connessione da qualunque zona coperta dallo stesso circuito.
Una volta effettuata la registrazione, il nostro dispositivo wireless rileverà la rete OpenWireless alla quale sarà possibile connettersi ed automaticamente si riceverà un indirizzo IP fornito dinamicamente (in DHCP) dal proprio server di zona attraverso il quale stiamo effettuando la connessione.
L’autenticazione avverrà tramite l’immissione dei dati di accesso ricevuti in fase di registrazione da inserire nella home-page (il Captive Portal, di cui successivamente analizzeremo il funzionamento) che presenterà il nostro browser ad ogni primo accesso.
A questo punto ci sarà un processo di autenticazione che farà interagire tra di loro il server di zona con il server freeRADIUS che, tramite il protocollo Kerberos - dettagliato più in avanti - concederà l’accesso al servizio.

Captive Portal
Livello server di zona:
Come già accennato, la prima cosa che contraddistingue il server di zona è la gestione del Captive Portal, un’interfaccia web tramite la quale inserire le proprie credenziali per poter accedere ad Internet.
Una caratteristica molto importante è quella che il suddetto Captive Portal può essere personalizzato per ogni server di zona così da dare maggior risalto a particolari dettagli che il fornitore del servizio preferisce far apparire nelle home-page degli utilizzatori come ad esempio possono essere banner che pubblicizzano caratteristiche del locale che fornisce il servizio.
Tramite il server di zona è anche possibile effettuare delle operazioni che permettono di personalizzare la zona di copertura della rete indipendentemente da ogni altra; tra le tante cose è possibile limitare la banda di utilizzo e inserire regole di firewalling permettendo così di fornire particolari protocolli anziché altri anche creando determinate fasce orarie di utilizzo (per esempio permettere il VOIP nelle ore pasti, l’SMTP al mattino, ecc…).
Una nota molto importante da rilevare è quella che la connessione fornita dal server di zona avverrà tramite protocollo HTTPS che certificherà così una comunicazione criptata tra il client ed il server.
Livello server freeRADIUS - aspetti di sicurezza:
Infine descriviamo il terzo livello - quello più importante dal punto di vista della sicurezza - che viene gestito da un server in cui è stato implementato il protocollo AAA utile a realizzare le funzioni di Autenticazione, Autorizzazione e Accounting.
In particolare, nella fase di Autenticazione, si verifica l’identità del client che accede al servizio, successivamente, nella fase di Autorizzazione avverrà un processo di rilascio di particolari privilegi garantiti dal tipo di autenticazione avvenuto nel passaggio precedente, infine nella fase di Accounting verranno raccolti una serie di dati utili per tracciare le risorse di rete utilizzate durante la connessione.
Siccome per la realizzazione di OpenWireless si è badato molto proprio all’aspetto della sicurezza della navigazione - visto che comunque si tratta di un servizio gratuito a cui chiunque può accedere si è dovuto limitare al minimo possibile l’azione di un ipotetico malintenzionato che accede alla rete - è stata potenziata quella che è la prima fase del protocollo AAA, la fase di Autenticazione.
E’ stato infatti configurato ad-hoc il protocollo Kerberos che è quello maggiormente utilizzato attualmente per questo genere di servizi.

dettaglio dei livelli di OpenWireless
Kerberos - di cosa si tratta:
Come dice la parola stessa Kerberos ricorda il leggendario Cerbero, il “cane a tre teste”.
Proprio come il suo celebre omonimo infatti, questo protocollo si serve di tre fasi ben distinte per gestire quella più importante che è proprio l’autenticazione dell’utente al sistema.
Durante questo stadio, avviene uno scambio di pacchetti tra il client ed il KDC (Key Distribution Center - porzione del server freeRADIUS in cui è gestito il protocollo Kerberos, che si occupa della distribuzione dei ticket per l’accesso al servizio) ovviamente attraverso il server di zona che fa da tramite in questa struttura a tre livelli (vedi figura), come per l’appunto accennavamo già in precedenza.
Descrivendo passo passo tutte le fasi di questo scambio di pacchetti, potremmo così elencarle:
-
richiesta iniziale di autenticazione da parte dell’utente verso l’AS (Authentication Server);
-
risposta dell’AS alla precedente richiesta contenente il ticket criptato con la chiave segreta (generato dal TGS - Ticket Granting Server) e la chiave di sessione criptata con la chiave segreta del server di zona;
-
richiesta di un ticket di servizio da parte del server di zona verso il TGS. All’interno del pacchetto troviamo il ticket ricevuto precedentemente ed un “autenticatore” generato dal server di zona e criptato con la chiave di sessione;
-
risposta del TGS al server di zona: all’interno troveremo il ticket di servizio richiesto (criptato con la chiave segreta del servizio) ed una chiave di sessione di servizio generato dal TGS e criptata con la precedente chiave di sessione;
-
richiesta del server di zona al KDC: comprende una richiesta per accedere al servizio le cui componenti sono il ticket di servizio ricevuto dal TGS al passo precedente ed un autenticatore generato dal server di zona, criptato con la chiave di sessione di servizio generato dal TGS sempre al passo precedente;
-
risposta del KDC al server di zona: tramite questo passaggio finale, il KDC prova di essere l’autenticatore che il server di zona si aspetta di trovare. Da notare che questo pacchetto finale è facoltativo, viene infatti inoltrato solo quando ne fa espressa richiesta il server di zona per una mutua autenticazione;
-
una volta terminata questa fase di autenticazione, il server di zona concede l’accesso alle risorse di rete al client iniziale che ne ha fatto richiesta.

funzionamento protocollo Kerberos
Esaminata la fase di Autenticazione che avviene tramite l’uso del protocollo Kerberos, vediamo ora come avvengono e di cosa si trattano in dettaglio le successive due fasi del protocollo AAA, quella di Autorizzazione e quella di Accounting:
Autorizzazione:
Durante questa fase verranno concessi i dovuti privilegi agli utenti in base alla loro autenticazione avvenuta al passaggio precedente.
Le autorizzazioni possono essere basate su restrizioni come possono essere quelle del “time-of-day restrictions” (restrizioni orarie), restrizioni in base all’ubicazione fisica del client o restrizioni contro login multipli dal medesimo utente.
La maggior parte del tempo in cui si ha la concessione di una certa autorizzazione, costituisce la possibilità di usare un certo tipo di servizio. Alcuni esempi di questi servizi sono il filtraggio di indirizzi IP, assegnamento di IP, instradamento, QoS, controllo di banda, gestione del traffico di rete, servizi di crittografia, ecc… .
Accounting:
Quest’ultima fase rappresenta tutti quei servizi che servono per la tracciabilità della sessione dell’utente e delle risorse che utilizza durante la sua navigazione. Queste informazioni sono utilizzate per la gestione, pianificazione, fatturazione o altri fini simili.
Le informazioni tipiche che vengono raccolte in questa fase sono l’identità dell’utente, la natura del servizio offerto, quando il servizio è stato erogato e quando ha finito di esserlo.