SSH Agent

Ключ используется по одному запросу и только после подтверждения.

Приватный ключ расшифровывается только для одного запроса подписи и сразу же обнуляется после использования.

$SSH_AUTH_SOCKSSH Agent Protocol (RFC 4253)
На главную

Когда это подходит

Путь через Agent полезен, когда подпись должна быть короткоживущей и проверяемой.

Подпись на один запрос

Расшифровывайте ключ только для текущего SSH-запроса подписи.

Явное подтверждение

Оставляйте подтверждение за человеком до создания подписи.

Обнуление памяти

Очищайте ключевой материал сразу после использования, чтобы он не оставался в памяти.

Жизненный цикл ключа

Ключ расшифровывается на каждый запрос и освобождается сразу после подписи. Кэша нет.

Поток SSH agentVault, decrypt, sign и release.
Поток SSH agent signing
01

Vault

SSH-ключ остаётся зашифрованным at rest внутри vault.

02

Decrypt

ChromVoid расшифровывает ключ только для запроса подписи.

03

Sign

Пользователь подтверждает запрос, и создаётся подпись.

04

Release

Ключевой материал обнуляется в памяти сразу после использования.

Границы безопасности

Без key files на диске

Agent не оставляет незашифрованные файлы ключей на диске.

Без долгоживущего cache

Между запросами подписи нет долгоживущего кэша.

Явное подтверждение

Подписание требует осознанного действия пользователя.

Ограничения и scope

Agent намеренно простой и локальный.

  • Он фокусируется на одном жизненном цикле подписи, а не на полной SSH-оркестрации.
  • Ключ расшифровывается на один запрос, а не держится горячим в памяти.
  • Это не удалённый сервис ключей.

Не удалённый key daemon

Agent — это локальный путь подтверждения для SSH-ключа из vault.

Оставляйте SSH-подписание внутри локального пути подтверждения, привязанного к vault.

Ключ появляется только на время запроса, а затем снова обнуляется сразу после использования.