Documentation sur le chiffrement
Application Hlam (hlam.app) · mise à jour le 22 juillet 2026 · support@hlam.app
Ce document décrit la cryptographie utilisée par l'application mobile Hlam. Il est publié par souci de transparence et à l'appui des déclarations de conformité à l'exportation (Apple App Store, ANSSI française et Export Administration Regulations des États-Unis). Hlam n'utilise que des algorithmes de chiffrement standard et publiés — aucune cryptographie propriétaire ou non standard.
1. Vue d'ensemble
Hlam chiffre l'inventaire des utilisateurs de bout en bout. Le contenu est chiffré sur l'appareil de l'utilisateur avant d'en sortir, et le serveur ne conserve que du texte chiffré : il ne peut pas lire les données. Le chiffrement sert uniquement à protéger les données propres de l'utilisateur (confidentialité et intégrité). Hlam n'est pas un produit cryptographique et ne fournit aucune fonction de chiffrement à des tiers.
2. Algorithmes
| Usage | Algorithme | Paramètres | Norme |
|---|---|---|---|
| Confidentialité et intégrité des données | AES-GCM (chiffrement authentifié) | Clé de 256 bits · nonce aléatoire de 96 bits par message · balise d'authentification de 128 bits | NIST FIPS 197 (AES) · NIST SP 800-38D (GCM) |
| Dérivation de clé (récupération) | Argon2id (KDF à forte empreinte mémoire) | Dérive une clé de chiffrement de clé (KEK) de 256 bits à partir de la phrase de récupération et d'un sel propre à l'utilisateur | RFC 9106 |
| Phrase de récupération | Mnémonique BIP-39 (liste de mots anglaise) | 12 mots · 128 bits d'entropie + somme de contrôle SHA-256 | SHA-256 : NIST FIPS 180-4 |
| Transport | TLS / HTTPS | Fourni par le système d'exploitation (iOS / Android) | IETF TLS 1.2+ |
3. Gestion des clés
- Clé de chiffrement des données (DEK) : une clé de 256 bits générée sur l'appareil à partir d'une source aléatoire cryptographiquement sûre. Chaque compte possède sa propre DEK. Tout le contenu de l'utilisateur est chiffré sous la DEK avec AES-256-GCM.
- Stockage local de la DEK : la DEK réside dans le magasin sécurisé de la plateforme — le Trousseau iOS ou le Keystore Android.
- Clé de chiffrement de clé (KEK) : pour permettre la récupération des données sur un nouvel appareil, la DEK est enveloppée (chiffrée) sous une KEK de 256 bits. La KEK est dérivée sur l'appareil avec Argon2id à partir de la phrase de récupération BIP-39 de 12 mots et d'un sel propre à l'utilisateur. La KEK ne quitte jamais l'appareil.
- Dépôt côté serveur : le serveur ne stocke que la DEK enveloppée (sous forme de texte chiffré) accompagnée de son nonce. Il ne reçoit jamais la phrase de récupération, la KEK ni la DEK en clair, et ne peut donc pas déchiffrer les données de l'utilisateur.
4. Mise en œuvre
Le chiffrement au niveau applicatif (AES-256-GCM, Argon2id, BIP-39) s'appuie sur la bibliothèque cryptographique open source PointyCastle pour Dart. Il s'agit d'algorithmes standard et publiquement documentés. L'application n'implémente aucun algorithme cryptographique secret ou propriétaire. La sécurité du transport (TLS) est assurée par le système d'exploitation.
5. Classification à l'exportation
Parce que Hlam n'utilise que des algorithmes de chiffrement standard et publiés pour protéger les données propres de l'utilisateur, et ne fournit aucune fonctionnalité cryptographique à des tiers, il constitue une application grand public au sens de la catégorie 5, partie 2 de l'EAR des États-Unis et du régime français équivalent pour les moyens cryptographiques standard. L'éditeur reste responsable du dépôt des déclarations requises (par exemple un rapport d'auto-classification auprès du BIS américain et une déclaration à l'ANSSI française, le cas échéant). Cette page est une documentation technique, non un conseil juridique.
6. Contact
Questions sur ce document : support@hlam.app.