СПОСОБ КОНТРОЛЯ ЦЕЛОСТНОСТИ МНОГОМЕРНЫХ МАССИВОВ ДАННЫХ НА ОСНОВЕ ПРАВИЛ ПОСТРОЕНИЯ ТРЕУГОЛЬНЫХ КОДОВ
METHOD OF CONTROLLING INTEGRITY OF MULTIDIMENSIONAL DATA ARRAYS BASED ON RULES FOR CONSTRUCTING TRIANGULAR CODES

Область техники, к которой относится изобретение
Предлагаемое изобретение относится к информационным технологиям и может быть использовано для контроля целостности данных в многомерных системах хранения на основе применения криптографических хэш-функций к защищаемым блокам данных в условиях ограничений на допустимые затраты ресурса.
Уровень техники
а) Описание аналогов
Известны способы контроля целостности данных за счет применения криптографических методов: ключевое и бесключевое хэширование, средства электронной подписи (Патент на изобретение RUS №26207030 07.12.2015; Патент на изобретение RUS №2669144 28.11.2017; Патент на изобретение RUS №2680033 22.05.2017; Патент на изобретение RUS №2680350 02.05.2017; Патент на изобретение RUS №2680739 28.11.2017; Патент на изобретение RUS №2686024 25.04.2018; Патент на изобретение RUS №2696425 22.05.2018; Кнут, Д.Э. Искусство программирования для ЭВМ. Том 3. Сортировка и поиск / Д.Э. Кнут. - М.: «Мир», 1978. - 824 с; Dichenko, S. Two-dimensional control and assurance of data integrity in information systems based on residue number system codes and cryptographic hash functions / S. Dichenko, O. Finko // Integrating Research Agendas and Devising Joint Challenges International Multidisciplinary Symposium ICT Research in Russian Federation and Europe. 2018. P. 139-146; Диченко, С.А. Гибридный крипто-кодовый метод контроля и восстановления целостности данных для защищенных информационно-аналитических систем / С. Диченко, О. Финько // Вопросы кибербезопасности. - 2019. - №6(34). - С. 17-36), для которых характерны три обобщенные схемы применения хэш-функции:
- с вычислением одного общего хэш-кода от k блоков данных (фиг. 1);
- с вычислением по одному хэш-коду от каждого из блоков данных (фиг. 2);
- с построением полносвязной сети хэширования (фиг. 3).
Недостатками данных способов являются:
- для схемы применения хэш-функции с вычислением одного общего хэш-кода от k блоков данных:
- не позволяет после контроля целостности данных выполнить локализацию блока данных с нарушением целостности;
- низкая вероятность определения факта нарушения целостности данных (обнаружения ошибки) при пропуске ошибки (ложном сигнале об ошибке) средствами контроля;
- отсутствие возможности контроля целостности эталонных хэш-кодов;
- для схемы применения хэш-функции с вычислением по одному хэш-коду от каждого из блоков данных:
- высокая избыточность контрольной информации при контроле целостности блоков данных, представленных двоичными векторами небольшой размерности;
- низкая вероятность определения факта нарушения целостности данных (обнаружения ошибки) при пропуске ошибки (ложном сигнале об ошибке) средствами контроля;
- отсутствие возможности контроля целостности эталонных хэш-кодов;
- для схемы применения хэш-функции с построением полносвязной сети хэширования:
- высокая избыточность контрольной информации при контроле целостности блоков данных, представленных двоичными векторами небольшой размерности;
- в общем виде данная модель не позволяет после контроля целостности данных выполнить локализацию блока данных с нарушением целостности;
- отсутствие возможности контроля целостности эталонных хэш-кодов.
б) Описание ближайшего аналога (прототипа)
Наиболее близким по технической сущности к заявленному изобретению (прототипом) является способ контроля целостности данных на основе системы хэш-кодов, правила построения которой аналогичны правилам построения линейных избыточных кодов (фиг. 4), полученной с помощью применения хэш-функции к данным в порядке, определенном специальной процедурой выбора блока данных на основе математического аппарата линейной алгебры (Диченко С.А. Контроль и обеспечение целостности информации в системах хранения данных // Наукоемкие технологии в космических исследованиях Земли. 2019. Т. 11. №1. С. 49-57), где контроль целостности данных (обнаружение ошибки) по аналогии с линейными кодами осуществляется за счет вычисления синдрома, при проверке которого можно сделать вывод о нарушении целостности данных (наличии ошибки).
Недостатком известного способа является отсутствие возможности контроля целостности эталонных хэш-кодов в условиях ограничений на допустимые затраты ресурса.
Раскрытие изобретения
а) Технический результат, на достижение которого направлено изобретение
Целью настоящего изобретения является разработка способа контроля целостности данных на основе применения криптографических хэш-функций к защищаемым блокам данных с возможностью контроля целостности эталонных хэш-кодов в условиях ограничений на допустимые затраты ресурса.
б) Совокупность существенных признаков
i
1
2
k
i,j
i,k
k,j
i,j
i,k
k,j
k,k
Поставленная цель достигается тем, что в известном способе контроля целостности данных, заключающемся в том, что обнаружение и локализация блока данных M (i=1,2,…,k) с признаками нарушения целостности осуществляется посредством вычисления системы хэш-кодов, формируемой из хэш-кодов, вычисленных от совокупности k блоков данных М, М, …, M, и сравнения ее значений со значениями эталонной системы хэш-кодов, в представленном же способе блоки данных M (i=j=0,1,…,k-1) располагаются в треугольнике размером , к каждой строке и столбцу которого добавляются эталонные хэш-коды H, H (i=j=0,1,…,k-1), которые вычисляются от совокупности  блоков данных M, расположенных в соответствующих строках и столбцах треугольника, при этом для контроля целостности эталонных хэш-кодов H, H вычисляется хэш-код H, значение которого сравнивается со значением хэш-кода , вычисляемого при запросе на использование данных, подлежащих защите.
i,j
i,k
k,j
k,k
Сопоставительный анализ заявленного решения и прототипа показывает, что предлагаемый способ отличается от известного тем, что поставленная цель достигается за счет расположения в треугольнике  блоков данных M, к которым хэш-функция применяется по правилам построения треугольных кодов (Hamming, R. Coding and Information Theory. Prentice-Hall, 1980. - 259 p.), от полученных при этом эталонных хэш-кодов H, H вычисляется хэш-код H, что позволяет контролировать целостность эталонных хэш-кодов в условиях ограничений на допустимые затраты ресурса.
i,k
k,j
k,k
i,j
i,k
k,j
i,k
k,j
k,k
Контроль целостности эталонных хэш-кодов H, H будет осуществляться за счет вычисления от них хэш-кода H, что позволит в момент времени t в условиях ограничений на допустимые затраты ресурса сравнить его значение со значением хэш-кода , вычисляемого при запросе на использование данных, подлежащих защите. Новым является то, что блоки данных M располагаются в треугольнике размером , к каждой строке и столбцу которого добавляются эталонные хэш-коды H, H по правилам построения треугольных кодов. Новым является то, что применение хэш-функции по правилам построения треугольных кодов позволяет контролировать целостность эталонных хэш-кодов H, H путем вычисления хэш-кода H и сравнения его значения со значением хэш-кода , вычисляемого при запросе на использование данных, подлежащих защите.
в) Причинно-следственная связь между признаками и техническим результатом
Благодаря новой совокупности существенных признаков в способе реализована возможность:
- контроля целостности  блоков данных, подлежащих защите, с низкой избыточностью контрольной информации;
- локализации блоков данных с нарушением целостности;
- повышения вероятности определения факта нарушения целостности данных (обнаружения ошибки) при пропуске ошибки (ложном сигнале об ошибке) средствами контроля;
- контроля целостности эталонных хэш-кодов в условиях ограничений на допустимые затраты ресурса.
Доказательства соответствия заявленного изобретения условиям патентоспособности «новизна» и «изобретательский уровень»
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного технического решения, отсутствуют, что указывает на соответствие заявленного способа условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность отличительных существенных признаков, обуславливающих тот же технический результат, который достигнут в заявленном способе. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».
Краткое описание чертежей
Заявленный способ поясняется чертежами, на которых показано:
фиг. 1 - схема применения хэш-функции с вычислением одного общего хэш-кода от k блоков данных;
фиг. 2 - схема применения хэш-функции с вычислением по одному хэш-коду от каждого из блоков данных;
фиг. 3 - схема применения хэш-функции с построением полносвязной сети хэширования;
фиг. 4 - система хэш-кодов, основанная на правилах построения линейных избыточных кодов;
фиг. 5 - схема хэширования данных, основанная на правилах построения треугольных кодов;
фиг. 6 - сеть хэширования для треугольной системы хэш-кодов, где k=3;
фиг. 7 - схема контроля целостности эталонных хэш-кодов.
Осуществление изобретения
i,j
Блоки данных M (i=j=0,1,…k-1), располагаются в треугольнике размена .
i,k
k,j
Для контроля целостности  блоков данных, подлежащих защите, к каждой строке и столбцу треугольника добавляются хэш-коды H, H (i=j=0,1,…,k-1), вычисленные от совокупности блоков данных Mjj, расположенных в соответствующих строках и столбцах треугольника, как представлено на фиг. 5.
В соответствии со схемой хэширования (фиг. 5) получим массив:
Первоначальный треугольник, содержащий  блоков данных, преобразованный в массив размером , будет называться треугольной системой хэш-кодов. Для контроля целостности  блоков данных в треугольной системе хэш-кодов требуется вычислить k+1 хэш-кодов.
Контроль целостности данных, а также локализация блока данных с нарушением целостности осуществляется посредством сети хэширования.
На основе сети хэширования для каждого блока данных, подлежащего защите, получим уникальные по составу группы эталонных хэш-кодов, используемые при обнаружении и локализации блока данных с нарушением целостности.
Обнаружение блока данных с нарушением целостности выполняется путем сравнения значений предварительно вычисленных от него эталонных хэш-кодов и хэш-кодов, вычисленных при запросе на его использование. Несоответствие сравниваемых значений хэш-кодов позволяет сделать вывод о возникновении ошибки и определить ее синдром. Под синдромом ошибки будем понимать двоичное число, полученное при написании символа «0» для каждой выполненной проверки на соответствие значений вычисленного и эталонного хэш-кода и символа «1» при несоответствии сравниваемых значений. Для этого на основе сети хэширования составляется таблица синдромов ошибки, в которой
- наличие одной «1» в соответствующей строке будет обозначать нарушение целостности эталонного хэш-кода;
i,j
- наличие двух «1» в соответствующей строке таблицы будет обозначать нарушение целостности одного блока данных M, подлежащего защите;
i,j
- наличие трех и более «1» в соответствующей строке будет обозначать нарушение целостности двух и более блоков данных M, подлежащих защите, а также другое (возникновение необнаруживаемой ошибки).
Пример 1. Сеть хэширования для треугольной системы хэш-кодов с размером треугольника k=3 представлена на фиг. 6.
i,j
i,k
k,j
На основе сети хэширования (фиг. 6) составляется таблица 1, где «[⋅]» обозначает локализованный блок данных M, или эталонный хэш-код (H или H) с нарушением целостности.
Для контроля целостности эталонных хэш-кодов необходимо вычислить хэш-код:
и расположить его в полученной системе хэш-кодов (фиг. 7); символ  обозначает операцию конкатенации (объединения).
При этом массив (1) примет вид:
k,k
Для контроля целостности эталонных хэш-кодов выполняется сравнение значения хэш-кода H со значением хэш-кода , вычисляемого при запросе на использование данных, подлежащих защите.
По результатам сравнения сделаем вывод:
- об отсутствии нарушения целостности эталонных хэш-кодов, при ;
- о нарушении целостности эталонных хэш-кодов, при .