Сертификат открытого ключа ЭЦП
Общее описание
Сертификат открытого ключа, или просто сертификат, — это цифровой документ, удостоверяющий принадлежность открытого ключа конкретному субъекту (пользователю, организации, серверу и т.д.). Он используется в системах асимметричной криптографии для обеспечения:
- аутентификации;
- целостности данных;
- доверия между участниками обмена информацией.
Сертификат подписан удостоверяющим центром (УЦ), что позволяет проверить его подлинность. В России сертификаты могут быть выданы как государственными УЦ (например, Минцифры), так и коммерческими (Контур, СКБ Контур, Код безопасности и др.).
Основные понятия
1. Открытый ключ
- Используется для:
- шифрования данных (только соответствующий закрытый ключ может их расшифровать);
- проверки электронной подписи (подписанной соответствующим закрытым ключом).
- Может свободно распространяться.
2. Сертификат X.509
- Стандарт описания формата цифровых сертификатов.
- Версии: v1, v2, v3 (наиболее распространённая).
3. Удостоверяющий центр (УЦ)
- Организация, выпускающая и подписывающая сертификаты.
- Примеры:
- Государственные: УЦ Минцифры РФ, УЦ ФСБ
- Коммерческие: Контур, СКБ Контур, Код безопасности, Актив
Структура сертификата X.509
Поле |
Описание |
Version |
Версия сертификата (v1, v2, v3) |
Serial Number |
Уникальный номер сертификата |
Signature Algorithm |
Алгоритм подписи (RSA, ECDSA, ГОСТ Р 34.10) |
Issuer |
Имя удостоверяющего центра |
Validity |
Период действия: Not Before / Not After |
Subject |
Имя владельца сертификата |
Public Key Info |
Информация об открытом ключе |
Extensions |
Дополнительные поля (например, Subject Alternative Name, Key Usage, Extended Key Usage) |
Signature |
Подпись сертификата УЦ |
Типы сертификатов
Тип |
Назначение |
SSL/TLS-сертификаты |
Защищённое соединение HTTPS |
Клиентские сертификаты |
Аутентификация пользователя на сервере |
Электронная подпись (signing) |
Для создания ЭЦП по ГОСТ |
Шифрование (encryption) |
Для зашифрования данных |
Квалифицированный сертификат |
Соответствует требованиям законодательства РФ, используется в ЕГАИС, ЕИС, налоговых системах и др. |
Хранилища сертификатов
1. Windows Certificate Store
- LocalMachine – для всех пользователей системы
- CurrentUser – только для текущего пользователя
- Trusted Root Certification Authorities – доверенные корневые УЦ
- Intermediate Certification Authorities – промежуточные УЦ
- Personal (Личное) – сертификаты с закрытыми ключами
- Trusted People – доверенные лица и субъекты
2. Файловые форматы
Формат |
Описание |
.cer , .der |
Только открытый ключ (без закрытого) |
.p7b |
Сертификаты без закрытых ключей |
.pfx , .p12 |
Сертификаты + закрытый ключ, защищён паролем |
.crt , .pem |
Открытый ключ в Base64-формате |
Получение сертификата
1. Через запрос CSR (Certificate Signing Request)
- Генерируется пара ключей (закрытый + публичный)
- Создаётся CSR-файл, отправляемый УЦ
- УЦ возвращает готовый сертификат
openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out request.csr
2. Через УЦ напрямую
- В интерфейсе УЦ создаётся ключевая пара
- Сертификат скачивается вместе с закрытым ключом (обычно в формате
.pfx
)
Проверка сертификата
1. Через certmgr.msc
- Открыть оснастку "Сертификаты"
- Перейти в "Личное" → "Сертификаты"
- Выбрать нужный сертификат и открыть его
2. Через командную строку
certutil -user -store -my
или
openssl x509 -in certificate.pem -text -noout
3. Проверка целостности цепочки
- Корневой УЦ должен быть в хранилище "Доверенные корневые центры"
- Промежуточные УЦ должны быть установлены
Интеграция с приложениями
Приложение |
Поддержка сертификатов |
КриптоАРМ |
Да, через КриптоПро CSP |
1С (ЕГАИС, ФНС, ПФР) |
Да |
СБИС++ |
Да, через PKCS#11 |
Диадок |
Да |
ЕГАИС |
Да |
Web-браузеры |
Да, через Windows Store или файл |
API-клиенты |
Да, через .pem/.pfx файлы |
Особенности использования в терминальных средах
- При использовании в RDS:
- Убедитесь, что сертификат доступен в контексте каждого пользователя.
- Закрытые ключи не должны быть общими между пользователями.
- Используйте токены с перенаправлением через USB-устройства.
Диагностика проблем с сертификатами
Проблема |
Возможная причина |
Решение |
"Не найден закрытый ключ" |
Ключ повреждён или не связан с сертификатом |
Импортировать заново (в случае неверного импорта) или перегенерировать (в случае повреждения) пару ключей |
"Сертификат истёк" |
Срок действия закончился |
Получить новый сертификат |
"Сертификат не доверен" |
Отсутствует корневой/промежуточный УЦ |
Установить недостающие сертификаты |
"Ошибка проверки цепочки" |
Некорректная структура цепочки |
Установить все необходимые промежуточные сертификаты |
Политики безопасности
Аспект |
Рекомендации |
Срок действия |
Не более 3 лет для квалифицированных сертификатов |
Длина ключа |
RSA ≥ 2048 бит, ECDSA ≥ 256 бит, ГОСТ ≥ 256 бит |
Хранение |
Использовать аппаратные токены или HSM для закрытых ключей |
Ротация |
Производить замену ключей и сертификатов перед истечением срока |
Аннулирование |
Использовать CRL или OCSP для проверки статуса сертификата |
Примечание: Все операции с сертификатами должны проводиться в защищённой среде. Некорректное управление сертификатами может привести к потере доверия, компрометации информации и нарушению работы критически важных систем.