Автоматическое/автоматическое управление ключами устройств Linux (сертификаты для доступа к серверам обновлений)

В настоящее время я работаю над специализированным медиацентром/коробкой для своего работодателя. По сути, это Raspberry Pi 3b+ с Raspian, настроенным на периодическое автоматическое обновление через apt. Устройство получает доступ к двоичным файлам проприетарных приложений через частный защищенный репозиторий apt с использованием предварительно установленного на устройстве сертификата.

Прямо сейчас срок действия сертификата на устройстве не истекает, но в будущем мы хотели бы настроить срок действия сертификата каждые 4 месяца. Мы также планируем развернуть уникальный сертификат для каждого отправляемого нами устройства, чтобы сертификаты можно было отозвать (например, в случае, если клиент сообщит об украденном устройстве).

Есть ли способ через apt или OpenStack/Barbican KMS:

  • Периодически обновляйте сертификаты для доступа к apt-repo на устройстве.
  • Настройте ключи шифрования ключей (KEK) на устройстве, если нам нужно, чтобы устройство могло загружать конфиденциальные данные, такие как кэшированная в памяти копия информации о клиенте.
  • Предоставьте механизм развертывания нового ключа на устройстве, если срок действия текущего ключа истек (т. е. пользователь не подключал устройство к Интернету более 4 месяцев). Пытаюсь разобраться в этом, так как сейчас (в этом состоянии) устройство имеет сертификат с истекшим сроком действия, и я не могу определить, как ему можно доверять для получения нового.
  • Разрешить отслеживать, отзывать и списывать ключи.

Спасибо.


person Untha    schedule 29.05.2019    source источник


Ответы (1)


Есть ли способ использовать Barbican для: * Периодического обновления сертификатов для доступа к apt-repo на устройстве.

Раньше у Barbican был интерфейс для выдачи сертификатов, но его убрали. Поэтому barbican — это просто сервис для генерации и хранения секретов.

Вы можете использовать что-то вроде certmonger. certmonger — это демон на стороне клиента, который генерирует запросы сертификатов и отправляет их в ЦС. Затем он отслеживает эти сертификаты и запрашивает новые, когда срок действия сертификатов истекает.

  • Настройте ключи шифрования ключей (KEK) на устройстве, если нам нужно, чтобы устройство могло загружать конфиденциальные данные, такие как кэшированная в памяти копия информации о клиенте.

Чтобы использовать barbican, вам нужно иметь возможность аутентифицировать и получить что-то вроде токена keystone. Получив это, вы можете использовать barbican для создания ключей шифрования ключей (которые будут храниться в базе данных barbican) и загрузить их на устройство с помощью API извлечения секретов.

Вам нужно / хотите, чтобы KEK были депонированы таким образом?

  • Предоставьте механизм развертывания нового ключа на устройстве, если срок действия текущего ключа истек (т. е. пользователь не подключал устройство к Интернету более 4 месяцев).

У Барбакана нет для этого механизма. Это инструментарий на стороне клиента, который необходимо написать. Вам нужно подумать об аутентификации.

  • Разрешить отслеживать, отзывать и списывать ключи.

То же, что и выше. У Барбакана нет для этого механизма.

person Untha    schedule 01.06.2019