Как расшифровать файл enc криптопро

Обновлено: 06.07.2024

Речь пойдет о файлах primary.key, masks.key и header.key, которые лежат в директории ххххх.000 на флешке. Данные файлы входят в состав криптоконтейнера закрытого ключа электронной подписи криптопровайдера КриптоПро, формат которого нигде не опубликован. Целью данной статьи является чтение контейнера и преобразование закрытого ключа в формат, который может быть прочитан в библиотеке OpenSSL. Долгое время было распространено ошибочное суждение, что достаточно сделать нечто вида (primary_key XOR masks_key) и мы получим закрытый ключ в чистом (raw) виде, однако забегая вперед, можно утверждать, что в КриптоПро было применено более сложное преобразование, в худшем случае состоящее из более чем 2000 (двух тысяч) операций хеширования.

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

Содержит 32 байта ключа в формате Asn1. Это только половина ключа, полный ключ получается при делении этого числа по модулю Q на маску. Поле, хранящее модуль Q в библиотеке OpenSSL имеет название order. Маска лежит в файле masks.key:

primary.key


Содержит 32 байта маски ключа в формате Asn1, зашифрованного на ключе хранения pwd_key. Далее 12 байт «затравочной» информации для генерации ключа хранения pwd_key, если криптоконтейнер защищен паролем, то пароль также участвует в генерации ключа хранения.

Далее контрольная сумма (имитозащита) 4 байта. Контрольной информацией для простоты мы пользоваться не будем, общий контроль будет осуществляться путем генерации открытого ключа и сравнения первых 8 байт полученного ключа с соответствующим полем из файла header.key:

masks.key

  • GostR3410_2001_CryptoPro_A_ParamSet — 1.2.643.2.2.35.1
  • GostR3410_2001_CryptoPro_B_ParamSet — 1.2.643.2.2.35.2
  • GostR3410_2001_CryptoPro_C_ParamSet — 1.2.643.2.2.35.3
  • GostR3410_2001_CryptoPro_XchA_ParamSet — 1.2.643.2.2.36.0
  • GostR3410_2001_CryptoPro_XchB_ParamSet — 1.2.643.2.2.36.1

header.key

Основную работу выполняют следующие 3 функции:

1. Создаем ключ хранения исходя из 12-ти байтовой «соли» и пароля.

2. Расшифровываем основной ключ на ключе хранения.

3. Делим ключ с маской на маску.

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

Далее сборка исходников описана для Linux версии.

Версию для Windows можно скачать отсюда там же есть сертификаты и закрытый ключ для тестирования, для сборки потребуется бесплатный компилятор Borland C++ 5.5

Компиляция OpenSSL библиотеки

После скачивания и распаковки исходных текстов openssl в целевой директории выполняем команды:


Получаем готовую библиотеку libcrypto.a в текущей директории.
Также потребуются заголовочные файлы из директорий engines/ccgost и include.

С помощью программы «КриптоАРМ» вы можете расшифровать:

  • отдельный файл;
  • папку файлов (при этом будет расшифрован каждый файл, входящий в указанную папку. Выходные файлы автоматически сохраняются в папку с исходными данными).

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

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

настройка по умол.jpg

2. Выберите файл или папку файлов, которые необходимо расшифровать (кнопки Добавить папку и Добавить файл). Также вы можете выбрать архив с файлами.

добавить файл3.jpg

3. В следующем окне выберите предпочтительный сертификат расшифрования (кнопка Выбрать). Указанный сертификат вы можете просмотреть, нажав на кнопку Просмотреть.

вледелец серти.jpg

4. После завершения сбора данных для расшифрования возникнет окно с информацией о статусе операции и об используемых параметрах. Для продолжения нажмите на кнопку Готово.

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

настройка по умол1.jpg

5. Начнется процесс расшифрования файла. Вы можете прервать его, нажав на кнопку Отменить все.

Данные будут расшифрованы и по умолчанию сохранены в тот же каталог, в котором находится исходный (зашифрованный) файл данных. При этом имя расшифрованного файла совпадает с именем зашифрованного файла, но не имеет расширения *.enc. Если файл с таким именем уже существует, сохраните его под другим именем.

Если сертификат ГОСТ, введите пароль доступа к нему.

детали шиФР1.jpg

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

результат расшифрования.jpg

  • просмотреть путь, по которому сохранен зашифрованный файл;
  • просмотреть зашифрованный файл (кнопка Просмотреть напротив строки Файл исходных данных);
  • сохранить исходный файл (расшифрованные данные) по указанному пути (кнопка Сохранить);
  • просмотреть информацию о сертификатах получателей зашифрованных данных и их статусы (кнопка Просмотреть).

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

Вы можете расширить/сократить список сертификатов получателей файла (кнопки Добавить и Удалить соответственно). При нажатии на кнопку Применить или ОК данные будут повторно зашифрованы в адрес измененного списка получателей.

КриптоПро — линейка криптографических утилит (вспомогательных программ) — так называемых криптопровайдеров. Они используются во многих программах российских разработчиков для генерации ЭЦП, работы с сертификатами, организации структуры PKI и т.д.

1. Установка CryptoPro 4.0.0 x64

1.2. Распакуйте архив в папку (в примере /home/test/)

1.3. Перейдите в папку с КриптоПро:

1.4. Установить права на запуск:

1.4.1 Выполните команду

1.5. Установите КриптоПро, выполнив команду:

Появится окно установки КриптоПро:


Нажмите install для установки пакетов.

Вывод серйного номера лицензии:

Ввод номера лицензии:

1.6. Установка дополнительных пакетов и драйверов:
Установка драйверов для токенов Rutoken S:
для РЕД ОС версии 7.1 или 7.2:

для РЕД ОС версии 7.3 и старше:

Установка драйверов для токенов Jacarta:
для РЕД ОС версии 7.1 или 7.2:

для РЕД ОС версии 7.3 и старше:

2. Установка программного обеспечения для работы с сертификатами

2.1. Установка средства управления сертификатами token-manager:
для РЕД ОС версии 7.1 или 7.2:

для РЕД ОС версии 7.3 и старше:

2.2. Установка программного обеспечения для подписи файлов gostcrypto.
Для рабочего стола Mate:
для РЕД ОС версии 7.1 или 7.2:

для РЕД ОС версии 7.3 и старше:

Для Cinnamon:
для РЕД ОС версии 7.1 или 7.2:

для РЕД ОС версии 7.3 и старше:

3. Работа с ключевыми носителями и сертификатами.

3.1 Token-manager


В меню «Операции» можно выполнить:
• Ввод лицензии КриптоПро CSP
• Просмотр лицензии
• Установка корневых сертификатов
• Установка списка отозванных сертификатов
• Просмотр корневых сертификатов
• Просмотр списков отозванных сертификатов
В следующем окне мы видим хранилище корневых сертификатов и личное хранилище, а также ключевые носители (в нашем случае их два): Jakarta и Rutoken.

Итак, для примера использования электронной подписи возьмём ключевой носитель Jakarta. Установим с него сертификат в личное хранилище и подпишем файл.
Нажимаем правой кнопкой мыши, далее – «подписать».


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


Мы можем проверить её, нажав правой кнопкой мыши – «проверить ЭЦП (электронно-цифровую подпись)».


3.2 GOST-CRYPTO-GUI


Доступны следующие опции:
• Криптопровайдер
• Кодировка файлов
• Авт. Проверка подписи
• Отсоединённая подпись

Теперь зашифруем файл, но с использование другого сертификата, размещённого на ключевом носителе Rutoken.
Выбираем необходимый файл:


Затем указываем наш сертификат:



Готово. Зашифрованный файл формируется с тем же именем и расширением .enc


Теперь попробуем его расшифровать. Нажимаем «Расшифровать файл(ы)», выбираем зашифрованный, затем сертификат, которым был зашифрован наш файл.




Диагностический архив для обращения в тех. поддержку

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

В результате должен получится cprodiag_день_месяц_год.tar.gz архив, который следует прислать в техническую поддержку РЕД ОС и КриптоПро.

Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.

Название (англ.): Encoded File

Название (рус.): Закодированный файл

Разработчик: Нет данных

Описание: ENC или Encoded File представляет собой формат зашифрованного файла используемого разными программами, предназначенными для обеспечения безопасности проектов. Примером таких программ могут служить Lotus 1-2-3 или Adobe Flash. Основным предназначением Encoded File является защита проектов от несанкционированного к ним доступа. Поскольку ENC-файлы могут быть кодированы разными приложениями и разными методами, открыть их можно только той программой, в которой он был создан. Также для открытия ENC можно использовать ZipZag, Smith Micro Stuffit Deluxe. Для расшифровки ENC-файлов следует использовать приложение под названием UUDECODE.

Для открытия (редактирования) файла этого формата можно использовать следующие программы:

Формат 2

Название (англ.): Copysafe Protected PDF File

Название (рус.): Защищенный PDF-файл Copysafe

Разработчик: ArtistScope

Описание: ENC или Copysafe Protected PDF File представляет собой формат защищенного документа PDF созданного с помощью специальной программы CopySafe PDF Protector. Формат ENC был разработан компанией ArtistScope. Сами файлы ENC являются ничем иным как обычными PDF-документами, защищенными, однако, от просмотра и изменения. Предназначается формат для предотвращения несанкционированного доступа к содержимому PDF-файлов. Используемый в ENC метод предполагает защиту от копирования текста, графики, а также предотвращение захвата снимков экрана утилитами для снятия скриншотов. Также в ENC-файлах может использоваться парольная защита и защита от вывода на печать.

Для открытия (редактирования) файла этого формата можно использовать следующие программы:

Формат 3

Название (англ.): Electronic Navigation Chart File

Название (рус.): Графический файл навигации

Разработчик: NOAA

Описание: ENC или Electronic Navigation Chart File является форматом навигационных изображений. Разработан формат совместными усилиями организаций NOAA и OCS. Внутреннее содержимое файлов ENC представляет собой базу данных векторных изображений с нанесенными обозначениями для морских карт. ENC-файлы могут включать в себя такие данные как особенности местности, цвет, глубина, форма и прочие топографические характеристики. Основное предназначение карт ENC заключается в организации поддержки морской транспортной инфраструктуры, а также для управления различными береговыми службами. Файлы этого типа могут быть открыты NOAA ENC Direct to GIS.

Для открытия (редактирования) файла этого формата можно использовать следующие программы:

Формат 4

Название (англ.): Encore Musical Notation File

Название (рус.): Файл нотной записи Encore

Разработчик: GVOX

Описание: ENC или Encore Musical Notation File представляет собой собственный формат музыкального файла созданного в Encore – нотном редакторе, программе, предназначенной для записи музыкальных партитур в среде ОС Windows и Macintosh. Формат был разработан компанией GVOX, специализирующейся на создании музыкального программного обеспечения. Основное назначение файлов этого типа заключается в хранении композиций и распечатке нотных записей. Могут хранить в себе тексты песен, ноты, а также различного рода метаданные, например время и ключ записи, имя композитора, информацию о музыкальных инструментах и т.п.

Для открытия (редактирования) файла этого формата можно использовать следующие программы:

Формат 5

Название (англ.): Cabal Online Data File

Название (рус.): Файл данных Cabal Online

Разработчик: ESTsoft

Описание: ENC или Cabal Online Data File представляет собой формат игрового файла используемого в многопользовательской ролевой игре Cabal Online разработанной компанией ESTSoft. Этому же производителю принадлежит разработка самого формата ENC. Файлы этого типа предназначаются для хранения различных игровых данных, они могут содержать текстуры, изображения, трехмерные объекты, карты, звуки и т.п. Как правило, файл ENC располагается в директории Data каталога инсталляции программного обеспечения. Обычно файл ENC называется cabal.enc, но также может иметь и другое имя.

Для открытия (редактирования) файла этого формата можно использовать следующие программы:

Читайте также: