fix(crypto): K-03 — emergency card persistence warning and rekey command
This commit is contained in:
@@ -5,6 +5,28 @@ Alle nennenswerten Änderungen an diesem Projekt werden in dieser Datei dokument
|
||||
Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.1.0/)
|
||||
und dieses Projekt folgt den Richtlinien von [Semantic Versioning](https://semver.org/lang/de/).
|
||||
|
||||
## [0.8.0] - 2026-09-19
|
||||
|
||||
### Security Audit Remediation & Format V3 Release
|
||||
Dieses Release implementiert die umfassende Härtung aus zwei Security-Audit-Runden, rüstet das Container-Format auf V3 auf und führt wesentliche Sicherheits- und Notfallfunktionen ein.
|
||||
|
||||
#### Security & Architecture (Findings S-01, V-01, V-02, K-01, K-02, K-03)
|
||||
- **K-01: Kanonische Metadaten-Authentifizierung (Format V3)**:
|
||||
- Ergänzung einer HMAC-SHA-256 Metadaten-MAC (`metadata_mac`) im Header, abgeleitet aus dem DEK.
|
||||
- Verhindert unbemerkte Manipulation von Verzeichnisstrukturen, Dateigrößen oder Dateitypen.
|
||||
- **K-02: Chunk-Replay- & Reordering-Schutz (Format V3)**:
|
||||
- Erweiterung des AAD von 16 Bytes auf 24 Bytes: Bindung an `node_id` (8 Bytes), `chunk_index` (8 Bytes) und monotone `generation` (8 Bytes).
|
||||
- Verhindert das Wiedereinspielen veralteter Chunks durch Angreifer mit Schreibzugriff auf die Containerdatei.
|
||||
- **K-03: Notfallblatt-Lebenszyklus & `rekey`-Kommando**:
|
||||
- `sanctum passwd` weist nun explizit darauf hin, dass das 24-Wörter Notfallblatt (BIP-39) weiterhin gültig bleibt.
|
||||
- Neues CLI-Kommando `sanctum rekey`: Generiert einen frischen DEK, verschlüsselt alle Chunks um, aktualisiert Header sowie Metadaten-MAC und entwertet das bisherige Notfallblatt unwiderruflich.
|
||||
- **S-01: Sichere Löschlogik in `sanctum sync`**:
|
||||
- `--delete` löscht keine ausgeschlossenen Pfade (`--exclude`) mehr. Für das Löschen ausgeschlossener Dateien muss explizit `--delete-excluded` übergeben werden (analog zu rsync).
|
||||
- **V-01: CarrierFs-Dispatch im Carrier-Modus**:
|
||||
- `SanctumFs::copy` leitet im Trägermodus Kopieroperationen korrekt an das Trägerdateisystem weiter.
|
||||
- **V-02: Schutz vor stiller Dateikürzung bei fehlenden Chunks**:
|
||||
- Fehlt ein Datenblock innerhalb der erwarteten Dateigröße, wird ein harter E/A-Fehler (`EIO` / `DatabaseInconsistency`) ausgelöst statt stiller Kürzung auf 0 Bytes.
|
||||
|
||||
## [0.7.2] - 2026-09-18
|
||||
|
||||
### Security Audit Remediation Release (Findings SA-01 to SA-07)
|
||||
|
||||
Reference in New Issue
Block a user