Как использовать смарт-карты PIV (YubiKey 4) для подписи двоичных файлов приложения?

Я собираюсь начать использовать мой YubiKey 4 (битовый ключ RSA 2048) для подписи двоичных файлов приложений. Там довольно много уроков о том, как настроить это. Похоже, что большинство уроков основано на оригинальном руководстве Yubico ( Android, MacOS), которое меня смущает.

Когда я просмотрел информацию о слоте сертификата PIV, я пришел к выводу, что слот 9cЦифровая подпись- это правильный слот для подписи кода, так как я подписываю двоичный код цифровой подписью своим закрытым ключом.

Однако, например, с помощью руководства Yubico для Android и других руководств, выбранный слот для сертификата 9a, который для аутентификации PIV. Слоты используются для "аутентификации карты и держателя карты" против "таких вещей, как вход в систему", что явно является неправильным использованием подписи кода.

Какой правильный (семантический) слот для сертификата для подписи кода с помощью PIV-апплета YubiKey 4? И есть ли причина, почему использовать / придерживаться слот 9a?

1 ответ

Решение

Инструменты YubiKey не налагают никаких ограничений или ограничений на ключи или сертификаты в определенных слотах. Некоторые сторонние инструменты делают.

Самая большая разница между различными слотами - это политика ПИН, примененная к ним. 9a, предназначенный для аутентификации, требует, чтобы PIN-код вводился только один раз. Он предназначен для того, чтобы его можно было использовать для входа в систему, после чего следует любое количество сеансов веб-браузера.

9с, с другой стороны, требует ввода PIN-кода для каждой транзакции. Это желательное свойство для подписания.

Если вы используете слот 9a для подписи, то карта будет разрешать дальнейшую подпись, пока карта не будет отключена или удалена.

9d работает аналогично 9a, хотя он предназначен для шифрования, а не для аутентификации. Наличие отдельных слотов позволяет делать такие вещи, как наличие сертификата аутентификации в 9a (с ключом, сгенерированным на карте) и шифрования в 9c (с ключом, загруженным на карту, и хранящимся в другом месте в случае потери карты).

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

9e не требует аутентификации и предназначена для таких вещей, как дверные замки. Использование этого слота позволит любому приложению подписаться без участия пользователя.

Короче говоря, слот 9с фактически является правильным слотом для подписи кода. Поскольку большинство руководств с YubiKeys предназначены для поддержки аутентификации (а не шифрования или подписи), они, как правило, используют слот 9a.

Другие вопросы по тегам