SlideShare une entreprise Scribd logo
1  sur  113
Télécharger pour lire hors ligne
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
Outline
1 Introduzione
2 Il Cloud Storage questo sconosciuto
     Cloud Computing
     Analisi dei principali servizi di Cloud Storage
     REST
     OAuth
3 Divide et impera: la nostra soluzione
    Desiderata
    Soluzione
4 Implementazione
    Schema di cifratura
    File Storage e Key Storage
    SecureStorage API
5 Test
    OTP
    SecureStorageAPI
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 sconosciuto
     Cloud Computing
     Analisi dei principali servizi di Cloud Storage
     REST
     OAuth
3 Divide et impera: la nostra soluzione
    Desiderata
    Soluzione
4 Implementazione
    Schema di cifratura
    File Storage e Key Storage
    SecureStorage API

5 Test
    OTP
    SecureStorageAPI

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




 Andrea Bruno (05210/000495)    Privacy on Cloud Storage   A.A. 2010/2011   5 / 35
Introduzione


Perchè il Cloud Storage?



  • File sempre disponibili
  • Fault tolerance




 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




 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




 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




 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




 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




 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




 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 loro
     Ubuntu One Nessuna cifratura per faciltare sharing
     SugarSync 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




 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




 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




 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




 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 sconosciuto
     Cloud Computing
     Analisi dei principali servizi di Cloud Storage
     REST
     OAuth
3 Divide et impera: la nostra soluzione
    Desiderata
    Soluzione
4 Implementazione
    Schema di cifratura
    File Storage e Key Storage
    SecureStorage API

5 Test
    OTP
    SecureStorageAPI

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)




 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)




 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 nella
    nuvola:




                                                       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


Storia del Cloud Computing


 • Elaborazione distribuita
    (Cluster)
 • Grid Computing
    (SETI@home)
 • Cloud Computing -
    Applicazioni e dati nella
    nuvola:
        • Calendario




                                                       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


Storia del Cloud Computing


 • Elaborazione distribuita
    (Cluster)
 • Grid Computing
    (SETI@home)
 • Cloud Computing -
    Applicazioni e dati nella
    nuvola:
        • Calendario
        • Contatti


                                                       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


Storia del Cloud Computing


 • Elaborazione distribuita
    (Cluster)
 • Grid Computing
    (SETI@home)
 • Cloud Computing -
    Applicazioni e dati nella
    nuvola:
        • Calendario
        • Contatti
        • Word processing

                                                       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


Storia del Cloud Computing


 • Elaborazione distribuita
    (Cluster)
 • Grid Computing
    (SETI@home)
 • Cloud Computing -
    Applicazioni e dati nella
    nuvola:
        •   Calendario
        •   Contatti
        •   Word processing
        •   Comunicazioni
                                                       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


Storia del Cloud Computing


 • Elaborazione distribuita
    (Cluster)
 • Grid Computing
    (SETI@home)
 • Cloud Computing -
    Applicazioni e dati nella
    nuvola:
        •   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:

                                                                         Client
                                                           Application
                                                             Platform
                                                          Infrastructure
                                                                         Server
                                                       Figura: Livelli di una rete Cloud
                                                       Computing



 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:

                                                                         Client
                                                           Application
                                                             Platform
       SaaS Software as a Service                         Infrastructure
                                                                         Server
                                                       Figura: Livelli di una rete Cloud
                                                       Computing



 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:

                                                                         Client
                                                           Application
                                                             Platform
       SaaS Software as a Service                         Infrastructure
       PaaS Platform as a Service
                                                                         Server
                                                       Figura: Livelli di una rete Cloud
                                                       Computing



 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:

                                                                         Client
                                                           Application
                                                             Platform
       SaaS Software as a Service                         Infrastructure
       PaaS Platform as a Service
        IaaS Infrastructure as a
                                                                         Server
             Service                                   Figura: Livelli di una rete Cloud
                                                       Computing



 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




 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




 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 disco         Dimensione                 API                   Link
                            gratuito            massima
                                               singolo file
        Dropbox               2 GB              150 MB se                Java,             http://www.
                                              caricati tramite        Ojective-C,          dropbox.com
                                              API nessuno se        Python, Ruby,
                                              caricati tramite       Perl, PHP, C#
                                               applicazione         .Net, iOS Sdk,
                                               proprietaria          Android sdk,
                                                                         REST
        Box.Net               2 GB                 25 MB             SOAP, REST,          http://www.
                                                                          XML               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 disco          Dimensione                  API                   Link
                              gratuito             massima
                                                  singolo file
      SugarSync                  5 GB                 ND                    REST              https://www.
                                                                                                sugarsync.
                                                                                                   com/
    DMailer backup               2 GB                    ND                   NO               http://www.
                                                                                              dmailer.com/
                                                                                              dmailer-backup.
                                                                                                   html
      Ubuntu ONE                 5 GB                    ND                 REST              https://one.
                                                                                               ubuntu.com/
  Google Documents               1 GB                    ND             Java, Python,         docs.google.
                                                                           REST                     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 Risorse
     WEB




 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 Risorse
     WEB
  • Ogni risorsa è unica e indirizzabile usando sintassi universale
     per uso nei link ipertestuali




 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 Risorse
     WEB
  • Ogni risorsa è unica e indirizzabile usando sintassi universale
     per uso nei link ipertestuali
  • Tutte le risorse sono condivise come interfaccia uniforme per il
     trasferimento di stato tra client e risorse, questo consiste in:




 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 Risorse
     WEB
  • Ogni risorsa è unica e indirizzabile usando sintassi universale
     per uso nei link ipertestuali
  • Tutte le risorse sono condivise come interfaccia uniforme per il
     trasferimento 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




 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 Risorse
     WEB
  • Ogni risorsa è unica e indirizzabile usando sintassi universale
     per uso nei link ipertestuali
  • Tutte le risorse sono condivise come interfaccia uniforme per il
     trasferimento 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 è:




 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 Risorse
     WEB
  • Ogni risorsa è unica e indirizzabile usando sintassi universale
     per uso nei link ipertestuali
  • Tutte le risorse sono condivise come interfaccia uniforme per il
     trasferimento 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




 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 Risorse
     WEB
  • Ogni risorsa è unica e indirizzabile usando sintassi universale
     per uso nei link ipertestuali
  • Tutte le risorse sono condivise come interfaccia uniforme per il
     trasferimento 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




 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 Risorse
     WEB
  • Ogni risorsa è unica e indirizzabile usando sintassi universale
     per uso nei link ipertestuali
  • Tutte le risorse sono condivise come interfaccia uniforme per il
     trasferimento 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




 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 Risorse
     WEB
  • Ogni risorsa è unica e indirizzabile usando sintassi universale
     per uso nei link ipertestuali
  • Tutte le risorse sono condivise come interfaccia uniforme per il
     trasferimento 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’è OAuth
                        Un protocollo aperto per consentire
                        autorizzazioni sicure alle API con un metodo
                        semplice e standard dalle applicazioni desktop e web

  • Protected resource




 Andrea Bruno (05210/000495)             Privacy on Cloud Storage   A.A. 2010/2011   16 / 35
Il Cloud Storage questo sconosciuto   OAuth


                                                 OAuth

Cos’è OAuth
                        Un protocollo aperto per consentire
                        autorizzazioni sicure alle API con un metodo
                        semplice e standard dalle applicazioni desktop e web

  • Protected resource
  • User (o resource owner)




 Andrea Bruno (05210/000495)             Privacy on Cloud Storage   A.A. 2010/2011   16 / 35
Il Cloud Storage questo sconosciuto   OAuth


                                                 OAuth

Cos’è OAuth
                        Un protocollo aperto per consentire
                        autorizzazioni sicure alle API con un metodo
                        semplice e standard dalle applicazioni desktop e web

  • Protected resource
  • User (o resource owner)
  • Consumer (o client)




 Andrea Bruno (05210/000495)             Privacy on Cloud Storage   A.A. 2010/2011   16 / 35
Il Cloud Storage questo sconosciuto   OAuth


                                                 OAuth

Cos’è OAuth
                        Un protocollo aperto per consentire
                        autorizzazioni sicure alle API con un metodo
                        semplice e standard dalle applicazioni desktop e web

  • Protected resource
  • User (o resource owner)
  • Consumer (o client)
  • Service Provider (o server)




 Andrea Bruno (05210/000495)             Privacy on Cloud Storage   A.A. 2010/2011   16 / 35
Il Cloud Storage questo sconosciuto   OAuth


                                                 OAuth

Cos’è OAuth
                        Un protocollo aperto per consentire
                        autorizzazioni sicure alle API con un metodo
                        semplice e standard dalle applicazioni desktop e web

  • Protected resource
  • User (o resource owner)
  • Consumer (o client)
  • Service Provider (o server)
  • Credenziali




 Andrea Bruno (05210/000495)             Privacy on Cloud Storage   A.A. 2010/2011   16 / 35
Il Cloud Storage questo sconosciuto   OAuth


                                                 OAuth

Cos’è OAuth
                        Un protocollo aperto per consentire
                        autorizzazioni sicure alle API con un metodo
                        semplice 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 sconosciuto
     Cloud Computing
     Analisi dei principali servizi di Cloud Storage
     REST
     OAuth
3 Divide et impera: la nostra soluzione
    Desiderata
    Soluzione
4 Implementazione
    Schema di cifratura
    File Storage e Key Storage
    SecureStorage API

5 Test
    OTP
    SecureStorageAPI

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




 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à




 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




 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

Idee
 1   Cifrare tutti i file con una password




Motivazioni per scartarla




 Andrea Bruno (05210/000495)           Privacy on Cloud Storage   A.A. 2010/2011   19 / 35
La nostra soluzione   Soluzione


Soluzioni scartate

Idee
 1   Cifrare tutti i file con una password




Motivazioni per scartarla
 1   La password si può indovinare e anche perdere




 Andrea Bruno (05210/000495)           Privacy on Cloud Storage   A.A. 2010/2011   19 / 35
La nostra soluzione   Soluzione


Soluzioni scartate

Idee
 1   Cifrare tutti i file con una password
 2   Cifrare ogni file con una password diversa


Motivazioni per scartarla
 1   La password si può indovinare e anche perdere




 Andrea Bruno (05210/000495)           Privacy on Cloud Storage   A.A. 2010/2011   19 / 35
La nostra soluzione   Soluzione


Soluzioni scartate

Idee
 1   Cifrare tutti i file con una password
 2   Cifrare ogni file con una password diversa


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?




 Andrea Bruno (05210/000495)           Privacy on Cloud Storage   A.A. 2010/2011   19 / 35
La nostra soluzione   Soluzione


Soluzioni scartate

Idee
 1   Cifrare tutti i file con una password
 2   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


Soluzione


Prendiamo il meglio delle idee precedenti




 Andrea Bruno (05210/000495)           Privacy on Cloud Storage   A.A. 2010/2011   20 / 35
La nostra soluzione   Soluzione


Soluzione


Prendiamo il meglio delle idee precedenti
Se cifriamo ogni file con una password diversa il problema è dove
conservare le password per non perderle?




 Andrea Bruno (05210/000495)           Privacy on Cloud Storage   A.A. 2010/2011   20 / 35
La nostra soluzione   Soluzione


Soluzione


Prendiamo il meglio delle idee precedenti
Se cifriamo ogni file con una password diversa il problema è dove
conservare le password per non perderle?
Ma la soluzione è insita nel problema stesso:




 Andrea Bruno (05210/000495)           Privacy on Cloud Storage   A.A. 2010/2011   20 / 35
La nostra soluzione   Soluzione


Soluzione


Prendiamo il meglio delle idee precedenti
Se cifriamo ogni file con una password diversa il problema è dove
conservare le password per non perderle?
Ma la soluzione è insita nel problema stesso:
  • suddividiamo le informazioni




 Andrea Bruno (05210/000495)           Privacy on Cloud Storage   A.A. 2010/2011   20 / 35
La nostra soluzione   Soluzione


Soluzione


Prendiamo il meglio delle idee precedenti
Se cifriamo ogni file con una password diversa il problema è dove
conservare 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 )




 Andrea Bruno (05210/000495)           Privacy on Cloud Storage   A.A. 2010/2011   20 / 35
La nostra soluzione   Soluzione


Soluzione


Prendiamo il meglio delle idee precedenti
Se cifriamo ogni file con una password diversa il problema è dove
conservare 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 sconosciuto
     Cloud Computing
     Analisi dei principali servizi di Cloud Storage
     REST
     OAuth
3 Divide et impera: la nostra soluzione
    Desiderata
    Soluzione
4 Implementazione
    Schema di cifratura
    File Storage e Key Storage
    SecureStorage API

5 Test
    OTP
    SecureStorageAPI

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




 Andrea Bruno (05210/000495)        Privacy on Cloud Storage   A.A. 2010/2011   22 / 35
Implementazione


Implementazione I

Azioni che vogliamo implementare
 storeFile: Cifrare i file con una chiave generata appositamente e
            salvare il file su un servizio e la chiave su un’altro.




 Andrea Bruno (05210/000495)        Privacy on Cloud Storage   A.A. 2010/2011   22 / 35
Implementazione


Implementazione I

Azioni che vogliamo implementare
 storeFile: 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




 Andrea Bruno (05210/000495)        Privacy on Cloud Storage   A.A. 2010/2011   22 / 35
Implementazione


Implementazione I

Azioni che vogliamo implementare
 storeFile: 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 remoti




 Andrea Bruno (05210/000495)        Privacy on Cloud Storage   A.A. 2010/2011   22 / 35
Implementazione


Implementazione I

Azioni che vogliamo implementare
 storeFile: 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 remoti
deleteFile: Cancellare 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 implementare
 storeFile: 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 remoti
deleteFile: 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 II

Le nostre API
Le nostre API sono composte da:




 Andrea Bruno (05210/000495)        Privacy on Cloud Storage   A.A. 2010/2011   23 / 35
Implementazione


Implementazione II

Le nostre API
Le nostre API sono composte da:
  • Un insieme di interfacce e classi astratte per definire uno schema
    di cifratura.




 Andrea Bruno (05210/000495)        Privacy on Cloud Storage   A.A. 2010/2011   23 / 35
Implementazione


Implementazione II

Le nostre API
Le 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




 Andrea Bruno (05210/000495)        Privacy on Cloud Storage   A.A. 2010/2011   23 / 35
Implementazione


Implementazione II

Le nostre API
Le 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 File
     Store.




 Andrea Bruno (05210/000495)        Privacy on Cloud Storage   A.A. 2010/2011   23 / 35
Implementazione


Implementazione II

Le nostre API
Le 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 File
     Store.
         • DropboxTM e Ubuntu One come implementazione di riferimento




 Andrea Bruno (05210/000495)        Privacy on Cloud Storage   A.A. 2010/2011   23 / 35
Implementazione


Implementazione II

Le nostre API
Le 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 File
     Store.
         • DropboxTM e Ubuntu One come implementazione di riferimento
         • Ulteriore implementazione con salvataggio dei file su Filesystem
            locale




 Andrea Bruno (05210/000495)        Privacy on Cloud Storage   A.A. 2010/2011   23 / 35
Implementazione


Implementazione II

Le nostre API
Le 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 File
     Store.
         • 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 modo
     trasparente



 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 Pad
Lo schema di cifratura one-time pad è definito nel modo seguente:




 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 Pad
Lo schema di cifratura one-time pad è definito nel modo seguente:
 1   L’algoritmo di generazione della chiave Gen lavora scegliendo una
     stringa da K = {0, 1} secondo la distribuzione uniforme (ognuna
     delle 2 stringhe nello spazio delle chiavi è scelta come chiave con
     probabilità esattamente pari a 2− ).




 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 Pad
Lo schema di cifratura one-time pad è definito nel modo seguente:
 1   L’algoritmo di generazione della chiave Gen lavora scegliendo una
     stringa da K = {0, 1} secondo la distribuzione uniforme (ognuna
     delle 2 stringhe nello spazio delle chiavi è scelta come chiave con
     probabilità esattamente pari a 2− ).
 2   La cifratura Enc lavora come segue: data una chiave k ∈ {0, 1} e
     un messaggio m ∈ {0, 1} , restituisce in output c := k ⊕ m.




 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 Pad
Lo schema di cifratura one-time pad è definito nel modo seguente:
 1   L’algoritmo di generazione della chiave Gen lavora scegliendo una
     stringa da K = {0, 1} secondo la distribuzione uniforme (ognuna
     delle 2 stringhe nello spazio delle chiavi è scelta come chiave con
     probabilità esattamente pari a 2− ).
 2   La cifratura Enc lavora come segue: data una chiave k ∈ {0, 1} e
     un messaggio m ∈ {0, 1} , restituisce in output c := k ⊕ m.
 3   La decifratura Dec lavora come segue: data una chiave
     k ∈ {0, 1} e un testo cifrato c ∈ {0, 1} , restituisce in output
     m := 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

Implementazioni
Tre implementazioni per provare il funzionamento della nostra idea:




 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

Implementazioni
Tre implementazioni per provare il funzionamento della nostra idea:
  1   Utilizzando le API Java fornite da DropboxTM .




 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

Implementazioni
Tre 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.




 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

Implementazioni
Tre 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 API
Permette di unire insieme lo schema di cifratura con i sistemi di
storage e di utilizzarli per implementare le azioni specificate in
precedenza in modo trasparente. Due implementazioni principali:




 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 API
Permette di unire insieme lo schema di cifratura con i sistemi di
storage e di utilizzarli per implementare le azioni specificate in
precedenza in modo trasparente. Due implementazioni principali:
  1   Una versione single 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 API
Permette di unire insieme lo schema di cifratura con i sistemi di
storage e di utilizzarli per implementare le azioni specificate in
precedenza 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 sconosciuto
     Cloud Computing
     Analisi dei principali servizi di Cloud Storage
     REST
     OAuth
3 Divide et impera: la nostra soluzione
    Desiderata
    Soluzione
4 Implementazione
    Schema di cifratura
    File Storage e Key Storage
    SecureStorage API

5 Test
    OTP
    SecureStorageAPI

6 Conclusioni
7 Sviluppi futuri

   Andrea Bruno (05210/000495)          Privacy on Cloud Storage   A.A. 2010/2011   27 / 35
Test     OTP




                                        tempo di cifratura
                 500
                                                        java.util.Random
                                                            SHA1PRNG
                 400
   Tempo in ms




                 300

                 200

                 100

                   0
                              Ge           Cif          Me          Te
                              de ner           rat                     m
                                lla az             ura dellmoriz di cifpo t
                                                            ac z
                                   ch ion             de         a       ra ota
                                     iav e              l fil hiav zion tura le
                                        e                   e     e e
                                      Fase della cifratura
Andrea Bruno (05210/000495)         Privacy on Cloud Storage           A.A. 2010/2011   28 / 35
Test     OTP




                                  Tempo di decifratura
                 250
                                                     java.util.Random
                                                         SHA1PRNG
                 200
   Tempo in ms




                 150

                 100

                  50

                   0
                              Ca             De                 Te
                              de rica        de cifr            di mpo
                                lla m          l fil atu            de to
                                    ch ent         e ra              cifr ta
                                      iav o                              atu le
                                         e                                  ra
                                   Fase della decifratura
Andrea Bruno (05210/000495)     Privacy on Cloud Storage            A.A. 2010/2011   29 / 35
Test     SecureStorageAPI




                                 Tempi medi di upload e download
             50
                                                      DropBox API
                                                   Ubuntu One API
             40                   SecureStorage con Foo Encryption
                                 SecureStorage con OTP Encryption
                  SecureStorage con Foo Encryption e MultiThreading
                           SecureStorage con OTP e MultiThreading
Tempo in s




             30                            SecureStorage con OTP
                                   senza Secure Random Generator
                                                   e MultiThreading
             20

             10

              0
                                   Upload                       Download
                                                    Fase
   Andrea Bruno (05210/000495)       Privacy on Cloud Storage              A.A. 2010/2011   30 / 35
Test     SecureStorageAPI




                                      Velocita’ medie upload e download
                    600
                                                              DropBox API
                                                           Ubuntu One API
                    500                   SecureStorage con Foo Encryption
                                         SecureStorage con OTP Encryption
                          SecureStorage con Foo Encryption e MultiThreading
Velocita’ in kB/s




                    400            SecureStorage con OTP e MultiThreading
                                                   SecureStorage con OTP
                                           senza Secure Random Generator
                    300                                    e MultiThreading

                    200

                    100

                      0
                                         Upload                      Download
                                                          Fase
     Andrea Bruno (05210/000495)          Privacy on Cloud Storage              A.A. 2010/2011   31 / 35
Conclusioni


Outline
1 Introduzione
2 Il Cloud Storage questo sconosciuto
     Cloud Computing
     Analisi dei principali servizi di Cloud Storage
     REST
     OAuth
3 Divide et impera: la nostra soluzione
    Desiderata
    Soluzione
4 Implementazione
    Schema di cifratura
    File Storage e Key Storage
    SecureStorage API

5 Test
    OTP
    SecureStorageAPI

6 Conclusioni
7 Sviluppi futuri

   Andrea Bruno (05210/000495)          Privacy on Cloud Storage   A.A. 2010/2011   32 / 35
Conclusioni


È quello che volevamo?
Obiettivi                                    La nostra soluzione
 • Sicurezza e privacy




 Andrea Bruno (05210/000495)    Privacy on Cloud Storage       A.A. 2010/2011   33 / 35
Conclusioni


È quello che volevamo?
Obiettivi                                    La nostra soluzione
 • Sicurezza e privacy
                                             Si perchè
                                             Utilizzando One-Time Pad è
                                             dimostrato che l’unico modo in cui
                                             un malintenzionato può decifrare i
                                             nostri file è che abbia la chiave di
                                             cifratura, ma, se i servizi di Cloud
                                             Storage non sono collegati è
                                             improbabile che
                                             un’malintenzionato, per quanto
                                             esperto li violi entrambe.




 Andrea Bruno (05210/000495)    Privacy on Cloud Storage          A.A. 2010/2011   33 / 35
Conclusioni


È quello che volevamo?
Obiettivi                                    La nostra soluzione
 • Sicurezza e privacy
  • Portabilità




 Andrea Bruno (05210/000495)    Privacy on Cloud Storage       A.A. 2010/2011   33 / 35
Conclusioni


È quello che volevamo?
Obiettivi                                    La nostra soluzione
 • Sicurezza e privacy
                                             Si perchè
  • Portabilità
                                             Le librerie sono tutte sviluppate in
                                             Java, che garantisce la portabilità
                                             sulla maggior parte dei sistemi e
                                             delle piattaforme.
                                             L’applicazione è stata testata su
                                             WindowsTM , Linux e Mac OS X




 Andrea Bruno (05210/000495)    Privacy on Cloud Storage          A.A. 2010/2011   33 / 35
Conclusioni


È quello che volevamo?
Obiettivi                                    La nostra soluzione
 • Sicurezza e privacy
  • Portabilità
  • Semplicità d’uso




 Andrea Bruno (05210/000495)    Privacy on Cloud Storage       A.A. 2010/2011   33 / 35
Conclusioni


È quello che volevamo?
Obiettivi                                    La nostra soluzione
 • Sicurezza e privacy
                                             Si perchè
  • Portabilità
                                             Abbiamo realizzato una
  • Semplicità d’uso
                                             applicazione di semplice uso per
                                             l’utente medio.




 Andrea Bruno (05210/000495)    Privacy on Cloud Storage        A.A. 2010/2011   33 / 35
Conclusioni


È quello che volevamo?
Obiettivi                                    La nostra soluzione
 • Sicurezza e privacy
  • Portabilità
  • Semplicità d’uso
  • Possibilità di condividere i
    propri file con altri utenti




 Andrea Bruno (05210/000495)    Privacy on Cloud Storage       A.A. 2010/2011   33 / 35
Conclusioni


È quello che volevamo?
Obiettivi                                    La nostra soluzione
 • Sicurezza e privacy
                                             Si perchè
  • Portabilità
                                             Abbiamo realizzato una semplice
  • Semplicità d’uso
                                             applicazione che permette di
  • Possibilità di condividere i             condividere solo i due link del file
    propri file con altri utenti              cifrato 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 sconosciuto
     Cloud Computing
     Analisi dei principali servizi di Cloud Storage
     REST
     OAuth
3 Divide et impera: la nostra soluzione
    Desiderata
    Soluzione
4 Implementazione
    Schema di cifratura
    File Storage e Key Storage
    SecureStorage API

5 Test
    OTP
    SecureStorageAPI

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




 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




 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




 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

Contenu connexe

Similaire à Privacy On Cloud Storage

Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingfrancesco pesare
 
Aruba, Dell e Intel: una partnership d'eccezione
Aruba, Dell e Intel: una partnership d'eccezioneAruba, Dell e Intel: una partnership d'eccezione
Aruba, Dell e Intel: una partnership d'eccezioneAruba S.p.A.
 
Public Cloud Computing in ambito enterprise
Public Cloud Computing in ambito enterprisePublic Cloud Computing in ambito enterprise
Public Cloud Computing in ambito enterpriseseeweb
 
Elettronica open source sulle nuvole (server cloud) 2010-10-24
Elettronica open source sulle nuvole (server cloud)   2010-10-24Elettronica open source sulle nuvole (server cloud)   2010-10-24
Elettronica open source sulle nuvole (server cloud) 2010-10-24Ionela
 
Consolidamento e virtualizzazione
Consolidamento e virtualizzazione Consolidamento e virtualizzazione
Consolidamento e virtualizzazione S.info Srl
 
Data-as-a-Service: il modello architetturale di Dropbox
Data-as-a-Service: il modello architetturale di DropboxData-as-a-Service: il modello architetturale di Dropbox
Data-as-a-Service: il modello architetturale di DropboxMariagrazia Cinti
 
Lezione 6: Il Web come piattaforma
Lezione 6: Il Web come piattaformaLezione 6: Il Web come piattaforma
Lezione 6: Il Web come piattaformaRoberto Polillo
 
Come creare infrastrutture Cloud Sicure
Come creare infrastrutture Cloud SicureCome creare infrastrutture Cloud Sicure
Come creare infrastrutture Cloud SicureStefano Dindo
 
Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...Adriano Scaruffi
 
02 - VMUGIT - Lecce 2018 - Enrico Signoretti, OpenIO
02 - VMUGIT - Lecce 2018 - Enrico Signoretti, OpenIO02 - VMUGIT - Lecce 2018 - Enrico Signoretti, OpenIO
02 - VMUGIT - Lecce 2018 - Enrico Signoretti, OpenIOVMUG IT
 
Presentazione Coud Backup
Presentazione Coud BackupPresentazione Coud Backup
Presentazione Coud Backupseeweb
 
Workshop Aruba, Dell, Intel - Smau Bologna 2014: 'Dai server fisici al cloud'
Workshop Aruba, Dell, Intel - Smau Bologna 2014: 'Dai server fisici al cloud'Workshop Aruba, Dell, Intel - Smau Bologna 2014: 'Dai server fisici al cloud'
Workshop Aruba, Dell, Intel - Smau Bologna 2014: 'Dai server fisici al cloud'Aruba S.p.A.
 
Data Virtualization per una Multi-Cloud Data Integration senza barriere né co...
Data Virtualization per una Multi-Cloud Data Integration senza barriere né co...Data Virtualization per una Multi-Cloud Data Integration senza barriere né co...
Data Virtualization per una Multi-Cloud Data Integration senza barriere né co...Denodo
 
Smau Torino 2014 - Workshop Aruba, Dell e Intel: 'Dai Tablet al Cloud, una pa...
Smau Torino 2014 - Workshop Aruba, Dell e Intel: 'Dai Tablet al Cloud, una pa...Smau Torino 2014 - Workshop Aruba, Dell e Intel: 'Dai Tablet al Cloud, una pa...
Smau Torino 2014 - Workshop Aruba, Dell e Intel: 'Dai Tablet al Cloud, una pa...Aruba S.p.A.
 
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...Enrico Franceschini
 
Backup istantaneo in cloud.
Backup istantaneo in cloud.Backup istantaneo in cloud.
Backup istantaneo in cloud.Giovanni Zanasca
 
Con Aruba, a lezione di cloud #lezione11 - parte 1: 'Cloud Object Storage: t...
Con Aruba, a lezione di cloud  #lezione11 - parte 1: 'Cloud Object Storage: t...Con Aruba, a lezione di cloud  #lezione11 - parte 1: 'Cloud Object Storage: t...
Con Aruba, a lezione di cloud #lezione11 - parte 1: 'Cloud Object Storage: t...Aruba S.p.A.
 
Cloud computing (Andrea Cavicchini)
Cloud computing (Andrea Cavicchini)Cloud computing (Andrea Cavicchini)
Cloud computing (Andrea Cavicchini)Andrea Cavicchini
 

Similaire à Privacy On Cloud Storage (20)

Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computing
 
Aruba, Dell e Intel: una partnership d'eccezione
Aruba, Dell e Intel: una partnership d'eccezioneAruba, Dell e Intel: una partnership d'eccezione
Aruba, Dell e Intel: una partnership d'eccezione
 
Public Cloud Computing in ambito enterprise
Public Cloud Computing in ambito enterprisePublic Cloud Computing in ambito enterprise
Public Cloud Computing in ambito enterprise
 
Elettronica open source sulle nuvole (server cloud) 2010-10-24
Elettronica open source sulle nuvole (server cloud)   2010-10-24Elettronica open source sulle nuvole (server cloud)   2010-10-24
Elettronica open source sulle nuvole (server cloud) 2010-10-24
 
Consolidamento e virtualizzazione
Consolidamento e virtualizzazione Consolidamento e virtualizzazione
Consolidamento e virtualizzazione
 
Data-as-a-Service: il modello architetturale di Dropbox
Data-as-a-Service: il modello architetturale di DropboxData-as-a-Service: il modello architetturale di Dropbox
Data-as-a-Service: il modello architetturale di Dropbox
 
Lezione 6: Il Web come piattaforma
Lezione 6: Il Web come piattaformaLezione 6: Il Web come piattaforma
Lezione 6: Il Web come piattaforma
 
Come creare infrastrutture Cloud Sicure
Come creare infrastrutture Cloud SicureCome creare infrastrutture Cloud Sicure
Come creare infrastrutture Cloud Sicure
 
Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
 
Cloud storage
Cloud storageCloud storage
Cloud storage
 
IoT e l'integrazione cloud edge
IoT e l'integrazione cloud edgeIoT e l'integrazione cloud edge
IoT e l'integrazione cloud edge
 
02 - VMUGIT - Lecce 2018 - Enrico Signoretti, OpenIO
02 - VMUGIT - Lecce 2018 - Enrico Signoretti, OpenIO02 - VMUGIT - Lecce 2018 - Enrico Signoretti, OpenIO
02 - VMUGIT - Lecce 2018 - Enrico Signoretti, OpenIO
 
Presentazione Coud Backup
Presentazione Coud BackupPresentazione Coud Backup
Presentazione Coud Backup
 
Workshop Aruba, Dell, Intel - Smau Bologna 2014: 'Dai server fisici al cloud'
Workshop Aruba, Dell, Intel - Smau Bologna 2014: 'Dai server fisici al cloud'Workshop Aruba, Dell, Intel - Smau Bologna 2014: 'Dai server fisici al cloud'
Workshop Aruba, Dell, Intel - Smau Bologna 2014: 'Dai server fisici al cloud'
 
Data Virtualization per una Multi-Cloud Data Integration senza barriere né co...
Data Virtualization per una Multi-Cloud Data Integration senza barriere né co...Data Virtualization per una Multi-Cloud Data Integration senza barriere né co...
Data Virtualization per una Multi-Cloud Data Integration senza barriere né co...
 
Smau Torino 2014 - Workshop Aruba, Dell e Intel: 'Dai Tablet al Cloud, una pa...
Smau Torino 2014 - Workshop Aruba, Dell e Intel: 'Dai Tablet al Cloud, una pa...Smau Torino 2014 - Workshop Aruba, Dell e Intel: 'Dai Tablet al Cloud, una pa...
Smau Torino 2014 - Workshop Aruba, Dell e Intel: 'Dai Tablet al Cloud, una pa...
 
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...
Utilizzo del Software OpenStack per la realizzazione di piattaforme "Cloud" -...
 
Backup istantaneo in cloud.
Backup istantaneo in cloud.Backup istantaneo in cloud.
Backup istantaneo in cloud.
 
Con Aruba, a lezione di cloud #lezione11 - parte 1: 'Cloud Object Storage: t...
Con Aruba, a lezione di cloud  #lezione11 - parte 1: 'Cloud Object Storage: t...Con Aruba, a lezione di cloud  #lezione11 - parte 1: 'Cloud Object Storage: t...
Con Aruba, a lezione di cloud #lezione11 - parte 1: 'Cloud Object Storage: t...
 
Cloud computing (Andrea Cavicchini)
Cloud computing (Andrea Cavicchini)Cloud computing (Andrea Cavicchini)
Cloud computing (Andrea Cavicchini)
 

Privacy On Cloud Storage

  • 1. 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
  • 2. Outline 1 Introduzione 2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth 3 Divide et impera: la nostra soluzione Desiderata Soluzione 4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API 5 Test OTP SecureStorageAPI 6 Conclusioni 7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 2 / 35
  • 3. Introduzione Outline 1 Introduzione 2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth 3 Divide et impera: la nostra soluzione Desiderata Soluzione 4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API 5 Test OTP SecureStorageAPI 6 Conclusioni 7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 4 / 35
  • 4. Introduzione Perchè il Cloud Storage? • File sempre disponibili Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
  • 5. Introduzione Perchè il Cloud Storage? • File sempre disponibili • Fault tolerance Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
  • 6. Introduzione Perchè il Cloud Storage? • File sempre disponibili • Fault tolerance • Molti servizi Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
  • 7. Introduzione Perchè il Cloud Storage? • File sempre disponibili • Fault tolerance • Molti servizi • Dropbox Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
  • 8. Introduzione Perchè il Cloud Storage? • File sempre disponibili • Fault tolerance • Molti servizi • Dropbox • Ubuntu One Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
  • 9. Introduzione Perchè il Cloud Storage? • File sempre disponibili • Fault tolerance • Molti servizi • Dropbox • Ubuntu One • SugarSync Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
  • 10. 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
  • 11. 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
  • 12. Introduzione Sicurezza del Cloud Storage I • Solo garanzia di uso https per trasferimento file Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 6 / 35
  • 13. Introduzione Sicurezza del Cloud Storage I • Solo garanzia di uso https per trasferimento file • Non sempre dichiarata Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 6 / 35
  • 14. 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 loro Ubuntu One Nessuna cifratura per faciltare sharing SugarSync File protetti (come?) Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 6 / 35
  • 15. Introduzione Sicurezza del Cloud Storage II • Controllo delle chiavi necessario per le forze dell’ordine Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 7 / 35
  • 16. 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 Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 7 / 35
  • 17. 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 Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 7 / 35
  • 18. 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 Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 7 / 35
  • 19. 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
  • 20. Il Cloud Storage questo sconosciuto Outline 1 Introduzione 2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth 3 Divide et impera: la nostra soluzione Desiderata Soluzione 4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API 5 Test OTP SecureStorageAPI 6 Conclusioni 7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 8 / 35
  • 21. Il Cloud Storage questo sconosciuto Cloud Computing Storia del Cloud Computing • Elaborazione distribuita (Cluster) Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
  • 22. Il Cloud Storage questo sconosciuto Cloud Computing Storia del Cloud Computing • Elaborazione distribuita (Cluster) • Grid Computing (SETI@home) Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
  • 23. Il Cloud Storage questo sconosciuto Cloud Computing Storia del Cloud Computing • Elaborazione distribuita (Cluster) • Grid Computing (SETI@home) • Cloud Computing - Applicazioni e dati nella nuvola: Figura: Diagramma logico di una rete Cloud Computing Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
  • 24. Il Cloud Storage questo sconosciuto Cloud Computing Storia del Cloud Computing • Elaborazione distribuita (Cluster) • Grid Computing (SETI@home) • Cloud Computing - Applicazioni e dati nella nuvola: • Calendario Figura: Diagramma logico di una rete Cloud Computing Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
  • 25. Il Cloud Storage questo sconosciuto Cloud Computing Storia del Cloud Computing • Elaborazione distribuita (Cluster) • Grid Computing (SETI@home) • Cloud Computing - Applicazioni e dati nella nuvola: • Calendario • Contatti Figura: Diagramma logico di una rete Cloud Computing Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
  • 26. Il Cloud Storage questo sconosciuto Cloud Computing Storia del Cloud Computing • Elaborazione distribuita (Cluster) • Grid Computing (SETI@home) • Cloud Computing - Applicazioni e dati nella nuvola: • Calendario • Contatti • Word processing Figura: Diagramma logico di una rete Cloud Computing Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
  • 27. Il Cloud Storage questo sconosciuto Cloud Computing Storia del Cloud Computing • Elaborazione distribuita (Cluster) • Grid Computing (SETI@home) • Cloud Computing - Applicazioni e dati nella nuvola: • Calendario • Contatti • Word processing • Comunicazioni Figura: Diagramma logico di una rete Cloud Computing Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
  • 28. Il Cloud Storage questo sconosciuto Cloud Computing Storia del Cloud Computing • Elaborazione distribuita (Cluster) • Grid Computing (SETI@home) • Cloud Computing - Applicazioni e dati nella nuvola: • 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
  • 29. Il Cloud Storage questo sconosciuto Cloud Computing Cloud Computing Fondamentalmente 3 sono le tipologie di Cloud Computing: Client Application Platform Infrastructure Server Figura: Livelli di una rete Cloud Computing Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 10 / 35
  • 30. Il Cloud Storage questo sconosciuto Cloud Computing Cloud Computing Fondamentalmente 3 sono le tipologie di Cloud Computing: Client Application Platform SaaS Software as a Service Infrastructure Server Figura: Livelli di una rete Cloud Computing Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 10 / 35
  • 31. Il Cloud Storage questo sconosciuto Cloud Computing Cloud Computing Fondamentalmente 3 sono le tipologie di Cloud Computing: Client Application Platform SaaS Software as a Service Infrastructure PaaS Platform as a Service Server Figura: Livelli di una rete Cloud Computing Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 10 / 35
  • 32. Il Cloud Storage questo sconosciuto Cloud Computing Cloud Computing Fondamentalmente 3 sono le tipologie di Cloud Computing: Client Application Platform SaaS Software as a Service Infrastructure PaaS Platform as a Service IaaS Infrastructure as a Server Service Figura: Livelli di una rete Cloud Computing Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 10 / 35
  • 33. 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
  • 34. Il Cloud Storage questo sconosciuto Cloud Computing Problematiche • Sicurezza informatica e privacy degli utenti Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 12 / 35
  • 35. Il Cloud Storage questo sconosciuto Cloud Computing Problematiche • Sicurezza informatica e privacy degli utenti • Problematiche internazionali di tipo economico e politico Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 12 / 35
  • 36. 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
  • 37. Il Cloud Storage questo sconosciuto Analisi dei principali servizi di Cloud Storage Principali servizi di Cloud Storage I Servizio Spazio disco Dimensione API Link gratuito massima singolo file Dropbox 2 GB 150 MB se Java, http://www. caricati tramite Ojective-C, dropbox.com API nessuno se Python, Ruby, caricati tramite Perl, PHP, C# applicazione .Net, iOS Sdk, proprietaria Android sdk, REST Box.Net 2 GB 25 MB SOAP, REST, http://www. XML 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
  • 38. Il Cloud Storage questo sconosciuto Analisi dei principali servizi di Cloud Storage Principali servizi di Cloud Storage II Servizio Spazio disco Dimensione API Link gratuito massima singolo file SugarSync 5 GB ND REST https://www. sugarsync. com/ DMailer backup 2 GB ND NO http://www. dmailer.com/ dmailer-backup. html Ubuntu ONE 5 GB ND REST https://one. ubuntu.com/ Google Documents 1 GB ND Java, Python, docs.google. REST com Tabella: Riassunto dei principali sistemi di storage online Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 14 / 35
  • 39. Il Cloud Storage questo sconosciuto REST L’architettura rest • Lo stato dell’applicazione e le funzionalità sono divisi in Risorse WEB Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
  • 40. Il Cloud Storage questo sconosciuto REST L’architettura rest • Lo stato dell’applicazione e le funzionalità sono divisi in Risorse WEB • Ogni risorsa è unica e indirizzabile usando sintassi universale per uso nei link ipertestuali Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
  • 41. Il Cloud Storage questo sconosciuto REST L’architettura rest • Lo stato dell’applicazione e le funzionalità sono divisi in Risorse WEB • Ogni risorsa è unica e indirizzabile usando sintassi universale per uso nei link ipertestuali • Tutte le risorse sono condivise come interfaccia uniforme per il trasferimento di stato tra client e risorse, questo consiste in: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
  • 42. Il Cloud Storage questo sconosciuto REST L’architettura rest • Lo stato dell’applicazione e le funzionalità sono divisi in Risorse WEB • Ogni risorsa è unica e indirizzabile usando sintassi universale per uso nei link ipertestuali • Tutte le risorse sono condivise come interfaccia uniforme per il trasferimento 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 Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
  • 43. Il Cloud Storage questo sconosciuto REST L’architettura rest • Lo stato dell’applicazione e le funzionalità sono divisi in Risorse WEB • Ogni risorsa è unica e indirizzabile usando sintassi universale per uso nei link ipertestuali • Tutte le risorse sono condivise come interfaccia uniforme per il trasferimento 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 è: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
  • 44. Il Cloud Storage questo sconosciuto REST L’architettura rest • Lo stato dell’applicazione e le funzionalità sono divisi in Risorse WEB • Ogni risorsa è unica e indirizzabile usando sintassi universale per uso nei link ipertestuali • Tutte le risorse sono condivise come interfaccia uniforme per il trasferimento 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 Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
  • 45. Il Cloud Storage questo sconosciuto REST L’architettura rest • Lo stato dell’applicazione e le funzionalità sono divisi in Risorse WEB • Ogni risorsa è unica e indirizzabile usando sintassi universale per uso nei link ipertestuali • Tutte le risorse sono condivise come interfaccia uniforme per il trasferimento 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 Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
  • 46. Il Cloud Storage questo sconosciuto REST L’architettura rest • Lo stato dell’applicazione e le funzionalità sono divisi in Risorse WEB • Ogni risorsa è unica e indirizzabile usando sintassi universale per uso nei link ipertestuali • Tutte le risorse sono condivise come interfaccia uniforme per il trasferimento 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 Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 15 / 35
  • 47. Il Cloud Storage questo sconosciuto REST L’architettura rest • Lo stato dell’applicazione e le funzionalità sono divisi in Risorse WEB • Ogni risorsa è unica e indirizzabile usando sintassi universale per uso nei link ipertestuali • Tutte le risorse sono condivise come interfaccia uniforme per il trasferimento 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
  • 48. Il Cloud Storage questo sconosciuto OAuth OAuth Cos’è OAuth Un protocollo aperto per consentire autorizzazioni sicure alle API con un metodo semplice e standard dalle applicazioni desktop e web • Protected resource Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
  • 49. Il Cloud Storage questo sconosciuto OAuth OAuth Cos’è OAuth Un protocollo aperto per consentire autorizzazioni sicure alle API con un metodo semplice e standard dalle applicazioni desktop e web • Protected resource • User (o resource owner) Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
  • 50. Il Cloud Storage questo sconosciuto OAuth OAuth Cos’è OAuth Un protocollo aperto per consentire autorizzazioni sicure alle API con un metodo semplice e standard dalle applicazioni desktop e web • Protected resource • User (o resource owner) • Consumer (o client) Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
  • 51. Il Cloud Storage questo sconosciuto OAuth OAuth Cos’è OAuth Un protocollo aperto per consentire autorizzazioni sicure alle API con un metodo semplice e standard dalle applicazioni desktop e web • Protected resource • User (o resource owner) • Consumer (o client) • Service Provider (o server) Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
  • 52. Il Cloud Storage questo sconosciuto OAuth OAuth Cos’è OAuth Un protocollo aperto per consentire autorizzazioni sicure alle API con un metodo semplice e standard dalle applicazioni desktop e web • Protected resource • User (o resource owner) • Consumer (o client) • Service Provider (o server) • Credenziali Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 16 / 35
  • 53. Il Cloud Storage questo sconosciuto OAuth OAuth Cos’è OAuth Un protocollo aperto per consentire autorizzazioni sicure alle API con un metodo semplice 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
  • 54. La nostra soluzione Outline 1 Introduzione 2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth 3 Divide et impera: la nostra soluzione Desiderata Soluzione 4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API 5 Test OTP SecureStorageAPI 6 Conclusioni 7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 17 / 35
  • 55. La nostra soluzione Desiderata I nostri obiettivi • Sicurezza e privacy Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 18 / 35
  • 56. La nostra soluzione Desiderata I nostri obiettivi • Sicurezza e privacy • Portabilità Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 18 / 35
  • 57. La nostra soluzione Desiderata I nostri obiettivi • Sicurezza e privacy • Portabilità • Semplicità d’uso Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 18 / 35
  • 58. 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
  • 59. La nostra soluzione Soluzione Soluzioni scartate Idee 1 Cifrare tutti i file con una password Motivazioni per scartarla Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 19 / 35
  • 60. La nostra soluzione Soluzione Soluzioni scartate Idee 1 Cifrare tutti i file con una password Motivazioni per scartarla 1 La password si può indovinare e anche perdere Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 19 / 35
  • 61. La nostra soluzione Soluzione Soluzioni scartate Idee 1 Cifrare tutti i file con una password 2 Cifrare ogni file con una password diversa Motivazioni per scartarla 1 La password si può indovinare e anche perdere Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 19 / 35
  • 62. La nostra soluzione Soluzione Soluzioni scartate Idee 1 Cifrare tutti i file con una password 2 Cifrare ogni file con una password diversa 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? Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 19 / 35
  • 63. La nostra soluzione Soluzione Soluzioni scartate Idee 1 Cifrare tutti i file con una password 2 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
  • 64. La nostra soluzione Soluzione Soluzione Prendiamo il meglio delle idee precedenti Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  • 65. La nostra soluzione Soluzione Soluzione Prendiamo il meglio delle idee precedenti Se cifriamo ogni file con una password diversa il problema è dove conservare le password per non perderle? Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  • 66. La nostra soluzione Soluzione Soluzione Prendiamo il meglio delle idee precedenti Se cifriamo ogni file con una password diversa il problema è dove conservare le password per non perderle? Ma la soluzione è insita nel problema stesso: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  • 67. La nostra soluzione Soluzione Soluzione Prendiamo il meglio delle idee precedenti Se cifriamo ogni file con una password diversa il problema è dove conservare le password per non perderle? Ma la soluzione è insita nel problema stesso: • suddividiamo le informazioni Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  • 68. La nostra soluzione Soluzione Soluzione Prendiamo il meglio delle idee precedenti Se cifriamo ogni file con una password diversa il problema è dove conservare 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 ) Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  • 69. La nostra soluzione Soluzione Soluzione Prendiamo il meglio delle idee precedenti Se cifriamo ogni file con una password diversa il problema è dove conservare 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
  • 70. Implementazione Outline 1 Introduzione 2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth 3 Divide et impera: la nostra soluzione Desiderata Soluzione 4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API 5 Test OTP SecureStorageAPI 6 Conclusioni 7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 21 / 35
  • 71. Implementazione Implementazione I Azioni che vogliamo implementare Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
  • 72. Implementazione Implementazione I Azioni che vogliamo implementare storeFile: Cifrare i file con una chiave generata appositamente e salvare il file su un servizio e la chiave su un’altro. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
  • 73. Implementazione Implementazione I Azioni che vogliamo implementare storeFile: 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 Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
  • 74. Implementazione Implementazione I Azioni che vogliamo implementare storeFile: 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 remoti Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
  • 75. Implementazione Implementazione I Azioni che vogliamo implementare storeFile: 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 remoti deleteFile: Cancellare il file cifrato e la relativa chiave Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
  • 76. Implementazione Implementazione I Azioni che vogliamo implementare storeFile: 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 remoti deleteFile: 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
  • 77. Implementazione Implementazione II Le nostre API Le nostre API sono composte da: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
  • 78. Implementazione Implementazione II Le nostre API Le nostre API sono composte da: • Un insieme di interfacce e classi astratte per definire uno schema di cifratura. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
  • 79. Implementazione Implementazione II Le nostre API Le 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 Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
  • 80. Implementazione Implementazione II Le nostre API Le 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 File Store. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
  • 81. Implementazione Implementazione II Le nostre API Le 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 File Store. • DropboxTM e Ubuntu One come implementazione di riferimento Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
  • 82. Implementazione Implementazione II Le nostre API Le 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 File Store. • DropboxTM e Ubuntu One come implementazione di riferimento • Ulteriore implementazione con salvataggio dei file su Filesystem locale Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
  • 83. Implementazione Implementazione II Le nostre API Le 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 File Store. • 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 modo trasparente Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
  • 84. Implementazione Schema di cifratura Implementazione di riferimento schema di cifratura One-Time Pad Lo schema di cifratura one-time pad è definito nel modo seguente: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 24 / 35
  • 85. Implementazione Schema di cifratura Implementazione di riferimento schema di cifratura One-Time Pad Lo schema di cifratura one-time pad è definito nel modo seguente: 1 L’algoritmo di generazione della chiave Gen lavora scegliendo una stringa da K = {0, 1} secondo la distribuzione uniforme (ognuna delle 2 stringhe nello spazio delle chiavi è scelta come chiave con probabilità esattamente pari a 2− ). Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 24 / 35
  • 86. Implementazione Schema di cifratura Implementazione di riferimento schema di cifratura One-Time Pad Lo schema di cifratura one-time pad è definito nel modo seguente: 1 L’algoritmo di generazione della chiave Gen lavora scegliendo una stringa da K = {0, 1} secondo la distribuzione uniforme (ognuna delle 2 stringhe nello spazio delle chiavi è scelta come chiave con probabilità esattamente pari a 2− ). 2 La cifratura Enc lavora come segue: data una chiave k ∈ {0, 1} e un messaggio m ∈ {0, 1} , restituisce in output c := k ⊕ m. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 24 / 35
  • 87. Implementazione Schema di cifratura Implementazione di riferimento schema di cifratura One-Time Pad Lo schema di cifratura one-time pad è definito nel modo seguente: 1 L’algoritmo di generazione della chiave Gen lavora scegliendo una stringa da K = {0, 1} secondo la distribuzione uniforme (ognuna delle 2 stringhe nello spazio delle chiavi è scelta come chiave con probabilità esattamente pari a 2− ). 2 La cifratura Enc lavora come segue: data una chiave k ∈ {0, 1} e un messaggio m ∈ {0, 1} , restituisce in output c := k ⊕ m. 3 La decifratura Dec lavora come segue: data una chiave k ∈ {0, 1} e un testo cifrato c ∈ {0, 1} , restituisce in output m := k ⊕ c. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 24 / 35
  • 88. Implementazione File Storage e Key Storage Implementazioni di riferimento per Key e File Store Implementazioni Tre implementazioni per provare il funzionamento della nostra idea: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 25 / 35
  • 89. Implementazione File Storage e Key Storage Implementazioni di riferimento per Key e File Store Implementazioni Tre implementazioni per provare il funzionamento della nostra idea: 1 Utilizzando le API Java fornite da DropboxTM . Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 25 / 35
  • 90. Implementazione File Storage e Key Storage Implementazioni di riferimento per Key e File Store Implementazioni Tre 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. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 25 / 35
  • 91. Implementazione File Storage e Key Storage Implementazioni di riferimento per Key e File Store Implementazioni Tre 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
  • 92. Implementazione SecureStorage API API per lo Storage Sicuro dei File SecureStorage API Permette di unire insieme lo schema di cifratura con i sistemi di storage e di utilizzarli per implementare le azioni specificate in precedenza in modo trasparente. Due implementazioni principali: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 26 / 35
  • 93. Implementazione SecureStorage API API per lo Storage Sicuro dei File SecureStorage API Permette di unire insieme lo schema di cifratura con i sistemi di storage e di utilizzarli per implementare le azioni specificate in precedenza in modo trasparente. Due implementazioni principali: 1 Una versione single threding. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 26 / 35
  • 94. Implementazione SecureStorage API API per lo Storage Sicuro dei File SecureStorage API Permette di unire insieme lo schema di cifratura con i sistemi di storage e di utilizzarli per implementare le azioni specificate in precedenza 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
  • 95. Test Outline 1 Introduzione 2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth 3 Divide et impera: la nostra soluzione Desiderata Soluzione 4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API 5 Test OTP SecureStorageAPI 6 Conclusioni 7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 27 / 35
  • 96. Test OTP tempo di cifratura 500 java.util.Random SHA1PRNG 400 Tempo in ms 300 200 100 0 Ge Cif Me Te de ner rat m lla az ura dellmoriz di cifpo t ac z ch ion de a ra ota iav e l fil hiav zion tura le e e e e Fase della cifratura Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 28 / 35
  • 97. Test OTP Tempo di decifratura 250 java.util.Random SHA1PRNG 200 Tempo in ms 150 100 50 0 Ca De Te de rica de cifr di mpo lla m l fil atu de to ch ent e ra cifr ta iav o atu le e ra Fase della decifratura Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 29 / 35
  • 98. Test SecureStorageAPI Tempi medi di upload e download 50 DropBox API Ubuntu One API 40 SecureStorage con Foo Encryption SecureStorage con OTP Encryption SecureStorage con Foo Encryption e MultiThreading SecureStorage con OTP e MultiThreading Tempo in s 30 SecureStorage con OTP senza Secure Random Generator e MultiThreading 20 10 0 Upload Download Fase Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 30 / 35
  • 99. Test SecureStorageAPI Velocita’ medie upload e download 600 DropBox API Ubuntu One API 500 SecureStorage con Foo Encryption SecureStorage con OTP Encryption SecureStorage con Foo Encryption e MultiThreading Velocita’ in kB/s 400 SecureStorage con OTP e MultiThreading SecureStorage con OTP senza Secure Random Generator 300 e MultiThreading 200 100 0 Upload Download Fase Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 31 / 35
  • 100. Conclusioni Outline 1 Introduzione 2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth 3 Divide et impera: la nostra soluzione Desiderata Soluzione 4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API 5 Test OTP SecureStorageAPI 6 Conclusioni 7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 32 / 35
  • 101. Conclusioni È quello che volevamo? Obiettivi La nostra soluzione • Sicurezza e privacy Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
  • 102. Conclusioni È quello che volevamo? Obiettivi La nostra soluzione • Sicurezza e privacy Si perchè Utilizzando One-Time Pad è dimostrato che l’unico modo in cui un malintenzionato può decifrare i nostri file è che abbia la chiave di cifratura, ma, se i servizi di Cloud Storage non sono collegati è improbabile che un’malintenzionato, per quanto esperto li violi entrambe. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
  • 103. Conclusioni È quello che volevamo? Obiettivi La nostra soluzione • Sicurezza e privacy • Portabilità Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
  • 104. Conclusioni È quello che volevamo? Obiettivi La nostra soluzione • Sicurezza e privacy Si perchè • Portabilità Le librerie sono tutte sviluppate in Java, che garantisce la portabilità sulla maggior parte dei sistemi e delle piattaforme. L’applicazione è stata testata su WindowsTM , Linux e Mac OS X Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
  • 105. Conclusioni È quello che volevamo? Obiettivi La nostra soluzione • Sicurezza e privacy • Portabilità • Semplicità d’uso Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
  • 106. Conclusioni È quello che volevamo? Obiettivi La nostra soluzione • Sicurezza e privacy Si perchè • Portabilità Abbiamo realizzato una • Semplicità d’uso applicazione di semplice uso per l’utente medio. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
  • 107. Conclusioni È quello che volevamo? Obiettivi La nostra soluzione • Sicurezza e privacy • Portabilità • Semplicità d’uso • Possibilità di condividere i propri file con altri utenti Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
  • 108. Conclusioni È quello che volevamo? Obiettivi La nostra soluzione • Sicurezza e privacy Si perchè • Portabilità Abbiamo realizzato una semplice • Semplicità d’uso applicazione che permette di • Possibilità di condividere i condividere solo i due link del file propri file con altri utenti cifrato e della chiave. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 33 / 35
  • 109. Sviluppi futuri Outline 1 Introduzione 2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth 3 Divide et impera: la nostra soluzione Desiderata Soluzione 4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API 5 Test OTP SecureStorageAPI 6 Conclusioni 7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 34 / 35
  • 110. Sviluppi futuri Sviluppi futuri • Interfaccia web per il servizio Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 35 / 35
  • 111. Sviluppi futuri Sviluppi futuri • Interfaccia web per il servizio • Client AndroidTM Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 35 / 35
  • 112. Sviluppi futuri Sviluppi futuri • Interfaccia web per il servizio • Client AndroidTM • Client iOSTM Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 35 / 35
  • 113. 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