Un scanner ou un collègue pointe le nombre de bits imprimé dans un fichier de clé statique OpenVPN et demande pourquoi le tunnel n’utilise pas un chiffrement de cette taille. La question paraît raisonnable, et la réponse n’est pas un nombre : la bannière compte le matériel de clé stocké, tandis qu’un chiffrement ne consomme que la portion qu’exige la taille de sa clé. Traiter ce total comme un réglage de force mène à des modifications qui ne changent rien. Le format a été conçu pour contenir plus de matériel qu’aucun algorithme ne consomme à lui seul.

Deux questions se mélangent ici : quelle quantité de matériel de clé le fichier stocke, et quelle est la force du chiffrement négocié. Seule la seconde décrit le tunnel.

Ce que le nombre de la bannière compte réellement

Le conteneur sérialise le matériel de chiffrement et le matériel HMAC en structures distinctes, et la forme bidirectionnelle en contient deux jeux afin que chaque direction porte ses propres clés. Le code d’écriture dérive le nombre imprimé du nombre de structures sérialisées, de leur taille et de huit bits par octet. C’est de l’arithmétique sur le stockage, non l’affirmation qu’un chiffrement consomme chaque octet stocké. L’en-tête fixe aussi une allocation maximale de matériel de chiffrement pour qu’une modification de bibliothèque ne puisse pas redimensionner le format en silence.

Comparez cela à une clé de certificat, où le nombre de bits décrit bien la taille d’un objet. Une clé RSA de 4,096 bits et un fichier de clé dont la bannière indique 4,096 bits sont des artefacts différents aux tâches différentes, et les aligner comme deux réglages d’un même cadran produit de mauvaises conclusions.

Deux jeux de clés dans un seul fichier

Chaque moitié du fichier fournit du matériel de chiffrement et d’authentification, car le mode à clé prépartagée protège les paquets dans les deux sens avec ces pièces séparées. Le chiffrement actif n’utilise que les octets qu’exige la taille de sa clé, et le condensat utilise sa propre taille de sortie, c’est pourquoi la force exploitable vient des options et non de la longueur du fichier. Allonger le bloc hexadécimal ne demande pas à l’algorithme configuré d’en consommer davantage. Modifier le commentaire avec un plus grand nombre change encore moins.

Si vous voulez vraiment une clé plus longue, le réglage à changer est le chiffrement ou le condensat, et le générateur produit ce dont les algorithmes choisis ont besoin.

Lire le profil vous dit quel mode vous avez

Le même format de fichier sert deux tâches fort différentes, et seul le profil dit laquelle vous avez. Une ancienne ligne secret fait du fichier l’unique matériel de clé du tunnel, tandis qu’une ligne tls-auth ou tls-crypt en fait une protection du canal de contrôle aux côtés des certificats. Ni l’un ni l’autre usage ne le transforme en clé privée de certificat client, quelle que soit la ressemblance du bloc. Identifiez l’option et la version avant de générer un remplacement, et utilisez le générateur documenté plutôt que d’ajouter des caractères.

Cette distinction décide aussi de la réaction à une exposition. Une clé tls-auth qui fuit n’expose pas les clés de session, mais elle permet à un attaquant d’injecter du trafic dans le canal de contrôle, donc elle doit tout de même être remplacée. Une clé secret divulguée est pire, car elle était le matériel qui protégeait les données elles-mêmes.

Ce qu’un audit de sécurité devrait consigner

Consignez trois choses séparément : la protection négociée du canal de données, la protection du canal de contrôle et la manière dont les pairs s’authentifient. Une ligne comme data-ciphers AES-256-GCM ne décrit que la première, et un rapport qui s’arrête là ne peut pas dire si le canal de contrôle est protégé. Le fichier de clé statique relève de la seconde catégorie lorsqu’il est utilisé avec tls-auth ou tls-crypt, et d’aucune lorsqu’il ne l’est pas. Les auditeurs qui confondent les catégories réclament un fichier de clé plus gros alors qu’ils veulent un chiffrement plus fort.

Si le fichier a été exposé, faites-le tourner et redistribuez-le par le canal approuvé. Ajouter des caractères à un secret compromis n’est pas une rotation, et cela laisse le matériel exposé valide.

Conservez la trace de rotation avec le profil auquel elle appartient. Le prochain audit demandera quelle clé a protégé quelle période, et la bannière ne répondra pas à cela.

Articles similaires