Spécifications cryptographiques (mobile)¶
Vue d'ensemble¶
- Zero-Knowledge : chiffrement local, aucune donnée en clair transmise.
- Hiérarchie de clés : Argon2id → K_encryption → Master Envelope (AES-256-GCM) → HKDF-SHA3-256 pour K_doc / K_share / K_encryption_files.
- Domain separation : contextes dédiés par usage (doc_id, share_id, etc.).
- Résilience : SHA3-256, Argon2id (64 MiB, t=3, p=4), rotation password sans régénérer K_master (re-chiffrement envelope).
- Stockage secret : SecureStore/Keychain pour les secrets, AsyncStorage/FS chiffré pour le reste.
Hiérarchie des clés¶
Password (user) --Argon2id--> K_encryption (32B)
K_encryption --AES-GCM--> Master Envelope → K_master_user
HKDF-SHA3-256(K_master_user, context) → K_doc / K_share / K_encryption_files
- Niveau 1 : Password → Argon2id (64 MiB, 3 itérations, p=4, 32 bytes).
- Niveau 2 : K_encryption chiffre l’enveloppe maître (AES-256-GCM).
- Niveau 3 : K_master_user source unique pour toutes les dérivations.
- Niveau 4 : HKDF-SHA3-256 avec séparation de domaine.
Paramètres KDF (OWASP 2024)¶
- Algorithme : Argon2id
- Memory : 64 MiB
- Iterations : 3
- Parallelism : 4
- Output : 32 bytes
- Associated Data :
ProbatioVault_Encryption_v1
Migrations et compatibilité¶
- Historique V2 → V3 → V4 : voir
refs/crypto-migrations.md(CBC → GCM → GCM + Argon2id + SHA3-256). - Les migrations sont automatiques à la prochaine ouverture de coffre (V2/V3 → V4).
Références associées¶
- Dérivation hiérarchique détaillée :
epics/34.md - Formulaires/Formats :
refs/formats.md(stub, voir backend/infra) - Preuve/Conformité :
refs/compliance.md(stub, voir infra)