Product SiteDocumentation Site

Глава 83. Двухфакторная аутентификация с использованием токенов

83.1. Подготовка токена
83.2. Настройка компьютера для двухфакторной аутентификации
В Альт Рабочая станция K возможно настроить двухфакторную аутентификацию с использованием токенов.

Примечание

В данном разделе рассматривается пример настройки двухфакторной аутентификации с использованием Рутокен ЭЦП.
Для работы с токенами необходимо установить следующие дополнительные пакеты:
# opensc pcsc-lite pam_pkcs11 librtpkcs11ecp pcsc-lite-ccid libp11 nss-utils

83.1. Подготовка токена

На токене должны присутствовать ключевая пара и сертификат.
Генерация ключевой пары и сертификата:
  1. Запустить службу поддержки смарт-карт и убедиться, что она работает:
    # systemctl start pcscd
    # systemctl status pcscd
    
  2. Проверить подключение токена:
    $ pcsc_scan -r
    0: Aktiv Rutoken ECP 00 00
    
  3. Cгенерировать ключевую пару на токене:
    $ pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so \
     --login --pin <PIN> --keypairgen \
     --key-type rsa:2048 --id 1111 --label myrsa
    
  4. Проверить создание ключа:
    $ pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so --list-objects
    
  5. Сгенерировать сертификат:
    $ openssl req -new -x509 -engine pkcs11 \
     -keyform engine -key 1111 -out CA.pem \
     -subj "/C=RU/O=MyOrg/CN=MyToken" -text
    
    Engine "pkcs11" set.
    Enter PKCS#11 token PIN for RutokenECP:
    
    где:
    • -engine pkcs11 — указывает, что используется PKCS#11 (токен);
    • -key 1111 — идентификатор ключа;
    • -subj — задаёт данные субъекта сертификата (страна, организация и т. д.).

    Примечание

    Если возникает ошибка загрузки движка PKCS#11, необходимо проверить его наличие:
    $ openssl engine -t pkcs11
    
    Если движок не найден, нужно указать путь явно:
    $ openssl engine -t \
     -pre SO_PATH:/usr/lib64/openssl/engines-3/libpkcs11.so \
     -pre MODULE_PATH:/usr/lib64/librtpkcs11ecp.so
    
  6. Проверить сертификат:
    $ openssl x509 -in CA.pem -noout -text
    
  7. Записать сертификат на токен:
    $ pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so \
     --login --pin <PIN> --write-object CA.pem \
     --type cert --id 1111 --label "myrsa"
    
    Using slot 0 with a present token (0x0)
    Created certificate:
    Certificate Object; type = X.509 cert
      label:      myrsa
      subject:    DN: C=RU, O=MyOrg, CN=MyToken
      serial:     4EB5EB8617FA76C71B9616CEA4EBEC8BBA9D3FDF
      ID:         1111