Aller au contenu

ASN : Abstract Syntax Notation (ASN.1)

Gestion des clés

ASN : Abstract Syntax Notation One (ASN.1). « Notation de syntaxe abstraite », par analogie avec un plan d'architecte qui décrit les pièces d'une maison sans dire avec quelles briques la construire.

Rôle : ASN.1 décrit la forme de structures de données (champs, types, séquences, options) indépendamment du langage de programmation et de la machine. Les certificats X.509, les demandes de signature et nombre de formats PKCS sont définis ainsi.

Description et encodage : ASN.1 dit ce que contient une structure, pas comment l'écrire en octets. Ce travail revient aux règles d'encodage comme BER ou DER (Distinguished Encoding Rules), qui transforment la description en suite binaire transportable.

Parseurs : Décoder de l'ASN.1 arbitraire est un exercice délicat, et les parseurs maison ont fourni leur lot de failles. Vingt ans de PKI apprennent qu'un certificat mal formé trouve toujours le parseur écrit un vendredi après-midi.

Homonyme réseau : En routage, ASN désigne aussi l'Autonomous System Number, le numéro qui identifie un système autonome dans BGP (Border Gateway Protocol). Rien à voir avec ASN.1 : le contexte tranche.

Ce qui arrive si on s'en passe

Sans description ASN.1 ni règles d'encodage comme DER, chaque logiciel écrirait certificats et demandes de signature à sa façon, et deux implémentations ne s'entendraient plus sur le sens des mêmes octets. Le danger réel vient pourtant de ceux qui l'emploient mal : un parseur maison qui accepte des longueurs incohérentes ou des encodages ambigus lit ce que l'attaquant veut bien lui faire lire, et un certificat forgé passe la vérification ou fait tomber le service. La cryptographie la plus solide repose alors sur un décodeur écrit à la hâte, ce qui revient à blinder la porte d'un coffre dont les gonds sont en carton.

Explication de la marmotte

Quand deux ordinateurs très différents doivent échanger un document compliqué, comme une carte d'identité numérique, ils doivent d'abord se mettre d'accord sur sa forme : quelles cases il contient, dans quel ordre, et ce qu'on a le droit d'écrire dans chacune. Cette notation sert exactement à ça. C'est comme un formulaire administratif vierge décrit sur papier : il précise qu'il faut un nom, une date de naissance et une adresse, sans imposer la couleur de l'encre ni l'écriture. Une autre règle, séparée, explique ensuite comment remplir concrètement le formulaire pour l'envoyer.

Où ce terme est utilisé

← Tout le glossaire