Цифровой сертификат открытого ключа
Цифровой сертификат открытого ключа — это электронный документ, удостоверяющий принадлежность определённого открытого ключа конкретному субъекту (физическому или юридическому лицу, устройству, программному компоненту). Сертификат содержит данные о владельце, его открытый ключ, информацию об удостоверяющем центре, выдавшем сертификат, срок действия, а также цифровую подпись удостоверяющего центра, подтверждающую подлинность всех этих сведений. Сертификаты являются фундаментальным элементом инфраструктуры открытых ключей (PKI) и используются для обеспечения аутентификации, шифрования и целостности данных в компьютерных сетях, включая Интернет.
История
Концепция цифровых сертификатов возникла как решение проблемы безопасного обмена открытыми ключами в асимметричной криптографии. В 1976 году Уитфилд Диффи и Мартин Хеллман опубликовали работу, заложившую основы криптографии с открытым ключом, однако практическая реализация требовала механизма доверия к публикуемым ключам. В 1978 году Лорен Кан, Стивен Кент и Дэвид Чам предложили идею сертификата как подписанного документа, связывающего ключ с личностью.
В 1980-х годах развитие получила иерархическая модель PKI, где доверие передаётся от корневого удостоверяющего центра (CA) к нижестоящим. Первым широко внедрённым стандартом стал X.509, разработанный Международным союзом электросвязи (ITU-T) в 1988 году. В 1990-х годах, с ростом коммерческого Интернета и электронной коммерции, сертификаты стали массово использоваться для защиты веб-трафика (протокол HTTPS). Компания Netscape Communications в 1994 году внедрила протокол SSL, для которого сертификаты стали обязательным компонентом.
В России развитие инфраструктуры цифровых сертификатов регулируется Федеральным законом № 63-ФЗ «Об электронной подписи» (2011 год), который устанавливает правовой статус квалифицированных сертификатов ключей проверки электронной подписи, выдаваемых аккредитованными удостоверяющими центрами.
Структура и формат
Наиболее распространённым форматом цифровых сертификатов является стандарт X.509 версии 3 (ITU-T X.509 | ISO/IEC 9594-8). Сертификат X.509 содержит следующие обязательные и опциональные поля:
- Версия — номер версии стандарта (обычно v3).
- Серийный номер — уникальный целочисленный идентификатор, присваиваемый удостоверяющим центром.
- Алгоритм подписи — идентификатор алгоритма, используемого для создания цифровой подписи сертификата (например, sha256WithRSAEncryption).
- Издатель — имя удостоверяющего центра, выдавшего сертификат (в формате Distinguished Name, DN).
- Период действия — дата и время начала и окончания срока действия сертификата.
- Субъект — имя владельца сертификата (DN).
- Открытый ключ — сам открытый ключ владельца и идентификатор алгоритма, для которого он предназначен (например, RSA, ECDSA).
- Уникальные идентификаторы (опционально) — для издателя и субъекта.
- Расширения (v3) — дополнительные поля, определяющие область применения сертификата и ограничения. Ключевые расширения включают:
- Basic Constraints — указывает, является ли субъект удостоверяющим центром.
- Key Usage — определяет назначение ключа (цифровая подпись, шифрование ключей, шифрование данных и т.д.).
- Extended Key Usage — уточняет сценарии использования (серверная аутентификация, клиентская аутентификация, подпись кода).
- Subject Alternative Name (SAN) — список альтернативных имён (доменные имена, IP-адреса, email-адреса), для которых действителен сертификат.
- Цифровая подпись — подпись, созданная удостоверяющим центром над всеми предыдущими полями, гарантирующая их целостность и подлинность.
Сертификаты хранятся и передаются в закодированном виде, чаще всего в форматах DER (двоичный) или PEM (Base64-кодированный).
Типы цифровых сертификатов
По области применения и уровню проверки выделяют несколько основных типов:
- Сертификаты серверов (TLS/SSL) — используются для аутентификации веб-сайтов и установления защищённого соединения (HTTPS). Подразделяются на:
- Сертификаты с проверкой домена (DV) — подтверждают только право владения доменом.
- Сертификаты с проверкой организации (OV) — дополнительно проверяют юридическое лицо.
- Сертификаты с расширенной проверкой (EV) — требуют наиболее строгой проверки организации, отображают зелёную строку в браузере (до 2020-х годов).
- Сертификаты клиентов — удостоверяют личность пользователя или устройства при подключении к серверу.
- Сертификаты подписи кода — используются разработчиками для цифровой подписи программного обеспечения, гарантируя его происхождение и целостность.
- Сертификаты электронной подписи — в рамках российского законодательства делятся на:
- Квалифицированные сертификаты — выдаются аккредитованными удостоверяющими центрами, соответствуют требованиям 63-ФЗ, имеют юридическую силу, приравненную к собственноручной подписи.
- Неквалифицированные сертификаты — выдаются без аккредитации, имеют ограниченную юридическую силу.
- Сертификаты удостоверяющих центров (корневые и промежуточные) — используются для подписи других сертификатов, образуя цепочки доверия.
Инфраструктура открытых ключей (PKI)
Цифровые сертификаты функционируют в рамках PKI — системы, включающей политики, процедуры, аппаратные и программные средства, а также участников. Основные компоненты PKI:
- Удостоверяющий центр (CA) — организация, выпускающая и подписывающая сертификаты. CA проверяет личность заявителя перед выдачей. В России аккредитованные CA (например, Минцифры, «Аналитический центр» и другие) выдают квалифицированные сертификаты.
- Регистрационный центр (RA) — выполняет функции проверки личности заявителя, но не подписывает сертификаты.
- Репозиторий сертификатов — хранилище, где публикуются действительные сертификаты и списки отозванных сертификатов (CRL).
- Список отзыва сертификатов (CRL) — периодически обновляемый список серийных номеров сертификатов, которые были отозваны до истечения срока действия (например, при компрометации закрытого ключа).
- Протокол онлайн-проверки статуса сертификата (OCSP) — позволяет в реальном времени проверить, не отозван ли сертификат, без загрузки полного CRL.
- Владелец сертификата — субъект, которому сертификат выдан.
- Проверяющая сторона — сторона, которая доверяет сертификату и использует его для аутентификации или шифрования.
Процесс выдачи и проверки
Выдача сертификата включает следующие этапы:
- Генерация ключевой пары (открытый и закрытый ключи) владельцем или CA.
- Формирование запроса на сертификат (CSR — Certificate Signing Request), содержащего открытый ключ и информацию о владельце.
- Проверка личности заявителя регистрационным центром или CA.
- Создание и подпись сертификата CA.
- Передача сертификата владельцу и публикация в репозитории.
Проверка сертификата получателем включает:
- Проверку цифровой подписи CA.
- Проверку срока действия.
- Проверку статуса отзыва (через CRL или OCSP).
- Проверку соответствия имени субъекта (например, доменного имени) ожидаемому.
- Проверку цепочки сертификатов до доверенного корневого CA.
Применение
Цифровые сертификаты открытого ключа используются в широком спектре приложений:
- Защита веб-трафика — протоколы HTTPS, SMTPS, IMAPS, POP3S.
- Электронная почта — подпись и шифрование сообщений (S/MIME, PGP).
- Удалённый доступ — аутентификация в VPN (IPsec, OpenVPN), протокол SSH.
- Электронный документооборот — подписание юридически значимых документов.
- Подпись программного обеспечения — гарантия подлинности и целостности приложений.
- Интернет вещей (IoT) — аутентификация устройств и защита каналов связи.
- Электронные государственные услуги — в России сертификаты используются для доступа к порталу «Госуслуги», подписания налоговой отчётности и других государственных процедур.
Критика и проблемы
Несмотря на широкое распространение, система цифровых сертификатов имеет ряд недостатков:
- Зависимость от CA — компрометация удостоверяющего центра (например, взлом или выдача сертификатов мошенникам) может подорвать доверие ко всей цепочке. Известны случаи, такие как взлом CA DigiNotar в 2011 году.
- Сложность управления — для организаций поддержание PKI требует значительных ресурсов, включая обновление CRL и управление сроками действия.
- Уязвимости реализации — ошибки в программном обеспечении (например, Heartbleed в OpenSSL) могут позволить злоумышленникам получить доступ к закрытым ключам.
- Стоимость — выпуск сертификатов, особенно с расширенной проверкой, может быть платным.
- Проблемы с отзывом — механизмы CRL и OCSP не всегда работают оперативно, что может привести к использованию скомпрометированных сертификатов.
- Централизация — модель иерархического доверия критикуется за концентрацию власти в руках нескольких корневых CA, что создаёт единые точки отказа.
Альтернативы и развитие
В ответ на недостатки традиционной PKI разрабатываются альтернативные подходы:
- Децентрализованная PKI — на основе технологии блокчейн (например, Namecoin, CertCoin), где записи о сертификатах хранятся распределённо.
- Модель доверия «веб доверия» (Web of Trust) — используется в PGP, где доверие устанавливается через взаимную подпись сертификатов пользователями.
- Автоматизированное управление сертификатами — протокол ACME (Automated Certificate Management Environment), используемый Let’s Encrypt, позволяет автоматически выпускать и обновлять сертификаты без участия человека, снижая затраты и повышая безопасность.
- Квантово-устойчивые сертификаты — разработка алгоритмов и сертификатов, устойчивых к атакам квантовых компьютеров.
Интересные факты
- Первый в мире коммерческий удостоверяющий центр — VeriSign (основан в 1995 году).
- Крупнейший бесплатный CA — Let’s Encrypt (запущен в 2016 году), выдавший более 300 миллионов сертификатов.
- В России сертификаты для государственных информационных систем выпускаются с использованием ГОСТ-алгоритмов (ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012).
- Стандарт X.509 изначально разрабатывался для каталогов X.500, но впоследствии был адаптирован для Интернета.
Источники
- RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile.
- ITU-T Recommendation X.509 (10/2019): Information technology — Open systems interconnection — The Directory: Public-key and attribute certificate frameworks.
- Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи».
- Schneier B. Applied Cryptography: Protocols, Algorithms, and Source Code in C. — 2nd ed. — Wiley, 1996.
- Ferguson N., Schneier B., Kohno T. Cryptography Engineering: Design Principles and Practical Applications. — Wiley, 2010.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →