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

Post on 12-Jun-2015

1.614 views 4 download

Transcript of 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

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

Einführung

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

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

Einführung

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

• US Patriot-Act

Quelle: heise.de

4

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

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

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

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

Design

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

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

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

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

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

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

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

Design - Verschlüsselungsprozess

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

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

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

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

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

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

DEMO

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

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

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

Evaluation

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

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

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

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

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

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

Questions???

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

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

SMOLCS-Screenshots

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

SMOLCS-Screenshots

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

SMOLCS-Screenshots

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

SMOLCS-Screenshots

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

SMOLCS-Screenshots

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

SMOLCS-Screenshots

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

SMOLCS-Screenshots

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