Aller au contenu

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)