Содержание

Skip to end of metadata
Go to start of metadata

Etoken


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

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


Модель: 4100, 5100, 5105, 5110, 5200, Pro 72k, NG-OPT


Установка


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

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

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

user ~$
sudo apt-get install libccid pcscd libpcsclite1 opensc libengine-pkcs11-openssl*

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


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

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

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

user ~$
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

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

user ~$
pkcs11-tool --module /usr/lib/libeToken.so -T

после чего в терминале отобразится информация о токене:


Способ №2

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




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


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

user ~$
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 в терминале следует ввести команду:

user ~$

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:

user ~$
sudo apt-get install libp11-2 libpam-p11 

Регистрация сертификата в системе

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

user ~$
openssl x509 -in название_вашего_сертификата.crt -out название_вашего_сертификата.pem -inform DER -outform PEM

где название_вашего_сертификата.pem - Ваш сертификат из токена в текстовом формате

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


user ~$
mkdir ~/.eid
chmod 0755 ~/.eid
cat Ваш_сертификат_из_токена.pem >> ~/.eid/authorized_certificates
chmod 0644 ~/.eid/authorized_certificates


Для привязки токена к определенному пользователю необходимо указать его домашнюю директорию, например таким образом:


user ~$
mkdir /home/user/.eid
chmod 0755 /home/user/.eid
cat Ваш_сертификат_из_токена.pem >> /home/user/.eid/authorized_certificates
chmod 0644 /home/user/.eid/authorized_certificates


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


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

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

user ~$
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
после этого выполняем


user ~$
sudo pam-auth-update


в появившемся окне ставим галку в Pam_p11 и нажимаем OK
 


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


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

sudo login

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



  • No labels