Защита закрытых ГОСТ-ключей и жизненный цикл¶
ГОСТ-ключ предназначен для ограниченного набора криптографических операций. Главная задача администратора — не только получить правильный PEM или PFX, но и обеспечить секретность закрытой части, контролируемый доступ, замену и восстановление.
Создание каталога¶
umask 077
install -d -m 0700 "$HOME/secure-gost"
openssl genpkey -algorithm gost2012_256 \
-pkeyopt paramset:TCA -out "$HOME/secure-gost/service.key"
chmod 600 "$HOME/secure-gost/service.key"
stat -c '%a %U:%G %n' "$HOME/secure-gost/service.key"
Не размещайте закрытые ключи внутри корневого каталога веб-сайта, Git, публичных образов контейнеров или читаемых всеми каталогов.
Пользователь отдельной службы¶
Для системной службы можно выделить закрытый каталог с владельцем службы. Системный пользователь, путь установки и правила SELinux подбираются под приложение. Проверьте, может ли служба читать ключ, и что она не имеет избыточного доступа к другим ключам.
/etc/myapp — пример пути, а не системный путь НАЙС.ОС.
Права ключа, сертификата и PFX¶
| Объект | Пример режима | Кому доступен |
|---|---|---|
| Закрытый ключ | 0600 |
Владелец ключа |
| Каталог ключей | 0700 |
Владелец |
| Сертификат открытого ключа | 0644 |
По политике публикации |
| PFX с закрытым ключом | 0600 |
Только участники переноса |
| Список отзыва / открытая цепочка | По политике публикации | Получатели |
Файловые права — только один слой защиты. Дополнительно требуются контроль резервных копий, журнал аудита, защита памяти и ограничение удалённого доступа.
Регламент жизненного цикла¶
- Генерация: утверждённый алгоритм и paramset, доверенный источник энтропии.
- Выдача: защита файла/контейнера, назначение владельца и цели.
- Регистрация: учёт открытого ключа, сертификата, серийного номера и срока.
- Эксплуатация: минимальные права, обновления, журнал доступа.
- Ротация: параллельное внедрение нового ключа, проверка потребителей.
- Отзыв: публикация статуса, отключение старого доверия.
- Уничтожение: процедура, определённая политикой и типом носителя.
Резервное копирование¶
Создавайте резервную копию только по утверждённой процедуре. Простой cp на сетевой диск не гарантирует секретность. Если ключ размещён в неэкспортируемом хранилище, резервирование организуется средствами этого хранилища, а не извлечением в обычный PEM.
Передача через PFX¶
Установите пароль интерактивно при openssl pkcs12 -export, проверьте корректность импорта, удалите промежуточные незащищённые файлы по регламенту. Никогда не отправляйте пароль тем же каналом, что и PFX.
Реакция на компрометацию¶
Изолируйте использующий ключ сервис, замените ключевую пару, перевыпустите сертификат, отзовите старый сертификат там, где это предусмотрено, и проанализируйте период использования. Смена пароля PFX не устраняет компрометацию уже извлечённого закрытого ключа.