Archive for the ‘Ubiquitous computing’ Category

Shaking a secure Bluetooth connection

Friday, January 11th, 2008

Shake to connect - Nokia 5500La notizia non è recentissima, ma ugualmente degna di nota. Rene Mayrhofer e Hans Gellersen, due ricercatori della British Lancaster university, hanno presentato una tecnologia che dovrebbe semplificare la creazione di un link sicuro tra due dispositivi mobili wireless.

Un prototipo funzionante dell’idea alla base di questo approccio, chiamato shake-to-connect, permette di stabilire una connessione Bluetooth sicura tra due cellulari, agitandoli energicamente nella stessa mano.

Shake well before use

L’idea è quella di utilizzare un accelerometro (requisito fondamentale), installato su ciascuno dei dispositivi mobili da interconnettere, per calcolare un pattern dei movimenti compiuti da braccio e mano mentre si agitano i due dispositivi. La sequenza che ne deriva, secondo i ricercatori, è molto difficile da replicare da una persona che imita i movimenti di un’altra, e può essere così utilizzata come chiave iniziale per un protocollo di autenticazione.

Gli inventori di questo bizzarro metodo, propongono due differenti protocolli di autenticazione, basati sul pattern di movimenti rilevati dagli accelerometri.

Il primo metodo di autenticazione proposto, prevede lo scambio iniziale di una coppia di chiavi attraverso il protocollo Diffie-Hellman. Queste chiavi vengono poi utilizzate per cifrare, attraverso una variante del protocollo interlock, lo scambio di pattern rilevati dagli accelerometri dei rispettivi dispositivi. Ciascun dispositivo confronta così il proprio pattern con quello ricevuto da remoto e determina, con un certo grado di approssimazione, se i due pattern sono identici. (nota: l’interlock protocol ha la duplice funzione di proteggere da attacchi man-in-the-middle e garantire che un dispositivo non sia in grado di inviare in risposta il pattern appena ricevuto dall’altro endpoint)

Il secondo metodo di autenticazione, invece, genera direttamente la chiave a partire dal pattern di movimenti. In particolare, il pattern viene suddiviso in più segmenti, su ciascuno dei quali viene calcolato un hash. In questo caso, il dispositivo A invia a B l’hash del primo segmento; B confronta l’hash ricevuto con quello calcolato in locale. Successivamente, il dispositivo B invia il secondo segmento ad A, e anch’egli lo confronta con quello rilevato in locale. Questa operazione viene ripetuta per un numero ragionevole di volte e, se tutti gli hash combaciano, la connessione viene instaurata con successo.

Commenti

La tecnica proposta è sicuramente buffa e, per certi aspetti, anche ridicola. Da un punto di vista tecnico, sarebbe interessante conoscere la precisione degli accelerometri installati nei telefoni cellulari e misurare la complessità nel replicare una sequenza di movimenti, semplicemente imitando un’altra persona.

Ho qualche difficoltà ad immaginare come potrei effettuare il pairing tra un cellulare e la mia autoradio (dotata di trasmettitore Bluetooth) e l’idea non mi sembra così brillante da essere premiata con un best paper alla 5th International Conference on Pervasive Computing (Toronto, Canada).

I vostri commenti?

Riferimenti