1

Я использую Yubikey 4 с сертификатом, загруженным в слот PIV 9a (PIV Authentication; слот OpenSC 0).

Внутри Firefox 64 я использую драйвер OpenSC PKCS # 11.

Что я хочу сделать, так это "разблокировать" этот слот (я не уверен, что слово "разблокировать" - это правильное слово), скажем, из сценария оболочки, указав один раз мой пользовательский ПИН-код. После этого Firefox должен иметь возможность использовать этот слот, не запрашивая у пользователя PIN-код (Firefox должен видеть слот как "авторизованный").

Я надеялся, что смогу что-то использовать в командной строке pkcs11-tool -l --login-type user -L . Эта команда сама по себе работает, но она не приводит к тому, что слот переходит в состояние "залогинен" в Firefox. Firefox по-прежнему будет запрашивать PIN-код при первом открытии веб-сайта.

Вывод pkcs11-tool -l --login-type user -L:

Available slots:
Slot 0 (0x0): Yubico Yubikey 4 OTP+U2F+CCID
  token label        : #redacted#
  token manufacturer : piv_II
  token model        : PKCS#15 emulated
  token flags        : login required, rng, token initialized, PIN initialized
  hardware version   : 0.0
  firmware version   : 0.0
  serial num         : 0001112223334445
  pin min/max        : 4/8
Logging in to "#redacted#".
Please enter User PIN:
$ opensc-tool -i
OpenSC 0.19.0 [gcc  4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)]
Enabled features: locking zlib readline openssl pcsc(/System/Library/Frameworks/PCSC.framework/PCSC)

Мне кажется, параметр конфигурации OpenSC " lock_login " описывает то, что я хочу:

По умолчанию модуль OpenSC PKCS # 11 не будет блокировать вашу карту, когда вы аутентифицируетесь на карту через C_Login (по умолчанию: false). Таким образом, другим пользователям или другим приложениям не запрещается подключаться к карте и выполнять криптографические операции (что может быть возможно, поскольку вы уже прошли проверку подлинности с помощью карты).

Я не устанавливал вручную значения конфигурации OpenSC. В моем понимании, выполнение вышеупомянутой команды pkcs11-tool вызывает C_Login - но слот все еще не может использоваться без ввода PIN-кода в Firefox.

Это то, что может быть достигнуто с OpenSC?

1 ответ1

0

Вы можете "use_pin_caching = true;" поэтому OpenSC будет кэшировать пин-код при запуске приложения и использовать его снова, если это необходимо.

Большинство устройств Yubico неправильно реализовали обработку команды "Выбрать AID" для выбора апплета на карте, а в спецификациях NIST говорится, что апплет PIV будет аплетом по умолчанию при включении питания. Это вызывает проблемы при попытке сохранить состояние входа в систему, когда несколько приложений пытаются использовать токен. (Ищите "card_issues" в card-piv.c в источнике OpenSC.)

FireFox делает то, что делает большинство приложений - предполагается, что логин нужен с первого раза. Так что использование скрипта для проверки ПИН-кода не поможет.

Также посмотрите на "card_drivers = PIV-II;" чтобы другое приложение не запускало "Выбрать AID" для карты, которой у вас нет, что также может привести к потере состояния входа в систему. (card_issues = CI_OTHER_AID_LOSE_STATE)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .