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

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Содержание


Оглавление
outlinetrue


Описание: обеспечение доступа к смарт-картам через PC/SC (фоновая служба).

Назначение:  Служба PC/SC используется для динамического подключения/отключения драйверов считывателей смарт-карт «на лету» и управления соединениями со считывателями.

Глобальные настройки


Для обеспечения возможности работы службы pcscd с ненулевой меткой безопасности сокету pcscd.socket необходимо добавить привилегию PARSEC_CAP_PRIV_SOCK (см. Привилегии PARSEC). Для этого:

  1. Выполнить команду:

    Command

    sudo systemctl edit pcscd.socket


  2. В открывшемся текстовом редакторе указать следующий текст:

    Блок кода
    [Socket]
    CapabilitiesParsec=PARSEC_CAP_PRIV_SOCK
    


  3. Сохранить изменения;
  4. Перезапустить сокет:

    Command
    sudo systemctl restart pcscd.socket
    


После перезапуска сокета pcscd.socket убедиться, что ему присвоен атрибут ehole. Для этого использовать команду:

Command
sudo pdp-ls -Ma /var/run/pcscd/pcscd.comm


Примечание

Атрибуты файла /var/run/pcscd/pcscd.comm  должны быть такими:

Блок кода
srw-rw-rw-m-- 1 root root Уровень_0:Низкий:Нет:ehole /var/run/pcscd/pcscd.comm

В ином случае следует удалить pcscd.comm командой:

Command
sudo rm -r /var/run/pcscd/pcscd.comm

и перезагрузить ПК.

Проверка


Для проверки обратиться к токену из процесса с ненулевой классификационной меткой, например, с командой:

Command

sudo pdp-exec -l 1:0:0 opensc-explorer

В случае успеха Opensc explorer сообщит, что обратился к слоту с токеном:

Блок кода
root@smolensk: # opensc-explorer 
OpenSC Explorer version 0.16.0
Using reader with a card: Aktiv Rutoken ECP 00 00
OpenSC [3F00]>

Запуск с определенным уровнем конфиденциальности 


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

  1. Выполнить команду:

    Command

    sudo systemctl edit pcscd.service


  2. В открывшемся текстовом редакторе указать имя секции [Service] и нужную метку, например, для задания метки иерархическим уровнем конфиденциальности равным единице:

    Блок кода
    [Service]
    PDPLabel=1:63:0


    Информация
    titleФормат метки:

    PDPLabel=<Уровень>:<Уровень целостности>:<Категории>

    Формат метки PDPLabel аналогичен принятому в системе PARSEC за исключением поля типа - метки.


  3. Сохранить изменения;

  4. Перезапустить службу:

    Command
    sudo systemctl restart pcscd.service