Аналитические исследования характеристик информационной составляющей автоматизированных систем управления и контроля
Покупка
Авторы:
Волков Константин Олегович, Мартынов Александр Петрович, Марунин Михаил Викторович, Николаев Дмитрий Борисович
Год издания: 2017
Кол-во страниц: 197
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-9515-0356-5
Артикул: 752840.01.99
Проведен статистический и вероятностный анализ источников сообщения криптографических систем. Анализ проведен для источников сообщения на русском языке и для источников сообщения, представляющих собой программное обеспечение на языках ассемблера распространенных процессоров. Анализ языка ассемблера процессора Intel 8086(8088) показал наличие информационной избыточности в машинном коде, которая может существенно облегчить криптоанализ зашифрованных программ. Избыточность машинного кода имеет три вида: избыточность системы команд: избыточность формата команды: избыточность операнда.
Учебно-методическое пособие предназначено для студентов, аспирантов, научных работников, изучающих вопросы обеспечения безопасности информации, а также для инженеров-проектировщиков средств обеспечения безопасности информации. Несомненный интерес учебное пособие вызовет также у специалистов в области теории информации и цифровой обработки сигналов.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 10.03.01: Информационная безопасность
- ВО - Специалитет
- 10.05.01: Компьютерная безопасность
- 10.05.03: Информационная безопасность автоматизированных систем
- 10.05.04: Информационно-аналитические системы безопасности
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
ФГУП «Российский федеральный ядерный центр – Всероссийский научно-исследовательский институт экспериментальной физики» К. О. Волков, А. П. Мартынов, М. В. Марунин, Д. Б. Николаев АНАЛИТИЧЕСКИЕ ИССЛЕДОВАНИЯ ХАРАКТЕРИСТИК ИНФОРМАЦИОННОЙ СОСТАВЛЯЮЩЕЙ АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ И КОНТРОЛЯ Учебно-методическое пособие Саров 2017
А64 УДК 004.056(075.8) ББК 32.81Я73 А64 Одобрено научно-методическим советом Саровского физико-технического института Национального исследовательского ядерного университета «МИФИ» и ученым советом ФГМУ «Институт информатизации образования» Российской академии образования Рецензенты: ректор НГТУ им. Р. Е. Алексеева профессор, д-р техн. наук С. М. Дмитриев; декан радиофизического факультета ННГУ им. Н. И. Лобачевского профессор, д-р физ.-мат. наук А. В. Якимов Волков К. О., Мартынов А. П., Марунин М. В., Николаев Д. Б. Аналитические исследования характеристик информационной составляющей автоматизированных систем управления и контроля: Учеб.-метод. пособие. Саров: ФГУП «РФЯЦ-ВНИИЭФ», 2017. – 197 с. : ил. ISBN 978-5-9515-0356-5 Проведен статистический и вероятностный анализ источников сообщения криптографических систем. Анализ проведен для источников сообщения на русском языке и для источников сообщения, представляющих собой программное обеспечение на языках ассемблера распространенных процессоров. Анализ языка ассемблера процессора Intel 8086(8088) показал наличие информационной избыточности в машинном коде, которая может существенно облегчить криптоанализ зашифрованных программ. Избыточность машинного кода имеет три вида: избыточность системы команд; избыточность формата команды; избыточность операнда. Учебно-методическое пособие предназначено для студентов, аспирантов, научных работников, изучающих вопросы обеспечения безопасности информации, а также для инженеров-проектировщиков средств обеспечения безопасности информации. Несомненный интерес учебное пособие вызовет также у специалистов в области теории информации и цифровой обработки сигналов. УДК 004.056(075.8) ББК 32.81Я73 ISBN 978-5-9515-0356-5 © ФГУП «РФЯЦ-ВНИИЭФ», 2017
Содержание Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1. Источники исходного сообщения и их алфавиты . . . . . . . . . . . . . . . . . . 7 1.1. Алфавиты источников сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2. Источники исходного сообщения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3. Частотный и вероятностный анализ источников исходного сообщения на русском языке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.3.1. Программное обеспечение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.3.2. Основные результаты статического и вероятностного анализа источников сообщения на русском языке . . . . . . . . . . . . . . . . . . 37 2. Поколение ЭВМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.1 Первое поколение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.2 Второе поколение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.3 Третье поколение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.4 Четвертое поколение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3. История развития микропроцессоров. Внутренняя организация микропроцессора. Принципы фон Неймана . . . . . . . . . . . . . . . . . . . . . . 42 3.1. История развития микропроцессора . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.2. Архитектура фон Неймана . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3. Принципы фон Неймана . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4. Обзор микропроцессоров отечественного производства . . . . . . . . . . . . 47 4.1. Микропроцессор КР580ВМ80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1.1. Краткое описание и основные характеристики микропроцессора КР580 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1.2. Структурная организация микропроцессора КР580ВМ80 . . . . . 47 4.1.3. Функциональная организация микропроцессора КР580 . . . . . . . 51 4.1.4. Система команд микропроцессора КР580 . . . . . . . . . . . . . . . . . . 54 4.2. Микроконтроллер КМ1816ВЕ48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.2.1. Структурная схема МК48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.2.2. Система команд МК48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.3. Микроконтроллер КМ1816ВЕ51 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.1. Структурная схема МК51 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.3.2. Особые режимы работы MK51 . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.3.3. Система команд МК51 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5. Анализ языков ассемблера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.1. Анализ языков ассемблера процессоров семейства INTEL 8086 . . . . . 116 5.1.1. Формат машинной команды процессора Intel 8086 . . . . . . . . . . . 117 5.1.2. Система команд процессора Intel 8086 . . . . . . . . . . . . . . . . . . . . . 119
5.1.3. Особенности языка ассемблера процессора Intel 80286 . . . . . . . 125 5.1.4. Формат команды процессора Intel 80386 . . . . . . . . . . . . . . . . . . . 127 5.1.5. Система команд процессора Intel 80386 . . . . . . . . . . . . . . . . . . . . 128 5.2. Статистические данные языков ассемблера процессоров Intel 80386, Intel 80486, Intel Pentium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 5.3. Анализ языка ассемблера 8-разрядного микроконтроллера 1882ВЕ53У . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.3.1. Архитектурные характеристики . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.3.2. Особенности микроконтроллера . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.3.3. Формат команд 8-разрядного микроконтроллера серии 1882ВЕ53У . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.3.4. Система команд микроконтроллера 1882ВЕ53 . . . . . . . . . . . . . . 139 5.3.5. Результат анализа языков ассемблера микроконтроллера 1882ВЕ53У . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 5.4. Анализ высокопроизводительного 8-разрядного микроконтроллера серии 1886ВЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.4.1. Архитектурные характеристики . . . . . . . . . . . . . . . . . . . . . . . . . . 146 5.4.2. Особенности микроконтроллера . . . . . . . . . . . . . . . . . . . . . . . . . . 146 5.4.3. Формат команд высокопроизводительного 8-разрядного микроконтроллера серии 1886ВЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 5.4.4. Система команд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 5.4.5. Результат анализа языков ассемблера высокопроизводительного 8-разрядного микроконтроллера серии 1886ВЕ . . . . . . . . . 151 5.5. Серия 1986ВЕ9х высокопроизводительных 32-разрядных микроконтроллеров на базе процессорного ядра ARM Cortex – M3 . . . . . . . . . . 154 5.5.1. Особенности микроконтроллера . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5.5.2. Формат команды серии 1986ВЕ9х . . . . . . . . . . . . . . . . . . . . . . . . 156 5.5.3. Система команд серии 1986ВЕ9х. . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.5.4. Результат анализа языков ассемблера высокопроизводительного 32-разрядного микроконтроллера серии 1986ВЕ . . . . . . . . 160 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Приложение 1. Исходный текст программы STAT . . . . . . . . . . . . . . . . . . . . . . 166 Приложение 2. Взаимосвязь теории поля и теории криптографических структур . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Введение Криптографические исследования, проводимые с целью нахождения единственного решения преобразованного сообщения или параметра преобразования, опираются на анализ структуры текста, его особенностей, формы представления. То есть задача криптографического анализа и состоит в выделении этого единственного решения, имеющего высокую вероятность. До того как достигнута точка единственности, задача криптографического анализа состоит в выделении всех возможных решений с большей (по сравнению с остальными решениями) вероятностью и в определении вероятностей этих решений. Хотя всегда можно найти эти решения (например, испытывая все возможные ключи), но для различных систем нужно будет затратить различный объем работы. Средний объем работы, необходимый для определения параметра преобразования (ключа), если криптограмма имеет N букв, W(N) измеренное, например, в человеко-часах, можно назвать рабочей характеристикой криптографической системы. Это среднее значение берется по всем сообщениям и всем ключам с соответствующими им вероятностями. Функция W(N) измеряет количество «практической секретности» в данной системе. Криптографической системой с секретными ключами называют систему, соответствующую схеме, приведенной на рисунке [1–3]. Сообщение S из источника сообщения поступает на вход шифратора, где происходит его преобразование по определенному закону в соответствии с ключом К, поступающим из источника ключа. Результатом шифрования является криптограмма Е, которая передается на вход дешифратора. На другой вход дешифратора по защищенному каналу поступает ключ К. На выходе дешифратора получается исходное сообщение. Криптографическая система с секретными ключами Криптографические системы имеют различные характеристики источников сообщения.
Реализация криптографической системы чаще всего осуществляется с использованием компонентов электронно-вычислительных машин (ЭВМ). ЭВМ получили широкое распространение, начиная с 1950-х г. Прежде это были очень большие и дорогие устройства, используемые лишь в государственных учреждениях и крупных фирмах. Размеры и форма цифровых ЭВМ неузнаваемо изменились в результате разработки новых устройств, называемых микропроцессорами. В данном учебно-методическом пособии проведен статистический и вероятностный анализ источников сообщения криптографических систем. Анализ проведен для источников сообщения на русском языке и для источников сообщения, представляющих собой программное обеспечение на языках ассемблера распространенных процессоров.
1. Источники исходного сообщения и их алфавиты 1.1. Алфавиты источников сообщения На вход системы передачи информации (СПИ) от источника информации подается совокупность сообщений, выбранных из набора сообщений (рис. 1.1). Рис. 1.1. Система передачи информации Набор сообщений – множество возможных сообщений с их вероятностными характеристиками – {Х, р(х)}. При этом: Х={х1, х2,…, хn} – множество возможных сообщений источника; i = 1, 2,…, n, где n – объем алфавита; p(xi) – вероятности появления сообщений, причем p(xi) > 0 и поскольку вероятности сообщений представляют собой полную группу событий, то их суммарная вероятность равна единице ( ) 1 1. n i i p x = = ∑ Основой любого источника исходного сообщения в криптографической системе является используемый в нем алфавит. Алфавит, в свою очередь, состоит из конечного набора определенных символов. Большинство людей с детства привыкли понимать под алфавитом набор букв на том или ином языке. Ребенок начинает изучать грамоту, как правило, с больших печатных букв и чисел, например: – английский алфавит ABCDEFGHIJKLMNOPQRSTUVWXYZ – русский алфавит АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ – числа 1 2 3 4 5 6 7 8 9 0. Затем появляется понятие больших (прописных) и маленьких (строчных) букв и знаков препинания: – английских алфавит ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz – русский алфавит АБВГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ абвгдеежзийклмнопрстуфхцчшщъыьэюя – знаки препинания . , ! ” ; : ? * ( ) _ -. Реальный алфавит, который используется в источниках сообщения, может состоять как из отдельных наборов приведенных выше алфавитов, так и их совместного полного набора, например:
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz АБВГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ абвгдеежзийклмнопрстуфхцчшщъыьэюя 1 2 3 4 5 6 7 8 9 0 . , ! ” ; : ? * ( ) _ -. В качестве примеров алфавитов, применяемых в источниках исходного сообщения криптографических систем, можно привести: – ограниченные последовательности из чисел, используемых в персональных компьютерах и записанных : – в двоичном виде – 0000 0001 0010 0011 0100 ... 1110 1111 ... , – в восьмеричном виде – 00 01 02 03 04 05 06 07 10 11 12 ... – в шестнадцатеричном виде 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 ... 1Е 1F ... – слова из какого-либо нового словаря: А ААРДВАРК ... ЗИМУРГ. Алфавит, как и набор сообщений, можно представить в виде множества. В широком смысле, множество – это совокупность объектов (элементов), которые понимаются как единое целое (по тем или иным признакам, критериям или обстоятельствам). Обычно множества обозначаются большими латинскими буквами А, В, С,…., X, Y, Z, а его элементы записываются в фигурных скобках, например: A = {а,б,в,…э,ю,я}– множество букв русского алфавита; B = {a,b,c,…,x,y,z} – множество букв латинского алфавита; N = {1,2,3,….} – множество натуральных чисел; Множества А и В являются конечными (состоящими из конечного числа элементов), а множество N – это пример бесконечного множества. Кроме того, в теории и на практике рассматривается так называемое пустое множество: Ø – множество, в котором нет ни одного элемента. Принадлежность элемента множеству записывается , ∈ например: б A ∈ – буква «б» принадлежит множеству букв русского алфавита; A β∉ – буква «бета» не принадлежит множеству букв русского алфавита; 5 N ∈ – число 5 принадлежит множеству натуральных чисел; 5,5 N ∉ – число 5,5 не принадлежит множеству натуральных чисел В абстрактной алгебре элементы множества обозначают маленькими латинскими буквами a, b, c, …, x, y, z и соответственно факт принадлежности оформляется в следующем стиле: x X ∈ – элемент x принадлежит множеству X. Вышеприведённые множества записаны прямым перечислением элементов, но это не единственный способ. Многие множества удобно определять с помощью некоторого признака (ов), который присущ всем его элементам. Например: { } | 100 N n N n ∗= ∈ < – множество всех натуральных чисел, меньших ста (множество элементов n, принадлежащих множеству N натуральных чисел, таких что n < 100).
Данное множество можно записать и прямым перечислением: { } 1,2,3,...,97,98,99 . N∗= Подмножество: множество G является подмножеством множества A, если каждый элемент множества G принадлежит множеству A. Иными словами, множество G содержится во множестве A: G ⊂ A, C ⊂ – знак включения. Если А – это множество букв русского алфавита. Обозначим через G – множество его гласных букв. Тогда: G ⊂ A. Также можно выделить подмножество согласных букв и любое произвольное подмножество, состоящее из любого количества случайно (или неслучайно) взятых кириллических букв. В частности, любая буква кириллицы является подмножеством множества А. Отношения между подмножествами удобно изображать с помощью условной геометрической схемы, которая называется кругами Эйлера. Пусть S1 – множество студентов в 1-м ряду, S – множество студентов группы, U – множество студентов университета. Тогда отношение включений S1 ⊂ S ⊂ U можно изобразить следующим образом: Множество студентов другого вуза следует изобразить кругом, который не пересекает внешний круг; множество студентов страны – кругом, который содержит в себе оба этих круга, и т. д. Операции над множествами: – пересечение множеств А ∩ В; – сложение множеств А + В; – вычитание множеств А – В; – дополнение множества А = (А')'. Сложение и умножение множеств обладают теми же свойствами, что и сложение и умножение чисел. Но алгебра множеств имеет своеобразные свойства. Ее основное своеобразие состоит в том, что если одно из множеств А и В является подмножеством другого, то формулы для суммы и произведения множеств упрощаются: если А ∈ В, А + В = В и АВ = A. Более подробно с теорией множеств можно ознакомиться в литературе. Алгебраическая структура – множество с определенными в нем операциями. Под операцией на множестве М понимается любое отображение M×M→M,
т. е. правило, по которому можно четко определить, как из любых двух элементов множества М получается новый элемент этого же множества. Для криптографии интерес представляют сами множества, их алфавиты и отображения (отдельные операции, функции с рядом переменных (ключей), целые алгоритмы), так как поясняют последовательность проводимых криптогрфических преобразований. Особый интерес представляют отображения, которые представляют максимальное перемешивание множеств, при минимальной предсказуемости законов перемешивания. Одним из примеров использования свойств алгебраических структур является образование новых алфавитов путем объединения букв алфавита А = {а0, а1, ..., аm–1}, размерности m, получая, таким образом, n-граммы. Под n-граммами в общем случае понимается текст, состоящий из букв алфавита Zm: текст: x = (x0, x1, ..., xn–1), xi ∈ Zm, 0 ≤ i < n, (1.1) где n – целые. Запись xi ∈ Zm означает, что элемент xi принадлежит множеству Zm. Понятие n-грамм взято из книги [4]. Взаимосвязь теории поля (поля – это алгебраические структуры с двумя операциями, называемыми обычно сложением и умножением) и теории криптографических структур, более подробно представлена в Приложении 2. Приведем некоторые примеры n-грамм. Алфавит А2, содержит m2 2-грамм (или двуграмм): а0а0 а0а1 ... аm–1аm–1 . Алфавит А3, содержит m3 3-грамм (или триграмм): а0а0 а0 а0 а0а1 ... аm–1 аm–1аm–1 . Путем объединения n букв можно получить алфавит Аn, содержащий mn n-грамм. Таким образом: • английский алфавит А = {ABCDEFGHIJKLMNOPQRSTUVWXYZ} • или русский алфавит А = {АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫ ЪЭЮЯ} при помощи связующей операции сцепления может породить алфавит: • из 676 2-грамм английского алфавита {АА АВ АС ... ZX ZY ZZ} • или 1089 2- грамм русского алфавита {АА АБ АВ ... ЯЭ ЯЮ ЯЯ } а также породить алфавит: • из 17576 3-грамм английского алфавита {ААА ААВ ААС ... XZZ YZZ ZZZ} • или из 35937 3-грамм русского алфавита {ААА ААБ ААВ ... ЯЯЭ ЯЯЮ ЯЯЯ} Если неизвестно, какие n-граммы использованы для записи слова некоторого источника сообщения, то, например, слово БУРАТИНО может допускать несколько трактовок: