Способ многоуровневого контроля целостности электронных документов
METHOD OF MULTI-LEVEL CONTROL OF ELECTRONIC DOCUMENTS INTEGRITY

Изобретение относится к области защиты информации, а именно к области способов контроля целостности электронных документов, и может найти применение в системах электронного документооборота.
Известен способ контроля целостности данных, в основе которого лежит вычисление контрольных сумм [1]. В известном способе от массива данных, элементами которого являются числовые значения, рассчитывается контрольная сумма - величина, полученная путем деления с остатком суммы всех элементов массива на максимально возможное числовое значение контрольной суммы, увеличенное на единицу.
Недостатком данного способа является низкая достоверность (равенство полученных значений контрольных сумм не дает гарантии неизменности информации).
Известен более эффективный способ контроля целостности данных - метод циклического контрольного кода [1]. В известном способе каждый бит блока данных соответствует одному из коэффициентов двоичного полинома. Контрольный код вычисляется, используя порождающий полином, выбранный заранее произвольным способом.
Недостатком данного способа является то, что равенство полученных значений контрольных кодов не гарантирует неизменности информации.
Известны технические решения для контроля целостности файлов электронных документов, основанные на использовании хэш-функции (функция, отображающая строки бит исходных данных в строки бит фиксированной длины - хэш-код) [2-4]. В данных решениях для файла электронного документа формируют контрольное значение хэш-кода, например, по алгоритму, описанному в [5]. Далее сохраняют контрольное значение хэш-кода. При проверке целостности файла электронного документа повторно вычисляют значение хэш-кода и сравнивают полученное значение с контрольным значением. В случае совпадения двух значений хэш-кодов делают заключение о целостности файла электронного документа.
Общим недостатком указанных выше решений является то, что значение хэш-кода вычисляется от всей совокупности бит файла электронного документа, включая его содержание, представленное в исходном форматировании, а также различные служебные атрибуты, в том числе, не относящиеся к смысловому содержанию электронного документа. Поэтому в случае возникновения изменений в составе файла электронного документа, не связанных со смыслом, известные решения исключают возможность использования такого документа в системе документооборота. Например, добавление знака «пробел» между словами, изменение типа шрифта и т.д. (при условии, что эти допущения заранее оговорены участниками информационного обмена). Это, в свою очередь, влечет за собой ущерб для пользователя, связанный с упущенной выгодой от использования электронного документа, а также необходимостью повторного изготовления электронного документа.
Наиболее близким по технической сущности к заявляемому изобретению и принятым за прототип является система контроля целостности файлов исходных текстов программного обеспечения [6]. Существенным признаком, отличающим прототип от известных аналогов, является то, что контрольное значение хэш-кода, характеризующее целостный файл, вычисляется от промежуточного файла, содержащего инвариантный форматированию образ исходного текста программы.
Существенным недостатком прототипа является узкая область его применения, ограниченная файлами электронных документов, содержащих тексты, описанные с использованием формальных языков (алгебра логики, языки программирования и т.д.).
При необходимости обеспечения контроля целостности файлов электронных документов, содержащих тексты, описанные с использованием естественных языков (русский, английский и т.д.), что является наиболее широкой практикой электронного документооборота, прототип применен быть не может.
Кроме того, в ряде случаев, наиболее значимой задачей при проверке целостности содержания электронных документов является контроль целостности словарных величин, которые в случае искажения не могут быть восстановлены за счет смысловой избыточности. Например, в случае изменения слова «июнь» на «июль» или изменения суммы перевода «7000000» на «70000» данного рода искажения не могут быть восстановлены за счет смысловой избыточности, в отличие от слов «мома» и «мама».
В рамках заявленного способа данные величины определяются как критически значимые словарные величины. Кроме того, к критически значимым словарным величинам могут относиться даты, коды, фамилии, наименования населенных пунктов, координаты и т.д.
Еще одним недостатком прототипа является то, что он не предполагает процедуры дополнительного вычисления значения хэш-кода от файла электронного документа, содержащего текст в исходном форматировании. В некоторых случаях, сохранение исходного формата представления данных является необходимым условием признания файла электронного документа целостным (например, для обеспечения технической совместимости систем электронного документооборота).
Технической задачей, на решение которой направлено заявленное изобретение, является разработка способа, обеспечивающего многоуровневый контроль целостности электронных документов.
Технический результат достигается тем, что в известном техническом решении на основе файла электронного документа, содержащего текст, представленный в исходном форматировании, формируют промежуточный файл электронного документа, содержащий инвариантный форматированию образ исходного текста, от полученного промежуточного файла электронного документа вычисляют контрольное значение хэш-кода, далее сохраняют контрольное значение хэш-кода. При проверке целостности файла электронного документа на его основе повторно формируют файл, содержащий инвариантный форматированию образ исходного текста, от полученного файла вычисляют значение хэш-кода и сравнивают полученное значение с контрольным значением. В случае совпадения двух значений хэш-кодов делают заключение о целостности файла электронного документа.
Сопоставительный анализ заявляемого решения с прототипом показывает, что предлагаемый способ отличается от известного тем, что предварительно вычисляют контрольное значение хэш-кода от файла электронного документа, содержащего текст, представленный в исходном форматировании, полученное контрольное значение определяют как хэш-код 1-го уровня и сохраняют его. Далее на основе файла электронного документа, содержащего текст, представленный в исходном форматировании, формируют файл электронного документа, содержащий инвариантный форматированию образ текста, представляющий собой исходный текст в унифицированной кодировке с удаленными знаками «пробел». От полученного результата вычисляют контрольное значение хэш-кода, которое определяют как хэш-код 2-го уровня, после чего его сохраняют. Далее на основе файла электронного документа, содержащего текст, представленный в исходном форматировании, формируют файл электронного документа, содержащий критически значимые словарные величины, представленные в унифицированной кодировке текста. От полученного результата вычисляют контрольное значение хэш-кода, которое определяют как хэш-код 3-го уровня, после чего его сохраняют.
При проверке целостности электронного документа выполняют повторную процедуру вычисления значений хэш-кодов 1-го, 2-го и 3-го уровня, сравнивают их с соответствующими контрольными значениями. На основании полученного результата делают вывод о целостности электронного документа на каждом из уровней его представления.
Благодаря новой совокупности существенных признаков заявленный способ позволяет пользователю или группе пользователей заранее выбрать способ одноуровневого или многоуровневого контроля целостности электронных документов, с учетом особенностей решаемых задач. Тем самым расширяются функциональные возможности механизмов контроля целостности электронных документов.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного способа, отсутствуют, что указывает на соответствие заявленного способа условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного способа, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность отличительных существенных признаков, обуславливающих тот же технический результат, который достигнут в заявляемом способе. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».
Заявленный способ поясняется чертежами, на которых показано:
фиг. 1 - схема формирования значений хэш-кодов 1-го, 2-го и 3-го уровня;
фиг. 2 - схема многоуровневого контроля целостности электронных документов.
Способ многоуровневого контроля целостности электронных документов осуществляется следующим образом.
От файла электронного документа, содержащего текст, представленный в исходном форматировании, предварительно вычисляют контрольное значение хэш-кода, полученное контрольное значение определяют как хэш-код 1-го уровня и сохраняют его. Далее на основе файла электронного документа, содержащего текст, представленный в исходном форматировании, формируют файл электронного документа, содержащий инвариантный форматированию образ текста, представляющий собой исходный текст в унифицированной кодировке (например, ASCII, UTF-8 и т.д.) с удаленными знаками «пробел». От полученного результата вычисляют контрольное значение хэш-кода, которое определяют как хэш-код 2-го уровня, после чего его сохраняют. Далее на основе файла электронного документа, содержащего текст, представленный в исходном форматировании, формируют файл электронного документа, содержащий критически значимые словарные величины, представленные в унифицированной кодировке текста. От полученного результата вычисляют контрольное значение хэш-кода, которое определяют как хэш-код 3-го уровня, после чего его сохраняют (фиг. 1).
При проверке целостности электронного документа выполняют повторную процедуру вычисления значений хэш-кодов 1-го, 2-го и 3-го уровня, сравнивают их с соответствующими контрольными значениями. На основании полученного результата делают вывод о целостности электронного документа на каждом из уровней его представления (фиг. 2).
Все операции формирования и проверки электронной подписи в заявленном способе могут быть выполнены с использованием существующих программно-аппаратных средств (конверторы файлов, средства формирования и проверки значений хэш-кодов и т.д.). Кроме того, способ многоуровневого контроля целостности электронных документов может быть реализован с использованием комплексного программного средства [7].
Положительный эффект от заявляемого в качестве изобретения способа обеспечивается за счет обеспечения возможности выбора пользователями требуемого уровня контроля целостности электронных документов (одноуровневый или многоуровневый контроль), тем самым появляется возможность управления контролем целостности с учетом значимости решаемых с использованием электронных документов задач.
За счет введения 2-го уровня контроля целостности электронных документов появляется возможность обеспечения юридически значимого электронного документооборота в условиях межформатных преобразований электронных документов, что ранее было не доступно для пользователей. При этом отсутствует противоречие с нормативными документами, определяющими порядок обращения с информацией. В частности, в соответствии с действующим Федеральным законом №149-ФЗ «Об информации, информационных технологиях и о защите информации» от 27.07.2006 г. (статья 2) «информация - сведения (сообщения, данные) независимо от формы их представления». Поэтому результат проверки целостности с использованием хэш-кода 2-го уровня не будет противоречить юридическим нормам, за исключением отдельных случаев, когда необходимо обеспечить неизменность и содержания и конкретной формы его представления.
Контроль целостности на 3-ем уровне может быть также применен для формализованных документов, в которых наибольшую значимость представляет переменная часть документа (формализованная часть, как правило, заранее известна). В этом случае переменные значения могут рассматриваться как критически значимые словарные величины.
Источники информации
1. Bruce Schneier, "Applied cryptography: Protocols, Algorithms and Source Code in C", John Wiley&Sons, 1995.
2. Патент US 20030192033, Validating computer program installation, 2002, [Электронный ресурс] - https://books.google.com.tr/patents/US20030192033.
3. Программный комплекс «Shield System Manager подсистема контроля целостности (Integrity Control System), [Электронный ресурс] - http://lissiru.narod.ru/products/index.htm.
4. Программно-аппаратный комплекс доверенной загрузки «Блокхост-МДЗ», [Электронный ресурс] - https://gaz-is.ru/poddergka/download/finish/6/8.html.
5. ГОСТ Р 34.11-2012. Информационная технология. Криптографическая защита информации. Функция хэширования [Текст]. - Введ. 2012-08-07. - М.: Стандартинформ, 2013.
6
6. Патент РФ №2419136(13), С1 МПК G06F 12/16, G06F 11/30. Система контроля целостности файлов исходных текстов программного обеспечения [Текст] / А.А. Бурушкин и др.; опубл. 20.05.2011.
7. Свидетельство 2014662847, Российская Федерация. Многоуровневая электронная подпись / Н.И. Елисеев, О.А. Финько, Д.В. Самойленко; опубл. 10.12.2014.