СПОСОБ ОБЕСПЕЧЕНИЯ ЦЕЛОСТНОСТИ И ДОСТУПНОСТИ ИНФОРМАЦИИ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ ХРАНЕНИЯ ДАННЫХ
METHOD FOR ENSURING THE INTEGRITY AND AVAILABILITY OF INFORMATION IN DISTRIBUTED DATA STORAGE SYSTEMS

Область техники, к которой относится изобретение
Предлагаемое изобретение относится к области радио- и электросвязи, а именно, к области способов и систем распределенного хранения информации.
Уровень техники
а) Описание аналогов
Известны способы хранения информации, обеспечение целостности (защита от утраты) в которых осуществляется за счет средств резервного копирования данных с использованием программно-аппаратной или программной реализации, например, технологии RAID (Redundant Array of Independent Disks) [Патент США №7392458 публ. 24.06.2008; Патент США №7437658 публ. 14.10.2008; Патент США №7600176 публ. 06.10.2009; Заявка на патент США №20090132851 публ. 21.05.2009; Заявка на патент США №20100229033 публ. 09.09.2010; Заявка на патент США №201101145677 публ. 16.06.2011; Заявка на патент США №20110167294 публ. 07.07.2011].
Недостатками данных способов являются:
- достаточно сложная процедура восстановления утраченных данных;
- распределение данных между узлами хранения (дисками), которые реализованы как единый конструктивный блок (RAID-массив).
Известен способ [Патент РФ №2502124 С1 публ. 20.12.2013] распределенного хранения информации, обеспечение целостности в котором основывается на методах резервирования, когда на базе нескольких узлов хранения (жестких дисков, флэш-накопителей и т.п.) строится запоминающее устройство (хранилище), устойчивое к утрате данных даже при выходе из строя некоторого количества носителей, образующих запоминающее устройство (хранилище).
Недостатками данного способа являются:
- фиксированный уровень восстанавливаемых данных при единовременном возникновении отказов и сбоев;
- отсутствие механизмов обеспечения безопасности (конфиденциальности) хранимой информации.
Известны способы комплексной защиты информации, используемые как в системах хранения, выполненных в едином конструктивном исполнении, так и в распределенных информационных системах [Заявка на патент США №20050081048 А1 публ. 14.04.2005; Заявка на патент США №8209551 В2 публ. 26.06.2012], для которых такие требования безопасности информации как, конфиденциальность, целостность и доступность, обеспечиваются последовательным применением средств криптографического преобразования данных и технологий их резервного копирования.
Недостатками данных способов являются:
- характерная для многих режимов работы средств криптографической защиты информации конструктивная (алгоритмическая) способность к размножению ошибок, когда один или более ошибочных бит в блоке шифртекста оказывает(ют) влияние при расшифровании последующих блоков данных;
- высокий уровень избыточности хранимой информации.
б) Описание ближайшего аналога (прототипа)
Наиболее близким по своей технической сущности к заявленному техническому решению и принятым за прототип является способ, описанный в [Патент РФ №2680350 С2 публ. 10.07.2018].
В рассматриваемом способе-прототипе обеспечение целостности и доступности информации в системе распределенного хранения восстанавливаемых данных с обеспечением целостности и конфиденциальности информации осуществляется следующим образом.
Система распределенного хранения восстанавливаемых данных с обеспечением целостности и конфиденциальности информации состоит из k блоков обработки данных с соответствующими узлами хранения данных, включая файлы, подлежащие хранению. Блок управления отслеживает доступность узлов хранения данных, их местоположение, объемы допустимой памяти узлов хранения данных с блоком восстановления данных. Взаимодействие в системе распределенного хранения восстанавливаемых данных осуществляется посредством локальной или беспроводной сети. Физическая утрата (потеря) любого узла хранения данных (деградация системы распределенного хранения восстанавливаемых данных) или его неспособность к соединению с сетью в условиях преднамеренных (имитирующих) действий злоумышленника приведет к частичной потере или полной утрате информации.
При этом распределенное по узлам хранения данных множество информационных данных с вычисленными избыточными данными позволяет выполнить блоком восстановления данных полное восстановление утраченных файлов данных даже при отказе одного или более узлов хранения данных. Недоступный узел хранения данных может быть заменен другим узлом хранения данных, при этом доступные узлы хранения данных совместно с введенным новым узлом хранения данных формируют множество информационных и избыточных данных для введенного узла хранения данных и осуществляют их повторное распределение (реконфигурация системы). В рамках указанного способа совокупность распределенных узлов хранения данных рассматривается как единая система запоминающих устройств, предусматривающая введение избыточности в сохраняемую информацию.
Схема, поясняющая сущность работы способа-прототипа, представлена на фигуре 1.
Недостатками известного способа являются:
- сложность реализации механизмов, компенсирующих последствия нарушения целостности хранимых данных;
- сложность реализации алгебраических преобразований, связанных с вычислением избыточных блоков данных.
Раскрытие изобретения
а) Технический результат, на достижение которого направлено изобретение Целью заявляемого технического решения является обеспечение целостности и доступности информации, обрабатываемой в распределенных системах хранения данных в условиях деструктивных воздействий злоумышленника.
б) Совокупность существенных признаков
Поставленная цель достигается тем, что в известном способе распределенного хранения восстанавливаемых данных с обеспечением целостности и конфиденциальности информации, заключающемся в том, что каждый из доступных блоков обработки данных с соответствующими узлами хранения данных содержит множество данных, сформированных из файлов, соответствующих блокам обработки данных с узлами хранения данных, при этом множество данных предварительно подвергается процедуре блочного шифрования с нелинейными биективными преобразованиями, а сформированное множество блоков криптограмм блоков обработки данных с узлами хранения данных распределяется между доступными узлами хранения данных, в которых посредством методов многозначного помехоустойчивого кодирования формируется соответствующее множество избыточных данных, далее поступившие от других блоков обработки данных с узлами хранения данных блоки криптограмм удаляются с целью сокращения общей избыточности, при этом сформированное множество избыточных данных с блоками криптограмм блока обработки данных с узлом хранения данных, осуществлявшего их формирование, используется для восстановления утерянных файлов данных, при этом блок восстановления данных получает информацию от блока управления в отношении того, какие блоки обработки данных с соответствующими узлами хранения данных в настоящий момент доступны и, соответственно, имеют множество информационных и избыточных данных файла, затем блок восстановления данных получает множество информационных и избыточных данных от указанных блоков обработки данных с узлами хранения данных, блок восстановления данных выполняет полное восстановление утраченных файлов данных, при этом данные, восстановленные блоком восстановления данных, совместно с данными доступных блоков обработки данных с соответствующими узлами хранения данных передаются на вновь введенный блоком управления блок обработки данных с узлом хранения данных для формирования блоков избыточных данных, в представленном же способе узлы хранения данных системы распределенного хранения данных представляют собой упорядоченную совокупность узлов хранения данных. Новым является то, что в каждом узле хранения данных в подсистеме криптокодовой защиты информации от файла / формируются блоки шифртекста поступающие в блок самокоррекции, и распределяются между доступными узлами хранения, в которых в подсистемах криптокодовой защиты информации в блоках самокоррекции сформированные и принятые блоки шифртекста образуют упорядоченную последовательность наименьших неотрицательных вычетов по модулю, сгенерированному блоком вычисления модуля, формируя информационную последовательность криптокодовых конструкций. Новым является то, что в подсистемах криптокодовой защиты информации в блоках самокоррекции по правилам построения конечных разностей выполняется операция расширения, в соответствии с которой для сформированной информационной последовательности криптокодовых конструкций вычисляются избыточные блоки данных в соответствующих узлах хранения данных. Новым является и то, что подсистемы управления узлов хранения данных принимают решения о потребном количестве блоков шифртекста узлов хранения данных, часть которых удаляется, при этом совокупность блоков шифртекста и избыточных блоков данных используется подсистемами криптокодовой защиты информации блоками самокоррекции узлов хранения данных для обеспечения целостности и доступности данных.
в) Причинно-следственная связь между признаками и техническим результатом Благодаря новой совокупности существенных признаков в способе реализована возможность:
- обеспечить целостность и доступность информации, хранимой в распределенной системе хранения данных в условиях физической утраты структурных элементов системы, обусловленных преднамеренными воздействиями злоумышленника;
- осуществлять реконфигурацию системы, равномерно перераспределяя хранимую информацию с соответствующими избыточными данными по узлам хранения данных;
- поддерживать конфиденциальность, целостность, доступность хранимой информации на уровне, позволяющем достигать цели функционирования системы с пригодным качеством.
Доказательства соответствия заявленного изобретения условиям патентоспособности «новизна» и «изобретательский уровень»
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующие совокупности признаков, тождественных всем признакам заявленного технического решения, отсутствуют, что указывает на соответствие заявленного способа условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта показали, что они не следуют явными из уровня техники. Из уровня техники также не выявлена известность отличительных существенных признаков, обуславливающих тот же технический результат, который достигнут в заявленном способе. Следовательно, заявленное изобретение соответствует уровню патентоспособности «изобретательский уровень».
Краткое описание чертежей
Заявленный способ поясняется чертежами, на которых показано:
- фиг. 1 - схема, поясняющая сущность работы способа-прототипа;
- фиг. 2 - схема организации взаимодействия (соединения) элементов распределенной системы хранения данных;
- фиг. 3 - схема структурных компонентов блока хранения данных и порядок их взаимодействия;
- фиг. 4 - «расширенный» вид информационной матрицы А;
- фиг. 5 - «расширенный» вид информационной матрицы А при физической утрате узлов 10 хранения данных группы S.
Осуществление изобретения
Структура распределенной системы хранения данных (РСХД) в рамках рассматриваемого способа представляет собой информационно-телекоммуникационную систему, которая может быть редуцирована на к узлов 10 хранения данных, содержащих файлы данных, подлежащих хранению. Взаимодействие узлов 10 хранения данных осуществляется посредством локальной или беспроводной сети 12. Схема организации взаимодействия (соединения) элементов РСХД представлена на фигуре 2.
Состав и структура узлов 10 хранения данных являются идентичными и включают: блок 10.1 ввода данных, блок 10.2 приема данных, подсистему 10.3 управления, подсистему 10.4 криптокодовой защиты информации, блок 10.4.1 самокоррекции, блок 10.4.2 вычисления модуля, блок 10.5 передачи данных, блок 10.6 хранения данных. Схема структурных компонентов узла 10 хранения данных и порядок их взаимодействия, представлена на фигуре 3.
1
2
k
В момент времени t в условиях деструктивных (имитирующих) воздействий злоумышленника структура указанной РСХД включает: упорядоченную совокупность (группу) S={s, s, …, s} узлов 10 хранения данных, взаимодействующих между собой в пределах сети 12.
Физическая утрата (потеря) любого узла 10 хранения данных локальной группы S (деградация РСХД), неспособность к соединению с сетью 12, обусловленная преднамеренными (имитирующими) действиями злоумышленника, приведет к частичной потере или полной утрате информации. При этом распределенное по узлам 10 хранения данных множество блоков шифртекста с вычисленными избыточными данными позволяет выполнить полное восстановление утраченных файлов данных даже при отказе одного или более узлов 10 хранения данных группы S узлов 10 хранения данных.
Недоступный узел 10 хранения данных группы S узлов 10 хранения данных может быть заменен другим узлом 10 хранения данных, взамен утраченного. При этом доступные узлы 10 хранения данных совместно с введенным новым узлом 10 хранения данных выполняют автоматическую перестройку сети обмена данными, формируя при этом информационные блоки шифртекста и избыточные блоки данных с последующим распределением на вновь введенный узел 10 хранения данных, достигая наибольшей результативности цели функционирования РСХД на имеющихся ресурсах.
В одном варианте исполнения заявленный способ обеспечения целостности и доступности информации в распределенных системах хранения данных может быть реализован с использованием интерполяционных процедур в конечных полях (конечно-разностной схемы).
Известно, что свойство самокоррекции ошибок распространяется на интерполяционные процедуры в конечных полях. В основе данного подхода лежат таблицы конечных разностей [Амербаев В.М. Теоретические основы машинной арифметики, Алма-Ата, «Наука», 1976. 324 с]. Расширение (вычисление избыточных элементов) осуществляется процедурой, обратной к вычислению конечных разностей. Построение таблиц конечных разностей при больших значениях модуля р, и соответственно их представление являются крайне сложными процедурами.
Для реализации дальнейших преобразований используем структуру формулы конечной разности l-го порядка для последовательности чисел:
l
p
р
Теперь пусть GF(p) - простое поле характеристики p и пусть ϕ(z) - функция, определенная на GF(p) со значениями в GF(p). Проанализируем конечные разности |Δϕ(0)| при некоторых значениях р, здесь «|•|» - операция приведения числа • по модулю р.
Поскольку
p
p
тогда Δϕ(0)=ϕ(0)+ϕ(|p|)=0 (условие, поясняющее периодичность таблиц конечных разностей). Ввиду того, что
тогда при . Отсюда получим
p-2
p-1
p
p
При построении кода, корректирующего ошибки, на разности (1) и (2) налагаются ограничения |Δϕ(0)|=0, |Δϕ(0)|=0, учитывая которые получим выражения для вычисления избыточных символов кода [Амербаев В.М. Теоретические основы машинной арифметики, Алма-Ата, «Наука», 1976. 324 с.]:
Отметим, что выражения (3) и (4) одновременно являются проверочными, из которых следует, что построенный код исправляет любую одиночную ошибку произвольного символа. Допустим, что ошибка произошла в k=i(0≤i≤p-3) информационном символе, тогда для искаженного кода будем иметь
где
Построим разности
i
p-1
p-2
p-1
Вид выражений (7) и (8) позволяет сделать вывод, что для произвольной ошибки ∇≠0 имеют место соотношения ζ≠0, ζ≠0. Здесь ζ - величина коррекции. Номер искаженной позиции определяется из выражения (8) по формуле:
p-2
p-1
В соответствии с [Амербаев В.М. Теоретические основы машинной арифметики, Алма-Ата, «Наука», 1976. 324 с] если искажение происходит по одной из избыточных позиций, то один элемент пары (ζ, ζ) отличен от нуля и именно по той позиции, по которой имело место искажение. Более того, этот элемент будет являться величиной коррекции. Таким образом, во всех случаях одиночная ошибка однозначно обнаруживается и исправляется.
i
i
i
1,i
2,i
k,i
1,i
2,i
k,i
Для обеспечения требуемого уровня конфиденциальности информации сформированный набор данных W (файл ƒ) s узла 10 хранения данных поступает в блок 10.1 ввода данных, где разбивается на блоки фиксированной длины W=W||W||…||W («||» - операция конкатенации), которые поступают в подсистему 10.4 криптокодовой защиты информации. Сформированные блоки W||W||…||W в подсистеме 10.4 криптокодовой защиты информации подвергаются процедуре блочного зашифрования (операция с нелинейными биективными преобразованиями):
е,i
где к - итерационные ключи зашифрования.
Длина блока данных определяется используемым алгоритмом шифрования, например, ГОСТ 34.12-2015 с блоками 64, 128 бит соответственно.
i
i
j
j,i
Подсистема 10.3 управления s узла 10 хранения данных на основании связности сети 12 в момент времени t осуществляет распределение блоков шифртекста, выработанных s узлом 10 хранения данных (передающий), между другими (доступными) узлами 10 хранения данных группы S узлов 10 хранения данных, т.е. s узел 10 хранения данных (принимающий) принимает через блок 10.2 приема данных совокупность блоков шифртекста Ω (j=1, 2, …, k) от других узлов 10 хранения данных в рамках группы S.
j,i
i
1,j
2,j
k,j
1,j
2,j
k,j
j,i
(j)
(i)
Полученная совокупность информационных блоков шифртекста Ω (j=1, 2,…, k) s узла 10 хранения данных поступает в подсистему 10.4 криптокодовой защиты информации в блок 10.4.1 самокоррекции. В блоке 10.4.1 самокоррекции принятые блоки шифртекста Ω, Ω, …, Ω, представляются в виде последовательности наименьших неотрицательных вычетов по основанию (модулю) сгенерированного блоком 10.4.2 вычисления модуля, формируя при этом криптокодовые конструкции Ω→{Ω, Ω, …, Ω} - информационную последовательность блоков шифртекста. Причем Ω<m.
j
k+1,j
k+2,j
(i)
Далее в подсистеме 10.4 криптокодовой защиты информации в блоке 10.4.1 самокоррекции s узла 10 хранения данных выполняется операция расширения, вычисляются избыточные блоки данных криптокодовых конструкций. Для этого в соответствии с выражениями (3), (4) по введенному блоком 10.4.2 модулю m вырабатываются избыточные блоки данных ω, ω то есть
(j)
1,j
2,j
k,j
где «π(•)» - оператор расширения; Ω={Ω, Ω, …, Ω};
Полученная совокупность информационных блоков шифртекста и избыточных блоков данных образует криптокодовые конструкции, обладающие свойствами корректирующего кода:
j
1,j
k,j
k+1,j
k+2,j
После формирования в подсистеме 10.4 криптокодовой защиты информации блоке 10.4.1 самокоррекции s узла 10 хранения данных криптокодовых конструкций , подсистема 10.3 управления принимает решение о потребном количестве принятых информационных блоков шифртекста от других узлов 10 хранения данных группы S. Лишние блоки шифртекста удаляются для сокращения уровня вводимой избыточности и увеличения общего объема памяти. Информационные и избыточные блоки шифртекста {Ω, …, Ω, ω, ω} направляются в блок 10.6 хранения данных - соответствующие «ячейки»: данные, избыточные данные.
j
Подсистема 10.3 управления s узла 10 хранения (принимающего) группы S отслеживает доступность узлов 10 хранения данных, их местоположение, предельные объемы допустимой памяти и позволяет рассматривать группы S узлов 10 хранения данных как единый узел хранения данных, а его содержимое представить в виде информационной матрицы:
k+1,j
k+2,j
j
С учетом вычисленных избыточных блоков данных ω, ω подсистемой криптокодовой защиты информации s узла 10 хранения данных информационная матрица А примет «расширенный» вид (фигура 4).
Тогда целостность информации группы S узлов 10 хранения данных определяется системой функций от информационных блоков шифртекста и избыточных блоков данных расширенной матрицы А:
Элементы криптокодового слова  (i=t,t+1, t+h; j=1, 2, …, h) из совокупности узлов 10 хранения данных локальной группы и, соответственно, блоки данных  могут содержать искажения. Наличие ошибок определяется в соответствии с выражениями (7), (8), где символ «*» указывает на наличие возможных искажений в кодовом слове.
В случае физической утраты некоторой предельной численности узлов 10 хранения данных группы S и, соответственно, узлов 10 хранения данных из их совокупности расширенная матрицы А примет вид (фигура 5).
Рассмотренная процедура иллюстрирует процесс обеспечения целостности и доступности данных в рамках группы S посредством вычисления избыточных блоков данных.
С учетом заранее введенной избыточности в сохраняемую информацию физическая утрата узла 10 хранения данных или непригодность хранимой на них информации, обусловленная преднамеренными (имитирующими) воздействиями злоумышленника, не приводит к полной или частичной потере информации.
j
j
Подсистема 10.3 управления s узла 10 хранения данных сообщает, какие узлы 10 хранения данных группы S в настоящий момент доступны и, соответственно, имеют множество информационных и избыточных данных файла. Затем s узел 10 хранения данных может непосредственно получить множество информационных и избыточных данных от указанных узлов 10 хранения данных, чтобы в подсистеме 10.4 криптокодовой защиты информации в блоке 10.4.1 самокоррекции выполнить процедуру обнаружения искаженных (имитируемых) злоумышленником данных. Восстановление потерянной или искаженной информации осуществляется в соответствии с выражениями (7)-(9) путем поиска места позиции в криптокодовых конструкциях, где произошло искажение, а также вычисления величины искажения. Для случая физической утраты узла 10 хранения данных местоположения искажения априори является известным.
j
i
Восстановленные данные s узлом 10 хранения данных совместно с данными доступных узлов 10 хранения данных группы S передаются на вновь введенный s узел 10 хранения данных для формирования блоков избыточных данных.
Достоинством данного решения является возможность формирования РСХД на узлах 10 хранения данных. При таком способе взаимодействия допускается возможность физической утраты любого узла 10 хранения данных группы S, что обеспечивает постепенную деградацию критически важной информации достигая наибольшей результативности цели функционирования РСХД на имеющихся ресурсах.
Пример. Выберем систему оснований для узлов 10 хранения данных группы S:
(t)
m=23;
(t+1)
m=29;
(t+2)
m=31;
(t+3)
m=59.
1
Представим содержание узлов 10 хранения данных группы S в следующем виде (в рассматриваемом варианте примера избыточные блоки данных представлены только для s узла 10 хранения данных):
3
1
Пусть s узел 10 хранения данных считается утерянным. Тогда исходные данные для блока 10.4.1 самокоррекции подсистемы 10.4 криптокодовой защиты информации s узла 10 хранения данных примут следующий вид:
3
1
Для восстановления исходных данных, соответствующих файлу s узлу 10 хранения данных, блок 10.4.1 самокоррекции подсистемы 10.4 криптокодовой защиты информации s узла 10 хранения данных для момента времени t формирует избыточные символы кода:
Далее вычисляются
-1
23
Теперь, i=|9×4|=3, тогда символ  с номером i=3 должен быть скорректирован суммированием по модулю 23 на величину 9.
1
Блок 10-4.1 самокоррекции подсистемы 10.4 криптокодовой защиты информации s узла 10 хранения данных вычисляет  для момента времени t+1. Для этого формируются избыточные символы кода:
Далее вычисляются
-1
29
Теперь, i=|11×4|=3, тогда символ  с номером i=3 должен быть скорректирован суммированием по модулю 29 на величину 11.
1
Блок 10.4.1 самокоррекции подсистемы 10.4 криптокодовой защиты информации s узла 10 хранения данных вычисляет  для момента времени t+2. Для этого формируются избыточные символы кода:
Далее вычисляются
-1
31
Теперь, i=|13×8|=3, тогда символ  с номером i=3 должен быть скорректирован суммированием по модулю 31 на величину 13.
1
Блок 10.4.1 самокоррекции подсистемы 10.4 криптокодовой защиты информации s узла 10 хранения данных вычисляет  для момента времени t+3. Для этого формируются избыточные символы кода:
Далее вычисляются
-1
59
Теперь, i=|4×12|=3, тогда символ  с номером i=3 должен быть скорректирован суммированием по модулю 59 на величину 4.
1
1
Пусть узлы 10 хранения данных содержат имитируемые злоумышленником данные. Тогда исходные данные для блока 10.4.1 самокоррекции подсистемы 10.4 криптокодовой защиты информации s узла 10 хранения данных представим в следующем виде (в рассматриваемом варианте примера избыточные вычеты представлены только s блоком 10 хранения данных):
1
Для проверки наличия искажений в исходных данных блок 10.4.1 самокоррекции подсистемы 10.4 криптокодовой защиты информации s узла хранения данных для момента времени t формирует избыточные символы кода:
Далее вычисляются
8
9
Поскольку ζ=0; ζ=0, то принимается решение об отсутствии, искажений.
1
Блок 10.4.1 самокоррекции подсистемы 10.4 криптокодовой защиты информации s узла 10 хранения данных для момента времени t+1 осуществляет проверку наличия искаженных блоков данных. Для этого формируются избыточные символы кода:
Далее вычисляются
-1
29
Теперь, i=|3×6|=2, тогда символ  с номером i=2 должен быть скорректирован суммированием модулю 29 на величину 3.
1
Блок 10.4.1 самокоррекции подсистемы 10.4 криптокодовой защиты информации s узла 10 хранения данных для момента времени t+2 осуществляет проверку наличия искаженных блоков данных. Для этого формируются избыточные символы кода:
Далее вычисляются
-1
31
Теперь, i=|27×3|=7, тогда символ  с номером i=7 должен быть скорректирован суммированием модулю 31 на величину 27.
1
Блок 10.4.1 самокоррекции подсистемы 10.4 криптокодовой защиты информации s узла 10 хранения данных для момента времени t+3 осуществляет проверку наличия искаженных блоков данных. Для этого формируются избыточные символы кода:
Далее вычисляются
-1
59
Теперь, i=|42×33|=5, тогда символ  с номером i=5 должен быть скорректирован суммированием модулю 31 на величину 42.
Приведенный пример показал, что заявляемый способ обеспечения целостности и доступности информации в распределенных системах хранения данных функционирует корректно, технически реализуем и позволяет решить поставленную задачу.