Passa al contenuto principale

Appendix B. DER Expectations (Aspettative DER)

Appendix B. DER Expectations (Aspettative DER)

Questa appendice è informativa. Consultare i rispettivi standard per le regole normative.

DER è un profilo ristretto di BER [X.690]; pertanto, tutte le codifiche DER dei valori di dati sono codifiche BER, ma solo una delle codifiche BER è la codifica DER per un valore di dati. La codifica canonica è importante quando si eseguono operazioni crittografiche; inoltre, la codifica canonica ha alcuni vantaggi di efficienza per i parser. Ci sono tre ragioni principali per codificare con DER:

  1. Una firma digitale è (dovrebbe essere) calcolata sulla codifica DER del contenuto semantico, quindi fornire qualcosa di diverso dalla codifica DER è insensato. (In pratica, un implementatore potrebbe scegliere di avere un'implementazione che analizza e digerisce i dati così come sono, ma questa pratica equivale a indovinare.)

  2. In pratica, gli hash crittografici sono calcolati sulla codifica DER per l'identificazione.

  3. In pratica, il contenuto è piccolo. DER codifica sempre i valori di dati in forma di lunghezza definita (dove la lunghezza è dichiarata all'inizio della codifica); pertanto, un parser può anticipare l'uso di memoria o risorse in anticipo.

La Figura 20 abbina le strutture in questo documento con le ragioni particolari per la codifica DER:

                 Sez. Etichetta                  Ragioni
----+----------------------+-------
5 CERTIFICATE 1 2 ~3
6 X509 CRL 1
7 CERTIFICATE REQUEST 1 ~3
8 PKCS7 *
9 CMS *
10 PRIVATE KEY 3
11 ENCRYPTED PRIVATE KEY 3
12 ATTRIBUTE CERTIFICATE 1 ~3
13 PUBLIC KEY 2 3

Figura 20: Guida per la Codifica DER

* Cryptographic Message Syntax è progettato per contenuti di qualsiasi lunghezza; la codifica a lunghezza indefinita abilita l'elaborazione in un singolo passaggio (streaming) durante la generazione della codifica. Solo alcune parti - vale a dire, gli attributi firmati e autenticati - devono essere codificate in DER.

~ Sebbene non sempre "piccole", queste strutture codificate non dovrebbero essere particolarmente "grandi" (ad esempio, più di 16 kilobyte). Il parser dovrebbe essere informato in anticipo delle cose grandi in ogni caso; questa è un'altra ragione per codificare queste cose in DER in primo luogo.

Figura 20: Guida per la Codifica DER