Page tree

Versions Compared

Key

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

Table of Contents

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

Утилита Диагностики Рутокен (УДР) предназначена для проверки работы устройств Рутокен. Она позволяет получить полную информацию о работе устройства и его параметрах. На некоторых устройствах также можно выгрузить журнал событий безопасности с информацией об операциях, совершенных на Рутокене.

...

Количество проверок зависит от модели устройства Рутокен и версии микропрограммы (МП). Все проверки и их наличие для разных моделей Рутокенов описаны в Приложении 1.

Поддерживаемые ОС

Утилита работает в следующих операционных системах (ОС):

  • Windows 7 и выше;
  • macOS 10.15 и выше;
  • DEB-based дистрибутивы Linux:
    • Ubuntu 18 и выше;
    • Debian 10 и выше;
    • Astra Linux 1.7, 1.8.
  • RPM-based дистрибутивы Linux:
    • Centos 7, 8;
    • ROSA Linux 7.3 и выше;
    • РЕД ОС 7.3, 8;
    • Alter OS.
  • ALT Linux 8, 9, 10.

Поддерживаемые устройства

При помощи утилиты можно проверить работу следующих устройств:

...

Журнал событий безопасности доступен на следующих устройствах:

  • Рутокен ЭЦП 3.0 3120.

Работа с утилитой

  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. Если в консоли отобразилось сообщение «Процесс завершен», то диагностика прошла успешно. Чтобы ознакомиться с ее результатами, откройте сохраненный лог-файл.
Warning
titleДиагностика внешних пользователей

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

Ошибки диагностики

Anchor
Ошибки диагностики
Ошибки диагностики

Текст ошибкиОписаниеРешение
Не удалось произвести
проверку. Проверьте чтобы
к компьютеру был подключен
только один Рутокен
К компьютеру подключено несколько устройств РутокенОтключите все устройства Рутокен
кроме того, которое нужно диагностировать,
и запустите утилиту снова
Не удалось сохранить
Лог-файл
У утилиты диагностики нет прав на запись файлов в директорию

Убедитесь, что у вас есть права на создание файлов
и папок в директории, в которой находится утилита.

На ОС Windows:

  1. Щелкните правой кнопкой мыши
    по папке с утилитой.
  2. Откройте Свойства (Properties).
  3. Перейдите на вкладку Безопасность (Security).
  4. Нажмите Изменить... (Edit...).
  5. В столбце Разрешить (Allow) 
    поставьте галочку напротив 
    Полный доступ (Full control).
  6. Нажмите ОК.


На ОС Linux:

  1. Откройте терминал в папке с утилитой.
  2. Дайте пользовательской учетной записи права
    на чтение и запись в директорию с утилитой:
    sudo chmod -R u+rw ./


На macOS:

  1. Щелкните правой кнопкой мыши
    по папке с утилитой.
  2. Выберите пункт Свойства.
  3. В разделе Общий доступ и права доступа
    для своей учетной записи выберите Чтение
    и запись

some pcsc error acquired:
31(0x0000001f)

some pcsc error acquired:
-2146435050(0x80100016)


Утилита потеряла связь с устройством
в процессе диагностики

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

Если ошибка возникла при попытке диагностировать:

  • USB-токен — подключите его к другому USB-разъему.
  • Смарт-карту без поддержки NFC — убедитесь, что смарт-карта вставлена в считыватель правильной стороной.
  • Смарт-карту с поддержкой NFC с помощью бесконтактного считывателя — перед запуском утилиты убедитесь, что смарт-карта приложена к считывателю. Не убирайте смарт-карту, пока утилита не закончит диагностику


Лог-файл диагностики

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

Параметры лог-файла диагностики

  • Сохраняется в папке logs в той же директории, где находится утилита rutoken-diagnostic-tool.
  • Сохраняется в формате TXT, кодировка UTF-8.
  • В конце каждой строки лог-файла используется символ LF (Line Feed).
  • Название лог-файла состоит из: префикса log, ID Рутокена, даты и времени его диагностики.
Info
titleПример лог-файла диагностики

Image RemovedImage Added

Содержание лог-файла диагностики

Info

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


РазделСодержание
Проверка целостности ОС устройства

Контрольная сумма ОС Рутокен, которая вычисляется в ходе проверки,
и итог сравнения ее значения с эталонным

Warning
Если в результате данной проверки отобразилась ошибка, то результаты остальных проверок могут быть недостоверными, поэтому мы не рекомендуем их использовать


Получение кратких сведений об устройстве

Информация о подключенном Рутокене:

  • модель; 
  • ID;
  • сеансовый счетчик изменений в файловой структуре устройства;
  • счетчик подключений к USB-шине;
  • версия микропрограммы;
  • размер занятой EEPROM-памяти;
  • размер свободной EEPROM-памяти
Проверка работы криптоалгоритмов

Информация о работе криптоалгоритмов:

  • ГОСТ 28147-89;
  • ГОСТ 34.10-2001;
  • ГОСТ 34.11-1994;
  • ВКО 2001;
  • ГОСТ 34.10-2012;
  • ГОСТ 34.11-2012;
  • ВКО 2012;
  • ГОСТ Р 34.12-2015 Магма;
  • ГОСТ Р 34.12-2015 Кузнечик;
  • ECDH
Проверка целостности КИ

Информация о состоянии сохраненных на Рутокене объектов:

  • главный ключ;
  • ключ для ГСЧ;
  • IV для ГСЧ;
  • глобальные PIN-коды;
  • RSF-файлы
Получение журнала ошибочных операцийЗначения счетчиков ошибочных операций
Получение статуса сектора памятиИнформация об использованной встроенной EEPROM-памяти устройства по секторам
Проверка работоспособности генератора случайных чисел (ГСЧ)Информация о состоянии ГСЧ
Проверка поддержки журнала СБ

Информация о том, поддерживает ли устройство работу с журналом событий безопасности.

Если устройство поддерживает журналирование, после этого раздела будет приведен лог выгрузки журнала событий безопасности

Последняя строка лог-файлаИтог прохождения проверок

Интерпретация результатов диагностики

Уровни критичности

В результате проверки рядом с каждым перечисленным ниже параметром отображается уровень критичности. Этот уровень помогает оценить работоспособность Рутокена.

...

Названия проверок и критичность их влияния на работоспособность Рутокена представлены в таблице ниже. 

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

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

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]

Статусы

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

УсловиеВывод статуса
Проверки
Проверка прошла успешно
-> Успешно
Проверяемые файлы отсутствуют
-> ОБЪЕКТЫ НЕ ОБНАРУЖЕНЫ
Проверка прошла с ошибкой
-> !ОШИБКА [код ошибки] - <текст ошибки>

или

[критичность ошибки] -> !ОШИБКА [код ошибки] - <текст ошибки>
Рутокен не поддерживает проверку
Запрошенная функция не поддерживается 
Общее заключение (последняя строка лог-файла)
Все проверки завершились успешно
Все проверки прошли успешно
Хотя бы одна проверка завершилась с ошибкой
При диагностике были выявлены ошибки

Anchor
Лог выгрузки журнала событий безопасности
Лог выгрузки журнала событий безопасности
Лог 
выгрузки журнала событий безопасности

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

Этап выгрузки Результат
Проверка поддержки журнала СБ



!ОШИБКА [<SW-код>] - <текст ошибки>

Не удалось проверить, поддерживается ли журналирование на устройстве.

Процесс выгрузки прерывается


-> Успешно 
Журнал СБ не поддерживается

Устройство не поддерживает журналирование. Список устройств, которые поддерживают журналирование, находится в разделе Поддерживаемые устройства.

Процесс выгрузки прерывается


-> Успешно
Журнал СБ поддерживается

Устройство поддерживает журналирование. 

Утилита переходит к следующему этапу выгрузки

Чтение журнала СБ


!ОШИБКА [<SW-код>] - <текст ошибки>

Не удалось прочесть журнал или журналирование не поддерживается.

Процесс выгрузки прерывается


-> Успешно

Журнал удалось прочитать.

Утилита переходит к следующему этапу выгрузки

Декодирование журнала СБ


!ОШИБКА Возникли ошибки при декодировании журнала.

В журнале нашлись поврежденные TLV-структуры.

Журнал СБ выгружается в бинарном формате


!ОШИБКА Возникли ошибки при декодировании некоторых записей.

В журнале встретились неизвестные теги или возникли проблемы при преобразовании известных тегов.

Журнал СБ выгружается, операции в нем записываются последовательно два раза:

  • Записи, которые удалось преобразовать из бинарного формата в человекочитаемый, записываются в человекочитаемом формате. Остальные остаются в бинарном формате.
  • Все теги записываются в бинарном формате. Раздел имеет заголовок: «Журнал СБ в бинарном формате»


-> Успешно

Журнал был полностью декодирован.

Утилита переходит к следующему этапу выгрузки

Запись журнала СБ в файл


!ОШИБКА
Не удалось создать файл / Не удалось записать в файл

Чтение и декодирование журнала прошло успешно, но возникла ошибка при выгрузке журнала в файл.

Журнал СБ не выгружается


-> Успешно
Файл security_log-<ID>-<дата>-<время>.txt создан

Журнал успешно выгрузился в файл.

Утилита переходит к следующему этапу выгрузки

Расчет SHA256 файла журнала СБ


-> Успешно
SHA256 файла журнала СБ: <хеш-код>

Утилита успешно вычислила хеш-код файла журнала по алгоритму SHA256.

Выгрузка журнала завершена


Журнал событий безопасности

Info

Журнал событий безопасности поддерживается только на устройствах Рутокен ЭЦП 3.0 3120.

Журнал событий безопасности это функциональность УДР это функциональность УДР,  записывающая записывающая операции, происходящие на Рутокене. Данная функциональность требуется для расследования инцидентовдля расследования инцидентов. На Рутокене журнал Рутокене журнал хранится в бинарном формате в режиме «только для чтения». После завершения диагностики УДР автоматически выгружает журнал в человекочитаемом формате на компьютер, к которому подключен Рутокен. События в журнале не удаляются в результате форматирования.

Параметры лог-файла журнала СБ

  • Сохраняется в папке logs в той же директории, где находится утилита rutoken-diagnostic-tool.
  • Создается одновременно с лог-файлом диагностики, но сохраняется в отдельный лог-файл.
  • Сохраняется в формате TXT, кодировка UTF-8.
  • В конце каждой строки журнала используется символ LF (Line Feed).
  • Название лог-файла журнала состоит из: префикса security_log, ID Рутокена, даты и времени его диагностики.
Info
titleПример лог-файла журнала событий безопасности

Image RemovedImage Added

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

Info

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

...

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

Каждая запись об операции, кроме записи с версией журнала, сопровождается кодом возврата (SW-кодом), который состоит из двух частей. Код SW1 задает класс ошибки, а код SW2 позволяет конкретизировать данную ошибку в пределах класса. Возможные значения SW-кодов приведены в Приложении 2.

Операция

Отображение 

1Версия журнала
  • Номер версии журнала

2

Импорт закрытого ключа

  • Название операции,
  • SW-код операции,
  • ID объекта, 
  • 4 первых байта от хеша открытого ключа (при наличии),
  • «Операция не была завершена» (при необходимости)
3Генерация ключевой пары
  • Название операции,
  • SW-код операции,
  • ID объекта (при наличии),
  • 4 первых байта от хеша открытого ключа (при наличии),
  • «Операция не была завершена» (при необходимости)
4Удаление закрытого ключа
  • Название операции, 
  • SW-код операции,
  • ID объекта,
  • 4 первых байта от хеша открытого ключа (при наличии),
  • «Операция не была завершена» (при необходимости)
5Генерация ключевой пары ФКН2
  • Название операции,
  • SW-код операции,
  • 4 первых байта от хеша имени контейнера (при наличии),
  • 4 первых байта от хеша первого открытого ключа (при наличии),
  • 4 первых байта от хеша второго открытого ключа (при наличии),
  • «Операция не была завершена» (при необходимости)
6Удаление контейнера ФКН2
  • Название операции, 
  • SW-код операции,
  • 4 первых байта от хеша имени контейнера (при наличии),
  • 4 первых байта от хеша первого открытого ключа (при наличии),
  • 4 первых байта от хеша второго открытого ключа (при наличии),
  • «Операция не была завершена» (при необходимости)
7Смена PIN Пользователя
  • Название операции,
  • SW-код операции,
  • «Операция не была завершена» (при необходимости)
8Импорт локального PIN
  • Название операции, 
  • SW-код операции,
  • ID объекта,
  • «Операция не была завершена» (при необходимости)
9Разблокировка PIN-кода
  • Название операции, 
  • SW-код операции,
  • Тип аутентификации (при наличии),
  • ID объекта (при наличии)
10Неуспешная аутентификация
  • Название операции, 
  • SW-код операции,
  • Тип аутентификации,
  • ID объекта (при наличии),
  • Количество оставшихся попыток аутентификации (при наличии)
11Форматирование
  • Название операции,
  • SW-код операции


Проверка целостности данных лог-файла журнала СБ

На устройстве Рутокен журнал СБ хранится в режиме «только для чтения» (read only), однако после выгрузки полученный TXT-файл можно изменять. Проверить, вносились ли в лог-файл журнала изменения, можно с помощью сравнения хешей — хеш меняется, если изменяется содержимое файла. Для этого:

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

...

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

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

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

  1. Откройте онлайн-утилиту ASN.1 JavaScript Decoder.
  2. Загрузите сертификат одним из двух способов:
    • нажмите Выберите файл и выберите файл сертификата;
    • перетащите сертификат на вкладку с утилитой.
  3. В узле subjectPublicKey найдите строку OCTET STRING.
    Image Added
  4. Нажмите на эту строку и выберите Copy value.
    Image Added
  5. Перейдите на сайт https://hashing.tools/streebog/streebog-256.
  6. В раскрывающихся списках для выбора формата входных (1) и выходных (2) данных выберите hex.
    Image Added
  7. Вставьте скопированное значение в поле Input и удалите длину ключа, а также перенос строки после нее.
    Image Added
    Хеш высчитается автоматически, как только сайт обнаружит в поле Input корректные данные.
    Image Added
  8. Скопируйте первые 4 байта (8 символов) высчитанного хеша и найдите их в журнале событий безопасности.
    Image Added

Anchor
Приложение 1
Приложение 1

Приложение 1. Список проверок на устройствах с разными микропрограммами

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

Info
titleПример

Image RemovedImage Added

В лог-файле диагностики видно, что модель Рутокена — Рутокен ЭЦП 3.0 3120, а версия микропрограммы — 67.4.32.2.

Чтобы понять, какие проверки актуальны для этого устройства и этой версии микропрограммы, смотрим на Таблицу 3 и столбец МП 32.

...

Expand
titleТаблица 3. Проверки для устройства Рутокен ЭЦП 3.0


ПроверкаМП 28-30МП 32
1Проверка целостности ОС Рутокен++
2Получение кратких сведений об устройстве++
3Проверка работы криптоалгоритмов++
3.1Тестирование алгоритма ГОСТ 28147-89++
3.2Тестирование алгоритма ГОСТ 34.10-2001++
3.3Тестирование алгоритма ГОСТ 34.11-1994++
3.4Тестирование алгоритма ВКО 2001++
3.5Тестирование алгоритма ГОСТ 34.10-2012++
3.6Тестирование алгоритма ГОСТ 34.11-2012++
3.7Тестирование алгоритма ВКО 2012++
3.8Тестирование алгоритма ГОСТ Р 34.12-2015 Магма++
3.9Тестирование алгоритма ГОСТ Р 34.12-2015 Кузнечик++
3.10Тестирование алгоритма ECDH++
4Проверка целостности КИ

4.1Проверка системной ключевой информации++
4.2Проверка Глобальных PIN-кодов++
4.3Проверка RSF файлов++
5Получение журнала ошибочных операций

5.1Количество ошибок ввода глобальных PIN-кодов++
5.2Количество ошибок работы ГСЧ++
5.3Количество ошибок работы алгоритма VKO++
5.4Количество ошибок работы алгоритмов ГОСТ 34.10++
5.5Количество ошибок работы алгоритмов ГОСТ 28147++
6Получение статуса секторов памяти++
7Проверка работоспособности ГСЧ++
8Проверка поддержки журнала СБ++
8.1Чтение журнала СБ-+
8.2Декодирование журнала СБ-+
8.3Запись журнала СБ в файл+
8.4Расчет SHA256 файла журнала СБ-+


Приложение 2. Значения SW-кодов
Anchor
Значения SW-кодов
Значения SW-кодов

Рутокен может возвращать следующие сочетания кодов SW1-SW2:

...