privacy on cloud storage
DESCRIPTION
TRANSCRIPT
La privatezza su Cloud StorageUn approccio basato su duplicazione
Relatore: Chiar.mo Prof Giuseppe PersianoCandidato: Andrea Bruno (05210/000495)
Facoltà di Scienze Matematiche Fisiche e NaturaliUniversità degli Studi di Salerno
Laurea Specialistica in Informatica
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 1 / 35
Outline
1 Introduzione
2 Il Cloud Storage questo sconosciutoCloud ComputingAnalisi dei principali servizi di Cloud StorageRESTOAuth
3 Divide et impera: la nostra soluzioneDesiderataSoluzione
4 ImplementazioneSchema di cifraturaFile Storage e Key StorageSecureStorage API
5 TestOTPSecureStorageAPI
6 Conclusioni
7 Sviluppi futuri
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 2 / 35
Introduzione
Outline
1 Introduzione
2 Il Cloud Storage questo sconosciutoCloud ComputingAnalisi dei principali servizi di Cloud StorageRESTOAuth
3 Divide et impera: la nostra soluzioneDesiderataSoluzione
4 ImplementazioneSchema di cifraturaFile Storage e Key StorageSecureStorage API
5 TestOTPSecureStorageAPI
6 Conclusioni
7 Sviluppi futuri
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 4 / 35
Introduzione
Perchè il Cloud Storage?
• File sempre disponibili
• Fault tolerance• Molti servizi
• Dropbox• Ubuntu One• SugarSync• Sincplicity• . . .
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
Introduzione
Perchè il Cloud Storage?
• File sempre disponibili• Fault tolerance
• Molti servizi
• Dropbox• Ubuntu One• SugarSync• Sincplicity• . . .
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
Introduzione
Perchè il Cloud Storage?
• File sempre disponibili• Fault tolerance• Molti servizi
• Dropbox• Ubuntu One• SugarSync• Sincplicity• . . .
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
Introduzione
Perchè il Cloud Storage?
• File sempre disponibili• Fault tolerance• Molti servizi
• Dropbox
• Ubuntu One• SugarSync• Sincplicity• . . .
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
Introduzione
Perchè il Cloud Storage?
• File sempre disponibili• Fault tolerance• Molti servizi
• Dropbox• Ubuntu One
• SugarSync• Sincplicity• . . .
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
Introduzione
Perchè il Cloud Storage?
• File sempre disponibili• Fault tolerance• Molti servizi
• Dropbox• Ubuntu One• SugarSync
• Sincplicity• . . .
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
Introduzione
Perchè il Cloud Storage?
• File sempre disponibili• Fault tolerance• Molti servizi
• Dropbox• Ubuntu One• SugarSync• Sincplicity
• . . .
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
Introduzione
Perchè il Cloud Storage?
• File sempre disponibili• Fault tolerance• Molti servizi
• Dropbox• Ubuntu One• SugarSync• Sincplicity• . . .
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
Introduzione
Sicurezza del Cloud Storage I
• Solo garanzia di uso https per trasferimento file
• Non sempre dichiarata• Anche se usata cifratura le chiavi sono in mano al servizio
Dropbox AES256 con chiavi gestite da loroUbuntu One Nessuna cifratura per faciltare sharingSugarSync File protetti (come?)
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 6 / 35
Introduzione
Sicurezza del Cloud Storage I
• Solo garanzia di uso https per trasferimento file• Non sempre dichiarata
• Anche se usata cifratura le chiavi sono in mano al servizio
Dropbox AES256 con chiavi gestite da loroUbuntu One Nessuna cifratura per faciltare sharingSugarSync File protetti (come?)
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 6 / 35
Introduzione
Sicurezza del Cloud Storage I
• Solo garanzia di uso https per trasferimento file• Non sempre dichiarata• Anche se usata cifratura le chiavi sono in mano al servizio
Dropbox AES256 con chiavi gestite da loroUbuntu One Nessuna cifratura per faciltare sharingSugarSync File protetti (come?)
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 6 / 35
Introduzione
Sicurezza del Cloud Storage II
• Controllo delle chiavi necessario per le forze dell’ordine
• Chiunque accede (legalmente o illegalmente) ai server accede aifile
• Forze dell’ordine• > Hacker• Impiegati sleali
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 7 / 35
Introduzione
Sicurezza del Cloud Storage II
• Controllo delle chiavi necessario per le forze dell’ordine• Chiunque accede (legalmente o illegalmente) ai server accede ai
file
• Forze dell’ordine• > Hacker• Impiegati sleali
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 7 / 35
Introduzione
Sicurezza del Cloud Storage II
• Controllo delle chiavi necessario per le forze dell’ordine• Chiunque accede (legalmente o illegalmente) ai server accede ai
file• Forze dell’ordine
• > Hacker• Impiegati sleali
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 7 / 35
Introduzione
Sicurezza del Cloud Storage II
• Controllo delle chiavi necessario per le forze dell’ordine• Chiunque accede (legalmente o illegalmente) ai server accede ai
file• Forze dell’ordine• > Hacker
• Impiegati sleali
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 7 / 35
Introduzione
Sicurezza del Cloud Storage II
• Controllo delle chiavi necessario per le forze dell’ordine• Chiunque accede (legalmente o illegalmente) ai server accede ai
file• Forze dell’ordine• > Hacker• Impiegati sleali
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 7 / 35
Il Cloud Storage questo sconosciuto
Outline
1 Introduzione
2 Il Cloud Storage questo sconosciutoCloud ComputingAnalisi dei principali servizi di Cloud StorageRESTOAuth
3 Divide et impera: la nostra soluzioneDesiderataSoluzione
4 ImplementazioneSchema di cifraturaFile Storage e Key StorageSecureStorage API
5 TestOTPSecureStorageAPI
6 Conclusioni
7 Sviluppi futuri
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 8 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Storia del Cloud Computing
• Elaborazione distribuita(Cluster)
• Grid Computing(SETI@home)
• Cloud Computing -Applicazioni e dati nellanuvola:
• Calendario• Contatti• Word processing• Comunicazioni• Cloud Storage
Figura: Diagramma logico di una reteCloud Computing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Storia del Cloud Computing
• Elaborazione distribuita(Cluster)
• Grid Computing(SETI@home)
• Cloud Computing -Applicazioni e dati nellanuvola:
• Calendario• Contatti• Word processing• Comunicazioni• Cloud Storage
Figura: Diagramma logico di una reteCloud Computing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Storia del Cloud Computing
• Elaborazione distribuita(Cluster)
• Grid Computing(SETI@home)
• Cloud Computing -Applicazioni e dati nellanuvola:
• Calendario• Contatti• Word processing• Comunicazioni• Cloud Storage
Figura: Diagramma logico di una reteCloud Computing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Storia del Cloud Computing
• Elaborazione distribuita(Cluster)
• Grid Computing(SETI@home)
• Cloud Computing -Applicazioni e dati nellanuvola:
• Calendario
• Contatti• Word processing• Comunicazioni• Cloud Storage
Figura: Diagramma logico di una reteCloud Computing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Storia del Cloud Computing
• Elaborazione distribuita(Cluster)
• Grid Computing(SETI@home)
• Cloud Computing -Applicazioni e dati nellanuvola:
• Calendario• Contatti
• Word processing• Comunicazioni• Cloud Storage
Figura: Diagramma logico di una reteCloud Computing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Storia del Cloud Computing
• Elaborazione distribuita(Cluster)
• Grid Computing(SETI@home)
• Cloud Computing -Applicazioni e dati nellanuvola:
• Calendario• Contatti• Word processing
• Comunicazioni• Cloud Storage
Figura: Diagramma logico di una reteCloud Computing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Storia del Cloud Computing
• Elaborazione distribuita(Cluster)
• Grid Computing(SETI@home)
• Cloud Computing -Applicazioni e dati nellanuvola:
• Calendario• Contatti• Word processing• Comunicazioni
• Cloud Storage
Figura: Diagramma logico di una reteCloud Computing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Storia del Cloud Computing
• Elaborazione distribuita(Cluster)
• Grid Computing(SETI@home)
• Cloud Computing -Applicazioni e dati nellanuvola:
• Calendario• Contatti• Word processing• Comunicazioni• Cloud Storage Figura: Diagramma logico di una rete
Cloud Computing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Cloud Computing
Fondamentalmente 3 sono le tipologie di Cloud Computing:
SaaS Software as a ServicePaaS Platform as a ServiceIaaS Infrastructure as a
Service
ClientApplication
PlatformInfrastructure
ServerFigura: Livelli di una rete CloudComputing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 10 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Cloud Computing
Fondamentalmente 3 sono le tipologie di Cloud Computing:
SaaS Software as a Service
PaaS Platform as a ServiceIaaS Infrastructure as a
Service
ClientApplication
PlatformInfrastructure
ServerFigura: Livelli di una rete CloudComputing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 10 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Cloud Computing
Fondamentalmente 3 sono le tipologie di Cloud Computing:
SaaS Software as a ServicePaaS Platform as a Service
IaaS Infrastructure as aService
ClientApplication
PlatformInfrastructure
ServerFigura: Livelli di una rete CloudComputing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 10 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Cloud Computing
Fondamentalmente 3 sono le tipologie di Cloud Computing:
SaaS Software as a ServicePaaS Platform as a ServiceIaaS Infrastructure as a
Service
ClientApplication
PlatformInfrastructure
ServerFigura: Livelli di una rete CloudComputing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 10 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Architettura
Figura: Architettura del cloud computing
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 11 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Problematiche
• Sicurezza informatica e privacy degli utenti
• Problematiche internazionali di tipo economico e politico• Difficoltà di migrazione dei dati nel caso di un eventuale cambio
del gestore dei servizi cloud
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 12 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Problematiche
• Sicurezza informatica e privacy degli utenti• Problematiche internazionali di tipo economico e politico
• Difficoltà di migrazione dei dati nel caso di un eventuale cambiodel gestore dei servizi cloud
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 12 / 35
Il Cloud Storage questo sconosciuto Cloud Computing
Problematiche
• Sicurezza informatica e privacy degli utenti• Problematiche internazionali di tipo economico e politico• Difficoltà di migrazione dei dati nel caso di un eventuale cambio
del gestore dei servizi cloud
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 12 / 35
Il Cloud Storage questo sconosciuto Analisi dei principali servizi di Cloud Storage
Principali servizi di Cloud Storage I
Servizio Spazio discogratuito
Dimensionemassima
singolo file
API Link
Dropbox 2 GB 150 MB secaricati tramiteAPI nessuno secaricati tramiteapplicazioneproprietaria
Java,Ojective-C,
Python, Ruby,Perl, PHP, C#.Net, iOS Sdk,Android sdk,
REST
http://www.dropbox.com
Box.Net 2 GB 25 MB SOAP, REST,XML
http://www.box.net/
Wuala 1 GB ND REST http://www.wuala.com
SpiderOak 2 GB ND Python,REST https://spideroak.
com/Syncplicity 2 GB ND NO http://www.
syncplicity.com/
Tabella: Riassunto dei principali sistemi di storage online
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 13 / 35
Il Cloud Storage questo sconosciuto Analisi dei principali servizi di Cloud Storage
Principali servizi di Cloud Storage II
Servizio Spazio discogratuito
Dimensionemassima
singolo file
API Link
SugarSync 5 GB ND REST https://www.sugarsync.
com/DMailer backup 2 GB ND NO http://www.
dmailer.com/dmailer-backup.
htmlUbuntu ONE 5 GB ND REST https://one.
ubuntu.com/Google Documents 1 GB ND Java, Python,
RESTdocs.google.
com
Tabella: Riassunto dei principali sistemi di storage online
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 14 / 35
Il Cloud Storage questo sconosciuto REST
L’architettura rest
• Lo stato dell’applicazione e le funzionalità sono divisi in RisorseWEB
• Ogni risorsa è unica e indirizzabile usando sintassi universaleper uso nei link ipertestuali
• Tutte le risorse sono condivise come interfaccia uniforme per iltrasferimento di stato tra client e risorse, questo consiste in:
• un insieme vincolato di operazioni ben definite• un insieme vincolato di contenuti, opzionalmente supportato da
codice on demand
• un protocollo che è:
• Client-Server• Stateless• Cachable• A livelli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
Il Cloud Storage questo sconosciuto REST
L’architettura rest
• Lo stato dell’applicazione e le funzionalità sono divisi in RisorseWEB
• Ogni risorsa è unica e indirizzabile usando sintassi universaleper uso nei link ipertestuali
• Tutte le risorse sono condivise come interfaccia uniforme per iltrasferimento di stato tra client e risorse, questo consiste in:
• un insieme vincolato di operazioni ben definite• un insieme vincolato di contenuti, opzionalmente supportato da
codice on demand
• un protocollo che è:
• Client-Server• Stateless• Cachable• A livelli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
Il Cloud Storage questo sconosciuto REST
L’architettura rest
• Lo stato dell’applicazione e le funzionalità sono divisi in RisorseWEB
• Ogni risorsa è unica e indirizzabile usando sintassi universaleper uso nei link ipertestuali
• Tutte le risorse sono condivise come interfaccia uniforme per iltrasferimento di stato tra client e risorse, questo consiste in:
• un insieme vincolato di operazioni ben definite• un insieme vincolato di contenuti, opzionalmente supportato
da codice on demand• un protocollo che è:
• Client-Server• Stateless• Cachable• A livelli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
Il Cloud Storage questo sconosciuto REST
L’architettura rest
• Lo stato dell’applicazione e le funzionalità sono divisi in RisorseWEB
• Ogni risorsa è unica e indirizzabile usando sintassi universaleper uso nei link ipertestuali
• Tutte le risorse sono condivise come interfaccia uniforme per iltrasferimento di stato tra client e risorse, questo consiste in:
• un insieme vincolato di operazioni ben definite• un insieme vincolato di contenuti, opzionalmente supportato da
codice on demand
• un protocollo che è:
• Client-Server• Stateless• Cachable• A livelli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
Il Cloud Storage questo sconosciuto REST
L’architettura rest
• Lo stato dell’applicazione e le funzionalità sono divisi in RisorseWEB
• Ogni risorsa è unica e indirizzabile usando sintassi universaleper uso nei link ipertestuali
• Tutte le risorse sono condivise come interfaccia uniforme per iltrasferimento di stato tra client e risorse, questo consiste in:
• un insieme vincolato di operazioni ben definite• un insieme vincolato di contenuti, opzionalmente supportato da
codice on demand• un protocollo che è:
• Client-Server• Stateless• Cachable• A livelli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
Il Cloud Storage questo sconosciuto REST
L’architettura rest
• Lo stato dell’applicazione e le funzionalità sono divisi in RisorseWEB
• Ogni risorsa è unica e indirizzabile usando sintassi universaleper uso nei link ipertestuali
• Tutte le risorse sono condivise come interfaccia uniforme per iltrasferimento di stato tra client e risorse, questo consiste in:
• un insieme vincolato di operazioni ben definite• un insieme vincolato di contenuti, opzionalmente supportato da
codice on demand• un protocollo che è:
• Client-Server
• Stateless• Cachable• A livelli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
Il Cloud Storage questo sconosciuto REST
L’architettura rest
• Lo stato dell’applicazione e le funzionalità sono divisi in RisorseWEB
• Ogni risorsa è unica e indirizzabile usando sintassi universaleper uso nei link ipertestuali
• Tutte le risorse sono condivise come interfaccia uniforme per iltrasferimento di stato tra client e risorse, questo consiste in:
• un insieme vincolato di operazioni ben definite• un insieme vincolato di contenuti, opzionalmente supportato da
codice on demand• un protocollo che è:
• Client-Server• Stateless
• Cachable• A livelli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
Il Cloud Storage questo sconosciuto REST
L’architettura rest
• Lo stato dell’applicazione e le funzionalità sono divisi in RisorseWEB
• Ogni risorsa è unica e indirizzabile usando sintassi universaleper uso nei link ipertestuali
• Tutte le risorse sono condivise come interfaccia uniforme per iltrasferimento di stato tra client e risorse, questo consiste in:
• un insieme vincolato di operazioni ben definite• un insieme vincolato di contenuti, opzionalmente supportato da
codice on demand• un protocollo che è:
• Client-Server• Stateless• Cachable
• A livelli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
Il Cloud Storage questo sconosciuto REST
L’architettura rest
• Lo stato dell’applicazione e le funzionalità sono divisi in RisorseWEB
• Ogni risorsa è unica e indirizzabile usando sintassi universaleper uso nei link ipertestuali
• Tutte le risorse sono condivise come interfaccia uniforme per iltrasferimento di stato tra client e risorse, questo consiste in:
• un insieme vincolato di operazioni ben definite• un insieme vincolato di contenuti, opzionalmente supportato da
codice on demand• un protocollo che è:
• Client-Server• Stateless• Cachable• A livelli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
Il Cloud Storage questo sconosciuto OAuth
OAuth
Cos’è OAuthUn protocollo aperto per consentireautorizzazioni sicure alle API con un metodosemplice e standard dalle applicazioni desktop e web
• Protected resource
• User (o resource owner)• Consumer (o client)• Service Provider (o server)• Credenziali• Token
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
Il Cloud Storage questo sconosciuto OAuth
OAuth
Cos’è OAuthUn protocollo aperto per consentireautorizzazioni sicure alle API con un metodosemplice e standard dalle applicazioni desktop e web
• Protected resource• User (o resource owner)
• Consumer (o client)• Service Provider (o server)• Credenziali• Token
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
Il Cloud Storage questo sconosciuto OAuth
OAuth
Cos’è OAuthUn protocollo aperto per consentireautorizzazioni sicure alle API con un metodosemplice e standard dalle applicazioni desktop e web
• Protected resource• User (o resource owner)• Consumer (o client)
• Service Provider (o server)• Credenziali• Token
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
Il Cloud Storage questo sconosciuto OAuth
OAuth
Cos’è OAuthUn protocollo aperto per consentireautorizzazioni sicure alle API con un metodosemplice e standard dalle applicazioni desktop e web
• Protected resource• User (o resource owner)• Consumer (o client)• Service Provider (o server)
• Credenziali• Token
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
Il Cloud Storage questo sconosciuto OAuth
OAuth
Cos’è OAuthUn protocollo aperto per consentireautorizzazioni sicure alle API con un metodosemplice e standard dalle applicazioni desktop e web
• Protected resource• User (o resource owner)• Consumer (o client)• Service Provider (o server)• Credenziali
• Token
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
Il Cloud Storage questo sconosciuto OAuth
OAuth
Cos’è OAuthUn protocollo aperto per consentireautorizzazioni sicure alle API con un metodosemplice e standard dalle applicazioni desktop e web
• Protected resource• User (o resource owner)• Consumer (o client)• Service Provider (o server)• Credenziali• Token
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
La nostra soluzione
Outline
1 Introduzione
2 Il Cloud Storage questo sconosciutoCloud ComputingAnalisi dei principali servizi di Cloud StorageRESTOAuth
3 Divide et impera: la nostra soluzioneDesiderataSoluzione
4 ImplementazioneSchema di cifraturaFile Storage e Key StorageSecureStorage API
5 TestOTPSecureStorageAPI
6 Conclusioni
7 Sviluppi futuri
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 17 / 35
La nostra soluzione Desiderata
I nostri obiettivi
• Sicurezza e privacy
• Portabilità• Semplicità d’uso• Possibilità di condividere i file con altri utenti
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 18 / 35
La nostra soluzione Desiderata
I nostri obiettivi
• Sicurezza e privacy• Portabilità
• Semplicità d’uso• Possibilità di condividere i file con altri utenti
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 18 / 35
La nostra soluzione Desiderata
I nostri obiettivi
• Sicurezza e privacy• Portabilità• Semplicità d’uso
• Possibilità di condividere i file con altri utenti
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 18 / 35
La nostra soluzione Desiderata
I nostri obiettivi
• Sicurezza e privacy• Portabilità• Semplicità d’uso• Possibilità di condividere i file con altri utenti
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 18 / 35
La nostra soluzione Soluzione
Soluzioni scartate
Idee1 Cifrare tutti i file con una password
2 Cifrare ogni file con una password diversa3 Cifrare con uno schema di cifratura asimmetrico
Motivazioni per scartarla
1 La password si può indovinare e anche perdere2 Dove conservare le password? Le devo portare sempre con me?
E se ho molti file?3 Bisogna portare con se la chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 19 / 35
La nostra soluzione Soluzione
Soluzioni scartate
Idee1 Cifrare tutti i file con una password
2 Cifrare ogni file con una password diversa3 Cifrare con uno schema di cifratura asimmetrico
Motivazioni per scartarla
1 La password si può indovinare e anche perdere
2 Dove conservare le password? Le devo portare sempre con me?E se ho molti file?
3 Bisogna portare con se la chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 19 / 35
La nostra soluzione Soluzione
Soluzioni scartate
Idee1 Cifrare tutti i file con una password2 Cifrare ogni file con una password diversa
3 Cifrare con uno schema di cifratura asimmetrico
Motivazioni per scartarla
1 La password si può indovinare e anche perdere
2 Dove conservare le password? Le devo portare sempre con me?E se ho molti file?
3 Bisogna portare con se la chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 19 / 35
La nostra soluzione Soluzione
Soluzioni scartate
Idee1 Cifrare tutti i file con una password2 Cifrare ogni file con una password diversa
3 Cifrare con uno schema di cifratura asimmetrico
Motivazioni per scartarla
1 La password si può indovinare e anche perdere2 Dove conservare le password? Le devo portare sempre con me?
E se ho molti file?
3 Bisogna portare con se la chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 19 / 35
La nostra soluzione Soluzione
Soluzioni scartate
Idee1 Cifrare tutti i file con una password2 Cifrare ogni file con una password diversa3 Cifrare con uno schema di cifratura asimmetrico
Motivazioni per scartarla
1 La password si può indovinare e anche perdere2 Dove conservare le password? Le devo portare sempre con me?
E se ho molti file?3 Bisogna portare con se la chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 19 / 35
La nostra soluzione Soluzione
Soluzione
Prendiamo il meglio delle idee precedenti
Se cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle?Ma la soluzione è insita nel problema stesso:• suddividiamo le informazioni• salviamo le chiavi su un account presso un servizio di Cloud
Storage (es. DropboxTM)• salviamo i file cifrati su un’account su un servizio diverso (es.
Ubuntu One)
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
La nostra soluzione Soluzione
Soluzione
Prendiamo il meglio delle idee precedentiSe cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle?
Ma la soluzione è insita nel problema stesso:• suddividiamo le informazioni• salviamo le chiavi su un account presso un servizio di Cloud
Storage (es. DropboxTM)• salviamo i file cifrati su un’account su un servizio diverso (es.
Ubuntu One)
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
La nostra soluzione Soluzione
Soluzione
Prendiamo il meglio delle idee precedentiSe cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle?Ma la soluzione è insita nel problema stesso:
• suddividiamo le informazioni• salviamo le chiavi su un account presso un servizio di Cloud
Storage (es. DropboxTM)• salviamo i file cifrati su un’account su un servizio diverso (es.
Ubuntu One)
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
La nostra soluzione Soluzione
Soluzione
Prendiamo il meglio delle idee precedentiSe cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle?Ma la soluzione è insita nel problema stesso:• suddividiamo le informazioni
• salviamo le chiavi su un account presso un servizio di CloudStorage (es. DropboxTM)
• salviamo i file cifrati su un’account su un servizio diverso (es.Ubuntu One)
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
La nostra soluzione Soluzione
Soluzione
Prendiamo il meglio delle idee precedentiSe cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle?Ma la soluzione è insita nel problema stesso:• suddividiamo le informazioni• salviamo le chiavi su un account presso un servizio di Cloud
Storage (es. DropboxTM)
• salviamo i file cifrati su un’account su un servizio diverso (es.Ubuntu One)
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
La nostra soluzione Soluzione
Soluzione
Prendiamo il meglio delle idee precedentiSe cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle?Ma la soluzione è insita nel problema stesso:• suddividiamo le informazioni• salviamo le chiavi su un account presso un servizio di Cloud
Storage (es. DropboxTM)• salviamo i file cifrati su un’account su un servizio diverso (es.
Ubuntu One)
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
Implementazione
Outline
1 Introduzione
2 Il Cloud Storage questo sconosciutoCloud ComputingAnalisi dei principali servizi di Cloud StorageRESTOAuth
3 Divide et impera: la nostra soluzioneDesiderataSoluzione
4 ImplementazioneSchema di cifraturaFile Storage e Key StorageSecureStorage API
5 TestOTPSecureStorageAPI
6 Conclusioni
7 Sviluppi futuri
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 21 / 35
Implementazione
Implementazione I
Azioni che vogliamo implementare
storeFile: Cifrare i file con una chiave generata appositamente esalvare il file su un servizio e la chiave su un’altro.
getFile: Recuperare il file e la relativa chiave e restituire il filedecifrato
getFileList: Ottenere la lista dei file cifrati remotideleteFile: Cancellare il file cifrato e la relativa chiavemoveFile: Spostare il file cifrato e la relativa chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
Implementazione
Implementazione I
Azioni che vogliamo implementarestoreFile: Cifrare i file con una chiave generata appositamente e
salvare il file su un servizio e la chiave su un’altro.
getFile: Recuperare il file e la relativa chiave e restituire il filedecifrato
getFileList: Ottenere la lista dei file cifrati remotideleteFile: Cancellare il file cifrato e la relativa chiavemoveFile: Spostare il file cifrato e la relativa chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
Implementazione
Implementazione I
Azioni che vogliamo implementarestoreFile: Cifrare i file con una chiave generata appositamente e
salvare il file su un servizio e la chiave su un’altro.getFile: Recuperare il file e la relativa chiave e restituire il file
decifrato
getFileList: Ottenere la lista dei file cifrati remotideleteFile: Cancellare il file cifrato e la relativa chiavemoveFile: Spostare il file cifrato e la relativa chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
Implementazione
Implementazione I
Azioni che vogliamo implementarestoreFile: Cifrare i file con una chiave generata appositamente e
salvare il file su un servizio e la chiave su un’altro.getFile: Recuperare il file e la relativa chiave e restituire il file
decifratogetFileList: Ottenere la lista dei file cifrati remoti
deleteFile: Cancellare il file cifrato e la relativa chiavemoveFile: Spostare il file cifrato e la relativa chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
Implementazione
Implementazione I
Azioni che vogliamo implementarestoreFile: Cifrare i file con una chiave generata appositamente e
salvare il file su un servizio e la chiave su un’altro.getFile: Recuperare il file e la relativa chiave e restituire il file
decifratogetFileList: Ottenere la lista dei file cifrati remotideleteFile: Cancellare il file cifrato e la relativa chiave
moveFile: Spostare il file cifrato e la relativa chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
Implementazione
Implementazione I
Azioni che vogliamo implementarestoreFile: Cifrare i file con una chiave generata appositamente e
salvare il file su un servizio e la chiave su un’altro.getFile: Recuperare il file e la relativa chiave e restituire il file
decifratogetFileList: Ottenere la lista dei file cifrati remotideleteFile: Cancellare il file cifrato e la relativa chiavemoveFile: Spostare il file cifrato e la relativa chiave
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
Implementazione
Implementazione II
Le nostre APILe nostre API sono composte da:
• Un insieme di interfacce e classi astratte per definire uno schemadi cifratura.
• One-Time Pad come implementazione di riferimento
• Un insieme di interfacce e classi astratte per definire il Key e il FileStore.
• DropboxTM e Ubuntu One come implementazione di riferimento• Ulteriore implementazione con salvataggio dei file su Filesystem
locale
• Una classe per eseguire tutte le operazioni sui file in modotrasparente
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
Implementazione
Implementazione II
Le nostre APILe nostre API sono composte da:• Un insieme di interfacce e classi astratte per definire uno schema
di cifratura.
• One-Time Pad come implementazione di riferimento
• Un insieme di interfacce e classi astratte per definire il Key e il FileStore.
• DropboxTM e Ubuntu One come implementazione di riferimento• Ulteriore implementazione con salvataggio dei file su Filesystem
locale
• Una classe per eseguire tutte le operazioni sui file in modotrasparente
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
Implementazione
Implementazione II
Le nostre APILe nostre API sono composte da:• Un insieme di interfacce e classi astratte per definire uno schema
di cifratura.• One-Time Pad come implementazione di riferimento
• Un insieme di interfacce e classi astratte per definire il Key e il FileStore.
• DropboxTM e Ubuntu One come implementazione di riferimento• Ulteriore implementazione con salvataggio dei file su Filesystem
locale
• Una classe per eseguire tutte le operazioni sui file in modotrasparente
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
Implementazione
Implementazione II
Le nostre APILe nostre API sono composte da:• Un insieme di interfacce e classi astratte per definire uno schema
di cifratura.• One-Time Pad come implementazione di riferimento
• Un insieme di interfacce e classi astratte per definire il Key e il FileStore.
• DropboxTM e Ubuntu One come implementazione di riferimento• Ulteriore implementazione con salvataggio dei file su Filesystem
locale
• Una classe per eseguire tutte le operazioni sui file in modotrasparente
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
Implementazione
Implementazione II
Le nostre APILe nostre API sono composte da:• Un insieme di interfacce e classi astratte per definire uno schema
di cifratura.• One-Time Pad come implementazione di riferimento
• Un insieme di interfacce e classi astratte per definire il Key e il FileStore.
• DropboxTM e Ubuntu One come implementazione di riferimento
• Ulteriore implementazione con salvataggio dei file su Filesystemlocale
• Una classe per eseguire tutte le operazioni sui file in modotrasparente
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
Implementazione
Implementazione II
Le nostre APILe nostre API sono composte da:• Un insieme di interfacce e classi astratte per definire uno schema
di cifratura.• One-Time Pad come implementazione di riferimento
• Un insieme di interfacce e classi astratte per definire il Key e il FileStore.
• DropboxTM e Ubuntu One come implementazione di riferimento• Ulteriore implementazione con salvataggio dei file su Filesystem
locale
• Una classe per eseguire tutte le operazioni sui file in modotrasparente
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
Implementazione
Implementazione II
Le nostre APILe nostre API sono composte da:• Un insieme di interfacce e classi astratte per definire uno schema
di cifratura.• One-Time Pad come implementazione di riferimento
• Un insieme di interfacce e classi astratte per definire il Key e il FileStore.
• DropboxTM e Ubuntu One come implementazione di riferimento• Ulteriore implementazione con salvataggio dei file su Filesystem
locale
• Una classe per eseguire tutte le operazioni sui file in modotrasparente
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
Implementazione Schema di cifratura
Implementazione di riferimento schema di cifratura
One-Time PadLo schema di cifratura one-time pad è definito nel modo seguente:
1 L’algoritmo di generazione della chiave Gen lavora scegliendo unastringa da K = {0,1}` secondo la distribuzione uniforme (ognunadelle 2` stringhe nello spazio delle chiavi è scelta come chiave conprobabilità esattamente pari a 2−`).
2 La cifratura Enc lavora come segue: data una chiave k ∈ {0,1}` eun messaggio m ∈ {0,1}`, restituisce in output c := k ⊕m.
3 La decifratura Dec lavora come segue: data una chiavek ∈ {0,1}` e un testo cifrato c ∈ {0,1}`, restituisce in outputm := k ⊕ c.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 24 / 35
Implementazione Schema di cifratura
Implementazione di riferimento schema di cifratura
One-Time PadLo schema di cifratura one-time pad è definito nel modo seguente:
1 L’algoritmo di generazione della chiave Gen lavora scegliendo unastringa da K = {0,1}` secondo la distribuzione uniforme (ognunadelle 2` stringhe nello spazio delle chiavi è scelta come chiave conprobabilità esattamente pari a 2−`).
2 La cifratura Enc lavora come segue: data una chiave k ∈ {0,1}` eun messaggio m ∈ {0,1}`, restituisce in output c := k ⊕m.
3 La decifratura Dec lavora come segue: data una chiavek ∈ {0,1}` e un testo cifrato c ∈ {0,1}`, restituisce in outputm := k ⊕ c.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 24 / 35
Implementazione Schema di cifratura
Implementazione di riferimento schema di cifratura
One-Time PadLo schema di cifratura one-time pad è definito nel modo seguente:
1 L’algoritmo di generazione della chiave Gen lavora scegliendo unastringa da K = {0,1}` secondo la distribuzione uniforme (ognunadelle 2` stringhe nello spazio delle chiavi è scelta come chiave conprobabilità esattamente pari a 2−`).
2 La cifratura Enc lavora come segue: data una chiave k ∈ {0,1}` eun messaggio m ∈ {0,1}`, restituisce in output c := k ⊕m.
3 La decifratura Dec lavora come segue: data una chiavek ∈ {0,1}` e un testo cifrato c ∈ {0,1}`, restituisce in outputm := k ⊕ c.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 24 / 35
Implementazione Schema di cifratura
Implementazione di riferimento schema di cifratura
One-Time PadLo schema di cifratura one-time pad è definito nel modo seguente:
1 L’algoritmo di generazione della chiave Gen lavora scegliendo unastringa da K = {0,1}` secondo la distribuzione uniforme (ognunadelle 2` stringhe nello spazio delle chiavi è scelta come chiave conprobabilità esattamente pari a 2−`).
2 La cifratura Enc lavora come segue: data una chiave k ∈ {0,1}` eun messaggio m ∈ {0,1}`, restituisce in output c := k ⊕m.
3 La decifratura Dec lavora come segue: data una chiavek ∈ {0,1}` e un testo cifrato c ∈ {0,1}`, restituisce in outputm := k ⊕ c.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 24 / 35
Implementazione File Storage e Key Storage
Implementazioni di riferimento per Key e File Store
ImplementazioniTre implementazioni per provare il funzionamento della nostra idea:
1 Utilizzando le API Java fornite da DropboxTM.2 Realizzando un wrapper Java delle API Rest di Ubuntu One.3 Utilizzando il Filesystem sfruttando la funzionalità delle cartelle
sincronizzate fornite da molti servizio di Cloud Storage.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 25 / 35
Implementazione File Storage e Key Storage
Implementazioni di riferimento per Key e File Store
ImplementazioniTre implementazioni per provare il funzionamento della nostra idea:
1 Utilizzando le API Java fornite da DropboxTM.
2 Realizzando un wrapper Java delle API Rest di Ubuntu One.3 Utilizzando il Filesystem sfruttando la funzionalità delle cartelle
sincronizzate fornite da molti servizio di Cloud Storage.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 25 / 35
Implementazione File Storage e Key Storage
Implementazioni di riferimento per Key e File Store
ImplementazioniTre implementazioni per provare il funzionamento della nostra idea:
1 Utilizzando le API Java fornite da DropboxTM.2 Realizzando un wrapper Java delle API Rest di Ubuntu One.
3 Utilizzando il Filesystem sfruttando la funzionalità delle cartellesincronizzate fornite da molti servizio di Cloud Storage.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 25 / 35
Implementazione File Storage e Key Storage
Implementazioni di riferimento per Key e File Store
ImplementazioniTre implementazioni per provare il funzionamento della nostra idea:
1 Utilizzando le API Java fornite da DropboxTM.2 Realizzando un wrapper Java delle API Rest di Ubuntu One.3 Utilizzando il Filesystem sfruttando la funzionalità delle cartelle
sincronizzate fornite da molti servizio di Cloud Storage.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 25 / 35
Implementazione SecureStorage API
API per lo Storage Sicuro dei File
SecureStorage APIPermette di unire insieme lo schema di cifratura con i sistemi distorage e di utilizzarli per implementare le azioni specificate inprecedenza in modo trasparente. Due implementazioni principali:
1 Una versione single threding.2 una versione multi threding.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 26 / 35
Implementazione SecureStorage API
API per lo Storage Sicuro dei File
SecureStorage APIPermette di unire insieme lo schema di cifratura con i sistemi distorage e di utilizzarli per implementare le azioni specificate inprecedenza in modo trasparente. Due implementazioni principali:
1 Una versione single threding.
2 una versione multi threding.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 26 / 35
Implementazione SecureStorage API
API per lo Storage Sicuro dei File
SecureStorage APIPermette di unire insieme lo schema di cifratura con i sistemi distorage e di utilizzarli per implementare le azioni specificate inprecedenza in modo trasparente. Due implementazioni principali:
1 Una versione single threding.2 una versione multi threding.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 26 / 35
Test
Outline
1 Introduzione
2 Il Cloud Storage questo sconosciutoCloud ComputingAnalisi dei principali servizi di Cloud StorageRESTOAuth
3 Divide et impera: la nostra soluzioneDesiderataSoluzione
4 ImplementazioneSchema di cifraturaFile Storage e Key StorageSecureStorage API
5 TestOTPSecureStorageAPI
6 Conclusioni
7 Sviluppi futuri
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 27 / 35
Test OTP
0
100
200
300
400
500
Generazione
della chiave
Cifratura del file
Memorizzazione
della chiave
Tempo totale
di cifratura
Tem
poin
ms
Fase della cifratura
tempo di cifratura
java.util.RandomSHA1PRNG
Figura: Grafico dei tempi di cifratura
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 28 / 35
Test OTP
0
50
100
150
200
250
Caricamento
della chiave
Decifraturadel file
Tempo totale
di decifratura
Tem
poin
ms
Fase della decifratura
Tempo di decifratura
java.util.RandomSHA1PRNG
Figura: Grafico dei tempi di cifratura
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 29 / 35
Test SecureStorageAPI
0
10
20
30
40
50
Upload Download
Tem
poin
s
Fase
Tempi medi di upload e download
DropBox APIUbuntu One API
SecureStorage con Foo EncryptionSecureStorage con OTP Encryption
SecureStorage con Foo Encryption e MultiThreadingSecureStorage con OTP e MultiThreading
SecureStorage con OTPsenza Secure Random Generator
e MultiThreading
Figura: Grafico dei tempi medi di Upload
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 30 / 35
Test SecureStorageAPI
0
100
200
300
400
500
600
Upload Download
Velo
cita
’in
kB/s
Fase
Velocita’ medie upload e download
DropBox APIUbuntu One API
SecureStorage con Foo EncryptionSecureStorage con OTP Encryption
SecureStorage con Foo Encryption e MultiThreadingSecureStorage con OTP e MultiThreading
SecureStorage con OTPsenza Secure Random Generator
e MultiThreading
Figura: Grafico della velocità di download
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 31 / 35
Conclusioni
Outline
1 Introduzione
2 Il Cloud Storage questo sconosciutoCloud ComputingAnalisi dei principali servizi di Cloud StorageRESTOAuth
3 Divide et impera: la nostra soluzioneDesiderataSoluzione
4 ImplementazioneSchema di cifraturaFile Storage e Key StorageSecureStorage API
5 TestOTPSecureStorageAPI
6 Conclusioni
7 Sviluppi futuri
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 32 / 35
Conclusioni
È quello che volevamo?
Obiettivi• Sicurezza e privacy
• Portabilità• Semplicità d’uso• Possibilità di condividere i
propri file con altri utenti
La nostra soluzione
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
Conclusioni
È quello che volevamo?
Obiettivi• Sicurezza e privacy
• Portabilità• Semplicità d’uso• Possibilità di condividere i
propri file con altri utenti
La nostra soluzione
Si perchèUtilizzando One-Time Pad èdimostrato che l’unico modo in cuiun malintenzionato può decifrare inostri file è che abbia la chiave dicifratura, ma, se i servizi di CloudStorage non sono collegati èimprobabile cheun’malintenzionato, per quantoesperto li violi entrambe.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
Conclusioni
È quello che volevamo?
Obiettivi• Sicurezza e privacy• Portabilità
• Semplicità d’uso• Possibilità di condividere i
propri file con altri utenti
La nostra soluzione
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
Conclusioni
È quello che volevamo?
Obiettivi• Sicurezza e privacy• Portabilità
• Semplicità d’uso• Possibilità di condividere i
propri file con altri utenti
La nostra soluzione
Si perchèLe librerie sono tutte sviluppate inJava, che garantisce la portabilitàsulla maggior parte dei sistemi edelle piattaforme.L’applicazione è stata testata suWindowsTM, Linux e Mac OS X
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
Conclusioni
È quello che volevamo?
Obiettivi• Sicurezza e privacy• Portabilità• Semplicità d’uso
• Possibilità di condividere ipropri file con altri utenti
La nostra soluzione
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
Conclusioni
È quello che volevamo?
Obiettivi• Sicurezza e privacy• Portabilità• Semplicità d’uso
• Possibilità di condividere ipropri file con altri utenti
La nostra soluzione
Si perchèAbbiamo realizzato unaapplicazione di semplice uso perl’utente medio.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
Conclusioni
È quello che volevamo?
Obiettivi• Sicurezza e privacy• Portabilità• Semplicità d’uso• Possibilità di condividere i
propri file con altri utenti
La nostra soluzione
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
Conclusioni
È quello che volevamo?
Obiettivi• Sicurezza e privacy• Portabilità• Semplicità d’uso• Possibilità di condividere i
propri file con altri utenti
La nostra soluzione
Si perchèAbbiamo realizzato una sempliceapplicazione che permette dicondividere solo i due link del filecifrato e della chiave.
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
Sviluppi futuri
Outline
1 Introduzione
2 Il Cloud Storage questo sconosciutoCloud ComputingAnalisi dei principali servizi di Cloud StorageRESTOAuth
3 Divide et impera: la nostra soluzioneDesiderataSoluzione
4 ImplementazioneSchema di cifraturaFile Storage e Key StorageSecureStorage API
5 TestOTPSecureStorageAPI
6 Conclusioni
7 Sviluppi futuri
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 34 / 35
Sviluppi futuri
Sviluppi futuri
• Interfaccia web per il servizio
• Client AndroidTM
• Client iOSTM
• Distribuire file e chiavi su servizi multipli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 35 / 35
Sviluppi futuri
Sviluppi futuri
• Interfaccia web per il servizio• Client AndroidTM
• Client iOSTM
• Distribuire file e chiavi su servizi multipli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 35 / 35
Sviluppi futuri
Sviluppi futuri
• Interfaccia web per il servizio• Client AndroidTM
• Client iOSTM
• Distribuire file e chiavi su servizi multipli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 35 / 35
Sviluppi futuri
Sviluppi futuri
• Interfaccia web per il servizio• Client AndroidTM
• Client iOSTM
• Distribuire file e chiavi su servizi multipli
Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 35 / 35