fix(format-v3): transcript versioning in HMAC and atomic upgrade MAC (F-04, F-05)
This commit is contained in:
+12
-3
@@ -1,13 +1,13 @@
|
||||
# Sanctum Security Audit & Remediation Log (v0.9.4)
|
||||
# Sanctum Security Audit & Remediation Log (v0.9.5)
|
||||
|
||||
Dieses Dokument fasst alle 39 Findings aus drei umfassenden externen Sicherheitsaudits sowie nachfolgende Härtungen zusammen, dokumentiert die angewandten Härtungsmaßnahmen, referenziert die jeweiligen Git-Commits und benennt die zugehörigen automatisierten Regressionstests. Abschnitt 5 dokumentiert die Formaterweiterung Carrier V2 (Paged Manifest) aus v0.9.0, Abschnitt 6 die Minor Issues aus v0.9.1, Abschnitt 7 den Recovery-MAC-Fix (R-NEW-1) aus v0.9.2, Abschnitt 8 die Supply-Chain- und Secret-Audits aus v0.9.3 und Abschnitt 9 die Format-V3 Systembindungshärtungen (F-01, F-02, F-03) aus v0.9.4.
|
||||
Dieses Dokument fasst alle 39 Findings aus drei umfassenden externen Sicherheitsaudits sowie nachfolgende Härtungen zusammen, dokumentiert die angewandten Härtungsmaßnahmen, referenziert die jeweiligen Git-Commits und benennt die zugehörigen automatisierten Regressionstests. Abschnitt 5 dokumentiert die Formaterweiterung Carrier V2 (Paged Manifest) aus v0.9.0, Abschnitt 6 die Minor Issues aus v0.9.1, Abschnitt 7 den Recovery-MAC-Fix (R-NEW-1) aus v0.9.2, Abschnitt 8 die Supply-Chain- und Secret-Audits aus v0.9.3, Abschnitt 9 die Format-V3 Systembindungshärtungen (F-01, F-02, F-03) aus v0.9.4 und Abschnitt 10 die Transcript-Versionierung und atomare Upgrade-Persistierung (F-04, F-05) aus v0.9.5.
|
||||
|
||||
---
|
||||
|
||||
## Audit-Zusammenfassung
|
||||
|
||||
- **Status:** Vollständig gehärtet & verifiziert
|
||||
- **Zielversion:** Sanctum v0.9.4 (Basis v0.9.3)
|
||||
- **Zielversion:** Sanctum v0.9.5 (Basis v0.9.4)
|
||||
- **Behobene Findings:** 39 / 39 (100%) Audit-Findings + R-NEW-1
|
||||
- **Quality Gates:** `cargo fmt --check` (100% sauber), `cargo clippy --all-targets -- -D warnings` (0 Warnungen), `cargo-deny` (100% ok), `gitleaks` (0 Leaks)
|
||||
- **Container-Format:** Container-Format V3 mit kanonischer Metadaten-Authentifizierung (HMAC-SHA256) beim Mount und Chunk-Replay-Schutz (Generation-gebundenes AAD).
|
||||
@@ -178,6 +178,15 @@ Dieses Dokument fasst alle 39 Findings aus drei umfassenden externen Sicherheits
|
||||
- Sowohl Slot 0 als auch Slot 1 werden konsistent auf `version = 3` aktualisiert, um Korruption in Dual-Vault-Szenarien auszuschließen.
|
||||
- Neuer Metadaten-MAC wird direkt im Upgrade-Lauf persistiert.
|
||||
|
||||
### 10. Sanctum v0.9.5 — Transcript-Version & Upgrade-MAC (F-04, F-05)
|
||||
- **Schließung des unbegrenzten LegacyValid-Rollback-Fensters (F-04, MEDIUM):**
|
||||
- Erweiterung des kanonischen HMAC-SHA256 Inputs um ein 4-Byte Transkript-Versionsfeld: `b"SANCTUM_META_V3\0" ‖ metadata_gen (LE64) ‖ transcript_ver (LE32) ‖ canonical`.
|
||||
- Strikte Verifikations-Kaskade: Container mit persistiertem `transcript_ver >= 2` lehnen alte 0.9.3-Transkripte kompromisslos als `Invalid` ab, wodurch ein nachträglicher Content-Rollback via Altdaten-Replay unmöglich wird.
|
||||
- Transparentes Rebind: Ältere Container (`NeedsTranscriptVer` aus v0.9.4 und `LegacyValid` aus v0.9.3) werden beim Mounten automatisch auf `transcript_ver = 2` angehoben.
|
||||
- **Atomare MAC-Persistierung & Zombie-Container-Reparatur (F-05, LOW / Verfügbarkeit):**
|
||||
- `upgrade_to_v3` persistiert den Metadaten-MAC (`transcript_ver = 2`, `gen = 1`) in derselben Transaktion vor dem Commit, wodurch Absturzfenster mit `version = 3` und `metadata_mac IS NULL` eliminiert sind.
|
||||
- Automatischer Reparaturpfad in `sanctum upgrade-format` für unvollständig migrierte Altsysteme, mit striktem Abbruch, falls `restore_nonce IS NOT NULL` gesetzt ist (Erhalt der F-02 Schutzgarantien).
|
||||
|
||||
---
|
||||
|
||||
## Verifikationsnachweis
|
||||
|
||||
Reference in New Issue
Block a user