Secure Mobile Cloud Service for personal data with web frontend based on HTML5
1. Masterarbeit
Secure Mobile Cloud Service for personal data
with web frontend based on HTML5
Betreuer: Prof. Dr. Michael Waidner
Verantwortlicher Mitarbeiter: Jan Peter Stotz
Bearbeiter: Amir Neziri
2. Einführung
• Persönliche Daten werden vermehrt auf viele unterschiedliche
Geräten verteilt
• Aktueller Ansatz: Geräte synchronisieren sich mit einem
Cloud-Service-Anbieter
• Cloud-Service-Anbieter bieten den Benutzern billige und
größere Speicher zur Verwaltung persönlichen Daten
• Problem: Benutzer hat keine Kontrolle über seine eigenen
persönlichen Daten.
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 2
3. Einführung
• Fraunhofer SIT Studie über Cloud-Speicherdiensten (2012)
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 3
4. Einführung
• US Patriot-Act
Quelle: heise.de
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 4
5. Agenda
• Ziele
• Stand der Technik heute
• Design
• Prototypische Implementierung
• DEMO
• Evaluation
• Ausblick
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 5
6. Ziele
• Prototypische Entwicklung und Implementierung eines
webbasierten Systems
• Implementierung nur mit Hilfe von HTML5 und JavaScript
• Verwaltung von persönlichen Daten nur in verschlüsselter
Form
• Bewertung von Mechanismen zur Verwaltung von
kryptographischen Schlüsseln
• Benutzerfreundliches System und akzeptable Sicherheit
verfügbar
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 6
7. Stand der Technik heute
• Verschlüsselungsverfahren
• Symmetrische Verschlüsselung
• Asymmetrische Verschlüsselung
• Hybride Verfahren
• Elliptische Kurven
• Mobiele Verschlüsselungshardware
• Schlüsselmanagement
• Webbrowser (Passwordmanagement)
• Hardware, Chipkarten Smart Cards und Java Cards
• Hypertext Markup Language5 (HTML5)
• localStorage, sessionStorage, AppCache…
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 7
8. Stand der Technik heute
• Not only SQL Datenbanken (NoSQL)
• Asynchronus JavaScript and XML (Ajax)
• Transport Layer Security Protocol (TLS)
• Alternative Implementierungen
• Omnicloud (Fraunhofer Institut)
• Amazon Simple Storage Service (Amazon S3)
• BoxCryptor für Dropbox, Google Drive und Microsoft SkyDrive
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 8
10. Design
• Anforderungen
• Simulierung eines Cloud-Service-Anbieters
• Verschlüsselung und Entschlüsselung der persönlichen Daten
• Entwicklung des Web-Front-Ends mit Hilfe von HTML5 und
JavaScript
• Schlüsselmanagement
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 10
11. Design
• Daten werden in JavaScript Object Notation (JSON)-Format
strukturiert (Dokument)
• Symmetrische Datenverschlüsselung
• NIST-Standard: Advanced Encryption Standard (AES )256 Bit
• Sicherheitskonzept
• TLS-Protokoll für Kommunikation zwischen Web-Front-End und
Cloud-Service-Anbieter
• Datenverschlüsselung im Browser
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 11
12. Design
• Sicherheitskonzept
• Jedes Dokument wird mit einem eigenem Schlüssel verschlüsselt
• Passwörter werden nicht persistent im Klartext abgelegt
• Zugriffskontrolle auf Cloud-Service-Anbieter-Seite
• Schlüsselverwaltung
• Benutzer merkt eine einfaches Passwort
• Ein (komplexes) Passwort wird extern gespeichert
• Firefox Browser, Key-Server, Festplatte, USB-Stick oder SD-
Karten
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 12
13. Design
• Struktur der Datenspeicherung
Name Vorname Adresse Tel
Neziri Amir Am triesch 32, 0176 0983 8374
Alsfeld
… in JSON-Format umgewandelt
{
„name“: „Neziri“,
„vorname“: „Amir“,
„adresse“: „Am triesch 32, Alsfeld“,
„tel“: „0176 0983 8374“
}
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 13
14. Design
• Nach der Verschlüsselung der Daten, das JSON-Format wird
erweitert
• _id: Notwendig zur Identifizierung eines Dokumentes
• _rev_id: Dient für die Revision des Dokuments
• key: Authentication Data, Initial Vector, iter, mode, salt, Tagsize,
keysize und der Schlüssel
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 14
15. Design
{
" _id " : " 82cca8060f3da5e87473f0ae04000b90 " ,
" _rev " : "162bd2b426b958485ef211435879e009d " ,
"name " : " dAWRkJWo4LPrza77d6Y " ,
" vorname " : " ew2Ci //RVQg5XNkF" ,
" adresse " : " ew3LrZWoX2o7S1eJdAaAR0jMVI+lWCuc55DvalmS " ,
" tel " : " ClHcz8fxAyFrA0+JcR4w3wGCLvEmww" ,
" key " :
"88ofF26wzuCUXLYYJi8uYvFgi7AvmOj9eZNp+KEniLGuXfW2kN0mzjaHeFslR9
ATWU1p3ZwKTSmW2UETRoR+02I2D1xxNKIU6hP6cS4IaxJKrkva6yIQzpcBLYVIl07
BYx25W
PvcBIIJZvFCq3In4DeKDfCz7P/J195kK8b5a/oFEBdVPiE49xS0uzr5NAyxWSLx5u4UY
PV251I "
}
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 15
17. Prototypische Implementierung
• Anforderungen (Funktionale Anforderungen)
• Web-Front-End soll über einen Web-Server zur Verfügung gestellt
werden
• Verschiedene Einstellung sollen im Web-Front-End angeboten
werden, wie z.B.: Verschlüsselungsverfahren, URL Eingabe,
Zugangsdaten etc.
• Verwaltung von persönlichen Kontaktdaten in verschlüsselter Form
• Datensynchronisierung
• Verwendung einer NoSQL-Datenbank
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 17
18. Prototypische Implementierung
• Anforderungen (Nicht Funktionale)
• Sicherheit: Sichere Datenübertragung und Datenverschlüsslung im
Browser des Benutzers
• Bedienbarkeit: Benutzungsfreundlichkeit u.a. auch in mobilen
Szenarien
• Wartbarkeit: Anpassungen erleichtern
• Effizienz: Auswirkungen auf Ressourcenverbrauch (z.B.
Akkulaufzeit in mobilen Geräten)
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 18
19. Prototypische Implementierung
• Entwicklungsumgebung (Windows7 virtuelle Maschine)
Software Version
Eclipse IDE for JavaScript Web Developers Helios Release
Jquery, Jquery JSONP und JQuery Mobile 1.1.0, 1.7.1, 2.1.4 und
1.1.0
Standford JavaScript Crypto Library (SJCL)
Firefox 11.0
Chrome 18.0.1025.142 m
Opera 11.62
Internet Explorer 9.0.8112.16421
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 19
20. Prototypische Implementierung
• Konfigurationsänderung des Firefox-Browsers notwendig für
den Zugriff der Passwortverwaltung
• Firefox->aobout:config-
>singed.applets.codebase_principal_support=true
• Key-Server für die Schlüsselverwaltung
• Datenkommunikation über TLS
• Datenstruktur in JSON-Format
• Datenverschlüsselung mit AES-256
• USB-Sticks, Festplatten und SD-Karten für die
Schlüsselverwaltung
• Datenverschlüsselung mit AES-256
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 20
21. Prototypische Implementierung
• Web-Front –End heißt SMOLCS (Secure Mobile Cloude
Service)
• Architektur
• Cloud-Service-Anbieter
• Software-As-a-Service
• CouchDB mit Representational State Transfer (REST)-APIs
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 21
23. Evaluation
• Datenübertragung zwischen SMOLCS und Cloud-Service-
Anbieter erfolgt über TLS-Protokoll
• Persönliche Daten des Benutzers werden auf der Benutzerseite
im Browser mit AES-256 Algorithmus verschlüsselt bzw.
entschlüsselt
• Schlüsselverwaltung im Firefox-Browser hat negative
Konsequenzen auf die gesammte Sicherheit des Systems
• Key-Server ist eine alternative Lösung zur Browser-
Passwortverwaltung
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 23
24. Evaluation
• HTML5 Sicherheit im SMOLCS
• „Persistent Attack Vectors“-Angriff nicht möglich: Daten werden
aus localStorage gefiltert
• „Session-Hijacking“ und „User Tracking“ sind nicht möglich: keine
Benutzer-Session-Ids und eindeutige Daten werden im
localStorage gespeichert
• „Cache Poisoning“-Angriff ist sehr kritisches Sicherheitsproblem.
Dies kann nicht vom Entwickler des Web-Front-Ends vermieden
werden (HTML5 Spezifikation).
• Mögliche Lösung: Integrität des Web-Front-Ends durch
Browser-Plog-Ins überprüfen.
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 24
26. Evaluation
Funktionen HTML5 JavaScript JQuery&JQuery REST API HTTP/SSL
Mobile
localStorage X X - - -
AppCache X X - - -
Datei Lesen X X - - -
Browser - X - - -
Passwortverwalt
ung Zugriff
Key-Server - X X X X
Zugriff
Daten löschen - X X X X
Daten einfügen - X X X X
Login&Logout - X X X X
Kryptographie - X - - -
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 26
27. Evaluation
Funktionen Lokal Web- Firefox 1 IE 9 Chrome Opera 11
Server 18
localStorage X X X X X X
AppCache X X X - X X
Datei Lesen X X X X X X
Browser X X X - - -
Passwortverw
altung Zugriff
Key-Server X X X X X X
Zugriff
Daten löschen - X X X X X
Daten - X X X X X
einfügen
Login&Logout - X X X X X
Kryptographie X X X X X X
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 27
28. Evaluation
Was geschieht mit den verschlüsselten
Daten, die von jemandem kopiert
werden können?
…warte noch < 20 Jahre damit…
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 28
29. Ausblick
• Modulerweiterungen und Verschlüsselungsverfahren
• z.B. Kalender, Bilderverwaltung, Verwaltung von Notizen und E-
Mails
• Public-Key-Verfahren und symmetrische
Verschlüsselungsverfahren
• Datensuche durch Musteranwendung ermöglichen
• Implementierung der Web-Front-End Funktionen für den
Offline-Modus
• Durch den Einsatz vom localStorage oder sessionStorage
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 29
30. Ausblick
• Verwendung von weiteren HTML5-Schnittstellen
• WebSockets für die Realisierung von Web-Applikationen für lokale
Ausführungen. Aktuelle werden WebSockets nicht von allen
Browsern unterstützt
• HTML5-Tag keygen: Zur Erzeugung von Schlüsselpaaren für
Publick-Key-Verfahren (nur für Formen (Forms) )
• Web Workers für größere Berechnungen (E-Mails, Bilder…)
26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 30