113
La privatezza su Cloud Storage Un approccio basato su duplicazione Relatore: Chiar.mo Prof Giuseppe Persiano Candidato: Andrea Bruno (05210/000495) Facoltà di Scienze Matematiche Fisiche e Naturali Università degli Studi di Salerno Laurea Specialistica in Informatica Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 1 / 35

Privacy On Cloud Storage

  • Upload
    bruand

  • View
    597

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Privacy On Cloud Storage

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

Page 2: Privacy On Cloud Storage

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

Page 3: Privacy On Cloud Storage

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

Page 4: Privacy On Cloud Storage

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

Page 5: Privacy On Cloud Storage

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

Page 6: Privacy On Cloud Storage

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

Page 7: Privacy On Cloud Storage

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

Page 8: Privacy On Cloud Storage

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

Page 9: Privacy On Cloud Storage

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

Page 10: Privacy On Cloud Storage

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

Page 11: Privacy On Cloud Storage

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

Page 12: Privacy On Cloud Storage

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

Page 13: Privacy On Cloud Storage

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

Page 14: Privacy On Cloud Storage

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

Page 15: Privacy On Cloud Storage

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

Page 16: Privacy On Cloud Storage

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

Page 17: Privacy On Cloud Storage

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

Page 18: Privacy On Cloud Storage

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

Page 19: Privacy On Cloud Storage

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

Page 20: Privacy On Cloud Storage

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

Page 21: Privacy On Cloud Storage

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

Page 22: Privacy On Cloud Storage

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

Page 23: Privacy On Cloud Storage

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

Page 24: Privacy On Cloud Storage

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

Page 25: Privacy On Cloud Storage

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

Page 26: Privacy On Cloud Storage

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

Page 27: Privacy On Cloud Storage

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

Page 28: Privacy On Cloud Storage

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

Page 29: Privacy On Cloud Storage

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

Page 30: Privacy On Cloud Storage

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

Page 31: Privacy On Cloud Storage

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

Page 32: Privacy On Cloud Storage

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

Page 33: Privacy On Cloud Storage

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

Page 34: Privacy On Cloud Storage

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

Page 35: Privacy On Cloud Storage

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

Page 36: Privacy On Cloud Storage

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

Page 37: Privacy On Cloud Storage

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

Page 38: Privacy On Cloud Storage

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

Page 39: Privacy On Cloud Storage

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

Page 40: Privacy On Cloud Storage

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

Page 41: Privacy On Cloud Storage

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

Page 42: Privacy On Cloud Storage

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

Page 43: Privacy On Cloud Storage

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

Page 44: Privacy On Cloud Storage

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

Page 45: Privacy On Cloud Storage

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

Page 46: Privacy On Cloud Storage

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

Page 47: Privacy On Cloud Storage

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

Page 48: Privacy On Cloud Storage

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

Page 49: Privacy On Cloud Storage

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

Page 50: Privacy On Cloud Storage

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

Page 51: Privacy On Cloud Storage

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

Page 52: Privacy On Cloud Storage

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

Page 53: Privacy On Cloud Storage

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

Page 54: Privacy On Cloud Storage

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

Page 55: Privacy On Cloud Storage

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

Page 56: Privacy On Cloud Storage

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

Page 57: Privacy On Cloud Storage

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

Page 58: Privacy On Cloud Storage

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

Page 59: Privacy On Cloud Storage

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

Page 60: Privacy On Cloud Storage

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

Page 61: Privacy On Cloud Storage

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

Page 62: Privacy On Cloud Storage

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

Page 63: Privacy On Cloud Storage

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

Page 64: Privacy On Cloud Storage

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

Page 65: Privacy On Cloud Storage

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

Page 66: Privacy On Cloud Storage

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

Page 67: Privacy On Cloud Storage

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

Page 68: Privacy On Cloud Storage

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

Page 69: Privacy On Cloud Storage

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

Page 70: Privacy On Cloud Storage

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

Page 71: Privacy On Cloud Storage

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

Page 72: Privacy On Cloud Storage

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

Page 73: Privacy On Cloud Storage

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

Page 74: Privacy On Cloud Storage

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

Page 75: Privacy On Cloud Storage

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

Page 76: Privacy On Cloud Storage

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

Page 77: Privacy On Cloud Storage

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

Page 78: Privacy On Cloud Storage

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

Page 79: Privacy On Cloud Storage

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

Page 80: Privacy On Cloud Storage

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

Page 81: Privacy On Cloud Storage

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

Page 82: Privacy On Cloud Storage

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

Page 83: Privacy On Cloud Storage

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

Page 84: Privacy On Cloud Storage

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

Page 85: Privacy On Cloud Storage

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

Page 86: Privacy On Cloud Storage

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

Page 87: Privacy On Cloud Storage

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

Page 88: Privacy On Cloud Storage

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

Page 89: Privacy On Cloud Storage

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

Page 90: Privacy On Cloud Storage

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

Page 91: Privacy On Cloud Storage

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

Page 92: Privacy On Cloud Storage

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

Page 93: Privacy On Cloud Storage

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

Page 94: Privacy On Cloud Storage

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

Page 95: Privacy On Cloud Storage

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

Page 96: Privacy On Cloud Storage

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

Page 97: Privacy On Cloud Storage

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

Page 98: Privacy On Cloud Storage

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

Page 99: Privacy On Cloud Storage

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

Page 100: Privacy On Cloud Storage

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

Page 101: Privacy On Cloud Storage

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

Page 102: Privacy On Cloud Storage

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

Page 103: Privacy On Cloud Storage

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

Page 104: Privacy On Cloud Storage

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

Page 105: Privacy On Cloud Storage

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

Page 106: Privacy On Cloud Storage

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

Page 107: Privacy On Cloud Storage

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

Page 108: Privacy On Cloud Storage

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

Page 109: Privacy On Cloud Storage

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

Page 110: Privacy On Cloud Storage

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

Page 111: Privacy On Cloud Storage

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

Page 112: Privacy On Cloud Storage

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

Page 113: Privacy On Cloud Storage

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