Ga naar inhoud

Opslagversleuteling

Alle e-mails, contacten en notities staan in een lokale database op je computer. De opslagversleuteling zorgt ervoor dat dit bestand zonder sleutel onleesbaar is: wie de harde schijf uitbouwt of het bestand kopieert, houdt alleen digitale rommel in handen.

Standaard staat zij ingeschakeld. De beslissing valt eenmalig, in de installatiewizard, en laat zich later niet meer wijzigen. Onder Linux heeft zij een sleutelhanger nodig zoals GNOME Keyring of KWallet. Ontbreekt die, dan blijft de database onversleuteld en meldt de instellingenpagina Versleuteling niet beschikbaar op dit systeem.

De database wordt met een willekeurig gegenereerde sleutel van 64 tekens versleuteld (SQLCipher, AES-256). Deze sleutel legt YouniqMail verzegeld in zijn instellingenbestand config.json af. Het zegel wordt beheerd door het besturingssysteem: de Keychain onder macOS, de gegevensbeschermingsinterface van Windows (gebonden aan je gebruikersaccount), de sleutelhanger van de bureaubladomgeving onder Linux.

In het dagelijks gebruik merk je daar niets van. Bij de start ontzegelt YouniqMail de sleutel met hulp van je systeemaanmelding. Geen extra wachtwoord, geen extra stap.

Hetzelfde zegel beschermt ook de wachtwoorden van je e-mailaccounts en de aanmeldingen bij gekoppelde diensten, dus tokens, CalDAV-wachtwoorden en webhook-adressen. Ze zijn afzonderlijk verzegeld, ook als de opslagversleuteling uit staat. Alleen onder Linux zonder sleutelhanger blijven ze onversleuteld.

De keten heeft twee zwakke plekken: de sleutelhanger en het bestand config.json. Wordt het besturingssysteem opnieuw geïnstalleerd, het gebruikersaccount teruggezet of config.json verwijderd, dan laat de verzegelde sleutel zich niet meer openen, en daarmee de toegang tot de database.

Daarvoor bestaat de herstelsleutel: dezelfde 64 tekens, eenmaal bij het instellen getoond om veilig te bewaren. Ontbreekt de sleutel bij de start, dan toont YouniqMail het dialoogvenster Databasesleutel ontbreekt. Via Sleutel invoeren… open je de database weer met de herstelsleutel, zonder iets opnieuw te downloaden.

Niet bewaard? Zolang de toepassing normaal draait, is er niets verloren: onder Instellingen → Beveiliging → Opslag versleutelen toont Herstelsleutel tonen hem altijd opnieuw, en Opslaan als PDF legt hem vast. Op een Mac met Touch ID bevestig je dat met je vingerafdruk, op andere computers verschijnt hij zonder verdere vraag. Vergrendel je computer dus wanneer je hem verlaat.

E-mails in lokale mappen bestaan alleen op je apparaat, als één bestand per e-mail in de map local_mail van je profiel. Ze zijn precies zo beschermd als de database:

  • Opslagversleuteling uit: het zijn gewone .eml-bestanden, die elk mailprogramma met een dubbelklik opent.
  • Opslagversleuteling aan: de bestanden eindigen op .ymraw en zijn versleuteld met de sleutel van de database. Zonder die sleutel zijn ze net zo onleesbaar als de database zelf.

In het dagelijks gebruik heb je de bestanden nooit direct nodig. Via Bestand → Exporteren sla je lokale mappen op als mbox of als losse .eml-bestanden, en de volledige back-up neemt ze mee.

Start YouniqMail niet meer, dan krijg je je e-mails terug met de herstelsleutel en een klein noodprogramma:

  1. Installeer Node.js, versie 18 of nieuwer.

  2. Download het noodprogramma: youniqmail-local-mail-decrypt.mjs.

  3. Open een terminal (onder Windows de Opdrachtprompt) en start het met de map local_mail en een doelmap:

    node youniqmail-local-mail-decrypt.mjs <map local_mail> <doelmap>
  4. Voer de herstelsleutel in wanneer daarom wordt gevraagd. Wat je typt, blijft onzichtbaar.

Daarna staat elke e-mail als .eml-bestand in de doelmap, genoemd naar datum en onderwerp. Een beschadigd bestand meldt het programma en slaat het over, en bij een tweede keer uitvoeren overschrijft het niets. Het heeft geen internetverbinding nodig en stuurt nergens iets heen. Hoe de bestanden zijn opgebouwd, staat in leesbare tekst aan het begin van het programma.

De map local_mail staat in je profiel:

Besturingssysteem:
~/Library/Application Support/YouniqMail/local_mail/
%APPDATA%\YouniqMail\local_mail\
~/.config/YouniqMail/local_mail/

Wil je lokale gegevens resetten, red lokale mappen dan vooraf met het noodprogramma: na het resetten ruimt YouniqMail de niet meer benodigde bestanden in local_mail na drie dagen op.

Enkele bestanden legt YouniqMail naast de database af, en die zijn niet versleuteld:

  • Tijdelijk opgeslagen bijlagen die je hebt geopend of bekeken (map attachment_cache, hoogstens 500 MB),
  • bijlagen van concepten en van berichten in Postvak uit (mappen draft_attachments en outbox_attachments),
  • berichten die op dat moment worden verzonden, tot hun kopie in de map Verzonden is aangekomen (map sent_pending),
  • het logboek (map logs), waaruit adressen en inhoud worden gefilterd,
  • de instellingen in config.json, waaronder de hint voor het hoofdwachtwoord.

Ze staan allemaal in dezelfde profielmap als local_mail. Wie de computer wil beschermen tegen vreemde toegang tot de harde schijf, schakelt daarnaast de schijfversleuteling van het systeem in (FileVault, BitLocker, LUKS).

De opslagversleuteling beschermt het bestand op de harde schijf: tegen diefstal van de computer, tegen kopiëren van de database, tegen nieuwsgierige blikken op een back-upschijf.

Zij beschermt niet tegen iemand die aan je ontgrendelde computer zit, want daar is de database nu eenmaal zoals bedoeld leesbaar. Daarvoor bestaat het hoofdwachtwoord. En zij versleutelt niet het transport naar de tegenpartij, want dat doen PGP en S/MIME.