Как защитить ваш PDF?

30.11.2020

В канун дня защиты информации мы решили подготовить материал по защите документов PDF. PDF-документы сегодня стали одним из мировых стандартов, будет не лишним понимать, как его защитить.

PDF

От чего защищать документ PDF?

  1. От внесения несанкционированных изменений.
  2. От стороннего прочтения.

Защита PDF от несанкционированных изменений

Сразу отмечу, что изменения могут быть санкционированными и даже желательными - достаточно часто PDF пересылают на подпись (и стандартные средства работы, такие, как Adobe Acrobat Reader позволяют подписать такой документ), или же это документ-анкета, со встроенными редактируемыми полями, интерактивными формами.

По работе с PDF в FastReport есть множество статей, в том числе как создавать PDF c интерактивными формами: 

  1. Сохранение отчета в формате PDF/X
  2. Настройка параметров просмотрщика формата Acrobat PDF при экспорте из FastReport.NET
  3. Использование интерактивных форм в PDF экспорте Fast Report .NET 
  4. Как создать документ формата PDF из Delphi / C++Builder / Lazarus
  5. Как сделать PDF документ из текстового файла в FastReport Desktop

Но есть отдельный тип PDF-документов - те, которые нельзя редактировать, а если какой-нибудь негодяй человек попытался бы что-то изменить, то мы бы об этом узнали.

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

С версией 2019.3.2 в FastReport.Net стали доступны 2 вида подписи:

1) Поле для подписи. Чтобы его добавить на ваш документ, нужно добавить Digital Signature, она же «Цифровая подпись». При размещении этого контрола на странице отчета он выглядит так:

Digital signature

В режиме просмотра отчета он не отображается. Его функциональность ограничивается исключительно PDF экспортом, а это значит, что вы увидите это поле при просмотре PDF файла в Acrobat Reader.

При экспорте в PDF включаем опцию подписывания:

Экспорт в PDF

2) Невидимая подпись. Для невидимой подписи PDF экспорта не нужно добавлять контрол Digital Signature на страницу отчета. Стоит лишь включить опцию подписывания в настройках экспорта:Экспорт в PDF

Вы можете заполнить информационные поля Location, Reason и Contact Info. Далее нужно выбрать файл сертификата подписи в формате pfx и задать пароль от сертификата. Вы можете не выбирать файл сертификата на данном этапе. А после экспорта отчета, в PDF документе уже можно найти скрытую подпись. Важно подчеркнуть тот факт, что эту подпись не видно непосредственно в документе.

Подробнее об электронной подписи можно почитать в нашей статье.

Кроме того, существуют и так называемые "архивные" форматы - PDF/A - этот документ самоценен, он содержит внутри себя всю информацию (не "подтягивает" из внешних источников изображения, шрифты и любые другие данные, которые могут быть скомпрометированы или просто убраны), кроме того, в свойствах документа явно указано, что он нередактируемого формата. Можно ли его открыть для редактирования? Можно всё, но в таком случае он потеряет этот самый признак архивности, то есть мы явно увидим, что документ был изменён.

В статье “Как сделать экспорт отчёта в формате PDF/A” подробно описаны особенности и возможности этого формата.

Защитить PDF от сторонних глаз

Данная статья не имеет целью обзор методов взлома защищенных PDF-файлов (это отдельная большая тема, не наша, в частности, вот профессионалы из Elcomsoft описывают свой подход.

PDF как формат содержит встроенные механизмы парольной защиты.

Пароль позволяет защитить документ от одного или сразу нескольких действий:

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

Современные PDF используют в парольной защите шифрование AES (расширенный стандарт шифрования) с использованием 128-битных ключей, что усложняет задачу нахождения пароля (но не делает невозможным!) при 128-битном шифровании количество ключей составляет 2128

FR .NET:

Экспорт в PDF

FR VCL:

Export to PDF

Во вкладке “Security” можно настроить такие поля как:

  1. Пароль владельца (Owner Password)
  2. Пароль пользователя (User Password)
  3. Можно дополнительно установить запрет на печать документа, его изменение, копирование текста или графики, добавление или изменение текстовых заметок.

Есть также защита документа с помощью сертификатов (с открытым и закрытым ключами для цифровой подписи и открытия документа). Открытый (public) включается в сертификат и используется для шифрования информации, а закрытый (private) - для расшифровывания и цифровой подписи документа. Говорить о 100% защите ещё рано. Тем не менее, на сегодняшний день это пожалуй самый защищенный формат электронных документов.

Надеюсь, эта статья поможет вам давать вашим пользователям инструменты защиты PDF, а вашим пользователям более осознанно относиться к безопасности документов. В любом случае нет 100% защиты и безопасности, защита документов это всего лишь небольшая часть комплексной системы безопасности, в которой должны быть не только технические, но и организационные меры.

Также рекомендуем почитать:

Выбор метода защиты для документов PDF

2 сентября 2024

Обзор облачного решения для создания и управления отчетами

МоиОтчеты Облако — это мощное облачное решение для создания и управления отчетами, обеспечивающее широкий спектр возможностей, от создания документов в различных форматах до интеграции с корпоративными системами.
12 августа 2024

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.
8 августа 2024

Как установить FastReport .NET и его компоненты в Windows

Пошаговая инструкция по онлайн и ручной установке через регистрационный код FastReport .NET и его компонентов в Windows.