Дерево страниц

См. также: Запуск службы pcscd с ненулевыми мандатными атрибутами

Etoken


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

Поддерживаемые модели eToken в Astra Linux


  • 4100
  • 5100
  • 5105
  • 5110
  • 5200
  • Pro 72k
  • NG-OPT


Установка


Для выполнения действий данной инструкции необходимо установить следующие пакеты из репозитория Astra Linux:

  • библиотека libccid
  • пакеты libpcsclite1 и pcscd;
  • opensc

Для установки в терминале введите команду:

sudo apt install libccid pcscd libpcsclite1 opensc libengine-pkcs11-openssl*

Установка SafeNet Authentication Client


SafeNet Authentication Client – это программный клиент, который позволяет взаимодействовать прикладному программному обеспечению с электронными ключами и смарт-картами eToken производства компании Gemalto. Помимо набора драйверов и интерфейсов для взаимодействия Safenet Authentication Client включает необходимый набор функций для организации локального администрирования электронных ключей и смарт-карт. 

Сам клиент следует загрузить с официального сайта Gemalto

После загрузки клиента с офф. сайта, его следует установить. Для этого введите команду:

sudo dpkg -i SafenetAuthenticationClient-amd64.deb

Если при запуске SafeNet Authentication client возникает ошибка:

CRYPTO/Crypto.c:247: init_openssl_crypto: Assertion lib failed.

то для корректной работы, следует создать символическую ссылку на нужную библиотеку. Для этого в терминале, нужно ввести команду:

sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2 /usr/lib/libcrypto.so.6

Проверка работы eToken в системе


Для проверки работы Etoken:


Подключите устройство к компьютеру.

Способ №1

Введите команду:

pkcs11-tool --module /usr/lib/libeToken.so -T
после чего в терминале отобразится информация о токене:


Способ №2

Выберите  в Меню "Пуск" → "Прочие" → "SafeNet Authentication Сlient Tools"  и подключите токен. После чего должна отобразиться информация о подключенном токене:




Инициализация токена eToken


Для инициализации токена необходимо воспользоваться утилитой pkcs11-tool.

pkcs11-tool --login --init-token --label "eToken Astra" --init-pin 12345678 --module /usr/lib/libeToken.so

--slot 0 — указывает в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.

--init-token – команда инициализации токена.

--pin - пин код пользователя. 

--label 'eToken Astra' - метка(название) устройства.

--module - указывает путь до библиотеки eToken

или в SafeNet Authentication Сlient Tools выбрать кнопку "инициализировать токен".

Внимание! Инициализация устройства удалит все данные на eToken без возможности восстановления. 

Создание ключевой пары RSA


Для генерации ключевой пары RSA в терминале следует ввести команду:

pkcs11-tool --slot 0 --login --pin 12345678 --keypairgen --key-type rsa:2048 --id 16 --label "rsa key" --module /usr/lib/libeToken.so

Создание самоподписанного сертификата


Для создания самоподписанного сертификата в терминале следует ввести команду:

openssl
не выходя из openssl, ввести команду:

engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/libeToken.so

после чего ввести команду:

req -engine pkcs11 -new -key 0:16 -keyform engine -x509 -out test.pem -text

и команду

 exit


В поле Common Name должно быть указано имя пользователя ОС.

Загрузка сертификата на токен


Создав свой личный сертификат, его следует загрузить на eToken.

Перекодируем полученный сертификат из PEM в DER:

openssl x509 -in test.pem -out test.cer -inform PEM -outform DER
Запишем сертификат test.cer на токен: 
pkcs11-tool --slot 0 --login --pin 12345678 --write-object test.cer --type 'cert' --label 'Certificate' --id 16 --module /usr/lib/libeToken.so

(или с помощью графической утилиты SACTool) 

Проверка ключей и сертификатов в eToken:

pkcs11-tool --module /usr/lib/libeToken.so -O -l

Локальная аутентификация в Astra Linux по eToken


Установка дополнительный пакетов

Пуск - Настройки - Менеджер пакетов

через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты: 

  • libpam-p11
  • libp11-2

либо воспользовавшись терминалом FLY:

sudo apt-get install libp11-2 libpam-p11 
Регистрация сертификата в системе

Конвертируем сертификат в текстовый формат

openssl x509 -in <имя_сертификата_из_токена>.crt -out <имя_сертификата_из_токена>.pem -inform DER -outform PEM

где <имя_сертификата_из_токена> - имя файла, в котором сохранен ваш сертификат из токена в текстовом формате

Теперь нам необходимо прочитать с токена сертификат с нужным ID и записать его в файл доверенных сертификатов: 
Добавляем сертификат в список доверенных сертификатов:

mkdir ~/.eid
chmod 0755 ~/.eid
cat <имя_сертификата_из_токена>.pem >> ~/.eid/authorized_certificates
chmod 0644 ~/.eid/authorized_certificates
Для привязки токена к определенному пользователю необходимо указать его домашнюю директорию, например таким образом:
mkdir /home/user/.eid
chmod 0755 /home/user/.eid
cat <имя_сертификата_из_токена> >> /home/user/.eid/authorized_certificates
chmod 0644 /home/user/.eid/authorized_certificates

Важно помнить, что при регистрации нескольких токенов на одном компьютере необходимо указывать пользователям раличные id.


Настраиваем аутентификацию 

Пуск - утилиты - Терминал Fly

sudo nano /usr/share/pam-configs/p11

записываем в файл следующую информацию:

Name: Pam_p11
Default: yes
Priority: 800
Auth-Type: Primary
Auth: sufficient pam_p11_opensc.so /usr/lib/libeToken.so

сохраняем файл, нажимаем Alt + X, а затем Y
после этого выполняем

sudo pam-auth-update
в появившемся окне ставим галку в Pam_p11 и нажимаем OK 


Вход по токену


Пуск - утилиты - Терминал Fly

sudo login

Вход выполняется с подключенным токеном к компьютеру. В момент ввода пароля будет сообщено, что требуется <PIN пользователя>.



  • Нет меток