Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 076

ASN.1

Revisado porCybersecurity entrepreneur & security researcher

¿Qué es ASN.1?

ASN.1Abstract Syntax Notation One: un estandar ITU-T (serie X.680) que describe estructuras de datos usadas en criptografia y telecomunicaciones de forma independiente del lenguaje.


ASN.1 (Abstract Syntax Notation One) es una notacion formal, definida en ITU-T X.680-X.681, para describir datos estructurados (enteros, secuencias, conjuntos, alternativas y tipos etiquetados) con independencia de cualquier lenguaje de programacion o CPU. El estandar complementario X.690 define las codificaciones binarias: BER (basica), CER, DER (distinguida), mientras que X.691 define PER (empaquetada). Cada elemento es un triple tag-length-value (TLV), razon por la cual un certificado X.509 es literalmente un SEQUENCE de TBSCertificate, signatureAlgorithm y signatureValue.

ASN.1 sustenta X.509/PKI, CMS/PKCS#7, PKCS#12, LDAP, Kerberos, SNMP y la senalizacion de telecomunicaciones (3GPP S1AP/NGAP, GSM MAP). DER importa para la seguridad: impone una unica codificacion canonica (longitud definida, enteros minimos, SET OF ordenado), de modo que una firma o un hash sobre una estructura ASN.1 es reproducible y no puede recodificarse en silencio. La permisividad de BER (longitudes indefinidas, etiquetas redundantes) es una fuente clasica de diferencias entre parsers (parser differentials) y trucos para eludir firmas.

Como el analisis del certificado ocurre antes de la autenticacion, los decodificadores ASN.1 son una superficie de ataque de alto valor. Fallos reales incluyen CVE-2016-2108 (corrupcion de memoria por "cero negativo" en un campo ANY de OpenSSL), CVE-2021-3712 (lectura fuera de limites en ASN1_STRINGs no terminados en NUL, que filtra memoria de claves) y CVE-2022-0778 (un bucle infinito alcanzable al analizar un certificado manipulado). Defensas: usar decodificadores seguros en memoria o reforzados con fuzzing, aplicar DER estricto y limitar la profundidad de anidamiento y la longitud.

flowchart LR
  S[ASN.1 schema in X.680] --> M[In-memory structure]
  M --> ENC{Encoding rules}
  ENC -->|DER canonical| D[Bytes for signing / PKI]
  ENC -->|BER permissive| B[Bytes - interop only]
  ENC -->|PER compact| P[Bytes for telecom links]
  D --> W[Wire / stored certificate]
  B --> W
  P --> W
  W --> DEC[TLV decoder]
  DEC --> V{Strict DER & bounds checks?}
  V -->|Yes| OK[Validated object]
  V -->|No| VULN[Parser differential / overflow / DoS]

Ejemplos

  1. 01

    Un certificado X.509 es un SEQUENCE de TBSCertificate, signatureAlgorithm y signatureValue, codificado en DER.

  2. 02

    Los mensajes S1AP de 3GPP entre un eNodeB y un MME se describen en ASN.1 y se codifican con PER.

Preguntas frecuentes

¿Qué es ASN.1?

Abstract Syntax Notation One: un estandar ITU-T (serie X.680) que describe estructuras de datos usadas en criptografia y telecomunicaciones de forma independiente del lenguaje. Pertenece a la categoría de Criptografía en ciberseguridad.

¿Qué significa ASN.1?

Abstract Syntax Notation One: un estandar ITU-T (serie X.680) que describe estructuras de datos usadas en criptografia y telecomunicaciones de forma independiente del lenguaje.

¿Cómo defenderse de ASN.1?

Las defensas contra ASN.1 combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.

¿Cuáles son otros nombres para ASN.1?

Nombres alternativos comunes: Abstract Syntax Notation One, X.680.

Términos relacionados