Gestion des clés
DER : Distinguished Encoding Rules. « Règles d'encodage distinguées », par analogie avec le protocole militaire qui n'autorise qu'une seule façon de plier un drapeau, là où le civil en tolère mille.
Forme canonique : DER est un sous-ensemble de BER qui n'autorise qu'un encodage binaire pour une valeur ASN donnée : longueurs définies et minimales, ordre imposé, aucune variante. Deux implémentations honnêtes produisent les mêmes octets.
Usages : Les certificats X.509, les CSR et de nombreuses structures PKCS sont signés sous leur forme DER. Un fichier PEM n'est rien d'autre que du DER encodé en base64 entre deux lignes d'en-tête.
Pourquoi l'unicité : Une signature porte sur des octets, pas sur des intentions. Si une même valeur pouvait s'écrire de plusieurs façons, on vérifierait des octets et on croirait vérifier un sens, ce qui est la définition exacte de la naïveté.
Parseurs laxistes : Un décodeur qui accepte du BER là où le DER est exigé rouvre la malléabilité : deux lecteurs peuvent interpréter différemment la même structure, ou une signature réécrite rester valide.
Ce qui arrive si on s'en passe
Sans encodage canonique, une même structure peut être écrite de plusieurs façons valides. Les empreintes calculées sur ces variantes diffèrent, si bien qu'une comparaison, un cache ou une liste de blocage fondés sur les octets peuvent être contournés par un simple réencodage. Deux logiciels peuvent aussi lire différemment une même structure ambiguë, et prendre des décisions opposées sur un même certificat. Pour des signatures, la tolérance aux encodages non canoniques permet de produire une variante différente d'une signature existante, toujours valide. Exiger un décodage strict là où la norme impose la forme canonique, et rejeter tout le reste, supprime ces écarts.
Explication de la marmotte
Quand un ordinateur doit enregistrer une information structurée, comme une carte d'identité numérique, il la transforme en une suite de zéros et de uns. Selon les règles de base, la même carte pourrait s'écrire de plusieurs manières légèrement différentes. Ces règles-ci imposent une seule écriture possible, toujours la même, octet pour octet. C'est indispensable quand on veut signer la carte : la signature vérifie des octets précis, et si l'écriture pouvait varier, deux copies identiques en apparence ne passeraient pas le même contrôle.
Où ce terme est utilisé
- Courbes elliptiques : compacité, validation et pièges (5 occurrences)
- Formats, bibliothèques et API : rendre la crypto utilisable (3 occurrences)
- Relier une clé à une identité: certificats et PKI (3 occurrences)
- Choisir ECDSA, EdDSA ou RSA pour un certificat TLS (2 occurrences)
- Installer SoftHSM v2 sur Debian/Ubuntu pour un laboratoire PKCS#11 (2 occurrences)
- JWS : signer et sécuriser vos échanges JSON (2 occurrences)
- Créer, vérifier et utiliser les clés dès le départ (1 occurrence)
