Покажем вам, чем опасно изготовление подлинников документов в форматах DOC, DOCX, ODT и PDF – как после их подписания даже усиленной электронной подписью можно незаметно изменить текст документа.
Объясним, какие форматы сейчас являются самыми надежными для создания электронных подлинников и их последующего архивного хранения. Продемонстрируем, как созданный в Microsoft Word документ перед подписанием можно транслировать в них.
Юридически значимый безбумажный документооборот невозможен без применения электронной подписи (ЭП). Ее разновидности установлены Федеральным законом от 06.04.2011 № 63-ФЗ «Об электронной подписи» в ст. 5. Для наглядности приведем их характеристики таблицей:
Таблица 1. Чем различаются между собой 3 вида электронной подписи
Получается, что усиленная электронная подпись (УЭП) позволяет не только определить лицо, подписавшее документ, но и обнаружить факт внесения изменений в документ после его подписания. На обнаружение изменений работают достижения математики и криптографические алгоритмы, взломать которые практически невозможно.
Но (!) к сожалению, многие популярные форматы документов имеют уязвимости, которые позволяют обойти криптостойкие алгоритмы ЭП. Чтобы не оказаться в неприятной ситуации, их нужно учитывать. Далее объясним вам, какие форматы можно применять для создания электронных подлинников, а какие лучше не использовать вовсе или делать это с осторожностью.
Подписание документов формата DOC, DOCX и ODT
Если вы используете бесплатные офисные пакеты LibreOffice или OpenOffice, то знайте, что подписывать в них документы можно командой «Файл» → «Цифровые подписи» → «Подписать документ».
Представьте, что кто-то решил получить подпись директора в приказе на лимиты по мобильной связи на одну сумму, а уже после подписания сумма изменится в большую сторону. Злоумышленник может реализовать такого рода атаку, используя при подготовке проекта документа обновляемые поля вида «Текст с условием» (аналогично ведут себя и «Экспресс-блоки» в Microsoft Word). Последовательность действий может быть такой:
- горячей клавишей Ctrl+F2 в OpenOffice и LibreOffice (либо Ctrl+F9 в Microsoft Word) вставляется поле «Текст с условием» в таблицу, где должна быть величина лимита;
- в появившемся сером поле с фигурными скобками вводится специальное условие отображения текста вида { IF ### DATE ###
- после 20.02.2018 документ отправляется на исполнение. Получив подписанный директором электронный подлинник приказа, специалист открывает его в LibreOffice Writer и видит, что подпись действительна (это равнозначно уведомлению о том, что содержимое документа не изменялось, см. отметки «1» на Рисунке 1), хотя лимит увеличился с 1 500 руб. до 2 500 руб. (см. «2» там же).
Единственное, что может сказать о наличии в документе изменяемых полей – это серый фон символов (см. «2» там же). Но согласитесь, если мы не знаем об их гипотетической опасности, то серый фон нас не смутит. Вы теперь о таких тонкостях уже осведомлены.
Рисунок 1. Программа LibreOffice Writer сообщает, что подпись верна, несмотря на то что содержимое документа исказилось после его подписания
Рисунок 2. Отсоединенная подпись не включает защиту Microsoft Word от изменения документа
Однако еще большую опасность представляет использование так называемой отсоединенной подписи совместно с форматами DOC, DOCX и ODT. Отсоединенная подпись создается специальными программами, например КриптоАРМ, в виде отдельного файла с расширением *.sig рядом с подписываемым документом. При этом не используются возможности стандартов, на которых эти форматы основываются, а значит, при открытии документа не может быть задействована какая-либо защита документа от изменения содержимого. Например, Microsoft Word будет обновлять поля и выполнять скрипты, сохраняя целостность отсоединенной подписи.
Это означает, что форматы DOC, DOCX и ODT не подходят для создания электронных подлинников, т.к. могут быть легко скомпрометированы. Для защиты документов и гарантии их неизменности совместно с усиленной ЭП следует использовать специализированные форматы фиксированной разметки, соответствующие специальным международным стандартам, к ним относятся:
-
PDF/A – соответствует стандарту ISO 19005-1 (входит в семейство форматов PDF);
-
XPS – соответствует стандарту ECMA-388. Это открытый графический формат фиксированной разметки на основе XML, разработанный компанией Microsoft для создания электронных документов. Файл формата XPS в большинстве случаев оказывается легче PDF/А.
Фактически сохраняя файлы в этих форматах, вы переводите их в трудно редактируемый графический режим. Уже переведенные в эти форматы документы можно спокойно подписывать усиленной ЭП.
Разница форматов PDF и PDF/A для подписания документов
Следует обратить внимание на то, что наиболее популярный PDF (по стандарту ISO 32000) нужно применять с осторожностью или лучше избегать вовсе, т.к. он допускает ссылки на внешние шрифты, изменяемые поля и скрипты. Это делает PDF-документы потенциально уязвимыми к различного рода атакам.
Например, выполнение скрипта или замена изображения цифры в описании символов внешнего шрифта приведет к изменению содержимого PDF-файла без разрушения электронной подписи.
Вместо PDF рекомендуется использовать форматы PDF/A и XPS. Они устроены так, что содержат внутри файла всю необходимую информацию для того, чтобы каждый раз отображать документ в неизменном виде.
При подписании документа с расширением *.pdf убедитесь, что он соответствует стандарту ISO 19005-1, т.е. фактически является файлом PDF/A. Например, программа Adobe Reader выводит такое сообщение при открытии документа (оно отмечено «!» на Рисунке 3).
Если вы планируете подписывать PDF в какой-либо СЭД, обратите внимание, чтобы ваша СЭД выполняла проверку документов на соответствие стандарту PDF/A ISO 19005-1 так, как это делает программа Adobe Reader.
Рисунок 3. Файл соответствует стандарту PDF/A
Большинство документов создается в Microsoft Word. Транслировать их в формат PDF/A можно в этой же программе. Алгоритм будет зависеть от ее версии, например:
- в версии 2010 зайдите на вкладку «Файл», далее «Сохранить и отправить», потом «Создать документ PDF/XPS» (этот порядок действий отмечен цифрами на Рисунке 3.1);
- в более поздних версиях на вкладке «Файл» выберите «Экспорт», потом «Создать документ PDF/XPS».
Далее откроется окно, где нужно выбрать тип файла: PDF или XPS. Если вам нужно получить именно PDF/A (а не просто PDF), то перед трансляцией в «Параметрах» включите опцию «Совместимый с ISO 19005-1 (PDF/A)» (Рисунок 3.2).
Рисунок 4. Экспорт документа из Microsoft Word 2010 в защищенный формат PDF/A или XPS
Рисунок 5. Указываем на необходимость создания PDF/A (вместо обычного PDF)
Подписание документов формата XPS
XPS является более современным аналогом PDF/A (соответствующий ему международный стандарт ECMA-388 регламентирует хранение всех необходимых ресурсов внутри файла документа).
Объясним, как изготовить защищенный электронный подлинник в формате XPS, а также продемонстрируем «реакцию» усиленной ЭП на попытку подделки документа.
Откроем документ в программе Microsoft Word и экспортируем его в формат XPS: порядок действий будет таким же, как при трансляции файла в PDF (см. его описание выше и Рисунок 4), только в этот раз при сохранении мы выбираем тип файла «Документ XPS (*.xps)»:
Рисунок 6. Выбор формата XPS для экспорта в него документа из Microsoft Word 2016
Полученный XPS документ подписываем с помощью СЭД Pilot-ECM или в другой системе, поддерживающей работу с усиленной ЭП.
В качестве эксперимента выполним модификацию содержимого подписанного файла XPS. Так как XPS является zip-архивом с XML внутри, то модификацию можно выполнить с помощью программ 7-zip и Блокнот. Для этого открываем XPS в 7-zip командой «Открыть архив». Открываем внутренний XML-файл описания страницы в программе Блокнот, заменяем символ «1» на «2» и сохраняем изменения.
Модифицированный документ загружаем обратно в Pilot-ECM и видим, что подпись недействительна. Именно так и должна работать технология защиты документов усиленной ЭП!
Рисунок 7. Попытка подделки документа обнаружена криптографическим алгоритмом ЭП
Криптографический алгоритм гарантированно выявляет малейшее изменение содержимого, поэтому попытка подделки провалилась. Актуализируем предыдущую версию документа, где целостность подписи не нарушена.
Рисунок 8. Возвращаем нескомпрометированную версию документа
Такой же надежный результат будет при подписании XPS отсоединенной подписью (например, с помощью распространенной программы КриптоАРМ).
Мы рассмотрели в статье форматы файлов DOC, DOCX и PDF, которые чаще всего как раз и используются для создания документов, чтобы предупредить о скрытых в них опасностях. Хотя, конечно, есть и другие форматы, которые не рекомендуется применять для создания электронных подлинников (их более полный перечень приведен в Таблице 2).
Таблица 2. Список популярных форматов и степень их защищенности при использовании усиленной ЭП
Наиболее надежными для создания электронных подлинников и их длительного архивного хранения в неизменном виде сейчас являются форматы PDF/A и XPS. Именно их следует использовать совместно с усиленной ЭП. Другие форматы следует применять с осторожностью.