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

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

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

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

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

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

    Такой утилитой является утилита p11conf:

    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 
    bash-4.3$

    Отличительной особенностью этой утилиты является наличие графической оболочки на Tcl/Tk, которая также доступна


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



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



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



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



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



    На скриншоте хорошо видно, что сертификат можно не толькл экспортировать, но и просматривать.

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



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

    Похожие публикации

    Комментарии 17

      0
      Интерфейс не на Tk, случаем? В 2017 выглядит неприлично непривычно.
        0
        это интерфейс из 3017
        0

        И в чем же его непривычность?

        • НЛО прилетело и опубликовало эту надпись здесь
            –1
            Да те же списки — выкидываются в текстовое окно, надеюсь в режиме только просмотра. Могли бы списком и по каждому элементу щелкать мышкой и выбирать действие. Тут же видно, что по действию появляется окно и в нем еще один список.
          0

          Оригинальная это хорошо или плохо. Ну, а кнопки, давайте переделаем, если от этого PKCS#11-му станет лучше.

          • НЛО прилетело и опубликовало эту надпись здесь
            0
            Что-то интрефейс клиентского ПО не то чтобы не выдерживает критики… По-моему интерфейсы в текстовой консоли выглядят не хуже.
              +2

              А по-моему интерфейс как раз очень функциональный. Комбинация консоли и GUI.
              Кнопки, на которых чётко написано что они делают — вообще моя давняя мечта :)

                +1

                Спасибо. Главное именно в функциональности, а не в объеме кнопок!

                +1
                не хватает p11conf под макось
                tk в макоси есть из коробки и gui запускается, а вот нижней части нет, увы.
                  0

                  Почему же нет — есть, конечно. Добавил на ftp. Можете качать. А результатах расскажите, пожалуйста.

                    0
                    спасибо, посмотрю и отпишусь
                      0
                      не завелось пока
                      1) GUI при выборе PKCS#11 библиотеки пытается выбрать по маске *.so, хотя на в макоси у динамических библиотек расширение dylib
                      (вроде завелось после переименования)
                      2) после загрузки библиотеки и нажатия на любую кнопку возникает окошко с сообщением
                      couldn't execute "/usr/local/bin64/p11conf": permission denied
                      couldn't execute "/usr/local/bin64/p11conf": permission denied
                      Такой папки в макоси нет, но я ее создал, дал все права и разместил там p11conf с FTP
                      3) попробовал под sudo, но увы — не работает и ругается аналогично

                        0

                        1.При выборе хоть утилиты, хоть библиотеки, если вы нажмете выбрать "Тип файлов" — "Любые файлы ". Тогда вы и увидите .dylib. Для MAC и т.д. я посчитал, что устроит выборка "Любые файлы". Добавить нет проблем


                        1. Второй пункт абсолютно не понятен — откуда берется путь "/usr/local/bin64/p11conf", его в коде как класса нет. Утилита выбирается, по этому вы куда хотите туда и кладете ее. Если не трудно, пришлите скриншот GUI.
                          А с какого адреса/ftp вы загружаете утилиту? Это какая-то старая утилита, непонятно как попавшая к вам!!!
                          И еще, что за библиотеки вы грузите?

                        Жду.


                        1. sudo и не нужен.
                          0
                          Владимир Николаевич, наверняка наш диалог сообществу не очень интересен, давайте в личке наверное пообщаемся :)
                          Ответы на все ваши вопросы у меня есть.
                            0

                            Нет проблем

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое