Обобщение надежных кодов

Особенности защиты криптографических устройств от алгебраических манипуляций. Приводятся существующие методы защиты, после чего описывается новая кодовая конструкция, являющаяся обобщением надежных кодов, обнаруживающих алгебраические манипуляции.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 15.01.2019
Размер файла 39,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Обобщение надежных кодов

Алексеев М.О., аспирант кафедры аэрокосмических компьютерных технологий СПбГУАП, alexeev@vu.spb.ru

Еганян А.В., инженер института ВКиСТ, СПбГУАП, eganyan.artur@gmail.com

В данной работе ставится задача защиты криптографических устройств от алгебраических манипуляций - изменения обрабатываемых данных. Приводятся существующие методы защиты, после чего описывается новая кодовая конструкция, являющаяся обобщением надежных кодов, обнаруживающих алгебраические манипуляции. Производится сравнение данной конструкции с аналогами.

Классическим подходом к обеспечению защиты вычислительных устройств и каналов связи является использование линейных кодов [1]. Линейные коды концентрируют свои обнаруживающую и корректирующую способности на определенных конфигурациях ошибок (в том числе, ошибках заданной кратности). Простота реализации алгоритмов кодирования и декодирования при условии согласованности кода с каналом обеспечивают высокую эффективность этого подхода.

При условии, что конфигурация ошибок не поддается строгому описанию, использование линейных кодов не способно обеспечить необходимый уровень защиты данных. Например, если конфигурация ошибок контролируется злоумышленником, то, воспроизводя ошибки, кратность которых заведомо превышает корректирующие или исправляющие способности используемого кода, злоумышленник может успешно атаковать вычислительное устройство или канал передачи данных, внедряя ошибки [2].

Одной из моделей внесения ошибки является модель алгебраической манипуляции. В этой модели подразумевается, что злоумышленник способен изменять значение некоторого абстрактного устройства хранения данных, не имея при этом доступа на чтение этих данных. Данная модель может использоваться как для описания атак защищенной памяти [9, 11], так и для других систем, например схем разделения секрета с мошенниками [12].

Применительно к защищенной памяти алгебраическая манипуляция представляет собой некоторую аддитивную ошибку, воздействующую на содержимое памяти. Конфигурация ошибок в данном случае абсолютно непредсказуема и зависит от возможностей злоумышленника и метода возбуждения помех. Далее понятия ошибки, атаки и алгебраической манипуляции будут рассматриваться как синонимы.

Естественной областью применения алгебраических манипуляций является криптоанализ и, в частности, атаки с привнесением помех. Атаки с привнесением помех являются одним из наиболее эффективных типов атак по сторонним каналам, используемых для получения дополнительной информации о реализации конкретного криптографического алгоритма. Алгебраические манипуляции могут приводить к ошибкам вычисления конкретных блоков криптографического устройства. Далее, работа устройства в условиях помех анализируется, например, с помощью метода дифференциального анализа помех [3]. Данный подход к взлому криптографических алгоритмов является крайне эффективным, на данный момент большинство симметричных шифров было взломано с его помощью, например AES [4, 5]. код защита криптографический алгебраический

Коды, обнаруживающие алгебраические манипуляции. Надежные коды. Для защиты от алгебраических манипуляций был разработан класс надежных кодов, обнаруживающих алгебраические манипуляции [6]. Эти коды определяются как коды, которые обнаруживают любую конфигурацию ошибок с заданной вероятностью. Это выполняется за счет использования совершенно нелинейных (perfect nonlinear, PN) и почти совершенно нелинейных (almost perfect nonlinear, APN) функций для вычисления проверочных символов кода [8].

Для систематического надежного кода со скоростью 1/2, кодовое слово которого может быть записано как , вероятность обнаружения любой ошибки ограничена сверху следующим выражением: , где через обозначена степень нелинейности используемой функции [8]. Минимальное значение нелинейности для функций равно при . Такие функции называются совершенно нелинейными функциями. Функции, достигающие минимальное значение при , называются почти совершенно нелинейными.

Надежные коды эффективны при условии, что злоумышленник не имеет информации о закодированном сообщении. В противном случае, надежность этих кодов сводится к нулю.

Сильно защищенные коды, обнаруживающие алгебраические манипуляции. Для защиты данных при сильной модели атаки, когда злоумышленник обладает информацией об обрабатываемых данных или даже может их контролировать, были предложены сильно защищенные коды, обнаруживающие алгебраические манипуляции (strongly secure algebraic manipulation codes) [7, 9]. Для краткости будем называть их AMD кодами.

Для построения AMD кодов используются различные математические объекты: коды аутентификации, разностные структуры, помехоустойчивые коды [7]. Одной из наиболее развитых и эффективных конструкций сильных AMD кодов является конструкция, основанная на полиномах. Наиболее полно этот класс AMD кодов описан в [9]. Значительная часть конструкций, предлагаемых в этой работе, являются оптимальными в смысле вероятности обнаружения ошибки.

Далее будут рассматривать коды над полями характеристики 2. Кодовые слова систематического AMD кода представляют собой конкатенацию информационного сообщения , некоторого случайного числа и значения нелинейной функции , заданной в виде полинома. Сами AMD коды определяются как коды, для которых не существует такой конфигурации ошибок и такого значения , при возникновении которых равенство выполнится при всех возможных значениях . Данное равенство называется уравнением маскирования ошибки (УМО). Способность AMD кода обнаруживать ошибки напрямую зависит от вида его УМО: максимальное количество решений УМО относительно для всех возможных комбинаций и будет максимальным количеством необнаруживаемых кодом ошибок. Вероятность обнаружения ошибки ограничена снизу следующим выражением:

Сильно защищенные коды на базе надежных кодов

Кодовая конструкция

В данной статье предлагается новая конструкция AMD кодов, основанная на надежных кодах, обнаруживающих ошибки.

Как уже было сказано, слабостью надежных кодов при условии сильной модели атаки является детерминированность вычисляемой проверочной части. Наиболее естественным методом её устранения является привнесение случайности в кодируемое сообщение.

Рассмотрим следующую кодовую конструкцию.

Пусть используется надежный систематический код , где - некоторая APN функция. Пусть вектор представляет собой конкатенацию информационного сообщения и случайного числа , или .

Таким образом, кодовое слово рассматриваемого кода можно записать как

Теорема. Данный код при является сильным AMD кодом с вероятностью обнаружения ошибки .

Доказательство:

Как уже было написано, обнаруживающая способность AMD кода напрямую зависит от максимального количества корней его уравнения маскирования ошибки. УМО рассматриваемого кода выглядит следующим образом:

Проанализируем количество корней уравнения маскирования ошибки. Согласно теории надежных кодов, количество решений УМО не превышает двух (за счет использования APN функции). То есть, для любой конфигурации ошибок существует не более двух значений , при которых выполнится равенство в УМО.

Так как вектор представляет собой конкатенацию векторов и , существует не более двух их комбинаций, при которых ошибка не будет обнаружена. Следовательно, существуют не более двух значений , при которых алгебраическая манипуляция не будет обнаружена. В случае, когда может принимать больше двух значений (), для данного кода не существует необнаруживаемых ошибок, любая ошибка обнаруживается с вероятность не менее

.

Рассмотрим пример: пусть =4, =2, тогда =6. В качестве функции кодирования выберем возведение в третью степень в поле Галуа, . Итоговый код будет иметь скорость , гарантируя при этом вероятность обнаружения любой сильной атаки (алгебраической манипуляции) .

Стоит отметить, что при равномерно распределенной ошибке (слабая модель атаки) вероятность обнаружения ошибки при использовании предлагаемого кода будет равна против в случае сильной атаки. Это следует из свойств надежных кодов [6].

Сравнение с AMD-кодами на базе обобщенных кодов РМ

В данном разделе приводится сравнение описываемой кодовой конструкции с AMD кодами из [9], которые основаны на обобщенных кодах Рида-Маллера.

При фиксированных параметрах и коды из [9] обеспечивают вероятность обнаружения ошибки . Из этого следует, что при сравниваемые коды обладают одинаковой вероятностью обнаружения ошибок. В случае предлагаемый код обеспечивает более высокую вероятность обнаружения ошибки. В обоих случаях избыточность предлагаемого кода больше на бит.

Сравнение кодов с одинаковой скоростью. Пусть есть описанный код с , и , . Согласно [11] можно построить код (увеличив размер случайного числа и проверочной части так, чтобы скорость кодов совпадали) с , и , вероятность обнаружения ошибки которого ограничена снизу величиной . Из этого следует, что при заданной скорости кода конструкция из [9] демонстрирует более высокий уровень защиты от алгебраических манипуляций.

Стоит отметить, что при слабой модели атаки, когда вносимые ошибки равновероятны, предлагаемый код не обнаруживает ошибки с вероятностью в раз меньше, чем коды из [9].

Заключение

Данную кодовую конструкцию можно рассматривать как обобщение надежных кодов на случай сильной модели атаки. С увеличением размера случайного числа обеспечивается рост вероятности обнаружения сильных атак. Частным случаем данной конструкции при являются надежные коды, обнаруживающие только слабые атаки. Несмотря на то, что кодовые конструкции из [11] обладают меньшей избыточностью, обобщенные надежные коды обладают рядом преимуществ:

· возможность и простота динамического изменения скорости кода за счет изменения соотношения количества информационных и случайных битов в кодируемом сообщении. Фактически, кодек обобщенных надежных кодов может содержать в себе некоторый набор кодов с разными характеристиками. Данная особенность позволяет использовать один кодек для различных типов памяти или различных режимов работы устройства;

· процедура исправления повторяющихся ошибок, описанная для надежных кодов в [10]. За счет нее предлагаемый код способен исправлять ошибки, которые проявляются на 3 и более тактах работы устройства, за счет решения системы уравнений. Подобная процедура для кодов из [9] требует значительных аппаратных, информационных и вычислительных затрат [11];

· высокая помехоустойчивость при слабой модели атаки.

Описанный обобщенный надежный код совмещает в себе как надежный, так и сильно защищенный AMD коды, обеспечивая вероятность обнаружения ошибок и , соответственно.

Литература

1. J. MacWilliams and N. J. A. Sloane. The Theory of Error-Correcting Codes. North-Holland, Amsterdam, 1977, 762 p.

2. J. J. Quisquater and F. Koeune. Side chanel attacks. Report, October 2003.

3. Biham E., Shamir A., Provable Security Against Differential Cryptography // Crypto 1990, Lecture Notes in Computer Science. 1991. V. 537. P. 2-21.

4. C. N. Chen and S. M. Yen. "Differential Fault Analysis on AES Key Schedule and Some Countermeasures". ACISP 2003, LNCS 2727, pp18-129, 2003.

5. P. Dusart, G. Letourneux, O. Vivolo. "Differential Fault Analysis on AES”. Cryptology ePrint Archive, Report 2003/010.

6. K. D. Akdemir, Z. Wang, M. G. Karpovsky, and B. Sunar.  "Design of Cryptographic Devices Resilient to Fault Injection Attacks Using Nonlinear Robust Codes".  Fault Analysis in Cryptography, M.  Joye Editor, 2011.

7. E. Jongsma. "Algebraic Manipulation Detection Codes". Bachelorscriptie, Mathematisch Instituut, Universiteit Leiden, 6 maart 2008.

8. М. Э. Тужилин. Почти совершенные нелинейные функции // ПДМ, 2009, № 3, 14-20.

9. Z. Wang and M. G. Karpovsky, "Algebraic Manipulation Detection Codes and Their Application for Design of Secure Cryptographic Devices", Proc of Int. Symp. on On-Line Testing, 2011.

10. K. Kulikowski, M. G. Karpovsky, "Robust Correction of Repeating Errors by Nonlinear Codes",   Communications, IET, Vol 5 pp2317-2327, 4, 2011.

11. Z. Wang and M. G. Karpovsky, "Reliable and Secure Memories Based on Algebraic Manipulation Correction Codes", Proc Int Symp. on On-line Testing, June 2012.

12. R. Cramer, Y. Dodis, S. Fehr, C. Padro, and D. Wichs, “Detection of algebraic manipulation with applications to robust secret sharing and fuzzy extractors,” in Proceedings of the theory and applications of cryptographic techniques 27th annual international conference on Advances in cryptology, ser. EUROCRYPT'08, 2008, pp. 471-488.

Размещено на Allbest.ru


Подобные документы

  • Запись кодов команд программы и констант в FlashROM, кодов исходных данных в EEPROM, требуемых значений установочных битов (Fuse Bits) и битов защиты (Lock Bits). Запись и чтение кодов при программировании, способы программирования в микроконтроллерах.

    контрольная работа [24,2 K], добавлен 22.08.2010

  • Изучение сущности циклических кодов - семейства помехоустойчивых кодов, включающих в себя одну из разновидностей кодов Хэмминга. Основные понятия и определения. Методы построения порождающей матрицы циклического кода. Понятие открытой системы. Модель OSI.

    контрольная работа [99,5 K], добавлен 25.01.2011

  • История применения кодов. Технология применения кодов в современных условиях. Анализ "экстремальных кодов" - кодов, границы параметров которых достигают равенства. Способность кода корректировать ошибки, ее зависимость от величины кодового расстояния.

    контрольная работа [164,9 K], добавлен 14.07.2012

  • Принципы защиты от ошибок информации при ее передаче по каналам связи. Блоковые коды и методы их декодирования. Построение линейных блочных аддитивных алгебраических кодов и принципы их декодирования синдромным методом. Основные возможности SciLab.

    курсовая работа [394,4 K], добавлен 17.05.2012

  • Циклические коды как подкласс (подмножество) линейных кодов, пошаговый алгоритм и варианты их кодирования и декодирования. Методика построения интерфейса отладочного модуля. Элементарный план и элементы отладки декодирующего модуля циклических кодов.

    лабораторная работа [133,8 K], добавлен 06.07.2009

  • Цели, методы и средства защиты информационных ресурсов. Права и обязанности субъектов. Обеспечение организационных мер. Попытки несанкционированного доступа. Виды угроз безопасности. Принципы создания системы защиты. Сущность криптографических методов.

    контрольная работа [25,3 K], добавлен 17.11.2009

  • Современные физические и законодательные методы защиты информации. Внедрение системы безопасности. Управление доступом. Основные направления использования криптографических методов. Использование шифрования, кодирования и иного преобразования информации.

    реферат [17,4 K], добавлен 16.05.2015

  • Обеспечение достоверности передаваемой информации применением корректирующих кодов. Код Хэмминга - алгоритм обнаружения и исправления одиночной ошибки. Использование циклических кодов при последовательной передачей между ЭВМ и внешними устройствами.

    дипломная работа [123,7 K], добавлен 02.08.2009

  • Определение понятий кода, кодирования и декодирования, виды, правила и задачи кодирования. Применение теорем Шеннона в теории связи. Классификация, параметры и построение помехоустойчивых кодов. Методы передачи кодов. Пример построения кода Шеннона.

    курсовая работа [212,6 K], добавлен 25.02.2009

  • Разработка алгоритма и программы кодирования и декодирования данных кодом Рида-Малера. Понятие избыточных кодов, их применение. Корелляционный код. Особенности построения простых помехоустойчивых кодов Рида-Маллера. Рассмотрение частных случаев.

    курсовая работа [31,9 K], добавлен 09.03.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.