Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Загрузите утилиту на компьютер и сохраните ее в отдельной папке.
  2. Подключите Рутокен к компьютеру.

    Warning

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


  3. В зависимости от ОС компьютера, к которому подключено устройство, выполните следующие действия:

    • Expand
      titleНа ОС Windows:
      1. Дважды щелкните по файлу rutoken-diagnostic-tool.exe.  Откроется консоль и запустится проверка подключенного устройства.
      2. Дождитесь окончания диагностики.



    • Expand
      titleНа ОС Linux:
      1. Откройте папку с утилитой.
      2. Щелкните правой кнопкой мыши в окне папки и выберите пункт Открыть в терминале.
      3. Введите команду:
        ./rutoken-diagnostic-tool
        и нажмите Enter.
      4. Дождитесь окончания диагностики.



    • Expand
      titleНа macOS:
      1. Откройте папку с утилитой.
      2. Щелкните правой кнопкой мыши по названию файла rutoken-diagnostic-tool.
      3. Выберите пункт Свойства.
      4. В разделе Открывать в приложении выберите Терминал (по умолчанию).
      5. Дважды щелкните по названию файла rutoken-diagnostic-tool.
      6. Дождитесь окончания диагностики.


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

...

Название проверки

Влияние на работоспособность

1Проверка целостности ОС Рутокен[fatal]
2Проверка работы криптоалгоритмов

[fatal] — если в результате проверки работы всех криптоалгоритмов отобразились ошибки 

2.1Тестирование алгоритма ГОСТ 28147-89[critical]

2.2

Тестирование алгоритма ГОСТ 34.10-2001[critical]

2.3

Тестирование алгоритма ГОСТ 34.11-1994[critical]

2.4 

Тестирование алгоритма ВКО 2001[critical]

2.5 

Тестирование алгоритма ГОСТ 34.10-2012[critical]

2.6 

Тестирование алгоритма ГОСТ 34.11-2012[critical]

2.7 

Тестирование алгоритма ВКО 2012[critical]

2.8 

Тестирование алгоритма ГОСТ Р 34.12-2015 Магма[critical]

2.9 

Тестирование алгоритма ГОСТ Р 34.12-2015 Кузнечик[critical]

2.10 

Тестирование алгоритма ECDH[critical]

Проверка целостности КИ

[critical]  — если в результате проверки целостности всей ключевой информации отобразилась хотя бы одна ошибка рядом с параметром со статусом [critical].

[fatal] — если в результате проверки целостности всей ключевой информации отобразилась хотя бы одна ошибка рядом с параметром со статусом [fatal]

3.1 

Проверка системной ключевой информации

Если при проверке возникла ошибка, уровень критичности [fatal] присваивается:

  • главному ключу;
  • ключу для ГСЧ:
  • IV для ГСЧ.

В общем заключении проверки уровень [fatal] присваивается, если в результате проверки хотя бы одного из параметров возникла ошибка со статусом [fatal]

3.2 

Проверка Глобальных PIN-кодов

[fatal] — если в результате проверки глобальных PIN-кодов отобразилась ошибка рядом с параметром Проверка целостности (Администратора/Пользователя)

3.3 

Проверка RSF файлов

Если при проверке возникла ошибка, уровень критичности [critical] присваивается:

  • открытым ключам;
  • закрытым ключам;
  • симметричным ключам;
  • локальным PIN-кодам.

Если проверяемые объекты отсутствуют на Рутокене, уровень критичности [critical] присваивается:

  • открытым ключам;
  • закрытым ключам;
  • симметричным ключам.

В общем заключении проверки уровень [fatal] присваивается, если:

  • при проверке всех RSF файлов возникла ошибка;
  • при проверке всех ключей не удалось обнаружить объекты
4Получение статуса секторов памяти

[critical] — если есть хоть один сектор, который содержит недостоверное число перезаписей.

[fatal]  — если все сектора — если все секторы содержат недостоверное число перезаписей

5Проверка работоспособности ГСЧ[fatal]

...

Info
titleПример лог-файла журнала событий безопасности

Image Modified

Содержание лог-файла журнала СБ

...

  • Первая версия журнала.
  • Записи операций, относящиеся к первой версии журнала (если такие операции были).
  • Вторая версия журнала.
  • Записи операций, относящиеся к первой ко второй версии журнала (если такие операции были).
  • и т.д.

...

  1. В лог-файле диагностики, который был создан одновременно с лог-файлом журнала, найдите строку  SHA256 файла журнала СБ — это хеш лог-файла журнала, который был автоматически вычислен УДР при его создании.
  2. Вычислите хеш текущей версии лог-файла журнала самостоятельно. Сделать это можно, например, с помощью консольных утилит:
    • ОС Windows: certutil -hashfile "имя_файла_журнала_СБ.txt" sha256
    • ОС Linux: sha256sum "имя_файла_журнала_СБ.txt"
    • macOS: shasum -a 256 "имя_файла_журнала_СБ.txt"
  3. Сравните полученный хеш с хешем из лог-файла диагностики. Если хеш, сгенерированный с помощью консольной утилиты, не совпадает с хешем в лог-файле диагностики, значит, после выгрузки в файл журнала были внесены изменения. 

Поиск событий в журнале СБ

Определение сертификата с удаленным ключом

Чтобы понять, для какого сертификата был удален ключ, вычислите хеш открытого ключа, используя сертификатНайти в журнале СБ события, связанные с конкретной ключевой парой (например, чтобы определить, от какого сертификата удалили ключевую пару), можно с помощью первых 4 байтов хеша открытого ключа.

Чтобы вычислить хеш открытого ключа:

  1. Откройте онлайн-утилиту ASN.1 JavaScript Decoder.
  2. Загрузите сертификат одним из двух способов:
    • нажмите Выберите файл и выберите файл сертификата;
    • перетащите сертификат на вкладку с утилитой.
  3. Найдите В узле subjectPublicKey найдите строку OCTET STRING в узле subjectPublicKey.

  4. Нажмите на эту строку и выберите Copy value.

  5. Перейдите на сайт https://hashing.tools/streebog/streebog-256.
  6. В выпадающем меню раскрывающихся списках для выбора формата входных (1) и выходных (2) данных выберите hex.

  7. Вставьте скопированное значение в поле Input и удалите длину ключа, а также перенос строки после нее.

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

  8. Скопируйте первые 4 байта (8 символов) высчитанного хеша и найдите их в журнале событий безопасности.

...

Expand
titleТаблица кодов возврата


SW1Значение SW1SW2Значение SW2
0x90Команда выполнена успешно0x00Нет дополнительной информации
0x63

Неудачная аутентификация0x00Нет дополнительной информации
0xCXX – количество оставшихся попыток
доступа к данному DO
0x64Состояние памяти токена не изменилось (неожиданный конец файлового объекта или ошибка перед началом записи в память)0x00Нет дополнительной информации
0x65

Состояние памяти токена изменилось (ошибка в процессе записи в память)

0x00Нет дополнительной информации
0x81Повреждение памяти (memory failure)
0x67Неверная длина входного и/или выходного буфера (Lc и/или Le)0x00Нет дополнительной информации
0x68



Ошибка, связанная с информацией в байте CLA

0x81Логические каналы не поддерживаются
0x82Secure Messaging не поддерживается
0x83Ожидается завершающая команда цепочки
(выдается при попытке выполнить другую команду
до завершения цепочки команд)
0x84Цепочка команд не поддерживается
0x69





Команда не позволена
(command not allowed)




0x82Права доступа неудовлетворительны для выполнения команды (нет прав для выполнения команды)
0x83Файловый объект заблокирован
0x84Референсные данные испорчены или неверные
0x85Непригодные условия выполнения команды
(например, попытка удаления непустой папки)
0x86Нет текущего EF/RSF
0x87Отсутствует обязательный
элемент данных (TLV-структура) Secure Messaging
0x88Недопустимый или некорректный
элемент данных Secure Messaging
0x89Команда недопустима на данной стадии (фазе)
жизненного цикла файлового объекта/карты
0x94Ключ шифрования не предназначен
для выполнения данной операции
0x96Неверная ЭП или имитовставка
(в командах PSO | VCC и PSO | VDS)
0x6A

Неверные параметры команды

0x80Неверные параметры (данные)
во входном буфере (в поле DATA)
0x81Затребованная функция этой команды
не поддерживается
0x82Файловый объект не найден
0x84Недостаточно места в EEPROM-памяти токена
0x86Неверные параметры команды (P1-P2)
0x88Референсные данные не найдены
0x89Файловый объект уже существует
0x6BЗаданное смещение – за границей двоичного файла0x00Нет дополнительной информации
0x6CНеверная длина выходного буфера (Le)0xXXXX – рекомендуемая точная длина выходного буфера
0x6DНеверная или неподдерживаемая команда0x00Нет дополнительной информации
0x6EНеверное или неподдерживаемое значение CLA0x00Нет дополнительной информации
0x6F










































































Собственный класс ошибки














































































































































0x01Токен имеет протокол обмена, не поддерживаемый
USB-драйвером (более новый, чем в драйвере)

0x02

Токен имеет аппаратную конфигурацию,
отличную от ожидаемой

0x03

Токен не поддерживает затребованный
при форматировании объем памяти

0x10

Ошибка выполнения
криптографического преобразования

0x11

Нарушение работоспособности (ошибка) аппаратной подсистемы устройства

0x12

Закончился ресурс ключей ГСЧ.
Генерация случайных чисел более невозможна.

0x20

Повреждение системной области памяти или микропрограммы (ошибка CRC)

0x21

Неустранимая ошибка в оперативной памяти.
Токен сохранил контекст ошибки и отключился

0x22

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

0x30

Secure Messaging:

Требуется переоткрытие канала Secure Messaging
(т.е. выработка новых KEK и CEK)

0x31

Secure Messaging:

Требуется выработать новый CEK
(в рамках текущего канала SM)

0x32

Secure Messaging:

Не совпала имитовставка
в составе защищенной SM APDU-команды

0x33

Secure Messaging:

Значение счетчика команды меньше, чем ожидается
(но команда корректна)

0x34

Secure Messaging:

ID команды не соответствует ожидаемому
(но команда корректна)

0x35

Secure Messaging:

Переоткрытие канала SM невозможно
(еще не истек таймаут)

0x37

Secure Messaging:

При зашифровании APDU-ответа произошла фатальная ошибка

0x38

Secure Messaging:

Невозможно вернуть зашифрованный ответ
(нет данных о значении Le)

0x39

Secure Messaging:

Не загружен ключ активации

0x3A

Secure Messaging:

Операция должна быть защищена SM
(т.е. требуется защищенный канал)
или вообще не может быть выполнена
по бесконтактному интерфейсу

0x3F

Secure Messaging:

Отладочный код возврата.
Об обстоятельствах его возникновения
сообщать разработчикам SM

0x40

Мультиинтерфесные устройства:

Эта команда не может быть выполнена
по бесконтактному интерфейсу

0x50

Ошибка встроенной аппаратуры:

Ошибка при входе в командный режим Bluetooth–модуля

0x51

Ошибка встроенной аппаратуры:

Ошибка при установке текущих настроек Bluetooth–модуля

0x52

Ошибка встроенной аппаратуры:

Ошибка при обмене с Apple–крипточипом

0x53

Ошибка встроенной аппаратуры:

Аппаратная ошибка при установке интерфейса обмена.
Интерфейс не был изменен

0x55

Ошибка встроенной аппаратуры:

Ошибка при обмене с кнопкой
(когда кнопка физически присутствует)

0x56

Ошибка встроенной аппаратуры:

Ошибка инициализации RTC

0x57

Ошибка встроенной аппаратуры:

Ошибка чтения/записи RTC

0x58

Ошибка встроенной аппаратуры:

Дата/время не заданы

0x59

Ошибка встроенной аппаратуры:

Дата/время искажены

0x83

Обнаружено нарушение протокола обмена с токеном

0x84

Токен занят обработкой другой команды

0x85

В данной папке уже создано максимальное количество файловых объектов.
Создание нового файлового объекта невозможно

0x86

Токен работает не с правами доступа «Гость».
Перед выполнением аутентификации владельца
требуется очистить права доступа
командой RESET ACCESS RIGHTS

0x87

Неверная контрольная сумма защищенного файлового объекта

0x88

Слишком много локальных LogIn’ов
(хранилище заполнено)

0x89

Размер нового PIN-кода меньше минимально допустимого для этого CHV-RSF

0x8A

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

0x8B

Необходимо задать или сменить
аутентификационные данные

0x8C

PIN-код не удовлетворяет всем текущим политикам качества.
Операция не выполнена

0x8D

PIN-код содержится в истории (недавно использовался).
PIN-код не был изменен

0x90

Ожидается транзакция с другим ID (КриптоПро ФКН)

0x91

Исчерпан счетчик операций EKE (КриптоПро ФКН)

0x92

Исчерпан счетчик операций подписи (КриптоПро ФКН)

0x93

Исчерпан счетчик операций DH (КриптоПро ФКН)

0x94

Исчерпан счетчик неуспешных операций (КриптоПро ФКН)

0x95

Исчерпан счетчик последовательных
неуспешных операций (вводов PINа EKE) (КриптоПро ФКН)

0xA0

Неверное функционирование криптоалгоритма или ГСЧ,
выявленное в процессе его реальной работы
(а не при диагностике карты)

0xA1

Ошибка КриптоПро ФКН2:

Контекст ФКН2 не сформирован

0xA2

Ошибка КриптоПро ФКН2:

Контекст ФКН2 уже сформирован

0xA3

Ошибка КриптоПро ФКН2:

Поиск контейнеров ФКН2 не инициирован

0xA4

Ошибка КриптоПро ФКН2:

Нарушение ID транзакции

0xA5

Ошибка КриптоПро ФКН2:

Попытка выполнить 2-й шаг аутентификации
по EKE без выполнения 1-го шага

0xA6

Ошибка КриптоПро ФКН2:

Попытка чтения текущего состояния SM,
если SM-канал не открыт

0xA7

Ошибка КриптоПро ФКН2:

Secure Messaging: формат пришедшей команды верен,
однако имитовставка неправильная

0xA8

Ошибка КриптоПро ФКН2:

Secure Messaging: нет поля New Le,
невозможно вернуть защищенный ответ

0xA9

Ошибка КриптоПро ФКН2:

Не поддерживается данный алгоритм
аутентификации по EKE или для подписи

0xAA

Ошибка КриптоПро ФКН2:

Токен не находится в режиме «белых» хеш-значений

0xAB

Ошибка КриптоПро ФКН2:

Данное хеш-значение не найдено в списке «белых»
(если на токене установлен режим «белых» хеш-значений)

0xAC

Ошибка КриптоПро ФКН2 (возвращается устройством-компаньоном):

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

0xC0

Ошибка Rutoken ECP touch:

Операция не была подтверждена
нажатием кнопки до истечения таймаута

0xC1

Ошибка Хранилищ:

Создаваемый сертификат является копией
уже загруженного в Хранилище

0xC2

Ошибка Хранилищ:

Хранилище заполнено,
нет возможности добавить новый объект

0xC3

Ошибка Хранилищ:

Этот сертификат был ранее
удален из Хранилища (помещен в список удаленных),
повторное создание сертификата невозможно.

0xC4

Ошибка Хранилищ:

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

0xC5

Ошибка Хранилищ:

Нарушена контрольная сумма образа с ПО.

0xCC

Ошибка Хранилищ:

Данное Хранилище отсутствует (не было сформировано) на токене

0xCD

Ошибка Хранилищ:

Данное Хранилище уже сформировано, повторное создание невозможно

0xF0

Отладочные коды возврата.
Об обстоятельствах их возникновения
просьба сообщать разработчикам

0xF1
0xF2