ASN.1
Что такое ASN.1?
ASN.1Abstract Syntax Notation One — стандарт ITU-T серии X.680, описывающий структуры данных, применяемые в криптографии и телекоме, независимо от языка программирования.
ASN.1 — формальная нотация, определённая в ITU-T X.680 и X.681, для описания структурированных данных: целых чисел, последовательностей, множеств, выборов, тегированных типов. Стандарты X.690 задают двоичные кодировки: BER (базовая), CER, DER (различающая, повсеместно применяемая в PKI) и PER (компактная). ASN.1 лежит в основе сертификатов X.509, CMS/PKCS#7, PKCS#12, LDAP, Kerberos, SNMP и многих телеком-протоколов (сигнализация 3GPP, GSM MAP, S1AP). Так как DER обеспечивает единственную каноническую кодировку, подписи и хеши, вычисленные над структурами ASN.1, воспроизводимы. Ошибки в парсерах ASN.1 порождали известные уязвимости (CVE-2016-2108 в OpenSSL, CVE-2021-3711), поэтому критично использовать безопасные парсеры и строгий DER.
● Примеры
- 01
Сертификат X.509 — это SEQUENCE из TBSCertificate, signatureAlgorithm и signatureValue, закодированный в DER.
- 02
Сообщения S1AP 3GPP между eNodeB и MME описываются в ASN.1 и кодируются по PER.
● Частые вопросы
Что такое ASN.1?
Abstract Syntax Notation One — стандарт ITU-T серии X.680, описывающий структуры данных, применяемые в криптографии и телекоме, независимо от языка программирования. Относится к категории Криптография в кибербезопасности.
Что означает ASN.1?
Abstract Syntax Notation One — стандарт ITU-T серии X.680, описывающий структуры данных, применяемые в криптографии и телекоме, независимо от языка программирования.
Как работает ASN.1?
ASN.1 — формальная нотация, определённая в ITU-T X.680 и X.681, для описания структурированных данных: целых чисел, последовательностей, множеств, выборов, тегированных типов. Стандарты X.690 задают двоичные кодировки: BER (базовая), CER, DER (различающая, повсеместно применяемая в PKI) и PER (компактная). ASN.1 лежит в основе сертификатов X.509, CMS/PKCS#7, PKCS#12, LDAP, Kerberos, SNMP и многих телеком-протоколов (сигнализация 3GPP, GSM MAP, S1AP). Так как DER обеспечивает единственную каноническую кодировку, подписи и хеши, вычисленные над структурами ASN.1, воспроизводимы. Ошибки в парсерах ASN.1 порождали известные уязвимости (CVE-2016-2108 в OpenSSL, CVE-2021-3711), поэтому критично использовать безопасные парсеры и строгий DER.
Как защититься от ASN.1?
Защита от ASN.1 обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия ASN.1?
Распространённые альтернативные названия: Abstract Syntax Notation One, X.680.
● Связанные термины
- cryptography№ 831
PKCS#7
Бинарный формат для упаковки подписанных и/или зашифрованных данных, стандартизованный IETF как Cryptographic Message Syntax (CMS) в RFC 5652.
- cryptography№ 830
PKCS#12
Защищённый паролем файловый формат (.pfx / .p12), объединяющий закрытый ключ с цепочкой сертификатов; стандартизован в RFC 7292.
- cryptography№ 811
Формат PEM
Текстовое кодирование криптографических объектов (ключей, сертификатов, CRL), определённое в RFC 7468 — оно оборачивает Base64-представление DER строками BEGIN и END.
- identity-access№ 611
LDAP
Lightweight Directory Access Protocol — стандарт IETF для запроса и изменения иерархических служб каталогов поверх TCP/IP, обычно через порт 389 или 636 c TLS.
- identity-access№ 584
Kerberos
Сетевой протокол аутентификации на основе билетов, использующий симметричную криптографию и доверенный центр распределения ключей для безопасного единого входа.