Le chiffrement masque les octets ; l'authentification les prouve
La confidentialité et l'intégrité sont des propriétés distinctes, et il est possible d'avoir la première sans la seconde. Un chiffrement qui ne fait que dissimuler des données déchiffrera tout ce qu'on lui remet — y compris les octets qu'un attaquant a modifiés en chemin — et remettra le résultat à l'application comme si de rien n'était.
Le chiffrement authentifié comble cette lacune. À côté du texte chiffré, il produit une étiquette d'authentification, et le déchiffrement échoue purement quand l'étiquette ne correspond pas. Pour un coffre, cela compte plus qu'il n'y paraît : l'alternative est d'afficher silencieusement un fichier manipulé.
Ce qu'AES-GCM combine réellement
AES-GCM est une construction établie qui fournit les deux propriétés à la fois. Il chiffre avec AES en mode compteur et calcule une étiquette d'authentification sur le texte chiffré, de sorte qu'une seule opération offre la confidentialité et la détection d'altération.
La construction ne vaut que ses entrées. Elle dépend d'un nonce unique pour chaque chiffrement sous une clé donnée, et de la dérivation et du stockage corrects de cette clé. Ni l'un ni l'autre n'est impliqué par le simple nom de l'algorithme.
Pourquoi la gestion des nonces est le mode de défaillance silencieux
Un nonce est une valeur qui ne doit jamais se répéter pour la même clé. En réutiliser un dans une construction en mode compteur sape les garanties que le mode est censé fournir et peut exposer des relations entre les enregistrements chiffrés.
C'est un détail d'implémentation qu'aucune fiche de boutique ne mentionnera, et c'est l'une des façons les plus courantes dont une conception par ailleurs standard tourne mal. C'est une question juste à poser à tout coffre qui publie de la documentation technique.
La dérivation de clés et le stockage de clés sont des contrôles distincts
Dériver une clé de ce que vous tapez est un problème ; garder cette clé dérivée en sécurité pendant que l'app est fermée en est un autre. Un coffre peut bien faire le premier et mal faire le second.
Traitez-les comme deux questions avec deux réponses : quelle fonction transforme l'identifiant en matériel de clé et à quel coût, et où vit la clé résultante entre les sessions. Les magasins de clés de plateforme existent précisément pour répondre à la seconde.
Ce qu'il faut chercher dans la documentation
- Une construction de chiffrement authentifié nommée, pas seulement une taille de clé.
- Une déclaration sur l'unicité du nonce par chiffrement.
- Si les noms de fichiers et les métadonnées sont protégés en plus du corps des fichiers.
- La dérivation de clés et le stockage de clés décrits comme des mécanismes distincts.
- Un échec clair en cas de non-correspondance d'authentification, plutôt qu'un affichage partiel ou au mieux.
Lire les affirmations avec esprit critique
- Assimiler une étiquette de clé de 256 bits à une conception complète.
- Ignorer la gestion des nonces parce que l'algorithme est standard.
- Supposer que le chiffrement authentifié protège un écran déverrouillé — ce n'est pas le cas.
Ce que l'authentification ne couvre pas
La détection d'altération s'applique aux enregistrements que le coffre gère. Elle ne dit rien sur les copies qui ont quitté le coffre, sur un système d'exploitation compromis qui observe le résultat déchiffré, ni sur quelqu'un qui lit l'écran pendant que le fichier est ouvert.
Le chiffrement authentifié est une garantie sur les données stockées au repos. C'est une garantie forte, et étroite.
Leo commence par un test non sensible : « Cherche une construction de chiffrement authentifié nommée dans la documentation technique ». Ensuite, Leo suit la deuxième vérification : « Vérifie si les noms de fichiers et les métadonnées sont protégés en plus du corps des fichiers ». Ce scénario fictif illustre le processus de décision ; ce n'est pas un compte rendu de tests de produit.
- Assimiler une étiquette de clé de 256 bits à une conception complète
- Ignorer la gestion des nonces
- Supposer que le chiffrement protège un écran déverrouillé
AES-GCM empêche-t-il la suppression ?
Non. Il protège la confidentialité et l'intégrité, pas la disponibilité.
Authentification signifie-t-elle connexion utilisateur ?
Ici cela signifie authentification d'intégrité cryptographique, pas connexion à un compte.