СПОСОБ КОНТРОЛЯ ЦЕЛОСТНОСТИ МНОГОМЕРНЫХ МАССИВОВ ДАННЫХ НА ОСНОВЕ ПРАВИЛ ПОСТРОЕНИЯ ТРЕУГОЛЬНЫХ КОДОВ
METHOD FOR INTEGRITY CONTROL OF MULTIDIMENSIONAL DATA ARRAYS BASED ON THE RULES OF CONSTRUCTION OF 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,r
k,j,r
i,k,r
i,j,k
i,j,r
k,j,r
i,k,r
i,j,k
k,k,r
k,j,k
i,k,k
k,k,r
k,j,k
i,k,k
3
3
Поставленная цель достигается тем, что в известном способе контроля целостности данных, заключающемся в том, что обнаружение и локализация блока данных M (i = 1, 2, …, k) с признаками нарушения целостности осуществляется посредством вычисления системы хэш-кодов, формируемой из хэш-кодов, вычисленных от совокупности k блоков данных M, М, …, M, и сравнения ее значений со значениями эталонной системы хэш-кодов, в представленном же способе блоки данных M (i = j = r =0, 1, …, k-1) располагаются в кубе размером k, к трем сторонам которого добавляются эталонные хэш-коды H, H, H (i = j = r =0, 1, …, k-1), которые вычисляются от совокупности k блоков данных M, расположенных в кубе, при этом для контроля целостности эталонных хэш-кодов H, H, H вычисляются хэш-коды H, H, H, значения которых сравниваются со значениями хэш-кодов H', H', H', вычисляемых при запросе на использование данных, подлежащих защите.
3
i,j,r
k,j,r
i,k,r
i,j,k
k,k,r
k,j,k
i,k,k
Сопоставительный анализ заявленного решения и прототипа показывает, что предлагаемый способ отличается от известного тем, что поставленная цель достигается за счет расположения в кубе k блоков данных M, к которым хэш-функция применяется по правилам построения кубических кодов (Hamming, R. Coding and Information Theory. Prentice-Hall, 1980. - 259 p.), от полученных при этом эталонных хэш-кодов H, H, H вычисляются хэш-коды H, H, H , что позволяет контролировать целостность эталонных хэш-кодов в условиях ограничений на допустимые затраты ресурса.
k,j,r
i,k,r
i,j,k
k,k,r
k,j,k
i,k,k
k,k,r
k,j,k
i,k,k
i,j,r
k,j,r
i,k,r
i,j,k
k,j,r
i,k,r
i,j,k
k,k,r
k,j,k
i,k,k
k,k,r
k,j,k
i,k,k
3
Контроль целостности эталонных хэш-кодов H, H, H будет осуществляться за счет вычисления от них хэш-кодов H, H, H, что позволит в момент времени t в условиях ограничений на допустимые затраты ресурса сравнить их значения со значениями хэш-кодов H', H', H',, вычисляемых при запросе на использование данных, подлежащих защите. Новым является то, что блоки данных M располагаются в кубе размером k, к трем сторонам которого добавляются эталонные хэш-коды H, H, H по правилам построения кубических кодов. Новым является то, что применение хэш-функции по правилам построения кубических кодов позволяет контролировать целостность эталонных хэш-кодов H, H, H, путем вычисления хэш-кодов H, H, H, и сравнения их значений со значениями хэш-кодов H', H', H',, вычисляемых при запросе на использование данных, подлежащих защите.
в) Причинно-следственная связь между признаками и техническим результатом Благодаря новой совокупности существенных признаков в способе реализована возможность:
3
- контроля целостности k блоков данных, подлежащих защите, с низкой избыточностью контрольной информации;
- локализации блоков данных с нарушением целостности;
- повышения вероятности определения факта нарушения целостности данных (обнаружения ошибки) при пропуске ошибки (ложном сигнале об ошибке) средствами контроля;
- контроля целостности эталонных хэш-кодов в условиях ограничений на допустимые затраты ресурса.
Доказательства соответствия заявленного изобретения условиям патентоспособности «новизна» и «изобретательский уровень»
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного технического решения, отсутствуют, что указывает на соответствие заявленного способа условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность отличительных существенных признаков, обуславливающих тот же технический результат, который достигнут в заявленном способе. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».
Краткое описание чертежей
Заявленный способ поясняется чертежами, на которых показано:
фиг. 1 - схема применения хэш-функции с вычислением одного общего хэш-кода от k блоков данных;
фиг. 2 - схема применения хэш-функции с вычислением по одному хэш-коду от каждого из блоков данных;
фиг. 3 - схема применения хэш-функции с построением полносвязной сети хэширования;
фиг. 4 - система хэш-кодов, основанная на правилах построения линейных избыточных кодов;
фиг. 5 - схема хэширования данных, основанная на правилах построения кубических кодов, где k = 2;
фиг. 6 - сеть хэширования для кубической системы хэш-кодов, где k = 2;
фиг. 7 - кубическая система хэш-кодов с контролем целостности эталонных хэш-кодов.
Осуществление изобретения
i,j,r
Данные, подлежащие защите, располагаются в кубе с размерностью k, содержащем систему координат с осями: х, у, z, по которым откладываются блоки данных M(i = j = r = 0, 1, …, k-1).
3
k,j,r
i,k,r
i,j,k
i,j,r
Для контроля целостности k блоков данных, подлежащих защите, строится схема хэширования данных, основанная на правилах построения кубических кодов, в которой к трем сторонам куба добавляются хэш-коды H, H, H, (i = j = r = 0, 1, …, k-1), вычисленные от совокупности блоков данных M, расположенных в кубе.
Пример 1. Схема хэширования данных, основанная на правилах построения кубических кодов, где k = 2, представлена на фиг. 5.
В соответствии со схемой хэширования (фиг. 5) получим 3-мерный массив, который с помощью сечений ориентации (х) может быть представлен в следующем виде:
при этом каждый хэш-код вычисляется от двух блоков данных, расположенных с ним в одной строке или одном столбце массива.
0,0,2
0,1,2
0,2,0
0,2,1
Пример 2. Хэш-коды H, H, H, H вычисляются в соответствии со следующими выражениями:
0,0,2
0,0,0
0,0,1
Н = h(M || М);
0,1,2
0,1,0
0,1,1
Н = h(М || M);
0,2,0
0,0,0
0,1,0
Н = h (М || М);
0,2,1
0,0,1
0,1,1
Н = h (М || M),
где «||» - операция конкатенации (объединения).
3
3
3
2
Первоначальный куб, содержащий k блоков данных, преобразованный в массив размером (k+1), будет называться кубической системой хэш-кодов. Для контроля целостности k блоков данных в кубической системе хэш-кодов требуется вычислить 3k хэш-кодов.
Контроль целостности данных, а также локализация блока данных с нарушением целостности осуществляется посредством сети хэширования.
Пример 3. Сеть хэширования для схемы хэширования данных (фиг. 5), основанной на правилах построения кубических кодов, представлена на фиг. 6 и предназначена для обеспечения возможности обнаружения и локализации единичного блока данных с нарушением целостности (1-кратной ошибки).
i,j,r
На основе сети хэширования для каждого блока данных, подлежащего защите, получим уникальные по составу группы эталонных хэш-кодов, используемые при обнаружении и локализации блока данных с нарушением целостности. При этом каждому блоку данных M будет соответствовать неповторяющаяся совокупность из трех хэш-кодов.
1,0,0
0,1,1
Пример 4. По построенной сети хэширования (фиг. 6) определяется, что блокам данных M, M будут соответствовать следующие хэш-коды:
1,0,0
1,2,0
1,0,2
2,0,0
- для M: H, H, H;
0,1,1
0,2,1
0,1,2
2,1,1
- для M: H, H, H,
причем полученные совокупности хэш-кодов для каждого из блоков данных будут неповторяющимися.
Обнаружение блока данных с нарушением целостности выполняется путем сравнения значений предварительно вычисленных от него эталонных хэш-кодов и хэш-кодов, вычисленных при запросе на его использование. Несоответствие сравниваемых значений хэш-кодов позволяет сделать вывод о возникновении ошибки и определить ее синдром. Под синдромом ошибки будем понимать двоичное число, полученное при написании символа «0» для каждой выполненной проверки на соответствие значений вычисленного и эталонного хэш-кода и символа «1» при несоответствии сравниваемых значений. Для этого на основе сети хэширования (фиг. 6) составляется таблица синдромов ошибки.
Пример 5. Синдромы нарушения целостности блоков данных («[⋅]» обозначает локализованный блок данных с нарушением целостности) представлены в таблице 1.
k,j,r
k,j,k
i,k,k
Для контроля целостности эталонных хэш-кодов необходимо вычислить хэш-коды H, H, H и разместить их в кубе (фиг. 7). При этом массив (1) примет вид:
0,2,2
Пример 6. Хэш-код Н, предназначенный для контроля целостности эталонных хэш-кодов, вычисляется в соответствии со следующим выражением:
0,2,2
0,0,2
0,1,2
0,2,0
0,2,1
Н = h(H || Н || Н || H).
k,j,r
i,k,r
i,j,k
Причем каждый из хэш-кодов H, H, H вычисляется от четырех эталонных хэш-кодов, расположенных с ним в одной строке или одном столбце массива.
k,j,r
i,k,r
i,j,k
k,k,r
k,j,k
i,k,k
Для контроля целостности эталонных хэш-кодов выполняется сравнение значений хэш-кодов H, H, H со значениями хэш-кодов H', H', H', вычисляемых при запросе на использование данных, подлежащих защите.
По результатам сравнения сделаем вывод:
k,k,r
k,k,r
k,j,k
k,j,k
i,k,k
i,k,k
- об отсутствии нарушения целостности эталонных хэш-кодов, при H' = H, H' = H, H' = H,
k,k,r
k,k,r
k,j,k
k,j,k
i,k,k
i,k,k
- о нарушении целостности эталонных хэш-кодов, при H' ≠ H, H' ≠ H, H' ≠ H.