Zo werkt het

Verloop van de verwerking

  1. Upload — Je .export-bestand en wachtwoord worden via een versleutelde HTTPS-verbinding verzonden.
  2. Validatie — Het bestandsformaat en de CAPTCHA worden gecontroleerd. Ongeldige bestanden worden direct geweigerd.
  3. Ontsleuteling — Het bestand wordt volledig in het werkgeheugen (RAM) van de server ingelezen en ontsleuteld.
  4. Verpakken — De ontsleutelde JSON- en TXT-resultaten worden, eveneens in het werkgeheugen, tot een ZIP-bestand verpakt.
  5. Download — Het ZIP-bestand wordt naar je browser gestuurd.
  6. Opruimen — Alle gegevens worden direct na het downloaden uit het geheugen gewist.

Technische stack

  • Nginx — reverse proxy, TLS-terminatie, rate limiting
  • Python / Flask — ontsleutelingslogica en afhandeling van verzoeken
  • Gunicorn — WSGI-server met meerdere workers voor gelijktijdige verzoeken
  • PyCryptodome — AES-256-CBC-ontsleuteling
  • Let's Encrypt — TLS-certificaten met automatische verlenging

Over de ontsleuteling

FRITZ!Box-back-upbestanden gebruiken AES-256-CBC-versleuteling met een sleutelafleiding in twee stappen:

  1. Uit de MD5-hash van het wachtwoord van je back-up, aangevuld met nulbytes, wordt een bootstrapsleutel afgeleid
  2. Deze bootstrapsleutel ontsleutelt een tussensleutel die in de header van het bestand is opgenomen
  3. De tussensleutel ontsleutelt alle versleutelde waarden (gemarkeerd met $$$$) in de hele configuratie

Versleutelde waarden gebruiken het eigen Base32-alfabet van AVM (A-Z, 1-6 in plaats van het standaard A-Z, 2-7).

Meer over de omgang met gegevens, logging en hosting lees je in onze privacyverklaring.