Как и чем защитить PDF?

Доверие получателя к электронному документу возможно в том случае, когда он сможет убедиться в его неизменности, проверить авторство. В то же время, сам автор должен иметь возможность ограничить доступ к документу и внесение в него каких-либо изменений. Формат PDF позволяет решить эти задачи. Какие средства и как правильно использовать для защиты своих документов?

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

Защита документа в PDF осуществляется либо с использованием паролей, либо шифрованием на сертификатах. Идентификация автора обеспечивается простановкой электронной цифровой подписи. Рассмотрим каждый из этих вариантов.

Защита PDF с помощью пароля

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

Существуют два типа паролей: на открытие документа (иначе называемый паролем пользователя) и пароль создателя, также называемый "мастер-паролем".

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

При установке парольной защиты следует выбрать уровень обратной совместимости - от этого зависит, с какими версиями Adobe и Reader смогут работать ваши пользователи. Дело в том, что для разных версий программ тип используемого алгоритма шифрования различен (например, в версии 5.0 используется 128-битный алгоритм RC4, а в версии 9 - алгоритм AES 256 бит). Кроме алгоритма различия есть и в том, что будет защищено с помощью пароля. Версия 5 позволяет защищать весь документ полностью. А вот в версии 9 можно защитить либо весь документ, либо только текст, не включая метаданные, либо только вложенные файлы.

Настройки защиты устанавливаются на панели Password Security - Settings. Здесь определяются уровень совместимости и защищаемые компоненты. Далее необходимо выбрать, какой тип пароля будет использован. Если это мастер-пароль, можно установить ограничения на работу с документом, вообще запретить печать документа или разрешить высококачественную или черновую печать, запретить внесение любых изменений в документе, либо разрешить заполнение форм, добавление комментариев, копирование контента. Если предполагается защищать все документы, и при этом все ограничения будут одинаковыми, следует установить единые настройки в виде политики защиты.

В такой политике (а их может быть сформировано несколько) задаются необходимые ограничения. Кроме того, там же может быть сохранен и пароль. В дальнейшем при установке защиты можно будет выбирать нужную политику и использовать ее настройки. Для того чтобы снять защиту паролем, следует выбрать в Adobe опцию меню Advanced > Security > Remove Security и в открывшемся окне - No Security. Это сможет сделать только пользователь, обладающий соответствующими правами. При просмотре защищенного документа программа укажет на наличие защиты с помощью значка "замок". Щелкнув по нему, можно будет получить подробную информацию об установленном уровне защиты и наложенных на работу с документом ограничениях.

Защита PDF с помощью сертификатов

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

Шифровать документ можно сразу для нескольких пользователей - их сертификаты можно выбирать при шифровании документа или включить в настройки политики. Автору документа следует не забыть включить в число получателей и себя - в противном случае после того, как файл будет зашифрован, он даже будучи владельцем не получит доступ к нему. Защита документа при помощи пароля без предоставления прав на его изменение и шифрование документа позволяют обезопасить PDF-файлы от попыток их заражения вредоносным кодом. Это становится особенно актуальным с тем, что, по последним данным, вредоносные PDF-файлы стали самым распространенным средством в целевых атаках.

Получение сертификатов других пользователей

Для шифрования документов необходимо иметь сертификаты пользователей. Их можно получить несколькими способами. Во-первых, сформировав запрос через панель управления сертификатами (Manage Trusted Identities). Здесь потребуется заполнить сведения о себе (имя, адрес электронной почты, контактную информацию), включить в запрос свой сертификат - он потребуется респонденту для обмена документами - и отправить сформированный запрос получателю. В ответ можно получить сертификат респондента в виде вложения к письму в формате FDF, который надо установить в раздел доверенных сертификатов. Во-вторых, если вам прислали подписанный файл и вы доверяете подписанту, можно импортировать его сертификат из файла и поместить в доверенное хранилище сертификатов. Аналогично можно импортировать и использовать сертификаты, установленные ранее в системное (если используется Windows) хранилище сертификатов.

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

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

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

Типы подписей

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

Каждый пользователь может самостоятельно настроить визуальное отображение своей подписи. В него можно включить собственную фотографию или графическое отображение собственноручной подписи. В описание подписи можно включить информацию о том, был ли действителен сертификат на момент подписи документа, пояснение, в связи с чем документ был подписан, контактные данные, время формирования подписи: либо локальное, либо полученное от специального сервиса - штампов времени, к которому будет обращаться программа в процессе формирования подписи в соответствии с настройками.

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

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

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

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

После получения подписанного документа остается понять, каким образом можно проверить подпись. Задача решается несколькими способами. Во-первых, программы Adobe и Reader выполняют проверку действительности подписи (включая проверку валидности сертификата, неизменности документа после простановки подписи) самостоятельно, выдавая пользователю соответствующую полученным результата информацию. Во-вторых, пользователь может выполнить проверку подписи самостоятельно, перейдя на панель подписей.

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

Статья была опубликована в журнале PDF.CNews