Aller au contenu principal

Annexe B. Attentes DER

Annexe B. Attentes DER

Cette annexe est informative. Consultez les normes respectives pour les règles normatives.

DER est un profil restreint de BER [X.690]; ainsi, tous les encodages DER de valeurs de données sont des encodages BER, mais seulement l'un des encodages BER est l'encodage DER pour une valeur de données. L'encodage canonique compte lors de l'exécution d'opérations cryptographiques; de plus, l'encodage canonique a certains avantages d'efficacité pour les analyseurs. Il y a trois raisons principales d'encoder avec DER:

  1. Une signature numérique est (censée être) calculée sur l'encodage DER du contenu sémantique, donc fournir autre chose que l'encodage DER n'a pas de sens. (En pratique, un implémenteur peut choisir de faire analyser et digérer les données telles quelles par une implémentation, mais cette pratique équivaut à de la devinette.)

  2. En pratique, les hachages cryptographiques sont calculés sur l'encodage DER pour l'identification.

  3. En pratique, le contenu est petit. DER encode toujours les valeurs de données sous forme de longueur définie (où la longueur est indiquée au début de l'encodage); ainsi, un analyseur peut anticiper l'utilisation de la mémoire ou des ressources à l'avance.

La Figure 20 fait correspondre les structures dans ce document avec les raisons particulières de l'encodage DER:

Sec.LabelRaisons
5CERTIFICATE1 2 ~3
6X509 CRL1
7CERTIFICATE REQUEST1 ~3
8PKCS7*
9CMS*
10PRIVATE KEY3
11ENCRYPTED PRIVATE KEY3
12ATTRIBUTE CERTIFICATE1 ~3
13PUBLIC KEY2 3

Figure 20: Guide pour l'Encodage DER

* La Syntaxe de Message Cryptographique est conçue pour du contenu de toute longueur; l'encodage de longueur indéfinie permet un traitement en un seul passage (streaming) lors de la génération de l'encodage. Seules certaines parties -- à savoir, les attributs signés et authentifiés -- doivent être encodées en DER.

~ Bien que non toujours "petites", ces structures encodées ne devraient pas être particulièrement "grandes" (par exemple, plus de 16 kilooctets). L'analyseur devrait être informé des grandes choses à l'avance dans tous les cas; c'est encore une autre raison d'encoder ces choses en DER en premier lieu.

Figure 20: Guide pour l'Encodage DER