E2EE (End-to-End-Verschlüsselung) bei Nextcloud – hat Macken
Nachdem die Nextcloud-Entwickler Unterstützung für die End-to-End-Verschlüsslung oder E2EE in den neuesten Desktop- und Android-Clients angekündigt haben, wollte ich sehen:
- Wie es funktioniert, also wie einfach die Einrichtung ist
- Ob es funktioniert
Ich habe dazu meine Test-Instanz genommen und kann sagen: Die Einrichtung ist wesentlich einfacher geworden. Allerdings gibt es einen fiesen Stolperstein, den ich am Ende des Artikels beschreibe. Allein aus diesem Grund würde ich E2EE bei der Nextcloud noch nicht produktiv nutzen.
Update: Es gibt derzeit weitere fiese Bugs bei der App, deswegen rate ich davon ab.
E2EE auf dem Server aktivieren
Als Administrator suchst Du bei den Apps einfach nach End-to-End Encyryption. Zunächst einmal stellen wir fest, dass die App nun nicht mehr als ungetestet App markiert ist. Du musst lediglich auf die Schaltfläche Herunterladen und aktivieren klicken. Die App ist schnell installiert.
Sehr angenehm an dieser Stelle ist, dass Du auf dem Server nichts weiter tun musst. Das war alles. Sollte Dein Client E2EE unterstützen, kannst Du es sofort nutzen und einrichten.
Wichtiger Hinweis zu E2EE für Nextcloud
Die Nextcloud lässt es zwar sowieso nicht zu, aber Du solltest wissen, dass Du nur leere Ordner verschlüsseln kannst. Möchtest Du einen Ordner verschlüsseln, in dem sich bereits Inhalte befinden, funktioniert das nicht.
Das gilt übrigens auch in umgekehrter Richtung. Solange sich Daten in einem Ordner befinden, dieser also nicht leer ist, kannst Du die Verschlüsselung nicht aufheben.
Für große Dateimengen kann das ein erheblicher Aufwand sein.
Du kannst keine Dateien mehr teilen, die sich in einem E2EE-Ordner befinden. Das heißt, dass Du nur Deine sensibelsten Daten in solchen Ordnern hinterlegen solltest.
Unter Android
Meine App wurde auf 3.13 aktualisiert, weil damit auch E2EE-Unterstützung gegeben ist. Ich habe nun einen Test-Ordner E2EE angelegt. Nachdem die Verschlüsselung auf dem Server aktiviert wurde, musste ich nur auf die drei Punkte neben dem Ordner tippen und wurde dann zunächst zur Einrichtung aufgefordert.
Du bekommst an dieser Stelle auch Deine Menmonic-Phrase, wenn es die Ersteinrichtung ist. Sie besteht aus 12 Wörtern. Schreibe sie unbedingt auf und lege sie an einem sicheren Ort ab!
Hier gibt es einen kleinen Schönheitsfehler. Hast Du den dunklen Modus aktiviert, gibt es ein “Weißer Adler auf weißem Grund”-Erlebnis. um die Phrase sichtbar zu machen, musst Du sie einfach markieren. Hier könnten die Entwickler in einer Punkt-Version nachbessern.
Lässt Du Dir die Phrase übrigens in den Einstellungen anzeigen, ist es weiße Schrift auf schwarzem Hintergrund. Dort bekommst Du sie auch nachträglich, sollte das notwendig sein.
Das bedeutet aber auch, dass Du Deine Nextcloud App auf Android speziell schützen solltest, also die App-PIN einrichten.
Ich habe nun eine Datei hochgeladen (JPG-bild) und geprüft, wie das im Browser aussieht.
Ich sehe weder Dateityp, noch den ursprünglichen Namen der Datei. Das ist schön. Nun wollte ich aber auch wissen, wie das auf der Kommandozeile ist.
Im Daten-Ordner habe ich den Befehl ausgeführt:
file 0e59ce91ecfa419d9926dda5557c9683
Das Ergebnis: data. Also bekomme ich hier ebenfalls keine Informationen. Das ist gut.
Du siehst im Screenshot oben auch, dass ich hier keine Daten hochladen oder erstellen darf. Auch hier ein kleiner Verbesserungsvorschlag. Mir wird im Browser angeboten, die Datei zu löschen – das endet aber zum Glück in einem Fehler. Das gilt auch für ein Umbenennen. Vielleicht kann man in künftigen Versionen das Aufklappmenü für E2EE-Ordner entsprechend anpassen. Ist nicht tragisch, ist mir nur aufgefallen.
E2EE im Desktop-Client Client einrichten
Möchtest Du die Funktion auf dem Desktop nutzen, benötigst Du Nextcloud Client 3.x. Richtest Du Deinen Desktop-Client ein, fragt die App nach Deiner Mnemoic-Passphrase, um den entsprechenden Ordner zu entschlüsseln.
Da ist keine große Wissenschaft dahinter. Mehr musst Du auch nicht tun. Sobald Du das erledigt hast, synchronisiert sich der E2EE-Ordner.
Möchtest Du Ordner verschlüsseln oder Dir Deine Passphrase anzeigen lassen, musst Du die Einstelluungen öffnen.
Ein Rechtsklick auf einen leeren Ordner gibt Dir die Möglichkeit, ihn zu verschlüsseln.
Unterordner – nun wird es ekelhaft
Ich wollte natürlich auch wissen, ob ich Unterordner in verschlüsselten Ordnern erstellen kann. Das funktioniert aber nur teilweise. Auf jeden Fall ist das für mich ein Blocker Bug, um die Verschlüsselung produktiv einzusetzen oder den gemeinen Anwender darauf loszulassen.
Erstelle ich mit Android einen Unterordner im verschlüsselten Ordner, synchronisiert sich dieser mit Linux und Windows ohne Probleme. Ich sehe den Ordner und kann Dateien hochladen. Auf die kann ich unter Android auch wieder zugreifen.
Erstelle ich Unterordner mit dem Linux-Client, wird er nicht korrekt auf Android angezeigt. Ich sehe zwar den richtigen Namen, aber der Android-Client behandelt das nicht als Ordner. Im nachfolgenden Screenshot siehst Du die Datei test3, die eigentlich ein Ordner sein sollte. Die Android-App scheint nicht richtig damit umgehen zu können, denn sie verschwindet immer wieder.
OK – wer ist Schuld? Ich habe einen Bekannten gebeten, das unter Windows zu testen und ihm Zugriff auf meine Test-Instanz gegeben. Sowohl die unter Linux als auch Android angelegten Unterordner wurden problemlos angezeigt.
Er hat mit Windows einen Unterordner angelegt und der hat sich sauber zu Linux synchronisiert, aber bei der Android App gab es wieder das Problem. Daraus schlussfolgere ich, dass der Bug bei Android zu suchen ist.
Ich verstehe ganz ehrlich nicht, wieso man so eine Funktion nicht in eine Beta-Phase schickt. Ich habe die Geheimniskrämerei von Nextcloud schon mehrmals kritisiert und tue das hier auch wieder. Man scheint breiter angelegte Tests zu opfern, um neue Funktionen mit einem großen Knall ankündigen zu können, die dann aber nicht reibungslos funktionieren. Es ist nicht das erste Mal und ich würde mir wirklich eine Änderung dieser Praxis wünschen. Das ist kontraproduktiv – meine Meinung.
Der Bug ist ja nicht besonders versteckt und wäre in einer Beta-Phase sicherlich gefunden worden. Also ich bin in weniger als einer Stunde darauf gestoßen.
Noch ein Bug
Ich kann mit dem Linux-Client keine Verschlüsselung mehr aufheben, obwohl der Ordner vorher geleert wurde. Ich bin zur Android-App gewechselt und konnte dort die Verschlüsselung sofort und ohne Probleme aufheben.
Das ist nun kein so ein Drama wie bei den Unterordnern, da Du einen E2EE-Ordner sicher nicht grundlos anlegst und der schließlich genutzt werden soll. Ich bin da zufällig darauf gestoßen – könnte man auch auf die To-do-Liste schreiben (halt weiter unten).
Fazit
Was die Entwickler hier präsentieren ist auf jeden Fall auf einem guten Weg. Die Einrichtung ist nicht kompliziert, weil der Administrator einfach die App auf dem Server aktivieren muss.
Auch bei den Clients funktioniert die Sache zum Großteil gut. Solange Du Deine Mnemonic-Passphrase nicht verlierst, ist alles gut. Allerdings würde ich an Deiner Stelle noch warten. Das Problem mit den Unterordnern hinterlässt einen faden Beigeschmack. Wenn so ein offensichtlicher Fehler übersehen wurde, ist ein gewisses Unwohlsein bei mir vorhanden: Wie gut wurde das getestet?
Solltest Du E2EE bei der Nextcloud dennoch einsetzen wollen, würde ich für die entsprechenden Ordner meine Backups sehr gewissenhaft durchführen. Die Funktion ist neu, vergiss das nicht.
Die neuesten Clients findest Du im Download-Bereich von Nextcloud. Für Linux gibt es auch ein AppImage.
Danke für den ausführlichen Artikel! Das mit dem "großen Knall" ist mir all die Jahre auch immer wieder negativ aufgefallen -- hier will man wahrscheinlich das Presse-Momentum nicht verlieren. Ist aber total kontraproduktiv was das Testen "in der Masse" angeht und somit echt nervig.
Hattest Du den Bug mit dem Unterordner schon an die Devs weitergeleitet bzw. Feedback dazu bekommen?
An dieser Stelle bin ich ein bisschen stur, weil wenn es schon keine Anleitungen gibt, was man testen soll, mache ich mir auch nicht die Mühe, direktes Feedback zu geben. Ist mir dann ehrlich gesagt auf zu doof.
Ich habe den Bug mit den Unterordnern im Android-Client auch festgestellt. Es gibt dazu bereits ein Issue und einen Pull Request auf GitHub. Ursache ist wohl ein falsche Mimetype der von Desktop-Client mitgegeben wird. Der Bug soll mit Version 3.0.2 des Dektop-Clients behoben werden.