Etoken
- -это USB-токены и смарт-карты с аппаратной реализацией зарубежных криптоалгоритмов, предназначенные для работы с инфраструктурой открытых ключей (PKI).
Поддерживаемые модели eToken в Astra Linux
Модель: 4100, 5100, 5105, 5110, 5200, Pro 72k, NG-OPT
Установка
Для выполнения действий данной инструкции необходимо установить следующие пакеты из репозитория Astra Linux:
- библиотека libccid
- пакеты libpcsclite1 и pcscd;
- opensc
Для установки в терминале введите команду:
sudo apt-get 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 в терминале следует ввести команду:
Создание самоподписанного сертификата
Для создания самоподписанного сертификата в терминале следует ввести команду:
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
Установка дополнительный пакетов
Пуск - Настройки - Менеджер пакетов
через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты:
- libpam-p11
- libp11-2
Либо воспользовавшись терминалом FLY:
sudo apt-get install libp11-2 libpam-p11
Конвертируем сертификат в текстовый формат
openssl x509 -
in
название_вашего_сертификата.crt-out название_вашего_сертификата.pem -inform DER -outform PEM
где название_вашего_сертификата.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
Ваш_сертификат_из_токена.pem >> /home/user/.eid
/authorized_certificates
chmod 0644 /home/user/.eid/authorized_certificates
Важно помнить, что при регистрации нескольких токенов на одном компьютере, необходимо указывать пользователям раличные id.
Настраиваем аутентификацию
Пуск - утилиты - Терминал Fly
sudo
nano
/usr/share/pam-configs/p11
|
записываем в файл следующую информацию
сохраняем файл, нажимаем Alt + X, а затем Y
после этого выполняем
sudo
pam-auth-update
в появившемся окне ставим галку в Pam_p11 и нажимаем OK
Вход по токену
Пуск - утилиты - Терминал Fly
|
Вход выполняется с подключенным токеном к компьютеру. В момент ввода пароля будет сообщено, что требуется <PIN пользователя>.