Wie stellt sich die Gesamtarchitektur der Qabel-Plattform dar?

  • Die Qabel-Plattform unterscheidet sich von herkömmlichen Architekturen insbesondere darin, dass bei uns die „Intelligenz“ nicht im Server-Backend zu finden ist, sondern clientseitig in Form von „Smart Clients“. Ein Vorteil ist hier u.a., dass dadurch bereits konzeptionell mehr Sicherheit ("Security") und Privatsphäre im Gesamtsystem möglich ist.
 zurück zum Seitenanfang

Welche Komponenten umfasst ein Smart-Client?

  • Der Client ist modular aufgebaut und besteht aus mehreren Komponenten. Die umfangreichste Komponente nennt sich "Qabel Core". Diese implementiert die gesamten plattformunabhängigen Funktionen (sozusagen das Backend im Client).
 zurück zum Seitenanfang

In welcher Programmiersprache wird der Code für die Android- und Windows-Clients verfasst?

  • Unsere Clients (auch der Core) werden in Java und Kotlin entwickelt, da wir u. a. eine native Android App anbieten.
  • Für Android verwenden wir das Android SDK, für Windows Java FX.
 zurück zum Seitenanfang

In welcher Programmiersprache wird der Code für die Back-End-Systeme der Qabel-Plattform verfasst?

  • Im Serverbereich setzen wir Python mit diversen Frameworks, wie bspw. Django, ein, PostgreSQL als Datenbank und Redis als Data Structure Store.
 zurück zum Seitenanfang

Worauf basiert die Verschlüsselung von Qabel und werden Private-Public-Keys verwendet?

  • Qabel verwendet eine Kombination aus symmetrischer und asymmetrischer Kryptographie. Wir setzen hierbei auf etablierte Standardalgorithmen (AES-GCM mit 256-bit bzw. curve25519 für die asymmetrische Kryptographie).
  • Auf Protokollebene wird "Noise" verwendet, welches unsere Anonymitätsanforderungen erfüllt, da die chiffrierte Protokollnachricht keinerlei Metadaten exponiert.
 zurück zum Seitenanfang

Welche Technologien verbergen sich hinter der Website zur Erstregistrierung von Qabel Accounts?

  • Die Registrierung über unsere Website erfolgt mittels Java Script vom Browser des Nutzers direkt zum Qabel Accounting Server. 
 zurück zum Seitenanfang

Wie funktioniert die Verschlüsselung bei Qabel genau?

  • Die Ver- und Entschlüsselung folgt dem Prinzip der asymmetrischen Kryptographie. Qabel führt alle nötigen Schritte automatisch im Hintergrund durch.
  • Das folgende Szenario veranschaulicht den Vorgang, der im Hintergrund automatisch abläuft: Möchte Alice Daten mit Bob austauschen, so bittet sie Bob zunächst um einen sogenannten Public Key, den er ihr auf sicherem Weg zukommen lässt. Den Public-Key kann man sich als ein offenes Vorhängeschloss vorstellen. Mit diesem Schloss kann Alice nun die Daten sichern oder — korrekt ausgedrückt — verschlüsseln. Und da ein Schloss nur verschließt, nicht aber öffnet, kann selbst Alice die Daten nicht mehr entschlüsseln. Den Schlüssel zum Schloss, den sogenannten Private Key, hat Bob behalten und ihn mit niemandem geteilt. Damit kann er nun die von Alice verschlüsselten Daten entschlüsseln. Für den Fall, dass Alice Qabel als Ablage für ihre eigenen Daten nutzen möchte, behält sie sowohl den Public als auch den Private Key für sich.
  • Für Insider: Bei großen Datenmengen, die man mit mehreren Personen teilen möchte, wird eine symmetrische Kryptographie (AES256) verwendet. Wie bei PGP/GPG wird hierbei nur der Schlüssel asymmetrisch verschlüsselt.
 zurück zum Seitenanfang

Warum macht Ihr nicht etwas webbasiertes? Das wäre doch viel einfacher!

  • Ja, wäre es.
  • Wie das aber leider mit einfachen Dingen so ist: Meistens helfen sie nicht so recht. Die inhärente Problematik webbasierter Systeme ist: Der Auslieferungskanal des Cryptocodes ist potentiell kompromittiert. Ferner ist die Schlüsselverwaltung schwierig. Es würde also das Problem der Massenüberwachung nicht lösen.
 zurück zum Seitenanfang

Wie läuft eine Synchronisation zwischen mehreren Geräten ab? Und wie wird eine sichere und trotzdem einfache Übertragung gewährleistet?

  • Prinzipiell ist eine Synchronisation nichts anderes als ein Hochladen (in die Qabel Cloud) von Daten auf dem einen Gerät und ein Herunterladen (aus der Qabel Cloud) dieser Daten auf ein anderes Gerät. Nur das dies, nach der Einrichtung einer Synchronisation, automatisch erfolgt. Die Daten werden also wie bei Qabel üblich vor dem Hochladen automatisch verschlüsselt und nach dem Herunterladen automatisch entschlüsselt.
 zurück zum Seitenanfang

Welches Java Runtime Environment (JRE) verwendet der Qabel Windows Desktop Client?

  • Das Oracle JRE.
 zurück zum Seitenanfang

Welche Anforderungen hatten wir bei der Umsetzung eines selbst entwickeltem Dateisystems?

  • Die Kernanforderung war, es deart generisch zu konzipieren, dass eine leichte Änderbarkeit gewährleistet wird, um zukünftige und unbekannte Anforderungen erfüllen zu können.
  • Detailliertere Erläuterungen zu diesem Thema sind in diesem Blog-Eintrag zu finden.
 zurück zum Seitenanfang

Was bedeutet “Lazy Unsharing”?

  • Der Zugriff auf ein zuvor geteiltes Objekt wird durch den Eigentümer sofort aufgehoben. Das schon in die Cloud geladene Objekt wird nicht erneut hochgeladen, lediglich die Zugriffsinformationen werden geändert. Der Vorteil ist, dass damit nur marginaler Traffic entsteht. Der Nachteil ist das ein ehemaliger Empfänger der geteilten Datei auch weiterhin Zugriff auf die Datei hat falls dieser Empfänger seinen Client manipuliert und sich die Zugriffsinformationen gemerkt hat. Allerdings kann auch dann nur auf exakt die selbe Datei zugegriffen werden. Wird sie vom Inhaber verschoben, gelöscht, oder geändert erlischt der Zugriff in jedem Fall.
 zurück zum Seitenanfang

Können die jeweiligen Nutzer unterschiedlicher Qabel Provider miteinander kommunizieren?

  • Ja. Qabel ist explizit dezentral angelegt. Es ist egal, wo Sie Ihren Qabelanschluss haben —  Sie können sich mit jedem anderen Qabelnutzer austauschen. So wird verhindert, dass eine einzelne Firma oder Organisation monopolistisch alle Daten speichert. Diese sind zwar ohnehin vollständig verschlüsselt, man wäre dennoch abhängig.
  • Wenn Sie als Unternehmen oder Provider einen geschlossenen Nutzerkreis benötigen, sprechen Sie uns an.
 zurück zum Seitenanfang

Was bedeutet “Chunking”?

  • Der Begriff “Chunking” bezieht sich auf die Behandlung von sehr großen, im Storage zu speichernden Objekten (Dateien).
  • Diese werden dabei in immer gleich große kleinere Objektsegmente (Blöcke, Chunks) aufgeteilt.
 zurück zum Seitenanfang

Wie erfolgt die Metadatenverschleierung bei der Beta-Version?