Files
sanctum/CHANGELOG.md
T
harald fb154c0d2e
Sanctum Release / Build & Release (Windows x86_64) (push) Canceled after 0s
docs(changelog): document v0.2.0 release changes
2026-09-08 10:51:58 +02:00

64 lines
4.7 KiB
Markdown

# Changelog
Alle nennenswerten Änderungen an diesem Projekt werden in dieser Datei dokumentiert.
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.2.0] - 2026-09-08
### Added
- **Transparente LZ4-Kompression**:
- `lz4_flex` Integration mit Frame-Format vor der AEAD-Verschlüsselung.
- Adaptiver Fallback: Chunks werden nur komprimiert, wenn mindestens 64 Bytes gespart werden.
- Transparente On-the-Fly Dekompression bei Leseoperationen.
- **Disaster Recovery & Integrität**:
- BIP-39 Mnemonic Seed Phrases (24 Wörter) für Master-Key Recovery.
- `sanctum recovery-key`: Export und Anzeige des BIP-39 Notfallschlüssels.
- `sanctum backup` & `sanctum restore`: Konsistente Online-Sicherungen via SQLite Backup API mit WAL-Flush.
- `sanctum verify`: Vollständige kryptografische Integritätsprüfung aller AEAD-Chunks und B-Tree-Validierung.
- **Windows Explorer Integration & Bedienkomfort**:
- `sanctum register` & `sanctum unregister`: Windows-Kontextmenü im Explorer (`HKCU\Software\Classes\.sanctum`, "In Sanctum öffnen", Icon-Zuordnung).
- Intelligente Erkennung freier Laufwerksbuchstaben (von Z: abwärts).
- Automatisches Öffnen des gemounteten Laufwerks im Windows Explorer.
- System-Tray Icon (`tray-icon`) im Windows Infobereich mit Status und schnellem Unmount.
- **Explorer Anti-Leak Shield & OpSec**:
- Windows Anti-Leak Filter: Blockiert `thumbs.db`, `desktop.ini`, `*.tmp`, Office-Lockfiles (`~$*`) und NTFS Alternative Data Streams (`:Zone.Identifier`).
- Activity Tracking & Inaktivitäts-Timeout: Automatischer Unmount bei Leerlauf.
- Windows Session Lock Monitor: Registrierung für `WTS_SESSION_LOCK` mit sicherem Auto-Unmount beim Sperren des PCs.
- **Storage Compaction & Anti-Forensics**:
- SQLite Incremental Auto-Vacuum (`PRAGMA auto_vacuum = INCREMENTAL;`) zur physikalischen Freigabe ungenutzter Dateiseiten an das Host-Dateisystem.
- Kryptografisches Chunk-Shredding: Chunks werden vor dem Löschen/Abschneiden mit CSPRNG-Zufallsrauschen überschrieben.
- `sanctum compact`: Manuelles oder beim Aushängen automatisches Freigeben von Freelist-Pages.
- Plausible Deniability (Hidden Vault): Dual-Slot Header-Architektur. Unbenutzte Slots enthalten ununterscheidbares CSPRNG-Rauschen.
- `sanctum init --with-hidden`: Erstellung zweier getrennter Safes (Decoy & Hidden) mit individuellen Passphrasen und BIP-39 Recovery-Karten.
- Vollständige Dateinamen-Verschlüsselung für den Hidden Vault.
- **Passwort-Verwaltung (`sanctum passwd`)**:
- Sofortiges Ändern des Master-Passworts über DEK-Rewrapping mit neuem Argon2id-Salt und KEK-Parametern ohne Neuverschlüsselung der Nutzdaten. Multi-Slot fähig.
## [0.1.0] - 2026-09-07
### Added
- **Sanctum CLI (`sanctum.exe`)**: Eigenständige, hochperformante Userland-Anwendung zur Verwaltung verschlüsselter Ein-Datei-Container unter Windows 10/11.
- **Kryptografie & Schlüsselableitung**:
- Argon2id KDF ($M=64\,\text{MB}, T=3, P=4$) zur Ableitung des KEK aus dem Master-Passwort.
- AES-256-GCM DEK-Wrapping mit Nonce und Authentifizierungs-Tag.
- 1-MB Chunk AEAD-Verschlüsselung mit AAD (`node_id || chunk_index`) zum vollständigen Schutz gegen Swap- und Block-Vertauschungsangriffe.
- Speichersicherheit: Verwendung von `zeroize::Zeroizing` für sensible kryptografische Schlüssel im RAM.
- **Speicherschicht**:
- SQLite3-Container im WAL-Modus (`PRAGMA journal_mode = WAL;`, `PRAGMA synchronous = NORMAL;`, `PRAGMA page_size = 8192;`).
- Automatische Checkpoints (`PRAGMA wal_checkpoint(TRUNCATE)`).
- Dynamisches Wachstum bis über 100 GB in exakt einer Host-Datei (`.sanctum`).
- **WebDAV & Windows Explorer Integration**:
- Eingebetteter WebDAV-Server auf `127.0.0.1` (`dav-server` + `hyper`).
- Automatisches Einhängen über Windows-Bordmittel (`net use <DRIVE>: http://127.0.0.1:<PORT>/ /persistent:no`) ohne Administratorrechte und ohne Treiber (kein WinFsp, kein Dokan).
- Volle Unterstützung für `DavFileSystem`, `DavFile`, Metadaten und `symlink_metadata` für WebDAV MOVE/Rename-Operationen im Explorer.
- Saubere URL-Decodierung bei Pfaden mit Leerzeichen, Kommas und Umlauten.
- **CLI & UX**:
- Automatische Windows-Konsolen-Initialisierung auf UTF-8 (`CP 65001`) und Virtual Terminal Processing.
- Strukturierte Statusausgabe (`init`, `mount`, `unmount`) mit Status-Boxen und Fortschrittsanzeige.
- Automatischer Shutdown-Handler (`Ctrl+C`) mit sicherem Aushängen des Netzlaufwerks und WAL-Checkpointing.
- **Release Management**:
- Automatisches Packaging-Skript `scripts/package-release.ps1` mit SHA-256 Checksummen.
- Gitea Actions CI/CD Pipeline (`.gitea/workflows/release.yaml`).