Электронная подпись (ЭП) – это криптографический механизм, позволяющий подтвердить подлинность и целостность электронного документа. При работе с архивами (ZIP, RAR, 7z и др.) часто возникает необходимость убедиться, что полученный архив действительно подписан автором и не был изменён после подписи.
Содержание
- Что такое электронная подпись архива
- Типы подписи, применяемые к архивам
- Инструменты для проверки подписи
- Проверка подписи в Windows
- Проверка подписи в Linux / macOS
- Онлайн‑сервисы проверки
- Типичные проблемы и их решение
- Рекомендации и best‑practice
Что такое электронная подпись архива
Подпись архива – это отдельный файл (обычно с расширением .sig, .p7s или .cer), в котором хранится криптографический хеш содержимого архива, зашифрованный закрытым ключом подписанта. При проверке подписи вычисляется хеш текущего содержимого архива и сравнивается с тем, что находится в подписи.
Если подпись валидна, то:
- Подписант действительно владел соответствующим сертификатом;
- Содержимое архива не изменялось после подписания.
Типы подписи, применяемые к архивам
- Квалифицированная электронная подпись (КЭП) – подпись, созданная с использованием квалифицированного сертификата, выданного аккредитованным удостоверяющим центром. Требуется для официальных документов в России.
- Электронная цифровая подпись (ЭЦП) – более общий термин, охватывающий любые подписи, созданные с помощью криптографии, включая самоподписанные сертификаты.
- Detached signature (откреплённая подпись) – подпись хранится в отдельном файле (например,
archive.zip.sig). - Embedded signature (встроенная подпись) – подпись включена в сам архив (реализовано, например, в формате
7zс поддержкой подписи);
Инструменты для проверки подписи
Ниже перечислены самые популярные программы и утилиты, которые позволяют проверить подпись архива.
| Платформа | Инструмент | Тип подписи | Краткое описание |
|---|---|---|---|
| Windows | КриптоПро CSP | КЭП, ЭЦП | Встроенный в ОС механизм проверки подписи через контекстное меню. |
| Windows | 7‑Zip + OpenSSL | Detached (PKCS#7) | 7‑Zip распаковывает архив, OpenSSL проверяет подпись. |
| Linux / macOS | OpenSSL | PKCS#7, detached | Командная строка, поддерживает любые форматы подписи. |
| Linux / macOS | GnuPG (gpg) | Detached, embedded | Удобно для подписи/проверки файлов в формате .sig. |
| Любая | Онлайн‑сервисы | Разные | Например, CryptoPro Online или VeriSign. |
Проверка подписи в Windows
Проверка через контекстное меню (КриптоПро)
- Установите КриптоПро CSP (если ещё не установлен).
- Щёлкните правой кнопкой мыши по файлу
archive.zip→ Проверить подпись. - В открывшемся окне будет отображён статус подписи:
- Подпись действительна – сертификат проверен, хеш совпадает.
- Подпись недействительна – файл изменён или сертификат отозван.
Проверка с помощью OpenSSL (для detached‑подписей)
Если подпись хранится в отдельном файле archive.zip.sig (PKCS#7), выполните:
openssl smime -verify -in archive.zip.sig -inform DER -content archive.zip -noverify Пояснения:
-verify– запрашивает проверку подписи.-inform DER– формат подписи (может быть PEM).-content archive.zip– указывает файл, подпись которого проверяется.-noverify– отключает проверку цепочки сертификатов (для теста). Для полной проверки укажите-CAfileс корневым сертификатом.
Если подпись валидна, OpenSSL выведет содержимое подписи (обычно это сообщение «Verification successful»). В противном случае будет ошибка.
Проверка подписи в Linux / macOS
GnuPG (gpg) – проверка detached‑подписей
Предположим, у вас есть файлы archive.zip и archive.zip.sig (подпись в формате OpenPGP).
# Импортировать публичный ключ подписанта (если ещё не импортирован)
gpg --import public_key.asc
gpg --verify archive.zip.sig archive.zip OpenSSL – проверка PKCS#7 подписи
openssl smime -verify
-in archive.zip.sig
-inform DER
-content archive.zip
-CAfile ca_bundle.pem
Здесь ca_bundle.pem – файл, содержащий корневой сертификат удостоверяющего центра.
Проверка встроенной подписи в 7z‑архиве
7‑Zip в Linux поддерживает проверку подписи только через внешние утилиты, поэтому сначала извлеките подпись:
7z x archive.7z -so | openssl smime -verify -inform DER -noverify Онлайн‑сервисы проверки подписи
Если нет возможности установить специализированное ПО, можно воспользоваться проверкой через веб‑интерфейс.
- CryptoPro Online – принимает архив и отдельный файл подписи, проверяет цепочку сертификатов и целостность.
- CheckSignature.ru – бесплатный сервис для проверки КЭП и ЭЦП.
- PDFSign – хотя ориентирован на PDF, поддерживает проверку PKCS#7 подписи, которую можно использовать и для архивов.
Процедура обычно выглядит так:
- Загрузить архив и файл подписи (или один файл, если подпись встроена).
- Нажать кнопку «Проверить». Сервис покажет статус подписи и информацию о сертификате.
Типичные проблемы и их решение
| Проблема | Возможная причина | Решение |
|---|---|---|
| «Подпись недействительна» | Файл изменён после подписи. | Запросить оригинальный архив у отправителя. |
| «Сертификат отозван» | Удостоверяющий центр отозвал сертификат. | Проверить актуальность сертификата в реестре (CRL/OCSP) и запросить новый. |
| «Не найден сертификат подписанта» | Публичный ключ не импортирован в хранилище. | Импортировать сертификат (gpg —import, certmgr.msc, etc.). |
| «Ошибка формата подписи» | Подпись в неподдерживаемом формате (например, PEM вместо DER). | Конвертировать: openssl pkcs7 -inform PEM -outform DER -in sig.pem -out sig.der. |
Рекомендации и best‑practice
- Всегда проверяйте цепочку сертификатов. Даже если подпись валидна, сертификат может быть отозван или просрочен.
- Храните корневые сертификаты в надёжном хранилище. Для России – КриптоПро предоставляет актуальные корневые сертификаты.
- Используйте двухфакторную аутентификацию при получении сертификатов. Как упомянуто в новостях, в Казахстане (pki.gov.kz) уже внедрена 2FA.
- Не доверяйте подписи, полученные по незащищённым каналам. Приём файлов через e‑mail без шифрования повышает риск подмены.
- Автоматизируйте проверку. В корпоративных системах (СЭД, СберКорус) рекомендуется настроить автоматический протокол проверки подписи при поступлении документа.
Проверка электронной подписи архива – важный шаг в обеспечении информационной безопасности. Существует несколько подходов: от встроенных средств Windows (КриптоПро) до кроссплатформенных утилит openssl и gpg. Выбор инструмента зависит от формата подписи (detached, embedded), требований к квалификации подписи (КЭП vs. ЭЦП) и используемой операционной системы.
Следуя описанным выше инструкциям и рекомендациям, вы сможете быстро и надёжно убедиться в подлинности полученных архивов, избежать мошеннических схем и поддерживать соответствие требованиям законодательства (Минцифры России, pki.gov.kz и др.).
Дата публикации: