Privacy On Cloud Storage

671 views
580 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
671
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Privacy On Cloud Storage

  1. 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 InformaticaAndrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 1 / 35
  2. 2. Outline1 Introduzione2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth3 Divide et impera: la nostra soluzione Desiderata Soluzione4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API5 Test OTP SecureStorageAPI6 Conclusioni7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 2 / 35
  3. 3. IntroduzioneOutline1 Introduzione2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth3 Divide et impera: la nostra soluzione Desiderata Soluzione4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API5 Test OTP SecureStorageAPI6 Conclusioni7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 4 / 35
  4. 4. IntroduzionePerchè il Cloud Storage? • File sempre disponibili Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
  5. 5. IntroduzionePerchè il Cloud Storage? • File sempre disponibili • Fault tolerance Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 5 / 35
  6. 6. IntroduzionePerchè 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. 7. IntroduzionePerchè 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. 8. IntroduzionePerchè 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. 9. IntroduzionePerchè 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. 10. IntroduzionePerchè 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. 11. IntroduzionePerchè 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. 12. IntroduzioneSicurezza 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. 13. IntroduzioneSicurezza 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. 14. IntroduzioneSicurezza 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. 15. IntroduzioneSicurezza 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. 16. IntroduzioneSicurezza 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. 17. IntroduzioneSicurezza 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. 18. IntroduzioneSicurezza 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. 19. IntroduzioneSicurezza 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. 20. Il Cloud Storage questo sconosciutoOutline1 Introduzione2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth3 Divide et impera: la nostra soluzione Desiderata Soluzione4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API5 Test OTP SecureStorageAPI6 Conclusioni7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 8 / 35
  21. 21. Il Cloud Storage questo sconosciuto Cloud ComputingStoria del Cloud Computing • Elaborazione distribuita (Cluster) Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 9 / 35
  22. 22. Il Cloud Storage questo sconosciuto Cloud ComputingStoria 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. 23. Il Cloud Storage questo sconosciuto Cloud ComputingStoria 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. 24. Il Cloud Storage questo sconosciuto Cloud ComputingStoria 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. 25. Il Cloud Storage questo sconosciuto Cloud ComputingStoria 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. 26. Il Cloud Storage questo sconosciuto Cloud ComputingStoria 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. 27. Il Cloud Storage questo sconosciuto Cloud ComputingStoria 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. 28. Il Cloud Storage questo sconosciuto Cloud ComputingStoria 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. 29. Il Cloud Storage questo sconosciuto Cloud ComputingCloud ComputingFondamentalmente 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. 30. Il Cloud Storage questo sconosciuto Cloud ComputingCloud ComputingFondamentalmente 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. 31. Il Cloud Storage questo sconosciuto Cloud ComputingCloud ComputingFondamentalmente 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. 32. Il Cloud Storage questo sconosciuto Cloud ComputingCloud ComputingFondamentalmente 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. 33. Il Cloud Storage questo sconosciuto Cloud ComputingArchitettura Figura: Architettura del cloud computing Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 11 / 35
  34. 34. Il Cloud Storage questo sconosciuto Cloud ComputingProblematiche • Sicurezza informatica e privacy degli utenti Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 12 / 35
  35. 35. Il Cloud Storage questo sconosciuto Cloud ComputingProblematiche • 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. 36. Il Cloud Storage questo sconosciuto Cloud ComputingProblematiche • 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. 37. Il Cloud Storage questo sconosciuto Analisi dei principali servizi di Cloud StoragePrincipali 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. 38. Il Cloud Storage questo sconosciuto Analisi dei principali servizi di Cloud StoragePrincipali 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. 39. Il Cloud Storage questo sconosciuto RESTL’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. 40. Il Cloud Storage questo sconosciuto RESTL’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. 41. Il Cloud Storage questo sconosciuto RESTL’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. 42. Il Cloud Storage questo sconosciuto RESTL’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. 43. Il Cloud Storage questo sconosciuto RESTL’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. 44. Il Cloud Storage questo sconosciuto RESTL’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. 45. Il Cloud Storage questo sconosciuto RESTL’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. 46. Il Cloud Storage questo sconosciuto RESTL’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. 47. Il Cloud Storage questo sconosciuto RESTL’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. 48. Il Cloud Storage questo sconosciuto OAuth OAuthCos’è 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. 49. Il Cloud Storage questo sconosciuto OAuth OAuthCos’è 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. 50. Il Cloud Storage questo sconosciuto OAuth OAuthCos’è 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. 51. Il Cloud Storage questo sconosciuto OAuth OAuthCos’è 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. 52. Il Cloud Storage questo sconosciuto OAuth OAuthCos’è 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. 53. Il Cloud Storage questo sconosciuto OAuth OAuthCos’è 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. 54. La nostra soluzioneOutline1 Introduzione2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth3 Divide et impera: la nostra soluzione Desiderata Soluzione4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API5 Test OTP SecureStorageAPI6 Conclusioni7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 17 / 35
  55. 55. La nostra soluzione DesiderataI nostri obiettivi • Sicurezza e privacy Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 18 / 35
  56. 56. La nostra soluzione DesiderataI nostri obiettivi • Sicurezza e privacy • Portabilità Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 18 / 35
  57. 57. La nostra soluzione DesiderataI nostri obiettivi • Sicurezza e privacy • Portabilità • Semplicità d’uso Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 18 / 35
  58. 58. La nostra soluzione DesiderataI 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. 59. La nostra soluzione SoluzioneSoluzioni scartateIdee 1 Cifrare tutti i file con una passwordMotivazioni per scartarla Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 19 / 35
  60. 60. La nostra soluzione SoluzioneSoluzioni scartateIdee 1 Cifrare tutti i file con una passwordMotivazioni 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. 61. La nostra soluzione SoluzioneSoluzioni scartateIdee 1 Cifrare tutti i file con una password 2 Cifrare ogni file con una password diversaMotivazioni 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. 62. La nostra soluzione SoluzioneSoluzioni scartateIdee 1 Cifrare tutti i file con una password 2 Cifrare ogni file con una password diversaMotivazioni 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. 63. La nostra soluzione SoluzioneSoluzioni scartateIdee 1 Cifrare tutti i file con una password 2 Cifrare ogni file con una password diversa 3 Cifrare con uno schema di cifratura asimmetricoMotivazioni 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. 64. La nostra soluzione SoluzioneSoluzionePrendiamo il meglio delle idee precedenti Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  65. 65. La nostra soluzione SoluzioneSoluzionePrendiamo il meglio delle idee precedentiSe cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle? Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  66. 66. La nostra soluzione SoluzioneSoluzionePrendiamo il meglio delle idee precedentiSe cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle?Ma la soluzione è insita nel problema stesso: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  67. 67. La nostra soluzione SoluzioneSoluzionePrendiamo il meglio delle idee precedentiSe cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle?Ma la soluzione è insita nel problema stesso: • suddividiamo le informazioni Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  68. 68. La nostra soluzione SoluzioneSoluzionePrendiamo il meglio delle idee precedentiSe cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle?Ma la soluzione è insita nel problema stesso: • suddividiamo le informazioni • salviamo le chiavi su un account presso un servizio di Cloud Storage (es. DropboxTM ) Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  69. 69. La nostra soluzione SoluzioneSoluzionePrendiamo il meglio delle idee precedentiSe cifriamo ogni file con una password diversa il problema è doveconservare le password per non perderle?Ma la soluzione è insita nel problema stesso: • suddividiamo le informazioni • salviamo le chiavi su un account presso un servizio di Cloud Storage (es. DropboxTM ) • salviamo i file cifrati su un’account su un servizio diverso (es. Ubuntu One) Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 20 / 35
  70. 70. ImplementazioneOutline1 Introduzione2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth3 Divide et impera: la nostra soluzione Desiderata Soluzione4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API5 Test OTP SecureStorageAPI6 Conclusioni7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 21 / 35
  71. 71. ImplementazioneImplementazione IAzioni che vogliamo implementare Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
  72. 72. ImplementazioneImplementazione IAzioni 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. 73. ImplementazioneImplementazione IAzioni 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. 74. ImplementazioneImplementazione IAzioni 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 decifratogetFileList: Ottenere la lista dei file cifrati remoti Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
  75. 75. ImplementazioneImplementazione IAzioni 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 decifratogetFileList: Ottenere la lista dei file cifrati remotideleteFile: Cancellare il file cifrato e la relativa chiave Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
  76. 76. ImplementazioneImplementazione IAzioni 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 decifratogetFileList: Ottenere la lista dei file cifrati remotideleteFile: Cancellare il file cifrato e la relativa chiave moveFile: Spostare il file cifrato e la relativa chiave Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 22 / 35
  77. 77. ImplementazioneImplementazione IILe nostre APILe nostre API sono composte da: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
  78. 78. ImplementazioneImplementazione IILe nostre APILe 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. 79. ImplementazioneImplementazione IILe nostre APILe nostre API sono composte da: • Un insieme di interfacce e classi astratte per definire uno schema di cifratura. • One-Time Pad come implementazione di riferimento Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
  80. 80. ImplementazioneImplementazione IILe nostre APILe nostre API sono composte da: • Un insieme di interfacce e classi astratte per definire uno schema di cifratura. • One-Time Pad come implementazione di riferimento • Un insieme di interfacce e classi astratte per definire il Key e il File Store. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 23 / 35
  81. 81. ImplementazioneImplementazione IILe nostre APILe nostre API sono composte da: • Un insieme di interfacce e classi astratte per definire uno schema di cifratura. • One-Time Pad come implementazione di riferimento • Un insieme di interfacce e classi astratte per definire il Key e il 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. 82. ImplementazioneImplementazione IILe nostre APILe nostre API sono composte da: • Un insieme di interfacce e classi astratte per definire uno schema di cifratura. • One-Time Pad come implementazione di riferimento • Un insieme di interfacce e classi astratte per definire il Key e il 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. 83. ImplementazioneImplementazione IILe nostre APILe nostre API sono composte da: • Un insieme di interfacce e classi astratte per definire uno schema di cifratura. • One-Time Pad come implementazione di riferimento • Un insieme di interfacce e classi astratte per definire il Key e il 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. 84. Implementazione Schema di cifraturaImplementazione di riferimento schema di cifraturaOne-Time PadLo 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. 85. Implementazione Schema di cifraturaImplementazione di riferimento schema di cifraturaOne-Time PadLo 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. 86. Implementazione Schema di cifraturaImplementazione di riferimento schema di cifraturaOne-Time PadLo 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. 87. Implementazione Schema di cifraturaImplementazione di riferimento schema di cifraturaOne-Time PadLo 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. 88. Implementazione File Storage e Key StorageImplementazioni di riferimento per Key e File StoreImplementazioniTre implementazioni per provare il funzionamento della nostra idea: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 25 / 35
  89. 89. Implementazione File Storage e Key StorageImplementazioni di riferimento per Key e File StoreImplementazioniTre 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. 90. Implementazione File Storage e Key StorageImplementazioni di riferimento per Key e File StoreImplementazioniTre 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. 91. Implementazione File Storage e Key StorageImplementazioni di riferimento per Key e File StoreImplementazioniTre 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. 92. Implementazione SecureStorage APIAPI per lo Storage Sicuro dei FileSecureStorage APIPermette di unire insieme lo schema di cifratura con i sistemi distorage e di utilizzarli per implementare le azioni specificate inprecedenza in modo trasparente. Due implementazioni principali: Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 26 / 35
  93. 93. Implementazione SecureStorage APIAPI per lo Storage Sicuro dei FileSecureStorage APIPermette di unire insieme lo schema di cifratura con i sistemi distorage e di utilizzarli per implementare le azioni specificate inprecedenza in modo trasparente. Due implementazioni principali: 1 Una versione single threding. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 26 / 35
  94. 94. Implementazione SecureStorage APIAPI per lo Storage Sicuro dei FileSecureStorage APIPermette di unire insieme lo schema di cifratura con i sistemi distorage e di utilizzarli per implementare le azioni specificate inprecedenza in modo trasparente. Due implementazioni principali: 1 Una versione single threding. 2 una versione multi threding. Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 26 / 35
  95. 95. TestOutline1 Introduzione2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth3 Divide et impera: la nostra soluzione Desiderata Soluzione4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API5 Test OTP SecureStorageAPI6 Conclusioni7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 27 / 35
  96. 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 cifraturaAndrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 28 / 35
  97. 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 decifraturaAndrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 29 / 35
  98. 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 MultiThreadingTempo 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. 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 MultiThreadingVelocita’ 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. 100. ConclusioniOutline1 Introduzione2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth3 Divide et impera: la nostra soluzione Desiderata Soluzione4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API5 Test OTP SecureStorageAPI6 Conclusioni7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 32 / 35
  101. 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. 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. 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. 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. 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. 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. 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. 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. 109. Sviluppi futuriOutline1 Introduzione2 Il Cloud Storage questo sconosciuto Cloud Computing Analisi dei principali servizi di Cloud Storage REST OAuth3 Divide et impera: la nostra soluzione Desiderata Soluzione4 Implementazione Schema di cifratura File Storage e Key Storage SecureStorage API5 Test OTP SecureStorageAPI6 Conclusioni7 Sviluppi futuri Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 34 / 35
  110. 110. Sviluppi futuriSviluppi futuri • Interfaccia web per il servizio Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 35 / 35
  111. 111. Sviluppi futuriSviluppi futuri • Interfaccia web per il servizio • Client AndroidTM Andrea Bruno (05210/000495) Privacy on Cloud Storage A.A. 2010/2011 35 / 35
  112. 112. Sviluppi futuriSviluppi 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. 113. Sviluppi futuriSviluppi 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

×