Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

ALGORITHM FOR CORRECTING ERRORS THAT OCCUR WHEN CALCULATING THE RESPONSE TO A REQUEST FOR A FAULT-TOLERANT SATELLITE IDENTIFICATION SYSTEM

Kalmykov I.A. 1 Chipiga A.F. 1 Kalmykova N.I. 1 Chistousov N.K. 1
1 North-Caucasian Federal University
Low-orbit satellite communication systems are widely used for organizing communications with non-maintenance facilities used for the production of hydrocarbons whose deposits are located beyond the Arctic Circle. One of the solutions to increase their information secrecy is the use of a satellite identification system. Using the authentication Protocol implemented in polynomial modular codes (PMC) allows you to determine the satellite status before starting a communication session with minimal time spent. This result is achieved by parallel calculations performed with the help of PMC. However, polynomial modular codes are capable of searching for and correcting errors. These errors may occur due to failures and failures of the identification system’s computing devices. In the classic approach, additional control grounds are introduced into the system that functions in the PMK to increase fault tolerance. However, this can lead to a decrease in the Protocol’s imitability, since all the remaining PMCs carry information about the number that is represented in this code. Therefore, it is necessary to develop an algorithm for searching and correcting errors in the PMK, in which the verification balances would be the result of a convolution, obtained using information balances. The purpose of this work is to provide the ability to search for and correct errors that occur when calculating the answer to the «question» of the requester, based on the developed algorithm.
satellite authentication system
polynomial modular codes
algorithms for searching and correcting errors in the modular code

Освоение месторождений в районах прибрежной зоны Северного Ледовитого океана невозможно без использования низкоорбитальных систем спутниковой связи (НССС). Так как высота орбиты не превышает 1500 км, то для организации бесперебойной связи необходима группировка, в состав которой входит не менее 60 спутников [1, 2]. По мере увеличения числа НССС, используемых компаниями при освоении недр Крайнего Севера, возрастает вероятность навязывания перехваченной и задержанной команды, предназначенной для управления необслуживаемым объектом добычи углеводородов. В результате этого может возникнуть экологическая катастрофа.

Для предотвращения навязывания ретрансляционной помехи и повышения помехозащищенности НССС в работах [3, 4] предлагается развертывать на борту спутников систему опознавания «свой – чужой». При этом для уменьшения времени, необходимого на вычисление статуса спутника, в работах [5, 6] был разработан протокол аутентификации, который был выполнен с использованием полиномиальных модулярных кодов (ПМК). Известно, что введение дополнительных оснований в ПМК позволяет проводить процедуры поиска и исправления ошибок, возникающих в процессе вычислений. Таким образом, использование ПМК позволит повысить отказоустойчивость системы опознавания, что является одной из наиболее важных задач. Однако применение известных алгоритмов обнаружения и коррекции ошибок в полиномиальных модулярных кодах может привести к снижению криптостойкости системы опознавания, так как контрольные остатки предоставляют дополнительную информацию о числе, представленном в ПМК. Поэтому разработка алгоритма поиска и коррекции ошибок в ПМК, в котором проверочные остатки представляли бы собой результат свертки, полученной с использованием информационных остатков, является актуальной задачей.

В основу работы системы опознавания спутника положен протокол аутентификации типа «запрос – ответ», обладающий нулевым разглашением сведений. В данном протоколе претендент с помощью ответа на поставленный вопрос должен доказать проверяющей стороне, что он относится к авторизованным абонентам. При этом его ответ должен зависеть как вопроса, так и от секретных сведений, которые известны только ему. Очевидно, что ошибки, которые могут возникнуть из-за отказа оборудования ответчика, расположенного на борту спутника, приведут к искажению ответа. В результате этого проверяющая сторона воспримет спутник как «чужой» и не предоставит ему сеанс связи. Поэтому целью работы является обеспечение возможности коррекции ошибочного ответа на «вопрос» запросчика на основе разработанного алгоритма поиска и коррекции ошибок в ПМК.

Материалы и методы исследования

Полиномиальные модулярные коды относятся к группе непозиционных кодов [7, 8]. В таких кодах полином Z(х), полученный из двоичного числа Z, заменяется кортежем остатков

kalm01.wmf, (1)

где kalm02.wmf, kalm03.wmf.

Из равенства (1) видно, что остатки получаются при делении многочлена Z(х) на основания, в качестве которых выбраны неприводимые многочлены pi(x), которые определяют рабочий диапазон ПМК

kalm04.wmf. (2)

Использование ПМК позволяет эффективно выполнять модульные операции вида

kalm05.wmf, (3)

kalm06.wmf, (4)

где kalm07.wmf; kalm08.wmf.

В работе [6] представлен протокол аутентификации с нулевым разглашением, который реализуется на основе ПМК. На его предварительном этапе определяются порождающий элемент g = x, значения секретного ключа спутника K, сеансового ключа для j-го сеанса S(j), дополнительного параметра проверки Т(j), из условия

kalm09.wmf, (5)

где kalm10.wmf – степень многочлена Р(х), определяемого равенством (2).

Учитывая разрядность оснований МПК, выбираются блоки kalm11.wmf, kalm12.wmf, kalm13.wmf, где kalm14.wmf. Это позволяет получить следующие результаты

kalm15.wmf, kalm16.wmf, kalm17.wmf, (6)

На первом этапе протокола ответчиком производится вычисление истинного статуса

kalm18.wmf. (7)

На втором этапе ответчиком производится определение «зашумленных» параметров. На основе сгенерированных чисел kalm19.wmf, где kalm20.wmf, получаются

kalm21.wmf, kalm22.wmf, kalm23.wmf. (8)

На третьем этапе ответчик получает значение «зашумленного» статуса борта

kalm24.wmf. (9)

На четвертом этапе запросчик генерирует случайное число-вопрос kalm25.wmf где kalm26.wmf, kalm27.wmf, kalm28.wmf, которое передается на борт спутника.

На пятом этапе ответчик, используя выражения (3) и (4), вычисляет ответы на вопрос

kalm29.wmf, kalm30.wmf, kalm31.wmf. (10)

Тогда ответный сигнал спутника имеет вид

kalm32.wmf.

На шестом этапе процесса аутентификации запросчик проверяет ответы

kalm33.wmf. (11)

Космический аппарат получит статус «свой», при выполнении выражения

kalm34.wmf.

Очевидно, что аутентификация спутника в первую очередь зависит от правильности ответов на вопросы запросчика, которые вычисляются на борту спутника. В рассмотренном протоколе ответы kalm35.wmf вычисляются по одному модулю kalm36.wmf. Значит, классические алгоритмы поиска и коррекции ошибок в модулярных кодах применять нельзя. Устранить данный недостаток позволяет разработанный алгоритм взвешенной свертки кода, в котором для коррекции ошибки в одном остатке вычисляются два контрольных остатка

kalm37.wmf (12)

где kalm38.wmf, – ответ на j-й вопрос.

Результаты исследования и их обсуждение

Пусть в ПМК выбраны модули kalm39.wmf, kalm40.wmf, kalm41.wmf. Тогда диапазон kalm42.wmf. Из условия (5) выбираем секретный ключ K = 31063, параметры S = 12002, T = 24001. Воспользуемся выражением (6) и представим их в двоичном коде, который разобьем на блоки по 5 бит.

K = 31063 = 1111001010101112 = 11110 01010 10111 = 3010 || 1010 ||2310 = K1 || K2 || K3.

S = 12002 = 010 1110 1110 00102 = 01011 10111 00010 = 1110 || 2310 ||210 = S1 || S2 || S3.

T = 24001 = 101 1101 1100 00012 = 10111 01110 00001 = 2310 || 1410 ||110 = T1 || T2 || T3.

1. Определение истинного статуса космического аппарата согласно (7)

kalm43.wmf,

kalm44.wmf,

kalm45.wmf.

2. Для определения «зашумленных» параметров воспользуемся равенствами (8). Тогда при выбранных kalm46.wmf получаем

kalm47.wmf,

kalm48.wmf,

kalm49.wmf.

3. Определение «зашумленного» статуса космического аппарата согласно (9)

kalm50.wmf,

kalm51.wmf,

kalm52.wmf.

4. Запросчик передает число-вопрос kalm53.wmf.

5. Ответчик определяет ответы на поставленный вопрос, используя выражения (10). Тогда для первого модуля имеем

kalm54.wmf, kalm55.wmf, kalm56.wmf.

Для второго основания ответы на вопрос будут определяться как

kalm57.wmf, kalm58.wmf, kalm59.wmf.

Для третьего основания ответы на вопрос будут определяться как

kalm60.wmf, kalm61.wmf, kalm62.wmf.

Ответчик осуществляет передачу двух статусов и ответов представленных ПМК.

6. Запросчик, используя выражение (11), определяет статус спутника

kalm63.wmf,

kalm64.wmf, kalm65.wmf.

Так как kalm66.wmf, то спутник получает статус «свой».

Рассмотрим реализацию алгоритма коррекции ошибок, определяемого равенствами (12). Для этого вычислим два контрольных остатка вопроса dj = (7, 4, 22). Получаем

kalm67.wmf

Вычислим два контрольных остатка для секретного ключа Kj = (30, 10, 23). Получаем

kalm68.wmf

Вычислим два контрольных остатка для параметра Sj = (11, 23, 2). Получаем

kalm69.wmf

Вычислим два контрольных остатка для Tj = (23, 14, 1). Получаем

kalm70.wmf

Аналогичным образом получаем

kalm71.wmf

Тогда получаем значения ответов на вопрос d j = (7, 4, 22, 2,10).

kalm72.wmf

kalm73.wmf, kalm74.wmf.

Вычислим контрольные остатки по значениям информационных вычетов. Тогда

kalm75.wmf

kalm76.wmf

kalm77.wmf

В этом случае получаем синдром ошибки

kalm78.wmf, kalm79.wmf

kalm80.wmf, kalm81.wmf

kalm82.wmf, kalm83.wmf

Так как синдром ошибки равен нулю, то это означает, что ответы не содержат ошибку. Пусть ошибка глубиной kalm84.wmf произошла при считывании зашумленного образа ключа. Значит, ошибочный остаток равен kalm85.wmf. Тогда

kalm86.wmf

Вычислим контрольные остатки по значениям информационных вычетов. Тогда

kalm87.wmf

Тогда синдром ошибки для первого ответа равен

kalm88.wmf, kalm89.wmf

Так как синдромы ошибки совпали, то это свидетельствует о том, что ошибка произошла в первом остатке, а ее вектор kalm90.wmf. Тогда получаем

kalm91.wmf

Ошибка исправлена.

Представленный в статье алгоритм позволяет корректировать ошибки в коде, состоящем из остатков по одному модулю. При этом для реализации приведенного примера кроме шести LUT-таблиц, реализующих вычисление ответа, потребуется дополнительно ввести 4 LUT-таблицы для вычисления двух контрольных остатков, две LUT-таблицы для вычисления синдрома ошибки и одну LUT-таблицу для хранения вектора ошибки. При использовании метода троированного резервирования потребуется 18 LUT-таблиц, реализующих вычисление ответа. Таким образом, разработанный алгоритм требует в 1,38 раза меньше схемных затрата, чем при использовании метода коррекции ошибок «2 из 3».

Выводы

В статье рассмотрен метод построения системы опознавания космического аппарата для низкоорбитальной группировки спутников, использующий полиномиальные модулярные коды. Показана актуальность коррекции искаженных ответов на вопросы запросчика, которые могут возникнуть из-за отказа оборудования ответчика, расположенного на борту. Для решения данной задачи был разработан алгоритм коррекции ошибок на основе свертки информационных остатков. Представленный пример показал эффективность разработанного алгоритма для кода, в котором все остатки получены по одному модулю, по обнаружению и коррекции однократной ошибки. При этом разработанный алгоритм при использовании трех информационных оснований ПМК требует в 1,38 раза меньше схемных затрат чем метод коррекции ошибок «2 из 3».