Как отличить настоящий PDF от поддельного

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

Что делает PDF подлинным?

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

Цифровая подпись и сертификат

Подпись хранится в объекте /Sig и включает:

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

Если подпись присутствует, её можно проверить: программа проверяет цепочку сертификатов, сроки и соответствие хэша текущему содержимому файла. При успешной проверке подпись считается валидной.

Метаданные и их согласованность

В PDF есть два набора метаданных:

  • информация в словаре /Info (CreationDate, ModDate, Producer, Creator и т.д.);
  • XML‑пакет XMP, который может дублировать или расширять эти данные.

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

Внутренняя структура и признаки подделки

Даже если подпись отсутствует, определённые аспекты файла могут выдать вмешательство:

  • наличие инкрементальных обновлений без изменения основного контента (часто используется для добавления вредоносного кода);
  • несоответствие шрифтов: встроенные шрифты отличаются от тех, что заявлены в метаданных;
  • появление скрытых слоёв или объектов /Annots с непрозрачным содержимым;
  • изменение объекта /Root или /Encrypt без соответствующей подписи;
  • разные версии PDF в разных частях файла (например, часть объекты 1.4, часть 1.7) без явной причины.

Инструменты и методы проверки

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

1. Открыть файл в программе, поддерживающей проверку подписей

Большинство просмотрщиков PDF (например, Adobe Acrobat Reader, Foxit Reader, Okular) отображают панель подписей. Если подпись есть, программа покажет её статус: valid, unknown или invalid. При статусе unknown обычно означает, что сертификат не доверен в текущей системе; его можно импортировать в хранилище доверенных корней.

2. Изучить метаданные

В меню «Свойства» или «Document Properties» доступны поля создания, изменения, производителя и создателя. Сравните их с ожидаемыми: например, если документ должен быть контрактом от 2023 года, а поле CreationDate показывает 2025 год — это повод для сомнений.

3. Проверить наличие инкрементальных обновлений

Некоторые утилиты (например, qpdf, pdftk) позволяют вывести номер ревизии PDF. Если файл содержит несколько ревизий, но визуально содержание не менялось, стоит проверить, что добавлено в каждой ревизии (часто это лишь подпись или метаданные). Появление большого объёма новых объектов без видимых изменений может указывать на внедрение.

4. Валидировать структуру с помощью специализированных валидаторов

Инструменты типа veraPDF или PDFBox умеют проверять соответствие стандарту PDF/A‑1/2/3 и выявлять нарушения, которые часто сопровождают подделки (недопустимые объекты, неправильные фильтры сжатия, отсутствие обязательных полей). Хотя валидатор не гарантирует подлинность, он помогает обнаружить технические аномалии.

5. Сравнить хеш‑суммы

Если у вас есть оригинальный файл (например, из доверенного источника), посчитайте его хеш (SHA‑256) и сравните с хешем проверяемого файла. Любое несовпадение указывает на изменение, хотя и не показывает, было ли изменение sanctioned подписью.

Типичные ошибки при проверке

  • Считать отсутствие подписи доказательством подлинности. Многие официальные документы не подписываются цифровой подписью, поэтому отсутствие подписи само по себе не означает подделку.
  • Игнорировать сроки действия сертификата. Подпись может быть технически верной, но использованный сертификат уже истёк или отозван.
  • Доверять только визуальному осмотру. Подделка может быть визуально идентичной оригиналу, но содержать скрытые изменения в структуре.
  • Проверять метаданные в isolation. Легко подделать поля /Info, поэтому необходимо смотреть на подпись и структуру в комплексе.

Сценарии использования и рекомендации

Если документ должен быть юридически значимым

Требуется наличие_valid_цифровой подписи с доверенным сертификатом и отметкой времени (timestamp). Проверьте цепочку доверия до корневого центра, аккредитованного в вашей юрисдикции. Если подпись отсутствует, рассмотрите возможность получения заверенной копии от issuing органа.

Если нужен только архивный вариант (PDF/A)

Убедитесь, что файл проходит валидацию как PDF/A‑2b или PDF/A‑3b и не содержит шифрования. При этом подпись не обязательна, но отсутствие внешних ссылок и шрифтов, не embedded, является обязательным.

Если подозреваете вредоносные вставки

Ищите инкрементальные ревизии с объектами /JavaScript или /Launch. Наличие таких объектов без явной причины — повод для более глубокого анализа в изолированной среде.

Практический порядок действий

  1. Откройте PDF в просмотрщике, поддерживающем проверку подписей.
  2. Если есть подпись — проверьте её статус и детали сертификата (срок, издатель, цепочка доверия).
  3. Изучите метаданные (/Info и XMP) на согласованность дат и информации о создателе.
  4. Запустите валидатор структуры (например, veraPDF) и обратите внимание на ошибки.
  5. При наличии подозрений на скрытые изменения — проверьте число ревизий и содержимое добавочных объектов.
  6. Если требуется юридическая уверенность — получите подтверждение от доверенного третьего лица (нотариус, удостоверяющий центр) или запросите оригинал у issuing органа.

Что делать дальше

Если после всех проверок подпись подтверждена, метаданные согласованы, а валидатор не обнаружил критических ошибок — можно считать документ подлинным в пределах проверяемых аспектов. Если остаются сомнения (например, неизвестный сертификат или подозрительные объекты), рекомендуется:

  • сохранить копию файла в неизменном виде;
  • обратиться к специалисту по цифровой экспертизе или к удостоверяющему центру для более глубокого анализа;
  • при необходимости запросить оригинал или заверенную копию у источника документа.

Материал носит информационный характер и не заменяет профессиональную консультацию. При работе с документами, имеющими юридическую силу или требующими соблюдения нормативных требований, следует обращаться к квалифицированному специалисту (адвокату, нотариусу, эксперту по цифровой экспертизе).

PEFile.ru