H ILYGO Hawser
Zur Website

Was verschlüsselt wird

Was die .ivault-Datei verschlüsselt, was im Klartext liegen bleibt und wovor Ihr Master-Passwort nicht schützt.

Was in den Tresor kommt – und was draussen bleibt

Hawser legt Ihre Daten in einer einzigen Datei ab, dem .ivault. Alles, was Sie in der Anwendung eingeben, landet dort. Einige technische Bestandteile liegen ausserhalb, und man sollte wissen welche, bevor man einen Tresor in einem geteilten Ordner ablegt.

DatenWo sie liegen
Server: Name, Host, Port, Benutzer, ProtokollIm .ivault, verschlüsselt
In einem Eintrag hinterlegte VerbindungspasswörterIm .ivault, verschlüsselt
Private SSH-Schlüssel (PEM) und ihre PassphrasenIm .ivault, verschlüsselt
Snippets, Tunnel, Gruppen, Terminal-ThemesIm .ivault, verschlüsselt
Akzeptierte Host-FingerabdrückeIm .ivault, verschlüsselt
Audit-Protokoll (in dieser Version zeigt es kein Bildschirm an)Im .ivault, verschlüsselt und mit einem aus dem Hauptschlüssel abgeleiteten Unterschlüssel signiert
Einstellungen, darunter die SperrverzögerungIm .ivault, verschlüsselt – dazu eine lokale Kopie im Klartext, siehe weiter unten
Dateikopf: Signatur ILYV1, Version, Kennung, Argon2id-Parameter, Salt, NonceIm Klartext am Anfang des .ivault. Keine Inhalte, nur das Nötige für einen Öffnungsversuch
Zähler: Anzahl Hosts, Schlüssel, Fingerabdrücke, Secrets, SnippetsIm Klartext am Ende des .ivault
Vollständige Pfade und Daten der 20 zuletzt geöffneten Tresore (recent.json)Im Klartext, Anwendungsordner
<Ihr Tresor>.ivault.journal: Namen von Vorgängen, Zeitstempel, KennungenIm Klartext, direkt neben dem Tresor
Sprache, Sperrverzögerung, geöffnete Sitzungs-Tabs (samt Namen der Server)Im Klartext, lokale Fenstereinstellungen
AbsturzberichteIm Klartext, Ordner crashes/ im Anwendungsordner
Adresse des Cloud-Servers und Sitzungstoken (sync-config.json)Im Klartext, Anwendungsordner, Rechte 600
Automatische Sicherungen des TresorsVerschlüsselt, Ordner vault-backups/

Der Dateikopf und die Zähler am Dateiende sind ohne Passwort lesbar. Der Kopf trägt die für die Entschlüsselung nötigen Parameter; die Zähler dienen dem Kontingent der Cloud-Synchronisierung, die sie liest, ohne den Tresor zu öffnen.

Die Verschlüsselung im Detail

Ihr Master-Passwort wird nie gespeichert. Aus ihm entsteht per Argon2id ein 32 Byte langer Schlüssel: 64 MiB Speicher, 3 Durchgänge, Parallelität 1. Dieses Profil braucht auf einem Mac mit Apple Silicon rund 250 ms. Diese Viertelsekunde ist Absicht: Sie macht das Durchprobieren von Milliarden Passwörtern für jemanden, der die Datei gestohlen hat, sehr teuer.

Dieser Schlüssel verschlüsselt das gesamte Dokument mit AES-256-GCM. Beim Anlegen des Tresors wird ein zufälliges Salt gezogen, bei jedem Speichern ein zufälliger Nonce. GCM erzeugt zusätzlich ein Authentifizierungs-Tag: Wird auch nur ein einziges Byte der Datei verändert, schlägt das Öffnen fehl, statt fragwürdige Daten zu liefern.

vault payload integrity check failed (file is corrupted or was tampered with)
vault file is corrupted or not an ILYGO vault
Mauvais mot de passe

Hawser verlässt sich nicht auf die Dateiendung, sondern liest die ersten acht Bytes. ILYV1 steht für das aktuelle Format, OPV1 für das alte .outpost-Format. Eine in .ivault umbenannte Datei, die kein Tresor ist, wird mit « format non reconnu » (Format nicht erkannt) abgewiesen. Der Tresor wird mit den Rechten 600 geschrieben: lesbar allein für Ihr eigenes macOS-Benutzerkonto.

Die Begleitdatei

Neben coffre.ivault führt Hawser eine Datei coffre.ivault.journal. Pro Änderung eine JSON-Zeile: Name des Vorgangs, Zeitstempel, Kennung des betroffenen Elements. Keine Geheimnisse, keine Servernamen, keine Passwörter. Nach jedem erfolgreichen Speichern wird sie gelöscht. Ihr Zweck ist es, nach einem Absturz zu erkennen, ob Änderungen nicht geschrieben wurden.

Was das Master-Passwort schützt – und was nicht

Das Master-Passwort schützt eine Datei im Ruhezustand. Das ist viel, und das ist alles.

  • Wer Ihre .ivault-Datei auf einen USB-Stick kopiert, hat nichts davon.
  • Wer an eine automatische Sicherung gelangt, ebenso wenig: Sie ist mit demselben Schlüssel verschlüsselt.
  • Der Synchronisierungsserver von ILYGO kann sie nicht öffnen.

Wovor es nicht schützt

  • Die offene Sitzung. Ein entsperrter Tresor ist für jeden lesbar, der Zugriff auf den Mac hat. Dafür ist die automatische Sperre da, siehe nächster Abschnitt.
  • Den Netzwerkverkehr. SSH und SFTP verschlüsseln die Verbindung, FTP und Telnet nicht.
  • Die Dateien, die Sie herunterladen. Sie werden unverändert in den Zielordner geschrieben, ausserhalb des Tresors. Siehe Dateien übertragen.
  • Die Zwischenablage von macOS, die nicht zu Hawser gehört.

Sperren: automatisch und manuell

Die Verzögerung stellen Sie in der linken Leiste ein, Symbol 🔐 Séc. (Sicherheit, Ansichtstitel « Security »), Abschnitt ⏱️ Auto-lock, Liste « Lock after … d'inactivité ». Sechs Werte: Off (nie), 1, 5, 15, 30 Minuten, 1 Stunde. Der Ausgangswert liegt bei 15 Minuten. Die Änderung wirkt sofort und wird mit einer Meldung wie « Auto-lock after 15 min » bestätigt.

Sicherheitsansicht von Hawser mit dem Abschnitt Sprache und dem Abschnitt Auto-lock
Die Ansicht Séc. enthält nur zwei Einstellungen: die Sprache und die Sperrverzögerung. Der Rest der Verschlüsselung arbeitet ohne jede Einstellung – es gibt nichts zu aktivieren.

Eine Hintergrundaufgabe prüft alle 5 Sekunden auf Inaktivität. Oben im Fenster, links vom Suchfeld, läuft ein Countdown-Chip, der unter 60 Sekunden auf Rot wechselt. Gleichzeitig erscheint unten links ein gelbes Feld mit zwei Schaltflächen: Rester (Bleiben), das die volle Verzögerung neu startet, und Verrouiller (Sperren), das den Tresor sofort schliesst.

Als Aktivität zählen: ein Tastendruck, eine Mausbewegung, ein Klick, eine Berührung, ein Fokuswechsel zurück auf das Fenster.

Die Verzögerung ist eine Einstellung pro Rechner. Sie wird zwar im Tresor gespeichert, beim Laden aber von der lokalen Einstellung des Computers überschrieben. Öffnen Sie denselben Tresor auf einem zweiten Mac, beginnt er wieder bei 15 Minuten. Siehe Öffnen und sperren.

Host-Fingerabdrücke

Bei der ersten SSH- oder SFTP-Verbindung zu einem Server unterbricht Hawser den Handshake und zeigt das Fenster Nouvelle empreinte d'hôte (Neuer Host-Fingerabdruck): den Algorithmus des Schlüssels und seinen Fingerabdruck im OpenSSH-Format SHA256:…, in Festbreitenschrift. Genau dieses Format erzeugt ssh-keygen, sodass sich Zeichen für Zeichen vergleichen lässt.

# auf dem Server, zum Vergleichen
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
  • Faire confiance (Vertrauen) – die Verbindung wird fortgesetzt und der Fingerabdruck mit Algorithmus und Datum im Tresor gespeichert.
  • Cette fois seulement (Nur dieses Mal) – die Verbindung wird fortgesetzt, nichts wird gespeichert, die Frage kommt wieder.
  • Annuler (Abbrechen) – die Verbindung wird abgelehnt.

Bleibt die Frage 120 Sekunden unbeantwortet, gilt das als Abbruch und die Verbindung wird abgelehnt. Fingerabdrücke werden nach Host:Port in Kleinbuchstaben abgelegt: Derselbe Server, einmal über seine IP-Adresse und einmal über seinen Domainnamen erreicht, ergibt zwei getrennte Einträge, und die Frage wird zweimal gestellt.

Hat sich der Fingerabdruck eines bereits bekannten Servers geändert, zeigt das rote Fenster ⚠ L'empreinte d'hôte a CHANGÉ (Der Host-Fingerabdruck hat sich GEÄNDERT) beide Fingerabdrücke, den erwarteten und den vorgelegten. Die Verbindung wird abgelehnt, ohne Möglichkeit, sich darüber hinwegzusetzen. Nur eine Schaltfläche: « Compris ».

Rotes Fenster mit der Meldung, dass sich der Host-Fingerabdruck geändert hat, mit beiden Fingerabdrücken im Vergleich
Der vorgelegte Fingerabdruck steht rot unter dem erwarteten. Es gibt keine Schaltfläche « trotzdem fortfahren »: Das ist eine Ablehnung, keine Warnung.

Touch ID

Die Schaltfläche 👆 Touch ID gibt es im Entsperrfenster, und ein gleichnamiges Abzeichen kann in der Liste der zuletzt geöffneten Tresore erscheinen. Beide werden nur angezeigt, wenn der Tresor eine biometrische Markierung trägt.

Entsperrfenster eines Hawser-Tresors mit dem Passwortfeld
Der vollständige Pfad steht unter dem Namen des Tresors: So lassen sich zwei gleichnamige Dateien in verschiedenen Ordnern unterscheiden.

Zur Information: Bei Tresoren, die es unterstützen, liegt im macOS-Schlüsselbund der 32 Byte lange Schlüssel – nie das Passwort, nie der Tresor. Der Eintrag ist an den aktuellen Satz registrierter Fingerabdrücke gebunden und nur auf diesem Rechner im entsperrten Zustand zugänglich. Er wird weder in den iCloud-Schlüsselbund synchronisiert noch in Sicherungen aufgenommen, und er verfällt, sobald in macOS ein neuer Fingerabdruck hinzugefügt wird.

In jedem Fall würde Touch ID an der Verschlüsselung der Datei nichts ändern. Es würde die Eingabe des Passworts ersetzen, nicht das Passwort selbst.

Automatische Sicherungen und Zwischenablage

Vor jedem Speichern kopiert Hawser die vorherige verschlüsselte Fassung des Tresors in einen Sicherungsordner. Die fünf jüngsten bleiben erhalten, ältere werden gelöscht. Sortiert wird nach dem Zeitstempel im Dateinamen, nicht nach dem Datum des Dateisystems – das ist robuster gegenüber einem fremden Synchronisierungsdienst, der die Zeitstempel verändert.

~/Library/Containers/ch.ilygo.hawser/Data/Library/Application Support/
  ch.ilygo.hawser/vault-backups/<Hash des Pfads>/<Zeitstempel>.ivault

Der Ordner liegt bewusst ausserhalb des Tresorordners, um einen Synchronisierungsdienst zu überleben, der die Datei an Ort und Stelle beschädigt. Der Name des Unterordners ist ein Hashwert des Pfads, nicht der Pfad selbst: Ihre Ordnerstruktur wird nicht preisgegeben. Beim allerersten Speichern wird nichts kopiert, da die Datei noch nicht existiert. Eine fehlgeschlagene Sicherung bricht das Speichern nie ab.

Die Zwischenablage

Hawser legt nie ein Geheimnis in die Zwischenablage. Es gibt keine Schaltfläche « Passwort kopieren » und keine « öffentlichen Schlüssel kopieren ». Die Zwischenablage wird nur an zwei Stellen genutzt: für den Pfad einer Aufzeichnung und als Rückfall, wenn ein externer Link nicht geöffnet werden kann.

Was ILYGO sieht

Ohne Cloud-Synchronisierung verlässt nichts Ihren Mac. Es gibt keine Telemetrie, und Absturzberichte bleiben lokal: Der Hinweis beim Start sagt es selbst, « Hawser a planté lors des précédentes sessions. Les rapports sont stockés localement (aucun envoi automatique). » (Hawser ist in früheren Sitzungen abgestürzt. Die Berichte werden lokal gespeichert, es wird nichts automatisch gesendet.)

Mit aktivierter Synchronisierung geht die .ivault-Datei unverändert an den Server, also verschlüsselter Text. Der Hauptschlüssel verlässt die Maschine nie: Er wird nicht übertragen und ist serverseitig nicht ableitbar.

Was der Server dennoch weiss:

  • die E-Mail-Adresse Ihres Kontos;
  • den Namen, den Sie dem Cloud-Tresor geben, seine Grösse und die Daten seiner Aktualisierungen;
  • die bei jedem Upload übermittelten Zähler: Anzahl Hosts, Schlüssel, Host-Fingerabdrücke, Secrets, TOTP-Codes und Snippets. Sie dienen dem Kontingent.

Das Cloud-Sitzungstoken steht im Klartext in sync-config.json im Anwendungsordner, mit den Rechten 600. Es läuft nach einigen Tagen ab. Es ist nicht Ihr Master-Passwort: Es gewährt keinerlei Zugriff auf den Inhalt eines Tresors.

Wenn Sie das Master-Passwort verlieren

Ihre Daten sind verloren. Ohne Umschweife: Es gibt keine Möglichkeit, sie zurückzuholen – weder für Sie noch für ILYGO.

Das Fenster beim Anlegen sagt es bereits, wörtlich: « ⚠ Important. Si tu oublies ce mot de passe, personne (ni toi, ni Hawser, ni Apple) ne pourra récupérer tes données. » (Wichtig: Wenn Sie dieses Passwort vergessen, kann niemand – weder Sie noch Hawser noch Apple – Ihre Daten wiederherstellen.)

  • Es gibt keine Sicherheitsfrage, keinen Wiederherstellungscode für den Tresor und kein Zurücksetzen.
  • Die automatischen Sicherungen sind mit demselben Schlüssel verschlüsselt: Ohne das Passwort nützen sie nichts.
  • Der Cloud-Tresor ist dasselbe, nur anderswo gespeichert. Auch der Server kann ihn nicht öffnen.

Beim Anlegen akzeptiert Hawser zwei Profile, das eine oder das andere: ein Passwort mit mindestens 12 Zeichen aus mindestens 3 der Kategorien Kleinbuchstaben, Grossbuchstaben, Ziffern und Sonderzeichen; oder eine Passphrase aus mindestens 4 Wörtern mit je 3 oder mehr Zeichen. Eine Höchstlänge gibt es nicht.