07/2020 Voran gehts - Mit Interesse am Detail
Die ersten Prototypen sind fertig (27.07.2020)
Förderjahr 2019 / Project Call #14 / ProjektID: 4533 / Projekt: SIKOSI

Die ersten Prototypen stehen zur Verfügung und werden nun evaluiert und intensiv getestet. Einen Auszug davon beschreiben wir in diesem Blogeintrag.

Nach der eher „trockenen“ Konzept und Coding-Phase können wir somit jetzt auch Ergebnisse für Nicht-Techniker sichtbar machen.

Nachfolgend ein Auszug der entwickelten Demo-Projekte.

Smartphone Chat Demo App

Einer der Prototypen wurde als Smartphone-Applikation umgesetzt, in diese SIKOSI-SDKs eingebunden sind.

Diese recht einfach gehaltene Applikation hat eine Registration, ein Login und eine Chat-Funktion. Alles was mit Sicherheit zu tun hat läuft dabei im Hintergrund ab. Näheres später, vorerst einmal ein Screenshot der Applikation, bei dem ein einfacher Chat ersichtlich ist.

App Chatansicht

Die Verbindung ist hierbei verschlüsselt und die Daten selbst werden verschlüsselt übertragen. Dies verhindert es, dass Daten mitgehört und/oder gestohlen werden können.

Konsolen Account Demo Applikation

Diese Demo ist in erster Linie für Entwickler gedacht. Um schnell etwas auszuprobieren und erste Versuche zu starten ist eine Konsolen-Anwendung zumeist die erste Wahl bei Entwicklern.

Das Projekt verwendet die entwickelte SIKOSI-SRP SDK. Dieses ist eine Implementierung des kryptografischen Protokolls Secure Remote Password welches zur Familie der Password Authenticated Key Exchange Protokolle, abgekürzt PAKE gehört. Verwendet wird es bei Authentifizierungsvorgängen zwischen Client und Server. SRP zeichnet sich dadurch aus, dass sich Client und Server gegenüber dem jeweils anderen authentifizieren können, ohne dabei sensible Daten über das Netzwerk zu übermitteln. Dadurch hat ein passiver Angreifer keine Gelegenheit an relevante Informationen zu gelangen.

Für einen Benutzer ergeben sich durch die erhöhte Sicherheit keine zusätzlichen Schwierigkeiten. Dies zeigt die folgende Demo:

Der erste Schritt ist die Registrierung. Diese wird in üblicher Weise schnell unter Angabe eines Benutzernamens und eines Passwortes abgeschlossen.

Registrierungsvorgang

Nachdem sich ein Benutzer registriert hat, ist es ihm möglich sich unter Angabe der von ihm bei der Registration gewählten Daten beim Server zu authentifizieren. Wurden die korrekten Daten angegeben ist der Benutzer authentifiziert. Dabei kann sich der Benutzer auch sicher sein, dass der Server auch jener Server ist, bei dem er sich ursprünglich registriert hat.

Loginvorgang

Sollten vom Benutzer falsche Daten angegeben werden, so wird am Server der Authentifikationsvorgang abgebrochen.

Fehlerhafter Login

Das besondere an diesem Vorgang ist, dass das gewählte Passwort den Client niemals verlässt und somit niemals übertragen wird. Selbst wenn Daten vom Server gestohlen werden sollten, kann sich ein Angreifer mit den gestohlenen Daten nicht als Client authentifizieren, da am Server keine Passwort-relevanten Daten gespeichert sind.

Dieses Verfahren bietet Schutz vor folgenden Attacken:

  • Man-in-the-Middle
  • Pishing
  • Brute Force 

Alternativ steht die Demoapplikation auch in einer Variante zur Verfügung, bei der die Diffie-Hellmann Key Exchange Methode verwendet wird.

Browser Demo Account Webapplikation

Die Mehrfaktor-Authentifizierung (MFA) ist eine Authentifizierungsvariante, welche die "einfache" Authentifizierung um ein Sicherheitsverfahren erweitert. Die Zwei-Faktor Authentifizierung (2FA) ist eine Variante davon. Wenn sich ein Benutzer erfolgreich an der Webapplikation angemeldet hat, kann er die 2FA aktivieren.

Zweifaktor Authentifizierung

Nach Aktivierung der 2FA wird für das Einloggen mit dem Account zusätzlich zu den Benutzerdaten noch ein vom System generierter Code benötigt. Um die 2FA zu aktivieren benötigt der Benutzer ein Smartphone mit einer Authenticator App, wie beispielsweise Google Authenticator oder Microsoft Authenticator. Mit dieser Authenticator App wird ein QR-Code gescannt, der den jeweiligen Benutzer in der App registriert.

QR Code für Authenticator

Mit diesem Schritt ist 2FA aktiviert, und wird ab sofort bei jedem Login Vorgang genutzt.

Beim nächsten Login erscheint ein zusätzliches Aufforderungsfenster in dem der aktuelle Authenticator Code einzugeben ist, wenn 2FA aktiviert ist. Dieser Code ist in der Authenticator App sichtbar. Es wird alle 30 Sekunden ein neuer Code von der Authenticator App generiert, womit der alte Code seine Gültigkeit verliert.

Authenticator Code

Next Steps

  • Evaluierung der Prototypen
  • Intensives Testen der Prototypen
  • Erstellung von Checklisten für das Entwickeln sicherer Systeme

Manuel Fasching

Profile picture for user Manuel Fasching
Ich bin im Bereich der Softwarekonzeption, -entwicklung und Projektdurchführung bis hin zum Endprodukt seit mehr als 10 Jahren tätig. Des weiteren setzte ich Projekte von Angebot bis Endrechnung um und bin als erfahrener Projektleiter von F&E Projekten bei FOTEC Forschungs- und Technologietransfer GmbH im Bereich "Innovative Software Systems" tätig. Zu meinen technologischen Schwerpunkten zählen Blockchain und IoT sowie die Entwicklung sicherer Systeme, interaktive Webapplikationen und Cloudanwendungen für die ich auch Schulungen in Hinblick auf Technologietransfer durchführe.

Skills:

Softwareentwicklung
,
Projektmanagement
,
Webentwicklung
CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.
    Datenschutzinformation
    Der datenschutzrechtliche Verantwortliche (Internet Privatstiftung Austria - Internet Foundation Austria, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Zur Personalisierung können Technologien wie Cookies, LocalStorage usw. verwendet werden. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl: