39
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

Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Embed Size (px)

Citation preview

Page 1: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 2: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 3: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Einführung

• Fraunhofer SIT Studie über Cloud-Speicherdiensten (2012)

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 3

Page 4: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Einführung

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri

• US Patriot-Act

Quelle: heise.de

4

Page 5: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 6: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 7: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 8: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 9: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Design

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 9

Page 10: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 11: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 12: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 13: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Design

• Struktur der Datenspeicherung

… 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

Name Vorname Adresse Tel

Neziri Amir Am triesch 32, Alsfeld

0176 0983 8374

13

Page 14: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 15: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Design

{

" _id " : " 82cca8060f3da5e87473f0ae04000b90 " ,

" _rev " : "162bd2b426b958485ef211435879e009d " ,

"name " : " dAWRkJWo4LPrza77d6Y " ,

" vorname " : " ew2Ci //RVQg5XNkF" ,

" adresse " : " ew3LrZWoX2o7S1eJdAaAR0jMVI+lWCuc55DvalmS " ,

" tel " : " ClHcz8fxAyFrA0+JcR4w3wGCLvEmww" ,

" key " : "88ofF26wzuCUXLYYJi8uYvFgi7AvmOj9eZNp+KEniLGuXfW2kN0mzjaHeFslR9

ATWU1p3ZwKTSmW2UETRoR+02I2D1xxNKIU6hP6cS4IaxJKrkva6yIQzpcBLYVIl07BYx25W

PvcBIIJZvFCq3In4DeKDfCz7P/J195kK8b5a/oFEBdVPiE49xS0uzr5NAyxWSLx5u4UYPV251I "

}

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 15

Page 16: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Design - Verschlüsselungsprozess

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 16

Page 17: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 18: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 19: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Prototypische Implementierung

• Entwicklungsumgebung (Windows7 virtuelle Maschine)

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri

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

19

Page 20: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 21: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 22: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

DEMO

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 22

Page 23: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 24: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 25: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Evaluation

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 25

Page 26: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Evaluation

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri

Funktionen HTML5 JavaScript JQuery&JQueryMobile

REST API HTTP/SSL

localStorage X X - - -

AppCache X X - - -

Datei Lesen X X - - -

Browser Passwortverwaltung Zugriff

- X - - -

Key-Server Zugriff

- X X X X

Daten löschen - X X X X

Daten einfügen - X X X X

Login&Logout - X X X X

Kryptographie - X - - -

26

Page 27: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Evaluation

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri

Funktionen Lokal Web-Server

Firefox 1 IE 9 Chrome 18

Opera 11

localStorage X X X X X X

AppCache X X X - X X

Datei Lesen X X X X X X

Browser Passwortverwaltung Zugriff

X X X - - -

Key-Server Zugriff

X X X X X X

Daten löschen - X X X X X

Daten einfügen

- X X X X X

Login&Logout - X X X X X

Kryptographie X X X X X X

27

Page 28: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 29: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 30: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

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

Page 31: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

Questions???

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 31

Page 32: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 32

Page 33: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

SMOLCS-Screenshots

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 33

Page 34: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

SMOLCS-Screenshots

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 34

Page 35: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

SMOLCS-Screenshots

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 35

Page 36: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

SMOLCS-Screenshots

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 36

Page 37: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

SMOLCS-Screenshots

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 37

Page 38: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

SMOLCS-Screenshots

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 38

Page 39: Secure Mobile Cloud Service for personal data with web frontend based on HTML5

SMOLCS-Screenshots

26/06/2012 | Department 20 | Prof. Dr. Michael Weidner & Jan Peter Stotz | Amir Neziri 39