Der Webservice Hat.sh verschlüsselt Dateien im Nu – optional mit einem Passwort oder einem Schlüssel.
Sie möchten schnell und sicher eine Datei verschlüsseln und mit anderen teilen? Die Web-App Hat.sh [1] erledigt das im Webbrowser. Der Entwickler des Tools betont, dass es weder Daten sammelt noch irgendwohin übermittelt. Nachdem sie einmal geladen wurde, läuft die Seite komplett offline. Wenn Ihnen die App (Abbildung 1) gefällt, Ihnen aber das Vertrauen in die Aussagen des Entwicklers fehlt, hosten Sie Hat.sh aber auch ohne großen Aufwand selbst.

Abbildung 1: Die Webseite von Hat.sh erschließt sich schnell und bedarf keiner weiteren Erklärung. Sie leitet den Anwender zum gewünschten Ergebnis.
Zum Ver- und Entschlüsseln lassen sich sowohl Passwörter als auch kryptografische Schlüssel verwenden. Im Hintergrund arbeitet dazu die Krypto-Bibliothek Libsodium [2]. Die Web-App akzeptiert alle Dateitypen und es gibt keine Begrenzung der Dateigröße. Lediglich bei Apples Safari-Browser sowie bei Browsern für Mobiltelefone dürfen die Dateien nicht größer als 1 GByte sein.
Kryptografische Grundlagen
Zur symmetrischen Verschlüsselung, die denselben Key für das Ver- und Entschlüsseln nutzt, setzt Hat.sh auf den Algorithmus XChaCha20-Poly1305, der als resistent selbst gegen Angriffe derzeit verfügbarer Quanten-Computer gilt [3]. Bei PBKDF2 verwendet Hat.sh den Algorithmus des Hash-Generators Argon2. Zum Schlüsselaustausch nutzt die App X25519.
Die Webseite lässt kaum Fragen zur Funktionalität offen. Wenn Sie Hat.sh zum ersten Mal benutzen, ist die Einstellung Verschlüsselung bereits gesetzt, da es ja noch nichts zu entschlüsseln gibt. Zum Verschlüsseln wählen Sie eine Datei oder ein Verzeichnis aus oder ziehen sie auf die Webseite. Bei einem Verzeichnis chiffriert die App jede enthaltene Datei einzeln. Ein Klick auf Weiter stellt Sie vor die Wahl, ob Sie ein Passwort oder einen Schlüssel verwenden möchten.
Passwort oder Schlüssel?
Entscheiden Sie sich für die Passwortmethode, geben Sie das Kennwort entweder selbst ein oder lassen es durch einen Klick auf das Symbol am Ende der Eingabezeile von der App generieren. Beachten Sie, dass die App nur Passwörter ab einer Mindestlänge von 12 Zeichen akzeptiert. Die Zusammensetzung spielt dabei keine Rolle; immerhin erscheint ein Hinweis, wenn die App das Kennwort für zu schwach erachtet.
Fällt Ihre Wahl auf Schlüssel, geben Sie ein vorhandenes Schlüsselpaar ein. Wenn Sie sich jetzt fragen, warum Sie Ihren privaten Schlüssel eintragen müssen: Das hat mit der authentifizierten Verschlüsselung zu tun, denn dazu müssen beide Schlüssel bekannt sein. Beim Chiffrieren berechnet ein Algorithmus aus beiden Schlüsseln einen gemeinsamen Key. Der Empfänger der Datei muss zum Entschlüsseln ebenfalls seinen privaten Schlüssel angeben. Diese Vorgehensweise stellt sicher, dass die verschlüsselte Datei nicht verfälscht wurde und vom echten Absender stammt.
Besitzen Sie keinen kryptografischen Key oder möchten Sie lieber ein neues Schlüsselpaar verwenden, generiert die App eines für Sie. Den Link dazu finden Sie am Ende der Zeile unter den beiden Eingabefeldern (Abbildung 2). Das Erzeugen funktioniert in Sekundenbruchteilen. Beide Schlüssel lassen sich herunterladen, vom Public Key erzeugen Sie auf Wunsch auch einen QR-Code (Abbildung 3).

Abbildung 2: Möchten Sie Schlüssel verwenden, so können Sie vorhandene Schlüssel angeben oder ein neues Paar erstellen. Der Link zum Erstellen eines Schlüsselpaars ist dabei leicht zu übersehen.

Abbildung 3: Nach dem Erstellen oder Eintragen der Schlüssel lässt sich ein QR-Code des öffentlichen Schlüssels erstellen, den Sie an den Empfänger der Datei übermitteln können.
Egal, welchen Weg Sie wählen: Am Ende steht die verschlüsselte Datei zum Herunterladen bereit (Abbildung 4). Das Entschlüsseln folgt dem gleichen Schema. Sie wählen die verschlüsselte Datei aus oder ziehen sie auf die Webseite, geben das zur Verschlüsselung verwendete Passwort oder die Schlüssel ein und erhalten im Handumdrehen die entschlüsselte Datei zum Download angeboten.

Abbildung 4: Nach dem Verschlüsseln stellt Hat.sh die Dateien und gegebenenfalls das Passwort zum Herunterladen bereit.
Selbst hosten
Wenn Sie sich überzeugt haben, dass alles wie gewünscht funktioniert, Sie jedoch einem öffentlich zugänglichen Web-Dienst per se nicht vertrauen, können Sie Hat.sh auch selbst hosten. Dabei haben Sie die Wahl zwischen zwei Varianten. Entweder setzen Sie manuell oder via Docker-Compose einen Docker-Container auf, oder Sie installieren das Projekt via Npm. Als Voraussetzung für Letzteres benötigen Sie die beiden Pakete nodejs und npm. Die Webseite des Projekts beschreibt beide Wege ausführlich [4].
Fazit
Hat.sh erledigte in unseren Tests genau das, was es soll. Dabei überzeugte die Web-App mit einer bemerkenswerten Geschwindigkeit. Inwieweit Sie dem Web-Dienst vertrauen, müssen Sie für sich selbst entscheiden. Haben Sie diesbezüglich Bedenken, lässt sich der Verschlüsselungshelfer in wenigen Minuten unter eigene Kontrolle bringen, indem Sie ihn auf einem vertrauenswürdigen Datenträger installieren. Deswegen: Daumen hoch! (tle)
Glossar
-
PBKDF2
-
Password-Based Key Derivation Function 2 (RFC 8018). Eine genormte Funktion, um von einem Passwort einen Key für symmetrische Verschlüsselungsverfahren abzuleiten.
-
X25519
-
Verfahren zum Schlüsselaustausch auf Basis der als besonders schnell geltenden elliptischen Kurve Curve25519 (RFC 7748).
Infos
-
Hat.sh: https://hat.sh
-
Libsodium: https://doc.libsodium.org/
-
XChaCha20: https://help.zettasecure.com/hc/de/articles/10614583564189-Was-ist-XChaCha20-und-ist-es-sicher
-
Hat.sh installieren: https://hat.sh/about/#installation





