The usage of Online Social Networks (OSNs) is increasing day-to-day, reaching a user base unparalleled by previous online communication systems. However, the impressive amount of sensitive information stored on them introduces serious risks for the privacy of their users. In this work, we aim to design an end-to-end encrypted OSN which allows easy one-to-one and many-to-many communication. The system should not require any knowledge about the underlying cryptosystem and scale in the number of users. The OSN client should also protect the metadata of communication, such as the social graph. To achieve these objectives, we designed Snake, an HTML5 in-browser application interacting with a dumb storage server. We use the state of the art protocol for authenticated key agreement, FHMQV, and provide two ways to authenticate public keys in-band: the Socialist Millionaire Protocol and a form of Web of Trust. Many-to-many communication is designed to handle dynamic groups in a scalable way. Thanks to a key graph system we are able to maintain a logarithmic cost to update the group key. We also define policies for an honest storage server to protect communication metadata. In particular, we identify what are the essential information that must be stored in an intelligible form, for the storage server to be able to offer the service without major performance drops. With this approach we are able to leave almost no useful information for an attacker when the data is at rest. Finally, we evaluate the user experience, the system performance and the overall overhead for the end user.

Gli OSN stanno acquistando una sempre maggiore popolarità. Tuttavia, l'enorme quantità di informazioni sensibili salvata su di essi introduce seri problemi di privacy per l'utente finale. In questa tesi, il nostro obiettivo è progettare un OSN in cui i dati sono crittografati end-to-end e che permetta una semplice comunicazione tra singoli utenti e in gruppo. Il sistema non deve richiedere alcuna conoscenza a riguardo il sistema crittografico sottostante e deve scalare in presenza di un elevato numero di utenti. Il sistema deve anche occuparsi di proteggere le meta-informazioni della comunicazione, e in particolare il grafo delle relazioni tra gli utenti. Per raggiungere questi obiettivi, abbiamo progettato Snake, un'applicazione HTML5 in-browser che interagisce con un dumb server. Per lo scambio chiavi abbiamo utilizzato lo stato dell'arte, l'algoritmo FHMQV. Per l'autenticazione delle chiavi pubbliche abbiamo introdotto due opzioni: il protocollo del socialista milionario e una forma di Web of Trust. Lo scambio di messaggi all'interno di un gruppo è stata progettata per poter gestire gruppi dinamici in maniera scalabile. Infatti, grazie ad un sistema basato su un key graph, siamo in grado di mantenere un costo logaritmico per l'aggiornamento della chiave di gruppo. Abbiamo definito una serie di politiche per un server onesto che intenda proteggere le meta-informazioni delle comunicazioni. In particolare, abbiamo identificato quali sono le informazioni essenziali da immagazzinare in maniera comprensibile dal server per far sì che il servizio funzioni senza eccessive perdite di prestazioni. Con questo approccio siamo stati in grado di non lasciare quasi alcuna informazione utile ad un attaccante che abbia accesso ai dati in condizione di riposo. Infine, abbiamo valutato l'esperienza utente, le prestazioni del sistema e il ritardo aggiuntivo introdotto per l'utilizzatore finale.

Snake : a privacy aware online social network providing anonymity of outsourced data at rest

DI FEDERICO, ALESSANDRO;BERETTA, MICHELE
2012/2013

Abstract

The usage of Online Social Networks (OSNs) is increasing day-to-day, reaching a user base unparalleled by previous online communication systems. However, the impressive amount of sensitive information stored on them introduces serious risks for the privacy of their users. In this work, we aim to design an end-to-end encrypted OSN which allows easy one-to-one and many-to-many communication. The system should not require any knowledge about the underlying cryptosystem and scale in the number of users. The OSN client should also protect the metadata of communication, such as the social graph. To achieve these objectives, we designed Snake, an HTML5 in-browser application interacting with a dumb storage server. We use the state of the art protocol for authenticated key agreement, FHMQV, and provide two ways to authenticate public keys in-band: the Socialist Millionaire Protocol and a form of Web of Trust. Many-to-many communication is designed to handle dynamic groups in a scalable way. Thanks to a key graph system we are able to maintain a logarithmic cost to update the group key. We also define policies for an honest storage server to protect communication metadata. In particular, we identify what are the essential information that must be stored in an intelligible form, for the storage server to be able to offer the service without major performance drops. With this approach we are able to leave almost no useful information for an attacker when the data is at rest. Finally, we evaluate the user experience, the system performance and the overall overhead for the end user.
BARENGHI, ALESSANDRO
ING - Scuola di Ingegneria Industriale e dell'Informazione
18-dic-2013
2012/2013
Gli OSN stanno acquistando una sempre maggiore popolarità. Tuttavia, l'enorme quantità di informazioni sensibili salvata su di essi introduce seri problemi di privacy per l'utente finale. In questa tesi, il nostro obiettivo è progettare un OSN in cui i dati sono crittografati end-to-end e che permetta una semplice comunicazione tra singoli utenti e in gruppo. Il sistema non deve richiedere alcuna conoscenza a riguardo il sistema crittografico sottostante e deve scalare in presenza di un elevato numero di utenti. Il sistema deve anche occuparsi di proteggere le meta-informazioni della comunicazione, e in particolare il grafo delle relazioni tra gli utenti. Per raggiungere questi obiettivi, abbiamo progettato Snake, un'applicazione HTML5 in-browser che interagisce con un dumb server. Per lo scambio chiavi abbiamo utilizzato lo stato dell'arte, l'algoritmo FHMQV. Per l'autenticazione delle chiavi pubbliche abbiamo introdotto due opzioni: il protocollo del socialista milionario e una forma di Web of Trust. Lo scambio di messaggi all'interno di un gruppo è stata progettata per poter gestire gruppi dinamici in maniera scalabile. Infatti, grazie ad un sistema basato su un key graph, siamo in grado di mantenere un costo logaritmico per l'aggiornamento della chiave di gruppo. Abbiamo definito una serie di politiche per un server onesto che intenda proteggere le meta-informazioni delle comunicazioni. In particolare, abbiamo identificato quali sono le informazioni essenziali da immagazzinare in maniera comprensibile dal server per far sì che il servizio funzioni senza eccessive perdite di prestazioni. Con questo approccio siamo stati in grado di non lasciare quasi alcuna informazione utile ad un attaccante che abbia accesso ai dati in condizione di riposo. Infine, abbiamo valutato l'esperienza utente, le prestazioni del sistema e il ritardo aggiuntivo introdotto per l'utilizzatore finale.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2013_12_Beretta_DiFederico.PDF

accessibile in internet per tutti

Descrizione: Testo della tesi
Dimensione 1.78 MB
Formato Adobe PDF
1.78 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/88650