Add Thesis

Sicherheitsanalyse einer Smarthome-Zentrale

Written by L. Glockow

Paper category

Bachelor Thesis

Subject

Computer Science

Year

2017

Abstract

Bachelorarbeit: Verschlüsselung zur sicheren Datenübertragung In der Kryptographie wird zwischen symmetrischen und asymmetrischen Verfahren unterschieden. Bei der symmetrischen Verschlüsselung verwenden Sender und Empfänger denselben Schlüssel zum Ver- und Entschlüsseln von Daten. Das bedeutet, dass beide Parteien den Schlüssel im Voraus kennen oder den Schlüssel sicher austauschen müssen. Bei der asymmetrischen Verschlüsselung besitzt jeder Teilnehmer ein Schlüsselpaar bestehend aus einem öffentlichen Schlüssel und einem privaten Schlüssel. Die Daten werden mit dem öffentlichen Schlüssel des Empfängers verschlüsselt und nur der Besitzer des privaten Schlüssels kann sie entschlüsseln. Dies kann durch komplexe mathematische Berechnungen und Einwegfunktionen erreicht werden. Im Vergleich zur symmetrischen Verschlüsselung besteht ein Nachteil der asymmetrischen Verschlüsselung darin, dass der Rechenaufwand für die Verschlüsselung und Entschlüsselung groß ist. Hybridverschlüsselung kombiniert asymmetrische Verschlüsselung und symmetrische Verschlüsselung, um die Vorteile optimal zu nutzen. Mit dem asymmetrischen Verfahren des Austauschs eines symmetrischen Schlüssels können alle anderen Nachrichten zwischen Sender und Empfänger mit dem Schlüssel symmetrisch ver- und entschlüsselt werden. Das im Internet am weitesten verbreitete hybride Verschlüsselungsprotokoll zur sicheren Datenübertragung zwischen Clients und Servern ist das Transport Layer Security 1 (TLS)-Protokoll in der Version 1.2. Im asymmetrischen Teil des Protokolls überträgt der Server sein Zertifikat als Base64-codierte Datei an den Client. Dies dient der Verifizierung des Servers und der Offenlegung des öffentlichen Schlüssels 2.2 Infrastruktur des öffentlichen Schlüssels Um die Authentizität des öffentlichen Schlüssels überprüfen zu können, ist ein Vertrauensmodell erforderlich. Das Zertifikat kann mit asymmetrischer Verschlüsselung signiert werden. Der Besitzer des Zertifikats kann mit seinem privaten Schlüssel ein weiteres Zertifikat signieren, und dann kann jeder mit dem öffentlichen Schlüssel des Unterzeichners die Authentizität überprüfen. Durch Signieren kann für das Zertifikat eine lange Vertrauenskette aufgebaut werden. Es ist jedoch notwendig, eine gemeinsame Vertrauensbasis zu schaffen. Aus diesem Grund werden in der Public-Key-Infrastruktur Hierarchien verwendet, und die offizielle Zertifizierungsstelle (CA) ist die erste. Die Zertifikate dieser Zertifizierungsstellen sind in allen gängigen Betriebssystemen und Browsern vorinstalliert und gelten als vertrauenswürdig. Wenn der Server seine Identität gegenüber dem Client verifizieren möchte, vergleicht er zunächst den im Zertifikat veröffentlichten DNS-Namen mit dem Namen des Servers. Testen Sie dann die Zertifikatskette. Wenn es von einer offiziellen Zertifizierungsstelle unterzeichnet wurde, gilt es als korrekt. 4.4 Smartphone-Anwendung zur Steuerung von Qivicon Im Folgenden wird die Smartphone-Anwendung zur Steuerung von Qivicon beschrieben. Die Untersuchung der Smartphone-Anwendung RheinEnergie-SmartHomeSicherheits-Paket beschränkt sich auf die dynamische Analyse der Kommunikation, da die statische Analyse einer weiteren Smart-Home-Smartphone-Anwendung zur Steuerung von Qivicon (Magenta SmartHome der Telekom) in die Bachelorarbeit aufgenommen wurde In Kevin Skyba [Sky17] ging weiter. Bei der Arbeit von Kevin Skyba wurde eine potenzielle Schwachstelle im Quellcode der Anwendung entdeckt. Im Zuge dieser Arbeiten wird nun auch die tatsächliche Umsetzung von Sicherheitslücken in der Magenta SmartHome-Anwendung untersucht. Die Codes dieser beiden Anwendungen sind unterschiedlich, so dass davon ausgegangen werden kann, dass die Sicherheitslücken nicht übertragbar sind, die Sicherheitslücken jedoch in den beiden Anwendungen der RheinEnergie-SmartHome-Anwendung der Burp-Version 3.1.6 getestet wurden. Dazu müssen Sie zunächst in Ihrem Smartphone als Proxy-Server die IP-Adresse (192.168.99.1) und den Burp-Port (8080) des Zwischenhändler-Proxys eintragen. Nur so kann der Datenverkehr vom Smartphone an Burp weitergeleitet werden. Außerdem muss das CA-Zertifikat, mit dem Burp die SSL-Verbindung durchdringt, auf dem Smartphone installiert sein. Anschließend können Sie die Verbindung mit Ihrem Smartphone abhören. Es ist kein Zertifikat installiert und die Anwendung weigert sich, eine Verbindung herzustellen. Die Analyse des Datenverkehrs zeigt unmittelbar, dass die API beim Zugriff über die Seite www.qivicon.com/mein-qivicon/ auf derselben API-Schnittstelle basiert wie die RheinEnergie Webapp (siehe Abschnitt 4.3.3). In beiden Fällen ist der Endpunkt www.rheinenergie-smarthome.com und verwendet das in Abschnitt 4.3.2 beschriebene JSON-RPC-Routing und die Basis de.greenpocket.resh. Durch weitere Tests von cURL wurde festgestellt, dass Smartphone-Anwendungen wie Webanwendungen Cookies zur Authentifizierung verwenden. Die Cookie-ID lautet REMEMBER_ME_COOKIE. Wenn Sie ohne Cookie arbeiten oder eine Anfrage senden, wird das aktuelle Cookie für ungültig erklärt. Eine umfassendere Untersuchung der RheinEnergie API und des Registrierungsprozesses ist wünschenswert, kann aber aus Zeitgründen nicht umgesetzt werden. Darüber hinaus wird im Vergleich zu den weiteren Ermittlungen der RheinEnergieApp die anschließende tatsächliche Überprüfung einer Sicherheitslücke in einer anderen Smartphone-Anwendung bevorzugt. 4.4.2 Praktische SSL-Inspektion in der Magenta SmartHomeSmartphone-Anwendung Die in Kevin Skybas Bachelorarbeit [Sky17] entdeckte Schwachstelle könnte eine fehlerhafte Implementierung der Zertifikatskettenprüfung der lokalen HTTPS-Verbindung sein. Read Less