Privacy On Cloud Storage

Post on 18-Nov-2014

590 views 0 download

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