Apr 4 2005

Comunicazioni Protette


by tonycrypt

Internet è un mezzo decisamente insicuro per comunicare. Tutti i dati che partono dalla vostra tastiera e giungono sino ad un computer situato a molte migliaia di chilometri di distanza percorrono una grande quantità di cavi e mezzi fisici diversi e vengono trattati da un notevole numero di computer. Chiunque abbia accesso ad essi potrebbe teoricamente spiare le vostre comunicazioni; sebbene ovviamente la sicurezza sia relativamente garantita dalla enorme quantità di dati, per cui cercare i blocchi di dati contenenti un’informazione particolare sarebbe come cercare un ago in un pagliaio, una persona intenzionata a spiare proprio voi, e tale da conoscere l’indirizzo del vostro computer e da avere accesso ad uno di questi sistemi, potrebbe intercettare facilmente tutti i messaggi spediti dal vostro computer che attraversino il sistema su cui è in ascolto. Ovviamente, il punto migliore per intercettare le vostre comunicazioni è molto vicino a voi, ad esempio sul gateway che collega la vostra rete locale al resto di Internet. D’altra parte, esistono programmi detti sniffer che intercettano tutti i messaggi in transito sulla rete locale e selezionano quelli interessanti, ad esempio in base al mittente o al contenuto. Tanto per fare un esempio, esistono sniffer che riconoscono i messaggi contenenti la stringa di caratteri password. Per complicare ulteriormente le cose, esistono sistemi che si sostituiscono al vostro computer nel dialogo con quello remoto, assumendo il vostro indirizzo (IP spoofing), e mandando dati che sembrano provenire da voi, ma che sono falsificati! Gli amministratori della vostra rete locale o del vostro provider, inoltre, possono facilmente, se disonesti, leggere le vostre informazioni, ad esempio la vostra posta, o combinare guai “a nome vostro”. E si tratta di tecniche molto semplici e diffuse. Utilizzando un programma come quello che ho creato io e che trovate pubblicizzato sul sito, è possibile inviare e-mail falsificando mittente e data di invio. Il punto più debole della catena, quindi, è proprio il tratto di “navigazione costiera” che va tra il vostro computer e il “mare aperto” della rete, attraverso la rete locale a cui vi collegate. Mentre, come vedremo, esistono sistemi crittografici per proteggere efficacemente le vostre comunicazioni a lungo raggio, un amministratore locale disonesto potrebbe essere difficile da fermare! Un ulteriore problema da considerare è quello dell’anonimato o della falsificazione dell’identità dei vostri interlocutori. Nessuno vi permette di sapere che la persona che dialoga con voi è effettivamente colui che pretende di essere, o che un indirizzo che oggi funziona ed esiste continuerà a funzionare ed esistere anche domani. Una persona esperta può facilmente inviarvi E-mail falsificate, o scrivere articoli in un newsgroup sotto falso nome; del resto esistono siti creati proprio allo scopo di fornire recapiti postali anonimi. Anche se l’identità del destinatario dei vostri messaggi è certa, comunque, egli potrebbe non comportarsi correttamente: ad esempio tutte le transazioni commerciali in rete, che si basano sull’invio tramite rete dei codici della propria carta di credito, sono decisamente pericolose, per quanto la loro crescente diffusione indichi che i problemi non si verificano tanto spesso. Infine, qualunque utente della rete Internet può accedere dall’esterno alla vostra rete locale e ai vostri computer. Sebbene egli non possa entrare all’interno di nessun sistema protetto senza conoscere la relativa password, la semplice possibilità di entrare sulla rete potrebbe permettere in qualche modo l’accesso a informazioni riservate. Se voi siete l’amministratore di una rete locale che deve essere connessa a Internet, avete il problema di come garantire che gli utenti esterni non possano andare dove non devono.

Sono stati inventati vari sistemi di crittografia allo scopo di proteggere il contenuto delle comunicazioni e/o di autenticare l’identità del mittente di un messaggio. I sistemi di crittografia si basano sull’uso di una chiave (key) che viene usata dal mittente all’interno di una serie di trasformazioni matematiche effettuate sul corpo del messaggio in chiaro (plaintext), che viene così trasformato in un testo cifrato (ciphertext). Il destinatario, usando una chiave uguale o diversa a seconda dei sistemi, provvede alla decodifica del messaggio cifrato. Un buon sistema di crittografia non deve essere praticamente attaccabile per “forza bruta” (ossia provando tutte le chiavi possibili!). I sistemi di crittografia si dividono in due categorie:

Sistemi a chiave segreta (secret key)

In questi sistemi, il messaggio viene criptato usando una chiave che deve essere nota solo al mittente e al destinatario: difatti la chiave usata per la decodifica deriva da quella usata per la codifica. Un esempio molto semplice di cifratura a chiave segreta si avrebbe se noi, per criptare un messaggio, sostituissimo ogni lettera con quella che la segue nell’alfabeto. Per decrittare il messaggio è necessario usare la stessa chiave all’incontrario (ossia sostituire ogni lettera del messaggio cifrato con quella che la precede). Il problema di un sistema di questo tipo è che il mittente e il destinatario devono scambiarsi la chiave, che ovviamente non può essere acclusa al messaggio, ma deve essere spedita in altro modo.

Sistemi a chiave pubblica

In questi sistemi, ad ogni persona vengono assegnate due chiavi: una chiave pubblica (public key) e una chiave privata (private key), tali che, sebbene la chiave privata sia “capace” di decrittare un messaggio cifrato con la chiave pubblica, non sia possibile ricavare la chiave privata direttamente da quella pubblica (al contrario di quanto avviene nei sistemi a chiave segreta). La chiave pubblica viene messa a disposizione di chiunque, all’interno di un apposito archivio; la propria chiave privata, invece, deve venire gelosamente conservata da ciascuno. Per spedire un messaggio ad un determinato utente, è necessario procurarsi la sua chiave pubblica e criptare il messaggio con essa; il destinatario, e soltanto lui, potrà decrittare il messaggio con la propria chiave privata. In questo modo viene meno il problema della comunicazione della chiave.


Apr 1 2005

Localizzazione telefoni cellulari


by tonycrypt

Vi sarete chiesti se é possibile localizzare la posizione geografica di un telefonino cellulare sul territorio e conoscerne la sua esatta posizione. La risposta é ovviamente si, però fino ad oggi questa possibilità era riservata soltanto agli operatori di rete ed alle Forze dell’Ordine. Più di qualche arresto degli ultimi tempi é stato eseguito proprio localizzando i cellulari in possesso dei malavitosi.

Il processo di localizzazione si basa sulla possibilità del GSM di conoscere la distanza approssimativa di un terminale GSM dalla stazione radio base con la quale é connesso. Ripetendo in sequenza l’operazione di stima da più BTS circostanti, ed effettuando alcune operazioni di triangolazione matematica é possibile stimare con buona precisione la posizione sul territorio del telefonino. Gli operatori stanno preparandosi a commercializzare il servizio di localizzazione che consentirà di conoscere con precisione ed in tempo reale la posizione geografica di un abbonato. Queste nuove applicazioni consentiranno, inoltre, di localizzare gli utenti in caso di guasti e incidenti stradali ed inoltrare chiamate ai più vicini soccorsi stradali o autofficine, che saranno in grado di intervenire celermente. Gli utilizzatori di questi prodotti potranno individuare con facilità la loro posizione e le più vicine infrastrutture come banche, ristoranti e hotel.

Cellpoint System offre una tecnologia basata proprio sullo standard GSM per la localizzazione. Tecnologia che inizialmente era stata progettata per determinare la posizione di veicoli rubati, é stata ora finalizzata alla localizzazione di terminali GSM. Il servizio entra in concorrenza con il più noto sistema di localizzazione satellitare GPS (Global Positioning System), offrendo una maggiore versatilità d’uso rispetto a quest’ultimo. Il GPS fornisce il massimo delle prestazioni all’aperto e possibilmente fuori dai centri abitati; inoltre richiede di inserire nel terminale GSM anche un ricevitore GPS dedicato, incrementando i costi del prodotto. Cellpoint sfrutta invece le possibilità offerte dal servizio SIM Toolkit del GSM: semplicemente utilizzando una SIM dotata del software apposito e senza nessuna modifica al telefonino, il sistema é già pronto all’uso. Per ulteriori informazioni http://www.cellpoint.com.

La posizione di un terminale GSM può essere stabilita ricorrendo alle informazioni che sono già disponibili nella rete GSM, senza quindi intervenire in alcun modo sui terminali stessi. Si parla in questo caso di localizzazione cell-based, cioé basata sulla cella che “ospita” istante per istante un certo mobile. La precisione con cui la posizione può essere accurata, dipende dalla pianificazione delle celle nella rete e dallo stato di accesione o meno del terminale stesso. Sono possibili quattro tipi diversi di localizzazione:

Cella omnidirezionale
Se la cella é di tipo omnidirezionale, é possibile conoscere la posizione di un terminale con precisione massima pari al raggio della cella stessa. Il mobile é quindi all’interno della zona di copertura della cella. Si ricorda che una cella omnidirezionale é creata da antenne che irradiano in tutte le direzioni indistintamente.

Cella omnidirezionale e timing advance
Per aumentare la precisione di localizzazione si può ricorrere al timing advance. La rete, stimolando il mobile ad una connessione, stima la distanza del mobile da essa, calcolando i tempi di ritardo nella trasmissione. La zona di localizzazione si riduce da un cerchio ad una corona circolare. Il mobile é quindi all’interno della corona circolare.

Cella settore
Se il sito irradia più settori, é possibile localizzare il terminale con la precisione massima del settore circolare coperto dalla cella medesima. Il mobile é quindi all’interno della corona circolare.

Cella settore e timing advance
Per aumentare la precisione di localizzazione si può ricorrere anche in questo caso al timing advance. La zona di localizzazione si riduce da una corona circolare, ad un settore di corona circolare. Il mobile é quindi all’interno della corona circolare.

Infine per aumentare la precisione della misura é possibile fare ricorso a più BTS (più celle) e quindi stimare la posizione del mobile triangolando i dati relativi alle distanze da ciascuna BTS. L’operazione risulta più complessa però consente di raggiungiere risultati molto più precisi. L’accuratezza della misura dipende ovviamente dalla pianificazione della rete, in generale sarà più accurata nelle città dove le celle hanno un raggio ridotto, e meno precisa nelle zone rurali. La precisione media é circa in un raggio di 300-1000 metri, ma il grosso vantaggio é che il sistema funziona con qualsiasi terminale GSM già oggi in commercio. Ricorrendo ad un ricevitore GPS é possibile spingere la precisione fino a poche decine di metri. La procedura di localizzazione può richiedere da 2 a 8 secondi, mediamente 5 secondi sono però sufficienti.

La prossima generazione di telefoni cellulari renderà molto più facile esercitare una sorveglianza nascosta sui cittadini. Ora gli attivisti stanno avvisando la gente che utilizzare uno dei nuovi telefoni potrebbe rendere estremamente duro mantenere la propria privacy. Riconoscendo tali implicazioni, le compagnie telefoniche stanno cercando un sistema per consentire ai clienti di nascondere dove si trovano premendo un bottone. Quantunque i cellulari GSM esistenti possono essere utilizzati come congegni di localizzazione, possono soltanto dare una posizione entro cento o duecento metri. Questa accuratezza può essere migliorata se i cellulari sono muniti di uno speciale software che può dare una posizione nel raggio di 50 metri da quella effettiva. Le più nuove tecnologie di telefonia mobile come la General Packet Radio Services (GPRS) e Universal Mobile Telecommunication Services (UMTS) hanno inseriti dei sistemi di localizzazione anche più precisi.