- PVSM.RU - https://www.pvsm.ru -

Криптографические токены PKCS#11: управление и доступ к объектам токена (Продолжение )

image Криптографические токены/смарткарты сегодня стали довольно обыденным делом. Все больше людей идут на Удостоверяющие Центры (УЦ) и просят выдать ключик и электронную подпись для доступа к различным сайтам для получения тех или иных услуг. Попытка объяснить, что им выдадут сертификат по аналогии [1] с паспортом, а электронную подпись они будут ставить сами, используя свой закрытый ключ [2], мало кого и в чем убеждает.

Есть магическое слово – ключик, а на нем есть что-то, что позволит отправить данные в налоговую, участвовать в торгах и т.п. И УЦ выдают гражданам и организациям «ключики» с сертификатами и закрытыми ключами. Сегодня в абсолютном большинстве этими ключиками являются токены. Так и хочется сказать -криптографические токены [3] с поддержкой российской криптографией и интерфейсом PKCS#11. К сожалению это далеко не так. Несмотря на то, что и производителей и объем токенов растет, используются все же они в большинстве случаев как обыкновенная флэшка, но с доступом к ней по PIN-коду.

Но все же токены PKCS#11 с поддержкой ГОСТ-криптографии [4] все больше завоевывают популярность среди владельцев сертификатов. И чем больше порталов [3], электронных площадок будет работать не через интерфейс аля MS-CSP, а через PKCS#11, то как ни странно, и импортозамещение пойдет побыстрее.

И так, есть токены PKCS#11, на которых хранятся сертификаты, закрытые ключи, которые для безопасности имеют PIN-коды, которые в отличии от флэшки, могут не только хранить данные, но и выполнять криптографические операции.

Каждый владелец токена/смарткарты, естественно, стремится себя обезопасить с точки зрения доступа к закрытому ключу. Для этого он должен поменять не только пользовательский PIN-код, но и SO-PIN. Естественное желание, знать какие объекты (открытые/закрытые ключи, сертификаты и другие объекты) хранятся на токене. Более того, если вы получаете в УЦ сертификат и ключи, то хорошо бы самому посмотреть, что в итоге у вас оказалось на токене: ничего там лишнего не появилось или, не дай бог, не исчезло. Таким образом, неплохо бы иметь простую утилиту, которая бы могла управлять токеном (инициализировать, менять PIN-коды и т.д), просматривать объекты и т.п. А сейчас еще очень востребована операция экспорта с токена сертификата, не закрытьго ключа, а именно сертификата.

Такой утилитой является утилита p11conf, скачать которую для различных платформ можно здесь [5]:

bash-4.3$ /usr/local/bin64/p11conf  
usage:  /usr/local/bin64/p11conf [-hitsmIupPredf] -A APIpath [-c slotID 
-U userPin -S SOPin -n newPin -L label] 
       -h display usage 
       -i display PKCS#11 library info 
       -s display slot(s) info (-c slotID is optional) 
       -t display token(s) info (-c slotID is optional) 
Others must use -c slotID 
       -m display mechanism list 
       -I initialize token  
       -u initialize user PIN 
       -p set the user PIN 
       -P set the SO PIN 
       -e enumerate objects 
       -d dump all object attributes (additional to -e and to -f) 
       -r remove all objects 
       -e -r remove enumerated objects with prompt 
       -f enumerate certificates and write them to DER-files with promp
t 
Version 5.7 
Copyright(C)  2011-2018 
bash-4.3$

Отличительной особенностью этой утилиты является наличие графической оболочки, которая также доступна здесь [6]:

image

После выбора утилиты p11conf и библиотеки PKCS#11 в информационном окне будет отображена информация о библиотеки (самое ценное здесь – версия поддерживаемого стандарта PKCS#11) и токене (метка токена, слот, где он находится), если он присутствует:

image

Имея на руках эти две утилиты p11conf и графическую оболочку к ней GUITKP11Conf пользователь имеет удобный инструмент для управления и просмотра токенов/смарткарт PKCS#11. Так, просматривая механизмы поддерживаемые токеном, можно выбрать токен с необходимыми вам криптографическими механизмами, например, с поддержкой ГОСТ Р 34.10-2012:

image

Вы можете посмотреть не только перечень объектов, находящихся на токене, но и детальную информацию (атрибуты, флаги, значения каждого объекта):

image

После ввода PIN-кода вы получите полную информацию о каждом объекте:

image

Особо следует выделить функцию экспорта сертификатов. И, если из командной строки, экспорт сертификата идет только в DER-формате (формат хранения сертификатов на токенах PKCS#11), то графическая оболочка позволяет экспортировать сертификат как собственно в DER-формате, так и в PEM-формате:

image

А как же просмотр сертификата? Не стоит перегружать утилиту. Для просмотра сертификатов можно использовать утилиту openssl или утилиту «изящной печати» [7] pp из пакета Network Security System (NSS [8]:

image

А начинать работу с токеном PKCS#11 после его приобретения рекомендуется с его инициализации и установки PIN-кодов, чтобы быть уверенным, что эти коды никто не знает:

image

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

Автор: saipr

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/268822

Ссылки в тексте:

[1] аналогии: https://geektimes.ru/post/283668/

[2] закрытый ключ: https://geektimes.ru/post/284938/

[3] токены: https://habrahabr.ru/post/334162/

[4] ГОСТ-криптографии: http://soft.lissi.ru/ls_product/skzi/PKCS11/

[5] здесь: http://soft.lissi.ru/ls_product/utils/p11utils/

[6] доступна здесь: http://ftp.lissi.ru/Utils/P11Conf/

[7] «изящной печати»: https://geektimes.ru/post/292127/

[8] NSS: https://habrahabr.ru/post/335712/

[9] Источник: https://habrahabr.ru/post/342834/