CERT-запись
Оригинальное название: CERT record
Коротко
Тип DNS-записи для публикации сертификатов и ключей шифрования — X.509, PGP и других — с привязкой к доменному имени.
Что такое «CERT-запись»
Запись придумали ради простой мысли: раз DNS уже умеет быстро находить данные по имени, через него можно раздавать и криптографические ключи. Отправитель письма или клиент сервиса запрашивает CERT для нужного имени и получает сертификат без отдельного сервера ключей. Актуальная спецификация — RFC 4398, до неё был RFC 2538.
Из каких полей состоит
Запись содержит четыре части: тип сертификата, тег ключа, алгоритм и сами данные в base64. Тип показывает формат содержимого:
- PKIX — сертификат X.509, как у сайтов;
- PGP — открытый ключ OpenPGP;
- IPKIX и IPGP — не сам сертификат, а ссылка на место, где его можно скачать;
- SPKI и ACPKIX — более редкие форматы.
Пример записи
; ключ OpenPGP сотрудника, данные сокращены
alice.example.com. 3600 IN CERT PGP 0 0 (
mQINBGXk3J0BEADQkY5vZ9Q2... )
Нули в полях тега и алгоритма допустимы для типа PGP: эти сведения уже содержатся внутри самого ключа.
Почему почти не прижилась
Без подписи зоны запись мало что гарантирует: злоумышленник, подменивший DNS-ответ, подменит и сертификат. Смысл появляется только вместе с DNSSEC, который распространялся медленно. Кроме того, у каждой задачи со временем появилась своя, более узкая запись. Для TLS-сертификатов сервисов используется TLSA в рамках DANE, для ключей OpenPGP — отдельный тип OPENPGPKEY, для отпечатков SSH-ключей — SSHFP-запись.
На практике CERT можно встретить в некоторых старых корпоративных и научных системах. Для сайта, интернет-магазина или почты на своём домене она не нужна: сертификат сайта браузер получает при TLS-соединении и проверяет через цепочку центров сертификации, а не через DNS.

