Кэширование пароля к токену

Добрый день!

Подскажите по такой ситуации: у человека есть Рутокен Lite и рабочий компьютер с Windows 10 и Крипто-Про CSP. На токене несколько контейнеров, один из них с действующим сертификатом, который недавно удаленно выпускался с идентификацией по старой действующей КЭП. Человек успешно подписывает документы, НО не знает (забыл) PIN от Рутокен. Крипто-Про просто все делает и не запрашивает PIN.

Получается, что когда-то давно на этом рабочем месте PIN был введен и где-то закешировался, раз Крипто-Про ни при подписании документов, НИ ПРИ СОЗДАНИИ НОВОГО КОНТЕЙНЕРА не спрашивает PIN. Если попытаться воспользоваться этим носителем на другом компьютере, то там PIN запрашивается, т.е. PIN установлен и он не 12345678.

Естественно, первым делом попробовали запускать csptest.exe -passwd -showsaved  и выяснилось, что по версии КриптоПро, ни у одного контейнера нет сохраненного PIN. Однако, ни при тестировании контейнера, ни при создании подписи PIN не запрашивается. Более того, если запустить "Панель управления Рутокен", то кнопка "Ввести PIN-код" при выборе токена автоматически превращается в "Выйти...".

Вопрос: где же запомнился PIN к токену и возможно ли его "вспомнить"?  PIN определенно не в памяти, т.к. его вводили несколько лет назад и компьютер с тех пор точно перезагружался. Он, вроде бы, и не в Крипто-Про, потому что оно хранит пароли к контейнерам, а свежий контенер был точно создан уже без ввода PIN, ну и csptest.exe пароль не вытаскивает.

(2025-07-30 15:41:35 отредактировано windawoz)

Re: Кэширование пароля к токену

blanco, в Панели управления Рутокен на первой вкладке есть кнопка Информация.
Там есть строчка: PIN-код пользователя может быть изменён. Что у вас написано там?

Re: Кэширование пароля к токену

Написано "PIN-код пользователя может быть изменён: Администратором".

Пользователь помнит, что пароли администратора и пользователя установлены одинаковые.
Такая политика была у организации, которая самый первый КЭП выдавала.

Re: Кэширование пароля к токену

blanco, а стандартные PIN-коды 12345678/87654321 не подходят?

Re: Кэширование пароля к токену

Нет, стандарный 123456578 не подходит. Мы точно знаем, что установлен уникальный пароль, 8 символов, одинаковый для PIN и PUK. Просто карточка с ним утеряна. PIN последний раз вводился несколько лет назад, когда еще самая первая КЭП с этого носителя использовалась.

Вопрос уже даже больше теоретический: что за механизм многие годы хранит пароль в Windows и передает его и в "Крипто-Про", и в "Панель управления Рутокен".  Причем именно как PIN от всего носителя, а не от конкретного ключевого контейнера.

Например, Крипто-Про умеет запоминать PIN при включении галочки "Сохранить пароль в системе". Но, во-первых, он запоминается для контейнера (при создании нового контейнера на этом же носителе просит ввести PIN), во-вторых, сохраненный пароль отображается утилитой csptest.exe.

(2025-07-30 17:27:08 отредактировано windawoz)

Re: Кэширование пароля к токену

blanco, КриптоПро умеет запоминать пароли. Откройте программу КриптоПро CSP на вкладке Сервис. Раздел - Пароли закрытых ключей. Но к сожалению, подглядеть пароль нельзя.

Re: Кэширование пароля к токену

blanco, добрый день!
На токене не должны быть одинаковые PIN коды для Пользователя и Администратора, это чревато ошибками.
В целом верно, настроить запоминание паролей можно в КриптоПро CSP.

Re: Кэширование пароля к токену

Хорошо, предположим пароль был сохранен в КриптоПро.
Как пароль, сохраненный в КриптоПро, вызывает автоматическую авторизацию в "Панели управления Рутокен"?
Так должно быть?

Re: Кэширование пароля к токену

blanco, у меня такое встречалось пару раз, я так и не понял причины такого поведения.

Re: Кэширование пароля к токену

blanco, нет, если подходить к вопросу глубже, когда кнопка *Ввести PIN* сменяется на *Выйти*, значит токен *залогинен*, возможно другим процессом, какие то еще программы взаимодействуют с токеном?

Re: Кэширование пароля к токену

Филиппов Никита, так в этом собственно и суть вопроса: что может "логинить" токен. Какие бывают программы или механизмы в Windows для сохранения паролей, что нам искать на этом рабочем месте?
Не похоже, чтобы это было КриптоПро, т.к. csptest говорит, что нет сохраненных паролей.

Неприятность ситуации в том, что пользователь когда-то ввёл пароль для своей первой КЭП, а потом на этом рабочем месте уже без запроса PIN сгенерировался новый контейнер для новой КЭП. В такой ситуации причинно-следственной связи между старой карточкой с PIN и новой КЭП в голове пользователя не возникает.

Re: Кэширование пароля к токену

blanco, у вас специфический вопрос, но по факту: токен у вас работает, ПИН-коды и пароли никто не помнит, даже если и есть приложение, которое запомнило пароль, вы его не сможете подсмотреть в виду защиты информации.

Re: Кэширование пароля к токену

blanco, насколько мне известно, сам Windows не может запоминать PINы, возможно 1С, плагины от операторов ЭДО (СБИС, Контур)
КриптоПро CSP может запомнать как надолго, так и пока не завершится рабочая сессия, возможно какой то процесс завершился не полностью (не было команды на *разлогин*)

Re: Кэширование пароля к токену

Филиппов Никита, я себе это представлял так: при операциях (подписи, создания ключевой пары и т.д.) программы через CryptAcquireContext создают контекст для ГОСТ провайдера от КриптоПро (например, PROV_GOST_2012_256), а дальше этот провайдер при обращении к закрытому ключу запрашивает PIN. Если приложение позаботится и через CryptSetProvParam(PP_SIGNATURE_PIN) выставит PIN в своём открытом контексте, то окошка с запросом не будет. Соответственно, с чего бы 1С, ЭДО и пр. навешивать PP_SIGNATURE_PIN на контексты открытые в чужих процессах. Тут видимо какое-то вмешательство на уровне токена случается.


Не подскажите, когда в "Панели управления Рутокен" кнопка сама меняется на "Выйти...", что физически происходит? Ведь "Панель" наверняка взаимодействует с токеном на прямую, без обращений к CSP-провайдеру.
Даже если пароль сохранен в Крипто-Про, она же не должна "логинить" сессию "Панели управления Рутокен"?

Re: Кэширование пароля к токену

blanco, Да, ПУР обращается напрямую, но если какой-то процесс "вошел" на токен и не разлогинился, то ПУР будет это отображать.
В момент запуска ПУР есть открытое ПО КриптоПро или страница с запущенным браузером-плагином?
Какая версия КриптоПРО используется?
Или есть другое запущенное ПО, которое может работать с токеном?