In der Entwicklung
Searchitect - private Suche auf verschlüsselten Daten (08.05.2018)
Förderjahr 2017 / Project Call #12 / ProjektID: 2099 / Projekt: Searchitect

Ende März wurde das Position Paper zu Searchitect auf einer Fachkonferenz IoTBDS 2018 in Portugal vorgestellt und gut angenommen. In dem Fachartikel wird vor allem der hybride Ansatz der Architektur des Searchitect Frameworks diskutiert.

Damit ist gemeint, dass das Searchitect Framework  Suchfunktionen und Verschlüsselung des Suchindex für eine Anwendung zur Verfügung stellt, indem der Searchitect Client in die Anwendung integriert wird, die Verschlüsselung der Daten selber aber weiterhin unabhängig davon Aufgabe der Anwendung bleibt.

Searchitect Architektur

In der anschließenden Diskussion auf der Konferenz wurden Fragen zur User Authentifizierung am Webservice gestellt. Die behandelten Themen der Konferenz sind hier zu finden: http://iotbds.org/Abstracts/2018/IoTBDS_2018_Abstracts.htm

Zu weiteren Aktivitäten bezüglich Öffentlichkeitsarbeit im Projekt kam es am Open-House Tag der FH- Campus Wien.  Dabei wurde das Projekt am Stand IT-Security Master Interessierten und zukünftigen Studierenden durch ein Plakat präsentiert.

Stand der Entwicklung - Mittlerweile ist die Grundimplementierung des Client/Server Frameworks fertig und getestet: Die Microservices wurden mit Spring Boot realisiert, das hat den Vorteil von wenig Konfigurationsaufwand und einfachem Deployment, da dabei ein eingebetteter Anwendungsserver (Tomcat)  integriert ist. Damit beim Ausführen und den Tests alle Instanzen gleichzeitig gestartet werden können, haben wir eine Containerlösung gesucht und mittels Docker-Compose gefunden. Docker ist eine open-source Plattform das verteilte Anwendungen mittels Virtualisierung auf Betriebsystem Ebene (Linux Containerisierung) erstellen und verwalten kann. Die Kommunikation zwischen den Microservices und Client haben wir RESTful designed, das hat den Vorteil einer losen Kopplung der Instanzen und macht uns unabhängig von Programmiersprachen in  den Services.  Die übermittelten Daten werden dabei JSON (JavaScript Object Notation) formatiert. Da RESTful Kommunikationsprotokolle keinen Sitzungsstatus halten, muss jede Anfrage authentifiziert werden. Eine gängige Methode dafür sind JSON Web Tokens (JWT), das sind (temporäre) JSON formatierte Authentifizierungstoken, die durch einen vom Server erstellten Authentifizierungscode (Signatur oder keyed Hash) geprüft werden können. Dafür haben wir einen eigenen Filter im Spring Security Framework integriert. Trotzdem ist es wichtig, dass die Kommunikation zwischen Client und Server mit TLS verchlüsselt wird, sonst wäre ein Diebstahl solcher Token einfach und jeder im Besitz eines vom Server bestätigten JSON Web Tokens könnte eine Suchabfrage stellen oder den verschlüsselten Index löschen.

Vorstellung der Dummy, dh. Klartext Implementierung: Unsere Dummy Implementierung kann bereits aus einem Verzeichnis alle Dateien auslesen und mit einem Indexer alle unterschiedlichen Schlüsselwort/Dokumentenbezeichner Paare extrahieren. Diese werden im Dummy Verfahren in einem unverschlüsselten Schlüsselwort-Index auf dem Server geladen und  gespeichert. Ein Benutzer oder eine Benutzerin hat dann die Möglichkeit nach erfolgreicher Authentifizierung darauf zu suchen und neue Dokumente hinzu zu fügen.

Der nächste Schritt ist jetzt aktuelle Searchable Encryption Verfahren in das Framework zu integrieren. Über die Auswahl der Verfahren und den Fortschritt in der Implementierung werden wir Euch hoffentlich bald wieder berichten können.

 

 

 

CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.
    Profile picture for user inkra
    ines.kramer
    08.05.2018
    ASAP

    Weitere Blogbeiträge

    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: