Как подключить СмартToken Linux

Введение.

 Темой блога является материал рабочих заметок, полученный при подключение USB считывателя и смарткарты в окружающей среде операционной системы Linux.

 Предположим, есть организация, в которой существует смешанная среда рабочих станций, под управлением операционной системы Windows и linux. В организации развёрнут удостоверяющий центр сертификации, который из последних сил, выдаёт сертификат открытого и закрытого ключа для записи на токен носитель. Сам токен выполнен в виде смарт карт, Rutoken или Esmart. Наша задача подключить считыватель, подключить смарт карту(ы), проверить чтение информации хранившийся на ней и возможность менять информацию доступную для корректировки. В дальнейшем предполагается добавить интеграцию с КриптоПро и возможность входа/логина с помощью смарт карты или как принято называть, двух факторной авторизации.

Подготовка СмартToken.

  • Стенд
    • Альт Рабочая станция К

 Устанавливаем необходимые пакеты и библиотеки.

# apt-get update # apt-get install pcsc-lite pcsc-lite-ccid pcsc-tools opensc

 Добавляем драйвер для считывателя Athena.

# apt-get install pcsc-lite-asedriveiiie-usb

 Выбираем библиотеку rtPKCS11ECP, для RSA и ГОСТ-алгоритмов модели Рутокен.

# apt-get install librtpkcs11ecp

 Проверяем наличие требуемых необходимых пакетов.

# rpm -q pcsc-lite-ccid libpcsclite pcsc-tools opensc
pcsc-lite-ccid-1.4.28-alt0.M80P.1
libpcsclite-1.8.22-alt0.M80P.1
pcsc-tools-1.4.27-alt0.M80P.1
opensc-0.19.0-alt2.M80P.

 Проверяем наличие библиотек для rutoken.

# ldconfig -p|grep librtpkcs11ecp.so
librtpkcs11ecp.so (libc6,x86-64) => /usr/lib64/librtpkcs11ecp.so

 Устанавливаем драйвер для Рутокен.

# apt-get install pcsc-lite-rutokens

Можно скачать актуальную версии драйвера для «ручной» установки.

Загрузки]# apt-get install ifd-rutokens*.x86_64

 Устанавливаем драйвер для ESMART карты, проверяем наличие требуемых библиотек.

# apt-get install isbc-pkcs11 ... # ldconfig -p|grep libisbc* libisbc_pkcs11_main.so (libc6,x86-64) => /usr/lib64/libisbc_pkcs11_main.so libisbc_esmart_token_mod.so (libc6,x86-64) => /usr/lib64/libisbc_esmart_token_mod.so # ldconfig -p|grep libesmart* libesmart_token_mskey_mod.so (libc6,x86-64) => /usr/lib64/libesmart_token_mskey_mod.so libesmart_token_gost_mod.so (libc6,x86-64) => /usr/lib64/libesmart_token_gost_mod.so # ldconfig -p|grep libEsmart* libEsmartToken_Javalib.so (libc6,x86-64) => /usr/lib64/libEsmartToken_Javalib.s

 Запускаем demon pcscd.

# systemctl start pcscd
# systemctl enable pcscd

 Проверка и управление СмартToken.

 Проверяем «видимость» считывателя при подключение к ПК.

# lsusb
...
Bus 002 Device 003: ID 0dc3:0802 Athena Smartcard Solutions, Inc. ASEDrive IIIe 
...

 Проверяем установку драйвера считывателя Athena.

# usb-devices 
Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0dc3 ProdID=0802 Rev=03.27
S: Manufacturer=Athena Smartcard Solutions
S: Product=ASEDrive IIIe
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=60mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=usbfs*

 Тестируем работу смарткарты Rutoken.

# pcsc_scan PC/SC device scanner V 1.4.27 (c) 2001-2011, Ludovic Rousseau Compiled with PC/SC lite version: 1.8.18 Using reader plug'n play mechanism Scanning present readers... 0: AseIIIeUSB 00 00 ... ATR: 3B 9C 96 00 52 75 74 6F 6B 65 6E 45 43 50 73 63 + TS = 3B --> Direct Convention + T0 = 9C, Y(1): 1001, K: 12 (historical bytes) TA(1) = 96 --> Fi=512, Di=32, 16 cycles/ETU 250000 bits/s at 4 MHz, fMax for Fi = 5 MHz => 312500 bits/s TD(1) = 00 --> Y(i+1) = 0000, Protocol T = 0 ----- + Historical bytes: 52 75 74 6F 6B 65 6E 45 43 50 73 63 Category indicator byte: 52 (proprietary format) Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): 3B 9C 96 00 52 75 74 6F 6B 65 6E 45 43 50 73 63 RuToken Light SC # ctr^C

 Комплексная проверка работы считывателя и смарткарты Rutoken.

# pkcs11-tool -L --module /usr/lib64/pkcs11/librtpkcs11ecp.so
Available slots:
Slot 0 (0x0): AseIIIeUSB 00 00
token label : test
token manufacturer : Aktiv Co.
token model : Rutoken ECP SC
token flags : login required, rng, SO PIN to be changed, token initialized, PIN initialized, user PIN to be changed
hardware version : 54.2
firmware version : 18.0
serial num : 37866b44
pin min/max : 6/32
Slot 1 (0x1):
(empty)
Slot 2 (0x2):
(empty)
...

 Смотрим информацию на токене Rutoken.

# pkcs11-tool -Ol --module /usr/lib64/pkcs11/librtpkcs11ecp.so Using slot 0 with a present token (0x0) Logging in to "test". WARNING: user PIN to be changed Please enter User PIN: Private Key Object; RSA label: le-!0412!0445!043e!0434!0441!043e-52423_E ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 Usage: decrypt, sign, derive Public Key Object; RSA 2048 bits label: le-!0412!0445!043e!0434!0441!043e-52423_E ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 Usage: encrypt, verify, derive Certificate Object; type = X.509 cert label: le-!0412!0445!043e!0434!0441!043e-52423_E subject: DN: DC=ru, DC=trest, DC=bany, DC=taziki, OU=\xD0\xA6\xD0\xB5\xD0\xBD\xD1\x82\xD1\x80\xD0\xB0\xD0\xBB\xD1\x8C\xD0\xBD\xD0\xBE\xD0\xB5 \xD1\x82\xD0\xB0\xD0\xBC\xD0\xBE\xD0\xB6\xD0\xB5\xD0\xBD\xD0\xBD\xD0\xBE\xD0\xB5 \xD1\x83\xD0\xBF\xD1\x80\xD0\xB0\xD0\xB2\xD0\xBB\xD0\xB5\xD0\xBD\xD0\xB8\xD0\xB5, OU=\xD0\xA6\xD0\xA2\xD0\xA3, OU=user, OU=baza, CN=bany ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 ...

 Пробуем сменить PIN код на токене Rutoken.

# pkcs11-tool --change-pin --module /usr/lib64/pkcs11/librtpkcs11ecp.so 
Using slot 0 with a present token (0x0)
Please enter the current PIN:
...

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

Вся предыдущая информация стирается

# pkcs11-tool --init-token --label EsmartToken --module /usr/lib64/pkcs11/librtpkcs11ecp.so 

 Проверяем работу считывателя и смарткарты Esmart.

# pkcs11-tool -L --module /usr/lib64/pkcs11/libisbc_pkcs11_main.so
Available slots:
Slot 0 (0x1): AseIIIeUSB 00 00
token label : ESMART Token
token manufacturer : ISBC
token model : ESMART Token
token flags : login required, rng, SO PIN locked, token initialized, PIN initialized
hardware version : 0.0
firmware version : 2.4
serial num : C07DC072A10B
pin min/max : 4/8

Смотрим информацию на токене Esmart.

# pkcs11-tool -Ol --module /usr/lib64/pkcs11/librtpkcs11ecp.so Using slot 0 with a present token (0x0) Logging in to "test". WARNING: user PIN to be changed Please enter User PIN: Private Key Object; RSA label: le-!0412!0445!043e!0434!0441!043e-52423_E ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 Usage: decrypt, sign, derive Public Key Object; RSA 2048 bits label: le-!0412!0445!043e!0434!0441!043e-52423_E ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 Usage: encrypt, verify, derive Certificate Object; type = X.509 cert label: le-!0412!0445!043e!0434!0441!043e-52423_E subject: DN: DC=ru, DC=trest, DC=bany, DC=taziki, OU=\xD0\xA6\xD0\xB5\xD0\xBD\xD1\x82\xD1\x80\xD0\xB0\xD0\xBB\xD1\x8C\xD0\xBD\xD0\xBE\xD0\xB5 \xD1\x82\xD0\xB0\xD0\xBC\xD0\xBE\xD0\xB6\xD0\xB5\xD0\xBD\xD0\xBD\xD0\xBE\xD0\xB5 \xD1\x83\xD0\xBF\xD1\x80\xD0\xB0\xD0\xB2\xD0\xBB\xD0\xB5\xD0\xBD\xD0\xB8\xD0\xB5, OU=\xD0\xA6\xD0\xA2\xD0\xA3, OU=user, OU=baza, CN=bany ID: 6c652d2130343132213034343521303433652130343334213034343121303433652d35323432335f45 ...

 Пробуем сменить PIN код на токене Esmart.

# pkcs11-tool -Ol --module /usr/lib64/pkcs11/libisbc_pkcs11_main.so
Using slot 0 with a present token (0x1)
Logging in to "ESMART Token".
Please enter User PIN:
....
Сменить PIN код на токене (смарткарте) Esmart
# pkcs11-tool --change-pin --module /usr/lib64/pkcs11/libisbc_pkcs11_main.so
Using slot 0 with a present token (0x1)
Please enter the current PIN:
...

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

Вся предыдущая информация стирается.

# pkcs11-tool --init-token --label EsmartToken --module /usr/lib64/pkcs11/libisbc_pkcs11_main.so

 Заключение.

  Во многих ИТ структурах, особенно в государственных учреждениях, применяются меры безопасности при работе с информацией личного характера или носящих в себе сведения персональных данных ,включающие разные уровни защиты от использования сведений не предназначенных для просмотра посторонними лицами, в том числе относящиеся к коммерческой и государственной тайне. Для идентификации пользователя на рабочей станции применяется контролер, считыватель и смарт-карта с чипом или заменяющий считыватель и карту USB носитель. В любом случае на карте или USB носителе записывается информация, которая идентифицирует пользователя на ПК, сверяя электронный отпечаток владельца с тем который хранится в центре сертификации предприятия. Такая схема применяется повсеместно, не смотря на то, какие сведения обрабатываются на этом ПК. Безусловно дополнительный контролер и алгоритм проверки уменьшает скорость работы рабочей станции. Администратору приходится маневрировать, искать оптимальные решения и подходы, выбирать тех производителей «железа» и софта, которые поддерживают техническую совместимость устройств безопасности.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Copyright © 2011-2024
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты