Как прочитать смарт карту в windows

Общая информация

Смарт-карта Рутокен ЭЦП 3.0 NFC — это устройство, для формирования и безопасного хранения электронной подписи, а также . 

Она выглядит следующим образом:

Со смарт-картой можно работать, как на компьютере, так и на мобильном устройстве.

Для работы со смарт-картой:

  • на компьютере. Необходим контактный или бесконтактный считыватель для смарт-карт;
  • на мобильном устройстве. Необходимо, чтобы мобильное устройство было оборудовано специальным NFC-модулем (это можно проверить в описании его параметров).

Для смарт-карты заданы два PIN-кода: PIN-код Пользователя и PIN-код Администратора.

По умолчанию значение PIN-кода Пользователя — 12345678, а PIN-кода Администратора — 87654321. 

При первом использовании смарт-карты PIN-коды необходимо изменить.

В инструкции описаны процедуры работы со смарт-картой Рутокен ЭЦП 3.0 NFC в различных мобильных и настольных ОС, а именно:

  • в ОС Windows;
  • в ОС семейства GNU\Linux;
  • в macOS;
  • в ОС Android;
  • в iOS.

Работа со смарт-картой на компьютере

Для подключения смарт-карты к компьютеру:

  1. Если считыватель контактный, то вставьте в него смарт-карту.
  2. Если считыватель бесконтактный, то приложите к нему смарт-карту.
  3. Подключите считыватель к USB-порту компьютера. Если смарт-карта подключена корректно, то на считывателе начнет светиться индикатор. Если смарт-карта подключена некорректно, то индикатор на считывателе может мигать или не светиться (зависит от модели считывателя). 

В ОС Windows

Изменение PIN-кода 

Перед началом работы со смарт-картой необходимо изменить ее PIN-коды. Чтобы их изменить, загрузите и установите Комплект драйверов Рутокен.

После установки комплекта драйверов на компьютере появится специальная программа для обслуживания устройств Рутокен — Панель управления Рутокен.

Для того, чтобы изменить PIN-код Пользователя или Администратора:

  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. Нажмите Ввести PIN-код.
  4. Установите переключатель в положение Администратор, введите PIN-код Администратора и нажмите ОК.
  5. В разделе Управление PIN-кодами нажмите Изменить.
  6. Установите переключатель в необходимое положение, введите два раза новый PIN-код и нажмите ОК. В результате выбранный PIN-код будет изменен.

Просмотр сведений об устройстве

В Панели управления Рутокен можно узнать следующую информацию об устройстве:

  • наименование модели;
  • уникальный цифровой идентификатор;
  • версию прошивки и флаги состояния;
  • общий объем памяти;
  • объем свободной памяти;
  • политику для смены PIN-кода Пользователя;
  • возможность использования UTF-8 в PIN-кодах;
  • возможность работы с КриптоПро Рутокен CSP по защищенному каналу ФКН;
  • подключено ли оно по RDP.

Для просмотра сведений об устройстве Рутокен:

  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. В разделе Информация нажмите на одноименную кнопку. Откроется окно Информация о Рутокен, в этом окне указана вся необходимая информация об устройстве.

Просмотр версии установленного комплекта драйверов Рутокен

Для просмотра версии установленного комплекта драйверов:

  1. Откройте Панель управления Рутокен.
  2. Перейдите на вкладку О программеВ поле Версия драйверов Рутокен указан номер версии комплекта драйверов, который установлен на компьютере.

Выбор криптопровайдера, используемого по умолчанию, для устройства Рутокен

Криптопровайдер — это динамически подключаемая библиотека, реализующая криптографические функций со стандартизованным интерфейсом.

У каждого криптопровайдера могут быть собственные наборы алгоритмов и собственные требования к формату ключей и сертификатов.

Чтобы выбрать криптопровайдера, который будет использоваться для Рутокена по умолчанию:

  1. Открой Панель управления Рутокен.
  2. Перейдите на вкладку Настройки.
  3. В разделе Настройки криптопровайдера нажмите Настройка.
  4. В раскрывающемся списке Семейство Рутокен ЭЦП выберите название криптопровайдера.
  5. Чтобы применить изменения и продолжить работу с настройками нажмите Применить
  6. Чтобы подтвердить выбор криптопровайдера нажмите ОК.
  7. В окне с запросом на разрешение внесения изменений на компьютере нажмите Да.

Выбор метода генерации ключевых пар RSA

Чтобы выбрать криптопровайдера для генерации ключевых пар RSA:

  1. Откройте Панель управления Рутокен.
  2. Перейдите на вкладку Настройки.
  3. В разделе Настройки криптопровайдера нажмите Настройка.
     
  4. В разделе Настройки криптопровайдера Aktive Co. Rutoken CSP v1.0 выберите способ генерации ключевых пар RSA 2048 бит для Рутокен ЭЦП, для этого установите переключатель в необходимое положение.
  5. Чтобы применить изменения и продолжить работу с настройками, нажмите Применить
  6. Чтобы подтвердить выбор криптопровайдера, нажмите ОК.
  7. В окне с запросом на разрешение внесения изменений на компьютере нажмите Да.

Выбор настроек для PIN-кода

В Панели управления Рутокен можно задать настройки для PIN-кодов. Перечень настроек указан в таблице 1.

Таблица 1

Настройка Результат выбора настройки
Запомнить PIN-код из приложения…

PIN-код Пользователя вводится один раз при первом использовании устройства Рутокен в приложении.

Эта настройка позволяет уменьшить количество вводов PIN-кода в прикладных приложениях за счет кратковременного хранения их криптопровайдером в зашифрованной памяти.

Не следует использовать данную настройку, если нет уверенности в безопасности компьютера.

Предлагать сменить PIN-код каждый раз… Каждый раз после ввода PIN-кода на экране отображается сообщение с предложением изменить PIN-код (если пользователь не изменил PIN-код, установленный по умолчанию).
Кодирование PIN-кода в UTF-8…

PIN-код может состоять из кириллических символов.

Эта настройка позволяет безопасно использовать PIN-коды, содержащие кириллические символы. 

Чтобы выбрать настройки для PIN-кода:

  1. Откройте Панель управления Рутокен.
  2. Перейдите на вкладку Настройки.
  3. В разделе Настройки PIN-кода нажмите Настройка.
     
  4. Установите галочку рядом с названиями необходимых настроек.
  5. Чтобы применить изменения и продолжить работу с настройками нажмите Применить
  6. Чтобы подтвердить выбор настроек нажмите ОК.
  7. В окне с запросом на разрешение внесения изменений на компьютере нажмите Да.

Указание имени устройства Рутокен

Для того чтобы различать устройства Рутокен между собой следует задать имя каждому устройству. Оно не всегда будет отображаться в сторонних приложениях.

Рекомендуется указать имя и фамилию владельца устройства или краткое наименование области применения устройства.

Для указания имени устройства Рутокен:

  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. Нажмите Ввести PIN-код.
  4. Установите переключатель в положение Пользователь.
  5. Введите PIN-код Пользователя.
  6. Нажмите ОК.
  7. В разделе Имя токена нажмите Изменить.
  8. В поле Имя укажите имя устройства Рутокен.
  9. Нажмите ОК.

Разблокировка Администратором PIN-кода Пользователя

PIN-код Пользователя блокируется в том случае, если пользователь несколько раз подряд ввел его с ошибкой.

PIN-код Пользователя можно разблокировать только, если знаешь PIN-код Администратора.

После того как PIN-код Пользователя будет разблокирован, счетчик неудачных попыток аутентификации примет исходное значение.

После разблокировки PIN-код Пользователя не изменится. 

Для того чтобы разблокировать PIN-код Пользователя:

  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. Нажмите Ввести PIN-код.
  4. Установите переключатель в положение Администратор и введите PIN-код Администратора.
  5. Нажмите ОК.
     
  6. В секции Управление PIN-кодами нажмите Разблокировать. В окне с сообщением об успешном выполнении операции нажмите ОК.
     

     
    В результате PIN-код Пользователя будет разблокирован.

Форматирование Рутокена

В ходе форматирования устройства все, созданные на нем объекты удалятся. Также при форматировании задаются новые значения PIN-кодов или выбираются значения, используемые по умолчанию.
Если пользователь исчерпал все попытки ввода PIN-кода Администратора, то существует возможность вернуть устройство в заводское состояние. Для такого форматирования ввод PIN-кода Администратора не требуется.

При форматировании устройства Рутокен все данные на нем, в том числе ключи и сертификаты, будут удалены безвозвратно.

В процессе форматирования не следует отключать устройство Рутокен от компьютера, так как это может привести к его поломке.

Для запуска процесса форматирования устройства Рутокен:

  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. Нажмите Ввести PIN-код.
  4. Установите переключатель в положение Администратор и введите PIN-код Администратора.
  5. Нажмите ОК.
  6. В разделе Форматирование токена нажмите Форматировать. Откроется окно Форматирование токена.
     

  7. В поле Имя токена введите имя устройства Рутокен.
  8. В разделе PIN-код Пользователя может менять установите переключатель в необходимое положение.
  9. В разделе Пользователь укажите новый PIN-код Пользователя или установите галочку Использовать PIN-код по умолчанию.
  10. В раскрывающемся списке Минимальная длина PIN-кода выберите необходимое значение.
  11. В раскрывающемся списке Попытки ввода PIN-кода выберите необходимое значение.
  12. В разделе Администратор укажите новый PIN-код Администратора или установите галочку Использовать PIN-код по умолчанию.
  13. В раскрывающемся списке Минимальная длина PIN-кода выберите необходимое значение.
  14. В раскрывающемся списке Попытки ввода PIN-кода выберите необходимое значение.
  15. Нажмите Начать.
  16. В окне с предупреждением об удалении всех данных на устройстве Рутокен нажмите ОК

  17. Дождитесь окончания процесса форматирования.
  18. В окне с сообщением об успешном форматировании устройства Рутокен нажмите ОК.

В ОС семейства GNU\Linux

Проверка корректности подключения считывателя для смарт-карт к компьютеру

Первым делом подключите считыватель для смарт-карт к компьютеру и вставьте в него смарт-карту.

Для проверки корректности подключения считывателя для смарт-карт к компьютеру введите команду:

lsusb 

В результате в окне Терминала отобразится название модели считывателя для смарт-карт:

Это означает, что считыватель для смарт-карт подключен корректно.

Определить название смарт-карты и выполнить дальнейшие действия данной инструкции невозможно без предварительной установки дополнительного программного обеспечения. 

Установка дополнительного программного обеспечения

В deb-based и rpm-based системах используются разные команды. Список систем указан в таблице 1.

Таблица 1. Список операционных систем GNU/Linux

deb-based rpm-based

Debian, Ubuntu, Linux Mint,

Astra Linux

RedHat, CentOS, Fedora, ALT Linux,

ROSA Linux, МСВС,

Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:

в deb-based системах это обычно:

  • библиотека libccid не ниже 1.4.2;
  • пакеты libpcsclite1 и pcscd;
  • pcsc-tools.

в rpm-based системах это обычно:

  • ccid не ниже 1.4.2;
  • pcsc-lite;
  • pcsc-tools.

в ALT Linux это обычно:

  • pcsc-lite-ccid;
  • libpcsclite;
  • pcsc-tools.

Также для всех типов операционных систем необходимо установить библиотеку OpenSC.

Перед установкой библиотек и пакетов проверьте их наличие в системе. Для этого введите команду:

В deb-based системах:

dpkg -s libccid libpcsclite1 pcscd pcsc-tools opensc

Если библиотека или пакет уже установлены в системе, то в разделе Status отобразится сообщение «install ok installed».

В разделе Version отобразится версия указанной библиотеки или пакета (версия библиотеки libccid должна быть выше чем 1.4.2).

В rpm-based системах:

sudo rpm -q ccid pcsc-lite pcsc-tools opensc

Если библиотека или пакет уже установлены в системе, то на экране отобразятся их названия и номера версий (версия библиотеки ccid должна быть выше чем 1.4.2).

В ALT Linux:

sudo rpm -q pcsc-lite-ccid libpcsclite pcsc-tools opensc

Если у вас нет доступа к команде sudo, то используйте команду su.

Если библиотек и пакетов еще нет на компьютере, то необходимо их установить. 

Для установки пакетов и библиотек:

В deb-based системах введите команду:

sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc

В rpm-based системах (кроме ALT Linux) введите команду:

sudo yum install ccid pcsc-lite pcsc-tools opensc

В ALT Linux введите команду:

sudo apt-get install pcsc-lite-ccid libpcsclite pcsc-tools opensc

Если у вас нет доступа к команде sudo, то используйте команду su.

Проверка работы Рутокен ЭЦП 3.0 NFC в системе

Для проверки работы смарт-карты:

  1. Подключите ее к компьютеру.
  2.  Введите команду:

    pcsc_scan
  3. Е

    Значит смарт-карта работает корректно.

Изменение PIN-кода Пользователя

Перед запуском процесса смены PIN-кода  установите библиотеку PKCS#11 и определите путь до библиотеки librtpkcs11ecp.so.

Для того чтобы загрузить библиотеку PKCS#11:

  1. Определите разрядность используемой системы:

    uname -p

    Если в результате выполнения команды отобразилась строка подобная «i686», то система является 32-разрядной.

    Если в результате выполнения команды отобразилась строка подобная «x86_64», то система является 64-разрядной.

  2. Перейдите по указанной ссылке, выберите необходимую версию, загрузите и установите ее:
    https://www.rutoken.ru/support/download/pkcs/

Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:

find  /usr/*(lib|lib64) -name librtpkcs11ecp.so

Для изменения PIN-кода введите команду:

pkcs11-tool --module {A} --login --pin {B} --change-pin --new-pin {C}

A — путь до библиотеки librtpkcs11ecp.so.

B  текущий PIN-код устройства.

C — новый PIN-код устройства.

В результате PIN-код устройства будет изменен.

В macOS

Проверка корректности подключения считывателя для смарт-карт к компьютеру

Для проверки корректности подключения считывателя для смарт-карт к компьютеру:

  1. Подключите считыватель для смарт-карт к компьютеру и вставьте в него смарт-карту
  2. Откройте программу Информация о системе (System Information).
  3. На боковой панели окна программы выберите пункт USB.
  4. Для считывателя в окне программы отобразится название модели считывателя и информация о нем.

Это означает, что считыватель для смарт-карт подключен корректно.

Определение названия модели смарт-карты

Перед запуском процесса определения названия модели смарт-карты:

  • загрузите и установите пакет OpenSC;
  • загрузите и установите приложение Рутокен для macOS
  • еделите путь до библиотеки librtpkcs11ecp.dylib.

Актуальная версия установочного пакета OpenSC доступна по ссылке:

https://github.com/OpenSC/OpenSC/wiki

Для установки пакета OpenSC:

  1. Запустите программу установки пакета OpenSC.
  2. В окне с уведомлением о том, что автор программы является неустановленным разработчиком нажмите Отменить.
  3. Выберите в меню Apple () пункт Системные настройки (System Preferences).
  4. Выберите настройку Защита и безопасность (Security & Privacy).
  5. Нажмите Подтвердить вход.

  6. Чтобы подтвердить открытие установочного пакета OpenSC нажмите Открыть.
  7. Снова запустите программу установки пакета OpenSC и нажмите Продолжить.
  8. Чтобы начать процесс установки нажмите Установить.
  9. В окне для ввода учетных данных укажите пароль пользователя и нажмите Установить ПО.
  10. После завершения процесса установки нажмите Закрыть. В результате пакет OpenSC будет установлен.
  11. Если после установки пакета необходимо остановить установщик, то нажмите Остановить

https://www.rutoken.ru/support/download/mac/

Для установки приложения Рутокен для macOS, в окне Рутокен для macOS перетащите значок Рутокен для macOS в папку Application.

Для того чтобы определить путь до библиотеки librtpkcs11ecp.dylib:

  1. Откройте Терминал (Terminal).
  2. Введите команду:

    sudo find /usr -name librtpkcs11ecp.dylib
  3. Нажмите Enter. В результате в окне Терминала отобразится путь до библиотеки librtpkcs11ecp.dylib.

Чтобы определить название модели смарт-карты, подключите ее к компьютеру и введите команду:

pkcs11-tool --module {A} -T

A — путь до библиотеки librtpkcs11ecp.dylib.

В разделе token model отобразится название модели смарт-карты.

      

Проверка работы смарт-карты в системе

Для проверки работы Рутокен ЭЦП:

  1. Подключите устройство к компьютеру.
  2. Откройте Терминал (Terminal).

  3. Введите команду:

    pcsctest
  4. Нажмите Enter и введите цифру «1».

  5. Нажмите Enter и введите цифру «1».
  6. Нажмите Enter
  7. Если отобразилось следующее сообщение:

    Значит смарт-карта работает.

Изменение PIN-кода смарт-карты

Для изменения PIN-кода введите команду:

pkcs11-tool --module {A} --login --pin {B} --change-pin --new-pin {C}

A — путь до библиотеки librtpkcs11ecp.dylib.
B — текущий PIN-код устройства.
C — новый PIN-код устройства.

В результате PIN-код устройства будет изменен.

Работа со смарт-картой на мобильном устройстве

В ОС Android

Работа со смарт-картой возможна, если выполняются два условия:

  • у мобильного устройства есть NFC-модуль;
  • на мобильном устройстве включена функция NFC.

При работе со смарт-картой на мобильном устройстве отображается специальное окно с сообщением, которое предупреждает, что карту необходимо приложить.

Смарт-карта прикладывается к мобильному устройству следующим образом:

Смарт-карту необходимо держать так до того момента, пока на экране смартфона отобразится сообщение о том, что работа с картой NFC завершена.

Установка приложения Панель управления Рутокен на Android

Приложение Панель управления Рутокен дает возможность:

  • просматривать информацию о подключенных устройствах Рутокен;
  • изменять PIN-коды и метки устройств.

Для установки приложения Панель управления Рутокен:

  1. Запустите Google Play Маркет на устройстве.
  2. В строке поиска введите название приложения и нажмите ENTER.
  3. Выберите Панель управления Рутокен в списке результатов поиска. Откроется страница с подробными сведениями о приложении.
  4. Нажмите Установить.
  5. Ознакомьтесь со списком прав, которые необходимы приложению.
  6. Если вы согласны предоставить приложению требуемые права, нажмите Принять. Начнется загрузка и установка приложения.
  7. Если вы не согласны предоставить приложению требуемые права, нажмите Назад. В этом случае установка приложения будет отменена.

Подключение Рутокена

Для подключения дуальной смарт-карты с поддержкой NFC необходимо мобильное устройство с NFC-модулем.

Для проверки отображения названия дуальной смарт-карты в приложении Панель управления Рутокен:

  1. Запустите приложение Панель управления Рутокен.
  2. Приложите  Рутокен ЭЦП 3.0 NFC к мобильному устройству.
  3. В окне приложения, в карточке устройства нажмите на стрелочку. Откроется окно с основной информацией о смарт-карте.
    На иллюстрациях представлен пример корректного отображения названия смарт-карты и информации о ней.

     

Работа с приложением Панель управления Рутокен

Изменение PIN-кода

Для изменения PIN-кода Пользователя или Администратора в приложении Панель управления Рутокен:

  1. Подключите смарт-карту к устройству на Android.
  2. Запустите приложение Панель управления Рутокен.
  3. Нажмите на карточку устройства.
  4. Чтобы открыть меню, нажмите в правом верхнем углу на значок .
  5. Выберите пункт меню Сменить PIN-код. В приложении отобразится окно для ввода нового PIN-кода.
  6. Перейдите на вкладку Пользователь (для ввода нового PIN-кода Пользователя) или Администратор (для ввода нового PIN-кода Администратора).
  7. Введите текущий PIN-код.
  8. Два раза новый PIN-код
  9. Нажмите ОК.
Изменение метки устройства Рутокен

Для изменения метки устройства:

  1. Подключите Рутокен к устройству на Android.
  2. Запустите приложение Панель управления Рутокен.
  3. Нажмите на карточку устройства.
  4. Чтобы открыть меню, нажмите в правом верхнем углу на значок  .
  5. Выберите пункт меню Сменить метку токена. В приложении отобразится окно для ввода PIN-кода Пользователя и новой метки.

  6. Введите PIN-код Пользователя.
  7. Введите новую метку.
  8. Нажмите ОК.
Разблокировка PIN-кода

Для разблокировки PIN-кода Пользователя:

  1. Подключите Рутокен к устройству на Android.
  2. Запустите приложение Панель управления Рутокен.
  3. Нажмите на карточку устройства.
  4. Чтобы открыть меню нажмите в правом верхнем углу на значок .
  5. Выберите пункт меню Разблокировать. В приложении отобразится окно для ввода PIN-кода Администратора и кнопка для разблокировки PIN-кода Пользователя.
  6. Введите PIN-код Администратора.
  7. Нажмите ОК.

В iOS

Работа со смарт-картой возможна если соблюдаются два условия:

  • версия iOS от 13 и выше;
  • у вас одна из следующих моделей iPhone: XR; XS; 11; 11 Pro; 11 Pro Max; 12; 12 mini; 12 Pro; 12 Pro Max.

При работе со смарт-картой на мобильном устройстве отображается специальное окно с сообщением, которое предупреждает, что карту необходимо приложить.

Смарт-карта прикладывается к мобильному устройству следующим образом:

Верхняя часть смартфона должна находиться в нескольких миллиметрах от смарт-карты.

Смарт-карту необходимо держать так до того момента, пока на экране смартфона отобразится сообщение о том, что работа с картой NFC завершена:

Процесс подписания документа в приложении состоит из следующих шагов:

  1. Откройте приложение, в котором необходимо подписать документ.
  2. Откройте документ.
  3. Нажмите Подписать.
  4. Введите PIN-код Пользователя и нажмите Продолжить.
  5. Приложите смарт-карту и дождитесь окончания процесса подписания документа. В результате документ будет подписан.
Критерий  Характеристика смарт-карты
Основные характеристики
Аппаратная часть Защищенный микроконтроллер со встроенной энергозависимой памятью
EEPROM память 128 Кбайт
Габаритные размеры 85,6 x 53,98 x 0,76 мм
Масса 5,5 г
Поддерживаемые ОС
  • Microsoft Windows 10/8.1/2019/2016/2012R2/8/2012/7/2008R2/Vista/2008
  • GNU/Linux (в том числе отечественные)
  • Apple macOS 10.15/10.14/10.13/10.12/10.11/10.10/10.9
  • Android 5 и новее
  • iOS 13 и новее
  • Аврора
Поддерживаемые интерфейсы и стандарты 
PKCS#11 версии 2.20, включая российский профиль (2.30 draft) да
Microsoft Crypto API да
PC/SC да
Microsoft Smartcard API да
USB CCID (работа без установки драйверов) да
ISO/IEC 7816
  • ISO/IEC 7816-3, протокол T=0 и T=1 для контактной микросхемы,
  • ISO 14443 (NFC) для бесконтактной микросхемы.
Криптопровайдер собственный Crypto Service Provider
Сертификаты X.509 версии 3 на уровне программного обеспечения да
Криптографические возможности
Поддержка алгоритма ГОСТ 28147-89 да, аппаратная реализация
Поддержка алгоритма ГОСТ Р 34.12-2015 (Магма) да, аппаратная реализация
Поддержка алгоритма ГОСТ Р 34.12-2015 (Кузнечик) да, аппаратная реализация
Режим шифрования
  • простая замена,
  • гаммирование,
  • гаммирование с обратной связью
Режим выработки имитовставки да
Генерация ключей шифрования да
Импорт ключей шифрования нет
Запрет экспорта ключей шифрования да
Поддержка алгоритма ГОСТ Р 34.10-2012 да, аппаратная реализация
Формирование и проверка ЭП да
Генерация ключевых пар да, с проверкой качества
Импорт ключевых пар да, с помощью ключа эмитента
Запрет экспорта ключевых пар да
Срок действия закрытых ключей до 3 лет
Размер закрытого ключа 256 и 512 бит
Поддержка алгоритма ГОСТ 34.11-2012 (256 и 512 бит) аппаратная реализация
Вычисление значения хэш-функции да, в т. ч. с возможностью последующего формирования ЭП
Формирование и проверка ЭП да
Генерация ключевых пар да, с проверкой качества
Импорт ключевых пар да
Запрет экспорта ключевых пар да
Срок действия закрытых ключей до 3 лет
Поддержка алгоритма ГОСТ 34.11-94 аппаратная реализация
Выработка сессионных ключей (ключей парной связи)

да

  • по схеме VKO GOST R 34.10-2001 согласно RFC 4357
  • по схеме VKO GOST R 34.10-2012 согласно RFC 7836
Расширение по схеме EC El-Gamal да
Поддержка алгоритма RSA аппаратная реализация расшифрования и подписи (RSA-1024, RSA-2048, RSA-4096)
Формирование электронной подписи да
Генерация ключевых пар да, с проверкой качества
Импорт ключевых пар да
Запрет экспорта ключевых пар да
Размер ключей до 4096 бит
Поддержка алгоритма ECDSA да, кривые secp256k1 и secp256r1
Поддержка алгоритмов DES (3DES), AES, RC2, RC4, MD4, MD5, SHA-1, SHA-256 хранение экспортируемых ключей в EF,
SHA-1, SHA-256, MD5 в PKCS#11, RC4, MD4, MD5, SHA-1, SHA-256, 3DES, AES в minidriver
Формирование электронной подписи да
Генерация ключевых пар да, с проверкой качества
Импорт ключевых пар да
Работа с СКЗИ «КриптоПро 5.0» по протоколу защиты канала SESPAKE (ФКН2). да
Сведения о сертификации
Наличие сертификата ФСТЭК да
Наличие сертификата ФСБ да
Файловая система
Файловая структура встроенная, по стандарту ISO/IEC 7816-4
Тип размещения файловых объектов в памяти (архитектура файловой системы) использование File Allocation Table (FAT)
Количество папок и уровень их вложенности уровень ограничен объемом свободной памяти
Число файловых объектов внутри папки до 255 включительно
Хранение ключевой информации
  • использование файлов Rutoken Special File (RSF-файлов)для хранения ключей шифрования, сертификатов;
  • использование предопределенных папок для хранения разных видов ключевой информации с автоматическим выбором нужной папки при создании и использовании RSF-файлов
Запрет экспорта закрытых и симметричных ключей да
Шифрование файловой системы да, прозрачное, алгоритм ГОСТ 28147-89, уникальный ключ шифрования для каждого экземпляра устройства
Дополнительно использование Security Environment для удобной настройки параметров криптографических операций
Аутентификация и конфиденциальность
Двухфакторная аутентификация да, предъявление токена + ввод PIN-кода
Уровни доступа
  • Гость
  • Пользователь
  • Администратор
Разграничение доступа к файловым объектам в соответствии с уровнем доступа да
Ограничение числа попыток ввода PIN-кода да, настраиваемое
Поддержка PIN-кодов
  • глобальные PIN-коды: Администратора и Пользователя,
  • локальные PIN-коды (для защиты конкретных объектов в памяти устройства, например, контейнеров сертификатов)
  • Настраиваемые аппаратные политики качества PIN-кодов
Ограничение минимального размера PIN-кода да, настраивается независимо для любого PIN-кода
Дополнительно
  • поддержка комбинированной аутентификации:
    • аутентификация по глобальным PIN-кодам
    • аутентификация по глобальным PIN-кодам в сочетании с аутентификацией по локальным PIN-кодам.
  • возможность одновременного контроля прав доступа, заданных до 7-ю локальными PIN-кодами.
  • индикация факта смены глобальных PIN-кодов с умалчиваемых на оригинальные.
Возможность встраивания радиочастотной метки да
Поддерживаемые типы меток

Работа с системами контроля и управления доступом, поддерживающими протокол NFC

Встроенный контроль и индикация
Контроль целостности прошивки да
Контроль целостности системных областей памяти да
Проверка целостности RSF-файлов перед использованием да
Типы счетчиков
  • счетчик изменений файловой системы
  • счетчик изменений PIN-кодов
  • счетчики последовательных неудачных попыток ввода PIN-кодов
  • счетчик успешных операций электронной подписи
Проверка правильности функционирования криптографических алгоритмов да
Режимы работы светодиодного индикатора
  • готовность к работе
  • выполнение операции
  • нарушение в системной области памяти

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

Шаг 1: Подключите смарт-карту к компьютеру.
Для этого вам понадобится специальное устройство для чтения карт – карт-ридер. Вставьте смарт-карту в карт-ридер и подключите его к USB-порту компьютера.

Шаг 2: Установите драйверы карт-ридера и смарт-карты.
Если вы используете новый карт-ридер, вероятно, вам понадобится установить драйверы для него. Обычно они поставляются на диске вместе с карт-ридером или можно загрузить их из интернета. Драйверы смарт-карты устанавливаются автоматически при первом подключении.

Шаг 3: Настройте программное обеспечение для работы с смарт-картой.
В зависимости от того, для какой цели вы используете смарт-карту, вам могут понадобиться специальные драйверы или программы. Например, для подписания электронных документов вам может понадобиться установить программное обеспечение для работы с ЭЦП (электронной цифровой подписью).

Шаг 4: Используйте смарт-карту для нужных целей.
Как только все настройки выполнены, вы можете использовать смарт-карту. Например, для входа в систему Windows вы можете задать пароль для смарт-карты и использовать ее вместо обычного пароля. Для подписания документов откройте программу, которая поддерживает работу с ЭЦП, и следуйте инструкциям.

Советы:

— Сохраняйте свою смарт-карту в безопасном месте, чтобы предотвратить ее утерю или кражу.
— Если вы забыли пароль от смарт-карты, вы можете восстановить его только при помощи специальных инструментов.
— Существуют разные типы смарт-карт, которые могут поддерживать разные функции. Убедитесь, что выбрали правильный тип для нужной вам задачи.


В результате интенсивного развития технологий, связанных с ИT-индустрией, в последнее время стали широко использоваться смарт-карты и другие подобного рода устройства. Действительно, удобно носить в кармане пиджака маленькую штучку, которая надежно защищает важную информацию, обладает значительным объемом памяти и обеспечивает самые разнообразные функции — от аутентификации в локальной сети до доступа в помещения и возможности заплатить за ужин в столовой. Да и потеря или кража устройства не откроет новому владельцу доступа к ресурсам.

Как всегда, отмечу разработчиков Microsoft. Во всех операционных системах этой компании, начиная с Windows 95/NT 4.0, реализована поддержка работы со смарт-картами. Отметим, что под словами «поддержка смарт-карт» подразумевается сложная многоуровневая система драйверов. Поддерживать необходимо как устройства для чтения карточек — ридеры, так и собственно интерфейсы обмена данными с картами. Выработано два стандарта. Для ридеров — PC/SC — стандарт, обеспечивающий PnP-подключение устройства к компьютеру. А для карт — ISO 7816 нескольких уровней, регламентирующий набор исполняемых картой команд, схемы хранения информации на карте (файловую структуру) и доступ к ней, поддерживаемые технологии защиты информации, а также формат этих команд. Большинство серийно выпускаемых устройств такие стандарты поддерживает.


Рисунок 1. Архитектура подсистемы поддержки смарт-карт в Windows.

На Рисунке 1 приведена схема архитектуры подсистемы поддержки смарт-карт Windows, которую можно найти в MSDN. Видно, что система построена в традиционном для Windows виде слоев (уровней абстракции), изолирующих соответствующие детали реализации.

Подсистема основана на стандарте PC/SC. Основными компонентами подсистемы являются:

  • Resource Manager, управляющий доступом к нескольким одновременно работающим на одном компьютере ридерам и смарт-картам. К числу его функций относятся идентификация и поддержка устройств, поддержка одновременного доступа нескольких приложений к устройствам и поддержка транзакционного механизма обмена информацией;
  • User Interface, который представляет собой стандартное диалоговое окно (common dialog box) и позволяет выбрать устройство и подсоединиться к смарт-карте;
  • несколько COM-объектов, предоставляющих доступ к специфическим функциям смарт-карт.

Для разработчиков реализовано несколько уровней API. В этой статье я расскажу о наиболее гибком из них, но и наиболее технически сложном — SC API, предоставляющем низкоуровневый интерфейс к описываемой подсистеме Windows.


В первую очередь необходимо отдавать себе отчет в том, что смарт-карта — это своего рода компьютер. Современные устройства содержат до 128 Кбайт памяти и виртуальную машину Java версии 1.2. Информация на карте хранится в виде иерархической файловой системы с весьма нетривиальными свойствами, например возможностью шифрования тех или иных файлов. Поэтому функции SCApi предназначены, в первую очередь, для установки взаимодействия с картой. Т. е. с помощью этого API можно передать команду и получить ответ. А вот как сформировать команду и интерпретировать ответ — дело разработчика. Тем более что форматы и наборы команд для разных устройств различны.

В данной статье я буду ориентироваться на смарт-карты Sample Cryptoflex 8K производства компании Schlumberger. Это простые карточки, оснащенные памятью объемом 8 Кбайт и поддерживающие основные криптографические алгоритмы. Java-машина на них не реализована. Карты недорогие, и сегодня они могут с успехом использоваться во многих приложениях. Формат команд, применяемых для этих карт, стандартный. Похожие карты выпускаются, например, компанией Siemens. Также похожий интерфейс у устройств token компании Aladdin, которые, впрочем, оснащены микросхемами Siemens (недавно компанией Aladdin совместно с НТЦ «Атлас» выпущено устройство Aladdin eToken RIC, которое содержит микросхему, удовлетворяющую всем требованиям ГОСТ 28147-89; SDK для этой микросхемы можно приобрести отдельно).

В этой статье будут описаны следующие задачи, часто возникающие при разработке приложений, ориентированных на использование смарт-карт: получение списка устройств (ридеров), мониторинг состояния ридера (карта вставлена/извлечена) и, в качестве примера работы с картой, процедура проверки пароля и получение последовательности случайных символов. Программа написана и протестирована в среде Visual C++ 6.0, но может быть перенесена без изменений в .NET. Для работы требуется Platform SDK. Приведенные примеры ориентированы на Windows 95 OSR 2.1/98/Me/NT/2000/XP.

Начало работы


Перед вызовом любых функций MS SmartCard API необходимо инициализировать библиотеку. Это делается путем вызова функции LONG ScardEstablishContext (IN DWORD dwScope, IN LPCVOID lpReserved1, IN LPCVOID lpReserved1, OUT LPSCARDCONTEXT lphContext). У этой функции только один передаваемый параметр — dwScope, который указывает уровень доступа к подсистеме. Возможны два варианта — SCARD_SCOPE_USER и SCARD_SCOPE_SYSTEM. Первый предполагает уровень доступа, соответствующий правам учетной записи пользователя, в контексте которого выполняется процесс. Второй подразумевает полный доступ. В этом случае контекст процесса должен соответствовать учетной записи, которой делегированы все права для работы с подсистемой поддержки смарт-карт. Функция возвращает параметр — значение контекста, используемого диспетчером ресурсов для доступа к внутренней базе данных Windows и содержащей информацию о картах и ридерах. Контекст используется во всех функциях, осуществляющих администрирование и взаимодействие со смарт-картами.

Получение списка подключенных ридеров

Заметим, что к одному компьютеру может быть подключено множество разнообразных устройств. Приложение должно уметь определять и идентифицировать каждое из них. Как это делается, показано в Листинге 1. Затем можно получить список подключенных ридеров. Для этого существует метод GetListReaders, инкапсулирующий функцию ScardListReaders, возвращающую SCARD_S_SUCCESS в случае успешного вызова.

Монитор текущего состояния ридеров


Ниже описана одна из самых распространенных проблем, возникающих при работе с карточками. Как приложение может узнать о том, извлечена карта или нет? Мы создадим поток, который будет оповещать приложение о произошедших событиях (в данном случае применяется функция PostMessage, но с равным успехом можно воспользоваться PostThreadMessage или функциями синхронизации).

В качестве параметра потока ему передается указатель на структуру SCREADERS_SCANER_PROC_PARAM, описываемую в Листинге 2. Функция потока приведена в Листинге 3. Возникает соблазн передать этой структуре ранее полученное значение SCARDCONTEXT, но в MSDN отмечено, что использовать в разных потоках одно значение этого параметра нельзя. Под Windows 2000 ошибка не проявляется, но под Windows 9x происходит взаимная блокировка потоков.

Поле nMessage заполняется значением, возвращаемым функцией RegisterWindowMessage ( LPCTSTR szMessageName ). Например:

lpParam->nMessage
 = RegisterWindowMessage
( «WM_SCSAMPLE_CALLBACKMESSAGE» ).

Параметры wpCardPutInValue и wpCardTakeOutValue могут принимать любые значения, удобные для использования в приложении. Полю lphExitEvent присваивается значение адреса соответствующей переменной в родительском потоке. Переменная должна быть равна NULL. Когда потребуется завершить поток, следует вызвать функцию CreateEvent, и ее результат присвоить переменной, адрес которой мы передали в функцию потока. После чего нужно дождаться его окончания с помощью вызова WaitForSingleObject (hThread,dwTime). Параметр hThread, очевидно, был возвращен приложению функцией CreateThread. Поле hWnd содержит описатель окна, которому будут передаваться сообщения о событиях со смарт-картами. Ну а о том, как создать значения полей dwReadersCount и lpReaderState, я рассказал выше.

Теперь создадим поток, функция которого приведена в Листинге 3. Напомню, что вызов функции CreateThread под Windows 9x закончится неудачей, если последний параметр — LPDWORD lpdwThreadID — будет равен NULL. Но под Windows NT/2k/XP этот указатель можно не передавать. Функция потока реализована обычным для подобных задач образом. В первую очередь следует проверить, нет ли необходимости завершить поток. Это делается с помощью функции WaitForSingleObject, которой передается параметр, задающий значение времени ожидания 0. Это означает, что, если событие не произошло, управление сразу возвращается, а если произошло, то результат функции WAIT_OBJECT_0. В последнем случае мы освобождаем память и завершаем цикл.

Далее мы проверяем состояние ридеров и, если какой-то из них изменил состояние, сообщаем об этом родительскому потоку. В данном случае используется функция PostMessage, так как сообщения отправляются окну. В противном случае, если созданный поток не имеет цикла обработки сообщений в окнах, нужно использовать функцию PostThreadMessage и вместо идентификатора окна передавать идентификатор потока, в который вы отправляете сообщение. Отмечу, что приведенная функция не отслеживает ситуацию, когда добавляется новый ридер или когда устройство чтения смарт-карт извлекают из компьютера. Реализацию этой возможности пользователь может взять на себя. Здесь я отмечу лишь, что список ридеров, который хранится в родительском потоке, должен быть идентичен списку ридеров из потока монитора.

Выбор ридера и подключение к смарт-карте

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

Приложение получает сообщение nMessage из структуры SCREADERS_SCANER_PROC_PARAM (см. Листинг 4).

Что именно происходит в функциях SmartCardInsert и SmartCardRemove, зависит от специфики приложения. Например, при извлечении карты бухгалтерская программа может заблокировать доступ к базе данных. Или системная служба размонтирует диск или прекратит работу какого-нибудь сервера — вариантов множество.

Когда карта вставлена, логично начать с ней работать. Для этого надо инициализировать процесс взаимодействия с картой путем вызова функции LONG ScardConnect (IN SCARDCONTEXT hContext,IN LPCTSTR szReader,IN DWORD dwShareMode, IN DWORD dwPreferredProtocols, OUT LPSCARDHANDLE phCard, OUT LPDWORD pdwActiveProtocol), которой передаются текущий контекст, имя ридера, режим разделения ресурсов. Можно предоставить другим приложениям возможность работать с выбранным ридером — SCARD_SHARE_SHARED, запретить это — SCARD_SHARE_EXCLUSIVE, а также использовать режим непосредственной работы с картой — SCARD_SHARE_DIRECT, при котором другим приложениям доступ к ридеру запрещен. Взаимодействие с картой — т. е. работа с удаленным устройством — подразумевает использование того или иного протокола обмена. Определены два протокола, оба — асинхронные. Один, SCARD_PROTOCOL_T0, подразумевает обмен, ориентированный на символы, а второй, SCARD_PROTOCOL_T1, ориентирован на передачу блоков информации. Поскольку многие карты поддерживают оба протокола, параметр dwPreferredProtocols лучше инициализировать как SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1. В этом случае в параметре pdwActiveProtocol возвращается протокол, по которому будет осуществляться обмен. Ну и параметр phCard будет содержать заголовок, который далее может использоваться в других функциях.

Перед началом обмена с картой необходимо открыть транзакцию. Это не позволит другим приложениям менять информацию на карте в то время, когда вы с ней работаете. Начинает транзакцию вызов функции LONG ScardBeginTransaction (IN SCARDHANDLE hCard). Теперь мы готовы начать работать с картой.

Запись информации на карту

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

Обратим внимание, что задача состоит из двух частей. Первая — передача команды ридеру, и вторая — собственно формирование этой команды. Формат команды при этом зависит даже не от карт ридера, а от используемой смарт-карты.

Передача информации осуществляется с помощью приведенной функции (см. Листинг 5).

В параметре wSendStatus возвращается полученный от карты код завершения операции. Еще раз обращаю внимание читателей на то, что все операции, приводящие к тому или иному взаимодействию с картой, содержат два кода результата: первый — SmartCard API, сообщающий о результате процесса обмена, и второй — от карты, описывающий процесс обработки переданной информации непосредственно картой. Иначе говоря, вы можете успешно передать инструкции на карту, но обработать их она по тем или иным причинам, возможно, и не сумеет. В параметре wSendStatus содержится как раз эта информация.

Как правило, возвращаемый статус записывается в переменную типа WORD. Но, строго говоря, это зависит от типа используемой карты. Выбранные для экспериментов карточки Crtyptoflex 8k принадлежат именно к числу таких устройств. Однако при реализации приложения убедитесь, что применяемые карты используют такой тип возвращаемого результата.

Чтение информации с карты

Аналогично реализуется функция чтения информации, например файла с карты. Текст функции приведен в Листинге 6 и в комментариях не нуждается.

Управление смарт-картой

Теперь попробуем воспользоваться замечательными функциями, предоставляемыми смарт-картами. Еще раз обращу внимание читателей на то, что все приведенные ниже примеры ориентированы на работу с карточками Schlumberger Sample Cryptoflex 8K и с другими картами, вероятнее всего, работать не будут. Стандарт ISO 7816-4 описывает, в какой форме передаются команды на смарт-карту. А именно — формируется структура, называемая application protocol data unit (APDU), содержащая как инструкции, так и данные. APDU представляет собой структуру, приведенную в Листинге 7, за которой может следовать буфер данных, размер которого зависит от типа исполняемой команды. Для удобства работы я использовал структуру, приведенную в Листинге 8.

Как правило, работа с картой начинается с ввода пароля. Выбранные нами для примера карты поддерживают два пароля (PIN-кода): административный, который еще называют транспортным, и пользовательский. Первый предоставляет доступ ко всем функциям карты, второй — к некоторому их подмножеству; пример обработки пароля приведен в Листинге 9. Отмечу, что большая часть карт не позволяет вводить неправильные пароли произвольное число раз. Как правило, после нескольких неудачных попыток карта блокируется. Вы это наверняка знаете на примере правил использования мобильных телефонов. Ведь сердцем телефонов всех современных стандартов как раз и является SIM-карта, которая представляет собой смарт-карту. Например, во многих телефонах используются карты Schlumberger Cyberflex 32k.

В картах Cryptoflex 8K длина пароля фиксирована и равна 8 байт. Это используется в тексте функции. Возвращаемый статус проверяется на значение, соответствующее успешному завершению операции, — 0x0090.

Как я говорил выше, смарт-карта кроме непосредственного хранения информации может выполнять различные функции. Например, генерировать последовательности случайных символов — функция очень полезная при автоматической генерации паролей. Как это происходит, показано в Листинге 10. Длина последовательности задается в поле bP3 структуры SC_COMMAND_HEADER.

Описание всех команд, поддерживаемых смарт-картами Schlumberger Sample Cryptoflex 8K, можно найти в документации, входящей в состав SDK, поставляемых компанией Schlumberger-Sema. Здесь мы рассмотрели лишь примеры работы с картами, и описание полного списка поддерживаемых ими функций выходит далеко за рамки этой статьи.

Завершение работы

После того как все планируемые операции выполнены, необходимо завершить сессию. Это делается путем последовательного вызова двух функций: SCardEndTransaction и SCardDisconnect. Наборы параметров в обоих случаях одинаковые. Первый представляет собой идентификатор, полученный после вызова функции ScardConnect, а второй сообщает системе, что делать с картой после отсоединения. Возможны четыре значения этого параметра:

SCARD_LEAVE_CARD - не делать ничего;
SCARD_RESET_CARD -  заново инициализировать 
карту;
SCARD_UNPOWER_CARD - отключить питание;
SCARD_EJECT_CARD -  вынуть карту из ридера 
(для устройств чтения смарт-карт, поддерживающих 
их автоматическое извлечение).

О том, как корректно завершить поток монитора состояния ридеров, я рассказал выше.

В конце работы необходимо разрушить контекст, что делается путем вызова функции LONG ScardReleaseContext (IN SCARDCONTEXT hContext), единственным параметром которой является полученное вызовом функции SCardEstablishContext значение.

Спектр возможных применений технологий смарт-карт очень широк. Некоторые издания предрекают, что через несколько лет все мобильные компьютеры будут оснащаться встроенными ридерами смарт-карт. Такие устройства уже сейчас производит компания Fujitsu-Siemens, обеспечивая защиту от несанкционированного доступа с помощью смарт-карт на уровне BIOS, что, согласитесь, весьма удобно.

В операционных системах Windows помимо SCard API предусмотрены и другие программные интерфейсы для работы со смарт-картами. Большая их часть позволяет разработчику абстрагироваться от механизмов реализации тех или иных команд. Подробную информацию на эту тему можно найти по адресу: http://www.microsoft.com/smartcard. О стандарте PC/SC рассказано на http://www.pcscworkgroup.com.

Фото любезно предоставлены компанией Schlumberger

Общая информация

Смарт-карта Рутокен ЭЦП 3.0 NFC — это устройство, для формирования и безопасного хранения электронной подписи, а также . 

Она выглядит следующим образом:

Со смарт-картой можно работать, как на компьютере, так и на мобильном устройстве.

Для работы со смарт-картой:

  • на компьютере. Необходим контактный или бесконтактный считыватель для смарт-карт;
  • на мобильном устройстве. Необходимо, чтобы мобильное устройство было оборудовано специальным NFC-модулем (это можно проверить в описании его параметров).

Для смарт-карты заданы два PIN-кода: PIN-код Пользователя и PIN-код Администратора.

По умолчанию значение PIN-кода Пользователя — 12345678, а PIN-кода Администратора — 87654321. 

При первом использовании смарт-карты PIN-коды необходимо изменить.

В инструкции описаны процедуры работы со смарт-картой Рутокен ЭЦП 3.0 NFC в различных мобильных и настольных ОС, а именно:

  • в ОС Windows;
  • в ОС семейства GNULinux;
  • в macOS;
  • в ОС Android;
  • в iOS.

Работа со смарт-картой на компьютере

Для подключения смарт-карты к компьютеру:

  1. Если считыватель контактный, то вставьте в него смарт-карту.
  2. Если считыватель бесконтактный, то приложите к нему смарт-карту.
  3. Подключите считыватель к USB-порту компьютера. Если смарт-карта подключена корректно, то на считывателе начнет светиться индикатор. Если смарт-карта подключена некорректно, то индикатор на считывателе может мигать или не светиться (зависит от модели считывателя). 

В ОС Windows

Изменение PIN-кода 

Перед началом работы со смарт-картой необходимо изменить ее PIN-коды. Чтобы их изменить, загрузите и установите Комплект драйверов Рутокен.

После установки комплекта драйверов на компьютере появится специальная программа для обслуживания устройств Рутокен — Панель управления Рутокен.

Для того, чтобы изменить PIN-код Пользователя или Администратора:

  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. Нажмите Ввести PIN-код.
  4. Установите переключатель в положение Администратор, введите PIN-код Администратора и нажмите ОК.
  5. В разделе Управление PIN-кодами нажмите Изменить.
  6. Установите переключатель в необходимое положение, введите два раза новый PIN-код и нажмите ОК. В результате выбранный PIN-код будет изменен.

Просмотр сведений об устройстве

В Панели управления Рутокен можно узнать следующую информацию об устройстве:

  • наименование модели;
  • уникальный цифровой идентификатор;
  • версию прошивки и флаги состояния;
  • общий объем памяти;
  • объем свободной памяти;
  • политику для смены PIN-кода Пользователя;
  • возможность использования UTF-8 в PIN-кодах;
  • возможность работы с КриптоПро Рутокен CSP по защищенному каналу ФКН;
  • подключено ли оно по RDP.

Для просмотра сведений об устройстве Рутокен:

  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. В разделе Информация нажмите на одноименную кнопку. Откроется окно Информация о Рутокен, в этом окне указана вся необходимая информация об устройстве.

Просмотр версии установленного комплекта драйверов Рутокен

Для просмотра версии установленного комплекта драйверов:

  1. Откройте Панель управления Рутокен.
  2. Перейдите на вкладку О программеВ поле Версия драйверов Рутокен указан номер версии комплекта драйверов, который установлен на компьютере.

Выбор криптопровайдера, используемого по умолчанию, для устройства Рутокен

Криптопровайдер — это динамически подключаемая библиотека, реализующая криптографические функций со стандартизованным интерфейсом.

У каждого криптопровайдера могут быть собственные наборы алгоритмов и собственные требования к формату ключей и сертификатов.

Чтобы выбрать криптопровайдера, который будет использоваться для Рутокена по умолчанию:

  1. Открой Панель управления Рутокен.
  2. Перейдите на вкладку Настройки.
  3. В разделе Настройки криптопровайдера нажмите Настройка.
  4. В раскрывающемся списке Семейство Рутокен ЭЦП выберите название криптопровайдера.
  5. Чтобы применить изменения и продолжить работу с настройками нажмите Применить
  6. Чтобы подтвердить выбор криптопровайдера нажмите ОК.
  7. В окне с запросом на разрешение внесения изменений на компьютере нажмите Да.

Выбор метода генерации ключевых пар RSA

Чтобы выбрать криптопровайдера для генерации ключевых пар RSA:

  1. Откройте Панель управления Рутокен.
  2. Перейдите на вкладку Настройки.
  3. В разделе Настройки криптопровайдера нажмите Настройка.
     
  4. В разделе Настройки криптопровайдера Aktive Co. Rutoken CSP v1.0 выберите способ генерации ключевых пар RSA 2048 бит для Рутокен ЭЦП, для этого установите переключатель в необходимое положение.
  5. Чтобы применить изменения и продолжить работу с настройками, нажмите Применить
  6. Чтобы подтвердить выбор криптопровайдера, нажмите ОК.
  7. В окне с запросом на разрешение внесения изменений на компьютере нажмите Да.

Выбор настроек для PIN-кода

В Панели управления Рутокен можно задать настройки для PIN-кодов. Перечень настроек указан в таблице 1.

Таблица 1

Настройка Результат выбора настройки
Запомнить PIN-код из приложения…

PIN-код Пользователя вводится один раз при первом использовании устройства Рутокен в приложении.

Эта настройка позволяет уменьшить количество вводов PIN-кода в прикладных приложениях за счет кратковременного хранения их криптопровайдером в зашифрованной памяти.

Не следует использовать данную настройку, если нет уверенности в безопасности компьютера.

Предлагать сменить PIN-код каждый раз… Каждый раз после ввода PIN-кода на экране отображается сообщение с предложением изменить PIN-код (если пользователь не изменил PIN-код, установленный по умолчанию).
Кодирование PIN-кода в UTF-8…

PIN-код может состоять из кириллических символов.

Эта настройка позволяет безопасно использовать PIN-коды, содержащие кириллические символы. 

Чтобы выбрать настройки для PIN-кода:

  1. Откройте Панель управления Рутокен.
  2. Перейдите на вкладку Настройки.
  3. В разделе Настройки PIN-кода нажмите Настройка.
     
  4. Установите галочку рядом с названиями необходимых настроек.
  5. Чтобы применить изменения и продолжить работу с настройками нажмите Применить
  6. Чтобы подтвердить выбор настроек нажмите ОК.
  7. В окне с запросом на разрешение внесения изменений на компьютере нажмите Да.

Указание имени устройства Рутокен

Для того чтобы различать устройства Рутокен между собой следует задать имя каждому устройству. Оно не всегда будет отображаться в сторонних приложениях.

Рекомендуется указать имя и фамилию владельца устройства или краткое наименование области применения устройства.

Для указания имени устройства Рутокен:

  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. Нажмите Ввести PIN-код.
  4. Установите переключатель в положение Пользователь.
  5. Введите PIN-код Пользователя.
  6. Нажмите ОК.
  7. В разделе Имя токена нажмите Изменить.
  8. В поле Имя укажите имя устройства Рутокен.
  9. Нажмите ОК.

Разблокировка Администратором PIN-кода Пользователя

PIN-код Пользователя блокируется в том случае, если пользователь несколько раз подряд ввел его с ошибкой.

PIN-код Пользователя можно разблокировать только, если знаешь PIN-код Администратора.

После того как PIN-код Пользователя будет разблокирован, счетчик неудачных попыток аутентификации примет исходное значение.

После разблокировки PIN-код Пользователя не изменится. 

Для того чтобы разблокировать PIN-код Пользователя:

  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. Нажмите Ввести PIN-код.
  4. Установите переключатель в положение Администратор и введите PIN-код Администратора.
  5. Нажмите ОК.
     
  6. В секции Управление PIN-кодами нажмите Разблокировать. В окне с сообщением об успешном выполнении операции нажмите ОК.
     

     
    В результате PIN-код Пользователя будет разблокирован.

Форматирование Рутокена

В ходе форматирования устройства все, созданные на нем объекты удалятся. Также при форматировании задаются новые значения PIN-кодов или выбираются значения, используемые по умолчанию.
Если пользователь исчерпал все попытки ввода PIN-кода Администратора, то существует возможность вернуть устройство в заводское состояние. Для такого форматирования ввод PIN-кода Администратора не требуется.

При форматировании устройства Рутокен все данные на нем, в том числе ключи и сертификаты, будут удалены безвозвратно.

В процессе форматирования не следует отключать устройство Рутокен от компьютера, так как это может привести к его поломке.

Для запуска процесса форматирования устройства Рутокен:

  1. Откройте Панель управления Рутокен.
  2. В раскрывающемся списке Подключенные Рутокен выберите Рутокен ЭЦП 3.0 NFC Смарт-карта.
  3. Нажмите Ввести PIN-код.
  4. Установите переключатель в положение Администратор и введите PIN-код Администратора.
  5. Нажмите ОК.
  6. В разделе Форматирование токена нажмите Форматировать. Откроется окно Форматирование токена.
     

  7. В поле Имя токена введите имя устройства Рутокен.
  8. В разделе PIN-код Пользователя может менять установите переключатель в необходимое положение.
  9. В разделе Пользователь укажите новый PIN-код Пользователя или установите галочку Использовать PIN-код по умолчанию.
  10. В раскрывающемся списке Минимальная длина PIN-кода выберите необходимое значение.
  11. В раскрывающемся списке Попытки ввода PIN-кода выберите необходимое значение.
  12. В разделе Администратор укажите новый PIN-код Администратора или установите галочку Использовать PIN-код по умолчанию.
  13. В раскрывающемся списке Минимальная длина PIN-кода выберите необходимое значение.
  14. В раскрывающемся списке Попытки ввода PIN-кода выберите необходимое значение.
  15. Нажмите Начать.
  16. В окне с предупреждением об удалении всех данных на устройстве Рутокен нажмите ОК

  17. Дождитесь окончания процесса форматирования.
  18. В окне с сообщением об успешном форматировании устройства Рутокен нажмите ОК.

В ОС семейства GNULinux

Проверка корректности подключения считывателя для смарт-карт к компьютеру

Первым делом подключите считыватель для смарт-карт к компьютеру и вставьте в него смарт-карту.

Для проверки корректности подключения считывателя для смарт-карт к компьютеру введите команду:

lsusb 

В результате в окне Терминала отобразится название модели считывателя для смарт-карт:

Это означает, что считыватель для смарт-карт подключен корректно.

Определить название смарт-карты и выполнить дальнейшие действия данной инструкции невозможно без предварительной установки дополнительного программного обеспечения. 

Установка дополнительного программного обеспечения

В deb-based и rpm-based системах используются разные команды. Список систем указан в таблице 1.

Таблица 1. Список операционных систем GNU/Linux

deb-based rpm-based

Debian, Ubuntu, Linux Mint,

Astra Linux

RedHat, CentOS, Fedora, ALT Linux,

ROSA Linux, МСВС,

Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:

в deb-based системах это обычно:

  • библиотека libccid не ниже 1.4.2;
  • пакеты libpcsclite1 и pcscd;
  • pcsc-tools.

в rpm-based системах это обычно:

  • ccid не ниже 1.4.2;
  • pcsc-lite;
  • pcsc-tools.

в ALT Linux это обычно:

  • pcsc-lite-ccid;
  • libpcsclite;
  • pcsc-tools.

Также для всех типов операционных систем необходимо установить библиотеку OpenSC.

Перед установкой библиотек и пакетов проверьте их наличие в системе. Для этого введите команду:

В deb-based системах:

dpkg -s libccid libpcsclite1 pcscd pcsc-tools opensc

Если библиотека или пакет уже установлены в системе, то в разделе Status отобразится сообщение «install ok installed».

В разделе Version отобразится версия указанной библиотеки или пакета (версия библиотеки libccid должна быть выше чем 1.4.2).

В rpm-based системах:

sudo rpm -q ccid pcsc-lite pcsc-tools opensc

Если библиотека или пакет уже установлены в системе, то на экране отобразятся их названия и номера версий (версия библиотеки ccid должна быть выше чем 1.4.2).

В ALT Linux:

sudo rpm -q pcsc-lite-ccid libpcsclite pcsc-tools opensc

Если у вас нет доступа к команде sudo, то используйте команду su.

Если библиотек и пакетов еще нет на компьютере, то необходимо их установить. 

Для установки пакетов и библиотек:

В deb-based системах введите команду:

sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc

В rpm-based системах (кроме ALT Linux) введите команду:

sudo yum install ccid pcsc-lite pcsc-tools opensc

В ALT Linux введите команду:

sudo apt-get install pcsc-lite-ccid libpcsclite pcsc-tools opensc

Если у вас нет доступа к команде sudo, то используйте команду su.

Проверка работы Рутокен ЭЦП 3.0 NFC в системе

Для проверки работы смарт-карты:

  1. Подключите ее к компьютеру.
  2.  Введите команду:

    pcsc_scan
  3. Е

    Значит смарт-карта работает корректно.

Изменение PIN-кода Пользователя

Перед запуском процесса смены PIN-кода  установите библиотеку PKCS#11 и определите путь до библиотеки librtpkcs11ecp.so.

Для того чтобы загрузить библиотеку PKCS#11:

  1. Определите разрядность используемой системы:

    uname -p

    Если в результате выполнения команды отобразилась строка подобная «i686», то система является 32-разрядной.

    Если в результате выполнения команды отобразилась строка подобная «x86_64», то система является 64-разрядной.

  2. Перейдите по указанной ссылке, выберите необходимую версию, загрузите и установите ее:
    https://www.rutoken.ru/support/download/pkcs/

Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:

find  /usr/*(lib|lib64) -name librtpkcs11ecp.so

Для изменения PIN-кода введите команду:

pkcs11-tool --module {A} --login --pin {B} --change-pin --new-pin {C}

A — путь до библиотеки librtpkcs11ecp.so.

B  текущий PIN-код устройства.

C — новый PIN-код устройства.

В результате PIN-код устройства будет изменен.

В macOS

Проверка корректности подключения считывателя для смарт-карт к компьютеру

Для проверки корректности подключения считывателя для смарт-карт к компьютеру:

  1. Подключите считыватель для смарт-карт к компьютеру и вставьте в него смарт-карту
  2. Откройте программу Информация о системе (System Information).
  3. На боковой панели окна программы выберите пункт USB.
  4. Для считывателя в окне программы отобразится название модели считывателя и информация о нем.

Это означает, что считыватель для смарт-карт подключен корректно.

Определение названия модели смарт-карты

Перед запуском процесса определения названия модели смарт-карты:

  • загрузите и установите пакет OpenSC;
  • загрузите и установите приложение Рутокен для macOS
  • еделите путь до библиотеки librtpkcs11ecp.dylib.

Актуальная версия установочного пакета OpenSC доступна по ссылке:

https://github.com/OpenSC/OpenSC/wiki

Для установки пакета OpenSC:

  1. Запустите программу установки пакета OpenSC.
  2. В окне с уведомлением о том, что автор программы является неустановленным разработчиком нажмите Отменить.
  3. Выберите в меню Apple () пункт Системные настройки (System Preferences).
  4. Выберите настройку Защита и безопасность (Security & Privacy).
  5. Нажмите Подтвердить вход.

  6. Чтобы подтвердить открытие установочного пакета OpenSC нажмите Открыть.
  7. Снова запустите программу установки пакета OpenSC и нажмите Продолжить.
  8. Чтобы начать процесс установки нажмите Установить.
  9. В окне для ввода учетных данных укажите пароль пользователя и нажмите Установить ПО.
  10. После завершения процесса установки нажмите Закрыть. В результате пакет OpenSC будет установлен.
  11. Если после установки пакета необходимо остановить установщик, то нажмите Остановить

https://www.rutoken.ru/support/download/mac/

Для установки приложения Рутокен для macOS, в окне Рутокен для macOS перетащите значок Рутокен для macOS в папку Application.

Для того чтобы определить путь до библиотеки librtpkcs11ecp.dylib:

  1. Откройте Терминал (Terminal).
  2. Введите команду:

    sudo find /usr -name librtpkcs11ecp.dylib
  3. Нажмите Enter. В результате в окне Терминала отобразится путь до библиотеки librtpkcs11ecp.dylib.

Чтобы определить название модели смарт-карты, подключите ее к компьютеру и введите команду:

pkcs11-tool --module {A} -T

A — путь до библиотеки librtpkcs11ecp.dylib.

В разделе token model отобразится название модели смарт-карты.

      

Проверка работы смарт-карты в системе

Для проверки работы Рутокен ЭЦП:

  1. Подключите устройство к компьютеру.
  2. Откройте Терминал (Terminal).

  3. Введите команду:

    pcsctest
  4. Нажмите Enter и введите цифру «1».

  5. Нажмите Enter и введите цифру «1».
  6. Нажмите Enter
  7. Если отобразилось следующее сообщение:

    Значит смарт-карта работает.

Изменение PIN-кода смарт-карты

Для изменения PIN-кода введите команду:

pkcs11-tool --module {A} --login --pin {B} --change-pin --new-pin {C}

A — путь до библиотеки librtpkcs11ecp.dylib.
B — текущий PIN-код устройства.
C — новый PIN-код устройства.

В результате PIN-код устройства будет изменен.

Работа со смарт-картой на мобильном устройстве

В ОС Android

Работа со смарт-картой возможна, если выполняются два условия:

  • у мобильного устройства есть NFC-модуль;
  • на мобильном устройстве включена функция NFC.

При работе со смарт-картой на мобильном устройстве отображается специальное окно с сообщением, которое предупреждает, что карту необходимо приложить.

Смарт-карта прикладывается к мобильному устройству следующим образом:

Смарт-карту необходимо держать так до того момента, пока на экране смартфона отобразится сообщение о том, что работа с картой NFC завершена.

Установка приложения Панель управления Рутокен на Android

Приложение Панель управления Рутокен дает возможность:

  • просматривать информацию о подключенных устройствах Рутокен;
  • изменять PIN-коды и метки устройств.

Для установки приложения Панель управления Рутокен:

  1. Запустите Google Play Маркет на устройстве.
  2. В строке поиска введите название приложения и нажмите ENTER.
  3. Выберите Панель управления Рутокен в списке результатов поиска. Откроется страница с подробными сведениями о приложении.
  4. Нажмите Установить.
  5. Ознакомьтесь со списком прав, которые необходимы приложению.
  6. Если вы согласны предоставить приложению требуемые права, нажмите Принять. Начнется загрузка и установка приложения.
  7. Если вы не согласны предоставить приложению требуемые права, нажмите Назад. В этом случае установка приложения будет отменена.

Подключение Рутокена

Для подключения дуальной смарт-карты с поддержкой NFC необходимо мобильное устройство с NFC-модулем.

Для проверки отображения названия дуальной смарт-карты в приложении Панель управления Рутокен:

  1. Запустите приложение Панель управления Рутокен.
  2. Приложите  Рутокен ЭЦП 3.0 NFC к мобильному устройству.
  3. В окне приложения, в карточке устройства нажмите на стрелочку. Откроется окно с основной информацией о смарт-карте.
    На иллюстрациях представлен пример корректного отображения названия смарт-карты и информации о ней.

     

Работа с приложением Панель управления Рутокен

Изменение PIN-кода

Для изменения PIN-кода Пользователя или Администратора в приложении Панель управления Рутокен:

  1. Подключите смарт-карту к устройству на Android.
  2. Запустите приложение Панель управления Рутокен.
  3. Нажмите на карточку устройства.
  4. Чтобы открыть меню, нажмите в правом верхнем углу на значок .
  5. Выберите пункт меню Сменить PIN-код. В приложении отобразится окно для ввода нового PIN-кода.
  6. Перейдите на вкладку Пользователь (для ввода нового PIN-кода Пользователя) или Администратор (для ввода нового PIN-кода Администратора).
  7. Введите текущий PIN-код.
  8. Два раза новый PIN-код
  9. Нажмите ОК.
Изменение метки устройства Рутокен

Для изменения метки устройства:

  1. Подключите Рутокен к устройству на Android.
  2. Запустите приложение Панель управления Рутокен.
  3. Нажмите на карточку устройства.
  4. Чтобы открыть меню, нажмите в правом верхнем углу на значок  .
  5. Выберите пункт меню Сменить метку токена. В приложении отобразится окно для ввода PIN-кода Пользователя и новой метки.

  6. Введите PIN-код Пользователя.
  7. Введите новую метку.
  8. Нажмите ОК.
Разблокировка PIN-кода

Для разблокировки PIN-кода Пользователя:

  1. Подключите Рутокен к устройству на Android.
  2. Запустите приложение Панель управления Рутокен.
  3. Нажмите на карточку устройства.
  4. Чтобы открыть меню нажмите в правом верхнем углу на значок .
  5. Выберите пункт меню Разблокировать. В приложении отобразится окно для ввода PIN-кода Администратора и кнопка для разблокировки PIN-кода Пользователя.
  6. Введите PIN-код Администратора.
  7. Нажмите ОК.

В iOS

Работа со смарт-картой возможна если соблюдаются два условия:

  • версия iOS от 13 и выше;
  • у вас одна из следующих моделей iPhone: XR; XS; 11; 11 Pro; 11 Pro Max; 12; 12 mini; 12 Pro; 12 Pro Max.

При работе со смарт-картой на мобильном устройстве отображается специальное окно с сообщением, которое предупреждает, что карту необходимо приложить.

Смарт-карта прикладывается к мобильному устройству следующим образом:

Верхняя часть смартфона должна находиться в нескольких миллиметрах от смарт-карты.

Смарт-карту необходимо держать так до того момента, пока на экране смартфона отобразится сообщение о том, что работа с картой NFC завершена:

Процесс подписания документа в приложении состоит из следующих шагов:

  1. Откройте приложение, в котором необходимо подписать документ.
  2. Откройте документ.
  3. Нажмите Подписать.
  4. Введите PIN-код Пользователя и нажмите Продолжить.
  5. Приложите смарт-карту и дождитесь окончания процесса подписания документа. В результате документ будет подписан.
Критерий  Характеристика смарт-карты
Основные характеристики
Аппаратная часть Защищенный микроконтроллер со встроенной энергозависимой памятью
EEPROM память 128 Кбайт
Габаритные размеры 85,6 x 53,98 x 0,76 мм
Масса 5,5 г
Поддерживаемые ОС
  • Microsoft Windows 10/8.1/2019/2016/2012R2/8/2012/7/2008R2/Vista/2008
  • GNU/Linux (в том числе отечественные)
  • Apple macOS 10.15/10.14/10.13/10.12/10.11/10.10/10.9
  • Android 5 и новее
  • iOS 13 и новее
  • Аврора
Поддерживаемые интерфейсы и стандарты 
PKCS#11 версии 2.20, включая российский профиль (2.30 draft) да
Microsoft Crypto API да
PC/SC да
Microsoft Smartcard API да
USB CCID (работа без установки драйверов) да
ISO/IEC 7816
  • ISO/IEC 7816-3, протокол T=0 и T=1 для контактной микросхемы,
  • ISO 14443 (NFC) для бесконтактной микросхемы.
Криптопровайдер собственный Crypto Service Provider
Сертификаты X.509 версии 3 на уровне программного обеспечения да
Криптографические возможности
Поддержка алгоритма ГОСТ 28147-89 да, аппаратная реализация
Поддержка алгоритма ГОСТ Р 34.12-2015 (Магма) да, аппаратная реализация
Поддержка алгоритма ГОСТ Р 34.12-2015 (Кузнечик) да, аппаратная реализация
Режим шифрования
  • простая замена,
  • гаммирование,
  • гаммирование с обратной связью
Режим выработки имитовставки да
Генерация ключей шифрования да
Импорт ключей шифрования нет
Запрет экспорта ключей шифрования да
Поддержка алгоритма ГОСТ Р 34.10-2012 да, аппаратная реализация
Формирование и проверка ЭП да
Генерация ключевых пар да, с проверкой качества
Импорт ключевых пар да, с помощью ключа эмитента
Запрет экспорта ключевых пар да
Срок действия закрытых ключей до 3 лет
Размер закрытого ключа 256 и 512 бит
Поддержка алгоритма ГОСТ 34.11-2012 (256 и 512 бит) аппаратная реализация
Вычисление значения хэш-функции да, в т. ч. с возможностью последующего формирования ЭП
Формирование и проверка ЭП да
Генерация ключевых пар да, с проверкой качества
Импорт ключевых пар да
Запрет экспорта ключевых пар да
Срок действия закрытых ключей до 3 лет
Поддержка алгоритма ГОСТ 34.11-94 аппаратная реализация
Выработка сессионных ключей (ключей парной связи)

да

  • по схеме VKO GOST R 34.10-2001 согласно RFC 4357
  • по схеме VKO GOST R 34.10-2012 согласно RFC 7836
Расширение по схеме EC El-Gamal да
Поддержка алгоритма RSA аппаратная реализация расшифрования и подписи (RSA-1024, RSA-2048, RSA-4096)
Формирование электронной подписи да
Генерация ключевых пар да, с проверкой качества
Импорт ключевых пар да
Запрет экспорта ключевых пар да
Размер ключей до 4096 бит
Поддержка алгоритма ECDSA да, кривые secp256k1 и secp256r1
Поддержка алгоритмов DES (3DES), AES, RC2, RC4, MD4, MD5, SHA-1, SHA-256 хранение экспортируемых ключей в EF,
SHA-1, SHA-256, MD5 в PKCS#11, RC4, MD4, MD5, SHA-1, SHA-256, 3DES, AES в minidriver
Формирование электронной подписи да
Генерация ключевых пар да, с проверкой качества
Импорт ключевых пар да
Работа с СКЗИ «КриптоПро 5.0» по протоколу защиты канала SESPAKE (ФКН2). да
Сведения о сертификации
Наличие сертификата ФСТЭК да
Наличие сертификата ФСБ да
Файловая система
Файловая структура встроенная, по стандарту ISO/IEC 7816-4
Тип размещения файловых объектов в памяти (архитектура файловой системы) использование File Allocation Table (FAT)
Количество папок и уровень их вложенности уровень ограничен объемом свободной памяти
Число файловых объектов внутри папки до 255 включительно
Хранение ключевой информации
  • использование файлов Rutoken Special File (RSF-файлов)для хранения ключей шифрования, сертификатов;
  • использование предопределенных папок для хранения разных видов ключевой информации с автоматическим выбором нужной папки при создании и использовании RSF-файлов
Запрет экспорта закрытых и симметричных ключей да
Шифрование файловой системы да, прозрачное, алгоритм ГОСТ 28147-89, уникальный ключ шифрования для каждого экземпляра устройства
Дополнительно использование Security Environment для удобной настройки параметров криптографических операций
Аутентификация и конфиденциальность
Двухфакторная аутентификация да, предъявление токена + ввод PIN-кода
Уровни доступа
  • Гость
  • Пользователь
  • Администратор
Разграничение доступа к файловым объектам в соответствии с уровнем доступа да
Ограничение числа попыток ввода PIN-кода да, настраиваемое
Поддержка PIN-кодов
  • глобальные PIN-коды: Администратора и Пользователя,
  • локальные PIN-коды (для защиты конкретных объектов в памяти устройства, например, контейнеров сертификатов)
  • Настраиваемые аппаратные политики качества PIN-кодов
Ограничение минимального размера PIN-кода да, настраивается независимо для любого PIN-кода
Дополнительно
  • поддержка комбинированной аутентификации:
    • аутентификация по глобальным PIN-кодам
    • аутентификация по глобальным PIN-кодам в сочетании с аутентификацией по локальным PIN-кодам.
  • возможность одновременного контроля прав доступа, заданных до 7-ю локальными PIN-кодами.
  • индикация факта смены глобальных PIN-кодов с умалчиваемых на оригинальные.
Возможность встраивания радиочастотной метки да
Поддерживаемые типы меток

Работа с системами контроля и управления доступом, поддерживающими протокол NFC

Встроенный контроль и индикация
Контроль целостности прошивки да
Контроль целостности системных областей памяти да
Проверка целостности RSF-файлов перед использованием да
Типы счетчиков
  • счетчик изменений файловой системы
  • счетчик изменений PIN-кодов
  • счетчики последовательных неудачных попыток ввода PIN-кодов
  • счетчик успешных операций электронной подписи
Проверка правильности функционирования криптографических алгоритмов да
Режимы работы светодиодного индикатора
  • готовность к работе
  • выполнение операции
  • нарушение в системной области памяти

Содержание

  1. Смарт-карты для службы Windows Smart Cards for Windows Service
  2. Служба смарт карта не запускается windows 10
  3. Криптопро не видит ключ JaCarta, решаем за минуту
  4. Криптопро не видит ключ JaCarta, решаем за минуту
  5. Описание окружения
  6. Алгоритм решения проблем с JaCarta
  7. Возможные причины с определением контейнера
  8. Как решить проблему, что криптопро не видит USB ключ?
  9. Установка единого клиента JaCarta PKI
  10. Установка КриптоПРО
  11. Не возможно подключиться к службе управления смарт-картами

Смарт-карты для службы Windows Smart Cards for Windows Service

Применимо к: Windows 10, Windows Server 2016 Applies To: Windows 10, Windows Server 2016

В этом разделе для ИТ-специалистов и разработчиков смарт-карт описывается, как служба смарт-карт для Windows (прежнее название — диспетчер ресурсов смарт-карт) управляет взаимодействием с читателями и приложениями. This topic for the IT professional and smart card developers describes how the Smart Cards for Windows service (formerly called Smart Card Resource Manager) manages readers and application interactions.

Служба смарт-карт для Windows предоставляет базовую инфраструктуру для всех остальных компонентов смарт-карт при управлении считывателей смарт-карт и взаимодействиями с приложениями на компьютере. The Smart Cards for Windows service provides the basic infrastructure for all other smart card components as it manages smart card readers and application interactions on the computer. Он полностью соответствует спецификациям, установленным в pc/SC Workgroup. It is fully compliant with the specifications set by the PC/SC Workgroup. Сведения об этих спецификациях см. на веб-сайте pc/SC Workgroup Specifications. For information about these specifications, see the PC/SC Workgroup Specifications website.

Служба смарт-карт для Windows запускается в контексте локальной службы и реализуется как общая служба процесса хоста служб (svchost). The Smart Cards for Windows service runs in the context of a local service, and it is implemented as a shared service of the services host (svchost) process. Смарт-карты для службы Windows, Налддсвейру, имеет следующее описание службы: The Smart Cards for Windows service, Scardsvr, has the following service description:

**** Примечание Чтобы winscard.dll в качестве правильного установщика класса, INF-файл для ридера смарт-карт должен указать следующее для Class и ClassGUID: Note For winscard.dll to be invoked as the proper class installer, the INF file for a smart card reader must specify the following for Class and ClassGUID:
Class=SmartCardReader
ClassGuid=

По умолчанию служба настроена для ручного режима. By default, the service is configured for manual mode. Создателям драйверов для чтения смарт-карт необходимо настроить свои infs таким образом, чтобы они запускали службу автоматически и winscard.dll файлы вызывали предопределеную точку входа для запуска службы во время установки. Creators of smart card reader drivers must configure their INFs so that they start the service automatically and winscard.dll files call a predefined entry point to start the service during installation. Точка входа определяется как часть класса SmartCardReader и не вызвана напрямую. The entry point is defined as part of the SmartCardReader class, and it is not called directly. Если устройство объявляет себя как часть этого класса, автоматически вызывается точка входа для запуска службы при вставке устройства. If a device advertises itself as part of this class, the entry point is automatically invoked to start the service when the device is inserted. Использование этого метода гарантирует, что служба будет включена при необходимости, но также отключена для пользователей, не использующих смарт-карты. Using this method ensures that the service is enabled when it is needed, but it is also disabled for users who do not use smart cards.

Когда служба запущена, она выполняет несколько функций: When the service is started, it performs several functions:

Она регистрируется для уведомлений службы. It registers itself for service notifications.

Она регистрируется для уведомлений plug and Play (PnP), связанных с удалением и добавлением устройств. It registers itself for Plug and Play (PnP) notifications related to device removal and additions.

Он инициализирует кэш данных и глобальное событие, которое сообщает о том, что служба запущена. It initializes its data cache and a global event that signals that the service has started.

**** Примечание Для внедрения смарт-карт рассмотрите возможность отправки всех сообщений в операционных системах Windows со средствами чтения смарт-карт через службу смарт-карт для Windows. Note For smart card implementations, consider sending all communications in Windows operating systems with smart card readers through the Smart Cards for Windows service. Это обеспечивает интерфейс для отслеживания, выбора и связи со всеми драйверами, которые объявляют себя членами группы устройств чтения смарт-карт. This provides an interface to track, select, and communicate with all drivers that declare themselves members of the smart card reader device group.

Служба смарт-карт для Windows классифицируют каждый слот устройства чтения смарт-карт как уникальный считыватель, и каждый слот также управляется отдельно независимо от физических характеристик устройства. The Smart Cards for Windows service categorizes each smart card reader slot as a unique reader, and each slot is also managed separately, regardless of the device’s physical characteristics. Служба смарт-карт для Windows обрабатывает следующие высокоуровневые действия: The Smart Cards for Windows service handles the following high-level actions:

Введение в устройство Device introduction

Инициализация читателя Reader initialization

Уведомление клиентов о новых читателях Notifying clients of new readers

Сериализация доступа к читателям Serializing access to readers

Доступ к смарт-карте Smart card access

Туннелing команд для чтения Tunneling of reader-specific commands

Иногда при добавлении смарт-карты может появиться ошибка. Эта ошибка связана с определением устройств на компьютере и установкой для него драйвера. Самостоятельно компьютер не сможет найти подходящий драйвер так как почти все смарт карты снабжаются специальным программным обеспечением куда входит и драйвер для них.

Однако некоторые смарт карты могут работать на компьютере даже с не установленным программным обеспечением. В таком случае можно отключить сообщение об ошибке.
Для этого находите в Windows 10 смарт карты в диспетчере устройств. Наводите курсор на этот пункт и нажимаете правую кнопку мыши, откроется контекстное меню в котором выбираете пункт Другие устройства — Отключить. После этого появится окно Смарт-карта в котором нужно нажать Да.

Проблема:
При добавлении новой карты в систему Indeed CM появляется сообщение об ошибке:

Диспетчер ресурсов смарт-карт не выполняется

Решение 1:
Убедитесь в том, что на рабочей станции, к которой подключена добавляемая смарт-карта, запущена и работает служба Смарт-карта. Для управления работой служб необходимо обладать правами Локального администратора.

Чтобы просмотреть состояние службы Смарт-карта выполните следующие действия (для русскоязычных ОС):
Откройте меню Панель управления – Администрирование – Службы, найдите в списке службу Смарт-карта

Для англоязычных ОС:
Откройте меню Control Panel – Administrative Tools – Services найдите службу Smart Card

Решение 2:
Убедитесь в том, что адрес сервера Indeed CM добавлен в зону Местная интрасеть (Local Intranet) браузера рабочей станции, к которой подключена смарт-карта.

Для русскоязычных ОС: Свойства браузера – Безопасность – Местная интрасеть – Сайты. Добавить зону следующий узел: https://»DNS-имя сервера CM» и wss://localhost/

Для англоязычных ОС: Internet options – Security – Local intranet – Sites .

Криптопро не видит ключ JaCarta, решаем за минуту

Криптопро не видит ключ JaCarta, решаем за минуту

Добрый день! Уважаемые читатели и подписчики IT блога Pyatilistnik.org. Последние два дня у меня была интересная задача по поиску решения на вот такую ситуацию, есть физический или виртуальный сервер, на нем установлена наверняка многим известная КриптоПРО. На сервер подключен USB ключ JaCarta, который используется для подписи документов для ВТБ24 ДБО. Локально на Windows 10 все работает, а вот на серверной платформе Windows Server 2016 и 2012 R2, Криптопро не видит ключ JaCarta. Давайте разбираться в чем проблема и как ее поправить.

Описание окружения

Есть виртуальная машина на Vmware ESXi 6.5, в качестве операционной системы установлена Windows Server 2012 R2. На сервере стоит КриптоПРО 4.0.9944, последней версии на текущий момент. С сетевого USB хаба, по технологии USB over ip, подключен ключ JaCarta. Ключ в системе видится, а вот в КриптоПРО нет.

Алгоритм решения проблем с JaCarta

КриптоПРО очень часто вызывает различные ошибки в Windows, простой пример (Windows installer service could not be accessed). Вот так вот выглядит ситуация, когда утилита КриптоПРО не видит сертификат в контейнере.

Как видно в утилите UTN Manager ключ подключен, он видится в системе в смарт картах в виде Microsoft Usbccid (WUDF) устройства, но вот CryptoPRO, этот контейнер не определяет и у вас нет возможности установить сертификат. Локально токен подключали, все было то же самое. Стали думать что сделать.

Возможные причины с определением контейнера

  1. Во первых, это проблема с драйверами, например, в Windows Server 2012 R2, JaCarta в идеале должна определяться в списке смарт карт как JaCarta Usbccid Smartcard, а не Microsoft Usbccid (WUDF)
  2. Во вторых если устройство видится как Microsoft Usbccid (WUDF), то версия драйверов может быть устаревшей, и из-за чего ваши утилиты будут не определять защищенный USB носитель.
  3. Устарелая версия CryptoPRO

Как решить проблему, что криптопро не видит USB ключ?

Создали новую виртуальную машину и стали ставить софт все последовательно.

  • Первым делом обновляем вашу операционную систему, всеми доступными обновлениями, так как Microsoft исправляет много ошибок и багов, в том числе и драйверами.
  • Вторым пунктом является, в случае с физическим сервером, установить все свежие драйвера на материнскую плату и все периферийное оборудование.
  • Далее устанавливаете Единый Клиент JaCarta.
  • Устанавливаете свежую версию КриптоПРО

Установка единого клиента JaCarta PKI

Единый Клиент JaCarta – это специальная утилита от компании «Аладдин», для правильной работы с токенами JaCarta. Загрузить последнюю версию, данного программного продукта, вы можете с официального сайта, или у меня с облака, если вдруг, не получиться с сайта производителя.

Далее полученный архив вы распаковываете и запускаете установочный файл, под свою архитектуру Windows, у меня это 64-х битная. Приступаем к установке Jacarta драйвера. Единый клиент Jacarta, ставится очень просто (НАПОМИНАЮ ваш токен в момент инсталляции, должен быть отключен). На первом окне мастера установки, просто нажимаем далее.

Принимаем лицензионное соглашение и нажимаем «Далее»

Чтобы драйвера токенов JaCarta у вас работали корректно, достаточно выполнить стандартную установку.

Если выберете «Выборочную установку», то обязательно установите галки:

  • Драйверы JaCarta
  • Модули поддержки
  • Модуль поддержки для КриптоПРО

Далее нажимаем «Установить».

Через пару секунд, Единый клиент Jacarta, успешно установлен.

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

Установка КриптоПРО

После установки JaCarta PKI, нужно установить КриптоПРО, для этого заходите на официальный сайт.

На текущий момент самая последняя версия КриптоПро CSP 4.0.9944. Запускаем установщик, оставляем галку «Установить корневые сертификаты» и нажимаем «Установить (Рекомендуется)»

Инсталляция КриптоПРО будет выполнена в фоновом режиме, после которой вы увидите предложение, о перезагрузке браузера, но я вам советую полностью перезагрузиться.

После перезагрузки подключайте ваш USB токен JaCarta. У меня подключение идет по сети, с устройства DIGI, через клиента Anywhere View. В клиенте Anywhere View, мой USB носитель Jacarta, успешно определен, но как Microsoft Usbccid (WUDF), а в идеале должен определиться как JaCarta Usbccid Smartcard, но нужно в любом случае проверить, так как все может работать и так.

Открыв утилиту «Единый клиент Jacarta PKI», подключенного токена обнаружено не было, значит, что-то с драйверами.

Microsoft Usbccid (WUDF) – это стандартный драйвер Microsoft, который по умолчанию устанавливается на различные токены, и бывает, что все работает, но не всегда. Операционная система Windows по умолчанию, ставит их в виду своей архитектуры и настройки, мне вот лично в данный момент такое не нужно. Что делаем, нам нужно удалить драйвера Microsoft Usbccid (WUDF) и установить драйвера для носителя Jacarta.

Откройте диспетчер устройств Windows, найдите пункт «Считыватели устройств смарт-карт (Smart card readers)» щелкните по Microsoft Usbccid (WUDF) и выберите пункт «Свойства». Перейдите на вкладку «Драйвера» и нажмите удалить (Uninstall)

Согласитесь с удалением драйвера Microsoft Usbccid (WUDF).

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

После перезагрузки системы, вы можете увидеть установку устройства и драйверов ARDS Jacarta.

Откройте диспетчер устройств, вы должны увидеть, что теперь ваше устройство определено, как JaCarta Usbccid Smartcar и если зайти в его свойства, то вы увидите, что смарт карта jacarta, теперь использует драйвер версии 6.1.7601 от ALADDIN R.D.ZAO, так и должно быть.

Если открыть единый клиент Jacarta, то вы увидите свою электронную подпись, это означает, что смарт карта нормально определилась.

Открываем CryptoPRO, и видим, что криптопро не видит сертификат в контейнере, хотя все драйвера определились как нужно. Есть еще одна фишка.

  1. В RDP сессии вы не увидите свой токен, только локально, уж такая работа токена, либо я не нашел как это поправить. Вы можете попробовать выполнить рекомендации по устранению ошибки «Не возможно подключиться к службе управления смарт-картами».
  2. Нужно снять одну галку в CryptoPRO

ОБЯЗАТЕЛЬНО снимите галку «Не использовать устаревшие cipher suite-ы» и перезагрузитесь.

После этих манипуляций у меня КриптоПРО увидел сертификат и смарт карта jacarta стала рабочей, можно подписывать документы.

Еще можете в устройствах и принтерах, увидеть ваше устройство JaCarta,

Если у вас как и у меня, токен jacarta установлен в виртуальной машине, то вам придется устанавливать сертификат, через console виртуальной машины, и так же дать на нее права ответственному человеку. Если это физический сервер, то там придется давать права на порт управления, в котором так же есть виртуальная консоль.

Не возможно подключиться к службе управления смарт-картами

Когда вы установили все драйвера для токенов Jacarta, вы можете увидеть при подключении по RDP и открытии утилиты «Единый клиент Jacarta PKI» вот такое сообщение с ошибкой:

  1. Не запущена служба смарт-карт на локальной машине. Архитектурой RDP-сессии, разработанной Microsoft, не предусмотрено использование ключевых носителей, подключенных к удалённому компьютеру, поэтому в RDP-сессии удалённый компьютер использует службу смарт-карт локального компьютера. Из этого следует что, запуска службы смарт-карт внутри RDP-сессии недостаточно для нормальной работы.
  2. Служба управления смарт-картами на локальном компьютере запущена, но недоступна для программы внутри RDP-сессии из-за настроек Windows и/или RDP-клиента.

Как исправить ошибку «Не возможно подключиться к службе управления смарт-картами».

  • Запустите службу смарт-карт на локальной машине, с которой вы инициируете сеанс удалённого доступа. Настройте её автоматический запуск при старте компьютера.
  • Разрешите использование локальных устройств и ресурсов во время удалённого сеанса (в частности, смарт-карт). Для этого, в диалоге «Подключение к удалённому рабочему столу» в параметрах выберите вкладку «Локальные ресурсы», далее в группе «Локальные устройства и ресурсы» нажмите кнопку «Подробнее…», а в открывшемся диалоге выберите пункт «Смарт-карты» и нажмите «ОК», затем «Подключить».

  • Убедитесь в сохранности настроек RDP-подключения. По умолчанию они сохраняются в файле Default.rdp в каталоге «Мои Документы» Проследите, чтобы в данном файле присутствовала строчка «redirectsmartcards:i:1».
  • Убедитесь в том, что на удалённом компьютере, к которому вы осуществляете RDP-подключение, не активирована групповая политика
    [Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesClientServer data redirectionDo not allow smart card device redirection] -[Конфигурация компьютераадминистративные шаблоныкомпоненты windowsслужбы удалённых рабочих столовузел сеансов удалённых рабочих столовперенаправление устройств и ресурсовНе разрешать перенаправление устройства чтения смарт-карт]. Если она включена (Enabled), то отключите её, и перегрузите компьютер.
  • Если у вас установлена Windows 7 SP1 или Windows 2008 R2 SP1 и вы используете RDC 8.1 для соединения с компьютерами под управлением Windows 8 и выше, то вам необходимо установить обновление для операционной системы https://support.microsoft.com/en-us/kb/2913751

Вот такой вот был траблшутинг по настройке токена Jacarta, КриптоПРО на терминальном сервере, для подписи документов в ВТБ24 ДБО. Если есть замечания или поправки, то пишите их в комментариях.

Permalink

Cannot retrieve contributors at this time

title description ms.prod author ms.author ms.reviewer manager ms.topic ms.localizationpriority ms.date appliesto ms.technology

How Smart Card Sign-in Works in Windows

This topic for IT professional provides links to resources about the implementation of smart card technologies in the Windows operating system.

windows-client

paolomatarazzo

paoloma

ardenw

aaroncz

article

medium

09/24/2021

<b>Windows 10</b>

<b>Windows 11</b>

<b>Windows Server 2016</b>

<b>Windows Server 2019</b>

<b>Windows Server 2022</b>

itpro-security

This topic for IT professional provides links to resources about the implementation of smart card technologies in the Windows operating system. It includes the following resources about the architecture, certificate management, and services that are related to smart card use:

  • Smart Card Architecture: Learn about enabling communications with smart cards and smart card readers, which can be different according to the vendor that supplies them.

  • Certificate Requirements and Enumeration: Learn about requirements for smart card certificates based on the operating system, and about the operations that are performed by the operating system when a smart card is inserted into the computer.

  • Smart Card and Remote Desktop Services: Learn about using smart cards for remote desktop connections.

  • Smart Cards for Windows Service: Learn about how the Smart Cards for Windows service is implemented.

  • Certificate Propagation Service: Learn about how the certificate propagation service works when a smart card is inserted into a computer.

  • Smart Card Removal Policy Service: Learn about using Group Policy to control what happens when a user removes a smart card.

Permalink

Cannot retrieve contributors at this time

title description ms.prod author ms.author ms.reviewer manager ms.topic ms.localizationpriority ms.date appliesto ms.technology

How Smart Card Sign-in Works in Windows

This topic for IT professional provides links to resources about the implementation of smart card technologies in the Windows operating system.

windows-client

paolomatarazzo

paoloma

ardenw

aaroncz

article

medium

09/24/2021

<b>Windows 10</b>

<b>Windows 11</b>

<b>Windows Server 2016</b>

<b>Windows Server 2019</b>

<b>Windows Server 2022</b>

itpro-security

This topic for IT professional provides links to resources about the implementation of smart card technologies in the Windows operating system. It includes the following resources about the architecture, certificate management, and services that are related to smart card use:

  • Smart Card Architecture: Learn about enabling communications with smart cards and smart card readers, which can be different according to the vendor that supplies them.

  • Certificate Requirements and Enumeration: Learn about requirements for smart card certificates based on the operating system, and about the operations that are performed by the operating system when a smart card is inserted into the computer.

  • Smart Card and Remote Desktop Services: Learn about using smart cards for remote desktop connections.

  • Smart Cards for Windows Service: Learn about how the Smart Cards for Windows service is implemented.

  • Certificate Propagation Service: Learn about how the certificate propagation service works when a smart card is inserted into a computer.

  • Smart Card Removal Policy Service: Learn about using Group Policy to control what happens when a user removes a smart card.

Долгое время (ещё со времени beta версии и после релиза), я не мог продуктивно работать с Windows 7 из-за отсутствия полноценной поддержки смарт-карт eToken от компании Aladdin. Поэтому я был очень обрадован выходу драйверов под эту операционку.

Данный комплект драйверов носит имя eToken PKI Client 5.1 SP1 и находится на стадии beta тестирования, что не мешает им отлично выполнять свою функцию.

Также хочется заметить, что для полноценной работы с программами, которые общаются со смарт-картой через виндовое хранилище сертификатов (такие как openVPN, Google Chrome или IE), необходимо запустить службу, которая в Windows 7 по умолчанию отключена. В англоязычной версии эта служба называется «Certificate Propogation», а в русскоязычной «Распространение сертификата».

Для загрузки файла eToken PKI Client 5.1 SP1 Beta используйте следующую ссылку:
dms.aladdin.ru/file.php?id=dec8e874e791762cbfa9b307107c6bd5
Ссылка действительна до 30 Jan 2010

Обращаю ваше внимание, что данный релиз пока официально не поддерживается.

Также, компанией Aladdin, приветствуются любые замечания и предложения по данной версии.


В результате интенсивного развития технологий, связанных с ИT-индустрией, в последнее время стали широко использоваться смарт-карты и другие подобного рода устройства. Действительно, удобно носить в кармане пиджака маленькую штучку, которая надежно защищает важную информацию, обладает значительным объемом памяти и обеспечивает самые разнообразные функции — от аутентификации в локальной сети до доступа в помещения и возможности заплатить за ужин в столовой. Да и потеря или кража устройства не откроет новому владельцу доступа к ресурсам.

Как всегда, отмечу разработчиков Microsoft. Во всех операционных системах этой компании, начиная с Windows 95/NT 4.0, реализована поддержка работы со смарт-картами. Отметим, что под словами «поддержка смарт-карт» подразумевается сложная многоуровневая система драйверов. Поддерживать необходимо как устройства для чтения карточек — ридеры, так и собственно интерфейсы обмена данными с картами. Выработано два стандарта. Для ридеров — PC/SC — стандарт, обеспечивающий PnP-подключение устройства к компьютеру. А для карт — ISO 7816 нескольких уровней, регламентирующий набор исполняемых картой команд, схемы хранения информации на карте (файловую структуру) и доступ к ней, поддерживаемые технологии защиты информации, а также формат этих команд. Большинство серийно выпускаемых устройств такие стандарты поддерживает.


Рисунок 1. Архитектура подсистемы поддержки смарт-карт в Windows.

На Рисунке 1 приведена схема архитектуры подсистемы поддержки смарт-карт Windows, которую можно найти в MSDN. Видно, что система построена в традиционном для Windows виде слоев (уровней абстракции), изолирующих соответствующие детали реализации.

Подсистема основана на стандарте PC/SC. Основными компонентами подсистемы являются:

  • Resource Manager, управляющий доступом к нескольким одновременно работающим на одном компьютере ридерам и смарт-картам. К числу его функций относятся идентификация и поддержка устройств, поддержка одновременного доступа нескольких приложений к устройствам и поддержка транзакционного механизма обмена информацией;
  • User Interface, который представляет собой стандартное диалоговое окно (common dialog box) и позволяет выбрать устройство и подсоединиться к смарт-карте;
  • несколько COM-объектов, предоставляющих доступ к специфическим функциям смарт-карт.

Для разработчиков реализовано несколько уровней API. В этой статье я расскажу о наиболее гибком из них, но и наиболее технически сложном — SC API, предоставляющем низкоуровневый интерфейс к описываемой подсистеме Windows.


В первую очередь необходимо отдавать себе отчет в том, что смарт-карта — это своего рода компьютер. Современные устройства содержат до 128 Кбайт памяти и виртуальную машину Java версии 1.2. Информация на карте хранится в виде иерархической файловой системы с весьма нетривиальными свойствами, например возможностью шифрования тех или иных файлов. Поэтому функции SCApi предназначены, в первую очередь, для установки взаимодействия с картой. Т. е. с помощью этого API можно передать команду и получить ответ. А вот как сформировать команду и интерпретировать ответ — дело разработчика. Тем более что форматы и наборы команд для разных устройств различны.

В данной статье я буду ориентироваться на смарт-карты Sample Cryptoflex 8K производства компании Schlumberger. Это простые карточки, оснащенные памятью объемом 8 Кбайт и поддерживающие основные криптографические алгоритмы. Java-машина на них не реализована. Карты недорогие, и сегодня они могут с успехом использоваться во многих приложениях. Формат команд, применяемых для этих карт, стандартный. Похожие карты выпускаются, например, компанией Siemens. Также похожий интерфейс у устройств token компании Aladdin, которые, впрочем, оснащены микросхемами Siemens (недавно компанией Aladdin совместно с НТЦ «Атлас» выпущено устройство Aladdin eToken RIC, которое содержит микросхему, удовлетворяющую всем требованиям ГОСТ 28147-89; SDK для этой микросхемы можно приобрести отдельно).

В этой статье будут описаны следующие задачи, часто возникающие при разработке приложений, ориентированных на использование смарт-карт: получение списка устройств (ридеров), мониторинг состояния ридера (карта вставлена/извлечена) и, в качестве примера работы с картой, процедура проверки пароля и получение последовательности случайных символов. Программа написана и протестирована в среде Visual C++ 6.0, но может быть перенесена без изменений в .NET. Для работы требуется Platform SDK. Приведенные примеры ориентированы на Windows 95 OSR 2.1/98/Me/NT/2000/XP.

Начало работы


Перед вызовом любых функций MS SmartCard API необходимо инициализировать библиотеку. Это делается путем вызова функции LONG ScardEstablishContext (IN DWORD dwScope, IN LPCVOID lpReserved1, IN LPCVOID lpReserved1, OUT LPSCARDCONTEXT lphContext). У этой функции только один передаваемый параметр — dwScope, который указывает уровень доступа к подсистеме. Возможны два варианта — SCARD_SCOPE_USER и SCARD_SCOPE_SYSTEM. Первый предполагает уровень доступа, соответствующий правам учетной записи пользователя, в контексте которого выполняется процесс. Второй подразумевает полный доступ. В этом случае контекст процесса должен соответствовать учетной записи, которой делегированы все права для работы с подсистемой поддержки смарт-карт. Функция возвращает параметр — значение контекста, используемого диспетчером ресурсов для доступа к внутренней базе данных Windows и содержащей информацию о картах и ридерах. Контекст используется во всех функциях, осуществляющих администрирование и взаимодействие со смарт-картами.

Получение списка подключенных ридеров

Заметим, что к одному компьютеру может быть подключено множество разнообразных устройств. Приложение должно уметь определять и идентифицировать каждое из них. Как это делается, показано в Листинге 1. Затем можно получить список подключенных ридеров. Для этого существует метод GetListReaders, инкапсулирующий функцию ScardListReaders, возвращающую SCARD_S_SUCCESS в случае успешного вызова.

Монитор текущего состояния ридеров


Ниже описана одна из самых распространенных проблем, возникающих при работе с карточками. Как приложение может узнать о том, извлечена карта или нет? Мы создадим поток, который будет оповещать приложение о произошедших событиях (в данном случае применяется функция PostMessage, но с равным успехом можно воспользоваться PostThreadMessage или функциями синхронизации).

В качестве параметра потока ему передается указатель на структуру SCREADERS_SCANER_PROC_PARAM, описываемую в Листинге 2. Функция потока приведена в Листинге 3. Возникает соблазн передать этой структуре ранее полученное значение SCARDCONTEXT, но в MSDN отмечено, что использовать в разных потоках одно значение этого параметра нельзя. Под Windows 2000 ошибка не проявляется, но под Windows 9x происходит взаимная блокировка потоков.

Поле nMessage заполняется значением, возвращаемым функцией RegisterWindowMessage ( LPCTSTR szMessageName ). Например:

lpParam->nMessage
 = RegisterWindowMessage
( «WM_SCSAMPLE_CALLBACKMESSAGE» ).

Параметры wpCardPutInValue и wpCardTakeOutValue могут принимать любые значения, удобные для использования в приложении. Полю lphExitEvent присваивается значение адреса соответствующей переменной в родительском потоке. Переменная должна быть равна NULL. Когда потребуется завершить поток, следует вызвать функцию CreateEvent, и ее результат присвоить переменной, адрес которой мы передали в функцию потока. После чего нужно дождаться его окончания с помощью вызова WaitForSingleObject (hThread,dwTime). Параметр hThread, очевидно, был возвращен приложению функцией CreateThread. Поле hWnd содержит описатель окна, которому будут передаваться сообщения о событиях со смарт-картами. Ну а о том, как создать значения полей dwReadersCount и lpReaderState, я рассказал выше.

Теперь создадим поток, функция которого приведена в Листинге 3. Напомню, что вызов функции CreateThread под Windows 9x закончится неудачей, если последний параметр — LPDWORD lpdwThreadID — будет равен NULL. Но под Windows NT/2k/XP этот указатель можно не передавать. Функция потока реализована обычным для подобных задач образом. В первую очередь следует проверить, нет ли необходимости завершить поток. Это делается с помощью функции WaitForSingleObject, которой передается параметр, задающий значение времени ожидания 0. Это означает, что, если событие не произошло, управление сразу возвращается, а если произошло, то результат функции WAIT_OBJECT_0. В последнем случае мы освобождаем память и завершаем цикл.

Далее мы проверяем состояние ридеров и, если какой-то из них изменил состояние, сообщаем об этом родительскому потоку. В данном случае используется функция PostMessage, так как сообщения отправляются окну. В противном случае, если созданный поток не имеет цикла обработки сообщений в окнах, нужно использовать функцию PostThreadMessage и вместо идентификатора окна передавать идентификатор потока, в который вы отправляете сообщение. Отмечу, что приведенная функция не отслеживает ситуацию, когда добавляется новый ридер или когда устройство чтения смарт-карт извлекают из компьютера. Реализацию этой возможности пользователь может взять на себя. Здесь я отмечу лишь, что список ридеров, который хранится в родительском потоке, должен быть идентичен списку ридеров из потока монитора.

Выбор ридера и подключение к смарт-карте

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

Приложение получает сообщение nMessage из структуры SCREADERS_SCANER_PROC_PARAM (см. Листинг 4).

Что именно происходит в функциях SmartCardInsert и SmartCardRemove, зависит от специфики приложения. Например, при извлечении карты бухгалтерская программа может заблокировать доступ к базе данных. Или системная служба размонтирует диск или прекратит работу какого-нибудь сервера — вариантов множество.

Когда карта вставлена, логично начать с ней работать. Для этого надо инициализировать процесс взаимодействия с картой путем вызова функции LONG ScardConnect (IN SCARDCONTEXT hContext,IN LPCTSTR szReader,IN DWORD dwShareMode, IN DWORD dwPreferredProtocols, OUT LPSCARDHANDLE phCard, OUT LPDWORD pdwActiveProtocol), которой передаются текущий контекст, имя ридера, режим разделения ресурсов. Можно предоставить другим приложениям возможность работать с выбранным ридером — SCARD_SHARE_SHARED, запретить это — SCARD_SHARE_EXCLUSIVE, а также использовать режим непосредственной работы с картой — SCARD_SHARE_DIRECT, при котором другим приложениям доступ к ридеру запрещен. Взаимодействие с картой — т. е. работа с удаленным устройством — подразумевает использование того или иного протокола обмена. Определены два протокола, оба — асинхронные. Один, SCARD_PROTOCOL_T0, подразумевает обмен, ориентированный на символы, а второй, SCARD_PROTOCOL_T1, ориентирован на передачу блоков информации. Поскольку многие карты поддерживают оба протокола, параметр dwPreferredProtocols лучше инициализировать как SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1. В этом случае в параметре pdwActiveProtocol возвращается протокол, по которому будет осуществляться обмен. Ну и параметр phCard будет содержать заголовок, который далее может использоваться в других функциях.

Перед началом обмена с картой необходимо открыть транзакцию. Это не позволит другим приложениям менять информацию на карте в то время, когда вы с ней работаете. Начинает транзакцию вызов функции LONG ScardBeginTransaction (IN SCARDHANDLE hCard). Теперь мы готовы начать работать с картой.

Запись информации на карту

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

Обратим внимание, что задача состоит из двух частей. Первая — передача команды ридеру, и вторая — собственно формирование этой команды. Формат команды при этом зависит даже не от карт ридера, а от используемой смарт-карты.

Передача информации осуществляется с помощью приведенной функции (см. Листинг 5).

В параметре wSendStatus возвращается полученный от карты код завершения операции. Еще раз обращаю внимание читателей на то, что все операции, приводящие к тому или иному взаимодействию с картой, содержат два кода результата: первый — SmartCard API, сообщающий о результате процесса обмена, и второй — от карты, описывающий процесс обработки переданной информации непосредственно картой. Иначе говоря, вы можете успешно передать инструкции на карту, но обработать их она по тем или иным причинам, возможно, и не сумеет. В параметре wSendStatus содержится как раз эта информация.

Как правило, возвращаемый статус записывается в переменную типа WORD. Но, строго говоря, это зависит от типа используемой карты. Выбранные для экспериментов карточки Crtyptoflex 8k принадлежат именно к числу таких устройств. Однако при реализации приложения убедитесь, что применяемые карты используют такой тип возвращаемого результата.

Чтение информации с карты

Аналогично реализуется функция чтения информации, например файла с карты. Текст функции приведен в Листинге 6 и в комментариях не нуждается.

Управление смарт-картой

Теперь попробуем воспользоваться замечательными функциями, предоставляемыми смарт-картами. Еще раз обращу внимание читателей на то, что все приведенные ниже примеры ориентированы на работу с карточками Schlumberger Sample Cryptoflex 8K и с другими картами, вероятнее всего, работать не будут. Стандарт ISO 7816-4 описывает, в какой форме передаются команды на смарт-карту. А именно — формируется структура, называемая application protocol data unit (APDU), содержащая как инструкции, так и данные. APDU представляет собой структуру, приведенную в Листинге 7, за которой может следовать буфер данных, размер которого зависит от типа исполняемой команды. Для удобства работы я использовал структуру, приведенную в Листинге 8.

Как правило, работа с картой начинается с ввода пароля. Выбранные нами для примера карты поддерживают два пароля (PIN-кода): административный, который еще называют транспортным, и пользовательский. Первый предоставляет доступ ко всем функциям карты, второй — к некоторому их подмножеству; пример обработки пароля приведен в Листинге 9. Отмечу, что большая часть карт не позволяет вводить неправильные пароли произвольное число раз. Как правило, после нескольких неудачных попыток карта блокируется. Вы это наверняка знаете на примере правил использования мобильных телефонов. Ведь сердцем телефонов всех современных стандартов как раз и является SIM-карта, которая представляет собой смарт-карту. Например, во многих телефонах используются карты Schlumberger Cyberflex 32k.

В картах Cryptoflex 8K длина пароля фиксирована и равна 8 байт. Это используется в тексте функции. Возвращаемый статус проверяется на значение, соответствующее успешному завершению операции, — 0x0090.

Как я говорил выше, смарт-карта кроме непосредственного хранения информации может выполнять различные функции. Например, генерировать последовательности случайных символов — функция очень полезная при автоматической генерации паролей. Как это происходит, показано в Листинге 10. Длина последовательности задается в поле bP3 структуры SC_COMMAND_HEADER.

Описание всех команд, поддерживаемых смарт-картами Schlumberger Sample Cryptoflex 8K, можно найти в документации, входящей в состав SDK, поставляемых компанией Schlumberger-Sema. Здесь мы рассмотрели лишь примеры работы с картами, и описание полного списка поддерживаемых ими функций выходит далеко за рамки этой статьи.

Завершение работы

После того как все планируемые операции выполнены, необходимо завершить сессию. Это делается путем последовательного вызова двух функций: SCardEndTransaction и SCardDisconnect. Наборы параметров в обоих случаях одинаковые. Первый представляет собой идентификатор, полученный после вызова функции ScardConnect, а второй сообщает системе, что делать с картой после отсоединения. Возможны четыре значения этого параметра:

SCARD_LEAVE_CARD - не делать ничего;
SCARD_RESET_CARD -  заново инициализировать 
карту;
SCARD_UNPOWER_CARD - отключить питание;
SCARD_EJECT_CARD -  вынуть карту из ридера 
(для устройств чтения смарт-карт, поддерживающих 
их автоматическое извлечение).

О том, как корректно завершить поток монитора состояния ридеров, я рассказал выше.

В конце работы необходимо разрушить контекст, что делается путем вызова функции LONG ScardReleaseContext (IN SCARDCONTEXT hContext), единственным параметром которой является полученное вызовом функции SCardEstablishContext значение.

Спектр возможных применений технологий смарт-карт очень широк. Некоторые издания предрекают, что через несколько лет все мобильные компьютеры будут оснащаться встроенными ридерами смарт-карт. Такие устройства уже сейчас производит компания Fujitsu-Siemens, обеспечивая защиту от несанкционированного доступа с помощью смарт-карт на уровне BIOS, что, согласитесь, весьма удобно.

В операционных системах Windows помимо SCard API предусмотрены и другие программные интерфейсы для работы со смарт-картами. Большая их часть позволяет разработчику абстрагироваться от механизмов реализации тех или иных команд. Подробную информацию на эту тему можно найти по адресу: http://www.microsoft.com/smartcard. О стандарте PC/SC рассказано на http://www.pcscworkgroup.com.

Фото любезно предоставлены компанией Schlumberger

Служба смарт карта не запускается windows 10

Иногда при добавлении смарт-карты может появиться ошибка. Эта ошибка связана с определением устройств на компьютере и установкой для него драйвера. Самостоятельно компьютер не сможет найти подходящий драйвер так как почти все смарт карты снабжаются специальным программным обеспечением куда входит и драйвер для них.

Однако некоторые смарт карты могут работать на компьютере даже с не установленным программным обеспечением. В таком случае можно отключить сообщение об ошибке.
Для этого находите в Windows 10 смарт карты в диспетчере устройств. Наводите курсор на этот пункт и нажимаете правую кнопку мыши, откроется контекстное меню в котором выбираете пункт Другие устройства — Отключить. После этого появится окно Смарт-карта в котором нужно нажать Да.

Проблема:
При добавлении новой карты в систему Indeed CM появляется сообщение об ошибке:

Диспетчер ресурсов смарт-карт не выполняется

Решение 1:
Убедитесь в том, что на рабочей станции, к которой подключена добавляемая смарт-карта, запущена и работает служба Смарт-карта. Для управления работой служб необходимо обладать правами Локального администратора.

Чтобы просмотреть состояние службы Смарт-карта выполните следующие действия (для русскоязычных ОС):
Откройте меню Панель управления – Администрирование – Службы, найдите в списке службу Смарт-карта

Для англоязычных ОС:
Откройте меню Control Panel – Administrative Tools – Services найдите службу Smart Card

Решение 2:
Убедитесь в том, что адрес сервера Indeed CM добавлен в зону Местная интрасеть (Local Intranet) браузера рабочей станции, к которой подключена смарт-карта.

Для русскоязычных ОС: Свойства браузера – Безопасность – Местная интрасеть – Сайты. Добавить зону следующий узел: https://»DNS-имя сервера CM» и wss://localhost/

Для англоязычных ОС: Internet options – Security – Local intranet – Sites .

Криптопро не видит ключ JaCarta, решаем за минуту

Криптопро не видит ключ JaCarta, решаем за минуту

Добрый день! Уважаемые читатели и подписчики IT блога Pyatilistnik.org. Последние два дня у меня была интересная задача по поиску решения на вот такую ситуацию, есть физический или виртуальный сервер, на нем установлена наверняка многим известная КриптоПРО. На сервер подключен USB ключ JaCarta, который используется для подписи документов для ВТБ24 ДБО. Локально на Windows 10 все работает, а вот на серверной платформе Windows Server 2016 и 2012 R2, Криптопро не видит ключ JaCarta. Давайте разбираться в чем проблема и как ее поправить.

Описание окружения

Есть виртуальная машина на Vmware ESXi 6.5, в качестве операционной системы установлена Windows Server 2012 R2. На сервере стоит КриптоПРО 4.0.9944, последней версии на текущий момент. С сетевого USB хаба, по технологии USB over ip, подключен ключ JaCarta. Ключ в системе видится, а вот в КриптоПРО нет.

Алгоритм решения проблем с JaCarta

КриптоПРО очень часто вызывает различные ошибки в Windows, простой пример (Windows installer service could not be accessed). Вот так вот выглядит ситуация, когда утилита КриптоПРО не видит сертификат в контейнере.

Как видно в утилите UTN Manager ключ подключен, он видится в системе в смарт картах в виде Microsoft Usbccid (WUDF) устройства, но вот CryptoPRO, этот контейнер не определяет и у вас нет возможности установить сертификат. Локально токен подключали, все было то же самое. Стали думать что сделать.

Возможные причины с определением контейнера

  1. Во первых, это проблема с драйверами, например, в Windows Server 2012 R2, JaCarta в идеале должна определяться в списке смарт карт как JaCarta Usbccid Smartcard, а не Microsoft Usbccid (WUDF)
  2. Во вторых если устройство видится как Microsoft Usbccid (WUDF), то версия драйверов может быть устаревшей, и из-за чего ваши утилиты будут не определять защищенный USB носитель.
  3. Устарелая версия CryptoPRO

Как решить проблему, что криптопро не видит USB ключ?

Создали новую виртуальную машину и стали ставить софт все последовательно.

  • Первым делом обновляем вашу операционную систему, всеми доступными обновлениями, так как Microsoft исправляет много ошибок и багов, в том числе и драйверами.
  • Вторым пунктом является, в случае с физическим сервером, установить все свежие драйвера на материнскую плату и все периферийное оборудование.
  • Далее устанавливаете Единый Клиент JaCarta.
  • Устанавливаете свежую версию КриптоПРО

Установка единого клиента JaCarta PKI

Единый Клиент JaCarta – это специальная утилита от компании «Аладдин», для правильной работы с токенами JaCarta. Загрузить последнюю версию, данного программного продукта, вы можете с официального сайта, или у меня с облака, если вдруг, не получиться с сайта производителя.

Далее полученный архив вы распаковываете и запускаете установочный файл, под свою архитектуру Windows, у меня это 64-х битная. Приступаем к установке Jacarta драйвера. Единый клиент Jacarta, ставится очень просто (НАПОМИНАЮ ваш токен в момент инсталляции, должен быть отключен). На первом окне мастера установки, просто нажимаем далее.

Принимаем лицензионное соглашение и нажимаем «Далее»

Чтобы драйвера токенов JaCarta у вас работали корректно, достаточно выполнить стандартную установку.

Если выберете «Выборочную установку», то обязательно установите галки:

  • Драйверы JaCarta
  • Модули поддержки
  • Модуль поддержки для КриптоПРО

Далее нажимаем «Установить».

Через пару секунд, Единый клиент Jacarta, успешно установлен.

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

Установка КриптоПРО

После установки JaCarta PKI, нужно установить КриптоПРО, для этого заходите на официальный сайт.

На текущий момент самая последняя версия КриптоПро CSP 4.0.9944. Запускаем установщик, оставляем галку «Установить корневые сертификаты» и нажимаем «Установить (Рекомендуется)»

Инсталляция КриптоПРО будет выполнена в фоновом режиме, после которой вы увидите предложение, о перезагрузке браузера, но я вам советую полностью перезагрузиться.

После перезагрузки подключайте ваш USB токен JaCarta. У меня подключение идет по сети, с устройства DIGI, через клиента Anywhere View. В клиенте Anywhere View, мой USB носитель Jacarta, успешно определен, но как Microsoft Usbccid (WUDF), а в идеале должен определиться как JaCarta Usbccid Smartcard, но нужно в любом случае проверить, так как все может работать и так.

Открыв утилиту «Единый клиент Jacarta PKI», подключенного токена обнаружено не было, значит, что-то с драйверами.

Microsoft Usbccid (WUDF) – это стандартный драйвер Microsoft, который по умолчанию устанавливается на различные токены, и бывает, что все работает, но не всегда. Операционная система Windows по умолчанию, ставит их в виду своей архитектуры и настройки, мне вот лично в данный момент такое не нужно. Что делаем, нам нужно удалить драйвера Microsoft Usbccid (WUDF) и установить драйвера для носителя Jacarta.

Откройте диспетчер устройств Windows, найдите пункт «Считыватели устройств смарт-карт (Smart card readers)» щелкните по Microsoft Usbccid (WUDF) и выберите пункт «Свойства». Перейдите на вкладку «Драйвера» и нажмите удалить (Uninstall)

Согласитесь с удалением драйвера Microsoft Usbccid (WUDF).

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

После перезагрузки системы, вы можете увидеть установку устройства и драйверов ARDS Jacarta.

Откройте диспетчер устройств, вы должны увидеть, что теперь ваше устройство определено, как JaCarta Usbccid Smartcar и если зайти в его свойства, то вы увидите, что смарт карта jacarta, теперь использует драйвер версии 6.1.7601 от ALADDIN R.D.ZAO, так и должно быть.

Если открыть единый клиент Jacarta, то вы увидите свою электронную подпись, это означает, что смарт карта нормально определилась.

Открываем CryptoPRO, и видим, что криптопро не видит сертификат в контейнере, хотя все драйвера определились как нужно. Есть еще одна фишка.

  1. В RDP сессии вы не увидите свой токен, только локально, уж такая работа токена, либо я не нашел как это поправить. Вы можете попробовать выполнить рекомендации по устранению ошибки «Не возможно подключиться к службе управления смарт-картами».
  2. Нужно снять одну галку в CryptoPRO

ОБЯЗАТЕЛЬНО снимите галку «Не использовать устаревшие cipher suite-ы» и перезагрузитесь.

После этих манипуляций у меня КриптоПРО увидел сертификат и смарт карта jacarta стала рабочей, можно подписывать документы.

Еще можете в устройствах и принтерах, увидеть ваше устройство JaCarta,

Если у вас как и у меня, токен jacarta установлен в виртуальной машине, то вам придется устанавливать сертификат, через console виртуальной машины, и так же дать на нее права ответственному человеку. Если это физический сервер, то там придется давать права на порт управления, в котором так же есть виртуальная консоль.

Не возможно подключиться к службе управления смарт-картами

Когда вы установили все драйвера для токенов Jacarta, вы можете увидеть при подключении по RDP и открытии утилиты «Единый клиент Jacarta PKI» вот такое сообщение с ошибкой:

  1. Не запущена служба смарт-карт на локальной машине. Архитектурой RDP-сессии, разработанной Microsoft, не предусмотрено использование ключевых носителей, подключенных к удалённому компьютеру, поэтому в RDP-сессии удалённый компьютер использует службу смарт-карт локального компьютера. Из этого следует что, запуска службы смарт-карт внутри RDP-сессии недостаточно для нормальной работы.
  2. Служба управления смарт-картами на локальном компьютере запущена, но недоступна для программы внутри RDP-сессии из-за настроек Windows и/или RDP-клиента.

Как исправить ошибку «Не возможно подключиться к службе управления смарт-картами».

  • Запустите службу смарт-карт на локальной машине, с которой вы инициируете сеанс удалённого доступа. Настройте её автоматический запуск при старте компьютера.
  • Разрешите использование локальных устройств и ресурсов во время удалённого сеанса (в частности, смарт-карт). Для этого, в диалоге «Подключение к удалённому рабочему столу» в параметрах выберите вкладку «Локальные ресурсы», далее в группе «Локальные устройства и ресурсы» нажмите кнопку «Подробнее…», а в открывшемся диалоге выберите пункт «Смарт-карты» и нажмите «ОК», затем «Подключить».

  • Убедитесь в сохранности настроек RDP-подключения. По умолчанию они сохраняются в файле Default.rdp в каталоге «Мои Документы» Проследите, чтобы в данном файле присутствовала строчка «redirectsmartcards:i:1».
  • Убедитесь в том, что на удалённом компьютере, к которому вы осуществляете RDP-подключение, не активирована групповая политика
    [Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesClientServer data redirectionDo not allow smart card device redirection] -[Конфигурация компьютераадминистративные шаблоныкомпоненты windowsслужбы удалённых рабочих столовузел сеансов удалённых рабочих столовперенаправление устройств и ресурсовНе разрешать перенаправление устройства чтения смарт-карт]. Если она включена (Enabled), то отключите её, и перегрузите компьютер.
  • Если у вас установлена Windows 7 SP1 или Windows 2008 R2 SP1 и вы используете RDC 8.1 для соединения с компьютерами под управлением Windows 8 и выше, то вам необходимо установить обновление для операционной системы https://support.microsoft.com/en-us/kb/2913751

Вот такой вот был траблшутинг по настройке токена Jacarta, КриптоПРО на терминальном сервере, для подписи документов в ВТБ24 ДБО. Если есть замечания или поправки, то пишите их в комментариях.

Источник

Смарт-карты широко применяются для хранения конфиденциальных данных, таких как личная и банковская информация, а также для издания ваших удостоверений личности и права на вождение. Если вы являетесь пользователем Windows 10 и хотите подключить свою смарт-карту, то следуйте этой подробной инструкции.

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

Шаг 2: Откройте «Параметры» (Settings) на вашем компьютере. Для этого щелкните правой кнопкой мыши на пиктограмме «Пуск» (Start) и выберите «Параметры» (Settings) в меню.

Шаг 3: Выберите «Устройства» (Devices) в меню настроек Windows 10 и затем выберите «Считыватели карт памяти» (Card Readers).

Шаг 4: В перечне считывателей карт памяти должен появиться ваш смарт-карт-ридер. Если он не отображается, щелкните на кнопке «Добавить считыватель карт памяти» (Add a card reader).

Шаг 5: Подключите свою смарт-карту в считыватель и дождитесь, пока Windows 10 ее обнаружит. Обычно после этого ваша карта автоматически распознается, и все ваши данные начинают отображаться на ленте задач. Если это не происходит, перезапустите компьютер и повторите попытку.

Теперь вы можете использовать свою смарт-карту на Windows 10. Вы уверены, что защитили свои ценные данные и они будут быстро доступны для вас в любом уголке мира.

Содержание

  1. Как подключить смарт-карту на Windows 10
  2. Шаг 1: Установите драйверы
  3. Шаг 2: Подключите смарт-карту
  4. Шаг 3: Проверьте работу смарт-карты
  5. Шаг 4: Установите ПО для работы с смарт-картой
  6. Шаг 1: Проверьте наличие драйверов
  7. Что такое драйверы?
  8. Как узнать, есть ли у вас драйверы для смарт-карты?
  9. Шаг 2: Вставьте смарт-карту в устройство чтения
  10. Шаг 3: Откройте приложение чтения карт
  11. Варианты открытия приложения:
  12. Шаг 4: Выберите тип смарт-карты
  13. Шаг 5: Введите свой пин-код
  14. Шаг 6: Добавьте сертификаты
  15. Что такое сертификаты
  16. Как добавить сертификаты
  17. Как проверить, что сертификаты добавлены
  18. Что делать, если сертификат не добавляется
  19. Шаг 7: Протестируйте работу смарт-карты
  20. Тестирование смарт-карты в Internet Explorer
  21. Тестирование смарт-карты в других программах
  22. Шаг 8: Защитите конфиденциальность
  23. Вопрос-ответ
  24. Могу ли я использовать смарт-карту для входа в систему без пароля?

Как подключить смарт-карту на Windows 10

Шаг 1: Установите драйверы

Перед тем, как подключить смарт-карту, убедитесь, что у вас установлены драйвера для устройства. Если у вас нет драйверов, то скачайте их с сайта производителя.

Шаг 2: Подключите смарт-карту

Подключите смарт-карту к своему компьютеру. В большинстве случаев, смарт-карта подключается через USB-порт.

Шаг 3: Проверьте работу смарт-карты

Чтобы проверить, что ваша смарт-карта подключена правильно, откройте «Панель управления» вашего компьютера и выберите «Устройства и принтеры». Если смарт-карта подключена, то она должна отображаться в списке устройств.

Шаг 4: Установите ПО для работы с смарт-картой

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

  • Скачайте и установите необходимое ПО с сайта разработчика смарт-карты.
  • После установки, автоматически добавится дополнительный раздел в проводнике.
  • Для работы с смарт-картой, запустите соответствующую программу и следуйте инструкциям.

Шаг 1: Проверьте наличие драйверов

Что такое драйверы?

Драйверы – это программы, которые позволяют операционной системе работать с определенными устройствами. В случае смарт-карты, драйверы нужны для того, чтобы операционная система Windows 10 смогла распознать смарт-карту и установить связь с ней.

Как узнать, есть ли у вас драйверы для смарт-карты?

В Windows 10 в настоящее время все необходимые драйверы встроены в операционную систему, поэтому вероятность того, что у вас не будет нужных драйверов для смарт-карты, не очень высока.

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

  • Нажмите на кнопку «Пуск» в левом нижнем углу экрана.
  • Напишите в строке поиска «Управление устройствами» и выберите соответствующий пункт в списке результатов.
  • Откроется окно «Управление устройствами». Найдите раздел «Чипы смарт-карт» и щелкните на нем, чтобы развернуть список устройств.
  • Если драйверы для смарт-карты установлены правильно, в списке должно появиться соответствующее устройство.

Если же вы не видите устройство в списке «Чипы смарт-карт», то вам необходимо установить драйверы. В таком случае обратитесь к инструкции от производителя смарт-карты и скачайте нужные драйверы с его официального сайта.

Шаг 2: Вставьте смарт-карту в устройство чтения

После того как у вас есть устройство чтения, необходимо вставить в него смарт-карту. Сначала проверьте, должно ли устройство работать от USB-порта вашего компьютера или от отдельного источника питания.

Внимательно прочитайте инструкции устройства чтения, чтобы убедиться, что вставляете смарт-карту правильно. Обычно смарт-карту нужно вставлять с чипом вниз, с контактами вверх.

Как только вы вставили смарт-карту в устройство чтения, его индикаторный светодиод начнет мигать, указывая на то, что устройство обнаружило смарт-карту.

Не удаляйте смарт-карту во время ее использования или когда она еще читается или записывается. Это может повредить данные на ней и сделать ее непригодной для использования.

Шаг 3: Откройте приложение чтения карт

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

Если приложение не было предустановлено на вашем компьютере, вы можете загрузить его с веб-сайта производителя картридера или устройства чтения смарт-карт.

Варианты открытия приложения:

  • Нажмите правой кнопкой мыши на значке приложения на рабочем столе или в меню «Пуск» и выберите «Запустить как администратор».
  • Дважды щелкните на значке приложения, чтобы открыть его прямо из окна проводника.

Некоторые приложения могут автоматически открываться после вставки смарт-карты в картридер. Если это произошло, вы можете просто следовать инструкциям на экране для чтения и использования своей смарт-карты.

Если же приложение не запускается или вы не можете найти иконку приложения, обратитесь к руководству пользователя вашего картридера или устройства чтения смарт-карт для получения дополнительной помощи.

Шаг 4: Выберите тип смарт-карты

На этом шаге вам необходимо выбрать тип смарт-карты, который вы используете. В зависимости от типа карты, у вас может быть разный опыт при подключении к компьютеру.

Если у вас нет точной информации о типе карты, обратитесь к поставщику услуг или к инструкции, которая была включена в комплект поставки смарт-карты.

Для того, чтобы выбрать тип смарт-карты на Windows 10, перейдите в меню «Пуск» и выберите «Параметры».

  • В меню «Параметры» выберите «Устройства».
  • В левом меню выберите «Смарт-карты».
  • Выберите тип смарт-карты из раскрывающегося списка, который появится на экране.

Если вы видите сообщение об ошибке при выборе типа смарт-карты, убедитесь, что правильно выбрали тип из списка.

После выбора типа смарт-карты, вы будете перенаправлены на следующий шаг в процессе подключения.

Шаг 5: Введите свой пин-код

Чтобы начать использовать свою смарт-карту на Windows 10, необходимо ввести свой пин-код.

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

В диалоговом окне «Пользовательское имя» введите свой логин, а затем в строку «Пароль» введите свой пин-код.

Совет: если вы забыли свой пин-код, обратитесь к администратору службы поддержки смарт-карты. Он может сбросить и переустановить его для вас.

После ввода пин-кода нажмите кнопку «Продолжить» и вы готовы использовать свою смарт-карту на Windows 10.

Шаг 6: Добавьте сертификаты

Что такое сертификаты

Сертификаты — это цифровые документы, которые подтверждают личность владельца смарт-карты. Они выдается удостоверяющими центрами и необходимы для получения доступа к защищенным ресурсам.

Как добавить сертификаты

Чтобы добавить сертификаты на Windows 10, откройте приложение «Управление сертификатами» (наберите в поиске «certmgr.msc»).

  1. Выберите «Личные сертификаты» и нажмите на «Импорт».
  2. Выберите файл с сертификатом и следуйте инструкциям мастера.
  3. После импорта сертификата он появится в списке «Личные сертификаты».

Как проверить, что сертификаты добавлены

Для проверки наличия сертификатов на смарт-карте откройте приложение «Управление сертификатами», выберите «Информация о смарт-карте» и выберите нужную карту.

В разделе «Сертификаты» должен появиться список добавленных сертификатов.

Что делать, если сертификат не добавляется

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

Шаг 7: Протестируйте работу смарт-карты

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

Тестирование смарт-карты в Internet Explorer

Для начала откройте страничку с поддержкой смарт-карт в Internet Explorer. Вы увидите запрос на доступ к смарт-карте. Нажмите «Разрешить» и введите свой PIN-код для доступа к смарт-карте. Если все прошло успешно, вы должны увидеть данные, хранимые на карте.

Тестирование смарт-карты в других программах

После того, как вы проверили работу смарт-карты в браузере, попробуйте использовать ее в других программах, таких как электронная почта или программа для подписания документов. Если вам потребуется ввод PIN-кода, введите его и проверьте, открываются ли данные смарт-карты.

Если у вас возникнут какие-либо проблемы при использовании смарт-карты, проверьте все подключения и убедитесь, что драйвера установлены верно. Если проблема не решается, обратитесь в службу поддержки.

Шаг 8: Защитите конфиденциальность

Если вы используете смарт-карту для работы с конфиденциальными данными, рекомендуется защитить ее паролем. Это поможет предотвратить несанкционированный доступ к вашей информации.

Для защиты смарт-карты паролем необходимо выполнить следующие действия:

  • Откройте Панель управления и выберите Администрирование.
  • Выберите Управление сертификатами и найдите свой сертификат.
  • Выберите Свойства и перейдите на вкладку Безопасность.
  • Нажмите Изменить пароль и введите новый пароль.
  • Сохраните изменения и закройте окна.

Теперь вы можете быть уверены, что ваши данные защищены от несанкционированного доступа.

Вопрос-ответ

Могу ли я использовать смарт-карту для входа в систему без пароля?

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

  • Как просмотреть сертификаты в windows 10
  • Как прослушать com порт windows 10
  • Как прочитать раздел linux в windows
  • Как просмотреть журнал действий windows 10
  • Как просканировать документ с принтера на компьютер windows 10