Закрытый ключ ЭЦП
Общее описание
Закрытый ключ — это один из двух ключей в асимметричной криптографии, используемый для: - расшифрования данных (в паре с открытым ключом); - формирования электронной подписи; - аутентификации пользователя или устройства.
В отличие от открытого ключа, который может свободно распространяться, закрытый ключ должен храниться в секрете, поскольку его компрометация приводит к утрате конфиденциальности и целостности информации, связанной с этим ключом.
Основные понятия
1. Асимметричная криптография
- Использует пару ключей: открытый и закрытый.
- Открытый ключ используется для шифрования или проверки подписи.
- Закрытый ключ — для расшифрования или создания подписи.
2. Электронная цифровая подпись (ЭЦП)
- Формируется с использованием закрытого ключа.
- Проверяется с помощью соответствующего открытого ключа.
3. Контейнер закрытого ключа
- Это защищённое место хранения закрытого ключа в системе.
- Может быть реализован как файл, хранилище Windows или на аппаратном носителе (токен, смарт-карта).
Типы закрытых ключей
Тип | Описание |
---|---|
RSA | Широко распространённый алгоритм, используемый в TLS/SSL, S/MIME, XMLDSig |
ECDSA | Эллиптические кривые, высокая стойкость при меньшей длине ключа |
ГОСТ Р 34.10-2012 / ГОСТ Р 34.10-2001 | Российские стандарты цифровой подписи |
DSA | Устаревший алгоритм, ранее использовался в DSS |
Место хранения закрытого ключа
1. Локальное хранилище Windows
- Хранится в папке:
C:\Users\%USERNAME%\AppData\Microsoft\Crypto
- Защищается системой безопасности Windows.
- Интеграция через CryptoAPI / CNG.
2. Файловое хранилище (.pfx, .pem, .key)
- Представляет собой файл с закрытым ключом и сертификатом.
- Часто используется в Linux-системах и web-серверах.
- Может быть защищён паролем.
3. Аппаратные токены
- Хранение на Рутокен, JaCarta, eToken, MSKEY и других криптотокенах.
- Закрытый ключ никогда не покидает устройство.
- Доступ возможен только после ввода PIN-кода.
4. HSM (Hardware Security Module)
- Высокопроизводительные устройства для безопасного хранения и обработки ключей.
- Используются в банках, государственных системах и крупных корпорациях.
Безопасность закрытого ключа
1. Защита от несанкционированного доступа
- Шифрование контейнера ключа с использованием мастер-ключа Windows.
- Парольная защита файлов
.pfx
. - PIN-защита на токенах.
2. Ограничение экспорта
- В большинстве случаев закрытый ключ помечается как non-exportable.
- Это предотвращает его копирование или использование вне исходного хранилища.
3. Блокировка при попытке взлома
- На токенах: блокировка после нескольких неверных попыток ввода PIN.
- На HSM: логирование и оповещение о подозрительной активности.
4. Удаление и восстановление
- При удалении закрытого ключа он не восстанавливается обратно.
- Необходимо сохранить резервную копию перед удалением.
Инструменты работы с закрытым ключом
Инструмент | Назначение |
---|---|
certmgr.msc |
Управление сертификатами и ключами в Windows |
certutil -user -store -my |
Вывод информации о сертификатах и ключах |
openssl |
Работа с .pem/.pfx файлами |
csptest.exe |
Диагностика КриптоПро CSP |
cspclean.exe |
Очистка контейнеров закрытых ключей |
pkcs11-tool |
Работа с токенами в Linux |
gost2012diag.exe |
Диагностика ГОСТ-ключей |
Примеры использования
1. Создание ЭЦП в КриптоАРМ
- Выбирается сертификат из хранилища.
- Проверяется наличие связанного закрытого ключа.
- Формируется подпись по ГОСТ Р 34.10-2012.
2. Шифрование файла с помощью OpenSSL
openssl rsautl -encrypt -inkey public.key -pubin -in file.txt -out encrypted.bin
Расшифровка:
openssl rsautl -decrypt -inkey private.key -in encrypted.bin -out decrypted.txt
3. Импорт сертификата с закрытым ключом
- Открыть
certmgr.msc
- Перейти в "Личное" → "Сертификаты"
- Импортировать
.pfx
файл, указав пароль
Особенности в терминальных средах
- При использовании в RDS:
- Убедитесь, что закрытый ключ доступен в контексте каждого пользователя.
- Используйте токены с перенаправлением через USB-устройства.
- Избегайте общих хранилищ ключей без строгого контроля прав.
Сценарии потери или повреждения закрытого ключа
Ситуация | Возможные последствия | Решение |
---|---|---|
Утерян закрытый ключ | Невозможно подписать или расшифровать данные | Получить новый сертификат и ключ |
Блокировка токена | Доступ к ключам заблокирован | Сбросить PIN через УЦ или администратора |
Удаление ключа | Невозможность восстановления | Создать новую пару ключей |
Политики безопасности
- Срок жизни ключа: обычно от 1 до 3 лет.
- Длина ключа: минимум 2048 бит для RSA, 256 бит для ECDSA/GOST.
- Хранение: рекомендуется использовать аппаратные токены или HSM.
- Ротация: регулярная замена ключей по политике компании.