Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 59 Next »

Какие Рутокены работают с Astra Linux


Рутокен  S– модель для надежного хранения контейнеров ГОСТ-криптопровайдеров: КриптоПро, VipNet и других. Сертифицированы во ФСТЭК.

Рутокен  Lite – модель для надежного хранения контейнеров ГОСТ-криптопровайдеров: КриптоПро, VipNet и других. Сертифицированы во ФСТЭК. Обладает интерфейсом CCID и не требует установки дополнительных драйверов

Рутокен ЭЦП 2.0 – имеет встроенный криптопровайдер и высокую производительность. Формирует квалифицированную электронную подпись (КЭП) при помощи сертифицированной реализации российских криптографических алгоритмов непосредственно в самом чипе устройстве, что повышает безопасность использования ЭП — ключ подписи никогда не покидает токен, его невозможно использовать или скопировать без ведома владельца. Работает с алгоритмами ГОСТ 2012. Сертифицированы в ФСБ и ФСТЭК.

Широко используется в системе ЕГАИС с 2016 года. В активном пользовании более полумиллиона устройств с квалифицированной электронной подписью.

Тестирование электронной подписи в Astra Linux:
Кроме двухфакторной аутентификации, можно проверять также подписание документов.

Для Рутокен Lite/S подписание проверить через:

1) КриптоАРМ eSign или КриптоАРМ ГОСТ 
2) Утилиту csptestf из состава КриптоПро CSP. Подробно в разделе на Подпись средствами «КриптоПро CSP»

Для Рутокен ЭЦП 2.0 подписание можно проверить несколькими способами:

1) КриптоАРМ eSign или КриптоАРМ ГОСТ 
2) Тестовый центр регистрации Рутокен + Рутокен Плагин 
3) OpenSSL Рутокен engine 
4) Утилиту csptestf из состава КриптоПро CSP. Подробно в разделе на Подпись средствами «КриптоПро CSP»

Рутокен для Байкала и Эльбруса

Рутокен Lite и Рутокен ЭЦП одинаково хорошо работают на всех платформах, где есть USB-интерфейс.
Сейчас для Эльбруса и Байкала Рутокены подписывают через программы:
1) Тестовый центр регистрации Рутокен + Рутокен Плагин 
2) Утилита из КриптоПро CSP 5.0

Установка


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

  • библиотека libccid, librtpkcs11ecp.so;
  • пакеты libpcsclite1 и pcscd;
  • opensc
  • pcsc-tools

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

user ~$
$ sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc

Для установки библиотеки librtpkcs11ecp.so следует перейти по указанной ссылке и скачать необходимую версию:
https://www.rutoken.ru/support/download/pkcs/

user ~$
$ sudo dpkg -i librtpkcs11ecp_1.8.2.0-1_amd64.deb

Проверка работы Рутокен в системе


Для проверки работы Рутокена:
Подключите устройство к компьютеру.

Способ №1

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

user ~$
$ pcsc_scan


Способ №2

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


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


путь до библиотеки librtpkcs11ecp.so может различаться

Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
$ find /usr/*(lib|lib64) -name librtpkcs11ecp.so


Способ №3

графическая утилита XCA:

XCA: графический интерфейс для работы с токенами

Изменение PIN-кода Рутокен



Для изменения pin-кода Рутокена введите команду:

user ~$
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --login --pin ваш_старый_пин --change-pin --new-pin ваш_новый_пин

После чего система оповестит Вас о том, что PIN-код успешно изменен:
Using slot 0 with a present token (0x0)
PIN successfully changed 





Проверка наличия сертификатов и ключевых пар на Рутокен ЭЦП


Проверка

Чтобы проверить наличие сертификатов и ключевых пар на Рутокене введите команду:

user ~$
 pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O -l
В результате в окне терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокене:

Using slot 0 with a present token (0x0)

Public Key Object; RSA 2048 bits
  label:      Test
  ID:         45
  Usage:      encrypt, verify, wrap

Certificate Object, type = X.509 cert
  label:  Test
  ID:     45


Если после строчки выводится информация о ключах и сертификатах, то необходимо считать сертификат:

Извлечение сертификата из токена


user ~$
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert  --id {id} > название_вашего_сертификата.crt
вместо {id} нужно подставить ID который вы увидите в выводе команды


Если после строчки 

Using slot 0 with a present token (0x0) 

нет ничего, значит устройство пустое. Следует обратиться к администратору или создать ключи и сертификат самостоятельно.

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

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

user ~$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --label "название_ключа" --keypairgen --key-type rsa:2048 -l --id 45

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

$ 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/librtpkcs11ecp.so

(dynamic) Dynamic engine loading support
[Success]: SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so
[Success]: ID:pkcs11
[Success]: LIST_ADD:1
[Success]: LOAD
[Success]: MODULE_PATH:/usr/lib/librtpkcs11ecp.so
Loaded: (pkcs11) pkcs11 engine

В Astra Linux SE 1.6 pkcs11 libengine-pkcs11-openssl версии 1.0.2 не совместим с библиотекой librtpkcs11ecp.so. Для корректного функционирования, следует скачать и установить подписанный пакет libengine-pkcs11-openssl1.1 версии 0.4.4-4 для Смоленска 1.6:

 libengine-pkcs11-openssl1.1_0.4.4-4_amd64.deb


OpenSSL> req -engine pkcs11 -new -key 0:45 -keyform engine -x509 -out название_вашего_сертификата.crt -outform DER
engine "pkcs11" set.
Enter PKCS#11 token PIN for Rutoken ECP <no label>:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Moscow
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Rusbitech   
Organizational Unit Name (eg, section) []: Astra
Common Name (e.g. server FQDN or YOUR name) []:Makhmadiev Shuhrat
Email Address []:shuhrat@astralinux.ru

OpenSSL> exit

1) Путь до библиотеки pkcs11.so может отличаться

Для того чтобы определить путь до библиотеки pkcs11.so введите команду:
$ find /usr/*(lib|lib64) -name pkcs11.so

2) Т.к. вышеуказанные команды должны быть неразрывны, их следует обязательно вбивать в консоли openssl (warning) Иначе openssl не сможет обратиться к закрытому ключу



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

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

user ~$
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w название_вашего_сертификата.crt -a "Имя_сертификата_в_токене" --id 45

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

user ~$
Using slot 0 with a present token (0x0)
Public Key Object; RSA 2048 bits
  label:      название_ключа
  ID:         45
  Usage:      encrypt, verify, wrap
Certificate Object, type = X.509 cert
  label:      имя_сертификата_в_токене
  ID:         45


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


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

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

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

  • libccid
  • pcscd
  • libpam-p11
  • libpam-pkcs11
  • libp11-2
  • libengine-pkcs11-openssl
  • opensc


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

user ~$
$ sudo apt-get install opensc libengine-pkcs11-openssl libp11-2 libpam-pkcs11 libpam-p11 pcscd libccid
Регистрация сертификата в системе

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

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

где cert.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 >> ~/.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/librtpkcs11ecp.so

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


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


user ~$
$ sudo pam-auth-update

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

Проверка

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

$ sudo login

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

Блокировка компьютера при извлечении токена

В состав пакета libpam-pkcs11 входит утилита pkcs11_eventmgr, которая позволяет выполнять различные действия при возникновении событий PKCS#11.

Для настройки pkcs11_eventmgr служит файл конфигурации - /etc/pam_pkcs11/pkcs11_eventmgr.conf

Пример файла конфигурации представлен ниже:

pkcs11_eventmgr
{
    # Запуск в бэкграунде
    daemon = true;
     
    # Настройка сообщений отладки
    debug = false;
 
    # Время опроса в секундах
    polling_time = 1;
 
    # Установка тайм-аута на удаление карты
    # По-умолчанию 0
    expire_time = 0;
 
    # Выбор pkcs11 библиотеки для работы с Рутокен
    pkcs11_module = /usr/lib/librtpkcs11ecp.so;
 
    # Действия с картой
    # Карта вставлена:
    event card_insert {
        # Оставляем значения по умолчанию (ничего не происходит)
        on_error = ignore ;
 
        action = "/bin/false";
    }
 
    # Карта извлечена
    event card_remove {
        on_error = ignore;
         
        # Вызываем функцию блокировки экрана
        action = "fly-wmfunc FLYWM_LOCK";
    }
 
    # Карта долгое время извлечена
    event expire_time {
        # Оставляем значения по умолчанию (ничего не происходит)
        on_error = ignore;
 
        action = "/bin/false";
    }
}

После этого добавьте приложение pkcs11_eventmgr в автозагрузку и перезагрузитесь.


Очистка всех данных с Рутокена


Инициализация утилитой pkcs11-tool:

user ~$ $ pkcs11-tool --slot 0 --init-token --so-pin '87654321' --label 'Название_Вашего_токена' --module /usr/lib/librtpkcs11ecp.so


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

user ~$

$ pkcs15-init --erase-card

$ pkcs15-init --create-pkcs15 --so-pin "87654321" --so-puk ""

$ pkcs15-init --store-pin --label 'User PIN' --auth-id 02 --pin '12345678' --puk '' --so-pin '87654321' --finalize


Утилита администрирования Рутокен (rtAdmin)


Утилита rtAdmin предназначена для автоматизации процедур форматирования и администрирования устройств Рутокен: смены метки токена, PIN-кодов и их параметров, управления разделами Flash-памяти.

При работе с утилитой рекомендуется не подключать более одного устройства.

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

  • Рутокен Lite
  • Рутокен Lite SC
  • Рутокен ЭЦП
  • Рутокен ЭЦП 2.0
  • Рутокен ЭЦП SC
  • Рутокен ЭЦП PKI
  • Рутокен ЭЦП Flash
  • Рутокен ЭЦП 2.0 Flash/touch
  • Рутокен PINPad


Ссылки на загрузку:

rtadmin.zip

https://dev.rutoken.ru/pages/viewpage.action?pageId=7995615


Примеры использования

  1. Отформатировать один токен с параметрами по умолчанию (для поточного выполнения убрать флаг -q)

    ./rtadmin -f -q

  2. Отформатировать токен, задав имя токена RutokenLabel, PIN-код пользователя 123456789 и PIN-код администратора 987654321.

    ./rtadmin -f -z /usr/lib/librtpkcs11ecp.so -L RutokenAstra -u 123456789 -a 98765432
    1 -q

Параметры

Утилита запускается из командной строки и имеет следующие параметры:

1Форматирование токена-f-
2Текущий PIN-код администратора-o [PIN-код (≤ 32)]

87654321

Значение по умолчанию используется только при форматировании без указания параметра -o

3Текущий  PIN-код пользователя-с [PIN-код (≤ 32)]

12345678

Значение по умолчанию используется только при форматировании без указания параметра -c

4Устанавливаемый PIN-код администратора

-a [PIN-код (≤ 32)]

87654321

Значение по умолчанию используется только при форматировании без указания параметра -a

5Устанавливаемый PIN-код пользователя-u [PIN-код (≤ 32)]

12345678

Значение по умолчанию используется только при форматировании без указания параметра -u

6

Устанавливаемый PIN2-код

(для Рутокен PINPad. Устанавливается на экране устройства)

-t-
7Генерация PIN-кода администратора (используется при форматировании)

-G [длина PIN-кода (8-32)]


-
8Генерация PIN-кода пользователя (используется при форматировании)-g [длина PIN-кода (8-32)]-
9Загрузка значений пар PIN-кодов из файла-b [имя файла] -
10

Политика смены PIN-кода пользователя

-p [кто может менять PIN-код:
1 – администратор,
2 – пользователь,
3 – пользователь и администратор]

2

11

Минимальная длина PIN-кода администратора

-M [длина PIN-кода (6-31 для Рутокен ЭЦП и Рутокен Lite,
1 для Рутокен S)]

6

12

Минимальная длина PIN-кода пользователя

-m [длина PIN-кода (6-31 для Рутокен ЭЦП и Рутокен Lite, 1 для Рутокен S)]

6
13

Максимальное количество попыток ввода PIN-кода администратора

-R [число попыток (3-10)]10
14

Максимальное количество попыток ввода PIN-кода пользователя

-r [число попыток (1-10)]10
15Метка токена в кодировке Windows-1251-L [метка токена]-
16Метка токена в кодировке UTF-8-D [метка токена]-
17Конвертация в UTF-8 (флаг для параметров, связанных с PIN-кодами)-UПо умолчанию PIN-коды не конвертируются в UTF-8
18Ограничение количества выполняемых итераций до одной-q-
19Используемая библиотека PKCS#11-z [путь к библиотеке]librtPKCS11ecp.so
20Путь к конфигурационному файлу-n [путь к файлу]-
21Протоколирование-l [путь к файлу лога]

Путь: каталог, в котором лежит утилита
Имя файла: rtadmin.log


ПО для Рутокен Web Плагин


Рутокен Плагин (https://www.rutoken.ru/products/all/rutoken-plugin/) — компонент для любых браузеров и операционных систем для прямой работы с криптографией на устройстве. 
Не требует административных прав при установке.


Дополнительные источники информации


При возникновении вопроса, на который вам не удалось найти ответ в этой инструкции, рекомендуем
обратиться к следующим дополнительным источникам информации:


https://rutoken.ru

Веб-сайт содержит большой объем справочной информации об устройствах Рутокен.


https://dev.rutoken.ru
Портал разработчиков содержит техническую информацию об устройствах Рутокен и руководства по
их интеграции.База знаний

https://kb.rutoken.ru/display/kb
База знаний содержит инструкции по решению большинства ошибок, полезные статьи и ответы на
часто задаваемые вопросы. Здесь вы можете найти нужную информацию по ключевым словам.

https://forum.rutoken.ru
Форум содержит ответы на вопросы пользователей. Здесь вы можете задать свой вопрос
разработчикам и сотрудникам службы технической поддержки Рутокен.


Служба технической поддержки Рутокен:
https://www.rutoken.ru/support/feedback
сервис диагностики:
https://help.rutoken.ru
e-mail:
hotline@rutoken.ru
тел.: +7 495 925-77-90





  • No labels