Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Università degli Studi di Catania
Dipartimento di Ingegneria Elettrica, Elettronica e Informatica
Corso di laurea in INGEG...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
INTRODUZIONE
Negli ultimi anni si è avuto un boom di servi...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Perché Android?
Perché è la piattaforma mobile più diffusa...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Il Protocollo
l protocollo usa il protocollo HTTP
Il forma...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Struttura del servizio
L’applicativo è suddiviso in 2 part...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Sicurezza
• Cifratura RSA e AES
• Utilizzo di HTTP+SSL
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Il Server
Utilizzo di una PaaS managed di RedHat
Come ling...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Generazione delle chiavi
Registrazione dell’utente
Sfrutta...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Interfaccia
Dopo la registrazione l’utente dovrà effettuar...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Aggiunta dei contatti
Per poter comunicare tra loro gli ut...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Aggiunta dei contatti
Solo dopo l’accettazione della
richi...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Storage locale
L’App in locale salva dei dati quali:
•I me...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Storage remoto
Il server ha uno storage temporaneo dei mes...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Conclusioni
Il servizio è stato utlizzato da un numero mol...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Sviluppi e migliorie
E’ possibile apportare ulteriori migl...
Whisper: Messaggistica Istantanea Sicura su
Dispositivi Android
Grazie per l’attenzione.
Upcoming SlideShare
Loading in …5
×

Whiper: Messaggistica Istantanea Sicura su Dispositivi Android

91 views

Published on

Presentazione della Tesi di Laurea Triennale in Ingegneria Informatica, il cui scopo è stato la progettazione di un protocollo e lo sviluppo di un applicativo per dispositivi Android per fornire messaggistica istantanea con cifratura end-to-end

Published in: Education
  • Be the first to comment

  • Be the first to like this

Whiper: Messaggistica Istantanea Sicura su Dispositivi Android

  1. 1. Università degli Studi di Catania Dipartimento di Ingegneria Elettrica, Elettronica e Informatica Corso di laurea in INGEGNERIA INFORMATICA Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Relatore: Chiar.mo Prof. Ing. Giuseppe Mangioni Anno Accademico 2014/2015 Candidato: Gabriele Baldoni
  2. 2. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android INTRODUZIONE Negli ultimi anni si è avuto un boom di servizi di messaggistica istantanea su smartphone Ma quasi la totalità di essi non forniscono adeguate garanzie di sicurezza e privacy L’applicativo progettato unisce la possibilità di conversare istantaneamente con i nostri contatti e la sicurezza fornita da una cifratura end-to-end a chiavi asimmetriche
  3. 3. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Perché Android? Perché è la piattaforma mobile più diffusa… Ma non la più sicura… Altre piattaforme come iOS sono più “chiuse” ma offrono maggiori garanzie di sicurezza
  4. 4. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Il Protocollo l protocollo usa il protocollo HTTP Il formato dei messaggi di richiesta e di risposta rispetta lo standard JSON Il Server espone delle routes per ogni chiamata HTTP a cui corrisponde un servizio fornito dal server {“token”:”time-token”,”id_s”:id,”req”:Richiesta } Tutti i messaggi di richiesta hanno il seguente formato:
  5. 5. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Struttura del servizio L’applicativo è suddiviso in 2 parti • Client su device Android • Server per gestione messaggi Il funzionamento tipico si compone delle seguenti fasi 1. Cifratura del messaggio • Generazione firma 2. Invio del messaggio al server 3. Download del messaggio 4. Decifratura del messaggio • Verifica firma 11 22 33 44 Gli scambi di messaggi avvengono ovviamente solo fra utenti “amici”
  6. 6. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Sicurezza • Cifratura RSA e AES • Utilizzo di HTTP+SSL
  7. 7. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Il Server Utilizzo di una PaaS managed di RedHat Come linguaggio è stato usato PHP con Slim Framework Per la base di dati si è invece usato MySQL
  8. 8. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Generazione delle chiavi Registrazione dell’utente Sfruttando come seme •Password fornita dall’utente •Timestamp UNIX •Dati dai sensori •Numero generato casualmente Lo stesso seme viene usato per generare una chiave AES per salvare cifrate la coppia di chiavi all’interno del device La chiave pubblica viene poi inviata al server
  9. 9. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Interfaccia Dopo la registrazione l’utente dovrà effettuare un login per accedere alle sue conversazioni Una volta effettuato l’accesso sarà in grado di inviare messaggi agli utenti “amici” Durante il login viene decifrata la coppia di chiavi
  10. 10. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Aggiunta dei contatti Per poter comunicare tra loro gli utenti devono essere presenti in entrambe le rubriche ed accettare una richiesta di contatto
  11. 11. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Aggiunta dei contatti Solo dopo l’accettazione della richiesta e la verifica di un codice generato automaticamente dall’App sarà possibile comunicare E’ possibile inviare tutto ciò che rispetta la codifica UTF comprese le emoji
  12. 12. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Storage locale L’App in locale salva dei dati quali: •I messaggi scambiati •Gli utenti aggiunti •La coppia di chiavi dell’utente Per i primi due si utilizza un database locale SQLite I cui strumenti per la gestione fanno parte del SDK Android La coppia di chiavi viene invece salvata in un file di testo cifrato con la chiave AES generata durante la registrazione
  13. 13. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Storage remoto Il server ha uno storage temporaneo dei messaggi Una volta che un messaggio è contrassegnato come scaricato Una routine provvederà a cancellarlo dal server Il database del server utilizza il seguente ERM
  14. 14. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Conclusioni Il servizio è stato utlizzato da un numero molto ristretto di utenti per testarne pienamente le prestazioni e l’affidabilità, si è, comunque, giunti alle seguenti conclusioni: 1. L’architettura scelta per la gestione dei messaggi risponde molto velocemente alle richieste di invio e download 2. La generazione delle chiavi sui dispositivi più recenti viene effettuata molto più velocemente che su dispositivi vecchi anche solo di qualche anno 3. La dimensione delle chiavi RSA influenza fortemente la sicurezza dell’App
  15. 15. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Sviluppi e migliorie E’ possibile apportare ulteriori migliorie al servizio Riscrittura del backend in un linguaggio più moderno e con una maggiore attenzione alla concorrenza ad es. Golang Utilizzare un infrastruttura IT più vasta di quella attuale per far fronte ad un numero maggiore di richieste ad es. usare direttamente gli AWS Sfruttare una base di dati non relazione (NoSQL) per migliorare la scalabilità del sistema ad es. MongoDB
  16. 16. Whisper: Messaggistica Istantanea Sicura su Dispositivi Android Grazie per l’attenzione.

×