Entschlüsselungsablauf
Datei-Download mit Entschlüsselung
Schritt 1: Request validieren
URL-Parameter omm_private_file wird geprüft. User muss eingeloggt sein.
Schritt 2: Pfad validieren
Format: {user_id}/YYYY/MM/filename – Owner-ID wird extrahiert.
Schritt 3: Zugriffsberechtigung prüfen
Wichtig: Nur der Owner kann entschlüsseln. Admin sieht Metadaten, kann aber nicht lesen!
Schritt 4: Verschlüsselungs-Status prüfen
Wenn nicht verschlüsselt: Direkt readfile() ausgeben.
Schritt 5: Entschlüsselung
- User-Key ableiten (identisch zu Verschlüsselung)
- Datei lesen: IV (12B), TAG (16B), CIPHERTEXT
- AES-256-GCM Entschlüsselung mit TAG-Prüfung
Schritt 6: HTTP Response
Content-Type aus Original-MIME, Plaintext ausgeben.
Schritt 7: Speicher bereinigen
sodium_memzero() für Plaintext.