Рутокен ЭЦП 2.0/3.0, GnuPG и сертификаты ГОСТ

Здравствуйте!

Почитал я как заводить Рутокен вместе с демоном gnupg для работы через библиотеку PKSC#11, но что-то я уперся в какую ерунду.

Дело в том, что на токене хранится ГОСТ сертификат, сгенерированный в режиме PKSC#11. И когда я вызываю gpg, получают такой вот ответ

$gpg --card-status
gpg: Карта OpenPGP недоступна: Bad certificate

Я понимаю, что он может не знать про ГОСТ. Но не отказываться же работать со всем токеном из-за того, что там (по его мнению) левый сертификат хранится?

Re: Рутокен ЭЦП 2.0/3.0, GnuPG и сертификаты ГОСТ

dmitrmax, добрый день!

К сожалению, GnuPG работает, если на токене находятся только RSA-ключи и сертификаты. Наличие ГОСТ-ключей
и сертификатов сделает невозможным работу с устройством через GnuPG.

Re: Рутокен ЭЦП 2.0/3.0, GnuPG и сертификаты ГОСТ

Спасибо, Павел!

А стоит ли пробовать завести ЭЦП 3.0 с GnuPG, при условии, что на ней есть ГОСТ-ключи в режиме ФКН?

Re: Рутокен ЭЦП 2.0/3.0, GnuPG и сертификаты ГОСТ

dmitrmax, вероятно должно сработать, т.к. объекты ФКН не перечисляются librtpkcs11ecp.

Re: Рутокен ЭЦП 2.0/3.0, GnuPG и сертификаты ГОСТ

Павел Анфимов пишет:

dmitrmax, вероятно должно сработать, т.к. объекты ФКН не перечисляются librtpkcs11ecp.

А есть ли вообще техническая возможность что-нибудь сделать с ключами ФКН, рабатая через pkcs11? Там не знаю.... как-нибудь отформатировать носитель? Или в целом это безопасно для ФКН-ключей?

Re: Рутокен ЭЦП 2.0/3.0, GnuPG и сертификаты ГОСТ

Для установки защищенного канала, нужно безопасным образом, хранить в ОС ключи, которые участвуют в шифровании канала. На текущий момент это может криптопровайдер, но не PKCS11.

Re: Рутокен ЭЦП 2.0/3.0, GnuPG и сертификаты ГОСТ

Павел Анфимов пишет:

Для установки защищенного канала, нужно безопасным образом, хранить в ОС ключи, которые участвуют в шифровании канала. На текущий момент это может криптопровайдер, но не PKCS11.

То ли вы меня не поняли, то ли я вас. Я имел ввиду: возможно ли случайно через PKCS11 дать носителю какую-либо команду, которая, например, удалит контейнеры ФКН? Я просто не знаю архитектуру носителя и не понимаю как в нём разделяются ресурсы для различных апплетов (вроде бы так называются конкретные приложения на картах). Но память под контейнеры, как я понимаю, общая, и было бы логичным предположить, что, допустим, отформатировать носитель может любой апплет. Вот и боюсь, что один апплет может, допустим, удалить контейнеры другого апплета, если демон gnupg-pkcs11-scd какой-то APDU ему пошлет.

Re: Рутокен ЭЦП 2.0/3.0, GnuPG и сертификаты ГОСТ

dmitrmax

PKCS11 не сможет "точечно" удалить контейнеры ФКН, т.к. не работает с ними. Объект PKCS11 и ФКН хранятся изолированно, в разных папках.

Функция инициализации памяти из стандарта PKCS11 С_InitToken, которую в теории может позвать демон nupg-pkcs11-scd:

  • сбрасывает счетчик неверных попыток ввода пин-кода пользователя,

  • устанавливает PIN-код по умолчанию для пользователя,

  • очищает папку для объектов PKCS#11,

  • устанавливает метку токена.

Нестандартная функция расширения С_EX_InitToken удалит все, но крайне маловероятно, что в gnupg-pkcs11-scd встроен ее вызов.

При этом, "точечно" удалять объекты правильней всего через тот интерфейс, который их создал. Только он знает правильную структуру объектов их размещение. Т.е. удалять контейнеры ФКН нужно через КриптоПро CSP.

Re: Рутокен ЭЦП 2.0/3.0, GnuPG и сертификаты ГОСТ

Ага, стало понятнее. Спасибо.