Martins key.matiq-Blog
>> Zurück zum Artikelverzeichnis >>
Dateichiffrierer
Geschrieben: 10.11.2026
Stichwörter: Funktionalität, Sicherheit
Im Blog-Artikel "Kompliziert, aber gelöst" habe ich über den Umgang mit Dateien geschrieben, die in einer key.matiq-Box gespeichert und evtl. mit anderen key.matiq-Nutzer*innen geteilt werden sollen.
Größere Dateien übersteigen aber leicht das Volumen einer Box, weshalb wir eine Alternative zu dieser Art von Dateisharing gesucht haben, um weiterhin Boxen zu günstigen Preisen anbieten zu können. Denn, wenn wir für eine Box viele Megabytes an Speicherplatz vorrätig halten wollten, müssten wir Cloudspeicher anmieten und die Kosten dafür, aber auch für die dann komplexere Verwaltung, an unsere Kundschaft weitergeben, was auch diejenigen belasten würde, die eigentlich nur wenige größere geheim zu haltende Dateien mit Dritten über key.matiq austauschen wollen.
Viel einfacher ist es, allgemeine Dateiverschlüsseler anzubieten, die im wesentlichen nur einen digitalen Schlüssel speichern. Mit einem solchen Chiffrierer kann man Dateien in der key.matiq-Box ver- und entschlüsseln lassen, die verschlüsselten Dateien dann aber (weil sie durch starke Verschlüsselung unangreifbar sind) als Nutzer*in nicht nur auf dem eigenen Gerät speichern, sondern auch selbst (z. B. per E-Mail) an Dritte weitergeben, die ihrerseits eine key.matiq-Box besitzen und mit denen man den Chiffrierer geteilt hat.
Wichtig ist natürlich, dass die Sicherheit nicht leidet: Auch bei per Dateichiffrierer verschlüsselten Dateien muss es die Möglichkeit geben, sende- und empfangsseitig einen Malwarescan durchzuführen. Zusätzlich muss aufgepasst werden, dass der Schlüssel des Chiffrierers und die verschlüsselten Dateien zusammenpassen, sprich: key.matiq muss Hilfestellung leisten, um ggf. den richtigen Chiffrierier für die Entschlüsselung zu finden.
Malwarescan
Es geht dabei darum, interne Angriffe1 möglichst auszuschließen, aber auch die unbeabsichtigte Weiterverbreitung von Malware zu unterbinden.
Ein Malwarescan ist optional und kann sowohl sende- als auch empfangsseitig durchgeführt werden.
Optional ist der Malwarescan, da es für key.matiq keine Möglichkeit gibt, diesen Scan selbstständig und zugleich clientseitig durchzuführen.2 Ein durch die Nutzer*in angestoßener clientseitiger Scan ist aber für manche durchaus aufwändig.3. Ein serverseitiger (also von key.matiq durchzuführender) Scan erfordert aber eine Genehmigung der Nutzer*in, um das Prinzip des "Cautiously Knowing Service"4 einzuhalten. Die dritte Alternative, nämlich empfangene Dateien gar nicht zu scannen, kann ebenfalls riskant sein. Deshalb muss die letztliche Risikoabwägung und Entscheidung schließlich bei der Nutzer*in verbleiben.
Also fragt key.matiq die Nutzer*in, ob sie einen Scan über den Server erlauben will. Wenn sie es erlaubt, wird die Datei zum Server übertragen, für den Scan nur im flüchtigen Hauptspeicher gehalten und danach dort sofort wieder gelöscht. Erlaubt sie es nicht, kann sie die Datei dennoch (auf eigene Gefahr) verwenden.
Wird der Scan verschlüsselungsseitig durchgeführt, so wird das Scanergebnis der verschlüsselten Datei hinzugefügt und von key.matiq signiert. Diese Signatur wird dann entschlüsselungsseitig überprüft, ohne nochmals die Klartext-Datei zum key.matiq-Server schicken zu müssen.
Aber es ist auch möglich, entschlüsselungseitig, einen Scan anzustoßen, wenn dies vor der Verschlüsselung nicht passiert ist, oder der Scan einige Zeit her ist (also möglicherweise das Scan-Ergebnis verändert ausfallen könnte.)
Herkunftsnachweis
Für die Empfänger*in einer per Dateichiffrierer verschlüsselten Datei ist es evtl. wichtig, über die Herkunft einer Datei Bescheid zu wissen, aber auch um ggf. den passenden Chiffrierer für die Entschlüsselung finden zu können.
Deshalb wird einer per Chiffrierer verschlüsselten Datei immer auch ein Herkunftsnachweis hinzugefügt. Auch dieser wird signiert und entschlüsselungsseitig wird diese Signatur auch überprüft (und im Bösfall wird der Fehler auch angezeigt).
Kosten, Nutzen
Während bei der Entwicklung einer sauberen Implementation von Dateispeicherung innerhalb einer key.matiq-Box bei Beachtung des "Cautiously Knowing Service" Prinzips eine ziemliche Komplexität ergeben hat5, ist die Entwicklung des Dateichiffrierers ziemlich geradlinig, wenn auch doch mühsam und umfangreich6 verlaufen.
Aber das Ergebnis hat sich gelohnt: Wir können weiterhin kleine, aber feine Boxen anbieten, denn nun hat die Kund*in drei Methoden zum Speichern und Teilen von Dateien zur Auswahl:
- Bei kleinen Dateien, die problemlos in eine Box passen: Direkte Speicherung in der Box,
- Bei einer übersichtlichen Anzahl von größeren Dateien, die einzeln auch noch in den Browser-Speicher geladen werden können: Ver- und Entschlüsselung mittels eines Dateichiffrierers, der bei Bedarf auch mit verbundenen Boxen geteilt werden kann.
- Bei übermäßig großen oder vielen Dateien: Verwendung einer verschlüsselten Platte, wobei das Kennwort bzw. der Schlüssel zum Öffnen dieser Platte in der key.matiq-Box gehalten werden kann. Ist ein Team-Zugriff nötig, so bietet sich an, statt einer physikalischen Platte eine virtuelle Platte (in der Cloud) zu nutzen und Kennwort bzw. Schlüssel wiederum über key.matiq im Team zu teilen.
Und schließlich ist es auch durchaus möglich, mehrere Dateichiffrierer für unterschiedliche Kreise von verbundenen Boxen zu erstellen und zu verwalten. Wenn man es richtig macht7, kennt dann jede der Box-Besitzer*innen nur die Chiffrierer, die sie auch tatsächlich benötigt.
1) Damit wären in vorliegenden Fall Angriffe von anderen key.matiq-Nutzer*innen gemeint, mit denen die betroffene Nutzer*in in Verbindung steht, also z. B. zu denen key.matiq-Kontakte bestehen oder mit denen gemeinsam Mitgliedschaften zu einer key.matiq-Gruppe unterhalten werden.
2) Es würde erfordern, dass die Signaturen für bösartige Software in den Browser geladen würden und per JavaScript die Datei auf diese Muster hin untersucht werden müsste. Bis dato8 ist uns aber keine Software bzw. Lösung bekannt, die diese Forderung erfüllen würde.
3) Die Nutzer*in kann z. B. einen Virenscanner laufen lassen und nach Entschlüsselung einer Datei diese herunterladen, um den Scanner darauf anzusetzen. Das erfordert aber, dass auch tatsächlich ein Virenscanner auf dem Gerät läuft, was auch nicht immer unproblematisch ist, da Virenscanner viel Rechte und Vertrauen benötigen.
4) Siehe Blog-Artikel "Zero-Knowledge+ (1): Der 'Cautiously Knowing Service'".
5) Siehe Blog-Artikel "Kompliziert, aber gelöst".
6) Ein Grund war: Sobald etwas kryptographisch signiert werden muss, kommt es auf jedes Byte an, und da sucht man sich als Entwickler*in im Fehlerfall schon mal leicht einen Wolf.
7)
Man identifiziert zunächst die Kreise von Kontakten für die gemeinsam
eine Reihe von geheimen Dateien notwendig gemeinsam bekannt sein sollen. Für
jeden dieser Kreise wird dann ein unterschiedlicher Dateichiffrierer erstellt,
der der benannten Reihe an Dateien zugeordnet wird.
In den jeweiligen Kreisen der Kontakte wird geklärt, welche Box-Inhaber*in
als "Autor*in" des Dateichiffrierers fungieren, d. h. das entsprechende
Geheimnis erstellen, verteilen und aktuell halten soll.
8) Im Jahr 2026, dem Jahr der letzten Komplettüberprüfung dieses Artikels.